]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
use templates instead of gengtype for typed allocation functions
[thirdparty/gcc.git] / gcc / ChangeLog
1 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2
3 * alias.c (record_alias_subset): Adjust.
4 * bitmap.c (bitmap_element_allocate): Likewise.
5 (bitmap_gc_alloc_stat): Likewise.
6 * cfg.c (init_flow): Likewise.
7 (alloc_block): Likewise.
8 (unchecked_make_edge): Likewise.
9 * cfgloop.c (alloc_loop): Likewise.
10 (flow_loops_find): Likewise.
11 (rescan_loop_exit): Likewise.
12 * cfgrtl.c (init_rtl_bb_info): Likewise.
13 * cgraph.c (insert_new_cgraph_node_version): Likewise.
14 (cgraph_allocate_node): Likewise.
15 (cgraph_create_edge_1): Likewise.
16 (cgraph_allocate_init_indirect_info): Likewise.
17 * cgraphclones.c (cgraph_clone_edge): Likewise.
18 * cgraphunit.c (add_asm_node): Likewise.
19 (init_lowered_empty_function): Likewise.
20 * config/aarch64/aarch64.c (aarch64_init_machine_status):
21 Likewise.
22 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
23 (alpha_use_linkage): Likewise.
24 * config/arc/arc.c (arc_init_machine_status): Likewise.
25 * config/arm/arm.c (arm_init_machine_status): Likewise.
26 * config/avr/avr.c (avr_init_machine_status): Likewise.
27 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
28 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
29 * config/cris/cris.c (cris_init_machine_status): Likewise.
30 * config/darwin.c (machopic_indirection_name): Likewise.
31 (darwin_build_constant_cfstring): Likewise.
32 (darwin_enter_string_into_cfstring_table): Likewise.
33 * config/epiphany/epiphany.c (epiphany_init_machine_status):
34 * Likewise.
35 * config/frv/frv.c (frv_init_machine_status): Likewise.
36 * config/i386/i386.c (get_dllimport_decl): Likewise.
37 (ix86_init_machine_status): Likewise.
38 (assign_386_stack_local): Likewise.
39 * config/i386/winnt.c (i386_pe_record_external_function):
40 Likewise.
41 (i386_pe_maybe_record_exported_symbol): Likewise.
42 (i386_pe_record_stub): Likewise.
43 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
44 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
45 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
46 (m32c_note_pragma_address): Likewise.
47 * config/mep/mep.c (mep_init_machine_status): Likewise.
48 (mep_note_pragma_flag): Likewise.
49 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
50 (mips16_local_alias): Likewise.
51 (mips_init_machine_status): Likewise.
52 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
53 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
54 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
55 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
56 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
57 * config/pa/pa.c (pa_init_machine_status): Likewise.
58 (pa_get_deferred_plabel): Likewise.
59 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
60 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
61 (rs6000_init_machine_status): Likewise.
62 (output_toc): Likewise.
63 * config/s390/s390.c (s390_init_machine_status): Likewise.
64 * config/score/score.c (score_output_external): Likewise.
65 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
66 * config/spu/spu.c (spu_init_machine_status): Likewise.
67 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
68 * config/tilepro/tilepro.c (tilepro_init_machine_status):
69 * Likewise.
70 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
71 * coverage.c (coverage_end_function): Likewise.
72 * dbxout.c (dbxout_init): Likewise.
73 * doc/gty.texi: Don't mention variable_size attribute.
74 * dwarf2cfi.c (new_cfi): Adjust.
75 (new_cfi_row): Likewise.
76 (copy_cfi_row): Likewise.
77 (create_cie_data): Likewise.
78 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
79 (new_loc_descr): Likewise.
80 (find_AT_string_in_table): Likewise.
81 (add_addr_table_entry): Likewise.
82 (new_die): Likewise.
83 (add_var_loc_to_decl): Likewise.
84 (clone_die): Likewise.
85 (clone_as_declaration): Likewise.
86 (break_out_comdat_types): Likewise.
87 (new_loc_list): Likewise.
88 (add_loc_descr_to_each): Likewise.
89 (add_location_or_const_value_attribute): Likewise.
90 (add_linkage_name): Likewise.
91 (lookup_filename): Likewise.
92 (dwarf2out_var_location): Likewise.
93 (new_line_info_table): Likewise.
94 (dwarf2out_init): Likewise.
95 (mem_loc_descriptor): Likewise.
96 (loc_descriptor): Likewise.
97 (add_const_value_attribute): Likewise.
98 (tree_add_const_value_attribute): Likewise.
99 (comp_dir_string): Likewise.
100 (dwarf2out_vms_debug_main_pointer): Likewise.
101 (string_cst_pool_decl): Likewise.
102 * emit-rtl.c (set_mem_attrs): Likewise.
103 (get_reg_attrs): Likewise.
104 (start_sequence): Likewise.
105 (init_emit): Likewise.
106 (init_emit_regs): Likewise.
107 * except.c (init_eh_for_function): Likewise.
108 (gen_eh_region): Likewise.
109 (gen_eh_region_catch): Likewise.
110 (gen_eh_landing_pad): Likewise.
111 (add_call_site): Likewise.
112 * function.c (add_frame_space): Likewise.
113 (insert_temp_slot_address): Likewise.
114 (assign_stack_temp_for_type): Likewise.
115 (get_hard_reg_initial_val): Likewise.
116 (allocate_struct_function): Likewise.
117 (prepare_function_start): Likewise.
118 (types_used_by_var_decl_insert): Likewise.
119 * gengtype.c (variable_size_p): Remove function.
120 (enum alloc_quantity): Remove enum.
121 (write_typed_alloc_def): Remove function.
122 (write_typed_struct_alloc_def): Likewise.
123 (write_typed_typedef_alloc_def): Likewise.
124 (write_typed_alloc_defns): Likewise.
125 (main): Adjust.
126 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
127 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
128 * ggc.h (ggc_alloc): new function.
129 (ggc_cleared_alloc): Likewise.
130 (ggc_vec_alloc): Template on type of vector element, and remove
131 element size argument.
132 (ggc_cleared_vec_alloc): Likewise.
133 * gimple.c (gimple_build_omp_for): Adjust.
134 (gimple_copy): Likewise.
135 * ipa-cp.c (get_replacement_map): Likewise.
136 (find_aggregate_values_for_callers_subset): Likewise.
137 (known_aggs_to_agg_replacement_list): Likewise.
138 * ipa-devirt.c (get_odr_type): Likewise.
139 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
140 (read_agg_replacement_chain): Likewise.
141 * loop-iv.c (get_simple_loop_desc): Likewise.
142 * lto-cgraph.c (input_node_opt_summary): Likewise.
143 * lto-section-in.c (lto_new_in_decl_state): Likewise.
144 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
145 (input_eh_region): Likewise.
146 (input_eh_lp): Likewise.
147 (input_cfg): Likewise.
148 * optabs.c (set_optab_libfunc): Likewise.
149 (init_tree_optimization_optabs): Likewise.
150 (set_conv_libfunc): Likewise.
151 * passes.c (do_per_function_toporder): Likewise.
152 * rtl.h: Don't use variable_size gty attribute.
153 * sese.c (if_region_set_false_region): Adjust.
154 * stringpool.c (gt_pch_save_stringpool): Likewise.
155 * target-globals.c (save_target_globals): Likewise.
156 * toplev.c (general_init): Likewise.
157 * trans-mem.c (record_tm_replacement): Likewise.
158 (split_bb_make_tm_edge): Likewise.
159 * tree-cfg.c (move_sese_region_to_fn): Likewise.
160 * tree-data-ref.h (lambda_vector_new): Likewise.
161 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
162 * tree-iterator.c (tsi_link_before): Likewise.
163 (tsi_link_after): Likewise.
164 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
165 * tree-ssa-loop-niter.c (record_estimate): Likewise.
166 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
167 * tree-ssa-operands.h: Don't use variable_size gty attribute.
168 * tree-ssa.c (init_tree_ssa): Adjust.
169 * tree-ssanames.c (set_range_info): Likewise.
170 (get_ptr_info): Likewise.
171 (duplicate_ssa_name_ptr_info): Likewise.
172 (duplicate_ssa_name_range_info): Likewise.
173 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
174 (unpack_ts_fixed_cst_value_fields): Likewise.
175 * tree.c (build_fixed): Likewise.
176 (build_real): Likewise.
177 (build_string): Likewise.
178 (decl_priority_info): Likewise.
179 (decl_debug_expr_insert): Likewise.
180 (decl_value_expr_insert): Likewise.
181 (decl_debug_args_insert): Likewise.
182 (type_hash_add): Likewise.
183 (build_omp_clause): Likewise.
184 * ubsan.c (decl_for_type_insert): Likewise.
185 * varasm.c (get_unnamed_section): Likewise.
186 (get_noswitch_section): Likewise.
187 (get_section): Likewise.
188 (get_block_for_section): Likewise.
189 (create_block_symbol): Likewise.
190 (build_constant_desc): Likewise.
191 (create_constant_pool): Likewise.
192 (force_const_mem): Likewise.
193 (record_tm_clone_pair): Likewise.
194 * varpool.c (varpool_create_empty_node): Likewise.
195
196 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
197
198 * dwarf2out.c (tree_add_const_value_attribute): Call
199 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
200 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
201 instead of ggc_internal_<x>alloc_stat.
202 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
203 (ggc_realloc): Likewise.
204 * ggc-none.c (ggc_internal_alloc): Likewise.
205 (ggc_internal_cleared_alloc): Likewise.
206 * ggc-page.c: Likewise.
207 * ggc.h (ggc_internal_alloc_stat): Likewise.
208 (ggc_internal_alloc): Remove macro.
209 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
210 (ggc_internal_cleared_alloc): Remove macro.
211 (GGC_RESIZEVEC): Adjust.
212 (ggc_resizevar): Remove macro.
213 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
214 (ggc_internal_cleared_vec_alloc_stat): Likewise.
215 (ggc_internal_vec_cleared_alloc): Remove macro.
216 (ggc_alloc_atomic_stat): Drop _stat suffix.
217 (ggc_alloc_atomic): Remove macro.
218 (ggc_alloc_cleared_atomic): Remove macro.
219 (ggc_alloc_string_stat): Drop _stat suffix.
220 (ggc_alloc_string): Remove macro.
221 (ggc_alloc_rtx_def_stat): Adjust.
222 (ggc_alloc_tree_node_stat): Likewise.
223 (ggc_alloc_cleared_tree_node_stat): Likewise.
224 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
225 (ggc_alloc_cleared_simd_clone_stat): Likewise.
226 * gimple.c (gimple_build_omp_for): Likewise.
227 (gimple_copy): Likewise.
228 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
229 * toplev.c (realloc_for_line_map): Adjust.
230 * tree-data-ref.h (lambda_vector_new): Likewise.
231 * tree-phinodes.c (allocate_phi_node): Likewise.
232 * tree.c (grow_tree_vec_stat): Likewise.
233 * vec.h (va_gc::reserve): Adjust.
234
235 2014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
236
237 * config/microblaze/microblaze.c
238 (break_handler): New Declaration.
239 (microblaze_break_function_p,microblaze_is_break_handler): New.
240 (compute_frame_size): use of microblaze_break_function_p. Add
241 the test of break_handler.
242 (microblaze_function_prologue) : Add the test of variable
243 break_handler. Check the fnname by BREAK_HANDLER_NAME.
244 (microblaze_function_epilogue) : Add the test of break_handler.
245 (microblaze_globalize_label) : Add the test of break_handler. Check the
246 name by BREAK_HANDLER_NAME.
247
248 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME) : New macro
249
250 * config/microblaze/microblaze.md :
251 (*<optab>,<optab>_internal): Add microblaze_is_break_handler () test.
252 (call_internal1,call_value_intern) : Use of microblaze_break_function_p.
253 Use of SYMBOL_REF_DECL.
254
255 * config/microblaze/microblaze-protos.h
256 (microblaze_break_function_p,microblaze_is_break_handler) : New Declaration.
257
258 * testsuite/gcc.target/microblaze/others/break_handler.c : New.
259
260 * doc/extend.texi (MicroBlaze break_handler Functions): Document new
261 MicroBlaze break_handler functions.
262
263 2014-05-17 Uros Bizjak <ubizjak@gmail.com>
264
265 * doc/extend.texi (Size of an asm): Move node text according
266 to its @menu entry position.
267
268 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
269
270 PR tree-optimization/61140
271 PR tree-optimization/61150
272 PR tree-optimization/61197
273 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
274
275 2014-05-17 Uros Bizjak <ubizjak@gmail.com>
276
277 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
278
279 2014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
280
281 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
282 __SIZEOF_INT128__ is defined.
283
284 2014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
285
286 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
287 (rs6000_delegitimize_address): Use it.
288
289 2014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
290
291 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
292 inplace argument. Store the new address in the original MEM when true.
293 * emit-rtl.c (change_address_1): Likewise.
294 (adjust_address_1, adjust_automodify_address_1, offset_address):
295 Update accordingly.
296 * rtl.h (plus_constant): Add an inplace argument.
297 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
298 when true. Avoid generating (plus X (const_int 0)).
299 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
300 in-place. Pass true to plus_constant.
301 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
302
303 2014-05-16 Dehao Chen <dehao@google.com>
304
305 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
306
307 2014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
308
309 PR target/54089
310 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
311 patterns.
312 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
313
314 2014-05-16 Dehao Chen <dehao@google.com>
315
316 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
317 optimize_function_for_size_p.
318 * regs.h (REG_FREQ_FROM_BB): Likewise.
319
320 2014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
321
322 PR target/51244
323 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
324 negt_reg_operand cases.
325 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
326 predicate.
327 * config/sh/predicates.md (cbranch_treg_value): Simplify.
328
329 2014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
330
331 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
332 target variants.
333
334 2014-05-16 David Malcolm <dmalcolm@redhat.com>
335
336 Revert:
337 2014-04-29 David Malcolm <dmalcolm@redhat.com>
338
339 * tree-cfg.c (dump_function_to_file): Dump the return type of
340 functions, in a line to itself before the function body, mimicking
341 the layout of a C function.
342
343 2014-05-16 Dehao Chen <dehao@google.com>
344
345 * cfghooks.c (make_forwarder_block): Use direct computation to
346 get fall-through edge's count and frequency.
347
348 2014-05-16 Benno Schulenberg <bensberg@justemail.net>
349
350 * config/arc/arc.c (arc_init): Fix typo in error message.
351 * config/i386/i386.c (ix86_expand_builtin): Likewise.
352 (split_stack_prologue_scratch_regno): Likewise.
353 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
354 word from error message.
355
356 2014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
357
358 * ira-costs.c: Fix typo in comment.
359
360 2014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
361
362 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
363
364 2014-05-16 Jan Hubicka <hubicka@ucw.cz>
365
366 * varpool.c (dump_varpool_node): Dump write-only flag.
367 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
368 write-only flag.
369 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
370 write-only variables.
371 * ipa.c (process_references): New function.
372 (set_readonly_bit): New function.
373 (set_writeonly_bit): New function.
374 (clear_addressable_bit): New function.
375 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
376 fix handling of aliases.
377 * cgraph.h (struct varpool_node): Add writeonly flag.
378
379 2014-05-16 Vladimir Makarov <vmakarov@redhat.com>
380
381 PR rtl-optimization/60969
382 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
383 Calculate costs for this case.
384
385 2014-05-16 Eric Botcazou <ebotcazou@adacore.com>
386
387 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
388 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
389
390 2014-05-16 Richard Biener <rguenther@suse.de>
391
392 PR tree-optimization/61194
393 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
394 bool patterns ending in a COND_EXPR.
395
396 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
397
398 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
399
400 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
401
402 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
403 where we were unable to cost an RTX.
404
405 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
406
407 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
408 HIGH, LO_SUM.
409
410 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
411 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
412
413 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
414
415 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
416 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
417
418 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
419 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
420
421 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
422 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
423
424 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
425 operators.
426
427 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
428 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
429
430 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
431 DIV/MOD.
432
433 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
434 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
435
436 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
437 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
438
439 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
440 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
441
442 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
443 rotates and shifts.
444
445 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
446 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
447
448 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
449 ZERO_EXTEND and SIGN_EXTEND better.
450
451 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
452 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
453
454 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
455 logical operations.
456
457 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
458 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
459
460 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
461 costs when costing loads and stores to memory.
462
463 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
464 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
465
466 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
467 for SET RTX.
468
469 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
470
471 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
472
473 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
474 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
475
476 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
477 to...
478 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
479 well formed.
480 (aarch64_rtx_mult_cost): New.
481 (aarch64_rtx_costs): Use it, refactor as appropriate.
482
483 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
484 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
485
486 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
487 emit instructions, return number of instructions which would
488 be emitted.
489 (aarch64_add_constant): Update call to aarch64_build_constant.
490 (aarch64_output_mi_thunk): Likewise.
491 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
492 a CONST_DOUBLE.
493
494 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
495
496 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
497 (TARGET_RTX_COSTS): Call it.
498
499 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
500
501 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
502 (cortexa57_vector_cost): Likewise.
503 (cortexa57_tunings): Use them.
504
505 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
506
507 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
508 (cpu_addrcost_table): Use it.
509 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
510 (aarch64_address_cost): Rewrite using aarch64_classify_address,
511 move it.
512
513 2014-05-16 Richard Biener <rguenther@suse.de>
514
515 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
516 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
517 (visit_phi): Ignore edges marked as not executable.
518 (class cond_dom_walker): New.
519 (cond_dom_walker::before_dom_children): Value-number
520 control statements and mark successor edges as not
521 executable if possible.
522 (run_scc_vn): First walk all control statements in
523 dominator order, marking edges as not executable.
524 * tree-inline.c (copy_edges_for_bb): Be not confused
525 about random edge flags.
526
527 2014-05-16 Richard Biener <rguenther@suse.de>
528
529 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
530
531 2014-05-15 Peter Bergner <bergner@vnet.ibm.com>
532
533 PR target/61193
534 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
535 (__TM_simple_begin): Use it.
536 (__TM_begin): Likewise.
537
538 2014-05-15 Martin Jambor <mjambor@suse.cz>
539
540 PR ipa/61085
541 * ipa-prop.c (update_indirect_edges_after_inlining): Check
542 type_preserved flag when the indirect edge is polymorphic.
543
544 2014-05-15 Martin Jambor <mjambor@suse.cz>
545
546 PR tree-optimization/61090
547 * tree-sra.c (sra_modify_expr): Pass the current gsi to
548 build_ref_for_model.
549
550 2014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
551
552 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
553 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
554
555 2014-05-15 Jakub Jelinek <jakub@redhat.com>
556
557 PR tree-optimization/61158
558 * fold-const.c (fold_binary_loc): If X is zero-extended and
559 shiftc >= prec, make sure zerobits is all ones instead of
560 invoking undefined behavior.
561
562 2014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
563
564 * regcprop.h: New file.
565 * regcprop.c (skip_debug_insn_p): New decl.
566 (replace_oldest_value_reg): Check skip_debug_insn_p.
567 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
568 * shrink-wrap.c: Include regcprop.h.
569 (prepare_shrink_wrap): Call
570 copyprop_hardreg_forward_bb_without_debug_insn.
571
572 2014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
573
574 * shrink-wrap.h: Update comment.
575 * shrink-wrap.c: Update comment.
576 (next_block_for_reg): Rename to live_edge_for_reg.
577 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
578 (move_insn_for_shrink_wrap): Split live_edge.
579 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
580
581 2014-05-14 Eric Botcazou <ebotcazou@adacore.com>
582
583 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
584 Delete.
585 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
586 * config/sparc/sparc.md (fptype_ut699): New attribute.
587 (in_branch_delay): Return false if -mfix-ut699 is specified and
588 fptype_ut699 is set to single.
589 (truncdfsf2): Add fptype_ut699 attribute.
590 (fix_truncdfsi2): Likewise.
591 (floatsisf2): Change fptype attribute.
592 (fix_truncsfsi2): Likewise.
593 (negtf2_notv9): Delete.
594 (negtf2_v9): Likewise.
595 (negtf2_hq): New instruction.
596 (negtf2): New instruction and splitter.
597 (negdf2_notv9): Rewrite.
598 (abstf2_notv9): Delete.
599 (abstf2_hq_v9): Likewise.
600 (abstf2_v9): Likewise.
601 (abstf2_hq): New instruction.
602 (abstf2): New instruction and splitter.
603 (absdf2_notv9): Rewrite.
604
605 2014-05-14 Cary Coutant <ccoutant@google.com>
606
607 PR debug/61013
608 * opts.c (common_handle_option): Don't special-case "-g".
609 (set_debug_level): Default to at least level 2 with "-g".
610
611 2014-05-14 DJ Delorie <dj@redhat.com>
612
613 * config/msp430/msp430.c (msp430_builtin): Add
614 MSP430_BUILTIN_DELAY_CYCLES.
615 (msp430_init_builtins): Register void __delay_cycles(long long).
616 (msp430_builtin_decl): Add it.
617 (cg_magic_constant): New.
618 (msp430_expand_delay_cycles): New.
619 (msp430_expand_builtin): Call it.
620 (msp430_print_operand_raw): Change integer printing from "int" to
621 HOST_WIDE_INT.
622 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
623 (delay_cycles_start): New.
624 (delay_cycles_end): New.
625 (delay_cycles_32): New.
626 (delay_cycles_32x): New.
627 (delay_cycles_16): New.
628 (delay_cycles_16x): New.
629 (delay_cycles_2): New.
630 (delay_cycles_1): New.
631 * doc/extend.texi: Document __delay_cycles().
632
633 2014-05-14 Sandra Loosemore <sandra@codesourcery.com>
634
635 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
636 length attribute computation.
637
638 2014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
639
640 PR debug/61188
641 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
642
643 2014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
644
645 PR target/61084
646 * config/sparc/sparc.md: Fix types of low and high in DI constant
647 splitter. Use gen_int_mode in some other splitters.
648
649 2014-05-14 Martin Jambor <mjambor@suse.cz>
650
651 PR ipa/60897
652 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
653
654 2014-05-14 James Norris <jnorris@codesourcery.com>
655
656 * omp-low.c (expand_parallel_call): Remove shadow variable.
657 (expand_omp_taskreg): Likewise.
658
659 2014-05-14 Ilya Tocar <ilya.tocar@intel.com>
660
661 * common/config/i386/i386-common.c
662 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
663 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
664 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
665 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
666 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
667 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
668 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
669 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
670 xsavecintrin.h, xsavesintrin.h.
671 (x86_64-*-*): Ditto.
672 * config/i386/clflushoptintrin.h: New.
673 * config/i386/xsavecintrin.h: Ditto.
674 * config/i386/xsavesintrin.h: Ditto.
675 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
676 (bit_XSAVES): Ditto.
677 (bit_XSAVES): Ditto.
678 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
679 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
680 -mno-clflushopt.
681 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
682 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
683 OPTION_MASK_ISA_XSAVES.
684 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
685 -mxsavec, -mxsaves.
686 (PTA_CLFLUSHOPT) Define.
687 (PTA_XSAVEC): Ditto.
688 (PTA_XSAVES): Ditto.
689 (ix86_option_override_internal): Handle new options.
690 (ix86_valid_target_attribute_inner_p): Ditto.
691 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
692 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
693 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
694 (bdesc_special_args): Add __builtin_ia32_xsaves,
695 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
696 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
697 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
698 (ix86_expand_builtin): Handle new builtins.
699 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
700 (TARGET_CLFLUSHOPT_P): Ditto.
701 (TARGET_XSAVEC): Ditto.
702 (TARGET_XSAVEC_P): Ditto.
703 (TARGET_XSAVES): Ditto.
704 (TARGET_XSAVES_P): Ditto.
705 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
706 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
707 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
708 (ANY_XRSTOR): New.
709 (ANY_XRSTOR64): Ditto.
710 (xrstor): Ditto.
711 (xrstor): Change into <xrstor>.
712 (xrstor_rex64): Change into <xrstor>_rex64.
713 (xrstor64): Change into <xrstor>64
714 (clflushopt): New.
715 * config/i386/i386.opt (mclflushopt): New.
716 (mxsavec): Ditto.
717 (mxsaves): Ditto.
718 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
719 xsavecintrin.h.
720 * doc/invoke.texi: Document new options.
721
722 2014-05-14 Andrey Belevantsev <abel@ispras.ru>
723
724 PR rtl-optimization/60866
725 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
726 Default it to -1. Pass it down to init_simplejump_data.
727 (init_simplejump_data): New parameter old_seqno. Pass it down
728 to get_seqno_for_a_jump.
729 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
730 initializing new jump seqno as a last resort. Add comment.
731 (sel_redirect_edge_and_branch): Save old seqno of the conditional
732 jump and pass it down to sel_init_new_insn.
733 (sel_redirect_edge_and_branch_force): Likewise.
734
735 2014-05-14 Georg-Johann Lay <avr@gjlay.de>
736
737 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
738 shifted values to avoid build warning.
739
740 2014-05-14 Eric Botcazou <ebotcazou@adacore.com>
741
742 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
743 * cfgrtl.c (rtl_merge_blocks): Fix comment.
744 (cfg_layout_merge_blocks): Likewise.
745 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
746
747 2014-05-14 Andrey Belevantsev <abel@ispras.ru>
748
749 PR rtl-optimization/60901
750 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
751 bb predecessor belongs to the same scheduling region. Adjust comment.
752
753 2014-05-13 Peter Bergner <bergner@vnet.ibm.com>
754
755 * doc/sourcebuild.texi: (dfp_hw): Document.
756 (p8vector_hw): Likewise.
757 (powerpc_eabi_ok): Likewise.
758 (powerpc_elfv2): Likewise.
759 (powerpc_htm_ok): Likewise.
760 (ppc_recip_hw): Likewise.
761 (vsx_hw): Likewise.
762
763 2014-05-13 Cary Coutant <ccoutant@google.com>
764
765 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
766
767 2014-05-13 David Malcolm <dmalcolm@redhat.com>
768
769 * gengtype-parse.c (require3): Eliminate in favor of...
770 (require4): New.
771 (require_template_declaration): Update to support optional single *
772 on a type.
773
774 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
775 (create_user_defined_type): Handle a single level of explicit
776 pointerness within template arguments.
777 (struct write_types_data): Add field "kind".
778 (filter_type_name): Handle "*" character.
779 (write_user_func_for_structure_ptr): Require a write_types_data
780 rather than just a prefix string, so that we can look up the kind
781 of the wtd and use it as an index into wrote_user_func_for_ptr,
782 ensuring that such functions are written at most once. Support
783 subclasses by invoking the marking function of the ultimate base class.
784 (write_user_func_for_structure_body): Require a write_types_data
785 rather than just a prefix string, so that we can pass this to
786 write_user_func_for_structure_ptr.
787 (write_func_for_structure): Likewise.
788 (ggc_wtd): Add initializer of new "kind" field.
789 (pch_wtd): Likewise.
790
791 * gengtype.h (enum write_types_kinds): New.
792 (struct type): Add field wrote_user_func_for_ptr to the "s"
793 union member.
794
795 2014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
796
797 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
798 instead of const_binop.
799 (fold_binary_loc): Likewise.
800
801 2014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
802
803 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
804 calculation to match get_ref_base_and_extent.
805
806 2014-05-13 Catherine Moore <clm@codesourcery.com>
807 Sandra Loosemore <sandra@codesourcery.com>
808
809 * configure.ac: Fix assembly for explicit JALR relocation check.
810 * configure: Regenerate.
811
812 2014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
813
814 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
815 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
816 Remove associated type declarations and initialisations.
817 (arm_expand_neon_builtin): Likewise.
818 (neon_emit_pair_result_insn): Delete.
819 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
820 * config/arm/neon.md (neon_vtrn<mode>): Delete.
821 (neon_vzip<mode>): Likewise.
822 (neon_vuzp<mode>): Likewise.
823
824 2014-05-13 Richard Biener <rguenther@suse.de>
825
826 PR ipa/60973
827 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
828 it needs revisiting whether the call still may be tail-called.
829
830 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
831
832 * rtl.def (SYMBOL_REF): Remove middle "0" field.
833 * rtl.h (block_symbol): Reduce number of fields to 2.
834 (rtx_def): Add u2.symbol_ref_flags.
835 (SYMBOL_REF_FLAGS): Use it.
836 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
837 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
838 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
839 Lower index of SYMBOL_REF_DATA.
840 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
841 Print SYMBOL_REF_FLAGS at the same time.
842 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
843
844 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
845
846 * rtl.def (VAR_LOCATION): Remove "i" field.
847 * rtl.h (rtx_def): Add u2.var_location_status.
848 (PAT_VAR_LOCATION_STATUS): Use it.
849 (gen_rtx_VAR_LOCATION): Declare.
850 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
851 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
852 * var-tracking.c (emit_note_insn_var_location): Remove casts.
853
854 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
855
856 * rtl.def (scratch): Fix outdated comment and remove "0" field.
857 * gengtype.c (adjust_field_rtx_def): Update accordingly.
858
859 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
860
861 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
862 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
863 * rtl.h (rtx_def): Add insn_uid to u2 field.
864 (RTX_FLAG_CHECK8): Delete in favor of...
865 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
866 (INSN_DELETED_P): Update accordingly.
867 (INSN_UID): Use u2.insn_uid.
868 (INSN_CHAIN_CODE_P): Define.
869 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
870 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
871 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
872 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
873 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
874 indices accordingly.
875 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
876 Update indices for insn-chain rtxes.
877 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
878 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
879 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
880 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
881 * combine.c (try_combine): Likewise.
882 * ira.c (setup_prohibited_mode_move_regs): Likewise.
883
884 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
885
886 * rtl.def (REG): Remove middle field.
887 * rtl.h (rtx_def): Add orignal_regno to u2.
888 (ORIGINAL_REGNO): Use it instead of field 1.
889 (REG_ATTRS): Lower field index accordingly.
890 * gengtype.c (adjust_field_rtx_def): Remove handling of
891 ORIGINAL_REGNO. Move REG_ATTRS index down.
892 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
893 code that prints the REGNO.
894
895 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
896
897 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
898 GENERATOR_FILE.
899
900 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
901
902 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
903
904 2014-05-13 Bin Cheng <bin.cheng@arm.com>
905
906 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
907 (alloc_iv): Lower base expressions containing ADDR_EXPR.
908
909 2014-05-13 Ian Bolton <ian.bolton@arm.com>
910
911 * config/aarch64/aarch64-protos.h
912 (aarch64_hard_regno_caller_save_mode): New prototype.
913 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
914 New function.
915 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
916
917 2014-05-13 Christian Bruel <christian.bruel@st.com>
918
919 * target.def (mode_switching): New hook vector.
920 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
921 (mode_exit, modepriority_to_mode): Likewise.
922 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
923 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
924 * target.h: Include tm.h and hard-reg-set.h.
925 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
926 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
927 * doc/tm.texi Regenerate.
928 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
929 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
930 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
931 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
932 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
933 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
934 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
935 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
936 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
937 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
938 (ix86_emit_mode_set): Hookify.
939 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
940 Delete.
941 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
942 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
943 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
944 (epiphany_mode_priority_to_mode): Remove declaration.
945 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
946 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
947 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
948 Likewise.
949 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
950 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
951 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
952
953 2014-05-13 Jakub Jelinek <jakub@redhat.com>
954
955 PR target/61060
956 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
957 is const0_rtx, return immediately. Don't test count == 0 when
958 it is always true.
959
960 2014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
961
962 * Makefile.in: add shrink-wrap.o.
963 * config/i386/i386.c: include "shrink-wrap.h"
964 * function.c: Likewise.
965 (requires_stack_frame_p, next_block_for_reg,
966 move_insn_for_shrink_wrap, prepare_shrink_wrap,
967 dup_block_and_redirect): Move to shrink-wrap.c
968 (thread_prologue_and_epilogue_insns): Extract three code segments
969 as functions in shrink-wrap.c
970 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
971 shrink-wrap.h
972 * shrink-wrap.c: New file.
973 * shrink-wrap.h: New file.
974
975 2014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
976
977 * doc/extend.texi: Reflect current numbers of pragmas. Remove
978 reference to Solaris.
979
980 2014-05-12 Mike Stump <mikestump@comcast.net>
981
982 PR other/31778
983 * genattrtab.c (filename): Add.
984 (convert_set_attr_alternative): Improve error message.
985 (check_defs): Restore read_md_filename for error messages.
986 (gen_insn): Save filename.
987
988 2014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
989
990 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
991 -fno-local-ivars and -fivar-visibility.
992 * c-family/c.opt: Make -Wshadow also implicitly enable
993 -Wshadow-ivar.
994
995 2014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
996
997 * doc/tm.texi: Remove reference to deleted macro.
998 * doc/tm.texi.in: Likewise.
999
1000 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1001
1002 PR target/60991
1003 * config/avr/avr.c (avr_out_store_psi): Use correct constant
1004 to restore Y.
1005
1006 2014-05-12 Georg-Johann Lay <avr@gjlay.de>
1007
1008 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
1009 * config/arm/aout.h (License): Same.
1010 * config/arm/bpabi.h (License): Same.
1011 * config/arm/elf.h (License): Same.
1012 * config/arm/linux-elf.h (License): Same.
1013 * config/arm/linux-gas.h (License): Same.
1014 * config/arm/netbsd-elf.h (License): Same.
1015 * config/arm/uclinux-eabi.h (License): Same.
1016 * config/arm/uclinux-elf.h (License): Same.
1017 * config/arm/vxworks.h (License): Same.
1018
1019 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1020
1021 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
1022 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
1023 number of operands to 3.
1024 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
1025 * tree-nested.c (convert_nonlocal_omp_clauses,
1026 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
1027 * gimplify.c (gimplify_scan_omp_clauses): Handle
1028 OMP_CLAUSE_LINEAR_STMT.
1029 * omp-low.c (lower_rec_input_clauses): Fix typo.
1030 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
1031 cast between Fortran boolean_type_node and C _Bool if
1032 needed.
1033
1034 2014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
1035
1036 PR tree-optimization/61136
1037 * wide-int.h (multiple_of_p): Define a version that doesn't return
1038 the quotient.
1039 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
1040 integer_zerop/const_binop pair.
1041 (multiple_of_p): Likewise, converting both operands to widest_int
1042 precision.
1043
1044 2014-05-09 Teresa Johnson <tejohnson@google.com>
1045
1046 * cgraphunit.c (analyze_functions): Use correct dump file.
1047
1048 2014-05-09 Florian Weimer <fweimer@redhat.com>
1049
1050 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
1051 expand_used_vars.
1052 (stack_protect_return_slot_p): New function.
1053 (expand_used_vars): Call stack_protect_decl_p and
1054 stack_protect_return_slot_p for -fstack-protector-strong.
1055
1056 2014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
1057
1058 PR middle-end/61111
1059 * fold-const.c (fold_binary_loc): Changed width of mask.
1060
1061 2014-05-09 Georg-Johann Lay <avr@gjlay.de>
1062
1063 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
1064 unsigned int initializers for regno_in, regno_out.
1065
1066 2014-05-09 Georg-Johann Lay <avr@gjlay.de>
1067
1068 PR target/61055
1069 * config/avr/avr.md (cc): Add new attribute set_vzn.
1070 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
1071 Set cc insn attribute to set_vzn instead of set_zn for alternatives
1072 with INC, DEC or NEG.
1073 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
1074 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
1075 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
1076
1077 2014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1078
1079 Revert:
1080 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1081
1082 * wide-int.cc (UTItype): Define.
1083 (UDWtype): Define for appropriate W_TYPE_SIZE.
1084
1085 2014-05-09 Richard Biener <rguenther@suse.de>
1086
1087 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
1088 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
1089 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
1090 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
1091 ssa_propagate): Adjust.
1092
1093 2014-05-08 Jeff Law <law@redhat.com>
1094
1095 PR tree-optimization/61009
1096 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
1097 tri-state rather than a boolean. When a block is too big to
1098 thread through, inform caller via negative return value.
1099 (thread_across_edge): If a block was too big for normal threading,
1100 then it's too big for a joiner too, so remove temporary equivalences
1101 and return immediately.
1102
1103 2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
1104 Matthias Klose <doko@ubuntu.com>
1105
1106 PR driver/61106
1107 * optc-gen.awk: Fix option handling for -Wunused-parameter.
1108
1109 2014-05-08 Uros Bizjak <ubizjak@gmail.com>
1110
1111 PR target/59952
1112 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
1113
1114 2014-05-08 Uros Bizjak <ubizjak@gmail.com>
1115
1116 PR target/61092
1117 * config/alpha/alpha.c: Include gimple-iterator.h.
1118 (alpha_gimple_fold_builtin): New function. Move
1119 ALPHA_BUILTIN_UMULH folding from ...
1120 (alpha_fold_builtin): ... here.
1121 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
1122
1123 2014-05-08 Wei Mi <wmi@google.com>
1124
1125 PR target/58066
1126 * config/i386/i386.c (ix86_compute_frame_layout): Update
1127 preferred_stack_boundary for call, expanded from tls descriptor.
1128 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
1129 to depend on SP register.
1130 (*tls_local_dynamic_base_32_gnu): Ditto.
1131 (*tls_local_dynamic_32_once): Ditto.
1132 (tls_global_dynamic_64_<mode>): Set
1133 ix86_tls_descriptor_calls_expanded_in_cfun.
1134 (tls_local_dynamic_base_64_<mode>): Ditto.
1135 (tls_global_dynamic_32): Set
1136 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
1137 to depend on SP register.
1138 (tls_local_dynamic_base_32): Ditto.
1139
1140 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1141
1142 * config/arm/arm_neon.h: Update comment.
1143 * config/arm/neon-docgen.ml: Delete.
1144 * config/arm/neon-gen.ml: Delete.
1145 * doc/arm-neon-intrinsics.texi: Update comment.
1146
1147 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1148
1149 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
1150 and v4sf versions.
1151 (vand, vorr, veor, vorn, vbic): Remove.
1152 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
1153 iterator.
1154 (neon_vsub_unspec): Likewise.
1155 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
1156
1157 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1158
1159 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
1160 (vadd_s16): Likewise.
1161 (vadd_s32): Likewise.
1162 (vadd_f32): Likewise.
1163 (vadd_u8): Likewise.
1164 (vadd_u16): Likewise.
1165 (vadd_u32): Likewise.
1166 (vadd_s64): Likewise.
1167 (vadd_u64): Likewise.
1168 (vaddq_s8): Likewise.
1169 (vaddq_s16): Likewise.
1170 (vaddq_s32): Likewise.
1171 (vaddq_s64): Likewise.
1172 (vaddq_f32): Likewise.
1173 (vaddq_u8): Likewise.
1174 (vaddq_u16): Likewise.
1175 (vaddq_u32): Likewise.
1176 (vaddq_u64): Likewise.
1177 (vmul_s8): Likewise.
1178 (vmul_s16): Likewise.
1179 (vmul_s32): Likewise.
1180 (vmul_f32): Likewise.
1181 (vmul_u8): Likewise.
1182 (vmul_u16): Likewise.
1183 (vmul_u32): Likewise.
1184 (vmul_p8): Likewise.
1185 (vmulq_s8): Likewise.
1186 (vmulq_s16): Likewise.
1187 (vmulq_s32): Likewise.
1188 (vmulq_f32): Likewise.
1189 (vmulq_u8): Likewise.
1190 (vmulq_u16): Likewise.
1191 (vmulq_u32): Likewise.
1192 (vsub_s8): Likewise.
1193 (vsub_s16): Likewise.
1194 (vsub_s32): Likewise.
1195 (vsub_f32): Likewise.
1196 (vsub_u8): Likewise.
1197 (vsub_u16): Likewise.
1198 (vsub_u32): Likewise.
1199 (vsub_s64): Likewise.
1200 (vsub_u64): Likewise.
1201 (vsubq_s8): Likewise.
1202 (vsubq_s16): Likewise.
1203 (vsubq_s32): Likewise.
1204 (vsubq_s64): Likewise.
1205 (vsubq_f32): Likewise.
1206 (vsubq_u8): Likewise.
1207 (vsubq_u16): Likewise.
1208 (vsubq_u32): Likewise.
1209 (vsubq_u64): Likewise.
1210 (vand_s8): Likewise.
1211 (vand_s16): Likewise.
1212 (vand_s32): Likewise.
1213 (vand_u8): Likewise.
1214 (vand_u16): Likewise.
1215 (vand_u32): Likewise.
1216 (vand_s64): Likewise.
1217 (vand_u64): Likewise.
1218 (vandq_s8): Likewise.
1219 (vandq_s16): Likewise.
1220 (vandq_s32): Likewise.
1221 (vandq_s64): Likewise.
1222 (vandq_u8): Likewise.
1223 (vandq_u16): Likewise.
1224 (vandq_u32): Likewise.
1225 (vandq_u64): Likewise.
1226 (vorr_s8): Likewise.
1227 (vorr_s16): Likewise.
1228 (vorr_s32): Likewise.
1229 (vorr_u8): Likewise.
1230 (vorr_u16): Likewise.
1231 (vorr_u32): Likewise.
1232 (vorr_s64): Likewise.
1233 (vorr_u64): Likewise.
1234 (vorrq_s8): Likewise.
1235 (vorrq_s16): Likewise.
1236 (vorrq_s32): Likewise.
1237 (vorrq_s64): Likewise.
1238 (vorrq_u8): Likewise.
1239 (vorrq_u16): Likewise.
1240 (vorrq_u32): Likewise.
1241 (vorrq_u64): Likewise.
1242 (veor_s8): Likewise.
1243 (veor_s16): Likewise.
1244 (veor_s32): Likewise.
1245 (veor_u8): Likewise.
1246 (veor_u16): Likewise.
1247 (veor_u32): Likewise.
1248 (veor_s64): Likewise.
1249 (veor_u64): Likewise.
1250 (veorq_s8): Likewise.
1251 (veorq_s16): Likewise.
1252 (veorq_s32): Likewise.
1253 (veorq_s64): Likewise.
1254 (veorq_u8): Likewise.
1255 (veorq_u16): Likewise.
1256 (veorq_u32): Likewise.
1257 (veorq_u64): Likewise.
1258 (vbic_s8): Likewise.
1259 (vbic_s16): Likewise.
1260 (vbic_s32): Likewise.
1261 (vbic_u8): Likewise.
1262 (vbic_u16): Likewise.
1263 (vbic_u32): Likewise.
1264 (vbic_s64): Likewise.
1265 (vbic_u64): Likewise.
1266 (vbicq_s8): Likewise.
1267 (vbicq_s16): Likewise.
1268 (vbicq_s32): Likewise.
1269 (vbicq_s64): Likewise.
1270 (vbicq_u8): Likewise.
1271 (vbicq_u16): Likewise.
1272 (vbicq_u32): Likewise.
1273 (vbicq_u64): Likewise.
1274 (vorn_s8): Likewise.
1275 (vorn_s16): Likewise.
1276 (vorn_s32): Likewise.
1277 (vorn_u8): Likewise.
1278 (vorn_u16): Likewise.
1279 (vorn_u32): Likewise.
1280 (vorn_s64): Likewise.
1281 (vorn_u64): Likewise.
1282 (vornq_s8): Likewise.
1283 (vornq_s16): Likewise.
1284 (vornq_s32): Likewise.
1285 (vornq_s64): Likewise.
1286 (vornq_u8): Likewise.
1287 (vornq_u16): Likewise.
1288 (vornq_u32): Likewise.
1289 (vornq_u64): Likewise.
1290
1291 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1292
1293 * wide-int.cc (UTItype): Define.
1294 (UDWtype): Define for appropriate W_TYPE_SIZE.
1295
1296 2014-05-08 Marc Glisse <marc.glisse@inria.fr>
1297
1298 PR tree-optimization/59100
1299 * tree-ssa-phiopt.c: Include tree-inline.h.
1300 (neutral_element_p, absorbing_element_p): New functions.
1301 (value_replacement): Handle conditional binary operations with a
1302 neutral or absorbing element.
1303
1304 2014-05-08 Richard Biener <rguenther@suse.de>
1305
1306 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
1307 folding the expression.
1308 (valueize_expr): Remove.
1309 (visit_reference_op_load): Do not valueize the result of
1310 vn_get_expr_for.
1311 (simplify_binary_expression): Likewise.
1312 (simplify_unary_expression): Likewise.
1313
1314 2014-05-08 Richard Biener <rguenther@suse.de>
1315
1316 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
1317 looking at TYPE_ARG_TYPES.
1318
1319 2014-05-08 Richard Biener <rguenther@suse.de>
1320
1321 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
1322 pointer propagation special-case.
1323
1324 2014-05-08 Bin Cheng <bin.cheng@arm.com>
1325
1326 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
1327 core part of address expressions.
1328
1329 2014-05-08 Alan Modra <amodra@gmail.com>
1330
1331 PR target/60737
1332 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
1333 loads and stores when -mno-strict-align at any alignment.
1334 (expand_block_clear): Similarly. Also correct calculation of
1335 instruction count.
1336
1337 2014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
1338
1339 PR middle-end/39246
1340 * tree-complex.c (expand_complex_move): Keep line info when expanding
1341 complex move.
1342 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
1343 of complex expression. Use new argument to display correct location
1344 for values coming from phi statement.
1345 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
1346 (warn_uninitialized_phi): Pass location of phi argument to
1347 warn_uninit.
1348 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
1349 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
1350
1351 2014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
1352
1353 * config/rs6000/predicates.md (indexed_address_mem): New.
1354 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
1355 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
1356 fpstore_ux, fpstore_u.
1357 (sign_extend, indexed, update): New.
1358 (cell_micro): Adjust.
1359 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
1360 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
1361 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
1362 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
1363 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
1364 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
1365 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
1366 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
1367 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
1368 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
1369 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
1370 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
1371 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
1372 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
1373 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
1374
1375 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
1376 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
1377 *vsx_extract_<mode>_store): Adjust.
1378 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
1379 is_cracked_insn, insn_must_be_first_in_group,
1380 insn_must_be_last_in_group): Adjust.
1381
1382 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
1383 Adjust.
1384 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
1385 ppc440-fpstore): Adjust.
1386 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
1387 ppc476-fpstore): Adjust.
1388 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
1389 ppc601-fpstore): Adjust.
1390 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
1391 Adjust.
1392 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
1393 Adjust.
1394 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
1395 ppc7450-fpstore): Adjust.
1396 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
1397 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
1398 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
1399 Adjust.
1400 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
1401 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
1402 cell-fpstore, cell-fpstore-update): Adjust.
1403 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
1404 ppce300c3_store, ppce300c3_fpstore): Adjust.
1405 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
1406 e500mc_fpstore): Adjust.
1407 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
1408 e500mc64_store, e500mc64_fpstore): Adjust.
1409 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
1410 e5500_fpstore): Adjust.
1411 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
1412 e6500_fpstore): Adjust.
1413 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
1414 Adjust.
1415 * config/rs6000/power4.md (power4-load, power4-load-ext,
1416 power4-load-ext-update, power4-load-ext-update-indexed,
1417 power4-load-update-indexed, power4-load-update, power4-fpload,
1418 power4-fpload-update, power4-store, power4-store-update,
1419 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
1420 Adjust.
1421 * config/rs6000/power5.md (power5-load, power5-load-ext,
1422 power5-load-ext-update, power5-load-ext-update-indexed,
1423 power5-load-update-indexed, power5-load-update, power5-fpload,
1424 power5-fpload-update, power5-store, power5-store-update,
1425 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
1426 Adjust.
1427 * config/rs6000/power6.md (power6-load, power6-load-ext,
1428 power6-load-update, power6-load-update-indexed,
1429 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
1430 power6-fpload-update, power6-store, power6-store-update,
1431 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
1432 Adjust.
1433 * config/rs6000/power7.md (power7-load, power7-load-ext,
1434 power7-load-update, power7-load-update-indexed,
1435 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
1436 power7-fpload-update, power7-store, power7-store-update,
1437 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
1438 Adjust.
1439 * config/rs6000/power8.md (power8-load, power8-load-update,
1440 power8-load-ext, power8-load-ext-update, power8-fpload,
1441 power8-fpload-update, power8-store, power8-store-update-indexed,
1442 power8-fpstore, power8-fpstore-update): Adjust.
1443 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
1444 Adjust.
1445 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
1446 titan_lsu_store, titan_lsu_fpstore): Adjust.
1447 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
1448
1449 2014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
1450
1451 PR target/60884
1452 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
1453 unrolled byte insns. Emit address increments after move insns.
1454
1455 2014-05-07 David Malcolm <dmalcolm@redhat.com>
1456
1457 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
1458 const_gimple, rather than a gimple.
1459 (gimple_call_builtin_p): Likewise, for the three variants.
1460
1461 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
1462 (gimple_call_builtin_p): Likewise, for the three variants.
1463
1464 2014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1465
1466 PR tree-optimization/61095
1467 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
1468
1469 2014-05-07 Richard Biener <rguenther@suse.de>
1470
1471 PR tree-optimization/61034
1472 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
1473 (maybe_skip_until): Use translate to take into account
1474 lattices when trying to do disambiguations.
1475 (get_continuation_for_phi_1): Likewise.
1476 (get_continuation_for_phi): Adjust for added translate arguments.
1477 (walk_non_aliased_vuses): Likewise.
1478 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
1479 (walk_non_aliased_vuses): Likewise.
1480 (call_may_clobber_ref_p_1): Declare.
1481 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
1482 calls. Stop early if we are only supposed to disambiguate.
1483 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
1484
1485 2014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
1486
1487 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
1488 Emit an error when the function has arguments.
1489
1490 2014-05-07 Thomas Schwinge <thomas@codesourcery.com>
1491
1492 * cfgloop.h (unswitch_loops): Remove.
1493 * doc/passes.texi: Remove references to loop-unswitch.c
1494 * timevar.def (TV_LOOP_UNSWITCH): Remove.
1495
1496 2014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
1497
1498 * tree-vect-data-refs.c (vect_grouped_load_supported): New
1499 check for loads group of length 3.
1500 (vect_permute_load_chain): New permutations for loads group of
1501 length 3.
1502 * tree-vect-stmts.c (vect_model_load_cost): Change cost
1503 of vec_perm_shuffle for the new permutations.
1504
1505 2014-05-07 Alan Lawrence <alan.lawrence@arm.com>
1506
1507 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
1508 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
1509 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
1510 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
1511 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
1512 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
1513 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
1514 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
1515
1516 2014-05-07 Thomas Schwinge <thomas@codesourcery.com>
1517
1518 * loop-unswitch.c: Delete.
1519
1520 2014-05-07 Richard Biener <rguenther@suse.de>
1521
1522 * config.gcc: Always set need_64bit_hwint to yes.
1523
1524 2014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
1525
1526 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
1527 of using optimize_size.
1528
1529 2014-05-06 Mike Stump <mikestump@comcast.net>
1530
1531 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
1532
1533 2014-05-06 Joseph Myers <joseph@codesourcery.com>
1534
1535 * config/i386/sse.md (*mov<mode>_internal)
1536 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
1537 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
1538 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
1539 (*<code><mode>3, *andnot<mode>3<mask_name>)
1540 (<mask_codefor><code><mode>3<mask_name>): Only consider
1541 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
1542
1543 2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
1544
1545 Revert:
1546 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
1547
1548 * lra-constraints.c (valid_address_p): Move earlier in file.
1549 Add a constraint argument to the address_info version.
1550 (satisfies_memory_constraint_p): New function.
1551 (satisfies_address_constraint_p): Likewise.
1552 (process_alt_operands, curr_insn_transform): Use them.
1553 (process_address): Pass the constraint to valid_address_p when
1554 checking address operands.
1555
1556 2014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
1557
1558 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
1559 to their respective blocks. Fix inadvertent use of "node".
1560
1561 2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
1562
1563 * emit-rtl.c (init_derived_machine_modes): New functionm, split
1564 out from...
1565 (init_emit_once): ...here.
1566 * rtl.h (init_derived_machine_modes): Declare.
1567 * toplev.c (do_compile): Call it even if no_backend.
1568
1569 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1570 Mike Stump <mikestump@comcast.net>
1571 Richard Sandiford <rdsandiford@googlemail.com>
1572 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1573
1574 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
1575 (rtx_equal_for_memref_p): Update comment.
1576 (adjust_offset_for_component_ref): Use wide-int interfaces.
1577 * builtins.c (get_object_alignment_2): Likewise.
1578 (c_readstr): Likewise.
1579 (target_char_cast): Add comment.
1580 (determine_block_size): Use wide-int interfaces.
1581 (expand_builtin_signbit): Likewise.
1582 (fold_builtin_int_roundingfn): Likewise.
1583 (fold_builtin_bitop): Likewise.
1584 (fold_builtin_bswap): Likewise.
1585 (fold_builtin_logarithm): Use signop.
1586 (fold_builtin_pow): Likewise.
1587 (fold_builtin_memory_op): Use wide-int interfaces.
1588 (fold_builtin_object_size): Likewise.
1589 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
1590 nb_iterations_estimate.
1591 (record_niter_bound): Use wide-int interfaces.
1592 (get_estimated_loop_iterations_int): Likewise.
1593 (get_estimated_loop_iterations): Likewise.
1594 (get_max_loop_iterations): Likewise.
1595 * cfgloop.h: Include wide-int.h.
1596 (struct nb_iter_bound): Change bound to widest_int.
1597 (struct loop): Change nb_iterations_upper_bound and
1598 nb_iterations_estimate to widest_int.
1599 (record_niter_bound): Switch to use widest_int.
1600 (get_estimated_loop_iterations): Likewise.
1601 (get_max_loop_iterations): Likewise.
1602 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
1603 update for wide-int.
1604 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
1605 * combine.c (try_combine): Likewise.
1606 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
1607 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
1608 interfaces.
1609 (aarch64_float_const_representable_p): Likewise.
1610 * config/arc/arc.c: Include wide-int.h.
1611 (arc_can_use_doloop_p): Use wide-int interfaces.
1612 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
1613 (vfp3_const_double_index): Likewise.
1614 * config/avr/avr.c (avr_out_round): Likewise.
1615 (avr_fold_builtin): Likewise.
1616 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
1617 (bfin_can_use_doloop_p): Likewise.
1618 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
1619 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
1620 * config/i386/i386.c: Include wide-int.h.
1621 (ix86_data_alignment): Use wide-int interfaces.
1622 (ix86_local_alignment): Likewise.
1623 (ix86_emit_swsqrtsf): Update real_from_integer.
1624 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
1625 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
1626 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
1627 (zero_constant): Likewise.
1628 (input_operand): Likewise.
1629 (splat_input_operand): Likewise.
1630 (non_logical_cint_operand): Change const_double to const_wide_int.
1631 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
1632 (easy_altivec_constant): Remove comment.
1633 (paired_expand_vector_init): Use CONSTANT_P.
1634 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
1635 (rs6000_emit_move): Update checks.
1636 (rs6000_aggregate_candidate): Use wide-int interfaces.
1637 (rs6000_expand_ternop_builtin): Likewise.
1638 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
1639 (rs6000_assemble_integer): Likewise.
1640 (rs6000_hash_constant): Likewise.
1641 (output_toc): Likewise.
1642 (rs6000_rtx_costs): Likewise.
1643 (rs6000_emit_swrsqrt); Update call to real_from_integer.
1644 * config/rs6000/rs6000-c.c: Include wide-int.h.
1645 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
1646 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
1647 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
1648 Handle CONST_WIDE_INT.
1649 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
1650 Use tree_fits_uhwi_p.
1651 * config/sparc/sparc.c: Include wide-int.h.
1652 (sparc_fold_builtin): Use wide-int interfaces.
1653 * config/vax/vax.c: Include wide-int.h.
1654 (vax_float_literal): Use real_from_integer.
1655 * coretypes.h (struct hwivec_def): New.
1656 (hwivec): New.
1657 (const_hwivec): New.
1658 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
1659 (equiv_constant): Handle CONST_WIDE_INT.
1660 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
1661 (cselib_hash_rtx): Handle CONST_WIDE_INT.
1662 * dbxout.c (stabstr_U): Use wide-int interfaces.
1663 (dbxout_type): Update to use cst_fits_shwi_p.
1664 * defaults.h (LOG2_BITS_PER_UNIT): Define.
1665 (TARGET_SUPPORTS_WIDE_INT): Add default.
1666 * dfp.c: Include wide-int.h.
1667 (decimal_real_to_integer2): Use wide-int interfaces and rename to
1668 decimal_real_to_integer.
1669 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
1670 decimal_real_to_integer.
1671 * doc/generic.texi (Constant expressions): Update for wide_int.
1672 * doc/rtl.texi (const_double): Likewise.
1673 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
1674 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
1675 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
1676 (REAL_VALUE_FROM_INT): Remove.
1677 (TARGET_SUPPORTS_WIDE_INT): New.
1678 * doc/tm.texi: Regenerate.
1679 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
1680 * double-int.h: Include wide-int.h.
1681 (struct wi::int_traits): New.
1682 * dwarf2out.c (get_full_len): New.
1683 (dw_val_equal_p): Add case dw_val_class_wide_int.
1684 (size_of_loc_descr): Likewise.
1685 (output_loc_operands): Likewise.
1686 (insert_double): Remove.
1687 (insert_wide_int): New.
1688 (add_AT_wide): New.
1689 (print_die): Add case dw_val_class_wide_int.
1690 (attr_checksum): Likewise.
1691 (attr_checksum_ordered): Likewise.
1692 (same_dw_val_p): Likewise.
1693 (size_of_die): Likewise.
1694 (value_format): Likewise.
1695 (output_die): Likewise.
1696 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
1697 Use wide-int.
1698 (clz_loc_descriptor): Use wide-int interfaces.
1699 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
1700 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
1701 (round_up_to_align): Use wide-int interfaces.
1702 (field_byte_offset): Likewise.
1703 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
1704 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
1705 CONST_DOUBLE handling. Use wide-int interfaces.
1706 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
1707 (gen_enumeration_type_die): Use add_AT_wide.
1708 (hash_loc_operands): Add case dw_val_class_wide_int.
1709 (compare_loc_operands): Likewise.
1710 * dwarf2out.h: Include wide-int.h.
1711 (wide_int_ptr): New.
1712 (enum dw_val_class): Add dw_val_class_wide_int.
1713 (struct dw_val_struct): Add val_wide.
1714 * emit-rtl.c (const_wide_int_htab): New.
1715 (const_wide_int_htab_hash): New.
1716 (const_wide_int_htab_eq): New.
1717 (lookup_const_wide_int): New.
1718 (const_double_htab_hash): Use wide-int interfaces.
1719 (const_double_htab_eq): Likewise.
1720 (rtx_to_double_int): Conditionally compile for wide-int.
1721 (immed_double_int_const): Rename to immed_wide_int_const and
1722 update for wide-int.
1723 (immed_double_const): Conditionally compile for wide-int.
1724 (init_emit_once): Use wide-int interfaces.
1725 * explow.c (plus_constant): Likewise.
1726 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
1727 (lshift_value): Use wide-int interfaces.
1728 (expand_mult): Likewise.
1729 (choose_multiplier): Likewise.
1730 (expand_smod_pow2): Likewise.
1731 (make_tree): Likewise.
1732 * expr.c (convert_modes): Consolidate handling of constants.
1733 Use wide-int interfaces.
1734 (emit_group_load_1): Add note.
1735 (store_expr): Update comment.
1736 (get_inner_reference): Use wide-int interfaces.
1737 (expand_constructor): Update comment.
1738 (expand_expr_real_2): Use wide-int interfaces.
1739 (expand_expr_real_1): Likewise.
1740 (reduce_to_bit_field_precision): Likewise.
1741 (const_vector_from_tree): Likewise.
1742 * final.c: Include wide-int-print.h.
1743 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
1744 * fixed-value.c: Include wide-int.h.
1745 (fixed_from_string): Use wide-int interfaces.
1746 (fixed_to_decimal): Likewise.
1747 (fixed_convert_from_real): Likewise.
1748 (real_convert_from_fixed): Likewise.
1749 * fold-const.h (mem_ref_offset): Return an offset_int.
1750 (div_if_zero_remainder): Remove code parameter.
1751 * fold-const.c (div_if_zero_remainder): Remove code parameter.
1752 Use wide-int interfaces.
1753 (may_negate_without_overflow_p): Use wide-int interfaces.
1754 (negate_expr_p): Likewise.
1755 (fold_negate_expr): Likewise.
1756 (int_const_binop_1): Likewise.
1757 (const_binop): Likewise.
1758 (fold_convert_const_int_from_int): Likewise.
1759 (fold_convert_const_int_from_real): Likewise.
1760 (fold_convert_const_int_from_fixed): Likewise.
1761 (fold_convert_const_fixed_from_int): Likewise.
1762 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
1763 (sign_bit_p): Use wide-int interfaces.
1764 (make_range_step): Likewise.
1765 (build_range_check): Likewise. Pass an integer of the correct type
1766 instead of using integer_one_node.
1767 (range_predecessor): Pass an integer of the correct type instead
1768 of using integer_one_node.
1769 (range_successor): Likewise.
1770 (merge_ranges): Likewise.
1771 (unextend): Use wide-int interfaces.
1772 (extract_muldiv_1): Likewise.
1773 (fold_div_compare): Likewise.
1774 (fold_single_bit_test): Likewise.
1775 (fold_sign_changed_comparison): Likewise.
1776 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
1777 (fold_plusminus_mult_expr): Use wide-int interfaces.
1778 (native_encode_int): Likewise.
1779 (native_interpret_int): Likewise.
1780 (fold_unary_loc): Likewise.
1781 (pointer_may_wrap_p): Likewise.
1782 (size_low_cst): Likewise.
1783 (mask_with_tz): Likewise.
1784 (fold_binary_loc): Likewise.
1785 (fold_ternary_loc): Likewise.
1786 (multiple_of_p): Likewise.
1787 (tree_call_nonnegative_warnv_p): Update calls to
1788 tree_int_cst_min_precision and real_from_integer.
1789 (fold_negate_const): Use wide-int interfaces.
1790 (fold_abs_const): Likewise.
1791 (fold_relational_const): Use tree_int_cst_lt.
1792 (round_up_loc): Use wide-int interfaces.
1793 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
1794 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
1795 * gengtype.c: Remove include of double-int.h.
1796 (do_typedef): Use wide-int interfaces.
1797 (open_base_files): Add wide-int.h.
1798 (main): Add offset_int and widest_int typedefs.
1799 * gengtype-lex.l: Handle "^".
1800 (CXX_KEYWORD): Add "static".
1801 * gengtype-parse.c (require3): New.
1802 (require_template_declaration): Handle constant template arguments
1803 and nested templates.
1804 * gengtype-state.c: Don't include "double-int.h".
1805 * genpreds.c (write_one_predicate_function): Update comment.
1806 (write_tm_constrs_h): Add check for hval and lval use in
1807 CONST_WIDE_INT.
1808 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
1809 (add_to_sequence): Likewise.
1810 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
1811 and const_double_operand.
1812 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
1813 interfaces.
1814 * gimple-fold.c (get_base_constructor): Likewise.
1815 (fold_array_ctor_reference): Likewise.
1816 (fold_nonarray_ctor_reference): Likewise.
1817 (fold_const_aggregate_ref_1): Likewise.
1818 (gimple_val_nonnegative_real_p): Likewise.
1819 (gimple_fold_indirect_ref): Likewise.
1820 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
1821 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
1822 (struct slsr_cand_d): Change index to be widest_int.
1823 (struct incr_info_d): Change incr to be widest_int.
1824 (alloc_cand_and_find_basis): Use wide-int interfaces.
1825 (slsr_process_phi): Likewise.
1826 (backtrace_base_for_ref): Likewise. Return a widest_int.
1827 (restructure_reference): Take a widest_int instead of a double_int.
1828 (slsr_process_ref): Use wide-int interfaces.
1829 (create_mul_ssa_cand): Likewise.
1830 (create_mul_imm_cand): Likewise.
1831 (create_add_ssa_cand): Likewise.
1832 (create_add_imm_cand): Take a widest_int instead of a double_int.
1833 (slsr_process_add): Use wide-int interfaces.
1834 (slsr_process_cast): Likewise.
1835 (slsr_process_copy): Likewise.
1836 (dump_candidate): Likewise.
1837 (dump_incr_vec): Likewise.
1838 (replace_ref): Likewise.
1839 (cand_increment): Likewise. Return a widest_int.
1840 (cand_abs_increment): Likewise.
1841 (replace_mult_candidate): Take a widest_int instead of a double_int.
1842 (replace_unconditional_candidate): Use wide-int interfaces.
1843 (incr_vec_index): Take a widest_int instead of a double_int.
1844 (create_add_on_incoming_edge): Likewise.
1845 (create_phi_basis): Use wide-int interfaces.
1846 (replace_conditional_candidate): Likewise.
1847 (record_increment): Take a widest_int instead of a double_int.
1848 (record_phi_increments): Use wide-int interfaces.
1849 (phi_incr_cost): Take a widest_int instead of a double_int.
1850 (lowest_cost_path): Likewise.
1851 (total_savings): Likewise.
1852 (analyze_increments): Use wide-int interfaces.
1853 (ncd_with_phi): Take a widest_int instead of a double_int.
1854 (ncd_of_cand_and_phis): Likewise.
1855 (nearest_common_dominator_for_cands): Likewise.
1856 (insert_initializers): Use wide-int interfaces.
1857 (all_phi_incrs_profitable): Likewise.
1858 (replace_one_candidate): Likewise.
1859 (replace_profitable_candidates): Likewise.
1860 * godump.c: Include wide-int-print.h.
1861 (go_output_typedef): Use wide-int interfaces.
1862 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
1863 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
1864 (build_loop_iteration_domains): Likewise.
1865 * hooks.h: Include wide-int.h rather than double-int.h.
1866 (hook_bool_dint_dint_uint_bool_true): Delete.
1867 (hook_bool_wint_wint_uint_bool_true): Declare.
1868 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
1869 (hook_bool_wint_wint_uint_bool_true): New.
1870 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
1871 interfaces.
1872 (ubsan_expand_si_overflow_mul_check): Likewise.
1873 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
1874 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
1875 (get_ancestor_addr_info): Likewise.
1876 (ipa_modify_call_arguments): Likewise.
1877 * loop-doloop.c (doloop_modify): Likewise.
1878 (doloop_optimize): Likewise.
1879 * loop-iv.c (iv_number_of_iterations): Likewise.
1880 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
1881 (unroll_loop_constant_iterations): Likewise.
1882 (decide_unroll_runtime_iterations): Likewise.
1883 (unroll_loop_runtime_iterations): Likewise.
1884 (decide_peel_simple): Likewise.
1885 (decide_unroll_stupid): Likewise.
1886 * lto-streamer-in.c (streamer_read_wi): Add.
1887 (input_cfg): Use wide-int interfaces.
1888 (lto_input_tree_1): Likewise.
1889 * lto-streamer-out.c (streamer_write_wi): Add.
1890 (hash_tree): Use wide-int interfaces.
1891 (output_cfg): Likewise.
1892 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
1893 (GTFILES): Add wide-int.h and signop.h.
1894 (TAGS): Look for .cc files too.
1895 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
1896 * optabs.c (expand_subword_shift): Likewise.
1897 (expand_doubleword_shift): Likewise.
1898 (expand_absneg_bit): Likewise.
1899 (expand_copysign_absneg): Likewise.
1900 (expand_copysign_bit): Likewise.
1901 * postreload.c (reload_cse_simplify_set): Likewise.
1902 * predict.c (predict_iv_comparison): Likewise.
1903 * pretty-print.h: Include wide-int-print.h.
1904 (pp_wide_int) New.
1905 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
1906 * print-tree.c: Include wide-int-print.h.
1907 (print_node_brief): Use wide-int interfaces.
1908 (print_node): Likewise.
1909 * read-rtl.c (validate_const_wide_int): New.
1910 (read_rtx_code): Add CONST_WIDE_INT case.
1911 * real.c: Include wide-int.h.
1912 (real_to_integer2): Delete.
1913 (real_to_integer): New function, returning a wide_int.
1914 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
1915 (ten_to_ptwo): Update call to real_from_integer.
1916 (real_digit): Likewise.
1917 * real.h: Include signop.h, wide-int.h and insn-modes.h.
1918 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
1919 (REAL_VALUE_TO_INT): Delete.
1920 (real_to_integer): Declare a wide-int form.
1921 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
1922 * recog.c (const_int_operand): Improve comment.
1923 (const_scalar_int_operand): New.
1924 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
1925 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
1926 (split_double): Likewise.
1927 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
1928 (rtx_size): Likewise.
1929 (rtx_alloc_stat_v): New.
1930 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
1931 (cwi_output_hex): New.
1932 (iterative_hash_rtx): Handle CONST_WIDE_INT.
1933 (cwi_check_failed_bounds): New.
1934 * rtl.def (CONST_WIDE_INT): New.
1935 * rtl.h: Include <utility> and wide-int.h.
1936 (struct hwivec_def): New.
1937 (CWI_GET_NUM_ELEM): New.
1938 (CWI_PUT_NUM_ELEM): New.
1939 (struct rtx_def): Add num_elem and hwiv.
1940 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
1941 (CASE_CONST_UNIQUE): Likewise.
1942 (CASE_CONST_ANY): Likewise.
1943 (CONST_SCALAR_INT_P): Likewise.
1944 (CONST_WIDE_INT_P): New.
1945 (CWI_ELT): New.
1946 (HWIVEC_CHECK): New.
1947 (cwi_check_failed_bounds): New.
1948 (CWI_ELT): New.
1949 (HWIVEC_CHECK): New.
1950 (CONST_WIDE_INT_VEC) New.
1951 (CONST_WIDE_INT_NUNITS) New.
1952 (CONST_WIDE_INT_ELT) New.
1953 (rtx_mode_t): New type.
1954 (wi::int_traits <rtx_mode_t>): New.
1955 (wi::shwi): New.
1956 (wi::min_value): New.
1957 (wi::max_value): New.
1958 (rtx_alloc_v) New.
1959 (const_wide_int_alloc): New.
1960 (immed_wide_int_const): New.
1961 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
1962 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
1963 * signop.h: New file.
1964 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
1965 (simplify_const_unary_operation): Use wide-int interfaces.
1966 (simplify_binary_operation_1): Likewise.
1967 (simplify_const_binary_operation): Likewise.
1968 (simplify_const_relational_operation): Likewise.
1969 (simplify_immed_subreg): Likewise.
1970 * stmt.c (expand_case): Likewise.
1971 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
1972 signop rather than a bool.
1973 * stor-layout.c (layout_type): Use wide-int interfaces.
1974 (initialize_sizetypes): Update calls to
1975 set_min_and_max_values_for_integral_type.
1976 (set_min_and_max_values_for_integral_type): Take a signop rather
1977 than a bool. Use wide-int interfaces.
1978 (fixup_signed_type): Update accordingly. Remove
1979 HOST_BITS_PER_DOUBLE_INT limit.
1980 (fixup_unsigned_type): Likewise.
1981 * system.h (STATIC_CONSTANT_P): New.
1982 (STATIC_ASSERT): New.
1983 * target.def (can_use_doloop_p): Take widest_ints rather than
1984 double_ints.
1985 * target.h: Include wide-int.h rather than double-int.h.
1986 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
1987 than double_ints.
1988 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
1989 rather than INT_CST_LT_UNSIGNED.
1990 (can_use_doloop_if_innermost): Take widest_ints rather than
1991 double_ints.
1992 * tree-affine.c: Include wide-int-print.h.
1993 (double_int_ext_for_comb): Delete.
1994 (wide_int_ext_for_comb): New.
1995 (aff_combination_zero): Use wide-int interfaces.
1996 (aff_combination_const): Take a widest_int instead of a double_int.
1997 (aff_combination_elt): Use wide-int interfaces.
1998 (aff_combination_scale): Take a widest_int instead of a double_int.
1999 (aff_combination_add_elt): Likewise.
2000 (aff_combination_add_cst): Likewise.
2001 (aff_combination_add): Use wide-int interfaces.
2002 (aff_combination_convert): Likewise.
2003 (tree_to_aff_combination): Likewise.
2004 (add_elt_to_tree): Take a widest_int instead of a double_int.
2005 (aff_combination_to_tree): Use wide-int interfaces.
2006 (aff_combination_remove_elt): Likewise.
2007 (aff_combination_add_product): Take a widest_int instead of
2008 a double_int.
2009 (aff_combination_mult): Use wide-int interfaces.
2010 (aff_combination_expand): Likewise.
2011 (double_int_constant_multiple_p): Delete.
2012 (wide_int_constant_multiple_p): New.
2013 (aff_combination_constant_multiple_p): Take a widest_int pointer
2014 instead of a double_int pointer.
2015 (print_aff): Use wide-int interfaces.
2016 (get_inner_reference_aff): Take a widest_int pointer
2017 instead of a double_int pointer.
2018 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
2019 * tree-affine.h: Include wide-int.h.
2020 (struct aff_comb_elt): Change type of coef to widest_int.
2021 (struct affine_tree_combination): Change type of offset to widest_int.
2022 (double_int_ext_for_comb): Delete.
2023 (wide_int_ext_for_comb): New.
2024 (aff_combination_const): Use widest_int instead of double_int.
2025 (aff_combination_scale): Likewise.
2026 (aff_combination_add_elt): Likewise.
2027 (aff_combination_constant_multiple_p): Likewise.
2028 (get_inner_reference_aff): Likewise.
2029 (aff_comb_cannot_overlap_p): Likewise.
2030 (aff_combination_zero_p): Use wide-int interfaces.
2031 * tree.c: Include tree.h.
2032 (init_ttree): Use make_int_cst.
2033 (tree_code_size): Removed code for INTEGER_CST case.
2034 (tree_size): Add INTEGER_CST case.
2035 (make_node_stat): Update comment.
2036 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
2037 (build_int_cst_type): Use wide-int interfaces.
2038 (double_int_to_tree): Likewise.
2039 (double_int_fits_to_tree_p): Delete.
2040 (force_fit_type_double): Delete.
2041 (force_fit_type): New.
2042 (int_cst_hash_hash): Use wide-int interfaces.
2043 (int_cst_hash_eq): Likewise.
2044 (build_int_cst_wide): Delete.
2045 (wide_int_to_tree): New.
2046 (cache_integer_cst): Use wide-int interfaces.
2047 (build_low_bits_mask): Likewise.
2048 (cst_and_fits_in_hwi): Likewise.
2049 (real_value_from_int_cst): Likewise.
2050 (make_int_cst_stat): New.
2051 (integer_zerop): Use wide_int interfaces.
2052 (integer_onep): Likewise.
2053 (integer_all_onesp): Likewise.
2054 (integer_pow2p): Likewise.
2055 (integer_nonzerop): Likewise.
2056 (tree_log2): Likewise.
2057 (tree_floor_log2): Likewise.
2058 (tree_ctz): Likewise.
2059 (int_size_in_bytes): Likewise.
2060 (mem_ref_offset): Return an offset_int rather than a double_int.
2061 (build_type_attribute_qual_variant): Use wide_int interfaces.
2062 (type_hash_eq): Likewise
2063 (tree_int_cst_equal): Likewise.
2064 (tree_int_cst_lt): Delete.
2065 (tree_int_cst_compare): Likewise.
2066 (tree_fits_shwi_p): Use wide_int interfaces.
2067 (tree_fits_uhwi_p): Likewise.
2068 (tree_int_cst_sign_bit): Likewise.
2069 (tree_int_cst_sgn): Likewise.
2070 (tree_int_cst_min_precision): Take a signop rather than a bool.
2071 (simple_cst_equal): Use wide_int interfaces.
2072 (compare_tree_int): Likewise.
2073 (iterative_hash_expr): Likewise.
2074 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
2075 INT_CST_LT.
2076 (get_type_static_bounds): Use wide_int interfaces.
2077 (tree_int_cst_elt_check_failed): New.
2078 (build_common_tree_nodes): Reordered to set prec before filling in
2079 value.
2080 (int_cst_value): Check cst_and_fits_in_hwi.
2081 (widest_int_cst_value): Use wide_int interfaces.
2082 (upper_bound_in_type): Likewise.
2083 (lower_bound_in_type): Likewise.
2084 (num_ending_zeros): Likewise.
2085 (drop_tree_overflow): Likewise.
2086 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
2087 (gen_conditions_for_pow_cst_base): Likewise.
2088 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
2089 (group_case_labels_stmt): Use wide-int interfaces.
2090 (verify_gimple_assign_binary): Likewise.
2091 (print_loop): Likewise.
2092 * tree-chrec.c (tree_fold_binomial): Likewise.
2093 * tree-core.h (struct tree_base): Add int_length.
2094 (struct tree_int_cst): Change rep of value.
2095 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
2096 (dr_may_alias_p): Likewise.
2097 (max_stmt_executions_tree): Likewise.
2098 * tree.def (INTEGER_CST): Update comment.
2099 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
2100 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
2101 * tree-dump.c: Include wide-int.h and wide-int-print.h.
2102 (dequeue_and_dump): Use wide-int interfaces.
2103 * tree.h: Include wide-int.h.
2104 (NULL_TREE): Moved to earlier loc in file.
2105 (TREE_INT_CST_ELT_CHECK): New.
2106 (tree_int_cst_elt_check_failed): New.
2107 (TYPE_SIGN): New.
2108 (TREE_INT_CST): Delete.
2109 (TREE_INT_CST_LOW): Use wide-int interfaces.
2110 (TREE_INT_CST_HIGH): Delete.
2111 (TREE_INT_CST_NUNITS): New.
2112 (TREE_INT_CST_EXT_NUNITS): Likewise.
2113 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
2114 (TREE_INT_CST_ELT): Likewise.
2115 (INT_CST_LT): Delete.
2116 (tree_int_cst_elt_check): New (two forms).
2117 (type_code_size): Update comment.
2118 (make_int_cst_stat, make_int_cst): New.
2119 (tree_to_double_int): Delete.
2120 (double_int_fits_to_tree_p): Delete.
2121 (force_fit_type_double): Delete.
2122 (build_int_cstu): Replace with out-of-line function.
2123 (build_int_cst_wide): Delete.
2124 (tree_int_cst_lt): Define inline.
2125 (tree_int_cst_le): New.
2126 (tree_int_cst_compare): Define inline.
2127 (tree_int_cst_min_precision): Take a signop rather than a bool.
2128 (wi::int_traits <const_tree>): New.
2129 (wi::int_traits <tree>): New.
2130 (wi::extended_tree): New.
2131 (wi::int_traits <wi::extended_tree>): New.
2132 (wi::to_widest): New.
2133 (wi::to_offset): New.
2134 (wi::fits_to_tree_p): New.
2135 (wi::min_value): New.
2136 (wi::max_value): New.
2137 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
2138 (copy_tree_body_r): Likewise.
2139 * tree-object-size.c (compute_object_offset): Likewise.
2140 (addr_object_size): Likewise.
2141 * tree-predcom.c: Include wide-int-print.h.
2142 (struct dref_d): Change type of offset to widest_int.
2143 (dump_dref): Call wide-int printer.
2144 (aff_combination_dr_offset): Use wide-int interfaces.
2145 (determine_offset): Take a widest_int pointer rather than a
2146 double_int pointer.
2147 (split_data_refs_to_components): Use wide-int interfaces.
2148 (suitable_component_p): Likewise.
2149 (order_drefs): Likewise.
2150 (add_ref_to_chain): Likewise.
2151 (valid_initializer_p): Likewise.
2152 (determine_roots_comp): Likewise.
2153 * tree-pretty-print.c: Include wide-int-print.h.
2154 (dump_generic_node): Use wide-int interfaces.
2155 * tree-sra.c (sra_ipa_modify_expr): Likewise.
2156 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
2157 (move_fixed_address_to_symbol): Likewise.
2158 (move_hint_to_base): Likewise.
2159 (move_pointer_to_base): Likewise.
2160 (move_variant_to_index): Likewise.
2161 (most_expensive_mult_to_index): Likewise.
2162 (addr_to_parts): Likewise.
2163 (copy_ref_info): Likewise.
2164 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
2165 (indirect_refs_may_alias_p): Likewise.
2166 (stmt_kills_ref_p_1): Likewise.
2167 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
2168 * tree-ssa-ccp.c: Update comment at top of file. Include
2169 wide-int-print.h.
2170 (struct prop_value_d): Change type of mask to widest_int.
2171 (extend_mask): New function.
2172 (dump_lattice_value): Use wide-int interfaces.
2173 (get_default_value): Likewise.
2174 (set_constant_value): Likewise.
2175 (set_value_varying): Likewise.
2176 (valid_lattice_transition): Likewise.
2177 (set_lattice_value): Likewise.
2178 (value_to_double_int): Delete.
2179 (value_to_wide_int): New.
2180 (get_value_from_alignment): Use wide-int interfaces.
2181 (get_value_for_expr): Likewise.
2182 (do_dbg_cnt): Likewise.
2183 (ccp_finalize): Likewise.
2184 (ccp_lattice_meet): Likewise.
2185 (bit_value_unop_1): Use widest_ints rather than double_ints.
2186 (bit_value_binop_1): Likewise.
2187 (bit_value_unop): Use wide-int interfaces.
2188 (bit_value_binop): Likewise.
2189 (bit_value_assume_aligned): Likewise.
2190 (evaluate_stmt): Likewise.
2191 (ccp_fold_stmt): Likewise.
2192 (visit_cond_stmt): Likewise.
2193 (ccp_visit_stmt): Likewise.
2194 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
2195 (constant_pointer_difference): Likewise.
2196 (associate_pointerplus): Likewise.
2197 (combine_conversions): Likewise.
2198 * tree-ssa-loop.h: Include wide-int.h.
2199 (struct tree_niter_desc): Change type of max to widest_int.
2200 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
2201 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
2202 (remove_redundant_iv_tests): Likewise.
2203 (canonicalize_loop_induction_variables): Likewise.
2204 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
2205 (constant_multiple_of): Take a widest_int pointer instead of
2206 a double_int pointer.
2207 (get_computation_aff): Use wide-int interfaces.
2208 (ptr_difference_cost): Likewise.
2209 (difference_cost): Likewise.
2210 (get_loop_invariant_expr_id): Likewise.
2211 (get_computation_cost_at): Likewise.
2212 (iv_elimination_compare_lt): Likewise.
2213 (may_eliminate_iv): Likewise.
2214 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
2215 instead of double_int.
2216 (max_loop_iterations): Likewise.
2217 (max_stmt_executions): Likewise.
2218 (estimated_stmt_executions): Likewise.
2219 * tree-ssa-loop-niter.c: Include wide-int-print.h.
2220 (split_to_var_and_offset): Use wide-int interfaces.
2221 (determine_value_range): Likewise.
2222 (bound_difference_of_offsetted_base): Likewise.
2223 (bounds_add): Take a widest_int instead of a double_int.
2224 (number_of_iterations_ne_max): Use wide-int interfaces.
2225 (number_of_iterations_ne): Likewise.
2226 (number_of_iterations_lt_to_ne): Likewise.
2227 (assert_loop_rolls_lt): Likewise.
2228 (number_of_iterations_lt): Likewise.
2229 (number_of_iterations_le): Likewise.
2230 (number_of_iterations_cond): Likewise.
2231 (number_of_iterations_exit): Likewise.
2232 (finite_loop_p): Likewise.
2233 (derive_constant_upper_bound_assign): Likewise.
2234 (derive_constant_upper_bound): Return a widest_int.
2235 (derive_constant_upper_bound_ops): Likewise.
2236 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
2237 (record_estimate): Take a widest_int rather than a double_int.
2238 (record_nonwrapping_iv): Use wide-int interfaces.
2239 (double_int_cmp): Delete.
2240 (wide_int_cmp): New.
2241 (bound_index): Take a widest_int rather than a double_int.
2242 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
2243 (maybe_lower_iteration_bound): Likewise.
2244 (estimate_numbers_of_iterations_loop): Likewise.
2245 (estimated_loop_iterations): Take a widest_int pointer than than
2246 a double_int pointer.
2247 (estimated_loop_iterations_int): Use wide-int interfaces.
2248 (max_loop_iterations): Take a widest_int pointer than than
2249 a double_int pointer.
2250 (max_loop_iterations_int): Use wide-int interfaces.
2251 (max_stmt_executions): Take a widest_int pointer than than
2252 a double_int pointer.
2253 (estimated_stmt_executions): Likewise.
2254 (n_of_executions_at_most): Use wide-int interfaces.
2255 (scev_probably_wraps_p): Likewise.
2256 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
2257 to real_to_integer.
2258 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
2259 interfaces.
2260 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
2261 double_ints. Adjust for trailing_wide_ints <3> representation.
2262 (set_nonzero_bits): Likewise.
2263 (get_range_info): Return wide_ints rather than double_ints.
2264 Adjust for trailing_wide_ints <3> representation.
2265 (get_nonzero_bits): Likewise.
2266 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
2267 representation.
2268 * tree-ssanames.h (struct range_info_def): Replace min, max and
2269 nonzero_bits with a trailing_wide_ints <3>.
2270 (set_range_info): Use wide_int_refs rather than double_ints.
2271 (set_nonzero_bits): Likewise.
2272 (get_range_info): Return wide_ints rather than double_ints.
2273 (get_nonzero_bits): Likewise.
2274 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
2275 * tree-ssa-pre.c (phi_translate_1): Likewise.
2276 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
2277 (acceptable_pow_call): Likewise.
2278 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
2279 interfaces.
2280 (vn_reference_fold_indirect): Likewise.
2281 (vn_reference_maybe_forwprop_address): Likewise.
2282 (valueize_refs_1): Likewise.
2283 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
2284 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
2285 tree_int_cst_lt and tree_int_cst_le.
2286 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
2287 interfaces.
2288 (streamer_alloc_tree): Likewise.
2289 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
2290 (streamer_write_tree_header): Likewise.
2291 (streamer_write_integer_cst): Likewise.
2292 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
2293 (build_constructors): Likewise.
2294 (array_value_type): Likewise.
2295 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
2296 (vect_check_gather): Likewise.
2297 * tree-vect-generic.c (build_replicated_const): Likewise.
2298 (expand_vector_divmod): Likewise.
2299 * tree-vect-loop.c (vect_transform_loop): Likewise.
2300 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
2301 (vect_do_peeling_for_alignment): Likewise.
2302 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
2303 * tree-vrp.c: Include wide-int.h.
2304 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
2305 (extract_range_from_assert): Use wide-int interfaces.
2306 (vrp_int_const_binop): Likewise.
2307 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
2308 double_int pointers.
2309 (ranges_from_anti_range): Use wide-int interfaces.
2310 (quad_int_cmp): Delete.
2311 (quad_int_pair_sort): Likewise.
2312 (extract_range_from_binary_expr_1): Use wide-int interfaces.
2313 (extract_range_from_unary_expr_1): Likewise.
2314 (adjust_range_with_scev): Likewise.
2315 (masked_increment): Take and return wide_ints rather than double_ints.
2316 (register_edge_assert_for_2): Use wide-int interfaces.
2317 (check_array_ref): Likewise.
2318 (search_for_addr_array): Likewise.
2319 (maybe_set_nonzero_bits): Likewise.
2320 (union_ranges): Pass an integer of the correct type instead of
2321 using integer_one_node.
2322 (intersect_ranges): Likewise.
2323 (simplify_truth_ops_using_ranges): Likewise.
2324 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
2325 (range_fits_type_p): Likewise.
2326 (simplify_cond_using_ranges): Likewise. Take a signop rather than
2327 a bool.
2328 (simplify_conversion_using_ranges): Use wide-int interfaces.
2329 (simplify_float_conversion_using_ranges): Likewise.
2330 (vrp_finalize): Likewise.
2331 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
2332 (gimple_stringops_transform): Likewise.
2333 * varasm.c (decode_addr_const): Likewise.
2334 (const_hash_1): Likewise.
2335 (const_rtx_hash_1): Likewise
2336 (output_constant): Likewise.
2337 (array_size_for_constructor): Likewise.
2338 (output_constructor_regular_field): Likewise.
2339 (output_constructor_bitfield): Likewise.
2340 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
2341 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
2342 GENERATOR_FILEs.
2343 * gencheck.c: Define BITS_PER_UNIT.
2344 * wide-int.cc: New.
2345 * wide-int.h: New.
2346 * wide-int-print.cc: New.
2347 * wide-int-print.h: New.
2348
2349 2014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2350
2351 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
2352
2353 2014-05-06 Richard Biener <rguenther@suse.de>
2354
2355 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
2356 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
2357 (TODO_verify_all): Adjust.
2358 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
2359 TODO_verify_stmts and TODO_verify_rtl_sharing.
2360 * bb-reorder.c: Likewise.
2361 * cfgexpand.c: Likewise.
2362 * cprop.c: Likewise.
2363 * cse.c: Likewise.
2364 * function.c: Likewise.
2365 * fwprop.c: Likewise.
2366 * gcse.c: Likewise.
2367 * gimple-ssa-isolate-paths.c: Likewise.
2368 * gimple-ssa-strength-reduction.c: Likewise.
2369 * ipa-split.c: Likewise.
2370 * loop-init.c: Likewise.
2371 * loop-unroll.c: Likewise.
2372 * lower-subreg.c: Likewise.
2373 * modulo-sched.c: Likewise.
2374 * postreload-gcse.c: Likewise.
2375 * predict.c: Likewise.
2376 * recog.c: Likewise.
2377 * sched-rgn.c: Likewise.
2378 * store-motion.c: Likewise.
2379 * tracer.c: Likewise.
2380 * trans-mem.c: Likewise.
2381 * tree-call-cdce.c: Likewise.
2382 * tree-cfg.c: Likewise.
2383 * tree-cfgcleanup.c: Likewise.
2384 * tree-complex.c: Likewise.
2385 * tree-eh.c: Likewise.
2386 * tree-emutls.c: Likewise.
2387 * tree-if-conv.c: Likewise.
2388 * tree-into-ssa.c: Likewise.
2389 * tree-loop-distribution.c: Likewise.
2390 * tree-object-size.c: Likewise.
2391 * tree-parloops.c: Likewise.
2392 * tree-pass.h: Likewise.
2393 * tree-sra.c: Likewise.
2394 * tree-ssa-ccp.c: Likewise.
2395 * tree-ssa-copy.c: Likewise.
2396 * tree-ssa-copyrename.c: Likewise.
2397 * tree-ssa-dce.c: Likewise.
2398 * tree-ssa-dom.c: Likewise.
2399 * tree-ssa-dse.c: Likewise.
2400 * tree-ssa-forwprop.c: Likewise.
2401 * tree-ssa-ifcombine.c: Likewise.
2402 * tree-ssa-loop-ch.c: Likewise.
2403 * tree-ssa-loop-ivcanon.c: Likewise.
2404 * tree-ssa-loop.c: Likewise.
2405 * tree-ssa-math-opts.c: Likewise.
2406 * tree-ssa-phiopt.c: Likewise.
2407 * tree-ssa-phiprop.c: Likewise.
2408 * tree-ssa-pre.c: Likewise.
2409 * tree-ssa-reassoc.c: Likewise.
2410 * tree-ssa-sink.c: Likewise.
2411 * tree-ssa-strlen.c: Likewise.
2412 * tree-ssa-tail-merge.c: Likewise.
2413 * tree-ssa-uncprop.c: Likewise.
2414 * tree-switch-conversion.c: Likewise.
2415 * tree-tailcall.c: Likewise.
2416 * tree-vect-generic.c: Likewise.
2417 * tree-vectorizer.c: Likewise.
2418 * tree-vrp.c: Likewise.
2419 * tsan.c: Likewise.
2420 * var-tracking.c: Likewise.
2421 * bt-load.c: Likewise.
2422 * cfgcleanup.c: Likewise.
2423 * combine-stack-adj.c: Likewise.
2424 * combine.c: Likewise.
2425 * compare-elim.c: Likewise.
2426 * config/epiphany/resolve-sw-modes.c: Likewise.
2427 * config/i386/i386.c: Likewise.
2428 * config/mips/mips.c: Likewise.
2429 * config/s390/s390.c: Likewise.
2430 * config/sh/sh_treg_combine.cc: Likewise.
2431 * config/sparc/sparc.c: Likewise.
2432 * dce.c: Likewise.
2433 * dse.c: Likewise.
2434 * final.c: Likewise.
2435 * ifcvt.c: Likewise.
2436 * mode-switching.c: Likewise.
2437 * passes.c: Likewise.
2438 * postreload.c: Likewise.
2439 * ree.c: Likewise.
2440 * reg-stack.c: Likewise.
2441 * regcprop.c: Likewise.
2442 * regrename.c: Likewise.
2443 * web.c: Likewise.
2444
2445 2014-05-06 Richard Biener <rguenther@suse.de>
2446
2447 PR middle-end/61070
2448 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
2449 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
2450
2451 2014-05-05 Jan Hubicka <hubicka@ucw.cz>
2452
2453 PR ipa/60965
2454 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
2455
2456 2014-05-05 Radovan Obradovic <robradovic@mips.com>
2457 Tom de Vries <tom@codesourcery.com>
2458
2459 * target.def (call_fusage_contains_non_callee_clobbers): New
2460 DEFHOOKPOD.
2461 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
2462 Hooks to @menu.
2463 (@node Miscellaneous Register Hooks): New node.
2464 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
2465 * doc/tm.texi: Regenerate.
2466
2467 2014-05-05 Marek Polacek <polacek@redhat.com>
2468
2469 PR driver/61065
2470 * opts.c (common_handle_option): Call error_at instead of warning_at.
2471
2472 2014-05-05 Richard Biener <rguenther@suse.de>
2473
2474 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
2475 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
2476 under the TODO_verify_il umbrella.
2477
2478 2014-05-05 Richard Biener <rguenther@suse.de>
2479
2480 * passes.c (execute_function_todo): Move TODO_verify_flow under
2481 the TODO_verify_ul umbrella.
2482
2483 2014-05-05 Richard Biener <rguenther@suse.de>
2484
2485 PR middle-end/61010
2486 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
2487 X & CST away from a CST that is the mask of a mode.
2488
2489 2014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2490
2491 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
2492 int argument to enum machine_mode.
2493 (picochip_class_max_nregs): Ditto.
2494 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
2495 (picochip_class_max_nregs): Ditto.
2496
2497 2014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2498
2499 * target.def: Add new target hook.
2500 * doc/tm.texi: Regenerate.
2501 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
2502 * targhooks.c (default_keep_leaf_when_profiled): New function.
2503
2504 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
2505 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
2506
2507 2014-05-05 Bin Cheng <bin.cheng@arm.com>
2508
2509 PR tree-optimization/60363
2510 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
2511 (copy_phi_args): New parameters. Call get_value_locus_in_path.
2512 (update_destination_phis): New parameter.
2513 (create_edge_and_update_destination_phis): Ditto.
2514 (ssa_fix_duplicate_block_edges): Pass new arguments.
2515 (thread_single_edge): Ditto.
2516
2517 2014-05-04 Peter Bergner <bergner@vnet.ibm.com>
2518
2519 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
2520 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
2521 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
2522 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
2523 Use RS6000_BTM_HARD_FLOAT.
2524 (BU_MISC_2): Likewise.
2525 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
2526 RS6000_BTM_HARD_FLOAT.
2527 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
2528 is explicitly used.
2529 (rs6000_invalid_builtin): Add hard floating builtin support.
2530 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
2531 hard float builtins.
2532 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
2533
2534 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2535
2536 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
2537 Add missing function* argument.
2538
2539 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
2540
2541 * lra-constraints.c (valid_address_p): Move earlier in file.
2542 Add a constraint argument to the address_info version.
2543 (satisfies_memory_constraint_p): New function.
2544 (satisfies_address_constraint_p): Likewise.
2545 (process_alt_operands, curr_insn_transform): Use them.
2546 (process_address): Pass the constraint to valid_address_p when
2547 checking address operands.
2548
2549 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
2550
2551 * config/mips/mips.c (mips_isa_rev): New variable.
2552 (mips_set_architecture): Set it.
2553 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
2554 from mips_isa_rev.
2555 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
2556 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
2557 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
2558 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
2559 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
2560 conditions in terms of mips_isa_rev.
2561 (mips_isa_rev): Declare.
2562
2563 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2564
2565 * config/sh/sh-mem.cc: Use tabs instead of spaces.
2566 (prob_unlikely, prob_likely): Make variables const.
2567
2568 2014-05-03 Denis Chertykov <chertykov@gmail.com>
2569
2570 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
2571
2572 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2573
2574 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
2575
2576 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2577
2578 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
2579 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
2580 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
2581 functions.
2582 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
2583 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
2584 sh_pass_in_reg_p.
2585 Replace usage of ROUND_REG with sh_round_reg.
2586 Use CEIL instead of ROUND_ADVANCE.
2587
2588 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2589
2590 PR target/61026
2591 * config/sh/sh.c: Include stdlib headers before everything else.
2592
2593 2014-05-02 Jakub Jelinek <jakub@redhat.com>
2594
2595 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
2596 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
2597 (gimplify_adjust_omp_clauses): Simd region is never
2598 directly nested in combined parallel. Instead, for linear
2599 with copyin/copyout, if in combined for simd loop, make decl
2600 firstprivate/lastprivate on OMP_FOR.
2601 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
2602 expand_omp_for_static_chunk): When setting endvar, also set
2603 fd->loop.v to the same value.
2604
2605 2014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2606
2607 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
2608
2609 2014-05-02 Alan Lawrence <alan.lawrence@arm.com>
2610
2611 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
2612 expression.
2613
2614 2014-05-02 Marek Polacek <polacek@redhat.com>
2615
2616 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
2617
2618 2014-05-02 Kito Cheng <kito@0xlab.org>
2619
2620 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
2621 to a C expression marco.
2622 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
2623 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
2624 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
2625 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
2626 HONOR_REG_ALLOC_ORDER.
2627 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
2628
2629 2014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2630
2631 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
2632
2633 2014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2634
2635 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
2636
2637 2014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
2638
2639 * tree-if-conv.c (is_cond_scalar_reduction): New function.
2640 (convert_scalar_cond_reduction): Likewise.
2641 (predicate_scalar_phi): Add recognition and transformation
2642 of simple conditioanl reduction to be vectorizable.
2643
2644 2014-05-01 Marek Polacek <polacek@redhat.com>
2645
2646 PR c/43245
2647 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
2648
2649 2014-04-30 Alan Lawrence <alan.lawrence@arm.com>
2650
2651 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
2652 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
2653 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
2654 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
2655 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
2656 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
2657 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
2658 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
2659
2660 2014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
2661
2662 * config/arc/arc.opt (mlra): Move comment above option name
2663 to avoid mis-parsing as language options.
2664
2665 2014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2666
2667 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
2668 * config/sol2.h: ... here.
2669 * config/sol2-10.h: Remove.
2670
2671 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
2672 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
2673 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
2674 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
2675 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
2676 * config/sol2.h: ... here.
2677 (SECTION_NAME_FORMAT): Don't redefine.
2678 (STARTFILE_ARCH32_SPEC): Rename to ...
2679 (STARTFILE_ARCH_SPEC): ... this.
2680 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
2681 * config/sparc/sol2.h: ... here.
2682 (SECTION_NAME_FORMAT): Don't undef.
2683 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
2684 (SUBTARGET_EXTRA_SPECS): Remove.
2685 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
2686
2687 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
2688 (MD_STARTFILE_PREFIX): Remove.
2689 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
2690 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
2691 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
2692 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
2693 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
2694 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
2695 * config/i386/sol2.h: ... here.
2696 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
2697 * config/i386/sol2-bi.h: Remove.
2698 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
2699 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
2700
2701 * config/i386/t-sol2-64: Rename to ...
2702 * config/i386/t-sol2: ... this.
2703 * config/sparc/t-sol2-64: Rename to ...
2704 * config/sparc/t-sol2: ... this.
2705
2706 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
2707 sol2_tm_file_head, sol2_tm_file_tail.
2708 Include ${cpu_type}/sol2.h before sol2.h.
2709 Remove sol2-10.h.
2710 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
2711 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
2712 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
2713 Reflect i386/t-sol2-64 renaming.
2714 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
2715 Reflect sparc/t-sol2-64 renaming.
2716
2717 2014-04-30 Richard Biener <rguenther@suse.de>
2718
2719 * passes.c (execute_function_todo): Move TODO_verify_stmts
2720 and TODO_verify_ssa under the TODO_verify_il umbrella.
2721 * tree-ssa.h (verify_ssa): Adjust prototype.
2722 * tree-ssa.c (verify_ssa): Add parameter to tell whether
2723 we should verify SSA operands.
2724 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
2725 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
2726 whether we should verify whether not throwing stmts have EH info.
2727 * graphite-scop-detection.c (create_sese_edges): Adjust.
2728 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
2729 * tree-eh.c (lower_try_finally_switch): Do not add the
2730 default case label twice.
2731
2732 2014-04-30 Marek Polacek <polacek@redhat.com>
2733
2734 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
2735 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
2736 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
2737 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
2738
2739 2014-04-29 Alan Lawrence <alan.lawrence@arm.com>
2740
2741 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
2742 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
2743 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
2744 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
2745 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
2746 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
2747 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
2748 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
2749
2750 2014-04-29 David Malcolm <dmalcolm@redhat.com>
2751
2752 * tree-cfg.c (dump_function_to_file): Dump the return type of
2753 functions, in a line to itself before the function body, mimicking
2754 the layout of a C function.
2755
2756 2014-04-29 Jakub Jelinek <jakub@redhat.com>
2757
2758 PR tree-optimization/60971
2759 * tree-tailcall.c (process_assignment): Reject conversions which
2760 reduce precision.
2761
2762 2014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
2763
2764 * calls.c (initialize_argument_information): Always treat
2765 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
2766 (expand_call): Likewise.
2767 (emit_library_call_calue_1): Likewise.
2768 * expr.c (PUSH_ARGS_REVERSED): Do not define.
2769 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
2770 code accordingly.
2771
2772 2014-04-29 Nick Clifton <nickc@redhat.com>
2773
2774 * config/msp430/msp430.md (umulsidi): Fix typo.
2775 (mulhisi3): Enable even inside interrupt handlers.
2776 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
2777 bigger return address pushed in large mode.
2778
2779 2014-04-29 Nick Clifton <nickc@redhat.com>
2780
2781 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
2782 (arc_init_reg_tables): Use a machine_mode enum to iterate over
2783 available modes.
2784 * config/m32r/m32r.c (init_reg_tables): Likewise.
2785 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
2786 enum to hold the modes.
2787
2788 2014-04-29 Richard Biener <rguenther@suse.de>
2789
2790 * dominance.c (free_dominance_info): Add overload with
2791 function parameter.
2792 (dom_info_state): Likewise.
2793 (dom_info_available_p): Likewise.
2794 * basic-block.h (free_dominance_info, dom_info_state,
2795 dom_info_available_p): Declare overloads.
2796 * passes.c (execute_function_todo): Verify that verifiers
2797 don't change dominator info state. Drop dominator info
2798 for IPA pass invocations.
2799 * cgraph.c (release_function_body): Restore asserts that
2800 dominator information is released.
2801
2802 2014-04-29 Patrick Palka <patrick@parcs.ath.cx>
2803
2804 * doc/invoke.texi: Fix typo.
2805 * tree-vrp.c: Fix typos.
2806 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
2807
2808 2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2809
2810 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
2811
2812 2014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
2813
2814 * config/aarch64/aarch64-builtins.c
2815 (aarch64_types_storestruct_lane_qualifiers): New.
2816 (TYPES_STORESTRUCT_LANE): Likewise.
2817 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
2818 (st3_lane): Likewise.
2819 (st4_lane): Likewise.
2820 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
2821 (vec_store_lanesci_lane<mode>): Likewise.
2822 (vec_store_lanesxi_lane<mode>): Likewise.
2823 (aarch64_st2_lane<VQ:mode>): Likewise.
2824 (aarch64_st3_lane<VQ:mode>): Likewise.
2825 (aarch64_st4_lane<VQ:mode>): Likewise.
2826 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
2827 * config/aarch64/arm_neon.h
2828 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
2829 use new macro arguments.
2830 (__ST3_LANE_FUNC): Likewise.
2831 (__ST4_LANE_FUNC): Likewise.
2832 * config/aarch64/iterators.md (V_TWO_ELEM): New.
2833 (V_THREE_ELEM): Likewise.
2834 (V_FOUR_ELEM): Likewise.
2835
2836 2014-04-28 David Malcolm <dmalcolm@redhat.com>
2837
2838 * doc/gimple.texi: Replace the description of the now-defunct
2839 union gimple_statement_d with a diagram showing the
2840 gimple_statement_base class hierarchy and its relationships to
2841 the GSS_ and GIMPLE_ enums.
2842
2843 2014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
2844
2845 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
2846 * config/aarch64/aarch64.c
2847 (aarch64_cannot_change_mode_class): Weaken conditions.
2848 (aarch64_modes_tieable_p): New.
2849 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
2850
2851 2014-04-28 Pat Haugen <pthaugen@us.ibm.com>
2852
2853 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
2854 (loadsync_<mode>): Change mode.
2855 (load_quadpti, store_quadpti): New.
2856 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
2857 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
2858
2859 2014-04-28 Martin Jambor <mjambor@suse.cz>
2860
2861 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
2862 same alias type as the original statement.
2863 (subreplacement_assignment_data): New type.
2864 (handle_unscalarized_data_in_subtree): New type of parameter,
2865 generate new memory accesses with same alias type as the original
2866 statement.
2867 (load_assign_lhs_subreplacements): Likewise.
2868 (sra_modify_constructor_assign): Generate new memory accesses with
2869 same alias type as the original statement.
2870
2871 2014-04-28 Richard Biener <rguenther@suse.de>
2872
2873 * tree-pass.h (TODO_verify_il): Define.
2874 (TODO_verify_all): Complete properly.
2875 * passes.c (execute_function_todo): Move existing loop-closed
2876 SSA verification under TODO_verify_il.
2877 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
2878 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
2879 Fix tree sharing issue.
2880
2881 2014-04-28 Richard Biener <rguenther@suse.de>
2882
2883 PR middle-end/60092
2884 * builtins.def (DEF_C11_BUILTIN): Add.
2885 (BUILT_IN_ALIGNED_ALLOC): Likewise.
2886 * coretypes.h (enum function_class): Add function_c11_misc.
2887 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
2888 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
2889 (call_may_clobber_ref_p_1): Likewise.
2890 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
2891 (mark_all_reaching_defs_necessary_1): Likewise.
2892 (propagate_necessity): Likewise.
2893 (eliminate_unnecessary_stmts): Likewise.
2894 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
2895
2896 2014-04-28 Richard Biener <rguenther@suse.de>
2897
2898 * tree-vrp.c (vrp_var_may_overflow): Remove.
2899 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
2900 with overflow immediately bump to one before that value and
2901 let iteration figure out overflow status.
2902
2903 2014-04-28 Richard Biener <rguenther@suse.de>
2904
2905 * configure.ac: Do valgrind header checks unconditionally.
2906 Add --enable-valgrind-annotations.
2907 * system.h: Guard valgrind header inclusion with
2908 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
2909 * alloc-pool.c (pool_alloc, pool_free): Use
2910 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
2911 to guard possibly dead code.
2912 * config.in: Regenerated.
2913 * configure: Likewise.
2914
2915 2014-04-28 Jeff Law <law@redhat.com>
2916
2917 PR tree-optimization/60902
2918 * tree-ssa-threadedge.c
2919 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
2920 over real defs when invalidating outputs from statements that do not
2921 produce useful outputs for threading.
2922
2923 2014-04-28 Richard Biener <rguenther@suse.de>
2924
2925 PR tree-optimization/60979
2926 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
2927 SCOPs that end in a block with a successor with abnormal
2928 predecessors.
2929
2930 2014-04-28 Richard Biener <rguenther@suse.de>
2931
2932 * tree-pass.h (execute_pass_list): Adjust prototype.
2933 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2934 (do_per_function): Change callback signature, push all actual
2935 work to the callbals.
2936 (do_per_function_toporder): Likewise.
2937 (execute_function_dump): Adjust.
2938 (execute_function_todo): Likewise.
2939 (clear_last_verified): Likewise.
2940 (verify_curr_properties): Likewise.
2941 (update_properties_after_pass): Likewise.
2942 (execute_pass_list_1): Split out from ...
2943 (execute_pass_list): ... here. Adjust.
2944 (execute_ipa_pass_list): Likewise.
2945 * cgraphunit.c (cgraph_add_new_function): Adjust.
2946 (analyze_function): Likewise.
2947 (expand_function): Likewise.
2948 * cgraph.c (release_function_body): Free dominance info
2949 here instead of asserting it was magically freed elsewhere.
2950
2951 2014-04-28 Eric Botcazou <ebotcazou@adacore.com>
2952
2953 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
2954 * configure: Regenerate.
2955 * config/sparc/sparc.opt (muser-mode): New option.
2956 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
2957 for LEON3.
2958 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
2959 * doc/invoke.texi (SPARC options): Document -muser-mode.
2960
2961 2014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
2962
2963 * cselib.c (find_slot_memmode): Delete.
2964 (cselib_hasher): Change compare_type to a struct.
2965 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
2966 constants.
2967 (preserve_constants_and_equivs): Adjust for new compare_type.
2968 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
2969 (wrap_constant): Delete.
2970 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
2971
2972 2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
2973
2974 * doc/install.texi (Building with profile feedback): Remove
2975 outdated sentence.
2976
2977 2014-04-26 Tom de Vries <tom@codesourcery.com>
2978
2979 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
2980 array accesses.
2981
2982 2014-04-25 Cary Coutant <ccoutant@google.com>
2983
2984 PR debug/60929
2985 * dwarf2out.c (should_move_die_to_comdat): A type definition
2986 can contain a subprogram definition, but don't move it to a
2987 comdat unit.
2988 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
2989 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
2990 from original DIE.
2991 (clone_tree_hash): Rename to...
2992 (clone_tree_partial): ...this; change callers. Copy
2993 DW_TAG_subprogram DIEs as declarations.
2994 (copy_decls_walk): Don't copy children of a declaration into a
2995 type unit.
2996
2997 2014-04-25 H.J. Lu <hongjiu.lu@intel.com>
2998
2999 PR target/60969
3000 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
3001 alternative 12.
3002
3003 2014-04-25 Jiong Wang <jiong.wang@arm.com>
3004
3005 * config/arm/predicates.md (call_insn_operand): Add long_call check.
3006 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
3007 reg for long_call.
3008 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
3009 restriction.
3010
3011 2014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3012
3013 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
3014
3015 2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3016
3017 PR tree-optimization/60930
3018 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
3019 creating a multiply candidate by folding two constant
3020 multiplicands when the result overflows.
3021
3022 2014-04-25 Jakub Jelinek <jakub@redhat.com>
3023
3024 PR tree-optimization/60960
3025 * tree-vect-generic.c (expand_vector_operation): Only call
3026 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
3027
3028 2014-04-25 Tom de Vries <tom@codesourcery.com>
3029
3030 * expr.c (clobber_reg_mode): New function.
3031 * expr.h (clobber_reg): New function.
3032
3033 2014-04-25 Tom de Vries <tom@codesourcery.com>
3034
3035 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
3036 clobbers.
3037
3038 2014-04-25 Radovan Obradovic <robradovic@mips.com>
3039 Tom de Vries <tom@codesourcery.com>
3040
3041 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
3042 handle.
3043 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
3044 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
3045 new argument to find_all_hard_reg_sets call.
3046
3047 2014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3048
3049 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
3050 Use HOST_WIDE_INT_C for mask literal.
3051 (aarch_rev16_shleft_mask_imm_p): Likewise.
3052
3053 2014-04-25 Eric Botcazou <ebotcazou@adacore.com>
3054
3055 PR target/60941
3056 * config/sparc/sparc.md (ashlsi3_extend): Delete.
3057
3058 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
3059
3060 PR preprocessor/56540
3061 * config/i386/i386-c.c (ix86_target_macros): Define
3062 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
3063
3064 2014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3065
3066 * configure.ac (tga_func): Remove.
3067 (LIB_TLS_SPEC): Remove.
3068 * configure: Regenerate.
3069 * config.in: Regenerate.
3070 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
3071
3072 2014-04-25 Richard Biener <rguenther@suse.de>
3073
3074 PR ipa/60912
3075 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
3076 call stmt use/clobber sets during stmt walk instead of
3077 walking the possibly incomplete set of caller edges.
3078
3079 2014-04-25 Richard Biener <rguenther@suse.de>
3080
3081 PR ipa/60911
3082 * passes.c (apply_ipa_transforms): Inline into only caller ...
3083 (execute_one_pass): ... here. Properly bring in function
3084 bodies for nodes we want to apply IPA transforms to.
3085
3086 2014-04-24 Cong Hou <congh@google.com>
3087
3088 PR tree-optimization/60896
3089 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
3090 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
3091 (vect_mark_pattern_stmts): Set the def type of all statements in
3092 PATTERN_DEF_SEQ as vect_internal_def.
3093
3094 2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
3095
3096 * doc/extend.texi (PowerPC Built-in Functions): Document new
3097 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
3098 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
3099
3100 * config/rs6000/predicates.md (const_0_to_3_operand): New
3101 predicate to match 0..3 integer constants.
3102
3103 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
3104 to support adding miscellaneous builtin functions.
3105 (BU_DFP_MISC_2): Likewise.
3106 (BU_P7_MISC_1): Likewise.
3107 (BU_P7_MISC_2): Likewise.
3108 (BU_P8V_MISC_3): Likewise.
3109 (BU_MISC_1): Likewise.
3110 (BU_MISC_2): Likewise.
3111 (DIVWE): Add extended divide builtin functions.
3112 (DIVWEO): Likewise.
3113 (DIVWEU): Likewise.
3114 (DIVWEUO): Likewise.
3115 (DIVDE): Likewise.
3116 (DIVDEO): Likewise.
3117 (DIVDEU): Likewise.
3118 (DIVDEUO): Likewise.
3119 (DXEX): Add decimal floating-point builtin functions.
3120 (DXEXQ): Likewise.
3121 (DDEDPD): Likewise.
3122 (DDEDPDQ): Likewise.
3123 (DENBCD): Likewise.
3124 (DENBCDQ): Likewise.
3125 (DIEX): Likewise.
3126 (DIEXQ): Likewise.
3127 (DSCLI): Likewise.
3128 (DSCLIQ): Likewise.
3129 (DSCRI): Likewise.
3130 (DSCRIQ): Likewise.
3131 (CDTBCD): Add new BCD builtin functions.
3132 (CBCDTD): Likewise.
3133 (ADDG6S): Likewise.
3134 (BCDADD): Likewise.
3135 (BCDADD_LT): Likewise.
3136 (BCDADD_EQ): Likewise.
3137 (BCDADD_GT): Likewise.
3138 (BCDADD_OV): Likewise.
3139 (BCDSUB): Likewise.
3140 (BCDSUB_LT): Likewise.
3141 (BCDSUB_EQ): Likewise.
3142 (BCDSUB_GT): Likewise.
3143 (BCDSUB_OV): Likewise.
3144 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
3145 (UNPACK_TD): Likewise.
3146 (PACK_TF): Likewise.
3147 (UNPACK_TF): Likewise.
3148 (UNPACK_TF_0): Likewise.
3149 (UNPACK_TF_1): Likewise.
3150 (PACK_V1TI): Likewise.
3151 (UNPACK_V1TI): Likewise.
3152
3153 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
3154 support for decimal floating point builtin functions.
3155 (rs6000_expand_ternop_builtin): Add checks for the new builtin
3156 functions that take constant arguments.
3157 (rs6000_invalid_builtin): Add decimal floating point builtin support.
3158 (rs6000_init_builtins): Setup long double, _Decimal64, and
3159 _Decimal128 types for new builtin functions.
3160 (builtin_function_type): Set the unsigned flags appropriately for
3161 the new builtin functions.
3162 (rs6000_opt_masks): Add support for decimal floating point builtin
3163 functions.
3164
3165 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
3166 floating point builtin functions.
3167 (RS6000_BTM_COMMON): Likewise.
3168 (RS6000_BTI_long_double): Likewise.
3169 (RS6000_BTI_dfloat64): Likewise.
3170 (RS6000_BTI_dfloat128): Likewise.
3171 (long_double_type_internal_node): Likewise.
3172 (dfloat64_type_internal_node): Likewise.
3173 (dfloat128_type_internal_node): Likewise.
3174
3175 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
3176 2.07 bcd arithmetic instructions.
3177 (UNSPEC_BCDSUB): Likewise.
3178 (UNSPEC_BCD_OVERFLOW): Likewise.
3179 (UNSPEC_BCD_ADD_SUB): Likewise.
3180 (bcd_add_sub): Likewise.
3181 (BCD_TEST): Likewise.
3182 (bcd<bcd_add_sub>): Likewise.
3183 (bcd<bcd_add_sub>_test): Likewise.
3184 (bcd<bcd_add_sub>_test2): Likewise.
3185 (bcd<bcd_add_sub>_<code>): Likewise.
3186 (peephole2 for combined bcd ops): Likewise.
3187
3188 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
3189 decimal floating point builtin functions.
3190 (UNSPEC_DENBCD): Likewise.
3191 (UNSPEC_DXEX): Likewise.
3192 (UNSPEC_DIEX): Likewise.
3193 (UNSPEC_DSCLI): Likewise.
3194 (UNSPEC_DSCRI): Likewise.
3195 (D64_D128): Likewise.
3196 (dfp_suffix): Likewise.
3197 (dfp_ddedpd_<mode>): Likewise.
3198 (dfp_denbcd_<mode>): Likewise.
3199 (dfp_dxex_<mode>): Likewise.
3200 (dfp_diex_<mode>): Likewise.
3201 (dfp_dscli_<mode>): Likewise.
3202 (dfp_dscri_<mode>): Likewise.
3203
3204 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
3205 builtin functions.
3206 (UNSPEC_CDTBCD): Likewise.
3207 (UNSPEC_CBCDTD): Likewise.
3208 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
3209 (UNSPEC_DIVEO): Likewise.
3210 (UNSPEC_DIVEU): Likewise.
3211 (UNSPEC_DIVEUO): Likewise.
3212 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
3213 pack/unpack 128-bit types.
3214 (UNSPEC_PACK_128BIT): Likewise.
3215 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
3216 (udiv<mode>3): Use idiv_ldiv mode attribute.
3217 (div<mode>3): Likewise.
3218 (addg6s): Add new BCD builtin functions.
3219 (cdtbcd): Likewise.
3220 (cbcdtd): Likewise.
3221 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
3222 (div_extend): Likewise.
3223 (div<div_extend>_<mode>"): Likewise.
3224 (FP128_64): Add support for new builtin functions to pack/unpack
3225 128-bit types.
3226 (unpack<mode>): Likewise.
3227 (unpacktf_0): Likewise.
3228 (unpacktf_1): Likewise.
3229 (unpack<mode>_dm): Likewise.
3230 (unpack<mode>_nodm): Likewise.
3231 (pack<mode>): Likewise.
3232 (unpackv1ti): Likewise.
3233 (packv1ti): Likewise.
3234
3235 2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
3236
3237 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
3238 is disabled.
3239
3240 2014-04-24 Jakub Jelinek <jakub@redhat.com>
3241
3242 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
3243 * gimplify.c (omp_is_private): Change last argument's type to int.
3244 Only diagnose lastprivate if the simd argument is 1, only diagnose
3245 linear if the simd argument is 2.
3246 (gimplify_omp_for): Adjust omp_is_private callers. When adding
3247 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
3248 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
3249 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
3250 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
3251 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
3252 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
3253 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
3254 * tree-nested.c (convert_nonlocal_omp_clauses,
3255 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
3256
3257 2014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
3258
3259 PR target/60822
3260 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
3261 operand 1.
3262
3263 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3264
3265 * flag-types.h (enum ivar_visibility): Add.
3266
3267 2014-04-24 Trevor Saunders <tsaunders@mozilla.com>
3268
3269 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
3270 function * argument.
3271
3272 2014-04-24 Alan Lawrence <alan.lawrence@arm.com>
3273
3274 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
3275
3276 2014-04-24 Radovan Obradovic <robradovic@mips.com>
3277 Tom de Vries <tom@codesourcery.com>
3278
3279 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
3280 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
3281 reg-note.
3282 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
3283 * emit-rtl.c (try_split): Same.
3284
3285 2014-04-24 Radovan Obradovic <robradovic@mips.com>
3286 Tom de Vries <tom@codesourcery.com>
3287
3288 * common.opt (fuse-caller-save): New option.
3289
3290 2014-04-24 Tejas Belagod <tejas.belagod@arm.com>
3291
3292 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
3293 elements for big-endian.
3294
3295 2014-04-24 Richard Biener <rguenther@suse.de>
3296
3297 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
3298 during TER and instead use the sepops interface for expanding
3299 non-GIMPLE_SINGLE_RHS.
3300
3301 2014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3302
3303 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
3304 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
3305
3306 2014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3307
3308 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
3309 assembler 64-bit option.
3310 * configure: Regenerate.
3311
3312 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3313
3314 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
3315 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
3316 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
3317 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
3318 (TARGET_CRYPTO): Take TARGET_SIMD into account.
3319
3320 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3321
3322 * config/aarch64/aarch64-builtins.c
3323 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
3324 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
3325 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
3326 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
3327 builtins.
3328 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
3329 (Vrevsuff): New mode attribute.
3330
3331 2014-04-24 Terry Guo <terry.guo@arm.com>
3332
3333 * config/arm/arm.h (machine_function): Define variable
3334 after_arm_reorg here.
3335 * config/arm/arm.c (after_arm_reorg): Remove the definition.
3336 (arm_split_constant): Update the way to access variable
3337 after_arm_reorg.
3338 (arm_reorg): Ditto.
3339 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
3340
3341 2014-04-23 Tom de Vries <tom@codesourcery.com>
3342
3343 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
3344
3345 2014-04-23 David Malcolm <dmalcolm@redhat.com>
3346
3347 * is-a.h: Update comments to reflect the following changes to the
3348 "pointerness" of the API, making the template parameter match the
3349 return type, allowing use of is-a.h with typedefs of pointers.
3350 (is_a_helper::cast): Return a T rather then a pointer to a T, so
3351 that the return type matches the parameter to the is_a_helper.
3352 (as_a): Likewise.
3353 (dyn_cast): Likewise.
3354
3355 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
3356 pointer from the is-a.h API.
3357
3358 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
3359 (is_a_helper <cgraph_node *>::test): ...this, matching change to
3360 is-a.h API.
3361 (is_a_helper <varpool_node>::test): Likewise, convert to...
3362 (is_a_helper <varpool_node *>::test): ...this.
3363
3364 (varpool_first_variable): Update for removal of implicit pointer
3365 from the is-a.h API.
3366 (varpool_next_variable): Likewise.
3367 (varpool_first_static_initializer): Likewise.
3368 (varpool_next_static_initializer): Likewise.
3369 (varpool_first_defined_variable): Likewise.
3370 (varpool_next_defined_variable): Likewise.
3371 (cgraph_first_defined_function): Likewise.
3372 (cgraph_next_defined_function): Likewise.
3373 (cgraph_first_function): Likewise.
3374 (cgraph_next_function): Likewise.
3375 (cgraph_first_function_with_gimple_body): Likewise.
3376 (cgraph_next_function_with_gimple_body): Likewise.
3377 (cgraph_alias_target): Likewise.
3378 (varpool_alias_target): Likewise.
3379 (cgraph_function_or_thunk_node): Likewise.
3380 (varpool_variable_node): Likewise.
3381 (symtab_real_symbol_p): Likewise.
3382 * cgraphunit.c (referred_to_p): Likewise.
3383 (analyze_functions): Likewise.
3384 (handle_alias_pairs): Likewise.
3385 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
3386 * gimple-ssa.h (gimple_vuse_op): Likewise.
3387 (gimple_vdef_op): Likewise.
3388 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
3389 * gimple.c (gimple_build_asm_1): Likewise.
3390 (gimple_build_try): Likewise.
3391 (gimple_build_resx): Likewise.
3392 (gimple_build_eh_dispatch): Likewise.
3393 (gimple_build_omp_for): Likewise.
3394 (gimple_omp_for_set_clauses): Likewise.
3395
3396 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
3397 (is_a_helper <gimple_statement_asm *>::test): ...this.
3398 (is_a_helper <gimple_statement_bind>::test): Convert to...
3399 (is_a_helper <gimple_statement_bind *>::test): ...this.
3400 (is_a_helper <gimple_statement_call>::test): Convert to...
3401 (is_a_helper <gimple_statement_call *>::test): ...this.
3402 (is_a_helper <gimple_statement_catch>::test): Convert to...
3403 (is_a_helper <gimple_statement_catch *>::test): ...this.
3404 (is_a_helper <gimple_statement_resx>::test): Convert to...
3405 (is_a_helper <gimple_statement_resx *>::test): ...this.
3406 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
3407 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
3408 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
3409 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
3410 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
3411 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
3412 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
3413 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
3414 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
3415 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
3416 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
3417 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
3418 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
3419 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
3420 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
3421 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
3422 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
3423 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
3424 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
3425 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
3426 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
3427 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
3428 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
3429 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
3430 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
3431 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
3432 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
3433 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
3434 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
3435 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
3436 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
3437 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
3438 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
3439 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
3440 (is_a_helper <gimple_statement_phi>::test): Convert to...
3441 (is_a_helper <gimple_statement_phi *>::test): ...this.
3442 (is_a_helper <gimple_statement_transaction>::test): Convert to...
3443 (is_a_helper <gimple_statement_transaction *>::test): ...this.
3444 (is_a_helper <gimple_statement_try>::test): Convert to...
3445 (is_a_helper <gimple_statement_try *>::test): ...this.
3446 (is_a_helper <gimple_statement_wce>::test): Convert to...
3447 (is_a_helper <gimple_statement_wce *>::test): ...this.
3448 (is_a_helper <const gimple_statement_asm>::test): Convert to...
3449 (is_a_helper <const gimple_statement_asm *>::test): ...this.
3450 (is_a_helper <const gimple_statement_bind>::test): Convert to...
3451 (is_a_helper <const gimple_statement_bind *>::test): ...this.
3452 (is_a_helper <const gimple_statement_call>::test): Convert to...
3453 (is_a_helper <const gimple_statement_call *>::test): ...this.
3454 (is_a_helper <const gimple_statement_catch>::test): Convert to...
3455 (is_a_helper <const gimple_statement_catch *>::test): ...this.
3456 (is_a_helper <const gimple_statement_resx>::test): Convert to...
3457 (is_a_helper <const gimple_statement_resx *>::test): ...this.
3458 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
3459 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
3460 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
3461 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
3462 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
3463 Convert to...
3464 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
3465 ...this.
3466 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
3467 Convert to...
3468 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
3469 ...this.
3470 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
3471 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
3472 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
3473 to...
3474 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
3475 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
3476 to...
3477 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
3478 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
3479 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
3480 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
3481 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
3482 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
3483 to...
3484 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
3485 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
3486 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
3487 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
3488 to...
3489 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
3490 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
3491 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
3492 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
3493 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
3494 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
3495 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
3496 (is_a_helper <const gimple_statement_phi>::test): Convert to...
3497 (is_a_helper <const gimple_statement_phi *>::test): ...this.
3498 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
3499 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
3500 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
3501 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
3502 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
3503 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
3504 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
3505 to...
3506 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
3507 ...this.
3508 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
3509 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
3510
3511 (gimple_use_ops): Update for removal of implicit pointer from the
3512 is-a.h API.
3513 (gimple_set_use_ops): Likewise.
3514 (gimple_vuse): Likewise.
3515 (gimple_vdef): Likewise.
3516 (gimple_vuse_ptr): Likewise.
3517 (gimple_vdef_ptr): Likewise.
3518 (gimple_set_vuse): Likewise.
3519 (gimple_set_vdef): Likewise.
3520 (gimple_omp_return_set_lhs): Likewise.
3521 (gimple_omp_return_lhs): Likewise.
3522 (gimple_omp_return_lhs_ptr): Likewise.
3523 (gimple_call_fntype): Likewise.
3524 (gimple_call_set_fntype): Likewise.
3525 (gimple_call_set_internal_fn): Likewise.
3526 (gimple_call_use_set): Likewise.
3527 (gimple_call_clobber_set): Likewise.
3528 (gimple_bind_vars): Likewise.
3529 (gimple_bind_set_vars): Likewise.
3530 (gimple_bind_body_ptr): Likewise.
3531 (gimple_bind_set_body): Likewise.
3532 (gimple_bind_add_stmt): Likewise.
3533 (gimple_bind_block): Likewise.
3534 (gimple_bind_set_block): Likewise.
3535 (gimple_asm_ninputs): Likewise.
3536 (gimple_asm_noutputs): Likewise.
3537 (gimple_asm_nclobbers): Likewise.
3538 (gimple_asm_nlabels): Likewise.
3539 (gimple_asm_input_op): Likewise.
3540 (gimple_asm_input_op_ptr): Likewise.
3541 (gimple_asm_output_op): Likewise.
3542 (gimple_asm_output_op_ptr): Likewise.
3543 (gimple_asm_set_output_op): Likewise.
3544 (gimple_asm_clobber_op): Likewise.
3545 (gimple_asm_set_clobber_op): Likewise.
3546 (gimple_asm_label_op): Likewise.
3547 (gimple_asm_set_label_op): Likewise.
3548 (gimple_asm_string): Likewise.
3549 (gimple_catch_types): Likewise.
3550 (gimple_catch_types_ptr): Likewise.
3551 (gimple_catch_handler_ptr): Likewise.
3552 (gimple_catch_set_types): Likewise.
3553 (gimple_catch_set_handler): Likewise.
3554 (gimple_eh_filter_types): Likewise.
3555 (gimple_eh_filter_types_ptr): Likewise.
3556 (gimple_eh_filter_failure_ptr): Likewise.
3557 (gimple_eh_filter_set_types): Likewise.
3558 (gimple_eh_filter_set_failure): Likewise.
3559 (gimple_eh_must_not_throw_fndecl): Likewise.
3560 (gimple_eh_must_not_throw_set_fndecl): Likewise.
3561 (gimple_eh_else_n_body_ptr): Likewise.
3562 (gimple_eh_else_e_body_ptr): Likewise.
3563 (gimple_eh_else_set_n_body): Likewise.
3564 (gimple_eh_else_set_e_body): Likewise.
3565 (gimple_try_eval_ptr): Likewise.
3566 (gimple_try_cleanup_ptr): Likewise.
3567 (gimple_try_set_eval): Likewise.
3568 (gimple_try_set_cleanup): Likewise.
3569 (gimple_wce_cleanup_ptr): Likewise.
3570 (gimple_wce_set_cleanup): Likewise.
3571 (gimple_phi_capacity): Likewise.
3572 (gimple_phi_num_args): Likewise.
3573 (gimple_phi_result): Likewise.
3574 (gimple_phi_result_ptr): Likewise.
3575 (gimple_phi_set_result): Likewise.
3576 (gimple_phi_arg): Likewise.
3577 (gimple_phi_set_arg): Likewise.
3578 (gimple_resx_region): Likewise.
3579 (gimple_resx_set_region): Likewise.
3580 (gimple_eh_dispatch_region): Likewise.
3581 (gimple_eh_dispatch_set_region): Likewise.
3582 (gimple_omp_critical_name): Likewise.
3583 (gimple_omp_critical_name_ptr): Likewise.
3584 (gimple_omp_critical_set_name): Likewise.
3585 (gimple_omp_for_clauses): Likewise.
3586 (gimple_omp_for_clauses_ptr): Likewise.
3587 (gimple_omp_for_set_clauses): Likewise.
3588 (gimple_omp_for_collapse): Likewise.
3589 (gimple_omp_for_index): Likewise.
3590 (gimple_omp_for_index_ptr): Likewise.
3591 (gimple_omp_for_set_index): Likewise.
3592 (gimple_omp_for_initial): Likewise.
3593 (gimple_omp_for_initial_ptr): Likewise.
3594 (gimple_omp_for_set_initial): Likewise.
3595 (gimple_omp_for_final): Likewise.
3596 (gimple_omp_for_final_ptr): Likewise.
3597 (gimple_omp_for_set_final): Likewise.
3598 (gimple_omp_for_incr): Likewise.
3599 (gimple_omp_for_incr_ptr): Likewise.
3600 (gimple_omp_for_set_incr): Likewise.
3601 (gimple_omp_for_pre_body_ptr): Likewise.
3602 (gimple_omp_for_set_pre_body): Likewise.
3603 (gimple_omp_parallel_clauses): Likewise.
3604 (gimple_omp_parallel_clauses_ptr): Likewise.
3605 (gimple_omp_parallel_set_clauses): Likewise.
3606 (gimple_omp_parallel_child_fn): Likewise.
3607 (gimple_omp_parallel_child_fn_ptr): Likewise.
3608 (gimple_omp_parallel_set_child_fn): Likewise.
3609 (gimple_omp_parallel_data_arg): Likewise.
3610 (gimple_omp_parallel_data_arg_ptr): Likewise.
3611 (gimple_omp_parallel_set_data_arg): Likewise.
3612 (gimple_omp_task_clauses): Likewise.
3613 (gimple_omp_task_clauses_ptr): Likewise.
3614 (gimple_omp_task_set_clauses): Likewise.
3615 (gimple_omp_task_child_fn): Likewise.
3616 (gimple_omp_task_child_fn_ptr): Likewise.
3617 (gimple_omp_task_set_child_fn): Likewise.
3618 (gimple_omp_task_data_arg): Likewise.
3619 (gimple_omp_task_data_arg_ptr): Likewise.
3620 (gimple_omp_task_set_data_arg): Likewise.
3621 (gimple_omp_taskreg_clauses): Likewise.
3622 (gimple_omp_taskreg_clauses_ptr): Likewise.
3623 (gimple_omp_taskreg_set_clauses): Likewise.
3624 (gimple_omp_taskreg_child_fn): Likewise.
3625 (gimple_omp_taskreg_child_fn_ptr): Likewise.
3626 (gimple_omp_taskreg_set_child_fn): Likewise.
3627 (gimple_omp_taskreg_data_arg): Likewise.
3628 (gimple_omp_taskreg_data_arg_ptr): Likewise.
3629 (gimple_omp_taskreg_set_data_arg): Likewise.
3630 (gimple_omp_task_copy_fn): Likewise.
3631 (gimple_omp_task_copy_fn_ptr): Likewise.
3632 (gimple_omp_task_set_copy_fn): Likewise.
3633 (gimple_omp_task_arg_size): Likewise.
3634 (gimple_omp_task_arg_size_ptr): Likewise.
3635 (gimple_omp_task_set_arg_size): Likewise.
3636 (gimple_omp_task_arg_align): Likewise.
3637 (gimple_omp_task_arg_align_ptr): Likewise.
3638 (gimple_omp_task_set_arg_align): Likewise.
3639 (gimple_omp_single_clauses): Likewise.
3640 (gimple_omp_single_clauses_ptr): Likewise.
3641 (gimple_omp_single_set_clauses): Likewise.
3642 (gimple_omp_target_clauses): Likewise.
3643 (gimple_omp_target_clauses_ptr): Likewise.
3644 (gimple_omp_target_set_clauses): Likewise.
3645 (gimple_omp_target_child_fn): Likewise.
3646 (gimple_omp_target_child_fn_ptr): Likewise.
3647 (gimple_omp_target_set_child_fn): Likewise.
3648 (gimple_omp_target_data_arg): Likewise.
3649 (gimple_omp_target_data_arg_ptr): Likewise.
3650 (gimple_omp_target_set_data_arg): Likewise.
3651 (gimple_omp_teams_clauses): Likewise.
3652 (gimple_omp_teams_clauses_ptr): Likewise.
3653 (gimple_omp_teams_set_clauses): Likewise.
3654 (gimple_omp_sections_clauses): Likewise.
3655 (gimple_omp_sections_clauses_ptr): Likewise.
3656 (gimple_omp_sections_set_clauses): Likewise.
3657 (gimple_omp_sections_control): Likewise.
3658 (gimple_omp_sections_control_ptr): Likewise.
3659 (gimple_omp_sections_set_control): Likewise.
3660 (gimple_omp_for_set_cond): Likewise.
3661 (gimple_omp_for_cond): Likewise.
3662 (gimple_omp_atomic_store_set_val): Likewise.
3663 (gimple_omp_atomic_store_val): Likewise.
3664 (gimple_omp_atomic_store_val_ptr): Likewise.
3665 (gimple_omp_atomic_load_set_lhs): Likewise.
3666 (gimple_omp_atomic_load_lhs): Likewise.
3667 (gimple_omp_atomic_load_lhs_ptr): Likewise.
3668 (gimple_omp_atomic_load_set_rhs): Likewise.
3669 (gimple_omp_atomic_load_rhs): Likewise.
3670 (gimple_omp_atomic_load_rhs_ptr): Likewise.
3671 (gimple_omp_continue_control_def): Likewise.
3672 (gimple_omp_continue_control_def_ptr): Likewise.
3673 (gimple_omp_continue_set_control_def): Likewise.
3674 (gimple_omp_continue_control_use): Likewise.
3675 (gimple_omp_continue_control_use_ptr): Likewise.
3676 (gimple_omp_continue_set_control_use): Likewise.
3677 (gimple_transaction_body_ptr): Likewise.
3678 (gimple_transaction_label): Likewise.
3679 (gimple_transaction_label_ptr): Likewise.
3680 (gimple_transaction_set_body): Likewise.
3681 (gimple_transaction_set_label): Likewise.
3682
3683 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
3684 * ipa-inline-analysis.c (inline_write_summary): Likewise.
3685 * ipa-ref.c (ipa_record_reference): Likewise.
3686 * ipa-reference.c (analyze_function): Likewise.
3687 (ipa_reference_write_optimization_summary): Likewise.
3688 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
3689 (address_taken_from_non_vtable_p): Likewise.
3690 (comdat_can_be_unshared_p_1): Likewise.
3691 * lto-cgraph.c (lto_output_ref): Likewise.
3692 (add_references): Likewise.
3693 (compute_ltrans_boundary): Likewise.
3694 (output_symtab): Likewise.
3695 (input_ref): Likewise.
3696 (input_cgraph_1): Likewise.
3697 (output_cgraph_opt_summary): Likewise.
3698 * lto-streamer-out.c (lto_output): Likewise.
3699 (output_symbol_p): Likewise.
3700 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
3701 (lsei_start_function_in_partition): Likewise.
3702 (lsei_next_variable_in_partition): Likewise.
3703 (lsei_start_variable_in_partition): Likewise.
3704 * symtab.c (insert_to_assembler_name_hash): Likewise.
3705 (unlink_from_assembler_name_hash): Likewise.
3706 (symtab_unregister_node): Likewise.
3707 (symtab_remove_node): Likewise.
3708 (dump_symtab_node): Likewise.
3709 (verify_symtab_base): Likewise.
3710 (verify_symtab_node): Likewise.
3711 (symtab_make_decl_local): Likewise.
3712 (symtab_alias_ultimate_target): Likewise.
3713 (symtab_resolve_alias): Likewise.
3714 (symtab_get_symbol_partitioning_class): Likewise.
3715 * tree-phinodes.c (allocate_phi_node): Likewise.
3716 (reserve_phi_args_for_new_edge): Likewise.
3717 (remove_phi_args): Likewise.
3718 * varpool.c (varpool_node_for_asm): Likewise.
3719 (varpool_remove_unreferenced_decls): Likewise.
3720
3721 2014-04-23 Jeff Law <law@redhat.com>
3722
3723 PR tree-optimization/60902
3724 * tree-ssa-threadedge.c
3725 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
3726 invalidate outputs from statements that do not produce useful
3727 outputs for threading.
3728
3729 2014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
3730
3731 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
3732 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
3733 machine descriptions for Stack Smashing Protector.
3734
3735 2014-04-23 Richard Earnshaw <rearnsha@arm.com>
3736
3737 * aarch64.md (<optab>_rol<mode>3): New pattern.
3738 (<optab>_rolsi3_uxtw): Likewise.
3739 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
3740
3741 2014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
3742
3743 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
3744 (arm_cortex_a12_tune): Likewise.
3745
3746 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3747
3748 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
3749
3750 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3751
3752 * config/arm/arm.md (arm_rev16si2): New pattern.
3753 (arm_rev16si2_alt): Likewise.
3754 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
3755
3756 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3757
3758 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
3759 (rev16<mode>2_alt): Likewise.
3760 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
3761 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
3762 (aarch_rev16_shleft_mask_imm_p): Likewise.
3763 (aarch_rev16_p_1): Likewise.
3764 (aarch_rev16_p): Likewise.
3765 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
3766 (aarch_rev16_shright_mask_imm_p): Likewise.
3767 (aarch_rev16_shleft_mask_imm_p): Likewise.
3768
3769 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3770
3771 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
3772 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
3773 rev cost.
3774 (cortex_a53_extra_costs): Likewise.
3775 (cortex_a57_extra_costs): Likewise.
3776 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
3777 (cortexa7_extra_costs): Likewise.
3778 (cortexa8_extra_costs): Likewise.
3779 (cortexa12_extra_costs): Likewise.
3780 (cortexa15_extra_costs): Likewise.
3781 (v7m_extra_costs): Likewise.
3782 (arm_new_rtx_costs): Handle BSWAP.
3783
3784 2013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3785
3786 * config/arm/arm.c (cortexa8_extra_costs): New table.
3787 (arm_cortex_a8_tune): New tuning struct.
3788 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
3789
3790 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3791
3792 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
3793
3794 2014-04-23 Richard Biener <rguenther@suse.de>
3795
3796 * Makefile.in (OBJS): Remove loop-unswitch.o.
3797 * tree-pass.h (make_pass_rtl_unswitch): Remove.
3798 * passes.def (pass_rtl_unswitch): Likewise.
3799 * loop-init.c (gate_rtl_unswitch): Likewise.
3800 (rtl_unswitch): Likewise.
3801 (pass_data_rtl_unswitch): Likewise.
3802 (pass_rtl_unswitch): Likewise.
3803 (make_pass_rtl_unswitch): Likewise.
3804 * rtl.h (reversed_condition): Likewise.
3805 (compare_and_jump_seq): Likewise.
3806 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
3807 and make static.
3808 * loop-unroll.c (compare_and_jump_seq): Likewise.
3809
3810 2014-04-23 Richard Biener <rguenther@suse.de>
3811
3812 PR tree-optimization/60903
3813 * tree-ssa-loop-im.c (analyze_memory_references): Remove
3814 commented code block.
3815 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
3816 loop flags to newly created BBs and edges.
3817
3818 2014-04-23 Nick Clifton <nickc@redhat.com>
3819
3820 * config/msp430/msp430.c (msp430_handle_option): Move function
3821 to msp430-common.c
3822 (msp430_option_override): Simplify mcu and mcpu option handling.
3823 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
3824 support for -mhwmult command line option.
3825 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
3826 -mhwmult command line option.
3827 (msp430_hwmult_enabled): Delete.
3828 (msp43o_output_labelref): Add support for -mhwmult command line option.
3829 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
3830 (umulsidi3): Likewise.
3831 * config/msp430/msp430.opt (mmcu): Add Report attribute.
3832 (mcpu, mlarge, msmall): Likewise.
3833 (mhwmult): New option.
3834 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
3835 prototype.
3836 (msp430_is_f5_mcu): Remove prototype.
3837 (msp430_use_f5_series_hwmult): Add prototype.
3838 * config/msp430/msp430-opts.h: New file.
3839 * common/config/msp430: New directory.
3840 * common/config/msp430/msp430-common.c: New file.
3841 * config.gcc (msp430): Remove target_has_targetm_common.
3842 * doc/invoke.texi: Document -mhwmult command line option.
3843
3844 2014-04-23 Nick Clifton <nickc@redhat.com>
3845
3846 * config/i386/cygwin.h (ENDFILE_SPEC): Include
3847 default-manifest.o if it can be found in the search path.
3848 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
3849
3850 2014-04-23 Terry Guo <terry.guo@arm.com>
3851
3852 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
3853
3854 2014-04-23 Richard Biener <rguenther@suse.de>
3855
3856 PR middle-end/60895
3857 * tree-inline.c (declare_return_variable): Use mark_addressable.
3858
3859 2014-04-23 Richard Biener <rguenther@suse.de>
3860
3861 PR middle-end/60891
3862 * loop-init.c (loop_optimizer_init): Make sure to apply
3863 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
3864
3865 2014-04-22 Jakub Jelinek <jakub@redhat.com>
3866
3867 PR sanitizer/60275
3868 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
3869 New options.
3870 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
3871 if flag_sanitize_undefined_trap_on_error.
3872 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
3873 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
3874 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
3875 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
3876 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
3877 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
3878 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
3879 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
3880 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
3881 * ubsan.c (ubsan_instrument_unreachable): Return
3882 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
3883 (ubsan_expand_null_ifn): Emit __builtin_trap ()
3884 if flag_sanitize_undefined_trap_on_error and
3885 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
3886 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
3887 instrument_bool_enum_load): Emit __builtin_trap () if
3888 flag_sanitize_undefined_trap_on_error and
3889 __builtin_handle_*_abort () if !flag_sanitize_recover.
3890 * doc/invoke.texi (-fsanitize-recover,
3891 -fsanitize-undefined-trap-on-error): Document.
3892
3893 2014-04-22 Christian Bruel <christian.bruel@st.com>
3894
3895 * config/sh/sh.md (mov<mode>): Replace movQIHI.
3896 Force immediates to SImode.
3897
3898 2014-04-22 Sandra Loosemore <sandra@codesourcery.com>
3899
3900 * config/nios2/nios2.md (UNSPEC_ROUND): New.
3901 (lroundsfsi2): New.
3902 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
3903 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
3904 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
3905 (nios2_fpu_insn): Add entry for round.
3906 (N2FPU_NO_ERRNO_P): Define.
3907 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
3908 flag_errno_math.
3909 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
3910
3911 2014-04-22 Richard Henderson <rth@redhat.com>
3912
3913 * config/aarch64/aarch64 (addti3, subti3): New expanders.
3914 (add<GPI>3_compare0): Remove leading * from name.
3915 (add<GPI>3_carryin): Likewise.
3916 (sub<GPI>3_compare0): Likewise.
3917 (sub<GPI>3_carryin): Likewise.
3918 (<su_optab>mulditi3): New expander.
3919 (multi3): New expander.
3920 (madd<GPI>): Remove leading * from name.
3921
3922 2014-04-22 Martin Jambor <mjambor@suse.cz>
3923
3924 * cgraphclones.c (cgraph_function_versioning): Copy
3925 ipa_transforms_to_apply instead of asserting it is empty.
3926
3927 2014-04-22 H.J. Lu <hongjiu.lu@intel.com>
3928
3929 PR target/60868
3930 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
3931 on count_exp to get mode.
3932
3933 2014-04-22 Andrew Pinski <apinski@cavium.com>
3934
3935 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
3936 Handle TLS for ILP32.
3937 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
3938 (tlsie_small_<mode>): this and handle PTR.
3939 (tlsie_small_sidi): New pattern.
3940 (tlsle_small): Change to an expand to handle ILP32.
3941 (tlsle_small_<mode>): New pattern.
3942 (tlsdesc_small): Rename to ...
3943 (tlsdesc_small_<mode>): this and handle PTR.
3944
3945 2014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3946
3947 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
3948
3949 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
3950
3951 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
3952 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
3953 (aarch64_types_signed_poly_qualifiers): Likewise.
3954 (aarch64_types_unsigned_signed_qualifiers): Likewise.
3955 (aarch64_types_poly_signed_qualifiers): Likewise.
3956 (TYPES_REINTERP_SS): Type macro added.
3957 (TYPES_REINTERP_SU): Likewise.
3958 (TYPES_REINTERP_SP): Likewise.
3959 (TYPES_REINTERP_US): Likewise.
3960 (TYPES_REINTERP_PS): Likewise.
3961 (aarch64_fold_builtin): New expression folding added.
3962 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
3963 Declarations removed.
3964 (REINTERP_SS): Declarations added.
3965 (REINTERP_US): Likewise.
3966 (REINTERP_PS): Likewise.
3967 (REINTERP_SU): Likewise.
3968 (REINTERP_SP): Likewise.
3969 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
3970 (vreinterpretq_p8_f64): Likewise.
3971 (vreinterpret_p16_f64): Likewise.
3972 (vreinterpretq_p16_f64): Likewise.
3973 (vreinterpret_f32_f64): Likewise.
3974 (vreinterpretq_f32_f64): Likewise.
3975 (vreinterpret_f64_f32): Likewise.
3976 (vreinterpret_f64_p8): Likewise.
3977 (vreinterpret_f64_p16): Likewise.
3978 (vreinterpret_f64_s8): Likewise.
3979 (vreinterpret_f64_s16): Likewise.
3980 (vreinterpret_f64_s32): Likewise.
3981 (vreinterpret_f64_s64): Likewise.
3982 (vreinterpret_f64_u8): Likewise.
3983 (vreinterpret_f64_u16): Likewise.
3984 (vreinterpret_f64_u32): Likewise.
3985 (vreinterpret_f64_u64): Likewise.
3986 (vreinterpretq_f64_f32): Likewise.
3987 (vreinterpretq_f64_p8): Likewise.
3988 (vreinterpretq_f64_p16): Likewise.
3989 (vreinterpretq_f64_s8): Likewise.
3990 (vreinterpretq_f64_s16): Likewise.
3991 (vreinterpretq_f64_s32): Likewise.
3992 (vreinterpretq_f64_s64): Likewise.
3993 (vreinterpretq_f64_u8): Likewise.
3994 (vreinterpretq_f64_u16): Likewise.
3995 (vreinterpretq_f64_u32): Likewise.
3996 (vreinterpretq_f64_u64): Likewise.
3997 (vreinterpret_s64_f64): Likewise.
3998 (vreinterpretq_s64_f64): Likewise.
3999 (vreinterpret_u64_f64): Likewise.
4000 (vreinterpretq_u64_f64): Likewise.
4001 (vreinterpret_s8_f64): Likewise.
4002 (vreinterpretq_s8_f64): Likewise.
4003 (vreinterpret_s16_f64): Likewise.
4004 (vreinterpretq_s16_f64): Likewise.
4005 (vreinterpret_s32_f64): Likewise.
4006 (vreinterpretq_s32_f64): Likewise.
4007 (vreinterpret_u8_f64): Likewise.
4008 (vreinterpretq_u8_f64): Likewise.
4009 (vreinterpret_u16_f64): Likewise.
4010 (vreinterpretq_u16_f64): Likewise.
4011 (vreinterpret_u32_f64): Likewise.
4012 (vreinterpretq_u32_f64): Likewise.
4013
4014 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
4015
4016 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
4017 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
4018 (vreinterpret_p8_s8): Likewise.
4019 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
4020 (vreinterpret_p8_s16): Likewise.
4021 (vreinterpret_p8_s32): Likewise.
4022 (vreinterpret_p8_s64): Likewise.
4023 (vreinterpret_p8_f32): Likewise.
4024 (vreinterpret_p8_u8): Likewise.
4025 (vreinterpret_p8_u16): Likewise.
4026 (vreinterpret_p8_u32): Likewise.
4027 (vreinterpret_p8_u64): Likewise.
4028 (vreinterpret_p8_p16): Likewise.
4029 (vreinterpretq_p8_s8): Likewise.
4030 (vreinterpretq_p8_s16): Likewise.
4031 (vreinterpretq_p8_s32): Likewise.
4032 (vreinterpretq_p8_s64): Likewise.
4033 (vreinterpretq_p8_f32): Likewise.
4034 (vreinterpretq_p8_u8): Likewise.
4035 (vreinterpretq_p8_u16): Likewise.
4036 (vreinterpretq_p8_u32): Likewise.
4037 (vreinterpretq_p8_u64): Likewise.
4038 (vreinterpretq_p8_p16): Likewise.
4039 (vreinterpret_p16_s8): Likewise.
4040 (vreinterpret_p16_s16): Likewise.
4041 (vreinterpret_p16_s32): Likewise.
4042 (vreinterpret_p16_s64): Likewise.
4043 (vreinterpret_p16_f32): Likewise.
4044 (vreinterpret_p16_u8): Likewise.
4045 (vreinterpret_p16_u16): Likewise.
4046 (vreinterpret_p16_u32): Likewise.
4047 (vreinterpret_p16_u64): Likewise.
4048 (vreinterpret_p16_p8): Likewise.
4049 (vreinterpretq_p16_s8): Likewise.
4050 (vreinterpretq_p16_s16): Likewise.
4051 (vreinterpretq_p16_s32): Likewise.
4052 (vreinterpretq_p16_s64): Likewise.
4053 (vreinterpretq_p16_f32): Likewise.
4054 (vreinterpretq_p16_u8): Likewise.
4055 (vreinterpretq_p16_u16): Likewise.
4056 (vreinterpretq_p16_u32): Likewise.
4057 (vreinterpretq_p16_u64): Likewise.
4058 (vreinterpretq_p16_p8): Likewise.
4059 (vreinterpret_f32_s8): Likewise.
4060 (vreinterpret_f32_s16): Likewise.
4061 (vreinterpret_f32_s32): Likewise.
4062 (vreinterpret_f32_s64): Likewise.
4063 (vreinterpret_f32_u8): Likewise.
4064 (vreinterpret_f32_u16): Likewise.
4065 (vreinterpret_f32_u32): Likewise.
4066 (vreinterpret_f32_u64): Likewise.
4067 (vreinterpret_f32_p8): Likewise.
4068 (vreinterpret_f32_p16): Likewise.
4069 (vreinterpretq_f32_s8): Likewise.
4070 (vreinterpretq_f32_s16): Likewise.
4071 (vreinterpretq_f32_s32): Likewise.
4072 (vreinterpretq_f32_s64): Likewise.
4073 (vreinterpretq_f32_u8): Likewise.
4074 (vreinterpretq_f32_u16): Likewise.
4075 (vreinterpretq_f32_u32): Likewise.
4076 (vreinterpretq_f32_u64): Likewise.
4077 (vreinterpretq_f32_p8): Likewise.
4078 (vreinterpretq_f32_p16): Likewise.
4079 (vreinterpret_s64_s8): Likewise.
4080 (vreinterpret_s64_s16): Likewise.
4081 (vreinterpret_s64_s32): Likewise.
4082 (vreinterpret_s64_f32): Likewise.
4083 (vreinterpret_s64_u8): Likewise.
4084 (vreinterpret_s64_u16): Likewise.
4085 (vreinterpret_s64_u32): Likewise.
4086 (vreinterpret_s64_u64): Likewise.
4087 (vreinterpret_s64_p8): Likewise.
4088 (vreinterpret_s64_p16): Likewise.
4089 (vreinterpretq_s64_s8): Likewise.
4090 (vreinterpretq_s64_s16): Likewise.
4091 (vreinterpretq_s64_s32): Likewise.
4092 (vreinterpretq_s64_f32): Likewise.
4093 (vreinterpretq_s64_u8): Likewise.
4094 (vreinterpretq_s64_u16): Likewise.
4095 (vreinterpretq_s64_u32): Likewise.
4096 (vreinterpretq_s64_u64): Likewise.
4097 (vreinterpretq_s64_p8): Likewise.
4098 (vreinterpretq_s64_p16): Likewise.
4099 (vreinterpret_u64_s8): Likewise.
4100 (vreinterpret_u64_s16): Likewise.
4101 (vreinterpret_u64_s32): Likewise.
4102 (vreinterpret_u64_s64): Likewise.
4103 (vreinterpret_u64_f32): Likewise.
4104 (vreinterpret_u64_u8): Likewise.
4105 (vreinterpret_u64_u16): Likewise.
4106 (vreinterpret_u64_u32): Likewise.
4107 (vreinterpret_u64_p8): Likewise.
4108 (vreinterpret_u64_p16): Likewise.
4109 (vreinterpretq_u64_s8): Likewise.
4110 (vreinterpretq_u64_s16): Likewise.
4111 (vreinterpretq_u64_s32): Likewise.
4112 (vreinterpretq_u64_s64): Likewise.
4113 (vreinterpretq_u64_f32): Likewise.
4114 (vreinterpretq_u64_u8): Likewise.
4115 (vreinterpretq_u64_u16): Likewise.
4116 (vreinterpretq_u64_u32): Likewise.
4117 (vreinterpretq_u64_p8): Likewise.
4118 (vreinterpretq_u64_p16): Likewise.
4119 (vreinterpret_s8_s16): Likewise.
4120 (vreinterpret_s8_s32): Likewise.
4121 (vreinterpret_s8_s64): Likewise.
4122 (vreinterpret_s8_f32): Likewise.
4123 (vreinterpret_s8_u8): Likewise.
4124 (vreinterpret_s8_u16): Likewise.
4125 (vreinterpret_s8_u32): Likewise.
4126 (vreinterpret_s8_u64): Likewise.
4127 (vreinterpret_s8_p8): Likewise.
4128 (vreinterpret_s8_p16): Likewise.
4129 (vreinterpretq_s8_s16): Likewise.
4130 (vreinterpretq_s8_s32): Likewise.
4131 (vreinterpretq_s8_s64): Likewise.
4132 (vreinterpretq_s8_f32): Likewise.
4133 (vreinterpretq_s8_u8): Likewise.
4134 (vreinterpretq_s8_u16): Likewise.
4135 (vreinterpretq_s8_u32): Likewise.
4136 (vreinterpretq_s8_u64): Likewise.
4137 (vreinterpretq_s8_p8): Likewise.
4138 (vreinterpretq_s8_p16): Likewise.
4139 (vreinterpret_s16_s8): Likewise.
4140 (vreinterpret_s16_s32): Likewise.
4141 (vreinterpret_s16_s64): Likewise.
4142 (vreinterpret_s16_f32): Likewise.
4143 (vreinterpret_s16_u8): Likewise.
4144 (vreinterpret_s16_u16): Likewise.
4145 (vreinterpret_s16_u32): Likewise.
4146 (vreinterpret_s16_u64): Likewise.
4147 (vreinterpret_s16_p8): Likewise.
4148 (vreinterpret_s16_p16): Likewise.
4149 (vreinterpretq_s16_s8): Likewise.
4150 (vreinterpretq_s16_s32): Likewise.
4151 (vreinterpretq_s16_s64): Likewise.
4152 (vreinterpretq_s16_f32): Likewise.
4153 (vreinterpretq_s16_u8): Likewise.
4154 (vreinterpretq_s16_u16): Likewise.
4155 (vreinterpretq_s16_u32): Likewise.
4156 (vreinterpretq_s16_u64): Likewise.
4157 (vreinterpretq_s16_p8): Likewise.
4158 (vreinterpretq_s16_p16): Likewise.
4159 (vreinterpret_s32_s8): Likewise.
4160 (vreinterpret_s32_s16): Likewise.
4161 (vreinterpret_s32_s64): Likewise.
4162 (vreinterpret_s32_f32): Likewise.
4163 (vreinterpret_s32_u8): Likewise.
4164 (vreinterpret_s32_u16): Likewise.
4165 (vreinterpret_s32_u32): Likewise.
4166 (vreinterpret_s32_u64): Likewise.
4167 (vreinterpret_s32_p8): Likewise.
4168 (vreinterpret_s32_p16): Likewise.
4169 (vreinterpretq_s32_s8): Likewise.
4170 (vreinterpretq_s32_s16): Likewise.
4171 (vreinterpretq_s32_s64): Likewise.
4172 (vreinterpretq_s32_f32): Likewise.
4173 (vreinterpretq_s32_u8): Likewise.
4174 (vreinterpretq_s32_u16): Likewise.
4175 (vreinterpretq_s32_u32): Likewise.
4176 (vreinterpretq_s32_u64): Likewise.
4177 (vreinterpretq_s32_p8): Likewise.
4178 (vreinterpretq_s32_p16): Likewise.
4179 (vreinterpret_u8_s8): Likewise.
4180 (vreinterpret_u8_s16): Likewise.
4181 (vreinterpret_u8_s32): Likewise.
4182 (vreinterpret_u8_s64): Likewise.
4183 (vreinterpret_u8_f32): Likewise.
4184 (vreinterpret_u8_u16): Likewise.
4185 (vreinterpret_u8_u32): Likewise.
4186 (vreinterpret_u8_u64): Likewise.
4187 (vreinterpret_u8_p8): Likewise.
4188 (vreinterpret_u8_p16): Likewise.
4189 (vreinterpretq_u8_s8): Likewise.
4190 (vreinterpretq_u8_s16): Likewise.
4191 (vreinterpretq_u8_s32): Likewise.
4192 (vreinterpretq_u8_s64): Likewise.
4193 (vreinterpretq_u8_f32): Likewise.
4194 (vreinterpretq_u8_u16): Likewise.
4195 (vreinterpretq_u8_u32): Likewise.
4196 (vreinterpretq_u8_u64): Likewise.
4197 (vreinterpretq_u8_p8): Likewise.
4198 (vreinterpretq_u8_p16): Likewise.
4199 (vreinterpret_u16_s8): Likewise.
4200 (vreinterpret_u16_s16): Likewise.
4201 (vreinterpret_u16_s32): Likewise.
4202 (vreinterpret_u16_s64): Likewise.
4203 (vreinterpret_u16_f32): Likewise.
4204 (vreinterpret_u16_u8): Likewise.
4205 (vreinterpret_u16_u32): Likewise.
4206 (vreinterpret_u16_u64): Likewise.
4207 (vreinterpret_u16_p8): Likewise.
4208 (vreinterpret_u16_p16): Likewise.
4209 (vreinterpretq_u16_s8): Likewise.
4210 (vreinterpretq_u16_s16): Likewise.
4211 (vreinterpretq_u16_s32): Likewise.
4212 (vreinterpretq_u16_s64): Likewise.
4213 (vreinterpretq_u16_f32): Likewise.
4214 (vreinterpretq_u16_u8): Likewise.
4215 (vreinterpretq_u16_u32): Likewise.
4216 (vreinterpretq_u16_u64): Likewise.
4217 (vreinterpretq_u16_p8): Likewise.
4218 (vreinterpretq_u16_p16): Likewise.
4219 (vreinterpret_u32_s8): Likewise.
4220 (vreinterpret_u32_s16): Likewise.
4221 (vreinterpret_u32_s32): Likewise.
4222 (vreinterpret_u32_s64): Likewise.
4223 (vreinterpret_u32_f32): Likewise.
4224 (vreinterpret_u32_u8): Likewise.
4225 (vreinterpret_u32_u16): Likewise.
4226 (vreinterpret_u32_u64): Likewise.
4227 (vreinterpret_u32_p8): Likewise.
4228 (vreinterpret_u32_p16): Likewise.
4229 (vreinterpretq_u32_s8): Likewise.
4230 (vreinterpretq_u32_s16): Likewise.
4231 (vreinterpretq_u32_s32): Likewise.
4232 (vreinterpretq_u32_s64): Likewise.
4233 (vreinterpretq_u32_f32): Likewise.
4234 (vreinterpretq_u32_u8): Likewise.
4235 (vreinterpretq_u32_u16): Likewise.
4236 (vreinterpretq_u32_u64): Likewise.
4237 (vreinterpretq_u32_p8): Likewise.
4238 (vreinterpretq_u32_p16): Likewise.
4239
4240 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
4241
4242 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
4243 Pattern extended.
4244 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
4245 (sqabs): Likewise.
4246 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
4247 (vqnegd_s64): Likewise.
4248 (vqabs_s64): Likewise.
4249 (vqabsd_s64): Likewise.
4250
4251 2014-04-22 Richard Henderson <rth@redhat.com>
4252
4253 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
4254 computation to the top of the loop.
4255
4256 2014-04-22 Renlin <renlin.li@arm.com>
4257 Jiong Wang <jiong.wang@arm.com>
4258
4259 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
4260 * config/aarch64/aarch64.c (aarch64_layout_frame)
4261 (aarch64_initial_elimination_offset): Likewise.
4262
4263 2014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
4264
4265 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
4266 Fix indentation.
4267
4268 2014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
4269
4270 * machmode.h (bitwise_mode_for_mode): Declare.
4271 * stor-layout.h (bitwise_type_for_mode): Likewise.
4272 * stor-layout.c (bitwise_mode_for_mode): New function.
4273 (bitwise_type_for_mode): Likewise.
4274 * builtins.c (fold_builtin_memory_op): Use it instead of
4275 int_mode_for_mode and build_nonstandard_integer_type.
4276
4277 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4278
4279 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
4280 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
4281 (*-*-solaris2*): Simplify.
4282 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
4283 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
4284 *-*-solaris2.9* handling.
4285
4286 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
4287 as bug.
4288 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
4289 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
4290 handling, simplify.
4291 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
4292 * configure: Regenerate.
4293
4294 * config/i386/sol2-9.h: Remove.
4295
4296 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
4297 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
4298 Remove Solaris 9 references.
4299
4300 2014-04-22 Vidya Praveen <vidyapraveen@arm.com>
4301
4302 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
4303 (floatuns<GPI:mode><GPF:mode>2): Remove.
4304 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
4305 and floatuns conversions.
4306 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
4307 and floatuns conversions.
4308 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
4309 (w1,w2): New mode attributes for inequal width conversions.
4310
4311 2014-04-22 Renlin Li <Renlin.Li@arm.com>
4312
4313 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
4314 the output asm format.
4315
4316 2014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
4317
4318 * config/aarch64/aarch64-simd.md
4319 (aarch64_cm<optab>di): Always split.
4320 (*aarch64_cm<optab>di): New.
4321 (aarch64_cmtstdi): Always split.
4322 (*aarch64_cmtstdi): New.
4323
4324 2014-04-22 Jakub Jelinek <jakub@redhat.com>
4325
4326 PR tree-optimization/60823
4327 * omp-low.c (ipa_simd_modify_function_body): Go through
4328 all SSA_NAMEs and for those refering to vector arguments
4329 which are going to be replaced adjust SSA_NAME_VAR and,
4330 if it is a default definition, change it into a non-default
4331 definition assigned at the beginning of function from new_decl.
4332 (ipa_simd_modify_stmt_ops): Rewritten.
4333 * tree-dfa.c (set_ssa_default_def): When removing default def,
4334 check for NULL loc instead of NULL *loc.
4335
4336 2014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4337
4338 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
4339 restrictions on core registers for DImode values in Thumb2.
4340
4341 2014-04-22 Ian Bolton <ian.bolton@arm.com>
4342
4343 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
4344 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
4345
4346 2014-04-22 Ian Bolton <ian.bolton@arm.com>
4347
4348 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
4349 (*iordi_notzesidi_di): Likewise.
4350 (*iordi_notsesidi_di): Likewise.
4351
4352 2014-04-22 Ian Bolton <ian.bolton@arm.com>
4353
4354 * config/arm/arm-protos.h (tune_params): New struct members.
4355 * config/arm/arm.c: Initialise tune_params per processor.
4356 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
4357 for speed, based on new tune_params.
4358
4359 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
4360
4361 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
4362 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
4363 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
4364 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
4365 * config/aarch64/arm_neon.h (vrnd_f64): Added.
4366 (vrnda_f64): Likewise.
4367 (vrndi_f64): Likewise.
4368 (vrndm_f64): Likewise.
4369 (vrndn_f64): Likewise.
4370 (vrndp_f64): Likewise.
4371 (vrndx_f64): Likewise.
4372
4373 2014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4374
4375 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
4376 GET_MODE_SIZE argument is enum machine_mode.
4377
4378 2014-04-22 Jakub Jelinek <jakub@redhat.com>
4379
4380 PR target/60910
4381 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
4382 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
4383
4384 2014-04-22 Lin Zuojian <manjian2006@gmail.com>
4385
4386 PR middle-end/60281
4387 * asan.c (asan_emit_stack_protection): Force the base to align to
4388 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
4389 appropriate bits if STRICT_ALIGNMENT.
4390 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
4391 when asan is on.
4392 (expand_used_vars): Leave a space in the stack frame for alignment
4393 if STRICT_ALIGNMENT.
4394
4395 2014-04-21 David Malcolm <dmalcolm@redhat.com>
4396
4397 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
4398 than a gimple.
4399 (gimple_store_p): Likewise.
4400 (gimple_assign_load_p): Likewise.
4401 (gimple_assign_cast_p): Likewise.
4402 (gimple_clobber_p): Likewise.
4403
4404 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
4405 rather than a gimple.
4406 (gimple_assign_cast_p): Likewise.
4407
4408 2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
4409
4410 PR target/60735
4411 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
4412 If mode is DDmode and TARGET_E500_DOUBLE allow move.
4413
4414 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
4415 more debug information for E500 if -mdebug=reg.
4416
4417 2014-04-21 Uros Bizjak <ubizjak@gmail.com>
4418
4419 PR target/60909
4420 * config/i386/i386.c (ix86_expand_builtin)
4421 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
4422 register for target RTX.
4423 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
4424
4425 2014-04-18 Cong Hou <congh@google.com>
4426
4427 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
4428 the widen-mult pattern by handling two operands with different sizes,
4429 and operands whose size is smaller than half of the result type.
4430
4431 2014-04-18 Jan Hubicka <hubicka@ucw.cz>
4432
4433 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
4434 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
4435 (do_estimate_edge_time): Compute it.
4436 * ipa-inline.c (want_inline_small_function_p): Bypass
4437 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
4438
4439 2014-04-18 Jan Hubicka <hubicka@ucw.cz>
4440
4441 * ipa-inline.c (spec_rem): New static variable.
4442 (dump_overall_stats): New function.
4443 (dump_inline_stats): New function.
4444
4445 2014-04-18 Richard Henderson <rth@redhat.com>
4446
4447 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
4448 to GET_MODE_SIZE, not a reg_class_t.
4449
4450 2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4451
4452 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
4453 (vsx_xxmrglw_<mode>): Likewise.
4454
4455 2014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
4456
4457 PR target/60876
4458 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
4459 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
4460 (rs6000_init_hard_regno_mode_ok): Likewise.
4461
4462 2014-04-17 Jan Hubicka <hubicka@ucw.cz>
4463
4464 * ipa-inline.c (inline_small_functions): Account only non-cold
4465 functions.
4466 * doc/invoke.texi (inline-unit-growth): Update documentation.
4467
4468 2014-04-17 Pat Haugen <pthaugen@us.ibm.com>
4469
4470 * config/rs6000/rs6000.md (addti3, subti3): New.
4471
4472 2014-04-17 H.J. Lu <hongjiu.lu@intel.com>
4473
4474 PR target/60863
4475 * config/i386/i386.c (ix86_expand_clear): Remove outdated
4476 comment. Check optimize_insn_for_size_p instead of
4477 optimize_insn_for_speed_p.
4478
4479 2014-04-17 Martin Jambor <mjambor@suse.cz>
4480
4481 * gimple-iterator.c (gsi_start_edge): New function.
4482 * gimple-iterator.h (gsi_start_edge): Declare.
4483 * tree-sra.c (single_non_eh_succ): New function.
4484 (disqualify_ops_if_throwing_stmt): Renamed to
4485 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
4486 having one non-EH successor BB.
4487 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
4488 generate loads into replacements.
4489 (sra_modify_assign): Likewise and and also use the simple path for
4490 such statements.
4491 (sra_modify_function_body): Commit statements on edges.
4492
4493 2014-04-17 Richard Biener <rguenther@suse.de>
4494
4495 PR middle-end/60849
4496 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
4497 comparison results and add clarifying comment.
4498
4499 2014-04-17 Jakub Jelinek <jakub@redhat.com>
4500
4501 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
4502 (blank_mode): Initialize it.
4503 (emit_mode_size_inline, emit_mode_nunits_inline,
4504 emit_mode_inner_inline): New functions.
4505 (emit_insn_modes_h): Call them and surround their output with
4506 #if GCC_VERSION >= 4001 ... #endif.
4507 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
4508 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
4509 mode_* arrays if the argument is __builtin_constant_p.
4510 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
4511 is enum machine_mode.
4512
4513 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4514
4515 * passes.c (opt_pass::execute): Adjust.
4516 (pass_manager::execute_pass_mode_switching): Likewise.
4517 (early_local_passes::execute): Likewise.
4518 (execute_one_pass): Pass cfun to the pass's execute method.
4519 * tree-pass.h (opt_pass::execute): Add function * argument.
4520 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
4521 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
4522 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
4523 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
4524 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
4525 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
4526 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
4527 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
4528 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
4529 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
4530 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
4531 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
4532 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
4533 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
4534 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
4535 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
4536 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
4537 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
4538 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
4539 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4540 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
4541 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
4542 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
4543 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
4544 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
4545 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
4546 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
4547 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
4548 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
4549 Adjust.
4550
4551 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4552
4553 * passes.c (opt_pass::gate): Take function * argument.
4554 (gate_all_early_local_passes): Merge into
4555 (early_local_passes::gate): this.
4556 (gate_all_early_optimizations): Merge into
4557 (all_early_optimizations::gate): this.
4558 (gate_all_optimizations): Mege into
4559 (all_optimizations::gate): this.
4560 (gate_all_optimizations_g): Merge into
4561 (all_optimizations_g::gate): this.
4562 (gate_rest_of_compilation): Mege into
4563 (rest_of_compilation::gate): this.
4564 (gate_postreload): Merge into
4565 (postreload::gate): this.
4566 (dump_one_pass): Pass cfun to the pass's gate method.
4567 (execute_ipa_summary_passes): Likewise.
4568 (execute_one_pass): Likewise.
4569 (ipa_write_summaries_2): Likewise.
4570 (ipa_write_optimization_summaries_1): Likewise.
4571 (ipa_read_summaries_1): Likewise.
4572 (ipa_read_optimization_summaries_1): Likewise.
4573 (execute_ipa_stmt_fixups): Likewise.
4574 * tree-pass.h (opt_pass::gate): Add function * argument.
4575 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
4576 combine-stack-adj.c, combine.c, compare-elim.c,
4577 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
4578 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
4579 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
4580 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
4581 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
4582 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
4583 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
4584 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
4585 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
4586 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
4587 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
4588 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
4589 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
4590 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
4591 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
4592 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4593 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
4594 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
4595 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
4596 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
4597 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
4598 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
4599 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
4600 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
4601 var-tracking.c, vtable-verify.c, web.c: Adjust.
4602
4603 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4604
4605 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
4606 * configure: Regenerate.
4607
4608 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4609
4610 * passes.c (dump_one_pass): don't check pass->has_gate.
4611 (execute_ipa_summary_passes): Likewise.
4612 (execute_one_pass): Likewise.
4613 (ipa_write_summaries_2): Likewise.
4614 (ipa_write_optimization_summaries_1): Likewise.
4615 (ipa_read_optimization_summaries_1): Likewise.
4616 (execute_ipa_stmt_fixups): Likewise.
4617 * tree-pass.h (pass_data::has_gate): Remove.
4618 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
4619 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
4620 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
4621 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
4622 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
4623 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
4624 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
4625 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
4626 gimple-low.c, gimple-ssa-isolate-paths.c,
4627 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
4628 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
4629 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
4630 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
4631 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
4632 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
4633 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
4634 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
4635 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
4636 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
4637 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
4638 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
4639 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4640 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
4641 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
4642 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
4643 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
4644 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
4645 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
4646 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
4647 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
4648 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
4649 Adjust.
4650
4651 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4652
4653 * pass_manager.h (pass_manager::register_dump_files_1): Remove
4654 declaration.
4655 * passes.c (pass_manager::register_dump_files_1): Merge into
4656 (pass_manager::register_dump_files): this, and remove its handling of
4657 properties since the pass always has the properties anyway.
4658 (pass_manager::pass_manager): Adjust.
4659
4660 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4661
4662 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
4663 * passes.c (pass_manager::register_dump_files_1): Remove dead code
4664 dealing with properties.
4665 (pass_manager::register_dump_files): Adjust.
4666
4667 2014-03-20 Mark Wielaard <mjw@redhat.com>
4668
4669 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
4670 then represent the bound as normal constant value.
4671
4672 2014-04-17 Jakub Jelinek <jakub@redhat.com>
4673
4674 PR target/60847
4675 Forward port from 4.8 branch
4676 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
4677
4678 * config/i386/bmiintrin.h (_blsi_u32): New.
4679 (_blsi_u64): Ditto.
4680 (_blsr_u32): Ditto.
4681 (_blsr_u64): Ditto.
4682 (_blsmsk_u32): Ditto.
4683 (_blsmsk_u64): Ditto.
4684 (_tzcnt_u32): Ditto.
4685 (_tzcnt_u64): Ditto.
4686
4687 2014-04-17 Kito Cheng <kito@0xlab.org>
4688
4689 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
4690
4691 2014-04-17 Richard Biener <rguenther@suse.de>
4692
4693 PR middle-end/60849
4694 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
4695 boolean results for comparisons.
4696
4697 2014-04-17 Richard Biener <rguenther@suse.de>
4698
4699 PR tree-optimization/60836
4700 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
4701 initial PHI args to be gimple values.
4702
4703 2014-04-17 Richard Biener <rguenther@suse.de>
4704
4705 PR tree-optimization/60841
4706 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
4707 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
4708 of stmts to SLP build.
4709 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
4710 (vect_analyze_slp): Likewise.
4711 (vect_analyze_slp_instance): Likewise.
4712 (vect_build_slp_tree): Limit overall SLP tree growth.
4713 * tree-vectorizer.h (vect_analyze_data_refs,
4714 vect_analyze_slp): Adjust prototypes.
4715
4716 2014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
4717
4718 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
4719 Silvermont.
4720
4721 2014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
4722
4723 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
4724 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
4725 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
4726 for TARGET_SLOW_PSHUFB
4727
4728 2014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
4729
4730 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
4731 * config/i386/i386.c (intel_cost): Ditto.
4732
4733 2014-04-17 Joey Ye <joey.ye@arm.com>
4734
4735 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
4736
4737 2014-04-16 Jan Hubicka <hubicka@ucw.cz>
4738
4739 * opts.c (common_handle_option): Disable -fipa-reference coorectly
4740 with -fuse-profile.
4741
4742 2014-04-16 Jan Hubicka <hubicka@ucw.cz>
4743
4744 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
4745 (type_all_derivations_known_p): New predicate.
4746 (type_all_ctors_visible_p): New predicate.
4747 (type_possibly_instantiated_p): New predicate.
4748 (get_odr_type): Compute all_derivations_known.
4749 (dump_odr_type): Dump the flag.
4750 (maybe_record_type): Cleanup.
4751 (record_target_from_binfo): Add bases_to_consider array;
4752 record bases for types w/o instances and skip CXX destructor.
4753 (possible_polymorphic_call_targets_1): Add bases_to_consider
4754 and consider_construction parameters; check if type may have instance.
4755 (get_polymorphic_call_info): Set maybe_in_construction to true
4756 when we know nothing.
4757 (record_targets_from_bases): Skip CXX destructors; they are
4758 never called for types in construction.
4759 (possible_polymorphic_call_targets): Do not record target when
4760 type may not have instance.
4761
4762 2014-04-16 Jan Hubicka <hubicka@ucw.cz>
4763
4764 PR ipa/60854
4765 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
4766 external aliases alive, too.
4767
4768 2014-04-16 Andrew Pinski <apinski@cavium.com>
4769
4770 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
4771 definition.
4772
4773 2014-04-16 Eric Botcazou <ebotcazou@adacore.com>
4774
4775 * final.c (compute_alignments): Do not apply loop alignment to a block
4776 falling through to the exit.
4777
4778 2014-04-16 Catherine Moore <clm@codesourcery.com>
4779
4780 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
4781 Adjust constraints for microMIPS store patterns.
4782
4783 2014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
4784
4785 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
4786
4787 2014-04-16 Eric Botcazou <ebotcazou@adacore.com>
4788
4789 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
4790 (append_use): Run at -O0.
4791 (append_vdef): Likewise.
4792 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
4793 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
4794
4795 2014-04-16 Jakub Jelinek <jakub@redhat.com>
4796
4797 PR tree-optimization/60844
4798 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
4799 (propagate_op_to_single_use, remove_visited_stmt_chain,
4800 linearize_expr, repropagate_negates, reassociate_bb): Use it
4801 instead of gsi_remove.
4802
4803 2014-04-16 Martin Jambor <mjambor@suse.cz>
4804
4805 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
4806 ipa_transforms_to_apply.
4807 (cgraph_function_versioning): Assert that old_node has empty
4808 ipa_transforms_to_apply.
4809 * trans-mem.c (ipa_tm_create_version): Likewise.
4810 * tree-inline.c (tree_function_versioning): Do not duplicate
4811 ipa_transforms_to_apply.
4812
4813 2014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4814
4815 PR target/60817
4816 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
4817 x86_64-*-* cases.
4818 Pass necessary as flags on 64-bit Solaris/x86.
4819 Use lowercase relocs for x86_64-*-*.
4820 * configure: Regenerate.
4821
4822 2014-04-15 Jan Hubicka <jh@suse.cz>
4823
4824 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
4825 (maybe_record_node, likely_target_p): Use it.
4826
4827 2014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4828
4829 PR target/60839
4830 Revert following patch
4831
4832 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
4833
4834 PR target/60735
4835 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
4836 software floating point or no floating point registers, do not
4837 allow any type in the FPRs. Eliminate a test for SPE SIMD types
4838 in GPRs that occurs after we tested for GPRs that would never be
4839 true.
4840
4841 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
4842 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
4843 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
4844 specifically allow DDmode, since that does not use the SPE SIMD
4845 instructions.
4846
4847 2014-03-21 Mark Wielaard <mjw@redhat.com>
4848
4849 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
4850 as unsigned or int depending on type and value used.
4851
4852 2014-04-15 Richard Biener <rguenther@suse.de>
4853
4854 PR rtl-optimization/56965
4855 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
4856 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
4857 ... here.
4858 * alias.c (true_dependence_1): Do not call
4859 nonoverlapping_component_refs_p.
4860 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
4861 nonoverlapping_component_refs_p.
4862 (indirect_refs_may_alias_p): Likewise.
4863
4864 2014-04-15 Teresa Johnson <tejohnson@google.com>
4865
4866 * cfg.c (dump_bb_info): Fix flags check.
4867 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
4868
4869 2014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4870
4871 PR rtl-optimization/60663
4872 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
4873 avoid 0 cost.
4874
4875 2014-04-15 Richard Biener <rguenther@suse.de>
4876
4877 * lto-streamer.h (LTO_major_version): Bump to 4.
4878
4879 2014-04-15 Richard Biener <rguenther@suse.de>
4880
4881 * common.opt (lto_partition_model): New enum.
4882 (flto-partition=): Merge separate options with a single with argument,
4883 add -flto-partition=one support.
4884 * flag-types.h (enum lto_partition_model): Declare.
4885 * opts.c (finish_options): Remove duplicate -flto-partition=
4886 option check.
4887 * lto-wrapper.c (run_gcc): Adjust.
4888
4889 2014-04-15 Richard Biener <rguenther@suse.de>
4890
4891 * alias.c (ncr_compar): New function.
4892 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
4893
4894 2014-04-15 Richard Biener <rguenther@suse.de>
4895
4896 * alias.c (record_component_aliases): Do not walk BINFOs.
4897
4898 2014-04-15 Richard Biener <rguenther@suse.de>
4899
4900 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
4901 Add struct function argument and adjust.
4902 (find_func_aliases_for_call): Likewise.
4903 (find_func_aliases): Likewise.
4904 (find_func_clobbers): Likewise.
4905 (intra_create_variable_infos): Likewise.
4906 (compute_points_to_sets): Likewise.
4907 (ipa_pta_execute): Adjust. Do not push/pop cfun.
4908
4909 2014-04-15 Richard Biener <rguenther@suse.de>
4910
4911 * tree.c (iterative_hash_expr): Use enum tree_code_class
4912 to store TREE_CODE_CLASS.
4913 (tree_block): Likewise.
4914 (tree_set_block): Likewise.
4915 * tree.h (fold_build_pointer_plus_loc): Use
4916 convert_to_ptrofftype_loc.
4917
4918 2014-04-15 Jakub Jelinek <jakub@redhat.com>
4919
4920 PR plugins/59335
4921 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
4922 added in 4.9.
4923
4924 2014-04-15 Eric Botcazou <ebotcazou@adacore.com>
4925
4926 * cfgloop.h (struct loop): Move force_vectorize down.
4927 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
4928 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
4929 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
4930 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
4931 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
4932 * tree-core.h (enum annot_expr_kind): Add new kind values.
4933 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
4934 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
4935 kinds.
4936 * tree.def (ANNOTATE_EXPR): Tweak comment.
4937
4938 2014-04-14 Jan Hubicka <hubicka@ucw.cz>
4939
4940 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
4941 cxa_pure_virtual).
4942
4943 2014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
4944
4945 * tree.h (TYPE_IDENTIFIER): Declare.
4946 * tree.c (subrange_type_for_debug_p): Use it.
4947 * godump.c (go_format_type): Likewise.
4948 * dwarf2out.c (is_cxx_auto, modified_type_die,
4949 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
4950 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
4951
4952 2014-04-14 Jan Hubicka <hubicka@ucw.cz>
4953
4954 PR lto/60820
4955 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
4956
4957 2014-04-14 Uros Bizjak <ubizjak@gmail.com>
4958
4959 * config/i386/i386.c (examine_argument): Return bool. Return true if
4960 parameter should be passed in memory.
4961 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
4962 (construct_container): Update calls to examine_argument.
4963 (function_arg_advance_64): Ditto.
4964 (return_in_memory_32): Merge with ix86_return_in_memory.
4965 (return_in_memory_64): Ditto.
4966 (return_in_memory_ms_64): Ditto.
4967
4968 2014-04-14 Jan Hubicka <hubicka@ucw.cz>
4969
4970 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
4971 * coverage.c (coverage_compute_profile_id): Handle externally visible
4972 symbols.
4973
4974 2014-04-14 Martin Jambor <mjambor@suse.cz>
4975
4976 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
4977 DECL_DISREGARD_INLINE_LIMITS functions.
4978
4979 2014-04-14 H.J. Lu <hongjiu.lu@intel.com>
4980
4981 PR target/60827
4982 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
4983
4984 2014-04-14 H.J. Lu <hongjiu.lu@intel.com>
4985
4986 PR target/60827
4987 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
4988 optimize_insn_for_speed_p instead of
4989 optimize_function_for_speed_p.
4990
4991 2014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
4992
4993 * doc/invoke.texi (free): Document AArch64.
4994
4995 2014-04-14 Richard Biener <rguenther@suse.de>
4996
4997 PR tree-optimization/60042
4998 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
4999 (insert_into_preds_of_block): Do not prevent PHI insertion
5000 for REFERENCE exprs here ...
5001 (eliminate_dom_walker::before_dom_children): ... but prevent
5002 their use here under similar conditions when applied to the
5003 IL after PRE optimizations.
5004
5005 2014-04-14 Richard Biener <rguenther@suse.de>
5006
5007 * passes.def: Move early points-to after early SRA.
5008
5009 2014-04-14 Richard Biener <rguenther@suse.de>
5010
5011 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
5012 check for which sign-changes we allow when forwarding
5013 a converted value into a switch.
5014
5015 2014-04-14 Eric Botcazou <ebotcazou@adacore.com>
5016
5017 * stor-layout.c (place_field): Finalize non-constant offset for the
5018 field, if any.
5019
5020 2014-04-14 Richard Biener <rguenther@suse.de>
5021
5022 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
5023 as argument.
5024 (expand_switch_using_bit_tests_p): Likewise.
5025 (process_switch): Compute and pass on speed_p based on the
5026 switch stmt.
5027 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
5028 optimize_bb_for_speed_p.
5029
5030 2014-04-14 Eric Botcazou <ebotcazou@adacore.com>
5031
5032 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
5033 * function.h (struct function): Rename has_force_vect_loops into
5034 has_force_vectorize_loops.
5035 * lto-streamer-in.c (input_cfg): Adjust for renaming.
5036 (input_struct_function_base): Likewise.
5037 * lto-streamer-out.c (output_cfg): Likewise.
5038 (output_struct_function_base): Likewise.
5039 * omp-low.c (expand_omp_simd): Likewise.
5040 * tree-cfg.c (move_sese_region_to_fn): Likewise.
5041 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
5042 (version_loop_for_if_conversion): Likewise.
5043 (tree_if_conversion): Likewise.
5044 (main_tree_if_conversion): Likewise.
5045 (gate_tree_if_conversion): Likewise.
5046 * tree-inline.c (copy_loops): Likewise.
5047 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
5048 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
5049 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
5050 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
5051 * tree-vectorizer.c (vectorize_loops): Likewise.
5052 * tree-vectorizer.h (unlimited_cost_model): Likewise.
5053
5054 2014-04-14 Richard Biener <rguenther@suse.de>
5055
5056 PR lto/60720
5057 * lto-streamer-out.c (wrap_refs): New function.
5058 (lto_output): Wrap symbol references in global initializes in
5059 type-preserving MEM_REFs.
5060
5061 2014-04-14 Christian Bruel <christian.bruel@st.com>
5062
5063 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
5064
5065 2014-04-14 Christian Bruel <christian.bruel@st.com>
5066
5067 * config/sh/sh.md (setmemqi): New expand pattern.
5068 * config/sh/sh.h (CLEAR_RATIO): Define.
5069 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
5070 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
5071
5072 2014-04-14 Richard Biener <rguenther@suse.de>
5073
5074 PR middle-end/55022
5075 * fold-const.c (negate_expr_p): Don't negate directional rounding
5076 division.
5077 (fold_negate_expr): Likewise.
5078
5079 2014-04-14 Richard Biener <rguenther@suse.de>
5080
5081 PR tree-optimization/59817
5082 PR tree-optimization/60453
5083 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
5084 recursion to catch all CHRECs in the scalar evolution and restrict
5085 the predicate for the remains appropriately.
5086
5087 2014-04-12 Catherine Moore <clm@codesourcery.com>
5088
5089 * config/mips/constraints.md: Add new register constraint "kb".
5090 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
5091 (*movhi_internal): Likewise.
5092 (*movqi_internal): Likewise.
5093 * config/mips/mips.h (M16_STORE_REGS): New register class.
5094 (REG_CLASS_NAMES): Add M16_STORE_REGS.
5095 (REG_CLASS_CONTENTS): Likewise.
5096 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
5097
5098 2014-04-11 Tobias Burnus <burnus@net-b.de>
5099
5100 PR c/60194
5101 * doc/invoke.texi (-Wformat-signedness): Document it.
5102 (Wformat=2): Mention that this enables -Wformat-signedness.
5103
5104 2014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
5105
5106 * common/config/epiphany/epiphany-common.c
5107 (epiphany_option_optimization_table): Enable section anchors by
5108 default at -O1 or higher.
5109 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
5110 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
5111 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
5112 carries no extra cost.
5113 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
5114 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
5115 * config/epiphany/predicates.md (memclob_operand): New predicate.
5116 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
5117 Use memclob_operand predicate and X constraint for operand 3.
5118
5119 2014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
5120
5121 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
5122 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
5123 its operands.
5124
5125 2014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
5126
5127 PR rtl-optimization/60651
5128 * mode-switching.c (optimize_mode_switching): Make sure to emit
5129 sets of a lower numbered entity before sets of a higher numbered
5130 entity to a mode of the same or lower priority.
5131 When creating a seginfo for a basic block that starts with a code
5132 label, move the insertion point past the code label.
5133 (new_seginfo): Document and enforce requirement that
5134 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
5135 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
5136 * doc/tm.texi: Regenerate.
5137
5138 2014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
5139
5140 PR target/60811
5141 * config/arc/arc.c (arc_save_restore): Fix assert typo.
5142
5143 2013-04-11 Jakub Jelinek <jakub@redhat.com>
5144
5145 * BASE-VER: Set to 4.10.0.
5146
5147 2014-04-11 Tobias Burnus <burnus@net-b.de>
5148
5149 PR other/59055
5150 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
5151 * doc/gcc.texi (Service): Update description in the @menu
5152 * doc/invoke.texi (Option Summary): Remove misplaced and
5153 duplicated @menu.
5154
5155 2014-04-11 Steve Ellcey <sellcey@mips.com>
5156 Jakub Jelinek <jakub@redhat.com>
5157
5158 PR middle-end/60556
5159 * expr.c (convert_move): Use emit_store_flag_force instead of
5160 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
5161 argument to it.
5162
5163 2014-04-11 Richard Biener <rguenther@suse.de>
5164
5165 PR middle-end/60797
5166 * varasm.c (assemble_alias): Avoid endless error reporting
5167 recursion by setting TREE_ASM_WRITTEN.
5168
5169 2014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5170
5171 * config/s390/s390.md: Add a splitter for NOT rtx.
5172
5173 2014-04-11 Jakub Jelinek <jakub@redhat.com>
5174
5175 PR rtl-optimization/60663
5176 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
5177
5178 2014-04-10 Jan Hubicka <hubicka@ucw.cz>
5179 Jakub Jelinek <jakub@redhat.com>
5180
5181 PR lto/60567
5182 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
5183 flag from decl_node to node.
5184
5185 2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5186
5187 PR debug/60655
5188 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
5189 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
5190 ameliorating the cases where it can be.
5191
5192 2014-04-09 David Edelsohn <dje.gcc@gmail.com>
5193
5194 Revert
5195 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
5196
5197 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
5198 (loadsync_<mode>): Change mode.
5199 (load_quadpti, store_quadpti): New.
5200 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
5201 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
5202 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
5203
5204 2014-04-09 Cong Hou <congh@google.com>
5205
5206 PR testsuite/60773
5207 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
5208 documentation.
5209
5210 2014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5211
5212 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
5213 instead of vnor to exploit possible fusion opportunity in the
5214 future.
5215 (altivec_expand_vec_perm_const_le): Likewise.
5216
5217 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
5218
5219 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
5220 (loadsync_<mode>): Change mode.
5221 (load_quadpti, store_quadpti): New.
5222 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
5223 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
5224
5225 2014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
5226
5227 PR target/60763
5228 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
5229 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
5230 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
5231
5232 2014-04-08 Richard Biener <rguenther@suse.de>
5233
5234 PR middle-end/60706
5235 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
5236 a 64bit widest int print double-int similar to on HWI64 hosts.
5237
5238 2014-04-08 Richard Biener <rguenther@suse.de>
5239
5240 PR tree-optimization/60785
5241 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
5242 default defs properly.
5243
5244 2014-04-08 Nathan Sidwell <nathan@codesourcery.com>
5245
5246 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
5247 (Weffc++): Likewise.
5248
5249 2014-04-07 Jan Hubicka <hubcika@ucw.cz>
5250
5251 * ipa-devirt.c (maybe_record_node): When node is not recorded,
5252 set completep to false rather than true.
5253
5254 2014-04-07 Douglas B Rupp <rupp@adacore.com>
5255
5256 PR target/60504
5257 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
5258 ARM_TARGET2_DWARF_FORMAT.
5259
5260 2014-04-07 Charles Baylis <charles.baylis@linaro.org>
5261
5262 PR target/60609
5263 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
5264 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
5265 ADDR_DIFF_VEC.
5266
5267 2014-04-07 Richard Biener <rguenther@suse.de>
5268
5269 PR tree-optimization/60766
5270 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
5271 (may_eliminate_iv): Convert cand_value_at result to desired type.
5272
5273 2014-04-07 Jason Merrill <jason@redhat.com>
5274
5275 PR c++/60731
5276 * common.opt (-fno-gnu-unique): Add.
5277 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
5278
5279 2014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5280
5281 * haifa-sched.c: Fix outdated function reference and minor
5282 grammar errors in introductory comment.
5283
5284 2014-04-07 Richard Biener <rguenther@suse.de>
5285
5286 PR middle-end/60750
5287 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
5288 for noreturn calls.
5289 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
5290
5291 2014-04-06 John David Anglin <danglin@gcc.gnu.org>
5292
5293 PR debug/55794
5294 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
5295 size accounting for thunks.
5296 (pa_asm_output_mi_thunk): Use final_start_function() and
5297 final_end_function() to output function start and end directives.
5298
5299 2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
5300
5301 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
5302 device specific ISA/ feature information. Remove short_sp and
5303 errata_skip ds. Add avr_device_specific_features enum to have device
5304 specific info.
5305 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
5306 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
5307 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
5308 updated device specific info.
5309 * config/avr/avr-mcus.def: Merge device specific details to
5310 dev_attribute field.
5311 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
5312 errata_skip.
5313 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
5314 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
5315 assembler if RMW isa supported by current device.
5316 * config/avr/genmultilib.awk: Update as device info structure changed.
5317 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
5318
5319 2014-04-04 Cong Hou <congh@google.com>
5320
5321 PR tree-optimization/60656
5322 * tree-vect-stmts.c (supportable_widening_operation):
5323 Fix a bug that elements in a vector with vect_used_by_reduction
5324 property are incorrectly reordered when the operation on it is not
5325 consistant with the one in reduction operation.
5326
5327 2014-04-04 John David Anglin <danglin@gcc.gnu.org>
5328
5329 PR rtl-optimization/60155
5330 * gcse.c (record_set_data): New function.
5331 (single_set_gcse): New function.
5332 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
5333 (hoist_code): Likewise.
5334 (get_pressure_class_and_nregs): Likewise.
5335
5336 2014-04-04 Eric Botcazou <ebotcazou@adacore.com>
5337
5338 * explow.c (probe_stack_range): Emit a final optimization blockage.
5339
5340 2014-04-04 Anthony Green <green@moxielogic.com>
5341
5342 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
5343 typos.
5344
5345 2014-04-04 Jan Hubicka <hubicka@ucw.cz>
5346
5347 PR ipa/59626
5348 * lto-cgraph.c (input_overwrite_node): Check that partitioning
5349 flags are set only during streaming.
5350 * ipa.c (process_references, walk_polymorphic_call_targets,
5351 symtab_remove_unreachable_nodes): Drop bodies of always inline
5352 after early inlining.
5353 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
5354
5355 2014-04-04 Jakub Jelinek <jakub@redhat.com>
5356 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5357
5358 PR debug/60655
5359 * dwarf2out.c (const_ok_for_output_1): Reject expressions
5360 containing a NOT.
5361
5362 2014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5363
5364 PR bootstrap/60743
5365 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
5366 duration.
5367 (cortex_a53_fdivd): Likewise.
5368
5369 2014-04-04 Martin Jambor <mjambor@suse.cz>
5370
5371 PR ipa/60640
5372 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
5373 Adjust all callers.
5374 * cgraph.c (clone_of_p): Also return true if thunks match.
5375 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
5376 cgraph_function_or_thunk_node and an obsolete comment.
5377 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
5378 file.
5379 (build_function_decl_skip_args): Likewise.
5380 (set_new_clone_decl_and_node_flags): New function.
5381 (duplicate_thunk_for_node): Likewise.
5382 (redirect_edge_duplicating_thunks): Likewise.
5383 (cgraph_clone_node): New parameter args_to_skip, pass it to
5384 redirect_edge_duplicating_thunks which is called instead of
5385 cgraph_redirect_edge_callee.
5386 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
5387 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
5388
5389 2014-04-04 Jeff Law <law@redhat.com>
5390
5391 PR target/60657
5392 * config/arm/predicates.md (const_int_I_operand): New predicate.
5393 (const_int_M_operand): Similarly.
5394 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
5395 const_int_operand.
5396 (insv_t2, extv_reg, extzv_t2): Likewise.
5397 (load_multiple_with_writeback): Similarly for const_int_I_operand.
5398 (pop_multiple_with_writeback_and_return): Likewise.
5399 (vfp_pop_multiple_with_writeback): Likewise
5400
5401 2014-04-04 Richard Biener <rguenther@suse.de>
5402
5403 PR ipa/60746
5404 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
5405 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
5406 non-GIMPLE_LABELs.
5407 * gimplify.h (gimple_add_tmp_var_fn): Declare.
5408 * gimplify.c (gimple_add_tmp_var_fn): New function.
5409 * gimple-expr.h (create_tmp_reg_fn): Declare.
5410 * gimple-expr.c (create_tmp_reg_fn): New function.
5411 * gimple-low.c (record_vars_into): Don't change cfun.
5412 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
5413 code generation without cfun.
5414
5415 2014-04-04 Thomas Schwinge <thomas@codesourcery.com>
5416
5417 PR bootstrap/60719
5418 * Makefile.in (install-driver): Fix shell scripting.
5419
5420 2014-04-03 Cong Hou <congh@google.com>
5421
5422 PR tree-optimization/60505
5423 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
5424 threshold of number of iterations below which no vectorization
5425 will be done.
5426 * tree-vect-loop.c (new_loop_vec_info):
5427 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
5428 * tree-vect-loop.c (vect_analyze_loop_operations):
5429 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
5430 * tree-vect-loop.c (vect_transform_loop):
5431 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
5432 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
5433 of iterations of the loop and see if we should build the epilogue.
5434
5435 2014-04-03 Richard Biener <rguenther@suse.de>
5436
5437 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
5438 (streamer_tree_cache_create): Adjust.
5439 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
5440 to allow optional nodes array.
5441 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
5442 (streamer_tree_cache_append): Likewise.
5443 (streamer_tree_cache_create): Create nodes array optionally
5444 as specified by parameter.
5445 * lto-streamer-out.c (create_output_block): Avoid maintaining
5446 the node array in the writer cache.
5447 (DFS_write_tree): Remove assertion.
5448 (produce_asm_for_decls): Free the out decl state hash table early.
5449 * lto-streamer-in.c (lto_data_in_create): Adjust for
5450 streamer_tree_cache_create prototype change.
5451
5452 2014-04-03 Richard Biener <rguenther@suse.de>
5453
5454 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
5455 set TREE_CHAIN to NULL_TREE.
5456
5457 2014-04-03 Richard Biener <rguenther@suse.de>
5458
5459 PR tree-optimization/60740
5460 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
5461 over all GIMPLE_COND operands.
5462
5463 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
5464
5465 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
5466 (Weffc++): Remove Scott's numbering, merge lists and reference
5467 Wnon-virtual-dtor.
5468
5469 2014-04-03 Nick Clifton <nickc@redhat.com>
5470
5471 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
5472 properly.
5473
5474 2014-04-03 Martin Jambor <mjambor@suse.cz>
5475
5476 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
5477 mention gcc_unreachable before failing.
5478 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
5479 removed symbols.
5480
5481 2014-04-02 Jan Hubicka <hubicka@ucw.cz>
5482
5483 PR ipa/60659
5484 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
5485 inconsistent code and instead mark the context inconsistent.
5486 (possible_polymorphic_call_targets): For inconsistent contexts
5487 return empty complete list.
5488
5489 2014-04-02 Anthony Green <green@moxielogic.com>
5490
5491 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
5492 (extendqisi2, extendhisi2): Define.
5493 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
5494 (WCHAR_TYPE): Change to unsigned int.
5495
5496 2014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5497
5498 PR tree-optimization/60733
5499 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
5500 insertion point for PHI candidates to be the end of the feeding
5501 block for the PHI argument.
5502
5503 2014-04-02 Vladimir Makarov <vmakarov@redhat.com>
5504
5505 PR rtl-optimization/60650
5506 * lra-constraints.c (process_alt_operands): Decrease reject for
5507 earlyclobber matching.
5508
5509 2014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5510
5511 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
5512
5513 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5514
5515 * config/spu/spu.c (pad_bb): Do not crash when the last
5516 insn is CODE_FOR_blockage.
5517
5518 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5519
5520 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
5521 lies outside the target mode.
5522
5523 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
5524
5525 PR target/60735
5526 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
5527 software floating point or no floating point registers, do not
5528 allow any type in the FPRs. Eliminate a test for SPE SIMD types
5529 in GPRs that occurs after we tested for GPRs that would never be
5530 true.
5531
5532 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
5533 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
5534 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
5535 specifically allow DDmode, since that does not use the SPE SIMD
5536 instructions.
5537
5538 2014-04-02 Richard Biener <rguenther@suse.de>
5539
5540 PR middle-end/60729
5541 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
5542 MODE_INTs. Properly use negv_optab.
5543 (expand_abs): Likewise.
5544
5545 2014-04-02 Richard Biener <rguenther@suse.de>
5546
5547 PR bootstrap/60719
5548 * Makefile.in (install-driver): Guard extra installs with special
5549 names properly.
5550
5551 2014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
5552
5553 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5554 Document vec_vgbbd.
5555
5556 2014-04-01 Richard Henderson <rth@redhat.com>
5557
5558 PR target/60704
5559 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
5560 alternative enabled before register allocation.
5561
5562 2014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
5563
5564 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
5565 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
5566 typo.
5567 (nios2_large_got_address): Remove unneeded 'sym' parameter.
5568 (nios2_got_address): Update nios2_large_got_address call site.
5569 (nios2_delegitimize_address): New function.
5570 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
5571 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
5572 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
5573
5574 2014-04-01 Martin Husemann <martin@duskware.de>
5575
5576 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
5577 for -mabi=32.
5578
5579 2014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
5580
5581 PR rtl-optimization/60604
5582 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
5583 check from register_operand.
5584 (register_operand): Redefine in terms of general_operand.
5585 (nonmemory_operand): Use register_operand for the non-constant cases.
5586
5587 2014-04-01 Richard Biener <rguenther@suse.de>
5588
5589 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
5590
5591 2014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
5592
5593 * doc/invoke.texi (mapp-regs): Clarify.
5594
5595 2014-03-31 Ulrich Drepper <drepper@gmail.com>
5596
5597 * config/i386/avx512fintrin.h (__v32hi): Define type.
5598 (__v64qi): Likewise.
5599 (_mm512_set1_epi8): Define.
5600 (_mm512_set1_epi16): Define.
5601 (_mm512_set4_epi32): Define.
5602 (_mm512_set4_epi64): Define.
5603 (_mm512_set4_pd): Define.
5604 (_mm512_set4_ps): Define.
5605 (_mm512_setr4_epi64): Define.
5606 (_mm512_setr4_epi32): Define.
5607 (_mm512_setr4_pd): Define.
5608 (_mm512_setr4_ps): Define.
5609 (_mm512_setzero_epi32): Define.
5610
5611 2014-03-31 Martin Jambor <mjambor@suse.cz>
5612
5613 PR middle-end/60647
5614 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
5615 callsite_arguments_match_p. Updated all callers. Also check types of
5616 corresponding formal parameters and actual arguments.
5617 (not_all_callers_have_enough_arguments_p) Renamed to
5618 some_callers_have_mismatched_arguments_p.
5619
5620 2014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
5621
5622 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
5623
5624 2014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
5625
5626 PR target/60034
5627 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
5628 section anchor.
5629
5630 2014-03-30 Uros Bizjak <ubizjak@gmail.com>
5631
5632 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
5633 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
5634 Split out
5635 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
5636 Use FMAMODE_NOVF512 mode iterator.
5637 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
5638 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
5639 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
5640 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
5641 Split out
5642 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
5643 Use VF_128_256 mode iterator.
5644 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
5645 Ditto.
5646
5647 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
5648
5649 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
5650 static chain if needed.
5651
5652 2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
5653
5654 PR target/60697
5655 * lra-constraints.c (index_part_to_reg): New.
5656 (process_address): Use it.
5657
5658 2014-03-27 Jeff Law <law@redhat.com>
5659 Jakub Jelinek <jakub@redhat.com>
5660
5661 PR target/60648
5662 * expr.c (do_tablejump): Use simplify_gen_binary rather than
5663 gen_rtx_{PLUS,MULT} to build up the address expression.
5664
5665 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
5666 creating non-canonical RTL.
5667
5668 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
5669
5670 PR ipa/60243
5671 * ipa-inline.c (want_inline_small_function_p): Short circuit large
5672 functions; reorganize to make cheap checks first.
5673 (inline_small_functions): Do not estimate growth when dumping;
5674 it is expensive.
5675 * ipa-inline.h (inline_summary): Add min_size.
5676 (growth_likely_positive): New function.
5677 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
5678 (set_cond_stmt_execution_predicate): Cleanup.
5679 (estimate_edge_size_and_time): Compute min_size.
5680 (estimate_calls_size_and_time): Likewise.
5681 (estimate_node_size_and_time): Likewise.
5682 (inline_update_overall_summary): Update min_size.
5683 (do_estimate_edge_time): Likewise.
5684 (do_estimate_edge_size): Update.
5685 (do_estimate_edge_hints): Update.
5686 (growth_likely_positive): New function.
5687
5688 2014-03-28 Jakub Jelinek <jakub@redhat.com>
5689
5690 PR target/60693
5691 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
5692 also if addr has VOIDmode.
5693
5694 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5695
5696 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
5697 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
5698 Declare extern.
5699 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
5700 instructions as well as AdvancedSIMD loads.
5701
5702 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5703
5704 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
5705 Use crypto_aese type.
5706 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
5707 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
5708 crypto_aese, crypto_aesmc. Move to types.md.
5709 * config/arm/types.md (crypto_aes): Split into crypto_aese,
5710 crypto_aesmc.
5711 * config/arm/iterators.md (crypto_type): Likewise.
5712
5713 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
5714
5715 * cgraph.c: Include expr.h and tree-dfa.h.
5716 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
5717 remove LHS.
5718
5719 2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
5720
5721 PR target/60675
5722 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
5723 regs from checking multi-reg pseudos.
5724
5725 2014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5726
5727 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
5728
5729 2014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5730
5731 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
5732 if it would clobber the stack pointer, even temporarily.
5733
5734 2014-03-28 Eric Botcazou <ebotcazou@adacore.com>
5735
5736 * mode-switching.c: Make small adjustments to the top comment.
5737
5738 2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5739
5740 * config/rs6000/constraints.md (wD constraint): New constraint to
5741 match the constant integer to get the top DImode/DFmode out of a
5742 vector in a VSX register.
5743
5744 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
5745 match the constant integer to get the top DImode/DFmode out of a
5746 vector in a VSX register.
5747
5748 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
5749 for ISA 2.07.
5750
5751 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5752 vbpermq builtins.
5753
5754 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
5755 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
5756
5757 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
5758 Optimize vec_extract of 64-bit values, where the value being
5759 extracted is in the top word, where we can use scalar
5760 instructions. Add direct move and store support. Combine the big
5761 endian/little endian vector select load support into a single insn.
5762 (vsx_extract_<mode>_internal1): Likewise.
5763 (vsx_extract_<mode>_internal2): Likewise.
5764 (vsx_extract_<mode>_load): Likewise.
5765 (vsx_extract_<mode>_store): Likewise.
5766 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
5767 combined into vsx_extract_<mode>_load.
5768 (vsx_extract_<mode>_one_le): Likewise.
5769
5770 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
5771 define the top 64-bit vector element.
5772
5773 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
5774 constraint.
5775
5776 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5777 Document vec_vbpermq builtin.
5778
5779 PR target/60672
5780 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
5781 enable use of xxsldwi and xxpermdi builtin functions.
5782 (vec_xxpermdi): Likewise.
5783
5784 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5785 Document use of vec_xxsldwi and vec_xxpermdi builtins.
5786
5787 2014-03-27 Vladimir Makarov <vmakarov@redhat.com>
5788
5789 PR rtl-optimization/60650
5790 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
5791 first_p. Use it.
5792 (find_spills_for): New.
5793 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
5794 Spill all pseudos on the second iteration.
5795
5796 2014-03-27 Marek Polacek <polacek@redhat.com>
5797
5798 PR c/50347
5799 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
5800 types.
5801
5802 2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5803
5804 * config/s390/s390.c (s390_can_use_return_insn): Check for
5805 call-saved FPRs on 31 bit.
5806
5807 2014-03-27 Jakub Jelinek <jakub@redhat.com>
5808
5809 PR middle-end/60682
5810 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
5811 if they need regimplification, just drop them instead of
5812 calling gimple_regimplify_operands on them.
5813
5814 2014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
5815
5816 PR target/60580
5817 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
5818 (aarch64_frame_pointer_required): Adjust logic.
5819 (aarch64_can_eliminate): Adjust logic.
5820 (aarch64_override_options_after_change): Adjust logic.
5821
5822 2014-03-27 Dehao Chen <dehao@google.com>
5823
5824 * ipa-inline.c (early_inliner): Update node's inline info.
5825
5826 2014-03-26 Dehao Chen <dehao@google.com>
5827
5828 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
5829 compiler inserted conditional jumps for NAN float check.
5830
5831 2014-03-26 Jakub Jelinek <jakub@redhat.com>
5832
5833 * ubsan.h (ubsan_create_data): Change second argument's type
5834 to const location_t *.
5835 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
5836 _("<unknown>").
5837 (ubsan_create_data): Change second argument to const location_t *PLOC.
5838 Create Loc field whenever PLOC is non-NULL.
5839 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
5840 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
5841 callers.
5842
5843 PR other/59545
5844 * real.c (real_to_integer2): Change type of low to UHWI.
5845
5846 2014-03-26 Tobias Burnus <burnus@net-b.de>
5847
5848 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
5849 (CILK_SELF_SPECS): New define.
5850 (driver_self_specs): Use it.
5851
5852 2014-03-26 Richard Biener <rguenther@suse.de>
5853
5854 * tree-pretty-print.c (percent_K_format): Implement special
5855 case for LTO and its stripped down BLOCK tree.
5856
5857 2014-03-26 Jakub Jelinek <jakub@redhat.com>
5858
5859 PR sanitizer/60636
5860 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
5861
5862 * tree-vrp.c (simplify_internal_call_using_ranges): If only
5863 one range is range_int_cst_p, but not both, at least optimize
5864 addition/subtraction of 0 and multiplication by 0 or 1.
5865 * gimple-fold.c (gimple_fold_call): Fold
5866 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
5867 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
5868 INTEGER_CSTs, try to fold at least x * 0 and y - y.
5869
5870 2014-03-26 Eric Botcazou <ebotcazou@adacore.com>
5871
5872 PR rtl-optimization/60452
5873 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
5874 <case REG>: Return 1 for invalid offsets from the frame pointer.
5875
5876 2014-03-26 Marek Polacek <polacek@redhat.com>
5877
5878 PR c/37428
5879 * doc/extend.texi (C Extensions): Mention variable-length arrays in
5880 a structure/union.
5881
5882 2014-03-26 Marek Polacek <polacek@redhat.com>
5883
5884 PR c/39525
5885 * doc/extend.texi (Designated Inits): Describe what happens to omitted
5886 field members.
5887
5888 2014-03-26 Marek Polacek <polacek@redhat.com>
5889
5890 PR other/59545
5891 * ira-color.c (update_conflict_hard_regno_costs): Perform the
5892 multiplication in unsigned type.
5893
5894 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
5895
5896 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
5897
5898 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
5899
5900 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
5901
5902 2014-03-25 Jan Hubicka <hubicka@ucw.cz>
5903
5904 PR ipa/60315
5905 * cif-code.def (UNREACHABLE) New code.
5906 * ipa-inline.c (inline_small_functions): Skip edges to
5907 __builtlin_unreachable.
5908 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
5909 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
5910 predicate to __bulitin_unreachable.
5911 (set_cond_stmt_execution_predicate): Fix issue when
5912 invert_tree_comparison returns ERROR_MARK.
5913 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
5914 propagate to inline clones.
5915 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
5916 to unreachable.
5917 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
5918 * cgraphclones.c (cgraph_clone_node): If call destination is already
5919 ureachable, do not redirect it back.
5920 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
5921 unreachable.
5922
5923 2014-03-25 Jan Hubicka <hubicka@ucw.cz>
5924
5925 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
5926 Do not modify inline clones.
5927
5928 2014-03-25 Jakub Jelinek <jakub@redhat.com>
5929
5930 * config/i386/i386.md (general_sext_operand): New mode attr.
5931 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
5932 don't generate (sign_extend (const_int)).
5933 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
5934 operands[2]. Use We constraint instead of <i> and
5935 <general_sext_operand> predicate instead of <general_operand>.
5936 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
5937 * config/i386/constraints.md (We): New constraint.
5938 * config/i386/predicates.md (x86_64_sext_operand,
5939 sext_operand): New predicates.
5940
5941 2014-03-25 Martin Jambor <mjambor@suse.cz>
5942
5943 PR ipa/60600
5944 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
5945 inconsistent devirtualizations to __builtin_unreachable.
5946
5947 2014-03-25 Marek Polacek <polacek@redhat.com>
5948
5949 PR c/35449
5950 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
5951
5952 2014-03-25 Alan Lawrence <alan.lawrence@arm.com>
5953
5954 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
5955 order of elements for big-endian.
5956
5957 2014-03-25 Richard Biener <rguenther@suse.de>
5958
5959 PR middle-end/60635
5960 * gimplify-me.c (gimple_regimplify_operands): Update the
5961 re-gimplifed stmt.
5962
5963 2014-03-25 Martin Jambor <mjambor@suse.cz>
5964
5965 PR ipa/59176
5966 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
5967 (lto_output_varpool_node): Likewise.
5968 (input_overwrite_node): Likewise.
5969 (input_varpool_node): Likewise.
5970
5971 2014-03-25 Richard Biener <rguenther@suse.de>
5972
5973 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
5974 (run_gcc): Likewise.
5975
5976 2014-03-25 Jakub Jelinek <jakub@redhat.com>
5977
5978 * combine.c (simplify_compare_const): Add MODE argument.
5979 Handle mode_width 0 as very large mode_width.
5980 (try_combine, simplify_comparison): Adjust callers.
5981
5982 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
5983 type to avoid signed integer overflow.
5984 * explow.c (plus_constant): Likewise.
5985
5986 2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
5987
5988 * doc/generic.texi: Correct typos.
5989
5990 2014-03-24 Tobias Burnus <burnus@net-b.de>
5991
5992 * doc/invoke.texi (-flto): Expand section about
5993 using static libraries with LTO.
5994
5995 2014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5996
5997 PR rtl-optimization/60501
5998 * optabs.def (addptr3_optab): New optab.
5999 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
6000 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
6001 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
6002
6003 * lra.c (emit_add3_insn): Use the addptr pattern if available.
6004
6005 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
6006
6007 2014-03-24 Ulrich Drepper <drepper@gmail.com>
6008
6009 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
6010 _mm512_set1_pd.
6011
6012 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
6013 (_mm256_undefined_ps): Define.
6014 (_mm256_undefined_pd): Define.
6015 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
6016 (_mm_undefined_pd): Define.
6017 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
6018 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
6019 (_mm512_undefined_ps): Define.
6020 (_mm512_undefined_pd): Define.
6021 Use _mm*_undefined_*.
6022 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
6023
6024 2014-03-24 Alex Velenko <Alex.Velenko@arm.com>
6025
6026 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
6027 (lshr_simd): DI mode added.
6028 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
6029 (aarch64_ushr_simddi): Likewise.
6030 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
6031 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
6032 (vshrd_n_u64): Likewise.
6033
6034 2014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6035
6036 * Makefile.in (s-macro_list): Depend on cc1.
6037
6038 2014-03-23 Teresa Johnson <tejohnson@google.com>
6039
6040 * ipa-utils.c (ipa_print_order): Use specified dump file.
6041
6042 2014-03-23 Eric Botcazou <ebotcazou@adacore.com>
6043
6044 PR rtl-optimization/60601
6045 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
6046
6047 * gcc.c (eval_spec_function): Initialize save_growing_value.
6048
6049 2014-03-22 Jakub Jelinek <jakub@redhat.com>
6050
6051 PR sanitizer/60613
6052 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
6053 code == MINUS_EXPR, never swap op0 with op1.
6054
6055 * toplev.c (init_local_tick): Avoid signed integer multiplication
6056 overflow.
6057 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
6058 shift by first operand's bitsize.
6059
6060 2014-03-21 Jakub Jelinek <jakub@redhat.com>
6061
6062 PR target/60610
6063 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
6064 redefine to 1 or 0.
6065 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
6066 TARGET_ISA_64BIT_P(x).
6067
6068 2014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6069
6070 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
6071 pattern for vector nor instead of subtract from splat(-1).
6072 (altivec_expand_vec_perm_const_le): Likewise.
6073
6074 2014-03-21 Richard Henderson <rth@twiddle.net>
6075
6076 PR target/60598
6077 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
6078 related insns after epilogue_completed.
6079
6080 2014-03-21 Martin Jambor <mjambor@suse.cz>
6081
6082 PR ipa/59176
6083 * cgraph.h (symtab_node): New flag body_removed.
6084 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
6085 when removing bodies.
6086 * symtab.c (dump_symtab_base): Dump body_removed flag.
6087 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
6088 had their bodies removed.
6089
6090 2014-03-21 Martin Jambor <mjambor@suse.cz>
6091
6092 PR ipa/60419
6093 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
6094 in the border.
6095
6096 2014-03-21 Richard Biener <rguenther@suse.de>
6097
6098 PR tree-optimization/60577
6099 * tree-core.h (struct tree_base): Document nothrow_flag use
6100 in VAR_DECL_NONALIASED.
6101 * tree.h (VAR_DECL_NONALIASED): New.
6102 (may_be_aliased): Adjust.
6103 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
6104
6105 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
6106
6107 * expr.c (expand_expr_real_1): Remove outdated comment.
6108
6109 2014-03-20 Jakub Jelinek <jakub@redhat.com>
6110
6111 PR middle-end/60597
6112 * ira.c (adjust_cleared_regs): Call copy_rtx on
6113 *reg_equiv[REGNO (loc)].src_p before passing it to
6114 simplify_replace_fn_rtx.
6115
6116 PR target/60568
6117 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
6118 into CONST, put pic register as first operand of PLUS. Use
6119 gen_const_mem for both 32-bit and 64-bit PIC got loads.
6120
6121 2014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6122
6123 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
6124
6125 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
6126
6127 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
6128 around for store forwarding issue in the FPU on the UT699.
6129 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
6130 loads and operations if -mfix-ut699 is specified.
6131 (divtf3_hq): Tweak attribute.
6132 (sqrttf2_hq): Likewise.
6133
6134 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
6135
6136 * calls.c (store_one_arg): Remove incorrect const qualification on the
6137 type of the temporary.
6138 * cfgexpand.c (expand_return): Likewise.
6139 * expr.c (expand_constructor): Likewise.
6140 (expand_expr_real_1): Likewise.
6141
6142 2014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6143
6144 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
6145 of parts.
6146
6147 2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
6148
6149 PR target/60039
6150 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
6151
6152 2014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
6153
6154 * config/arm/aarch-common-protos.h
6155 (alu_cost_table): Fix spelling of "extend".
6156 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
6157
6158 2014-03-19 Richard Biener <rguenther@suse.de>
6159
6160 PR middle-end/60553
6161 * tree-core.h (tree_type_common): Re-order pointer members
6162 to reduce recursion depth during GC walks.
6163
6164 2014-03-19 Marek Polacek <polacek@redhat.com>
6165
6166 PR sanitizer/60569
6167 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
6168 before accessing it.
6169
6170 2014-03-19 Richard Biener <rguenther@suse.de>
6171
6172 PR lto/59543
6173 * lto-streamer-in.c (input_function): In WPA stage do not drop
6174 debug stmts.
6175
6176 2014-03-19 Jakub Jelinek <jakub@redhat.com>
6177
6178 PR tree-optimization/60559
6179 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
6180 with build_zero_cst assignment.
6181
6182 2014-03-18 Kai Tietz <ktietz@redhat.com>
6183
6184 PR rtl-optimization/56356
6185 * sdbout.c (sdbout_parms): Verify that parms'
6186 incoming argument is valid.
6187 (sdbout_reg_parms): Likewise.
6188
6189 2014-03-18 Richard Henderson <rth@redhat.com>
6190
6191 PR target/60562
6192 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
6193 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
6194 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
6195
6196 2014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
6197
6198 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
6199 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
6200 Italicize plugin event names in description. Explain that
6201 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
6202 Remind that no GCC functions should be called after PLUGIN_FINISH.
6203 Explain what pragmas with expansion are.
6204
6205 2014-03-18 Martin Liska <mliska@suse.cz>
6206
6207 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
6208 gimple call statement is update.
6209 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
6210 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
6211
6212 2014-03-18 Jakub Jelinek <jakub@redhat.com>
6213
6214 PR sanitizer/60557
6215 * ubsan.c (ubsan_instrument_unreachable): Call
6216 initialize_sanitizer_builtins.
6217 (ubsan_pass): Likewise.
6218
6219 PR sanitizer/60535
6220 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
6221 varpool_finalize_decl instead of rest_of_decl_compilation.
6222
6223 2014-03-18 Richard Biener <rguenther@suse.de>
6224
6225 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
6226 by using bitmap_and_compl instead of bitmap_and_compl_into.
6227 (df_rd_transfer_function): Likewise.
6228
6229 2014-03-18 Richard Biener <rguenther@suse.de>
6230
6231 * doc/lto.texi (fresolution): Fix typo.
6232
6233 2014-03-18 Richard Biener <rguenther@suse.de>
6234
6235 * doc/invoke.texi (flto): Update for changes in 4.9.
6236
6237 2014-03-18 Richard Biener <rguenther@suse.de>
6238
6239 * doc/loop.texi: Remove section on the removed lambda framework.
6240 Update loop docs with recent changes in preserving loop structure.
6241
6242 2014-03-18 Richard Biener <rguenther@suse.de>
6243
6244 * doc/lto.texi (-fresolution): Document.
6245
6246 2014-03-18 Richard Biener <rguenther@suse.de>
6247
6248 * doc/contrib.texi: Adjust my name.
6249
6250 2014-03-18 Jakub Jelinek <jakub@redhat.com>
6251
6252 PR ipa/58721
6253 * internal-fn.c: Include diagnostic-core.h.
6254 (expand_BUILTIN_EXPECT): New function.
6255 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
6256 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
6257 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
6258 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
6259 IFN_BUILTIN_EXPECT.
6260 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
6261 Revert 3 argument __builtin_expect code.
6262 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
6263 * gimple-fold.c (gimple_fold_call): Likewise.
6264 * tree.h (fold_builtin_expect): New prototype.
6265 * builtins.c (build_builtin_expect_predicate): Add predictor
6266 argument, if non-NULL, create 3 argument __builtin_expect.
6267 (fold_builtin_expect): No longer static. Add ARG2 argument,
6268 pass it through to build_builtin_expect_predicate.
6269 (fold_builtin_2): Adjust caller.
6270 (fold_builtin_3): Handle BUILT_IN_EXPECT.
6271 * internal-fn.def (BUILTIN_EXPECT): New.
6272
6273 2014-03-18 Tobias Burnus <burnus@net-b.de>
6274
6275 PR ipa/58721
6276 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
6277 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
6278 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
6279
6280 2014-03-18 Jan Hubicka <hubicka@ucw.cz>
6281
6282 PR ipa/58721
6283 * predict.c (combine_predictions_for_bb): Fix up formatting.
6284 (expr_expected_value_1, expr_expected_value): Add predictor argument,
6285 fill what it points to if non-NULL.
6286 (tree_predict_by_opcode): Adjust caller, use the predictor.
6287 * predict.def (PRED_COMPARE_AND_SWAP): Add.
6288
6289 2014-03-18 Eric Botcazou <ebotcazou@adacore.com>
6290
6291 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
6292 proper constant for the store mode.
6293
6294 2014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
6295
6296 * symtab.c (change_decl_assembler_name): Fix transparent alias
6297 chain construction.
6298
6299 2014-03-16 Renlin Li <Renlin.Li@arm.com>
6300
6301 * config/aarch64/aarch64.c: Correct the comments about the
6302 aarch64 stack layout.
6303
6304 2014-03-18 Thomas Schwinge <thomas@codesourcery.com>
6305
6306 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
6307 check for GF_OMP_FOR_KIND_FOR.
6308
6309 2013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
6310
6311 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
6312 ymm and zmm register names.
6313
6314 2014-03-17 Jakub Jelinek <jakub@redhat.com>
6315
6316 PR target/60516
6317 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
6318 note creation for the 2010-08-31 changes.
6319
6320 2014-03-17 Marek Polacek <polacek@redhat.com>
6321
6322 PR middle-end/60534
6323 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
6324 as -fno-tree-loop-vectorize.
6325 (expand_omp_simd): Likewise.
6326
6327 2014-03-15 Eric Botcazou <ebotcazou@adacore.com>
6328
6329 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
6330 (eligible_for_call_delay): New prototype.
6331 * config/sparc/sparc.c (tls_call_delay): Rename into...
6332 (eligible_for_call_delay): ...this. Return false if the instruction
6333 cannot be put in the delay slot of a branch.
6334 (eligible_for_restore_insn): Simplify.
6335 (eligible_for_return_delay): Return false if the instruction cannot be
6336 put in the delay slot of a branch and simplify.
6337 (eligible_for_sibcall_delay): Return false if the instruction cannot be
6338 put in the delay slot of a branch.
6339 * config/sparc/sparc.md (fix_ut699): New attribute.
6340 (tls_call_delay): Delete.
6341 (in_call_delay): Reimplement.
6342 (eligible_for_sibcall_delay): Rename into...
6343 (in_sibcall_delay): ...this.
6344 (eligible_for_return_delay): Rename into...
6345 (in_return_delay): ...this.
6346 (in_branch_delay): Reimplement.
6347 (in_uncond_branch_delay): Delete.
6348 (in_annul_branch_delay): Delete.
6349
6350 2014-03-14 Richard Henderson <rth@redhat.com>
6351
6352 PR target/60525
6353 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
6354 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
6355 (*floathi<X87MODEF>2_i387_with_temp): Remove.
6356 (floathi splitters): Remove.
6357 (float<SWI48x>xf2): New pattern.
6358 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
6359 code that tried to handle DImode for 32-bit, but which was excluded
6360 by the pattern's condition. Drop allocation of stack temporary.
6361 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
6362 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
6363 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
6364 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
6365 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
6366 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
6367 (*float<SWI48><MODEF>2_sse_interunit): Remove.
6368 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
6369 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
6370 (*float<SWI48x><X87MODEF>2_i387): Remove.
6371 (all float _with_temp splitters): Remove.
6372 (*float<SWI48x><MODEF>2_i387): New pattern.
6373 (*float<SWI48><MODEF>2_sse): New pattern.
6374 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
6375 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
6376
6377 2014-03-14 Jakub Jelinek <jakub@redhat.com>
6378 Marek Polacek <polacek@redhat.com>
6379
6380 PR middle-end/60484
6381 * common.opt (dump_base_name_prefixed): New Variable.
6382 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
6383 if x_dump_base_name_prefixed is already set, set it at the end.
6384
6385 2014-03-14 Vladimir Makarov <vmakarov@redhat.com>
6386
6387 PR rtl-optimization/60508
6388 * lra-constraints.c (get_reload_reg): Add new parameter
6389 in_subreg_p.
6390 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
6391 Pass the new parameter values.
6392
6393 2014-03-14 Richard Biener <rguenther@suse.de>
6394
6395 * common.opt: Revert unintented changes from r205065.
6396 * opts.c: Likewise.
6397
6398 2014-03-14 Richard Biener <rguenther@suse.de>
6399
6400 PR middle-end/60518
6401 * cfghooks.c (split_block): Properly adjust all loops the
6402 block was a latch of.
6403
6404 2014-03-14 Martin Jambor <mjambor@suse.cz>
6405
6406 PR lto/60461
6407 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
6408 and simplify it.
6409
6410 2014-03-14 Georg-Johann Lay <avr@gjlay.de>
6411
6412 PR target/59396
6413 * config/avr/avr.c (avr_set_current_function): Pass function name
6414 through default_strip_name_encoding before sanity checking instead
6415 of skipping the first char of the assembler name.
6416
6417 2014-03-13 Richard Henderson <rth@redhat.com>
6418
6419 PR debug/60438
6420 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
6421 (ix86_force_to_memory, ix86_free_from_memory): Remove.
6422 * config/i386/i386-protos.h: Likewise.
6423 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
6424 in the expander instead of a splitter.
6425 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
6426 any possibility of requiring a memory.
6427 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
6428 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
6429 (fp branch splitters): Update for ix86_split_fp_branch.
6430 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
6431 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
6432 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
6433 (*fop_<MODEF>_2_i387): Remove f/r alternative.
6434 (*fop_<MODEF>_3_i387): Likewise.
6435 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
6436 (splitters for the fop_* register patterns): Remove.
6437 (fscalexf4_i387): Rename from *fscalexf4_i387.
6438 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
6439
6440 2014-03-13 Jakub Jelinek <jakub@redhat.com>
6441
6442 PR tree-optimization/59779
6443 * tree-dfa.c (get_ref_base_and_extent): Use double_int
6444 type for bitsize and maxsize instead of HOST_WIDE_INT.
6445
6446 2014-03-13 Steven Bosscher <steven@gcc.gnu.org>
6447
6448 PR rtl-optimization/57320
6449 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
6450 the CFG after thread_prologue_and_epilogue_insns.
6451
6452 2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
6453
6454 PR rtl-optimization/57189
6455 * lra-constraints.c (process_alt_operands): Disfavor spilling
6456 vector pseudos.
6457
6458 2014-03-13 Cesar Philippidis <cesar@codesourcery.com>
6459
6460 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
6461
6462 2014-03-13 Jakub Jelinek <jakub@redhat.com>
6463
6464 PR tree-optimization/59025
6465 PR middle-end/60418
6466 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
6467 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
6468
6469 2014-03-13 Georg-Johann Lay <avr@gjlay.de>
6470
6471 PR target/60486
6472 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
6473 calls of avr_out_plus_1.
6474
6475 2014-03-13 Bin Cheng <bin.cheng@arm.com>
6476
6477 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
6478 BB's single pred and update the father loop's latch info later.
6479
6480 2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
6481
6482 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
6483 (VEC_M): Likewise.
6484 (VEC_N): Likewise.
6485 (VEC_R): Likewise.
6486 (VEC_base): Likewise.
6487 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
6488 registers, we need to swap double words in little endian mode.
6489
6490 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
6491 to be a container mode for 128-bit integer operations added in ISA
6492 2.07. Unlike TImode and PTImode, the preferred register set is
6493 the Altivec/VMX registers for the 128-bit operations.
6494
6495 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
6496 declarations.
6497 (rs6000_split_128bit_ok_p): Likewise.
6498
6499 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
6500 macros for creating ISA 2.07 normal and overloaded builtin
6501 functions with 3 arguments.
6502 (BU_P8V_OVERLOAD_3): Likewise.
6503 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
6504 for use as overloaded functions.
6505 (VPERM_1TI_UNS): Likewise.
6506 (VSEL_1TI): Likewise.
6507 (VSEL_1TI_UNS): Likewise.
6508 (ST_INTERNAL_1ti): Likewise.
6509 (LD_INTERNAL_1ti): Likewise.
6510 (XXSEL_1TI): Likewise.
6511 (XXSEL_1TI_UNS): Likewise.
6512 (VPERM_1TI): Likewise.
6513 (VPERM_1TI_UNS): Likewise.
6514 (XXPERMDI_1TI): Likewise.
6515 (SET_1TI): Likewise.
6516 (LXVD2X_V1TI): Likewise.
6517 (STXVD2X_V1TI): Likewise.
6518 (VEC_INIT_V1TI): Likewise.
6519 (VEC_SET_V1TI): Likewise.
6520 (VEC_EXT_V1TI): Likewise.
6521 (EQV_V1TI): Likewise.
6522 (NAND_V1TI): Likewise.
6523 (ORC_V1TI): Likewise.
6524 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
6525 added in ISA 2.07. Add both normal 'altivec' builtins, and the
6526 overloaded builtin.
6527 (VADDUQM): Likewise.
6528 (VSUBCUQ): Likewise.
6529 (VADDEUQM): Likewise.
6530 (VADDECUQ): Likewise.
6531 (VSUBEUQM): Likewise.
6532 (VSUBECUQ): Likewise.
6533
6534 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
6535 __int128_t and __uint128_t types.
6536 (__uint128_type): Likewise.
6537 (altivec_categorize_keyword): Add support for vector __int128_t,
6538 vector __uint128_t, vector __int128, and vector unsigned __int128
6539 as a container type for TImode operations that need to be done in
6540 VSX/Altivec registers.
6541 (rs6000_macro_to_expand): Likewise.
6542 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
6543 to support 128-bit integer instructions vaddcuq, vadduqm,
6544 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
6545 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
6546
6547 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
6548 for V1TImode, and set up preferences to use VSX/Altivec registers.
6549 Setup VSX reload handlers.
6550 (rs6000_debug_reg_global): Likewise.
6551 (rs6000_init_hard_regno_mode_ok): Likewise.
6552 (rs6000_preferred_simd_mode): Likewise.
6553 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
6554 (easy_altivec_constant): Likewise.
6555 (output_vec_const_move): Likewise.
6556 (rs6000_expand_vector_set): Convert V1TImode set and extract to
6557 simple move.
6558 (rs6000_expand_vector_extract): Likewise.
6559 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
6560 addressing.
6561 (rs6000_const_vec): Add support for V1TImode.
6562 (rs6000_emit_le_vsx_load): Swap double words when loading or
6563 storing TImode/V1TImode.
6564 (rs6000_emit_le_vsx_store): Likewise.
6565 (rs6000_emit_le_vsx_move): Likewise.
6566 (rs6000_emit_move): Add support for V1TImode.
6567 (altivec_expand_ld_builtin): Likewise.
6568 (altivec_expand_st_builtin): Likewise.
6569 (altivec_expand_vec_init_builtin): Likewise.
6570 (altivec_expand_builtin): Likewise.
6571 (rs6000_init_builtins): Add support for V1TImode type. Add
6572 support for ISA 2.07 128-bit integer builtins. Define type names
6573 for the VSX/Altivec vector types.
6574 (altivec_init_builtins): Add support for overloaded vector
6575 functions with V1TImode type.
6576 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
6577 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
6578 external function.
6579 (rs6000_split_128bit_ok_p): Likewise.
6580 (rs6000_handle_altivec_attribute): Create V1TImode from vector
6581 __int128_t and vector __uint128_t.
6582
6583 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
6584 and mode attributes.
6585 (VSX_M): Likewise.
6586 (VSX_M2): Likewise.
6587 (VSm): Likewise.
6588 (VSs): Likewise.
6589 (VSr): Likewise.
6590 (VSv): Likewise.
6591 (VS_scalar): Likewise.
6592 (VS_double): Likewise.
6593 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
6594
6595 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
6596 we support the ISA 2.07 128-bit integer arithmetic instructions.
6597 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
6598 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
6599 and TImode types for use with the builtin functions.
6600 (V1TI_type_node): Likewise.
6601 (unsigned_V1TI_type_node): Likewise.
6602 (intTI_type_internal_node): Likewise.
6603 (uintTI_type_internal_node): Likewise.
6604
6605 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
6606 128-bit builtin functions.
6607 (UNSPEC_VADDEUQM): Likewise.
6608 (UNSPEC_VADDECUQ): Likewise.
6609 (UNSPEC_VSUBCUQ): Likewise.
6610 (UNSPEC_VSUBEUQM): Likewise.
6611 (UNSPEC_VSUBECUQ): Likewise.
6612 (VM): Add V1TImode to vector mode iterators.
6613 (VM2): Likewise.
6614 (VI_unit): Likewise.
6615 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
6616 (altivec_vaddcuq): Likewise.
6617 (altivec_vsubuqm): Likewise.
6618 (altivec_vsubcuq): Likewise.
6619 (altivec_vaddeuqm): Likewise.
6620 (altivec_vaddecuq): Likewise.
6621 (altivec_vsubeuqm): Likewise.
6622 (altivec_vsubecuq): Likewise.
6623
6624 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
6625 mode iterators.
6626 (BOOL_128): Likewise.
6627 (BOOL_REGS_OUTPUT): Likewise.
6628 (BOOL_REGS_OP1): Likewise.
6629 (BOOL_REGS_OP2): Likewise.
6630 (BOOL_REGS_UNARY): Likewise.
6631 (BOOL_REGS_AND_CR0): Likewise.
6632
6633 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
6634 128-bit integer builtin support.
6635 (vec_vadduqm): Likewise.
6636 (vec_vaddecuq): Likewise.
6637 (vec_vaddeuqm): Likewise.
6638 (vec_vsubecuq): Likewise.
6639 (vec_vsubeuqm): Likewise.
6640 (vec_vsubcuq): Likewise.
6641 (vec_vsubuqm): Likewise.
6642
6643 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
6644 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
6645 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
6646 128-bit integer add/subtract to ISA 2.07.
6647
6648 2014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
6649
6650 * config/arc/arc.c (arc_predicate_delay_insns):
6651 Fix third argument passed to conditionalize_nonjump.
6652
6653 2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
6654
6655 * config/aarch64/aarch64-builtins.c
6656 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
6657 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
6658 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
6659 instead of __builtin_lfloor.
6660 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
6661
6662 2014-03-12 Jakub Jelinek <jakub@redhat.com>
6663
6664 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
6665 (tree_ssa_ifcombine_bb_1): New function.
6666 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
6667 is an empty forwarder block to then_bb or vice versa and then_bb
6668 and else_bb are effectively swapped.
6669
6670 2014-03-12 Christian Bruel <christian.bruel@st.com>
6671
6672 PR target/60264
6673 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
6674 REG_CFA_DEF_CFA note.
6675 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
6676 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
6677
6678 2014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
6679
6680 PR tree-optimization/60454
6681 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
6682
6683 2014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6684
6685 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
6686 Do not define target_cpu_default2 to generic.
6687 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
6688 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
6689 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
6690
6691 2014-03-12 Jakub Jelinek <jakub@redhat.com>
6692 Marc Glisse <marc.glisse@inria.fr>
6693
6694 PR tree-optimization/60502
6695 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
6696 instead of build_low_bits_mask.
6697
6698 2014-03-12 Jakub Jelinek <jakub@redhat.com>
6699
6700 PR middle-end/60482
6701 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
6702 if there are multiple uses, but op doesn't live on E edge.
6703 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
6704 clobber stmts before __builtin_unreachable.
6705
6706 2014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
6707
6708 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
6709 hard_frame_pointer_rtx.
6710 * cse.c (cse_insn): Remove volatile check.
6711 * cselib.c (cselib_process_insn): Likewise.
6712 * dse.c (scan_insn): Likewise.
6713
6714 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
6715
6716 * config/arc/arc.c (conditionalize_nonjump): New function,
6717 broken out of ...
6718 (arc_ifcvt): ... this.
6719 (arc_predicate_delay_insns): Use it.
6720
6721 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
6722
6723 * config/arc/predicates.md (extend_operand): During/after reload,
6724 allow const_int_operand.
6725 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
6726 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
6727 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
6728 to "i".
6729 (umulsi3_highpart_i): Likewise.
6730
6731 2014-03-11 Richard Biener <rguenther@suse.de>
6732
6733 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
6734 Add asserts to guard possible wrong-code bugs.
6735
6736 2014-03-11 Richard Biener <rguenther@suse.de>
6737
6738 PR tree-optimization/60429
6739 PR tree-optimization/60485
6740 * tree-ssa-structalias.c (set_union_with_increment): Properly
6741 take into account all fields that overlap the shifted vars.
6742 (do_sd_constraint): Likewise.
6743 (do_ds_constraint): Likewise.
6744 (get_constraint_for_ptr_offset): Likewise.
6745
6746 2014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
6747
6748 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
6749 (nios2_compute_frame_layout):
6750 Add calculation of cfun->machine->fp_save_offset.
6751 (nios2_expand_prologue): Correct setting of frame pointer register
6752 in prologue.
6753 (nios2_expand_epilogue): Update recovery of stack pointer from
6754 frame pointer accordingly.
6755 (nios2_initial_elimination_offset): Update calculation of offset
6756 for eliminating to HARD_FRAME_POINTER_REGNUM.
6757
6758 2014-03-10 Jakub Jelinek <jakub@redhat.com>
6759
6760 PR ipa/60457
6761 * ipa.c (symtab_remove_unreachable_nodes): Don't call
6762 cgraph_get_create_node on VAR_DECLs.
6763
6764 2014-03-10 Richard Biener <rguenther@suse.de>
6765
6766 PR middle-end/60474
6767 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
6768
6769 2014-03-08 Douglas B Rupp <rupp@gnat.com>
6770
6771 * config/vms/vms.opt (vms_float_format): New variable.
6772
6773 2014-03-08 Tobias Burnus <burnus@net-b.de>
6774
6775 * doc/invoke.texi (-fcilkplus): Update implementation status.
6776
6777 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
6778 Richard Biener <rguenther@suse.de>
6779
6780 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
6781 consistently accross all TUs.
6782 (run_gcc): Enable -fshort-double automatically at link at link-time
6783 and disallow override.
6784
6785 2014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
6786
6787 PR target/58271
6788 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
6789 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
6790 if they can't be used.
6791
6792 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6793
6794 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
6795 for Solaris 11/x86 ld.
6796 * configure: Regenerate.
6797
6798 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6799
6800 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
6801 (LIB_TLS_SPEC): Save as ld_tls_libs.
6802 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
6803 (HAVE_AS_IX86_TLSLDM): New test.
6804 * configure, config.in: Regenerate.
6805 * config/i386/i386.c (legitimize_tls_address): Fall back to
6806 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
6807 cannot support TLS_MODEL_LOCAL_DYNAMIC.
6808 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
6809 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
6810
6811 2014-03-07 Paulo Matos <paulo@matos-sorge.com>
6812
6813 * common.opt (fira-loop-pressure): Mark as optimization.
6814
6815 2014-03-07 Thomas Schwinge <thomas@codesourcery.com>
6816
6817 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
6818 an OpenMP mappable type.
6819
6820 2014-03-06 Matthias Klose <doko@ubuntu.com>
6821
6822 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
6823 MULTILIB_OSDIRNAMES is not defined.
6824
6825 2014-03-06 Jakub Jelinek <jakub@redhat.com>
6826 Meador Inge <meadori@codesourcery.com>
6827
6828 PR target/58595
6829 * config/arm/arm.c (arm_tls_symbol_p): Remove.
6830 (arm_legitimize_address): Call legitimize_tls_address for any
6831 arm_tls_referenced_p expression, handle constant addend. Call it
6832 before testing for !TARGET_ARM.
6833 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
6834
6835 2014-03-06 Richard Biener <rguenther@suse.de>
6836
6837 PR middle-end/60445
6838 PR lto/60424
6839 PR lto/60427
6840 Revert
6841 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
6842
6843 * tree-streamer.c (record_common_node): Assert we don't record
6844 nodes with type double.
6845 (preload_common_node): Skip type double, complex double and double
6846 pointer since it is now frontend dependent due to fshort-double option.
6847
6848 2014-03-06 Richard Biener <rguenther@suse.de>
6849
6850 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
6851 or -fno-lto is specified and the linker has full plugin support.
6852 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
6853 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
6854 * lto-wrapper.c (merge_and_complain): Merge compile-time
6855 optimization levels.
6856 (run_gcc): And pass it through to the link options.
6857
6858 2014-03-06 Alexandre Oliva <aoliva@redhat.com>
6859
6860 PR debug/60381
6861 Revert:
6862 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
6863 PR debug/59992
6864 * cselib.c (remove_useless_values): Skip to avoid quadratic
6865 behavior if the condition moved from...
6866 (cselib_process_insn): ... here holds.
6867
6868 2014-03-05 Jakub Jelinek <jakub@redhat.com>
6869
6870 PR plugins/59335
6871 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
6872 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
6873
6874 PR plugins/59335
6875 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
6876 (TM_H): Add x86-tune.def.
6877
6878 2014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6879
6880 * config/aarch64/aarch64.c (generic_tunings):
6881 Use cortexa57_extra_costs.
6882
6883 2014-03-05 Jakub Jelinek <jakub@redhat.com>
6884
6885 PR lto/60404
6886 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
6887 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
6888 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
6889 cost for in_lto_p.
6890
6891 2014-03-04 Heiher <r@hev.cc>
6892
6893 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
6894 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
6895
6896 2014-03-04 Uros Bizjak <ubizjak@gmail.com>
6897
6898 * config/i386/predicates.md (const2356_operand): Change to ...
6899 (const2367_operand): ... this.
6900 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
6901 const2367_operand.
6902 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6903 (*avx512pf_scatterpf<mode>sf): Ditto.
6904 (avx512pf_scatterpf<mode>df): Ditto.
6905 (*avx512pf_scatterpf<mode>df_mask): Ditto.
6906 (*avx512pf_scatterpf<mode>df): Ditto.
6907 * config/i386/i386.c (ix86_expand_builtin): Update
6908 incorrect hint operand error message.
6909
6910 2014-03-04 Richard Biener <rguenther@suse.de>
6911
6912 * lto-section-in.c (lto_get_section_data): Fix const cast.
6913
6914 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
6915
6916 * tree-streamer.c (record_common_node): Assert we don't record
6917 nodes with type double.
6918 (preload_common_node): Skip type double, complex double and double
6919 pointer since it is now frontend dependent due to fshort-double option.
6920
6921 2014-03-04 Richard Biener <rguenther@suse.de>
6922
6923 PR lto/60405
6924 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
6925 (lto_input_toplevel_asms): Likewise.
6926 * lto-section-in.c (lto_get_section_data): Instead do it here
6927 for every section.
6928
6929 2014-03-04 Richard Biener <rguenther@suse.de>
6930
6931 PR tree-optimization/60382
6932 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
6933 dead PHIs a reduction.
6934
6935 2014-03-03 Uros Bizjak <ubizjak@gmail.com>
6936
6937 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
6938 hint value.
6939 (_mm_prefetch): Move out of GCC target("sse") pragma.
6940 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
6941 GCC target("prfchw") pragma.
6942 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
6943 for locality <= 2.
6944 * config/i386/i386.c (ix86_option_override_internal): Enable
6945 -mprfchw with -mprefetchwt1.
6946
6947 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
6948
6949 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
6950 Mark as varying.
6951
6952 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
6953
6954 * opts.h (CL_PCH_IGNORE): Define.
6955 * targhooks.c (option_affects_pch_p):
6956 Return false for options that have CL_PCH_IGNORE set.
6957 * opt-functions.awk: Process PchIgnore.
6958 * doc/options.texi: Document PchIgnore.
6959
6960 * config/arc/arc.opt (misize): Add PchIgnore property.
6961
6962 2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6963
6964 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
6965 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
6966 constraint on constants to permit them being loaded into
6967 GENERAL_REGS or BASE_REGS.
6968
6969 2014-03-03 Nick Clifton <nickc@redhat.com>
6970
6971 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
6972 anti-cacnonical alternatives.
6973 (negandhi3_real): New pattern.
6974 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
6975
6976 2014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6977
6978 * config/avr/avr-mcus.def: Remove atxmega16x1.
6979 * config/avr/avr-tables.opt: Regenerate.
6980 * config/avr/t-multilib: Regenerate.
6981 * doc/avr-mmcu.texi: Regenerate.
6982
6983 2014-03-03 Tobias Grosser <tobias@grosser.es>
6984 Mircea Namolaru <mircea.namolaru@inria.fr>
6985
6986 PR tree-optimization/58028
6987 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
6988 scalar dimensions.
6989
6990 2014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6991
6992 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
6993 not handled by recognizers.
6994
6995 2014-03-03 Jakub Jelinek <jakub@redhat.com>
6996
6997 PR middle-end/60175
6998 * function.c (expand_function_end): Don't emit
6999 clobber_return_register sequence if clobber_after is a BARRIER.
7000 * cfgexpand.c (construct_exit_block): Append instructions before
7001 return_label to prev_bb.
7002
7003 2014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7004
7005 * config/rs6000/constraints.md: Document reserved use of "wc".
7006
7007 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
7008
7009 PR ipa/60150
7010 * ipa.c (function_and_variable_visibility): When dissolving comdat
7011 group, also set all symbols to local.
7012
7013 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
7014
7015 PR ipa/60306
7016
7017 Revert:
7018 2013-12-14 Jan Hubicka <jh@suse.cz>
7019 PR middle-end/58477
7020 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
7021
7022 2014-03-02 Jon Beniston <jon@beniston.com>
7023
7024 PR bootstrap/48230
7025 PR bootstrap/50927
7026 PR bootstrap/52466
7027 PR target/46898
7028 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
7029 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
7030 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
7031 (simple_return, *simple_return): New patterns
7032 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
7033 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
7034
7035 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
7036
7037 * dwarf2out.c (gen_subprogram_die): Tidy.
7038
7039 2014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
7040
7041 PR target/60071
7042 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
7043 (*mov_t_msb_neg_negc): ... this new insn.
7044
7045 2014-02-28 Jason Merrill <jason@redhat.com>
7046
7047 PR c++/58678
7048 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
7049 function.
7050
7051 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
7052
7053 PR c++/60314
7054 * dwarf2out.c (decltype_auto_die): New static.
7055 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
7056 (gen_type_die_with_usage): Handle 'decltype(auto)'.
7057 (is_cxx_auto): Likewise.
7058
7059 2014-02-28 Ian Bolton <ian.bolton@arm.com>
7060
7061 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
7062 we are not using general regs only.
7063
7064 2014-02-28 Richard Biener <rguenther@suse.de>
7065
7066 PR target/60280
7067 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
7068 previous fix and only allow to remove trivial pre-headers
7069 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
7070 (remove_forwarder_block): Properly update the latch of a loop.
7071
7072 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
7073
7074 PR debug/59992
7075 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
7076 (cselib_preserved_hash_table): New.
7077 (preserve_constants_and_equivs): Move preserved vals to it.
7078 (cselib_find_slot): Look it up first.
7079 (cselib_init): Initialize it.
7080 (cselib_finish): Release it.
7081 (dump_cselib_table): Dump it.
7082
7083 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
7084
7085 PR debug/59992
7086 * cselib.c (remove_useless_values): Skip to avoid quadratic
7087 behavior if the condition moved from...
7088 (cselib_process_insn): ... here holds.
7089
7090 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
7091
7092 PR debug/57232
7093 * var-tracking.c (vt_initialize): Apply the same condition to
7094 preserve the CFA base value.
7095
7096 2014-02-28 Joey Ye <joey.ye@arm.com>
7097
7098 PR target/PR60169
7099 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
7100 if reload in progress or completed.
7101
7102 2014-02-28 Tobias Burnus <burnus@net-b.de>
7103
7104 PR middle-end/60147
7105 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
7106 NAMELIST_DECL.
7107
7108 2014-02-27 H.J. Lu <hongjiu.lu@intel.com>
7109
7110 * doc/tm.texi.in (Condition Code Status): Update documention for
7111 relative locations of cc0-setter and cc0-user.
7112
7113 2014-02-27 Jeff Law <law@redhat.com>
7114
7115 PR rtl-optimization/52714
7116 * combine.c (try_combine): When splitting an unrecognized PARALLEL
7117 into two independent simple sets, if I3 is a jump, ensure the
7118 pattern we place into I3 is a (set (pc) ...).
7119
7120 2014-02-27 Mikael Pettersson <mikpe@it.uu.se>
7121 Jeff Law <law@redhat.com>
7122
7123 PR rtl-optimization/49847
7124 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
7125 are in different blocks.
7126 * doc/tm.texi (Condition Code Status): Update documention for
7127 relative locations of cc0-setter and cc0-user.
7128
7129 2014-02-27 Vladimir Makarov <vmakarov@redhat.com>
7130
7131 PR target/59222
7132 * lra.c (lra_emit_add): Check SUBREG too.
7133
7134 2014-02-27 Andreas Schwab <schwab@suse.de>
7135
7136 * config/m68k/m68k.c (m68k_option_override): Disable
7137 -flive-range-shrinkage for classic m68k.
7138 (m68k_override_options_after_change): Likewise.
7139
7140 2014-02-27 Marek Polacek <polacek@redhat.com>
7141
7142 PR middle-end/59223
7143 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
7144 -Wmaybe-uninitialized.
7145
7146 2014-02-27 Alan Modra <amodra@gmail.com>
7147
7148 PR target/57936
7149 * reload1.c (emit_input_reload_insns): When reload_override_in,
7150 set old to rl->in_reg when rl->in_reg is a subreg.
7151
7152 2014-02-26 Richard Biener <rguenther@suse.de>
7153
7154 PR bootstrap/60343
7155 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
7156
7157 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
7158
7159 * common/config/i386/predicates.md (const1256_operand): Remove.
7160 (const2356_operand): New.
7161 (const_1_to_2_operand): Remove.
7162 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
7163 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
7164 (*avx512pf_gatherpf<mode>sf): Ditto.
7165 (avx512pf_gatherpf<mode>df): Ditto.
7166 (*avx512pf_gatherpf<mode>df_mask): Ditto.
7167 (*avx512pf_gatherpf<mode>df): Ditto.
7168 (avx512pf_scatterpf<mode>sf): Ditto.
7169 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
7170 (*avx512pf_scatterpf<mode>sf): Ditto.
7171 (avx512pf_scatterpf<mode>df): Ditto.
7172 (*avx512pf_scatterpf<mode>df_mask): Ditto.
7173 (*avx512pf_scatterpf<mode>df): Ditto.
7174 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
7175
7176 2014-02-26 Ilya Tocar <ilya.tocar@intel.com>
7177
7178 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
7179 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
7180 (_mm512_mask_testn_epi64_mask): Move to ...
7181 * config/i386/avx512cdintrin.h: Here.
7182 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
7183 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
7184 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
7185 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
7186 TARGET_AVX512F from TARGET_AVX512CD.
7187
7188 2014-02-26 Richard Biener <rguenther@suse.de>
7189
7190 PR ipa/60327
7191 * ipa.c (walk_polymorphic_call_targets): Properly guard
7192 call to inline_update_overall_summary.
7193
7194 2014-02-26 Bin Cheng <bin.cheng@arm.com>
7195
7196 PR target/60280
7197 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
7198 and latches only if requested. Fix latch if it is removed.
7199 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
7200 LOOPS_HAVE_PREHEADERS.
7201
7202 2014-02-25 Andrew Pinski <apinski@cavium.com>
7203
7204 * builtins.c (expand_builtin_thread_pointer): Create a new target
7205 when the target is NULL.
7206
7207 2014-02-25 Vladimir Makarov <vmakarov@redhat.com>
7208
7209 PR rtl-optimization/60317
7210 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
7211 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
7212 * lra-assigns.c: Include params.h.
7213 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
7214 other reload pseudos considerations.
7215
7216 2014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7217
7218 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
7219 to use canonical form for nor<mode>3.
7220
7221 2014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7222
7223 PR target/55426
7224 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
7225 conversions.
7226
7227 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
7228
7229 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
7230 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
7231 (ix86_handle_option): Handle OPT_mprefetchwt1.
7232 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
7233 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
7234 PREFETCHWT1 CPUID.
7235 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
7236 OPTION_MASK_ISA_PREFETCHWT1.
7237 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
7238 (PTA_PREFETCHWT1): New.
7239 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
7240 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
7241 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
7242 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
7243 (*prefetch_avx512pf_<mode>_: Change into ...
7244 (*prefetch_prefetchwt1_<mode>: This.
7245 * config/i386/i386.opt (mprefetchwt1): New.
7246 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
7247 (_mm_prefetch): Handle intent to write.
7248 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
7249
7250 2014-02-25 Richard Biener <rguenther@suse.de>
7251
7252 PR middle-end/60291
7253 * emit-rtl.c (mem_attrs_htab): Remove.
7254 (mem_attrs_htab_hash): Likewise.
7255 (mem_attrs_htab_eq): Likewise.
7256 (set_mem_attrs): Always allocate new mem-attrs when something changed.
7257 (init_emit_once): Do not allocate mem_attrs_htab.
7258
7259 2014-02-25 Richard Biener <rguenther@suse.de>
7260
7261 PR lto/60319
7262 * lto-opts.c (lto_write_options): Output non-explicit conservative
7263 -fwrapv, -fno-trapv and -fno-strict-overflow.
7264 * lto-wrapper.c (merge_and_complain): Handle merging those options.
7265 (run_gcc): And pass them through.
7266
7267 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
7268
7269 * sel-sched.c (calculate_new_fences): New parameter ptime.
7270 Calculate it as a maximum over all fence cycles.
7271 (sel_sched_region_2): Adjust the call to calculate_new_fences.
7272 Print the final schedule timing when sched_verbose.
7273
7274 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
7275
7276 PR rtl-optimization/60292
7277 * sel-sched.c (fill_vec_av_set): Do not reset target availability
7278 bit fot the fence instruction.
7279
7280 2014-02-24 Alangi Derick <alangiderick@gmail.com>
7281
7282 * calls.h: Fix typo in comment.
7283
7284 2014-02-24 John David Anglin <danglin@gcc.gnu.org>
7285
7286 * config/pa/pa.c (pa_output_move_double): Don't valididate when
7287 adjusting offsetable addresses.
7288
7289 2014-02-24 Guozhi Wei <carrot@google.com>
7290
7291 * sparseset.h (sparseset_pop): Fix the wrong index.
7292
7293 2014-02-24 Walter Lee <walt@tilera.com>
7294
7295 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
7296 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
7297 triplet.
7298 * common/config/tilegx/tilegx-common.c
7299 (TARGET_DEFAULT_TARGET_FLAGS): Define.
7300 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
7301 (LINK_SPEC): Ditto.
7302 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
7303 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
7304 (tilegx_gimplify_va_arg_expr): Handle big endian.
7305 (tilegx_expand_unaligned_load): Ditto.
7306 (tilegx_expand_unaligned_store): Ditto.
7307 (TARGET_RETURN_IN_MSB): New.
7308 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
7309 (TARGET_ENDIAN_DEFAULT): New.
7310 (TARGET_BIG_ENDIAN): Handle big endian.
7311 (BYTES_BIG_ENDIAN): Ditto.
7312 (WORDS_BIG_ENDIAN): Ditto.
7313 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
7314 (ENDIAN_SPEC): New.
7315 (EXTRA_SPECS): New.
7316 * config/tilegx/tilegx.md (extv): Handle big endian.
7317 (extzv): Ditto.
7318 (insn_st<n>): Ditto.
7319 (insn_st<n>_add<bitsuffix>): Ditto.
7320 (insn_stnt<n>): Ditto.
7321 (insn_stnt<n>_add<bitsuffix>):Ditto.
7322 (vec_interleave_highv8qi): Handle big endian.
7323 (vec_interleave_highv8qi_be): New.
7324 (vec_interleave_highv8qi_le): New.
7325 (insn_v1int_h): Handle big endian.
7326 (vec_interleave_lowv8qi): Handle big endian.
7327 (vec_interleave_lowv8qi_be): New.
7328 (vec_interleave_lowv8qi_le): New.
7329 (insn_v1int_l): Handle big endian.
7330 (vec_interleave_highv4hi): Handle big endian.
7331 (vec_interleave_highv4hi_be): New.
7332 (vec_interleave_highv4hi_le): New.
7333 (insn_v2int_h): Handle big endian.
7334 (vec_interleave_lowv4hi): Handle big endian.
7335 (vec_interleave_lowv4hi_be): New.
7336 (vec_interleave_lowv4hi_le): New.
7337 (insn_v2int_l): Handle big endian.
7338 (vec_interleave_highv2si): Handle big endian.
7339 (vec_interleave_highv2si_be): New.
7340 (vec_interleave_highv2si_le): New.
7341 (insn_v4int_h): Handle big endian.
7342 (vec_interleave_lowv2si): Handle big endian.
7343 (vec_interleave_lowv2si_be): New.
7344 (vec_interleave_lowv2si_le): New.
7345 (insn_v4int_l): Handle big endian.
7346 * config/tilegx/tilegx.opt (mbig-endian): New option.
7347 (mlittle-endian): New option.
7348 * doc/install.texi: Document tilegxbe-linux.
7349 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
7350
7351 2014-02-24 Martin Jambor <mjambor@suse.cz>
7352
7353 PR ipa/60266
7354 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
7355 there are no parameter descriptors.
7356
7357 2014-02-24 Andrey Belevantsev <abel@ispras.ru>
7358
7359 PR rtl-optimization/60268
7360 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
7361 initialization to ...
7362 (sched_rgn_init): ... here.
7363 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
7364
7365 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
7366
7367 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
7368 names.
7369
7370 2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
7371
7372 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
7373 definition.
7374
7375 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
7376
7377 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
7378 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7379
7380 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
7381
7382 * config/microblaze/predicates.md: Add cmp_op predicate.
7383 * config/microblaze/microblaze.md: Add branch_compare instruction
7384 which uses cmp_op predicate and emits cmp insn before branch.
7385 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
7386 to microblaze_expand_conditional_branch and consolidate logic.
7387 (microblaze_expand_conditional_branch): emit branch_compare
7388 insn instead of handling cmp op separate from branch insn.
7389
7390 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7391
7392 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
7393 to permit subregs.
7394
7395 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7396
7397 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
7398 define_insn with define_expand and new define_insn
7399 *altivec_lve<VI_char>x_internal.
7400 (altivec_stve<VI_char>x): Replace define_insn with define_expand
7401 and new define_insn *altivec_stve<VI_char>x_internal.
7402 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
7403 prototype.
7404 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
7405 lve*x built-ins.
7406 (altivec_expand_stvex_be): New function.
7407
7408 2014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
7409
7410 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
7411 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
7412 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
7413 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
7414
7415 2014-02-21 Vladimir Makarov <vmakarov@redhat.com>
7416
7417 PR target/60298
7418 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
7419 instead of emit_move_insn.
7420
7421 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7422
7423 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
7424 vspltw with vsldoi.
7425 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
7426 gen_altivec_vsumsws.
7427
7428 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7429
7430 * config/rs6000/altivec.md (altivec_lvxl): Rename as
7431 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
7432 (altivec_lvxl_<mode>): New define_expand incorporating
7433 -maltivec=be semantics where needed.
7434 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
7435 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
7436 semantics where needed.
7437 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
7438 (altivec_stvx_<mode>): New define_expand incorporating
7439 -maltivec=be semantics where needed.
7440 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
7441 VM2 iterator instead of V4SI.
7442 (altivec_stvxl_<mode>): New define_expand incorporating
7443 -maltivec=be semantics where needed.
7444 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
7445 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
7446 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
7447 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
7448 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
7449 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
7450 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
7451 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
7452 ALTIVEC_BUILTIN_STVXL.
7453 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
7454 (altivec_expand_stvx_be): Likewise.
7455 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
7456 (altivec_expand_lvx_be): Likewise.
7457 (altivec_expand_stvx_be): Likewise.
7458 (altivec_expand_builtin): Add cases for
7459 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
7460 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
7461 (altivec_init_builtins): Add definitions for
7462 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
7463 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
7464
7465 2014-02-21 Catherine Moore <clm@codesourcery.com>
7466
7467 * doc/invoke.texi (mvirt, mno-virt): Document.
7468 * config/mips/mips.opt (mvirt): New option.
7469 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
7470
7471 2014-02-21 Richard Biener <rguenther@suse.de>
7472
7473 PR tree-optimization/60276
7474 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
7475 (STMT_VINFO_MIN_NEG_DIST): New macro.
7476 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
7477 STMT_VINFO_MIN_NEG_DIST.
7478 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
7479 made for negative dependence distances still hold.
7480
7481 2014-02-21 Richard Biener <rguenther@suse.de>
7482
7483 PR middle-end/60291
7484 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
7485 DECL_INITIAL for globals not in the current function context.
7486
7487 2014-02-21 Jakub Jelinek <jakub@redhat.com>
7488
7489 PR tree-optimization/56490
7490 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
7491 * tree-ssa-uninit.c: Include params.h.
7492 (compute_control_dep_chain): Add num_calls argument, return false
7493 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
7494 num_calls to recursive call.
7495 (find_predicates): Change dep_chain into normal array,
7496 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
7497 variable and adjust compute_control_dep_chain caller.
7498 (find_def_preds): Likewise.
7499
7500 2014-02-21 Thomas Schwinge <thomas@codesourcery.com>
7501
7502 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
7503 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
7504
7505 2014-02-21 Nick Clifton <nickc@redhat.com>
7506
7507 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
7508 (pushhi1): Likewise.
7509 (popqi1): Add mode to pre_dec.
7510 (pophi1): Likewise.
7511
7512 2014-02-21 Jakub Jelinek <jakub@redhat.com>
7513
7514 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
7515 mode for mask of V8SFmode permutation.
7516
7517 2014-02-20 Richard Henderson <rth@redhat.com>
7518
7519 PR c++/60272
7520 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
7521 a new pseudo for OLDVAL.
7522
7523 2014-02-20 Jakub Jelinek <jakub@redhat.com>
7524
7525 PR target/57896
7526 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
7527 gen_reg_rtx if d->testing_p.
7528 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
7529 if d->testing_p and we will certainly return true.
7530 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
7531 if d->testing_p.
7532
7533 2014-02-20 Uros Bizjak <ubizjak@gmail.com>
7534
7535 * emit-rtl.c (gen_reg_rtx): Assert that
7536 crtl->emit.regno_pointer_align_length is non-zero.
7537
7538 2014-02-20 Richard Henderson <rth@redhat.com>
7539
7540 PR c++/60272
7541 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
7542 on failure the store back into EXPECT.
7543
7544 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
7545 Sandra Loosemore <sandra@codesourcery.com>
7546
7547 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
7548 * config/nios2/nios2.c (nios2_function_profiler): Add
7549 -fPIC (flag_pic == 2) support.
7550 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
7551 (nios2_large_offset_p): New function.
7552 (nios2_unspec_reloc_p): Move up position, update to use
7553 nios2_large_offset_p.
7554 (nios2_unspec_address): Remove function.
7555 (nios2_unspec_offset): New function.
7556 (nios2_large_got_address): New function.
7557 (nios2_got_address): Add large offset support.
7558 (nios2_legitimize_tls_address): Update usage of removed and new
7559 functions.
7560 (nios2_symbol_binds_local_p): New function.
7561 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
7562 (nios2_legitimize_address): Update to use nios2_large_offset_p.
7563 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
7564 (nios2_print_operand): Merge H/L processing, add hiadj/lo
7565 processing for (const (unspec ...)).
7566 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
7567
7568 2014-02-20 Richard Biener <rguenther@suse.de>
7569
7570 * tree-cfg.c (replace_uses_by): Mark altered BBs before
7571 doing the substitution.
7572 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
7573
7574 2014-02-20 Martin Jambor <mjambor@suse.cz>
7575
7576 PR ipa/55260
7577 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
7578 info when checking whether lattices are bottom.
7579
7580 2014-02-20 Richard Biener <rguenther@suse.de>
7581
7582 PR middle-end/60221
7583 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
7584 regions at -O0.
7585
7586 2014-02-20 Jan Hubicka <hubicka@ucw.cz>
7587
7588 PR ipa/58555
7589 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
7590 parameter specifying the scaling.
7591 (inline_call): Update.
7592 (want_inline_recursively): Guard division by zero.
7593 (recursive_inlining): Update.
7594 * ipa-inline.h (clone_inlined_nodes): Update.
7595
7596 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
7597
7598 PR target/60204
7599 * config/i386/i386.c (classify_argument): Pass structures of size
7600 64 bytes or less in register.
7601
7602 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
7603 Kirill Yukhin <kirill.yukhin@intel.com>
7604
7605 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
7606 (_mm_rcp28_round_ss): Ditto.
7607 (_mm_rsqrt28_round_sd): Ditto.
7608 (_mm_rsqrt28_round_ss): Ditto.
7609 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
7610 (_mm_rcp14_round_ss): Ditto.
7611 (_mm_rsqrt14_round_sd): Ditto.
7612 (_mm_rsqrt14_round_ss): Ditto.
7613 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
7614 the first input operand, get rid of match_dup.
7615 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
7616 attribute to sse.
7617 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
7618 Ditto.
7619 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
7620 operand as the first input operand, set type attribute.
7621 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
7622 Set type attribute.
7623 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
7624 operand as the first input operand, set type attribute.
7625
7626 2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7627
7628 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
7629 bit of zero.
7630
7631 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
7632
7633 PR target/60207
7634 * config/i386/i386.c (construct_container): Remove TFmode check
7635 for X86_64_INTEGER_CLASS.
7636
7637 2014-02-19 Uros Bizjak <ubizjak@gmail.com>
7638
7639 PR target/59794
7640 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
7641 only when -Wpsabi is enabled.
7642
7643 2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
7644
7645 PR target/59799
7646 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
7647 passing arrays in registers are the same as for structs, so remove the
7648 special case for them.
7649
7650 2014-02-19 Eric Botcazou <ebotcazou@adacore.com>
7651
7652 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
7653 destination type, extract only the valid bits if the source type is not
7654 integral and has a different mode.
7655
7656 2014-02-19 Richard Biener <rguenther@suse.de>
7657
7658 PR ipa/60243
7659 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
7660 for all calls.
7661
7662 2014-02-19 Richard Biener <rguenther@suse.de>
7663
7664 PR ipa/60243
7665 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
7666 (ipa_modify_call_arguments): Emit an argument load explicitely and
7667 preserve virtual SSA form there and for the replacement call.
7668 Do not update SSA form nor free dominance info.
7669
7670 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
7671
7672 * ipa.c (function_and_variable_visibility): Also clear WEAK
7673 flag when disolving COMDAT_GROUP.
7674
7675 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
7676
7677 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
7678 * ipa-prop.c (ipa_set_jf_known_type): Return early when
7679 not devirtualizing.
7680 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
7681 do more sanity checks.
7682 (detect_type_change): Return true when giving up early.
7683 (compute_complex_assign_jump_func): Fix type parameter of
7684 ipa_set_ancestor_jf.
7685 (compute_complex_ancestor_jump_func): Likewise.
7686 (update_jump_functions_after_inlining): Fix updating of
7687 ancestor function.
7688 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
7689
7690 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
7691
7692 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
7693 inline clones when edge disappears.
7694
7695 2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7696
7697 PR target/60203
7698 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
7699 Split 64-bit moves into 2 patterns. Do not allow the use of
7700 direct move for TDmode in little endian, since the decimal value
7701 has little endian bytes within a word, but the 64-bit pieces are
7702 ordered in a big endian fashion, and normal subreg's of TDmode are
7703 not allowed.
7704 (mov<mode>_64bit_dm): Likewise.
7705 (movtd_64bit_nodm): Likewise.
7706
7707 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
7708
7709 PR tree-optimization/60174
7710 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
7711 statement of an SSA_NAME that occurs in an abnormal PHI node.
7712
7713 2014-02-18 Jakub Jelinek <jakub@redhat.com>
7714
7715 PR sanitizer/60142
7716 * final.c (SEEN_BB): Remove.
7717 (SEEN_NOTE, SEEN_EMITTED): Renumber.
7718 (final_scan_insn): Don't force_source_line on second
7719 NOTE_INSN_BASIC_BLOCK.
7720
7721 2014-02-18 Uros Bizjak <ubizjak@gmail.com>
7722
7723 PR target/60205
7724 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
7725 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
7726 (type_natural_mode): Warn ABI change when %zmm register is not
7727 available for AVX512F vector value passing.
7728
7729 2014-02-18 Kai Tietz <ktietz@redhat.com>
7730
7731 PR target/60193
7732 * config/i386/i386.c (ix86_expand_prologue): Use value in
7733 rax register as displacement when restoring %r10 or %rax.
7734 Fix wrong offset when restoring both registers.
7735
7736 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
7737
7738 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
7739 assertion with conditional return.
7740
7741 2014-02-18 Jakub Jelinek <jakub@redhat.com>
7742 Uros Bizjak <ubizjak@gmail.com>
7743
7744 PR driver/60233
7745 * config/i386/driver-i386.c (host_detect_local_cpu): If
7746 YMM state is not saved by the OS, also clear has_f16c. Move
7747 CPUID 0x80000001 handling before YMM state saving checking.
7748
7749 2014-02-18 Andrey Belevantsev <abel@ispras.ru>
7750
7751 PR rtl-optimization/58960
7752 * haifa-sched.c (alloc_global_sched_pressure_data): New,
7753 factored out from ...
7754 (sched_init): ... here.
7755 (free_global_sched_pressure_data): New, factored out from ...
7756 (sched_finish): ... here.
7757 * sched-int.h (free_global_sched_pressure_data): Declare.
7758 * sched-rgn.c (nr_regions_initial): New static global.
7759 (haifa_find_rgns): Initialize it.
7760 (schedule_region): Disable sched-pressure for the newly
7761 generated regions.
7762
7763 2014-02-17 Richard Biener <rguenther@suse.de>
7764
7765 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
7766 release SSA defs of pattern stmts.
7767
7768 2014-02-17 Richard Biener <rguenther@suse.de>
7769
7770 * tree-inline.c (expand_call_inline): Release the virtual
7771 operand defined by the call we are about to inline.
7772
7773 2014-02-17 Richard Biener <rguenther@suse.de>
7774
7775 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
7776
7777 2014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
7778 Ilya Tocar <ilya.tocar@intel.com>
7779
7780 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
7781 arguments order in builtin.
7782 (_mm512_permutexvar_epi64): Ditto.
7783 (_mm512_mask_permutexvar_epi64): Ditto
7784 (_mm512_maskz_permutexvar_epi32): Ditto
7785 (_mm512_permutexvar_epi32): Ditto
7786 (_mm512_mask_permutexvar_epi32): Ditto
7787
7788 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7789
7790 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
7791 (p8_vmrgow): Likewise.
7792
7793 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7794
7795 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
7796 endian targets.
7797
7798 2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
7799
7800 PR target/60203
7801 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
7802 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
7803 into 64-bit and 32-bit moves. On 64-bit moves, add support for
7804 using direct move instructions on ISA 2.07. Also adjust
7805 instruction length for 64-bit.
7806 (mov<mode>_64bit, TFmode/TDmode): Likewise.
7807 (mov<mode>_32bit, TFmode/TDmode): Likewise.
7808
7809 2014-02-15 Alan Modra <amodra@gmail.com>
7810
7811 PR target/58675
7812 PR target/57935
7813 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
7814 find_replacement on parts of insn rtl that might be reloaded.
7815
7816 2014-02-15 Richard Biener <rguenther@suse.de>
7817
7818 PR tree-optimization/60183
7819 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
7820 (tree_ssa_phiprop): Calculate and free post-dominators.
7821
7822 2014-02-14 Jeff Law <law@redhat.com>
7823
7824 PR rtl-optimization/60131
7825 * ree.c (get_extended_src_reg): New function.
7826 (combine_reaching_defs): Use it rather than assuming location of REG.
7827 (find_and_remove_re): Verify first operand of extension is
7828 a REG before adding the insns to the copy list.
7829
7830 2014-02-14 Roland McGrath <mcgrathr@google.com>
7831
7832 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
7833 * configure: Regenerated.
7834 * config.in: Regenerated.
7835 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
7836 instead of ASM_SHORT.
7837
7838 2014-02-14 Vladimir Makarov <vmakarov@redhat.com>
7839 Richard Earnshaw <rearnsha@arm.com>
7840
7841 PR rtl-optimization/59535
7842 * lra-constraints.c (process_alt_operands): Encourage alternative
7843 when unassigned pseudo class is superset of the alternative class.
7844 (inherit_reload_reg): Don't inherit when optimizing for code size.
7845 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
7846 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
7847 modes not less than 4 for Thumb1.
7848
7849 2014-02-14 Kyle McMartin <kyle@redhat.com>
7850
7851 PR pch/60010
7852 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
7853
7854 2014-02-14 Richard Biener <rguenther@suse.de>
7855
7856 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
7857 (get_frame_arg): Drop the assert with langhook types_compatible_p.
7858 Do not strip INDIRECT_REFs.
7859
7860 2014-02-14 Richard Biener <rguenther@suse.de>
7861
7862 PR lto/60179
7863 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
7864 DECL_FUNCTION_SPECIFIC_TARGET.
7865 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
7866 * tree-streamer-out.c (pack_ts_target_option): Remove.
7867 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
7868 (write_ts_function_decl_tree_pointers): Do not stream
7869 DECL_FUNCTION_SPECIFIC_TARGET.
7870 * tree-streamer-in.c (unpack_ts_target_option): Remove.
7871 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
7872 (lto_input_ts_function_decl_tree_pointers): Do not stream
7873 DECL_FUNCTION_SPECIFIC_TARGET.
7874
7875 2014-02-14 Jakub Jelinek <jakub@redhat.com>
7876
7877 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
7878 (get_initial_def_for_induction, vectorizable_induction): Ignore
7879 debug stmts when looking for exit_phi.
7880 (vectorizable_live_operation): Fix up condition.
7881
7882 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
7883
7884 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
7885 nreverse() because it changes the content of original tree list.
7886
7887 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
7888
7889 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
7890 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
7891
7892 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
7893
7894 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
7895 GNU coding standards.
7896
7897 2014-02-13 Jakub Jelinek <jakub@redhat.com>
7898
7899 PR debug/60152
7900 * dwarf2out.c (gen_subprogram_die): Don't call
7901 add_calling_convention_attribute if subr_die is old_die.
7902
7903 2014-02-13 Sharad Singhai <singhai@google.com>
7904
7905 * doc/optinfo.texi: Fix order of nodes.
7906
7907 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
7908
7909 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
7910 operands[2], not operands[3].
7911
7912 2014-02-13 Richard Biener <rguenther@suse.de>
7913
7914 PR bootstrap/59878
7915 * doc/install.texi (ISL): Update recommended version to 0.12.2,
7916 mention the possibility of an in-tree build.
7917 (CLooG): Update recommended version to 0.18.1, mention the
7918 possibility of an in-tree build and clarify that the ISL
7919 bundled with CLooG does not work.
7920
7921 2014-02-13 Jakub Jelinek <jakub@redhat.com>
7922
7923 PR target/43546
7924 * expr.c (compress_float_constant): If x is a hard register,
7925 extend into a pseudo and then move to x.
7926
7927 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
7928
7929 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
7930 caused by bad second argument to warning_at() with -mhotpatch and
7931 nested functions (e.g. with gfortran).
7932
7933 2014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
7934
7935 * opts.c (option_name): Remove "enabled by default" rider.
7936
7937 2014-02-12 John David Anglin <danglin@gcc.gnu.org>
7938
7939 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
7940
7941 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
7942 Uros Bizjak <ubizjak@gmail.com>
7943
7944 PR target/60151
7945 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
7946 * configure: Regenerated.
7947
7948 2014-02-12 Richard Biener <rguenther@suse.de>
7949
7950 * vec.c (vec_prefix::calculate_allocation): Move as
7951 inline variant to vec.h.
7952 (vec_prefix::calculate_allocation_1): New out-of-line version.
7953 * vec.h (vec_prefix::calculate_allocation_1): Declare.
7954 (vec_prefix::m_has_auto_buf): Rename to ...
7955 (vec_prefix::m_using_auto_storage): ... this.
7956 (vec_prefix::calculate_allocation): Inline the easy cases
7957 and dispatch to calculate_allocation_1 which doesn't need the
7958 prefix address.
7959 (va_heap::reserve): Use gcc_checking_assert.
7960 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
7961 m_using_auto_storage.
7962 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
7963 member and adjust.
7964 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
7965 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
7966 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
7967
7968 2014-02-12 Richard Biener <rguenther@suse.de>
7969
7970 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
7971 when we found a dependence.
7972
7973 2014-02-12 Thomas Schwinge <thomas@codesourcery.com>
7974
7975 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
7976 common code...
7977 (maybe_fold_stmt): ... into this new function.
7978 * omp-low.c (lower_omp): Update comment.
7979
7980 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
7981 last use.
7982
7983 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
7984 dereference.
7985
7986 2014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
7987
7988 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
7989 identifiers in comments.
7990 (cortexa53_extra_costs): Likewise.
7991 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7992 (cortexa7_extra_costs): Likewise.
7993 (cortexa12_extra_costs): Likewise.
7994 (cortexa15_extra_costs): Likewise.
7995 (v7m_extra_costs): Likewise.
7996
7997 2014-02-12 Richard Biener <rguenther@suse.de>
7998
7999 PR middle-end/60092
8000 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
8001 of posix_memalign being successful.
8002 (lower_stmt): Restrict lowering of posix_memalign to when
8003 -ftree-bit-ccp is enabled.
8004
8005 2014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8006
8007 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
8008 arg_loc.
8009 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
8010
8011 2014-02-12 Eric Botcazou <ebotcazou@adacore.com>
8012
8013 PR rtl-optimization/60116
8014 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
8015 other_insn once the combination has been validated.
8016
8017 2014-02-11 Jan Hubicka <hubicka@ucw.cz>
8018
8019 PR lto/59468
8020 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
8021 and wrapper.
8022 * ipa-devirt.c: Include demangle.h
8023 (odr_violation_reported): New static variable.
8024 (add_type_duplicate): Update odr_violations.
8025 (maybe_record_node): Add completep parameter; update it.
8026 (record_target_from_binfo): Add COMPLETEP parameter;
8027 update it as needed.
8028 (possible_polymorphic_call_targets_1): Likewise.
8029 (struct polymorphic_call_target_d): Add nonconstruction_targets;
8030 rename FINAL to COMPLETE.
8031 (record_targets_from_bases): Sanity check we found the binfo;
8032 fix COMPLETEP updating.
8033 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
8034 parameter, fix computing of COMPLETEP.
8035 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
8036 at LTO time do demangling.
8037 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
8038 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
8039 parameter.
8040 (gimple_get_virt_method_for_binfo): Likewise.
8041 * gimple-fold.h (gimple_get_virt_method_for_binfo,
8042 gimple_get_virt_method_for_vtable): Update prototypes.
8043
8044 2014-02-11 Vladimir Makarov <vmakarov@redhat.com>
8045
8046 PR target/49008
8047 * genautomata.c (add_presence_absence): Fix typo with
8048 {final_}presence_list.
8049
8050 2014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
8051
8052 PR target/60137
8053 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
8054 for VSX/Altivec vectors that land in GPR registers.
8055
8056 2014-02-11 Richard Henderson <rth@redhat.com>
8057 Jakub Jelinek <jakub@redhat.com>
8058
8059 PR debug/59776
8060 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
8061 around drhs if type conversion to lacc->type is not useless.
8062
8063 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8064
8065 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
8066 tuning struct.
8067 (cortex-a57.cortex-a53): Likewise.
8068 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
8069
8070 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8071
8072 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
8073 arm_restrict_it.
8074
8075 2014-02-11 Renlin Li <Renlin.Li@arm.com>
8076
8077 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
8078 add_options_for_arm_vfp3.
8079
8080 2014-02-11 Jeff Law <law@redhat.com>
8081
8082 PR middle-end/54041
8083 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
8084 object with an undesirable mode.
8085
8086 2014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8087
8088 PR libgomp/60107
8089 * config/i386/sol2-9.h: New file.
8090 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
8091 *-*-solaris2.9*): Use it.
8092
8093 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
8094
8095 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
8096 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
8097
8098 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
8099
8100 * config/microblaze/microblaze.c: Extend mcpu version format
8101
8102 2014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
8103
8104 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
8105
8106 2014-02-10 Richard Henderson <rth@redhat.com>
8107
8108 PR target/59927
8109 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
8110 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
8111 ms-abi vs -mno-accumulate-outgoing-args.
8112 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
8113 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
8114 respect to ms-abi.
8115
8116 2014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
8117
8118 PR middle-end/60080
8119 * cfgexpand.c (expand_asm_operands): Attach source location to
8120 ASM_INPUT rtx objects.
8121 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
8122
8123 2014-02-10 Nick Clifton <nickc@redhat.com>
8124
8125 * config/mn10300/mn10300.c (popcount): New function.
8126 (mn10300_expand_prologue): Include saved registers in stack usage
8127 count.
8128
8129 2014-02-10 Jeff Law <law@redhat.com>
8130
8131 PR middle-end/52306
8132 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
8133 when changing the SET_DEST of a prior insn to avoid an input reload.
8134
8135 2014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8136
8137 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
8138 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
8139 -mcall-openbsd, or -mcall-linux.
8140 (CC1_ENDIAN_BIG_SPEC): Remove.
8141 (CC1_ENDIAN_LITTLE_SPEC): Remove.
8142 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
8143 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
8144 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
8145 and %cc1_endian_default.
8146 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
8147
8148 2014-02-10 Richard Biener <rguenther@suse.de>
8149
8150 PR tree-optimization/60115
8151 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
8152 MEM_REF handling. Properly verify that the accesses are not
8153 out of the objects bound.
8154
8155 2014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8156
8157 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
8158 coretex to cortex.
8159
8160 2014-02-10 Eric Botcazou <ebotcazou@adacore.com>
8161
8162 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
8163 proper constants and fix formatting.
8164 (possible_polymorphic_call_targets): Fix formatting.
8165
8166 2014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
8167 Ilya Tocar <ilya.tocar@intel.com>
8168
8169 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
8170 (_mm512_loadu_epi32): Renamed into...
8171 (_mm512_loadu_si512): This.
8172 (_mm512_storeu_epi32): Renamed into...
8173 (_mm512_storeu_si512): This.
8174 (_mm512_maskz_ceil_ps): Removed.
8175 (_mm512_maskz_ceil_pd): Ditto.
8176 (_mm512_maskz_floor_ps): Ditto.
8177 (_mm512_maskz_floor_pd): Ditto.
8178 (_mm512_floor_round_ps): Ditto.
8179 (_mm512_floor_round_pd): Ditto.
8180 (_mm512_ceil_round_ps): Ditto.
8181 (_mm512_ceil_round_pd): Ditto.
8182 (_mm512_mask_floor_round_ps): Ditto.
8183 (_mm512_mask_floor_round_pd): Ditto.
8184 (_mm512_mask_ceil_round_ps): Ditto.
8185 (_mm512_mask_ceil_round_pd): Ditto.
8186 (_mm512_maskz_floor_round_ps): Ditto.
8187 (_mm512_maskz_floor_round_pd): Ditto.
8188 (_mm512_maskz_ceil_round_ps): Ditto.
8189 (_mm512_maskz_ceil_round_pd): Ditto.
8190 (_mm512_expand_pd): Ditto.
8191 (_mm512_expand_ps): Ditto.
8192 * config/i386/i386.c (ix86_builtins): Remove
8193 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
8194 (bdesc_args): Ditto.
8195 * config/i386/predicates.md (const1256_operand): New.
8196 (const_1_to_2_operand): Ditto.
8197 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
8198 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
8199 (*avx512pf_gatherpf<mode>sf): Ditto.
8200 (avx512pf_gatherpf<mode>df): Ditto.
8201 (*avx512pf_gatherpf<mode>df_mask): Ditto.
8202 (*avx512pf_gatherpf<mode>df): Ditto.
8203 (avx512pf_scatterpf<mode>sf): Ditto.
8204 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
8205 (*avx512pf_scatterpf<mode>sf): Ditto.
8206 (avx512pf_scatterpf<mode>df): Ditto.
8207 (*avx512pf_scatterpf<mode>df_mask): Ditto.
8208 (*avx512pf_scatterpf<mode>df): Ditto.
8209 (avx512f_expand<mode>): Removed.
8210 (<shift_insn><mode>3<mask_name>): Change predicate type.
8211
8212 2014-02-08 Jakub Jelinek <jakub@redhat.com>
8213
8214 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
8215 not at the end of datarefs vector use ordered_remove to avoid
8216 reordering datarefs vector.
8217
8218 PR c/59984
8219 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
8220 mark local addressable non-static vars as GOVD_PRIVATE
8221 instead of GOVD_LOCAL.
8222 * omp-low.c (lower_omp_for): Move gimple_bind_vars
8223 and BLOCK_VARS of gimple_bind_block to new_stmt rather
8224 than copying them.
8225
8226 PR middle-end/60092
8227 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
8228 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
8229 assume_aligned or alloc_align attributes.
8230 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
8231 arguments. Handle also assume_aligned and alloc_align attributes.
8232 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
8233 calls to functions with assume_aligned or alloc_align attributes.
8234 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8235
8236 2014-02-08 Terry Guo <terry.guo@arm.com>
8237
8238 * doc/invoke.texi: Document ARM -march=armv7e-m.
8239
8240 2014-02-08 Jakub Jelinek <jakub@redhat.com>
8241
8242 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
8243 flag on __cilkrts_rethrow builtin.
8244
8245 PR ipa/60026
8246 * ipa-cp.c (determine_versionability): Fail at -O0
8247 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
8248 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
8249
8250 Revert:
8251 2014-02-04 Jakub Jelinek <jakub@redhat.com>
8252
8253 PR ipa/60026
8254 * tree-inline.c (copy_forbidden): Fail for
8255 __attribute__((optimize (0))) functions.
8256
8257 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
8258
8259 * varpool.c: Include pointer-set.h.
8260 (varpool_remove_unreferenced_decls): Variables in other partitions
8261 will not be output; be however careful to not lose information
8262 about partitioning.
8263
8264 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
8265
8266 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
8267 lookup in the vtable constructor.
8268
8269 2014-02-07 Jeff Law <law@redhat.com>
8270
8271 PR target/40977
8272 * config/m68k/m68k.md (ashldi_extsi): Turn into a
8273 define_insn_and_split.
8274
8275 * ipa-inline.c (inline_small_functions): Fix typos.
8276
8277 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8278
8279 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
8280 (s390_can_use_return_insn): Declare.
8281 * config/s390/s390.h (EPILOGUE_USES): Define.
8282 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
8283 instructions.
8284 (s390_chunkify_start): Handle return JUMP_LABELs.
8285 (s390_early_mach): Emit a main_pool instruction on the entry edge.
8286 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
8287 (s390_can_use_return_insn): New functions.
8288 (s390_fix_long_loop_prediction): Handle conditional returns.
8289 (TARGET_SET_UP_BY_PROLOGUE): Define.
8290 * config/s390/s390.md (ANY_RETURN): New code iterator.
8291 (*creturn, *csimple_return, return, simple_return): New patterns.
8292
8293 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8294
8295 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
8296 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
8297 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
8298 REG_CFA_RESTORE list when deciding not to restore a register.
8299
8300 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8301
8302 * config/s390/s390.c: Include tree-pass.h and context.h.
8303 (s390_early_mach): New function, split out from...
8304 (s390_emit_prologue): ...here.
8305 (pass_data_s390_early_mach): New pass structure.
8306 (pass_s390_early_mach): New class.
8307 (s390_option_override): Create and register early_mach pass.
8308 Move to end of file.
8309
8310 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8311
8312 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
8313 to match for the exit block.
8314
8315 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8316
8317 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
8318 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
8319 Reject misaligned operands.
8320
8321 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8322
8323 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8324
8325 2014-02-07 Richard Biener <rguenther@suse.de>
8326
8327 PR middle-end/60092
8328 * gimple-low.c (lower_builtin_posix_memalign): New function.
8329 (lower_stmt): Call it to lower posix_memalign in a way
8330 to make alignment info accessible.
8331
8332 2014-02-07 Jakub Jelinek <jakub@redhat.com>
8333
8334 PR c++/60082
8335 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
8336 __builtin_setjmp_receiver.
8337
8338 2014-02-07 Richard Biener <rguenther@suse.de>
8339
8340 PR middle-end/60092
8341 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
8342 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
8343 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
8344 Handle BUILT_IN_POSIX_MEMALIGN.
8345 (find_func_clobbers): Likewise.
8346 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
8347 (call_may_clobber_ref_p_1): Likewise.
8348
8349 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8350
8351 PR ipa/59918
8352 * ipa-devirt.c (record_target_from_binfo): Remove overactive
8353 sanity check.
8354
8355 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8356
8357 PR ipa/59469
8358 * lto-cgraph.c (lto_output_node): Use
8359 symtab_get_symbol_partitioning_class.
8360 (lto_output_varpool_node): likewise.
8361 (symtab_get_symbol_partitioning_class): Move here from
8362 lto/lto-partition.c
8363 * cgraph.h (symbol_partitioning_class): Likewise.
8364 (symtab_get_symbol_partitioning_class): Declare.
8365
8366 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8367
8368 * ggc.h (ggc_internal_cleared_alloc): New macro.
8369 * vec.h (vec_safe_copy): Handle memory stats.
8370 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
8371 * target-globals.c (save_target_globals): Likewise.
8372
8373 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8374
8375 PR target/60077
8376 * expr.c (emit_move_resolve_push): Export; be bit more selective
8377 on when to clear alias set.
8378 * expr.h (emit_move_resolve_push): Declare.
8379 * function.h (struct function): Add tail_call_marked.
8380 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
8381 * config/i386/i386-protos.h (ix86_expand_push): Remove.
8382 * config/i386/i386.md (TImode move expander): De not call
8383 ix86_expand_push.
8384 (FP push expanders): Preserve memory attributes.
8385 * config/i386/sse.md (push<mode>1): Remove.
8386 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
8387 (ix86_expand_push): Remove.
8388 * config/i386/mmx.md (push<mode>1): Remove.
8389
8390 2014-02-06 Jakub Jelinek <jakub@redhat.com>
8391
8392 PR rtl-optimization/60030
8393 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
8394 lopart with paradoxical subreg before shifting it up by hprec.
8395
8396 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8397
8398 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
8399 Remove extra newline at end of file.
8400 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
8401 (arm_issue_rate): Handle cortexa57.
8402 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
8403 (cortex-a57.cortex-a53): Likewise.
8404
8405 2014-02-06 Jakub Jelinek <jakub@redhat.com>
8406
8407 PR target/59575
8408 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
8409 don't record in REG_FRAME_RELATED_EXPR registers not set in that
8410 bitmask.
8411 (arm_expand_prologue): Adjust all callers.
8412 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
8413 info, registers also at the lowest numbered registers side. Use
8414 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
8415 XEXP.
8416
8417 PR debug/59992
8418 * var-tracking.c (adjust_mems): Before adding a SET to
8419 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
8420
8421 2014-02-06 Alan Modra <amodra@gmail.com>
8422
8423 PR target/60032
8424 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
8425 change SDmode to DDmode when lra_in_progress.
8426
8427 2014-02-06 Jakub Jelinek <jakub@redhat.com>
8428
8429 PR middle-end/59150
8430 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
8431 free_data_ref on the dr first, and before goto again also set dr
8432 to the next dr. For simd_lane_access, free old datarefs[i] before
8433 overwriting it. For get_vectype_for_scalar_type failure, don't
8434 free_data_ref if simd_lane_access.
8435
8436 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
8437
8438 PR target/60062
8439 * tree.h (opts_for_fn): New inline function.
8440 (opt_for_fn): Define.
8441 * config/i386/i386.c (ix86_function_regparm): Use
8442 opt_for_fn (decl, optimize) instead of optimize.
8443
8444 2014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8445
8446 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
8447 for SYMBOL_REF in large memory model.
8448
8449 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8450
8451 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
8452 and crypto support.
8453 (cortex-a57): Likewise.
8454 (cortex-a57.cortex-a53): Likewise.
8455
8456 2014-02-06 Yury Gribov <y.gribov@samsung.com>
8457 Kugan Vivekanandarajah <kuganv@linaro.org>
8458
8459 * config/arm/arm.c (arm_vector_alignment_reachable): Check
8460 unaligned_access.
8461 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
8462
8463 2014-02-06 Richard Biener <rguenther@suse.de>
8464
8465 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
8466 set_loop_copy and initialize_original_copy_tables.
8467
8468 2014-02-06 Alex Velenko <Alex.Velenko@arm.com>
8469
8470 * config/aarch64/aarch64-simd.md
8471 (aarch64_ashr_simddi): Change QI to SI.
8472
8473 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
8474 Jakub Jelinek <jakub@redhat.com>
8475
8476 PR middle-end/60013
8477 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
8478 of the dataflow.
8479
8480 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8481
8482 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
8483 CODE_FOR_altivec_vpku[hw]um to
8484 CODE_FOR_altivec_vpku[hw]um_direct.
8485 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
8486 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
8487 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
8488 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
8489
8490 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8491
8492 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
8493 generation for -maltivec=be.
8494 (altivec_vsumsws): Simplify redundant test.
8495
8496 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8497
8498 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
8499 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
8500 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
8501 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
8502 gen_altivec_vpkuwum.
8503 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
8504 BYTES_BIG_ENDIAN.
8505 (altivec_vpks<VI_char>ss): Likewise.
8506 (altivec_vpks<VI_char>us): Likewise.
8507 (altivec_vpku<VI_char>us): Likewise.
8508 (altivec_vpku<VI_char>um): Likewise.
8509 (altivec_vpku<VI_char>um_direct): New (copy of
8510 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
8511 internal use).
8512 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
8513 target is little endian and -maltivec=be is not specified.
8514 (*altivec_vupkhs<VU_char>_direct): New (copy of
8515 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
8516 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
8517 target is little endian and -maltivec=be is not specified.
8518 (*altivec_vupkls<VU_char>_direct): New (copy of
8519 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
8520 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
8521 little endian and -maltivec=be is not specified.
8522 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
8523 little endian and -maltivec=be is not specified.
8524
8525 2014-02-05 Richard Henderson <rth@redhat.com>
8526
8527 PR debug/52727
8528 * combine-stack-adj.c: Revert r206943.
8529 * sched-int.h (struct deps_desc): Add last_args_size.
8530 * sched-deps.c (init_deps): Initialize it.
8531 (sched_analyze_insn): Add OUTPUT dependencies between insns that
8532 contain REG_ARGS_SIZE notes.
8533
8534 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
8535
8536 * lto-cgraph.c (asm_nodes_output): Make global.
8537 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
8538 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
8539 (driver_handle_option): Handle OPT_fwpa.
8540
8541 2014-02-05 Jakub Jelinek <jakub@redhat.com>
8542
8543 PR ipa/59947
8544 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
8545 a comment typo and formatting issue. If odr_hash hasn't been
8546 created, return vNULL and set *completep to false.
8547
8548 PR middle-end/57499
8549 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
8550 bb with no successors.
8551
8552 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
8553
8554 PR target/59718
8555 * doc/invoke.texi (-march): Clarify documentation for ARM.
8556 (-mtune): Likewise.
8557 (-mcpu): Likewise.
8558
8559 2014-02-05 Richard Biener <rguenther@suse.de>
8560
8561 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
8562 when not vectorizing because of too many alias checks.
8563 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
8564 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
8565
8566 2014-02-05 Nick Clifton <nickc@redhat.com>
8567
8568 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
8569 accept extended registers in any mode when compiling for the MN10300.
8570
8571 2014-02-05 Yury Gribov <y.gribov@samsung.com>
8572
8573 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
8574 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
8575 sanitization attributes.
8576 (can_inline_edge_p): Likewise.
8577 (sanitize_attrs_match_for_inline_p): New function.
8578
8579 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
8580
8581 * ipa-prop.c (detect_type_change): Shor circuit testing of
8582 type changes on THIS pointer.
8583
8584 2014-02-04 John David Anglin <danglin@gcc.gnu.org>
8585
8586 PR target/59777
8587 * config/pa/pa.c (legitimize_tls_address): Return original address
8588 if not passed a SYMBOL_REF rtx.
8589 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
8590 addresses.
8591 (pa_emit_move_sequence): Simplify TLS source operands.
8592 (pa_legitimate_constant_p): Reject all TLS constants.
8593 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
8594 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
8595
8596 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
8597
8598 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
8599 groups when we know they are controlled by LTO.
8600 * varasm.c (default_binds_local_p_1): If object is in other partition,
8601 it will be resolved locally.
8602
8603 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
8604
8605 * config/host-linux.c (linux_gt_pch_use_address): Don't
8606 use SSIZE_MAX because it is not always defined.
8607
8608 2014-02-04 Vladimir Makarov <vmakarov@redhat.com>
8609
8610 PR bootstrap/59913
8611 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
8612 threshold for pseudo splitting.
8613 (update_ebb_live_info): Process call argument hard registers and
8614 hard registers from insn definition too.
8615 (max_small_class_regs_num): New constant.
8616 (inherit_in_ebb): Update live hard regs through EBBs. Update
8617 reloads_num only for small register classes. Don't split for
8618 outputs of jumps.
8619
8620 2014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
8621
8622 PR ipa/60058
8623 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
8624 is non-null.
8625
8626 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
8627
8628 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
8629 visibility is safe.
8630
8631 2014-02-04 Marek Polacek <polacek@redhat.com>
8632
8633 * gdbinit.in (pel): Define.
8634
8635 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
8636
8637 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
8638 behavior.
8639
8640 2014-02-04 Richard Biener <rguenther@suse.de>
8641
8642 PR lto/59723
8643 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
8644 in function context local.
8645 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
8646 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
8647 similar to LTO_imported_decl_ref.
8648
8649 2014-02-04 Jakub Jelinek <jakub@redhat.com>
8650
8651 PR tree-optimization/60002
8652 * cgraphclones.c (build_function_decl_skip_args): Clear
8653 DECL_LANG_SPECIFIC.
8654
8655 PR tree-optimization/60023
8656 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
8657 false to gsi_replace.
8658 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
8659 has been in some EH region and vec_stmt could throw, add
8660 vec_stmt into the same EH region.
8661 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
8662 has no lhs, ignore it.
8663 * internal-fn.c (expand_MASK_LOAD): Likewise.
8664
8665 PR ipa/60026
8666 * tree-inline.c (copy_forbidden): Fail for
8667 __attribute__((optimize (0))) functions.
8668
8669 PR other/58712
8670 * omp-low.c (simd_clone_struct_copy): If from->inbranch
8671 is set, copy one less argument.
8672 (expand_simd_clones): Don't subtract clone_info->inbranch
8673 from simd_clone_struct_alloc argument.
8674
8675 PR rtl-optimization/57915
8676 * recog.c (simplify_while_replacing): If all unary/binary/relational
8677 operation arguments are constant, attempt to simplify those.
8678
8679 PR middle-end/59261
8680 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
8681 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
8682
8683 2014-02-04 Richard Biener <rguenther@suse.de>
8684
8685 PR tree-optimization/60012
8686 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
8687 TBAA disambiguation to all DDRs.
8688
8689 2014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8690
8691 PR target/59788
8692 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
8693 (LINK_SPEC): Use it for -shared, -shared-libgcc.
8694
8695 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8696
8697 PR ipa/59882
8698 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
8699
8700 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8701
8702 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
8703 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
8704
8705 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8706
8707 PR ipa/59831
8708 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
8709 to figure out targets of polymorphic calls with known decl.
8710 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8711 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
8712 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
8713 (get_polymorphic_call_info): ... here.
8714 (get_polymorphic_call_info_from_invariant): New function.
8715
8716 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8717
8718 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
8719 lookup via vtable pointer; check for type consistency
8720 and turn inconsitent facts into UNREACHABLE.
8721 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8722 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
8723 type inconsistent querries; return UNREACHABLE instead.
8724
8725 2014-02-03 Richard Henderson <rth@twiddle.net>
8726
8727 PR tree-opt/59924
8728 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
8729 already processed this node.
8730 (normalize_one_pred_1): Pass along mark_set.
8731 (normalize_one_pred): Create and destroy a pointer_set_t.
8732 (normalize_one_pred_chain): Likewise.
8733
8734 2014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
8735
8736 PR gcov-profile/58602
8737 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
8738
8739 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8740
8741 PR ipa/59831
8742 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
8743 -fno-devirtualize; try to devirtualize by the knowledge of
8744 virtual table pointer given by aggregate propagation.
8745 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8746 (ipa_print_node_jump_functions): Dump also offset that
8747 is relevant for polymorphic calls.
8748 (determine_known_aggregate_parts): Add arg_type parameter; use it
8749 instead of determining the type from pointer type.
8750 (ipa_compute_jump_functions_for_edge): Update call of
8751 determine_known_aggregate_parts.
8752 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
8753 (gimple_get_virt_method_for_binfo): ... here; simplify using
8754 vtable_pointer_value_to_vtable.
8755 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
8756 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
8757 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
8758 (vtable_pointer_value_to_vtable): Break out from ...; handle also
8759 POINTER_PLUS_EXPR.
8760 (vtable_pointer_value_to_binfo): ... here.
8761 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
8762
8763 2014-02-03 Teresa Johnson <tejohnson@google.com>
8764
8765 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
8766 redef of outer loop index variable.
8767
8768 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
8769
8770 PR c++/53017
8771 PR c++/59211
8772 * doc/extend.texi (Function Attributes): Typo.
8773
8774 2014-02-03 Cong Hou <congh@google.com>
8775
8776 PR tree-optimization/60000
8777 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
8778 if the vectorized statement is a store. A store statement can only
8779 appear at the end of pattern statements.
8780
8781 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
8782
8783 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
8784 (ix86_option_override_internal): Default long double to 64-bit for
8785 32-bit Bionic and to 128-bit for 64-bit Bionic.
8786
8787 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
8788 TARGET_LONG_DOUBLE_128 is true.
8789 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
8790
8791 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
8792 (mlong-double-64): Negate -mlong-double-128.
8793 (mlong-double-128): New option.
8794
8795 * config/i386/i386-c.c (ix86_target_macros): Define
8796 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
8797
8798 * doc/invoke.texi: Document -mlong-double-128.
8799
8800 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
8801
8802 PR rtl-optimization/60024
8803 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
8804
8805 2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
8806
8807 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8808
8809 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
8810
8811 PR rtl-optimization/57662
8812 * sel-sched.c (code_motion_path_driver): Do not mark already not
8813 existing blocks in the visiting bitmap.
8814
8815 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
8816
8817 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
8818 on the insn being emitted.
8819
8820 2014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
8821 Will Deacon <will.deacon@arm.com>
8822
8823 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
8824
8825 2014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8826
8827 * config/arm/arm-tables.opt: Regenerate.
8828
8829 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8830
8831 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
8832 for vector types other than V16QImode.
8833 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
8834 define_expand, and call altivec_expand_vec_perm_le when producing
8835 code with little endian element order.
8836 (*altivec_vperm_<mode>_internal): New insn having previous
8837 behavior of altivec_vperm_<mode>.
8838 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
8839 altivec_expand_vec_perm_le when producing code with little endian
8840 element order.
8841 (*altivec_vperm_<mode>_uns_internal): New insn having previous
8842 behavior of altivec_vperm_<mode>_uns.
8843
8844 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8845
8846 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
8847 (altivec_vsumsws): Add handling for -maltivec=be with a little
8848 endian target.
8849 (altivec_vsumsws_direct): New.
8850 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
8851 gen_altivec_vsumsws.
8852
8853 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
8854
8855 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
8856 vtable_pointer_value_to_binfo): New functions.
8857 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
8858 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
8859
8860 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
8861
8862 * config/nios2/nios2.md (load_got_register): Initialize GOT
8863 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
8864 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
8865
8866 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
8867
8868 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
8869 preserverd by passthrough, do not propagate the type.
8870
8871 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
8872
8873 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
8874 (mips_atomic_assign_expand_fenv): New function.
8875 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
8876
8877 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
8878
8879 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
8880 (__builtin_mips_set_fcsr): Likewise.
8881 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
8882 MIPS_USI_FTYPE_VOID.
8883 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
8884 (mips16_expand_set_fcsr): Likewise.
8885 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
8886 (mips16_set_fcsr_stub): Likewise.
8887 (mips16_get_fcsr_one_only_stub): New class.
8888 (mips16_set_fcsr_one_only_stub): Likewise.
8889 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
8890 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
8891 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
8892 (hard_float): New availability predicate.
8893 (mips_builtins): Add get_fcsr and set_fcsr.
8894 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
8895 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
8896 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
8897 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
8898 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
8899 patterns.
8900
8901 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
8902
8903 * config/mips/mips.c (mips_one_only_stub): New class.
8904 (mips_need_mips16_rdhwr_p): Replace with...
8905 (mips16_rdhwr_stub): ...this new variable.
8906 (mips16_stub_call_address): New function.
8907 (mips16_rdhwr_one_only_stub): New class.
8908 (mips_expand_thread_pointer): Use mips16_stub_call_address.
8909 (mips_output_mips16_rdhwr): Delete.
8910 (mips_finish_stub): New function.
8911 (mips_code_end): Use it to handle rdhwr stubs.
8912
8913 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
8914
8915 PR target/60017
8916 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
8917 when calculating size of integer atomic types.
8918
8919 2014-02-02 H.J. Lu <hongjiu.lu@intel.com>
8920
8921 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
8922
8923 2014-02-01 Jakub Jelinek <jakub@redhat.com>
8924
8925 PR tree-optimization/60003
8926 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
8927 * profile.c (branch_prob): Use gimple_call_builtin_p
8928 to check for BUILT_IN_SETJMP_RECEIVER.
8929 * tree-inline.c (copy_bb): Call notice_special_calls.
8930
8931 2014-01-31 Vladimir Makarov <vmakarov@redhat.com>
8932
8933 PR bootstrap/59985
8934 * lra-constraints.c (process_alt_operands): Update reload_sum only
8935 on the first pass.
8936
8937 2014-01-31 Richard Henderson <rth@redhat.com>
8938
8939 PR middle-end/60004
8940 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
8941 until after else_eh is processed.
8942
8943 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
8944
8945 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
8946 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
8947 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
8948 in smmintrin.h, remove them.
8949 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
8950 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
8951 * config/i386/i386.md (ROUND_SAE): Fix value.
8952 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
8953 (const48_operand): New.
8954 * config/i386/subst.md (round), (round_expand): Use
8955 const_4_or_8_to_11_operand.
8956 (round_saeonly), (round_saeonly_expand): Use const48_operand.
8957
8958 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
8959
8960 * config/i386/constraints.md (Yk): Swap meaning with k.
8961 * config/i386/i386.md (movhi_internal): Change Yk to k.
8962 (movqi_internal): Ditto.
8963 (*k<logic><mode>): Ditto.
8964 (*andhi_1): Ditto.
8965 (*andqi_1): Ditto.
8966 (kandn<mode>): Ditto.
8967 (*<code>hi_1): Ditto.
8968 (*<code>qi_1): Ditto.
8969 (kxnor<mode>): Ditto.
8970 (kortestzhi): Ditto.
8971 (kortestchi): Ditto.
8972 (kunpckhi): Ditto.
8973 (*one_cmplhi2_1): Ditto.
8974 (*one_cmplqi2_1): Ditto.
8975 * config/i386/sse.md (): Change k to Yk.
8976 (avx512f_load<mode>_mask): Ditto.
8977 (avx512f_blendm<mode>): Ditto.
8978 (avx512f_store<mode>_mask): Ditto.
8979 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
8980 (avx512f_storedqu<mode>_mask): Ditto.
8981 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
8982 Ditto.
8983 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
8984 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
8985 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
8986 (avx512f_maskcmp<mode>3): Ditto.
8987 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
8988 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
8989 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
8990 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
8991 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
8992 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
8993 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
8994 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
8995 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
8996 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
8997 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
8998 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
8999 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
9000 (vec_extract_lo_<mode>_maskm): Ditto.
9001 (vec_extract_hi_<mode>_maskm): Ditto.
9002 (avx512f_vternlog<mode>_mask): Ditto.
9003 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
9004 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
9005 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
9006 (avx512f_<code>v8div16qi2_mask): Ditto.
9007 (avx512f_<code>v8div16qi2_mask_store): Ditto.
9008 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
9009 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
9010 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
9011 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
9012 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
9013 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9014 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9015 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9016 (avx512cd_maskb_vec_dupv8di): Ditto.
9017 (avx512cd_maskw_vec_dupv16si): Ditto.
9018 (avx512f_vpermi2var<mode>3_maskz): Ditto.
9019 (avx512f_vpermi2var<mode>3_mask): Ditto.
9020 (avx512f_vpermi2var<mode>3_mask): Ditto.
9021 (avx512f_vpermt2var<mode>3_maskz): Ditto.
9022 (*avx512f_gathersi<mode>): Ditto.
9023 (*avx512f_gathersi<mode>_2): Ditto.
9024 (*avx512f_gatherdi<mode>): Ditto.
9025 (*avx512f_gatherdi<mode>_2): Ditto.
9026 (*avx512f_scattersi<mode>): Ditto.
9027 (*avx512f_scatterdi<mode>): Ditto.
9028 (avx512f_compress<mode>_mask): Ditto.
9029 (avx512f_compressstore<mode>_mask): Ditto.
9030 (avx512f_expand<mode>_mask): Ditto.
9031 * config/i386/subst.md (mask): Change k to Yk.
9032 (mask_scalar_merge): Ditto.
9033 (sd): Ditto.
9034
9035 2014-01-31 Marc Glisse <marc.glisse@inria.fr>
9036
9037 * doc/extend.texi (Vector Extensions): Document ?: in C++.
9038
9039 2014-01-31 Richard Biener <rguenther@suse.de>
9040
9041 PR middle-end/59990
9042 * builtins.c (fold_builtin_memory_op): Make sure to not
9043 use a floating-point mode or a boolean or enumeral type for
9044 the copy operation.
9045
9046 2014-01-30 DJ Delorie <dj@redhat.com>
9047
9048 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
9049 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
9050 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
9051 whenever main() has an epilogue.
9052
9053 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9054
9055 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
9056 unused variable "field".
9057 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
9058 (vsx_mergeh_<mode>): Likewise.
9059 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
9060 (altivec_vmrghh): Likewise.
9061 (altivec_vmrghw): Likewise.
9062 (altivec_vmrglb): Likewise.
9063 (altivec_vmrglh): Likewise.
9064 (altivec_vmrglw): Likewise.
9065 (altivec_vspltb): Add missing uses.
9066 (altivec_vsplth): Likewise.
9067 (altivec_vspltw): Likewise.
9068 (altivec_vspltsf): Likewise.
9069
9070 2014-01-30 Jakub Jelinek <jakub@redhat.com>
9071
9072 PR target/59923
9073 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
9074 frame related instructions.
9075
9076 2014-01-30 Vladimir Makarov <vmakarov@redhat.com>
9077
9078 PR rtl-optimization/59959
9079 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
9080 any reload of register whose subreg is invalid.
9081
9082 2014-01-30 Jakub Jelinek <jakub@redhat.com>
9083
9084 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
9085 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
9086 Add missing return type - void.
9087
9088 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9089
9090 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
9091 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
9092 remove element index adjustment for endian (now handled in vsx.md
9093 and altivec.md).
9094 (altivec_expand_vec_perm_const): Use
9095 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
9096 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
9097 (vsx_xxspltw_<mode>): Adjust element index for little endian.
9098 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
9099 define_expand and a new define_insn *altivec_vspltb_internal;
9100 adjust for -maltivec=be on a little endian target.
9101 (altivec_vspltb_direct): New.
9102 (altivec_vsplth): Divide into a define_expand and a new
9103 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
9104 little endian target.
9105 (altivec_vsplth_direct): New.
9106 (altivec_vspltw): Divide into a define_expand and a new
9107 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
9108 little endian target.
9109 (altivec_vspltw_direct): New.
9110 (altivec_vspltsf): Divide into a define_expand and a new
9111 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
9112 a little endian target.
9113
9114 2014-01-30 Richard Biener <rguenther@suse.de>
9115
9116 PR tree-optimization/59993
9117 * tree-ssa-forwprop.c (associate_pointerplus): Check we
9118 can propagate form the earlier stmt and avoid the transform
9119 when the intermediate result is needed.
9120
9121 2014-01-30 Alangi Derick <alangiderick@gmail.com>
9122
9123 * README.Portability: Fix typo.
9124
9125 2014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
9126
9127 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
9128 comparison_operator with ordered_comparison_operator.
9129
9130 2014-01-30 Nick Clifton <nickc@redhat.com>
9131
9132 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
9133 Rename to mn10300_store_multiple_regs.
9134 * config/mn10300/mn10300.c: Likewise.
9135 * config/mn10300/mn10300.md (store_movm): Fix typo: call
9136 store_multiple_regs.
9137 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
9138 Call mn10300_store_multiple_regs.
9139
9140 2014-01-30 Nick Clifton <nickc@redhat.com>
9141 DJ Delorie <dj@redhat.com>
9142
9143 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
9144 %fp 2 to keep registers after it properly word-aligned.
9145 (rl78_alloc_physical_registers_umul): Handle the case where both
9146 input operands are the same.
9147
9148 2014-01-30 Richard Biener <rguenther@suse.de>
9149
9150 PR tree-optimization/59903
9151 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
9152 check properly.
9153
9154 2014-01-30 Jason Merrill <jason@redhat.com>
9155
9156 PR c++/59633
9157 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
9158
9159 PR c++/59645
9160 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
9161
9162 2014-01-30 Richard Biener <rguenther@suse.de>
9163
9164 PR tree-optimization/59951
9165 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
9166
9167 2014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
9168
9169 PR target/59784
9170 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
9171 SFmode to DFmode case.
9172
9173 2014-01-29 DJ Delorie <dj@redhat.com>
9174
9175 * config/msp430/msp430.opt (-minrt): New.
9176 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
9177 if -minrt given.
9178 (ENDFILE_SPEC): Likewise.
9179
9180 2014-01-29 Jan Hubicka <hubicka@ucw.cz>
9181
9182 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
9183 (estimate_function_body_sizes): Use it.
9184
9185 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
9186
9187 PR c++/58561
9188 * dwarf2out.c (is_cxx_auto): New.
9189 (is_base_type): Use it.
9190 (gen_type_die_with_usage): Likewise.
9191
9192 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9193
9194 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
9195 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
9196 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
9197 -maltivec=be with LE targets.
9198 (vsx_mergeh_<mode>): Likewise.
9199 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
9200 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
9201 (altivec_vmrghb): Replace with define_expand and new
9202 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
9203 (altivec_vmrghb_direct): New define_insn.
9204 (altivec_vmrghh): Replace with define_expand and new
9205 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
9206 (altivec_vmrghh_direct): New define_insn.
9207 (altivec_vmrghw): Replace with define_expand and new
9208 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
9209 (altivec_vmrghw_direct): New define_insn.
9210 (*altivec_vmrghsf): Adjust for endianness.
9211 (altivec_vmrglb): Replace with define_expand and new
9212 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
9213 (altivec_vmrglb_direct): New define_insn.
9214 (altivec_vmrglh): Replace with define_expand and new
9215 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
9216 (altivec_vmrglh_direct): New define_insn.
9217 (altivec_vmrglw): Replace with define_expand and new
9218 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
9219 (altivec_vmrglw_direct): New define_insn.
9220 (*altivec_vmrglsf): Adjust for endianness.
9221 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
9222 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
9223 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
9224 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
9225 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
9226 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
9227 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
9228 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
9229
9230 2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
9231
9232 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
9233 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
9234 whitespace.
9235
9236 2014-01-29 Richard Biener <rguenther@suse.de>
9237
9238 PR tree-optimization/58742
9239 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
9240 associate_pointerplus_align.
9241 (associate_pointerplus_diff): New function.
9242 (associate_pointerplus): Likewise. Call associate_pointerplus_align
9243 and associate_pointerplus_diff.
9244
9245 2014-01-29 Richard Biener <rguenther@suse.de>
9246
9247 * lto-streamer.h (LTO_major_version): Bump to 3.
9248 (LTO_minor_version): Reset to 0.
9249
9250 2014-01-29 Renlin Li <Renlin.Li@arm.com>
9251
9252 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
9253 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
9254 (arm_file_start): Generate correct asm header for armv7ve.
9255 * config/arm/bpabi.h: Add multilib support for armv7ve.
9256 * config/arm/driver-arm.c: Change the architectures of cortex-a7
9257 and cortex-a15 to armv7ve.
9258 * config/arm/t-aprofile: Add multilib support for armv7ve.
9259 * doc/invoke.texi: Document -march=armv7ve.
9260
9261 2014-01-29 Richard Biener <rguenther@suse.de>
9262
9263 PR tree-optimization/58742
9264 * tree-ssa-forwprop.c (associate_plusminus): Return true
9265 if we changed sth, defer EH cleanup to ...
9266 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
9267 (simplify_mult): New function.
9268
9269 2014-01-29 Jakub Jelinek <jakub@redhat.com>
9270
9271 PR middle-end/59917
9272 PR tree-optimization/59920
9273 * tree.c (build_common_builtin_nodes): Remove
9274 __builtin_setjmp_dispatcher initialization.
9275 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
9276 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
9277 instead of gsi_after_labels + manually skipping debug stmts.
9278 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
9279 ignore bbs with IFN_ABNORMAL_DISPATCHER.
9280 * tree-inline.c (copy_edges_for_bb): Remove
9281 can_make_abnormal_goto argument, instead add abnormal_goto_dest
9282 argument. Ignore computed_goto_p stmts. Don't call
9283 make_abnormal_goto_edges. If a call might need abnormal edges
9284 for non-local gotos, see if it already has an edge to
9285 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
9286 with true argument, don't do anything then, otherwise add
9287 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
9288 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
9289 caller.
9290 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
9291 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
9292 (lower_stmt): Don't set data->calls_builtin_setjmp.
9293 (lower_builtin_setjmp): Adjust comment.
9294 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
9295 * tree-cfg.c (found_computed_goto): Remove.
9296 (factor_computed_gotos): Remove.
9297 (make_goto_expr_edges): Return bool, true for computed gotos.
9298 Don't call make_abnormal_goto_edges.
9299 (build_gimple_cfg): Don't set found_computed_goto, don't call
9300 factor_computed_gotos.
9301 (computed_goto_p): No longer static.
9302 (make_blocks): Don't set found_computed_goto.
9303 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
9304 (make_edges): If make_goto_expr_edges returns true, push bb
9305 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
9306 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
9307 vector. Record mapping between bbs and OpenMP regions if there
9308 are any, adjust make_gimple_omp_edges caller. Call
9309 handle_abnormal_edges.
9310 (make_abnormal_goto_edges): Remove.
9311 * tree-cfg.h (make_abnormal_goto_edges): Remove.
9312 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
9313 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
9314 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
9315 * internal-fn.def (ABNORMAL_DISPATCHER): New.
9316 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
9317 filling *region also set *region_idx to (*region)->entry->index.
9318
9319 PR other/58712
9320 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
9321 For REGs set ORIGINAL_REGNO.
9322
9323 2014-01-29 Bingfeng Mei <bmei@broadcom.com>
9324
9325 * doc/md.texi: Mention that a target shouldn't implement
9326 vec_widen_(s|u)mul_even/odd pair if it is less efficient
9327 than hi/lo pair.
9328
9329 2014-01-29 Jakub Jelinek <jakub@redhat.com>
9330
9331 PR tree-optimization/59594
9332 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
9333 a copy of the datarefs vector rather than the vector itself.
9334
9335 2014-01-28 Jason Merrill <jason@redhat.com>
9336
9337 PR c++/53756
9338 * dwarf2out.c (auto_die): New static.
9339 (gen_type_die_with_usage): Handle C++1y 'auto'.
9340 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
9341 on definition.
9342
9343 2014-01-28 H.J. Lu <hongjiu.lu@intel.com>
9344
9345 PR target/59672
9346 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
9347 (SPEC_X32): Likewise.
9348 (SPEC_64): Likewise.
9349 * config/i386/i386.c (ix86_option_override_internal): Turn off
9350 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
9351 for TARGET_16BIT.
9352 (x86_file_start): Output .code16gcc for TARGET_16BIT.
9353 * config/i386/i386.h (TARGET_16BIT): New macro.
9354 (TARGET_16BIT_P): Likewise.
9355 * config/i386/i386.opt: Add m16.
9356 * doc/invoke.texi: Document -m16.
9357
9358 2014-01-28 Jakub Jelinek <jakub@redhat.com>
9359
9360 PR preprocessor/59935
9361 * input.c (location_get_source_line): Bail out on when line number
9362 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
9363
9364 2014-01-28 Richard Biener <rguenther@suse.de>
9365
9366 PR tree-optimization/58742
9367 * tree-ssa-forwprop.c (associate_plusminus): Handle
9368 pointer subtraction of the form (T)(P + A) - (T)P.
9369
9370 2014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9371
9372 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
9373 at const_int_cost.
9374
9375 2014-01-28 Richard Biener <rguenther@suse.de>
9376
9377 Revert
9378 2014-01-28 Richard Biener <rguenther@suse.de>
9379
9380 PR rtl-optimization/45364
9381 PR rtl-optimization/59890
9382 * var-tracking.c (local_get_addr_clear_given_value): Handle
9383 already cleared slot.
9384 (val_reset): Handle not allocated local_get_addr_cache.
9385 (vt_find_locations): Use post-order on the inverted CFG.
9386
9387 2014-01-28 Richard Biener <rguenther@suse.de>
9388
9389 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
9390
9391 2014-01-28 Richard Biener <rguenther@suse.de>
9392
9393 PR rtl-optimization/45364
9394 PR rtl-optimization/59890
9395 * var-tracking.c (local_get_addr_clear_given_value): Handle
9396 already cleared slot.
9397 (val_reset): Handle not allocated local_get_addr_cache.
9398 (vt_find_locations): Use post-order on the inverted CFG.
9399
9400 2014-01-28 Alan Modra <amodra@gmail.com>
9401
9402 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
9403 * configure.ac <recursive call for build != host>: Define
9404 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
9405 and LD_FOR_BUILD too.
9406 * configure: Regenerate.
9407
9408 2014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
9409
9410 * config/i386/i386.c (get_builtin_code_for_version): Separate
9411 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
9412 Broadwell from Haswell.
9413
9414 2014-01-27 Steve Ellcey <sellcey@mips.com>
9415
9416 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
9417 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
9418 * config/mips/mips.c (mips_option_override): Change setting
9419 of TARGET_DSP.
9420 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
9421 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
9422 Change from Mask to Var.
9423
9424 2014-01-27 Jeff Law <law@redhat.com>
9425
9426 * ipa-inline.c (inline_small_functions): Fix typo.
9427
9428 2014-01-27 Ilya Tocar <ilya.tocar@intel.com>
9429
9430 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
9431 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
9432 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
9433 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
9434 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
9435 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
9436 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
9437 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
9438 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
9439 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
9440 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
9441 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
9442 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
9443 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
9444 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
9445 (_mm512_storeu_epi64): Ditto.
9446 (_mm512_cmpge_epi32_mask): Ditto.
9447 (_mm512_cmpge_epu32_mask): Ditto.
9448 (_mm512_cmpge_epi64_mask): Ditto.
9449 (_mm512_cmpge_epu64_mask): Ditto.
9450 (_mm512_cmple_epi32_mask): Ditto.
9451 (_mm512_cmple_epu32_mask): Ditto.
9452 (_mm512_cmple_epi64_mask): Ditto.
9453 (_mm512_cmple_epu64_mask): Ditto.
9454 (_mm512_cmplt_epi32_mask): Ditto.
9455 (_mm512_cmplt_epu32_mask): Ditto.
9456 (_mm512_cmplt_epi64_mask): Ditto.
9457 (_mm512_cmplt_epu64_mask): Ditto.
9458 (_mm512_cmpneq_epi32_mask): Ditto.
9459 (_mm512_cmpneq_epu32_mask): Ditto.
9460 (_mm512_cmpneq_epi64_mask): Ditto.
9461 (_mm512_cmpneq_epu64_mask): Ditto.
9462 (_mm512_expand_pd): Ditto.
9463 (_mm512_expand_ps): Ditto.
9464 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
9465 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
9466 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
9467 * config/i386/i386.c (ix86_builtins): Add
9468 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
9469 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
9470 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
9471 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
9472 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
9473 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
9474 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
9475 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
9476 IX86_BUILTIN_PMOVUSQW512_MEM.
9477 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
9478 __builtin_ia32_pmovsqd512mem_mask,
9479 __builtin_ia32_pmovqd512mem_mask,
9480 __builtin_ia32_pmovusqw512mem_mask,
9481 __builtin_ia32_pmovsqw512mem_mask,
9482 __builtin_ia32_pmovqw512mem_mask,
9483 __builtin_ia32_pmovusdw512mem_mask,
9484 __builtin_ia32_pmovsdw512mem_mask,
9485 __builtin_ia32_pmovdw512mem_mask,
9486 __builtin_ia32_pmovqb512mem_mask,
9487 __builtin_ia32_pmovusqb512mem_mask,
9488 __builtin_ia32_pmovsqb512mem_mask,
9489 __builtin_ia32_pmovusdb512mem_mask,
9490 __builtin_ia32_pmovsdb512mem_mask,
9491 __builtin_ia32_pmovdb512mem_mask.
9492 (bdesc_args): Add __builtin_ia32_expanddf512,
9493 __builtin_ia32_expandsf512.
9494 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
9495 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
9496 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
9497 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
9498 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
9499 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
9500 (avx512f_<code>v8div16qi2_mask_store): This.
9501 (avx512f_expand<mode>): New.
9502
9503 2014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
9504
9505 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
9506 New.
9507 (_mm512_mask_prefetch_i64gather_pd): Ditto.
9508 (_mm512_prefetch_i32scatter_pd): Ditto.
9509 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
9510 (_mm512_prefetch_i64scatter_pd): Ditto.
9511 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
9512 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
9513 (_mm512_mask_prefetch_i64gather_ps): Ditto.
9514 (_mm512_prefetch_i32scatter_ps): Ditto.
9515 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
9516 (_mm512_prefetch_i64scatter_ps): Ditto.
9517 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
9518 * config/i386/i386-builtin-types.def: Define
9519 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
9520 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
9521 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
9522 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
9523 IX86_BUILTIN_SCATTERPFQPD.
9524 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
9525 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
9526 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
9527 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
9528 __builtin_ia32_scatterpfqps.
9529 (ix86_expand_builtin): Expand new built-ins.
9530 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
9531 fix memory access data type.
9532 (*avx512pf_gatherpf<mode>_mask): Ditto.
9533 (*avx512pf_gatherpf<mode>): Ditto.
9534 (avx512pf_scatterpf<mode>): Ditto.
9535 (*avx512pf_scatterpf<mode>_mask): Ditto.
9536 (*avx512pf_scatterpf<mode>): Ditto.
9537 (GATHER_SCATTER_SF_MEM_MODE): New.
9538 (avx512pf_gatherpf<mode>df): Ditto.
9539 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9540 (*avx512pf_scatterpf<mode>df): Ditto.
9541
9542 2014-01-27 Jakub Jelinek <jakub@redhat.com>
9543
9544 PR bootstrap/59934
9545 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
9546 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
9547 reached.
9548
9549 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
9550
9551 * common/config/arm/arm-common.c
9552 (arm_rewrite_mcpu): Handle multiple names.
9553 * config/arm/arm.h
9554 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9555
9556 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
9557
9558 * gimple-builder.h (create_gimple_tmp): Delete.
9559
9560 2014-01-27 Christian Bruel <christian.bruel@st.com>
9561
9562 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
9563 words comparisons.
9564
9565 2014-01-26 John David Anglin <danglin@gcc.gnu.org>
9566
9567 * config/pa/pa.md (call): Generate indirect long calls to non-local
9568 functions when outputing 32-bit code.
9569 (call_value): Likewise except for special call to buggy powf function.
9570
9571 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
9572 portable runtime and PIC indirect calls.
9573 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
9574 and PIC call sequences. Use ldo instead of blr to set return register
9575 in PIC call sequence.
9576
9577 2014-01-25 Walter Lee <walt@tilera.com>
9578
9579 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
9580 avoid clobbering a live register.
9581
9582 2014-01-25 Walter Lee <walt@tilera.com>
9583
9584 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
9585 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
9586 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
9587 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
9588
9589 2014-01-25 Walter Lee <walt@tilera.com>
9590
9591 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
9592 arguments on even registers.
9593 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
9594 STACK_BOUNDARY.
9595 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
9596 (BIGGEST_ALIGNMENT): Ditto.
9597 (BIGGEST_FIELD_ALIGNMENT): Ditto.
9598
9599 2014-01-25 Walter Lee <walt@tilera.com>
9600
9601 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
9602 insns before bundling.
9603 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
9604
9605 2014-01-25 Walter Lee <walt@tilera.com>
9606
9607 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
9608 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
9609 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
9610
9611 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
9612
9613 * config/mips/constraints.md (kl): Delete.
9614 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
9615 define expands, using...
9616 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
9617 instructions for MIPS16.
9618 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
9619 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
9620
9621 2014-01-25 Walter Lee <walt@tilera.com>
9622
9623 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
9624 (clzdi2): Ditto.
9625 (ffsdi2): Ditto.
9626
9627 2014-01-25 Walter Lee <walt@tilera.com>
9628
9629 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
9630 (TARGET_EXPAND_TO_RTL_HOOK): Define.
9631
9632 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
9633
9634 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
9635 Handle XOR.
9636
9637 2014-01-25 Jakub Jelinek <jakub@redhat.com>
9638
9639 * print-rtl.c (in_call_function_usage): New var.
9640 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
9641 EXPR_LIST mode as mode and not as reg note name.
9642
9643 PR middle-end/59561
9644 * cfgloopmanip.c (copy_loop_info): If
9645 loop->warned_aggressive_loop_optimizations, make sure
9646 the flag is set in target loop too.
9647
9648 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9649
9650 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
9651 flag_cilkplus.
9652 * builtins.def: Likewise.
9653 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
9654 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
9655 * ira.c (ira_setup_eliminable_regset): Likewise.
9656 * omp-low.c (gate_expand_omp): Likewise.
9657 (execute_lower_omp): Likewise.
9658 (diagnose_sb_0): Likewise.
9659 (gate_diagnose_omp_blocks): Likewise.
9660 (simd_clone_clauses_extract): Likewise.
9661 (gate): Likewise.
9662
9663 2014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9664
9665 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
9666 correction for little endian...
9667 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
9668 here.
9669
9670 2014-01-24 Jeff Law <law@redhat.com>
9671
9672 PR tree-optimization/59919
9673 * tree-vrp.c (find_assert_locations_1): Do not register asserts
9674 for non-returning calls.
9675
9676 2014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
9677
9678 * common/config/aarch64/aarch64-common.c
9679 (aarch64_rewrite_mcpu): Handle multiple names.
9680 * config/aarch64/aarch64.h
9681 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9682
9683 2014-01-24 Dodji Seketeli <dodji@redhat.com>
9684
9685 * input.c (add_file_to_cache_tab): Handle the case where fopen
9686 returns NULL.
9687
9688 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
9689
9690 PR target/59929
9691 * config/i386/i386.md (pushsf splitter): Get stack adjustment
9692 from push operand if code of push isn't PRE_DEC.
9693
9694 2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
9695
9696 PR target/59909
9697 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
9698 -mquad-memory-atomic. Update -mquad-memory documentation to say
9699 it is only used for non-atomic loads/stores.
9700
9701 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
9702 -mquad-memory or -mquad-memory-atomic switches.
9703
9704 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
9705 -mquad-memory-atomic to ISA 2.07 support.
9706
9707 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
9708 to separate support of normal quad word memory operations (ldq, stq)
9709 from the atomic quad word memory operations.
9710
9711 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
9712 support to separate non-atomic quad word operations from atomic
9713 quad word operations. Disable non-atomic quad word operations in
9714 little endian mode so that we don't have to swap words after the
9715 load and before the store.
9716 (quad_load_store_p): Add comment about atomic quad word support.
9717 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
9718 options printed with -mdebug=reg.
9719
9720 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
9721 -mquad-memory-atomic as the test for whether we have quad word
9722 atomic instructions.
9723 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
9724 or -mp8-vector are used, allow byte/half-word atomic operations.
9725
9726 * config/rs6000/sync.md (load_lockedti): Insure that the address
9727 is a proper indexed or indirect address for the lqarx instruction.
9728 On little endian systems, swap the hi/lo registers after the lqarx
9729 instruction.
9730 (load_lockedpti): Use indexed_or_indirect_operand predicate to
9731 insure the address is valid for the lqarx instruction.
9732 (store_conditionalti): Insure that the address is a proper indexed
9733 or indirect address for the stqcrx. instruction. On little endian
9734 systems, swap the hi/lo registers before doing the stqcrx.
9735 instruction.
9736 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
9737 insure the address is valid for the stqcrx. instruction.
9738
9739 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
9740 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
9741 type of quad memory support is available.
9742
9743 2014-01-23 Vladimir Makarov <vmakarov@redhat.com>
9744
9745 PR regression/59915
9746 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
9747 there is a danger of looping.
9748
9749 2014-01-23 Pat Haugen <pthaugen@us.ibm.com>
9750
9751 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
9752 force flag_ira_loop_pressure if set via command line.
9753
9754 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
9755
9756 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
9757 (ashr_simd): New builtin handling DI mode.
9758 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
9759 (aarch64_sshr_simddi): New match pattern.
9760 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
9761 (vshrd_n_s64): Likewise.
9762 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
9763
9764 2014-01-23 Nick Clifton <nickc@redhat.com>
9765
9766 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
9767 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
9768 favour of mcu specific scripts.
9769 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
9770 430x multilibs.
9771
9772 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
9773 Alex Velenko <Alex.Velenko@arm.com>
9774
9775 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
9776 (vaddv_s16): Likewise.
9777 (vaddv_s32): Likewise.
9778 (vaddv_u8): Likewise.
9779 (vaddv_u16): Likewise.
9780 (vaddv_u32): Likewise.
9781 (vaddvq_s8): Likewise.
9782 (vaddvq_s16): Likewise.
9783 (vaddvq_s32): Likewise.
9784 (vaddvq_s64): Likewise.
9785 (vaddvq_u8): Likewise.
9786 (vaddvq_u16): Likewise.
9787 (vaddvq_u32): Likewise.
9788 (vaddvq_u64): Likewise.
9789 (vaddv_f32): Likewise.
9790 (vaddvq_f32): Likewise.
9791 (vaddvq_f64): Likewise.
9792 (vmaxv_f32): Likewise.
9793 (vmaxv_s8): Likewise.
9794 (vmaxv_s16): Likewise.
9795 (vmaxv_s32): Likewise.
9796 (vmaxv_u8): Likewise.
9797 (vmaxv_u16): Likewise.
9798 (vmaxv_u32): Likewise.
9799 (vmaxvq_f32): Likewise.
9800 (vmaxvq_f64): Likewise.
9801 (vmaxvq_s8): Likewise.
9802 (vmaxvq_s16): Likewise.
9803 (vmaxvq_s32): Likewise.
9804 (vmaxvq_u8): Likewise.
9805 (vmaxvq_u16): Likewise.
9806 (vmaxvq_u32): Likewise.
9807 (vmaxnmv_f32): Likewise.
9808 (vmaxnmvq_f32): Likewise.
9809 (vmaxnmvq_f64): Likewise.
9810 (vminv_f32): Likewise.
9811 (vminv_s8): Likewise.
9812 (vminv_s16): Likewise.
9813 (vminv_s32): Likewise.
9814 (vminv_u8): Likewise.
9815 (vminv_u16): Likewise.
9816 (vminv_u32): Likewise.
9817 (vminvq_f32): Likewise.
9818 (vminvq_f64): Likewise.
9819 (vminvq_s8): Likewise.
9820 (vminvq_s16): Likewise.
9821 (vminvq_s32): Likewise.
9822 (vminvq_u8): Likewise.
9823 (vminvq_u16): Likewise.
9824 (vminvq_u32): Likewise.
9825 (vminnmv_f32): Likewise.
9826 (vminnmvq_f32): Likewise.
9827 (vminnmvq_f64): Likewise.
9828
9829 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
9830
9831 * config/aarch64/aarch64-simd.md
9832 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
9833 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
9834 (*aarch64_mul3_elt<mode>): Likewise.
9835 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
9836 (*aarch64_mul3_elt_to_64v2df): Likewise.
9837 (*aarch64_mla_elt<mode>): Likewise.
9838 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
9839 (*aarch64_mls_elt<mode>): Likewise.
9840 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
9841 (*aarch64_fma4_elt<mode>): Likewise.
9842 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
9843 (*aarch64_fma4_elt_to_64v2df): Likewise.
9844 (*aarch64_fnma4_elt<mode>): Likewise.
9845 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
9846 (*aarch64_fnma4_elt_to_64v2df): Likewise.
9847 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
9848 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
9849 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9850 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9851 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
9852 (aarch64_sqdmull_lane<mode>_internal): Likewise.
9853 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
9854
9855 2013-01-23 Alex Velenko <Alex.Velenko@arm.com>
9856
9857 * config/aarch64/aarch64-simd.md
9858 (aarch64_be_checked_get_lane<mode>): New define_expand.
9859 * config/aarch64/aarch64-simd-builtins.def
9860 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
9861 New builtin definition.
9862 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
9863 Use new safe be builtin.
9864
9865 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
9866
9867 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
9868 New define_insn.
9869 (aarch64_be_st1<mode>): Likewise.
9870 (aarch_ld1<VALL:mode>): Define_expand modified.
9871 (aarch_st1<VALL:mode>): Likewise.
9872 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
9873 (UNSPEC_ST1): Likewise.
9874
9875 2014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
9876
9877 * config/microblaze/microblaze.md: Add trap insn and attribute
9878
9879 2014-01-23 Dodji Seketeli <dodji@redhat.com>
9880
9881 PR preprocessor/58580
9882 * input.h (location_get_source_line): Take an additional line_size
9883 parameter.
9884 (void diagnostics_file_cache_fini): Declare new function.
9885 * input.c (struct fcache): New type.
9886 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
9887 New static constants.
9888 (diagnostic_file_cache_init, total_lines_num)
9889 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
9890 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
9891 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
9892 (get_next_line, read_next_line, goto_next_line, read_line_num):
9893 New static function definitions.
9894 (diagnostic_file_cache_fini): New function.
9895 (location_get_source_line): Take an additional output line_len
9896 parameter. Re-write using lookup_or_add_file_to_cache_tab and
9897 read_line_num.
9898 * diagnostic.c (diagnostic_finish): Call
9899 diagnostic_file_cache_fini.
9900 (adjust_line): Take an additional input parameter for the length
9901 of the line, rather than calculating it with strlen.
9902 (diagnostic_show_locus): Adjust the use of
9903 location_get_source_line and adjust_line with respect to their new
9904 signature. While displaying a line now, do not stop at the first
9905 null byte. Rather, display the zero byte as a space and keep
9906 going until we reach the size of the line.
9907 * Makefile.in: Add vec.o to OBJS-libcommon
9908
9909 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
9910 Ilya Tocar <ilya.tocar@intel.com>
9911
9912 * config/i386/avx512fintrin.h (_mm512_kmov): New.
9913 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
9914 (__builtin_ia32_kmov16): Ditto.
9915 * config/i386/i386.md (UNSPEC_KMOV): New.
9916 (kmovw): Ditto.
9917
9918 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
9919
9920 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
9921 (_mm512_storeu_si512): Ditto.
9922
9923 2014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
9924
9925 PR target/52125
9926 * rtl.h (get_referenced_operands): Declare.
9927 * recog.c (get_referenced_operands): New function.
9928 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
9929 operands have been referenced when recording LO_SUM references.
9930
9931 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
9932
9933 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
9934
9935 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
9936
9937 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
9938 Enable for generic and recent AMD targets.
9939
9940 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
9941
9942 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
9943 ARG_SIZE note when adjustment was eliminated.
9944
9945 2014-01-22 Jeff Law <law@redhat.com>
9946
9947 PR tree-optimization/59597
9948 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
9949 in file. Accept new argument REGISTERING and use it to modify
9950 dump output appropriately.
9951 (register_jump_thread): Corresponding changes.
9952 (mark_threaded_blocks): Reinstate code to cancel unprofitable
9953 thread paths involving joiner blocks. Add code to dump cancelled
9954 jump threading paths.
9955
9956 2014-01-22 Vladimir Makarov <vmakarov@redhat.com>
9957
9958 PR rtl-optimization/59477
9959 * lra-constraints.c (inherit_in_ebb): Process call for living hard
9960 regs. Update reloads_num and potential_reload_hard_regs for all insns.
9961
9962 2014-01-22 Tom Tromey <tromey@redhat.com>
9963
9964 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
9965 PARAMS.
9966 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
9967
9968 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
9969
9970 PR rtl-optimization/59896
9971 * lra-constraints.c (process_alt_operands): Check unused note for
9972 matched operands of insn with no output reloads.
9973
9974 2014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
9975
9976 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
9977 (mips_move_from_gpr_cost): Likewise.
9978
9979 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
9980
9981 PR rtl-optimization/59858
9982 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
9983 ira_class_hard_regs_num.
9984 (process_alt_operands): Increase reject for dying matched operand.
9985
9986 2014-01-21 Jakub Jelinek <jakub@redhat.com>
9987
9988 PR target/59003
9989 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
9990 smaller than size, perform several stores or loads and stores
9991 at dst + count - size to store or copy all of size bytes, rather
9992 than just last modesize bytes.
9993
9994 2014-01-20 DJ Delorie <dj@redhat.com>
9995
9996 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
9997 that CLOBBERs are REGs before propogating their values.
9998
9999 2014-01-20 H.J. Lu <hongjiu.lu@intel.com>
10000
10001 PR middle-end/59789
10002 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
10003 (cgraph_inline_failed_type): New function.
10004 * cgraph.h (DEFCIFCODE): Add type.
10005 (cgraph_inline_failed_type_t): New enum.
10006 (cgraph_inline_failed_type): New prototype.
10007 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
10008 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
10009 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
10010 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
10011 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
10012 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
10013 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
10014 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
10015 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
10016 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
10017 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
10018 OPTIMIZATION_MISMATCH.
10019 * tree-inline.c (expand_call_inline): Emit errors during
10020 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
10021
10022 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
10023
10024 PR target/59685
10025 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
10026 mode attribute in insn output.
10027
10028 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
10029
10030 * output.h (output_constant): Delete.
10031 * varasm.c (output_constant): Make private.
10032
10033 2014-01-20 Alex Velenko <Alex.Velenko@arm.com>
10034
10035 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
10036
10037 2014-01-20 Jakub Jelinek <jakub@redhat.com>
10038
10039 PR middle-end/59860
10040 * tree.h (fold_builtin_strcat): New prototype.
10041 * builtins.c (fold_builtin_strcat): No longer static. Add len
10042 argument, if non-NULL, don't call c_strlen. Optimize
10043 directly into __builtin_memcpy instead of __builtin_strcpy.
10044 (fold_builtin_2): Adjust fold_builtin_strcat caller.
10045 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
10046
10047 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
10048
10049 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
10050 for SImode_address_operand operands, having only a REG argument.
10051
10052 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
10053
10054 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
10055 loader name using mbig-endian.
10056 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
10057
10058 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
10059
10060 * doc/invoke.texi (-march): Clarify documentation for AArch64.
10061 (-mtune): Likewise.
10062 (-mcpu): Likewise.
10063
10064 2014-01-20 Tejas Belagod <tejas.belagod@arm.com>
10065
10066 * config/aarch64/aarch64-protos.h
10067 (aarch64_cannot_change_mode_class_ptr): Declare.
10068 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
10069 aarch64_cannot_change_mode_class_ptr): New.
10070 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
10071 backend hook aarch64_cannot_change_mode_class.
10072
10073 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
10074
10075 * common/config/aarch64/aarch64-common.c
10076 (aarch64_handle_option): Don't handle any option order logic here.
10077 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
10078 selected_cpu, warn on architecture version mismatch.
10079 (aarch64_override_options): Fix parsing order for option strings.
10080
10081 2014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
10082 Iain Sandoe <iain@codesourcery.com>
10083
10084 PR bootstrap/59496
10085 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
10086 warning. Amend comment to reflect current functionality.
10087
10088 2014-01-20 Richard Biener <rguenther@suse.de>
10089
10090 PR middle-end/59860
10091 * builtins.c (fold_builtin_strcat): Remove case better handled
10092 by tree-ssa-strlen.c.
10093
10094 2014-01-20 Alan Lawrence <alan.lawrence@arm.com>
10095
10096 * config/aarch64/aarch64.opt
10097 (mcpu, march, mtune): Make case-insensitive.
10098
10099 2014-01-20 Jakub Jelinek <jakub@redhat.com>
10100
10101 PR target/59880
10102 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
10103 if operands[1] is a REG or ZERO_EXTEND of a REG.
10104
10105 2014-01-19 Jan Hubicka <hubicka@ucw.cz>
10106
10107 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
10108
10109 2014-01-19 John David Anglin <danglin@gcc.gnu.org>
10110
10111 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
10112 long non-pic millicode calls.
10113
10114 2014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
10115
10116 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
10117
10118 2014-01-19 Kito Cheng <kito@0xlab.org>
10119
10120 * builtins.c (expand_movstr): Check movstr expand done or fail.
10121
10122 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
10123 H.J. Lu <hongjiu.lu@intel.com>
10124
10125 PR target/59379
10126 * config/i386/i386.md (*lea<mode>): Zero-extend return register
10127 to DImode for zero-extended addresses.
10128
10129 2014-01-19 Jakub Jelinek <jakub@redhat.com>
10130
10131 PR rtl-optimization/57763
10132 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
10133 on the new indirect jump_insn and increment LABEL_NUSES (label).
10134
10135 2014-01-18 H.J. Lu <hongjiu.lu@intel.com>
10136
10137 PR bootstrap/59580
10138 PR bootstrap/59583
10139 * config.gcc (x86_archs): New variable.
10140 (x86_64_archs): Likewise.
10141 (x86_cpus): Likewise.
10142 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
10143 --with-arch/--with-cpu= options.
10144 Support --with-arch=/--with-cpu={nehalem,westmere,
10145 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
10146
10147 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
10148
10149 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
10150 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
10151
10152 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
10153
10154 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
10155
10156 2014-01-18 Jakub Jelinek <jakub@redhat.com>
10157
10158 PR target/58944
10159 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
10160 clear cpp_get_options (parse_in)->warn_unused_macros for
10161 ix86_target_macros_internal with cpp_define.
10162
10163 2014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
10164
10165 * jump.c (delete_related_insns): Keep (use (insn))s.
10166 * reorg.c (redundant_insn): Check for barriers too.
10167
10168 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
10169
10170 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
10171
10172 2014-01-17 John David Anglin <danglin@gcc.gnu.org>
10173
10174 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
10175 call to $$dyncall when TARGET_LONG_CALLS is true.
10176
10177 2014-01-17 Jeff Law <law@redhat.com>
10178
10179 * ree.c (combine_set_extension): Temporarily disable test for
10180 changing number of hard registers.
10181
10182 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
10183
10184 PR middle-end/58125
10185 * ipa-inline-analysis.c (inline_free_summary):
10186 Do not free summary of aliases.
10187
10188 2014-01-17 Jakub Jelinek <jakub@redhat.com>
10189
10190 PR middle-end/59706
10191 * gimplify.c (gimplify_expr): Use create_tmp_var
10192 instead of create_tmp_var_raw. If cond doesn't have
10193 integral type, don't add the IFN_ANNOTATE builtin at all.
10194
10195 2014-01-17 Martin Jambor <mjambor@suse.cz>
10196
10197 PR ipa/59736
10198 * ipa-cp.c (prev_edge_clone): New variable.
10199 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
10200 Also resize prev_edge_clone vector.
10201 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
10202 (ipcp_edge_removal_hook): New function.
10203 (ipcp_driver): Register ipcp_edge_removal_hook.
10204
10205 2014-01-17 Andrew Pinski <apinski@cavium.com>
10206 Steve Ellcey <sellcey@mips.com>
10207
10208 PR target/59462
10209 * config/mips/mips.c (mips_print_operand): Check operand mode instead
10210 of operator mode.
10211
10212 2014-01-17 Jeff Law <law@redhat.com>
10213
10214 PR middle-end/57904
10215 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
10216 so that pass_ccp runs first.
10217
10218 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
10219
10220 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
10221 (ix86_adjust_cost): Use !TARGET_XXX.
10222 (do_reorder_for_imul): Likewise.
10223 (swap_top_of_ready_list): Likewise.
10224 (ix86_sched_reorder): Likewise.
10225
10226 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
10227
10228 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
10229 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
10230 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
10231 (intel_memset): New. Duplicate slm_memset.
10232 (intel_cost): New. Duplicate slm_cost.
10233 (m_INTEL): New macro.
10234 (processor_target_table): Add "intel".
10235 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
10236 with PROCESSOR_INTEL for "intel".
10237 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
10238 PROCESSOR_SILVERMONT.
10239 (ix86_issue_rate): Likewise.
10240 (ix86_adjust_cost): Likewise.
10241 (ia32_multipass_dfa_lookahead): Likewise.
10242 (swap_top_of_ready_list): Likewise.
10243 (ix86_sched_reorder): Likewise.
10244 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
10245 instead of TARGET_OPT_AGU.
10246 * config/i386/i386.h (TARGET_INTEL): New.
10247 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
10248 (processor_type): Add PROCESSOR_INTEL.
10249 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
10250 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
10251
10252 2014-01-17 Marek Polacek <polacek@redhat.com>
10253
10254 PR c/58346
10255 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
10256 size is zero.
10257
10258 2014-01-17 Richard Biener <rguenther@suse.de>
10259
10260 PR tree-optimization/46590
10261 * opts.c (default_options_table): Add entries for
10262 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
10263 all enabled at -O1 but not for -Og.
10264 * common.opt (fbranch-count-reg): Remove Init(1).
10265 (fmove-loop-invariants): Likewise.
10266 (ftree-pta): Likewise.
10267
10268 2014-01-17 Jakub Jelinek <jakub@redhat.com>
10269
10270 * config/i386/i386.c (ix86_data_alignment): For compatibility with
10271 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
10272 decls to at least the GCC 4.8 used alignments.
10273
10274 PR fortran/59440
10275 * tree-nested.c (convert_nonlocal_reference_stmt,
10276 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
10277 of GIMPLE_BIND stmts, adjust associated decls.
10278
10279 2014-01-17 Richard Biener <rguenther@suse.de>
10280
10281 PR tree-optimization/46590
10282 * vec.h (vec<>::bseach): New member function implementing
10283 binary search according to C89 bsearch.
10284 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
10285 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
10286 bitmap pointer again. Make accesses_in_loop a flat array.
10287 (mem_ref_obstack): New global.
10288 (outermost_indep_loop): Adjust for mem_ref->stored changes.
10289 (mark_ref_stored): Likewise.
10290 (ref_indep_loop_p_2): Likewise.
10291 (set_ref_stored_in_loop): New helper function.
10292 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
10293 (memref_free): Adjust.
10294 (record_mem_ref_loc): Simplify.
10295 (gather_mem_refs_stmt): Adjust.
10296 (sort_locs_in_loop_postorder_cmp): New function.
10297 (analyze_memory_references): Sort accesses_in_loop after
10298 loop postorder number.
10299 (find_ref_loc_in_loop_cmp): New function.
10300 (for_all_locs_in_loop): Find relevant cluster of locs in
10301 accesses_in_loop and iterate without recursion.
10302 (execute_sm): Avoid uninit warning.
10303 (struct ref_always_accessed): Simplify.
10304 (ref_always_accessed::operator ()): Likewise.
10305 (ref_always_accessed_p): Likewise.
10306 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
10307 loop postorder numbers here.
10308 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
10309 numbers.
10310
10311 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
10312
10313 PR c++/57945
10314 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
10315 on decls for which assemble_alias has been called.
10316
10317 2014-01-17 Nick Clifton <nickc@redhat.com>
10318
10319 * config/msp430/msp430.opt: (mcpu): New option.
10320 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
10321 (msp430_option_override): Parse target_cpu. If the MCU name
10322 matches a generic string, clear target_mcu.
10323 (msp430_attr): Allow numeric interrupt values up to 63.
10324 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
10325 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
10326 option.
10327 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
10328 Add mcpu matches.
10329 * config/msp430/msp430.md (popm): Use %J rather than %I.
10330 (addsi3): Use msp430_nonimmediate_operand for operand 2.
10331 (addhi_cy_i): Use immediate_operand for operand 2.
10332 * doc/invoke.texi: Document -mcpu option.
10333
10334 2014-01-17 Richard Biener <rguenther@suse.de>
10335
10336 PR rtl-optimization/38518
10337 * df.h (df_analyze_loop): Declare.
10338 * df-core.c: Include cfgloop.h.
10339 (df_analyze_1): Split out main part of df_analyze.
10340 (df_analyze): Adjust.
10341 (loop_inverted_post_order_compute): New function.
10342 (loop_post_order_compute): Likewise.
10343 (df_analyze_loop): New function avoiding whole-function
10344 postorder computes.
10345 * loop-invariant.c (find_defs): Use df_analyze_loop.
10346 (find_invariants): Adjust.
10347 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
10348
10349 2014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
10350
10351 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
10352 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
10353
10354 2014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
10355
10356 * ipa-ref.c (ipa_remove_stmt_references): Fix references
10357 traversal when removing references.
10358
10359 2014-01-16 Jan Hubicka <hubicka@ucw.cz>
10360
10361 PR ipa/59775
10362 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
10363
10364 2014-01-16 Bernd Schmidt <bernds@codesourcery.com>
10365
10366 PR middle-end/56791
10367 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
10368 pushing a reload for an autoinc when we had previously reloaded an
10369 inner part of the address.
10370
10371 2014-01-16 Jakub Jelinek <jakub@redhat.com>
10372
10373 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
10374 field.
10375 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
10376 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
10377 when not giving up or versioning for alias only because of
10378 loop->safelen.
10379 (vect_analyze_data_ref_dependences): Set to true.
10380 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
10381 is a GIMPLE_PHI.
10382 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
10383 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
10384 to the condition.
10385
10386 PR middle-end/58344
10387 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
10388
10389 PR target/59839
10390 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
10391 operand 0 predicate for gathers, use a new pseudo as subtarget.
10392
10393 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
10394
10395 PR middle-end/59609
10396 * lra-constraints.c (process_alt_operands): Add printing debug info.
10397 Check absence of input/output reloads for matched operands too.
10398
10399 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
10400
10401 PR rtl-optimization/59835
10402 * ira.c (ira_init_register_move_cost): Increase cost for
10403 impossible modes.
10404
10405 2014-01-16 Alan Lawrence <alan.lawrence@arm.com>
10406
10407 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
10408
10409 2014-01-16 Richard Earnshaw <rearnsha@arm.com>
10410
10411 PR target/59780
10412 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
10413 non-register objects. Use gen_(high/low)part more consistently.
10414 Fix assertions.
10415
10416 2014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
10417
10418 PR target/59844
10419 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
10420 endian support, remove tests for WORDS_BIG_ENDIAN.
10421 (p8_mfvsrd_3_<mode>): Likewise.
10422 (reload_gpr_from_vsx<mode>): Likewise.
10423 (reload_gpr_from_vsxsf): Likewise.
10424 (p8_mfvsrd_4_disf): Likewise.
10425
10426 2014-01-16 Richard Biener <rguenther@suse.de>
10427
10428 PR rtl-optimization/46590
10429 * lcm.c (compute_antinout_edge): Use postorder iteration.
10430 (compute_laterin): Use inverted postorder iteration.
10431
10432 2014-01-16 Nick Clifton <nickc@redhat.com>
10433
10434 PR middle-end/28865
10435 * varasm.c (output_constant): Return the number of bytes actually
10436 emitted.
10437 (output_constructor_array_range): Update the field size with the
10438 number of bytes emitted by output_constant.
10439 (output_constructor_regular_field): Likewise. Also do not
10440 complain if the total number of bytes emitted is now greater
10441 than the expected fieldpos.
10442 * output.h (output_constant): Update prototype and descriptive comment.
10443
10444 2014-01-16 Marek Polacek <polacek@redhat.com>
10445
10446 PR middle-end/59827
10447 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
10448 it is error_mark_node.
10449
10450 2014-01-15 Uros Bizjak <ubizjak@gmail.com>
10451
10452 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
10453 VALID_AVX256_REG_OR_OI_MODE.
10454
10455 2014-01-15 Pat Haugen <pthaugen@us.ibm.com>
10456
10457 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
10458 current procedure should be profiled.
10459
10460 2014-01-15 Andrew Pinski <apinski@cavium.com>
10461
10462 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
10463 of moving from/to the STACK_REG register class.
10464
10465 2014-01-15 Richard Henderson <rth@redhat.com>
10466
10467 PR debug/54694
10468 * reginfo.c (global_regs_decl): Globalize.
10469 * rtl.h (global_regs_decl): Declare.
10470 * ira.c (do_reload): Diagnose frame_pointer_needed and it
10471 reserved via global_regs.
10472
10473 2014-01-15 Teresa Johnson <tejohnson@google.com>
10474
10475 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
10476
10477 2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
10478
10479 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
10480 and vmulosh rather than call gen_vec_widen_smult_*.
10481 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
10482 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
10483 (vec_widen_smult_even_v16qi): Likewise.
10484 (vec_widen_umult_even_v8hi): Likewise.
10485 (vec_widen_smult_even_v8hi): Likewise.
10486 (vec_widen_umult_odd_v16qi): Likewise.
10487 (vec_widen_smult_odd_v16qi): Likewise.
10488 (vec_widen_umult_odd_v8hi): Likewise.
10489 (vec_widen_smult_odd_v8hi): Likewise.
10490 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
10491 vmuloub rather than call gen_vec_widen_umult_*.
10492 (vec_widen_umult_lo_v16qi): Likewise.
10493 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
10494 vmulosb rather than call gen_vec_widen_smult_*.
10495 (vec_widen_smult_lo_v16qi): Likewise.
10496 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
10497 rather than call gen_vec_widen_umult_*.
10498 (vec_widen_umult_lo_v8hi): Likewise.
10499 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
10500 rather than call gen_vec_widen_smult_*.
10501 (vec_widen_smult_lo_v8hi): Likewise.
10502
10503 2014-01-15 Jeff Law <law@redhat.com>
10504
10505 PR tree-optimization/59747
10506 * ree.c (find_and_remove_re): Properly handle case where a second
10507 eliminated extension requires widening a copy created for elimination
10508 of a prior extension.
10509 (combine_set_extension): Ensure that the number of hard regs needed
10510 for a destination register does not change when we widen it.
10511
10512 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10513
10514 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
10515 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
10516 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
10517 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
10518 (avr-*-rtems*): Likewise.
10519 (bfin*-rtems*): Likewise.
10520 (moxie-*-rtems*): Likewise.
10521 (h8300-*-rtems*): Likewise.
10522 (i[34567]86-*-rtems*): Likewise.
10523 (lm32-*-rtems*): Likewise.
10524 (m32r-*-rtems*): Likewise.
10525 (m68k-*-rtems*): Likewise.
10526 (microblaze*-*-rtems*): Likewise.
10527 (mips*-*-rtems*): Likewise.
10528 (powerpc-*-rtems*): Likewise.
10529 (sh-*-rtems*): Likewise.
10530 (sparc-*-rtems*): Likewise.
10531 (sparc64-*-rtems*): Likewise.
10532 (v850-*-rtems*): Likewise.
10533 (m32c-*-rtems*): Likewise.
10534
10535 2014-01-15 Vladimir Makarov <vmakarov@redhat.com>
10536
10537 PR rtl-optimization/59511
10538 * ira.c (ira_init_register_move_cost): Use memory costs for some
10539 cases of register move cost calculations.
10540 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
10541 instead of BB frequency.
10542 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
10543 * lra-assigns.c (find_hard_regno_for): Ditto.
10544
10545 2014-01-15 Richard Biener <rguenther@suse.de>
10546
10547 PR tree-optimization/59822
10548 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
10549 (vectorizable_load): Use it to hoist defs of uses of invariant
10550 loads out of the loop.
10551
10552 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
10553 Kugan Vivekanandarajah <kuganv@linaro.org>
10554
10555 PR target/59695
10556 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
10557 truncation.
10558
10559 2014-01-15 Richard Biener <rguenther@suse.de>
10560
10561 PR rtl-optimization/59802
10562 * lcm.c (compute_available): Use inverted postorder to seed
10563 the initial worklist.
10564
10565 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10566
10567 PR target/59803
10568 * config/s390/s390.c (s390_preferred_reload_class): Don't return
10569 ADDR_REGS for invalid symrefs in non-PIC code.
10570
10571 2014-01-15 Jakub Jelinek <jakub@redhat.com>
10572
10573 PR other/58712
10574 * builtins.c (determine_block_size): Initialize *probable_max_size
10575 even if len_rtx is CONST_INT.
10576
10577 2014-01-14 Andrew Pinski <apinski@cavium.com>
10578
10579 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
10580 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
10581 (cortexa53_tunings): Likewise.
10582 (aarch64_sched_issue_rate): New function.
10583 (TARGET_SCHED_ISSUE_RATE): Define.
10584
10585 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
10586
10587 * ira-costs.c (find_costs_and_classes): Add missed
10588 ira_init_register_move_cost_if_necessary.
10589
10590 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
10591
10592 PR target/59787
10593 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
10594
10595 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
10596
10597 PR target/59794
10598 * config/i386/i386.c (type_natural_mode): Add a bool parameter
10599 to indicate if type is used for function return value. Warn ABI
10600 change if the vector mode isn't available for function return value.
10601 (ix86_function_arg_advance): Pass false to type_natural_mode.
10602 (ix86_function_arg): Likewise.
10603 (ix86_gimplify_va_arg): Likewise.
10604 (function_arg_32): Don't warn ABI change.
10605 (ix86_function_value): Pass true to type_natural_mode.
10606 (ix86_return_in_memory): Likewise.
10607 (ix86_struct_value_rtx): Removed.
10608 (TARGET_STRUCT_VALUE_RTX): Likewise.
10609
10610 2014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10611
10612 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
10613 converting a conditional jump into a conditional return.
10614
10615 2014-01-14 Richard Biener <rguenther@suse.de>
10616
10617 PR tree-optimization/58921
10618 PR tree-optimization/59006
10619 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
10620 hoisting invariant stmts.
10621 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
10622 invariant loads on the preheader edge if possible.
10623
10624 2014-01-14 Joey Ye <joey.ye@arm.com>
10625
10626 * doc/plugin.texi (Building GCC plugins): Update to C++.
10627
10628 2014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
10629
10630 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
10631 (_mm_rcp28_round_ss): Ditto.
10632 (_mm_rsqrt28_round_sd): Ditto.
10633 (_mm_rsqrt28_round_ss): Ditto.
10634 (_mm_rcp28_sd): Ditto.
10635 (_mm_rcp28_ss): Ditto.
10636 (_mm_rsqrt28_sd): Ditto.
10637 (_mm_rsqrt28_ss): Ditto.
10638 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
10639 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
10640 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
10641 (IX86_BUILTIN_RCP28SD): Ditto.
10642 (IX86_BUILTIN_RCP28SS): Ditto.
10643 (IX86_BUILTIN_RSQRT28SD): Ditto.
10644 (IX86_BUILTIN_RSQRT28SS): Ditto.
10645 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
10646 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
10647 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
10648 (ix86_expand_special_args_builtin): Expand new FTYPE.
10649 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
10650 (srcp14<mode>): Make insn unary.
10651 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
10652 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
10653 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
10654 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
10655 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
10656 Fix rounding: make it SAE only.
10657 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
10658 Ditto.
10659 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
10660 Ditto.
10661 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
10662 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
10663 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
10664 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
10665 (round_saeonly_mask_scalar_operand4): Ditto.
10666 (round_saeonly_mask_scalar_op3): Ditto.
10667 (round_saeonly_mask_scalar_op4): Ditto.
10668
10669 2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10670
10671 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
10672 Implement -maltivec=be for vec_insert and vec_extract.
10673
10674 2014-01-10 DJ Delorie <dj@redhat.com>
10675
10676 * config/msp430/msp430.md (call_internal): Don't allow memory
10677 references with SP as the base register.
10678 (call_value_internal): Likewise.
10679 * config/msp430/constraints.md (Yc): New. For memory references
10680 that don't use SP as a base register.
10681
10682 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
10683 "an integer without a # prefix"
10684 * config/msp430/msp430.md (epilogue_helper): Use it.
10685
10686 2014-01-13 Jakub Jelinek <jakub@redhat.com>
10687
10688 PR target/59617
10689 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
10690 AVX512F gather builtins.
10691 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
10692 on gather decls with INTEGER_TYPE masktype.
10693 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
10694 directly into the builtin rather than hoisting it before loop.
10695
10696 PR tree-optimization/59387
10697 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
10698 (scev_const_prop): If folded_casts and type has undefined overflow,
10699 use force_gimple_operand instead of force_gimple_operand_gsi and
10700 for each added stmt if it is assign with
10701 arith_code_with_undefined_signed_overflow, call
10702 rewrite_to_defined_overflow.
10703 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
10704 gimple-fold.h instead.
10705 (arith_code_with_undefined_signed_overflow,
10706 rewrite_to_defined_overflow): Moved to ...
10707 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
10708 rewrite_to_defined_overflow): ... here. No longer static.
10709 Include gimplify-me.h.
10710 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
10711 rewrite_to_defined_overflow): New prototypes.
10712
10713 2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10714
10715 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
10716
10717 2014-01-13 Eric Botcazou <ebotcazou@adacore.com>
10718
10719 * builtins.c (get_object_alignment_2): Minor tweak.
10720 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
10721
10722 2014-01-13 Christian Bruel <christian.bruel@st.com>
10723
10724 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
10725 optimized non constant lengths.
10726
10727 2014-01-13 Jakub Jelinek <jakub@redhat.com>
10728
10729 PR libgomp/59194
10730 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
10731 load as __atomic_load_N if possible.
10732
10733 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
10734
10735 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
10736 target parameter.
10737 (rs6000_expand_builtin): Adjust call.
10738
10739 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
10740
10741 PR target/58115
10742 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
10743 * config/rs6000/rs6000.c: Include target-globals.h.
10744 (rs6000_set_current_function): Instead of doing target_reinit
10745 unconditionally, use save_target_globals_default_opts and
10746 restore_target_globals.
10747
10748 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
10749 FPSCR.
10750 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
10751 (rs6000_expand_builtin): Handle mffs and mtfsf.
10752 (rs6000_init_builtins): Define mffs and mtfsf.
10753 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
10754 (rs6000_mffs): New pattern.
10755 (rs6000_mtfsf): New pattern.
10756
10757 2014-01-11 Bin Cheng <bin.cheng@arm.com>
10758
10759 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
10760 Start narrowing with START. Apply candidate-use pair
10761 and check overall cost in narrowing.
10762 (iv_ca_prune): Pass new argument.
10763
10764 2014-01-10 Jeff Law <law@redhat.com>
10765
10766 PR middle-end/59743
10767 * ree.c (combine_reaching_defs): Ensure the defining statement
10768 occurs before the extension when optimizing extensions with
10769 different source and destination hard registers.
10770
10771 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
10772
10773 PR ipa/58585
10774 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
10775 vtables into the type inheritance graph.
10776
10777 2014-01-10 Jakub Jelinek <jakub@redhat.com>
10778
10779 PR rtl-optimization/59754
10780 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
10781 modes in the REGNO != REGNO case.
10782
10783 2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10784
10785 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
10786
10787 2014-01-10 Jakub Jelinek <jakub@redhat.com>
10788
10789 PR tree-optimization/59745
10790 * tree-predcom.c (tree_predictive_commoning_loop): Call
10791 free_affine_expand_cache if giving up because components is NULL.
10792
10793 * target-globals.c (save_target_globals): Allocate < 4KB structs using
10794 GC in payload of target_globals struct instead of allocating them on
10795 the heap and the larger structs separately using GC.
10796 * target-globals.h (struct target_globals): Make regs, hard_regs,
10797 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
10798 of GTY((skip)) and change type to void *.
10799 (reset_target_globals): Cast loads from those fields to corresponding
10800 types.
10801
10802 2014-01-10 Steve Ellcey <sellcey@mips.com>
10803
10804 PR plugins/59335
10805 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
10806 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
10807 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
10808
10809 2014-01-10 Richard Earnshaw <rearnsha@arm.com>
10810
10811 PR target/59744
10812 * aarch64-modes.def (CC_Zmode): New flags mode.
10813 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
10814 represents an equality.
10815 (aarch64_get_condition_code): Handle CC_Zmode.
10816 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
10817
10818 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10819
10820 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
10821 extraction in good case.
10822
10823 2014-01-10 Richard Biener <rguenther@suse.de>
10824
10825 PR tree-optimization/59374
10826 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
10827 checking after SLP discovery. Mark stmts not participating
10828 in any SLP instance properly.
10829
10830 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10831
10832 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
10833 when handling a SET rtx.
10834
10835 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10836
10837 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
10838 (cortex-a57): Likewise.
10839 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
10840
10841 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10842
10843 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
10844 non-iwmmxt builtins.
10845
10846 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
10847
10848 PR ipa/58252
10849 PR ipa/59226
10850 * ipa-devirt.c record_target_from_binfo): Take as argument
10851 stack of binfos and lookup matching one for virtual inheritance.
10852 (possible_polymorphic_call_targets_1): Update.
10853
10854 2014-01-10 Huacai Chen <chenhc@lemote.com>
10855
10856 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
10857 kernel strings for Loongson-2E/2F/3A.
10858
10859 2014-01-10 Jakub Jelinek <jakub@redhat.com>
10860
10861 PR middle-end/59670
10862 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
10863 is_gimple_call before calling gimple_call_internal_p.
10864
10865 2014-01-09 Steve Ellcey <sellcey@mips.com>
10866
10867 * Makefile.in (TREE_FLOW_H): Remove.
10868 (TREE_SSA_H): Add file names from tree-flow.h.
10869 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
10870 * tree.h: Remove tree-flow.h reference.
10871 * hash-table.h: Remove tree-flow.h reference.
10872 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
10873 reference with tree-ssa-loop.h.
10874
10875 2014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10876
10877 * doc/invoke.texi: Add -maltivec={be,le} options, and document
10878 default element-order behavior for -maltivec.
10879 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
10880 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
10881 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
10882 when targeting big endian, at least for now.
10883 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
10884
10885 2014-01-09 Jakub Jelinek <jakub@redhat.com>
10886
10887 PR middle-end/47735
10888 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
10889 var satisfies use_register_for_decl, just take into account type
10890 alignment, rather than decl alignment.
10891
10892 PR tree-optimization/59622
10893 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
10894 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
10895 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
10896 Don't devirtualize for inplace at all. For targets.length () == 1,
10897 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
10898
10899 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
10900
10901 * config/i386/i386.md (cpu): Remove the unused btver1.
10902
10903 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
10904
10905 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
10906
10907 2014-01-09 Jakub Jelinek <jakub@redhat.com>
10908
10909 PR target/58115
10910 * tree-core.h (struct target_globals): New forward declaration.
10911 (struct tree_target_option): Add globals field.
10912 * tree.h (TREE_TARGET_GLOBALS): Define.
10913 (prepare_target_option_nodes_for_pch): New prototype.
10914 * target-globals.h (struct target_globals): Define even if
10915 !SWITCHABLE_TARGET.
10916 * tree.c (prepare_target_option_node_for_pch,
10917 prepare_target_option_nodes_for_pch): New functions.
10918 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
10919 * config/i386/i386.c: Include target-globals.h.
10920 (ix86_set_current_function): Instead of doing target_reinit
10921 unconditionally, use save_target_globals_default_opts and
10922 restore_target_globals.
10923
10924 2014-01-09 Richard Biener <rguenther@suse.de>
10925
10926 PR tree-optimization/59715
10927 * tree-cfg.h (split_critical_edges): Declare.
10928 * tree-cfg.c (split_critical_edges): Export.
10929 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
10930
10931 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
10932
10933 * cfgexpand.c (expand_stack_vars): Optionally disable
10934 asan stack protection.
10935 (expand_used_vars): Likewise.
10936 (partition_stack_vars): Likewise.
10937 * asan.c (asan_emit_stack_protection): Optionally disable
10938 after return stack usage.
10939 (instrument_derefs): Optionally disable memory access instrumentation.
10940 (instrument_builtin_call): Likewise.
10941 (instrument_strlen_call): Likewise.
10942 (asan_protect_global): Optionally disable global variables protection.
10943 * doc/invoke.texi: Added doc for new options.
10944 * params.def: Added new options.
10945 * params.h: Likewise.
10946
10947 2014-01-09 Jakub Jelinek <jakub@redhat.com>
10948
10949 PR rtl-optimization/59724
10950 * ifcvt.c (cond_exec_process_if_block): Don't call
10951 flow_find_head_matching_sequence with 0 longest_match.
10952 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
10953 non-active insns if !stop_after.
10954 (try_head_merge_bb): Revert 2014-01-07 changes.
10955
10956 2014-01-08 Jeff Law <law@redhat.com>
10957
10958 * ree.c (get_sub_rtx): New function, extracted from...
10959 (merge_def_and_ext): Here.
10960 (combine_reaching_defs): Use get_sub_rtx.
10961
10962 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
10963
10964 * cgraph.h (varpool_variable_node): Do not choke on null node.
10965
10966 2014-01-08 Catherine Moore <clm@codesourcery.com>
10967
10968 * config/mips/mips.md (simple_return): Attempt to use JRC
10969 for microMIPS.
10970 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
10971
10972 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
10973
10974 PR rtl-optimization/59137
10975 * reorg.c (steal_delay_list_from_target): Call update_block for
10976 elided insns.
10977 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
10978
10979 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10980
10981 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
10982 two duplicate entries.
10983
10984 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
10985
10986 Revert:
10987 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
10988
10989 * config/mips/mips.c (mips_truncated_op_cost): New function.
10990 (mips_rtx_costs): Adjust test for BADDU.
10991 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
10992
10993 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
10994
10995 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
10996 (*baddu_si): ...this new pattern.
10997
10998 2014-01-08 Jakub Jelinek <jakub@redhat.com>
10999
11000 PR ipa/59722
11001 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
11002
11003 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
11004
11005 PR middle-end/57748
11006 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
11007 inner_reference_p.
11008 (expand_expr, expand_normal): Adjust.
11009 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
11010 inner_reference_p. Use inner_reference_p to expand inner references.
11011 (store_expr): Adjust.
11012 * cfgexpand.c (expand_call_stmt): Adjust.
11013
11014 2014-01-08 Rong Xu <xur@google.com>
11015
11016 * gcov-io.c (gcov_var): Move from gcov-io.h.
11017 (gcov_position): Ditto.
11018 (gcov_is_error): Ditto.
11019 (gcov_rewrite): Ditto.
11020 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
11021 only part to libgcc/libgcov.h.
11022
11023 2014-01-08 Marek Polacek <polacek@redhat.com>
11024
11025 PR middle-end/59669
11026 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
11027
11028 2014-01-08 Marek Polacek <polacek@redhat.com>
11029
11030 PR sanitizer/59667
11031 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
11032
11033 2014-01-08 Jakub Jelinek <jakub@redhat.com>
11034
11035 PR rtl-optimization/59649
11036 * stor-layout.c (get_mode_bounds): For BImode return
11037 0 and STORE_FLAG_VALUE.
11038
11039 2014-01-08 Richard Biener <rguenther@suse.de>
11040
11041 PR middle-end/59630
11042 * gimple.h (is_gimple_builtin_call): Remove.
11043 (gimple_builtin_call_types_compatible_p): New.
11044 (gimple_call_builtin_p): New overload.
11045 * gimple.c (is_gimple_builtin_call): Remove.
11046 (validate_call): Rename to ...
11047 (gimple_builtin_call_types_compatible_p): ... this and export. Also
11048 check return types.
11049 (validate_type): New static function.
11050 (gimple_call_builtin_p): New overload and adjust.
11051 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
11052 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
11053 (gimple_fold_stmt_to_constant_1): Likewise.
11054 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
11055
11056 2014-01-08 Richard Biener <rguenther@suse.de>
11057
11058 PR middle-end/59471
11059 * gimplify.c (gimplify_expr): Gimplify register-register type
11060 VIEW_CONVERT_EXPRs to separate stmts.
11061
11062 2014-01-07 Jeff Law <law@redhat.com>
11063
11064 PR middle-end/53623
11065 * ree.c (combine_set_extension): Handle case where source
11066 and destination registers in an extension insn are different.
11067 (combine_reaching_defs): Allow source and destination registers
11068 in extension to be different under limited circumstances.
11069 (add_removable_extension): Remove restriction that the
11070 source and destination registers in the extension are the same.
11071 (find_and_remove_re): Emit a copy from the extension's
11072 destination to its source after the defining insn if
11073 the source and destination registers are different.
11074
11075 PR middle-end/59285
11076 * ifcvt.c (merge_if_block): If we are merging a block with more than
11077 one successor with a block with no successors, remove any BARRIER
11078 after the second block.
11079
11080 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
11081
11082 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
11083
11084 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
11085
11086 PR target/59652
11087 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
11088 for 14-bit register offsets when INT14_OK_STRICT is false.
11089
11090 2014-01-07 Roland Stigge <stigge@antcom.de>
11091 Michael Meissner <meissner@linux.vnet.ibm.com>
11092
11093 PR 57386/target
11094 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
11095 Only check TFmode for SPE constants. Don't check TImode or TDmode.
11096
11097 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
11098
11099 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
11100 -mcpu.
11101
11102 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
11103
11104 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
11105 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
11106 rtx is const0_rtx or not.
11107
11108 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
11109
11110 PR target/58115
11111 * target-globals.c (save_target_globals): Remove this_fn_optab
11112 handling.
11113 * toplev.c: Include optabs.h.
11114 (target_reinit): Temporarily restore the global options if another
11115 set of options are in force.
11116
11117 2014-01-07 Jakub Jelinek <jakub@redhat.com>
11118
11119 PR rtl-optimization/58668
11120 * cfgcleanup.c (flow_find_cross_jump): Don't count
11121 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
11122 to determine what is counted.
11123 (flow_find_head_matching_sequence): Use active_insn_p to determine
11124 what is counted.
11125 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
11126 counting change.
11127 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
11128 determine what is counted.
11129
11130 PR tree-optimization/59643
11131 * tree-predcom.c (split_data_refs_to_components): If one dr is
11132 read and one write, determine_offset fails and the write isn't
11133 in the bad component, just put the read into the bad component.
11134
11135 2014-01-07 Mike Stump <mikestump@comcast.net>
11136 Jakub Jelinek <jakub@redhat.com>
11137
11138 PR pch/59436
11139 * tree-core.h (struct tree_optimization_option): Change optabs
11140 type from unsigned char * to void *.
11141 * optabs.c (init_tree_optimization_optabs): Adjust
11142 TREE_OPTIMIZATION_OPTABS initialization.
11143
11144 2014-01-06 Jakub Jelinek <jakub@redhat.com>
11145
11146 PR target/59644
11147 * config/i386/i386.h (struct machine_function): Add
11148 no_drap_save_restore field.
11149 * config/i386/i386.c (ix86_save_reg): Use
11150 !cfun->machine->no_drap_save_restore instead of
11151 crtl->stack_realign_needed.
11152 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
11153 this function clears frame_pointer_needed. Set
11154 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
11155 and DRAP reg is needed.
11156
11157 2014-01-06 Marek Polacek <polacek@redhat.com>
11158
11159 PR c/57773
11160 * doc/implement-c.texi: Mention that other integer types are
11161 permitted as bit-field types in strictly conforming mode.
11162
11163 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
11164
11165 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
11166 is newly allocated.
11167
11168 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
11169
11170 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
11171
11172 2014-01-06 Martin Jambor <mjambor@suse.cz>
11173
11174 PR ipa/59008
11175 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
11176 to int.
11177 * ipa-prop.c (ipa_print_node_params): Fix indentation.
11178
11179 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
11180
11181 PR debug/59350
11182 PR debug/59510
11183 * var-tracking.c (add_stores): Preserve the value of the source even if
11184 we don't record the store.
11185
11186 2014-01-06 Terry Guo <terry.guo@arm.com>
11187
11188 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
11189
11190 2014-01-05 Iain Sandoe <iain@codesourcery.com>
11191
11192 PR bootstrap/59541
11193 * config/darwin.c (darwin_function_section): Adjust return values to
11194 correspond to optimisation changes made in r206070.
11195
11196 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
11197
11198 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
11199 from prefetch_block tune setting.
11200 (nocona_cost): Correct size of prefetch block to 64.
11201
11202 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
11203
11204 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
11205 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
11206 used to save the static chain register in the computation of the offset
11207 from which the FP registers need to be restored.
11208
11209 2014-01-04 Jakub Jelinek <jakub@redhat.com>
11210
11211 PR tree-optimization/59519
11212 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
11213 ICE if get_current_def (current_new_name) is already non-NULL, as long
11214 as it is a phi result of some other phi in *new_exit_bb that has
11215 the same argument.
11216
11217 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
11218 or vmovdqu* for misaligned_operand.
11219 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
11220 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
11221 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
11222 aligned_mem for AVX512F masked aligned load and store builtins and for
11223 non-temporal moves.
11224
11225 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
11226
11227 PR tree-optimization/59651
11228 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
11229 Address range for negative step should be added by TYPE_SIZE_UNIT.
11230
11231 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
11232
11233 * config/m68k/m68k.c (handle_move_double): Handle pushes with
11234 overlapping registers also for registers other than the stack pointer.
11235
11236 2014-01-03 Marek Polacek <polacek@redhat.com>
11237
11238 PR other/59661
11239 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
11240 __builtin_FILE.
11241
11242 2014-01-03 Jakub Jelinek <jakub@redhat.com>
11243
11244 PR target/59625
11245 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
11246 asm goto as jump.
11247
11248 * config/i386/i386.md (MODE_SIZE): New mode attribute.
11249 (push splitter): Use <P:MODE_SIZE> instead of
11250 GET_MODE_SIZE (<P:MODE>mode).
11251 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
11252 (mov -1, reg peephole2): Likewise.
11253 * config/i386/sse.md (*mov<mode>_internal,
11254 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
11255 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
11256 *<code><mode>3, *andnot<mode>3<mask_name>,
11257 <mask_codefor><code><mode>3<mask_name>): Likewise.
11258 * config/i386/subst.md (mask_mode512bit_condition,
11259 sd_mask_mode512bit_condition): Likewise.
11260
11261 2014-01-02 Xinliang David Li <davidxl@google.com>
11262
11263 PR tree-optimization/59303
11264 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
11265 (dump_predicates): Better output format.
11266 (pred_equal_p): New function.
11267 (is_neq_relop_p): Ditto.
11268 (is_neq_zero_form_p): Ditto.
11269 (pred_expr_equal_p): Ditto.
11270 (pred_neg_p): Ditto.
11271 (simplify_pred): Ditto.
11272 (simplify_preds_2): Ditto.
11273 (simplify_preds_3): Ditto.
11274 (simplify_preds_4): Ditto.
11275 (simplify_preds): Ditto.
11276 (push_pred): Ditto.
11277 (push_to_worklist): Ditto.
11278 (get_pred_info_from_cmp): Ditto.
11279 (is_degenerated_phi): Ditto.
11280 (normalize_one_pred_1): Ditto.
11281 (normalize_one_pred): Ditto.
11282 (normalize_one_pred_chain): Ditto.
11283 (normalize_preds): Ditto.
11284 (normalize_cond_1): Remove function.
11285 (normalize_cond): Ditto.
11286 (is_gcond_subset_of): Ditto.
11287 (is_subset_of_any): Ditto.
11288 (is_or_set_subset_of): Ditto.
11289 (is_and_set_subset_of): Ditto.
11290 (is_norm_cond_subset_of): Ditto.
11291 (pred_chain_length_cmp): Ditto.
11292 (convert_control_dep_chain_into_preds): Type change.
11293 (find_predicates): Ditto.
11294 (find_def_preds): Ditto.
11295 (destroy_predicates_vecs): Ditto.
11296 (find_matching_predicates_in_rest_chains): Ditto.
11297 (use_pred_not_overlap_with_undef_path_pred): Ditto.
11298 (is_pred_expr_subset): Ditto.
11299 (is_pred_chain_subset_of): Ditto.
11300 (is_included_in): Ditto.
11301 (is_superset_of): Ditto.
11302
11303 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11304
11305 Update copyright years.
11306
11307 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11308
11309 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
11310 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
11311 config/arc/arc.md, config/arc/arc.opt,
11312 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
11313 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
11314 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
11315 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
11316 config/linux-protos.h, config/linux.c, config/winnt-c.c,
11317 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
11318 vtable-verify.c, vtable-verify.h: Use the standard form for the
11319 copyright notice.
11320
11321 2014-01-02 Tobias Burnus <burnus@net-b.de>
11322
11323 * gcc.c (process_command): Update copyright notice dates.
11324 * gcov-dump.c: Ditto.
11325 * gcov.c: Ditto.
11326 * doc/cpp.texi: Bump @copying's copyright year.
11327 * doc/cppinternals.texi: Ditto.
11328 * doc/gcc.texi: Ditto.
11329 * doc/gccint.texi: Ditto.
11330 * doc/gcov.texi: Ditto.
11331 * doc/install.texi: Ditto.
11332 * doc/invoke.texi: Ditto.
11333
11334 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11335
11336 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
11337
11338 2014-01-01 Jakub Jelinek <jakub@redhat.com>
11339
11340 * config/i386/sse.md (*mov<mode>_internal): Guard
11341 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
11342
11343 PR rtl-optimization/59647
11344 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
11345 new_rtx into UNSIGNED_FLOAT rtxes.
11346 \f
11347 Copyright (C) 2014 Free Software Foundation, Inc.
11348
11349 Copying and distribution of this file, with or without modification,
11350 are permitted in any medium without royalty provided the copyright
11351 notice and this notice are preserved.