]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
fpu-387.h (my_fenv_t): Amend structure so it also works on mingw32.
[gcc.git] / gcc / ChangeLog
CommitLineData
7d1ceb93
TG
12014-06-29 Tobias Grosser <tobias@grosser.es>
2
3 * graphite-isl-ast-to-gimple.c: Add missing guards.
4
f6cc3103
RG
52014-06-29 Roman Gareev <gareevroman@gmail.com>
6
7 * Makefile.in:
8 Add the compilation of graphite-isl-ast-to-gimple.o.
9 * common.opt:
10 Add new switch fgraphite-code-generator=[isl|cloog].
11 * flag-types.h:
12 Add new enum fgraphite_generator.
13 * graphite-isl-ast-to-gimple.c: New.
14 * graphite-isl-ast-to-gimple.h: New.
15 * graphite.c (graphite_transform_loops):
16 Add choice of Graphite code generator,
17 which depends on flag_graphite_code_gen.
18
19 testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c:
20 New testcase that checks that the dump is generated.
21
516a84f7
RG
222014-06-29 Roman Gareev <gareevroman@gmail.com>
23
24 * graphite-dependences.c (subtract_commutative_associative_deps):
25 Add NULL checking of the following variables: must_raw_no_source,
26 may_raw_no_source, must_war_no_source, may_war_no_source,
27 must_waw_no_source, may_waw_no_source, must_raw, may_raw,
28 must_war, may_war, must_waw, may_waw
29
30 testsuite/gfortran.dg/graphite/pr59586.f: New testcase.
31
db72d606
RG
322014-06-29 Roman Gareev <gareevroman@gmail.com>
33
34 * graphite-clast-to-gimple.c:
35 gloog is renamed to graphite_regenerate_ast_cloog.
36 gloog_error is renamed to graphite_regenerate_error.
37 * graphite-clast-to-gimple.h:
38 The definition of the struct bb_pbb_def is moved to graphite-htab.h.
39 Add inclusion of the hash-table.h.
40 * graphite-htab.h:
41 The declaration of the function gloog is moved
42 to graphite-clast-to-gimple.h and renamed to
43 graphite_regenerate_ast_cloog.
44 * graphite.c (graphite_transform_loops):
45 gloog is renamed to graphite_regenerate_ast_cloog.
46
288eeff7
JH
472014-06-28 Jan Hubicka <hubicka@ucw.cz>
48
49 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
50 is complete.
51 (write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
52 types; do not stream duplicated fields for variants; sanity check that variant
53 and type match.
54 (write_ts_type_non_common_tree_pointers): Likewise.
55 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
56 type is complete.
57 (lto_input_ts_type_common_tree_pointers): Do same changes as in
58 write_ts_type_common_tree_pointers
59 (lto_input_ts_type_non_common_tree_pointers): Likewise.
60
d0bd8245
JH
612014-06-28 Jan Hubicka <hubicka@ucw.cz>
62
63 * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
64
8910466a
JH
652014-06-28 Jan Hubicka <hubicka@ucw.cz>
66
67 * tree-inline.c (remap_type_1): Do not duplicate fields
68 that are shared in between type and its main variant.
69
b49407f8
JH
702014-06-28 Jan Hubicka <hubicka@ucw.cz>
71
72 * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
73 of the type.
74 (ipa_set_ancestor_jf) Likewise.
75 (check_stmt_for_type_change): Check that we work on main variant.
76 (detect_type_change): Look into main variant.
77 (compute_known_type_jump_func): Check that main variant has BINFO.
78
c7e1befa
JH
792014-06-28 Jan Hubicka <hubicka@ucw.cz>
80
81 * ipa-devirt.c (set_type_binfo): New function.
82 (add_type_duplicate): Use it.
83 (get_odr_type): Sanity check that binfos points to main variants.
84 (get_class_context): Be sure the context's outer_type is main variant.
85 (contains_type_p): Walk main variant.
86 (get_polymorphic_call_info_for_decl): Set outer_type to be main variant.
87 (get_polymorphic_call_info): Likewise.
88 (possible_polymorphic_call_targets): Sanity check that we operate on main
89 variant.
90
7ae2e72c
JH
912014-06-28 Jan Hubicka <hubicka@ucw.cz>
92
93 * stor-layout.c (finish_builtin_struct): Copy fields into
94 the variants.
95
a8647163
UW
962014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
97
98 * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
99 accidental change due to wide-int branch merge.
100
29d7cbd1
RO
1012014-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
102
103 * configure.ac (gcc_cv_as_compress_debug): Check for assembler
104 compressed debug support.
105 (gcc_cv_ld_compress_debug): Check for linker compressed debug
106 support.
107 * configure: Regenerate.
108 * config.in: Regenerate.
109 * common.opt (compressed_debug_sections): New enum.
110 (gz, gz=): New options.
111 * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC):
112 Define.
113 (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
114 (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
115 * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
116 LINK_COMPRESS_DEBUG_SPEC.
117 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
118 * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
119 * doc/invoke.texi (Option Summary, Debugging Options): Add
120 -gz[=type].
121 (Debugging Options): Document -gz[=type].
122
d284e1b8
MJ
1232014-06-27 Martin Jambor <mjambor@suse.cz>
124
125 PR ipa/61160
126 * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
127 args_to_skip, use those from node instead. Copy args_to_skip and
128 combined_args_to_skip from node to the new thunk.
129 (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
130 (cgraph_create_virtual_clone): Moved computation of
131 combined_args_to_skip...
132 (cgraph_clone_node): ...here, simplify it to bitmap_ior..
133
f012c1ab
TS
1342014-06-27 trevor Saunders <tsaunders@mozilla.com>
135
136 * config/i386/winnt.c (i386_pe_section_type_flags): Remove
137 redundant diagnostic machinary.
138
3fd269db
RB
1392014-06-27 Richard Biener <rguenther@suse.de>
140
141 * tree-ssa-math-opts.c (bswap_replace): Fix
142 SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
143
807b7d62
ML
1442014-06-27 Martin Liska <mliska@suse.cz>
145
146 * gimple.h (gimple_location_safe): New function introduced.
147 * cgraphunit.c (walk_polymorphic_call_targets): Usage
148 of gimple_location_safe replaces gimple_location.
149 (gimple_fold_call): Likewise.
150 * ipa-devirt.c (ipa_devirt): Likewise.
151 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
152 * ipa.c (walk_polymorphic_call_targets): Likewise.
153 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
154
a4ee446d
JJ
1552014-06-27 Jakub Jelinek <jakub@redhat.com>
156
157 PR tree-optimization/57233
158 PR tree-optimization/61299
159 * tree-vect-generic.c (get_compute_type, count_type_subparts): New
160 functions.
161 (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
162 would be lowered to scalar shifts, check if corresponding
163 shifts and vector BIT_IOR_EXPR are supported and don't lower
164 or lower just to narrower vector type in that case.
165 * expmed.c (expand_shift_1): Fix up handling of vector
166 shifts and rotates.
167
dd5e7837
UB
1682014-06-26 Uros Bizjak <ubizjak@gmail.com>
169
170 PR target/61586
171 * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
172
e288a46c
JH
1732014-06-26 Jan Hubicka <hubicka@ucw.cz>
174
175 * doc/invoke.texi (-fsemantic-interposition): Document.
176 * common.opt (fsemantic-interposition): New flag.
177 * varasm.c (decl_replaceable_p): Use it.
178
6a742466
BS
1792014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
180
181 PR target/61542
182 * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
183 extraction other than index 3.
184
f8a36c78
TJ
1852014-06-26 Teresa Johnson <tejohnson@google.com>
186
187 * c-family/c-common.h (get_dump_info): Declare.
188 * c-family/c-gimplify.c (c_genericize): Use saved dump files.
189 * c-family/c-opts.c (c_common_parse_file): Begin and end dumps
190 once around parsing invocation.
191 (get_dump_info): New function.
192 * cp/class.c (dump_class_hierarchy): Use saved dump files.
193 (dump_vtable): Ditto.
194 (dump_vtt): Ditto.
195
f14726bd
TJ
1962014-06-26 Teresa Johnson <tejohnson@google.com>
197
198 * doc/invoke.texi: Fix typo.
199 * dumpfile.c: Add support for documented -fdump-* options
200 optimized/missed/note/optall.
201
680a5a7c
MJ
2022014-06-26 Martin Jambor <mjambor@suse.cz>
203
204 * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
205 (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
206 (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
207 (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
208 * opts.c (default_options_optimization): Set
209 PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
210 * doc/invoke.texi (allow-load-data-races)
dd5e7837 211 (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
680a5a7c
MJ
212 (allow-store-data-races): Document the new default.
213
72972c22
MJ
2142014-06-26 Martin Jambor <mjambor@suse.cz>
215
216 * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
217 renamed to ipa_impossible_devirt_target. Fix typo.
218 * ipa-prop.h (ipa_impossible_devirt_target): Declare.
219 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
220 ipa_impossible_devirt_target.
221
73c7d6bc
RB
2222014-06-26 Richard Biener <rguenther@suse.de>
223
224 PR tree-optimization/61607
225 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
226 explaining why we restrict copies on loop depth.
227 * tree-ssa-dom.c (cprop_operand): Remove restriction on
228 on loop depth.
229 (record_equivalences_from_phis): Instead add it here.
230
a185856a
BS
2312014-06-26 Bernd Schmidt <bernds@codesourcery.com>
232
dd5e7837
UB
233 * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
234 (LTO_WRAPPER_OBJS): New variable.
235 (lto-wrapper$(exeext)): Use it.
236 * collect2.c: Include "collect-utils.h".
237 (verbose, debug): Remove variables.
238 (at_file_supplied): No longer static.
239 (tool_name): New variable.
240 (do_wait, fork_execute, maybe_unlink): Don't declare.
241 (tool_cleanup): No longer static.
242 (notice): Remove function.
243 (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
244 fork_execute calls.
245 (collect_wait, do_wait, collect_execute): Remove functions.
246 (maybe_unlink): No longer static.
247 * collect2.h (verbose, debug): Don't declare.
248 (at_file_supplied): Declare.
249 * collect-utils.c (utils_cleanup): New arg from_signal. All callers
250 changed.
251 (collect_execute): Replace with implementation from collect2, plus a
252 new arg use_atfile. All callers changed.
253 (collect_wait): Replace with implementation from collect2.
254 (maybe_unlink_file): Remove function.
255 (fork_execute): Replace with implementation from collect2, plus a
256 new arg use_atfile. All callers changed.
257 (do_wait): Add call to utils_cleanup to the error path.
258 * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
259 (tool_cleanup): Adjust declarations.
260 * lto-wrapper.c (tool_cleanup): Add unused bool argument.
261 * tlink.c: Include "collect-utils.h".
262 (tlink_execute): New arg use_atfile. All callers changed.
263 (tlink_init, tlink_execute): Remove declarations.
264
265 * collect-utils.c (save_temps): New variable.
266 (do_wait): Use it instead of debug. Use fatal_error.
267 * collect-utils.h (save_temps): Declare.
268 * collect2.c (verbose): Rename from vflag. All uses changed.
269 (tool_cleanup): New function, copied from collect_atexit.
270 (collect_atexit, handler): Just call it.
271 * collect2.h (verbose): Declaration renamed from vflag.
272 * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
273 debug.
274
275 * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
276 (lto-wrapper$(exeext)): Link with collect-utils.o.
277 * collect-utils.c: New file.
278 * collect-utils.h: New file.
279 * lto-wrapper.c: Include "collect-utils.h".
280 (args_name): Delete variable.
281 (tool_name): New variable.
282 (tool_cleanup): New function.
283 (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
284 (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
285 (fork_execute): Remove functions.
a185856a 286
5ed8a176
NC
2872014-06-26 Nick Clifton <nickc@redhat.com>
288
53d51ddb
NC
289 * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
290
5ed8a176
NC
291 * doc/extend.texi (Function Attributes): Fix typo in description
292 of RX vector attribute.
293
0cdb761c
JG
2942014-06-26 James Greenhalgh <james.greenhalgh@arm.com>
295
296 * config.gcc (supported_defaults): Error when passing either
297 --with-tune or --with-arch in conjunction with --with-cpu for ARM.
298
cbe26b97
RB
2992014-06-26 Richard Biener <rguenther@suse.de>
300
301 * tree-ssa-dom.c (cprop_operand): Remove restriction on
302 propagating volatile pointers.
303
974bb959
RB
3042014-06-26 Richard Biener <rguenther@suse.de>
305
306 PR tree-optimization/61607
307 * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
308 loop if we redirected its latch edge.
309 (thread_block_1): Do not cancel loops prematurely.
310
b9b5f433
JH
3112014-06-25 Jan Hubicka <hubicka@ucw.cz>
312
dd5e7837
UB
313 * toplev.c (backend_init_target): Move init_emit_regs and
314 init_regs to...
b9b5f433 315 (backend_init) ... here; skip ira_init_once and backend_init_target.
dd5e7837
UB
316 (target_reinit) ... and here; clear
317 this_target_rtl->lang_dependent_initialized.
318 (lang_dependent_init_target): Clear
319 this_target_rtl->lang_dependent_initialized;
b9b5f433 320 break out rtl initialization to ...
dd5e7837
UB
321 (initialize_rtl): ... here; call also backend_init_target
322 and ira_init_once.
b9b5f433
JH
323 * toplev.h (initialize_rtl): New function.
324 * function.c: Include toplev.h
325 (init_function_start): Call initialize_rtl.
326 * rtl.h (target_rtl): Add target_specific_initialized,
327 lang_dependent_initialized.
328
646d1bed
PG
3292014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
330 Jakub Jelinek <jakub@redhat.com>
331
332 * gcc.c (set_multilib_dir): Malloc "." pointer as well.
333
db88b449
TV
3342014-06-25 Tom de Vries <tom@codesourcery.com>
335
336 * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
337
f9bb13f3
BE
3382014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
339
340 * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
341 check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
342 Issue a strict overflow warning if appropriate.
343
d122681a
ML
3442014-06-25 Martin Liska <mliska@suse.cz>
345
346 IPA REF refactoring
347 * Makefile.in: Removed header file (ipa-ref-inline.h).
348 * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
349 called.
350 (cgraph_speculative_call_info): Likewise.
351 (cgraph_for_node_thunks_and_aliases): Likewise.
352 (cgraph_for_node_and_aliases): Likewise.
353 (verify_cgraph_node): Likewise.
354 * cgraph.h: Batch of IPA REF functions become member functions of
355 symtab_node: add_reference, maybe_add_reference, clone_references,
356 clone_referring, clone_reference, find_reference,
357 remove_stmt_references, remove_all_references,
358 remove_all_referring, dump_references, dump_referring,
359 has_alias_p, iterate_reference, iterate_referring.
360 * cgraphbuild.c (record_reference): New IPA REF function used.
361 (record_type_list): Likewise.
362 (record_eh_tables): Likewise.
363 (mark_address): Likewise.
364 (mark_load): Likewise.
365 (mark_store): Likewise.
366 (pass_build_cgraph_edges): Likewise.
367 (rebuild_cgraph_edge): Likewise.
368 (cgraph_rebuild_references): Likewise.
369 (pass_remove_cgraph_callee_edges): Likewise.
370 * cgraphclones.c (cgraph_clone_node): Likewise.
371 (cgraph_create_virtual_clone): Likewise.
372 (cgraph_materialize_clone): Likewise.
373 (cgraph_materialize_all_clones): Likewise.
374 * cgraphunit.c (cgraph_reset_node): Likewise.
375 (cgraph_reset_node): Likewise.
376 (analyze_function): Likewise.
377 (assemble_thunks_and_aliases): Likewise.
378 (expand_function): Likewise.
379 * ipa-comdats.c (propagate_comdat_group): Likewise.
380 (enqueue_references): Likewise.
381 * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
382 (create_specialized_node): Likewise.
383 * ipa-devirt.c (referenced_from_vtable_p): Likewise.
384 * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
385 * ipa-inline.c (reset_edge_caches): Likewise.
386 (update_caller_keys): Likewise.
387 (execute): Likewise.
388 * ipa-prop.c (remove_described_reference): Likewise.
389 (propagate_controlled_uses): Likewise.
390 (ipa_edge_duplication_hook): Likewise.
391 (ipa_modify_call_arguments): Likewise.
392 * ipa-pure-const.c (propagate_pure_const): Likewise.
393 * ipa-ref-inline.h: Header file removed, functions moved
394 to symtab_node class.
395 * ipa-ref.c (remove_reference): New class member function.
396 (cannot_lead_to_return): New class member function.
397 (referring_ref_list): Likewise.
398 (referred_ref_list): Likewise.
399 Rest of functions moved to symtab_node class.
400 * ipa-ref.h: New member functions remove_reference,
401 cannot_lead_to_return, referring_ref_list, referred_ref_list added
402 to ipa_ref class.
403 ipa_ref_list class has new member functions: first_reference,
404 first_referring, clear, nreferences.
405 * ipa-reference.c (analyze_function): New IPA REF function used.
406 (write_node_summary_p): Likewise.
407 (ipa_reference_write_optimization_summary): Likewise.
408 * ipa-split.c (split_function): Likewise.
409 * ipa-utils.c (ipa_reverse_postorder): Likewise.
410 * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
411 (function_and_variable_visibility): Likewise.
412 * ipa.c (has_addr_references_p): Likewise.
413 (process_references): Argument type changed.
414 (symtab_remove_unreachable_nodes): New IPA REF function used.
415 (process_references): Likewise.
416 (set_writeonly_bit): Likewise.
417 * lto-cgraph.c: Implementation of new symtab_node member functions
418 that uses new IPA REF functions.
dd5e7837
UB
419 * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
420 function used.
d122681a
ML
421 * lto-streamer-out.c (output_symbol_p): Likewise.
422 * lto-streamer.h (referenced_from_this_partition_p): Argument type
423 changed.
d122681a
ML
424 * symtab.c: Implementation of new IPA REF API.
425 * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
426 (ipa_tm_create_version): Likewise.
427 (ipa_tm_execute): Likewise.
428 * tree-emutls.c (gen_emutls_addr): Likewise.
429 * tree-inline.c (copy_bb): Likewise.
430 (delete_unreachable_blocks_update_callgraph): Likewise.
431 * varpool.c (varpool_remove_unreferenced_decls): Likewise.
432 (varpool_for_node_and_aliases): Likewise.
433
81d0a226
TS
4342014-06-25 Trevor Saunders <tsaunders@mozilla.com>
435
436 * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
437
86fcf7ce
TS
4382014-06-25 Trevor Saunders <tsaunders@mozilla.com>
439
440 PR bootstrap/61598
441 * fold-const.c (fold_checksum_tree): Use a hash_table of const
442 tree_node * instead of tree_node *.
443 (fold): Adjust.
444 (print_fold_checksum): Likewise.
445 (fold_check_failed): Likewise.
446 (debug_fold_checksum): Likewise.
447 (fold_build1_stat_loc): Likewise.
448 (fold_build2_stat_loc): Likewise.
449 (fold_build3_stat_loc): Likewise.
450 (fold_build_call_array_loc): Likewise.
451
b36e833f
DE
4522014-06-25 David Edelsohn <dje.gcc@gmail.com>
453
454 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
455 implementation with call to...
456 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
457 function.
458 * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
459 Declare.
460
20cb2258
MG
4612014-06-25 Marc Glisse <marc.glisse@inria.fr>
462
463 PR tree-optimization/57742
464 * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
465 after replacing the statement.
466
cd47dfd0
NC
4672014-06-25 Nick Clifton <nickc@redhat.com>
468
469 * config/v850/v850.c (GHS_default_section_names): Change to const
470 char * type.
471 (GHS_current_section_names): Likewise.
472 (v850_insert_attributes): Do not build strings, just assign the
473 names directly. Change the type of 'chosen_section' to const
474 char*.
475 * config/v850/v850-c.c (ghs_pragma_section): Assign the alias
476 directly to the array entry.
477 * config/v850/v850.h (GHS_default_section_names): Change to const
478 char * type.
479 (GHS_current_section_names): Likewise.
480
da6f124d
JJ
4812014-06-25 Jakub Jelinek <jakub@redhat.com>
482
483 * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
484 (LANG_HOOKS_DECLS): Add it.
485 * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
486 has correct type.
487 * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
488 * langhooks.h (struct lang_hooks_for_decls): Add
489 omp_clause_linear_ctor hook.
490 * omp-low.c (lower_rec_input_clauses): Set max_vf even if
491 OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
492 OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
493 combined simd loop use omp_clause_linear_ctor hook.
494
79d652a5
CH
4952014-06-24 Cong Hou <congh@google.com>
496
497 * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
498 pattern recognition.
499 (type_conversion_p): PROMOTION is true if it's a type promotion
500 conversion, and false otherwise. Return true if the given expression
501 is a type conversion one.
502 * tree-vectorizer.h: Adjust the number of patterns.
503 * tree.def: Add SAD_EXPR.
504 * optabs.def: Add sad_optab.
505 * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
506 * expr.c (expand_expr_real_2): Likewise.
507 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
508 * gimple.c (get_gimple_rhs_num_ops): Likewise.
509 * optabs.c (optab_for_tree_code): Likewise.
510 * tree-cfg.c (estimate_operator_cost): Likewise.
511 * tree-ssa-operands.c (get_expr_operands): Likewise.
512 * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
513 * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
514 * doc/generic.texi: Add document for SAD_EXPR.
515 * doc/md.texi: Add document for ssad and usad.
516
3c032229
TS
5172014-06-24 Trevor Saunders <tsaunders@mozilla.com>
518
519 * config/i386/winnt.c (i386_pe_section_type_flags): Fix const
520 qualification in cast.
521
aaf8a23e
JH
5222014-06-24 Jan Hubicka <hubicka@ucw.cz>
523
524 * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
525 * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
526 * tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
527 (tree_function_decl): ... here.
528 * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
529 streaming of vindex to ...
530 (write_ts_function_decl_tree_pointers): ... here.
531 * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
532 Do not stream DECL_VINDEX.
533 (lto_input_ts_function_decl_tree_pointers): Stream it here.
534
ecc63043
CM
5352014-06-24 Catherine Moore <clm@codesourcery.com>
536 Sandra Loosemore <sandra@codesourcery.com>
537
538 * config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
539 * config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
540 * config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
541
db8965fc
MG
5422014-06-24 Marc Glisse <marc.glisse@inria.fr>
543
544 * doc/invoke.texi (Warning Options): Remove duplicated
545 -Wmaybe-uninitialized.
546
24314386
MG
5472014-06-24 Marc Glisse <marc.glisse@inria.fr>
548
549 PR tree-optimization/57742
550 * tree-ssa-strlen.c (get_string_length): Ignore malloc.
551 (handle_builtin_malloc, handle_builtin_memset): New functions.
552 (strlen_optimize_stmt): Call them.
553 * passes.def: Move strlen after loop+dom but before vrp.
554
8d37375b
JJ
5552014-06-24 Jakub Jelinek <jakub@redhat.com>
556
557 PR target/61570
558 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
559 model family 6 CPU with has_longmode never use a CPU without
560 64-bit support.
561
fb112177
L
5622014-06-24 H.J. Lu <hongjiu.lu@intel.com>
563
564 PR target/61570
565 * config/i386/driver-i386.c (host_detect_local_cpu): Revert
566 the last change.
567
1eb68d2d
TS
5682014-06-24 Trevor Saunders <tsaunders@mozilla.com>
569
570 * alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
571 * dominance.c (iterate_fix_dominators): Use hash_map instead of
572 pointer_map.
573 * hash-map.h: New file.
574 * ipa-comdats.c: Use hash_map instead of pointer_map.
575 * ipa.c: Likewise.
576 * lto-section-out.c: Adjust.
577 * lto-streamer.h: Replace pointer_map with hash_map.
578 * symtab.c (verify_symtab): Likewise.
579 * tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
580 * tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
581 * tree-streamer.h: Likewise.
582 * tree-streamer.c: Adjust.
583 * pointer-set.h: Remove pointer_map.
584
84baa4b9
TS
5852014-06-24 Trevor Saunders <tsaunders@mozilla.com>
586
587 * hash-table.h: Add a template arg to choose between storing values
588 and storing pointers to values, and then provide partial
589 specializations for both.
590 * tree-browser.c (tree_upper_hasher): Provide the type the hash table
591 should store, not the type values should point to.
592 * tree-into-ssa.c (var_info_hasher): Likewise.
593 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
594 * tree-complex.c: Adjust.
595 * tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
596 table instead of int_tree_map *.
597 * tree-parloops.c: Adjust.
598 * tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
599 type is being stored.
600 * tree-vectorizer.c: Adjust.
601
c203e8a7
TS
6022014-06-24 Trevor Saunders <tsaunders@mozilla.com>
603
604 * hash-table.h: Remove a layer of indirection from hash_table so that
605 it contains the hash table's data instead of a pointer to the data.
606 * alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
607 config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
608 config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
609 data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
610 fold-const.c, gcse.c, ggc-common.c,
611 gimple-ssa-strength-reduction.c, gimplify.c,
612 graphite-clast-to-gimple.c, graphite-dependences.c,
613 graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
614 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
615 loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
616 lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
617 postreload-gcse.c, sese.c, statistics.c, store-motion.c,
618 trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
619 tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
620 tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
621 tree-ssa-live.c, tree-ssa-loop-im.c,
622 tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
623 tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
624 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
625 tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
dd5e7837
UB
626 tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
627 tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
628 vtable-verify.c, vtable-verify.h: Adjust.
c203e8a7 629
99753277
RB
6302014-06-24 Richard Biener <rguenther@suse.de>
631
632 PR tree-optimization/61572
633 * tree-ssa-sink.c (statement_sink_location): Do not sink
634 loads from hard registers.
635
b46ebd6c
JJ
6362014-06-24 Jakub Jelinek <jakub@redhat.com>
637
56ad0e38
JJ
638 * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
639 not mentioned in clauses use private clause if the iterator is
640 declared in #pragma omp for simd, and when adding lastprivate
641 instead, add it to the outer #pragma omp for too. Diagnose
642 if the variable is private in outer context. For simd collapse > 1
643 loops, replace all iterators with temporaries.
644 * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
645 same even in collapse > 1 loops.
646
b46ebd6c
JJ
647 * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
648 OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
649 non-NULL.
650 <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
651 (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
652 non-NULL.
653 (gimplify_adjust_omp_clauses): Likewise.
654 * omp-low.c (lower_rec_simd_input_clauses,
655 lower_rec_input_clauses, expand_omp_simd): Handle non-constant
656 safelen the same as safelen(1).
657 * tree-nested.c (convert_nonlocal_omp_clauses,
658 convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
659 OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
660 (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
661 Fixup handling of GIMPLE_OMP_TARGET.
662 (convert_tramp_reference_stmt, convert_gimple_call): Handle
663 GIMPLE_OMP_TARGET.
664
33512353
CLT
6652014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
666
667 PR tree-optimization/61554
668 * tree-ssa-propagate.c: Include "bitmap.h".
669 (substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
670 properly update constructor/destructor.
671 (substitute_and_fold_dom_walker::before_dom_children):
672 Remove call to gimple_purge_dead_eh_edges, add bb->index to
673 need_eh_cleaup instead.
674 (substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
675 need_eh_cleanup.
676
eb6a09a7
JH
6772014-06-23 Jan Hubicka <hubicka@ucw.cz>
678
679 * varpool.c (dump_varpool_node): Dump used_by_single_function.
680 * tree-pass.h (make_pass_ipa_single_use): New pass.
681 * cgraph.h (used_by_single_function): New flag.
dd5e7837
UB
682 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
683 Stream it.
eb6a09a7
JH
684 * passes.def (pass_ipa_single_use): Scedule.
685 * ipa.c (BOTTOM): New macro.
686 (meet): New function
687 (propagate_single_user): New function.
688 (ipa_single_use): New function.
689 (pass_data_ipa_single_use): New pass.
690 (pass_ipa_single_use): New pass.
691 (pass_ipa_single_use::gate): New gate.
692 (make_pass_ipa_single_use): New function.
693
47c80ef5
KT
6942014-06-23 Kai Tietz <ktietz@redhat.com>
695
696 PR target/39284
dd5e7837
UB
697 * passes.def (peephole2): Move peephole2 pass before sched2 pass.
698 * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
47c80ef5 699
e5d8bd8c
RB
7002014-06-23 Richard Biener <rguenther@suse.de>
701
702 * tree-ssa-loop.c (gate_loop): New function.
703 (pass_tree_loop::gate): Call it.
704 (pass_data_tree_no_loop, pass_tree_no_loop,
705 make_pass_tree_no_loop): New.
706 * tree-vectorizer.c: Include tree-scalar-evolution.c
707 (pass_slp_vectorize::execute): Initialize loops and SCEV if
708 required.
709 (pass_slp_vectorize::clone): New method.
710 * timevar.def (TV_TREE_NOLOOP): New.
711 * tree-pass.h (make_pass_tree_no_loop): Declare.
712 * passes.def (pass_tree_no_loop): New pass group with
713 SLP vectorizer.
714
228e5d2b
L
7152014-06-23 H.J. Lu <hongjiu.lu@intel.com>
716
717 PR target/61570
718 * config/i386/driver-i386.c (host_detect_local_cpu): Set arch
719 to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
720
0379033b
JG
7212014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
722
723 * config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
724 "yes" where needed.
725
82bb9245
AM
7262014-06-23 Alan Modra <amodra@gmail.com>
727
728 PR bootstrap/61583
729 * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
730 to zero on debug statements.
731
de6c4e1f 7322014-06-23 Alan Lawrence <alan.lawrence@arm.com>
096c59be
AL
733
734 PR target/60825
735 * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
736 Ignore third operand if present by marking qualifier_internal.
737
738 * config/aarch64/aarch64-simd-builtins.def (abs): Comment.
739
740 * config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
741 vector extension.
742 (aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
743 arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
744 (vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
745 vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
746 vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
747 vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
748 vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
749 vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
750 vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
751 vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
752 vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
753 vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
754 vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
755 vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
756 vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
757 vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
758 logic in GCC vector extensions
82bb9245 759
096c59be
AL
760 (vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
761 vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
762 vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
763 vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
764 vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
765 vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
766 vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
767 vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
768 vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
769 vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.
770
771 (vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.
772
773 (vget_high_s64, vget_high_u64): Reimplement with GCC vector
774 extensions.
775
776 (__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
777 (vget_low_s64): Use __GET_LOW macro.
778 (vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
779 gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
780 (vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
781 (vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
782 __builtin_aarch64_lane_boundsi, use GCC vector extensions.
783
784 (vcombine_s64): Use GCC vector extensions; remove cast.
785 (vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
786 vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
787 vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
788 Fix type signature; remove cast.
789
de6c4e1f 7902014-06-23 Alan Lawrence <alan.lawrence@arm.com>
c6a29a09
AL
791
792 PR target/60825
793 * config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
794 V1DFmode.
795 * config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
796 add V1DFmode
797 (BUILTIN_VD1): New.
798 (BUILTIN_VD_RE): Remove.
799 (aarch64_init_simd_builtins): Add V1DF to modes/modenames.
800 (aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
801 * config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
802 variant but not df.
803 (vreinterpretv1df*, vreinterpret*v1df): New.
804 (vreinterpretdf*, vreinterpret*df): Remove.
dd5e7837
UB
805 * config/aarch64/aarch64-simd.md (aarch64_create,
806 aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
c6a29a09
AL
807 * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
808 (VD1): New.
809 * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
810 (vcreate_f64): Remove cast, use v1df builtin.
811 (vcombine_f64): Remove cast, get elements with gcc vector extensions.
812 (vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
813 vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
814 vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
815 vmov_n_f64, vst1_f64): Use gcc vector extensions.
816 (vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
817 add range check using __builtin_aarch64_im_lane_boundsi.
818 (vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
819 vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
820 type signature, use gcc vector extensions.
821 (vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
822 vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
823 vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
824 vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
825 vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
826 vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
827 vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
828 vreinterpret_u64_f64): Use v1df builtin not df.
829
463036be
JG
8302014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
831
832 * config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
833 vector registers.
834
1cff83e2
JH
8352014-06-23 Jan Hubicka <hubicka@ucw.cz>
836
dd5e7837
UB
837 * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
838 priority directly.
1cff83e2 839
2c97f472
ZC
8402014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
841
842 * loop-invariant.c (pre_check_invariant_p): New function.
843 (find_invariant_insn): Call pre_check_invariant_p.
844
08281ce0
RH
8452014-06-22 Richard Henderson <rth@redhat.com>
846
847 PR target/61565
848 * compare-elim.c (struct comparison): Add eh_note.
849 (find_comparison_dom_walker::before_dom_children): Don't eliminate
850 a redundant comparison in a different EH region. Purge EH edges if
851 necessary.
852
37317a1f
SB
8532014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
854
855 * config/rs6000/rs6000.md (maybe_var_shift): New define_attr.
856 (var_shift): Use it.
857 (rotl<mode>3, *rotlsi3_64, *rotl<mode>3_dot, *rotl<mode>3_dot2,
858 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
859 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
860 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
861 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
862 *rotlsi3_internal12be, ashl<mode>3, *ashlsi3_64, *ashl<mode>3_dot,
863 *ashl<mode>3_dot2, lshr<mode>3, *lshrsi3_64, *lshr<mode>3_dot,
864 *lshr<mode>3_dot2, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot,
865 *ashr<mode>3_dot2, *rotldi3_internal4, *rotldi3_internal5,
866 *rotldi3_internal6, *rotldi3_internal7le, *rotldi3_internal7be,
867 *rotldi3_internal8le, *rotldi3_internal8be, *rotldi3_internal9le,
868 *rotldi3_internal9be, *rotldi3_internal10le, *rotldi3_internal10be,
869 *rotldi3_internal11le, *rotldi3_internal11be, *rotldi3_internal12le,
870 *rotldi3_internal12be, *rotldi3_internal13le, *rotldi3_internal13be,
871 *rotldi3_internal14le, *rotldi3_internal14be, *rotldi3_internal15le,
872 *rotldi3_internal15be): Use the new attribute. Merge register and
873 integer alternatives.
874
85c1cb22
SB
8752014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
876
877 * config/rs6000/rs6000.md (ashrsi3, two anonymous define_insns and
878 define_splits, ashrdi3, *ashrdi3_internal1, *ashrdi3_internal2 and
879 split, *ashrdi3_internal3 and split): Delete, merge into...
880 (ashr<mode>3): New expander.
881 (*ashr<mode>3, ashr<mode>3_dot, ashr<mode>3_dot2): New.
882 (*ashrsi3_64): Fix formatting. Replace "i" by "n".
883
137b8eb2
SB
8842014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
885
886 * config/rs6000/rs6000.md (rotlsi3, *rotlsi3_internal2 and split,
887 *rotlsi3_internal3 and split, rotldi3, *rotldi3_internal2 and split,
888 *rotldi3_internal3 and split): Delete, merge into...
889 (rotl<mode>3, rotl<mode>3_dot, rotl<mode>3_dot2): New.
890 (*rotlsi3_64): Fix formatting. Fix condition. Replace "i" by "n".
891 Use "rotlw" extended mnemonic.
892
d70be98e
SB
8932014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
894
895 * config/rs6000/rs6000.md (ashlsi3, two anonymous define_insns
896 and define_splits, ashldi3, *ashldi3_internal1, *ashldi3_internal2
897 and split, *ashldi3_internal3 and split): Delete, merge into...
898 (ashl<mode>3, ashl<mode>3_dot, ashl<mode>3_dot2): New.
899 (*ashlsi3_64): Fix formatting. Replace "i" by "n".
900
f39a447c
SB
9012014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
902
903 * config/rs6000/rs6000.md ("hH"): New define_mode_attr.
904 (lshrsi3, two anonymous define_insns and define_splits,
905 lshrdi3, *lshrdi3_internal1, *lshrdi3_internal2 and split,
906 *lshrdi3_internal3 and split): Delete, merge into...
907 (lshr<mode>3, lshr<mode>3_dot, lshr<mode>3_dot2): New.
908 (*lshrsi3_64): Fix formatting. Replace "i" by "n".
909
1a2443af
SB
9102014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
911
912 * config/rs6000/rs6000.md (lshrsi3, and its two dot patterns):
913 Remove "O" alternative.
914
82db17cb
RS
9152014-06-22 Richard Sandiford <rdsandiford@googlemail.com>
916
917 * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
918 (mips_move_from_gpr_cost): Likewise.
919 (mips_register_move_cost): Update accordingly.
920 (mips_secondary_reload_class): Remove name of in_p.
921
43c5fcfc
MG
9222014-06-22 Marc Glisse <marc.glisse@inria.fr>
923
924 PR target/61503
925 * config/i386/i386.md (x86_64_shrd, x86_shrd,
926 ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
927
47657153
JBG
9282014-06-21 Jan-Benedict Glaw <jbglaw@lug-owl.de>
929
930 * config/nios2/nios2.c: Include "builtins.h".
931
714c800f
JH
9322014-06-20 Jan Hubicka <hubicka@ucw.cz>
933
934 * cgraph.h (tls_model_names): New variable.
935 * print-tree.c (print_node): Simplify.
936 * varpool.c (tls_model_names): New variable.
937 (dump_varpool_node): Output tls model.
938
b4897212
JH
9392014-06-20 Jan Hubicka <hubicka@ucw.cz>
940
941 * ipa-visibility.c (function_and_variable_visibility): Disable
942 temporarily local aliases for some targets.
943
0e37a2f3
MP
9442014-06-20 Marek Polacek <polacek@redhat.com>
945
946 * asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
947 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
948 into SANITIZE_UNDEFINED.
949 * doc/invoke.texi: Describe -fsanitize=bounds.
950 * gimplify.c (gimplify_call_expr): Add gimplification of internal
951 functions created in the FEs.
952 * internal-fn.c: Move "internal-fn.h" after "tree.h".
953 (expand_UBSAN_BOUNDS): New function.
954 * internal-fn.def (UBSAN_BOUNDS): New internal function.
955 * internal-fn.h: Don't define internal functions here.
956 * opts.c (common_handle_option): Add -fsanitize=bounds.
957 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
958 BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
959 * tree-core.h: Define internal functions here.
960 (struct tree_base): Add ifn field.
961 * tree-pretty-print.c: Include "internal-fn.h".
962 (dump_generic_node): Handle functions without CALL_EXPR_FN.
963 * tree.c (get_callee_fndecl): Likewise.
964 (build_call_expr_internal_loc): New function.
965 * tree.def (CALL_EXPR): Update description.
966 * tree.h (CALL_EXPR_IFN): Define.
967 (build_call_expr_internal_loc): Declare.
968 * ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
969 types.
970 (ubsan_type_descriptor): Change bool parameter to enum
971 ubsan_print_style. Adjust the code. Add handling of
972 UBSAN_PRINT_ARRAY.
973 (ubsan_expand_bounds_ifn): New function.
974 (ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
975 (ubsan_build_overflow_builtin): Likewise.
976 (instrument_bool_enum_load): Likewise.
977 (ubsan_instrument_float_cast): Likewise.
978 * ubsan.h (enum ubsan_print_style): New enum.
979 (ubsan_expand_bounds_ifn): Declare.
980 (ubsan_type_descriptor): Adjust declaration. Use a default parameter.
981
96740472
MR
9822014-06-20 Maciej W. Rozycki <macro@codesourcery.com>
983
984 * config/rs6000/rs6000.md: Append `DONE' to preparation
985 statements of `bswap' pattern splitters.
986
73b3e61b
TV
9872014-06-20 Tom de Vries <tom@codesourcery.com>
988
989 * target.def (call_fusage_contains_non_callee_clobbers): Update
990 definition.
991 * doc/tm.texi: Regenerate.
992
0cbf438b
YG
9932014-06-20 Yury Gribov <y.gribov@samsung.com>
994 Max Ostapenko <m.ostapenko@partner.samsung.com>
995
996 PR sanitizer/61547
997 * asan.c (instrument_strlen_call): Fixed instrumentation of
998 trailing byte.
999
bec81025
MJ
10002014-06-20 Martin Jambor <mjambor@suse.cz>
1001
1002 PR ipa/61540
1003 * ipa-prop.c (impossible_devirt_target): New function.
1004 (try_make_edge_direct_virtual_call): Use it, also instead of
1005 asserting.
1006
bf613c02
YG
10072014-06-20 Yury Gribov <y.gribov@samsung.com>
1008 Max Ostapenko <m.ostapenko@partner.samsung.com>
1009
1010 PR sanitizer/61530
1011 * asan.c (build_check_stmt): Add condition.
1012
803d0ab0
MJ
10132014-06-20 Martin Jambor <mjambor@suse.cz>
1014
1015 PR ipa/61211
1016 * cgraph.c (clone_of_p): Allow skipped_branch to deal with
1017 expanded clones.
1018
278821f2
KT
10192014-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1020
1021 * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
1022 Update comments.
1023 (VCONQ): Make comment more helpful.
1024 (VCON): Delete.
1025 * config/aarch64/aarch64-simd.md
1026 (aarch64_sqdmulh_lane<mode>):
1027 Use VCOND for operands 2. Update lane checking and flipping logic.
1028 (aarch64_sqrdmulh_lane<mode>): Likewise.
1029 (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
1030 (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
1031 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
1032 attribute of operand 3 to VCOND.
1033 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
1034 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
1035 (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
1036 (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
1037 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
1038 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
1039 define_insn.
1040 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
1041 (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
1042 (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
1043 (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
1044 (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
1045 (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
1046 operand to VCOND. Update lane flipping and bounds checking logic.
1047 (aarch64_sqdmlal2_lane<mode>): Likewise.
1048 (aarch64_sqdmlsl_lane<mode>): Likewise.
1049 (aarch64_sqdmull_lane<mode>): Likewise.
1050 (aarch64_sqdmull2_lane<mode>): Likewise.
1051 (aarch64_sqdmlal_laneq<mode>):
1052 Replace VCON usage with VCONQ.
1053 Emit aarch64_sqdmlal_laneq<mode>_internal insn.
1054 (aarch64_sqdmlal2_laneq<mode>): Emit
1055 aarch64_sqdmlal2_laneq<mode>_internal insn.
1056 Replace VCON with VCONQ.
1057 (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
1058 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
1059 (aarch64_sqdmull_laneq<mode>): Emit
1060 aarch64_sqdmull_laneq<mode>_internal insn.
1061 Replace VCON with VCONQ.
1062 (aarch64_sqdmull2_laneq<mode>): Emit
1063 aarch64_sqdmull2_laneq<mode>_internal insn.
1064 (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
1065 * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
1066 of 3rd argument to int16x4_t.
1067 (vqdmlalh_lane_s16): Likewise.
1068 (vqdmlslh_lane_s16): Likewise.
1069 (vqdmull_high_lane_s16): Likewise.
1070 (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
1071 (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
1072 (vqdmlsl_lane_s16): Likewise.
1073 (vqdmull_lane_s16): Don't create temporary int16x8_t value.
1074 (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
1075 (vqdmlals_lane_s32): Likewise.
1076 (vqdmlsls_lane_s32): Likewise.
1077 (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
1078 (vqdmulls_lane_s32): Likewise.
1079 (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
1080 (vqdmlsl_lane_s32): Likewise.
1081 (vqdmull_lane_s32): Don't create temporary int32x4_t value.
1082 (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
1083 (vqrdmulhh_lane_s16): Likewise.
1084 (vqdmlsl_high_lane_s16): Likewise.
1085 (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
1086 (vqdmlsl_high_lane_s32): Likewise.
1087 (vqrdmulhs_lane_s32): Likewise.
1088
6621ab68
TV
10892014-06-20 Tom de Vries <tom@codesourcery.com>
1090
1091 * final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
1092 get_call_reg_set_usage.
1093
5fea8186
TV
10942014-06-20 Tom de Vries <tom@codesourcery.com>
1095
1096 * final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
1097 it contains all call_used_regs.
1098
53f2f6c1
TV
10992014-06-20 Tom de Vries <tom@codesourcery.com>
1100
1101 * final.c (collect_fn_hard_reg_usage): Add and use variable
1102 function_used_regs.
1103
569b1784
JH
11042014-06-20 Jan Hubicka <hubicka@ucw.cz>
1105
1106 * cgraph.h (struct symtab_node): Add field in_init_priority_hash
1107 (set_init_priority, get_init_priority, set_fini_priority,
1108 get_fini_priority): New methods.
1109 * tree.c (init_priority_for_decl): Remove.
1110 (init_ttree): Do not initialize init priority.
1111 (decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
1112 (decl_priority_info): Remove.
1113 (decl_init_priority_insert): Rewrite.
1114 (decl_fini_priority_insert): Rewrite.
1115 * tree.h (tree_priority_map_eq, tree_priority_map_hash,
1116 tree_priority_map_marked_p): Remove.
1117 * lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
1118 * lto-streamer-out.c (hash_tree): Do not hash priorities.
1119 * tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
1120 not output priorities.
1121 (pack_ts_function_decl_value_fields): Likewise.
1122 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
1123 not input priorities.
1124 (unpack_ts_function_decl_value_fields): Likewise.
1125 * symtab.c (symbol_priority_map): Declare.
1126 (init_priority_hash): Declare.
1127 (symtab_unregister_node): Unregister from priority hash, too.
1128 (symtab_node::get_init_priority, cgraph_node::get_fini_priority):
1129 New methods.
1130 (symbol_priority_map_eq, symbol_priority_map_hash): New functions.
1131 (symbol_priority_info): New function.
1132 (symtab_node::set_init_priority, cgraph_node::set_fini_priority):
1133 New methods.
1134 * tree-core.h (tree_priority_map): Remove.
1135
88f5cfcd
JJ
11362014-06-20 Jakub Jelinek <jakub@redhat.com>
1137
1138 * tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
1139 0xff to uint64_t before shifting it up.
1140
6d45574a
JB
11412014-06-20 Julian Brown <julian@codesourcery.com>
1142 Chung-Lin Tang <cltang@codesourcery.com>
1143
1144 * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
1145 TARGET_THUMB1_ONLY. Add comments.
1146
d07a3fed
TV
11472014-06-19 Tom de Vries <tom@codesourcery.com>
1148
1149 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
1150 return type to void.
1151 * config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.
1152
61fc05c7
ZC
11532014-06-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1154
1155 * loop-invariant.c (get_inv_cost): Skip invariants, which are marked
1156 as "move", from depends_on.
1157
dbb73879
TG
11582014-06-19 Terry Guo <terry.guo@arm.com>
1159
1160 * config/arm/thumb1.md (define_split): Split 64bit constant in earlier
1161 stage.
1162
36bd0c3e
SB
11632014-06-18 Segher Boessenkool <segher@kernel.crashing.org>
1164
1165 * config/rs6000/rs6000.h (FIXED_REGISTERS): Update comment.
1166 Remove cr5.
1167 (REG_ALLOC_ORDER): Update comment. Move cr5 earlier.
1168
be6b0bec
KK
11692014-06-18 Kaz Kojima <kkojima@gcc.gnu.org>
1170
1171 PR target/61550
1172 * config/sh/sh.c (prepare_move_operands): Don't process TLS
1173 addresses here if reload in progress or completed.
1174
c31d2d11
RS
11752014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
1176
a78cc314
RS
1177 * config/mips/constraints.md ("d"): BASE_REG_CLASS replaced by
1178 "TARGET_MIPS16 ? M16_REGS : GR_REGS".
1179 * config/mips/mips.c (mips_regno_to_class): Update for M16_SP_REGS.
1180 (mips_regno_mode_ok_for_base_p): Remove use of !strict_p for MIPS16.
1181 (mips_register_priority): New function that implements the target
1182 hook TARGET_REGISTER_PRIORITY.
1183 (mips_spill_class): Likewise for TARGET_SPILL_CLASS.
1184 (mips_lra_p): Likewise for TARGET_LRA_P.
1185 (TARGET_REGISTER_PRIORITY): Define macro.
1186 (TARGET_SPILL_CLASS): Likewise.
1187 (TARGET_LRA_P): Likewise.
1188 * config/mips/mips.h (reg_class): Add M16_SP_REGS and SPILL_REGS
1189 classes.
1190 (REG_CLASS_NAMES): Likewise.
1191 (REG_CLASS_CONTENTS): Likewise.
1192 (BASE_REG_CLASS): Use M16_SP_REGS.
1193 * config/mips/mips.md (*mul_acc_si): Add alternative tuned for LRA.
1194 New set attribute to enable alternatives depending on the register
1195 allocator used.
1196 (*mul_acc_si_r3900, *mul_sub_si): Likewise.
1197 (*lea64): Disable pattern for MIPS16.
1198 * config/mips/mips.opt (mlra): New option.
1199
12002014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
1201
82bb9245
AM
1202 * lra-constraints.c (base_to_reg): New function.
1203 (process_address): Use new function.
c31d2d11 1204
78607708
TV
12052014-06-18 Tom de Vries <tom@codesourcery.com>
1206
1207 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
1208 * config/aarch64/aarch64.c
1209 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
1210 (aarch64_emit_call_insn): New function.
1211 (aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
1212 of emit_call_insn.
1213 * config/aarch64/aarch64.md (define_expand "call_internal")
1214 (define_expand "call_value_internal", define_expand "sibcall_internal")
1215 (define_expand "sibcall_value_internal"): New.
1216 (define_expand "call", define_expand "call_value")
1217 (define_expand "sibcall", define_expand "sibcall_value"): Use internal
1218 expand variant and aarch64_emit_call_insn.
1219
7a32d6c4 12202014-06-18 Radovan Obradovic <robradovic@mips.com>
dd5e7837 1221 Tom de Vries <tom@codesourcery.com>
7a32d6c4
RO
1222
1223 * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
1224 * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
1225 Redefine to true.
1226 (arm_emit_call_insn): Add and use sibcall parameter. Add IP and CC
1227 clobbers to CALL_INSN_FUNCTION_USAGE.
1228 (define_expand "sibcall_internal")
1229 (define_expand "sibcall_value_internal"): New.
1230 (define_expand "call", define_expand "call_value"): Add argument to
1231 arm_emit_call_insn.
1232 (define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
1233 (define_expand "sibcall_value"): Use sibcall_value_internal and
1234 arm_emit_call_insn.
1235
4b9fcb37
CB
12362014-06-18 Charles Baylis <charles.baylis@linaro.org>
1237
1238 * config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.
1239
a7a7d3c8
CB
12402014-06-18 Charles Baylis <charles.baylis@linaro.org>
1241
1242 * config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
1243 __udivmoddi4.
1244
158ef346
CB
12452014-06-18 Charles Baylis <charles.baylis@linaro.org>
1246
1247 * config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
1248 push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
1249 annotations. Fix DWARF information.
1250
13381189
CB
12512014-06-18 Charles Baylis <charles.baylis@linaro.org>
1252
1253 * config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
1254 __udivmoddi4, and fixups for negative operands.
1255
f493def1
CB
12562014-06-18 Charles Baylis <charles.baylis@linaro.org>
1257
1258 * config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
1259
0b227df4
CB
12602014-06-18 Charles Baylis <charles.baylis@linaro.org>
1261
1262 * config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
1263 to __udivmoddi4.
1264
c9dae335
CB
12652014-06-18 Charles Baylis <charles.baylis@linaro.org>
1266
1267 * config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
1268 manipulation.
1269
6857b807
CB
12702014-06-18 Charles Baylis <charles.baylis@linaro.org>
1271
1272 * config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
1273 describing register usage on function entry and exit.
1274
f21d8faa
CB
12752014-06-18 Charles Baylis <charles.baylis@linaro.org>
1276
1277 * config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
1278 (__aeabi_ldivmod): Fix whitespace.
1279
544aee0d
AS
12802014-06-18 Andreas Schwab <schwab@suse.de>
1281
1282 * doc/md.texi (Standard Names): Use @itemx for grouped items.
1283 Remove blank line after @item.
1284
0bc11714
RH
12852014-06-18 Richard Henderson <rth@redhat.com>
1286
1287 PR target/61545
1288 * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.
1289
7b5b78b1
CB
12902014-06-18 Charles Baylis <charles.baylis@linaro.org>
1291
1292 * config/arm/arm.c (neon_vector_mem_operand): Allow register
1293 POST_MODIFY for neon loads and stores.
1294 (arm_print_operand): Output post-index register for neon loads and
1295 stores.
1296
54ed41ea
RB
12972014-06-18 Richard Biener <rguenther@suse.de>
1298
1299 * tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.
1300
30866dc9
RB
13012014-06-18 Richard Biener <rguenther@suse.de>
1302
1303 * tree-pass.h (make_pass_dce_loop): Remove.
1304 * passes.def: Replace pass_dce_loop with pass_dce.
1305 * tree-ssa-dce.c (perform_tree_ssa_dce): If something
1306 changed free niter estimates and reset the scev cache.
1307 (tree_ssa_dce_loop, pass_data_dce_loop, pass_dce_loop,
1308 make_pass_dce_loop): Remove.
1309 * tree-ssa-copy.c: Include tree-ssa-loop-niter.h.
1310 (fini_copy_prop): Return whether something changed. Always
1311 let substitute_and_fold perform DCE and free niter estimates
1312 and reset the scev cache if so.
1313 (execute_copy_prop): If sth changed schedule cleanup-cfg.
1314 (pass_data_copy_prop): Do not unconditionally schedule
1315 cleanup-cfg or update-ssa.
1316
560c75e9
YR
13172014-06-18 Yuri Rumyantsev <ysrumyan@gmail.com>
1318
1319 PR tree-optimization/61518
1320 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
1321 reduction var is used in reduction stmt or phi-function only.
1322
751738cb
KT
13232014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1324
1325 * config/arm/arm_neon.h (vadd_f32): Change #ifdef to __FAST_MATH.
1326
a31d2741
TP
13272014-06-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
1328
1329 PR tree-optimization/61517
1330 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt
1331 whose rhs's first tree is the source expression instead of the
1332 expression itself.
1333 (find_bswap_or_nop): Likewise.
1334 (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a
1335 gimple stmt whose rhs's first tree is the source. In the memory source
1336 case, move the stmt to be replaced close to one of the original load to
1337 avoid the problem of a store between the load and the stmt's original
1338 location.
1339 (pass_optimize_bswap::execute): Adapt to change in bswap_replace's
1340 signature.
1341
a0f37b26
AS
13422014-06-18 Andreas Schwab <schwab@suse.de>
1343
1344 PR rtl-optimization/54555
1345 * postreload.c (move2add_use_add2_insn): Substitute
1346 STRICT_LOW_PART only if it is cheaper.
1347
9fdb837f
UB
13482014-06-18 Uros Bizjak <ubizjak@gmail.com>
1349
1350 * config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern.
1351 Do not use unspec as call operand. Use memory_operand instead of
1352 memory_nox32_operand and add "m" operand constraint. Disable
1353 pattern for TARGET_X32.
1354 (*sibcall_pop_memory): Ditto.
1355 (*sibcall_value_memory): Ditto.
1356 (*sibcall_value_pop_memory): Ditto.
1357 (sibcall peepholes): Merge SImode and DImode patterns using
1358 W mode iterator. Use memory_operand instead of memory_nox32_operand.
1359 Disable pattern for TARGET_X32. Check if eliminated register is
1360 really dead after call insn. Generate call RTX without unspec operand.
1361 (sibcall_value peepholes): Ditto.
1362 (sibcall_pop peepholes): Fix call insn RTXes. Use memory_operand
1363 instead of memory_nox32_operand. Check if eliminated register is
1364 really dead after call insn. Generate call RTX without unspec operand.
1365 (sibcall_value_pop peepholes): Ditto.
1366 * config/i386/predicates.md (memory_nox32_operand): Remove predicate.
1367
35d147ef
TG
13682014-06-18 Terry Guo <terry.guo@arm.com>
1369
1370 PR target/61544
1371 * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
1372 reach the head.
1373
c41f1c42
BE
13742014-06-18 Olivier Hainque <hainque@adacore.com>
1375
1376 * tree-core.h (tree_block): Add an "end_locus" field, allowing
1377 memorization of the end of block source location.
1378 * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
1379 * gimplify.c (gimplify_bind_expr): Propagate the block start and
1380 end source location info we have on the block entry/exit code we
1381 generate.
1382
68f6df73
RB
13832014-06-18 Richard Biener <rguenther@suse.de>
1384
1385 * common.opt (fssa-phiopt): New option.
1386 * opts.c (default_options_table): Enable -fssa-phiopt with -O1+
1387 but not with -Og.
1388 * tree-ssa-phiopt.c (pass_phiopt): Add gate method.
1389 * doc/invoke.texi (-fssa-phiopt): Document.
1390
419d45db
KT
13912014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1392
1393 * genattrtab.c (n_bypassed): New variable.
1394 (process_bypasses): Initialise n_bypassed.
1395 Count number of bypassed reservations.
1396 (make_automaton_attrs): Allocate space for bypassed reservations
1397 rather than number of bypasses.
1398
25b7069a
RB
13992014-06-18 Richard Biener <rguenther@suse.de>
1400
1401 * tree-ssa-propagate.c (replace_phi_args_in): Return whether
1402 we propagated anything.
1403 (substitute_and_fold_dom_walker::before_dom_children): Something
1404 changed if we propagated into PHI arguments.
1405 * tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
1406 we removed a stmt.
1407
f7917029
ES
14082014-06-18 Evgeny Stupachenko <evstupac@gmail.com>
1409
1410 * config/i386/i386.c (ix86_reassociation_width): Add alternative for
1411 vector case.
1412 * config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
1413 * config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
1414 * tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
1415 Introduces alternative way of loads group permutaions.
1416 (vect_transform_grouped_load): Try alternative way of permutations.
1417
f014c653
JJ
14182014-06-18 Jakub Jelinek <jakub@redhat.com>
1419
9fdb837f
UB
1420 * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
1421 changed in ORT_TARGET region, don't jump to do_outer.
f014c653
JJ
1422 (struct gimplify_adjust_omp_clauses_data): New type.
1423 (gimplify_adjust_omp_clauses_1): Adjust for data being
1424 a struct gimplify_adjust_omp_clauses_data pointer instead
1425 of tree *. Pass pre_p as a new argument to
1426 lang_hooks.decls.omp_finish_clause hook.
1427 (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
1428 splay_tree_foreach to pass both list_p and pre_p.
1429 (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
1430 gimplify_omp_workshare, gimplify_omp_target_update): Adjust
1431 gimplify_adjust_omp_clauses callers.
1432 * langhooks.c (lhd_omp_finish_clause): New function.
1433 * langhooks-def.h (lhd_omp_finish_clause): New prototype.
1434 (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
1435 * langhooks.h (struct lang_hooks_for_decls): Add a new
1436 gimple_seq * argument to omp_finish_clause hook.
1437 * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
1438 non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
1439 (scan_omp_parallel, lower_omp_for): When adding
9fdb837f 1440 _LOOPTEMP_ clause var, add it to outer ctx's decl_map as identity.
f014c653
JJ
1441 * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
1442 * tree-nested.c (convert_nonlocal_omp_clauses,
1443 convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
9fdb837f 1444 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
f014c653 1445
f2918c18
AM
14462014-06-17 Andrew MacLeod <amacleod@redhat.com>
1447
1448 * tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
1449 * tree-dfa.c (get_addr_base_and_unit_offset_1): To here.
1450
90d0d8d3
XDL
14512014-06-17 Xinliang David Li <davidxl@google.com>
1452
1453 * tree-pretty-print.c (dump_function_header): Print cgraph uid.
1454 * passes.c (pass_init_dump_file): Do not set initialize
1455 flag to false unconditionally.
1456
75509ba2
RB
14572014-06-17 Richard Biener <rguenther@suse.de>
1458
1459 * genopinit.c (main): Use vec<>::qsort method.
1460 * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
1461 Likewise.
1462 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
1463
e58b74ea
MF
14642014-06-17 Matthew Fortune <matthew.fortune@imgtec.com>
1465
1466 * config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
1467 * config/mips/mips.c (mips_expand_fcc_reload): Remove.
1468 (mips_move_to_gpr_cost): Remove ST_REGS case.
1469 (mips_move_from_gpr_cost): Likewise.
1470 (mips_register_move_cost): Likewise.
1471 (mips_secondary_reload_class): Likewise.
1472
9e4f27ef
RB
14732014-06-17 Richard Biener <rguenther@suse.de>
1474
1475 * passes.def (pass_all_early_optimizations): Remove copy-prop pass.
1476 (pass_all_optimizations): Move 3rd copy-prop pass from after
1477 fre to before ifcombine/phiopt.
1478
866f20d6
RB
14792014-06-17 Richard Biener <rguenther@suse.de>
1480
1481 * tree-switch-conversion.c (collect_switch_conv_info): Simplify
1482 and allow all blocks to be forwarders.
1483
3abf17cf
YZ
14842014-06-17 Yufeng Zhang <yufeng.zhang@arm.com>
1485
1486 PR target/61483
1487 * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
1488 variable 'size'; calculate 'size' right in the front; use
1489 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
1490 pcum->aapcs_stack_words.
1491
ba3cf9f1
NC
14922014-06-17 Nick Clifton <nickc@redhat.com>
1493
1494 * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
1495 (umulhi3, mulsidi3, umulsidi3): Likewise.
1496
7a75b6e2
TS
14972014-06-17 Thomas Schwinge <thomas@codesourcery.com>
1498
1499 PR middle-end/61508
1500 * fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
1501 check for section name.
1502
ec18e2eb
RB
15032014-06-17 Richard Biener <rguenther@suse.de>
1504
1505 * tree-ssa-propagate.c: Include domwalk.h.
1506 (substitute_and_fold): Outline main worker into a domwalker ...
1507 (substitute_and_fold_dom_walker::before_dom_children): ... here.
1508 Schedule stmts we can fully propagate for removal. Remove
1509 poor-mans DCE.
1510 (substitute_and_fold): Apply a dominator walk to perform
1511 substitution. Process stmts scheduled for removal here.
1512
a4ab23b6
RB
15132014-06-17 Richard Biener <rguenther@suse.de>
1514
1515 * tree-ssa-loop-im.c (determine_max_movement): Adjust cost
1516 of PHI node moving.
1517
5db37871
KV
15182014-06-17 Kugan Vivekanandarajah <kuganv@linaro.org>
1519
1520 * config/arm/arm.c (arm_atomic_assign_expand_fenv): call
1521 default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
1522 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
1523 __builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
1524 * config/arm/vfp.md (set_fpscr): Make pattern conditional on
1525 TARGET_HARD_FLOAT.
1526 (get_fpscr) : Likewise.
1527
ba38538f
VM
15282014-06-16 Vladimir Makarov <vmakarov@redhat.com>
1529
1530 PR rtl-optimization/61325
1531 * lra-constraints.c (valid_address_p): Add forward declaration.
1532 (simplify_operand_subreg): Check address validity before and after
1533 alter_reg of memory subreg.
1534
7049aed6
UB
15352014-06-16 Uros Bizjak <ubizjak@gmail.com>
1536
1537 * config/i386/i386.c (decide_alg): Correctly handle
1538 maximum size of stringop algorithm.
1539
241e298a
YG
15402014-06-16 Yury Gribov <y.gribov@samsung.com>
1541
1542 * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
1543
1df2287f
VM
15442014-06-16 Vladimir Makarov <vmakarov@redhat.com>
1545
1546 PR rtl-optimization/61522
7049aed6 1547 * lra-assigns.c (assign_by_spills): Check null targetm.spill_class.
1df2287f 1548
da66d596
JH
15492014-06-16 Jan Hubicka <hubicka@ucw.cz>
1550
1551 Revert:
1552 * symtab.c (symtab_node::reset_section): New method.
1553 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
1554 for localization.
1555 * cgraph.h (reset_section): Declare.
1556 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
1557 do not consider comdat locals.
1558 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
1559 for new symbol.
1560 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
1561 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
1562 reset sections of symbols dragged out of the comdats.
9fdb837f
UB
1563 (function_and_variable_visibility): Reset sections of
1564 localized symbols.
da66d596 1565
9e9f6bf0
RB
15662014-06-16 Richard Biener <rguenther@suse.de>
1567
1568 PR tree-optimization/61482
1569 * tree-vrp.c (adjust_range_with_scev): Avoid setting of
1570 [-INF(OVF), +INF(OVF)] range.
1571
2bd4bfee
GG
15722014-06-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
1573
7964957f
AS
1574 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
1575 instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2bd4bfee
GG
1576 handling 32-bit multiplication.
1577
debd8f30
CLT
15782014-06-16 Chung-Lin Tang <cltang@codesourcery.com>
1579
1580 PR middle-end/61430
1581 * lra-lives.c (process_bb_lives): Skip creating copy during
1582 insn scan when src/dest has constrained to same regno.
1583
6192fa79
JH
15842014-06-15 Jan Hubicka <hubicka@ucw.cz>
1585
1586 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
1587 DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
1588
8946c29e
YG
15892014-06-16 Yury Gribov <y.gribov@samsung.com>
1590
1591 * asan.c (check_func): New function.
1592 (maybe_create_ssa_name): Likewise.
1593 (build_check_stmt_with_calls): Likewise.
1594 (use_calls_p): Likewise.
1595 (report_error_func): Change interface.
1596 (build_check_stmt): Allow non-integer lengths; add support
1597 for new parameter.
1598 (asan_instrument): Likewise.
7049aed6 1599 (instrument_mem_region_access): Moved code to build_check_stmt.
8946c29e
YG
1600 (instrument_derefs): Likewise.
1601 (instrument_strlen_call): Likewise.
7049aed6 1602 * cfgcleanup.c (old_insns_match_p): Add support for new functions.
8946c29e
YG
1603 * doc/invoke.texi: Describe new parameter.
1604 * params.def: Define new parameter.
1605 * params.h: Likewise.
1606 * sanitizer.def: Describe new builtins.
1607
5d5cb4d4
RB
16082014-06-16 Richard Biener <rguenther@suse.de>
1609
1610 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1611 Make all defs available at the end.
1612 (eliminate): If we remove a PHI node schedule cfg-cleanup.
1613
4e4fa3c5
JJ
16142014-06-18 Jakub Jelinek <jakub@redhat.com>
1615
1616 PR plugins/45078
1617 * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
1618
737c262e
RS
16192014-06-16 Richard Sandiford <rdsandiford@googlemail.com>
1620
1621 PR bootstrap/61516
1622 * auto-inc-dec.c (merge_in_block): Fix location of insn_info
1623 initialization. Replace remaining use of uid.
1624
56363ffd
JH
16252014-06-15 Jan Hubicka <hubicka@ucw.cz>
1626
7049aed6
UB
1627 * c-family/c-common.c (handle_tls_model_attribute): Use
1628 set_decl_tls_model.
5d5cb4d4
RB
1629 * c-family/c-common.c (handle_tls_model_attribute): Use
1630 set_decl_tls_model.
56363ffd
JH
1631 * cgraph.h (struct varpool_node): Add tls_model.
1632 * tree.c (decl_tls_model, set_decl_tls_model): New functions.
1633 * tree.h (DECL_TLS_MODEL): Update.
1634 (DECL_THREAD_LOCAL_P): Check that variable is static.
1635 (decl_tls_model): Declare.
1636 (set_decl_tls_model): Declare.
1637 * tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
1638 set symbol prorperties.
1639 (get_emutls_init_templ_addr): Cleanup.
1640 (new_emutls_decl): Update.
1641 * lto-cgraph.c (lto_output_varpool_node): Stream TLS model
1642 (lto_input_varpool_node): Likewise.
1643 * lto-streamer-out.c (hash_tree): Likewise.
1644 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
1645 not stream DECL_TLS_MODEL.
30256bef
UB
1646 * tree-profile.c (init_ic_make_global_vars): Use set_decl_tls_model.
1647 * tree-core.h (tree_decl_with_vis): Remove tls_model; update comments.
56363ffd 1648
3bb5c996
RS
16492014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1650
1651 * df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
1652
b512946c
RS
16532014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1654
1655 * df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
1656 (df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
1657 lists.
1658 (df_scan_bb_info): Likewise artificial_defs and artificial_uses.
1659 (DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
1660 (FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
1661 (FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
1662 (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
1663 (df_get_artificial_defs, df_get_artificial_uses)
1664 (df_single_def, df_single_use): Update accordingly.
1665 (df_refs_chain_dump): Take the first element in a linked list as
1666 parameter, rather than a pointer to an array of pointers.
1667 * df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
1668 * df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
1669 (df_chain_create_bb_process_use): Likewise.
1670 (df_md_bb_local_compute_process_def): Likewise.
1671 * fwprop.c (process_defs, process_uses): Likewise.
1672 (register_active_defs, update_uses): Likewise.
1673 (forward_propagate_asm): Update for new df_ref linking.
1674 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
1675 (df_null_ref_rec, df_null_mw_rec): Likewise.
1676 (df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
1677 explicitly.
1678 (df_scan_free_bb_info): Remove check for null artificial_defs.
1679 (df_install_ref_incremental): Adjust for new df_ref linking.
1680 Use a single-element insertion rather than a full sort.
1681 (df_ref_chain_delete_du_chain): Take the first element
1682 in a linked list as parameter, rather than a pointer to an array of
1683 pointers.
1684 (df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
1685 (df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
1686 (df_insn_info_delete): Remove check for null defs and call to
1687 df_scan_free_mws_vec.
1688 (df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
1689 null rather than df_null_*_rec.
1690 (df_insn_rescan_debug_internal): Likewise, and update null
1691 checks in the same way. Remove check for null defs.
1692 (df_ref_change_reg_with_loc_1): Fix choice of list for defs.
1693 Move a single element rather doing a full sort.
1694 (df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
1695 linking.
1696 (df_notes_rescan): Likewise. Use a merge rather than a full sort.
1697 Initialize df_ref and df_mw_hardreg lists to null rather than
1698 df_null_*_rec.
1699 (df_ref_compare): Take df_refs as parameter, transferring the
1700 old interface to...
1701 (df_ref_ptr_compare): ...this new function.
1702 (df_sort_and_compress_refs): Update accordingly.
1703 (df_mw_compare): Take df_mw_hardregs as parameter, transferring the
1704 old interface to...
1705 (df_mw_ptr_compare): ...this new function.
1706 (df_sort_and_compress_mws): Update accordingly.
1707 (df_install_refs, df_install_mws): Return a linked list rather than
1708 an array of pointers.
1709 (df_refs_add_to_chains): Assert that old lists are empty rather
1710 than freeing them.
1711 (df_insn_refs_verify): Don't handle null defs speciailly.
1712 * web.c (union_match_dups): Update for new df_ref linking.
1713
5a474220
RS
17142014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1715
1716 * df.h (df_ref_create, df_ref_remove): Delete.
1717 * df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
1718 (df_ref_remove): Likewise.
1719
74e59b6c
RS
17202014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1721
1722 * df.h (df_single_def, df_single_use): New functions.
1723 * ira.c (find_moveable_pseudos): Use them.
1724
fc8e9f58
RS
17252014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1726
1727 * df.h (FOR_EACH_INSN_INFO_MW): New macro.
1728 * df-problems.c (df_note_bb_compute): Use it.
1729 * regstat.c (regstat_bb_compute_ri): Likewise.
1730
292321a5
RS
17312014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1732
1733 * df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
1734 * cse.c (cse_extended_basic_block): Use them.
1735 * dce.c (mark_artificial_use): Likewise.
1736 * df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
1737 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
1738 (df_chain_remove_problem, df_chain_bb_dump): Likewise.
1739 (df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
1740 (df_simulate_initialize_backwards): Likewise.
1741 (df_simulate_finalize_backwards): Likewise.
1742 (df_simulate_initialize_forwards): Likewise.
1743 (df_md_simulate_artificial_defs_at_top): Likewise.
1744 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
1745 * regrename.c (init_rename_info): Likewise.
1746 * regstat.c (regstat_bb_compute_ri): Likewise.
1747 (regstat_bb_compute_calls_crossed): Likewise.
1748
bfac633a
RS
17492014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1750
1751 * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
1752 (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
1753 (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
1754 * auto-inc-dec.c (find_inc, merge_in_block): Use them.
1755 * combine.c (create_log_links): Likewise.
1756 * compare-elim.c (find_flags_uses_in_insn): Likewise.
1757 (try_eliminate_compare): Likewise.
1758 * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
1759 * dce.c (deletable_insn_p, find_call_stack_args): Likewise.
1760 (remove_reg_equal_equiv_notes_for_defs): Likewise.
1761 (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
1762 (word_dce_process_block, dce_process_block): Likewise.
1763 * ddg.c (def_has_ccmode_p): Likewise.
1764 * df-core.c (df_bb_regno_first_def_find): Likewise.
1765 (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
1766 * df-problems.c (df_rd_simulate_one_insn): Likewise.
1767 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
1768 (df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
1769 (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
1770 (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
1771 (df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
1772 (df_simulate_find_defs, df_simulate_find_uses): Likewise.
1773 (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
1774 (df_simulate_uses, df_md_simulate_one_insn): Likewise.
1775 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
1776 * fwprop.c (local_ref_killed_between_p): Likewise.
1777 (all_uses_available_at, free_load_extend): Likewise.
1778 * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
1779 * hw-doloop.c (scan_loop): Likewise.
1780 * ifcvt.c (dead_or_predicable): Likewise.
1781 * init-regs.c (initialize_uninitialized_regs): Likewise.
1782 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
1783 (process_bb_node_lives): Likewise.
1784 * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
1785 (find_moveable_pseudos): Likewise.
1786 * loop-invariant.c (check_dependencies, record_uses): Likewise.
1787 * recog.c (peep2_find_free_register): Likewise.
1788 * ree.c (get_defs): Likewise.
1789 * regstat.c (regstat_bb_compute_ri): Likewise.
1790 (regstat_bb_compute_calls_crossed): Likewise.
1791 * sched-deps.c (find_inc, find_mem): Likewise.
1792 * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
1793 (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
1794 * shrink-wrap.c (requires_stack_frame_p): Likewise.
1795 (prepare_shrink_wrap): Likewise.
1796 * store-motion.c (compute_store_table, build_store_vectors): Likewise.
1797 * web.c (union_defs, pass_web::execute): Likewise.
1798 * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
1799 (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
1800
9afb455c
VM
18012014-06-13 Vladimir Makarov <vmakarov@redhat.com>
1802
1803 * lra-assign.c (assign_by_spills): Add code to assign vector regs
1804 to inheritance pseudos.
1805 * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
1806
8241efd1
PB
18072014-06-13 Peter Bergner <bergner@vnet.ibm.com>
1808
1809 PR target/61415
1810 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
1811 (BU_MISC_2): Rename to ...
1812 (BU_LDBL128_2): ... this.
1813 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
1814 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
1815 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
1816 RS6000_BTM_LDBL128.
1817 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
1818 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
1819 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
1820 (unpacktf_1): Likewise.
1821 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
1822 (__builtin_longdouble_dw1): Likewise.
1823 * doc/sourcebuild.texi (longdouble128): Document.
1824
c7ece684
JL
18252014-06-13 Jeff Law <law@redhat.com>
1826
1827 PR rtl-optimization/61094
1828 PR rtl-optimization/61446
1829 * ree.c (combine_reaching_defs): Get the mode for the copy from
1830 the extension insn rather than the defining insn.
1831
8e96d784
DC
18322014-06-13 Dehao Chen <dehao@google.com>
1833
1834 * dwarf2out.c (add_linkage_name): Emit more linkage name.
1835
45b3824d
TS
18362014-06-13 Thomas Schwinge <thomas@codesourcery.com>
1837
1838 * doc/install.texi (--enable-linker-plugin-configure-flags)
1839 (--enable-linker-plugin-flags): Document new flags.
1840
beb683ab
MJ
18412014-06-13 Martin Jambor <mjambor@suse.cz>
1842
1843 PR ipa/61186
1844 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
1845 cache_token if returning early.
1846
f6c43824
NC
18472014-06-13 Nick Clifton <nickc@redhat.com>
1848
1849 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
1850 requested alignment is active.
1851 (LABEL_ALIGN): Likewise.
1852 (LOOP_ALIGN): Likewise.
1853
6aa4c5b6
RB
18542014-06-13 Richard Biener <rguenther@suse.de>
1855
1856 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1857 Rewrite to propagate the VN result into all uses where
1858 possible and to remove stmts becoming dead because of that.
1859 (eliminate): Generalize stmt removal handling, remove in
1860 reverse dominator order to support proper debug stmt
1861 generation. Update stmts before removing stmts.
7049aed6 1862 * tree-ssa-propagate.c (propagate_tree_value): Remove bogus assert.
6aa4c5b6 1863
ca6cbdca
TP
18642014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1865
1866 PR tree-optimization/61375
1867 * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
1868 symbolic number cannot be represented in an uint64_t.
1869 (find_bswap_or_nop_1): Likewise.
1870
24e49ea0
JH
18712014-06-12 Jan Hubicka <hubicka@ucw.cz>
1872
1873 * symtab.c (symtab_node::reset_section): New method.
1874 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
1875 for localization.
1876 * cgraph.h (reset_section): Declare.
1877 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
1878 do not consider comdat locals.
1879 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
1880 for new symbol.
1881 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
1882 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
1883 reset sections of symbols dragged out of the comdats.
7049aed6
UB
1884 (function_and_variable_visibility): Reset sections of
1885 localized symbols.
24e49ea0 1886
6ad386b7
JH
18872014-06-12 Jan Hubicka <hubicka@ucw.cz>
1888
1889 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
1890 to use symtab and decl_binds_to_current_def_p
1891 * tree-vectorizer.c (increase_alignment): Increase alignment
1892 of alias target, too.
1893
9cf32741
JJ
18942014-06-12 Jakub Jelinek <jakub@redhat.com>
1895
1896 PR middle-end/61486
1897 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
1898 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
1899 if outer combined construct is distribute.
1900 (gimplify_omp_for): For OMP_DISTRIBUTE set
1901 gimplify_omp_ctxp->distribute.
1902 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
1903 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
1904 mapping into decl map.
1905
ca0e51a0
JM
19062014-06-12 Jason Merrill <jason@redhat.com>
1907
1908 * common.opt (fabi-version): Change default to 0.
1909
90d84934
JM
19102014-06-12 Jason Merrill <jason@redhat.com>
1911
1912 * toplev.c (process_options): Reject -fabi-version=1.
1913
551a6341
JL
19142014-06-12 Jeff Law <law@redhat.com>
1915
7964957f 1916 PR tree-optimization/61009
551a6341
JL
1917 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
1918 value when we stop processing a block due to problematic PHIs.
1919
5eba0999
AL
19202014-06-12 Alan Lawrence <alan.lawrence@arm.com>
1921
1922 * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
1923 vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
1924 vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
1925 vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
1926 vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
1927 vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
7049aed6
UB
1928 vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they
1929 are not in the spec.
5eba0999 1930
ad7d90cc
AL
19312014-06-10 Alan Lawrence <alan.lawrence@arm.com>
1932
1933 PR target/59843
1934 * config/aarch64/aarch64-modes.def: Add V1DFmode.
1935 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
1936 Support V1DFmode.
1937
9c85aeb6
EB
19382014-06-12 Eric Botcazou <ebotcazou@adacore.com>
1939
1940 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
1941
c407027e
GJL
19422014-06-12 Georg-Johann Lay <avr@gjlay.de>
1943
1944 PR target/61443
1945 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
1946 loading from address spaces.
1947
3c9e6fca
ML
19482014-06-12 Martin Liska <mliska@suse.cz>
1949
1950 PR ipa/61462
1951 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
7964957f 1952 statement is reachable.
3c9e6fca 1953
f961457f
JH
19542014-06-11 Jan Hubicka <hubicka@ucw.cz>
1955
1956 * symtab.c (section_hash): New hash.
1957 (symtab_unregister_node): Clear section before freeing.
1958 (hash_section_hash_entry): New haser.
1959 (eq_sections): New function.
1960 (symtab_node::set_section_for_node): New method.
1961 (set_section_1): Update.
1962 (symtab_node::set_section): Take string instead of tree as parameter.
1963 (symtab_resolve_alias): Update.
1964 * cgraph.h (section_hash_entry_d): New structure.
1965 (section_hash_entry): New typedef.
1966 (cgraph_node): Change comdat_group_ to x_comdat_group,
1967 change section_ to x_section and turn into section_hash_entry;
1968 update accestors; put set_section_for_node offline.
1969 * tree.c (decl_section_name): Turn into string.
1970 (set_decl_section_name): Change parameter to be string.
1971 * tree.h (decl_section_name, set_decl_section_name): Update prototypes.
1972 * sdbout.c (sdbout_one_type): Update.
1973 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
9fdb837f
UB
1974 * varasm.c (IN_NAMED_SECTION, get_named_section,
1975 resolve_unique_section, hot_function_section, get_named_text_section,
7049aed6
UB
1976 USE_SELECT_SECTION_FOR_FUNCTIONS, default_function_rodata_section,
1977 make_decl_rtl, default_unique_section): Update.
f961457f
JH
1978 * config/c6x/c6x.c (c6x_in_small_data_p): Update.
1979 (c6x_elf_unique_section): Update.
1980 * config/nios2/nios2.c (nios2_in_small_data_p): Update.
1981 * config/pa/pa.c (pa_function_section): Update.
1982 * config/pa/pa.h (IN_NAMED_SECTION_P): Update.
1983 * config/ia64/ia64.c (ia64_in_small_data_p): Update.
1984 * config/arc/arc.c (arc_in_small_data_p): Update.
1985 * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
1986 * config/mcore/mcore.c (mcore_unique_section): Update.
1987 * config/mips/mips.c (mips16_build_function_stub): Update.
1988 (mips16_build_call_stub): Update.
1989 (mips_function_rodata_section): Update.
1990 (mips_in_small_data_p): Update.
1991 * config/score/score.c (score_in_small_data_p): Update.
1992 * config/rx/rx.c (rx_in_small_data): Update.
1993 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
1994 (rs6000_xcoff_asm_named_section): Update.
1995 (rs6000_xcoff_unique_section): Update.
1996 * config/frv/frv.c (frv_string_begins_with): Update.
1997 (frv_in_small_data_p): Update.
1998 * config/v850/v850.c (v850_encode_data_area): Update.
1999 * config/bfin/bfin.c (DECL_SECTION_NAME): Update.
2000 (bfin_handle_l1_data_attribute): Update.
2001 (bfin_handle_l2_attribute): Update.
2002 * config/mep/mep.c (mep_unique_section): Update.
7049aed6
UB
2003 * config/microblaze/microblaze.c (microblaze_elf_in_small_data_p):
2004 Update.
f961457f
JH
2005 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
2006 (h8300_handle_tiny_data_attribute): Update.
2007 * config/m32r/m32r.c (m32r_in_small_data_p): Update.
2008 (m32r_in_small_data_p): Update.
2009 * config/alpha/alpha.c (alpha_in_small_data_p): Update.
2010 * config/i386/i386.c (ix86_in_large_data_p): Update.
2011 * config/i386/winnt.c (i386_pe_unique_section): Update.
2012 * config/darwin.c (darwin_function_section): Update.
2013 * config/lm32/lm32.c (lm32_in_small_data_p): Update.
2014 * tree-emutls.c (get_emutls_init_templ_addr): Update.
2015 (new_emutls_decl): Update.
2016 * lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
2017 input_varpool_node): Update.
2018 (ead_string_cst): Turn to ...
2019 (read_string): ... this one.
2020 * dwarf2out.c (secname_for_decl): Update.
2021 * asan.c (asan_protect_global): Update.
2022
1704a72b
DD
20232014-06-11 DJ Delorie <dj@redhat.com>
2024
1cf1574d
DD
2025 * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
2026 cache lines.
2027 * config/rx/rx.c (rx_option_override): Likewise.
2028 (rx_align_for_label): Likewise.
2029
1704a72b
DD
2030 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
2031
37251385
MR
20322014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
2033
2034 * config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
2035 prototype.
2036
8677664e
RS
20372014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2038
2039 * common.md: New file.
2040 * doc/md.texi: Update description of generic, machine-independent
2041 constraints.
2042 * config/s390/constraints.md (e): Delete.
2043 * Makefile.in (md_file): Include common.md.
2044 * config/m32c/t-m32c (md_file): Likewise.
2045 * genpreds.c (general_mem): New array.
2046 (generic_constraint_letters): Remove constraints now defined by
2047 common.md.
2048 (add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
2049 Allow the first character to be '<' or '>' as well.
2050 * genoutput.c (general_mem): New array.
2051 (indep_constraints): Remove constraints now defined by common.md.
2052 (note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
2053 Remove special handling of 'm'.
2054 * ira-costs.c (record_reg_classes): Remove special handling of
2055 constraints now defined by common.md.
2056 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
2057 * ira-lives.c (single_reg_class): Likewise.
2058 (ira_implicitly_set_insn_hard_regs): Likewise.
2059 * lra-constraints.c (reg_class_from_constraints): Likewise.
2060 (process_alt_operands, process_address, curr_insn_transform): Likewise.
2061 * postreload.c (reload_cse_simplify_operands): Likewise.
2062 * reload.c (push_secondary_reload, scratch_reload_class)
2063 (find_reloads, alternative_allows_const_pool_ref): Likewise.
2064 * reload1.c (maybe_fix_stack_asms): Likewise.
2065 * targhooks.c (default_secondary_reload): Likewise.
2066 * stmt.c (parse_output_constraint): Likewise.
2067 * recog.c (preprocess_constraints): Likewise.
2068 (constrain_operands, peep2_find_free_register): Likewise.
2069 (asm_operand_ok): Likewise, but add a comment saying why 'o'
2070 must be handled specially.
2071
7fd308cf
RS
20722014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2073
2074 * system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
2075 * genpreds.c (have_const_dbl_constraints): Delete.
2076 (add_constraint): Don't set it.
2077 (write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
2078 * ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
2079 constraints using the lookup_constraint logic.
2080 * ira-lives.c (single_reg_class): Likewise.
2081 * ira.c (ira_setup_alts): Likewise.
2082 * lra-constraints.c (process_alt_operands): Likewise.
2083 * recog.c (asm_operand_ok, constrain_operands): Likewise.
2084 * reload.c (find_reloads): Likewise.
2085
d9c35eee
RS
20862014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2087
2088 * genpreds.c (const_int_start, const_int_end): New variables.
2089 (choose_enum_order): Output CONST_INT constraints before memory
2090 constraints.
2091 (write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
2092 Add CT_CONST_INT.
2093 * ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
2094 * ira.c (ira_setup_alts): Likewise.
2095 * lra-constraints.c (process_alt_operands): Likewise.
2096 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2097 * reload.c (find_reloads): Likewise.
2098
3c4c42e8
RS
20992014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2100
2101 * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
2102 decmem_ok and incmem_ok. Reformat other bitfields for consistency.
2103 * recog.c (preprocess_constraints): Update accordingly.
2104
777e635f
RS
21052014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2106
2107 * system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
2108 (REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
2109 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
2110 * genpreds.c (print_type_tree): New function.
2111 (write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
2112 REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
2113 EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
2114 Write out enum constraint_type and get_constraint_type.
2115 * lra-constraints.c (satisfies_memory_constraint_p): Take a
2116 constraint_num rather than a constraint string.
2117 (satisfies_address_constraint_p): Likewise.
2118 (reg_class_from_constraints): Avoid old constraint macros.
2119 (process_alt_operands, process_address_1): Likewise.
2120 (curr_insn_transform): Likewise.
2121 * ira-costs.c (record_reg_classes): Likewise.
2122 (record_operand_costs): Likewise.
2123 * ira-lives.c (single_reg_class): Likewise.
2124 (ira_implicitly_set_insn_hard_regs): Likewise.
2125 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
2126 * postreload.c (reload_cse_simplify_operands): Likewise.
2127 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2128 (constrain_operands, peep2_find_free_register): Likewise.
2129 * reload.c (push_secondary_reload, scratch_reload_class): Likewise.
2130 (find_reloads, alternative_allows_const_pool_ref): Likewise.
2131 * reload1.c (maybe_fix_stack_asms): Likewise.
2132 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2133 * targhooks.c (default_secondary_reload): Likewise.
2134 * config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
2135 to EXTRA_CONSTRAINT_STR.
2136 * config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
2137
9e6b7874
RS
21382014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2139
2140 * genpreds.c (write_constraint_satisfied_p_1): Replace with...
2141 (write_constraint_satisfied_p_array): ...this new function.
2142 (write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
2143 an array.
2144 (write_insn_preds_c): Update accordingly.
2145
16a26e42
RS
21462014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2147
2148 * genpreds.c (write_lookup_constraint): Rename to...
2149 (write_lookup_constraint_1): ...this.
2150 (write_lookup_constraint_array): New function.
2151 (write_tm_preds_h): Define lookup_constraint as an inline function
2152 that uses write_lookup_constraint_array where possible.
2153 (write_insn_preds_c): Update for the changes above.
2154
2aeedf58
RS
21552014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2156
2157 * doc/md.texi (regclass_for_constraint): Rename to...
2158 (reg_class_for_constraint): ...this.
2159 * genpreds.c (num_constraints, enum_order, register_start)
2160 (register_end, satisfied_start, memory_start, memory_end)
2161 (address_start, address_end): New variables.
2162 (add_constraint): Count the number of constraints.
2163 (choose_enum_order): New function.
2164 (write_enum_constraint_num): Iterate over enum_order.
2165 (write_regclass_for_constraint): Rename to...
2166 (write_reg_class_for_constraint_1): ...this and update output
2167 accordingly.
2168 (write_constraint_satisfied_p): Rename to...
2169 (write_constraint_satisfied_p_1): ...this and update output
2170 accordingly. Do nothing if all extra constraints are register
2171 constraints.
2172 (write_insn_extra_memory_constraint): Delete.
2173 (write_insn_extra_address_constraint): Delete.
2174 (write_range_function): New function.
2175 (write_tm_preds_h): Define constraint_satisfied_p and
2176 reg_class_for_constraint as inline functions that do a range check
2177 before calling the out-of-line function. Use write_range_function
2178 to implement insn_extra_{register,memory,address}_constraint,
2179 the first of which is new.
2180 (write_insn_preds_c): Update after above changes to write_* functions.
2181 (main): Call choose_enum_order.
2182
698ff107
TP
21832014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
2184
2185 PR tree-optimization/61306
2186 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
2187 expression instead of its size.
2188 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
2189 false to prevent optimization when the result is unpredictable due to
2190 arithmetic right shift of signed type with highest byte is set.
2191 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
2192 (init_symbolic_number): Likewise.
2193 (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
2194 when the result is unpredictable due to sign extension.
2195
1d02d8b8
TG
21962014-06-11 Terry Guo <terry.guo@arm.com>
2197
2198 * config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
2199 (*thumb1_addsi3): Ditto.
2200 (*thumb_subdi3): Ditto.
2201 (thumb1_subsi3_insn): Ditto.
2202 (*thumb_mulsi3): Ditto.
2203 (*thumb_mulsi3_v6): Ditto.
2204 (*thumb1_andsi3_insn): Ditto.
2205 (thumb1_bicsi3): Ditto.
2206 (*thumb1_iorsi3_insn): Ditto.
2207 (*thumb1_xorsi3_insn): Ditto.
2208 (*thumb1_ashlsi3): Ditto.
2209 (*thumb1_ashrsi3): Ditto.
2210 (*thumb1_lshrsi3): Ditto.
2211 (*thumb1_rotrsi3): Ditto.
2212 (*thumb1_negdi2): Ditto.
2213 (*thumb1_negsi2): Ditto.
2214 (*thumb1_abssi2): Ditto.
2215 (*thumb1_neg_abssi2): Ditto.
2216 (*thumb1_one_cmplsi2): Ditto.
2217 (*thumb1_zero_extendhisi2): Ditto.
2218 (*thumb1_zero_extendqisi2): Ditto.
2219 (*thumb1_zero_extendqisi2_v6): Ditto.
2220 (thumb1_extendhisi2): Ditto.
2221 (thumb1_extendqisi2): Ditto.
2222 (*thumb1_movdi_insn): Ditto.
2223 (*thumb1_movsi_insn): Ditto.
2224 (*thumb1_movhi_insn): Ditto.
2225 (thumb_movhi_clobber): Ditto.
2226 (*thumb1_movqi_insn): Ditto.
2227 (*thumb1_movhf): Ditto.
2228 (*thumb1_movsf_insn): Ditto.
2229 (*thumb_movdf_insn): Ditto.
2230 (movmem12b): Ditto.
2231 (movmem8b): Ditto.
2232 (cbranchqi4): Ditto.
2233 (cbranchsi4_insn): Ditto.
2234 (cbranchsi4_scratch): Ditto.
2235 (*negated_cbranchsi4): Ditto.
2236 (*tbit_cbranch): Ditto.
2237 (*tlobits_cbranch): Ditto.
2238 (*tstsi3_cbranch): Ditto.
2239 (*cbranchne_decr1): Ditto.
2240 (*addsi3_cbranch): Ditto.
2241 (*addsi3_cbranch_scratch): Ditto.
2242 (*thumb_cmpdi_zero): Ditto.
2243 (cstoresi_eq0_thumb1): Ditto.
2244 (cstoresi_ne0_thumb1): Ditto.
2245 (*cstoresi_eq0_thumb1_insn): Ditto.
2246 (*cstoresi_ne0_thumb1_insn): Ditto.
2247 (cstoresi_nltu_thumb1): Ditto.
2248 (cstoresi_ltu_thumb1): Ditto.
2249 (thumb1_addsi3_addgeu): Ditto.
2250 (*thumb_jump): Ditto.
2251 (*call_reg_thumb1_v5): Ditto.
2252 (*call_reg_thumb1): Ditto.
2253 (*call_value_reg_thumb1_v5): Ditto.
2254 (*call_value_reg_thumb1): Ditto.
2255 (*call_insn): Ditto.
2256 (*call_value_insn): Ditto.
2257 (thumb1_casesi_internal_pic): Ditto.
2258 (thumb1_casesi_dispatch): Ditto.
2259 (*thumb1_indirect_jump): Ditto.
2260 (prologue_thumb1_interwork): Ditto.
2261 (*epilogue_insns): Ditto.
2262 (consttable_1): Ditto.
2263 (consttable_2): Ditto.
2264 (tablejump): Ditto.
2265 (*thumb1_tablejump): Ditto.
2266 (thumb_eh_return): Ditto.
2267 (define_peephole2): Two of them are thumb1 only and got moved into
2268 new file thumb1.md.
2269 (define_split): Six of them are thumb1 only and got moved into new
2270 file thumb1.md.
2271 * config/arm/thumb1.md: New file comprised of above thumb1 only
2272 patterns.
2273
5d357f26
KT
22742014-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2275
2276 * config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
2277 * Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
2278 dependencies.
2279 * config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
2280 (aarch64_crc_builtin_datum): New struct.
2281 (aarch64_crc_builtin_data): New.
2282 (aarch64_init_crc32_builtins): New function.
2283 (aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
2284 (aarch64_crc32_expand_builtin): New.
2285 (aarch64_expand_builtin): Add CRC32 builtin expansion case.
2286 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
2287 __ARM_FEATURE_CRC32 when appropriate.
2288 (TARGET_CRC32): Define.
2289 * config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
2290 UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
2291 UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
2292 (aarch64_<crc_variant>): New pattern.
2293 * config/aarch64/arm_acle.h: New file.
2294 * config/aarch64/iterators.md (CRC): New int iterator.
2295 (crc_variant, crc_mode): New int attributes.
2296 * doc/aarch64-acle-intrinsics.texi: New file.
2297 * doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
2298 Include aarch64-acle-intrinsics.texi.
2299
e1377713
ES
23002014-06-11 Evgeny Stupachenko <evstupac@gmail.com>
2301
2302 * tree-vect-data-refs.c (vect_grouped_store_supported): New
2303 check for stores group of length 3.
2304 (vect_permute_store_chain): New permutations for stores group of
2305 length 3.
2306 * tree-vect-stmts.c (vect_model_store_cost): Change cost
2307 of vec_perm_shuffle for the new permutations.
2308
862b3da6
JH
23092014-06-11 Jan Hubicka <hubicka@ucw.cz>
2310
7049aed6
UB
2311 * ipa-visibility.c (function_and_variable_visibility): Disable virtual
2312 table rewriting temporarily on targets not supporting ONE_ONLY.
862b3da6 2313
96a3f4df
RB
23142014-06-11 Richard Biener <rguenther@suse.de>
2315
2316 PR middle-end/61437
2317 Revert
2318 2014-06-04 Richard Biener <rguenther@suse.de>
2319
2320 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
2321 TREE_PUBLIC and DECL_EXTERNAL decls.
2322
e257a17c
JH
23232014-06-10 Jan Hubicka <hubicka@ucw.cz>
2324
2325 * varasm.c (set_implicit_section): New function.
2326 (resolve_unique_section): Use it to set implicit section
2327 for aliases, too.
2328 (get_named_text_section): Use symtab_get_node (decl)->implicit_section
2329 (default_function_section): Likewise.
2330 (decl_binds_to_current_def_p): Constify argument.
2331 * varasm.h (decl_binds_to_current_def_p): Update prototype.
96a3f4df
RB
2332 * asan.c (asan_protect_global): Use
2333 symtab_get_node (decl)->implicit_section.
e257a17c
JH
2334 * symtab.c (dump_symtab_base): Dump implicit sections.
2335 (verify_symtab_base): Verify sanity of sectoins and comdats.
2336 (symtab_resolve_alias): Alias share the section of its target.
2337 (set_section_1): New function.
2338 (symtab_node::set_section): Move here, recurse to aliases.
2339 (verify_symtab): Check for duplicated symtab lists.
2340 * tree-core.h (implicit_section_name_p): Remove.
2341 * tree-vect-data-refs.c: Include varasm.h.
2342 (vect_can_force_dr_alignment_p): Fix conditional on when
2343 decl bints to current definition; use
2344 symtab_get_node (decl)->implicit_section.
2345 * cgraph.c (cgraph_make_node_local_1): Fix section set.
2346 * cgraph.h (struct symtab_node): Add implicit_section.
2347 (set_section): Rename to ...
2348 (set_section_for_node): ... this one.
2349 (set_section): Declare.
2350 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
2351 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
2352 input_overwrite_node, input_varpool_node): Stream implicit_section.
2353 * ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
2354 removal; it will fail in LTO.
2355
d7256bb8
KT
23562014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2357
2358 * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
2359 Change second alternative type to f_mcr.
2360 * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
2361 and 12th alternatives' types to f_mcr and f_mrc.
2362 (*movdi_aarch64): Same for 12th and 13th alternatives.
2363 (*movsf_aarch64): Change 9th alternatives' type to mov_reg.
2364 (aarch64_movtilow_tilow): Change type to fmov.
2365
dadf084c
JW
23662014-06-10 Jiong Wang <jiong.wang@arm.com>
2367
2368 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
2369 (aarch64_save_or_restore_callee_save_registers): Fix layout.
2370
2a74759f
KT
23712014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2372
2373 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
2374 New expander.
2375 (aarch64_sqrdmulh_lane<mode>): Likewise.
2376 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
2377 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
2378 (aarch64_sqdmulh_laneq<mode>): New expander.
2379 (aarch64_sqrdmulh_laneq<mode>): Likewise.
2380 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
2381 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
2382 (aarch64_sqdmulh_lane<mode>): New expander.
2383 (aarch64_sqrdmulh_lane<mode>): Likewise.
2384 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
2385 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
2386 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
2387 (aarch64_sqdmlal_laneq<mode>): Likewise.
2388 (aarch64_sqdmlsl_lane<mode>): Likewise.
2389 (aarch64_sqdmlsl_laneq<mode>): Likewise.
2390 (aarch64_sqdmlal2_lane<mode>): Likewise.
2391 (aarch64_sqdmlal2_laneq<mode>): Likewise.
2392 (aarch64_sqdmlsl2_lane<mode>): Likewise.
2393 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
2394 (aarch64_sqdmull_lane<mode>): Likewise.
2395 (aarch64_sqdmull_laneq<mode>): Likewise.
2396 (aarch64_sqdmull2_lane<mode>): Likewise.
2397 (aarch64_sqdmull2_laneq<mode>): Likewise.
2398
b82ef848
RB
23992014-06-10 Richard Biener <rguenther@suse.de>
2400
2401 PR tree-optimization/61438
2402 * tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
2403 (eliminate_dom_walker::before_dom_children): Only try to inhibit
2404 insertion of IVs if running PRE.
2405 (eliminate): Adjust.
2406 (pass_pre::execute): Likewise.
2407 (pass_fre::execute): Likewise.
2408
cdf0ab72
RB
24092014-06-10 Richard Biener <rguenther@suse.de>
2410
2411 PR middle-end/61456
2412 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
2413 Do not use the main variant for the type comparison.
2414 (ncr_compar): Likewise.
2415 (nonoverlapping_component_refs_p): Likewise.
2416
e29b8d5b
MS
24172014-06-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
2418
2419 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
2420 REG_CFA_RESTORE mode.
2421
6ba197c1
ES
24222014-06-10 Evgeny Stupachenko <evstupac@gmail.com>
2423
2424 * config/i386/i386.c (expand_vec_perm_pblendv): New.
2425 * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
2426 expand_vec_perm_pblendv.
2427
87ee52ef
KT
24282014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2429
2430 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
2431 available.
2432 Simplify description of __crc32d and __crc32cd intrinsics.
2433 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
2434 availability.
2435
35fa894a
TS
24362014-06-10 Thomas Schwinge <thomas@codesourcery.com>
2437
2438 PR lto/61334
9fdb837f 2439 * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype.
35fa894a
TS
2440 * config.in: Regenerate.
2441 * configure: Likewise.
2442
1685ecf3
JH
24432014-06-10 Jan Hubicka <hubicka@ucw.cz>
2444
7049aed6
UB
2445 * ipa-reference.c (is_proper_for_analysis): Exclude addressable
2446 and public vars.
1685ecf3
JH
2447 (intersect_static_var_sets): Remove.
2448 (propagate): Do not prune local statics.
2449
92d28cbb
JJ
24502014-06-10 Jakub Jelinek <jakub@redhat.com>
2451
2452 PR fortran/60928
2453 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
2454 Set lastprivate_firstprivate even if omp_private_outer_ref
2455 langhook returns true.
2456 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
2457 langhook, call unshare_expr on new_var and call
2458 build_outer_var_ref to get the last argument.
2459
c9f2b7e9
MP
24602014-06-10 Marek Polacek <polacek@redhat.com>
2461
2462 PR c/60988
2463 * doc/extend.texi: Add cindex for transparent_union.
2464
2cfa504a
TP
24652014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
2466
2467 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
2468 init_symbolic_number ().
2469
748e88da
JDA
24702014-05-18 John David Anglin <danglin@gcc.gnu.org>
2471
2472 PR middle-end/61141
2473 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
2474 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
7964957f 2475 (verify_rtl_sharing): Likewise.
748e88da 2476
00f30445
MG
24772014-06-09 Marc Glisse <marc.glisse@inria.fr>
2478
2479 PR c++/54442
2480 * tree.c (build_qualified_type): Use a canonical type for
2481 TYPE_CANONICAL.
2482
545fb0e8
RR
24832014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2484
2485 * config/arm/arm-modes.def: Remove XFmode.
2486
842cbb73
AL
24872014-06-09 Alan Lawrence <alan.lawrence@arm.com>
2488
2489 PR target/61062
2490 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
2491 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
7049aed6
UB
2492 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
2493 vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
2494 vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
2495 vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
2496 vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
2497 vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
2498 vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
842cbb73 2499
8de98ad4
JH
25002014-06-09 Jan Hubicka <hubicka@ucw.cz>
2501
2502 * tree-core.h (tree_decl_with_vis): Remove section_name.
2503
001010df
KC
25042014-06-09 Kito Cheng <kito@0xlab.org>
2505
2506 * ira.c (ira): Don't call init_caller_save if LRA enabled
2507 since LRA use its own infrastructure to handle that.
2508
24d047a3
JH
25092014-06-07 Jan Hubicka <hubicka@ucw.cz>
2510
2511 * symtab.c (dump_symtab_base): Update dumping.
2512 (symtab_make_decl_local): Clear only DECL_COMDAT.
2513 * tree-vect-data-refs.c (Check that variable is static before
2514 tampering with sections.
2515 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
2516 (cgraph_create_virtual_clone): Likewise.
2517 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
2518 (decl_section_name, set_decl_section_name): New accessors.
2519 (find_decls_types_r): Do not walk section name
7049aed6 2520 * tree.h (DECL_SECTION_NAME): Implement using decl_section_name.
24d047a3
JH
2521 (decl_comdat_group, decl_comdat_group_id): Constify.
2522 (decl_section_name, set_decl_section_name): Update.
7049aed6 2523 * varpool.c (varpool_finalize_named_section_flags): Use get_section.
24d047a3
JH
2524 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
2525 (cgraph_make_node_local_1): Clear section and comdat group.
2526 * cgraph.h (set_comdat_group): Sanity check.
2527 (get_section, set_section): New.
2528 * ipa-comdats.c (ipa_comdats): Use get_section.
2529 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
2530 * lto-streamer-out.c: Do not follow section names.
7049aed6 2531 * c-family/c-common.c (handle_section_attribute): Update.
24d047a3
JH
2532 * lto-cgraph.c (lto_output_node): Output section.
2533 (lto_output_varpool_node): Likewise.
2534 (read_comdat_group): Rename to ...
2535 (read_identifier): ... this one.
2536 (read_string_cst): New function.
2537 (input_node, input_varpool_node): Input section names.
2538 * tree-emutls.c (get_emutls_init_templ_addr): Update.
2539 (new_emutls_decl): Update.
7049aed6 2540 (secname_for_decl): Check section names only of static vars.
24d047a3
JH
2541 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
2542 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
2543 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
2544 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
2545 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
2546 * config/mcore/mcore.c (mcore_unique_section): Likewise.
2547 * config/mips/mips.c (mips16_build_function_stub): Likewise.
2548 * config/v850/v850.c (v850_insert_attributes): Likewise.
7049aed6 2549 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
24d047a3
JH
2550 Likewise.
2551 (h8300_handle_tiny_data_attribute): Likewise.
2552 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
2553 (bfin_handle_l2_attribute): Likewise.
2554
80bc9b6e
JH
25552014-06-07 Jan Hubicka <hubicka@ucw.cz>
2556
2557 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
2558 remove static initializer.
2559
684a3aa7
JH
25602014-06-07 Jan Hubicka <hubicka@ucw.cz>
2561
7049aed6
UB
2562 * varasm.c (use_blocks_for_decl_p): Check symbol table
2563 instead of alias attribute.
684a3aa7
JH
2564 (place_block_symbol): Recurse on aliases.
2565
94c2e46c
JH
25662014-06-07 Jan Hubicka <hubicka@ucw.cz>
2567
2568 * ipa-visibility.c: Include varasm.h
2569 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
2570
136a5f45
JH
25712014-06-07 Jan Hubicka <hubicka@ucw.cz>
2572
2573 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
2574 outputting aliases.
2575
0dbaf51e
SB
25762014-06-07 Steven Bosscher <steven@gcc.gnu.org>
2577
7964957f 2578 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
0dbaf51e
SB
2579 from test_insn into GGC space escape via SET_SRC.
2580
51d2abeb
EB
25812014-06-07 Eric Botcazou <ebotcazou@adacore.com>
2582
2583 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
2584 call statement, if any.
2585 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
2586 statements, if any. Tidy up.
2587
b528fc5c
MM
25882014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
2589
2590 PR target/61431
2591 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
2592 iterators, VSX_D that handles 64-bit types, and VSX_LE that
2593 handles swapping the two 64-bit double words on little endian
2594 systems. Include V1TImode and optionally TImode in VSX_LE so that
2595 these types are properly swapped. Change all of the insns and
2596 splits that do the 64-bit swaps to use VSX_LE.
2597 (vsx_le_perm_load_<mode>): Likewise.
2598 (vsx_le_perm_store_<mode>): Likewise.
2599 (splitters for little endian memory operations): Likewise.
2600 (vsx_xxpermdi2_le_<mode>): Likewise.
2601 (vsx_lxvd2x2_le_<mode>): Likewise.
2602 (vsx_stxvd2x2_le_<mode>): Likewise.
2603
7b11cab7
UB
26042014-06-06 Uros Bizjak <ubizjak@gmail.com>
2605
2606 PR target/61423
2607 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
2608 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
2609 and corresponding splitters. Zero extend general register
2610 or memory input operand to XMM temporary. Enable for
2611 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
2612 (floatunssi<mode>2): Update expander predicate.
2613
5a770e01
VM
26142014-06-06 Vladimir Makarov <vmakarov@redhat.com>
2615
2616 PR rtl-optimization/61325
2617 * lra-constraints.c (process_address_1): Check scale equal to one
2618 to prevent transformation: base + scale * index => base + new_reg.
2619
acce8ce3
RB
26202014-06-06 Richard Biener <rguenther@suse.de>
2621
2622 PR tree-optimization/59299
2623 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
2624 a def operand.
2625 (nearest_common_dominator_of_uses): Likewise.
2626 (statement_sink_location): Adjust. Support sinking loads.
2627
0d48ee34
MJ
26282014-06-06 Martin Jambor <mjambor@suse.cz>
2629
2630 * ipa-prop.c (get_place_in_agg_contents_list): New function.
2631 (build_agg_jump_func_from_list): Likewise.
2632 (determine_known_aggregate_parts): Renamed to
2633 determine_locally_known_aggregate_parts. Moved some functionality
2634 to the two functions above, removed bound checks.
2635
e2c75eea
JG
26362014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
2637
2638 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
2639 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
2640 (aarch64_progress_pointer): Likewise.
2641 (aarch64_copy_one_part_and_move_pointers): Likewise.
2642 (aarch64_expand_movmen): Likewise.
2643 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
2644 * config/aarch64/aarch64.md (movmem<mode>): New.
2645
58e5400a
BM
26462014-06-06 Bingfeng Mei <bmei@broadcom.com>
2647
2648 * targhooks.c (default_add_stmt_cost): Call target specific
2649 hook instead of default one.
2650
58126368
TP
26512014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
2652
2653 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
2654 endianness instead of host endianness.
2655 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
2656 comments.
2657
3fd48b12
EB
26582014-06-06 Eric Botcazou <ebotcazou@adacore.com>
2659
2660 PR debug/53927
2661 * function.c (instantiate_decls): Process the saved static chain.
2662 (expand_function_start): If not optimizing, save the static chain
2663 onto the stack.
2664 * tree-nested.c (convert_all_function_calls): Always create the static
2665 chain for nested functions if not optimizing.
2666
9b7a11e1
EB
26672014-06-06 Eric Botcazou <ebotcazou@adacore.com>
2668
2669 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
2670
726338f4
RB
26712014-06-06 Richard Biener <rguenther@suse.de>
2672
2673 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
2674 (construct_init_block): Likewise.
2675 (construct_exit_block): Likewise.
2676 (pass_expand::execute): Likewise.
2677 * graphite.c (graphite_transforms): Replace check for current_loops
2678 with a check for > 1 loops.
2679 (pass_graphite_transforms::execute): Adjust.
2680 * ipa-split.c (split_function): Remove check for current_loops.
2681 * omp-low.c (expand_parallel_call): Likewise.
2682 (expand_omp_for_init_counts): Likewise.
2683 (extract_omp_for_update_vars): Likewise.
2684 (expand_omp_for_generic): Likewise.
2685 (expand_omp_sections): Likewise.
2686 (expand_omp_target): Likewise.
2687 * tracer.c (tail_duplicate): Likewise.
2688 (pass_tracer::execute): Likewise.
2689 * trans-mem.c (expand_transaction): Likewise.
2690 * tree-complex.c (expand_complex_div_wide): Likewise.
2691 * tree-eh.c (lower_resx): Likewise.
2692 (cleanup_empty_eh_merge_phis): Likewise.
2693 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
2694 current_loops with a check for > 1 loops.
2695 (pass_predcom::execute): Adjust.
2696 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
2697 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
2698 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
2699 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
2700 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
2701 * tree-switch-conversion.c (process_switch): Likewise.
2702 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
2703 * tree-vrp.c (vrp_visit_phi_node): Likewise.
2704 (execute_vrp): Likewise.
2705 * ubsan.c (ubsan_expand_null_ifn): Likewise.
2706
ffa4602f
EB
27072014-06-06 Eric Botcazou <ebotcazou@adacore.com>
2708
2709 * rtl.h (insn_location): Declare.
2710 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
2711 with UNKNOWN_LOCATION.
2712 * emit-rtl.c (insn_location): New function.
2713 * final.c (notice_source_line): Check that the instruction has a
2714 location before retrieving it and use insn_location.
2715 * modulo-sched.c (loop_single_full_bb_p): Likewise.
2716 * print-rtl.c (print_rtx): Likewise.
2717
28a4a292
RB
27182014-06-06 Richard Biener <rguenther@suse.de>
2719
2720 * passes.def: Move 2nd VRP pass before phi-only-cprop.
2721
d969f3c1
CB
27222014-06-06 Christian Bruel <christian.bruel@st.com>
2723
2724 PR tree-optimization/43934
28a4a292
RB
2725 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
2726 cost.
d969f3c1 2727
b58923e2
RS
27282014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
2729
2730 * ira-lives.c (single_reg_class): Add missing break. Explicitly
2731 return NO_REGS for extra address and memory constraints. Handle
2732 operands that match (or are equivalent to something that matches)
2733 extra constant constraints. Ignore other non-register operands.
2734
ddbb449f
AM
27352014-06-06 Alan Modra <amodra@gmail.com>
2736
2737 PR target/61300
2738 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
2739 * doc/tm.texi: Regenerate.
2740 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
2741 Use throughout in place of REG_PARM_STACK_SPACE.
2742 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
2743 "incoming" param. Pass to rs6000_function_parms_need_stack.
2744 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
2745 prototype_p when incoming. Use function decl when incoming
2746 to handle K&R style functions.
2747 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
2748 (INCOMING_REG_PARM_STACK_SPACE): Define.
2749
a148c4b2
SKS
27502014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2751
2752 PR target/52472
2753 * cfgexpand.c (expand_debug_expr): Use address space of nested
2754 TREE_TYPE for ADDR_EXPR and MEM_REF.
2755
64e13bcd
JL
27562014-06-05 Jeff Law <law@redhat.com>
2757
2758 PR tree-optimization/61289
2759 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
2760 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
2761 looking for those which match LHS. All callers changed.
2762 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
2763 parameters and code which manipulated them. All callers changed.
2764 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
2765 and DST_MAP parameters. Simplify invalidation code by just calling
2766 invalidate_equivalences. All callers changed.
2767 (thread_across_edge): Simplify now that we don't need to maintain
2768 the map of equivalences to invalidate.
2769
5853e181
KT
27702014-06-05 Kai Tietz <ktietz@redhat.com>
2771 Richard Henderson <rth@redhat.com>
2772
2773 PR target/46219
2774 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
2775 checking for !TARGET_X32.
2776 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
2777 (sibcall_intern): New define_insn, plus required peepholes.
2778 (sibcall_pop_intern): Likewise.
2779 (sibcall_value_intern): Likewise.
2780 (sibcall_value_pop_intern): Likewise.
2781
95cc0a1a
IE
27822014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
2783
2784 * tree-inline.c (tree_function_versioning): Check DF info existence
2785 before accessing it.
2786
1c960e02
MS
27872014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
2788
2789 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
2790 frame_size.
2791 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
2792 aarch64_frame hard_fp_offset and frame_size.
2793 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
2794 frame_size; remove original_frame_size.
2795 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
2796 (aarch64_initial_elimination_offset): Remove frame_size and
2797 offset. Use aarch64_frame frame_size.
2798
2e1cdae5
MS
27992014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
2800 Jiong Wang <jiong.wang@arm.com>
4a450ea0 2801 Renlin <renlin.li@arm.com>
2e1cdae5
MS
2802
2803 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
2804 initialization of R30 offset. Update offset. Iterate core
2805 regisers upto X30. Remove X29, X30 specific code.
2806
97826595
MS
28072014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
2808 Jiong Wang <jiong.wang@arm.com>
2809
2810 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
2811 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
2812 (aarch64_register_saved_on_entry): Adjust test.
2813
8799637a
MS
28142014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
2815
2816 * config/aarch64/aarch64.h (machine_function): Move
2817 saved_varargs_size from here...
4a450ea0 2818 (aarch64_frame): ... to here.
8799637a
MS
2819
2820 * config/aarch64/aarch64.c (aarch64_expand_prologue)
2821 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
2822 (aarch64_initial_elimination_offset)
2823 (aarch64_setup_incoming_varargs): Adjust location of
2824 saved_varargs_size.
2825
34834420
MS
28262014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
2827
2828 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
2829 layout comment.
2830
aaaa9efc
JP
28312014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
2832 Prachi Godbole <Prachi.Godbole@imgtec.com>
2833
2834 * config/mips/mips-cpus.def: Add definition for p5600. Updated
2835 mips32r5 entry to use PROCESSOR_P5600.
2836 * config/mips/mips-tables.opt: Regenerate.
2837 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
2838 * config/mips/mips.c (mips_fmadd_bypass): New function.
2839 (mips_rtx_cost_data): Add costs for p5600.
2840 (mips_issue_rate): Add support for p5600.
2841 (mips_multipass_dfa_lookahead): Likewise.
2842 * config/mips/mips.h (TUNE_P5600): New define.
2843 (TUNE_MACC_CHAINS): Add TUNE_P5600.
2844 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
2845 * config/mips/mips.md: Include p5600.md.
2846 (processor): Add p5600.
2847 * config/mips/p5600.md: New file.
2848
edbb0749
ES
28492014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
2850
2851 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
2852 * config/i386/predicates.md (palignr_operand): New.
2853 Indicates if permutation is suitable for palignr instruction.
2854
e12355ef
YR
28552014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
2856
2857 PR tree-optimization/61319
2858 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
2859 stmt belongs to loop.
2860
947ca6a0
RB
28612014-06-05 Richard Biener <rguenther@suse.de>
2862
2863 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
2864 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
2865 (lookup_tmp_var): Adjust.
2866 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
2867
63e70d3c
RR
28682014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2869
2870 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
2871
742938c9
MP
28722014-06-05 Marek Polacek <polacek@redhat.com>
2873
2874 PR c/49706
2875 * doc/invoke.texi: Document -Wlogical-not-parentheses.
2876
357ddc7d
TV
28772014-06-04 Tom de Vries <tom@codesourcery.com>
2878
2879 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
2880 CONST_INT.
2881
ca73a1f7
MG
28822014-06-04 Marc Glisse <marc.glisse@inria.fr>
2883
2884 PR tree-optimization/61385
2885 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
2886
ffb1f5ef
BS
28872014-06-04 Bernd Schmidt <bernds@codesourcery.com>
2888
2889 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
2890 changed to use fatal_error.
2891 (main): Ensure lto_wrapper_cleanup is run atexit.
2892
a953491e
RS
28932014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
2894
2895 * lra-constraints.c (valid_address_p): Move earlier in file.
2896 (address_eliminator): New structure.
2897 (satisfies_memory_constraint_p): New function.
2898 (satisfies_address_constraint_p): Likewise.
2899 (process_alt_operands, process_address, curr_insn_transform): Use them.
2900
0c331756
RS
29012014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
2902
2903 * lra-int.h (lra_static_insn_data): Make operand_alternative a
2904 const pointer.
2905 (target_lra_int, default_target_lra_int, this_target_lra_int)
2906 (op_alt_data): Delete.
2907 * lra.h (lra_init): Delete.
2908 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
2909 (init_insn_code_data_once): Remove op_alt_data handling.
2910 (finish_insn_code_data_once): Likewise.
2911 (init_op_alt_data): Delete.
2912 (get_static_insn_data): Initialize operand_alternative to null.
2913 (free_insn_recog_data): Cast operand_alternative before freeing it.
2914 (setup_operand_alternative): Take the operand_alternative as
2915 parameter and assume it isn't already cached in the static
2916 insn data.
2917 (lra_set_insn_recog_data): Update accordingly.
2918 (lra_init): Delete.
2919 * ira.c (ira_init): Don't call lra_init.
2920 * target-globals.h (this_target_lra_int): Declare.
2921 (target_globals): Remove lra_int.
2922 (restore_target_globals): Update accordingly.
2923 * target-globals.c: Don't include lra-int.h.
2924 (default_target_globals, save_target_globals): Remove lra_int.
2925
1145837d
RS
29262014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
2927
2928 * recog.h (operand_alternative): Convert reg_class, reject,
2929 matched and matches into bitfields.
2930 (preprocess_constraints): New overload.
2931 (preprocess_insn_constraints): New function.
2932 (preprocess_constraints): Take the insn as parameter.
2933 (recog_op_alt): Change into a pointer.
2934 (target_recog): Add x_op_alt.
2935 * recog.c (asm_op_alt): New variable.
2936 (recog_op_alt): Change into a pointer.
2937 (preprocess_constraints): New overload, replacing the old function
2938 definition with one that doesn't use global state.
2939 (preprocess_insn_constraints): New function.
2940 (preprocess_constraints): Use them. Take the insn as parameter.
2941 Use asm_op_alt for asms.
2942 (recog_init): Free existing x_op_alt entries.
2943 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
2944 pointer const.
2945 (make_early_clobber_and_input_conflicts): Likewise.
2946 (process_bb_node_lives): Pass the insn to process_constraints.
2947 * reg-stack.c (check_asm_stack_operands): Likewise.
2948 (subst_asm_stack_regs): Likewise.
2949 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
2950 * regrename.c (build_def_use): Likewise.
2951 * sched-deps.c (sched_analyze_insn): Likewise.
2952 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
2953 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
2954 (note_invalid_constants): Likewise.
2955 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
2956 (ix86_legitimate_combined_insn): Make operand_alternative pointer
2957 const.
2958
5f2e0797
RS
29592014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
2960
2961 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
2962 * ira-lives.c (check_and_make_def_conflict): Check for disabled
2963 alternatives.
2964 (make_early_clobber_and_input_conflicts): Likewise.
2965 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
2966
5efe5dec
RS
29672014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
2968
2969 * recog.h (alternative_class): New function.
2970 (which_op_alt): Return a const recog_op_alt.
2971 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
2972 (subst_asm_stack_regs): Likewise.
2973 * config/arm/arm.c (note_invalid_constants): Likewise.
2974 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
2975 the operand_alternative; use alternative class instead.
2976 * sel-sched.c (get_reg_class): Likewise.
2977 * regrename.c (build_def_use): Likewise.
2978 (hide_operands, restore_operands, record_out_operands): Update type
2979 accordingly.
2980
29d70a0f
RS
29812014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
2982
2983 * recog.h (recog_op_alt): Convert to a flat array.
2984 (which_op_alt): New function.
2985 * recog.c (recog_op_alt): Convert to a flat array.
2986 (preprocess_constraints): Update accordingly, grouping all
2987 operands of the same alternative together, rather than the
2988 other way around.
2989 * ira-lives.c (check_and_make_def_conflict): Likewise.
2990 (make_early_clobber_and_input_conflicts): Likewise.
2991 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
2992 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
2993 (subst_asm_stack_regs): Likewise.
2994 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
2995 * regrename.c (hide_operands, record_out_operands): Likewise.
2996 (build_def_use): Likewise.
2997 * sel-sched.c (get_reg_class): Likewise.
2998 * config/arm/arm.c (note_invalid_constants): Likewise.
2999
fe6ebcf1
JM
30002014-06-04 Jason Merrill <jason@redhat.com>
3001
3002 PR c++/51253
3003 PR c++/61382
3004 * gimplify.c (gimplify_arg): Non-static.
3005 * gimplify.h: Declare it.
3006
38af3208
RB
30072014-06-04 Richard Biener <rguenther@suse.de>
3008
3009 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
3010 TREE_PUBLIC and DECL_EXTERNAL decls.
3011
9ccac701
MF
30122014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
3013
7964957f 3014 * regcprop.c (copyprop_hardreg_forward_1): Account for
9ccac701
MF
3015 HARD_REGNO_CALL_PART_CLOBBERED.
3016
35987ae9
RB
30172014-06-04 Richard Biener <rguenther@suse.de>
3018
3019 * configure.ac: Check whether the underlying type of int64_t
3020 is long or long long.
3021 * configure: Regenerate.
3022 * config.in: Likewise.
3023 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
3024 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
3025
0ea48022
RB
30262014-06-04 Richard Biener <rguenther@suse.de>
3027
3028 PR tree-optimization/60098
3029 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
3030 we hit a kill.
3031 (dse_optimize_stmt): Simplify, now that we found a kill
3032 earlier.
3033
b1259d34
RB
30342014-06-04 Richard Biener <rguenther@suse.de>
3035
3036 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
3037 of accesses with non-invariant address.
3038
8be2dc8c
ML
30392014-06-04 Martin Liska <mliska@suse.cz>
3040
3041 * cgraph.h (cgraph_make_wrapper): New function introduced.
3042 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
3043 * ipa-inline.h (inline_analyze_function): The function is global.
3044 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
3045
8a57e88d
ML
30462014-06-04 Martin Liska <mliska@suse.cz>
3047
3048 * tree.h (private_lookup_attribute_starting): New function.
3049 (lookup_attribute_starting): Likewise.
3050 * tree.c (private_lookup_attribute_starting): Likewise.
3051
d211e471
ML
30522014-06-04 Martin Liska <mliska@suse.cz>
3053
3054 * cgraph.h (expand_thunk): New argument added.
3055 (address_taken_from_non_vtable_p): New global function.
3056 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
3057 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
3058 * cgraphunit.c (analyze_function): Likewise.
3059 (assemble_thunks_and_aliases): Argument added to call.
3060 (expand_thunk): New argument forces to produce GIMPLE thunk.
3061
a96bf0d3
ML
30622014-06-04 Martin Liska <mliska@suse.cz>
3063
3064 * coverage.h (coverage_compute_cfg_checksum): Argument added.
3065 * coverage.c (coverage_compute_cfg_checksum): Likewise.
3066 * profile.c (branch_prob): Likewise.
3067
7d2268ea
MJ
30682014-06-04 Martin Jambor <mjambor@suse.cz>
3069
3070 PR ipa/61340
3071 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
3072 handler for switch on an ipa_ref_use enum.
3073 * ipa-reference.c (analyze_function): Likewise.
3074
0dac3001
KT
30752014-06-04 Kai Tietz <ktietz@redhat.com>
3076
3077 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
3078 from old call-instruction.
3079
348d4b0a
BC
30802014-06-04 Bin Cheng <bin.cheng@arm.com>
3081
3082 * config/aarch64/aarch64.c (aarch64_classify_address)
3083 (aarch64_legitimize_reload_address): Support full addressing modes
3084 for vector modes.
3085 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
3086 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
3087
b9e3afe9
AP
30882014-06-03 Andrew Pinski <apinski@cavium.com>
3089
3090 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
3091 for OP0.
3092
30932014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
3094
3095 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
3096 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
3097
3ce7abdd
KT
30982014-06-03 Kai Tietz <ktietz@redhat.com>
3099
3100 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
3101 for 64-bit ms-abi.
3102
47e78f98
DC
31032014-06-03 Dehao Chen <dehao@google.com>
3104
3105 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
3106 the same loop.
3107
fedfecef
MP
31082014-06-03 Marek Polacek <polacek@redhat.com>
3109
3110 PR c/60439
3111 * doc/invoke.texi: Document -Wswitch-bool.
3112 * function.c (stack_protect_epilogue): Cast controlling expression of
3113 the switch to int.
3114 * gengtype.c (walk_type): Generate switch expression with its
3115 controlling expression cast to int.
3116
31172014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
3118
3119 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
3120 and attiny841.
3121 * config/avr/avr-tables.opt: Regenerate.
3122 * config/avr/t-multilib: Regenerate.
3123 * doc/avr-mmcu.texi: Regenerate.
3124
fedfecef
MP
31252014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
3126 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
3127
3128 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
3129 (ata6617c, ata664251): Add new avr35 devices.
3130 (ata6612c): Add new avr4 device.
3131 (ata6613c, ata6614q): Add new avr5 devices.
3132 * config/avr/avr-tables.opt: Regenerate.
3133 * config/avr/t-multilib: Regenerate.
3134 * doc/avr-mmcu.texi: Regenerate.
3135
918621d3
AL
31362014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3137
3138 * gcc/config/aarch64/aarch64-builtins.c
3139 (aarch64_types_binop_ssu_qualifiers): New static data.
3140 (TYPES_BINOP_SSU): Define.
3141 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
3142 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
3143 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
3144 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
3145 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
3146 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
3147 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
3148 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
3149 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
3150 suffix to builtin function name, remove cast.
3151 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
3152 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
3153 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
3154
de10bcce
AL
31552014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3156
3157 * gcc/config/aarch64/aarch64-builtins.c
3158 (aarch64_types_binop_uus_qualifiers,
3159 aarch64_types_shift_to_unsigned_qualifiers,
3160 aarch64_types_unsigned_shiftacc_qualifiers): Define.
3161 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
3162 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
3163 sqshlu_n, uqshl_n): Update qualifiers.
3164 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
3165 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
3166 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
3167 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
3168 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
3169 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
3170 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
3171 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
3172 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
3173 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
3174 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
3175 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
3176 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
3177 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
3178 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
3179 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
3180 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
3181 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
3182 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
3183 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
3184 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
3185 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
3186 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
3187 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
3188 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
3189 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
3190 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
3191
878d3618
TJ
31922014-06-03 Teresa Johnson <tejohnson@google.com>
3193
3194 * tree-sra.c (modify_function): Record caller nodes after rebuild.
3195
616abc64
JM
31962014-06-02 Jason Merrill <jason@redhat.com>
3197
3198 PR c++/61020
3199 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
3200
b31e65bb
AL
32012014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3202
3203 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
3204 location == 0.
3205
923fcec3
AL
32062014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3207
3208 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
3209 New pattern.
3210 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
3211 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
3212 * config/aarch64/iterators.md (REVERSE): New iterator.
3213 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
3214 (rev_op): New int_attribute.
3215 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
3216 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
3217 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
3218 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
3219 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
3220 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
3221 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
3222 Replace temporary __asm__ with __builtin_shuffle.
3223
7b11cab7 32242014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
3225
3226 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
3227 mips64r5.
3228 * config/mips/mips-tables.opt: Regenerate.
3229 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
3230 to use mips_isa_rev rather than ISA_MIPS32R2.
3231 * config/mips/mips.h (ISA_MIPS32R3): New define.
3232 (ISA_MIPS32R5): New define.
3233 (ISA_MIPS64R3): New define.
3234 (ISA_MIPS64R5): New define.
7b11cab7
UB
3235 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
3236 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
3237 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
3238 and mips64r5.
3239 (MIPS_ISA_SYNCI_SPEC): Likewise.
3240 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
3241 (LINK_SPEC): Added mips32r3 and mips32r5.
3242 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
3243 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
3244 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
3245 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
3246 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
3247 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
3248 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
3249
35773f53
AB
32502014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
3251
3252 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
3253 options.
3254 * config/mips/mips.opt (mxpa): New option.
7b11cab7 3255 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
3256 assembler.
3257
d3fb5cf0
MJ
32582014-06-03 Martin Jambor <mjambor@suse.cz>
3259
3260 PR ipa/61160
3261 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
3262 thunks.
3263
3cc272c1
TP
32642014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
3265
3266 PR tree-optimization/61328
3267 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
3268 initialization from find_bswap_or_nop_1.
3269 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
3270 in source_expr2 before using the size value the function sets. Also
3271 make use of init_symbolic_number () in both the old place and
3272 find_bswap_or_nop_load () to avoid reading uninitialized memory when
3273 doing recursion in the GIMPLE_BINARY_RHS case.
3274
597c6315
RB
32752014-06-03 Richard Biener <rguenther@suse.de>
3276
3277 PR tree-optimization/61383
3278 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
3279 stmts can't trap.
3280
b48e9677
RS
32812014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
3282
3283 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
3284 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
3285 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
3286 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
3287 in this file.
3288 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
3289 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
3290 * system.h: ...here and make it unconditional.
3291 * target.def (conditional_register_usage): Mention
3292 define_register_constraint instead of old-style constraint macros.
3293 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
3294 * doc/tm.texi: Regenerate.
3295 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
3296 protected by !USE_MD_CONSTRAINTS.
3297 * config/frv/frv.md: Remove quote from old version of documentation.
3298 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
3299 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
3300 CONST_DOUBLE_OK_FOR_LETTER.
3301 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
3302
b94f5533 33032014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 3304
3a87ac45
AP
3305 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
3306 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
3307 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
3308 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
3309 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
3310 Handle LP64 better and handle ilp32 too.
b94f5533
AP
3311 (MULTILIB_OPTIONS): Delete.
3312 (MULTILIB_DIRNAMES): Delete.
3313
9b2b7279
AM
33142014-06-02 Andrew MacLeod <amacleod@redhat.com>
3315
3316 * expr.h: Remove prototypes of functions defined in builtins.c.
3317 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
3318 Remove prototypes of functions defined in builtins.c.
3319 * builtins.h: Update prototype list to include all exported functions.
3320 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
3321 no_c99_libc_has_function): Move to targhooks.c
3322 (build_string_literal, build_call_expr_loc_array,
3323 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
3324 to tree.c.
3325 (expand_builtin_object_size, fold_builtin_object_size): Make static.
3326 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
3327 no_c99_libc_has_function): Relocate from builtins.c.
3328 * tree.c: Include builtins.h.
3329 (build_call_expr_loc_array, build_call_expr_loc_vec,
3330 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
3331 from builtins.c.
3332 * fold-const.h (fold_fma): Move prototype to builtins.h.
3333 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
3334 * asan.c: Include builtins.h.
3335 * cfgexpand.c: Likewise.
3336 * convert.c: Likewise.
3337 * emit-rtl.c: Likewise.
3338 * except.c: Likewise.
3339 * expr.c: Likewise.
3340 * fold-const.c: Likewise.
3341 * gimple-fold.c: Likewise.
3342 * gimple-ssa-strength-reduction.c: Likewise.
3343 * gimplify.c: Likewise.
3344 * ipa-inline.c: Likewise.
3345 * ipa-prop.c: Likewise.
3346 * lto-streamer-out.c: Likewise.
3347 * stmt.c: Likewise.
3348 * tree-inline.c: Likewise.
3349 * tree-object-size.c: Likewise.
3350 * tree-sra.c: Likewise.
3351 * tree-ssa-ccp.c: Likewise.
3352 * tree-ssa-forwprop.c: Likewise.
3353 * tree-ssa-loop-ivcanon.c: Likewise.
3354 * tree-ssa-loop-ivopts.c: Likewise.
3355 * tree-ssa-math-opts.c: Likewise.
3356 * tree-ssa-reassoc.c: Likewise.
3357 * tree-ssa-threadedge.c: Likewise.
3358 * tree-streamer-in.c: Likewise.
3359 * tree-vect-data-refs.c: Likewise.
3360 * tree-vect-patterns.c: Likewise.
3361 * tree-vect-stmts.c: Likewise.
3362 * config/aarch64/aarch64.c: Likewise.
3363 * config/alpha/alpha.c: Likewise.
3364 * config/arc/arc.c: Likewise.
3365 * config/arm/arm.c: Likewise.
3366 * config/avr/avr.c: Likewise.
3367 * config/bfin/bfin.c: Likewise.
3368 * config/c6x/c6x.c: Likewise.
3369 * config/cr16/cr16.c: Likewise.
3370 * config/cris/cris.c: Likewise.
3371 * config/epiphany/epiphany.c: Likewise.
3372 * config/fr30/fr30.c: Likewise.
3373 * config/frv/frv.c: Likewise.
3374 * config/h8300/h8300.c: Likewise.
3375 * config/i386/i386.c: Likewise.
3376 * config/i386/winnt.c: Likewise.
3377 * config/ia64/ia64.c: Likewise.
3378 * config/iq2000/iq2000.c: Likewise.
3379 * config/lm32/lm32.c: Likewise.
3380 * config/m32c/m32c.c: Likewise.
3381 * config/m32r/m32r.c: Likewise.
3382 * config/m68k/m68k.c: Likewise.
3383 * config/mcore/mcore.c: Likewise.
3384 * config/mep/mep.c: Likewise.
3385 * config/microblaze/microblaze.c: Likewise.
3386 * config/mips/mips.c: Likewise.
3387 * config/mmix/mmix.c: Likewise.
3388 * config/mn10300/mn10300.c: Likewise.
3389 * config/moxie/moxie.c: Likewise.
3390 * config/msp430/msp430.c: Likewise.
3391 * config/nds32/nds32.c: Likewise.
3392 * config/pa/pa.c: Likewise.
3393 * config/pdp11/pdp11.c: Likewise.
3394 * config/picochip/picochip.c: Likewise.
3395 * config/rl78/rl78.c: Likewise.
3396 * config/rs6000/rs6000.c: Likewise.
3397 * config/rx/rx.c: Likewise.
3398 * config/s390/s390.c: Likewise.
3399 * config/score/score.c: Likewise.
3400 * config/sh/sh.c: Likewise.
3401 * config/sparc/sparc.c: Likewise.
3402 * config/spu/spu.c: Likewise.
3403 * config/stormy16/stormy16.c: Likewise.
3404 * config/tilegx/tilegx.c: Likewise.
3405 * config/tilepro/tilepro.c: Likewise.
3406 * config/v850/v850.c: Likewise.
3407 * config/vax/vax.c: Likewise.
3408 * config/xtensa/xtensa.c: Likewise.
3409
0d732cca
JL
34102014-06-02 Jeff Law <law@redhat.com>
3411
3412 PR rtl-optimization/61094
3413 * ree.c (combine_reaching_defs): Do not reextend an insn if it
3414 was marked as do_no_reextend. If a copy is needed to eliminate
3415 an extension, then mark it as do_not_reextend.
3416
a2adad8b
MS
34172014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
3418
3419 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
3420
20a951e6
RH
34212014-06-02 Richard Henderson <rth@redhat.com>
3422
3423 PR target/61336
3424 * config/alpha/alpha.c (print_operand_address): Allow symbolic
3425 addresses inside asms. Use output_operand_lossage instead of
3426 gcc_unreachable.
3427
40c0a159
UB
34282014-06-02 Uros Bizjak <ubizjak@gmail.com>
3429
3430 PR target/61239
3431 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
3432 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
3433
94bfa2da
TV
34342014-06-02 Tom de Vries <tom@codesourcery.com>
3435
3436 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
3437 case that x has VOIDmode.
3438
4a1f940f
BS
34392014-06-02 Bernd Schmidt <bernds@codesourcery.com>
3440
3441 * varasm.c (copy_constant): Delete function.
3442 (build_constant_desc): Don't call it.
3443
27e83a44
RR
34442014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3445
3446 PR target/61154
3447 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
3448 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
3449 with immediate_operand.
3450
31815ed7
AS
34512014-06-02 Andreas Schwab <schwab@suse.de>
3452
3453 * config/ia64/ia64.c
3454 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
3455 pending_data_specs first.
3456
61dd7fbc
RB
34572014-06-02 Richard Biener <rguenther@suse.de>
3458
3459 PR tree-optimization/61378
3460 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
3461 valueized_anything.
3462
1828d3e6
UB
34632014-06-01 Uros Bizjak <ubizjak@gmail.com>
3464
3465 * config/i386/constraints.md (Bw): Rename from 'w'.
3466 (Bz): Rename from 'z'.
3467 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
3468
6041d142
KT
34692014-06-01 Kai Tietz <ktietz@redhat.com>
3470
3471 PR target/61377
1828d3e6
UB
3472 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
3473 * config/i386/i386.md (sibcall_insn_operand): Use Bs
3474 instead of m constraint.
6041d142 3475
aef1bf3b
AS
34762014-05-31 Andreas Schwab <schwab@linux-m68k.org>
3477
3478 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
3479 a separate alternative where the scratch operand 2 is marked as
3480 early clobber.
3481
f10743d3
KV
34822014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
3483
3484 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
3485 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
3486 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
3487 and __builtins_arm_get_fpscr.
3488 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
3489 __builtins_arm_get_fpscr.
3490 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
3491 __builtins_arm_ldfpscr.
3492 (arm_atomic_assign_expand_fenv): New function.
3493 * config/arm/vfp.md (set_fpscr): New pattern.
3494 (get_fpscr) : Likewise.
3495 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
3496 VUNSPEC_SET_FPSCR.
3497 * doc/extend.texi (AARCH64 Built-in Functions) : Document
3498 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
3499
40f9f6bb
JJ
35002014-05-30 Jakub Jelinek <jakub@redhat.com>
3501
b3f1051b
JJ
3502 * asan.c (report_error_func): Add SLOW_P argument, use
3503 BUILT_IN_ASAN_*_N if set.
3504 (build_check_stmt): Likewise.
3505 (instrument_derefs): If T has insufficient alignment,
3506 force same handling as for odd sizes.
3507
40f9f6bb
JJ
3508 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
3509 BUILT_IN_ASAN_REPORT_STORE_N): New.
3510 * asan.c (struct asan_mem_ref): Change access_size type to
3511 HOST_WIDE_INT.
3512 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
3513 update_mem_ref_hash_table): Likewise.
3514 (asan_mem_ref_hasher::hash): Hash in a HWI.
3515 (report_error_func): Change size_in_bytes argument to HWI.
3516 Use *_N builtins if size_in_bytes is larger than 16 or not power of
3517 two.
3518 (build_shadow_mem_access): New function.
3519 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
3520 Handle size_in_bytes not power of two or larger than 16.
3521 (instrument_derefs): Don't give up if size_in_bytes is not
3522 power of two or is larger than 16.
3523
cb105922
KT
35242014-05-30 Kai Tietz <ktietz@redhat.com>
3525
3526 PR target/60104
3527 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
3528 for sibling-tail-calls.
3529 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
3530 to its use.
3531 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
3532 (sibcall_insn_operand): Add check for sibcall_memory_operand.
3533
150e0639
PS
35342014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
3535
3536 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
3537 * config/avr/avr-tables.opt: Regenerate.
3538 * config/avr/t-multilib: Regenerate.
3539 * doc/avr-mmcu.texi: Regenerate.
3540
f9a8f6d9
ILT
35412014-05-30 Ian Lance Taylor <iant@google.com>
3542
3543 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
3544 target("sse").
3545
5028356f
TV
35462014-05-30 Tom de Vries <tom@codesourcery.com>
3547
3548 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
3549 Redefine as true.
3550
10e1bdb2
TV
35512014-05-30 Tom de Vries <tom@codesourcery.com>
3552
3553 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
3554 * lra.c (initialize_lra_reg_info_element): Add init of
3555 actual_call_used_reg_set field.
3556 (lra): Call lra_create_live_ranges before lra_inheritance for
3557 -fuse-caller-save.
3558 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
3559 -fuse-caller-save.
3560 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
3561 instead of call_used_reg_set for -fuse-caller-save.
3562 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
3563
56912037
KT
35642014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3565
3566 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
3567 to mov_imm.
3568 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
3569
98f2f031
RS
35702014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
3571
3572 * ira.c (ira_get_dup_out_num): Check for output operands at
3573 the start of the loop. Handle cases where an included alternative
3574 follows an excluded one.
3575
79abf19f
MS
35762014-05-29 Mike Stump <mikestump@comcast.net>
3577
3578 PR debug/61352
3579 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
3580 post ld passes when lto is used.
3581
cc8849a1
VM
35822014-05-29 Vladimir Makarov <vmakarov@redhat.com>
3583
3584 PR rtl-optimization/61325
40c0a159 3585 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
3586 (process_address): New function.
3587
ae0533da
AL
35882014-05-29 Alan Lawrence <alan.lawrence@arm.com>
3589
3590 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
3591 TYPES_BINOPV): New static data.
40c0a159
UB
3592 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
3593 New builtin.
3594 * config/aarch64/aarch64-simd.md (aarch64_ext,
3595 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
3596 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
3597 patterns for EXT.
3598 (aarch64_evpc_ext): New function.
3599
3600 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
3601
3602 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
3603 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
3604 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
3605 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
3606 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
3607
ed00b1fb
TV
36082014-05-29 Tom de Vries <tom@codesourcery.com>
3609
3610 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
3611
004d3809 36122014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 3613 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 3614
40c0a159
UB
3615 * arm/iterators.md (shiftable_ops): New code iterator.
3616 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 3617 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
3618 * arm/arm.md (insn_enabled): Delete.
3619 (enabled): Remove insn_enabled test.
3620 (*arith_shiftsi): Delete. Replace with ...
3621 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
3622 (*<arith_shift_insn>_shiftsi): ... new pattern.
3623 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
3624
c2db3f3d 36252014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 3626 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
3627
3628 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
3629 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
3630 clobber.
3631 (mips_split_call): Use POST_CALL_TMP_REG.
3632 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
3633
4b29b965
TV
36342014-05-29 Tom de Vries <tom@codesourcery.com>
3635
3636 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
3637 with #ifdef STACK_REGS.
3638
726f0774
JH
36392014-05-28 Jan Hubicka <hubicka@ucw.cz>
3640
3641 * varasm.c (get_variable_section): Walk aliases.
3642 (place_block_symbol): Walk aliases.
3643
ea0b381f
TV
36442014-05-28 Tom de Vries <tom@codesourcery.com>
3645
3646 Revert:
3647 2014-05-28 Tom de Vries <tom@codesourcery.com>
3648
3649 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
3650 * lra.c (initialize_lra_reg_info_element): Add init of
3651 actual_call_used_reg_set field.
3652 (lra): Call lra_create_live_ranges before lra_inheritance for
3653 -fuse-caller-save.
3654 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
3655 -fuse-caller-save.
40c0a159
UB
3656 * lra-constraints.c (need_for_call_save_p): Use
3657 actual_call_used_reg_set instead of call_used_reg_set for
3658 -fuse-caller-save.
ea0b381f
TV
3659 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
3660
73f793e3
RS
36612014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
3662
3663 * doc/md.texi: Document that the % constraint character must
3664 be at the beginning of the string.
3665 * genoutput.c (validate_insn_alternatives): Check that '=',
3666 '+' and '%' only appear at the beginning of a constraint.
3667 * ira.c (commutative_constraint_p): Delete.
3668 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
3669 at the start of the string.
3670 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
3671 duplicate '='s.
3672 * config/arm/neon.md (bicdi3_neon): Likewise.
3673 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
3674 (slt_si, sltu_si): Likewise.
3675 * config/vax/vax.md (sbcdi3): Likewise.
3676 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
3677 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
3678 (mul64): Move '%' to beginning of constraint.
3679 * config/arm/arm.md (*xordi3_insn): Likewise.
3680 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
3681 (xorsi3): Likewise.
3682
5a7555ab
RS
36832014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
3684
3685 * doc/md.texi: Document the restrictions on the "enabled" attribute.
3686
d67ff7b7
JM
36872014-05-28 Jason Merrill <jason@redhat.com>
3688
3689 PR c++/47202
3690 * cgraph.h (symtab_node::get_comdat_group_id): New.
3691 * cgraphunit.c (analyze_functions): Call it.
3692 * symtab.c (dump_symtab_node): Likewise.
3693 * tree.c (decl_comdat_group_id): New.
3694 * tree.h: Declare it.
3695 * lto-streamer-out.c (write_symbol): Use it.
3696 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
3697
ecc7533a
FXC
36982014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3699
3700 PR bootstrap/PR61146
3701 * wide-int.cc: Do not include longlong.h when compiling with clang.
3702
6e5799b9
RB
37032014-05-28 Richard Biener <rguenther@suse.de>
3704
3705 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
3706 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
3707 (vrp_visit_assignment_or_call): Print less vertical space.
3708 (vrp_visit_stmt): Likewise.
3709 (vrp_visit_phi_node): Likewise. For a PHI argument with
3710 VR_VARYING range consider recording it as copy.
3711
47f9fca8
RB
37122014-05-28 Richard Biener <rguenther@suse.de>
3713
3714 Revert
3715 2014-05-28 Richard Biener <rguenther@suse.de>
3716
3717 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
3718
7fbf8a3e
BE
37192014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
3720
3721 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
3722 sufficiently aligned and an offset is used at the same time.
3723 (expand_expr_real_1): Likewise.
3724
b017a174
RB
37252014-05-28 Richard Biener <rguenther@suse.de>
3726
3727 PR middle-end/61045
3728 * fold-const.c (fold_comparison): When folding
3729 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
3730 the sign of the remaining constant operand stays the same.
3731
96360888
KP
37322014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
3733
3734 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
3735 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
3736 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
3737 to the assembler.
40c0a159 3738 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
3739 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
3740 (m32bit-doubles) Likewise.
3741 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
3742 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
3743 option for RL78.
3744
3c698bf0
RO
37452014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3746
3747 * configure.ac ($gcc_cv_ld_clearcap): New test.
3748 * configure: Regenerate.
3749 * config.in: Regenerate.
3750 * config/sol2.opt (mclear-hwcap): New option.
3751 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
3752 * config/sol2-clearcap.map: Moved here from
3753 testsuite/gcc.target/i386/clearcap.map.
3754 * config/sol2-clearcapv2.map: Move here from
3755 gcc.target/i386/clearcapv2.map.
3756 * config/t-sol2 (install): Depend on install-clearcap-map.
3757 (install-clearcap-map): New target.
3758 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
3759 -mclear-hwcap.
3760
4c8bd90f
RB
37612014-05-28 Richard Biener <rguenther@suse.de>
3762
3763 * hwint.h (*_HALF_WIDE_INT*): Move to ...
3764 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
3765 ... here and remove the rest.
3766 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
3767
a896172d
RB
37682014-05-28 Richard Biener <rguenther@suse.de>
3769
3770 PR tree-optimization/61335
3771 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
3772 new range fails, drop to varying.
3773
c41f1c42
BE
37742014-05-28 Olivier Hainque <hainque@adacore.com>
3775
3776 * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
3777 (CPP_SPEC): Add entry for -mcpu=8548.
3778 * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
3779 * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
3780
b8c6a45a
TV
37812014-05-28 Tom de Vries <tom@codesourcery.com>
3782
3783 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
3784 * lra.c (initialize_lra_reg_info_element): Add init of
3785 actual_call_used_reg_set field.
3786 (lra): Call lra_create_live_ranges before lra_inheritance for
3787 -fuse-caller-save.
3788 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
3789 -fuse-caller-save.
40c0a159
UB
3790 * lra-constraints.c (need_for_call_save_p): Use
3791 actual_call_used_reg_set instead of call_used_reg_set for
3792 -fuse-caller-save.
b8c6a45a
TV
3793 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
3794
dbe7d9e3 37952014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 3796 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 3797
40c0a159
UB
3798 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
3799 to gccoptlist.
dbe7d9e3
RO
3800 (@item -fuse-caller-save): New item.
3801
5c989bbf 38022014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 3803 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
3804
3805 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
3806 OPT_fuse_caller_save.
3807
c2ba7e7a 38082014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 3809 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
3810
3811 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
3812 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
3813 get_call_reg_set_usage.
3814 * resource.c (mark_set_resources, mark_target_live_regs): Use
3815 get_call_reg_set_usage.
3816 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
3817 field.
3818 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
3819 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
3820 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
3821 * ira-build.c (ira_create_allocno): Init
3822 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
3823 (create_cap_allocno, propagate_allocno_info)
3824 (propagate_some_info_from_allocno)
3825 (copy_info_to_removed_store_destinations): Handle
3826 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
3827 * ira-costs.c (ira_tune_allocno_costs): Use
3828 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
3829
27c07cc5 38302014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 3831 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
3832
3833 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
3834 and function_used_regs_valid fields.
3835 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
3836 find_all_hard_reg_sets.
3837 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
3838 (get_call_reg_set_usage): New function.
3839 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
3840 * regs.h (get_call_reg_set_usage): Declare.
3841
ca48e5ef
GJL
38422014-05-28 Georg-Johann Lay <avr@gjlay.de>
3843
3844 PR libgcc/61152
3845 * config/dbx.h (License): Add Runtime Library Exception.
3846 * config/newlib-stdint.h (License): Same.
3847 * config/rtems.h (License): Same
3848 * config/initfini-array.h (License): Same
3849 * config/v850/v850.h (License): Same.
3850 * config/v850/v850-opts.h (License): Same
3851 * config/v850/rtems.h (License): Same.
3852
92747f7d
GJL
38532014-05-28 Georg-Johann Lay <avr@gjlay.de>
3854
3855 PR target/61044
3856 * doc/extend.texi (Local Labels): Note that label differences are
3857 not supported for AVR.
3858
c41f1c42
BE
38592014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
3860 Olivier Hainque <hainque@adacore.com>
3861
3862 * rtl.h (set_for_reg_notes): Declare.
3863 * emit-rtl.c (set_for_reg_notes): New function.
3864 (set_unique_reg_note): Use it.
3865 * optabs.c (add_equal_note): Likewise
3866
9c6ab05f
AP
38672014-05-27 Andrew Pinski <apinski@cavium.com>
3868
3869 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
3870 Use <w> for the register in assembly template.
40c0a159 3871 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
3872 (stack_protect_test_<mode>): Use <w> for the register
3873 in assembly template.
3874
69c7a374
DD
38752014-05-27 DJ Delorie <dj@redhat.com>
3876
3877 * config/rx/rx.c (add_vector_labels): New.
3878 (rx_output_function_prologue): Call it.
3879 (rx_handle_func_attribute): Don't require empty arguments.
3880 (rx_handle_vector_attribute): New.
3881 (rx_attribute_table): Add "vector" attribute.
3882 * doc/extend.texi (interrupt, vector): Document new/changed
3883 RX-specific attributes.
3884
3885 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
3886
5e67547d
EB
38872014-05-27 Eric Botcazou <ebotcazou@adacore.com>
3888
3889 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
3890 predicate to detect a negative quotient.
3891
d378c07e
EB
38922014-05-27 Eric Botcazou <ebotcazou@adacore.com>
3893
3894 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
3895 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
3896 Add X - Y CMP 0 to X CMP Y transformation.
3897 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
3898
3ce6c715
SB
38992014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
3900
3901 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
3902 before printing.
3903
11237229
SE
39042014-05-27 Steve Ellcey <sellcey@mips.com>
3905
3906 * config/mips/mips.c: Add include of cgraph.h.
3907
7ea7f668
RB
39082014-05-27 Richard Biener <rguenther@suse.de>
3909
3910 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
3911
c7eca9fe
GJL
39122014-05-27 Georg-Johann Lay <avr@gjlay.de>
3913
3914 PR libgcc/61152
3915 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
3916 * config/arm/arm-cores.def (License): Same.
3917 * config/arm/arm-opts.h (License): Same.
3918 * config/arm/aout.h (License): Same.
3919 * config/arm/bpabi.h (License): Same.
3920 * config/arm/elf.h (License): Same.
3921 * config/arm/linux-elf.h (License): Same.
3922 * config/arm/linux-gas.h (License): Same.
3923 * config/arm/netbsd-elf.h (License): Same.
3924 * config/arm/uclinux-eabi.h (License): Same.
3925 * config/arm/uclinux-elf.h (License): Same.
3926 * config/arm/vxworks.h (License): Same.
3927
7a10ea9f
KT
39282014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3929
3930 * config/arm/neon.md (neon_bswap<mode>): New pattern.
3931 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
3932 (arm_init_neon_builtins): Handle NEON_BSWAP.
3933 Define required type nodes.
3934 (arm_expand_neon_builtin): Handle NEON_BSWAP.
3935 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
3936 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
3937 * config/arm/iterators.md (VDQHSD): New mode iterator.
3938
597f5997
RB
39392014-05-27 Richard Biener <rguenther@suse.de>
3940
3941 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
3942 Try using literal operands when comparing value-ranges failed.
3943
f571b63f
RS
39442014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
3945
3946 * ira.c (commutative_operand): Adjust for change to recog_data.
3947 [Missing from previous commit.]
3948
4cc8d9d2
RS
39492014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
3950
3951 * system.h (TEST_BIT): New macro.
3952 * recog.h (alternative_mask): New type.
3953 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
3954 (recog_data_d): Replace alternative_enabled_p array with
3955 enabled_alternatives.
3956 (target_recog): New structure.
3957 (default_target_recog, this_target_recog): Declare.
3958 (get_enabled_alternatives, recog_init): Likewise.
3959 * recog.c (default_target_recog, this_target_recog): New variables.
3960 (get_enabled_alternatives): New function.
3961 (extract_insn): Use it.
3962 (recog_init): New function.
3963 (preprocess_constraints, constrain_operands): Adjust for change to
3964 recog_data.
3965 * postreload.c (reload_cse_simplify_operands): Likewise.
3966 * reload.c (find_reloads): Likewise.
3967 * ira-costs.c (record_reg_classes): Likewise.
3968 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
3969 all alternatives after a disabled one would be skipped.
3970 (ira_implicitly_set_insn_hard_regs): Likewise.
3971 * ira.c (ira_setup_alts): Adjust for change to recog_data.
3972 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
3973 with enabled_alternatives.
3974 * lra.c (free_insn_recog_data): Update accordingly.
3975 (lra_update_insn_recog_data): Likewise.
3976 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
3977 * lra-constraints.c (process_alt_operands): Likewise. Handle
3978 only_alternative as part of the enabled mask.
3979 * target-globals.h (this_target_recog): Declare.
3980 (target_globals): Add a recog field.
3981 (restore_target_globals): Restore this_target_recog.
3982 * target-globals.c: Include recog.h.
3983 (default_target_globals): Initialize recog field.
3984 (save_target_globals): Likewise.
3985 * reginfo.c (reinit_regs): Call recog_init.
3986 * toplev.c (backend_init_target): Likewise.
3987
9921417d
RS
39882014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
3989
3990 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
3991 rather than any named insn's code.
3992
a5024e01
GJL
39932014-05-27 Georg-Johann Lay <avr@gjlay.de>
3994
3995 PR libgcc/61152
3996 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
3997 * config/arm/arm-cores.def (License): Same.
3998
50efcce1
JH
39992014-05-26 Jan Hubicka <hubicka@ucw.cz>
4000
4001 * tree.h (decl_comdat_group): Declare.
4002 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
4003 * tree.c (decl_comdat_group): Here.
4004
3e26c8f6
RS
40052014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
4006
4007 PR rtl-optimization/61222
4008 * combine.c (simplify_shift_const_1): When moving a PLUS outside
4009 the shift, truncate the PLUS operand to the result mode.
4010
b8140cd6
UB
40112014-05-26 Uros Bizjak <ubizjak@gmail.com>
4012
4013 PR target/61271
4014 * config/i386/i386.c (ix86_rtx_costs)
4015 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
4016 Fix condition.
4017
acea91c9
MJ
40182014-05-26 Martin Jambor <mjambor@suse.cz>
4019
4020 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
4021 subreg uses.
4022
d93461f7
RB
40232014-05-26 Richard Biener <rguenther@suse.de>
4024
4025 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
4026 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
4027 Provide specializations.
4028 (wi::int_traits <HOST_WIDE_INT>,
4029 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
4030
bfe51f42
AM
40312014-05-26 Alan Modra <amodra@gmail.com>
4032
4033 PR target/61098
4034 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
4035 params and return a bool. Remove dead code. Update comment.
4036 Assert we have a const_int source. Remove bogus code from
4037 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
4038 handling of constants > 2G and reg_equal note, from..
4039 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
4040 return value. Update comment. If we can, use a new pseudo
4041 for intermediate calculations.
4042 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
4043 prototype.
4044 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
4045 call to rs6000_emit_set_const in splitter.
4046 (movdi_internal64+2, +3): Likewise.
4047
a9243bfc
RB
40482014-05-26 Richard Biener <rguenther@suse.de>
4049
4050 * system.h: Define __STDC_FORMAT_MACROS before
4051 including inttypes.h.
4052 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
4053 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
4054 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
4055 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
4056 HOST_WIDEST_INT_C): Remove.
4057 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
4058 if C99 inttypes.h is not available.
4059 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
4060 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
4061 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
4062 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
4063 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
4064 (struct output_info): Likewise.
4065 (print_statistics): Adjust.
4066 (dump_bitmap_statistics): Likewise.
4067 * bt-load.c (migrate_btr_defs): Print with PRId64.
4068 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
4069 (MAX_SAFE_MULTIPLIER): Adjust.
4070 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
4071 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
4072 dump_cgraph_node): Likewise.
4073 * final.c (dump_basic_block_info): Likewise.
4074 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
4075 * gcov.c (format_gcov): Likewise.
4076 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
4077 for calculation.
4078 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
4079 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
4080 (inline_small_functions, dump_overall_stats, dump_inline_stats):
4081 Use PRId64 for dumping.
4082 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
4083 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
4084 (add_allocno_hard_regs): Adjust.
4085 * loop-doloop.c (doloop_modify): Print using PRId64.
4086 * loop-iv.c (inverse): Compute in uint64_t.
4087 (determine_max_iter, iv_number_of_iterations): Likewise.
4088 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
4089 Print using PRId64.
4090 * lto-streamer-out.c (write_symbol): Use uint64_t.
4091 * mcf.c (CAP_INFINITY): Use int64_t maximum.
4092 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
4093 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
4094 * modulo-sched.c (const_iteration_count): Use int64_t.
4095 (sms_schedule): Dump using PRId64.
4096 * predict.c (dump_prediction): Likewise.
4097 * pretty-print.h (pp_widest_integer): Remove.
4098 * profile.c (get_working_sets, is_edge_inconsistent,
4099 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
4100 * tree-pretty-print.c (pp_double_int): Remove case handling
4101 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
4102 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
4103 and adjust users.
4104 (pass_optimize_bswap::execute): Remove restriction on hosts.
4105 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
4106 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
4107 * tree.c (widest_int_cst_value): Remove.
4108 * tree.h (widest_int_cst_value): Likewise.
4109 * value-prof.c (dump_histogram_value): Print using PRId64.
4110 * gengtype.c (main): Also inject int64_t.
4111 * ggc-page.c (struct max_alignment): Use int64_t.
4112 * alloc-pool.c (struct allocation_object_def): Likewise.
4113 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
4114 for computation.
4115 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
4116 * doc/tm.texi: Regenerated.
4117 * gengtype-lex.l (IWORD): Handle [u]int64_t.
4118 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
4119 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
4120 mmix_output_register_setting): Use [u]int64_t in prototypes.
4121 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
4122 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
4123 mmix_output_octa, mmix_output_shifted_value): Adjust.
4124 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 4125 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 4126
edf6ddf6
RB
41272014-05-26 Richard Biener <rguenther@suse.de>
4128
4129 * configure.ac: Drop __int64 type check. Insist that we
4130 found uint64_t and int64_t.
4131 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 4132 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
4133 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
4134 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
4135 (HOST_WIDEST_FAST_INT): Remove __int64 case.
4136 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
4137 for dst_q_src_df_rms_cdt.
4138 * configure: Regenerate.
4139 * config.in: Likewise.
4140
d4082970
MT
41412014-05-26 Michael Tautschnig <mt@debian.org>
4142
4143 PR target/61249
49f002b6
UB
4144 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
4145 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 4146
d29d688a
ZC
41472014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4148
4149 PR rtl-optimization/61278
4150 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
4151
88f32f0f
ZC
41522014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4153
4154 PR rtl-optimization/61220
4155 Part of PR rtl-optimization/61225
4156 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
4157 insn; skip split_edge for a block with only one successor.
4158
97ae6b64
JH
41592014-05-23 Jan Hubicka <hubicka@ucw.cz>
4160
d4082970
MT
4161 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
4162 for variables.
97ae6b64 4163
07990a5e
JH
41642014-05-23 Jan Hubicka <hubicka@ucw.cz>
4165
4166 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
4167 (update_vtable_references): New function.
4168 (function_and_variable_visibility): Rewrite also vtable initializers.
4169 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
4170
fd1e9302
JH
41712014-05-23 Jan Hubicka <hubicka@ucw.cz>
4172
4173 * ggc.h (ggc_grow): New function.
4174 * ggc-none.c (ggc_grow): New function.
4175 * ggc-page.c (ggc_grow): Likewise.
4176
7f7beb3f
JH
41772014-05-23 Jan Hubicka <hubicka@ucw.cz>
4178
d4082970
MT
4179 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
4180 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
4181 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
4182 varpool_externally_visible_p, can_replace_by_local_alias,
4183 update_visibility_by_resolution_info, function_and_variable_visibility,
4184 pass_data_ipa_function_and_variable_visibility,
4185 make_pass_ipa_function_and_variable_visibility,
4186 whole_program_function_and_variable_visibility,
4187 pass_data_ipa_whole_program_visibility,
4188 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
4189 * cgraph.h (cgraph_local_node_p): Declare.
4190 * ipa-visibility.c: New file.
4191 * Makefile.in (OBJS): Add ipa-visiblity.o
4192
6adda80b
JH
41932014-05-23 Jan Hubicka <hubicka@ucw.cz>
4194
4195 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
4196 that var decl is available.
4197
aede2c10
JH
41982014-05-23 Jan Hubicka <hubicka@ucw.cz>
4199
4200 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
4201 symtab_node pointer.
d4082970 4202 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
4203 (find_decls_types_r): Do not walk COMDAT_GROUP.
4204 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
4205 * varasm.c (make_decl_one_only): Use set_comdat_group;
4206 create node if needed.
4207 * ipa-inline-transform.c (save_inline_function_body): Update
4208 way we decl->symtab mapping.
4209 * symtab.c (symtab_hash, hash_node, eq_node
4210 symtab_insert_node_to_hashtable): Remove.
4211 (symtab_register_node): Update.
4212 (symtab_unregister_node): Update.
4213 (symtab_get_node): Reimplement as inline function.
4214 (symtab_add_to_same_comdat_group): Update.
4215 (symtab_dissolve_same_comdat_group_list): Update.
4216 (dump_symtab_base): Update.
4217 (verify_symtab_base): Update.
4218 (symtab_make_decl_local): Update.
4219 (fixup_same_cpp_alias_visibility): Update.
4220 (symtab_nonoverwritable_alias): Update.
4221 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
4222 * ipa.c (update_visibility_by_resolution_info): UPdate.
4223 * bb-reorder.c: Include cgraph.h
4224 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
4225 with comdat groups.
4226 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
4227 * cgraph.c (cgraph_get_create_node): Update.
4228 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
4229 and comdat_group_.
4230 (symtab_get_node): Make inline.
4231 (symtab_insert_node_to_hashtable): Remove.
4232 (symtab_can_be_discarded): Update.
4233 (decl_comdat_group): New function.
d4082970
MT
4234 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
4235 Update.
aede2c10
JH
4236 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
4237 comdat group name.
4238 (read_comdat_group): New function.
4239 (input_node, input_varpool_node): Use it.
4240 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
4241 comdat groups.
4242 * mips.c (mips_start_unique_function): Likewise.
4243 (ix86_code_end): Likewise.
4244 (rs6000_code_end): Likweise.
d4082970 4245 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 4246
4df199d1
JH
42472014-05-23 Jan Hubicka <hubicka@ucw.cz>
4248
4249 * gengtype-state.c (fatal_reading_state): Bring offline.
4250 * optabs.c (widening_optab_handler): Bring offline.
4251 * optabs.h (widening_optab_handler): Likewise.
4252 * final.c (get_attr_length_1): Likewise.
4253
e0e349f3
JH
42542014-05-23 Jan Hubicka <hubicka@ucw.cz>
4255
4256 * sched-int.h (sd_iterator_cond): Manually tail recurse.
4257
a35dd1fa
SB
42582014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4259
d4082970 4260 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 4261 (ppc440-compare): Include shift with dot.
d4082970 4262 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
4263 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
4264 without dot.
4265 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
4266 without dot.
4267 (e6500_sfx2): Include it.
4268 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
4269 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
4270 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
4271 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
4272 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
4273 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
4274 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
4275 *lshiftrt_internal1le, *lshiftrt_internal1be,
4276 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
4277 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
4278 *rotldi3_internal10le, *rotldi3_internal10be,
4279 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
4280 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
4281 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
4282 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
4283 define_insns): Use type "shift" in the appropriate alternatives.
4284
73c076c8
SB
42852014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4286
4287 * config/rs6000/rs6000.md (type): Add "logical". Delete
4288 "fast_compare".
4289 (dot): Adjust comment.
4290 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
4291 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
4292 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
4293 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
4294 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
4295 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 4296 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
4297 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
4298
d4082970
MT
4299 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
4300 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
4301 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
4302 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
4303 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
4304 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
4305 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
4306 * config/rs6000/8540.md (ppc8540_su): Adjust.
4307 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 4308 cell-cmp-microcoded): Adjust.
d4082970
MT
4309 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
4310 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4311 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
4312 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
4313 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
4314 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
4315 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
4316 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
4317 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 4318 Adjust.
d4082970
MT
4319 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
4320 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 4321 Adjust. Adjust comment.
d4082970
MT
4322 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
4323 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 4324
0cbb4f58
SB
43252014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4326
4327 * config/rs6000/rs6000.md (type): Add "add".
4328 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
4329 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
4330 define_insns): Use it.
4331 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
4332
4333 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
4334 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 4335 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
4336 * config/rs6000/601.md (ppc601-integer): Adjust.
4337 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
4338 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
4339 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
4340 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
4341 * config/rs6000/8540.md (ppc8540_su): Adjust.
4342 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
4343 cell-cmp-microcoded): Adjust.
4344 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
4345 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4346 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
4347 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
4348 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
4349 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
4350 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
4351 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
4352 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
4353 Adjust.
4354 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 4355 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
4356 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
4357 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
4358
892e7fa6
SB
43592014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4360
4361 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
4362 "delayed_compare", "var_delayed_compare".
4363 (var_shift): New attribute.
4364 (cell_micro): Adjust.
4365 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
4366 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
4367 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
4368 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
4369 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
4370 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
4371 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
4372 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
4373 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
4374 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
4375 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
4376 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
4377 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
4378 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
4379 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
4380 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
4381 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
4382 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
4383 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
4384 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
4385 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
4386 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
4387 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
4388 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4389 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
4390
4391 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
4392 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 4393 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
4394 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
4395 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
4396 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 4397 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
4398 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
4399 * config/rs6000/8540.md (ppc8540_su): Adjust.
4400 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
4401 cell-cmp-microcoded): Adjust.
4402 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
4403 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4404 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
4405 e500mc64_delayed): Adjust.
4406 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
4407 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
4408 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
4409 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
4410 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
4411 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
4412 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 4413 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
4414 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
4415 Adjust comment.
4416 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
4417 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
4418
441e02a5
SB
44192014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4420
d4082970 4421 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
4422 (bits): New mode_attr.
4423 (idiv_ldiv): Delete mode_attr.
4424 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
4425 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4426 rs6000_adjust_priority, is_nonpipeline_insn,
4427 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
4428
4429 * config/rs6000/40x.md (ppc403-idiv): Adjust.
4430 * config/rs6000/440.md (ppc440-idiv): Adjust.
4431 * config/rs6000/476.md (ppc476-idiv): Adjust.
4432 * config/rs6000/601.md (ppc601-idiv): Adjust.
4433 * config/rs6000/603.md (ppc603-idiv): Adjust.
4434 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
4435 ppc620-ldiv): Adjust.
4436 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
4437 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
4438 * config/rs6000/8540.md (ppc8540_divide): Adjust.
4439 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
4440 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
4441 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
4442 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
4443 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
4444 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
4445 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
4446 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
4447 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
4448 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
4449 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
4450 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
4451 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
4452 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
4453 * config/rs6000/titan.md (titan_fxu_div): Adjust.
4454
58ee9e66
SB
44552014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4456
4457 * config/rs6000/rs6000.md (type): Delete "insert_word",
4458 "insert_dword". Add "insert".
4459 (size): Update comment.
4460 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4461 insn_must_be_first_in_group): Adjust.
4462 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
4463 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
4464 *insvsi_internal6, insvdi_internal): Adjust.
4465
4466 * config/rs6000/40x.md (ppc403-integer): Adjust.
4467 * config/rs6000/440.md (ppc440-integer): Adjust.
4468 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
4469 * config/rs6000/601.md (ppc601-integer): Adjust.
4470 * config/rs6000/603.md (ppc603-integer): Adjust.
4471 * config/rs6000/6xx.md (ppc604-integer): Adjust.
4472 * config/rs6000/7450.md (ppc7450-integer): Adjust.
4473 * config/rs6000/7xx.md (ppc750-integer): Adjust.
4474 * config/rs6000/8540.md (ppc8540_su): Adjust.
4475 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
4476 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
4477 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4478 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
4479 * config/rs6000/e5500.md (e5500_sfx): Adjust.
4480 * config/rs6000/e6500.md (e6500_sfx): Adjust.
4481 * config/rs6000/mpc.md (mpccore-integer): Adjust.
4482 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
4483 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 4484 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
4485 * config/rs6000/power7.md (power7-integer): Adjust.
4486 * config/rs6000/power8.md (power8-1cyc): Adjust.
4487 * config/rs6000/rs64.md (rs64a-integer): Adjust.
4488 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
4489
e0528ed9
SB
44902014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4491
4492 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
4493 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
4494 (size): New attribute.
4495 (dot): New attribute.
4496 (cell_micro): Adjust.
4497 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
4498 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
4499 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
4500 umuldi3_highpart): Adjust.
4501 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4502 rs6000_adjust_priority, is_nonpipeline_insn,
4503 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
4504
4505 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
4506 ppc405-imul3): Adjust.
4507 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
4508 * config/rs6000/476.md (ppc476-imul): Adjust.
4509 * config/rs6000/601.md (ppc601-imul): Adjust.
4510 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
4511 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
4512 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
4513 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
4514 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
4515 Adjust.
4516 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
4517 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
4518 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
4519 cell-imul): Adjust.
4520 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
4521 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
4522 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
4523 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
4524 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
4525 * config/rs6000/mpc.md (mpccore-imul): Adjust.
4526 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
4527 power4-lmul, power4-imul, power4-imul3): Adjust.
4528 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
4529 power5-lmul, power5-imul, power5-imul3): Adjust.
4530 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
4531 power6-lmul, power6-imul, power6-imul3): Adjust.
4532 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
4533 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
4534
4535 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
4536 rs64a-lmul): Adjust.
4537 * config/rs6000/titan.md (titan_imul): Adjust.
4538
1263d642
SB
45392014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4540
4541 * config/rs6000/rs6000.md (type): Add new value "halfmul".
4542 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
4543 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
4544 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
4545 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 4546 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
4547 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
4548 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
4549 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
4550 * config/rs6000/titan.md: Delete nonsensical comment.
4551 (titan_imul): Add type imul3.
4552 (titan_mulhw): Remove type imul3; add type halfmul.
4553
1be6301a
SB
45542014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4555
4556 * config/rs6000/rs6000.md (type): Reorder, reformat.
4557
8aab5218
MJ
45582014-05-23 Martin Jambor <mjambor@suse.cz>
4559
4560 PR tree-optimization/53787
4561 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
4562 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
4563 analysis_done, update all uses.
4564 * ipa-prop.c: Include domwalk.h
4565 (param_analysis_info): Removed.
4566 (param_aa_status): New type.
4567 (ipa_bb_info): Likewise.
4568 (func_body_info): Likewise.
4569 (ipa_get_bb_info): New function.
4570 (aa_overwalked): Likewise.
4571 (find_dominating_aa_status): Likewise.
4572 (parm_bb_aa_status_for_bb): Likewise.
4573 (parm_preserved_before_stmt_p): Changed to use new param AA info.
4574 (load_from_unmodified_param): Accept func_body_info as a parameter
4575 instead of parms_ainfo.
4576 (parm_ref_data_preserved_p): Changed to use new param AA info.
4577 (parm_ref_data_pass_through_p): Likewise.
4578 (ipa_load_from_parm_agg_1): Likewise. Update callers.
4579 (compute_complex_assign_jump_func): Changed to use new param AA info.
4580 (compute_complex_ancestor_jump_func): Likewise.
4581 (ipa_compute_jump_functions_for_edge): Likewise.
4582 (ipa_compute_jump_functions): Removed.
4583 (ipa_compute_jump_functions_for_bb): New function.
4584 (ipa_analyze_indirect_call_uses): Likewise, moved variable
4585 declarations down.
4586 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
4587 and info, moved variable declarations down.
4588 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
4589 node and info.
4590 (ipa_analyze_stmt_uses): Likewise.
4591 (ipa_analyze_params_uses): Removed.
4592 (ipa_analyze_params_uses_in_bb): New function.
4593 (ipa_analyze_controlled_uses): Likewise.
4594 (free_ipa_bb_info): Likewise.
4595 (analysis_dom_walker): New class.
4596 (ipa_analyze_node): Handle node-specific forbidden analysis,
4597 initialize and free func_body_info, use dominator walker.
4598 (ipcp_modif_dom_walker): New class.
4599 (ipcp_transform_function): Create and free func_body_info, use
4600 ipcp_modif_dom_walker, moved a lot of functionality there.
4601
85a16bf8
MP
46022014-05-23 Marek Polacek <polacek@redhat.com>
4603 Jakub Jelinek <jakub@redhat.com>
4604
4605 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
4606 * gcc.c (sanitize_spec_function): Likewise.
4607 * convert.c (convert_to_integer): Include "ubsan.h". Add
4608 floating-point to integer instrumentation.
4609 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
4610 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
4611 SANITIZE_NONDEFAULT.
4612 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
4613 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
4614 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
4615 * ubsan.c: Include "realmpfr.h" and "dfp.h".
4616 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
4617 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
4618 float/double/long double.
4619 (ubsan_instrument_float_cast): New function.
4620 * ubsan.h (ubsan_instrument_float_cast): Declare.
4621
40c0a159 46222014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
4623
4624 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
4625 predicate.
4626 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
4627 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
4628 Adjust for tailcalling through registers.
4629 * config/aarch64/aarch64.h (enum reg_class): New caller save
4630 register class.
4631 (REG_CLASS_NAMES): Likewise.
4632 (REG_CLASS_CONTENTS): Likewise.
4633 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
4634 Allow tailcalling without decls.
4635
ed20ae98
TS
46362014-05-23 Thomas Schwinge <thomas@codesourcery.com>
4637
09af4b4c
TS
4638 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
4639 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
4640
ed20ae98
TS
4641 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
4642 gsi, and variables v_* to v*.
4643
4adf63f9
EB
46442014-05-23 Eric Botcazou <ebotcazou@adacore.com>
4645
4646 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
4647
a5a5434f
TS
46482014-05-23 Thomas Schwinge <thomas@codesourcery.com>
4649
0aadce73
TS
4650 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
4651 * omp-low.c: Update accordingly.
4652
eb63c927
TS
4653 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
4654 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
4655 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
4656 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
4657 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
4658 GF_OMP_TARGET_KIND_UPDATE.
4659
a5a5434f
TS
4660 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
4661 Explicitly enumerate the expected region types.
4662
ee526ea7
PE
46632014-05-23 Paul Eggert <eggert@cs.ucla.edu>
4664
4665 PR other/56955
4666 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
4667 documentation; the old documentation didn't clearly state the
4668 constraints on the contents of the pointed-to storage.
4669
676cad4d
MK
46702014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4671
4672 Fix bootstrap error on ia64
4673 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
4674 Return default value.
4675
73984f84
TP
46762014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
4677
4678 PR tree-optimization/54733
4679 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
4680 (CMPNOP): Define.
4681 (find_bswap_or_nop_load): New.
4682 (find_bswap_1): Renamed to ...
4683 (find_bswap_or_nop_1): This. Also add support for memory source.
4684 (find_bswap): Renamed to ...
4685 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
4686 detection of bitwise operations equivalent to load in target
4687 endianness.
73984f84
TP
4688 (execute_optimize_bswap): Likewise. Also move its leading comment back
4689 in place and split statement transformation into ...
4690 (bswap_replace): This.
4691
b17ec42d
VM
46922014-05-22 Vladimir Makarov <vmakarov@redhat.com>
4693
4694 PR rtl-optimization/61215
4695 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
4696 simplify_gen_subreg until final substitution.
4697
ea9364db
AM
46982014-05-23 Alan Modra <amodra@gmail.com>
4699
4700 PR target/61231
4701 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
4702 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
4703 Use "Y" constraint rather than "m".
4704
aa87aced
KV
47052014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
4706
4707 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
4708 define.
4709 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
4710 New function declaration.
4711 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
4712 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
4713 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
4714 (aarch64_init_builtins) : Initialize builtins
4715 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
4716 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
4717 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
4718 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
4719 and __builtins_aarch64_set_fpsr.
4720 (aarch64_atomic_assign_expand_fenv): New function.
4721 * config/aarch64/aarch64.md (set_fpcr): New pattern.
4722 (get_fpcr) : Likewise.
4723 (set_fpsr) : Likewise.
4724 (get_fpsr) : Likewise.
4725 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
4726 and UNSPECV_SET_FPSR.
4727 * doc/extend.texi (AARCH64 Built-in Functions) : Document
4728 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
4729 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
4730
0a1eb350
VM
47312014-05-22 Vladimir Makarov <vmakarov@redhat.com>
4732
4733 PR rtl-optimization/60969
4734 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
4735 constraints. Set up mem cost for NO_REGS case.
4736
f6a7cffc
TS
47372014-05-22 Thomas Schwinge <thomas@codesourcery.com>
4738
4739 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
4740
4000360e
BS
47412012-05-22 Bernd Schmidt <bernds@codesourcery.com>
4742
4743 * config/darwin.c: Include "lto-section-names.h".
4744 (LTO_SEGMENT_NAME): Don't define.
4745 * config/i386/winnt.c: Include "lto-section-names.h".
4746 * lto-streamer.c: Include "lto-section-names.h".
4747 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
4748 * lto-wrapper.c: Include "lto-section-names.h".
4749 (LTO_SECTION_NAME_PREFIX): Don't define.
4750 * lto-section-names.h: New file.
4751 * cgraphunit.c: Include "lto-section-names.h".
4752
c9aee450
PB
47532014-05-22 Peter Bergner <bergner@vnet.ibm.com>
4754
4755 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
4756
37f2edf5
RE
47572014-05-22 Richard Earnshaw <rearnsha@arm.com>
4758
4759 PR target/61208
4760 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
4761
1ad47ee5
NC
47622014-05-22 Nick Clifton <nickc@redhat.com>
4763
d4082970 4764 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 4765
1f9c420b
EB
47662014-05-22 Eric Botcazou <ebotcazou@adacore.com>
4767
4768 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
4769 -> (T)A transformation to integer types.
4770
e3f0315f
TJ
47712014-05-22 Teresa Johnson <tejohnson@google.com>
4772
4773 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
4774 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
4775 (gcov_rewrite): Use gcov_nonruntime_assert.
4776 (gcov_open): Ditto.
4777 (gcov_write_words): Ditto.
4778 (gcov_write_length): Ditto.
4779 (gcov_read_words): Use gcov_nonruntime_assert, and remove
4780 gcc_assert from IN_LIBGCOV code.
4781 (gcov_read_summary): Use gcov_error to flag profile corruption.
4782 (gcov_sync): Use gcov_nonruntime_assert.
4783 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
4784 (gcov_histo_index): Use gcov_nonruntime_assert.
4785 (static void gcov_histogram_merge): Ditto.
4786 (compute_working_sets): Ditto.
4787 * gcov-io.h (gcov_nonruntime_assert): Define.
4788 (gcov_error): Define for !IN_LIBGCOV
4789
c8f49949
RB
47902014-05-22 Richard Biener <rguenther@suse.de>
4791
4792 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
4793 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
4794 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
4795 and deallocation site.
4796 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
4797 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
4798 passing through the incoming points-to set.
4799 (handle_lhs_call): Use flags argument instead of recomputing it.
4800 (find_func_aliases_for_call): Call handle_lhs_call with proper
4801 call return flags.
4802
a822564d
JJ
48032014-05-22 Jakub Jelinek <jakub@redhat.com>
4804
4805 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
4806 all padding bits in REAL_VALUE_TYPE are cleared.
4807
4960a0cb
MK
48082014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4809
4810 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
4811 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
4812 (core2i7_first_cycle_multipass_begin,)
4813 (core2i7_first_cycle_multipass_issue,)
4814 (core2i7_first_cycle_multipass_backtrack): Update signature.
4815 * config/ia64/ia64.c
4816 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
4817 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
4818 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
4819 hook definition.
4820 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
4821 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
4822 values.
4823 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
4824 return values.
4825 * doc/tm.texi: Regenerate.
4826 * doc/tm.texi.in
4827 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
4828 * haifa-sched.c (ready_try): Make signed to allow negative values.
4829 (rebug_ready_list_1): Update.
4830 (choose_ready): Simplify.
4831 (sched_extend_ready_list): Update.
4960a0cb 4832
16d83dd6
MK
48332014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4834
4835 Remove IA64 speculation tweaking flags
d4082970
MT
4836 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
4837 speculation tuning flags.
4838 (msched-prefer-non-data-spec-insns,)
4839 (msched-prefer-non-control-spec-insns): Obsolete options.
4840 * haifa-sched.c (choose_ready): Remove handling of
4841 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
4842 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
4843 and PREFER_NON_DATA_SPEC.
4844 * sel-sched.c (process_spec_exprs): Remove handling of
4845 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 4846
69da098b
MK
48472014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4848
4849 Improve scheduling debug output
4850 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
4851 (advance_one_cycle): Update.
4852 (schedule_insn, queue_to_ready): Add debug printouts.
4853 (debug_ready_list_1): New static function.
4854 (debug_ready_list): Update.
4855 (max_issue): Add debug printouts.
4856 (dump_insn_stream): New static function.
4857 (schedule_block): Use it. Also better indent printouts.
4858
48592014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4860
4861 Fix sched_insn debug counter
4862 * haifa-sched.c (schedule_insn): Update.
4863 (struct haifa_saved_data): Add nonscheduled_insns_begin.
4864 (save_backtrack_point, restore_backtrack_point): Update.
4865 (first_nonscheduled_insn): New static function.
4866 (queue_to_ready, choose_ready): Use it.
4867 (schedule_block): Init nonscheduled_insns_begin.
4868 (sched_emit_insn): Update.
4869
4870
a4a182c6
KV
48712014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
4872
4873 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
4874 to GENERAL_REGS.
4875 (aarch64_secondary_reload) : LikeWise.
4876 (aarch64_class_max_nregs) : Remove CORE_REGS.
4877 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
4878 (REG_CLASS_NAMES) : Likewise.
4879 (REG_CLASS_CONTENTS) : LikeWise.
4880 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
4881
9652331a
GW
48822014-05-21 Guozhi Wei <carrot@google.com>
4883
4884 PR target/61202
4885 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
4886 constraint.
4887 (vqdmulhq_n_s16): Likewise.
4888
0bfba043
SB
48892014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
4890
4891 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
4892
1edb7356
MP
48932014-05-21 Marek Polacek <polacek@redhat.com>
4894
4895 PR sanitizer/61272
4896 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
4897
2acb1027
MJ
48982014-05-21 Martin Jambor <mjambor@suse.cz>
4899
4900 * doc/invoke.texi (Optimize Options): Document parameters
4901 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
4902 ipa-cp-array-index-hint-bonus.
4903
7315daa6
MW
49042014-05-21 Mark Wielaard <mjw@redhat.com>
4905
4906 PR debug/16063
4907 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
4908 version >= 3 or not strict DWARF.
4909 * langhooks.h (struct lang_hooks_for_types): Add
4910 enum_underlying_base_type.
4911 * langhooks.c (lhd_enum_underlying_base_type): New function.
4912 * gcc/langhooks.h (struct lang_hooks_for_types): Add
4913 enum_underlying_base_type.
4914 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
4915 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
4916 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
4917
95989e5c
RB
49182014-05-21 Richard Biener <rguenther@suse.de>
4919
d4082970 4920 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 4921
dbed5a9b
JM
49222014-05-21 John Marino <gnugcc@marino.st>
4923
4924 * config.gcc (*-*-dragonfly*): New target.
4925 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
4926 * configure: Regenerate.
4927 * config/dragonfly-stdint.h: New.
4928 * config/dragonfly.h: New.
4929 * config/dragonfly.opt: New.
4930 * config/i386/dragonfly.h: New.
4931 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
4932
632f2871
RS
49332014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4934
4935 * tree.def (VOID_CST): New.
4936 * tree-core.h (TI_VOID): New.
4937 * tree.h (void_node): New.
4938 * tree.c (tree_node_structure_for_code, tree_code_size)
4939 (iterative_hash_expr): Handle VOID_CST.
4940 (build_common_tree_nodes): Initialize void_node.
4941
8a9e6b45
BS
49422014-05-21 Bernd Schmidt <bernds@codesourcery.com>
4943
bffe67e7
BS
4944 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
4945 functions.
4946 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
4947
0836b77f
BS
4948 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
4949 more places.
4950
8a9e6b45
BS
4951 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
4952 flag_reorder_blocks_and_partition.
4953 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
4954
c4e5de1b
OE
49552014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
4956
4957 PR target/54236
4958 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
4959 constraints.
4960 (*addc_r_t): Add new insn_and_split.
4961
decaaec8
JJ
49622014-05-21 Jakub Jelinek <jakub@redhat.com>
4963
4964 PR middle-end/61252
4965 * omp-low.c (handle_simd_reference): New function.
4966 (lower_rec_input_clauses): Use it. Defer adding reference
4967 initialization even for reduction without placeholder if in simd,
4968 handle it properly later on.
4969
3aaf0529
JH
49702014-05-20 Jan Hubicka <hubicka@ucw.cz>
4971
4972 PR tree-optimization/60899
4973 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
4974 assume all static symbols will have definition wile parsing and
4975 check the do have definition later in compilation; check that
4976 variable referring symbol will be output before concluding that
4977 reference is safe; be conservative for referring local statics;
4978 be more precise about when comdat is output in other partition.
4979
1bbb87c4
JH
49802014-05-20 Jan Hubicka <hubicka@ucw.cz>
4981
4982 PR bootstrap/60984
d4082970
MT
4983 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
4984 parameter.
1bbb87c4 4985 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
4986 (ipa_inline): Loop inline_to_all_callers until no more aliases
4987 are removed.
1bbb87c4 4988
d5ce4663
JH
49892014-05-20 Jan Hubicka <hubicka@ucw.cz>
4990
4991 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
4992 set writeonly flag only for vars actually written to.
4993
98339851
DC
49942014-05-20 Dehao Chen <dehao@google.com>
4995
4996 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
4997 and callee count to get clone count.
4998 * tree-inline.c (expand_call_inline): Use callee count instead of bb
4999 count in copy_body.
5000
ec27069c
RS
50012014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
5002
5003 PR rtl-optimization/61243
5004 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
5005
2b5f0895
XDL
50062014-05-20 Xinliang David Li <davidxl@google.com>
5007
5008 * cgraphunit.c (walk_polymorphic_call_targets): Add
5009 dbgcnt and fopt-info support.
5010 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
5011 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 5012 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
5013 * ipa.c (walk_polymorphic_call_targets): Ditto.
5014 * gimple-fold.c (fold_gimple_assign): Ditto.
5015 (gimple_fold_call): Ditto.
5016 * dbgcnt.def: New counter.
5017
9c5f6203
DD
50182014-05-20 DJ Delorie <dj@redhat.com>
5019
5020 * config/msp430/msp430.md (split): Don't allow subregs when
5021 splitting SImode adds.
5022 (andneghi): Fix subtraction logic.
5023 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
5024
cf288ed3
JH
50252014-05-20 Jan Hubicka <hubicka@ucw.cz>
5026
5027 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
5028 symbols.
5029 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 5030 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
5031 align_variable, get_block_for_decl, default_section_type_flags):
5032 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
5033 * symtab.c (symtab_add_to_same_comdat_group,
5034 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
5035 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
5036 Likewise.
5037 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
5038 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
5039 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
5040 (c6x_function_in_section_p): Likewise.
5041 * config/darwin.c (machopic_select_section): Likewise.
5042 * config/arm/arm.c (arm_function_in_section_p): Likewise.
5043 * config/mips/mips.c (mips_function_rodata_section): Likewise.
5044 * config/mep/mep.c (mep_select_section): LIkewise.
5045 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
5046
7eab31ed
EB
50472014-05-20 Eric Botcazou <ebotcazou@adacore.com>
5048
5049 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
5050 EH region of calls to pure functions that can throw an exception.
5051 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
5052 (copy_reference_ops_from_call): Also copy the EH region of the call if
5053 it can throw an exception.
5054
ec217bd8
BS
50552014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5056
5057 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
5058 nested VEC_SELECTs that are inverses of each other.
5059
b2b222b3
RB
50602014-05-20 Richard Biener <rguenther@suse.de>
5061
d4082970 5062 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
5063 (extract_and_process_scc_for_name): not here.
5064 (cond_dom_walker::before_dom_children): Only process
5065 stmts that end the BB in interesting ways.
5066 (run_scc_vn): Mark param uses as visited.
5067
e9ea5185
KT
50682014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5069
5070 * config/arm/arm.md (arith_shiftsi): Do not predicate for
5071 arm_restrict_it.
5072
8f0e7f6f
NC
50732014-05-20 Nick Clifton <nickc@redhat.com>
5074
467fc67c
NC
5075 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
5076 (msp430_gimplify_va_arg_expr): New function.
5077 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
5078
8f0e7f6f
NC
5079 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
5080 operand 0 in order to prevent confusion about the number of
5081 registers involved.
5082
d1c0308e
RB
50832014-05-20 Richard Biener <rguenther@suse.de>
5084
5085 PR tree-optimization/61221
5086 * tree-ssa-pre.c (el_to_update): Remove.
5087 (eliminate_dom_walker::before_dom_children): Handle released
5088 VDEFs by value-numbering them to the associated VUSE. Update
5089 stmt immediately for substituted call address.
5090 (eliminate): Remove delayed stmt updating code.
5091 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
5092 possibly late re-numbered vuses.
5093 (vn_reference_lookup_2): Adjust.
5094 (vn_reference_lookup_pieces): Likewise.
5095 (vn_reference_lookup): Likewise.
5096
54da09ee
RB
50972014-05-20 Richard Biener <rguenther@suse.de>
5098
5099 * config.gcc: Remove need_64bit_hwint.
5100 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
5101 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
5102 it to be true.
5103 * config.in: Regenerate.
5104 * configure: Likewise.
5105
883755a1
DW
51062014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
5107
5108 * doc/extend.texi: Create Label Attributes section,
5109 move all label attributes into it and reference it.
5110
514b3156
RE
51112014-05-19 Richard Earnshaw <rearnsha@arm.com>
5112
5113 * arm.c (thumb1_reorg): When scanning backwards skip anything
5114 that's not a proper insn.
5115
1d44def2
RB
51162014-05-19 Richard Biener <rguenther@suse.de>
5117
5118 PR tree-optimization/61221
5119 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5120 Do nothing for unreachable blocks.
5121 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
5122 Improve unreachability detection.
5123
05135136
RB
51242014-05-19 Richard Biener <rguenther@suse.de>
5125
5126 PR tree-optimization/61209
5127 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
5128
40ba8dfb
NC
51292014-05-19 Nick Clifton <nickc@redhat.com>
5130
5131 * except.c (init_eh): Fix computation of builtin setjmp buffer
5132 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
5133
cb460086
RB
51342014-05-19 Richard Biener <rguenther@suse.de>
5135
5136 PR tree-optimization/61184
5137 * tree-vrp.c (is_negative_overflow_infinity): Use
5138 TREE_OVERFLOW_P and do that check first.
5139 (is_positive_overflow_infinity): Likewise.
5140 (is_overflow_infinity): Likewise.
5141 (vrp_operand_equal_p): Properly treat operands with
5142 differing overflow as not equal.
5143
bddd3671
BS
51442014-05-19 Bernd Schmidt <bernds@codesourcery.com>
5145
5146 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
5147 shift simplification where it was intended.
5148
72d82e7a
CB
51492014-05-19 Christian Bruel <christian.bruel@st.com>
5150
5151 PR target/61195
5152 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
5153
34dbb287
RS
51542014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
5155
5156 PR target/61084
5157 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
5158 than wide_int.
5159
339ba33b
RS
51602014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
5161
5162 * reg-notes.def (CROSSING_JUMP): Likewise.
5163 * rtl.h (rtx_def): Update comment for jump flag.
5164 (CROSSING_JUMP_P): Define.
5165 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
5166 of a REG_CROSSING_JUMP note.
5167 * cfghooks.c (tidy_fallthru_edges): Likewise.
5168 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
5169 * emit-rtl.c (try_split): Likewise.
5170 * haifa-sched.c (sched_create_recovery_edges): Likewise.
5171 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
5172 * jump.c (redirect_jump_2): Likewise.
5173 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
5174 (relax_delay_slots): Likewise.
5175 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
5176 (bbit_di): Likewise.
5177 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
5178 * config/sh/sh.md (jump_compact): Likewise.
5179 * bb-reorder.c (rotate_loop): Likewise.
5180 (pass_duplicate_computed_gotos::execute): Likewise.
5181 (add_reg_crossing_jump_notes): Rename to...
5182 (update_crossing_jump_flags): ...this.
5183 (pass_partition_blocks::execute): Update accordingly.
5184
a65d5b87
RS
51852014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
5186
5187 * tree.h: Remove extraneous template <>.
5188
7b3376a0
JH
51892014-05-17 Jan Hubicka <hubicka@ucw.cz>
5190
5191 * ipa.c (symtab_remove_unreachable_nodes): Remove
5192 symbol from comdat group if its body was eliminated.
d4082970
MT
5193 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
5194 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
5195 (symtab_unregister_node): ... this one.
5196 (verify_symtab_base): More strict checking of comdats.
5197 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
5198
a04d9035
JH
51992014-05-17 Jan Hubicka <hubicka@ucw.cz>
5200
5201 * tree-pass.h (make_pass_ipa_comdats): New pass.
5202 * timevar.def (TV_IPA_COMDATS): New timevar.
5203 * passes.def (pass_ipa_comdats): Add.
5204 * Makefile.in (OBJS): Add ipa-comdats.o
5205 * ipa-comdats.c: New file.
5206
24a71ba8
JH
52072014-05-17 Jan Hubicka <hubicka@ucw.cz>
5208
5209 * ipa.c (update_visibility_by_resolution_info): New function.
5210 (function_and_variable_visibility): Use it.
5211
d6d229c6
JH
52122014-05-17 Jan Hubicka <hubicka@ucw.cz>
5213
5214 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
5215 New functions.
5216 (FOR_EACH_DEFINED_SYMBOL): New macro.
5217 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
5218 varpool_first_defined_variable, varpool_next_defined_variable):
5219 Fix comments.
d6d229c6
JH
5220 (symtab_in_same_comdat_p): Correctly deal with inline functions.
5221
c3af645c
TS
52222014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5223
5224 * ggc-page.c (ggc_handle_finalizers): Add comment.
5225
de49ce19
TS
52262014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5227
5228 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
5229 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
5230 (ggc_internal_cleared_alloc): Likewise.
5231 * ggc-page.c (finalizer): New class.
16f8dfdb 5232 (vec_finalizer): Likewise.
de49ce19 5233 (globals::finalizers): New member.
16f8dfdb 5234 (globals::vec_finalizers): Likewise.
de49ce19
TS
5235 (ggc_internal_alloc): Record the finalizer if any for the block being
5236 allocated.
5237 (ggc_handle_finalizers): New function.
5238 (ggc_collect): Call ggc_handle_finalizers.
5239 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
5240 finalizer.
5241 (ggc_internal_cleared_alloc): Likewise.
5242 (finalize): New function.
5243 (need_finalization_p): Likewise.
5244 (ggc_alloc): Install the type's destructor as the finalizer if it
5245 might do something.
5246 (ggc_cleared_alloc): Likewise.
5247 (ggc_vec_alloc): Likewise.
5248 (ggc_cleared_vec_alloc): Likewise.
5249
04eec987
TS
52502014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5251
5252 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
5253
766090c2
TS
52542014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5255
5256 * alias.c (record_alias_subset): Adjust.
5257 * bitmap.c (bitmap_element_allocate): Likewise.
5258 (bitmap_gc_alloc_stat): Likewise.
5259 * cfg.c (init_flow): Likewise.
5260 (alloc_block): Likewise.
5261 (unchecked_make_edge): Likewise.
5262 * cfgloop.c (alloc_loop): Likewise.
5263 (flow_loops_find): Likewise.
5264 (rescan_loop_exit): Likewise.
5265 * cfgrtl.c (init_rtl_bb_info): Likewise.
5266 * cgraph.c (insert_new_cgraph_node_version): Likewise.
5267 (cgraph_allocate_node): Likewise.
5268 (cgraph_create_edge_1): Likewise.
5269 (cgraph_allocate_init_indirect_info): Likewise.
5270 * cgraphclones.c (cgraph_clone_edge): Likewise.
5271 * cgraphunit.c (add_asm_node): Likewise.
5272 (init_lowered_empty_function): Likewise.
16f8dfdb 5273 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
5274 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
5275 (alpha_use_linkage): Likewise.
5276 * config/arc/arc.c (arc_init_machine_status): Likewise.
5277 * config/arm/arm.c (arm_init_machine_status): Likewise.
5278 * config/avr/avr.c (avr_init_machine_status): Likewise.
5279 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
5280 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
5281 * config/cris/cris.c (cris_init_machine_status): Likewise.
5282 * config/darwin.c (machopic_indirection_name): Likewise.
5283 (darwin_build_constant_cfstring): Likewise.
5284 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 5285 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
5286 * config/frv/frv.c (frv_init_machine_status): Likewise.
5287 * config/i386/i386.c (get_dllimport_decl): Likewise.
5288 (ix86_init_machine_status): Likewise.
5289 (assign_386_stack_local): Likewise.
16f8dfdb 5290 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
5291 (i386_pe_maybe_record_exported_symbol): Likewise.
5292 (i386_pe_record_stub): Likewise.
5293 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
5294 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
5295 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
5296 (m32c_note_pragma_address): Likewise.
5297 * config/mep/mep.c (mep_init_machine_status): Likewise.
5298 (mep_note_pragma_flag): Likewise.
5299 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
5300 (mips16_local_alias): Likewise.
5301 (mips_init_machine_status): Likewise.
5302 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
5303 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
5304 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
5305 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
5306 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
5307 * config/pa/pa.c (pa_init_machine_status): Likewise.
5308 (pa_get_deferred_plabel): Likewise.
5309 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
5310 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
5311 (rs6000_init_machine_status): Likewise.
5312 (output_toc): Likewise.
5313 * config/s390/s390.c (s390_init_machine_status): Likewise.
5314 * config/score/score.c (score_output_external): Likewise.
5315 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
5316 * config/spu/spu.c (spu_init_machine_status): Likewise.
5317 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 5318 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
5319 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
5320 * coverage.c (coverage_end_function): Likewise.
5321 * dbxout.c (dbxout_init): Likewise.
5322 * doc/gty.texi: Don't mention variable_size attribute.
5323 * dwarf2cfi.c (new_cfi): Adjust.
5324 (new_cfi_row): Likewise.
5325 (copy_cfi_row): Likewise.
5326 (create_cie_data): Likewise.
5327 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
5328 (new_loc_descr): Likewise.
5329 (find_AT_string_in_table): Likewise.
5330 (add_addr_table_entry): Likewise.
5331 (new_die): Likewise.
5332 (add_var_loc_to_decl): Likewise.
5333 (clone_die): Likewise.
5334 (clone_as_declaration): Likewise.
5335 (break_out_comdat_types): Likewise.
5336 (new_loc_list): Likewise.
5337 (add_loc_descr_to_each): Likewise.
5338 (add_location_or_const_value_attribute): Likewise.
5339 (add_linkage_name): Likewise.
5340 (lookup_filename): Likewise.
5341 (dwarf2out_var_location): Likewise.
5342 (new_line_info_table): Likewise.
5343 (dwarf2out_init): Likewise.
5344 (mem_loc_descriptor): Likewise.
5345 (loc_descriptor): Likewise.
5346 (add_const_value_attribute): Likewise.
5347 (tree_add_const_value_attribute): Likewise.
5348 (comp_dir_string): Likewise.
5349 (dwarf2out_vms_debug_main_pointer): Likewise.
5350 (string_cst_pool_decl): Likewise.
5351 * emit-rtl.c (set_mem_attrs): Likewise.
5352 (get_reg_attrs): Likewise.
5353 (start_sequence): Likewise.
5354 (init_emit): Likewise.
5355 (init_emit_regs): Likewise.
5356 * except.c (init_eh_for_function): Likewise.
5357 (gen_eh_region): Likewise.
5358 (gen_eh_region_catch): Likewise.
5359 (gen_eh_landing_pad): Likewise.
5360 (add_call_site): Likewise.
5361 * function.c (add_frame_space): Likewise.
5362 (insert_temp_slot_address): Likewise.
5363 (assign_stack_temp_for_type): Likewise.
5364 (get_hard_reg_initial_val): Likewise.
5365 (allocate_struct_function): Likewise.
5366 (prepare_function_start): Likewise.
5367 (types_used_by_var_decl_insert): Likewise.
5368 * gengtype.c (variable_size_p): Remove function.
5369 (enum alloc_quantity): Remove enum.
5370 (write_typed_alloc_def): Remove function.
5371 (write_typed_struct_alloc_def): Likewise.
5372 (write_typed_typedef_alloc_def): Likewise.
5373 (write_typed_alloc_defns): Likewise.
5374 (main): Adjust.
5375 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
5376 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
5377 * ggc.h (ggc_alloc): new function.
5378 (ggc_cleared_alloc): Likewise.
5379 (ggc_vec_alloc): Template on type of vector element, and remove
5380 element size argument.
5381 (ggc_cleared_vec_alloc): Likewise.
5382 * gimple.c (gimple_build_omp_for): Adjust.
5383 (gimple_copy): Likewise.
5384 * ipa-cp.c (get_replacement_map): Likewise.
5385 (find_aggregate_values_for_callers_subset): Likewise.
5386 (known_aggs_to_agg_replacement_list): Likewise.
5387 * ipa-devirt.c (get_odr_type): Likewise.
5388 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
5389 (read_agg_replacement_chain): Likewise.
5390 * loop-iv.c (get_simple_loop_desc): Likewise.
5391 * lto-cgraph.c (input_node_opt_summary): Likewise.
5392 * lto-section-in.c (lto_new_in_decl_state): Likewise.
5393 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
5394 (input_eh_region): Likewise.
5395 (input_eh_lp): Likewise.
5396 (input_cfg): Likewise.
5397 * optabs.c (set_optab_libfunc): Likewise.
5398 (init_tree_optimization_optabs): Likewise.
5399 (set_conv_libfunc): Likewise.
5400 * passes.c (do_per_function_toporder): Likewise.
5401 * rtl.h: Don't use variable_size gty attribute.
5402 * sese.c (if_region_set_false_region): Adjust.
5403 * stringpool.c (gt_pch_save_stringpool): Likewise.
5404 * target-globals.c (save_target_globals): Likewise.
5405 * toplev.c (general_init): Likewise.
5406 * trans-mem.c (record_tm_replacement): Likewise.
5407 (split_bb_make_tm_edge): Likewise.
5408 * tree-cfg.c (move_sese_region_to_fn): Likewise.
5409 * tree-data-ref.h (lambda_vector_new): Likewise.
5410 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
5411 * tree-iterator.c (tsi_link_before): Likewise.
5412 (tsi_link_after): Likewise.
5413 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
5414 * tree-ssa-loop-niter.c (record_estimate): Likewise.
5415 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
5416 * tree-ssa-operands.h: Don't use variable_size gty attribute.
5417 * tree-ssa.c (init_tree_ssa): Adjust.
5418 * tree-ssanames.c (set_range_info): Likewise.
5419 (get_ptr_info): Likewise.
5420 (duplicate_ssa_name_ptr_info): Likewise.
5421 (duplicate_ssa_name_range_info): Likewise.
5422 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
5423 (unpack_ts_fixed_cst_value_fields): Likewise.
5424 * tree.c (build_fixed): Likewise.
5425 (build_real): Likewise.
5426 (build_string): Likewise.
5427 (decl_priority_info): Likewise.
5428 (decl_debug_expr_insert): Likewise.
5429 (decl_value_expr_insert): Likewise.
5430 (decl_debug_args_insert): Likewise.
5431 (type_hash_add): Likewise.
5432 (build_omp_clause): Likewise.
5433 * ubsan.c (decl_for_type_insert): Likewise.
5434 * varasm.c (get_unnamed_section): Likewise.
5435 (get_noswitch_section): Likewise.
5436 (get_section): Likewise.
5437 (get_block_for_section): Likewise.
5438 (create_block_symbol): Likewise.
5439 (build_constant_desc): Likewise.
5440 (create_constant_pool): Likewise.
5441 (force_const_mem): Likewise.
5442 (record_tm_clone_pair): Likewise.
5443 * varpool.c (varpool_create_empty_node): Likewise.
5444
231120e5
TS
54452014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5446
5447 * dwarf2out.c (tree_add_const_value_attribute): Call
5448 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
5449 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
5450 instead of ggc_internal_<x>alloc_stat.
5451 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
5452 (ggc_realloc): Likewise.
5453 * ggc-none.c (ggc_internal_alloc): Likewise.
5454 (ggc_internal_cleared_alloc): Likewise.
5455 * ggc-page.c: Likewise.
5456 * ggc.h (ggc_internal_alloc_stat): Likewise.
5457 (ggc_internal_alloc): Remove macro.
5458 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
5459 (ggc_internal_cleared_alloc): Remove macro.
5460 (GGC_RESIZEVEC): Adjust.
5461 (ggc_resizevar): Remove macro.
5462 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
5463 (ggc_internal_cleared_vec_alloc_stat): Likewise.
5464 (ggc_internal_vec_cleared_alloc): Remove macro.
5465 (ggc_alloc_atomic_stat): Drop _stat suffix.
5466 (ggc_alloc_atomic): Remove macro.
5467 (ggc_alloc_cleared_atomic): Remove macro.
5468 (ggc_alloc_string_stat): Drop _stat suffix.
5469 (ggc_alloc_string): Remove macro.
5470 (ggc_alloc_rtx_def_stat): Adjust.
5471 (ggc_alloc_tree_node_stat): Likewise.
5472 (ggc_alloc_cleared_tree_node_stat): Likewise.
5473 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
5474 (ggc_alloc_cleared_simd_clone_stat): Likewise.
5475 * gimple.c (gimple_build_omp_for): Likewise.
5476 (gimple_copy): Likewise.
5477 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
5478 * toplev.c (realloc_for_line_map): Adjust.
5479 * tree-data-ref.h (lambda_vector_new): Likewise.
5480 * tree-phinodes.c (allocate_phi_node): Likewise.
5481 * tree.c (grow_tree_vec_stat): Likewise.
5482 * vec.h (va_gc::reserve): Adjust.
5483
16f8dfdb 54842014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 5485
16f8dfdb
UB
5486 * config/microblaze/microblaze.c (break_handler): New Declaration.
5487 (microblaze_break_function_p,microblaze_is_break_handler): New.
5488 (compute_frame_size): Use microblaze_break_function_p.
5489 Add the test of break_handler.
5490 (microblaze_function_prologue) : Add the test of variable
5491 break_handler. Check the fnname by BREAK_HANDLER_NAME.
5492 (microblaze_function_epilogue) : Add the test of break_handler.
5493 (microblaze_globalize_label) : Add the test of break_handler.
5494 Check the name by BREAK_HANDLER_NAME.
86498dba 5495
16f8dfdb 5496 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 5497
16f8dfdb
UB
5498 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
5499 microblaze_is_break_handler test.
5500 (call_internal1,call_value_intern): Use microblaze_break_function_p.
5501 Use SYMBOL_REF_DECL.
86498dba
AA
5502
5503 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
5504 (microblaze_break_function_p,microblaze_is_break_handler):
5505 New Declaration.
86498dba 5506
16f8dfdb
UB
5507 * doc/extend.texi (MicroBlaze break_handler Functions): Document
5508 new MicroBlaze break_handler functions.
86498dba 5509
71ca3028
UB
55102014-05-17 Uros Bizjak <ubizjak@gmail.com>
5511
5512 * doc/extend.texi (Size of an asm): Move node text according
5513 to its @menu entry position.
5514
87a34442
MG
55152014-05-17 Marc Glisse <marc.glisse@inria.fr>
5516
5517 PR tree-optimization/61140
5518 PR tree-optimization/61150
5519 PR tree-optimization/61197
5520 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
5521
6ca74b5c
UB
55222014-05-17 Uros Bizjak <ubizjak@gmail.com>
5523
5524 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
5525
60f82c42
RS
55262014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
5527
5528 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
5529 __SIZEOF_INT128__ is defined.
5530
a1242f17
RS
55312014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
5532
5533 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
5534 (rs6000_delegitimize_address): Use it.
5535
23b33725
RS
55362014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
5537
5538 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
5539 inplace argument. Store the new address in the original MEM when true.
5540 * emit-rtl.c (change_address_1): Likewise.
5541 (adjust_address_1, adjust_automodify_address_1, offset_address):
5542 Update accordingly.
5543 * rtl.h (plus_constant): Add an inplace argument.
5544 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
5545 when true. Avoid generating (plus X (const_int 0)).
5546 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
5547 in-place. Pass true to plus_constant.
5548 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
5549
2f6eed01
DC
55502014-05-16 Dehao Chen <dehao@google.com>
5551
5552 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
5553
b200de02
OE
55542014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
5555
5556 PR target/54089
5557 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
5558 patterns.
5559 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
5560
cf40f973
DC
55612014-05-16 Dehao Chen <dehao@google.com>
5562
6b8ebd00
UB
5563 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
5564 optimize_function_for_size_p.
cf40f973
DC
5565 * regs.h (REG_FREQ_FROM_BB): Likewise.
5566
48d8568e
OE
55672014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
5568
5569 PR target/51244
5570 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
5571 negt_reg_operand cases.
5572 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
5573 predicate.
5574 * config/sh/predicates.md (cbranch_treg_value): Simplify.
5575
d580af0f
OE
55762014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
5577
5578 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
5579 target variants.
5580
6c7571a2
DM
55812014-05-16 David Malcolm <dmalcolm@redhat.com>
5582
5583 Revert:
5584 2014-04-29 David Malcolm <dmalcolm@redhat.com>
5585
5586 * tree-cfg.c (dump_function_to_file): Dump the return type of
5587 functions, in a line to itself before the function body, mimicking
5588 the layout of a C function.
5589
b0e66512
DC
55902014-05-16 Dehao Chen <dehao@google.com>
5591
5592 * cfghooks.c (make_forwarder_block): Use direct computation to
5593 get fall-through edge's count and frequency.
5594
6b8ebd00 55952014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
5596
5597 * config/arc/arc.c (arc_init): Fix typo in error message.
5598 * config/i386/i386.c (ix86_expand_builtin): Likewise.
5599 (split_stack_prologue_scratch_regno): Likewise.
5600 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
5601 word from error message.
5602
420ab54b
ZZ
56032014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
5604
5605 * ira-costs.c: Fix typo in comment.
5606
8e90f610
DW
56072014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
5608
6b8ebd00 5609 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 5610
6de88c6a
JH
56112014-05-16 Jan Hubicka <hubicka@ucw.cz>
5612
5613 * varpool.c (dump_varpool_node): Dump write-only flag.
5614 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
5615 write-only flag.
6b8ebd00
UB
5616 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
5617 write-only variables.
5618 * ipa.c (process_references): New function.
5619 (set_readonly_bit): New function.
5620 (set_writeonly_bit): New function.
5621 (clear_addressable_bit): New function.
5622 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
5623 fix handling of aliases.
5624 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 5625
f4e075e7
VM
56262014-05-16 Vladimir Makarov <vmakarov@redhat.com>
5627
5628 PR rtl-optimization/60969
5629 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
5630 Calculate costs for this case.
5631
8b628e86
EB
56322014-05-16 Eric Botcazou <ebotcazou@adacore.com>
5633
5634 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
5635 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
5636
52264dbf
RB
56372014-05-16 Richard Biener <rguenther@suse.de>
5638
5639 PR tree-optimization/61194
5640 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
5641 bool patterns ending in a COND_EXPR.
5642
3d840f7d
JG
56432014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5644
5645 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
5646
88d4fbcf
JG
56472014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5648
5649 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
5650 where we were unable to cost an RTX.
5651
909734be
JG
56522014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5653
5654 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
5655 HIGH, LO_SUM.
5656
fb620c4a
JG
56572014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5658 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5659
5660 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
5661
b292109f
JG
56622014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5663 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5664
5665 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
5666 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
5667
a8eecd00
JG
56682014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5669 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5670
5671 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
5672 operators.
5673
4105fe38
JG
56742014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5675 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5676
5677 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
5678 DIV/MOD.
5679
56802014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
5681 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5682
5683 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
5684 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
5685
ba0cfa17
JG
56862014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5687 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5688
5689 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
5690 rotates and shifts.
5691
b1685e62
JG
56922014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5693 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5694
5695 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
5696 ZERO_EXTEND and SIGN_EXTEND better.
5697
268c3b47
JG
56982014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5699 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5700
5701 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
5702 logical operations.
5703
2961177e
JG
57042014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5705 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5706
5707 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
5708 costs when costing loads and stores to memory.
5709
ba123b0d
JG
57102014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5711 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
5712
5713 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
5714 for SET RTX.
5715
7fc5ef02
JG
57162014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5717
5718 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
5719
4745e701
JG
57202014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5721 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5722
5723 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
5724 to...
5725 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
5726 well formed.
5727 (aarch64_rtx_mult_cost): New.
5728 (aarch64_rtx_costs): Use it, refactor as appropriate.
5729
9dfc162c
JG
57302014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5731 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5732
5733 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
5734 emit instructions, return number of instructions which would
5735 be emitted.
5736 (aarch64_add_constant): Update call to aarch64_build_constant.
5737 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 5738 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
5739 a CONST_DOUBLE.
5740
0ee859b5
JG
57412014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5742
5743 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
5744 (TARGET_RTX_COSTS): Call it.
5745
60bff090
JG
57462014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5747
5748 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
5749 (cortexa57_vector_cost): Likewise.
5750 (cortexa57_tunings): Use them.
5751
67747367
JG
57522014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5753
5754 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
5755 (cpu_addrcost_table): Use it.
5756 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
5757 (aarch64_address_cost): Rewrite using aarch64_classify_address,
5758 move it.
5759
a764d660
RB
57602014-05-16 Richard Biener <rguenther@suse.de>
5761
5762 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
5763 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
5764 (visit_phi): Ignore edges marked as not executable.
5765 (class cond_dom_walker): New.
5766 (cond_dom_walker::before_dom_children): Value-number
5767 control statements and mark successor edges as not
5768 executable if possible.
5769 (run_scc_vn): First walk all control statements in
5770 dominator order, marking edges as not executable.
5771 * tree-inline.c (copy_edges_for_bb): Be not confused
5772 about random edge flags.
5773
a27c3860
RB
57742014-05-16 Richard Biener <rguenther@suse.de>
5775
5776 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
5777
d8c55b91
PB
57782014-05-15 Peter Bergner <bergner@vnet.ibm.com>
5779
5780 PR target/61193
5781 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
5782 (__TM_simple_begin): Use it.
5783 (__TM_begin): Likewise.
5784
8a2256dd
MJ
57852014-05-15 Martin Jambor <mjambor@suse.cz>
5786
5787 PR ipa/61085
5788 * ipa-prop.c (update_indirect_edges_after_inlining): Check
5789 type_preserved flag when the indirect edge is polymorphic.
5790
9d2681a3
MJ
57912014-05-15 Martin Jambor <mjambor@suse.cz>
5792
5793 PR tree-optimization/61090
5794 * tree-sra.c (sra_modify_expr): Pass the current gsi to
5795 build_ref_for_model.
5796
927450d0
KT
57972014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5798
5799 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
5800 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
5801
ceed6e67
JJ
58022014-05-15 Jakub Jelinek <jakub@redhat.com>
5803
5804 PR tree-optimization/61158
5805 * fold-const.c (fold_binary_loc): If X is zero-extended and
5806 shiftc >= prec, make sure zerobits is all ones instead of
5807 invoking undefined behavior.
5808
a2e6c10c
ZC
58092014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5810
5811 * regcprop.h: New file.
5812 * regcprop.c (skip_debug_insn_p): New decl.
5813 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
5814 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
5815 * shrink-wrap.c: Include regcprop.h.
5816 (prepare_shrink_wrap): Call
5817 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 5818
e974b93b
ZC
58192014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5820
5821 * shrink-wrap.h: Update comment.
5822 * shrink-wrap.c: Update comment.
5823 (next_block_for_reg): Rename to live_edge_for_reg.
5824 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
5825 (move_insn_for_shrink_wrap): Split live_edge.
5826 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
5827
88fe5e91
EB
58282014-05-14 Eric Botcazou <ebotcazou@adacore.com>
5829
5830 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
5831 Delete.
5832 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
5833 * config/sparc/sparc.md (fptype_ut699): New attribute.
5834 (in_branch_delay): Return false if -mfix-ut699 is specified and
5835 fptype_ut699 is set to single.
5836 (truncdfsf2): Add fptype_ut699 attribute.
5837 (fix_truncdfsi2): Likewise.
5838 (floatsisf2): Change fptype attribute.
5839 (fix_truncsfsi2): Likewise.
5840 (negtf2_notv9): Delete.
5841 (negtf2_v9): Likewise.
5842 (negtf2_hq): New instruction.
5843 (negtf2): New instruction and splitter.
5844 (negdf2_notv9): Rewrite.
5845 (abstf2_notv9): Delete.
5846 (abstf2_hq_v9): Likewise.
5847 (abstf2_v9): Likewise.
5848 (abstf2_hq): New instruction.
5849 (abstf2): New instruction and splitter.
5850 (absdf2_notv9): Rewrite.
5851
bc91b0e0
CC
58522014-05-14 Cary Coutant <ccoutant@google.com>
5853
6b8ebd00 5854 PR debug/61013
bc91b0e0
CC
5855 * opts.c (common_handle_option): Don't special-case "-g".
5856 (set_debug_level): Default to at least level 2 with "-g".
5857
5f35dde5
DD
58582014-05-14 DJ Delorie <dj@redhat.com>
5859
5860 * config/msp430/msp430.c (msp430_builtin): Add
5861 MSP430_BUILTIN_DELAY_CYCLES.
5862 (msp430_init_builtins): Register void __delay_cycles(long long).
5863 (msp430_builtin_decl): Add it.
5864 (cg_magic_constant): New.
5865 (msp430_expand_delay_cycles): New.
5866 (msp430_expand_builtin): Call it.
5867 (msp430_print_operand_raw): Change integer printing from "int" to
5868 HOST_WIDE_INT.
5869 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
5870 (delay_cycles_start): New.
5871 (delay_cycles_end): New.
5872 (delay_cycles_32): New.
5873 (delay_cycles_32x): New.
5874 (delay_cycles_16): New.
5875 (delay_cycles_16x): New.
5876 (delay_cycles_2): New.
5877 (delay_cycles_1): New.
5878 * doc/extend.texi: Document __delay_cycles().
5879
5d40b20f
SL
58802014-05-14 Sandra Loosemore <sandra@codesourcery.com>
5881
5882 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
5883 length attribute computation.
5884
25109109
RS
58852014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
5886
5887 PR debug/61188
5888 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
5889
7e7e4032
RS
58902014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
5891
5892 PR target/61084
5893 * config/sparc/sparc.md: Fix types of low and high in DI constant
5894 splitter. Use gen_int_mode in some other splitters.
5895
70d6d5c1
MJ
58962014-05-14 Martin Jambor <mjambor@suse.cz>
5897
5898 PR ipa/60897
5899 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
5900
23b02de3
JN
59012014-05-14 James Norris <jnorris@codesourcery.com>
5902
5903 * omp-low.c (expand_parallel_call): Remove shadow variable.
5904 (expand_omp_taskreg): Likewise.
5905
9cdea277
IT
59062014-05-14 Ilya Tocar <ilya.tocar@intel.com>
5907
5908 * common/config/i386/i386-common.c
5909 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
5910 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
5911 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
5912 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
5913 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
5914 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 5915 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
5916 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
5917 xsavecintrin.h, xsavesintrin.h.
5918 (x86_64-*-*): Ditto.
5919 * config/i386/clflushoptintrin.h: New.
5920 * config/i386/xsavecintrin.h: Ditto.
5921 * config/i386/xsavesintrin.h: Ditto.
5922 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
5923 (bit_XSAVES): Ditto.
5924 (bit_XSAVES): Ditto.
5925 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
5926 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
5927 -mno-clflushopt.
5928 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
5929 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
5930 OPTION_MASK_ISA_XSAVES.
5931 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
5932 -mxsavec, -mxsaves.
5933 (PTA_CLFLUSHOPT) Define.
5934 (PTA_XSAVEC): Ditto.
5935 (PTA_XSAVES): Ditto.
5936 (ix86_option_override_internal): Handle new options.
5937 (ix86_valid_target_attribute_inner_p): Ditto.
5938 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
5939 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
5940 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
5941 (bdesc_special_args): Add __builtin_ia32_xsaves,
5942 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
5943 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
5944 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
5945 (ix86_expand_builtin): Handle new builtins.
5946 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
5947 (TARGET_CLFLUSHOPT_P): Ditto.
5948 (TARGET_XSAVEC): Ditto.
5949 (TARGET_XSAVEC_P): Ditto.
5950 (TARGET_XSAVES): Ditto.
5951 (TARGET_XSAVES_P): Ditto.
5952 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
5953 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
5954 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
5955 (ANY_XRSTOR): New.
5956 (ANY_XRSTOR64): Ditto.
5957 (xrstor): Ditto.
5958 (xrstor): Change into <xrstor>.
5959 (xrstor_rex64): Change into <xrstor>_rex64.
5960 (xrstor64): Change into <xrstor>64
5961 (clflushopt): New.
5962 * config/i386/i386.opt (mclflushopt): New.
5963 (mxsavec): Ditto.
5964 (mxsaves): Ditto.
5965 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
5966 xsavecintrin.h.
5967 * doc/invoke.texi: Document new options.
5968
92e265ac
AB
59692014-05-14 Andrey Belevantsev <abel@ispras.ru>
5970
5971 PR rtl-optimization/60866
5972 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
5973 Default it to -1. Pass it down to init_simplejump_data.
5974 (init_simplejump_data): New parameter old_seqno. Pass it down
5975 to get_seqno_for_a_jump.
5976 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
5977 initializing new jump seqno as a last resort. Add comment.
5978 (sel_redirect_edge_and_branch): Save old seqno of the conditional
5979 jump and pass it down to sel_init_new_insn.
5980 (sel_redirect_edge_and_branch_force): Likewise.
5981
fa96aa45
GJL
59822014-05-14 Georg-Johann Lay <avr@gjlay.de>
5983
5984 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
5985 shifted values to avoid build warning.
5986
8a829274
EB
59872014-05-14 Eric Botcazou <ebotcazou@adacore.com>
5988
5989 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
5990 * cfgrtl.c (rtl_merge_blocks): Fix comment.
5991 (cfg_layout_merge_blocks): Likewise.
5992 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
5993
11290308
AB
59942014-05-14 Andrey Belevantsev <abel@ispras.ru>
5995
5996 PR rtl-optimization/60901
5997 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
5998 bb predecessor belongs to the same scheduling region. Adjust comment.
5999
f4853e92
PB
60002014-05-13 Peter Bergner <bergner@vnet.ibm.com>
6001
6002 * doc/sourcebuild.texi: (dfp_hw): Document.
6003 (p8vector_hw): Likewise.
6004 (powerpc_eabi_ok): Likewise.
6005 (powerpc_elfv2): Likewise.
6006 (powerpc_htm_ok): Likewise.
6007 (ppc_recip_hw): Likewise.
6008 (vsx_hw): Likewise.
6009
bd5c3baa
CC
60102014-05-13 Cary Coutant <ccoutant@google.com>
6011
6012 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
6013
9aa54cc9
DM
60142014-05-13 David Malcolm <dmalcolm@redhat.com>
6015
6016 * gengtype-parse.c (require3): Eliminate in favor of...
6017 (require4): New.
6018 (require_template_declaration): Update to support optional single *
6019 on a type.
6020
6021 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
6022 (create_user_defined_type): Handle a single level of explicit
6023 pointerness within template arguments.
6024 (struct write_types_data): Add field "kind".
6025 (filter_type_name): Handle "*" character.
6026 (write_user_func_for_structure_ptr): Require a write_types_data
6027 rather than just a prefix string, so that we can look up the kind
6028 of the wtd and use it as an index into wrote_user_func_for_ptr,
6029 ensuring that such functions are written at most once. Support
6b8ebd00 6030 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
6031 (write_user_func_for_structure_body): Require a write_types_data
6032 rather than just a prefix string, so that we can pass this to
6033 write_user_func_for_structure_ptr.
6034 (write_func_for_structure): Likewise.
6035 (ggc_wtd): Add initializer of new "kind" field.
6036 (pch_wtd): Likewise.
6037
6038 * gengtype.h (enum write_types_kinds): New.
6039 (struct type): Add field wrote_user_func_for_ptr to the "s"
6040 union member.
6041
5c0f009c
RS
60422014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
6043
6044 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
6045 instead of const_binop.
6046 (fold_binary_loc): Likewise.
6047
460d1e22
RS
60482014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
6049
6050 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
6051 calculation to match get_ref_base_and_extent.
6052
1e1f96b5
CM
60532014-05-13 Catherine Moore <clm@codesourcery.com>
6054 Sandra Loosemore <sandra@codesourcery.com>
6055
6056 * configure.ac: Fix assembly for explicit JALR relocation check.
6057 * configure: Regenerate.
6058
411f86ad
KT
60592014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6060
6061 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
6062 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
6063 Remove associated type declarations and initialisations.
6064 (arm_expand_neon_builtin): Likewise.
6065 (neon_emit_pair_result_insn): Delete.
6066 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
6067 * config/arm/neon.md (neon_vtrn<mode>): Delete.
6068 (neon_vzip<mode>): Likewise.
6069 (neon_vuzp<mode>): Likewise.
6070
6b77934e
RB
60712014-05-13 Richard Biener <rguenther@suse.de>
6072
6073 PR ipa/60973
6074 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
6075 it needs revisiting whether the call still may be tail-called.
6076
da3cd113
RS
60772014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6078
6079 * rtl.def (SYMBOL_REF): Remove middle "0" field.
6080 * rtl.h (block_symbol): Reduce number of fields to 2.
6081 (rtx_def): Add u2.symbol_ref_flags.
6082 (SYMBOL_REF_FLAGS): Use it.
6083 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
6084 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
6085 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
6086 Lower index of SYMBOL_REF_DATA.
6087 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
6088 Print SYMBOL_REF_FLAGS at the same time.
6089 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
6090
fcc74520
RS
60912014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6092
6093 * rtl.def (VAR_LOCATION): Remove "i" field.
6094 * rtl.h (rtx_def): Add u2.var_location_status.
6095 (PAT_VAR_LOCATION_STATUS): Use it.
6096 (gen_rtx_VAR_LOCATION): Declare.
6097 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
6098 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
6099 * var-tracking.c (emit_note_insn_var_location): Remove casts.
6100
feb09dd9
RS
61012014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6102
6103 * rtl.def (scratch): Fix outdated comment and remove "0" field.
6104 * gengtype.c (adjust_field_rtx_def): Update accordingly.
6105
ed8921dc
RS
61062014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6107
6108 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
6109 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
6110 * rtl.h (rtx_def): Add insn_uid to u2 field.
6111 (RTX_FLAG_CHECK8): Delete in favor of...
6112 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
6113 (INSN_DELETED_P): Update accordingly.
6114 (INSN_UID): Use u2.insn_uid.
6115 (INSN_CHAIN_CODE_P): Define.
6116 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
6117 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
6118 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
6119 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
6120 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
6121 indices accordingly.
6122 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
6123 Update indices for insn-chain rtxes.
6124 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
6125 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
6126 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
6127 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
6128 * combine.c (try_combine): Likewise.
6129 * ira.c (setup_prohibited_mode_move_regs): Likewise.
6130
fccc5515
RS
61312014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6132
6133 * rtl.def (REG): Remove middle field.
6134 * rtl.h (rtx_def): Add orignal_regno to u2.
6135 (ORIGINAL_REGNO): Use it instead of field 1.
6136 (REG_ATTRS): Lower field index accordingly.
6137 * gengtype.c (adjust_field_rtx_def): Remove handling of
6138 ORIGINAL_REGNO. Move REG_ATTRS index down.
6139 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
6140 code that prints the REGNO.
6141
925c1bae
RS
61422014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6143
6144 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
6145 GENERATOR_FILE.
6146
13b0c5ac
RS
61472014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6148
6149 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
6150
be9a0da5
BC
61512014-05-13 Bin Cheng <bin.cheng@arm.com>
6152
6153 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
6154 (alloc_iv): Lower base expressions containing ADDR_EXPR.
6155
73d9ac6a
IB
61562014-05-13 Ian Bolton <ian.bolton@arm.com>
6157
6158 * config/aarch64/aarch64-protos.h
6159 (aarch64_hard_regno_caller_save_mode): New prototype.
6160 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
6161 New function.
6162 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
6163
06b90602
CB
61642014-05-13 Christian Bruel <christian.bruel@st.com>
6165
6166 * target.def (mode_switching): New hook vector.
6167 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
6168 (mode_exit, modepriority_to_mode): Likewise.
6169 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
6170 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
6171 * target.h: Include tm.h and hard-reg-set.h.
6172 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
6173 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
6174 * doc/tm.texi Regenerate.
6175 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
6176 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
6177 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
6178 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
6179 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
6180 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
6181 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
6182 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
6183 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
6184 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
6185 (ix86_emit_mode_set): Hookify.
06b90602 6186 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 6187 Delete.
06b90602 6188 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
6189 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
6190 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
6191 (epiphany_mode_priority_to_mode): Remove declaration.
6192 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
6193 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
6194 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
6195 Likewise.
6b8ebd00 6196 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
6197 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
6198 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
6199
455464ab
JJ
62002014-05-13 Jakub Jelinek <jakub@redhat.com>
6201
6202 PR target/61060
6203 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
6204 is const0_rtx, return immediately. Don't test count == 0 when
6205 it is always true.
6206
f30e25a3
ZC
62072014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6208
6209 * Makefile.in: add shrink-wrap.o.
6210 * config/i386/i386.c: include "shrink-wrap.h"
6211 * function.c: Likewise.
6212 (requires_stack_frame_p, next_block_for_reg,
6213 move_insn_for_shrink_wrap, prepare_shrink_wrap,
6214 dup_block_and_redirect): Move to shrink-wrap.c
6215 (thread_prologue_and_epilogue_insns): Extract three code segments
6216 as functions in shrink-wrap.c
6217 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
6218 shrink-wrap.h
6219 * shrink-wrap.c: New file.
6220 * shrink-wrap.h: New file.
6221
f95c6a78
DW
62222014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
6223
6224 * doc/extend.texi: Reflect current numbers of pragmas. Remove
6225 reference to Solaris.
6226
77a1da2c
MS
62272014-05-12 Mike Stump <mikestump@comcast.net>
6228
6229 PR other/31778
6230 * genattrtab.c (filename): Add.
6231 (convert_set_attr_alternative): Improve error message.
6232 (check_defs): Restore read_md_filename for error messages.
6233 (gen_insn): Save filename.
6234
dff8943f
DP
62352014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
6236
6237 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
6238 -fno-local-ivars and -fivar-visibility.
6239 * c-family/c.opt: Make -Wshadow also implicitly enable
6240 -Wshadow-ivar.
6241
6b8ebd00 62422014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
6243
6244 * doc/tm.texi: Remove reference to deleted macro.
6245 * doc/tm.texi.in: Likewise.
6246
079f1420
SKS
62472014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6248
6249 PR target/60991
6250 * config/avr/avr.c (avr_out_store_psi): Use correct constant
6251 to restore Y.
6252
999db125
GJL
62532014-05-12 Georg-Johann Lay <avr@gjlay.de>
6254
a5024e01 6255 PR libgcc/61152
999db125
GJL
6256 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
6257 * config/arm/aout.h (License): Same.
6258 * config/arm/bpabi.h (License): Same.
6259 * config/arm/elf.h (License): Same.
6260 * config/arm/linux-elf.h (License): Same.
6261 * config/arm/linux-gas.h (License): Same.
6262 * config/arm/netbsd-elf.h (License): Same.
6263 * config/arm/uclinux-eabi.h (License): Same.
6264 * config/arm/uclinux-elf.h (License): Same.
6265 * config/arm/vxworks.h (License): Same.
6266
dd2fc525
JJ
62672014-05-11 Jakub Jelinek <jakub@redhat.com>
6268
6269 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
6270 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
6271 number of operands to 3.
6272 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
6273 * tree-nested.c (convert_nonlocal_omp_clauses,
6274 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
6275 * gimplify.c (gimplify_scan_omp_clauses): Handle
6276 OMP_CLAUSE_LINEAR_STMT.
6277 * omp-low.c (lower_rec_input_clauses): Fix typo.
6278 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
6279 cast between Fortran boolean_type_node and C _Bool if
6280 needed.
6281
7588d8aa
RS
62822014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
6283
6284 PR tree-optimization/61136
6285 * wide-int.h (multiple_of_p): Define a version that doesn't return
6286 the quotient.
6287 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
6288 integer_zerop/const_binop pair.
6289 (multiple_of_p): Likewise, converting both operands to widest_int
6290 precision.
6291
e7eee636
TJ
62922014-05-09 Teresa Johnson <tejohnson@google.com>
6293
6294 * cgraphunit.c (analyze_functions): Use correct dump file.
6295
6545746e
FW
62962014-05-09 Florian Weimer <fweimer@redhat.com>
6297
6298 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
6299 expand_used_vars.
6300 (stack_protect_return_slot_p): New function.
6301 (expand_used_vars): Call stack_protect_decl_p and
6302 stack_protect_return_slot_p for -fstack-protector-strong.
6303
2556511e
DW
63042014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
6305 Andrew Haley <aph@redhat.com>
6306 Richard Sandiford <rdsandiford@googlemail.com>
6307
6308 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
6309 pages.
6310
971ed35d 63112014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
6312
6313 PR middle-end/61111
6314 * fold-const.c (fold_binary_loc): Changed width of mask.
6315
c204f1b5
GJL
63162014-05-09 Georg-Johann Lay <avr@gjlay.de>
6317
6318 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
6319 unsigned int initializers for regno_in, regno_out.
6320
b8469805
GJL
63212014-05-09 Georg-Johann Lay <avr@gjlay.de>
6322
6323 PR target/61055
6324 * config/avr/avr.md (cc): Add new attribute set_vzn.
6325 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
6326 Set cc insn attribute to set_vzn instead of set_zn for alternatives
6327 with INC, DEC or NEG.
6328 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
6329 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
6330 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
6331
9db25c6a
RR
63322014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6333
6334 Revert:
6335 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6336
6337 * wide-int.cc (UTItype): Define.
6338 (UDWtype): Define for appropriate W_TYPE_SIZE.
6339
ee3958cf
RB
63402014-05-09 Richard Biener <rguenther@suse.de>
6341
6342 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
6343 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
6344 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
6345 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
6346 ssa_propagate): Adjust.
6347
0600049c
JL
63482014-05-08 Jeff Law <law@redhat.com>
6349
6350 PR tree-optimization/61009
6351 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
6352 tri-state rather than a boolean. When a block is too big to
6353 thread through, inform caller via negative return value.
6354 (thread_across_edge): If a block was too big for normal threading,
6355 then it's too big for a joiner too, so remove temporary equivalences
6356 and return immediately.
6357
a82122df
MK
63582014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6359 Matthias Klose <doko@ubuntu.com>
6360
6361 PR driver/61106
6362 * optc-gen.awk: Fix option handling for -Wunused-parameter.
6363
30e494f1
UB
63642014-05-08 Uros Bizjak <ubizjak@gmail.com>
6365
6366 PR target/59952
6367 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
6368
b6db8af6
UB
63692014-05-08 Uros Bizjak <ubizjak@gmail.com>
6370
6371 PR target/61092
6372 * config/alpha/alpha.c: Include gimple-iterator.h.
6373 (alpha_gimple_fold_builtin): New function. Move
6374 ALPHA_BUILTIN_UMULH folding from ...
6375 (alpha_fold_builtin): ... here.
6376 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
6377
272325bd
WM
63782014-05-08 Wei Mi <wmi@google.com>
6379
6380 PR target/58066
b6db8af6
UB
6381 * config/i386/i386.c (ix86_compute_frame_layout): Update
6382 preferred_stack_boundary for call, expanded from tls descriptor.
6383 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
6384 to depend on SP register.
272325bd
WM
6385 (*tls_local_dynamic_base_32_gnu): Ditto.
6386 (*tls_local_dynamic_32_once): Ditto.
6387 (tls_global_dynamic_64_<mode>): Set
6388 ix86_tls_descriptor_calls_expanded_in_cfun.
6389 (tls_local_dynamic_base_64_<mode>): Ditto.
6390 (tls_global_dynamic_32): Set
6391 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
6392 to depend on SP register.
6393 (tls_local_dynamic_base_32): Ditto.
6394
e79cb1a3
RR
63952014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6396
6397 * config/arm/arm_neon.h: Update comment.
6398 * config/arm/neon-docgen.ml: Delete.
6399 * config/arm/neon-gen.ml: Delete.
6400 * doc/arm-neon-intrinsics.texi: Update comment.
6401
0d0b79a6
RR
64022014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6403
6404 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
6405 and v4sf versions.
6406 (vand, vorr, veor, vorn, vbic): Remove.
6407 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
6408 iterator.
6409 (neon_vsub_unspec): Likewise.
6410 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
6411
add0c111
RR
64122014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6413
6414 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
6415 (vadd_s16): Likewise.
6416 (vadd_s32): Likewise.
6417 (vadd_f32): Likewise.
6418 (vadd_u8): Likewise.
6419 (vadd_u16): Likewise.
6420 (vadd_u32): Likewise.
6421 (vadd_s64): Likewise.
6422 (vadd_u64): Likewise.
6423 (vaddq_s8): Likewise.
6424 (vaddq_s16): Likewise.
6425 (vaddq_s32): Likewise.
6426 (vaddq_s64): Likewise.
6427 (vaddq_f32): Likewise.
6428 (vaddq_u8): Likewise.
6429 (vaddq_u16): Likewise.
6430 (vaddq_u32): Likewise.
6431 (vaddq_u64): Likewise.
6432 (vmul_s8): Likewise.
6433 (vmul_s16): Likewise.
6434 (vmul_s32): Likewise.
6435 (vmul_f32): Likewise.
6436 (vmul_u8): Likewise.
6437 (vmul_u16): Likewise.
6438 (vmul_u32): Likewise.
6439 (vmul_p8): Likewise.
6440 (vmulq_s8): Likewise.
6441 (vmulq_s16): Likewise.
6442 (vmulq_s32): Likewise.
6443 (vmulq_f32): Likewise.
6444 (vmulq_u8): Likewise.
6445 (vmulq_u16): Likewise.
6446 (vmulq_u32): Likewise.
6447 (vsub_s8): Likewise.
6448 (vsub_s16): Likewise.
6449 (vsub_s32): Likewise.
6450 (vsub_f32): Likewise.
6451 (vsub_u8): Likewise.
6452 (vsub_u16): Likewise.
6453 (vsub_u32): Likewise.
6454 (vsub_s64): Likewise.
6455 (vsub_u64): Likewise.
6456 (vsubq_s8): Likewise.
6457 (vsubq_s16): Likewise.
6458 (vsubq_s32): Likewise.
6459 (vsubq_s64): Likewise.
6460 (vsubq_f32): Likewise.
6461 (vsubq_u8): Likewise.
6462 (vsubq_u16): Likewise.
6463 (vsubq_u32): Likewise.
6464 (vsubq_u64): Likewise.
6465 (vand_s8): Likewise.
6466 (vand_s16): Likewise.
6467 (vand_s32): Likewise.
6468 (vand_u8): Likewise.
6469 (vand_u16): Likewise.
6470 (vand_u32): Likewise.
6471 (vand_s64): Likewise.
6472 (vand_u64): Likewise.
6473 (vandq_s8): Likewise.
6474 (vandq_s16): Likewise.
6475 (vandq_s32): Likewise.
6476 (vandq_s64): Likewise.
6477 (vandq_u8): Likewise.
6478 (vandq_u16): Likewise.
6479 (vandq_u32): Likewise.
6480 (vandq_u64): Likewise.
6481 (vorr_s8): Likewise.
6482 (vorr_s16): Likewise.
6483 (vorr_s32): Likewise.
6484 (vorr_u8): Likewise.
6485 (vorr_u16): Likewise.
6486 (vorr_u32): Likewise.
6487 (vorr_s64): Likewise.
6488 (vorr_u64): Likewise.
6489 (vorrq_s8): Likewise.
6490 (vorrq_s16): Likewise.
6491 (vorrq_s32): Likewise.
6492 (vorrq_s64): Likewise.
6493 (vorrq_u8): Likewise.
6494 (vorrq_u16): Likewise.
6495 (vorrq_u32): Likewise.
6496 (vorrq_u64): Likewise.
6497 (veor_s8): Likewise.
6498 (veor_s16): Likewise.
6499 (veor_s32): Likewise.
6500 (veor_u8): Likewise.
6501 (veor_u16): Likewise.
6502 (veor_u32): Likewise.
6503 (veor_s64): Likewise.
6504 (veor_u64): Likewise.
6505 (veorq_s8): Likewise.
6506 (veorq_s16): Likewise.
6507 (veorq_s32): Likewise.
6508 (veorq_s64): Likewise.
6509 (veorq_u8): Likewise.
6510 (veorq_u16): Likewise.
6511 (veorq_u32): Likewise.
6512 (veorq_u64): Likewise.
6513 (vbic_s8): Likewise.
6514 (vbic_s16): Likewise.
6515 (vbic_s32): Likewise.
6516 (vbic_u8): Likewise.
6517 (vbic_u16): Likewise.
6518 (vbic_u32): Likewise.
6519 (vbic_s64): Likewise.
6520 (vbic_u64): Likewise.
6521 (vbicq_s8): Likewise.
6522 (vbicq_s16): Likewise.
6523 (vbicq_s32): Likewise.
6524 (vbicq_s64): Likewise.
6525 (vbicq_u8): Likewise.
6526 (vbicq_u16): Likewise.
6527 (vbicq_u32): Likewise.
6528 (vbicq_u64): Likewise.
6529 (vorn_s8): Likewise.
6530 (vorn_s16): Likewise.
6531 (vorn_s32): Likewise.
6532 (vorn_u8): Likewise.
6533 (vorn_u16): Likewise.
6534 (vorn_u32): Likewise.
6535 (vorn_s64): Likewise.
6536 (vorn_u64): Likewise.
6537 (vornq_s8): Likewise.
6538 (vornq_s16): Likewise.
6539 (vornq_s32): Likewise.
6540 (vornq_s64): Likewise.
6541 (vornq_u8): Likewise.
6542 (vornq_u16): Likewise.
6543 (vornq_u32): Likewise.
6544 (vornq_u64): Likewise.
6545
ca40fb28
RR
65462014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6547
6548 * wide-int.cc (UTItype): Define.
b6db8af6 6549 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 6550
421bf780
MG
65512014-05-08 Marc Glisse <marc.glisse@inria.fr>
6552
6553 PR tree-optimization/59100
6554 * tree-ssa-phiopt.c: Include tree-inline.h.
6555 (neutral_element_p, absorbing_element_p): New functions.
6556 (value_replacement): Handle conditional binary operations with a
6557 neutral or absorbing element.
6558
a5eaec42
RB
65592014-05-08 Richard Biener <rguenther@suse.de>
6560
6561 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
6562 folding the expression.
6563 (valueize_expr): Remove.
6564 (visit_reference_op_load): Do not valueize the result of
6565 vn_get_expr_for.
6566 (simplify_binary_expression): Likewise.
6567 (simplify_unary_expression): Likewise.
6568
a96c6a62
RB
65692014-05-08 Richard Biener <rguenther@suse.de>
6570
6571 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
6572 looking at TYPE_ARG_TYPES.
6573
fb42e303
RB
65742014-05-08 Richard Biener <rguenther@suse.de>
6575
6576 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
6577 pointer propagation special-case.
6578
d1f1a283
BC
65792014-05-08 Bin Cheng <bin.cheng@arm.com>
6580
6581 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
6582 core part of address expressions.
6583
42aea2d8
AM
65842014-05-08 Alan Modra <amodra@gmail.com>
6585
6586 PR target/60737
6587 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
6588 loads and stores when -mno-strict-align at any alignment.
6589 (expand_block_clear): Similarly. Also correct calculation of
6590 instruction count.
6591
10e08855
TP
65922014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
6593
6594 PR middle-end/39246
6595 * tree-complex.c (expand_complex_move): Keep line info when expanding
6596 complex move.
6597 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
6598 of complex expression. Use new argument to display correct location
6599 for values coming from phi statement.
6600 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
6601 (warn_uninitialized_phi): Pass location of phi argument to
6602 warn_uninit.
6603 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
6604 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
6605
d839f53b
SB
66062014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
6607
6608 * config/rs6000/predicates.md (indexed_address_mem): New.
6609 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
6610 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
6611 fpstore_ux, fpstore_u.
6612 (sign_extend, indexed, update): New.
6613 (cell_micro): Adjust.
6614 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
6615 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
6616 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
6617 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
6618 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
6619 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
6620 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
6621 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
6622 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
6623 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
6624 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
6625 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
6626 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
6627 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
6628 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
6629
6630 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
6631 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
6632 *vsx_extract_<mode>_store): Adjust.
6633 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
6634 is_cracked_insn, insn_must_be_first_in_group,
6635 insn_must_be_last_in_group): Adjust.
6636
6637 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
6638 Adjust.
6639 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
6640 ppc440-fpstore): Adjust.
6641 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
6642 ppc476-fpstore): Adjust.
6643 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
6644 ppc601-fpstore): Adjust.
6645 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
6646 Adjust.
6647 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
6648 Adjust.
6649 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
6650 ppc7450-fpstore): Adjust.
6651 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
6652 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
6653 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
6654 Adjust.
6655 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
6656 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
6657 cell-fpstore, cell-fpstore-update): Adjust.
6658 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
6659 ppce300c3_store, ppce300c3_fpstore): Adjust.
6660 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
6661 e500mc_fpstore): Adjust.
6662 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
6663 e500mc64_store, e500mc64_fpstore): Adjust.
6664 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
6665 e5500_fpstore): Adjust.
6666 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
6667 e6500_fpstore): Adjust.
6668 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
6669 Adjust.
6670 * config/rs6000/power4.md (power4-load, power4-load-ext,
6671 power4-load-ext-update, power4-load-ext-update-indexed,
6672 power4-load-update-indexed, power4-load-update, power4-fpload,
6673 power4-fpload-update, power4-store, power4-store-update,
6674 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
6675 Adjust.
6676 * config/rs6000/power5.md (power5-load, power5-load-ext,
6677 power5-load-ext-update, power5-load-ext-update-indexed,
6678 power5-load-update-indexed, power5-load-update, power5-fpload,
6679 power5-fpload-update, power5-store, power5-store-update,
6680 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
6681 Adjust.
6682 * config/rs6000/power6.md (power6-load, power6-load-ext,
6683 power6-load-update, power6-load-update-indexed,
6684 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
6685 power6-fpload-update, power6-store, power6-store-update,
6686 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
6687 Adjust.
6688 * config/rs6000/power7.md (power7-load, power7-load-ext,
6689 power7-load-update, power7-load-update-indexed,
6690 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
6691 power7-fpload-update, power7-store, power7-store-update,
6692 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
6693 Adjust.
6694 * config/rs6000/power8.md (power8-load, power8-load-update,
6695 power8-load-ext, power8-load-ext-update, power8-fpload,
6696 power8-fpload-update, power8-store, power8-store-update-indexed,
6697 power8-fpstore, power8-fpstore-update): Adjust.
6698 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
6699 Adjust.
6700 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
6701 titan_lsu_store, titan_lsu_fpstore): Adjust.
6702 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
6703
36dc9ae8
OE
67042014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
6705
6706 PR target/60884
6707 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
6708 unrolled byte insns. Emit address increments after move insns.
6709
9bbf45f6
DM
67102014-05-07 David Malcolm <dmalcolm@redhat.com>
6711
6712 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
6713 const_gimple, rather than a gimple.
6714 (gimple_call_builtin_p): Likewise, for the three variants.
6715
6716 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
6717 (gimple_call_builtin_p): Likewise, for the three variants.
6718
1a51f10c
RS
67192014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6720
6721 PR tree-optimization/61095
6722 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
6723
50f0aa20
RB
67242014-05-07 Richard Biener <rguenther@suse.de>
6725
6726 PR tree-optimization/61034
6727 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
6728 (maybe_skip_until): Use translate to take into account
6729 lattices when trying to do disambiguations.
6730 (get_continuation_for_phi_1): Likewise.
b6db8af6 6731 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 6732 (walk_non_aliased_vuses): Likewise.
b6db8af6 6733 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
6734 (walk_non_aliased_vuses): Likewise.
6735 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
6736 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
6737 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
6738 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
6739
e7b7077e
JR
67402014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
6741
6742 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
6743 Emit an error when the function has arguments.
6744
c4597c1d
TS
67452014-05-07 Thomas Schwinge <thomas@codesourcery.com>
6746
6747 * cfgloop.h (unswitch_loops): Remove.
6748 * doc/passes.texi: Remove references to loop-unswitch.c
6749 * timevar.def (TV_LOOP_UNSWITCH): Remove.
6750
2c23db6d
ES
67512014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
6752
6753 * tree-vect-data-refs.c (vect_grouped_load_supported): New
6754 check for loads group of length 3.
6755 (vect_permute_load_chain): New permutations for loads group of
6756 length 3.
6757 * tree-vect-stmts.c (vect_model_load_cost): Change cost
6758 of vec_perm_shuffle for the new permutations.
6759
1d175503
AL
67602014-05-07 Alan Lawrence <alan.lawrence@arm.com>
6761
6762 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
6763 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
6764 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
6765 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
6766 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
6767 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
6768 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
6769 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
6770
e2d87487
TS
67712014-05-07 Thomas Schwinge <thomas@codesourcery.com>
6772
6773 * loop-unswitch.c: Delete.
6774
f543058d
RB
67752014-05-07 Richard Biener <rguenther@suse.de>
6776
6777 * config.gcc: Always set need_64bit_hwint to yes.
6778
96092404
CJW
67792014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
6780
6781 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
6782 of using optimize_size.
6783
ca66f89b
MS
67842014-05-06 Mike Stump <mikestump@comcast.net>
6785
6786 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
6787
659c0e68
JM
67882014-05-06 Joseph Myers <joseph@codesourcery.com>
6789
6790 * config/i386/sse.md (*mov<mode>_internal)
6791 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
6792 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
6793 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
6794 (*<code><mode>3, *andnot<mode>3<mask_name>)
6795 (<mask_codefor><code><mode>3<mask_name>): Only consider
6796 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
6797
3379b71f
RS
67982014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
6799
6800 Revert:
6801 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
6802
6803 * lra-constraints.c (valid_address_p): Move earlier in file.
6804 Add a constraint argument to the address_info version.
6805 (satisfies_memory_constraint_p): New function.
6806 (satisfies_address_constraint_p): Likewise.
6807 (process_alt_operands, curr_insn_transform): Use them.
6808 (process_address): Pass the constraint to valid_address_p when
6809 checking address operands.
6810
224dbc07
RS
68112014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
6812
6813 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
6814 to their respective blocks. Fix inadvertent use of "node".
6815
aa3a12d6
RS
68162014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
6817
6818 * emit-rtl.c (init_derived_machine_modes): New functionm, split
6819 out from...
6820 (init_emit_once): ...here.
6821 * rtl.h (init_derived_machine_modes): Declare.
6822 * toplev.c (do_compile): Call it even if no_backend.
6823
1d60af08
KZ
68242014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
6825 Mike Stump <mikestump@comcast.net>
6826 Richard Sandiford <rdsandiford@googlemail.com>
6827 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6828
6829 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
6830 (rtx_equal_for_memref_p): Update comment.
6831 (adjust_offset_for_component_ref): Use wide-int interfaces.
6832 * builtins.c (get_object_alignment_2): Likewise.
6833 (c_readstr): Likewise.
6834 (target_char_cast): Add comment.
6835 (determine_block_size): Use wide-int interfaces.
6836 (expand_builtin_signbit): Likewise.
6837 (fold_builtin_int_roundingfn): Likewise.
6838 (fold_builtin_bitop): Likewise.
6839 (fold_builtin_bswap): Likewise.
6840 (fold_builtin_logarithm): Use signop.
6841 (fold_builtin_pow): Likewise.
6842 (fold_builtin_memory_op): Use wide-int interfaces.
6843 (fold_builtin_object_size): Likewise.
6844 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
6845 nb_iterations_estimate.
6846 (record_niter_bound): Use wide-int interfaces.
6847 (get_estimated_loop_iterations_int): Likewise.
6848 (get_estimated_loop_iterations): Likewise.
6849 (get_max_loop_iterations): Likewise.
6850 * cfgloop.h: Include wide-int.h.
6851 (struct nb_iter_bound): Change bound to widest_int.
6852 (struct loop): Change nb_iterations_upper_bound and
6853 nb_iterations_estimate to widest_int.
6854 (record_niter_bound): Switch to use widest_int.
6855 (get_estimated_loop_iterations): Likewise.
6856 (get_max_loop_iterations): Likewise.
6857 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
6858 update for wide-int.
6859 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
6860 * combine.c (try_combine): Likewise.
6861 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
6862 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
6863 interfaces.
6864 (aarch64_float_const_representable_p): Likewise.
6865 * config/arc/arc.c: Include wide-int.h.
6866 (arc_can_use_doloop_p): Use wide-int interfaces.
6867 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
6868 (vfp3_const_double_index): Likewise.
6869 * config/avr/avr.c (avr_out_round): Likewise.
6870 (avr_fold_builtin): Likewise.
6871 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
6872 (bfin_can_use_doloop_p): Likewise.
6873 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
6874 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
6875 * config/i386/i386.c: Include wide-int.h.
6876 (ix86_data_alignment): Use wide-int interfaces.
6877 (ix86_local_alignment): Likewise.
6878 (ix86_emit_swsqrtsf): Update real_from_integer.
6879 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
6880 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
6881 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
6882 (zero_constant): Likewise.
6883 (input_operand): Likewise.
6884 (splat_input_operand): Likewise.
6885 (non_logical_cint_operand): Change const_double to const_wide_int.
6886 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
6887 (easy_altivec_constant): Remove comment.
6888 (paired_expand_vector_init): Use CONSTANT_P.
6889 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
6890 (rs6000_emit_move): Update checks.
6891 (rs6000_aggregate_candidate): Use wide-int interfaces.
6892 (rs6000_expand_ternop_builtin): Likewise.
6893 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
6894 (rs6000_assemble_integer): Likewise.
6895 (rs6000_hash_constant): Likewise.
6896 (output_toc): Likewise.
6897 (rs6000_rtx_costs): Likewise.
6898 (rs6000_emit_swrsqrt); Update call to real_from_integer.
6899 * config/rs6000/rs6000-c.c: Include wide-int.h.
6900 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
6901 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
6902 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
6903 Handle CONST_WIDE_INT.
6904 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
6905 Use tree_fits_uhwi_p.
6906 * config/sparc/sparc.c: Include wide-int.h.
6907 (sparc_fold_builtin): Use wide-int interfaces.
6908 * config/vax/vax.c: Include wide-int.h.
6909 (vax_float_literal): Use real_from_integer.
6910 * coretypes.h (struct hwivec_def): New.
6911 (hwivec): New.
6912 (const_hwivec): New.
6913 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
6914 (equiv_constant): Handle CONST_WIDE_INT.
6915 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
6916 (cselib_hash_rtx): Handle CONST_WIDE_INT.
6917 * dbxout.c (stabstr_U): Use wide-int interfaces.
6918 (dbxout_type): Update to use cst_fits_shwi_p.
6919 * defaults.h (LOG2_BITS_PER_UNIT): Define.
6920 (TARGET_SUPPORTS_WIDE_INT): Add default.
6921 * dfp.c: Include wide-int.h.
6922 (decimal_real_to_integer2): Use wide-int interfaces and rename to
6923 decimal_real_to_integer.
6924 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
6925 decimal_real_to_integer.
6926 * doc/generic.texi (Constant expressions): Update for wide_int.
6927 * doc/rtl.texi (const_double): Likewise.
6928 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
6929 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
6930 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
6931 (REAL_VALUE_FROM_INT): Remove.
6932 (TARGET_SUPPORTS_WIDE_INT): New.
6933 * doc/tm.texi: Regenerate.
6934 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
6935 * double-int.h: Include wide-int.h.
6936 (struct wi::int_traits): New.
6937 * dwarf2out.c (get_full_len): New.
6938 (dw_val_equal_p): Add case dw_val_class_wide_int.
6939 (size_of_loc_descr): Likewise.
6940 (output_loc_operands): Likewise.
6941 (insert_double): Remove.
6942 (insert_wide_int): New.
6943 (add_AT_wide): New.
6944 (print_die): Add case dw_val_class_wide_int.
6945 (attr_checksum): Likewise.
6946 (attr_checksum_ordered): Likewise.
6947 (same_dw_val_p): Likewise.
6948 (size_of_die): Likewise.
6949 (value_format): Likewise.
6950 (output_die): Likewise.
6951 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
6952 Use wide-int.
6953 (clz_loc_descriptor): Use wide-int interfaces.
6954 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
6955 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
6956 (round_up_to_align): Use wide-int interfaces.
6957 (field_byte_offset): Likewise.
6958 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
6959 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
6960 CONST_DOUBLE handling. Use wide-int interfaces.
6961 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
6962 (gen_enumeration_type_die): Use add_AT_wide.
6963 (hash_loc_operands): Add case dw_val_class_wide_int.
6964 (compare_loc_operands): Likewise.
6965 * dwarf2out.h: Include wide-int.h.
6966 (wide_int_ptr): New.
6967 (enum dw_val_class): Add dw_val_class_wide_int.
6968 (struct dw_val_struct): Add val_wide.
6969 * emit-rtl.c (const_wide_int_htab): New.
6970 (const_wide_int_htab_hash): New.
6971 (const_wide_int_htab_eq): New.
6972 (lookup_const_wide_int): New.
6973 (const_double_htab_hash): Use wide-int interfaces.
6974 (const_double_htab_eq): Likewise.
6975 (rtx_to_double_int): Conditionally compile for wide-int.
6976 (immed_double_int_const): Rename to immed_wide_int_const and
6977 update for wide-int.
6978 (immed_double_const): Conditionally compile for wide-int.
6979 (init_emit_once): Use wide-int interfaces.
6980 * explow.c (plus_constant): Likewise.
6981 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
6982 (lshift_value): Use wide-int interfaces.
6983 (expand_mult): Likewise.
6984 (choose_multiplier): Likewise.
6985 (expand_smod_pow2): Likewise.
6986 (make_tree): Likewise.
6987 * expr.c (convert_modes): Consolidate handling of constants.
6988 Use wide-int interfaces.
6989 (emit_group_load_1): Add note.
6990 (store_expr): Update comment.
6991 (get_inner_reference): Use wide-int interfaces.
6992 (expand_constructor): Update comment.
6993 (expand_expr_real_2): Use wide-int interfaces.
6994 (expand_expr_real_1): Likewise.
6995 (reduce_to_bit_field_precision): Likewise.
6996 (const_vector_from_tree): Likewise.
6997 * final.c: Include wide-int-print.h.
6998 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
6999 * fixed-value.c: Include wide-int.h.
7000 (fixed_from_string): Use wide-int interfaces.
7001 (fixed_to_decimal): Likewise.
7002 (fixed_convert_from_real): Likewise.
7003 (real_convert_from_fixed): Likewise.
7004 * fold-const.h (mem_ref_offset): Return an offset_int.
7005 (div_if_zero_remainder): Remove code parameter.
7006 * fold-const.c (div_if_zero_remainder): Remove code parameter.
7007 Use wide-int interfaces.
7008 (may_negate_without_overflow_p): Use wide-int interfaces.
7009 (negate_expr_p): Likewise.
7010 (fold_negate_expr): Likewise.
7011 (int_const_binop_1): Likewise.
7012 (const_binop): Likewise.
7013 (fold_convert_const_int_from_int): Likewise.
7014 (fold_convert_const_int_from_real): Likewise.
7015 (fold_convert_const_int_from_fixed): Likewise.
7016 (fold_convert_const_fixed_from_int): Likewise.
7017 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
7018 (sign_bit_p): Use wide-int interfaces.
7019 (make_range_step): Likewise.
7020 (build_range_check): Likewise. Pass an integer of the correct type
7021 instead of using integer_one_node.
7022 (range_predecessor): Pass an integer of the correct type instead
7023 of using integer_one_node.
7024 (range_successor): Likewise.
7025 (merge_ranges): Likewise.
7026 (unextend): Use wide-int interfaces.
7027 (extract_muldiv_1): Likewise.
7028 (fold_div_compare): Likewise.
7029 (fold_single_bit_test): Likewise.
7030 (fold_sign_changed_comparison): Likewise.
7031 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
7032 (fold_plusminus_mult_expr): Use wide-int interfaces.
7033 (native_encode_int): Likewise.
7034 (native_interpret_int): Likewise.
7035 (fold_unary_loc): Likewise.
7036 (pointer_may_wrap_p): Likewise.
7037 (size_low_cst): Likewise.
7038 (mask_with_tz): Likewise.
7039 (fold_binary_loc): Likewise.
7040 (fold_ternary_loc): Likewise.
7041 (multiple_of_p): Likewise.
7042 (tree_call_nonnegative_warnv_p): Update calls to
7043 tree_int_cst_min_precision and real_from_integer.
7044 (fold_negate_const): Use wide-int interfaces.
7045 (fold_abs_const): Likewise.
7046 (fold_relational_const): Use tree_int_cst_lt.
7047 (round_up_loc): Use wide-int interfaces.
7048 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
7049 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
7050 * gengtype.c: Remove include of double-int.h.
7051 (do_typedef): Use wide-int interfaces.
7052 (open_base_files): Add wide-int.h.
7053 (main): Add offset_int and widest_int typedefs.
7054 * gengtype-lex.l: Handle "^".
7055 (CXX_KEYWORD): Add "static".
7056 * gengtype-parse.c (require3): New.
7057 (require_template_declaration): Handle constant template arguments
7058 and nested templates.
7059 * gengtype-state.c: Don't include "double-int.h".
7060 * genpreds.c (write_one_predicate_function): Update comment.
7061 (write_tm_constrs_h): Add check for hval and lval use in
7062 CONST_WIDE_INT.
7063 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
7064 (add_to_sequence): Likewise.
7065 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
7066 and const_double_operand.
7067 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
7068 interfaces.
7069 * gimple-fold.c (get_base_constructor): Likewise.
7070 (fold_array_ctor_reference): Likewise.
7071 (fold_nonarray_ctor_reference): Likewise.
7072 (fold_const_aggregate_ref_1): Likewise.
7073 (gimple_val_nonnegative_real_p): Likewise.
7074 (gimple_fold_indirect_ref): Likewise.
7075 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
7076 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
7077 (struct slsr_cand_d): Change index to be widest_int.
7078 (struct incr_info_d): Change incr to be widest_int.
7079 (alloc_cand_and_find_basis): Use wide-int interfaces.
7080 (slsr_process_phi): Likewise.
7081 (backtrace_base_for_ref): Likewise. Return a widest_int.
7082 (restructure_reference): Take a widest_int instead of a double_int.
7083 (slsr_process_ref): Use wide-int interfaces.
7084 (create_mul_ssa_cand): Likewise.
7085 (create_mul_imm_cand): Likewise.
7086 (create_add_ssa_cand): Likewise.
7087 (create_add_imm_cand): Take a widest_int instead of a double_int.
7088 (slsr_process_add): Use wide-int interfaces.
7089 (slsr_process_cast): Likewise.
7090 (slsr_process_copy): Likewise.
7091 (dump_candidate): Likewise.
7092 (dump_incr_vec): Likewise.
7093 (replace_ref): Likewise.
7094 (cand_increment): Likewise. Return a widest_int.
7095 (cand_abs_increment): Likewise.
7096 (replace_mult_candidate): Take a widest_int instead of a double_int.
7097 (replace_unconditional_candidate): Use wide-int interfaces.
7098 (incr_vec_index): Take a widest_int instead of a double_int.
7099 (create_add_on_incoming_edge): Likewise.
7100 (create_phi_basis): Use wide-int interfaces.
7101 (replace_conditional_candidate): Likewise.
7102 (record_increment): Take a widest_int instead of a double_int.
7103 (record_phi_increments): Use wide-int interfaces.
7104 (phi_incr_cost): Take a widest_int instead of a double_int.
7105 (lowest_cost_path): Likewise.
7106 (total_savings): Likewise.
7107 (analyze_increments): Use wide-int interfaces.
7108 (ncd_with_phi): Take a widest_int instead of a double_int.
7109 (ncd_of_cand_and_phis): Likewise.
7110 (nearest_common_dominator_for_cands): Likewise.
7111 (insert_initializers): Use wide-int interfaces.
7112 (all_phi_incrs_profitable): Likewise.
7113 (replace_one_candidate): Likewise.
7114 (replace_profitable_candidates): Likewise.
7115 * godump.c: Include wide-int-print.h.
7116 (go_output_typedef): Use wide-int interfaces.
7117 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
7118 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
7119 (build_loop_iteration_domains): Likewise.
7120 * hooks.h: Include wide-int.h rather than double-int.h.
7121 (hook_bool_dint_dint_uint_bool_true): Delete.
7122 (hook_bool_wint_wint_uint_bool_true): Declare.
7123 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
7124 (hook_bool_wint_wint_uint_bool_true): New.
7125 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
7126 interfaces.
7127 (ubsan_expand_si_overflow_mul_check): Likewise.
7128 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
7129 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
7130 (get_ancestor_addr_info): Likewise.
7131 (ipa_modify_call_arguments): Likewise.
7132 * loop-doloop.c (doloop_modify): Likewise.
7133 (doloop_optimize): Likewise.
7134 * loop-iv.c (iv_number_of_iterations): Likewise.
7135 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
7136 (unroll_loop_constant_iterations): Likewise.
7137 (decide_unroll_runtime_iterations): Likewise.
7138 (unroll_loop_runtime_iterations): Likewise.
7139 (decide_peel_simple): Likewise.
7140 (decide_unroll_stupid): Likewise.
7141 * lto-streamer-in.c (streamer_read_wi): Add.
7142 (input_cfg): Use wide-int interfaces.
7143 (lto_input_tree_1): Likewise.
7144 * lto-streamer-out.c (streamer_write_wi): Add.
7145 (hash_tree): Use wide-int interfaces.
7146 (output_cfg): Likewise.
7147 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
7148 (GTFILES): Add wide-int.h and signop.h.
7149 (TAGS): Look for .cc files too.
7150 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
7151 * optabs.c (expand_subword_shift): Likewise.
7152 (expand_doubleword_shift): Likewise.
7153 (expand_absneg_bit): Likewise.
7154 (expand_copysign_absneg): Likewise.
7155 (expand_copysign_bit): Likewise.
7156 * postreload.c (reload_cse_simplify_set): Likewise.
7157 * predict.c (predict_iv_comparison): Likewise.
7158 * pretty-print.h: Include wide-int-print.h.
7159 (pp_wide_int) New.
7160 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
7161 * print-tree.c: Include wide-int-print.h.
7162 (print_node_brief): Use wide-int interfaces.
7163 (print_node): Likewise.
7164 * read-rtl.c (validate_const_wide_int): New.
7165 (read_rtx_code): Add CONST_WIDE_INT case.
7166 * real.c: Include wide-int.h.
7167 (real_to_integer2): Delete.
7168 (real_to_integer): New function, returning a wide_int.
7169 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
7170 (ten_to_ptwo): Update call to real_from_integer.
7171 (real_digit): Likewise.
7172 * real.h: Include signop.h, wide-int.h and insn-modes.h.
7173 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
7174 (REAL_VALUE_TO_INT): Delete.
7175 (real_to_integer): Declare a wide-int form.
7176 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
7177 * recog.c (const_int_operand): Improve comment.
7178 (const_scalar_int_operand): New.
7179 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
7180 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
7181 (split_double): Likewise.
7182 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
7183 (rtx_size): Likewise.
7184 (rtx_alloc_stat_v): New.
7185 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
7186 (cwi_output_hex): New.
7187 (iterative_hash_rtx): Handle CONST_WIDE_INT.
7188 (cwi_check_failed_bounds): New.
7189 * rtl.def (CONST_WIDE_INT): New.
7190 * rtl.h: Include <utility> and wide-int.h.
7191 (struct hwivec_def): New.
7192 (CWI_GET_NUM_ELEM): New.
7193 (CWI_PUT_NUM_ELEM): New.
7194 (struct rtx_def): Add num_elem and hwiv.
7195 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
7196 (CASE_CONST_UNIQUE): Likewise.
7197 (CASE_CONST_ANY): Likewise.
7198 (CONST_SCALAR_INT_P): Likewise.
7199 (CONST_WIDE_INT_P): New.
7200 (CWI_ELT): New.
7201 (HWIVEC_CHECK): New.
7202 (cwi_check_failed_bounds): New.
7203 (CWI_ELT): New.
7204 (HWIVEC_CHECK): New.
7205 (CONST_WIDE_INT_VEC) New.
7206 (CONST_WIDE_INT_NUNITS) New.
7207 (CONST_WIDE_INT_ELT) New.
7208 (rtx_mode_t): New type.
7209 (wi::int_traits <rtx_mode_t>): New.
7210 (wi::shwi): New.
7211 (wi::min_value): New.
7212 (wi::max_value): New.
7213 (rtx_alloc_v) New.
7214 (const_wide_int_alloc): New.
7215 (immed_wide_int_const): New.
7216 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
7217 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
7218 * signop.h: New file.
7219 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
7220 (simplify_const_unary_operation): Use wide-int interfaces.
7221 (simplify_binary_operation_1): Likewise.
7222 (simplify_const_binary_operation): Likewise.
7223 (simplify_const_relational_operation): Likewise.
7224 (simplify_immed_subreg): Likewise.
7225 * stmt.c (expand_case): Likewise.
7226 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
7227 signop rather than a bool.
7228 * stor-layout.c (layout_type): Use wide-int interfaces.
7229 (initialize_sizetypes): Update calls to
7230 set_min_and_max_values_for_integral_type.
7231 (set_min_and_max_values_for_integral_type): Take a signop rather
7232 than a bool. Use wide-int interfaces.
7233 (fixup_signed_type): Update accordingly. Remove
7234 HOST_BITS_PER_DOUBLE_INT limit.
7235 (fixup_unsigned_type): Likewise.
7236 * system.h (STATIC_CONSTANT_P): New.
7237 (STATIC_ASSERT): New.
7238 * target.def (can_use_doloop_p): Take widest_ints rather than
7239 double_ints.
7240 * target.h: Include wide-int.h rather than double-int.h.
7241 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
7242 than double_ints.
7243 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
7244 rather than INT_CST_LT_UNSIGNED.
7245 (can_use_doloop_if_innermost): Take widest_ints rather than
7246 double_ints.
7247 * tree-affine.c: Include wide-int-print.h.
7248 (double_int_ext_for_comb): Delete.
7249 (wide_int_ext_for_comb): New.
7250 (aff_combination_zero): Use wide-int interfaces.
7251 (aff_combination_const): Take a widest_int instead of a double_int.
7252 (aff_combination_elt): Use wide-int interfaces.
7253 (aff_combination_scale): Take a widest_int instead of a double_int.
7254 (aff_combination_add_elt): Likewise.
7255 (aff_combination_add_cst): Likewise.
7256 (aff_combination_add): Use wide-int interfaces.
7257 (aff_combination_convert): Likewise.
7258 (tree_to_aff_combination): Likewise.
7259 (add_elt_to_tree): Take a widest_int instead of a double_int.
7260 (aff_combination_to_tree): Use wide-int interfaces.
7261 (aff_combination_remove_elt): Likewise.
7262 (aff_combination_add_product): Take a widest_int instead of
7263 a double_int.
7264 (aff_combination_mult): Use wide-int interfaces.
7265 (aff_combination_expand): Likewise.
7266 (double_int_constant_multiple_p): Delete.
7267 (wide_int_constant_multiple_p): New.
7268 (aff_combination_constant_multiple_p): Take a widest_int pointer
7269 instead of a double_int pointer.
7270 (print_aff): Use wide-int interfaces.
7271 (get_inner_reference_aff): Take a widest_int pointer
7272 instead of a double_int pointer.
7273 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
7274 * tree-affine.h: Include wide-int.h.
7275 (struct aff_comb_elt): Change type of coef to widest_int.
7276 (struct affine_tree_combination): Change type of offset to widest_int.
7277 (double_int_ext_for_comb): Delete.
7278 (wide_int_ext_for_comb): New.
7279 (aff_combination_const): Use widest_int instead of double_int.
7280 (aff_combination_scale): Likewise.
7281 (aff_combination_add_elt): Likewise.
7282 (aff_combination_constant_multiple_p): Likewise.
7283 (get_inner_reference_aff): Likewise.
7284 (aff_comb_cannot_overlap_p): Likewise.
7285 (aff_combination_zero_p): Use wide-int interfaces.
7286 * tree.c: Include tree.h.
7287 (init_ttree): Use make_int_cst.
7288 (tree_code_size): Removed code for INTEGER_CST case.
7289 (tree_size): Add INTEGER_CST case.
7290 (make_node_stat): Update comment.
7291 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
7292 (build_int_cst_type): Use wide-int interfaces.
7293 (double_int_to_tree): Likewise.
7294 (double_int_fits_to_tree_p): Delete.
7295 (force_fit_type_double): Delete.
7296 (force_fit_type): New.
7297 (int_cst_hash_hash): Use wide-int interfaces.
7298 (int_cst_hash_eq): Likewise.
7299 (build_int_cst_wide): Delete.
7300 (wide_int_to_tree): New.
7301 (cache_integer_cst): Use wide-int interfaces.
7302 (build_low_bits_mask): Likewise.
7303 (cst_and_fits_in_hwi): Likewise.
7304 (real_value_from_int_cst): Likewise.
7305 (make_int_cst_stat): New.
7306 (integer_zerop): Use wide_int interfaces.
7307 (integer_onep): Likewise.
7308 (integer_all_onesp): Likewise.
7309 (integer_pow2p): Likewise.
7310 (integer_nonzerop): Likewise.
7311 (tree_log2): Likewise.
7312 (tree_floor_log2): Likewise.
7313 (tree_ctz): Likewise.
7314 (int_size_in_bytes): Likewise.
7315 (mem_ref_offset): Return an offset_int rather than a double_int.
7316 (build_type_attribute_qual_variant): Use wide_int interfaces.
7317 (type_hash_eq): Likewise
7318 (tree_int_cst_equal): Likewise.
7319 (tree_int_cst_lt): Delete.
7320 (tree_int_cst_compare): Likewise.
7321 (tree_fits_shwi_p): Use wide_int interfaces.
7322 (tree_fits_uhwi_p): Likewise.
7323 (tree_int_cst_sign_bit): Likewise.
7324 (tree_int_cst_sgn): Likewise.
7325 (tree_int_cst_min_precision): Take a signop rather than a bool.
7326 (simple_cst_equal): Use wide_int interfaces.
7327 (compare_tree_int): Likewise.
7328 (iterative_hash_expr): Likewise.
7329 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
7330 INT_CST_LT.
7331 (get_type_static_bounds): Use wide_int interfaces.
7332 (tree_int_cst_elt_check_failed): New.
7333 (build_common_tree_nodes): Reordered to set prec before filling in
7334 value.
7335 (int_cst_value): Check cst_and_fits_in_hwi.
7336 (widest_int_cst_value): Use wide_int interfaces.
7337 (upper_bound_in_type): Likewise.
7338 (lower_bound_in_type): Likewise.
7339 (num_ending_zeros): Likewise.
7340 (drop_tree_overflow): Likewise.
7341 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
7342 (gen_conditions_for_pow_cst_base): Likewise.
7343 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
7344 (group_case_labels_stmt): Use wide-int interfaces.
7345 (verify_gimple_assign_binary): Likewise.
7346 (print_loop): Likewise.
7347 * tree-chrec.c (tree_fold_binomial): Likewise.
7348 * tree-core.h (struct tree_base): Add int_length.
7349 (struct tree_int_cst): Change rep of value.
7350 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
7351 (dr_may_alias_p): Likewise.
7352 (max_stmt_executions_tree): Likewise.
7353 * tree.def (INTEGER_CST): Update comment.
7354 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
7355 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
7356 * tree-dump.c: Include wide-int.h and wide-int-print.h.
7357 (dequeue_and_dump): Use wide-int interfaces.
7358 * tree.h: Include wide-int.h.
7359 (NULL_TREE): Moved to earlier loc in file.
7360 (TREE_INT_CST_ELT_CHECK): New.
7361 (tree_int_cst_elt_check_failed): New.
7362 (TYPE_SIGN): New.
7363 (TREE_INT_CST): Delete.
7364 (TREE_INT_CST_LOW): Use wide-int interfaces.
7365 (TREE_INT_CST_HIGH): Delete.
7366 (TREE_INT_CST_NUNITS): New.
7367 (TREE_INT_CST_EXT_NUNITS): Likewise.
7368 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
7369 (TREE_INT_CST_ELT): Likewise.
7370 (INT_CST_LT): Delete.
7371 (tree_int_cst_elt_check): New (two forms).
7372 (type_code_size): Update comment.
7373 (make_int_cst_stat, make_int_cst): New.
7374 (tree_to_double_int): Delete.
7375 (double_int_fits_to_tree_p): Delete.
7376 (force_fit_type_double): Delete.
7377 (build_int_cstu): Replace with out-of-line function.
7378 (build_int_cst_wide): Delete.
7379 (tree_int_cst_lt): Define inline.
7380 (tree_int_cst_le): New.
7381 (tree_int_cst_compare): Define inline.
7382 (tree_int_cst_min_precision): Take a signop rather than a bool.
7383 (wi::int_traits <const_tree>): New.
7384 (wi::int_traits <tree>): New.
7385 (wi::extended_tree): New.
7386 (wi::int_traits <wi::extended_tree>): New.
7387 (wi::to_widest): New.
7388 (wi::to_offset): New.
7389 (wi::fits_to_tree_p): New.
7390 (wi::min_value): New.
7391 (wi::max_value): New.
7392 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
7393 (copy_tree_body_r): Likewise.
7394 * tree-object-size.c (compute_object_offset): Likewise.
7395 (addr_object_size): Likewise.
7396 * tree-predcom.c: Include wide-int-print.h.
7397 (struct dref_d): Change type of offset to widest_int.
7398 (dump_dref): Call wide-int printer.
7399 (aff_combination_dr_offset): Use wide-int interfaces.
7400 (determine_offset): Take a widest_int pointer rather than a
7401 double_int pointer.
7402 (split_data_refs_to_components): Use wide-int interfaces.
7403 (suitable_component_p): Likewise.
7404 (order_drefs): Likewise.
7405 (add_ref_to_chain): Likewise.
7406 (valid_initializer_p): Likewise.
7407 (determine_roots_comp): Likewise.
7408 * tree-pretty-print.c: Include wide-int-print.h.
7409 (dump_generic_node): Use wide-int interfaces.
7410 * tree-sra.c (sra_ipa_modify_expr): Likewise.
7411 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
7412 (move_fixed_address_to_symbol): Likewise.
7413 (move_hint_to_base): Likewise.
7414 (move_pointer_to_base): Likewise.
7415 (move_variant_to_index): Likewise.
7416 (most_expensive_mult_to_index): Likewise.
7417 (addr_to_parts): Likewise.
7418 (copy_ref_info): Likewise.
7419 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
7420 (indirect_refs_may_alias_p): Likewise.
7421 (stmt_kills_ref_p_1): Likewise.
7422 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
7423 * tree-ssa-ccp.c: Update comment at top of file. Include
7424 wide-int-print.h.
7425 (struct prop_value_d): Change type of mask to widest_int.
7426 (extend_mask): New function.
7427 (dump_lattice_value): Use wide-int interfaces.
7428 (get_default_value): Likewise.
7429 (set_constant_value): Likewise.
7430 (set_value_varying): Likewise.
7431 (valid_lattice_transition): Likewise.
7432 (set_lattice_value): Likewise.
7433 (value_to_double_int): Delete.
7434 (value_to_wide_int): New.
7435 (get_value_from_alignment): Use wide-int interfaces.
7436 (get_value_for_expr): Likewise.
7437 (do_dbg_cnt): Likewise.
7438 (ccp_finalize): Likewise.
7439 (ccp_lattice_meet): Likewise.
7440 (bit_value_unop_1): Use widest_ints rather than double_ints.
7441 (bit_value_binop_1): Likewise.
7442 (bit_value_unop): Use wide-int interfaces.
7443 (bit_value_binop): Likewise.
7444 (bit_value_assume_aligned): Likewise.
7445 (evaluate_stmt): Likewise.
7446 (ccp_fold_stmt): Likewise.
7447 (visit_cond_stmt): Likewise.
7448 (ccp_visit_stmt): Likewise.
7449 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
7450 (constant_pointer_difference): Likewise.
7451 (associate_pointerplus): Likewise.
7452 (combine_conversions): Likewise.
7453 * tree-ssa-loop.h: Include wide-int.h.
7454 (struct tree_niter_desc): Change type of max to widest_int.
7455 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
7456 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
7457 (remove_redundant_iv_tests): Likewise.
7458 (canonicalize_loop_induction_variables): Likewise.
7459 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
7460 (constant_multiple_of): Take a widest_int pointer instead of
7461 a double_int pointer.
7462 (get_computation_aff): Use wide-int interfaces.
7463 (ptr_difference_cost): Likewise.
7464 (difference_cost): Likewise.
7465 (get_loop_invariant_expr_id): Likewise.
7466 (get_computation_cost_at): Likewise.
7467 (iv_elimination_compare_lt): Likewise.
7468 (may_eliminate_iv): Likewise.
7469 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
7470 instead of double_int.
7471 (max_loop_iterations): Likewise.
7472 (max_stmt_executions): Likewise.
7473 (estimated_stmt_executions): Likewise.
7474 * tree-ssa-loop-niter.c: Include wide-int-print.h.
7475 (split_to_var_and_offset): Use wide-int interfaces.
7476 (determine_value_range): Likewise.
7477 (bound_difference_of_offsetted_base): Likewise.
7478 (bounds_add): Take a widest_int instead of a double_int.
7479 (number_of_iterations_ne_max): Use wide-int interfaces.
7480 (number_of_iterations_ne): Likewise.
7481 (number_of_iterations_lt_to_ne): Likewise.
7482 (assert_loop_rolls_lt): Likewise.
7483 (number_of_iterations_lt): Likewise.
7484 (number_of_iterations_le): Likewise.
7485 (number_of_iterations_cond): Likewise.
7486 (number_of_iterations_exit): Likewise.
7487 (finite_loop_p): Likewise.
7488 (derive_constant_upper_bound_assign): Likewise.
7489 (derive_constant_upper_bound): Return a widest_int.
7490 (derive_constant_upper_bound_ops): Likewise.
7491 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
7492 (record_estimate): Take a widest_int rather than a double_int.
7493 (record_nonwrapping_iv): Use wide-int interfaces.
7494 (double_int_cmp): Delete.
7495 (wide_int_cmp): New.
7496 (bound_index): Take a widest_int rather than a double_int.
7497 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
7498 (maybe_lower_iteration_bound): Likewise.
7499 (estimate_numbers_of_iterations_loop): Likewise.
7500 (estimated_loop_iterations): Take a widest_int pointer than than
7501 a double_int pointer.
7502 (estimated_loop_iterations_int): Use wide-int interfaces.
7503 (max_loop_iterations): Take a widest_int pointer than than
7504 a double_int pointer.
7505 (max_loop_iterations_int): Use wide-int interfaces.
7506 (max_stmt_executions): Take a widest_int pointer than than
7507 a double_int pointer.
7508 (estimated_stmt_executions): Likewise.
7509 (n_of_executions_at_most): Use wide-int interfaces.
7510 (scev_probably_wraps_p): Likewise.
7511 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
7512 to real_to_integer.
7513 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
7514 interfaces.
7515 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
7516 double_ints. Adjust for trailing_wide_ints <3> representation.
7517 (set_nonzero_bits): Likewise.
7518 (get_range_info): Return wide_ints rather than double_ints.
7519 Adjust for trailing_wide_ints <3> representation.
7520 (get_nonzero_bits): Likewise.
7521 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
7522 representation.
7523 * tree-ssanames.h (struct range_info_def): Replace min, max and
7524 nonzero_bits with a trailing_wide_ints <3>.
7525 (set_range_info): Use wide_int_refs rather than double_ints.
7526 (set_nonzero_bits): Likewise.
7527 (get_range_info): Return wide_ints rather than double_ints.
7528 (get_nonzero_bits): Likewise.
7529 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
7530 * tree-ssa-pre.c (phi_translate_1): Likewise.
7531 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
7532 (acceptable_pow_call): Likewise.
7533 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
7534 interfaces.
7535 (vn_reference_fold_indirect): Likewise.
7536 (vn_reference_maybe_forwprop_address): Likewise.
7537 (valueize_refs_1): Likewise.
7538 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
7539 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
7540 tree_int_cst_lt and tree_int_cst_le.
7541 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
7542 interfaces.
7543 (streamer_alloc_tree): Likewise.
7544 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
7545 (streamer_write_tree_header): Likewise.
7546 (streamer_write_integer_cst): Likewise.
7547 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
7548 (build_constructors): Likewise.
7549 (array_value_type): Likewise.
7550 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
7551 (vect_check_gather): Likewise.
7552 * tree-vect-generic.c (build_replicated_const): Likewise.
7553 (expand_vector_divmod): Likewise.
7554 * tree-vect-loop.c (vect_transform_loop): Likewise.
7555 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
7556 (vect_do_peeling_for_alignment): Likewise.
7557 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
7558 * tree-vrp.c: Include wide-int.h.
7559 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
7560 (extract_range_from_assert): Use wide-int interfaces.
7561 (vrp_int_const_binop): Likewise.
7562 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
7563 double_int pointers.
7564 (ranges_from_anti_range): Use wide-int interfaces.
7565 (quad_int_cmp): Delete.
7566 (quad_int_pair_sort): Likewise.
7567 (extract_range_from_binary_expr_1): Use wide-int interfaces.
7568 (extract_range_from_unary_expr_1): Likewise.
7569 (adjust_range_with_scev): Likewise.
7570 (masked_increment): Take and return wide_ints rather than double_ints.
7571 (register_edge_assert_for_2): Use wide-int interfaces.
7572 (check_array_ref): Likewise.
7573 (search_for_addr_array): Likewise.
7574 (maybe_set_nonzero_bits): Likewise.
7575 (union_ranges): Pass an integer of the correct type instead of
7576 using integer_one_node.
7577 (intersect_ranges): Likewise.
7578 (simplify_truth_ops_using_ranges): Likewise.
7579 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
7580 (range_fits_type_p): Likewise.
7581 (simplify_cond_using_ranges): Likewise. Take a signop rather than
7582 a bool.
7583 (simplify_conversion_using_ranges): Use wide-int interfaces.
7584 (simplify_float_conversion_using_ranges): Likewise.
7585 (vrp_finalize): Likewise.
7586 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
7587 (gimple_stringops_transform): Likewise.
7588 * varasm.c (decode_addr_const): Likewise.
7589 (const_hash_1): Likewise.
7590 (const_rtx_hash_1): Likewise
7591 (output_constant): Likewise.
7592 (array_size_for_constructor): Likewise.
7593 (output_constructor_regular_field): Likewise.
7594 (output_constructor_bitfield): Likewise.
7595 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
7596 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
7597 GENERATOR_FILEs.
7598 * gencheck.c: Define BITS_PER_UNIT.
7599 * wide-int.cc: New.
7600 * wide-int.h: New.
7601 * wide-int-print.cc: New.
7602 * wide-int-print.h: New.
7603
3134fb19
JBG
76042014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7605
7606 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
7607
3bea341f
RB
76082014-05-06 Richard Biener <rguenther@suse.de>
7609
7610 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
7611 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
7612 (TODO_verify_all): Adjust.
7613 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
7614 TODO_verify_stmts and TODO_verify_rtl_sharing.
7615 * bb-reorder.c: Likewise.
7616 * cfgexpand.c: Likewise.
7617 * cprop.c: Likewise.
7618 * cse.c: Likewise.
7619 * function.c: Likewise.
7620 * fwprop.c: Likewise.
7621 * gcse.c: Likewise.
7622 * gimple-ssa-isolate-paths.c: Likewise.
7623 * gimple-ssa-strength-reduction.c: Likewise.
7624 * ipa-split.c: Likewise.
7625 * loop-init.c: Likewise.
7626 * loop-unroll.c: Likewise.
7627 * lower-subreg.c: Likewise.
7628 * modulo-sched.c: Likewise.
7629 * postreload-gcse.c: Likewise.
7630 * predict.c: Likewise.
7631 * recog.c: Likewise.
7632 * sched-rgn.c: Likewise.
7633 * store-motion.c: Likewise.
7634 * tracer.c: Likewise.
7635 * trans-mem.c: Likewise.
7636 * tree-call-cdce.c: Likewise.
7637 * tree-cfg.c: Likewise.
7638 * tree-cfgcleanup.c: Likewise.
7639 * tree-complex.c: Likewise.
7640 * tree-eh.c: Likewise.
7641 * tree-emutls.c: Likewise.
7642 * tree-if-conv.c: Likewise.
7643 * tree-into-ssa.c: Likewise.
7644 * tree-loop-distribution.c: Likewise.
7645 * tree-object-size.c: Likewise.
7646 * tree-parloops.c: Likewise.
7647 * tree-pass.h: Likewise.
7648 * tree-sra.c: Likewise.
7649 * tree-ssa-ccp.c: Likewise.
7650 * tree-ssa-copy.c: Likewise.
7651 * tree-ssa-copyrename.c: Likewise.
7652 * tree-ssa-dce.c: Likewise.
7653 * tree-ssa-dom.c: Likewise.
7654 * tree-ssa-dse.c: Likewise.
7655 * tree-ssa-forwprop.c: Likewise.
7656 * tree-ssa-ifcombine.c: Likewise.
7657 * tree-ssa-loop-ch.c: Likewise.
7658 * tree-ssa-loop-ivcanon.c: Likewise.
7659 * tree-ssa-loop.c: Likewise.
7660 * tree-ssa-math-opts.c: Likewise.
7661 * tree-ssa-phiopt.c: Likewise.
7662 * tree-ssa-phiprop.c: Likewise.
7663 * tree-ssa-pre.c: Likewise.
7664 * tree-ssa-reassoc.c: Likewise.
7665 * tree-ssa-sink.c: Likewise.
7666 * tree-ssa-strlen.c: Likewise.
7667 * tree-ssa-tail-merge.c: Likewise.
7668 * tree-ssa-uncprop.c: Likewise.
7669 * tree-switch-conversion.c: Likewise.
7670 * tree-tailcall.c: Likewise.
7671 * tree-vect-generic.c: Likewise.
7672 * tree-vectorizer.c: Likewise.
7673 * tree-vrp.c: Likewise.
7674 * tsan.c: Likewise.
7675 * var-tracking.c: Likewise.
7676 * bt-load.c: Likewise.
7677 * cfgcleanup.c: Likewise.
7678 * combine-stack-adj.c: Likewise.
7679 * combine.c: Likewise.
7680 * compare-elim.c: Likewise.
7681 * config/epiphany/resolve-sw-modes.c: Likewise.
7682 * config/i386/i386.c: Likewise.
7683 * config/mips/mips.c: Likewise.
7684 * config/s390/s390.c: Likewise.
7685 * config/sh/sh_treg_combine.cc: Likewise.
7686 * config/sparc/sparc.c: Likewise.
7687 * dce.c: Likewise.
7688 * dse.c: Likewise.
7689 * final.c: Likewise.
7690 * ifcvt.c: Likewise.
7691 * mode-switching.c: Likewise.
7692 * passes.c: Likewise.
7693 * postreload.c: Likewise.
7694 * ree.c: Likewise.
7695 * reg-stack.c: Likewise.
7696 * regcprop.c: Likewise.
7697 * regrename.c: Likewise.
7698 * web.c: Likewise.
7699
3d224d46
RB
77002014-05-06 Richard Biener <rguenther@suse.de>
7701
7702 PR middle-end/61070
7703 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
7704 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
7705
e400f081
JH
77062014-05-05 Jan Hubicka <hubicka@ucw.cz>
7707
7708 PR ipa/60965
7709 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
7710
aaeaa9a9 77112014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 7712 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 7713
b6db8af6
UB
7714 * target.def (call_fusage_contains_non_callee_clobbers): New
7715 DEFHOOKPOD.
aaeaa9a9
RO
7716 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
7717 Hooks to @menu.
7718 (@node Miscellaneous Register Hooks): New node.
7719 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
7720 * doc/tm.texi: Regenerate.
7721
c2ac23fe
MP
77222014-05-05 Marek Polacek <polacek@redhat.com>
7723
7724 PR driver/61065
7725 * opts.c (common_handle_option): Call error_at instead of warning_at.
7726
0db74577
RB
77272014-05-05 Richard Biener <rguenther@suse.de>
7728
7729 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
7730 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
7731 under the TODO_verify_il umbrella.
7732
7e7f8713
RB
77332014-05-05 Richard Biener <rguenther@suse.de>
7734
7735 * passes.c (execute_function_todo): Move TODO_verify_flow under
7736 the TODO_verify_ul umbrella.
7737
7e2c9f14
RB
77382014-05-05 Richard Biener <rguenther@suse.de>
7739
7740 PR middle-end/61010
b6db8af6
UB
7741 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
7742 X & CST away from a CST that is the mask of a mode.
7e2c9f14 7743
33ecf108
JBG
77442014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7745
7746 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
7747 int argument to enum machine_mode.
7748 (picochip_class_max_nregs): Ditto.
7749 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
7750 (picochip_class_max_nregs): Ditto.
7751
d56a43a0
AK
77522014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7753
7754 * target.def: Add new target hook.
7755 * doc/tm.texi: Regenerate.
7756 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
7757 * targhooks.c (default_keep_leaf_when_profiled): New function.
7758
7759 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
7760 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
7761
cb8f1a57
BC
77622014-05-05 Bin Cheng <bin.cheng@arm.com>
7763
7764 PR tree-optimization/60363
7765 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
7766 (copy_phi_args): New parameters. Call get_value_locus_in_path.
7767 (update_destination_phis): New parameter.
7768 (create_edge_and_update_destination_phis): Ditto.
7769 (ssa_fix_duplicate_block_edges): Pass new arguments.
7770 (thread_single_edge): Ditto.
7771
f93bc5b3
PB
77722014-05-04 Peter Bergner <bergner@vnet.ibm.com>
7773
7774 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
7775 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
7776 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
7777 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
7778 Use RS6000_BTM_HARD_FLOAT.
7779 (BU_MISC_2): Likewise.
7780 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
7781 RS6000_BTM_HARD_FLOAT.
7782 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
7783 is explicitly used.
7784 (rs6000_invalid_builtin): Add hard floating builtin support.
7785 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
7786 hard float builtins.
7787 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
7788
579f4e64
OE
77892014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
7790
7791 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
7792 Add missing function* argument.
7793
0be7287d
RS
77942014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
7795
7796 * lra-constraints.c (valid_address_p): Move earlier in file.
7797 Add a constraint argument to the address_info version.
7798 (satisfies_memory_constraint_p): New function.
7799 (satisfies_address_constraint_p): Likewise.
7800 (process_alt_operands, curr_insn_transform): Use them.
7801 (process_address): Pass the constraint to valid_address_p when
7802 checking address operands.
7803
ad782bc9
RS
78042014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
7805
7806 * config/mips/mips.c (mips_isa_rev): New variable.
7807 (mips_set_architecture): Set it.
7808 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
7809 from mips_isa_rev.
7810 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
7811 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
7812 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
7813 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
7814 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
7815 conditions in terms of mips_isa_rev.
7816 (mips_isa_rev): Declare.
7817
45731f37
OE
78182014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
7819
7820 * config/sh/sh-mem.cc: Use tabs instead of spaces.
7821 (prob_unlikely, prob_likely): Make variables const.
7822
c61dfa63
DC
78232014-05-03 Denis Chertykov <chertykov@gmail.com>
7824
7825 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
7826
1b8da635
OE
78272014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
7828
7829 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
7830
f6982a08
OE
78312014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
7832
7833 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
7834 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
7835 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
7836 functions.
7837 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
7838 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
7839 sh_pass_in_reg_p.
7840 Replace usage of ROUND_REG with sh_round_reg.
7841 Use CEIL instead of ROUND_ADVANCE.
7842
0bcf70f8
OE
78432014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
7844
7845 PR target/61026
7846 * config/sh/sh.c: Include stdlib headers before everything else.
7847
95782571
JJ
78482014-05-02 Jakub Jelinek <jakub@redhat.com>
7849
7850 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
7851 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
7852 (gimplify_adjust_omp_clauses): Simd region is never
7853 directly nested in combined parallel. Instead, for linear
7854 with copyin/copyout, if in combined for simd loop, make decl
7855 firstprivate/lastprivate on OMP_FOR.
7856 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
7857 expand_omp_for_static_chunk): When setting endvar, also set
7858 fd->loop.v to the same value.
7859
e13b3dfd
RS
78602014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7861
7862 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
7863
0696116a
AL
78642014-05-02 Alan Lawrence <alan.lawrence@arm.com>
7865
7866 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
7867 expression.
7868
fb90f9f3
MP
78692014-05-02 Marek Polacek <polacek@redhat.com>
7870
7871 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
7872
153df826 78732014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
7874
7875 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
7876 to a C expression marco.
7877 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
7878 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
7879 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
7880 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
7881 HONOR_REG_ALLOC_ORDER.
7882 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
7883
53c8d5a7
JBG
78842014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7885
7886 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
7887
486c559b
JBG
78882014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7889
7890 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
7891
944052b9
YR
78922014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
7893
7894 * tree-if-conv.c (is_cond_scalar_reduction): New function.
7895 (convert_scalar_cond_reduction): Likewise.
7896 (predicate_scalar_phi): Add recognition and transformation
7897 of simple conditioanl reduction to be vectorizable.
7898
d00887e8
MP
78992014-05-01 Marek Polacek <polacek@redhat.com>
7900
7901 PR c/43245
7902 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
7903
7211512a
AL
79042014-04-30 Alan Lawrence <alan.lawrence@arm.com>
7905
7906 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
7907 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
7908 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
7909 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
7910 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
7911 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
7912 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
7913 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
7914
e5bd20a4
JR
79152014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
7916
7917 * config/arc/arc.opt (mlra): Move comment above option name
7918 to avoid mis-parsing as language options.
7919
2cf03b11
RO
79202014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7921
7922 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
7923 * config/sol2.h: ... here.
7924 * config/sol2-10.h: Remove.
7925
7926 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
7927 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
7928 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
7929 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
7930 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
7931 * config/sol2.h: ... here.
7932 (SECTION_NAME_FORMAT): Don't redefine.
7933 (STARTFILE_ARCH32_SPEC): Rename to ...
7934 (STARTFILE_ARCH_SPEC): ... this.
7935 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
7936 * config/sparc/sol2.h: ... here.
7937 (SECTION_NAME_FORMAT): Don't undef.
7938 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
7939 (SUBTARGET_EXTRA_SPECS): Remove.
7940 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
7941
7942 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
7943 (MD_STARTFILE_PREFIX): Remove.
7944 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
7945 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
7946 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
7947 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
7948 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
7949 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
7950 * config/i386/sol2.h: ... here.
7951 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
7952 * config/i386/sol2-bi.h: Remove.
7953 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
7954 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
7955
7956 * config/i386/t-sol2-64: Rename to ...
7957 * config/i386/t-sol2: ... this.
7958 * config/sparc/t-sol2-64: Rename to ...
7959 * config/sparc/t-sol2: ... this.
7960
7961 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
7962 sol2_tm_file_head, sol2_tm_file_tail.
7963 Include ${cpu_type}/sol2.h before sol2.h.
7964 Remove sol2-10.h.
7965 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
7966 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
7967 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
7968 Reflect i386/t-sol2-64 renaming.
7969 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
7970 Reflect sparc/t-sol2-64 renaming.
7971
e9ff9caf
RB
79722014-04-30 Richard Biener <rguenther@suse.de>
7973
7974 * passes.c (execute_function_todo): Move TODO_verify_stmts
7975 and TODO_verify_ssa under the TODO_verify_il umbrella.
7976 * tree-ssa.h (verify_ssa): Adjust prototype.
7977 * tree-ssa.c (verify_ssa): Add parameter to tell whether
7978 we should verify SSA operands.
7979 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
7980 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
7981 whether we should verify whether not throwing stmts have EH info.
7982 * graphite-scop-detection.c (create_sese_edges): Adjust.
7983 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
7984 * tree-eh.c (lower_try_finally_switch): Do not add the
7985 default case label twice.
7986
f8ed5150
MP
79872014-04-30 Marek Polacek <polacek@redhat.com>
7988
7989 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
7990 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
7991 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
7992 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
7993
7cb0403f
AL
79942014-04-29 Alan Lawrence <alan.lawrence@arm.com>
7995
7996 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
7997 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
7998 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
7999 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
8000 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
8001 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
8002 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
8003 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
8004
3979649a
DM
80052014-04-29 David Malcolm <dmalcolm@redhat.com>
8006
8007 * tree-cfg.c (dump_function_to_file): Dump the return type of
8008 functions, in a line to itself before the function body, mimicking
8009 the layout of a C function.
8010
62fb101e
JJ
80112014-04-29 Jakub Jelinek <jakub@redhat.com>
8012
8013 PR tree-optimization/60971
8014 * tree-tailcall.c (process_assignment): Reject conversions which
8015 reduce precision.
8016
3d9684ae
JG
80172014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
8018
8019 * calls.c (initialize_argument_information): Always treat
8020 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
8021 (expand_call): Likewise.
8022 (emit_library_call_calue_1): Likewise.
8023 * expr.c (PUSH_ARGS_REVERSED): Do not define.
8024 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
8025 code accordingly.
8026
d77f7b19
NC
80272014-04-29 Nick Clifton <nickc@redhat.com>
8028
8029 * config/msp430/msp430.md (umulsidi): Fix typo.
8030 (mulhisi3): Enable even inside interrupt handlers.
8031 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
8032 bigger return address pushed in large mode.
8033
f8d91e80
NC
80342014-04-29 Nick Clifton <nickc@redhat.com>
8035
8036 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
8037 (arc_init_reg_tables): Use a machine_mode enum to iterate over
8038 available modes.
8039 * config/m32r/m32r.c (init_reg_tables): Likewise.
8040 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
8041 enum to hold the modes.
8042
e3f613cb
RB
80432014-04-29 Richard Biener <rguenther@suse.de>
8044
8045 * dominance.c (free_dominance_info): Add overload with
8046 function parameter.
8047 (dom_info_state): Likewise.
8048 (dom_info_available_p): Likewise.
8049 * basic-block.h (free_dominance_info, dom_info_state,
8050 dom_info_available_p): Declare overloads.
8051 * passes.c (execute_function_todo): Verify that verifiers
8052 don't change dominator info state. Drop dominator info
8053 for IPA pass invocations.
8054 * cgraph.c (release_function_body): Restore asserts that
8055 dominator information is released.
8056
36f291f7
PP
80572014-04-29 Patrick Palka <patrick@parcs.ath.cx>
8058
8059 * doc/invoke.texi: Fix typo.
8060 * tree-vrp.c: Fix typos.
b6db8af6 8061 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 8062
d3a3182b
ZC
80632014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8064
8065 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
8066
ba081b77
JG
80672014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
8068
8069 * config/aarch64/aarch64-builtins.c
8070 (aarch64_types_storestruct_lane_qualifiers): New.
8071 (TYPES_STORESTRUCT_LANE): Likewise.
8072 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
8073 (st3_lane): Likewise.
8074 (st4_lane): Likewise.
8075 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
8076 (vec_store_lanesci_lane<mode>): Likewise.
8077 (vec_store_lanesxi_lane<mode>): Likewise.
8078 (aarch64_st2_lane<VQ:mode>): Likewise.
8079 (aarch64_st3_lane<VQ:mode>): Likewise.
8080 (aarch64_st4_lane<VQ:mode>): Likewise.
8081 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
8082 * config/aarch64/arm_neon.h
8083 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
8084 use new macro arguments.
8085 (__ST3_LANE_FUNC): Likewise.
8086 (__ST4_LANE_FUNC): Likewise.
8087 * config/aarch64/iterators.md (V_TWO_ELEM): New.
8088 (V_THREE_ELEM): Likewise.
8089 (V_FOUR_ELEM): Likewise.
8090
1bc6d43c
DM
80912014-04-28 David Malcolm <dmalcolm@redhat.com>
8092
8093 * doc/gimple.texi: Replace the description of the now-defunct
8094 union gimple_statement_d with a diagram showing the
8095 gimple_statement_base class hierarchy and its relationships to
8096 the GSS_ and GIMPLE_ enums.
8097
97e1ad78
JG
80982014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
8099
8100 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
8101 * config/aarch64/aarch64.c
8102 (aarch64_cannot_change_mode_class): Weaken conditions.
8103 (aarch64_modes_tieable_p): New.
8104 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
8105
bf245bf4
PH
81062014-04-28 Pat Haugen <pthaugen@us.ibm.com>
8107
8108 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
8109 (loadsync_<mode>): Change mode.
8110 (load_quadpti, store_quadpti): New.
8111 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
8112 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
8113
28151221
MJ
81142014-04-28 Martin Jambor <mjambor@suse.cz>
8115
8116 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
8117 same alias type as the original statement.
8118 (subreplacement_assignment_data): New type.
8119 (handle_unscalarized_data_in_subtree): New type of parameter,
8120 generate new memory accesses with same alias type as the original
8121 statement.
8122 (load_assign_lhs_subreplacements): Likewise.
8123 (sra_modify_constructor_assign): Generate new memory accesses with
8124 same alias type as the original statement.
8125
9ba5fb43
RB
81262014-04-28 Richard Biener <rguenther@suse.de>
8127
8128 * tree-pass.h (TODO_verify_il): Define.
8129 (TODO_verify_all): Complete properly.
8130 * passes.c (execute_function_todo): Move existing loop-closed
8131 SSA verification under TODO_verify_il.
8132 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
8133 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
8134 Fix tree sharing issue.
8135
22869a37
RB
81362014-04-28 Richard Biener <rguenther@suse.de>
8137
8138 PR middle-end/60092
8139 * builtins.def (DEF_C11_BUILTIN): Add.
8140 (BUILT_IN_ALIGNED_ALLOC): Likewise.
8141 * coretypes.h (enum function_class): Add function_c11_misc.
8142 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
8143 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
8144 (call_may_clobber_ref_p_1): Likewise.
8145 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
8146 (mark_all_reaching_defs_necessary_1): Likewise.
8147 (propagate_necessity): Likewise.
8148 (eliminate_unnecessary_stmts): Likewise.
8149 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
8150
771c9501
RB
81512014-04-28 Richard Biener <rguenther@suse.de>
8152
8153 * tree-vrp.c (vrp_var_may_overflow): Remove.
8154 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
8155 with overflow immediately bump to one before that value and
8156 let iteration figure out overflow status.
8157
279a935f
RB
81582014-04-28 Richard Biener <rguenther@suse.de>
8159
8160 * configure.ac: Do valgrind header checks unconditionally.
8161 Add --enable-valgrind-annotations.
8162 * system.h: Guard valgrind header inclusion with
8163 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
8164 * alloc-pool.c (pool_alloc, pool_free): Use
8165 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
8166 to guard possibly dead code.
8167 * config.in: Regenerated.
8168 * configure: Likewise.
8169
07357f2f
JL
81702014-04-28 Jeff Law <law@redhat.com>
8171
8172 PR tree-optimization/60902
8173 * tree-ssa-threadedge.c
8174 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
8175 over real defs when invalidating outputs from statements that do not
8176 produce useful outputs for threading.
8177
6c6aa8e6
RB
81782014-04-28 Richard Biener <rguenther@suse.de>
8179
8180 PR tree-optimization/60979
8181 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
8182 SCOPs that end in a block with a successor with abnormal
8183 predecessors.
8184
2cbf2d95
RB
81852014-04-28 Richard Biener <rguenther@suse.de>
8186
8187 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 8188 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
8189 (do_per_function): Change callback signature, push all actual
8190 work to the callbals.
8191 (do_per_function_toporder): Likewise.
8192 (execute_function_dump): Adjust.
8193 (execute_function_todo): Likewise.
8194 (clear_last_verified): Likewise.
8195 (verify_curr_properties): Likewise.
8196 (update_properties_after_pass): Likewise.
8197 (execute_pass_list_1): Split out from ...
8198 (execute_pass_list): ... here. Adjust.
8199 (execute_ipa_pass_list): Likewise.
8200 * cgraphunit.c (cgraph_add_new_function): Adjust.
8201 (analyze_function): Likewise.
8202 (expand_function): Likewise.
8203 * cgraph.c (release_function_body): Free dominance info
8204 here instead of asserting it was magically freed elsewhere.
8205
ba21a04a
EB
82062014-04-28 Eric Botcazou <ebotcazou@adacore.com>
8207
8208 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
8209 * configure: Regenerate.
8210 * config/sparc/sparc.opt (muser-mode): New option.
8211 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
8212 for LEON3.
8213 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
8214 * doc/invoke.texi (SPARC options): Document -muser-mode.
8215
f956adb9
RS
82162014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
8217
8218 * cselib.c (find_slot_memmode): Delete.
8219 (cselib_hasher): Change compare_type to a struct.
8220 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
8221 constants.
8222 (preserve_constants_and_equivs): Adjust for new compare_type.
8223 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
8224 (wrap_constant): Delete.
8225 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
8226
167c3e96
MT
82272014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
8228
8229 * doc/install.texi (Building with profile feedback): Remove
8230 outdated sentence.
8231
4148ef5f
TV
82322014-04-26 Tom de Vries <tom@codesourcery.com>
8233
8234 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
8235 array accesses.
8236
8d8ffd86
CC
82372014-04-25 Cary Coutant <ccoutant@google.com>
8238
b6db8af6 8239 PR debug/60929
8d8ffd86 8240 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
8241 can contain a subprogram definition, but don't move it to a
8242 comdat unit.
8d8ffd86 8243 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
8244 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
8245 from original DIE.
8d8ffd86
CC
8246 (clone_tree_hash): Rename to...
8247 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 8248 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 8249 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 8250 type unit.
8d8ffd86 8251
255671b0
L
82522014-04-25 H.J. Lu <hongjiu.lu@intel.com>
8253
8254 PR target/60969
8255 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
8256 alternative 12.
8257
10432733
JW
82582014-04-25 Jiong Wang <jiong.wang@arm.com>
8259
8260 * config/arm/predicates.md (call_insn_operand): Add long_call check.
8261 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
8262 reg for long_call.
8263 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
8264 restriction.
8265
0e4c913f
KT
82662014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8267
b6db8af6 8268 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 8269
61ba7329
BS
82702014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8271
8272 PR tree-optimization/60930
8273 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
8274 creating a multiply candidate by folding two constant
8275 multiplicands when the result overflows.
8276
2b332829
JJ
82772014-04-25 Jakub Jelinek <jakub@redhat.com>
8278
8279 PR tree-optimization/60960
8280 * tree-vect-generic.c (expand_vector_operation): Only call
8281 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
8282
97891c11
TV
82832014-04-25 Tom de Vries <tom@codesourcery.com>
8284
8285 * expr.c (clobber_reg_mode): New function.
8286 * expr.h (clobber_reg): New function.
8287
3ee634fd
TV
82882014-04-25 Tom de Vries <tom@codesourcery.com>
8289
8290 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
8291 clobbers.
8292
356bf593 82932014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8294 Tom de Vries <tom@codesourcery.com>
356bf593
RO
8295
8296 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
8297 handle.
8298 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
8299 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
8300 new argument to find_all_hard_reg_sets call.
8301
fe65a7ed
KT
83022014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8303
8304 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
8305 Use HOST_WIDE_INT_C for mask literal.
8306 (aarch_rev16_shleft_mask_imm_p): Likewise.
8307
b357d40d
EB
83082014-04-25 Eric Botcazou <ebotcazou@adacore.com>
8309
8310 PR target/60941
8311 * config/sparc/sparc.md (ashlsi3_extend): Delete.
8312
30c0a59a
MG
83132014-04-25 Marc Glisse <marc.glisse@inria.fr>
8314
8315 PR preprocessor/56540
8316 * config/i386/i386-c.c (ix86_target_macros): Define
8317 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
8318
c02f59e2
RO
83192014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8320
8321 * configure.ac (tga_func): Remove.
8322 (LIB_TLS_SPEC): Remove.
8323 * configure: Regenerate.
8324 * config.in: Regenerate.
8325 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
8326
92b3326b
RB
83272014-04-25 Richard Biener <rguenther@suse.de>
8328
8329 PR ipa/60912
8330 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
8331 call stmt use/clobber sets during stmt walk instead of
8332 walking the possibly incomplete set of caller edges.
8333
78422fb1
RB
83342014-04-25 Richard Biener <rguenther@suse.de>
8335
8336 PR ipa/60911
8337 * passes.c (apply_ipa_transforms): Inline into only caller ...
8338 (execute_one_pass): ... here. Properly bring in function
8339 bodies for nodes we want to apply IPA transforms to.
8340
56f8faae
CH
83412014-04-24 Cong Hou <congh@google.com>
8342
8343 PR tree-optimization/60896
8344 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
8345 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
8346 (vect_mark_pattern_stmts): Set the def type of all statements in
8347 PATTERN_DEF_SEQ as vect_internal_def.
8348
06b39289
MM
83492014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
8350
8351 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 8352 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
8353 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
8354
8355 * config/rs6000/predicates.md (const_0_to_3_operand): New
8356 predicate to match 0..3 integer constants.
8357
8358 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
8359 to support adding miscellaneous builtin functions.
8360 (BU_DFP_MISC_2): Likewise.
8361 (BU_P7_MISC_1): Likewise.
8362 (BU_P7_MISC_2): Likewise.
8363 (BU_P8V_MISC_3): Likewise.
8364 (BU_MISC_1): Likewise.
8365 (BU_MISC_2): Likewise.
8366 (DIVWE): Add extended divide builtin functions.
8367 (DIVWEO): Likewise.
8368 (DIVWEU): Likewise.
8369 (DIVWEUO): Likewise.
8370 (DIVDE): Likewise.
8371 (DIVDEO): Likewise.
8372 (DIVDEU): Likewise.
8373 (DIVDEUO): Likewise.
8374 (DXEX): Add decimal floating-point builtin functions.
8375 (DXEXQ): Likewise.
8376 (DDEDPD): Likewise.
8377 (DDEDPDQ): Likewise.
8378 (DENBCD): Likewise.
8379 (DENBCDQ): Likewise.
8380 (DIEX): Likewise.
8381 (DIEXQ): Likewise.
8382 (DSCLI): Likewise.
8383 (DSCLIQ): Likewise.
8384 (DSCRI): Likewise.
8385 (DSCRIQ): Likewise.
8386 (CDTBCD): Add new BCD builtin functions.
8387 (CBCDTD): Likewise.
8388 (ADDG6S): Likewise.
8389 (BCDADD): Likewise.
8390 (BCDADD_LT): Likewise.
8391 (BCDADD_EQ): Likewise.
8392 (BCDADD_GT): Likewise.
8393 (BCDADD_OV): Likewise.
8394 (BCDSUB): Likewise.
8395 (BCDSUB_LT): Likewise.
8396 (BCDSUB_EQ): Likewise.
8397 (BCDSUB_GT): Likewise.
8398 (BCDSUB_OV): Likewise.
8399 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
8400 (UNPACK_TD): Likewise.
8401 (PACK_TF): Likewise.
8402 (UNPACK_TF): Likewise.
8403 (UNPACK_TF_0): Likewise.
8404 (UNPACK_TF_1): Likewise.
8405 (PACK_V1TI): Likewise.
8406 (UNPACK_V1TI): Likewise.
8407
8408 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
8409 support for decimal floating point builtin functions.
8410 (rs6000_expand_ternop_builtin): Add checks for the new builtin
8411 functions that take constant arguments.
b6db8af6 8412 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
8413 (rs6000_init_builtins): Setup long double, _Decimal64, and
8414 _Decimal128 types for new builtin functions.
8415 (builtin_function_type): Set the unsigned flags appropriately for
8416 the new builtin functions.
8417 (rs6000_opt_masks): Add support for decimal floating point builtin
8418 functions.
8419
8420 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
8421 floating point builtin functions.
8422 (RS6000_BTM_COMMON): Likewise.
8423 (RS6000_BTI_long_double): Likewise.
8424 (RS6000_BTI_dfloat64): Likewise.
8425 (RS6000_BTI_dfloat128): Likewise.
8426 (long_double_type_internal_node): Likewise.
8427 (dfloat64_type_internal_node): Likewise.
8428 (dfloat128_type_internal_node): Likewise.
8429
8430 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
8431 2.07 bcd arithmetic instructions.
8432 (UNSPEC_BCDSUB): Likewise.
8433 (UNSPEC_BCD_OVERFLOW): Likewise.
8434 (UNSPEC_BCD_ADD_SUB): Likewise.
8435 (bcd_add_sub): Likewise.
8436 (BCD_TEST): Likewise.
8437 (bcd<bcd_add_sub>): Likewise.
8438 (bcd<bcd_add_sub>_test): Likewise.
8439 (bcd<bcd_add_sub>_test2): Likewise.
8440 (bcd<bcd_add_sub>_<code>): Likewise.
8441 (peephole2 for combined bcd ops): Likewise.
8442
8443 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
8444 decimal floating point builtin functions.
8445 (UNSPEC_DENBCD): Likewise.
8446 (UNSPEC_DXEX): Likewise.
8447 (UNSPEC_DIEX): Likewise.
8448 (UNSPEC_DSCLI): Likewise.
8449 (UNSPEC_DSCRI): Likewise.
8450 (D64_D128): Likewise.
8451 (dfp_suffix): Likewise.
8452 (dfp_ddedpd_<mode>): Likewise.
8453 (dfp_denbcd_<mode>): Likewise.
8454 (dfp_dxex_<mode>): Likewise.
8455 (dfp_diex_<mode>): Likewise.
8456 (dfp_dscli_<mode>): Likewise.
8457 (dfp_dscri_<mode>): Likewise.
8458
8459 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
8460 builtin functions.
8461 (UNSPEC_CDTBCD): Likewise.
8462 (UNSPEC_CBCDTD): Likewise.
b6db8af6 8463 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
8464 (UNSPEC_DIVEO): Likewise.
8465 (UNSPEC_DIVEU): Likewise.
8466 (UNSPEC_DIVEUO): Likewise.
8467 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
8468 pack/unpack 128-bit types.
8469 (UNSPEC_PACK_128BIT): Likewise.
8470 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
8471 (udiv<mode>3): Use idiv_ldiv mode attribute.
8472 (div<mode>3): Likewise.
8473 (addg6s): Add new BCD builtin functions.
8474 (cdtbcd): Likewise.
8475 (cbcdtd): Likewise.
b6db8af6 8476 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
8477 (div_extend): Likewise.
8478 (div<div_extend>_<mode>"): Likewise.
8479 (FP128_64): Add support for new builtin functions to pack/unpack
8480 128-bit types.
8481 (unpack<mode>): Likewise.
8482 (unpacktf_0): Likewise.
8483 (unpacktf_1): Likewise.
8484 (unpack<mode>_dm): Likewise.
8485 (unpack<mode>_nodm): Likewise.
8486 (pack<mode>): Likewise.
8487 (unpackv1ti): Likewise.
8488 (packv1ti): Likewise.
8489
6e4f81db
V
84902014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
8491
8492 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
8493 is disabled.
8494
f7468577
JJ
84952014-04-24 Jakub Jelinek <jakub@redhat.com>
8496
8497 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
8498 * gimplify.c (omp_is_private): Change last argument's type to int.
8499 Only diagnose lastprivate if the simd argument is 1, only diagnose
8500 linear if the simd argument is 2.
8501 (gimplify_omp_for): Adjust omp_is_private callers. When adding
8502 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
8503 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
8504 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
8505 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
8506 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
8507 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
8508 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
8509 * tree-nested.c (convert_nonlocal_omp_clauses,
8510 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
8511
2f7ac5ce
JL
85122014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
8513
8514 PR target/60822
8515 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
8516 operand 1.
8517
dcaaa5a0
DP
85182014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
8519
8520 * flag-types.h (enum ivar_visibility): Add.
8521
78c7d18e
TS
85222014-04-24 Trevor Saunders <tsaunders@mozilla.com>
8523
8524 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
8525 function * argument.
8526
fbbde65e
AL
85272014-04-24 Alan Lawrence <alan.lawrence@arm.com>
8528
8529 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
8530
4f660b15 85312014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8532 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
8533
8534 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
8535 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
8536 reg-note.
8537 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
8538 * emit-rtl.c (try_split): Same.
8539
d996e61a 85402014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8541 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
8542
8543 * common.opt (fuse-caller-save): New option.
8544
bbcc9c00
TB
85452014-04-24 Tejas Belagod <tejas.belagod@arm.com>
8546
b6db8af6
UB
8547 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
8548 elements for big-endian.
bbcc9c00 8549
d2d11532
RB
85502014-04-24 Richard Biener <rguenther@suse.de>
8551
8552 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
8553 during TER and instead use the sepops interface for expanding
8554 non-GIMPLE_SINGLE_RHS.
8555
8117ef98
RO
85562014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8557
8558 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
8559 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
8560
ab0afae3
RO
85612014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8562
8563 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
8564 assembler 64-bit option.
8565 * configure: Regenerate.
8566
683e3333
KT
85672014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8568
8569 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
8570 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
8571 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
8572 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
8573 (TARGET_CRYPTO): Take TARGET_SIMD into account.
8574
c7f28cd5
KT
85752014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8576
8577 * config/aarch64/aarch64-builtins.c
8578 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
8579 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
8580 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
8581 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
8582 builtins.
8583 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
8584 (Vrevsuff): New mode attribute.
8585
b0419491
TG
85862014-04-24 Terry Guo <terry.guo@arm.com>
8587
8588 * config/arm/arm.h (machine_function): Define variable
8589 after_arm_reorg here.
8590 * config/arm/arm.c (after_arm_reorg): Remove the definition.
8591 (arm_split_constant): Update the way to access variable
8592 after_arm_reorg.
8593 (arm_reorg): Ditto.
8594 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
8595
74e4d71a
TV
85962014-04-23 Tom de Vries <tom@codesourcery.com>
8597
8598 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
8599
7de90a6c
DM
86002014-04-23 David Malcolm <dmalcolm@redhat.com>
8601
8602 * is-a.h: Update comments to reflect the following changes to the
8603 "pointerness" of the API, making the template parameter match the
8604 return type, allowing use of is-a.h with typedefs of pointers.
8605 (is_a_helper::cast): Return a T rather then a pointer to a T, so
8606 that the return type matches the parameter to the is_a_helper.
8607 (as_a): Likewise.
8608 (dyn_cast): Likewise.
8609
8610 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
8611 pointer from the is-a.h API.
8612
8613 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
8614 (is_a_helper <cgraph_node *>::test): ...this, matching change to
8615 is-a.h API.
8616 (is_a_helper <varpool_node>::test): Likewise, convert to...
8617 (is_a_helper <varpool_node *>::test): ...this.
8618
8619 (varpool_first_variable): Update for removal of implicit pointer
8620 from the is-a.h API.
8621 (varpool_next_variable): Likewise.
8622 (varpool_first_static_initializer): Likewise.
8623 (varpool_next_static_initializer): Likewise.
8624 (varpool_first_defined_variable): Likewise.
8625 (varpool_next_defined_variable): Likewise.
8626 (cgraph_first_defined_function): Likewise.
8627 (cgraph_next_defined_function): Likewise.
8628 (cgraph_first_function): Likewise.
8629 (cgraph_next_function): Likewise.
8630 (cgraph_first_function_with_gimple_body): Likewise.
8631 (cgraph_next_function_with_gimple_body): Likewise.
8632 (cgraph_alias_target): Likewise.
8633 (varpool_alias_target): Likewise.
8634 (cgraph_function_or_thunk_node): Likewise.
8635 (varpool_variable_node): Likewise.
8636 (symtab_real_symbol_p): Likewise.
8637 * cgraphunit.c (referred_to_p): Likewise.
8638 (analyze_functions): Likewise.
8639 (handle_alias_pairs): Likewise.
8640 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
8641 * gimple-ssa.h (gimple_vuse_op): Likewise.
8642 (gimple_vdef_op): Likewise.
8643 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
8644 * gimple.c (gimple_build_asm_1): Likewise.
8645 (gimple_build_try): Likewise.
8646 (gimple_build_resx): Likewise.
8647 (gimple_build_eh_dispatch): Likewise.
8648 (gimple_build_omp_for): Likewise.
8649 (gimple_omp_for_set_clauses): Likewise.
8650
8651 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
8652 (is_a_helper <gimple_statement_asm *>::test): ...this.
8653 (is_a_helper <gimple_statement_bind>::test): Convert to...
8654 (is_a_helper <gimple_statement_bind *>::test): ...this.
8655 (is_a_helper <gimple_statement_call>::test): Convert to...
8656 (is_a_helper <gimple_statement_call *>::test): ...this.
8657 (is_a_helper <gimple_statement_catch>::test): Convert to...
8658 (is_a_helper <gimple_statement_catch *>::test): ...this.
8659 (is_a_helper <gimple_statement_resx>::test): Convert to...
8660 (is_a_helper <gimple_statement_resx *>::test): ...this.
8661 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
8662 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
8663 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
8664 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
8665 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
8666 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
8667 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
8668 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
8669 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
8670 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
8671 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
8672 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
8673 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
8674 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
8675 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
8676 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
8677 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
8678 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
8679 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
8680 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
8681 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
8682 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
8683 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
8684 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
8685 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
8686 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
8687 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
8688 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
8689 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
8690 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
8691 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
8692 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
8693 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
8694 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
8695 (is_a_helper <gimple_statement_phi>::test): Convert to...
8696 (is_a_helper <gimple_statement_phi *>::test): ...this.
8697 (is_a_helper <gimple_statement_transaction>::test): Convert to...
8698 (is_a_helper <gimple_statement_transaction *>::test): ...this.
8699 (is_a_helper <gimple_statement_try>::test): Convert to...
8700 (is_a_helper <gimple_statement_try *>::test): ...this.
8701 (is_a_helper <gimple_statement_wce>::test): Convert to...
8702 (is_a_helper <gimple_statement_wce *>::test): ...this.
8703 (is_a_helper <const gimple_statement_asm>::test): Convert to...
8704 (is_a_helper <const gimple_statement_asm *>::test): ...this.
8705 (is_a_helper <const gimple_statement_bind>::test): Convert to...
8706 (is_a_helper <const gimple_statement_bind *>::test): ...this.
8707 (is_a_helper <const gimple_statement_call>::test): Convert to...
8708 (is_a_helper <const gimple_statement_call *>::test): ...this.
8709 (is_a_helper <const gimple_statement_catch>::test): Convert to...
8710 (is_a_helper <const gimple_statement_catch *>::test): ...this.
8711 (is_a_helper <const gimple_statement_resx>::test): Convert to...
8712 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
8713 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
8714 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
8715 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
8716 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
8717 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
8718 Convert to...
8719 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
8720 ...this.
8721 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
8722 Convert to...
8723 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
8724 ...this.
b6db8af6 8725 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
8726 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
8727 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
8728 to...
8729 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
8730 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
8731 to...
8732 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
8733 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
8734 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 8735 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
8736 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
8737 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
8738 to...
8739 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 8740 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
8741 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
8742 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
8743 to...
8744 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 8745 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 8746 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 8747 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 8748 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 8749 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
8750 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
8751 (is_a_helper <const gimple_statement_phi>::test): Convert to...
8752 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 8753 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 8754 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 8755 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
8756 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
8757 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
8758 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
8759 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
8760 to...
7de90a6c
DM
8761 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
8762 ...this.
b6db8af6 8763 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
8764 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
8765
8766 (gimple_use_ops): Update for removal of implicit pointer from the
8767 is-a.h API.
8768 (gimple_set_use_ops): Likewise.
8769 (gimple_vuse): Likewise.
8770 (gimple_vdef): Likewise.
8771 (gimple_vuse_ptr): Likewise.
8772 (gimple_vdef_ptr): Likewise.
8773 (gimple_set_vuse): Likewise.
8774 (gimple_set_vdef): Likewise.
8775 (gimple_omp_return_set_lhs): Likewise.
8776 (gimple_omp_return_lhs): Likewise.
8777 (gimple_omp_return_lhs_ptr): Likewise.
8778 (gimple_call_fntype): Likewise.
8779 (gimple_call_set_fntype): Likewise.
8780 (gimple_call_set_internal_fn): Likewise.
8781 (gimple_call_use_set): Likewise.
8782 (gimple_call_clobber_set): Likewise.
8783 (gimple_bind_vars): Likewise.
8784 (gimple_bind_set_vars): Likewise.
8785 (gimple_bind_body_ptr): Likewise.
8786 (gimple_bind_set_body): Likewise.
8787 (gimple_bind_add_stmt): Likewise.
8788 (gimple_bind_block): Likewise.
8789 (gimple_bind_set_block): Likewise.
8790 (gimple_asm_ninputs): Likewise.
8791 (gimple_asm_noutputs): Likewise.
8792 (gimple_asm_nclobbers): Likewise.
8793 (gimple_asm_nlabels): Likewise.
8794 (gimple_asm_input_op): Likewise.
8795 (gimple_asm_input_op_ptr): Likewise.
8796 (gimple_asm_output_op): Likewise.
8797 (gimple_asm_output_op_ptr): Likewise.
8798 (gimple_asm_set_output_op): Likewise.
8799 (gimple_asm_clobber_op): Likewise.
8800 (gimple_asm_set_clobber_op): Likewise.
8801 (gimple_asm_label_op): Likewise.
8802 (gimple_asm_set_label_op): Likewise.
8803 (gimple_asm_string): Likewise.
8804 (gimple_catch_types): Likewise.
8805 (gimple_catch_types_ptr): Likewise.
8806 (gimple_catch_handler_ptr): Likewise.
8807 (gimple_catch_set_types): Likewise.
8808 (gimple_catch_set_handler): Likewise.
8809 (gimple_eh_filter_types): Likewise.
8810 (gimple_eh_filter_types_ptr): Likewise.
8811 (gimple_eh_filter_failure_ptr): Likewise.
8812 (gimple_eh_filter_set_types): Likewise.
8813 (gimple_eh_filter_set_failure): Likewise.
8814 (gimple_eh_must_not_throw_fndecl): Likewise.
8815 (gimple_eh_must_not_throw_set_fndecl): Likewise.
8816 (gimple_eh_else_n_body_ptr): Likewise.
8817 (gimple_eh_else_e_body_ptr): Likewise.
8818 (gimple_eh_else_set_n_body): Likewise.
8819 (gimple_eh_else_set_e_body): Likewise.
8820 (gimple_try_eval_ptr): Likewise.
8821 (gimple_try_cleanup_ptr): Likewise.
8822 (gimple_try_set_eval): Likewise.
8823 (gimple_try_set_cleanup): Likewise.
8824 (gimple_wce_cleanup_ptr): Likewise.
8825 (gimple_wce_set_cleanup): Likewise.
8826 (gimple_phi_capacity): Likewise.
8827 (gimple_phi_num_args): Likewise.
8828 (gimple_phi_result): Likewise.
8829 (gimple_phi_result_ptr): Likewise.
8830 (gimple_phi_set_result): Likewise.
8831 (gimple_phi_arg): Likewise.
8832 (gimple_phi_set_arg): Likewise.
8833 (gimple_resx_region): Likewise.
8834 (gimple_resx_set_region): Likewise.
8835 (gimple_eh_dispatch_region): Likewise.
8836 (gimple_eh_dispatch_set_region): Likewise.
8837 (gimple_omp_critical_name): Likewise.
8838 (gimple_omp_critical_name_ptr): Likewise.
8839 (gimple_omp_critical_set_name): Likewise.
8840 (gimple_omp_for_clauses): Likewise.
8841 (gimple_omp_for_clauses_ptr): Likewise.
8842 (gimple_omp_for_set_clauses): Likewise.
8843 (gimple_omp_for_collapse): Likewise.
8844 (gimple_omp_for_index): Likewise.
8845 (gimple_omp_for_index_ptr): Likewise.
8846 (gimple_omp_for_set_index): Likewise.
8847 (gimple_omp_for_initial): Likewise.
8848 (gimple_omp_for_initial_ptr): Likewise.
8849 (gimple_omp_for_set_initial): Likewise.
8850 (gimple_omp_for_final): Likewise.
8851 (gimple_omp_for_final_ptr): Likewise.
8852 (gimple_omp_for_set_final): Likewise.
8853 (gimple_omp_for_incr): Likewise.
8854 (gimple_omp_for_incr_ptr): Likewise.
8855 (gimple_omp_for_set_incr): Likewise.
8856 (gimple_omp_for_pre_body_ptr): Likewise.
8857 (gimple_omp_for_set_pre_body): Likewise.
8858 (gimple_omp_parallel_clauses): Likewise.
8859 (gimple_omp_parallel_clauses_ptr): Likewise.
8860 (gimple_omp_parallel_set_clauses): Likewise.
8861 (gimple_omp_parallel_child_fn): Likewise.
8862 (gimple_omp_parallel_child_fn_ptr): Likewise.
8863 (gimple_omp_parallel_set_child_fn): Likewise.
8864 (gimple_omp_parallel_data_arg): Likewise.
8865 (gimple_omp_parallel_data_arg_ptr): Likewise.
8866 (gimple_omp_parallel_set_data_arg): Likewise.
8867 (gimple_omp_task_clauses): Likewise.
8868 (gimple_omp_task_clauses_ptr): Likewise.
8869 (gimple_omp_task_set_clauses): Likewise.
8870 (gimple_omp_task_child_fn): Likewise.
8871 (gimple_omp_task_child_fn_ptr): Likewise.
8872 (gimple_omp_task_set_child_fn): Likewise.
8873 (gimple_omp_task_data_arg): Likewise.
8874 (gimple_omp_task_data_arg_ptr): Likewise.
8875 (gimple_omp_task_set_data_arg): Likewise.
8876 (gimple_omp_taskreg_clauses): Likewise.
8877 (gimple_omp_taskreg_clauses_ptr): Likewise.
8878 (gimple_omp_taskreg_set_clauses): Likewise.
8879 (gimple_omp_taskreg_child_fn): Likewise.
8880 (gimple_omp_taskreg_child_fn_ptr): Likewise.
8881 (gimple_omp_taskreg_set_child_fn): Likewise.
8882 (gimple_omp_taskreg_data_arg): Likewise.
8883 (gimple_omp_taskreg_data_arg_ptr): Likewise.
8884 (gimple_omp_taskreg_set_data_arg): Likewise.
8885 (gimple_omp_task_copy_fn): Likewise.
8886 (gimple_omp_task_copy_fn_ptr): Likewise.
8887 (gimple_omp_task_set_copy_fn): Likewise.
8888 (gimple_omp_task_arg_size): Likewise.
8889 (gimple_omp_task_arg_size_ptr): Likewise.
8890 (gimple_omp_task_set_arg_size): Likewise.
8891 (gimple_omp_task_arg_align): Likewise.
8892 (gimple_omp_task_arg_align_ptr): Likewise.
8893 (gimple_omp_task_set_arg_align): Likewise.
8894 (gimple_omp_single_clauses): Likewise.
8895 (gimple_omp_single_clauses_ptr): Likewise.
8896 (gimple_omp_single_set_clauses): Likewise.
8897 (gimple_omp_target_clauses): Likewise.
8898 (gimple_omp_target_clauses_ptr): Likewise.
8899 (gimple_omp_target_set_clauses): Likewise.
8900 (gimple_omp_target_child_fn): Likewise.
8901 (gimple_omp_target_child_fn_ptr): Likewise.
8902 (gimple_omp_target_set_child_fn): Likewise.
8903 (gimple_omp_target_data_arg): Likewise.
8904 (gimple_omp_target_data_arg_ptr): Likewise.
8905 (gimple_omp_target_set_data_arg): Likewise.
8906 (gimple_omp_teams_clauses): Likewise.
8907 (gimple_omp_teams_clauses_ptr): Likewise.
8908 (gimple_omp_teams_set_clauses): Likewise.
8909 (gimple_omp_sections_clauses): Likewise.
8910 (gimple_omp_sections_clauses_ptr): Likewise.
8911 (gimple_omp_sections_set_clauses): Likewise.
8912 (gimple_omp_sections_control): Likewise.
8913 (gimple_omp_sections_control_ptr): Likewise.
8914 (gimple_omp_sections_set_control): Likewise.
8915 (gimple_omp_for_set_cond): Likewise.
8916 (gimple_omp_for_cond): Likewise.
8917 (gimple_omp_atomic_store_set_val): Likewise.
8918 (gimple_omp_atomic_store_val): Likewise.
8919 (gimple_omp_atomic_store_val_ptr): Likewise.
8920 (gimple_omp_atomic_load_set_lhs): Likewise.
8921 (gimple_omp_atomic_load_lhs): Likewise.
8922 (gimple_omp_atomic_load_lhs_ptr): Likewise.
8923 (gimple_omp_atomic_load_set_rhs): Likewise.
8924 (gimple_omp_atomic_load_rhs): Likewise.
8925 (gimple_omp_atomic_load_rhs_ptr): Likewise.
8926 (gimple_omp_continue_control_def): Likewise.
8927 (gimple_omp_continue_control_def_ptr): Likewise.
8928 (gimple_omp_continue_set_control_def): Likewise.
8929 (gimple_omp_continue_control_use): Likewise.
8930 (gimple_omp_continue_control_use_ptr): Likewise.
8931 (gimple_omp_continue_set_control_use): Likewise.
8932 (gimple_transaction_body_ptr): Likewise.
8933 (gimple_transaction_label): Likewise.
8934 (gimple_transaction_label_ptr): Likewise.
8935 (gimple_transaction_set_body): Likewise.
8936 (gimple_transaction_set_label): Likewise.
8937
8938 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
8939 * ipa-inline-analysis.c (inline_write_summary): Likewise.
8940 * ipa-ref.c (ipa_record_reference): Likewise.
8941 * ipa-reference.c (analyze_function): Likewise.
8942 (ipa_reference_write_optimization_summary): Likewise.
8943 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
8944 (address_taken_from_non_vtable_p): Likewise.
8945 (comdat_can_be_unshared_p_1): Likewise.
8946 * lto-cgraph.c (lto_output_ref): Likewise.
8947 (add_references): Likewise.
8948 (compute_ltrans_boundary): Likewise.
8949 (output_symtab): Likewise.
8950 (input_ref): Likewise.
8951 (input_cgraph_1): Likewise.
8952 (output_cgraph_opt_summary): Likewise.
8953 * lto-streamer-out.c (lto_output): Likewise.
8954 (output_symbol_p): Likewise.
8955 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
8956 (lsei_start_function_in_partition): Likewise.
8957 (lsei_next_variable_in_partition): Likewise.
8958 (lsei_start_variable_in_partition): Likewise.
8959 * symtab.c (insert_to_assembler_name_hash): Likewise.
8960 (unlink_from_assembler_name_hash): Likewise.
8961 (symtab_unregister_node): Likewise.
8962 (symtab_remove_node): Likewise.
8963 (dump_symtab_node): Likewise.
8964 (verify_symtab_base): Likewise.
8965 (verify_symtab_node): Likewise.
8966 (symtab_make_decl_local): Likewise.
8967 (symtab_alias_ultimate_target): Likewise.
8968 (symtab_resolve_alias): Likewise.
8969 (symtab_get_symbol_partitioning_class): Likewise.
8970 * tree-phinodes.c (allocate_phi_node): Likewise.
8971 (reserve_phi_args_for_new_edge): Likewise.
8972 (remove_phi_args): Likewise.
8973 * varpool.c (varpool_node_for_asm): Likewise.
8974 (varpool_remove_unreferenced_decls): Likewise.
8975
9219922e
JL
89762014-04-23 Jeff Law <law@redhat.com>
8977
8978 PR tree-optimization/60902
8979 * tree-ssa-threadedge.c
8980 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
8981 invalidate outputs from statements that do not produce useful
8982 outputs for threading.
8983
b6db8af6 89842014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
8985
8986 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
8987 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
8988 machine descriptions for Stack Smashing Protector.
8989
57b77d46
RE
89902014-04-23 Richard Earnshaw <rearnsha@arm.com>
8991
8992 * aarch64.md (<optab>_rol<mode>3): New pattern.
8993 (<optab>_rolsi3_uxtw): Likewise.
8994 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
8995
984c2f30
JG
89962014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
8997
8998 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
8999 (arm_cortex_a12_tune): Likewise.
9000
18b42b2a
KT
90012014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9002
9003 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
9004
ea1e9168
KT
90052014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9006
9007 * config/arm/arm.md (arm_rev16si2): New pattern.
9008 (arm_rev16si2_alt): Likewise.
9009 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
9010
f7d5cf8d
KT
90112014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9012
b6db8af6
UB
9013 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
9014 (rev16<mode>2_alt): Likewise.
9015 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
9016 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
9017 (aarch_rev16_shleft_mask_imm_p): Likewise.
9018 (aarch_rev16_p_1): Likewise.
9019 (aarch_rev16_p): Likewise.
9020 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
9021 (aarch_rev16_shright_mask_imm_p): Likewise.
9022 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 9023
9ac05ae5
KT
90242014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9025
b6db8af6
UB
9026 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
9027 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
9028 rev cost.
9029 (cortex_a53_extra_costs): Likewise.
9030 (cortex_a57_extra_costs): Likewise.
9031 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
9032 (cortexa7_extra_costs): Likewise.
9033 (cortexa8_extra_costs): Likewise.
9034 (cortexa12_extra_costs): Likewise.
9035 (cortexa15_extra_costs): Likewise.
9036 (v7m_extra_costs): Likewise.
9037 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 9038
e0d8c86c
KT
90392013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9040
b6db8af6
UB
9041 * config/arm/arm.c (cortexa8_extra_costs): New table.
9042 (arm_cortex_a8_tune): New tuning struct.
9043 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 9044
ba9b1a63
KT
90452014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9046
b6db8af6 9047 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 9048
da4cfeac
RB
90492014-04-23 Richard Biener <rguenther@suse.de>
9050
9051 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
9052 * tree-pass.h (make_pass_rtl_unswitch): Remove.
9053 * passes.def (pass_rtl_unswitch): Likewise.
9054 * loop-init.c (gate_rtl_unswitch): Likewise.
9055 (rtl_unswitch): Likewise.
9056 (pass_data_rtl_unswitch): Likewise.
9057 (pass_rtl_unswitch): Likewise.
9058 (make_pass_rtl_unswitch): Likewise.
9059 * rtl.h (reversed_condition): Likewise.
9060 (compare_and_jump_seq): Likewise.
9061 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
9062 and make static.
9063 * loop-unroll.c (compare_and_jump_seq): Likewise.
9064
22718afe
RB
90652014-04-23 Richard Biener <rguenther@suse.de>
9066
9067 PR tree-optimization/60903
9068 * tree-ssa-loop-im.c (analyze_memory_references): Remove
9069 commented code block.
9070 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
9071 loop flags to newly created BBs and edges.
9072
f7961364
NC
90732014-04-23 Nick Clifton <nickc@redhat.com>
9074
9075 * config/msp430/msp430.c (msp430_handle_option): Move function
9076 to msp430-common.c
9077 (msp430_option_override): Simplify mcu and mcpu option handling.
9078 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
9079 support for -mhwmult command line option.
9080 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
9081 -mhwmult command line option.
9082 (msp430_hwmult_enabled): Delete.
b6db8af6 9083 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
9084 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
9085 (umulsidi3): Likewise.
9086 * config/msp430/msp430.opt (mmcu): Add Report attribute.
9087 (mcpu, mlarge, msmall): Likewise.
9088 (mhwmult): New option.
9089 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
9090 prototype.
9091 (msp430_is_f5_mcu): Remove prototype.
9092 (msp430_use_f5_series_hwmult): Add prototype.
9093 * config/msp430/msp430-opts.h: New file.
9094 * common/config/msp430: New directory.
9095 * common/config/msp430/msp430-common.c: New file.
9096 * config.gcc (msp430): Remove target_has_targetm_common.
9097 * doc/invoke.texi: Document -mhwmult command line option.
9098
f70df035
NC
90992014-04-23 Nick Clifton <nickc@redhat.com>
9100
9101 * config/i386/cygwin.h (ENDFILE_SPEC): Include
9102 default-manifest.o if it can be found in the search path.
9103 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
9104
6a9accca
TG
91052014-04-23 Terry Guo <terry.guo@arm.com>
9106
9107 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
9108
62ba699e
RB
91092014-04-23 Richard Biener <rguenther@suse.de>
9110
9111 PR middle-end/60895
9112 * tree-inline.c (declare_return_variable): Use mark_addressable.
9113
92562f88
RB
91142014-04-23 Richard Biener <rguenther@suse.de>
9115
9116 PR middle-end/60891
9117 * loop-init.c (loop_optimizer_init): Make sure to apply
9118 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
9119
1c33c9b7
JJ
91202014-04-22 Jakub Jelinek <jakub@redhat.com>
9121
9122 PR sanitizer/60275
9123 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
9124 New options.
9125 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
9126 if flag_sanitize_undefined_trap_on_error.
9127 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
9128 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
9129 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
9130 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
9131 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
9132 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
9133 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
9134 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
9135 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
9136 * ubsan.c (ubsan_instrument_unreachable): Return
9137 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
9138 (ubsan_expand_null_ifn): Emit __builtin_trap ()
9139 if flag_sanitize_undefined_trap_on_error and
9140 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
9141 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
9142 instrument_bool_enum_load): Emit __builtin_trap () if
9143 flag_sanitize_undefined_trap_on_error and
9144 __builtin_handle_*_abort () if !flag_sanitize_recover.
9145 * doc/invoke.texi (-fsanitize-recover,
9146 -fsanitize-undefined-trap-on-error): Document.
9147
5e66b2e5
CB
91482014-04-22 Christian Bruel <christian.bruel@st.com>
9149
9150 * config/sh/sh.md (mov<mode>): Replace movQIHI.
9151 Force immediates to SImode.
9152
aa221564
SL
91532014-04-22 Sandra Loosemore <sandra@codesourcery.com>
9154
9155 * config/nios2/nios2.md (UNSPEC_ROUND): New.
9156 (lroundsfsi2): New.
9157 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
9158 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
9159 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
9160 (nios2_fpu_insn): Add entry for round.
9161 (N2FPU_NO_ERRNO_P): Define.
9162 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
9163 flag_errno_math.
9164 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
9165
2195867f
RH
91662014-04-22 Richard Henderson <rth@redhat.com>
9167
9168 * config/aarch64/aarch64 (addti3, subti3): New expanders.
9169 (add<GPI>3_compare0): Remove leading * from name.
9170 (add<GPI>3_carryin): Likewise.
9171 (sub<GPI>3_compare0): Likewise.
9172 (sub<GPI>3_carryin): Likewise.
9173 (<su_optab>mulditi3): New expander.
9174 (multi3): New expander.
9175 (madd<GPI>): Remove leading * from name.
9176
c6d43074
MJ
91772014-04-22 Martin Jambor <mjambor@suse.cz>
9178
9179 * cgraphclones.c (cgraph_function_versioning): Copy
9180 ipa_transforms_to_apply instead of asserting it is empty.
9181
e54c2dd3
L
91822014-04-22 H.J. Lu <hongjiu.lu@intel.com>
9183
9184 PR target/60868
f70df035 9185 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
9186 on count_exp to get mode.
9187
621ad2de
AP
91882014-04-22 Andrew Pinski <apinski@cavium.com>
9189
9190 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
9191 Handle TLS for ILP32.
9192 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
9193 (tlsie_small_<mode>): this and handle PTR.
9194 (tlsie_small_sidi): New pattern.
9195 (tlsle_small): Change to an expand to handle ILP32.
9196 (tlsle_small_<mode>): New pattern.
9197 (tlsdesc_small): Rename to ...
9198 (tlsdesc_small_<mode>): this and handle PTR.
9199
5cb74e90
RR
92002014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9201
9202 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
9203
bcd48995
AV
92042014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9205
9206 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
9207 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
9208 (aarch64_types_signed_poly_qualifiers): Likewise.
9209 (aarch64_types_unsigned_signed_qualifiers): Likewise.
9210 (aarch64_types_poly_signed_qualifiers): Likewise.
9211 (TYPES_REINTERP_SS): Type macro added.
9212 (TYPES_REINTERP_SU): Likewise.
9213 (TYPES_REINTERP_SP): Likewise.
9214 (TYPES_REINTERP_US): Likewise.
9215 (TYPES_REINTERP_PS): Likewise.
9216 (aarch64_fold_builtin): New expression folding added.
9217 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
9218 Declarations removed.
9219 (REINTERP_SS): Declarations added.
9220 (REINTERP_US): Likewise.
9221 (REINTERP_PS): Likewise.
9222 (REINTERP_SU): Likewise.
9223 (REINTERP_SP): Likewise.
9224 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
9225 (vreinterpretq_p8_f64): Likewise.
9226 (vreinterpret_p16_f64): Likewise.
9227 (vreinterpretq_p16_f64): Likewise.
9228 (vreinterpret_f32_f64): Likewise.
9229 (vreinterpretq_f32_f64): Likewise.
9230 (vreinterpret_f64_f32): Likewise.
9231 (vreinterpret_f64_p8): Likewise.
9232 (vreinterpret_f64_p16): Likewise.
9233 (vreinterpret_f64_s8): Likewise.
9234 (vreinterpret_f64_s16): Likewise.
9235 (vreinterpret_f64_s32): Likewise.
9236 (vreinterpret_f64_s64): Likewise.
9237 (vreinterpret_f64_u8): Likewise.
9238 (vreinterpret_f64_u16): Likewise.
9239 (vreinterpret_f64_u32): Likewise.
9240 (vreinterpret_f64_u64): Likewise.
9241 (vreinterpretq_f64_f32): Likewise.
9242 (vreinterpretq_f64_p8): Likewise.
9243 (vreinterpretq_f64_p16): Likewise.
9244 (vreinterpretq_f64_s8): Likewise.
9245 (vreinterpretq_f64_s16): Likewise.
9246 (vreinterpretq_f64_s32): Likewise.
9247 (vreinterpretq_f64_s64): Likewise.
9248 (vreinterpretq_f64_u8): Likewise.
9249 (vreinterpretq_f64_u16): Likewise.
9250 (vreinterpretq_f64_u32): Likewise.
9251 (vreinterpretq_f64_u64): Likewise.
9252 (vreinterpret_s64_f64): Likewise.
9253 (vreinterpretq_s64_f64): Likewise.
9254 (vreinterpret_u64_f64): Likewise.
9255 (vreinterpretq_u64_f64): Likewise.
9256 (vreinterpret_s8_f64): Likewise.
9257 (vreinterpretq_s8_f64): Likewise.
9258 (vreinterpret_s16_f64): Likewise.
9259 (vreinterpretq_s16_f64): Likewise.
9260 (vreinterpret_s32_f64): Likewise.
9261 (vreinterpretq_s32_f64): Likewise.
9262 (vreinterpret_u8_f64): Likewise.
9263 (vreinterpretq_u8_f64): Likewise.
9264 (vreinterpret_u16_f64): Likewise.
9265 (vreinterpretq_u16_f64): Likewise.
9266 (vreinterpret_u32_f64): Likewise.
9267 (vreinterpretq_u32_f64): Likewise.
9268
0bf3afc1
AV
92692014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9270
9271 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
9272 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
9273 (vreinterpret_p8_s8): Likewise.
9274 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
9275 (vreinterpret_p8_s16): Likewise.
9276 (vreinterpret_p8_s32): Likewise.
9277 (vreinterpret_p8_s64): Likewise.
9278 (vreinterpret_p8_f32): Likewise.
9279 (vreinterpret_p8_u8): Likewise.
9280 (vreinterpret_p8_u16): Likewise.
9281 (vreinterpret_p8_u32): Likewise.
9282 (vreinterpret_p8_u64): Likewise.
9283 (vreinterpret_p8_p16): Likewise.
9284 (vreinterpretq_p8_s8): Likewise.
9285 (vreinterpretq_p8_s16): Likewise.
9286 (vreinterpretq_p8_s32): Likewise.
9287 (vreinterpretq_p8_s64): Likewise.
9288 (vreinterpretq_p8_f32): Likewise.
9289 (vreinterpretq_p8_u8): Likewise.
9290 (vreinterpretq_p8_u16): Likewise.
9291 (vreinterpretq_p8_u32): Likewise.
9292 (vreinterpretq_p8_u64): Likewise.
9293 (vreinterpretq_p8_p16): Likewise.
9294 (vreinterpret_p16_s8): Likewise.
9295 (vreinterpret_p16_s16): Likewise.
9296 (vreinterpret_p16_s32): Likewise.
9297 (vreinterpret_p16_s64): Likewise.
9298 (vreinterpret_p16_f32): Likewise.
9299 (vreinterpret_p16_u8): Likewise.
9300 (vreinterpret_p16_u16): Likewise.
9301 (vreinterpret_p16_u32): Likewise.
9302 (vreinterpret_p16_u64): Likewise.
9303 (vreinterpret_p16_p8): Likewise.
9304 (vreinterpretq_p16_s8): Likewise.
9305 (vreinterpretq_p16_s16): Likewise.
9306 (vreinterpretq_p16_s32): Likewise.
9307 (vreinterpretq_p16_s64): Likewise.
9308 (vreinterpretq_p16_f32): Likewise.
9309 (vreinterpretq_p16_u8): Likewise.
9310 (vreinterpretq_p16_u16): Likewise.
9311 (vreinterpretq_p16_u32): Likewise.
9312 (vreinterpretq_p16_u64): Likewise.
9313 (vreinterpretq_p16_p8): Likewise.
9314 (vreinterpret_f32_s8): Likewise.
9315 (vreinterpret_f32_s16): Likewise.
9316 (vreinterpret_f32_s32): Likewise.
9317 (vreinterpret_f32_s64): Likewise.
9318 (vreinterpret_f32_u8): Likewise.
9319 (vreinterpret_f32_u16): Likewise.
9320 (vreinterpret_f32_u32): Likewise.
9321 (vreinterpret_f32_u64): Likewise.
9322 (vreinterpret_f32_p8): Likewise.
9323 (vreinterpret_f32_p16): Likewise.
9324 (vreinterpretq_f32_s8): Likewise.
9325 (vreinterpretq_f32_s16): Likewise.
9326 (vreinterpretq_f32_s32): Likewise.
9327 (vreinterpretq_f32_s64): Likewise.
9328 (vreinterpretq_f32_u8): Likewise.
9329 (vreinterpretq_f32_u16): Likewise.
9330 (vreinterpretq_f32_u32): Likewise.
9331 (vreinterpretq_f32_u64): Likewise.
9332 (vreinterpretq_f32_p8): Likewise.
9333 (vreinterpretq_f32_p16): Likewise.
9334 (vreinterpret_s64_s8): Likewise.
9335 (vreinterpret_s64_s16): Likewise.
9336 (vreinterpret_s64_s32): Likewise.
9337 (vreinterpret_s64_f32): Likewise.
9338 (vreinterpret_s64_u8): Likewise.
9339 (vreinterpret_s64_u16): Likewise.
9340 (vreinterpret_s64_u32): Likewise.
9341 (vreinterpret_s64_u64): Likewise.
9342 (vreinterpret_s64_p8): Likewise.
9343 (vreinterpret_s64_p16): Likewise.
9344 (vreinterpretq_s64_s8): Likewise.
9345 (vreinterpretq_s64_s16): Likewise.
9346 (vreinterpretq_s64_s32): Likewise.
9347 (vreinterpretq_s64_f32): Likewise.
9348 (vreinterpretq_s64_u8): Likewise.
9349 (vreinterpretq_s64_u16): Likewise.
9350 (vreinterpretq_s64_u32): Likewise.
9351 (vreinterpretq_s64_u64): Likewise.
9352 (vreinterpretq_s64_p8): Likewise.
9353 (vreinterpretq_s64_p16): Likewise.
9354 (vreinterpret_u64_s8): Likewise.
9355 (vreinterpret_u64_s16): Likewise.
9356 (vreinterpret_u64_s32): Likewise.
9357 (vreinterpret_u64_s64): Likewise.
9358 (vreinterpret_u64_f32): Likewise.
9359 (vreinterpret_u64_u8): Likewise.
9360 (vreinterpret_u64_u16): Likewise.
9361 (vreinterpret_u64_u32): Likewise.
9362 (vreinterpret_u64_p8): Likewise.
9363 (vreinterpret_u64_p16): Likewise.
9364 (vreinterpretq_u64_s8): Likewise.
9365 (vreinterpretq_u64_s16): Likewise.
9366 (vreinterpretq_u64_s32): Likewise.
9367 (vreinterpretq_u64_s64): Likewise.
9368 (vreinterpretq_u64_f32): Likewise.
9369 (vreinterpretq_u64_u8): Likewise.
9370 (vreinterpretq_u64_u16): Likewise.
9371 (vreinterpretq_u64_u32): Likewise.
9372 (vreinterpretq_u64_p8): Likewise.
9373 (vreinterpretq_u64_p16): Likewise.
9374 (vreinterpret_s8_s16): Likewise.
9375 (vreinterpret_s8_s32): Likewise.
9376 (vreinterpret_s8_s64): Likewise.
9377 (vreinterpret_s8_f32): Likewise.
9378 (vreinterpret_s8_u8): Likewise.
9379 (vreinterpret_s8_u16): Likewise.
9380 (vreinterpret_s8_u32): Likewise.
9381 (vreinterpret_s8_u64): Likewise.
9382 (vreinterpret_s8_p8): Likewise.
9383 (vreinterpret_s8_p16): Likewise.
9384 (vreinterpretq_s8_s16): Likewise.
9385 (vreinterpretq_s8_s32): Likewise.
9386 (vreinterpretq_s8_s64): Likewise.
9387 (vreinterpretq_s8_f32): Likewise.
9388 (vreinterpretq_s8_u8): Likewise.
9389 (vreinterpretq_s8_u16): Likewise.
9390 (vreinterpretq_s8_u32): Likewise.
9391 (vreinterpretq_s8_u64): Likewise.
9392 (vreinterpretq_s8_p8): Likewise.
9393 (vreinterpretq_s8_p16): Likewise.
9394 (vreinterpret_s16_s8): Likewise.
9395 (vreinterpret_s16_s32): Likewise.
9396 (vreinterpret_s16_s64): Likewise.
9397 (vreinterpret_s16_f32): Likewise.
9398 (vreinterpret_s16_u8): Likewise.
9399 (vreinterpret_s16_u16): Likewise.
9400 (vreinterpret_s16_u32): Likewise.
9401 (vreinterpret_s16_u64): Likewise.
9402 (vreinterpret_s16_p8): Likewise.
9403 (vreinterpret_s16_p16): Likewise.
9404 (vreinterpretq_s16_s8): Likewise.
9405 (vreinterpretq_s16_s32): Likewise.
9406 (vreinterpretq_s16_s64): Likewise.
9407 (vreinterpretq_s16_f32): Likewise.
9408 (vreinterpretq_s16_u8): Likewise.
9409 (vreinterpretq_s16_u16): Likewise.
9410 (vreinterpretq_s16_u32): Likewise.
9411 (vreinterpretq_s16_u64): Likewise.
9412 (vreinterpretq_s16_p8): Likewise.
9413 (vreinterpretq_s16_p16): Likewise.
9414 (vreinterpret_s32_s8): Likewise.
9415 (vreinterpret_s32_s16): Likewise.
9416 (vreinterpret_s32_s64): Likewise.
9417 (vreinterpret_s32_f32): Likewise.
9418 (vreinterpret_s32_u8): Likewise.
9419 (vreinterpret_s32_u16): Likewise.
9420 (vreinterpret_s32_u32): Likewise.
9421 (vreinterpret_s32_u64): Likewise.
9422 (vreinterpret_s32_p8): Likewise.
9423 (vreinterpret_s32_p16): Likewise.
9424 (vreinterpretq_s32_s8): Likewise.
9425 (vreinterpretq_s32_s16): Likewise.
9426 (vreinterpretq_s32_s64): Likewise.
9427 (vreinterpretq_s32_f32): Likewise.
9428 (vreinterpretq_s32_u8): Likewise.
9429 (vreinterpretq_s32_u16): Likewise.
9430 (vreinterpretq_s32_u32): Likewise.
9431 (vreinterpretq_s32_u64): Likewise.
9432 (vreinterpretq_s32_p8): Likewise.
9433 (vreinterpretq_s32_p16): Likewise.
9434 (vreinterpret_u8_s8): Likewise.
9435 (vreinterpret_u8_s16): Likewise.
9436 (vreinterpret_u8_s32): Likewise.
9437 (vreinterpret_u8_s64): Likewise.
9438 (vreinterpret_u8_f32): Likewise.
9439 (vreinterpret_u8_u16): Likewise.
9440 (vreinterpret_u8_u32): Likewise.
9441 (vreinterpret_u8_u64): Likewise.
9442 (vreinterpret_u8_p8): Likewise.
9443 (vreinterpret_u8_p16): Likewise.
9444 (vreinterpretq_u8_s8): Likewise.
9445 (vreinterpretq_u8_s16): Likewise.
9446 (vreinterpretq_u8_s32): Likewise.
9447 (vreinterpretq_u8_s64): Likewise.
9448 (vreinterpretq_u8_f32): Likewise.
9449 (vreinterpretq_u8_u16): Likewise.
9450 (vreinterpretq_u8_u32): Likewise.
9451 (vreinterpretq_u8_u64): Likewise.
9452 (vreinterpretq_u8_p8): Likewise.
9453 (vreinterpretq_u8_p16): Likewise.
9454 (vreinterpret_u16_s8): Likewise.
9455 (vreinterpret_u16_s16): Likewise.
9456 (vreinterpret_u16_s32): Likewise.
9457 (vreinterpret_u16_s64): Likewise.
9458 (vreinterpret_u16_f32): Likewise.
9459 (vreinterpret_u16_u8): Likewise.
9460 (vreinterpret_u16_u32): Likewise.
9461 (vreinterpret_u16_u64): Likewise.
9462 (vreinterpret_u16_p8): Likewise.
9463 (vreinterpret_u16_p16): Likewise.
9464 (vreinterpretq_u16_s8): Likewise.
9465 (vreinterpretq_u16_s16): Likewise.
9466 (vreinterpretq_u16_s32): Likewise.
9467 (vreinterpretq_u16_s64): Likewise.
9468 (vreinterpretq_u16_f32): Likewise.
9469 (vreinterpretq_u16_u8): Likewise.
9470 (vreinterpretq_u16_u32): Likewise.
9471 (vreinterpretq_u16_u64): Likewise.
9472 (vreinterpretq_u16_p8): Likewise.
9473 (vreinterpretq_u16_p16): Likewise.
9474 (vreinterpret_u32_s8): Likewise.
9475 (vreinterpret_u32_s16): Likewise.
9476 (vreinterpret_u32_s32): Likewise.
9477 (vreinterpret_u32_s64): Likewise.
9478 (vreinterpret_u32_f32): Likewise.
9479 (vreinterpret_u32_u8): Likewise.
9480 (vreinterpret_u32_u16): Likewise.
9481 (vreinterpret_u32_u64): Likewise.
9482 (vreinterpret_u32_p8): Likewise.
9483 (vreinterpret_u32_p16): Likewise.
9484 (vreinterpretq_u32_s8): Likewise.
9485 (vreinterpretq_u32_s16): Likewise.
9486 (vreinterpretq_u32_s32): Likewise.
9487 (vreinterpretq_u32_s64): Likewise.
9488 (vreinterpretq_u32_f32): Likewise.
9489 (vreinterpretq_u32_u8): Likewise.
9490 (vreinterpretq_u32_u16): Likewise.
9491 (vreinterpretq_u32_u64): Likewise.
9492 (vreinterpretq_u32_p8): Likewise.
9493 (vreinterpretq_u32_p16): Likewise.
9494
9551c7ec
AV
94952014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9496
9497 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
9498 Pattern extended.
b6db8af6 9499 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
9500 (sqabs): Likewise.
9501 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
9502 (vqnegd_s64): Likewise.
9503 (vqabs_s64): Likewise.
9504 (vqabsd_s64): Likewise.
9505
f2a2c4b5
RH
95062014-04-22 Richard Henderson <rth@redhat.com>
9507
9508 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
9509 computation to the top of the loop.
9510
53e5ace2
RL
95112014-04-22 Renlin <renlin.li@arm.com>
9512 Jiong Wang <jiong.wang@arm.com>
9513
9514 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
9515 * config/aarch64/aarch64.c (aarch64_layout_frame)
9516 (aarch64_initial_elimination_offset): Likewise.
9517
78c29983
MS
95182014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
9519
9520 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
9521 Fix indentation.
9522
dbf23a79
RS
95232014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
9524
9525 * machmode.h (bitwise_mode_for_mode): Declare.
9526 * stor-layout.h (bitwise_type_for_mode): Likewise.
9527 * stor-layout.c (bitwise_mode_for_mode): New function.
9528 (bitwise_type_for_mode): Likewise.
9529 * builtins.c (fold_builtin_memory_op): Use it instead of
9530 int_mode_for_mode and build_nonstandard_integer_type.
9531
d9f069ab
RO
95322014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9533
9534 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
9535 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
9536 (*-*-solaris2*): Simplify.
9537 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
9538 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
9539 *-*-solaris2.9* handling.
9540
9541 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
9542 as bug.
9543 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
9544 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
9545 handling, simplify.
9546 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
9547 * configure: Regenerate.
9548
9549 * config/i386/sol2-9.h: Remove.
9550
9551 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
9552 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
9553 Remove Solaris 9 references.
9554
0d35c5c2
VP
95552014-04-22 Vidya Praveen <vidyapraveen@arm.com>
9556
9557 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
9558 (floatuns<GPI:mode><GPF:mode>2): Remove.
9559 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
9560 and floatuns conversions.
9561 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
9562 and floatuns conversions.
9563 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
9564 (w1,w2): New mode attributes for inequal width conversions.
9565
16a3246f
RL
95662014-04-22 Renlin Li <Renlin.Li@arm.com>
9567
9568 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
9569 the output asm format.
9570
110e1ccc
JG
95712014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
9572
9573 * config/aarch64/aarch64-simd.md
9574 (aarch64_cm<optab>di): Always split.
9575 (*aarch64_cm<optab>di): New.
9576 (aarch64_cmtstdi): Always split.
9577 (*aarch64_cmtstdi): New.
9578
2044a4c3
JJ
95792014-04-22 Jakub Jelinek <jakub@redhat.com>
9580
9581 PR tree-optimization/60823
9582 * omp-low.c (ipa_simd_modify_function_body): Go through
9583 all SSA_NAMEs and for those refering to vector arguments
9584 which are going to be replaced adjust SSA_NAME_VAR and,
9585 if it is a default definition, change it into a non-default
9586 definition assigned at the beginning of function from new_decl.
9587 (ipa_simd_modify_stmt_ops): Rewritten.
9588 * tree-dfa.c (set_ssa_default_def): When removing default def,
9589 check for NULL loc instead of NULL *loc.
9590
9d8b4d1c
RR
95912014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9592
9593 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
9594 restrictions on core registers for DImode values in Thumb2.
9595
a01be1ae
IB
95962014-04-22 Ian Bolton <ian.bolton@arm.com>
9597
9598 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
9599 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
9600
80d3417b
IB
96012014-04-22 Ian Bolton <ian.bolton@arm.com>
9602
9603 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
9604 (*iordi_notzesidi_di): Likewise.
9605 (*iordi_notsesidi_di): Likewise.
9606
46fbb3eb
IB
96072014-04-22 Ian Bolton <ian.bolton@arm.com>
9608
9609 * config/arm/arm-protos.h (tune_params): New struct members.
9610 * config/arm/arm.c: Initialise tune_params per processor.
9611 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
9612 for speed, based on new tune_params.
9613
74dc11ed
AV
96142014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9615
b6db8af6
UB
9616 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
9617 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
9618 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
9619 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
9620 * config/aarch64/arm_neon.h (vrnd_f64): Added.
9621 (vrnda_f64): Likewise.
9622 (vrndi_f64): Likewise.
9623 (vrndm_f64): Likewise.
9624 (vrndn_f64): Likewise.
9625 (vrndp_f64): Likewise.
9626 (vrndx_f64): Likewise.
9627
35923e46
ZC
96282014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9629
9630 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
9631 GET_MODE_SIZE argument is enum machine_mode.
9632
4552e70c
JJ
96332014-04-22 Jakub Jelinek <jakub@redhat.com>
9634
9635 PR target/60910
9636 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
9637 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
9638
e5dcd695
LZ
96392014-04-22 Lin Zuojian <manjian2006@gmail.com>
9640
9641 PR middle-end/60281
9642 * asan.c (asan_emit_stack_protection): Force the base to align to
9643 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
9644 appropriate bits if STRICT_ALIGNMENT.
9645 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
9646 when asan is on.
9647 (expand_used_vars): Leave a space in the stack frame for alignment
9648 if STRICT_ALIGNMENT.
9649
7455080c
DM
96502014-04-21 David Malcolm <dmalcolm@redhat.com>
9651
9652 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
9653 than a gimple.
9654 (gimple_store_p): Likewise.
9655 (gimple_assign_load_p): Likewise.
9656 (gimple_assign_cast_p): Likewise.
9657 (gimple_clobber_p): Likewise.
9658
9659 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
9660 rather than a gimple.
9661 (gimple_assign_cast_p): Likewise.
9662
aeb9579a
MM
96632014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
9664
9665 PR target/60735
9666 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
9667 If mode is DDmode and TARGET_E500_DOUBLE allow move.
9668
9669 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
9670 more debug information for E500 if -mdebug=reg.
9671
b15d92bf
UB
96722014-04-21 Uros Bizjak <ubizjak@gmail.com>
9673
9674 PR target/60909
9675 * config/i386/i386.c (ix86_expand_builtin)
9676 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
9677 register for target RTX.
9678 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
9679
d367387c
CH
96802014-04-18 Cong Hou <congh@google.com>
9681
9682 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
9683 the widen-mult pattern by handling two operands with different sizes,
9684 and operands whose size is smaller than half of the result type.
d367387c 9685
b6d627e4
JH
96862014-04-18 Jan Hubicka <hubicka@ucw.cz>
9687
9688 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
9689 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
9690 (do_estimate_edge_time): Compute it.
9691 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 9692 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 9693
e86a910f
JH
96942014-04-18 Jan Hubicka <hubicka@ucw.cz>
9695
9696 * ipa-inline.c (spec_rem): New static variable.
9697 (dump_overall_stats): New function.
9698 (dump_inline_stats): New function.
9699
8a3a7e67
RH
97002014-04-18 Richard Henderson <rth@redhat.com>
9701
9702 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
9703 to GET_MODE_SIZE, not a reg_class_t.
9704
ed79f4d0
BS
97052014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9706
b15d92bf 9707 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
9708 (vsx_xxmrglw_<mode>): Likewise.
9709
fe799eea
MM
97102014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
9711
9712 PR target/60876
9713 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 9714 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
9715 (rs6000_init_hard_regno_mode_ok): Likewise.
9716
5e750dc6
JH
97172014-04-17 Jan Hubicka <hubicka@ucw.cz>
9718
9719 * ipa-inline.c (inline_small_functions): Account only non-cold
9720 functions.
9721 * doc/invoke.texi (inline-unit-growth): Update documentation.
9722
32337f10
PH
97232014-04-17 Pat Haugen <pthaugen@us.ibm.com>
9724
9725 * config/rs6000/rs6000.md (addti3, subti3): New.
9726
40ed344a
L
97272014-04-17 H.J. Lu <hongjiu.lu@intel.com>
9728
9729 PR target/60863
9730 * config/i386/i386.c (ix86_expand_clear): Remove outdated
9731 comment. Check optimize_insn_for_size_p instead of
9732 optimize_insn_for_speed_p.
9733
104cb50b
MJ
97342014-04-17 Martin Jambor <mjambor@suse.cz>
9735
9736 * gimple-iterator.c (gsi_start_edge): New function.
9737 * gimple-iterator.h (gsi_start_edge): Declare.
9738 * tree-sra.c (single_non_eh_succ): New function.
9739 (disqualify_ops_if_throwing_stmt): Renamed to
9740 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
9741 having one non-EH successor BB.
9742 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
9743 generate loads into replacements.
9744 (sra_modify_assign): Likewise and and also use the simple path for
9745 such statements.
9746 (sra_modify_function_body): Commit statements on edges.
9747
b94970bc
RB
97482014-04-17 Richard Biener <rguenther@suse.de>
9749
9750 PR middle-end/60849
9751 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
9752 comparison results and add clarifying comment.
9753
92f0f3ec
JJ
97542014-04-17 Jakub Jelinek <jakub@redhat.com>
9755
9756 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
9757 (blank_mode): Initialize it.
9758 (emit_mode_size_inline, emit_mode_nunits_inline,
9759 emit_mode_inner_inline): New functions.
9760 (emit_insn_modes_h): Call them and surround their output with
9761 #if GCC_VERSION >= 4001 ... #endif.
9762 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
9763 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
9764 mode_* arrays if the argument is __builtin_constant_p.
9765 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
9766 is enum machine_mode.
9767
be55bfe6
TS
97682014-04-17 Trevor Saunders <tsaunders@mozilla.com>
9769
9770 * passes.c (opt_pass::execute): Adjust.
9771 (pass_manager::execute_pass_mode_switching): Likewise.
9772 (early_local_passes::execute): Likewise.
9773 (execute_one_pass): Pass cfun to the pass's execute method.
9774 * tree-pass.h (opt_pass::execute): Add function * argument.
9775 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
9776 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
9777 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
9778 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
9779 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
9780 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
9781 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
9782 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
9783 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
9784 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
9785 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
9786 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
9787 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
9788 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
9789 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
9790 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
9791 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
9792 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
9793 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
9794 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
9795 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
9796 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
9797 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
9798 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
9799 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
9800 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
9801 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
9802 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
9803 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
9804 Adjust.
9805
1a3d085c
TS
98062014-04-17 Trevor Saunders <tsaunders@mozilla.com>
9807
9808 * passes.c (opt_pass::gate): Take function * argument.
9809 (gate_all_early_local_passes): Merge into
9810 (early_local_passes::gate): this.
9811 (gate_all_early_optimizations): Merge into
9812 (all_early_optimizations::gate): this.
9813 (gate_all_optimizations): Mege into
9814 (all_optimizations::gate): this.
9815 (gate_all_optimizations_g): Merge into
9816 (all_optimizations_g::gate): this.
9817 (gate_rest_of_compilation): Mege into
9818 (rest_of_compilation::gate): this.
9819 (gate_postreload): Merge into
9820 (postreload::gate): this.
9821 (dump_one_pass): Pass cfun to the pass's gate method.
9822 (execute_ipa_summary_passes): Likewise.
9823 (execute_one_pass): Likewise.
9824 (ipa_write_summaries_2): Likewise.
9825 (ipa_write_optimization_summaries_1): Likewise.
9826 (ipa_read_summaries_1): Likewise.
9827 (ipa_read_optimization_summaries_1): Likewise.
9828 (execute_ipa_stmt_fixups): Likewise.
9829 * tree-pass.h (opt_pass::gate): Add function * argument.
9830 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
9831 combine-stack-adj.c, combine.c, compare-elim.c,
9832 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
9833 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
9834 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
9835 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
9836 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
9837 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
9838 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
9839 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
9840 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
9841 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
9842 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
9843 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
9844 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
9845 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
9846 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
9847 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
9848 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
9849 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
9850 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
9851 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
9852 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
9853 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
9854 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
9855 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
9856 var-tracking.c, vtable-verify.c, web.c: Adjust.
9857
45887209
TS
98582014-04-17 Trevor Saunders <tsaunders@mozilla.com>
9859
9860 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
9861 * configure: Regenerate.
9862
0481253d 98632014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 9864
0481253d
TS
9865 * passes.c (dump_one_pass): don't check pass->has_gate.
9866 (execute_ipa_summary_passes): Likewise.
9867 (execute_one_pass): Likewise.
9868 (ipa_write_summaries_2): Likewise.
9869 (ipa_write_optimization_summaries_1): Likewise.
9870 (ipa_read_optimization_summaries_1): Likewise.
9871 (execute_ipa_stmt_fixups): Likewise.
9872 * tree-pass.h (pass_data::has_gate): Remove.
9873 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
9874 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
9875 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
9876 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
9877 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
9878 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
9879 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
9880 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
9881 gimple-low.c, gimple-ssa-isolate-paths.c,
9882 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
9883 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
9884 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
9885 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
9886 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
9887 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
9888 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
9889 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
9890 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
9891 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
9892 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
9893 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
9894 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
9895 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
9896 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
9897 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
9898 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
9899 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
9900 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
9901 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
9902 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
9903 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
9904 Adjust.
9905
a23c217d
TS
99062014-04-17 Trevor Saunders <tsaunders@mozilla.com>
9907
b15d92bf
UB
9908 * pass_manager.h (pass_manager::register_dump_files_1): Remove
9909 declaration.
a23c217d
TS
9910 * passes.c (pass_manager::register_dump_files_1): Merge into
9911 (pass_manager::register_dump_files): this, and remove its handling of
9912 properties since the pass always has the properties anyway.
9913 (pass_manager::pass_manager): Adjust.
9914
0cd11b40
TS
99152014-04-17 Trevor Saunders <tsaunders@mozilla.com>
9916
9917 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
9918 * passes.c (pass_manager::register_dump_files_1): Remove dead code
9919 dealing with properties.
9920 (pass_manager::register_dump_files): Adjust.
9921
79896351
MW
99222014-03-20 Mark Wielaard <mjw@redhat.com>
9923
9924 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
9925 then represent the bound as normal constant value.
9926
5a65129e
JJ
99272014-04-17 Jakub Jelinek <jakub@redhat.com>
9928
9929 PR target/60847
9930 Forward port from 4.8 branch
9931 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
9932
9933 * config/i386/bmiintrin.h (_blsi_u32): New.
9934 (_blsi_u64): Ditto.
9935 (_blsr_u32): Ditto.
9936 (_blsr_u64): Ditto.
9937 (_blsmsk_u32): Ditto.
9938 (_blsmsk_u64): Ditto.
9939 (_tzcnt_u32): Ditto.
9940 (_tzcnt_u64): Ditto.
9941
59b266b1
KC
99422014-04-17 Kito Cheng <kito@0xlab.org>
9943
9944 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
9945
83ad208e
RB
99462014-04-17 Richard Biener <rguenther@suse.de>
9947
9948 PR middle-end/60849
9949 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
9950 boolean results for comparisons.
9951
730e78b0
RB
99522014-04-17 Richard Biener <rguenther@suse.de>
9953
9954 PR tree-optimization/60836
9955 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
9956 initial PHI args to be gimple values.
9957
40c0a159 99582014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
9959
9960 PR tree-optimization/60841
9961 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
9962 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
9963 of stmts to SLP build.
9964 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
9965 (vect_analyze_slp): Likewise.
9966 (vect_analyze_slp_instance): Likewise.
9967 (vect_build_slp_tree): Limit overall SLP tree growth.
9968 * tree-vectorizer.h (vect_analyze_data_refs,
9969 vect_analyze_slp): Adjust prototypes.
9970
170c1776
ES
99712014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
9972
9973 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
9974 Silvermont.
9975
a4ef7f3e
ES
99762014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
9977
9978 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
9979 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
9980 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
9981 for TARGET_SLOW_PSHUFB
9982
cf055f6e
ES
99832014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
9984
9985 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
9986 * config/i386/i386.c (intel_cost): Ditto.
9987
eeee2277
JY
99882014-04-17 Joey Ye <joey.ye@arm.com>
9989
9990 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
9991
1c58fe29
JH
99922014-04-16 Jan Hubicka <hubicka@ucw.cz>
9993
9994 * opts.c (common_handle_option): Disable -fipa-reference coorectly
9995 with -fuse-profile.
9996
2d1644bf
JH
99972014-04-16 Jan Hubicka <hubicka@ucw.cz>
9998
9999 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
10000 (type_all_derivations_known_p): New predicate.
10001 (type_all_ctors_visible_p): New predicate.
10002 (type_possibly_instantiated_p): New predicate.
10003 (get_odr_type): Compute all_derivations_known.
10004 (dump_odr_type): Dump the flag.
10005 (maybe_record_type): Cleanup.
10006 (record_target_from_binfo): Add bases_to_consider array;
10007 record bases for types w/o instances and skip CXX destructor.
10008 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 10009 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
10010 (get_polymorphic_call_info): Set maybe_in_construction to true
10011 when we know nothing.
10012 (record_targets_from_bases): Skip CXX destructors; they are
10013 never called for types in construction.
10014 (possible_polymorphic_call_targets): Do not record target when
10015 type may not have instance.
10016
789c2741
JH
100172014-04-16 Jan Hubicka <hubicka@ucw.cz>
10018
10019 PR ipa/60854
10020 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
10021 external aliases alive, too.
10022
9950a4f2
AP
100232014-04-16 Andrew Pinski <apinski@cavium.com>
10024
10025 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 10026 definition.
9950a4f2 10027
82b9c015
EB
100282014-04-16 Eric Botcazou <ebotcazou@adacore.com>
10029
10030 * final.c (compute_alignments): Do not apply loop alignment to a block
10031 falling through to the exit.
10032
d2dfaca3
CM
100332014-04-16 Catherine Moore <clm@codesourcery.com>
10034
10035 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
10036 Adjust constraints for microMIPS store patterns.
10037
10353a79
PS
100382014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
10039
10040 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
10041
61c7fb30
EB
100422014-04-16 Eric Botcazou <ebotcazou@adacore.com>
10043
10044 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
10045 (append_use): Run at -O0.
10046 (append_vdef): Likewise.
10047 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
10048 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
10049
42fae17c
JJ
100502014-04-16 Jakub Jelinek <jakub@redhat.com>
10051
10052 PR tree-optimization/60844
10053 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
10054 (propagate_op_to_single_use, remove_visited_stmt_chain,
10055 linearize_expr, repropagate_negates, reassociate_bb): Use it
10056 instead of gsi_remove.
10057
ca860d03
MJ
100582014-04-16 Martin Jambor <mjambor@suse.cz>
10059
10060 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
10061 ipa_transforms_to_apply.
10062 (cgraph_function_versioning): Assert that old_node has empty
10063 ipa_transforms_to_apply.
10064 * trans-mem.c (ipa_tm_create_version): Likewise.
10065 * tree-inline.c (tree_function_versioning): Do not duplicate
10066 ipa_transforms_to_apply.
10067
fe4e71e4
RO
100682014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10069
10070 PR target/60817
10071 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
10072 x86_64-*-* cases.
10073 Pass necessary as flags on 64-bit Solaris/x86.
10074 Use lowercase relocs for x86_64-*-*.
10075 * configure: Regenerate.
10076
ccb05ef2
JH
100772014-04-15 Jan Hubicka <jh@suse.cz>
10078
10079 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
10080 (maybe_record_node, likely_target_p): Use it.
10081
dfe449d1
BS
100822014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10083
10084 PR target/60839
10085 Revert following patch
10086
10087 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
10088
10089 PR target/60735
10090 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
10091 software floating point or no floating point registers, do not
10092 allow any type in the FPRs. Eliminate a test for SPE SIMD types
10093 in GPRs that occurs after we tested for GPRs that would never be
10094 true.
10095
10096 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
10097 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
10098 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
10099 specifically allow DDmode, since that does not use the SPE SIMD
10100 instructions.
10101
25dce5c6
MW
101022014-03-21 Mark Wielaard <mjw@redhat.com>
10103
10104 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
10105 as unsigned or int depending on type and value used.
10106
8d3c076f
RB
101072014-04-15 Richard Biener <rguenther@suse.de>
10108
10109 PR rtl-optimization/56965
10110 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
10111 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
10112 ... here.
10113 * alias.c (true_dependence_1): Do not call
10114 nonoverlapping_component_refs_p.
10115 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
10116 nonoverlapping_component_refs_p.
10117 (indirect_refs_may_alias_p): Likewise.
10118
d00e4baa
TJ
101192014-04-15 Teresa Johnson <tejohnson@google.com>
10120
10121 * cfg.c (dump_bb_info): Fix flags check.
10122 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
10123
98a2fdfb
KT
101242014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10125
10126 PR rtl-optimization/60663
10127 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
10128 avoid 0 cost.
10129
b9ed2c2c
RB
101302014-04-15 Richard Biener <rguenther@suse.de>
10131
10132 * lto-streamer.h (LTO_major_version): Bump to 4.
10133
783dab6b
RB
101342014-04-15 Richard Biener <rguenther@suse.de>
10135
10136 * common.opt (lto_partition_model): New enum.
10137 (flto-partition=): Merge separate options with a single with argument,
10138 add -flto-partition=one support.
10139 * flag-types.h (enum lto_partition_model): Declare.
10140 * opts.c (finish_options): Remove duplicate -flto-partition=
10141 option check.
10142 * lto-wrapper.c (run_gcc): Adjust.
10143
d8e4ce6d
RB
101442014-04-15 Richard Biener <rguenther@suse.de>
10145
10146 * alias.c (ncr_compar): New function.
10147 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
10148
1999fd7d
RB
101492014-04-15 Richard Biener <rguenther@suse.de>
10150
10151 * alias.c (record_component_aliases): Do not walk BINFOs.
10152
628169e0
RB
101532014-04-15 Richard Biener <rguenther@suse.de>
10154
10155 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
10156 Add struct function argument and adjust.
10157 (find_func_aliases_for_call): Likewise.
10158 (find_func_aliases): Likewise.
10159 (find_func_clobbers): Likewise.
10160 (intra_create_variable_infos): Likewise.
10161 (compute_points_to_sets): Likewise.
10162 (ipa_pta_execute): Adjust. Do not push/pop cfun.
10163
349e6210
RB
101642014-04-15 Richard Biener <rguenther@suse.de>
10165
10166 * tree.c (iterative_hash_expr): Use enum tree_code_class
10167 to store TREE_CODE_CLASS.
10168 (tree_block): Likewise.
10169 (tree_set_block): Likewise.
10170 * tree.h (fold_build_pointer_plus_loc): Use
10171 convert_to_ptrofftype_loc.
10172
4f0ddb6f
JJ
101732014-04-15 Jakub Jelinek <jakub@redhat.com>
10174
10175 PR plugins/59335
10176 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
10177 added in 4.9.
10178
718c4601
EB
101792014-04-15 Eric Botcazou <ebotcazou@adacore.com>
10180
10181 * cfgloop.h (struct loop): Move force_vectorize down.
10182 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
10183 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
10184 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
10185 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
10186 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
10187 * tree-core.h (enum annot_expr_kind): Add new kind values.
10188 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
10189 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
10190 kinds.
10191 * tree.def (ANNOTATE_EXPR): Tweak comment.
10192
88f592e3
JH
101932014-04-14 Jan Hubicka <hubicka@ucw.cz>
10194
10195 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
10196 cxa_pure_virtual).
10197
9dba4b55
PC
101982014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
10199
10200 * tree.h (TYPE_IDENTIFIER): Declare.
10201 * tree.c (subrange_type_for_debug_p): Use it.
10202 * godump.c (go_format_type): Likewise.
10203 * dwarf2out.c (is_cxx_auto, modified_type_die,
10204 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
10205 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
10206
40c0a159 102072014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
10208
10209 PR lto/60820
10210 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
10211
e0a81db1
UB
102122014-04-14 Uros Bizjak <ubizjak@gmail.com>
10213
10214 * config/i386/i386.c (examine_argument): Return bool. Return true if
10215 parameter should be passed in memory.
10216 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
10217 (construct_container): Update calls to examine_argument.
10218 (function_arg_advance_64): Ditto.
10219 (return_in_memory_32): Merge with ix86_return_in_memory.
10220 (return_in_memory_64): Ditto.
10221 (return_in_memory_ms_64): Ditto.
10222
cb90235d
JH
102232014-04-14 Jan Hubicka <hubicka@ucw.cz>
10224
10225 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
10226 * coverage.c (coverage_compute_profile_id): Handle externally visible
10227 symbols.
10228
7b3b340e
MJ
102292014-04-14 Martin Jambor <mjambor@suse.cz>
10230
10231 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
10232 DECL_DISREGARD_INLINE_LIMITS functions.
10233
2ed3b4ee
L
102342014-04-14 H.J. Lu <hongjiu.lu@intel.com>
10235
10236 PR target/60827
e0a81db1 10237 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 10238
10fa463f
L
102392014-04-14 H.J. Lu <hongjiu.lu@intel.com>
10240
10241 PR target/60827
10242 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
10243 optimize_insn_for_speed_p instead of
10244 optimize_function_for_speed_p.
10245
b621e875
YZ
102462014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
10247
10248 * doc/invoke.texi (free): Document AArch64.
10249
cddaefa3
RB
102502014-04-14 Richard Biener <rguenther@suse.de>
10251
10252 PR tree-optimization/60042
10253 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
10254 (insert_into_preds_of_block): Do not prevent PHI insertion
10255 for REFERENCE exprs here ...
10256 (eliminate_dom_walker::before_dom_children): ... but prevent
10257 their use here under similar conditions when applied to the
10258 IL after PRE optimizations.
10259
a9e4c82f
RB
102602014-04-14 Richard Biener <rguenther@suse.de>
10261
10262 * passes.def: Move early points-to after early SRA.
10263
7b4cae1b
RB
102642014-04-14 Richard Biener <rguenther@suse.de>
10265
10266 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
10267 check for which sign-changes we allow when forwarding
10268 a converted value into a switch.
10269
cb27986c
EB
102702014-04-14 Eric Botcazou <ebotcazou@adacore.com>
10271
10272 * stor-layout.c (place_field): Finalize non-constant offset for the
10273 field, if any.
10274
72798784
RB
102752014-04-14 Richard Biener <rguenther@suse.de>
10276
10277 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
10278 as argument.
10279 (expand_switch_using_bit_tests_p): Likewise.
10280 (process_switch): Compute and pass on speed_p based on the
10281 switch stmt.
10282 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
10283 optimize_bb_for_speed_p.
10284
b15b5979
EB
102852014-04-14 Eric Botcazou <ebotcazou@adacore.com>
10286
10287 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
10288 * function.h (struct function): Rename has_force_vect_loops into
10289 has_force_vectorize_loops.
10290 * lto-streamer-in.c (input_cfg): Adjust for renaming.
10291 (input_struct_function_base): Likewise.
10292 * lto-streamer-out.c (output_cfg): Likewise.
10293 (output_struct_function_base): Likewise.
10294 * omp-low.c (expand_omp_simd): Likewise.
10295 * tree-cfg.c (move_sese_region_to_fn): Likewise.
10296 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
10297 (version_loop_for_if_conversion): Likewise.
10298 (tree_if_conversion): Likewise.
10299 (main_tree_if_conversion): Likewise.
10300 (gate_tree_if_conversion): Likewise.
10301 * tree-inline.c (copy_loops): Likewise.
10302 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
10303 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
10304 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
10305 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
10306 * tree-vectorizer.c (vectorize_loops): Likewise.
10307 * tree-vectorizer.h (unlimited_cost_model): Likewise.
10308
8359c87e
RB
103092014-04-14 Richard Biener <rguenther@suse.de>
10310
10311 PR lto/60720
10312 * lto-streamer-out.c (wrap_refs): New function.
10313 (lto_output): Wrap symbol references in global initializes in
10314 type-preserving MEM_REFs.
10315
9447df74
CB
103162014-04-14 Christian Bruel <christian.bruel@st.com>
10317
b15d92bf 10318 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 10319
fa1aecc1
CB
103202014-04-14 Christian Bruel <christian.bruel@st.com>
10321
10322 * config/sh/sh.md (setmemqi): New expand pattern.
10323 * config/sh/sh.h (CLEAR_RATIO): Define.
10324 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
10325 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
10326
a3c77ce9
RB
103272014-04-14 Richard Biener <rguenther@suse.de>
10328
10329 PR middle-end/55022
10330 * fold-const.c (negate_expr_p): Don't negate directional rounding
10331 division.
10332 (fold_negate_expr): Likewise.
10333
033aa406
RB
103342014-04-14 Richard Biener <rguenther@suse.de>
10335
10336 PR tree-optimization/59817
10337 PR tree-optimization/60453
10338 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
10339 recursion to catch all CHRECs in the scalar evolution and restrict
10340 the predicate for the remains appropriately.
10341
5e7d8b4c
RS
103422014-04-12 Catherine Moore <clm@codesourcery.com>
10343
10344 * config/mips/constraints.md: Add new register constraint "kb".
10345 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
10346 (*movhi_internal): Likewise.
10347 (*movqi_internal): Likewise.
10348 * config/mips/mips.h (M16_STORE_REGS): New register class.
10349 (REG_CLASS_NAMES): Add M16_STORE_REGS.
10350 (REG_CLASS_CONTENTS): Likewise.
10351 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
10352
cbbd2b1c
TB
103532014-04-11 Tobias Burnus <burnus@net-b.de>
10354
10355 PR c/60194
10356 * doc/invoke.texi (-Wformat-signedness): Document it.
10357 (Wformat=2): Mention that this enables -Wformat-signedness.
10358
d9bb5800
JR
103592014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
10360
10361 * common/config/epiphany/epiphany-common.c
10362 (epiphany_option_optimization_table): Enable section anchors by
10363 default at -O1 or higher.
10364 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
10365 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
10366 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
10367 carries no extra cost.
10368 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
10369 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
10370 * config/epiphany/predicates.md (memclob_operand): New predicate.
10371 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
10372 Use memclob_operand predicate and X constraint for operand 3.
10373
b5d0ecea
JR
103742014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
10375
10376 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
10377 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
10378 its operands.
10379
473fd99a
JR
103802014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
10381
10382 PR rtl-optimization/60651
10383 * mode-switching.c (optimize_mode_switching): Make sure to emit
10384 sets of a lower numbered entity before sets of a higher numbered
10385 entity to a mode of the same or lower priority.
10386 When creating a seginfo for a basic block that starts with a code
10387 label, move the insertion point past the code label.
10388 (new_seginfo): Document and enforce requirement that
10389 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
10390 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
10391 * doc/tm.texi: Regenerate.
10392
6ace1161
JR
103932014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
10394
10395 PR target/60811
10396 * config/arc/arc.c (arc_save_restore): Fix assert typo.
10397
89eb97de
JJ
103982013-04-11 Jakub Jelinek <jakub@redhat.com>
10399
6602e7fc 10400 * BASE-VER: Set to 4.10.0.
89eb97de 10401
9d0c7214
TB
104022014-04-11 Tobias Burnus <burnus@net-b.de>
10403
10404 PR other/59055
e0a81db1 10405 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
10406 * doc/gcc.texi (Service): Update description in the @menu
10407 * doc/invoke.texi (Option Summary): Remove misplaced and
10408 duplicated @menu.
10409
3662b277
SE
104102014-04-11 Steve Ellcey <sellcey@mips.com>
10411 Jakub Jelinek <jakub@redhat.com>
10412
10413 PR middle-end/60556
10414 * expr.c (convert_move): Use emit_store_flag_force instead of
10415 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
10416 argument to it.
10417
8330537b
RB
104182014-04-11 Richard Biener <rguenther@suse.de>
10419
10420 PR middle-end/60797
10421 * varasm.c (assemble_alias): Avoid endless error reporting
10422 recursion by setting TREE_ASM_WRITTEN.
10423
3c91f126
AK
104242014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10425
10426 * config/s390/s390.md: Add a splitter for NOT rtx.
10427
d8d6ea53
JJ
104282014-04-11 Jakub Jelinek <jakub@redhat.com>
10429
10430 PR rtl-optimization/60663
e0a81db1 10431 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 10432
fa5866c0
JJ
104332014-04-10 Jan Hubicka <hubicka@ucw.cz>
10434 Jakub Jelinek <jakub@redhat.com>
073afca6 10435
fa5866c0 10436 PR lto/60567
e0a81db1
UB
10437 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
10438 flag from decl_node to node.
073afca6 10439
b322c36a
RR
104402014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10441
10442 PR debug/60655
10443 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
10444 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
10445 ameliorating the cases where it can be.
10446
8267f6bb
DE
104472014-04-09 David Edelsohn <dje.gcc@gmail.com>
10448
10449 Revert
10450 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
10451
10452 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
10453 (loadsync_<mode>): Change mode.
10454 (load_quadpti, store_quadpti): New.
10455 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
10456 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
10457 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
10458
5d1a5a53
CH
104592014-04-09 Cong Hou <congh@google.com>
10460
10461 PR testsuite/60773
10462 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
10463 documentation.
10464
da90fa4c
BS
104652014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10466
10467 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
10468 instead of vnor to exploit possible fusion opportunity in the
10469 future.
10470 (altivec_expand_vec_perm_const_le): Likewise.
10471
98e6ecab
PH
104722014-04-08 Pat Haugen <pthaugen@us.ibm.com>
10473
10474 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
10475 (loadsync_<mode>): Change mode.
10476 (load_quadpti, store_quadpti): New.
10477 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
10478 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
10479
8418cf33
RS
104802014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
10481
10482 PR target/60763
10483 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
10484 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
10485 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
10486
3fa68ccb
RB
104872014-04-08 Richard Biener <rguenther@suse.de>
10488
10489 PR middle-end/60706
10490 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
10491 a 64bit widest int print double-int similar to on HWI64 hosts.
10492
9038ae48
RB
104932014-04-08 Richard Biener <rguenther@suse.de>
10494
10495 PR tree-optimization/60785
10496 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
10497 default defs properly.
10498
38f09da3
NS
104992014-04-08 Nathan Sidwell <nathan@codesourcery.com>
10500
10501 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
10502 (Weffc++): Likewise.
10503
0439a947
JH
105042014-04-07 Jan Hubicka <hubcika@ucw.cz>
10505
10506 * ipa-devirt.c (maybe_record_node): When node is not recorded,
10507 set completep to false rather than true.
10508
3f2f838e
EB
105092014-04-07 Douglas B Rupp <rupp@adacore.com>
10510
10511 PR target/60504
10512 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
10513 ARM_TARGET2_DWARF_FORMAT.
10514
e75c1617
CB
105152014-04-07 Charles Baylis <charles.baylis@linaro.org>
10516
10517 PR target/60609
10518 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
10519 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
10520 ADDR_DIFF_VEC.
10521
d6adff07
RB
105222014-04-07 Richard Biener <rguenther@suse.de>
10523
10524 PR tree-optimization/60766
3f2f838e
EB
10525 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
10526 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 10527
da34ade5
JM
105282014-04-07 Jason Merrill <jason@redhat.com>
10529
10530 PR c++/60731
10531 * common.opt (-fno-gnu-unique): Add.
10532 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
10533
151e9aac
KT
105342014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10535
10536 * haifa-sched.c: Fix outdated function reference and minor
10537 grammar errors in introductory comment.
10538
308173e3
RB
105392014-04-07 Richard Biener <rguenther@suse.de>
10540
10541 PR middle-end/60750
10542 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
10543 for noreturn calls.
10544 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
10545
a9a302d9
JDA
105462014-04-06 John David Anglin <danglin@gcc.gnu.org>
10547
10548 PR debug/55794
10549 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
10550 size accounting for thunks.
10551 (pa_asm_output_mi_thunk): Use final_start_function() and
10552 final_end_function() to output function start and end directives.
10553
576ba35c
PS
105542014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
10555
e0a81db1
UB
10556 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
10557 device specific ISA/ feature information. Remove short_sp and
10558 errata_skip ds. Add avr_device_specific_features enum to have device
10559 specific info.
576ba35c
PS
10560 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
10561 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
10562 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
10563 updated device specific info.
10564 * config/avr/avr-mcus.def: Merge device specific details to
10565 dev_attribute field.
10566 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
10567 errata_skip.
10568 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
10569 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
10570 assembler if RMW isa supported by current device.
10571 * config/avr/genmultilib.awk: Update as device info structure changed.
10572 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
10573
ebc047a2
CH
105742014-04-04 Cong Hou <congh@google.com>
10575
10576 PR tree-optimization/60656
10577 * tree-vect-stmts.c (supportable_widening_operation):
10578 Fix a bug that elements in a vector with vect_used_by_reduction
10579 property are incorrectly reordered when the operation on it is not
10580 consistant with the one in reduction operation.
10581
b6808818
JDA
105822014-04-04 John David Anglin <danglin@gcc.gnu.org>
10583
10584 PR rtl-optimization/60155
10585 * gcse.c (record_set_data): New function.
10586 (single_set_gcse): New function.
10587 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
10588 (hoist_code): Likewise.
10589 (get_pressure_class_and_nregs): Likewise.
10590
eabcc725
EB
105912014-04-04 Eric Botcazou <ebotcazou@adacore.com>
10592
10593 * explow.c (probe_stack_range): Emit a final optimization blockage.
10594
e005b753
AG
105952014-04-04 Anthony Green <green@moxielogic.com>
10596
10597 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
10598 typos.
10599
8fe91ca8
JH
106002014-04-04 Jan Hubicka <hubicka@ucw.cz>
10601
10602 PR ipa/59626
10603 * lto-cgraph.c (input_overwrite_node): Check that partitioning
10604 flags are set only during streaming.
10605 * ipa.c (process_references, walk_polymorphic_call_targets,
10606 symtab_remove_unreachable_nodes): Drop bodies of always inline
10607 after early inlining.
10608 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 10609
88d94632
RR
106102014-04-04 Jakub Jelinek <jakub@redhat.com>
10611 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10612
10613 PR debug/60655
10614 * dwarf2out.c (const_ok_for_output_1): Reject expressions
10615 containing a NOT.
10616
094bc219
KT
106172014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10618
10619 PR bootstrap/60743
10620 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
10621 duration.
10622 (cortex_a53_fdivd): Likewise.
10623
610c8ef0
MJ
106242014-04-04 Martin Jambor <mjambor@suse.cz>
10625
10626 PR ipa/60640
b15d92bf
UB
10627 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
10628 Adjust all callers.
610c8ef0
MJ
10629 * cgraph.c (clone_of_p): Also return true if thunks match.
10630 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
10631 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
10632 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
10633 file.
10634 (build_function_decl_skip_args): Likewise.
610c8ef0 10635 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
10636 (duplicate_thunk_for_node): Likewise.
10637 (redirect_edge_duplicating_thunks): Likewise.
10638 (cgraph_clone_node): New parameter args_to_skip, pass it to
10639 redirect_edge_duplicating_thunks which is called instead of
10640 cgraph_redirect_edge_callee.
10641 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
10642 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
10643
fc02bcca
JL
106442014-04-04 Jeff Law <law@redhat.com>
10645
57ef133b 10646 PR target/60657
fc02bcca
JL
10647 * config/arm/predicates.md (const_int_I_operand): New predicate.
10648 (const_int_M_operand): Similarly.
10649 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
10650 const_int_operand.
10651 (insv_t2, extv_reg, extzv_t2): Likewise.
10652 (load_multiple_with_writeback): Similarly for const_int_I_operand.
10653 (pop_multiple_with_writeback_and_return): Likewise.
10654 (vfp_pop_multiple_with_writeback): Likewise
10655
45b62594
RB
106562014-04-04 Richard Biener <rguenther@suse.de>
10657
10658 PR ipa/60746
10659 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
10660 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
10661 non-GIMPLE_LABELs.
10662 * gimplify.h (gimple_add_tmp_var_fn): Declare.
10663 * gimplify.c (gimple_add_tmp_var_fn): New function.
10664 * gimple-expr.h (create_tmp_reg_fn): Declare.
10665 * gimple-expr.c (create_tmp_reg_fn): New function.
10666 * gimple-low.c (record_vars_into): Don't change cfun.
10667 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
10668 code generation without cfun.
10669
bb609c35
TS
106702014-04-04 Thomas Schwinge <thomas@codesourcery.com>
10671
10672 PR bootstrap/60719
10673 * Makefile.in (install-driver): Fix shell scripting.
10674
090cd8dc
CH
106752014-04-03 Cong Hou <congh@google.com>
10676
10677 PR tree-optimization/60505
10678 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
10679 threshold of number of iterations below which no vectorization
10680 will be done.
090cd8dc
CH
10681 * tree-vect-loop.c (new_loop_vec_info):
10682 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
10683 * tree-vect-loop.c (vect_analyze_loop_operations):
10684 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
10685 * tree-vect-loop.c (vect_transform_loop):
10686 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
10687 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
10688 of iterations of the loop and see if we should build the epilogue.
10689
bdc67fd6
RB
106902014-04-03 Richard Biener <rguenther@suse.de>
10691
e0a81db1 10692 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
10693 (streamer_tree_cache_create): Adjust.
10694 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
10695 to allow optional nodes array.
10696 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
10697 (streamer_tree_cache_append): Likewise.
10698 (streamer_tree_cache_create): Create nodes array optionally
10699 as specified by parameter.
10700 * lto-streamer-out.c (create_output_block): Avoid maintaining
10701 the node array in the writer cache.
10702 (DFS_write_tree): Remove assertion.
e0a81db1 10703 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
10704 * lto-streamer-in.c (lto_data_in_create): Adjust for
10705 streamer_tree_cache_create prototype change.
10706
a0daf659
RB
107072014-04-03 Richard Biener <rguenther@suse.de>
10708
10709 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
10710 set TREE_CHAIN to NULL_TREE.
10711
f16c88d2
RB
107122014-04-03 Richard Biener <rguenther@suse.de>
10713
10714 PR tree-optimization/60740
10715 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
10716 over all GIMPLE_COND operands.
10717
880a467b
NS
107182014-04-03 Nathan Sidwell <nathan@codesourcery.com>
10719
10720 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
10721 (Weffc++): Remove Scott's numbering, merge lists and reference
10722 Wnon-virtual-dtor.
10723
08866760
NC
107242014-04-03 Nick Clifton <nickc@redhat.com>
10725
10726 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
10727 properly.
10728
5bed50e8
MJ
107292014-04-03 Martin Jambor <mjambor@suse.cz>
10730
10731 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
10732 mention gcc_unreachable before failing.
10733 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
10734 removed symbols.
10735
3e86c6a8
JH
107362014-04-02 Jan Hubicka <hubicka@ucw.cz>
10737
10738 PR ipa/60659
e0a81db1
UB
10739 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
10740 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
10741 (possible_polymorphic_call_targets): For inconsistent contexts
10742 return empty complete list.
10743
2b9912aa
AG
107442014-04-02 Anthony Green <green@moxielogic.com>
10745
10746 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
10747 (extendqisi2, extendhisi2): Define.
10748 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
10749 (WCHAR_TYPE): Change to unsigned int.
10750
1e386bb8
BS
107512014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10752
10753 PR tree-optimization/60733
10754 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
10755 insertion point for PHI candidates to be the end of the feeding
10756 block for the PHI argument.
10757
f4581282
VM
107582014-04-02 Vladimir Makarov <vmakarov@redhat.com>
10759
10760 PR rtl-optimization/60650
10761 * lra-constraints.c (process_alt_operands): Decrease reject for
10762 earlyclobber matching.
10763
a9d46e32
AK
107642014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10765
10766 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
10767
7c40228a
UW
107682014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10769
10770 * config/spu/spu.c (pad_bb): Do not crash when the last
10771 insn is CODE_FOR_blockage.
10772
c6596193
UW
107732014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10774
10775 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
10776 lies outside the target mode.
10777
690c229f
MM
107782014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
10779
10780 PR target/60735
10781 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
10782 software floating point or no floating point registers, do not
10783 allow any type in the FPRs. Eliminate a test for SPE SIMD types
10784 in GPRs that occurs after we tested for GPRs that would never be
10785 true.
10786
10787 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
10788 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
10789 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
10790 specifically allow DDmode, since that does not use the SPE SIMD
10791 instructions.
10792
dad16761
RB
107932014-04-02 Richard Biener <rguenther@suse.de>
10794
10795 PR middle-end/60729
10796 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
10797 MODE_INTs. Properly use negv_optab.
10798 (expand_abs): Likewise.
10799
a1ce39be
RB
108002014-04-02 Richard Biener <rguenther@suse.de>
10801
10802 PR bootstrap/60719
10803 * Makefile.in (install-driver): Guard extra installs with special
10804 names properly.
10805
6fb619e4
MM
108062014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
10807
10808 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
10809 Document vec_vgbbd.
10810
2a1ffd6d
RH
108112014-04-01 Richard Henderson <rth@redhat.com>
10812
10813 PR target/60704
10814 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
10815 alternative enabled before register allocation.
10816
98e8dd4d
CLT
108172014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
10818
10819 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
10820 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
10821 typo.
10822 (nios2_large_got_address): Remove unneeded 'sym' parameter.
10823 (nios2_got_address): Update nios2_large_got_address call site.
10824 (nios2_delegitimize_address): New function.
10825 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
10826 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
10827 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
10828
8785c60a
MH
108292014-04-01 Martin Husemann <martin@duskware.de>
10830
10831 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
10832 for -mabi=32.
10833
3343cf6a
RS
108342014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
10835
10836 PR rtl-optimization/60604
10837 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
10838 check from register_operand.
10839 (register_operand): Redefine in terms of general_operand.
10840 (nonmemory_operand): Use register_operand for the non-constant cases.
10841
1503cb6b
RB
108422014-04-01 Richard Biener <rguenther@suse.de>
10843
e0a81db1 10844 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 10845
cded08ea
SH
108462014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
10847
10848 * doc/invoke.texi (mapp-regs): Clarify.
10849
7d9088c2
UD
108502014-03-31 Ulrich Drepper <drepper@gmail.com>
10851
10852 * config/i386/avx512fintrin.h (__v32hi): Define type.
10853 (__v64qi): Likewise.
10854 (_mm512_set1_epi8): Define.
10855 (_mm512_set1_epi16): Define.
10856 (_mm512_set4_epi32): Define.
10857 (_mm512_set4_epi64): Define.
10858 (_mm512_set4_pd): Define.
10859 (_mm512_set4_ps): Define.
10860 (_mm512_setr4_epi64): Define.
10861 (_mm512_setr4_epi32): Define.
10862 (_mm512_setr4_pd): Define.
10863 (_mm512_setr4_ps): Define.
10864 (_mm512_setzero_epi32): Define.
10865
c18ff8a4
MJ
108662014-03-31 Martin Jambor <mjambor@suse.cz>
10867
10868 PR middle-end/60647
10869 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
10870 callsite_arguments_match_p. Updated all callers. Also check types of
10871 corresponding formal parameters and actual arguments.
10872 (not_all_callers_have_enough_arguments_p) Renamed to
10873 some_callers_have_mismatched_arguments_p.
10874
9a96d5b7
YR
108752014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
10876
10877 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
10878
6c031d8d
KV
108792014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
10880
10881 PR target/60034
10882 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
10883 section anchor.
10884
429749e2
UB
108852014-03-30 Uros Bizjak <ubizjak@gmail.com>
10886
10887 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
10888 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
10889 Split out
10890 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
10891 Use FMAMODE_NOVF512 mode iterator.
10892 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
10893 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
10894 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
10895 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
10896 Split out
10897 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
10898 Use VF_128_256 mode iterator.
10899 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
10900 Ditto.
10901
1f91035f
JH
109022014-03-28 Jan Hubicka <hubicka@ucw.cz>
10903
10904 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
10905 static chain if needed.
10906
6e071b1e
VM
109072014-03-28 Vladimir Makarov <vmakarov@redhat.com>
10908
10909 PR target/60697
10910 * lra-constraints.c (index_part_to_reg): New.
10911 (process_address): Use it.
10912
e7f31789 109132014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 10914 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
10915
10916 PR target/60648
4bb66ef3
JJ
10917 * expr.c (do_tablejump): Use simplify_gen_binary rather than
10918 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 10919
4bb66ef3
JJ
10920 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
10921 creating non-canonical RTL.
e7f31789 10922
4cd8957f
JH
109232014-03-28 Jan Hubicka <hubicka@ucw.cz>
10924
10925 PR ipa/60243
10926 * ipa-inline.c (want_inline_small_function_p): Short circuit large
10927 functions; reorganize to make cheap checks first.
10928 (inline_small_functions): Do not estimate growth when dumping;
10929 it is expensive.
10930 * ipa-inline.h (inline_summary): Add min_size.
10931 (growth_likely_positive): New function.
10932 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
10933 (set_cond_stmt_execution_predicate): Cleanup.
10934 (estimate_edge_size_and_time): Compute min_size.
10935 (estimate_calls_size_and_time): Likewise.
10936 (estimate_node_size_and_time): Likewise.
10937 (inline_update_overall_summary): Update min_size.
10938 (do_estimate_edge_time): Likewise.
10939 (do_estimate_edge_size): Update.
10940 (do_estimate_edge_hints): Update.
10941 (growth_likely_positive): New function.
10942
ff76f4e2
JJ
109432014-03-28 Jakub Jelinek <jakub@redhat.com>
10944
10945 PR target/60693
10946 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
10947 also if addr has VOIDmode.
10948
ed6eb6dc
KT
109492014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10950
10951 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
10952 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
10953 Declare extern.
10954 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
10955 instructions as well as AdvancedSIMD loads.
10956
b10baa95
KT
109572014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10958
10959 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
10960 Use crypto_aese type.
10961 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
10962 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
10963 crypto_aese, crypto_aesmc. Move to types.md.
10964 * config/arm/types.md (crypto_aes): Split into crypto_aese,
10965 crypto_aesmc.
10966 * config/arm/iterators.md (crypto_type): Likewise.
10967
23a04216
JH
109682014-03-28 Jan Hubicka <hubicka@ucw.cz>
10969
10970 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
10971 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
10972 remove LHS.
23a04216 10973
a4971e68
VM
109742014-03-28 Vladimir Makarov <vmakarov@redhat.com>
10975
10976 PR target/60675
10977 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
10978 regs from checking multi-reg pseudos.
10979
7ac84c02
RR
109802014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10981
10982 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
10983
bd302a18
UW
109842014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10985
10986 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
10987 if it would clobber the stack pointer, even temporarily.
10988
cee9defb
EB
109892014-03-28 Eric Botcazou <ebotcazou@adacore.com>
10990
10991 * mode-switching.c: Make small adjustments to the top comment.
10992
117f16fb
MM
109932014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
10994
10995 * config/rs6000/constraints.md (wD constraint): New constraint to
10996 match the constant integer to get the top DImode/DFmode out of a
10997 vector in a VSX register.
10998
10999 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
11000 match the constant integer to get the top DImode/DFmode out of a
11001 vector in a VSX register.
11002
11003 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
11004 for ISA 2.07.
11005
11006 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
11007 vbpermq builtins.
11008
11009 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
11010 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
11011
11012 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
11013 Optimize vec_extract of 64-bit values, where the value being
11014 extracted is in the top word, where we can use scalar
11015 instructions. Add direct move and store support. Combine the big
429749e2 11016 endian/little endian vector select load support into a single insn.
117f16fb
MM
11017 (vsx_extract_<mode>_internal1): Likewise.
11018 (vsx_extract_<mode>_internal2): Likewise.
11019 (vsx_extract_<mode>_load): Likewise.
11020 (vsx_extract_<mode>_store): Likewise.
11021 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
11022 combined into vsx_extract_<mode>_load.
11023 (vsx_extract_<mode>_one_le): Likewise.
11024
11025 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
11026 define the top 64-bit vector element.
11027
11028 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
11029 constraint.
11030
6788164b
MM
11031 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11032 Document vec_vbpermq builtin.
11033
117f16fb
MM
11034 PR target/60672
11035 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
11036 enable use of xxsldwi and xxpermdi builtin functions.
11037 (vec_xxpermdi): Likewise.
11038
11039 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11040 Document use of vec_xxsldwi and vec_xxpermdi builtins.
11041
9e038952
VM
110422014-03-27 Vladimir Makarov <vmakarov@redhat.com>
11043
11044 PR rtl-optimization/60650
f4581282 11045 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
11046 first_p. Use it.
11047 (find_spills_for): New.
11048 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
11049 Spill all pseudos on the second iteration.
11050
324dc401
MP
110512014-03-27 Marek Polacek <polacek@redhat.com>
11052
11053 PR c/50347
11054 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
11055 types.
11056
6e77facf
AK
110572014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11058
11059 * config/s390/s390.c (s390_can_use_return_insn): Check for
11060 call-saved FPRs on 31 bit.
11061
47519a14
JJ
110622014-03-27 Jakub Jelinek <jakub@redhat.com>
11063
11064 PR middle-end/60682
11065 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
11066 if they need regimplification, just drop them instead of
11067 calling gimple_regimplify_operands on them.
11068
0b7f8166
MS
110692014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
11070
11071 PR target/60580
11072 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
11073 (aarch64_frame_pointer_required): Adjust logic.
11074 (aarch64_can_eliminate): Adjust logic.
11075 (aarch64_override_options_after_change): Adjust logic.
11076
2f2a7d15
DC
110772014-03-27 Dehao Chen <dehao@google.com>
11078
11079 * ipa-inline.c (early_inliner): Update node's inline info.
11080
a0dbf285
DC
110812014-03-26 Dehao Chen <dehao@google.com>
11082
11083 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
11084 compiler inserted conditional jumps for NAN float check.
11085
ed0ca1e1
JJ
110862014-03-26 Jakub Jelinek <jakub@redhat.com>
11087
07d72e1d
JJ
11088 * ubsan.h (ubsan_create_data): Change second argument's type
11089 to const location_t *.
11090 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
11091 _("<unknown>").
11092 (ubsan_create_data): Change second argument to const location_t *PLOC.
11093 Create Loc field whenever PLOC is non-NULL.
11094 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
11095 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
11096 callers.
11097
ed0ca1e1
JJ
11098 PR other/59545
11099 * real.c (real_to_integer2): Change type of low to UHWI.
11100
b9487dd8
TB
111012014-03-26 Tobias Burnus <burnus@net-b.de>
11102
11103 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
11104 (CILK_SELF_SPECS): New define.
11105 (driver_self_specs): Use it.
11106
3a2700f6
RB
111072014-03-26 Richard Biener <rguenther@suse.de>
11108
11109 * tree-pretty-print.c (percent_K_format): Implement special
11110 case for LTO and its stripped down BLOCK tree.
11111
368b454d
JJ
111122014-03-26 Jakub Jelinek <jakub@redhat.com>
11113
aa6b742f
JJ
11114 PR sanitizer/60636
11115 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
11116
368b454d
JJ
11117 * tree-vrp.c (simplify_internal_call_using_ranges): If only
11118 one range is range_int_cst_p, but not both, at least optimize
11119 addition/subtraction of 0 and multiplication by 0 or 1.
11120 * gimple-fold.c (gimple_fold_call): Fold
11121 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
11122 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
11123 INTEGER_CSTs, try to fold at least x * 0 and y - y.
11124
c7e30a96
EB
111252014-03-26 Eric Botcazou <ebotcazou@adacore.com>
11126
11127 PR rtl-optimization/60452
11128 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
11129 <case REG>: Return 1 for invalid offsets from the frame pointer.
11130
d615d763
MP
111312014-03-26 Marek Polacek <polacek@redhat.com>
11132
11133 PR c/37428
11134 * doc/extend.texi (C Extensions): Mention variable-length arrays in
11135 a structure/union.
11136
1b226529
MP
111372014-03-26 Marek Polacek <polacek@redhat.com>
11138
11139 PR c/39525
11140 * doc/extend.texi (Designated Inits): Describe what happens to omitted
11141 field members.
11142
6686e0bc
MP
111432014-03-26 Marek Polacek <polacek@redhat.com>
11144
11145 PR other/59545
11146 * ira-color.c (update_conflict_hard_regno_costs): Perform the
11147 multiplication in unsigned type.
11148
d4fbc3ae
CJW
111492014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
11150
11151 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
11152
dfa6c87b
CJW
111532014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
11154
11155 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
11156
9de6f6c3
JH
111572014-03-25 Jan Hubicka <hubicka@ucw.cz>
11158
11159 PR ipa/60315
11160 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
11161 * ipa-inline.c (inline_small_functions): Skip edges to
11162 __builtlin_unreachable.
9de6f6c3
JH
11163 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
11164 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
11165 predicate to __bulitin_unreachable.
429749e2
UB
11166 (set_cond_stmt_execution_predicate): Fix issue when
11167 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
11168 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
11169 propagate to inline clones.
11170 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
11171 to unreachable.
11172 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
11173 * cgraphclones.c (cgraph_clone_node): If call destination is already
11174 ureachable, do not redirect it back.
11175 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
11176 unreachable.
11177
d7636f56
JH
111782014-03-25 Jan Hubicka <hubicka@ucw.cz>
11179
11180 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
11181 Do not modify inline clones.
11182
d1873c57
JJ
111832014-03-25 Jakub Jelinek <jakub@redhat.com>
11184
11185 * config/i386/i386.md (general_sext_operand): New mode attr.
11186 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
11187 don't generate (sign_extend (const_int)).
11188 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
11189 operands[2]. Use We constraint instead of <i> and
11190 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
11191 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
11192 * config/i386/constraints.md (We): New constraint.
11193 * config/i386/predicates.md (x86_64_sext_operand,
11194 sext_operand): New predicates.
11195
b5165eb0
MJ
111962014-03-25 Martin Jambor <mjambor@suse.cz>
11197
11198 PR ipa/60600
11199 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
11200 inconsistent devirtualizations to __builtin_unreachable.
11201
3102858d
MP
112022014-03-25 Marek Polacek <polacek@redhat.com>
11203
11204 PR c/35449
11205 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
11206
4b1e108c
AL
112072014-03-25 Alan Lawrence <alan.lawrence@arm.com>
11208
11209 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
11210 order of elements for big-endian.
11211
40b0722f
RB
112122014-03-25 Richard Biener <rguenther@suse.de>
11213
11214 PR middle-end/60635
11215 * gimplify-me.c (gimple_regimplify_operands): Update the
11216 re-gimplifed stmt.
11217
4a5798de
MJ
112182014-03-25 Martin Jambor <mjambor@suse.cz>
11219
11220 PR ipa/59176
11221 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
11222 (lto_output_varpool_node): Likewise.
11223 (input_overwrite_node): Likewise.
11224 (input_varpool_node): Likewise.
11225
585d0088
RB
112262014-03-25 Richard Biener <rguenther@suse.de>
11227
429749e2 11228 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
11229 (run_gcc): Likewise.
11230
a8acccdd
JJ
112312014-03-25 Jakub Jelinek <jakub@redhat.com>
11232
51ee05d0
JJ
11233 * combine.c (simplify_compare_const): Add MODE argument.
11234 Handle mode_width 0 as very large mode_width.
11235 (try_combine, simplify_comparison): Adjust callers.
11236
a8acccdd
JJ
11237 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
11238 type to avoid signed integer overflow.
11239 * explow.c (plus_constant): Likewise.
11240
57fc74a4
DV
112412014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
11242
11243 * doc/generic.texi: Correct typos.
11244
09f15d1b
TB
112452014-03-24 Tobias Burnus <burnus@net-b.de>
11246
11247 * doc/invoke.texi (-flto): Expand section about
11248 using static libraries with LTO.
11249
72a4ddf2
AK
112502014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11251
11252 PR rtl-optimization/60501
11253 * optabs.def (addptr3_optab): New optab.
11254 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
11255 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
11256 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
11257
11258 * lra.c (emit_add3_insn): Use the addptr pattern if available.
11259
11260 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
11261
0b192937
UD
112622014-03-24 Ulrich Drepper <drepper@gmail.com>
11263
2b2384e8
UD
11264 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
11265 _mm512_set1_pd.
11266
0b192937
UD
11267 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
11268 (_mm256_undefined_ps): Define.
11269 (_mm256_undefined_pd): Define.
11270 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
11271 (_mm_undefined_pd): Define.
11272 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
11273 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
11274 (_mm512_undefined_ps): Define.
11275 (_mm512_undefined_pd): Define.
11276 Use _mm*_undefined_*.
11277 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
11278
252c7556
AV
112792014-03-24 Alex Velenko <Alex.Velenko@arm.com>
11280
11281 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
11282 (lshr_simd): DI mode added.
11283 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
11284 (aarch64_ushr_simddi): Likewise.
11285 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
11286 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
11287 (vshrd_n_u64): Likewise.
11288
15e3d4f1
RO
112892014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11290
11291 * Makefile.in (s-macro_list): Depend on cc1.
11292
1858c2d3
TJ
112932014-03-23 Teresa Johnson <tejohnson@google.com>
11294
11295 * ipa-utils.c (ipa_print_order): Use specified dump file.
11296
f87604f8
EB
112972014-03-23 Eric Botcazou <ebotcazou@adacore.com>
11298
11299 PR rtl-optimization/60601
11300 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
11301
11302 * gcc.c (eval_spec_function): Initialize save_growing_value.
11303
3db31fd1
JJ
113042014-03-22 Jakub Jelinek <jakub@redhat.com>
11305
f451d3a8
JJ
11306 PR sanitizer/60613
11307 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
11308 code == MINUS_EXPR, never swap op0 with op1.
11309
3db31fd1
JJ
11310 * toplev.c (init_local_tick): Avoid signed integer multiplication
11311 overflow.
11312 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
11313 shift by first operand's bitsize.
11314
e49080ec
JJ
113152014-03-21 Jakub Jelinek <jakub@redhat.com>
11316
11317 PR target/60610
11318 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
11319 redefine to 1 or 0.
11320 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
11321 TARGET_ISA_64BIT_P(x).
11322
44eb6c40
BS
113232014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11324
11325 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
11326 pattern for vector nor instead of subtract from splat(-1).
11327 (altivec_expand_vec_perm_const_le): Likewise.
11328
ec6f831a
RH
113292014-03-21 Richard Henderson <rth@twiddle.net>
11330
11331 PR target/60598
11332 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
11333 related insns after epilogue_completed.
11334
3d8d0043
MJ
113352014-03-21 Martin Jambor <mjambor@suse.cz>
11336
11337 PR ipa/59176
11338 * cgraph.h (symtab_node): New flag body_removed.
11339 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
11340 when removing bodies.
11341 * symtab.c (dump_symtab_base): Dump body_removed flag.
11342 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
11343 had their bodies removed.
11344
d833415c
MJ
113452014-03-21 Martin Jambor <mjambor@suse.cz>
11346
11347 PR ipa/60419
11348 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
11349 in the border.
11350
400a4f6c
RB
113512014-03-21 Richard Biener <rguenther@suse.de>
11352
11353 PR tree-optimization/60577
11354 * tree-core.h (struct tree_base): Document nothrow_flag use
9c85aeb6
EB
11355 in DECL_NONALIASED.
11356 * tree.h (DECL_NONALIASED): New.
400a4f6c 11357 (may_be_aliased): Adjust.
9c85aeb6 11358 * coverage.c (build_var): Set DECL_NONALIASED.
400a4f6c 11359
c6c2314f
EB
113602014-03-20 Eric Botcazou <ebotcazou@adacore.com>
11361
11362 * expr.c (expand_expr_real_1): Remove outdated comment.
11363
d02b6ac7
JJ
113642014-03-20 Jakub Jelinek <jakub@redhat.com>
11365
b8f045e2
JJ
11366 PR middle-end/60597
11367 * ira.c (adjust_cleared_regs): Call copy_rtx on
11368 *reg_equiv[REGNO (loc)].src_p before passing it to
11369 simplify_replace_fn_rtx.
11370
d02b6ac7
JJ
11371 PR target/60568
11372 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
11373 into CONST, put pic register as first operand of PLUS. Use
11374 gen_const_mem for both 32-bit and 64-bit PIC got loads.
11375
e2f98c01
RR
113762014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11377
11378 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
11379
7075c792
EB
113802014-03-20 Eric Botcazou <ebotcazou@adacore.com>
11381
11382 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
11383 around for store forwarding issue in the FPU on the UT699.
11384 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
11385 loads and operations if -mfix-ut699 is specified.
11386 (divtf3_hq): Tweak attribute.
11387 (sqrttf2_hq): Likewise.
11388
9ee5337d
EB
113892014-03-20 Eric Botcazou <ebotcazou@adacore.com>
11390
11391 * calls.c (store_one_arg): Remove incorrect const qualification on the
11392 type of the temporary.
11393 * cfgexpand.c (expand_return): Likewise.
11394 * expr.c (expand_constructor): Likewise.
11395 (expand_expr_real_1): Likewise.
11396
a69e09c8
ZC
113972014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
11398
11399 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
11400 of parts.
11401
8659d57b
KK
114022014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
11403
11404 PR target/60039
11405 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
11406
985e0d33
JG
114072014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
11408
11409 * config/arm/aarch-common-protos.h
11410 (alu_cost_table): Fix spelling of "extend".
11411 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
11412
ce2f49b3
RB
114132014-03-19 Richard Biener <rguenther@suse.de>
11414
11415 PR middle-end/60553
11416 * tree-core.h (tree_type_common): Re-order pointer members
11417 to reduce recursion depth during GC walks.
11418
6daa2d91
MP
114192014-03-19 Marek Polacek <polacek@redhat.com>
11420
11421 PR sanitizer/60569
11422 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
11423 before accessing it.
11424
8c9cfbe6
RB
114252014-03-19 Richard Biener <rguenther@suse.de>
11426
11427 PR lto/59543
11428 * lto-streamer-in.c (input_function): In WPA stage do not drop
11429 debug stmts.
11430
3efe2e2c
JJ
114312014-03-19 Jakub Jelinek <jakub@redhat.com>
11432
11433 PR tree-optimization/60559
11434 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
11435 with build_zero_cst assignment.
11436
234f76cb
KT
114372014-03-18 Kai Tietz <ktietz@redhat.com>
11438
11439 PR rtl-optimization/56356
11440 * sdbout.c (sdbout_parms): Verify that parms'
11441 incoming argument is valid.
11442 (sdbout_reg_parms): Likewise.
11443
58ca6edf
RH
114442014-03-18 Richard Henderson <rth@redhat.com>
11445
11446 PR target/60562
11447 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
11448 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 11449 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
11450
114512014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
11452
4bb66ef3 11453 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 11454 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 11455 Italicize plugin event names in description. Explain that
429749e2
UB
11456 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
11457 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 11458 Explain what pragmas with expansion are.
b318e404 11459
eb14a79f
ML
114602014-03-18 Martin Liska <mliska@suse.cz>
11461
11462 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
11463 gimple call statement is update.
11464 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
11465 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
11466
415e2e6b
JJ
114672014-03-18 Jakub Jelinek <jakub@redhat.com>
11468
ead96f13
JJ
11469 PR sanitizer/60557
11470 * ubsan.c (ubsan_instrument_unreachable): Call
11471 initialize_sanitizer_builtins.
11472 (ubsan_pass): Likewise.
11473
415e2e6b
JJ
11474 PR sanitizer/60535
11475 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
11476 varpool_finalize_decl instead of rest_of_decl_compilation.
11477
4ca40f52
RB
114782014-03-18 Richard Biener <rguenther@suse.de>
11479
11480 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
11481 by using bitmap_and_compl instead of bitmap_and_compl_into.
11482 (df_rd_transfer_function): Likewise.
11483
6404e190
RB
114842014-03-18 Richard Biener <rguenther@suse.de>
11485
11486 * doc/lto.texi (fresolution): Fix typo.
11487
b9abf793
RB
114882014-03-18 Richard Biener <rguenther@suse.de>
11489
11490 * doc/invoke.texi (flto): Update for changes in 4.9.
11491
3f00cf18
RB
114922014-03-18 Richard Biener <rguenther@suse.de>
11493
11494 * doc/loop.texi: Remove section on the removed lambda framework.
11495 Update loop docs with recent changes in preserving loop structure.
11496
c2679d84
RB
114972014-03-18 Richard Biener <rguenther@suse.de>
11498
11499 * doc/lto.texi (-fresolution): Document.
11500
c07990cc
RB
115012014-03-18 Richard Biener <rguenther@suse.de>
11502
11503 * doc/contrib.texi: Adjust my name.
11504
ed9c79e1
JJ
115052014-03-18 Jakub Jelinek <jakub@redhat.com>
11506
11507 PR ipa/58721
11508 * internal-fn.c: Include diagnostic-core.h.
11509 (expand_BUILTIN_EXPECT): New function.
11510 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
11511 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
11512 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
11513 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
11514 IFN_BUILTIN_EXPECT.
11515 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
11516 Revert 3 argument __builtin_expect code.
11517 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
11518 * gimple-fold.c (gimple_fold_call): Likewise.
11519 * tree.h (fold_builtin_expect): New prototype.
11520 * builtins.c (build_builtin_expect_predicate): Add predictor
11521 argument, if non-NULL, create 3 argument __builtin_expect.
11522 (fold_builtin_expect): No longer static. Add ARG2 argument,
11523 pass it through to build_builtin_expect_predicate.
11524 (fold_builtin_2): Adjust caller.
11525 (fold_builtin_3): Handle BUILT_IN_EXPECT.
11526 * internal-fn.def (BUILTIN_EXPECT): New.
11527
115282014-03-18 Tobias Burnus <burnus@net-b.de>
11529
11530 PR ipa/58721
11531 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
11532 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
11533 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
11534
115352014-03-18 Jan Hubicka <hubicka@ucw.cz>
11536
11537 PR ipa/58721
11538 * predict.c (combine_predictions_for_bb): Fix up formatting.
11539 (expr_expected_value_1, expr_expected_value): Add predictor argument,
11540 fill what it points to if non-NULL.
11541 (tree_predict_by_opcode): Adjust caller, use the predictor.
11542 * predict.def (PRED_COMPARE_AND_SWAP): Add.
11543
e33da4a1
EB
115442014-03-18 Eric Botcazou <ebotcazou@adacore.com>
11545
11546 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
11547 proper constant for the store mode.
11548
1fed15fc
IE
115492014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
11550
11551 * symtab.c (change_decl_assembler_name): Fix transparent alias
11552 chain construction.
11553
454fdba9
RL
115542014-03-16 Renlin Li <Renlin.Li@arm.com>
11555
11556 * config/aarch64/aarch64.c: Correct the comments about the
11557 aarch64 stack layout.
11558
e2110f8f
TS
115592014-03-18 Thomas Schwinge <thomas@codesourcery.com>
11560
11561 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
11562 check for GF_OMP_FOR_KIND_FOR.
11563
7c831c4d
KY
115642013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
11565
11566 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
11567 ymm and zmm register names.
11568
e318c1e1
JJ
115692014-03-17 Jakub Jelinek <jakub@redhat.com>
11570
11571 PR target/60516
11572 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
11573 note creation for the 2010-08-31 changes.
11574
ab2ffbeb
MP
115752014-03-17 Marek Polacek <polacek@redhat.com>
11576
11577 PR middle-end/60534
11578 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
11579 as -fno-tree-loop-vectorize.
11580 (expand_omp_simd): Likewise.
11581
890fa568
EB
115822014-03-15 Eric Botcazou <ebotcazou@adacore.com>
11583
11584 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
11585 (eligible_for_call_delay): New prototype.
11586 * config/sparc/sparc.c (tls_call_delay): Rename into...
11587 (eligible_for_call_delay): ...this. Return false if the instruction
11588 cannot be put in the delay slot of a branch.
11589 (eligible_for_restore_insn): Simplify.
11590 (eligible_for_return_delay): Return false if the instruction cannot be
11591 put in the delay slot of a branch and simplify.
11592 (eligible_for_sibcall_delay): Return false if the instruction cannot be
11593 put in the delay slot of a branch.
11594 * config/sparc/sparc.md (fix_ut699): New attribute.
11595 (tls_call_delay): Delete.
11596 (in_call_delay): Reimplement.
11597 (eligible_for_sibcall_delay): Rename into...
11598 (in_sibcall_delay): ...this.
11599 (eligible_for_return_delay): Rename into...
11600 (in_return_delay): ...this.
11601 (in_branch_delay): Reimplement.
11602 (in_uncond_branch_delay): Delete.
11603 (in_annul_branch_delay): Delete.
11604
cfce90ac
RH
116052014-03-14 Richard Henderson <rth@redhat.com>
11606
11607 PR target/60525
11608 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
11609 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
11610 (*floathi<X87MODEF>2_i387_with_temp): Remove.
11611 (floathi splitters): Remove.
11612 (float<SWI48x>xf2): New pattern.
11613 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
11614 code that tried to handle DImode for 32-bit, but which was excluded
11615 by the pattern's condition. Drop allocation of stack temporary.
11616 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
11617 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
11618 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
11619 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
11620 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
11621 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
11622 (*float<SWI48><MODEF>2_sse_interunit): Remove.
11623 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
11624 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
11625 (*float<SWI48x><X87MODEF>2_i387): Remove.
11626 (all float _with_temp splitters): Remove.
11627 (*float<SWI48x><MODEF>2_i387): New pattern.
11628 (*float<SWI48><MODEF>2_sse): New pattern.
11629 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
11630 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
11631
91035653
JJ
116322014-03-14 Jakub Jelinek <jakub@redhat.com>
11633 Marek Polacek <polacek@redhat.com>
11634
11635 PR middle-end/60484
11636 * common.opt (dump_base_name_prefixed): New Variable.
11637 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
11638 if x_dump_base_name_prefixed is already set, set it at the end.
11639
95921002
VM
116402014-03-14 Vladimir Makarov <vmakarov@redhat.com>
11641
11642 PR rtl-optimization/60508
11643 * lra-constraints.c (get_reload_reg): Add new parameter
11644 in_subreg_p.
11645 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
11646 Pass the new parameter values.
11647
25e57622
RB
116482014-03-14 Richard Biener <rguenther@suse.de>
11649
11650 * common.opt: Revert unintented changes from r205065.
11651 * opts.c: Likewise.
11652
1f3388fe
RB
116532014-03-14 Richard Biener <rguenther@suse.de>
11654
11655 PR middle-end/60518
11656 * cfghooks.c (split_block): Properly adjust all loops the
11657 block was a latch of.
11658
116592014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
11660
11661 PR lto/60461
11662 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
11663 and simplify it.
11664
2832dc22
GJL
116652014-03-14 Georg-Johann Lay <avr@gjlay.de>
11666
11667 PR target/59396
11668 * config/avr/avr.c (avr_set_current_function): Pass function name
11669 through default_strip_name_encoding before sanity checking instead
11670 of skipping the first char of the assembler name.
11671
3386d77e
RH
116722014-03-13 Richard Henderson <rth@redhat.com>
11673
11674 PR debug/60438
11675 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
11676 (ix86_force_to_memory, ix86_free_from_memory): Remove.
11677 * config/i386/i386-protos.h: Likewise.
11678 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
11679 in the expander instead of a splitter.
11680 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
11681 any possibility of requiring a memory.
11682 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
11683 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
11684 (fp branch splitters): Update for ix86_split_fp_branch.
11685 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
11686 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
11687 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
11688 (*fop_<MODEF>_2_i387): Remove f/r alternative.
11689 (*fop_<MODEF>_3_i387): Likewise.
11690 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
11691 (splitters for the fop_* register patterns): Remove.
11692 (fscalexf4_i387): Rename from *fscalexf4_i387.
11693 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 11694
5b5d7f31
JJ
116952014-03-13 Jakub Jelinek <jakub@redhat.com>
11696
11697 PR tree-optimization/59779
11698 * tree-dfa.c (get_ref_base_and_extent): Use double_int
11699 type for bitsize and maxsize instead of HOST_WIDE_INT.
11700
bdc6e1ae
SB
117012014-03-13 Steven Bosscher <steven@gcc.gnu.org>
11702
11703 PR rtl-optimization/57320
11704 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
11705 the CFG after thread_prologue_and_epilogue_insns.
11706
7891065a
VM
117072014-03-13 Vladimir Makarov <vmakarov@redhat.com>
11708
11709 PR rtl-optimization/57189
11710 * lra-constraints.c (process_alt_operands): Disfavor spilling
11711 vector pseudos.
11712
eba14fca
CP
117132014-03-13 Cesar Philippidis <cesar@codesourcery.com>
11714
429749e2 11715 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 11716
f661b085
JJ
117172014-03-13 Jakub Jelinek <jakub@redhat.com>
11718
11719 PR tree-optimization/59025
11720 PR middle-end/60418
11721 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
11722 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
11723
8f3a3138
GJL
117242014-03-13 Georg-Johann Lay <avr@gjlay.de>
11725
11726 PR target/60486
11727 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
11728 calls of avr_out_plus_1.
11729
d731ee04
BC
117302014-03-13 Bin Cheng <bin.cheng@arm.com>
11731
11732 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
11733 BB's single pred and update the father loop's latch info later.
11734
a16a872d
MM
117352014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
11736
11737 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
11738 (VEC_M): Likewise.
11739 (VEC_N): Likewise.
11740 (VEC_R): Likewise.
11741 (VEC_base): Likewise.
11742 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
11743 registers, we need to swap double words in little endian mode.
11744
11745 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
11746 to be a container mode for 128-bit integer operations added in ISA
11747 2.07. Unlike TImode and PTImode, the preferred register set is
11748 the Altivec/VMX registers for the 128-bit operations.
11749
11750 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
11751 declarations.
11752 (rs6000_split_128bit_ok_p): Likewise.
11753
11754 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
11755 macros for creating ISA 2.07 normal and overloaded builtin
11756 functions with 3 arguments.
11757 (BU_P8V_OVERLOAD_3): Likewise.
11758 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
11759 for use as overloaded functions.
11760 (VPERM_1TI_UNS): Likewise.
11761 (VSEL_1TI): Likewise.
11762 (VSEL_1TI_UNS): Likewise.
11763 (ST_INTERNAL_1ti): Likewise.
11764 (LD_INTERNAL_1ti): Likewise.
11765 (XXSEL_1TI): Likewise.
11766 (XXSEL_1TI_UNS): Likewise.
11767 (VPERM_1TI): Likewise.
11768 (VPERM_1TI_UNS): Likewise.
11769 (XXPERMDI_1TI): Likewise.
11770 (SET_1TI): Likewise.
11771 (LXVD2X_V1TI): Likewise.
11772 (STXVD2X_V1TI): Likewise.
11773 (VEC_INIT_V1TI): Likewise.
11774 (VEC_SET_V1TI): Likewise.
11775 (VEC_EXT_V1TI): Likewise.
11776 (EQV_V1TI): Likewise.
11777 (NAND_V1TI): Likewise.
11778 (ORC_V1TI): Likewise.
11779 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
11780 added in ISA 2.07. Add both normal 'altivec' builtins, and the
11781 overloaded builtin.
11782 (VADDUQM): Likewise.
11783 (VSUBCUQ): Likewise.
11784 (VADDEUQM): Likewise.
11785 (VADDECUQ): Likewise.
11786 (VSUBEUQM): Likewise.
11787 (VSUBECUQ): Likewise.
11788
11789 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
11790 __int128_t and __uint128_t types.
11791 (__uint128_type): Likewise.
11792 (altivec_categorize_keyword): Add support for vector __int128_t,
11793 vector __uint128_t, vector __int128, and vector unsigned __int128
11794 as a container type for TImode operations that need to be done in
11795 VSX/Altivec registers.
11796 (rs6000_macro_to_expand): Likewise.
11797 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
11798 to support 128-bit integer instructions vaddcuq, vadduqm,
11799 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
11800 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
11801
11802 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
11803 for V1TImode, and set up preferences to use VSX/Altivec registers.
11804 Setup VSX reload handlers.
a16a872d
MM
11805 (rs6000_debug_reg_global): Likewise.
11806 (rs6000_init_hard_regno_mode_ok): Likewise.
11807 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 11808 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
11809 (easy_altivec_constant): Likewise.
11810 (output_vec_const_move): Likewise.
11811 (rs6000_expand_vector_set): Convert V1TImode set and extract to
11812 simple move.
11813 (rs6000_expand_vector_extract): Likewise.
11814 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
11815 addressing.
11816 (rs6000_const_vec): Add support for V1TImode.
11817 (rs6000_emit_le_vsx_load): Swap double words when loading or
11818 storing TImode/V1TImode.
11819 (rs6000_emit_le_vsx_store): Likewise.
11820 (rs6000_emit_le_vsx_move): Likewise.
11821 (rs6000_emit_move): Add support for V1TImode.
11822 (altivec_expand_ld_builtin): Likewise.
11823 (altivec_expand_st_builtin): Likewise.
11824 (altivec_expand_vec_init_builtin): Likewise.
11825 (altivec_expand_builtin): Likewise.
11826 (rs6000_init_builtins): Add support for V1TImode type. Add
11827 support for ISA 2.07 128-bit integer builtins. Define type names
11828 for the VSX/Altivec vector types.
11829 (altivec_init_builtins): Add support for overloaded vector
11830 functions with V1TImode type.
0bb29a05 11831 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
11832 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
11833 external function.
11834 (rs6000_split_128bit_ok_p): Likewise.
11835 (rs6000_handle_altivec_attribute): Create V1TImode from vector
11836 __int128_t and vector __uint128_t.
11837
11838 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
11839 and mode attributes.
11840 (VSX_M): Likewise.
11841 (VSX_M2): Likewise.
11842 (VSm): Likewise.
11843 (VSs): Likewise.
11844 (VSr): Likewise.
11845 (VSv): Likewise.
11846 (VS_scalar): Likewise.
11847 (VS_double): Likewise.
0bb29a05 11848 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 11849
0bb29a05
UB
11850 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
11851 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
11852 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
11853 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
11854 and TImode types for use with the builtin functions.
11855 (V1TI_type_node): Likewise.
11856 (unsigned_V1TI_type_node): Likewise.
11857 (intTI_type_internal_node): Likewise.
11858 (uintTI_type_internal_node): Likewise.
11859
0bb29a05
UB
11860 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
11861 128-bit builtin functions.
a16a872d
MM
11862 (UNSPEC_VADDEUQM): Likewise.
11863 (UNSPEC_VADDECUQ): Likewise.
11864 (UNSPEC_VSUBCUQ): Likewise.
11865 (UNSPEC_VSUBEUQM): Likewise.
11866 (UNSPEC_VSUBECUQ): Likewise.
11867 (VM): Add V1TImode to vector mode iterators.
11868 (VM2): Likewise.
11869 (VI_unit): Likewise.
11870 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
11871 (altivec_vaddcuq): Likewise.
11872 (altivec_vsubuqm): Likewise.
11873 (altivec_vsubcuq): Likewise.
11874 (altivec_vaddeuqm): Likewise.
11875 (altivec_vaddecuq): Likewise.
11876 (altivec_vsubeuqm): Likewise.
11877 (altivec_vsubecuq): Likewise.
11878
11879 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
11880 mode iterators.
11881 (BOOL_128): Likewise.
11882 (BOOL_REGS_OUTPUT): Likewise.
11883 (BOOL_REGS_OP1): Likewise.
11884 (BOOL_REGS_OP2): Likewise.
11885 (BOOL_REGS_UNARY): Likewise.
11886 (BOOL_REGS_AND_CR0): Likewise.
11887
11888 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
11889 128-bit integer builtin support.
11890 (vec_vadduqm): Likewise.
11891 (vec_vaddecuq): Likewise.
11892 (vec_vaddeuqm): Likewise.
11893 (vec_vsubecuq): Likewise.
11894 (vec_vsubeuqm): Likewise.
11895 (vec_vsubcuq): Likewise.
11896 (vec_vsubuqm): Likewise.
11897
11898 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11899 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
11900 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
11901 128-bit integer add/subtract to ISA 2.07.
11902
eeac7d15
JR
119032014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
11904
11905 * config/arc/arc.c (arc_predicate_delay_insns):
11906 Fix third argument passed to conditionalize_nonjump.
11907
bf0f324e
YZ
119082014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
11909
11910 * config/aarch64/aarch64-builtins.c
11911 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
11912 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
11913 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
11914 instead of __builtin_lfloor.
11915 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
11916
bf4787b2
JJ
119172014-03-12 Jakub Jelinek <jakub@redhat.com>
11918
11919 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
11920 (tree_ssa_ifcombine_bb_1): New function.
11921 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
11922 is an empty forwarder block to then_bb or vice versa and then_bb
11923 and else_bb are effectively swapped.
11924
7d55b948
CB
119252014-03-12 Christian Bruel <christian.bruel@st.com>
11926
11927 PR target/60264
0bb29a05
UB
11928 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
11929 REG_CFA_DEF_CFA note.
7d55b948
CB
11930 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
11931 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
11932
882a5fbe
TP
119332014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
11934
11935 PR tree-optimization/60454
11936 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
11937
a3cd0246
KT
119382014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11939
11940 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
11941 Do not define target_cpu_default2 to generic.
11942 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
11943 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
11944 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
11945
c888139c
JJ
119462014-03-12 Jakub Jelinek <jakub@redhat.com>
11947 Marc Glisse <marc.glisse@inria.fr>
11948
11949 PR tree-optimization/60502
11950 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
11951 instead of build_low_bits_mask.
11952
b24ca895
JJ
119532014-03-12 Jakub Jelinek <jakub@redhat.com>
11954
11955 PR middle-end/60482
11956 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
11957 if there are multiple uses, but op doesn't live on E edge.
11958 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
11959 clobber stmts before __builtin_unreachable.
11960
f1257268
RS
119612014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
11962
11963 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
11964 hard_frame_pointer_rtx.
11965 * cse.c (cse_insn): Remove volatile check.
11966 * cselib.c (cselib_process_insn): Likewise.
11967 * dse.c (scan_insn): Likewise.
11968
bae56bbb
JR
119692014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
11970
0bb29a05
UB
11971 * config/arc/arc.c (conditionalize_nonjump): New function,
11972 broken out of ...
11973 (arc_ifcvt): ... this.
bae56bbb
JR
11974 (arc_predicate_delay_insns): Use it.
11975
167ba5b9
JR
119762014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
11977
11978 * config/arc/predicates.md (extend_operand): During/after reload,
11979 allow const_int_operand.
11980 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
11981 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
11982 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
11983 to "i".
11984 (umulsi3_highpart_i): Likewise.
11985
dfd7d2d6
RB
119862014-03-11 Richard Biener <rguenther@suse.de>
11987
11988 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
11989 Add asserts to guard possible wrong-code bugs.
11990
af1ab449
RB
119912014-03-11 Richard Biener <rguenther@suse.de>
11992
11993 PR tree-optimization/60429
11994 PR tree-optimization/60485
11995 * tree-ssa-structalias.c (set_union_with_increment): Properly
11996 take into account all fields that overlap the shifted vars.
11997 (do_sd_constraint): Likewise.
11998 (do_ds_constraint): Likewise.
11999 (get_constraint_for_ptr_offset): Likewise.
12000
747425d0
CLT
120012014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
12002
12003 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
12004 (nios2_compute_frame_layout):
12005 Add calculation of cfun->machine->fp_save_offset.
12006 (nios2_expand_prologue): Correct setting of frame pointer register
12007 in prologue.
12008 (nios2_expand_epilogue): Update recovery of stack pointer from
12009 frame pointer accordingly.
12010 (nios2_initial_elimination_offset): Update calculation of offset
12011 for eliminating to HARD_FRAME_POINTER_REGNUM.
12012
31dad809
JJ
120132014-03-10 Jakub Jelinek <jakub@redhat.com>
12014
12015 PR ipa/60457
12016 * ipa.c (symtab_remove_unreachable_nodes): Don't call
12017 cgraph_get_create_node on VAR_DECLs.
12018
3c1c08d6
RB
120192014-03-10 Richard Biener <rguenther@suse.de>
12020
12021 PR middle-end/60474
12022 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
12023
21d89690
DR
120242014-03-08 Douglas B Rupp <rupp@gnat.com>
12025
12026 * config/vms/vms.opt (vms_float_format): New variable.
12027
634b8e9b
TB
120282014-03-08 Tobias Burnus <burnus@net-b.de>
12029
0bb29a05 12030 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 12031
f42c637e
PM
120322014-03-08 Paulo Matos <paulo@matos-sorge.com>
12033 Richard Biener <rguenther@suse.de>
12034
12035 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
12036 consistently accross all TUs.
12037 (run_gcc): Enable -fshort-double automatically at link at link-time
12038 and disallow override.
12039
bd65fc87
RS
120402014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
12041
12042 PR target/58271
12043 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
12044 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
12045 if they can't be used.
12046
040c446d
RO
120472014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12048
0bb29a05
UB
12049 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
12050 for Solaris 11/x86 ld.
040c446d
RO
12051 * configure: Regenerate.
12052
caa16d41
RO
120532014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12054
12055 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
12056 (LIB_TLS_SPEC): Save as ld_tls_libs.
12057 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
12058 (HAVE_AS_IX86_TLSLDM): New test.
12059 * configure, config.in: Regenerate.
12060 * config/i386/i386.c (legitimize_tls_address): Fall back to
12061 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
12062 cannot support TLS_MODEL_LOCAL_DYNAMIC.
12063 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
12064 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
12065
f3d83ffe
PM
120662014-03-07 Paulo Matos <paulo@matos-sorge.com>
12067
12068 * common.opt (fira-loop-pressure): Mark as optimization.
12069
b17a8b07
TS
120702014-03-07 Thomas Schwinge <thomas@codesourcery.com>
12071
12072 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
12073 an OpenMP mappable type.
12074
4973b0f9
MK
120752014-03-06 Matthias Klose <doko@ubuntu.com>
12076
12077 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
12078 MULTILIB_OSDIRNAMES is not defined.
12079
ab19cc6c
JJ
120802014-03-06 Jakub Jelinek <jakub@redhat.com>
12081 Meador Inge <meadori@codesourcery.com>
12082
12083 PR target/58595
12084 * config/arm/arm.c (arm_tls_symbol_p): Remove.
12085 (arm_legitimize_address): Call legitimize_tls_address for any
12086 arm_tls_referenced_p expression, handle constant addend. Call it
12087 before testing for !TARGET_ARM.
12088 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
12089
a74158c7
RB
120902014-03-06 Richard Biener <rguenther@suse.de>
12091
12092 PR middle-end/60445
12093 PR lto/60424
12094 PR lto/60427
12095 Revert
12096 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
12097
0bb29a05
UB
12098 * tree-streamer.c (record_common_node): Assert we don't record
12099 nodes with type double.
12100 (preload_common_node): Skip type double, complex double and double
12101 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 12102
f3ba16d0
RB
121032014-03-06 Richard Biener <rguenther@suse.de>
12104
12105 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
12106 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
12107 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
12108 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
12109 * lto-wrapper.c (merge_and_complain): Merge compile-time
12110 optimization levels.
12111 (run_gcc): And pass it through to the link options.
12112
4bb66ef3 121132014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
12114
12115 PR debug/60381
12116 Revert:
4bb66ef3 12117 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
12118 PR debug/59992
12119 * cselib.c (remove_useless_values): Skip to avoid quadratic
12120 behavior if the condition moved from...
12121 (cselib_process_insn): ... here holds.
12122
a05cca9b
JJ
121232014-03-05 Jakub Jelinek <jakub@redhat.com>
12124
487125e7
JJ
12125 PR plugins/59335
12126 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
12127 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
12128
a05cca9b
JJ
12129 PR plugins/59335
12130 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
12131 (TM_H): Add x86-tune.def.
12132
4e2cd668
KT
121332014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12134
12135 * config/aarch64/aarch64.c (generic_tunings):
12136 Use cortexa57_extra_costs.
12137
5525ed38
JJ
121382014-03-05 Jakub Jelinek <jakub@redhat.com>
12139
12140 PR lto/60404
12141 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
12142 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
12143 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
12144 cost for in_lto_p.
12145
0c72fa78
H
121462014-03-04 Heiher <r@hev.cc>
12147
12148 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
12149 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
12150
66b03f81
UB
121512014-03-04 Uros Bizjak <ubizjak@gmail.com>
12152
12153 * config/i386/predicates.md (const2356_operand): Change to ...
12154 (const2367_operand): ... this.
12155 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
12156 const2367_operand.
12157 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
12158 (*avx512pf_scatterpf<mode>sf): Ditto.
12159 (avx512pf_scatterpf<mode>df): Ditto.
12160 (*avx512pf_scatterpf<mode>df_mask): Ditto.
12161 (*avx512pf_scatterpf<mode>df): Ditto.
12162 * config/i386/i386.c (ix86_expand_builtin): Update
12163 incorrect hint operand error message.
12164
3c24e842
RB
121652014-03-04 Richard Biener <rguenther@suse.de>
12166
12167 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 12168
3740bda6
PM
121692014-03-04 Paulo Matos <paulo@matos-sorge.com>
12170
0bb29a05
UB
12171 * tree-streamer.c (record_common_node): Assert we don't record
12172 nodes with type double.
12173 (preload_common_node): Skip type double, complex double and double
12174 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 12175
91856735
RB
121762014-03-04 Richard Biener <rguenther@suse.de>
12177
12178 PR lto/60405
66b03f81 12179 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
12180 (lto_input_toplevel_asms): Likewise.
12181 * lto-section-in.c (lto_get_section_data): Instead do it here
12182 for every section.
66b03f81 12183
b75f28e1
RB
121842014-03-04 Richard Biener <rguenther@suse.de>
12185
12186 PR tree-optimization/60382
12187 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
12188 dead PHIs a reduction.
12189
dd96e83a
UB
121902014-03-03 Uros Bizjak <ubizjak@gmail.com>
12191
12192 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
12193 hint value.
12194 (_mm_prefetch): Move out of GCC target("sse") pragma.
12195 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
12196 GCC target("prfchw") pragma.
12197 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
12198 for locality <= 2.
12199 * config/i386/i386.c (ix86_option_override_internal): Enable
12200 -mprfchw with -mprefetchwt1.
12201
220c1a51
JR
122022014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
12203
12204 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
12205 Mark as varying.
12206
212bfe71
JR
122072014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
12208
12209 * opts.h (CL_PCH_IGNORE): Define.
12210 * targhooks.c (option_affects_pch_p):
12211 Return false for options that have CL_PCH_IGNORE set.
12212 * opt-functions.awk: Process PchIgnore.
12213 * doc/options.texi: Document PchIgnore.
12214
7a3d0a39
JR
12215 * config/arc/arc.opt (misize): Add PchIgnore property.
12216
b46ed885
BS
122172014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12218
12219 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
12220 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
12221 constraint on constants to permit them being loaded into
12222 GENERAL_REGS or BASE_REGS.
12223
c6f709ec
NC
122242014-03-03 Nick Clifton <nickc@redhat.com>
12225
12226 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
12227 anti-cacnonical alternatives.
12228 (negandhi3_real): New pattern.
12229 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
12230
5752f78f
SKS
122312014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
12232
12233 * config/avr/avr-mcus.def: Remove atxmega16x1.
12234 * config/avr/avr-tables.opt: Regenerate.
12235 * config/avr/t-multilib: Regenerate.
12236 * doc/avr-mmcu.texi: Regenerate.
12237
0afe7332 122382014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 12239 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
12240
12241 PR tree-optimization/58028
12242 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
12243 scalar dimensions.
12244
3416dd87
RR
122452014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12246
12247 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
12248 not handled by recognizers.
12249
79c7fda6
JJ
122502014-03-03 Jakub Jelinek <jakub@redhat.com>
12251
12252 PR middle-end/60175
12253 * function.c (expand_function_end): Don't emit
12254 clobber_return_register sequence if clobber_after is a BARRIER.
12255 * cfgexpand.c (construct_exit_block): Append instructions before
12256 return_label to prev_bb.
12257
715a5c85
BS
122582014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12259
12260 * config/rs6000/constraints.md: Document reserved use of "wc".
12261
9ffbf271
JH
122622014-03-02 Jan Hubicka <hubicka@ucw.cz>
12263
12264 PR ipa/60150
12265 * ipa.c (function_and_variable_visibility): When dissolving comdat
12266 group, also set all symbols to local.
12267
993df21e 122682014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 12269
993df21e
JH
12270 PR ipa/60306
12271
12272 Revert:
40c0a159 12273 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
12274 PR middle-end/58477
12275 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 12276
9b0af790
JB
122772014-03-02 Jon Beniston <jon@beniston.com>
12278
12279 PR bootstrap/48230
12280 PR bootstrap/50927
12281 PR bootstrap/52466
12282 PR target/46898
12283 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 12284 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 12285 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 12286 (simple_return, *simple_return): New patterns
9b0af790
JB
12287 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
12288 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
12289
c582aac9
PC
122902014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
12291
12292 * dwarf2out.c (gen_subprogram_die): Tidy.
12293
19305875
OE
122942014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
12295
12296 PR target/60071
12297 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
12298 (*mov_t_msb_neg_negc): ... this new insn.
12299
570215f9
JM
123002014-02-28 Jason Merrill <jason@redhat.com>
12301
12302 PR c++/58678
12303 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
12304 function.
12305
c5b001b5
PC
123062014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
12307
12308 PR c++/60314
12309 * dwarf2out.c (decltype_auto_die): New static.
12310 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
12311 (gen_type_die_with_usage): Handle 'decltype(auto)'.
12312 (is_cxx_auto): Likewise.
12313
5750e120
IB
123142014-02-28 Ian Bolton <ian.bolton@arm.com>
12315
12316 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
12317 we are not using general regs only.
12318
fba7c564
RB
123192014-02-28 Richard Biener <rguenther@suse.de>
12320
12321 PR target/60280
12322 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
12323 previous fix and only allow to remove trivial pre-headers
12324 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 12325 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 12326
4bb66ef3 123272014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
12328
12329 PR debug/59992
12330 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
12331 (cselib_preserved_hash_table): New.
12332 (preserve_constants_and_equivs): Move preserved vals to it.
12333 (cselib_find_slot): Look it up first.
12334 (cselib_init): Initialize it.
12335 (cselib_finish): Release it.
12336 (dump_cselib_table): Dump it.
12337
4bb66ef3 123382014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
12339
12340 PR debug/59992
12341 * cselib.c (remove_useless_values): Skip to avoid quadratic
12342 behavior if the condition moved from...
12343 (cselib_process_insn): ... here holds.
12344
4bb66ef3 123452014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
12346
12347 PR debug/57232
12348 * var-tracking.c (vt_initialize): Apply the same condition to
12349 preserve the CFA base value.
12350
9910c53c
JY
123512014-02-28 Joey Ye <joey.ye@arm.com>
12352
12353 PR target/PR60169
12354 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
12355 if reload in progress or completed.
12356
ef271341
TB
123572014-02-28 Tobias Burnus <burnus@net-b.de>
12358
12359 PR middle-end/60147
12360 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
12361 NAMELIST_DECL.
12362
c4f6267b
L
123632014-02-27 H.J. Lu <hongjiu.lu@intel.com>
12364
12365 * doc/tm.texi.in (Condition Code Status): Update documention for
12366 relative locations of cc0-setter and cc0-user.
12367
7a76df7f
JL
123682014-02-27 Jeff Law <law@redhat.com>
12369
12370 PR rtl-optimization/52714
12371 * combine.c (try_combine): When splitting an unrecognized PARALLEL
12372 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 12373 pattern we place into I3 is a (set (pc) ...).
7a76df7f 12374
728acca0
MP
123752014-02-27 Mikael Pettersson <mikpe@it.uu.se>
12376 Jeff Law <law@redhat.com>
12377
12378 PR rtl-optimization/49847
12379 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
12380 are in different blocks.
12381 * doc/tm.texi (Condition Code Status): Update documention for
12382 relative locations of cc0-setter and cc0-user.
12383
93aaa05d
VM
123842014-02-27 Vladimir Makarov <vmakarov@redhat.com>
12385
12386 PR target/59222
12387 * lra.c (lra_emit_add): Check SUBREG too.
12388
1ee6eb01
AS
123892014-02-27 Andreas Schwab <schwab@suse.de>
12390
12391 * config/m68k/m68k.c (m68k_option_override): Disable
12392 -flive-range-shrinkage for classic m68k.
12393 (m68k_override_options_after_change): Likewise.
12394
bb0d8e84
MP
123952014-02-27 Marek Polacek <polacek@redhat.com>
12396
12397 PR middle-end/59223
12398 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
12399 -Wmaybe-uninitialized.
12400
3157b879
AM
124012014-02-27 Alan Modra <amodra@gmail.com>
12402
3e17cad2 12403 PR target/57936
3157b879
AM
12404 * reload1.c (emit_input_reload_insns): When reload_override_in,
12405 set old to rl->in_reg when rl->in_reg is a subreg.
12406
bb750f4f
RB
124072014-02-26 Richard Biener <rguenther@suse.de>
12408
12409 PR bootstrap/60343
12410 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
12411
22c8aab3
IT
124122014-02-25 Ilya Tocar <ilya.tocar@intel.com>
12413
12414 * common/config/i386/predicates.md (const1256_operand): Remove.
12415 (const2356_operand): New.
12416 (const_1_to_2_operand): Remove.
12417 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
12418 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
12419 (*avx512pf_gatherpf<mode>sf): Ditto.
12420 (avx512pf_gatherpf<mode>df): Ditto.
12421 (*avx512pf_gatherpf<mode>df_mask): Ditto.
12422 (*avx512pf_gatherpf<mode>df): Ditto.
12423 (avx512pf_scatterpf<mode>sf): Ditto.
12424 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
12425 (*avx512pf_scatterpf<mode>sf): Ditto.
12426 (avx512pf_scatterpf<mode>df): Ditto.
12427 (*avx512pf_scatterpf<mode>df_mask): Ditto.
12428 (*avx512pf_scatterpf<mode>df): Ditto.
12429 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
12430
260d3642
IT
124312014-02-26 Ilya Tocar <ilya.tocar@intel.com>
12432
12433 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
12434 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
12435 (_mm512_mask_testn_epi64_mask): Move to ...
12436 * config/i386/avx512cdintrin.h: Here.
12437 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
12438 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
12439 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
12440 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
12441 TARGET_AVX512F from TARGET_AVX512CD.
12442
477145c8
RB
124432014-02-26 Richard Biener <rguenther@suse.de>
12444
12445 PR ipa/60327
12446 * ipa.c (walk_polymorphic_call_targets): Properly guard
12447 call to inline_update_overall_summary.
12448
a3afdbb8
BC
124492014-02-26 Bin Cheng <bin.cheng@arm.com>
12450
12451 PR target/60280
84d7e312
UB
12452 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
12453 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
12454 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
12455 LOOPS_HAVE_PREHEADERS.
12456
b8a542c6
AP
124572014-02-25 Andrew Pinski <apinski@cavium.com>
12458
12459 * builtins.c (expand_builtin_thread_pointer): Create a new target
12460 when the target is NULL.
12461
88def637
VM
124622014-02-25 Vladimir Makarov <vmakarov@redhat.com>
12463
12464 PR rtl-optimization/60317
12465 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
12466 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
12467 * lra-assigns.c: Include params.h.
12468 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
12469 other reload pseudos considerations.
12470
68908a06
BS
124712014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12472
cf36d2cc
WS
12473 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
12474 to use canonical form for nor<mode>3.
68908a06 12475
db57bbc9
KT
124762014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12477
12478 PR target/55426
12479 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
12480 conversions.
12481
43b3f52f
IT
124822014-02-25 Ilya Tocar <ilya.tocar@intel.com>
12483
12484 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
12485 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
12486 (ix86_handle_option): Handle OPT_mprefetchwt1.
12487 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
12488 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
12489 PREFETCHWT1 CPUID.
12490 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
12491 OPTION_MASK_ISA_PREFETCHWT1.
12492 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
12493 (PTA_PREFETCHWT1): New.
12494 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
12495 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 12496 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
12497 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
12498 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 12499 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
12500 * config/i386/i386.opt (mprefetchwt1): New.
12501 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
12502 (_mm_prefetch): Handle intent to write.
12503 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
12504
84053e02
RB
125052014-02-25 Richard Biener <rguenther@suse.de>
12506
12507 PR middle-end/60291
12508 * emit-rtl.c (mem_attrs_htab): Remove.
12509 (mem_attrs_htab_hash): Likewise.
12510 (mem_attrs_htab_eq): Likewise.
84d7e312 12511 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
12512 (init_emit_once): Do not allocate mem_attrs_htab.
12513
4094757e
RB
125142014-02-25 Richard Biener <rguenther@suse.de>
12515
12516 PR lto/60319
12517 * lto-opts.c (lto_write_options): Output non-explicit conservative
12518 -fwrapv, -fno-trapv and -fno-strict-overflow.
12519 * lto-wrapper.c (merge_and_complain): Handle merging those options.
12520 (run_gcc): And pass them through.
12521
41b2d514 125222014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 12523
41b2d514
AB
12524 * sel-sched.c (calculate_new_fences): New parameter ptime.
12525 Calculate it as a maximum over all fence cycles.
12526 (sel_sched_region_2): Adjust the call to calculate_new_fences.
12527 Print the final schedule timing when sched_verbose.
12528
c1c99405
AB
125292014-02-25 Andrey Belevantsev <abel@ispras.ru>
12530
12531 PR rtl-optimization/60292
12532 * sel-sched.c (fill_vec_av_set): Do not reset target availability
12533 bit fot the fence instruction.
12534
1d9def42
AD
125352014-02-24 Alangi Derick <alangiderick@gmail.com>
12536
12537 * calls.h: Fix typo in comment.
12538
325fefe0
JDA
125392014-02-24 John David Anglin <danglin@gcc.gnu.org>
12540
12541 * config/pa/pa.c (pa_output_move_double): Don't valididate when
12542 adjusting offsetable addresses.
12543
ad43b47a
GW
125442014-02-24 Guozhi Wei <carrot@google.com>
12545
12546 * sparseset.h (sparseset_pop): Fix the wrong index.
12547
341c653c
WL
125482014-02-24 Walter Lee <walt@tilera.com>
12549
12550 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
12551 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
12552 triplet.
12553 * common/config/tilegx/tilegx-common.c
12554 (TARGET_DEFAULT_TARGET_FLAGS): Define.
12555 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
12556 (LINK_SPEC): Ditto.
12557 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
12558 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
12559 (tilegx_gimplify_va_arg_expr): Handle big endian.
12560 (tilegx_expand_unaligned_load): Ditto.
12561 (tilegx_expand_unaligned_store): Ditto.
12562 (TARGET_RETURN_IN_MSB): New.
12563 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
12564 (TARGET_ENDIAN_DEFAULT): New.
12565 (TARGET_BIG_ENDIAN): Handle big endian.
12566 (BYTES_BIG_ENDIAN): Ditto.
12567 (WORDS_BIG_ENDIAN): Ditto.
12568 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
12569 (ENDIAN_SPEC): New.
12570 (EXTRA_SPECS): New.
12571 * config/tilegx/tilegx.md (extv): Handle big endian.
12572 (extzv): Ditto.
12573 (insn_st<n>): Ditto.
12574 (insn_st<n>_add<bitsuffix>): Ditto.
12575 (insn_stnt<n>): Ditto.
12576 (insn_stnt<n>_add<bitsuffix>):Ditto.
12577 (vec_interleave_highv8qi): Handle big endian.
12578 (vec_interleave_highv8qi_be): New.
12579 (vec_interleave_highv8qi_le): New.
12580 (insn_v1int_h): Handle big endian.
12581 (vec_interleave_lowv8qi): Handle big endian.
12582 (vec_interleave_lowv8qi_be): New.
12583 (vec_interleave_lowv8qi_le): New.
12584 (insn_v1int_l): Handle big endian.
12585 (vec_interleave_highv4hi): Handle big endian.
12586 (vec_interleave_highv4hi_be): New.
12587 (vec_interleave_highv4hi_le): New.
12588 (insn_v2int_h): Handle big endian.
12589 (vec_interleave_lowv4hi): Handle big endian.
12590 (vec_interleave_lowv4hi_be): New.
12591 (vec_interleave_lowv4hi_le): New.
12592 (insn_v2int_l): Handle big endian.
12593 (vec_interleave_highv2si): Handle big endian.
12594 (vec_interleave_highv2si_be): New.
12595 (vec_interleave_highv2si_le): New.
12596 (insn_v4int_h): Handle big endian.
12597 (vec_interleave_lowv2si): Handle big endian.
12598 (vec_interleave_lowv2si_be): New.
12599 (vec_interleave_lowv2si_le): New.
12600 (insn_v4int_l): Handle big endian.
12601 * config/tilegx/tilegx.opt (mbig-endian): New option.
12602 (mlittle-endian): New option.
12603 * doc/install.texi: Document tilegxbe-linux.
12604 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
12605
f3fec19f
MJ
126062014-02-24 Martin Jambor <mjambor@suse.cz>
12607
12608 PR ipa/60266
12609 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
12610 there are no parameter descriptors.
12611
9039622a
AB
126122014-02-24 Andrey Belevantsev <abel@ispras.ru>
12613
12614 PR rtl-optimization/60268
12615 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
12616 initialization to ...
12617 (sched_rgn_init): ... here.
12618 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
12619
4bb66ef3 126202014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 12621
9039622a
AB
12622 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
12623 names.
e7e7bc4b 12624
4bb66ef3 126252014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
12626
12627 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
12628 definition.
12629
4bb66ef3 126302014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 12631
84d7e312
UB
12632 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
12633 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 12634
4bb66ef3 126352014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
12636
12637 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 12638 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 12639 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 12640 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
12641 to microblaze_expand_conditional_branch and consolidate logic.
12642 (microblaze_expand_conditional_branch): emit branch_compare
12643 insn instead of handling cmp op separate from branch insn.
12644
34c25d23
BS
126452014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12646
12647 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
12648 to permit subregs.
12649
a6eecdc1
BS
126502014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12651
d5a19af1
DH
12652 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
12653 define_insn with define_expand and new define_insn
12654 *altivec_lve<VI_char>x_internal.
12655 (altivec_stve<VI_char>x): Replace define_insn with define_expand
12656 and new define_insn *altivec_stve<VI_char>x_internal.
12657 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
12658 prototype.
12659 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
12660 lve*x built-ins.
12661 (altivec_expand_stvex_be): New function.
a6eecdc1 12662
8aa7d1fc
JR
126632014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
12664
12665 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 12666 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
12667 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
12668 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
12669
a810ee82
VM
126702014-02-21 Vladimir Makarov <vmakarov@redhat.com>
12671
12672 PR target/60298
12673 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
12674 instead of emit_move_insn.
12675
b90ab1ba
BS
126762014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12677
12678 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
12679 vspltw with vsldoi.
12680 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
12681 gen_altivec_vsumsws.
12682
1af73690
WS
126832014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12684
12685 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 12686 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
12687 (altivec_lvxl_<mode>): New define_expand incorporating
12688 -maltivec=be semantics where needed.
12689 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
12690 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
12691 semantics where needed.
12692 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
12693 (altivec_stvx_<mode>): New define_expand incorporating
12694 -maltivec=be semantics where needed.
12695 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
12696 VM2 iterator instead of V4SI.
12697 (altivec_stvxl_<mode>): New define_expand incorporating
12698 -maltivec=be semantics where needed.
12699 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
12700 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
12701 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
12702 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
12703 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
12704 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
12705 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
12706 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
12707 ALTIVEC_BUILTIN_STVXL.
84d7e312 12708 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
12709 (altivec_expand_stvx_be): Likewise.
12710 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
12711 (altivec_expand_lvx_be): Likewise.
12712 (altivec_expand_stvx_be): Likewise.
12713 (altivec_expand_builtin): Add cases for
12714 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
12715 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
12716 (altivec_init_builtins): Add definitions for
12717 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 12718 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 12719
0a39d07b
CM
127202014-02-21 Catherine Moore <clm@codesourcery.com>
12721
12722 * doc/invoke.texi (mvirt, mno-virt): Document.
12723 * config/mips/mips.opt (mvirt): New option.
12724 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
12725
f2556b68
RB
127262014-02-21 Richard Biener <rguenther@suse.de>
12727
12728 PR tree-optimization/60276
12729 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
12730 (STMT_VINFO_MIN_NEG_DIST): New macro.
12731 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
12732 STMT_VINFO_MIN_NEG_DIST.
12733 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
12734 made for negative dependence distances still hold.
12735
32417082
RB
127362014-02-21 Richard Biener <rguenther@suse.de>
12737
12738 PR middle-end/60291
12739 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
12740 DECL_INITIAL for globals not in the current function context.
12741
92261ce0
JJ
127422014-02-21 Jakub Jelinek <jakub@redhat.com>
12743
12744 PR tree-optimization/56490
12745 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
12746 * tree-ssa-uninit.c: Include params.h.
12747 (compute_control_dep_chain): Add num_calls argument, return false
12748 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
12749 num_calls to recursive call.
12750 (find_predicates): Change dep_chain into normal array,
12751 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
12752 variable and adjust compute_control_dep_chain caller.
12753 (find_def_preds): Likewise.
12754
aa6ef874
TS
127552014-02-21 Thomas Schwinge <thomas@codesourcery.com>
12756
12757 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
12758 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
12759
4b156fd0
NC
127602014-02-21 Nick Clifton <nickc@redhat.com>
12761
12762 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
12763 (pushhi1): Likewise.
12764 (popqi1): Add mode to pre_dec.
12765 (pophi1): Likewise.
12766
dffd569e
JJ
127672014-02-21 Jakub Jelinek <jakub@redhat.com>
12768
12769 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
12770 mode for mask of V8SFmode permutation.
12771
2fdc29e8
RH
127722014-02-20 Richard Henderson <rth@redhat.com>
12773
12774 PR c++/60272
12775 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
12776 a new pseudo for OLDVAL.
12777
aa637f66
JJ
127782014-02-20 Jakub Jelinek <jakub@redhat.com>
12779
12780 PR target/57896
12781 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
12782 gen_reg_rtx if d->testing_p.
12783 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
12784 if d->testing_p and we will certainly return true.
12785 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
12786 if d->testing_p.
12787
004a7e45
UB
127882014-02-20 Uros Bizjak <ubizjak@gmail.com>
12789
12790 * emit-rtl.c (gen_reg_rtx): Assert that
12791 crtl->emit.regno_pointer_align_length is non-zero.
12792
127932014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
12794
12795 PR c++/60272
12796 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
12797 on failure the store back into EXPECT.
12798
95ce7613
CLT
127992014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
12800 Sandra Loosemore <sandra@codesourcery.com>
12801
12802 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
12803 * config/nios2/nios2.c (nios2_function_profiler): Add
12804 -fPIC (flag_pic == 2) support.
95ce7613
CLT
12805 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
12806 (nios2_large_offset_p): New function.
12807 (nios2_unspec_reloc_p): Move up position, update to use
12808 nios2_large_offset_p.
12809 (nios2_unspec_address): Remove function.
12810 (nios2_unspec_offset): New function.
12811 (nios2_large_got_address): New function.
12812 (nios2_got_address): Add large offset support.
12813 (nios2_legitimize_tls_address): Update usage of removed and new
12814 functions.
12815 (nios2_symbol_binds_local_p): New function.
12816 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
12817 (nios2_legitimize_address): Update to use nios2_large_offset_p.
12818 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
12819 (nios2_print_operand): Merge H/L processing, add hiadj/lo
12820 processing for (const (unspec ...)).
12821 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
12822
efd2d3c8
RB
128232014-02-20 Richard Biener <rguenther@suse.de>
12824
12825 * tree-cfg.c (replace_uses_by): Mark altered BBs before
12826 doing the substitution.
004a7e45 12827 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 12828
9576e7b1
MJ
128292014-02-20 Martin Jambor <mjambor@suse.cz>
12830
12831 PR ipa/55260
12832 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
12833 info when checking whether lattices are bottom.
12834
25fe40b0
RB
128352014-02-20 Richard Biener <rguenther@suse.de>
12836
12837 PR middle-end/60221
12838 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
12839 regions at -O0.
12840
bd936951
JH
128412014-02-20 Jan Hubicka <hubicka@ucw.cz>
12842
12843 PR ipa/58555
004a7e45
UB
12844 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
12845 parameter specifying the scaling.
bd936951
JH
12846 (inline_call): Update.
12847 (want_inline_recursively): Guard division by zero.
12848 (recursive_inlining): Update.
12849 * ipa-inline.h (clone_inlined_nodes): Update.
12850
3c898e1a
IT
128512014-02-20 Ilya Tocar <ilya.tocar@intel.com>
12852
12853 PR target/60204
12854 * config/i386/i386.c (classify_argument): Pass structures of size
12855 64 bytes or less in register.
12856
df62b4af 128572014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 12858 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
12859
12860 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
12861 (_mm_rcp28_round_ss): Ditto.
12862 (_mm_rsqrt28_round_sd): Ditto.
12863 (_mm_rsqrt28_round_ss): Ditto.
12864 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
12865 (_mm_rcp14_round_ss): Ditto.
12866 (_mm_rsqrt14_round_sd): Ditto.
12867 (_mm_rsqrt14_round_ss): Ditto.
12868 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
12869 the first input operand, get rid of match_dup.
12870 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
12871 attribute to sse.
12872 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
12873 Ditto.
12874 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
12875 operand as the first input operand, set type attribute.
12876 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
12877 Set type attribute.
12878 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
12879 operand as the first input operand, set type attribute.
12880
9254148e
BS
128812014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12882
12883 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
12884 bit of zero.
12885
fff91793
L
128862014-02-19 H.J. Lu <hongjiu.lu@intel.com>
12887
12888 PR target/60207
12889 * config/i386/i386.c (construct_container): Remove TFmode check
12890 for X86_64_INTEGER_CLASS.
12891
6aa5b4b8
UB
128922014-02-19 Uros Bizjak <ubizjak@gmail.com>
12893
12894 PR target/59794
12895 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
12896 only when -Wpsabi is enabled.
12897
aadc1c43
MHD
128982014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
12899
12900 PR target/59799
12901 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
12902 passing arrays in registers are the same as for structs, so remove the
12903 special case for them.
12904
322913f8
EB
129052014-02-19 Eric Botcazou <ebotcazou@adacore.com>
12906
12907 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
12908 destination type, extract only the valid bits if the source type is not
12909 integral and has a different mode.
12910
fd9710dc
RB
129112014-02-19 Richard Biener <rguenther@suse.de>
12912
12913 PR ipa/60243
12914 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
12915 for all calls.
12916
4df65a85
RB
129172014-02-19 Richard Biener <rguenther@suse.de>
12918
12919 PR ipa/60243
12920 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
12921 (ipa_modify_call_arguments): Emit an argument load explicitely and
12922 preserve virtual SSA form there and for the replacement call.
12923 Do not update SSA form nor free dominance info.
12924
7fea98d8
JH
129252014-02-18 Jan Hubicka <hubicka@ucw.cz>
12926
12927 * ipa.c (function_and_variable_visibility): Also clear WEAK
12928 flag when disolving COMDAT_GROUP.
12929
0a2550e7
JH
129302014-02-18 Jan Hubicka <hubicka@ucw.cz>
12931
12932 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
12933 * ipa-prop.c (ipa_set_jf_known_type): Return early when
12934 not devirtualizing.
12935 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
12936 do more sanity checks.
12937 (detect_type_change): Return true when giving up early.
12938 (compute_complex_assign_jump_func): Fix type parameter of
12939 ipa_set_ancestor_jf.
12940 (compute_complex_ancestor_jump_func): Likewise.
12941 (update_jump_functions_after_inlining): Fix updating of
12942 ancestor function.
6aa5b4b8 12943 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 12944
2dbe8b70
JH
129452014-02-18 Jan Hubicka <hubicka@ucw.cz>
12946
12947 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
12948 inline clones when edge disappears.
12949
b9809dc4
MM
129502014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
12951
12952 PR target/60203
12953 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
12954 Split 64-bit moves into 2 patterns. Do not allow the use of
12955 direct move for TDmode in little endian, since the decimal value
12956 has little endian bytes within a word, but the 64-bit pieces are
12957 ordered in a big endian fashion, and normal subreg's of TDmode are
12958 not allowed.
12959 (mov<mode>_64bit_dm): Likewise.
12960 (movtd_64bit_nodm): Likewise.
12961
bababbfb
EB
129622014-02-18 Eric Botcazou <ebotcazou@adacore.com>
12963
12964 PR tree-optimization/60174
12965 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
12966 statement of an SSA_NAME that occurs in an abnormal PHI node.
12967
70aacc97
JJ
129682014-02-18 Jakub Jelinek <jakub@redhat.com>
12969
12970 PR sanitizer/60142
12971 * final.c (SEEN_BB): Remove.
12972 (SEEN_NOTE, SEEN_EMITTED): Renumber.
12973 (final_scan_insn): Don't force_source_line on second
12974 NOTE_INSN_BASIC_BLOCK.
12975
223cdd15
UB
129762014-02-18 Uros Bizjak <ubizjak@gmail.com>
12977
12978 PR target/60205
12979 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
12980 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
12981 (type_natural_mode): Warn ABI change when %zmm register is not
12982 available for AVX512F vector value passing.
12983
48810be0
KT
129842014-02-18 Kai Tietz <ktietz@redhat.com>
12985
12986 PR target/60193
223cdd15
UB
12987 * config/i386/i386.c (ix86_expand_prologue): Use value in
12988 rax register as displacement when restoring %r10 or %rax.
12989 Fix wrong offset when restoring both registers.
48810be0 12990
20afe640
EB
129912014-02-18 Eric Botcazou <ebotcazou@adacore.com>
12992
12993 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
12994 assertion with conditional return.
12995
d0b50387
JJ
129962014-02-18 Jakub Jelinek <jakub@redhat.com>
12997 Uros Bizjak <ubizjak@gmail.com>
12998
12999 PR driver/60233
13000 * config/i386/driver-i386.c (host_detect_local_cpu): If
13001 YMM state is not saved by the OS, also clear has_f16c. Move
13002 CPUID 0x80000001 handling before YMM state saving checking.
13003
c4cd7435
AB
130042014-02-18 Andrey Belevantsev <abel@ispras.ru>
13005
13006 PR rtl-optimization/58960
13007 * haifa-sched.c (alloc_global_sched_pressure_data): New,
13008 factored out from ...
13009 (sched_init): ... here.
13010 (free_global_sched_pressure_data): New, factored out from ...
13011 (sched_finish): ... here.
13012 * sched-int.h (free_global_sched_pressure_data): Declare.
13013 * sched-rgn.c (nr_regions_initial): New static global.
13014 (haifa_find_rgns): Initialize it.
13015 (schedule_region): Disable sched-pressure for the newly
13016 generated regions.
13017
f0281fde
RB
130182014-02-17 Richard Biener <rguenther@suse.de>
13019
13020 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
13021 release SSA defs of pattern stmts.
13022
c742772c
RB
130232014-02-17 Richard Biener <rguenther@suse.de>
13024
13025 * tree-inline.c (expand_call_inline): Release the virtual
13026 operand defined by the call we are about to inline.
13027
0492158e
RB
130282014-02-17 Richard Biener <rguenther@suse.de>
13029
13030 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
13031
583a9919
KY
130322014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
13033 Ilya Tocar <ilya.tocar@intel.com>
13034
13035 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
13036 arguments order in builtin.
13037 (_mm512_permutexvar_epi64): Ditto.
13038 (_mm512_mask_permutexvar_epi64): Ditto
13039 (_mm512_maskz_permutexvar_epi32): Ditto
13040 (_mm512_permutexvar_epi32): Ditto
13041 (_mm512_mask_permutexvar_epi32): Ditto
13042
d737743f
BS
130432014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13044
223cdd15 13045 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
13046 (p8_vmrgow): Likewise.
13047
54c4bfd7
BS
130482014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13049
13050 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
13051 endian targets.
13052
518fea64
MM
130532014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
13054
13055 PR target/60203
13056 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
13057 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
13058 into 64-bit and 32-bit moves. On 64-bit moves, add support for
13059 using direct move instructions on ISA 2.07. Also adjust
13060 instruction length for 64-bit.
13061 (mov<mode>_64bit, TFmode/TDmode): Likewise.
13062 (mov<mode>_32bit, TFmode/TDmode): Likewise.
13063
61640916
AM
130642014-02-15 Alan Modra <amodra@gmail.com>
13065
13066 PR target/58675
13067 PR target/57935
13068 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
13069 find_replacement on parts of insn rtl that might be reloaded.
13070
a2b33cc3
RB
130712014-02-15 Richard Biener <rguenther@suse.de>
13072
13073 PR tree-optimization/60183
223cdd15 13074 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
13075 (tree_ssa_phiprop): Calculate and free post-dominators.
13076
059742a4
JL
130772014-02-14 Jeff Law <law@redhat.com>
13078
13079 PR rtl-optimization/60131
13080 * ree.c (get_extended_src_reg): New function.
223cdd15 13081 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
13082 (find_and_remove_re): Verify first operand of extension is
13083 a REG before adding the insns to the copy list.
13084
88f7c49a
RM
130852014-02-14 Roland McGrath <mcgrathr@google.com>
13086
13087 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
13088 * configure: Regenerated.
13089 * config.in: Regenerated.
13090 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
13091 instead of ASM_SHORT.
13092
2ae577fd
VM
130932014-02-14 Vladimir Makarov <vmakarov@redhat.com>
13094 Richard Earnshaw <rearnsha@arm.com>
13095
13096 PR rtl-optimization/59535
13097 * lra-constraints.c (process_alt_operands): Encourage alternative
13098 when unassigned pseudo class is superset of the alternative class.
13099 (inherit_reload_reg): Don't inherit when optimizing for code size.
13100 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
13101 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
13102 modes not less than 4 for Thumb1.
13103
5d88af08
KM
131042014-02-14 Kyle McMartin <kyle@redhat.com>
13105
13106 PR pch/60010
13107 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
13108
3069b421
RB
131092014-02-14 Richard Biener <rguenther@suse.de>
13110
13111 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
13112 (get_frame_arg): Drop the assert with langhook types_compatible_p.
13113 Do not strip INDIRECT_REFs.
13114
1966fd99
RB
131152014-02-14 Richard Biener <rguenther@suse.de>
13116
13117 PR lto/60179
13118 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
13119 DECL_FUNCTION_SPECIFIC_TARGET.
13120 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
13121 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 13122 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
13123 (write_ts_function_decl_tree_pointers): Do not stream
13124 DECL_FUNCTION_SPECIFIC_TARGET.
13125 * tree-streamer-in.c (unpack_ts_target_option): Remove.
13126 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
13127 (lto_input_ts_function_decl_tree_pointers): Do not stream
13128 DECL_FUNCTION_SPECIFIC_TARGET.
13129
b010d601
JJ
131302014-02-14 Jakub Jelinek <jakub@redhat.com>
13131
223cdd15 13132 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
13133 (get_initial_def_for_induction, vectorizable_induction): Ignore
13134 debug stmts when looking for exit_phi.
13135 (vectorizable_live_operation): Fix up condition.
13136
f2dafb91
CJW
131372014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
13138
13139 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
13140 nreverse() because it changes the content of original tree list.
13141
59043e75
CJW
131422014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
13143
13144 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
13145 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
13146
810f736f
CJW
131472014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
13148
13149 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
13150 GNU coding standards.
13151
1a025bbf
JJ
131522014-02-13 Jakub Jelinek <jakub@redhat.com>
13153
13154 PR debug/60152
13155 * dwarf2out.c (gen_subprogram_die): Don't call
13156 add_calling_convention_attribute if subr_die is old_die.
13157
69479ebd
SS
131582014-02-13 Sharad Singhai <singhai@google.com>
13159
13160 * doc/optinfo.texi: Fix order of nodes.
13161
1287ae50
UB
131622014-02-13 Uros Bizjak <ubizjak@gmail.com>
13163
13164 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
13165 operands[2], not operands[3].
13166
43372236
RB
131672014-02-13 Richard Biener <rguenther@suse.de>
13168
13169 PR bootstrap/59878
13170 * doc/install.texi (ISL): Update recommended version to 0.12.2,
13171 mention the possibility of an in-tree build.
13172 (CLooG): Update recommended version to 0.18.1, mention the
13173 possibility of an in-tree build and clarify that the ISL
13174 bundled with CLooG does not work.
13175
a4d70cfa
JJ
131762014-02-13 Jakub Jelinek <jakub@redhat.com>
13177
13178 PR target/43546
13179 * expr.c (compress_float_constant): If x is a hard register,
13180 extend into a pseudo and then move to x.
13181
e697d119
DV
131822014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
13183
13184 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
13185 caused by bad second argument to warning_at() with -mhotpatch and
13186 nested functions (e.g. with gfortran).
13187
9f8da907
RS
131882014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
13189
13190 * opts.c (option_name): Remove "enabled by default" rider.
13191
0fdd1196
JDA
131922014-02-12 John David Anglin <danglin@gcc.gnu.org>
13193
13194 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
13195
0544c448
L
131962014-02-12 H.J. Lu <hongjiu.lu@intel.com>
13197 Uros Bizjak <ubizjak@gmail.com>
13198
13199 PR target/60151
1287ae50 13200 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
13201 * configure: Regenerated.
13202
3a938d75
RB
132032014-02-12 Richard Biener <rguenther@suse.de>
13204
13205 * vec.c (vec_prefix::calculate_allocation): Move as
13206 inline variant to vec.h.
13207 (vec_prefix::calculate_allocation_1): New out-of-line version.
13208 * vec.h (vec_prefix::calculate_allocation_1): Declare.
13209 (vec_prefix::m_has_auto_buf): Rename to ...
13210 (vec_prefix::m_using_auto_storage): ... this.
13211 (vec_prefix::calculate_allocation): Inline the easy cases
13212 and dispatch to calculate_allocation_1 which doesn't need the
13213 prefix address.
13214 (va_heap::reserve): Use gcc_checking_assert.
13215 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
13216 m_using_auto_storage.
13217 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
13218 member and adjust.
13219 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
13220 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
13221 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
13222
ad0188be
RB
132232014-02-12 Richard Biener <rguenther@suse.de>
13224
13225 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
13226 when we found a dependence.
13227
64e5ace5
TS
132282014-02-12 Thomas Schwinge <thomas@codesourcery.com>
13229
88ac13da
TS
13230 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
13231 common code...
13232 (maybe_fold_stmt): ... into this new function.
13233 * omp-low.c (lower_omp): Update comment.
13234
bae729a2
TS
13235 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
13236 last use.
13237
64e5ace5
TS
13238 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
13239 dereference.
13240
7b40f5cf
JG
132412014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
13242
13243 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
13244 identifiers in comments.
13245 (cortexa53_extra_costs): Likewise.
1287ae50 13246 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
13247 (cortexa7_extra_costs): Likewise.
13248 (cortexa12_extra_costs): Likewise.
13249 (cortexa15_extra_costs): Likewise.
13250 (v7m_extra_costs): Likewise.
13251
c4c8514e
RB
132522014-02-12 Richard Biener <rguenther@suse.de>
13253
13254 PR middle-end/60092
13255 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
13256 of posix_memalign being successful.
13257 (lower_stmt): Restrict lowering of posix_memalign to when
13258 -ftree-bit-ccp is enabled.
13259
8eb651bd
SKS
132602014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
13261
13262 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
13263 arg_loc.
13264 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
13265
62b03553
EB
132662014-02-12 Eric Botcazou <ebotcazou@adacore.com>
13267
13268 PR rtl-optimization/60116
13269 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
13270 other_insn once the combination has been validated.
13271
ec77d61f
JH
132722014-02-11 Jan Hubicka <hubicka@ucw.cz>
13273
13274 PR lto/59468
13275 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
13276 and wrapper.
13277 * ipa-devirt.c: Include demangle.h
13278 (odr_violation_reported): New static variable.
13279 (add_type_duplicate): Update odr_violations.
13280 (maybe_record_node): Add completep parameter; update it.
13281 (record_target_from_binfo): Add COMPLETEP parameter;
13282 update it as needed.
13283 (possible_polymorphic_call_targets_1): Likewise.
13284 (struct polymorphic_call_target_d): Add nonconstruction_targets;
13285 rename FINAL to COMPLETE.
13286 (record_targets_from_bases): Sanity check we found the binfo;
13287 fix COMPLETEP updating.
13288 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
13289 parameter, fix computing of COMPLETEP.
1287ae50
UB
13290 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
13291 at LTO time do demangling.
ec77d61f
JH
13292 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
13293 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
13294 parameter.
13295 (gimple_get_virt_method_for_binfo): Likewise.
13296 * gimple-fold.h (gimple_get_virt_method_for_binfo,
13297 gimple_get_virt_method_for_vtable): Update prototypes.
13298
5a4dcd9b
VM
132992014-02-11 Vladimir Makarov <vmakarov@redhat.com>
13300
13301 PR target/49008
13302 * genautomata.c (add_presence_absence): Fix typo with
13303 {final_}presence_list.
13304
69b7afed
MM
133052014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
13306
13307 PR target/60137
13308 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
13309 for VSX/Altivec vectors that land in GPR registers.
13310
8268ad5c
JJ
133112014-02-11 Richard Henderson <rth@redhat.com>
13312 Jakub Jelinek <jakub@redhat.com>
13313
13314 PR debug/59776
13315 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
13316 around drhs if type conversion to lacc->type is not useless.
13317
4fd92af6
KT
133182014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13319
13320 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
13321 tuning struct.
13322 (cortex-a57.cortex-a53): Likewise.
13323 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
13324
7cb14cb8
KT
133252014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13326
13327 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
13328 arm_restrict_it.
13329
6d3715b9
RL
133302014-02-11 Renlin Li <Renlin.Li@arm.com>
13331
13332 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
13333 add_options_for_arm_vfp3.
13334
cddddfff
JL
133352014-02-11 Jeff Law <law@redhat.com>
13336
13337 PR middle-end/54041
13338 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
13339 object with an undesirable mode.
13340
7c1aef7e
RO
133412014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13342
13343 PR libgomp/60107
13344 * config/i386/sol2-9.h: New file.
13345 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
13346 *-*-solaris2.9*): Use it.
13347
4bb66ef3 133482014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
13349
13350 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
13351 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
13352
4bb66ef3 133532014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
13354
13355 * config/microblaze/microblaze.c: Extend mcpu version format
13356
4bb66ef3 133572014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
13358
13359 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
13360
004a7e45 133612014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
13362
13363 PR target/59927
13364 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
13365 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
13366 ms-abi vs -mno-accumulate-outgoing-args.
13367 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
13368 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
13369 respect to ms-abi.
13370
e2fc3b4f
BE
133712014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
13372
13373 PR middle-end/60080
13374 * cfgexpand.c (expand_asm_operands): Attach source location to
13375 ASM_INPUT rtx objects.
13376 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
13377
3a22ad89
NC
133782014-02-10 Nick Clifton <nickc@redhat.com>
13379
13380 * config/mn10300/mn10300.c (popcount): New function.
13381 (mn10300_expand_prologue): Include saved registers in stack usage
13382 count.
13383
f27be550
JL
133842014-02-10 Jeff Law <law@redhat.com>
13385
13386 PR middle-end/52306
13387 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 13388 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 13389
e15e3815
UW
133902014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13391
13392 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
13393 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
13394 -mcall-openbsd, or -mcall-linux.
13395 (CC1_ENDIAN_BIG_SPEC): Remove.
13396 (CC1_ENDIAN_LITTLE_SPEC): Remove.
13397 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
13398 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
13399 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
13400 and %cc1_endian_default.
13401 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
13402
4e1f39e4
RB
134032014-02-10 Richard Biener <rguenther@suse.de>
13404
13405 PR tree-optimization/60115
13406 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
13407 MEM_REF handling. Properly verify that the accesses are not
13408 out of the objects bound.
13409
e7af1c22
KT
134102014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13411
13412 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
13413 coretex to cortex.
13414
79c7de84
EB
134152014-02-10 Eric Botcazou <ebotcazou@adacore.com>
13416
13417 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
13418 proper constants and fix formatting.
13419 (possible_polymorphic_call_targets): Fix formatting.
13420
cf73ee60
KY
134212014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
13422 Ilya Tocar <ilya.tocar@intel.com>
13423
13424 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
13425 (_mm512_loadu_epi32): Renamed into...
13426 (_mm512_loadu_si512): This.
13427 (_mm512_storeu_epi32): Renamed into...
13428 (_mm512_storeu_si512): This.
13429 (_mm512_maskz_ceil_ps): Removed.
13430 (_mm512_maskz_ceil_pd): Ditto.
13431 (_mm512_maskz_floor_ps): Ditto.
13432 (_mm512_maskz_floor_pd): Ditto.
13433 (_mm512_floor_round_ps): Ditto.
13434 (_mm512_floor_round_pd): Ditto.
13435 (_mm512_ceil_round_ps): Ditto.
13436 (_mm512_ceil_round_pd): Ditto.
13437 (_mm512_mask_floor_round_ps): Ditto.
13438 (_mm512_mask_floor_round_pd): Ditto.
13439 (_mm512_mask_ceil_round_ps): Ditto.
13440 (_mm512_mask_ceil_round_pd): Ditto.
13441 (_mm512_maskz_floor_round_ps): Ditto.
13442 (_mm512_maskz_floor_round_pd): Ditto.
13443 (_mm512_maskz_ceil_round_ps): Ditto.
13444 (_mm512_maskz_ceil_round_pd): Ditto.
13445 (_mm512_expand_pd): Ditto.
13446 (_mm512_expand_ps): Ditto.
13447 * config/i386/i386.c (ix86_builtins): Remove
13448 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
13449 (bdesc_args): Ditto.
13450 * config/i386/predicates.md (const1256_operand): New.
13451 (const_1_to_2_operand): Ditto.
13452 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
13453 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
13454 (*avx512pf_gatherpf<mode>sf): Ditto.
13455 (avx512pf_gatherpf<mode>df): Ditto.
13456 (*avx512pf_gatherpf<mode>df_mask): Ditto.
13457 (*avx512pf_gatherpf<mode>df): Ditto.
13458 (avx512pf_scatterpf<mode>sf): Ditto.
13459 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
13460 (*avx512pf_scatterpf<mode>sf): Ditto.
13461 (avx512pf_scatterpf<mode>df): Ditto.
13462 (*avx512pf_scatterpf<mode>df_mask): Ditto.
13463 (*avx512pf_scatterpf<mode>df): Ditto.
13464 (avx512f_expand<mode>): Removed.
13465 (<shift_insn><mode>3<mask_name>): Change predicate type.
13466
8fcbce72
JJ
134672014-02-08 Jakub Jelinek <jakub@redhat.com>
13468
41475e96
JJ
13469 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
13470 not at the end of datarefs vector use ordered_remove to avoid
13471 reordering datarefs vector.
13472
c74559df
JJ
13473 PR c/59984
13474 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
13475 mark local addressable non-static vars as GOVD_PRIVATE
13476 instead of GOVD_LOCAL.
13477 * omp-low.c (lower_omp_for): Move gimple_bind_vars
13478 and BLOCK_VARS of gimple_bind_block to new_stmt rather
13479 than copying them.
13480
8fcbce72
JJ
13481 PR middle-end/60092
13482 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
13483 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
13484 assume_aligned or alloc_align attributes.
13485 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
13486 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
13487 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
13488 calls to functions with assume_aligned or alloc_align attributes.
13489 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 13490
451bdd23
TG
134912014-02-08 Terry Guo <terry.guo@arm.com>
13492
13493 * doc/invoke.texi: Document ARM -march=armv7e-m.
13494
d31d42c7
JJ
134952014-02-08 Jakub Jelinek <jakub@redhat.com>
13496
d71dfeb7
JJ
13497 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
13498 flag on __cilkrts_rethrow builtin.
13499
d31d42c7
JJ
13500 PR ipa/60026
13501 * ipa-cp.c (determine_versionability): Fail at -O0
13502 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
13503 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
13504
13505 Revert:
13506 2014-02-04 Jakub Jelinek <jakub@redhat.com>
13507
13508 PR ipa/60026
13509 * tree-inline.c (copy_forbidden): Fail for
13510 __attribute__((optimize (0))) functions.
13511
a0a98fef
JH
135122014-02-07 Jan Hubicka <hubicka@ucw.cz>
13513
13514 * varpool.c: Include pointer-set.h.
13515 (varpool_remove_unreferenced_decls): Variables in other partitions
13516 will not be output; be however careful to not lose information
13517 about partitioning.
13518
8c311b50
JH
135192014-02-07 Jan Hubicka <hubicka@ucw.cz>
13520
13521 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
13522 lookup in the vtable constructor.
13523
7ba03e5e
JL
135242014-02-07 Jeff Law <law@redhat.com>
13525
63e6247d
JL
13526 PR target/40977
13527 * config/m68k/m68k.md (ashldi_extsi): Turn into a
13528 define_insn_and_split.
13529
7ba03e5e
JL
13530 * ipa-inline.c (inline_small_functions): Fix typos.
13531
177bc204
RS
135322014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13533
13534 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
13535 (s390_can_use_return_insn): Declare.
13536 * config/s390/s390.h (EPILOGUE_USES): Define.
13537 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
13538 instructions.
13539 (s390_chunkify_start): Handle return JUMP_LABELs.
13540 (s390_early_mach): Emit a main_pool instruction on the entry edge.
13541 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
13542 (s390_can_use_return_insn): New functions.
13543 (s390_fix_long_loop_prediction): Handle conditional returns.
13544 (TARGET_SET_UP_BY_PROLOGUE): Define.
13545 * config/s390/s390.md (ANY_RETURN): New code iterator.
13546 (*creturn, *csimple_return, return, simple_return): New patterns.
13547
0621cf3c
RS
135482014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13549
13550 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
13551 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
13552 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
13553 REG_CFA_RESTORE list when deciding not to restore a register.
13554
4099494d
RS
135552014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13556
13557 * config/s390/s390.c: Include tree-pass.h and context.h.
13558 (s390_early_mach): New function, split out from...
13559 (s390_emit_prologue): ...here.
13560 (pass_data_s390_early_mach): New pass structure.
13561 (pass_s390_early_mach): New class.
13562 (s390_option_override): Create and register early_mach pass.
13563 Move to end of file.
13564
3489cc33
RS
135652014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13566
13567 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
13568 to match for the exit block.
13569
75cc21e2
AK
135702014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13571
13572 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
13573 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
13574 Reject misaligned operands.
13575
8bd7070a
AK
135762014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13577
1287ae50 13578 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 13579
831806cb
RB
135802014-02-07 Richard Biener <rguenther@suse.de>
13581
13582 PR middle-end/60092
13583 * gimple-low.c (lower_builtin_posix_memalign): New function.
13584 (lower_stmt): Call it to lower posix_memalign in a way
13585 to make alignment info accessible.
13586
7ee9c16f
JJ
135872014-02-07 Jakub Jelinek <jakub@redhat.com>
13588
13589 PR c++/60082
13590 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
13591 __builtin_setjmp_receiver.
13592
32cab212
RB
135932014-02-07 Richard Biener <rguenther@suse.de>
13594
13595 PR middle-end/60092
13596 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
13597 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
13598 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
13599 Handle BUILT_IN_POSIX_MEMALIGN.
13600 (find_func_clobbers): Likewise.
13601 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
13602 (call_may_clobber_ref_p_1): Likewise.
13603
6d6af792
JH
136042014-02-06 Jan Hubicka <hubicka@ucw.cz>
13605
13606 PR ipa/59918
1287ae50
UB
13607 * ipa-devirt.c (record_target_from_binfo): Remove overactive
13608 sanity check.
6d6af792 13609
3c0f1105
JH
136102014-02-06 Jan Hubicka <hubicka@ucw.cz>
13611
13612 PR ipa/59469
13613 * lto-cgraph.c (lto_output_node): Use
13614 symtab_get_symbol_partitioning_class.
13615 (lto_output_varpool_node): likewise.
13616 (symtab_get_symbol_partitioning_class): Move here from
13617 lto/lto-partition.c
13618 * cgraph.h (symbol_partitioning_class): Likewise.
13619 (symtab_get_symbol_partitioning_class): Declare.
13620
b3bb0eb9
JH
136212014-02-06 Jan Hubicka <hubicka@ucw.cz>
13622
13623 * ggc.h (ggc_internal_cleared_alloc): New macro.
13624 * vec.h (vec_safe_copy): Handle memory stats.
13625 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
13626 * target-globals.c (save_target_globals): Likewise.
13627
136282014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
13629
13630 PR target/60077
13631 * expr.c (emit_move_resolve_push): Export; be bit more selective
13632 on when to clear alias set.
13633 * expr.h (emit_move_resolve_push): Declare.
13634 * function.h (struct function): Add tail_call_marked.
13635 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
13636 * config/i386/i386-protos.h (ix86_expand_push): Remove.
13637 * config/i386/i386.md (TImode move expander): De not call
13638 ix86_expand_push.
13639 (FP push expanders): Preserve memory attributes.
13640 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 13641 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
13642 (ix86_expand_push): Remove.
13643 * config/i386/mmx.md (push<mode>1): Remove.
13644
47d552eb
JJ
136452014-02-06 Jakub Jelinek <jakub@redhat.com>
13646
13647 PR rtl-optimization/60030
13648 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
13649 lopart with paradoxical subreg before shifting it up by hprec.
13650
45c75ea7
KT
136512014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13652
13653 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
13654 Remove extra newline at end of file.
13655 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
13656 (arm_issue_rate): Handle cortexa57.
13657 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
13658 (cortex-a57.cortex-a53): Likewise.
13659
af116cae
JJ
136602014-02-06 Jakub Jelinek <jakub@redhat.com>
13661
652a3e3a
JJ
13662 PR target/59575
13663 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
13664 don't record in REG_FRAME_RELATED_EXPR registers not set in that
13665 bitmask.
13666 (arm_expand_prologue): Adjust all callers.
13667 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
13668 info, registers also at the lowest numbered registers side. Use
13669 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
13670 XEXP.
13671
af116cae 13672 PR debug/59992
1287ae50
UB
13673 * var-tracking.c (adjust_mems): Before adding a SET to
13674 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 13675
fdcee33b
AM
136762014-02-06 Alan Modra <amodra@gmail.com>
13677
13678 PR target/60032
13679 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
13680 change SDmode to DDmode when lra_in_progress.
13681
251901a0
JJ
136822014-02-06 Jakub Jelinek <jakub@redhat.com>
13683
d3ef8c53
JJ
13684 PR middle-end/59150
13685 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
13686 free_data_ref on the dr first, and before goto again also set dr
13687 to the next dr. For simd_lane_access, free old datarefs[i] before
13688 overwriting it. For get_vectype_for_scalar_type failure, don't
13689 free_data_ref if simd_lane_access.
13690
2754b38f
JJ
13691 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
13692
251901a0
JJ
13693 PR target/60062
13694 * tree.h (opts_for_fn): New inline function.
13695 (opt_for_fn): Define.
13696 * config/i386/i386.c (ix86_function_regparm): Use
13697 opt_for_fn (decl, optimize) instead of optimize.
13698
4a985a37
MS
136992014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
13700
13701 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
13702 for SYMBOL_REF in large memory model.
13703
c366d38c
KT
137042014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13705
13706 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
13707 and crypto support.
13708 (cortex-a57): Likewise.
13709 (cortex-a57.cortex-a53): Likewise.
13710
c801e246
YG
137112014-02-06 Yury Gribov <y.gribov@samsung.com>
13712 Kugan Vivekanandarajah <kuganv@linaro.org>
13713
13714 * config/arm/arm.c (arm_vector_alignment_reachable): Check
13715 unaligned_access.
13716 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
13717
d50f7b84
RB
137182014-02-06 Richard Biener <rguenther@suse.de>
13719
13720 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
13721 set_loop_copy and initialize_original_copy_tables.
13722
179d2941
AV
137232014-02-06 Alex Velenko <Alex.Velenko@arm.com>
13724
13725 * config/aarch64/aarch64-simd.md
13726 (aarch64_ashr_simddi): Change QI to SI.
13727
78b1469d
JH
137282014-02-05 Jan Hubicka <hubicka@ucw.cz>
13729 Jakub Jelinek <jakub@redhat.com>
13730
13731 PR middle-end/60013
13732 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
13733 of the dataflow.
13734
d85f364c
BS
137352014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13736
13737 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
13738 CODE_FOR_altivec_vpku[hw]um to
13739 CODE_FOR_altivec_vpku[hw]um_direct.
13740 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
13741 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
13742 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
13743 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
13744
7b1cd427
BS
137452014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13746
13747 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
13748 generation for -maltivec=be.
13749 (altivec_vsumsws): Simplify redundant test.
13750
52a93551
BS
137512014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13752
13753 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
13754 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
13755 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
13756 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
13757 gen_altivec_vpkuwum.
13758 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
13759 BYTES_BIG_ENDIAN.
13760 (altivec_vpks<VI_char>ss): Likewise.
13761 (altivec_vpks<VI_char>us): Likewise.
13762 (altivec_vpku<VI_char>us): Likewise.
13763 (altivec_vpku<VI_char>um): Likewise.
13764 (altivec_vpku<VI_char>um_direct): New (copy of
13765 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
13766 internal use).
13767 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
13768 target is little endian and -maltivec=be is not specified.
13769 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 13770 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
13771 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
13772 target is little endian and -maltivec=be is not specified.
13773 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 13774 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
13775 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
13776 little endian and -maltivec=be is not specified.
13777 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
13778 little endian and -maltivec=be is not specified.
13779
004a7e45 137802014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
13781
13782 PR debug/52727
13783 * combine-stack-adj.c: Revert r206943.
13784 * sched-int.h (struct deps_desc): Add last_args_size.
13785 * sched-deps.c (init_deps): Initialize it.
13786 (sched_analyze_insn): Add OUTPUT dependencies between insns that
13787 contain REG_ARGS_SIZE notes.
13788
f300e7b8
JH
137892014-02-05 Jan Hubicka <hubicka@ucw.cz>
13790
13791 * lto-cgraph.c (asm_nodes_output): Make global.
13792 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 13793 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
13794 (driver_handle_option): Handle OPT_fwpa.
13795
609524d2
JJ
137962014-02-05 Jakub Jelinek <jakub@redhat.com>
13797
add5c763
JJ
13798 PR ipa/59947
13799 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
13800 a comment typo and formatting issue. If odr_hash hasn't been
13801 created, return vNULL and set *completep to false.
13802
609524d2
JJ
13803 PR middle-end/57499
13804 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
13805 bb with no successors.
13806
05ab6e21
JG
138072014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
13808
13809 PR target/59718
13810 * doc/invoke.texi (-march): Clarify documentation for ARM.
13811 (-mtune): Likewise.
13812 (-mcpu): Likewise.
13813
d55d9ed0
RB
138142014-02-05 Richard Biener <rguenther@suse.de>
13815
13816 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
13817 when not vectorizing because of too many alias checks.
13818 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
13819 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
13820
c70da878
NC
138212014-02-05 Nick Clifton <nickc@redhat.com>
13822
13823 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 13824 accept extended registers in any mode when compiling for the MN10300.
c70da878 13825
25a07c7e
YG
138262014-02-05 Yury Gribov <y.gribov@samsung.com>
13827
13828 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
13829 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
13830 sanitization attributes.
13831 (can_inline_edge_p): Likewise.
13832 (sanitize_attrs_match_for_inline_p): New function.
13833
4bf2a588
JH
138342014-02-04 Jan Hubicka <hubicka@ucw.cz>
13835
13836 * ipa-prop.c (detect_type_change): Shor circuit testing of
13837 type changes on THIS pointer.
13838
d92f4df0
JDA
138392014-02-04 John David Anglin <danglin@gcc.gnu.org>
13840
13841 PR target/59777
13842 * config/pa/pa.c (legitimize_tls_address): Return original address
13843 if not passed a SYMBOL_REF rtx.
13844 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
13845 addresses.
13846 (pa_emit_move_sequence): Simplify TLS source operands.
13847 (pa_legitimate_constant_p): Reject all TLS constants.
13848 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
13849 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
13850
d665f8dd
JH
138512014-02-04 Jan Hubicka <hubicka@ucw.cz>
13852
13853 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
13854 groups when we know they are controlled by LTO.
13855 * varasm.c (default_binds_local_p_1): If object is in other partition,
13856 it will be resolved locally.
13857
6a071860
BE
138582014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
13859
e2fc3b4f 13860 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 13861 use SSIZE_MAX because it is not always defined.
6a071860 13862
8e9d68a9
VM
138632014-02-04 Vladimir Makarov <vmakarov@redhat.com>
13864
13865 PR bootstrap/59913
13866 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
13867 threshold for pseudo splitting.
13868 (update_ebb_live_info): Process call argument hard registers and
13869 hard registers from insn definition too.
13870 (max_small_class_regs_num): New constant.
13871 (inherit_in_ebb): Update live hard regs through EBBs. Update
13872 reloads_num only for small register classes. Don't split for
13873 outputs of jumps.
13874
8472fa80
MT
138752014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
13876
13877 PR ipa/60058
13878 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
13879 is non-null.
13880
df98e37f
JH
138812014-02-04 Jan Hubicka <hubicka@ucw.cz>
13882
1287ae50
UB
13883 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
13884 visibility is safe.
df98e37f 13885
71e55f04
MP
138862014-02-04 Marek Polacek <polacek@redhat.com>
13887
13888 * gdbinit.in (pel): Define.
13889
229e56f9
BE
138902014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
13891
13892 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
13893 behavior.
13894
c39276b8
RB
138952014-02-04 Richard Biener <rguenther@suse.de>
13896
13897 PR lto/59723
13898 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
13899 in function context local.
13900 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
13901 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
13902 similar to LTO_imported_decl_ref.
13903
66b3ed5f
JJ
139042014-02-04 Jakub Jelinek <jakub@redhat.com>
13905
029ce7a2
JJ
13906 PR tree-optimization/60002
13907 * cgraphclones.c (build_function_decl_skip_args): Clear
13908 DECL_LANG_SPECIFIC.
13909
8e91d222
JJ
13910 PR tree-optimization/60023
13911 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
13912 false to gsi_replace.
13913 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
13914 has been in some EH region and vec_stmt could throw, add
13915 vec_stmt into the same EH region.
13916 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
13917 has no lhs, ignore it.
13918 * internal-fn.c (expand_MASK_LOAD): Likewise.
13919
eb259c4a
JJ
13920 PR ipa/60026
13921 * tree-inline.c (copy_forbidden): Fail for
13922 __attribute__((optimize (0))) functions.
13923
92d05580
JJ
13924 PR other/58712
13925 * omp-low.c (simd_clone_struct_copy): If from->inbranch
13926 is set, copy one less argument.
30540e79
JJ
13927 (expand_simd_clones): Don't subtract clone_info->inbranch
13928 from simd_clone_struct_alloc argument.
92d05580 13929
be3afd67
JJ
13930 PR rtl-optimization/57915
13931 * recog.c (simplify_while_replacing): If all unary/binary/relational
13932 operation arguments are constant, attempt to simplify those.
13933
66b3ed5f
JJ
13934 PR middle-end/59261
13935 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
13936 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
13937
5961d779
RB
139382014-02-04 Richard Biener <rguenther@suse.de>
13939
13940 PR tree-optimization/60012
13941 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
13942 TBAA disambiguation to all DDRs.
13943
91da0481
RO
139442014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13945
13946 PR target/59788
13947 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
13948 (LINK_SPEC): Use it for -shared, -shared-libgcc.
13949
39960d1c
JH
139502014-02-03 Jan Hubicka <hubicka@ucw.cz>
13951
13952 PR ipa/59882
13953 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
13954
139552014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
13956
13957 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
13958 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
13959
39960d1c 139602014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
13961
13962 PR ipa/59831
13963 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
13964 to figure out targets of polymorphic calls with known decl.
13965 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
13966 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
13967 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
13968 (get_polymorphic_call_info): ... here.
13969 (get_polymorphic_call_info_from_invariant): New function.
13970
39960d1c 139712014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
13972
13973 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
13974 lookup via vtable pointer; check for type consistency
13975 and turn inconsitent facts into UNREACHABLE.
13976 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
13977 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
13978 type inconsistent querries; return UNREACHABLE instead.
9de2f554 13979
ade3ff24
RH
139802014-02-03 Richard Henderson <rth@twiddle.net>
13981
13982 PR tree-opt/59924
13983 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
13984 already processed this node.
13985 (normalize_one_pred_1): Pass along mark_set.
13986 (normalize_one_pred): Create and destroy a pointer_set_t.
13987 (normalize_one_pred_chain): Likewise.
13988
55428cc3
LA
139892014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
13990
13991 PR gcov-profile/58602
1287ae50 13992 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 13993
85942f45
JH
139942014-02-03 Jan Hubicka <hubicka@ucw.cz>
13995
13996 PR ipa/59831
1287ae50
UB
13997 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
13998 -fno-devirtualize; try to devirtualize by the knowledge of
13999 virtual table pointer given by aggregate propagation.
85942f45 14000 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 14001 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
14002 is relevant for polymorphic calls.
14003 (determine_known_aggregate_parts): Add arg_type parameter; use it
14004 instead of determining the type from pointer type.
14005 (ipa_compute_jump_functions_for_edge): Update call of
14006 determine_known_aggregate_parts.
14007 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
14008 (gimple_get_virt_method_for_binfo): ... here; simplify using
14009 vtable_pointer_value_to_vtable.
14010 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
14011 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 14012 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
14013 (vtable_pointer_value_to_vtable): Break out from ...; handle also
14014 POINTER_PLUS_EXPR.
14015 (vtable_pointer_value_to_binfo): ... here.
14016 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
14017
bddc974e
TJ
140182014-02-03 Teresa Johnson <tejohnson@google.com>
14019
14020 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
14021 redef of outer loop index variable.
14022
5d77fb19
MG
140232014-02-03 Marc Glisse <marc.glisse@inria.fr>
14024
14025 PR c++/53017
14026 PR c++/59211
14027 * doc/extend.texi (Function Attributes): Typo.
14028
cf5b2be2
CH
140292014-02-03 Cong Hou <congh@google.com>
14030
14031 PR tree-optimization/60000
14032 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
14033 if the vectorized statement is a store. A store statement can only
14034 appear at the end of pattern statements.
14035
a2a1ddb5
L
140362014-02-03 H.J. Lu <hongjiu.lu@intel.com>
14037
14038 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
14039 (ix86_option_override_internal): Default long double to 64-bit for
14040 32-bit Bionic and to 128-bit for 64-bit Bionic.
14041
14042 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
14043 TARGET_LONG_DOUBLE_128 is true.
14044 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
14045
14046 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
14047 (mlong-double-64): Negate -mlong-double-128.
14048 (mlong-double-128): New option.
14049
14050 * config/i386/i386-c.c (ix86_target_macros): Define
14051 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
14052
14053 * doc/invoke.texi: Document -mlong-double-128.
14054
f742cf90
L
140552014-02-03 H.J. Lu <hongjiu.lu@intel.com>
14056
14057 PR rtl-optimization/60024
14058 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
14059
8f36fd30
MT
140602014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
14061
1287ae50 14062 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 14063
861ec4f3
AB
140642014-02-03 Andrey Belevantsev <abel@ispras.ru>
14065
14066 PR rtl-optimization/57662
14067 * sel-sched.c (code_motion_path_driver): Do not mark already not
14068 existing blocks in the visiting bitmap.
14069
fe08255d
AB
140702014-02-03 Andrey Belevantsev <abel@ispras.ru>
14071
14072 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
14073 on the insn being emitted.
14074
96d3a240
JG
140752014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
14076 Will Deacon <will.deacon@arm.com>
14077
14078 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
14079
9dd6c9f7
KT
140802014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14081
14082 * config/arm/arm-tables.opt: Regenerate.
14083
60331d00
BS
140842014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14085
14086 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
14087 for vector types other than V16QImode.
14088 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
14089 define_expand, and call altivec_expand_vec_perm_le when producing
14090 code with little endian element order.
14091 (*altivec_vperm_<mode>_internal): New insn having previous
14092 behavior of altivec_vperm_<mode>.
14093 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
14094 altivec_expand_vec_perm_le when producing code with little endian
14095 element order.
14096 (*altivec_vperm_<mode>_uns_internal): New insn having previous
14097 behavior of altivec_vperm_<mode>_uns.
14098
b80afde9
BS
140992014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14100
14101 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
14102 (altivec_vsumsws): Add handling for -maltivec=be with a little
14103 endian target.
14104 (altivec_vsumsws_direct): New.
14105 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
14106 gen_altivec_vsumsws.
14107
39960d1c 141082014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
14109
14110 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
14111 vtable_pointer_value_to_binfo): New functions.
14112 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
14113 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
14114
02b67731
SL
141152014-02-02 Sandra Loosemore <sandra@codesourcery.com>
14116
14117 * config/nios2/nios2.md (load_got_register): Initialize GOT
14118 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
14119 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
14120
2ace77c2
JH
141212014-02-02 Jan Hubicka <hubicka@ucw.cz>
14122
14123 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
14124 preserverd by passthrough, do not propagate the type.
14125
70b2d364
RS
141262014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
14127
14128 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
14129 (mips_atomic_assign_expand_fenv): New function.
14130 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
14131
a90c0245
RS
141322014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
14133
14134 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
14135 (__builtin_mips_set_fcsr): Likewise.
14136 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
14137 MIPS_USI_FTYPE_VOID.
14138 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
14139 (mips16_expand_set_fcsr): Likewise.
14140 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
14141 (mips16_set_fcsr_stub): Likewise.
14142 (mips16_get_fcsr_one_only_stub): New class.
14143 (mips16_set_fcsr_one_only_stub): Likewise.
14144 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
14145 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
14146 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
14147 (hard_float): New availability predicate.
14148 (mips_builtins): Add get_fcsr and set_fcsr.
14149 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
14150 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
14151 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
14152 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
14153 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
14154 patterns.
14155
6d51cc90
RS
141562014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
14157
14158 * config/mips/mips.c (mips_one_only_stub): New class.
14159 (mips_need_mips16_rdhwr_p): Replace with...
14160 (mips16_rdhwr_stub): ...this new variable.
14161 (mips16_stub_call_address): New function.
14162 (mips16_rdhwr_one_only_stub): New class.
14163 (mips_expand_thread_pointer): Use mips16_stub_call_address.
14164 (mips_output_mips16_rdhwr): Delete.
14165 (mips_finish_stub): New function.
14166 (mips_code_end): Use it to handle rdhwr stubs.
14167
6c90f137
UB
141682014-02-02 Uros Bizjak <ubizjak@gmail.com>
14169
14170 PR target/60017
14171 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
14172 when calculating size of integer atomic types.
14173
5e64bbbb
L
141742014-02-02 H.J. Lu <hongjiu.lu@intel.com>
14175
14176 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
14177
021293cb
JJ
141782014-02-01 Jakub Jelinek <jakub@redhat.com>
14179
14180 PR tree-optimization/60003
14181 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
14182 * profile.c (branch_prob): Use gimple_call_builtin_p
14183 to check for BUILT_IN_SETJMP_RECEIVER.
14184 * tree-inline.c (copy_bb): Call notice_special_calls.
14185
6334f3e9
VM
141862014-01-31 Vladimir Makarov <vmakarov@redhat.com>
14187
14188 PR bootstrap/59985
14189 * lra-constraints.c (process_alt_operands): Update reload_sum only
14190 on the first pass.
14191
efa7882f
RH
141922014-01-31 Richard Henderson <rth@redhat.com>
14193
14194 PR middle-end/60004
14195 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
14196 until after else_eh is processed.
14197
de72ea02
IT
141982014-01-31 Ilya Tocar <ilya.tocar@intel.com>
14199
14200 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
14201 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
14202 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
14203 in smmintrin.h, remove them.
14204 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
14205 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
14206 * config/i386/i386.md (ROUND_SAE): Fix value.
14207 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
14208 (const48_operand): New.
14209 * config/i386/subst.md (round), (round_expand): Use
14210 const_4_or_8_to_11_operand.
14211 (round_saeonly), (round_saeonly_expand): Use const48_operand.
14212
be792bce
IT
142132014-01-31 Ilya Tocar <ilya.tocar@intel.com>
14214
14215 * config/i386/constraints.md (Yk): Swap meaning with k.
14216 * config/i386/i386.md (movhi_internal): Change Yk to k.
14217 (movqi_internal): Ditto.
14218 (*k<logic><mode>): Ditto.
14219 (*andhi_1): Ditto.
14220 (*andqi_1): Ditto.
14221 (kandn<mode>): Ditto.
14222 (*<code>hi_1): Ditto.
14223 (*<code>qi_1): Ditto.
14224 (kxnor<mode>): Ditto.
14225 (kortestzhi): Ditto.
14226 (kortestchi): Ditto.
14227 (kunpckhi): Ditto.
14228 (*one_cmplhi2_1): Ditto.
14229 (*one_cmplqi2_1): Ditto.
14230 * config/i386/sse.md (): Change k to Yk.
14231 (avx512f_load<mode>_mask): Ditto.
14232 (avx512f_blendm<mode>): Ditto.
14233 (avx512f_store<mode>_mask): Ditto.
14234 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
14235 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
14236 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
14237 Ditto.
be792bce
IT
14238 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
14239 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
14240 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
14241 (avx512f_maskcmp<mode>3): Ditto.
14242 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
14243 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
14244 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
14245 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
14246 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
14247 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
14248 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
14249 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
14250 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
14251 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
14252 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
14253 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
14254 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
14255 (vec_extract_lo_<mode>_maskm): Ditto.
14256 (vec_extract_hi_<mode>_maskm): Ditto.
14257 (avx512f_vternlog<mode>_mask): Ditto.
14258 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
14259 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
14260 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
14261 (avx512f_<code>v8div16qi2_mask): Ditto.
14262 (avx512f_<code>v8div16qi2_mask_store): Ditto.
14263 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
14264 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
14265 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
14266 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
14267 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
14268 (*avx512pf_gatherpf<mode>df_mask): Ditto.
14269 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
14270 (*avx512pf_scatterpf<mode>df_mask): Ditto.
14271 (avx512cd_maskb_vec_dupv8di): Ditto.
14272 (avx512cd_maskw_vec_dupv16si): Ditto.
14273 (avx512f_vpermi2var<mode>3_maskz): Ditto.
14274 (avx512f_vpermi2var<mode>3_mask): Ditto.
14275 (avx512f_vpermi2var<mode>3_mask): Ditto.
14276 (avx512f_vpermt2var<mode>3_maskz): Ditto.
14277 (*avx512f_gathersi<mode>): Ditto.
14278 (*avx512f_gathersi<mode>_2): Ditto.
14279 (*avx512f_gatherdi<mode>): Ditto.
14280 (*avx512f_gatherdi<mode>_2): Ditto.
14281 (*avx512f_scattersi<mode>): Ditto.
14282 (*avx512f_scatterdi<mode>): Ditto.
14283 (avx512f_compress<mode>_mask): Ditto.
14284 (avx512f_compressstore<mode>_mask): Ditto.
14285 (avx512f_expand<mode>_mask): Ditto.
14286 * config/i386/subst.md (mask): Change k to Yk.
14287 (mask_scalar_merge): Ditto.
14288 (sd): Ditto.
14289
0878d68a
MG
142902014-01-31 Marc Glisse <marc.glisse@inria.fr>
14291
14292 * doc/extend.texi (Vector Extensions): Document ?: in C++.
14293
fdfd537b
RB
142942014-01-31 Richard Biener <rguenther@suse.de>
14295
14296 PR middle-end/59990
14297 * builtins.c (fold_builtin_memory_op): Make sure to not
14298 use a floating-point mode or a boolean or enumeral type for
14299 the copy operation.
14300
4f50b9ff
DD
143012014-01-30 DJ Delorie <dj@redhat.com>
14302
14303 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
14304 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
14305 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
14306 whenever main() has an epilogue.
14307
c3e96073
BS
143082014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14309
14310 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
14311 unused variable "field".
14312 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
14313 (vsx_mergeh_<mode>): Likewise.
14314 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
14315 (altivec_vmrghh): Likewise.
14316 (altivec_vmrghw): Likewise.
14317 (altivec_vmrglb): Likewise.
14318 (altivec_vmrglh): Likewise.
14319 (altivec_vmrglw): Likewise.
14320 (altivec_vspltb): Add missing uses.
14321 (altivec_vsplth): Likewise.
14322 (altivec_vspltw): Likewise.
14323 (altivec_vspltsf): Likewise.
14324
4bb9c32d
JJ
143252014-01-30 Jakub Jelinek <jakub@redhat.com>
14326
14327 PR target/59923
14328 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
14329 frame related instructions.
14330
7613fa50
VM
143312014-01-30 Vladimir Makarov <vmakarov@redhat.com>
14332
14333 PR rtl-optimization/59959
14334 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
14335 any reload of register whose subreg is invalid.
14336
6fb82517
JJ
143372014-01-30 Jakub Jelinek <jakub@redhat.com>
14338
33425d6c 14339 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
14340 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
14341 Add missing return type - void.
14342
bf53d4b8
BS
143432014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14344
14345 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
14346 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
14347 remove element index adjustment for endian (now handled in vsx.md
14348 and altivec.md).
14349 (altivec_expand_vec_perm_const): Use
14350 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
14351 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
14352 (vsx_xxspltw_<mode>): Adjust element index for little endian.
14353 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
14354 define_expand and a new define_insn *altivec_vspltb_internal;
14355 adjust for -maltivec=be on a little endian target.
14356 (altivec_vspltb_direct): New.
14357 (altivec_vsplth): Divide into a define_expand and a new
14358 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
14359 little endian target.
14360 (altivec_vsplth_direct): New.
14361 (altivec_vspltw): Divide into a define_expand and a new
14362 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
14363 little endian target.
14364 (altivec_vspltw_direct): New.
14365 (altivec_vspltsf): Divide into a define_expand and a new
14366 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
14367 a little endian target.
14368
c965e187
RB
143692014-01-30 Richard Biener <rguenther@suse.de>
14370
14371 PR tree-optimization/59993
14372 * tree-ssa-forwprop.c (associate_pointerplus): Check we
14373 can propagate form the earlier stmt and avoid the transform
14374 when the intermediate result is needed.
14375
ba117645
AD
143762014-01-30 Alangi Derick <alangiderick@gmail.com>
14377
14378 * README.Portability: Fix typo.
14379
4bb66ef3 143802014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
14381
14382 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
14383 comparison_operator with ordered_comparison_operator.
14384
c345a0b1
NC
143852014-01-30 Nick Clifton <nickc@redhat.com>
14386
14387 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
14388 Rename to mn10300_store_multiple_regs.
14389 * config/mn10300/mn10300.c: Likewise.
14390 * config/mn10300/mn10300.md (store_movm): Fix typo: call
14391 store_multiple_regs.
14392 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
14393 Call mn10300_store_multiple_regs.
14394
2d70f6d4
NC
143952014-01-30 Nick Clifton <nickc@redhat.com>
14396 DJ Delorie <dj@redhat.com>
14397
14398 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
14399 %fp 2 to keep registers after it properly word-aligned.
14400 (rl78_alloc_physical_registers_umul): Handle the case where both
14401 input operands are the same.
14402
c972624e
RB
144032014-01-30 Richard Biener <rguenther@suse.de>
14404
14405 PR tree-optimization/59903
14406 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
14407 check properly.
14408
fc044323
JM
144092014-01-30 Jason Merrill <jason@redhat.com>
14410
404c2aea
JM
14411 PR c++/59633
14412 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
14413
fc044323
JM
14414 PR c++/59645
14415 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
14416
f30a0ba5
RB
144172014-01-30 Richard Biener <rguenther@suse.de>
14418
14419 PR tree-optimization/59951
33425d6c 14420 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 14421
aad8816f
SZ
144222014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
14423
14424 PR target/59784
14425 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
14426 SFmode to DFmode case.
14427
3b16363e
DD
144282014-01-29 DJ Delorie <dj@redhat.com>
14429
14430 * config/msp430/msp430.opt (-minrt): New.
14431 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
14432 if -minrt given.
14433 (ENDFILE_SPEC): Likewise.
14434
39960d1c 144352014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
14436
14437 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
14438 (estimate_function_body_sizes): Use it.
14439
1200933c
PC
144402014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
14441
14442 PR c++/58561
14443 * dwarf2out.c (is_cxx_auto): New.
14444 (is_base_type): Use it.
14445 (gen_type_die_with_usage): Likewise.
14446
68d3bacf
BS
144472014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14448
14449 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
14450 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
14451 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
14452 -maltivec=be with LE targets.
14453 (vsx_mergeh_<mode>): Likewise.
33425d6c 14454 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
14455 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
14456 (altivec_vmrghb): Replace with define_expand and new
33425d6c 14457 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14458 (altivec_vmrghb_direct): New define_insn.
14459 (altivec_vmrghh): Replace with define_expand and new
33425d6c 14460 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14461 (altivec_vmrghh_direct): New define_insn.
14462 (altivec_vmrghw): Replace with define_expand and new
33425d6c 14463 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14464 (altivec_vmrghw_direct): New define_insn.
14465 (*altivec_vmrghsf): Adjust for endianness.
14466 (altivec_vmrglb): Replace with define_expand and new
33425d6c 14467 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14468 (altivec_vmrglb_direct): New define_insn.
14469 (altivec_vmrglh): Replace with define_expand and new
33425d6c 14470 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14471 (altivec_vmrglh_direct): New define_insn.
14472 (altivec_vmrglw): Replace with define_expand and new
33425d6c 14473 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14474 (altivec_vmrglw_direct): New define_insn.
14475 (*altivec_vmrglsf): Adjust for endianness.
14476 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
14477 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
14478 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
14479 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
14480 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
14481 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
14482 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
14483 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
14484
aef66c94
MS
144852014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
14486
14487 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
14488 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
14489 whitespace.
14490
77574c35
RB
144912014-01-29 Richard Biener <rguenther@suse.de>
14492
14493 PR tree-optimization/58742
14494 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
14495 associate_pointerplus_align.
14496 (associate_pointerplus_diff): New function.
14497 (associate_pointerplus): Likewise. Call associate_pointerplus_align
14498 and associate_pointerplus_diff.
14499
15b25b24
RB
145002014-01-29 Richard Biener <rguenther@suse.de>
14501
14502 * lto-streamer.h (LTO_major_version): Bump to 3.
14503 (LTO_minor_version): Reset to 0.
14504
eb6006ad
RL
145052014-01-29 Renlin Li <Renlin.Li@arm.com>
14506
14507 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
14508 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
14509 (arm_file_start): Generate correct asm header for armv7ve.
14510 * config/arm/bpabi.h: Add multilib support for armv7ve.
14511 * config/arm/driver-arm.c: Change the architectures of cortex-a7
14512 and cortex-a15 to armv7ve.
14513 * config/arm/t-aprofile: Add multilib support for armv7ve.
14514 * doc/invoke.texi: Document -march=armv7ve.
14515
4bfb2fa2
RB
145162014-01-29 Richard Biener <rguenther@suse.de>
14517
14518 PR tree-optimization/58742
14519 * tree-ssa-forwprop.c (associate_plusminus): Return true
14520 if we changed sth, defer EH cleanup to ...
14521 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
14522 (simplify_mult): New function.
14523
42eb8bd1
JJ
145242014-01-29 Jakub Jelinek <jakub@redhat.com>
14525
09b22f48
JJ
14526 PR middle-end/59917
14527 PR tree-optimization/59920
14528 * tree.c (build_common_builtin_nodes): Remove
14529 __builtin_setjmp_dispatcher initialization.
14530 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
14531 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
14532 instead of gsi_after_labels + manually skipping debug stmts.
14533 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
14534 ignore bbs with IFN_ABNORMAL_DISPATCHER.
14535 * tree-inline.c (copy_edges_for_bb): Remove
14536 can_make_abnormal_goto argument, instead add abnormal_goto_dest
14537 argument. Ignore computed_goto_p stmts. Don't call
14538 make_abnormal_goto_edges. If a call might need abnormal edges
14539 for non-local gotos, see if it already has an edge to
14540 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
14541 with true argument, don't do anything then, otherwise add
14542 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
14543 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
14544 caller.
14545 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
14546 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
14547 (lower_stmt): Don't set data->calls_builtin_setjmp.
14548 (lower_builtin_setjmp): Adjust comment.
14549 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
14550 * tree-cfg.c (found_computed_goto): Remove.
14551 (factor_computed_gotos): Remove.
14552 (make_goto_expr_edges): Return bool, true for computed gotos.
14553 Don't call make_abnormal_goto_edges.
14554 (build_gimple_cfg): Don't set found_computed_goto, don't call
14555 factor_computed_gotos.
14556 (computed_goto_p): No longer static.
14557 (make_blocks): Don't set found_computed_goto.
14558 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
14559 (make_edges): If make_goto_expr_edges returns true, push bb
14560 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
14561 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
14562 vector. Record mapping between bbs and OpenMP regions if there
14563 are any, adjust make_gimple_omp_edges caller. Call
14564 handle_abnormal_edges.
14565 (make_abnormal_goto_edges): Remove.
14566 * tree-cfg.h (make_abnormal_goto_edges): Remove.
14567 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
14568 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 14569 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
14570 * internal-fn.def (ABNORMAL_DISPATCHER): New.
14571 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
14572 filling *region also set *region_idx to (*region)->entry->index.
14573
42eb8bd1
JJ
14574 PR other/58712
14575 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
14576 For REGs set ORIGINAL_REGNO.
14577
4a271b7e
BM
145782014-01-29 Bingfeng Mei <bmei@broadcom.com>
14579
33425d6c 14580 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
14581 vec_widen_(s|u)mul_even/odd pair if it is less efficient
14582 than hi/lo pair.
14583
3d54b29d
JJ
145842014-01-29 Jakub Jelinek <jakub@redhat.com>
14585
14586 PR tree-optimization/59594
14587 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
14588 a copy of the datarefs vector rather than the vector itself.
14589
2e5e7103
JM
145902014-01-28 Jason Merrill <jason@redhat.com>
14591
14592 PR c++/53756
14593 * dwarf2out.c (auto_die): New static.
14594 (gen_type_die_with_usage): Handle C++1y 'auto'.
14595 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
14596 on definition.
14597
d5d618b5
L
145982014-01-28 H.J. Lu <hongjiu.lu@intel.com>
14599
14600 PR target/59672
14601 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
14602 (SPEC_X32): Likewise.
14603 (SPEC_64): Likewise.
14604 * config/i386/i386.c (ix86_option_override_internal): Turn off
14605 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
14606 for TARGET_16BIT.
14607 (x86_file_start): Output .code16gcc for TARGET_16BIT.
14608 * config/i386/i386.h (TARGET_16BIT): New macro.
14609 (TARGET_16BIT_P): Likewise.
14610 * config/i386/i386.opt: Add m16.
14611 * doc/invoke.texi: Document -m16.
14612
367c8286
DS
146132014-01-28 Jakub Jelinek <jakub@redhat.com>
14614
14615 PR preprocessor/59935
14616 * input.c (location_get_source_line): Bail out on when line number
33425d6c 14617 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 14618
07ec81f9
RB
146192014-01-28 Richard Biener <rguenther@suse.de>
14620
14621 PR tree-optimization/58742
14622 * tree-ssa-forwprop.c (associate_plusminus): Handle
14623 pointer subtraction of the form (T)(P + A) - (T)P.
14624
5facb998
KT
146252014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14626
14627 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
14628 at const_int_cost.
14629
e04faf24
RB
146302014-01-28 Richard Biener <rguenther@suse.de>
14631
14632 Revert
14633 2014-01-28 Richard Biener <rguenther@suse.de>
14634
14635 PR rtl-optimization/45364
14636 PR rtl-optimization/59890
14637 * var-tracking.c (local_get_addr_clear_given_value): Handle
14638 already cleared slot.
14639 (val_reset): Handle not allocated local_get_addr_cache.
14640 (vt_find_locations): Use post-order on the inverted CFG.
14641
6593260b
RB
146422014-01-28 Richard Biener <rguenther@suse.de>
14643
33425d6c 14644 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 14645
9ec2d2c1
RB
146462014-01-28 Richard Biener <rguenther@suse.de>
14647
14648 PR rtl-optimization/45364
14649 PR rtl-optimization/59890
14650 * var-tracking.c (local_get_addr_clear_given_value): Handle
14651 already cleared slot.
14652 (val_reset): Handle not allocated local_get_addr_cache.
14653 (vt_find_locations): Use post-order on the inverted CFG.
14654
2ceb362d
AM
146552014-01-28 Alan Modra <amodra@gmail.com>
14656
14657 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
14658 * configure.ac <recursive call for build != host>: Define
14659 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
14660 and LD_FOR_BUILD too.
14661 * configure: Regenerate.
14662
0ebe2584
ASJ
146632014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
14664
14665 * config/i386/i386.c (get_builtin_code_for_version): Separate
14666 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
14667 Broadwell from Haswell.
14668
a33fc7fe
SE
146692014-01-27 Steve Ellcey <sellcey@mips.com>
14670
14671 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
14672 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
14673 * config/mips/mips.c (mips_option_override): Change setting
14674 of TARGET_DSP.
14675 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
14676 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
14677 Change from Mask to Var.
a33fc7fe 14678
a99be3c9
JL
146792014-01-27 Jeff Law <law@redhat.com>
14680
14681 * ipa-inline.c (inline_small_functions): Fix typo.
14682
d256b866
IT
146832014-01-27 Ilya Tocar <ilya.tocar@intel.com>
14684
14685 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
14686 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
14687 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
14688 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
14689 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
14690 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
14691 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
14692 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
14693 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
14694 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
14695 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
14696 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
14697 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
14698 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
14699 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
14700 (_mm512_storeu_epi64): Ditto.
14701 (_mm512_cmpge_epi32_mask): Ditto.
14702 (_mm512_cmpge_epu32_mask): Ditto.
14703 (_mm512_cmpge_epi64_mask): Ditto.
14704 (_mm512_cmpge_epu64_mask): Ditto.
14705 (_mm512_cmple_epi32_mask): Ditto.
14706 (_mm512_cmple_epu32_mask): Ditto.
14707 (_mm512_cmple_epi64_mask): Ditto.
14708 (_mm512_cmple_epu64_mask): Ditto.
14709 (_mm512_cmplt_epi32_mask): Ditto.
14710 (_mm512_cmplt_epu32_mask): Ditto.
14711 (_mm512_cmplt_epi64_mask): Ditto.
14712 (_mm512_cmplt_epu64_mask): Ditto.
14713 (_mm512_cmpneq_epi32_mask): Ditto.
14714 (_mm512_cmpneq_epu32_mask): Ditto.
14715 (_mm512_cmpneq_epi64_mask): Ditto.
14716 (_mm512_cmpneq_epu64_mask): Ditto.
14717 (_mm512_expand_pd): Ditto.
14718 (_mm512_expand_ps): Ditto.
14719 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
14720 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
14721 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
14722 * config/i386/i386.c (ix86_builtins): Add
14723 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
14724 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
14725 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
14726 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
14727 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
14728 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
14729 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
14730 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
14731 IX86_BUILTIN_PMOVUSQW512_MEM.
14732 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
14733 __builtin_ia32_pmovsqd512mem_mask,
14734 __builtin_ia32_pmovqd512mem_mask,
14735 __builtin_ia32_pmovusqw512mem_mask,
14736 __builtin_ia32_pmovsqw512mem_mask,
14737 __builtin_ia32_pmovqw512mem_mask,
14738 __builtin_ia32_pmovusdw512mem_mask,
14739 __builtin_ia32_pmovsdw512mem_mask,
14740 __builtin_ia32_pmovdw512mem_mask,
14741 __builtin_ia32_pmovqb512mem_mask,
14742 __builtin_ia32_pmovusqb512mem_mask,
14743 __builtin_ia32_pmovsqb512mem_mask,
14744 __builtin_ia32_pmovusdb512mem_mask,
14745 __builtin_ia32_pmovsdb512mem_mask,
14746 __builtin_ia32_pmovdb512mem_mask.
14747 (bdesc_args): Add __builtin_ia32_expanddf512,
14748 __builtin_ia32_expandsf512.
14749 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
14750 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
14751 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
14752 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
14753 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
14754 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
14755 (avx512f_<code>v8div16qi2_mask_store): This.
14756 (avx512f_expand<mode>): New.
14757
e711dffd
KY
147582014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
14759
1287ae50 14760 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 14761 New.
e711dffd
KY
14762 (_mm512_mask_prefetch_i64gather_pd): Ditto.
14763 (_mm512_prefetch_i32scatter_pd): Ditto.
14764 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
14765 (_mm512_prefetch_i64scatter_pd): Ditto.
14766 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
14767 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
14768 (_mm512_mask_prefetch_i64gather_ps): Ditto.
14769 (_mm512_prefetch_i32scatter_ps): Ditto.
14770 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
14771 (_mm512_prefetch_i64scatter_ps): Ditto.
14772 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
14773 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
14774 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
14775 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
14776 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
14777 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
14778 IX86_BUILTIN_SCATTERPFQPD.
14779 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
14780 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
14781 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
14782 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
14783 __builtin_ia32_scatterpfqps.
14784 (ix86_expand_builtin): Expand new built-ins.
14785 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
14786 fix memory access data type.
14787 (*avx512pf_gatherpf<mode>_mask): Ditto.
14788 (*avx512pf_gatherpf<mode>): Ditto.
14789 (avx512pf_scatterpf<mode>): Ditto.
14790 (*avx512pf_scatterpf<mode>_mask): Ditto.
14791 (*avx512pf_scatterpf<mode>): Ditto.
14792 (GATHER_SCATTER_SF_MEM_MODE): New.
14793 (avx512pf_gatherpf<mode>df): Ditto.
14794 (*avx512pf_gatherpf<mode>df_mask): Ditto.
14795 (*avx512pf_scatterpf<mode>df): Ditto.
14796
904e5ccd
JJ
147972014-01-27 Jakub Jelinek <jakub@redhat.com>
14798
14799 PR bootstrap/59934
14800 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
14801 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
14802 reached.
14803
84e90123
JG
148042014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
14805
14806 * common/config/arm/arm-common.c
14807 (arm_rewrite_mcpu): Handle multiple names.
14808 * config/arm/arm.h
14809 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
14810
c6f6157a
JG
148112014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
14812
14813 * gimple-builder.h (create_gimple_tmp): Delete.
14814
770516c9
CB
148152014-01-27 Christian Bruel <christian.bruel@st.com>
14816
14817 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
14818 words comparisons.
14819
cc5cec10
JDA
148202014-01-26 John David Anglin <danglin@gcc.gnu.org>
14821
5aa3c762
JDA
14822 * config/pa/pa.md (call): Generate indirect long calls to non-local
14823 functions when outputing 32-bit code.
14824 (call_value): Likewise except for special call to buggy powf function.
14825
cc5cec10
JDA
14826 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
14827 portable runtime and PIC indirect calls.
14828 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
14829 and PIC call sequences. Use ldo instead of blr to set return register
14830 in PIC call sequence.
14831
6bb0e248
WL
148322014-01-25 Walter Lee <walt@tilera.com>
14833
14834 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
14835 avoid clobbering a live register.
14836
dab03fe3
WL
148372014-01-25 Walter Lee <walt@tilera.com>
14838
770516c9 14839 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 14840 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 14841 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
14842 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
14843
905c20c1
WL
148442014-01-25 Walter Lee <walt@tilera.com>
14845
14846 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
14847 arguments on even registers.
14848 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
14849 STACK_BOUNDARY.
14850 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
14851 (BIGGEST_ALIGNMENT): Ditto.
14852 (BIGGEST_FIELD_ALIGNMENT): Ditto.
14853
8e90a625
WL
148542014-01-25 Walter Lee <walt@tilera.com>
14855
14856 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
14857 insns before bundling.
0ebe2584 14858 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 14859
450c1ffe
WL
148602014-01-25 Walter Lee <walt@tilera.com>
14861
14862 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
14863 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
14864 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 14865
450c1ffe 148662014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 14867
317a951f
RS
14868 * config/mips/constraints.md (kl): Delete.
14869 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
14870 define expands, using...
14871 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
14872 instructions for MIPS16.
14873 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
14874 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
14875
3abe9053
WL
148762014-01-25 Walter Lee <walt@tilera.com>
14877
0ebe2584 14878 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
14879 (clzdi2): Ditto.
14880 (ffsdi2): Ditto.
14881
b0e0fe41
WL
148822014-01-25 Walter Lee <walt@tilera.com>
14883
14884 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
14885 (TARGET_EXPAND_TO_RTL_HOOK): Define.
14886
2c8798a2
RS
148872014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
14888
14889 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
14890 Handle XOR.
14891
2105be5a
JJ
148922014-01-25 Jakub Jelinek <jakub@redhat.com>
14893
4def6060
JJ
14894 * print-rtl.c (in_call_function_usage): New var.
14895 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
14896 EXPR_LIST mode as mode and not as reg note name.
14897
2105be5a
JJ
14898 PR middle-end/59561
14899 * cfgloopmanip.c (copy_loop_info): If
14900 loop->warned_aggressive_loop_optimizations, make sure
14901 the flag is set in target loop too.
14902
b72271b9
BI
149032014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
14904
14905 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
14906 flag_cilkplus.
14907 * builtins.def: Likewise.
14908 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
14909 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
14910 * ira.c (ira_setup_eliminable_regset): Likewise.
14911 * omp-low.c (gate_expand_omp): Likewise.
14912 (execute_lower_omp): Likewise.
14913 (diagnose_sb_0): Likewise.
14914 (gate_diagnose_omp_blocks): Likewise.
14915 (simd_clone_clauses_extract): Likewise.
14916 (gate): Likewise.
14917
8adcc78b
BS
149182014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14919
14920 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
14921 correction for little endian...
14922 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
14923 here.
14924
3d750496
JL
149252014-01-24 Jeff Law <law@redhat.com>
14926
14927 PR tree-optimization/59919
14928 * tree-vrp.c (find_assert_locations_1): Do not register asserts
14929 for non-returning calls.
14930
1c05df59
JG
149312014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
14932
14933 * common/config/aarch64/aarch64-common.c
14934 (aarch64_rewrite_mcpu): Handle multiple names.
14935 * config/aarch64/aarch64.h
14936 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
14937
317363b4
DS
149382014-01-24 Dodji Seketeli <dodji@redhat.com>
14939
14940 * input.c (add_file_to_cache_tab): Handle the case where fopen
14941 returns NULL.
14942
16370fa7
L
149432014-01-23 H.J. Lu <hongjiu.lu@intel.com>
14944
14945 PR target/59929
14946 * config/i386/i386.md (pushsf splitter): Get stack adjustment
14947 from push operand if code of push isn't PRE_DEC.
14948
b846c948
MM
149492014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
14950
14951 PR target/59909
14952 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14953 -mquad-memory-atomic. Update -mquad-memory documentation to say
14954 it is only used for non-atomic loads/stores.
14955
14956 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
14957 -mquad-memory or -mquad-memory-atomic switches.
14958
14959 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
14960 -mquad-memory-atomic to ISA 2.07 support.
14961
14962 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
14963 to separate support of normal quad word memory operations (ldq, stq)
14964 from the atomic quad word memory operations.
b846c948
MM
14965
14966 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
14967 support to separate non-atomic quad word operations from atomic
14968 quad word operations. Disable non-atomic quad word operations in
14969 little endian mode so that we don't have to swap words after the
14970 load and before the store.
14971 (quad_load_store_p): Add comment about atomic quad word support.
14972 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
14973 options printed with -mdebug=reg.
14974
14975 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
14976 -mquad-memory-atomic as the test for whether we have quad word
14977 atomic instructions.
0ebe2584
ASJ
14978 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
14979 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
14980
14981 * config/rs6000/sync.md (load_lockedti): Insure that the address
14982 is a proper indexed or indirect address for the lqarx instruction.
14983 On little endian systems, swap the hi/lo registers after the lqarx
14984 instruction.
14985 (load_lockedpti): Use indexed_or_indirect_operand predicate to
14986 insure the address is valid for the lqarx instruction.
14987 (store_conditionalti): Insure that the address is a proper indexed
14988 or indirect address for the stqcrx. instruction. On little endian
14989 systems, swap the hi/lo registers before doing the stqcrx.
14990 instruction.
14991 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
14992 insure the address is valid for the stqcrx. instruction.
14993
14994 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
14995 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
14996 type of quad memory support is available.
14997
6e23f296
VM
149982014-01-23 Vladimir Makarov <vmakarov@redhat.com>
14999
15000 PR regression/59915
15001 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
15002 there is a danger of looping.
15003
0a4f04e5
PH
150042014-01-23 Pat Haugen <pthaugen@us.ibm.com>
15005
15006 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
15007 force flag_ira_loop_pressure if set via command line.
15008
f9a4c9a6
AV
150092014-01-23 Alex Velenko <Alex.Velenko@arm.com>
15010
15011 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
15012 (ashr_simd): New builtin handling DI mode.
15013 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
15014 (aarch64_sshr_simddi): New match pattern.
15015 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
15016 (vshrd_n_s64): Likewise.
15017 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
15018
949ad971
NC
150192014-01-23 Nick Clifton <nickc@redhat.com>
15020
15021 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
15022 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
15023 favour of mcu specific scripts.
15024 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
15025 430x multilibs.
15026
d5ecead9
JG
150272014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
15028 Alex Velenko <Alex.Velenko@arm.com>
15029
15030 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
15031 (vaddv_s16): Likewise.
15032 (vaddv_s32): Likewise.
15033 (vaddv_u8): Likewise.
15034 (vaddv_u16): Likewise.
15035 (vaddv_u32): Likewise.
15036 (vaddvq_s8): Likewise.
15037 (vaddvq_s16): Likewise.
15038 (vaddvq_s32): Likewise.
15039 (vaddvq_s64): Likewise.
15040 (vaddvq_u8): Likewise.
15041 (vaddvq_u16): Likewise.
15042 (vaddvq_u32): Likewise.
15043 (vaddvq_u64): Likewise.
15044 (vaddv_f32): Likewise.
15045 (vaddvq_f32): Likewise.
15046 (vaddvq_f64): Likewise.
15047 (vmaxv_f32): Likewise.
15048 (vmaxv_s8): Likewise.
15049 (vmaxv_s16): Likewise.
15050 (vmaxv_s32): Likewise.
15051 (vmaxv_u8): Likewise.
15052 (vmaxv_u16): Likewise.
15053 (vmaxv_u32): Likewise.
15054 (vmaxvq_f32): Likewise.
15055 (vmaxvq_f64): Likewise.
15056 (vmaxvq_s8): Likewise.
15057 (vmaxvq_s16): Likewise.
15058 (vmaxvq_s32): Likewise.
15059 (vmaxvq_u8): Likewise.
15060 (vmaxvq_u16): Likewise.
15061 (vmaxvq_u32): Likewise.
15062 (vmaxnmv_f32): Likewise.
15063 (vmaxnmvq_f32): Likewise.
15064 (vmaxnmvq_f64): Likewise.
15065 (vminv_f32): Likewise.
15066 (vminv_s8): Likewise.
15067 (vminv_s16): Likewise.
15068 (vminv_s32): Likewise.
15069 (vminv_u8): Likewise.
15070 (vminv_u16): Likewise.
15071 (vminv_u32): Likewise.
15072 (vminvq_f32): Likewise.
15073 (vminvq_f64): Likewise.
15074 (vminvq_s8): Likewise.
15075 (vminvq_s16): Likewise.
15076 (vminvq_s32): Likewise.
15077 (vminvq_u8): Likewise.
15078 (vminvq_u16): Likewise.
15079 (vminvq_u32): Likewise.
15080 (vminnmv_f32): Likewise.
15081 (vminnmvq_f32): Likewise.
15082 (vminnmvq_f64): Likewise.
15083
1dd055a2
JG
150842014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
15085
15086 * config/aarch64/aarch64-simd.md
15087 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
15088 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
15089 (*aarch64_mul3_elt<mode>): Likewise.
15090 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
15091 (*aarch64_mul3_elt_to_64v2df): Likewise.
15092 (*aarch64_mla_elt<mode>): Likewise.
15093 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
15094 (*aarch64_mls_elt<mode>): Likewise.
15095 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
15096 (*aarch64_fma4_elt<mode>): Likewise.
15097 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
15098 (*aarch64_fma4_elt_to_64v2df): Likewise.
15099 (*aarch64_fnma4_elt<mode>): Likewise.
15100 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
15101 (*aarch64_fnma4_elt_to_64v2df): Likewise.
15102 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
15103 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
15104 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
15105 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
15106 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
15107 (aarch64_sqdmull_lane<mode>_internal): Likewise.
15108 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
15109
dafb9b64
AV
151102013-01-23 Alex Velenko <Alex.Velenko@arm.com>
15111
15112 * config/aarch64/aarch64-simd.md
15113 (aarch64_be_checked_get_lane<mode>): New define_expand.
15114 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 15115 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
15116 New builtin definition.
15117 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
15118 Use new safe be builtin.
15119
89b4515c
AV
151202014-01-23 Alex Velenko <Alex.Velenko@arm.com>
15121
15122 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
15123 New define_insn.
15124 (aarch64_be_st1<mode>): Likewise.
15125 (aarch_ld1<VALL:mode>): Define_expand modified.
15126 (aarch_st1<VALL:mode>): Likewise.
15127 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
15128 (UNSPEC_ST1): Likewise.
15129
4bb66ef3 151302014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
15131
15132 * config/microblaze/microblaze.md: Add trap insn and attribute
15133
7ecc3eb9
DS
151342014-01-23 Dodji Seketeli <dodji@redhat.com>
15135
15136 PR preprocessor/58580
15137 * input.h (location_get_source_line): Take an additional line_size
15138 parameter.
15139 (void diagnostics_file_cache_fini): Declare new function.
15140 * input.c (struct fcache): New type.
15141 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
15142 New static constants.
15143 (diagnostic_file_cache_init, total_lines_num)
15144 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
15145 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
15146 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
15147 (get_next_line, read_next_line, goto_next_line, read_line_num):
15148 New static function definitions.
15149 (diagnostic_file_cache_fini): New function.
15150 (location_get_source_line): Take an additional output line_len
15151 parameter. Re-write using lookup_or_add_file_to_cache_tab and
15152 read_line_num.
15153 * diagnostic.c (diagnostic_finish): Call
15154 diagnostic_file_cache_fini.
15155 (adjust_line): Take an additional input parameter for the length
15156 of the line, rather than calculating it with strlen.
15157 (diagnostic_show_locus): Adjust the use of
15158 location_get_source_line and adjust_line with respect to their new
15159 signature. While displaying a line now, do not stop at the first
15160 null byte. Rather, display the zero byte as a space and keep
15161 going until we reach the size of the line.
15162 * Makefile.in: Add vec.o to OBJS-libcommon
15163
2196a885 151642014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 15165 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
15166
15167 * config/i386/avx512fintrin.h (_mm512_kmov): New.
15168 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
15169 (__builtin_ia32_kmov16): Ditto.
15170 * config/i386/i386.md (UNSPEC_KMOV): New.
15171 (kmovw): Ditto.
15172
70473c63
KY
151732014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
15174
15175 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
15176 (_mm512_storeu_si512): Ditto.
15177
f9ae4df8
RS
151782014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
15179
15180 PR target/52125
15181 * rtl.h (get_referenced_operands): Declare.
15182 * recog.c (get_referenced_operands): New function.
15183 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
15184 operands have been referenced when recording LO_SUM references.
15185
4bb66ef3 151862014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
15187
15188 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
15189
39960d1c 151902014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
15191
15192 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
15193 Enable for generic and recent AMD targets.
15194
39960d1c 151952014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
15196
15197 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
15198 ARG_SIZE note when adjustment was eliminated.
15199
bb50b870
JL
152002014-01-22 Jeff Law <law@redhat.com>
15201
15202 PR tree-optimization/59597
15203 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
15204 in file. Accept new argument REGISTERING and use it to modify
15205 dump output appropriately.
15206 (register_jump_thread): Corresponding changes.
15207 (mark_threaded_blocks): Reinstate code to cancel unprofitable
15208 thread paths involving joiner blocks. Add code to dump cancelled
15209 jump threading paths.
15210
df2980be
VM
152112014-01-22 Vladimir Makarov <vmakarov@redhat.com>
15212
15213 PR rtl-optimization/59477
15214 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 15215 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 15216
1bb99900
TT
152172014-01-22 Tom Tromey <tromey@redhat.com>
15218
15219 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
15220 PARAMS.
15221 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
15222
9102dadd
VM
152232014-01-21 Vladimir Makarov <vmakarov@redhat.com>
15224
15225 PR rtl-optimization/59896
15226 * lra-constraints.c (process_alt_operands): Check unused note for
15227 matched operands of insn with no output reloads.
15228
ca376eb8
RS
152292014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
15230
15231 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
15232 (mips_move_from_gpr_cost): Likewise.
15233
a9711f36
VM
152342014-01-21 Vladimir Makarov <vmakarov@redhat.com>
15235
15236 PR rtl-optimization/59858
15237 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
15238 ira_class_hard_regs_num.
15239 (process_alt_operands): Increase reject for dying matched operand.
15240
f8ea7cb0
JJ
152412014-01-21 Jakub Jelinek <jakub@redhat.com>
15242
15243 PR target/59003
15244 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
15245 smaller than size, perform several stores or loads and stores
15246 at dst + count - size to store or copy all of size bytes, rather
15247 than just last modesize bytes.
15248
84db09e3
DD
152492014-01-20 DJ Delorie <dj@redhat.com>
15250
15251 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
15252 that CLOBBERs are REGs before propogating their values.
15253
1cf11770
L
152542014-01-20 H.J. Lu <hongjiu.lu@intel.com>
15255
15256 PR middle-end/59789
15257 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
15258 (cgraph_inline_failed_type): New function.
15259 * cgraph.h (DEFCIFCODE): Add type.
15260 (cgraph_inline_failed_type_t): New enum.
15261 (cgraph_inline_failed_type): New prototype.
15262 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
15263 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
15264 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
15265 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
15266 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
15267 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
15268 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 15269 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
15270 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
15271 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
15272 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
15273 OPTIMIZATION_MISMATCH.
15274 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 15275 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 15276
8586e4bd
UB
152772014-01-20 Uros Bizjak <ubizjak@gmail.com>
15278
15279 PR target/59685
15280 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
15281 mode attribute in insn output.
15282
99482090
EB
152832014-01-20 Eric Botcazou <ebotcazou@adacore.com>
15284
15285 * output.h (output_constant): Delete.
15286 * varasm.c (output_constant): Make private.
15287
ede23272
AV
152882014-01-20 Alex Velenko <Alex.Velenko@arm.com>
15289
15290 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
15291
9a7eefec
JJ
152922014-01-20 Jakub Jelinek <jakub@redhat.com>
15293
15294 PR middle-end/59860
15295 * tree.h (fold_builtin_strcat): New prototype.
15296 * builtins.c (fold_builtin_strcat): No longer static. Add len
15297 argument, if non-NULL, don't call c_strlen. Optimize
15298 directly into __builtin_memcpy instead of __builtin_strcpy.
15299 (fold_builtin_2): Adjust fold_builtin_strcat caller.
15300 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
15301
3e729145
UB
153022014-01-20 Uros Bizjak <ubizjak@gmail.com>
15303
15304 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
15305 for SImode_address_operand operands, having only a REG argument.
15306
eee0e487
MS
153072014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
15308
15309 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
15310 loader name using mbig-endian.
15311 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
15312
9e540e37
JG
153132014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
15314
15315 * doc/invoke.texi (-march): Clarify documentation for AArch64.
15316 (-mtune): Likewise.
15317 (-mcpu): Likewise.
15318
69675d50
TB
153192014-01-20 Tejas Belagod <tejas.belagod@arm.com>
15320
15321 * config/aarch64/aarch64-protos.h
15322 (aarch64_cannot_change_mode_class_ptr): Declare.
15323 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
15324 aarch64_cannot_change_mode_class_ptr): New.
15325 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
15326 backend hook aarch64_cannot_change_mode_class.
15327
ffee7aa9
JG
153282014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
15329
15330 * common/config/aarch64/aarch64-common.c
15331 (aarch64_handle_option): Don't handle any option order logic here.
15332 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
15333 selected_cpu, warn on architecture version mismatch.
15334 (aarch64_override_options): Fix parsing order for option strings.
15335
c7169779
JBG
153362014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
15337 Iain Sandoe <iain@codesourcery.com>
15338
15339 PR bootstrap/59496
15340 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
15341 warning. Amend comment to reflect current functionality.
15342
409b6ac1
RB
153432014-01-20 Richard Biener <rguenther@suse.de>
15344
15345 PR middle-end/59860
15346 * builtins.c (fold_builtin_strcat): Remove case better handled
15347 by tree-ssa-strlen.c.
15348
608df31f
AL
153492014-01-20 Alan Lawrence <alan.lawrence@arm.com>
15350
15351 * config/aarch64/aarch64.opt
15352 (mcpu, march, mtune): Make case-insensitive.
15353
0fabe5f3
JJ
153542014-01-20 Jakub Jelinek <jakub@redhat.com>
15355
15356 PR target/59880
15357 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
15358 if operands[1] is a REG or ZERO_EXTEND of a REG.
15359
39960d1c 153602014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
15361
15362 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
15363
925cb97d
JDA
153642014-01-19 John David Anglin <danglin@gcc.gnu.org>
15365
15366 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
15367 long non-pic millicode calls.
15368
f43856db
JBG
153692014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
15370
15371 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
15372
d2be9965
ILT
153732014-01-19 Kito Cheng <kito@0xlab.org>
15374
15375 * builtins.c (expand_movstr): Check movstr expand done or fail.
15376
efc90043
UB
153772014-01-18 Uros Bizjak <ubizjak@gmail.com>
15378 H.J. Lu <hongjiu.lu@intel.com>
15379
15380 PR target/59379
15381 * config/i386/i386.md (*lea<mode>): Zero-extend return register
15382 to DImode for zero-extended addresses.
15383
8fce217e
JJ
153842014-01-19 Jakub Jelinek <jakub@redhat.com>
15385
15386 PR rtl-optimization/57763
15387 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
15388 on the new indirect jump_insn and increment LABEL_NUSES (label).
15389
efc90043 153902014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
15391
15392 PR bootstrap/59580
15393 PR bootstrap/59583
15394 * config.gcc (x86_archs): New variable.
15395 (x86_64_archs): Likewise.
15396 (x86_cpus): Likewise.
15397 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
15398 --with-arch/--with-cpu= options.
15399 Support --with-arch=/--with-cpu={nehalem,westmere,
15400 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
15401
7f3af6d3
UB
154022014-01-18 Uros Bizjak <ubizjak@gmail.com>
15403
15404 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
15405 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
15406
154072014-01-18 Uros Bizjak <ubizjak@gmail.com>
15408
15409 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
15410
fa5d6c75
JJ
154112014-01-18 Jakub Jelinek <jakub@redhat.com>
15412
15413 PR target/58944
15414 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
15415 clear cpp_get_options (parse_in)->warn_unused_macros for
15416 ix86_target_macros_internal with cpp_define.
15417
04da5680
RS
154182014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
15419
15420 * jump.c (delete_related_insns): Keep (use (insn))s.
15421 * reorg.c (redundant_insn): Check for barriers too.
15422
1e99bee5
L
154232014-01-17 H.J. Lu <hongjiu.lu@intel.com>
15424
7f3af6d3 15425 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 15426
fa7d0c60
JDA
154272014-01-17 John David Anglin <danglin@gcc.gnu.org>
15428
15429 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
15430 call to $$dyncall when TARGET_LONG_CALLS is true.
15431
2043135a
JL
154322014-01-17 Jeff Law <law@redhat.com>
15433
15434 * ree.c (combine_set_extension): Temporarily disable test for
15435 changing number of hard registers.
15436
39960d1c 154372014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
15438
15439 PR middle-end/58125
15440 * ipa-inline-analysis.c (inline_free_summary):
15441 Do not free summary of aliases.
15442
664ceb1e
JJ
154432014-01-17 Jakub Jelinek <jakub@redhat.com>
15444
15445 PR middle-end/59706
15446 * gimplify.c (gimplify_expr): Use create_tmp_var
15447 instead of create_tmp_var_raw. If cond doesn't have
15448 integral type, don't add the IFN_ANNOTATE builtin at all.
15449
aef83682
MJ
154502014-01-17 Martin Jambor <mjambor@suse.cz>
15451
15452 PR ipa/59736
15453 * ipa-cp.c (prev_edge_clone): New variable.
15454 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
15455 Also resize prev_edge_clone vector.
15456 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
15457 (ipcp_edge_removal_hook): New function.
15458 (ipcp_driver): Register ipcp_edge_removal_hook.
15459
4bb66ef3 154602014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
15461 Steve Ellcey <sellcey@mips.com>
15462
15463 PR target/59462
15464 * config/mips/mips.c (mips_print_operand): Check operand mode instead
15465 of operator mode.
15466
4ee5c752
JL
154672014-01-17 Jeff Law <law@redhat.com>
15468
15469 PR middle-end/57904
15470 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
15471 so that pass_ccp runs first.
15472
40cfac7c
L
154732014-01-17 H.J. Lu <hongjiu.lu@intel.com>
15474
15475 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
15476 (ix86_adjust_cost): Use !TARGET_XXX.
15477 (do_reorder_for_imul): Likewise.
15478 (swap_top_of_ready_list): Likewise.
15479 (ix86_sched_reorder): Likewise.
15480
9a7f94d7
L
154812014-01-17 H.J. Lu <hongjiu.lu@intel.com>
15482
15483 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
15484 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
15485 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
15486 (intel_memset): New. Duplicate slm_memset.
15487 (intel_cost): New. Duplicate slm_cost.
15488 (m_INTEL): New macro.
15489 (processor_target_table): Add "intel".
15490 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
15491 with PROCESSOR_INTEL for "intel".
15492 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
15493 PROCESSOR_SILVERMONT.
9a7f94d7
L
15494 (ix86_issue_rate): Likewise.
15495 (ix86_adjust_cost): Likewise.
15496 (ia32_multipass_dfa_lookahead): Likewise.
15497 (swap_top_of_ready_list): Likewise.
15498 (ix86_sched_reorder): Likewise.
8cdcf750
L
15499 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
15500 instead of TARGET_OPT_AGU.
9a7f94d7
L
15501 * config/i386/i386.h (TARGET_INTEL): New.
15502 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
15503 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
15504 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
15505 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 15506
30078c0a
MP
155072014-01-17 Marek Polacek <polacek@redhat.com>
15508
15509 PR c/58346
15510 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
15511 size is zero.
15512
14379e66
RB
155132014-01-17 Richard Biener <rguenther@suse.de>
15514
15515 PR tree-optimization/46590
15516 * opts.c (default_options_table): Add entries for
15517 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
15518 all enabled at -O1 but not for -Og.
15519 * common.opt (fbranch-count-reg): Remove Init(1).
15520 (fmove-loop-invariants): Likewise.
15521 (ftree-pta): Likewise.
15522
f7d594d2
JJ
155232014-01-17 Jakub Jelinek <jakub@redhat.com>
15524
88e18bd5
JJ
15525 * config/i386/i386.c (ix86_data_alignment): For compatibility with
15526 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
15527 decls to at least the GCC 4.8 used alignments.
15528
f7d594d2
JJ
15529 PR fortran/59440
15530 * tree-nested.c (convert_nonlocal_reference_stmt,
15531 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
15532 of GIMPLE_BIND stmts, adjust associated decls.
15533
32500433
RB
155342014-01-17 Richard Biener <rguenther@suse.de>
15535
15536 PR tree-optimization/46590
15537 * vec.h (vec<>::bseach): New member function implementing
15538 binary search according to C89 bsearch.
15539 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
15540 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
15541 bitmap pointer again. Make accesses_in_loop a flat array.
15542 (mem_ref_obstack): New global.
15543 (outermost_indep_loop): Adjust for mem_ref->stored changes.
15544 (mark_ref_stored): Likewise.
15545 (ref_indep_loop_p_2): Likewise.
15546 (set_ref_stored_in_loop): New helper function.
15547 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
15548 (memref_free): Adjust.
15549 (record_mem_ref_loc): Simplify.
15550 (gather_mem_refs_stmt): Adjust.
15551 (sort_locs_in_loop_postorder_cmp): New function.
15552 (analyze_memory_references): Sort accesses_in_loop after
15553 loop postorder number.
15554 (find_ref_loc_in_loop_cmp): New function.
15555 (for_all_locs_in_loop): Find relevant cluster of locs in
15556 accesses_in_loop and iterate without recursion.
15557 (execute_sm): Avoid uninit warning.
15558 (struct ref_always_accessed): Simplify.
15559 (ref_always_accessed::operator ()): Likewise.
15560 (ref_always_accessed_p): Likewise.
15561 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
15562 loop postorder numbers here.
15563 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
15564 numbers.
15565
24fcf4bc
JJ
155662014-01-17 Jan Hubicka <hubicka@ucw.cz>
15567
15568 PR c++/57945
15569 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
15570 on decls for which assemble_alias has been called.
15571
d4f283a1
NC
155722014-01-17 Nick Clifton <nickc@redhat.com>
15573
15574 * config/msp430/msp430.opt: (mcpu): New option.
15575 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
15576 (msp430_option_override): Parse target_cpu. If the MCU name
15577 matches a generic string, clear target_mcu.
15578 (msp430_attr): Allow numeric interrupt values up to 63.
15579 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
15580 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
15581 option.
15582 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
15583 Add mcpu matches.
15584 * config/msp430/msp430.md (popm): Use %J rather than %I.
15585 (addsi3): Use msp430_nonimmediate_operand for operand 2.
15586 (addhi_cy_i): Use immediate_operand for operand 2.
15587 * doc/invoke.texi: Document -mcpu option.
15588
7be64667
RB
155892014-01-17 Richard Biener <rguenther@suse.de>
15590
15591 PR rtl-optimization/38518
15592 * df.h (df_analyze_loop): Declare.
15593 * df-core.c: Include cfgloop.h.
15594 (df_analyze_1): Split out main part of df_analyze.
15595 (df_analyze): Adjust.
15596 (loop_inverted_post_order_compute): New function.
15597 (loop_post_order_compute): Likewise.
15598 (df_analyze_loop): New function avoiding whole-function
15599 postorder computes.
15600 * loop-invariant.c (find_defs): Use df_analyze_loop.
15601 (find_invariants): Adjust.
15602 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
15603
82a197a2
ZC
156042014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
15605
15606 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
15607 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
15608
c68b3f52
IE
156092014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
15610
15611 * ipa-ref.c (ipa_remove_stmt_references): Fix references
15612 traversal when removing references.
15613
39960d1c 156142014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
15615
15616 PR ipa/59775
15617 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
15618
9e6f9ad6
BS
156192014-01-16 Bernd Schmidt <bernds@codesourcery.com>
15620
15621 PR middle-end/56791
15622 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
15623 pushing a reload for an autoinc when we had previously reloaded an
15624 inner part of the address.
15625
a611d7cb
JJ
156262014-01-16 Jakub Jelinek <jakub@redhat.com>
15627
d1417442
JJ
15628 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
15629 field.
15630 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
15631 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
15632 when not giving up or versioning for alias only because of
15633 loop->safelen.
15634 (vect_analyze_data_ref_dependences): Set to true.
15635 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
15636 is a GIMPLE_PHI.
15637 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
15638 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
15639 to the condition.
15640
42ed6cde
JJ
15641 PR middle-end/58344
15642 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
15643
a611d7cb 15644 PR target/59839
7f3af6d3
UB
15645 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
15646 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 15647
8f21260c
VM
156482014-01-16 Vladimir Makarov <vmakarov@redhat.com>
15649
15650 PR middle-end/59609
7f3af6d3
UB
15651 * lra-constraints.c (process_alt_operands): Add printing debug info.
15652 Check absence of input/output reloads for matched operands too.
8f21260c 15653
1a788c05
VM
156542014-01-16 Vladimir Makarov <vmakarov@redhat.com>
15655
15656 PR rtl-optimization/59835
15657 * ira.c (ira_init_register_move_cost): Increase cost for
15658 impossible modes.
15659
4cf24d27
AL
156602014-01-16 Alan Lawrence <alan.lawrence@arm.com>
15661
cc3a9f0d 15662 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 15663
030d03b8
RE
156642014-01-16 Richard Earnshaw <rearnsha@arm.com>
15665
15666 PR target/59780
15667 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
15668 non-register objects. Use gen_(high/low)part more consistently.
15669 Fix assertions.
15670
e78f06a8
MM
156712014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
15672
15673 PR target/59844
15674 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
15675 endian support, remove tests for WORDS_BIG_ENDIAN.
15676 (p8_mfvsrd_3_<mode>): Likewise.
15677 (reload_gpr_from_vsx<mode>): Likewise.
15678 (reload_gpr_from_vsxsf): Likewise.
15679 (p8_mfvsrd_4_disf): Likewise.
15680
9d1ae52c
RB
156812014-01-16 Richard Biener <rguenther@suse.de>
15682
15683 PR rtl-optimization/46590
15684 * lcm.c (compute_antinout_edge): Use postorder iteration.
15685 (compute_laterin): Use inverted postorder iteration.
15686
54c7a7f3
NC
156872014-01-16 Nick Clifton <nickc@redhat.com>
15688
15689 PR middle-end/28865
15690 * varasm.c (output_constant): Return the number of bytes actually
15691 emitted.
15692 (output_constructor_array_range): Update the field size with the
15693 number of bytes emitted by output_constant.
15694 (output_constructor_regular_field): Likewise. Also do not
15695 complain if the total number of bytes emitted is now greater
15696 than the expected fieldpos.
7f3af6d3 15697 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 15698
5147d10a
MP
156992014-01-16 Marek Polacek <polacek@redhat.com>
15700
15701 PR middle-end/59827
15702 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
15703 it is error_mark_node.
15704
4ac005ba
UB
157052014-01-15 Uros Bizjak <ubizjak@gmail.com>
15706
15707 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
15708 VALID_AVX256_REG_OR_OI_MODE.
15709
5d7574fa
PH
157102014-01-15 Pat Haugen <pthaugen@us.ibm.com>
15711
15712 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
15713 current procedure should be profiled.
15714
6ee70f81
AP
157152014-01-15 Andrew Pinski <apinski@cavium.com>
15716
15717 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
15718 of moving from/to the STACK_REG register class.
15719
004a7e45 157202014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
15721
15722 PR debug/54694
15723 * reginfo.c (global_regs_decl): Globalize.
15724 * rtl.h (global_regs_decl): Declare.
15725 * ira.c (do_reload): Diagnose frame_pointer_needed and it
15726 reserved via global_regs.
15727
4583fada
TJ
157282014-01-15 Teresa Johnson <tejohnson@google.com>
15729
15730 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
15731
d13dfec8
BS
157322014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
15733
15734 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
15735 and vmulosh rather than call gen_vec_widen_smult_*.
15736 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
15737 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
15738 (vec_widen_smult_even_v16qi): Likewise.
15739 (vec_widen_umult_even_v8hi): Likewise.
15740 (vec_widen_smult_even_v8hi): Likewise.
15741 (vec_widen_umult_odd_v16qi): Likewise.
15742 (vec_widen_smult_odd_v16qi): Likewise.
15743 (vec_widen_umult_odd_v8hi): Likewise.
15744 (vec_widen_smult_odd_v8hi): Likewise.
15745 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
15746 vmuloub rather than call gen_vec_widen_umult_*.
15747 (vec_widen_umult_lo_v16qi): Likewise.
15748 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
15749 vmulosb rather than call gen_vec_widen_smult_*.
15750 (vec_widen_smult_lo_v16qi): Likewise.
15751 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
15752 rather than call gen_vec_widen_umult_*.
15753 (vec_widen_umult_lo_v8hi): Likewise.
15754 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
15755 rather than call gen_vec_widen_smult_*.
15756 (vec_widen_smult_lo_v8hi): Likewise.
15757
a6a2d67b
JL
157582014-01-15 Jeff Law <law@redhat.com>
15759
15760 PR tree-optimization/59747
15761 * ree.c (find_and_remove_re): Properly handle case where a second
15762 eliminated extension requires widening a copy created for elimination
15763 of a prior extension.
15764 (combine_set_extension): Ensure that the number of hard regs needed
15765 for a destination register does not change when we widen it.
15766
aefe4056
SH
157672014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15768
15769 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
15770 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
15771 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
15772 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
15773 (avr-*-rtems*): Likewise.
15774 (bfin*-rtems*): Likewise.
15775 (moxie-*-rtems*): Likewise.
15776 (h8300-*-rtems*): Likewise.
15777 (i[34567]86-*-rtems*): Likewise.
15778 (lm32-*-rtems*): Likewise.
15779 (m32r-*-rtems*): Likewise.
15780 (m68k-*-rtems*): Likewise.
15781 (microblaze*-*-rtems*): Likewise.
15782 (mips*-*-rtems*): Likewise.
15783 (powerpc-*-rtems*): Likewise.
15784 (sh-*-rtems*): Likewise.
15785 (sparc-*-rtems*): Likewise.
15786 (sparc64-*-rtems*): Likewise.
15787 (v850-*-rtems*): Likewise.
15788 (m32c-*-rtems*): Likewise.
15789
fef37404
VM
157902014-01-15 Vladimir Makarov <vmakarov@redhat.com>
15791
15792 PR rtl-optimization/59511
15793 * ira.c (ira_init_register_move_cost): Use memory costs for some
15794 cases of register move cost calculations.
15795 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
15796 instead of BB frequency.
15797 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
15798 * lra-assigns.c (find_hard_regno_for): Ditto.
15799
6b916b36
RB
158002014-01-15 Richard Biener <rguenther@suse.de>
15801
15802 PR tree-optimization/59822
15803 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
15804 (vectorizable_load): Use it to hoist defs of uses of invariant
15805 loads out of the loop.
15806
d103f29b 158072014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 15808 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
15809
15810 PR target/59695
15811 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
15812 truncation.
15813
95cb8697
RB
158142014-01-15 Richard Biener <rguenther@suse.de>
15815
15816 PR rtl-optimization/59802
15817 * lcm.c (compute_available): Use inverted postorder to seed
15818 the initial worklist.
15819
cb4b6d17
AK
158202014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15821
1c8b5303 15822 PR target/59803
cb4b6d17
AK
15823 * config/s390/s390.c (s390_preferred_reload_class): Don't return
15824 ADDR_REGS for invalid symrefs in non-PIC code.
15825
2738b4c7
JJ
158262014-01-15 Jakub Jelinek <jakub@redhat.com>
15827
15828 PR other/58712
15829 * builtins.c (determine_block_size): Initialize *probable_max_size
15830 even if len_rtx is CONST_INT.
15831
d126a4ae
AP
158322014-01-14 Andrew Pinski <apinski@cavium.com>
15833
15834 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
15835 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
15836 (cortexa53_tunings): Likewise.
15837 (aarch64_sched_issue_rate): New function.
15838 (TARGET_SCHED_ISSUE_RATE): Define.
15839
dc687582
VM
158402014-01-14 Vladimir Makarov <vmakarov@redhat.com>
15841
15842 * ira-costs.c (find_costs_and_classes): Add missed
15843 ira_init_register_move_cost_if_necessary.
15844
e940b2ec
VM
158452014-01-14 Vladimir Makarov <vmakarov@redhat.com>
15846
15847 PR target/59787
15848 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
15849
3292e376
L
158502014-01-14 H.J. Lu <hongjiu.lu@intel.com>
15851
15852 PR target/59794
15853 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
15854 to indicate if type is used for function return value. Warn ABI
15855 change if the vector mode isn't available for function return value.
3292e376
L
15856 (ix86_function_arg_advance): Pass false to type_natural_mode.
15857 (ix86_function_arg): Likewise.
15858 (ix86_gimplify_va_arg): Likewise.
15859 (function_arg_32): Don't warn ABI change.
15860 (ix86_function_value): Pass true to type_natural_mode.
15861 (ix86_return_in_memory): Likewise.
15862 (ix86_struct_value_rtx): Removed.
15863 (TARGET_STRUCT_VALUE_RTX): Likewise.
15864
db930875
RS
158652014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
15866
15867 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
15868 converting a conditional jump into a conditional return.
15869
a0e35eb0
RB
158702014-01-14 Richard Biener <rguenther@suse.de>
15871
15872 PR tree-optimization/58921
15873 PR tree-optimization/59006
15874 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
15875 hoisting invariant stmts.
15876 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
15877 invariant loads on the preheader edge if possible.
15878
a984e92e
JY
158792014-01-14 Joey Ye <joey.ye@arm.com>
15880
15881 * doc/plugin.texi (Building GCC plugins): Update to C++.
15882
c56a42b9
KY
158832014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
15884
3292e376 15885 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
15886 (_mm_rcp28_round_ss): Ditto.
15887 (_mm_rsqrt28_round_sd): Ditto.
15888 (_mm_rsqrt28_round_ss): Ditto.
15889 (_mm_rcp28_sd): Ditto.
15890 (_mm_rcp28_ss): Ditto.
15891 (_mm_rsqrt28_sd): Ditto.
15892 (_mm_rsqrt28_ss): Ditto.
15893 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
15894 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
15895 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
15896 (IX86_BUILTIN_RCP28SD): Ditto.
15897 (IX86_BUILTIN_RCP28SS): Ditto.
15898 (IX86_BUILTIN_RSQRT28SD): Ditto.
15899 (IX86_BUILTIN_RSQRT28SS): Ditto.
15900 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
15901 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
15902 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
15903 (ix86_expand_special_args_builtin): Expand new FTYPE.
15904 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
15905 (srcp14<mode>): Make insn unary.
15906 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
15907 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
15908 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
15909 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
15910 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
15911 Fix rounding: make it SAE only.
4ac005ba
UB
15912 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
15913 Ditto.
15914 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
15915 Ditto.
c56a42b9
KY
15916 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
15917 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
15918 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
15919 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
15920 (round_saeonly_mask_scalar_operand4): Ditto.
15921 (round_saeonly_mask_scalar_op3): Ditto.
15922 (round_saeonly_mask_scalar_op4): Ditto.
15923
09fccb62
BS
159242014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15925
15926 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
15927 Implement -maltivec=be for vec_insert and vec_extract.
15928
fb28dac0
DD
159292014-01-10 DJ Delorie <dj@redhat.com>
15930
15931 * config/msp430/msp430.md (call_internal): Don't allow memory
15932 references with SP as the base register.
15933 (call_value_internal): Likewise.
15934 * config/msp430/constraints.md (Yc): New. For memory references
15935 that don't use SP as a base register.
15936
15937 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
15938 "an integer without a # prefix"
15939 * config/msp430/msp430.md (epilogue_helper): Use it.
15940
19e51b40
JJ
159412014-01-13 Jakub Jelinek <jakub@redhat.com>
15942
03b9e8e4
JJ
15943 PR target/59617
15944 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
15945 AVX512F gather builtins.
15946 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
15947 on gather decls with INTEGER_TYPE masktype.
15948 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
15949 directly into the builtin rather than hoisting it before loop.
15950
19e51b40
JJ
15951 PR tree-optimization/59387
15952 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
15953 (scev_const_prop): If folded_casts and type has undefined overflow,
15954 use force_gimple_operand instead of force_gimple_operand_gsi and
15955 for each added stmt if it is assign with
15956 arith_code_with_undefined_signed_overflow, call
15957 rewrite_to_defined_overflow.
15958 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
15959 gimple-fold.h instead.
15960 (arith_code_with_undefined_signed_overflow,
15961 rewrite_to_defined_overflow): Moved to ...
15962 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
15963 rewrite_to_defined_overflow): ... here. No longer static.
15964 Include gimplify-me.h.
15965 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
15966 rewrite_to_defined_overflow): New prototypes.
15967
cd794ed4
KT
159682014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15969
15970 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
15971
e75fde1a
EB
159722014-01-13 Eric Botcazou <ebotcazou@adacore.com>
15973
15974 * builtins.c (get_object_alignment_2): Minor tweak.
15975 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
15976
eae298d6
CB
159772014-01-13 Christian Bruel <christian.bruel@st.com>
15978
15979 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 15980 optimized non constant lengths.
eae298d6 15981
8175be9a
JJ
159822014-01-13 Jakub Jelinek <jakub@redhat.com>
15983
15984 PR libgomp/59194
15985 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
15986 load as __atomic_load_N if possible.
15987
9c111368
DE
159882014-01-11 David Edelsohn <dje.gcc@gmail.com>
15989
15990 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
15991 target parameter.
15992 (rs6000_expand_builtin): Adjust call.
15993
c82846bc
DE
159942014-01-11 David Edelsohn <dje.gcc@gmail.com>
15995
15996 PR target/58115
15997 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
15998 * config/rs6000/rs6000.c: Include target-globals.h.
15999 (rs6000_set_current_function): Instead of doing target_reinit
16000 unconditionally, use save_target_globals_default_opts and
16001 restore_target_globals.
16002
16003 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
16004 FPSCR.
16005 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
16006 (rs6000_expand_builtin): Handle mffs and mtfsf.
16007 (rs6000_init_builtins): Define mffs and mtfsf.
16008 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
16009 (rs6000_mffs): New pattern.
16010 (rs6000_mtfsf): New pattern.
16011
2c407426
BC
160122014-01-11 Bin Cheng <bin.cheng@arm.com>
16013
16014 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
16015 Start narrowing with START. Apply candidate-use pair
16016 and check overall cost in narrowing.
16017 (iv_ca_prune): Pass new argument.
16018
7e41c852
JL
160192014-01-10 Jeff Law <law@redhat.com>
16020
16021 PR middle-end/59743
16022 * ree.c (combine_reaching_defs): Ensure the defining statement
16023 occurs before the extension when optimizing extensions with
16024 different source and destination hard registers.
16025
39960d1c 160262014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
16027
16028 PR ipa/58585
4ac005ba
UB
16029 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
16030 vtables into the type inheritance graph.
b270b096 16031
0d6d7b9a
JJ
160322014-01-10 Jakub Jelinek <jakub@redhat.com>
16033
16034 PR rtl-optimization/59754
16035 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
16036 modes in the REGNO != REGNO case.
16037
110132c1
BS
160382014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16039
16040 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
16041
5da96960
JJ
160422014-01-10 Jakub Jelinek <jakub@redhat.com>
16043
4f87d581
JJ
16044 PR tree-optimization/59745
16045 * tree-predcom.c (tree_predictive_commoning_loop): Call
16046 free_affine_expand_cache if giving up because components is NULL.
16047
5da96960
JJ
16048 * target-globals.c (save_target_globals): Allocate < 4KB structs using
16049 GC in payload of target_globals struct instead of allocating them on
16050 the heap and the larger structs separately using GC.
16051 * target-globals.h (struct target_globals): Make regs, hard_regs,
16052 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
16053 of GTY((skip)) and change type to void *.
16054 (reset_target_globals): Cast loads from those fields to corresponding
16055 types.
16056
1aa26aac
SE
160572014-01-10 Steve Ellcey <sellcey@mips.com>
16058
16059 PR plugins/59335
16060 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
16061 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
16062 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
16063
1c992d1e
RE
160642014-01-10 Richard Earnshaw <rearnsha@arm.com>
16065
7783a246 16066 PR target/59744
1c992d1e
RE
16067 * aarch64-modes.def (CC_Zmode): New flags mode.
16068 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
16069 represents an equality.
7783a246 16070 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
16071 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
16072
86464cbd
AK
160732014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16074
16075 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
16076 extraction in good case.
16077
5e6667b2
RB
160782014-01-10 Richard Biener <rguenther@suse.de>
16079
16080 PR tree-optimization/59374
16081 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
16082 checking after SLP discovery. Mark stmts not participating
16083 in any SLP instance properly.
16084
5619162c
KT
160852014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16086
16087 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
16088 when handling a SET rtx.
16089
2d17b99f
KT
160902014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16091
16092 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
16093 (cortex-a57): Likewise.
16094 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
16095
bcca645c
KT
160962014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16097
16098 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
16099 non-iwmmxt builtins.
16100
a3788dde
JH
161012014-01-10 Jan Hubicka <hubicka@ucw.cz>
16102
16103 PR ipa/58252
16104 PR ipa/59226
16105 * ipa-devirt.c record_target_from_binfo): Take as argument
16106 stack of binfos and lookup matching one for virtual inheritance.
16107 (possible_polymorphic_call_targets_1): Update.
16108
87ed883e
HC
161092014-01-10 Huacai Chen <chenhc@lemote.com>
16110
16111 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
16112 kernel strings for Loongson-2E/2F/3A.
16113
cd4447e2
JJ
161142014-01-10 Jakub Jelinek <jakub@redhat.com>
16115
16116 PR middle-end/59670
16117 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
16118 is_gimple_call before calling gimple_call_internal_p.
16119
3fadf78a
SE
161202014-01-09 Steve Ellcey <sellcey@mips.com>
16121
16122 * Makefile.in (TREE_FLOW_H): Remove.
16123 (TREE_SSA_H): Add file names from tree-flow.h.
16124 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
16125 * tree.h: Remove tree-flow.h reference.
16126 * hash-table.h: Remove tree-flow.h reference.
16127 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
16128 reference with tree-ssa-loop.h.
16129
6edc217d
BS
161302014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16131
16132 * doc/invoke.texi: Add -maltivec={be,le} options, and document
16133 default element-order behavior for -maltivec.
16134 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
16135 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
16136 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
16137 when targeting big endian, at least for now.
16138 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
16139
a70e9985
JJ
161402014-01-09 Jakub Jelinek <jakub@redhat.com>
16141
3396aba5
JJ
16142 PR middle-end/47735
16143 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
16144 var satisfies use_register_for_decl, just take into account type
16145 alignment, rather than decl alignment.
16146
a70e9985
JJ
16147 PR tree-optimization/59622
16148 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
16149 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
16150 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
16151 Don't devirtualize for inplace at all. For targets.length () == 1,
16152 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
16153
6e9cc565
L
161542014-01-09 H.J. Lu <hongjiu.lu@intel.com>
16155
16156 * config/i386/i386.md (cpu): Remove the unused btver1.
16157
d1c0e4ac
L
161582014-01-09 H.J. Lu <hongjiu.lu@intel.com>
16159
16160 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
16161
e83b8e2e
JJ
161622014-01-09 Jakub Jelinek <jakub@redhat.com>
16163
16164 PR target/58115
16165 * tree-core.h (struct target_globals): New forward declaration.
16166 (struct tree_target_option): Add globals field.
16167 * tree.h (TREE_TARGET_GLOBALS): Define.
16168 (prepare_target_option_nodes_for_pch): New prototype.
16169 * target-globals.h (struct target_globals): Define even if
16170 !SWITCHABLE_TARGET.
16171 * tree.c (prepare_target_option_node_for_pch,
16172 prepare_target_option_nodes_for_pch): New functions.
16173 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
16174 * config/i386/i386.c: Include target-globals.h.
16175 (ix86_set_current_function): Instead of doing target_reinit
16176 unconditionally, use save_target_globals_default_opts and
16177 restore_target_globals.
16178
2aaed0f3
RB
161792014-01-09 Richard Biener <rguenther@suse.de>
16180
16181 PR tree-optimization/59715
16182 * tree-cfg.h (split_critical_edges): Declare.
16183 * tree-cfg.c (split_critical_edges): Export.
16184 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
16185
b5ebc991
MO
161862014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
16187
4ac005ba 16188 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
16189 asan stack protection.
16190 (expand_used_vars): Likewise.
16191 (partition_stack_vars): Likewise.
4ac005ba 16192 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 16193 after return stack usage.
7f3af6d3 16194 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
16195 (instrument_builtin_call): Likewise.
16196 (instrument_strlen_call): Likewise.
7f3af6d3 16197 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
16198 * doc/invoke.texi: Added doc for new options.
16199 * params.def: Added new options.
16200 * params.h: Likewise.
16201
b59e0455
JJ
162022014-01-09 Jakub Jelinek <jakub@redhat.com>
16203
16204 PR rtl-optimization/59724
16205 * ifcvt.c (cond_exec_process_if_block): Don't call
16206 flow_find_head_matching_sequence with 0 longest_match.
16207 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
16208 non-active insns if !stop_after.
16209 (try_head_merge_bb): Revert 2014-01-07 changes.
16210
650c4c85
JL
162112014-01-08 Jeff Law <law@redhat.com>
16212
16213 * ree.c (get_sub_rtx): New function, extracted from...
16214 (merge_def_and_ext): Here.
16215 (combine_reaching_defs): Use get_sub_rtx.
16216
ff36fcbe
EB
162172014-01-08 Eric Botcazou <ebotcazou@adacore.com>
16218
16219 * cgraph.h (varpool_variable_node): Do not choke on null node.
16220
9f9d82aa
CM
162212014-01-08 Catherine Moore <clm@codesourcery.com>
16222
4ac005ba
UB
16223 * config/mips/mips.md (simple_return): Attempt to use JRC
16224 for microMIPS.
9f9d82aa
CM
16225 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
16226
df6c8808
RS
162272014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
16228
16229 PR rtl-optimization/59137
16230 * reorg.c (steal_delay_list_from_target): Call update_block for
16231 elided insns.
16232 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
16233
6170ceff
BS
162342014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16235
16236 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
16237 two duplicate entries.
16238
3f140f32
RS
162392014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
16240
16241 Revert:
16242 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
16243
16244 * config/mips/mips.c (mips_truncated_op_cost): New function.
16245 (mips_rtx_costs): Adjust test for BADDU.
16246 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
16247
16248 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
16249
16250 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
16251 (*baddu_si): ...this new pattern.
16252
c6de6665
JJ
162532014-01-08 Jakub Jelinek <jakub@redhat.com>
16254
16255 PR ipa/59722
16256 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
16257
4c437f02
BE
162582014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
16259
16260 PR middle-end/57748
16261 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
16262 inner_reference_p.
16263 (expand_expr, expand_normal): Adjust.
16264 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
16265 inner_reference_p. Use inner_reference_p to expand inner references.
16266 (store_expr): Adjust.
16267 * cfgexpand.c (expand_call_stmt): Adjust.
16268
4ac005ba 162692014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
16270
16271 * gcov-io.c (gcov_var): Move from gcov-io.h.
16272 (gcov_position): Ditto.
16273 (gcov_is_error): Ditto.
16274 (gcov_rewrite): Ditto.
16275 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
16276 only part to libgcc/libgcov.h.
16277
ab04b46e
MP
162782014-01-08 Marek Polacek <polacek@redhat.com>
16279
16280 PR middle-end/59669
16281 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
16282
06636b32
MP
162832014-01-08 Marek Polacek <polacek@redhat.com>
16284
16285 PR sanitizer/59667
16286 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
16287
c15677b6
JJ
162882014-01-08 Jakub Jelinek <jakub@redhat.com>
16289
16290 PR rtl-optimization/59649
16291 * stor-layout.c (get_mode_bounds): For BImode return
16292 0 and STORE_FLAG_VALUE.
16293
5c944c6c
RB
162942014-01-08 Richard Biener <rguenther@suse.de>
16295
16296 PR middle-end/59630
16297 * gimple.h (is_gimple_builtin_call): Remove.
16298 (gimple_builtin_call_types_compatible_p): New.
16299 (gimple_call_builtin_p): New overload.
16300 * gimple.c (is_gimple_builtin_call): Remove.
16301 (validate_call): Rename to ...
16302 (gimple_builtin_call_types_compatible_p): ... this and export. Also
16303 check return types.
16304 (validate_type): New static function.
16305 (gimple_call_builtin_p): New overload and adjust.
16306 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
16307 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
16308 (gimple_fold_stmt_to_constant_1): Likewise.
16309 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
16310
0bd34ae4
RB
163112014-01-08 Richard Biener <rguenther@suse.de>
16312
16313 PR middle-end/59471
16314 * gimplify.c (gimplify_expr): Gimplify register-register type
16315 VIEW_CONVERT_EXPRs to separate stmts.
16316
04af8ab6
JL
163172014-01-07 Jeff Law <law@redhat.com>
16318
3c92da90
JL
16319 PR middle-end/53623
16320 * ree.c (combine_set_extension): Handle case where source
16321 and destination registers in an extension insn are different.
4ac005ba
UB
16322 (combine_reaching_defs): Allow source and destination registers
16323 in extension to be different under limited circumstances.
3c92da90 16324 (add_removable_extension): Remove restriction that the
4ac005ba 16325 source and destination registers in the extension are the same.
3c92da90
JL
16326 (find_and_remove_re): Emit a copy from the extension's
16327 destination to its source after the defining insn if
16328 the source and destination registers are different.
16329
04af8ab6
JL
16330 PR middle-end/59285
16331 * ifcvt.c (merge_if_block): If we are merging a block with more than
16332 one successor with a block with no successors, remove any BARRIER
16333 after the second block.
16334
4bb66ef3 163352014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
16336
16337 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
16338
55ada375
JDA
163392014-01-07 John David Anglin <danglin@gcc.gnu.org>
16340
16341 PR target/59652
16342 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
16343 for 14-bit register offsets when INT14_OK_STRICT is false.
16344
877c72e7
RS
163452014-01-07 Roland Stigge <stigge@antcom.de>
16346 Michael Meissner <meissner@linux.vnet.ibm.com>
16347
16348 PR 57386/target
16349 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 16350 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 16351
8b2721da
JG
163522014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
16353
16354 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
16355 -mcpu.
16356
5d72b79f
YZ
163572014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
16358
16359 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
16360 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
16361 rtx is const0_rtx or not.
16362
48d53439
RS
163632014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
16364
16365 PR target/58115
16366 * target-globals.c (save_target_globals): Remove this_fn_optab
16367 handling.
16368 * toplev.c: Include optabs.h.
16369 (target_reinit): Temporarily restore the global options if another
16370 set of options are in force.
16371
41626746
JJ
163722014-01-07 Jakub Jelinek <jakub@redhat.com>
16373
a0cbe71e
JJ
16374 PR rtl-optimization/58668
16375 * cfgcleanup.c (flow_find_cross_jump): Don't count
16376 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
16377 to determine what is counted.
16378 (flow_find_head_matching_sequence): Use active_insn_p to determine
16379 what is counted.
16380 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
16381 counting change.
16382 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
16383 determine what is counted.
16384
41626746
JJ
16385 PR tree-optimization/59643
16386 * tree-predcom.c (split_data_refs_to_components): If one dr is
16387 read and one write, determine_offset fails and the write isn't
16388 in the bad component, just put the read into the bad component.
16389
cc349a39
MS
163902014-01-07 Mike Stump <mikestump@comcast.net>
16391 Jakub Jelinek <jakub@redhat.com>
16392
16393 PR pch/59436
16394 * tree-core.h (struct tree_optimization_option): Change optabs
16395 type from unsigned char * to void *.
16396 * optabs.c (init_tree_optimization_optabs): Adjust
16397 TREE_OPTIMIZATION_OPTABS initialization.
16398
529a6471
JJ
163992014-01-06 Jakub Jelinek <jakub@redhat.com>
16400
16401 PR target/59644
16402 * config/i386/i386.h (struct machine_function): Add
16403 no_drap_save_restore field.
16404 * config/i386/i386.c (ix86_save_reg): Use
16405 !cfun->machine->no_drap_save_restore instead of
16406 crtl->stack_realign_needed.
16407 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
16408 this function clears frame_pointer_needed. Set
16409 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
16410 and DRAP reg is needed.
16411
96066ce1
MP
164122014-01-06 Marek Polacek <polacek@redhat.com>
16413
16414 PR c/57773
16415 * doc/implement-c.texi: Mention that other integer types are
16416 permitted as bit-field types in strictly conforming mode.
16417
955b33ed 164182014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
16419
16420 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
16421 is newly allocated.
16422
328402a9
RE
164232014-01-06 Richard Earnshaw <rearnsha@arm.com>
16424
16425 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
16426
a4e33812
MJ
164272014-01-06 Martin Jambor <mjambor@suse.cz>
16428
16429 PR ipa/59008
16430 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
16431 to int.
16432 * ipa-prop.c (ipa_print_node_params): Fix indentation.
16433
b5cd2a02
EB
164342014-01-06 Eric Botcazou <ebotcazou@adacore.com>
16435
16436 PR debug/59350
16437 PR debug/59510
16438 * var-tracking.c (add_stores): Preserve the value of the source even if
16439 we don't record the store.
16440
c7d19c0b
TG
164412014-01-06 Terry Guo <terry.guo@arm.com>
16442
16443 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
16444
e0c70bd7
IS
164452014-01-05 Iain Sandoe <iain@codesourcery.com>
16446
16447 PR bootstrap/59541
16448 * config/darwin.c (darwin_function_section): Adjust return values to
16449 correspond to optimisation changes made in r206070.
16450
c30f016c
UB
164512014-01-05 Uros Bizjak <ubizjak@gmail.com>
16452
16453 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
16454 from prefetch_block tune setting.
16455 (nocona_cost): Correct size of prefetch block to 64.
16456
f2bc252b
EB
164572014-01-04 Eric Botcazou <ebotcazou@adacore.com>
16458
16459 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
16460 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
16461 used to save the static chain register in the computation of the offset
16462 from which the FP registers need to be restored.
16463
dad5ed2e
JJ
164642014-01-04 Jakub Jelinek <jakub@redhat.com>
16465
39719c84
JJ
16466 PR tree-optimization/59519
16467 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
16468 ICE if get_current_def (current_new_name) is already non-NULL, as long
16469 as it is a phi result of some other phi in *new_exit_bb that has
16470 the same argument.
16471
dad5ed2e
JJ
16472 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
16473 or vmovdqu* for misaligned_operand.
16474 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
16475 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
16476 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
16477 aligned_mem for AVX512F masked aligned load and store builtins and for
16478 non-temporal moves.
16479
164802014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
16481
16482 PR tree-optimization/59651
c30f016c 16483 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
16484 Address range for negative step should be added by TYPE_SIZE_UNIT.
16485
e864837a
AS
164862014-01-03 Andreas Schwab <schwab@linux-m68k.org>
16487
16488 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 16489 overlapping registers also for registers other than the stack pointer.
e864837a 16490
56a34230
MP
164912014-01-03 Marek Polacek <polacek@redhat.com>
16492
16493 PR other/59661
16494 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
16495 __builtin_FILE.
16496
039eee3f
JJ
164972014-01-03 Jakub Jelinek <jakub@redhat.com>
16498
3bcdbd50
JJ
16499 PR target/59625
16500 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
16501 asm goto as jump.
16502
039eee3f
JJ
16503 * config/i386/i386.md (MODE_SIZE): New mode attribute.
16504 (push splitter): Use <P:MODE_SIZE> instead of
16505 GET_MODE_SIZE (<P:MODE>mode).
16506 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
16507 (mov -1, reg peephole2): Likewise.
16508 * config/i386/sse.md (*mov<mode>_internal,
16509 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
16510 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
16511 *<code><mode>3, *andnot<mode>3<mask_name>,
16512 <mask_codefor><code><mode>3<mask_name>): Likewise.
16513 * config/i386/subst.md (mask_mode512bit_condition,
16514 sd_mask_mode512bit_condition): Likewise.
16515
927734cf
XDL
165162014-01-02 Xinliang David Li <davidxl@google.com>
16517
16518 PR tree-optimization/59303
039eee3f 16519 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
16520 (dump_predicates): Better output format.
16521 (pred_equal_p): New function.
16522 (is_neq_relop_p): Ditto.
16523 (is_neq_zero_form_p): Ditto.
16524 (pred_expr_equal_p): Ditto.
16525 (pred_neg_p): Ditto.
16526 (simplify_pred): Ditto.
16527 (simplify_preds_2): Ditto.
16528 (simplify_preds_3): Ditto.
16529 (simplify_preds_4): Ditto.
16530 (simplify_preds): Ditto.
16531 (push_pred): Ditto.
16532 (push_to_worklist): Ditto.
16533 (get_pred_info_from_cmp): Ditto.
16534 (is_degenerated_phi): Ditto.
16535 (normalize_one_pred_1): Ditto.
16536 (normalize_one_pred): Ditto.
16537 (normalize_one_pred_chain): Ditto.
16538 (normalize_preds): Ditto.
16539 (normalize_cond_1): Remove function.
16540 (normalize_cond): Ditto.
16541 (is_gcond_subset_of): Ditto.
16542 (is_subset_of_any): Ditto.
16543 (is_or_set_subset_of): Ditto.
16544 (is_and_set_subset_of): Ditto.
16545 (is_norm_cond_subset_of): Ditto.
16546 (pred_chain_length_cmp): Ditto.
16547 (convert_control_dep_chain_into_preds): Type change.
16548 (find_predicates): Ditto.
16549 (find_def_preds): Ditto.
16550 (destroy_predicates_vecs): Ditto.
16551 (find_matching_predicates_in_rest_chains): Ditto.
16552 (use_pred_not_overlap_with_undef_path_pred): Ditto.
16553 (is_pred_expr_subset): Ditto.
16554 (is_pred_chain_subset_of): Ditto.
16555 (is_included_in): Ditto.
16556 (is_superset_of): Ditto.
16557
23a5b65a
RS
165582014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16559
c30f016c 16560 Update copyright years.
23a5b65a 16561
f9030485
RS
165622014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16563
16564 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
16565 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
16566 config/arc/arc.md, config/arc/arc.opt,
16567 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
16568 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
16569 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
16570 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
16571 config/linux-protos.h, config/linux.c, config/winnt-c.c,
16572 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
16573 vtable-verify.c, vtable-verify.h: Use the standard form for the
16574 copyright notice.
f9030485 16575
98db73df
TB
165762014-01-02 Tobias Burnus <burnus@net-b.de>
16577
16578 * gcc.c (process_command): Update copyright notice dates.
16579 * gcov-dump.c: Ditto.
16580 * gcov.c: Ditto.
16581 * doc/cpp.texi: Bump @copying's copyright year.
16582 * doc/cppinternals.texi: Ditto.
16583 * doc/gcc.texi: Ditto.
16584 * doc/gccint.texi: Ditto.
16585 * doc/gcov.texi: Ditto.
16586 * doc/install.texi: Ditto.
16587 * doc/invoke.texi: Ditto.
16588
2898d204 165892014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
16590
16591 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
16592
dfebbdc6 165932014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 16594
726c3546
JJ
16595 * config/i386/sse.md (*mov<mode>_internal): Guard
16596 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
16597
dfebbdc6
JJ
16598 PR rtl-optimization/59647
16599 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
16600 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 16601\f
970c3b33 16602Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
16603
16604Copying and distribution of this file, with or without modification,
16605are permitted in any medium without royalty provided the copyright
16606notice and this notice are preserved.
This page took 7.923857 seconds and 5 git commands to generate.