]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Move ISR impelentation to nds32-isr.c module.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
c23a919b
CJW
12014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
2 Kito Cheng <kito@0xlab.org>
3 Monk Chiang <sh.chiang04@gmail.com>
4
5 * config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
6 (nds32_emit_section_tail_template): Move to ...
7 (nds32_emit_isr_jmptbl_section): Move to ...
8 (nds32_emit_isr_vector_section): Move to ...
9 (nds32_emit_isr_reset_conten): Move to ...
10 (nds32_check_isr_attrs_conflict): Move to ...
11 (nds32_construct_isr_vectors_information): Move to ...
12 (nds32_asm_file_start): Move implementation to ...
13 (nds32_asm_file_end): Move implementation to ...
14 * config/nds32/nds32-isr.c: ... here.
15 * config/nds32/nds32-protos.h
16 (nds32_check_isr_attrs_conflict): Declare.
17 (nds32_construct_isr_vectors_information): Declare.
18 (nds32_asm_file_start_for_isr): Declare.
19 (nds32_asm_file_end_for_isr): Declare.
20
c0c935b5
CJW
212014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
22 Kito Cheng <kito@0xlab.org>
23 Monk Chiang <sh.chiang04@gmail.com>
24
25 * config.gcc (nds32*): Add new modules to extra_objs.
26 (nds32le-*-*): Use t-nds32 makefile fragment for new modules.
27 (nds32be-*-*): Likewise.
28 * config/nds32/nds32-cost.c: New file.
29 * config/nds32/nds32-fp-as-gp.c: New file.
30 * config/nds32/nds32-intrinsic.c: New file.
31 * config/nds32/nds32-isr.c: New file.
32 * config/nds32/nds32-md-auxiliary.c: New file.
33 * config/nds32/nds32-memory-manipulation.c: New file.
34 * config/nds32/nds32-pipelines-auxiliary.c: New file.
35 * config/nds32/nds32-predicates.c: New file.
36 * config/nds32/t-nds32: New file.
37
c01d6ad9
JJ
382014-07-03 Jakub Jelinek <jakub@redhat.com>
39
40 PR tree-optimization/61682
41 * wide-int.cc (wi::mul_internal): Handle high correctly
42 for umul_ppmm using cases and when one of the operands is
43 equal to 1.
44
9e5f78f1
SB
452014-07-03 Segher Boessenkool <segher@kernel.crashing.org>
46
47 * config/rs6000/rs6000.md (rotl<mode>3, ashl<mode>3, lshr<mode>3,
48 ashr<mode>3): Correct mode of operands[2].
49 (rotl<mode>3_dot, rotl<mode>3_dot2, ashl<mode>3_dot, ashl<mode>3_dot2,
50 lshr<mode>3_dot, lshr<mode>3_dot2, ashr<mode>3_dot, ashr<mode>3_dot2):
51 Correct mode of operands[2]. Fix split condition.
52
a89b02c0
RE
532014-07-03 Richard Earnshaw <rearnsha@arm.com>
54
55 * arm.md (arch): Add armv6_or_vfpv3.
56 (arch_enabled): Add test for the above.
57 * vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
58 on VFP9.
59 (sqrtsf_vfp, sqrtdf_vfp): Likewise.
60
00a7ba58
JJ
612014-07-03 Jakub Jelinek <jakub@redhat.com>
62
63 * gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
64 * data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
65 HWI 1 and negate the unsigned value.
66 * expmed.c (expand_sdiv_pow2): For modes wider than word always
67 use AND instead of shift.
68 * wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
69
e71d7987
MP
702014-07-03 Marek Polacek <polacek@redhat.com>
71
72 * doc/invoke.texi (-fsanitize=bounds): Tweak wording.
73 (-fsanitize=float-divide-by-zero): Move to the table with
74 -fsanitize=undefined suboptions.
75 (-fsanitize=float-cast-overflow): Likewise.
76
283bbe35
MR
772014-07-03 Maciej W. Rozycki <macro@codesourcery.com>
78
79 * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
80 BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
81 endianness.
82
e42e3d15
ZC
832014-07-03 Zhenqiang Chen <zhenqiang.chen@linaro.org>
84
85 * loop-invariant.c (struct invariant): Add a new member: eqno;
86 (find_identical_invariants): Update eqno;
87 (create_new_invariant): Init eqno;
88 (get_inv_cost): Compute comp_cost with eqno;
89
4ed3092f
SB
902014-07-02 Segher Boessenkool <segher@kernel.crashing.org>
91
92 * genconfig.c (have_rotate_flag, have_rotatert_flag): New variables.
93 (walk_insn_part) <ROTATE, ROTATERT>: New cases.
94 (main): Conditionally write HAVE_rotate resp. HAVE_rotatert.
95 * simplify-rtx.c (simplify_binary_operation_1) <ROTATE, ROTATERT>:
96 Only do the transformation if both HAVE_rotate and HAVE_rotatert.
97
cbb1e3d9
CB
982014-07-02 Christian Bruel <christian.bruel@st.com>
99
513c5c74
CB
100 PR target/29349
101 PR target/53513
cbb1e3d9
CB
102 * mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
103 (make_preds_opaque): Delete.
104 (clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
105 (commit_mode_sets): New function.
106 (optimize_mode_switching): Handle current_mode to mode_switching_emit.
107 Process all modes at once.
108 * basic-block.h (pre_edge_lcm_avs): Declare.
109 * lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
110 Call clear_aux_for_edges. Fix comments.
111 (pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
112 (pre_edge_rev_lcm): Idem.
113 * config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode parameter.
114 * config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
115 * config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute): Idem.
116 * config/i386/i386.c (x96_emit_mode_set): Idem.
117 * config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
118 * config/sh/sh.md (toggle_pr): Defined if TARGET_FPU_SINGLE.
119 (fpscr_toggle) Disallow from delay slot.
120 * target.def (emit_mode_set): Add prev_mode parameter.
121 * doc/tm.texi: Regenerate.
122
c9d1a16a
KT
1232014-07-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
124
125 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
126 variable i.
127
d570d364
JH
1282014-07-01 Jan Hubicka <hubicka@ucw.cz>
129
130 * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
131 vtable_pointer_value_to_vtable): Constify.
132 (contains_polymorphic_type_p): Declare.
133 * ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
134 vtable_pointer_value_to_vtable): Constify.
135 (contains_polymorphic_type_p): New predicate.
136 * ipa-prop.c (ipa_set_jf_known_type): Allow types containing
137 polymorphic types.
138 (ipa_set_ancestor_jf): Likewise.
139 (detect_type_change): Return false in easy cases.
140 (compute_complex_assign_jump_func): Require type to contain
141 polymorphic type.
142 (compute_known_type_jump_func): Likewise.
143
549bcbd1
JH
1442014-07-01 Jan Hubicka <hubicka@ucw.cz>
145
146 * tree.c (decls_same_for_odr, decls_same_for_odr,
147 types_same_for_odr): Remove.
148 (type_in_anonymous_namespace_p): Constify argument.
149 * tree.h (types_same_for_odr, type_in_anonymous_namespace_p):
150 Constify.
151 * ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
152 (main_odr_variant): New function.
153 (hash_type_name): Make static; update assert; do not ICE on
154 non-records.
155 (types_same_for_odr): Bring here from tree.c; simplify
156 and remove old structural comparing code that doesn't work
157 for templates.
158 (odr_hasher::equal): Update assert.
159 (add_type_duplicate): Return true when bases should be computed;
160 replace incomplete loader by complete; do not output duplicated
161 warnings; do not ICE on non-records; set odr_violated flag.
162 (get_odr_type): Be ready to replace incomplete type by complete
163 one; work on ODR variants instead of main variants; reorder item
164 in array so bases have still smaller indexes.
165 (dump_type_inheritance_graph): Be ready for holdes in odr_types
166 array.
167 (possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.
168
25eff60d
CC
1692014-07-01 Cary Coutant <ccoutant@google.com>
170
171 * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
172 lookup.
173 (resolve_addr_in_expr): When replacing the rtx in a location list
174 entry, get a new address table entry.
175 (dwarf2out_finish): Call index_location_lists even if there are no
176 addr_index_table entries yet.
177
6ab56804
TS
1782014-07-01 Trevor Saunders <tsaunders@mozilla.com>
179
180 * config/i386/winnt.c (i386_pe_section_type_flags): Revert previous
181 change for not being obvious.
182
5c9130b3
TS
1832014-07-01 Trevor Saunders <tsaunders@mozilla.com>
184
185 * config/i386/winnt.c (i386_pe_section_type_flags): Remove name of
186 unused argument.
187
39f90912
KT
1882014-07-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
189
190 * config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
191 (vcagt_f64): Likewise.
192 (vcale_f64): Likewise.
193 (vcaled_f64): Likewise.
194 (vcales_f32): Likewise.
195 (vcalt_f64): Likewise.
196 (vcaltd_f64): Likewise.
197 (vcalts_f32): Likewise.
198
52ec0ea3
MP
1992014-07-01 Marek Polacek <polacek@redhat.com>
200
201 * doc/invoke.texi: Document -Wint-conversion.
202
d5c3d343
MP
2032014-07-01 Marek Polacek <polacek@redhat.com>
204
205 PR c/58286
206 * doc/invoke.texi: Document -Wincompatible-pointer-types.
207
e55637b7
ML
2082014-07-01 Martin Liska <mliska@suse.cz>
209
210 IPA REF alias refactoring
211 * cgraph.h (iterate_direct_aliases): New function.
212 (FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
213 * cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
214 FOR_EACH_ALIAS added.
215 (cgraph_for_node_and_aliases): Likewise.
216 * cgraphunit.c (assemble_thunks_and_aliases): Likewise.
217 * ipa-inline.c (reset_edge_caches): Likewise.
218 (update_caller_keys): Likewise.
219 * trans-mem.c (ipa_tm_execute): Likewise.
220 *varpool.c (varpool_analyze_node): Likewise.
221 (varpool_for_node_and_aliases): Likewise.
222 * ipa-ref.h (first_alias): New function.
223 (last_alias): Likewise.
224 (has_aliases_p): Likewise.
225 * ipa-ref.c (ipa_ref::remove_reference): Removal function
226 is sensitive to IPA_REF_ALIASes.
227 * symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
228 are put at the beginning of the list.
229 (symtab_node::iterate_direct_aliases): New function.
230
010f4e27
JH
2312014-06-28 Jan Hubicka <hubicka@ucw.cz>
232
233 Revert:
234 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
235 is complete.
236 (write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
237 types; do not stream duplicated fields for variants; sanity check that variant
238 and type match.
239 (write_ts_type_non_common_tree_pointers): Likewise.
240 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
241 type is complete.
242 (lto_input_ts_type_common_tree_pointers): Do same changes as in
243 write_ts_type_common_tree_pointers
244 (lto_input_ts_type_non_common_tree_pointers): Likewise.
245
0ca59830
JM
2462014-06-30 Joseph Myers <joseph@codesourcery.com>
247
248 * var-tracking.c (add_stores): Return instead of asserting if old
249 and new values for conditional store are the same.
250
fc56f9d2
RH
2512014-06-30 Richard Henderson <rth@redhat.com>
252
253 PR rtl-opt/61608
254 PR target/39284
255 * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
256 the cfg if there were any changes.
257 * passes.def: Revert move of peephole2 after reorder_blocks;
258 move duplicate_computed_gotos before peephole2.
259
a4a51a52
UB
2602014-06-30 Uros Bizjak <ubizjak@gmail.com>
261
262 * except.c (emit_note_eh_region_end): New helper function.
263 (convert_to_eh_region_ranges): Use emit_note_eh_region_end to
264 emit EH_REGION_END note.
265 * jump.c (cleanup_barriers): Do not split a call and its
266 corresponding CALL_ARG_LOCATION note.
267
4f82fed2
JL
2682014-06-30 Jeff Law <law@redhat.com>
269
270 PR tree-optimization/61607
271 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
272 deeper into the SSA_NAME_VALUE chain.
273
6a7253a4
MP
2742014-06-30 Marek Polacek <polacek@redhat.com>
275
276 * convert.c (convert_to_integer): Don't instrument conversions if the
277 function has no_sanitize_undefined attribute.
278 * ubsan.c: Don't run the ubsan pass if the function has
279 no_sanitize_undefined attribute.
280
670d96d7
JJ
2812014-06-30 Jakub Jelinek <jakub@redhat.com>
282
283 * doc/invoke.texi (-fsanitize=bounds): Move to the table with
284 -fsanitize=undefined suboptions.
285
f7c4e5b8
AL
2862014-06-30 Alan Lawrence <alan.lawrence@arm.com>
287
288 * config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
289 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
290 against bigendian and adjust indices.
291
10e4b632
GP
2922014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
293
294 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
295
21a7b5e1
MS
2962014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
297
298 PR target/61633
299 * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
300 Add alternative; make early clobber. Adjust both split patterns
301 to use operand 0 as the working register.
302
85c00e0b
JJ
3032014-06-30 Jakub Jelinek <jakub@redhat.com>
304
5acd5cf0
UB
305 * ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0,
306 as ira_object_id_map might be NULL, or 1.
85c00e0b 307
51a69168
ZC
3082014-06-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
309
310 * loop-invariant.c (get_inv_cost): Handle register class.
311 (gain_for_invariant): Check the register pressure of the inv
312 and its overlapped register class, other than all.
313
a938d018
GP
3142014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
315
316 * doc/invoke.texi (Optimize Options): Fix descriptions of
317 ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
318
3a96c7cc
DW
3192014-06-29 David Wohlferd <dw@LimeGreenSocks.com>
320
321 * doc/extend.texi (Function Attributes): Update 'naked' attribute
322 documentation.
323
7d1ceb93
TG
3242014-06-29 Tobias Grosser <tobias@grosser.es>
325
dabb1a20 326 PR bootstrap/61650
7d1ceb93
TG
327 * graphite-isl-ast-to-gimple.c: Add missing guards.
328
f6cc3103
RG
3292014-06-29 Roman Gareev <gareevroman@gmail.com>
330
5acd5cf0
UB
331 * Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
332 * common.opt: Add new switch fgraphite-code-generator=[isl|cloog].
333 * flag-types.h: Add new enum fgraphite_generator.
f6cc3103
RG
334 * graphite-isl-ast-to-gimple.c: New.
335 * graphite-isl-ast-to-gimple.h: New.
5acd5cf0
UB
336 * graphite.c (graphite_transform_loops): Add choice of Graphite
337 code generator, which depends on flag_graphite_code_gen.
f6cc3103 338
516a84f7
RG
3392014-06-29 Roman Gareev <gareevroman@gmail.com>
340
5acd5cf0
UB
341 * graphite-dependences.c (subtract_commutative_associative_deps):
342 Add NULL checking of the following variables: must_raw_no_source,
343 may_raw_no_source, must_war_no_source, may_war_no_source,
344 must_waw_no_source, may_waw_no_source, must_raw, may_raw,
345 must_war, may_war, must_waw, may_waw.
516a84f7 346
db72d606
RG
3472014-06-29 Roman Gareev <gareevroman@gmail.com>
348
5acd5cf0
UB
349 * graphite-clast-to-gimple.c: gloog is renamed to
350 graphite_regenerate_ast_cloog. gloog_error is renamed to
351 graphite_regenerate_error.
352 * graphite-clast-to-gimple.h: The definition of the struct
353 bb_pbb_def is moved to graphite-htab.h.
db72d606 354 Add inclusion of the hash-table.h.
5acd5cf0 355 * graphite-htab.h: The declaration of the function gloog is moved
db72d606
RG
356 to graphite-clast-to-gimple.h and renamed to
357 graphite_regenerate_ast_cloog.
5acd5cf0
UB
358 * graphite.c (graphite_transform_loops): gloog is renamed
359 to graphite_regenerate_ast_cloog.
db72d606 360
288eeff7
JH
3612014-06-28 Jan Hubicka <hubicka@ucw.cz>
362
5acd5cf0 363 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
288eeff7 364 type is complete.
5acd5cf0
UB
365 (write_ts_type_common_tree_pointers): Do not stream fields not set
366 for incomplete types; do not stream duplicated fields for variants;
367 sanity check that variant and type match.
368 (write_ts_type_non_common_tree_pointers): Likewise.
369 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
370 TYPE_SIZE whether type is complete.
288eeff7
JH
371 (lto_input_ts_type_common_tree_pointers): Do same changes as in
372 write_ts_type_common_tree_pointers
373 (lto_input_ts_type_non_common_tree_pointers): Likewise.
374
d0bd8245
JH
3752014-06-28 Jan Hubicka <hubicka@ucw.cz>
376
377 * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
378
8910466a
JH
3792014-06-28 Jan Hubicka <hubicka@ucw.cz>
380
381 * tree-inline.c (remap_type_1): Do not duplicate fields
382 that are shared in between type and its main variant.
383
b49407f8
JH
3842014-06-28 Jan Hubicka <hubicka@ucw.cz>
385
386 * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
387 of the type.
388 (ipa_set_ancestor_jf) Likewise.
389 (check_stmt_for_type_change): Check that we work on main variant.
390 (detect_type_change): Look into main variant.
391 (compute_known_type_jump_func): Check that main variant has BINFO.
392
c7e1befa
JH
3932014-06-28 Jan Hubicka <hubicka@ucw.cz>
394
395 * ipa-devirt.c (set_type_binfo): New function.
396 (add_type_duplicate): Use it.
397 (get_odr_type): Sanity check that binfos points to main variants.
398 (get_class_context): Be sure the context's outer_type is main variant.
399 (contains_type_p): Walk main variant.
5acd5cf0
UB
400 (get_polymorphic_call_info_for_decl): Set outer_type to be
401 main variant.
c7e1befa 402 (get_polymorphic_call_info): Likewise.
5acd5cf0
UB
403 (possible_polymorphic_call_targets): Sanity check that we operate
404 on main variant.
c7e1befa 405
7ae2e72c
JH
4062014-06-28 Jan Hubicka <hubicka@ucw.cz>
407
5acd5cf0 408 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
7ae2e72c 409
a8647163
UW
4102014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
411
412 * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
413 accidental change due to wide-int branch merge.
414
29d7cbd1
RO
4152014-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
416
417 * configure.ac (gcc_cv_as_compress_debug): Check for assembler
418 compressed debug support.
5acd5cf0 419 (gcc_cv_ld_compress_debug): Check for linker compressed debug support.
29d7cbd1
RO
420 * configure: Regenerate.
421 * config.in: Regenerate.
422 * common.opt (compressed_debug_sections): New enum.
423 (gz, gz=): New options.
5acd5cf0 424 * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC): Define.
29d7cbd1
RO
425 (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
426 (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
427 * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
428 LINK_COMPRESS_DEBUG_SPEC.
429 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
430 * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
5acd5cf0 431 * doc/invoke.texi (Option Summary, Debugging Options): Add -gz[=type].
29d7cbd1
RO
432 (Debugging Options): Document -gz[=type].
433
d284e1b8
MJ
4342014-06-27 Martin Jambor <mjambor@suse.cz>
435
436 PR ipa/61160
437 * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
438 args_to_skip, use those from node instead. Copy args_to_skip and
439 combined_args_to_skip from node to the new thunk.
440 (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
441 (cgraph_create_virtual_clone): Moved computation of
442 combined_args_to_skip...
443 (cgraph_clone_node): ...here, simplify it to bitmap_ior..
444
f012c1ab
TS
4452014-06-27 trevor Saunders <tsaunders@mozilla.com>
446
447 * config/i386/winnt.c (i386_pe_section_type_flags): Remove
448 redundant diagnostic machinary.
449
3fd269db
RB
4502014-06-27 Richard Biener <rguenther@suse.de>
451
452 * tree-ssa-math-opts.c (bswap_replace): Fix
453 SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
454
807b7d62
ML
4552014-06-27 Martin Liska <mliska@suse.cz>
456
457 * gimple.h (gimple_location_safe): New function introduced.
458 * cgraphunit.c (walk_polymorphic_call_targets): Usage
459 of gimple_location_safe replaces gimple_location.
460 (gimple_fold_call): Likewise.
461 * ipa-devirt.c (ipa_devirt): Likewise.
462 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
463 * ipa.c (walk_polymorphic_call_targets): Likewise.
464 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
465
a4ee446d
JJ
4662014-06-27 Jakub Jelinek <jakub@redhat.com>
467
468 PR tree-optimization/57233
469 PR tree-optimization/61299
470 * tree-vect-generic.c (get_compute_type, count_type_subparts): New
471 functions.
472 (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
473 would be lowered to scalar shifts, check if corresponding
474 shifts and vector BIT_IOR_EXPR are supported and don't lower
475 or lower just to narrower vector type in that case.
476 * expmed.c (expand_shift_1): Fix up handling of vector
477 shifts and rotates.
478
dd5e7837
UB
4792014-06-26 Uros Bizjak <ubizjak@gmail.com>
480
481 PR target/61586
482 * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
483
e288a46c
JH
4842014-06-26 Jan Hubicka <hubicka@ucw.cz>
485
486 * doc/invoke.texi (-fsemantic-interposition): Document.
487 * common.opt (fsemantic-interposition): New flag.
488 * varasm.c (decl_replaceable_p): Use it.
489
6a742466
BS
4902014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
491
492 PR target/61542
493 * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
494 extraction other than index 3.
495
f14726bd
TJ
4962014-06-26 Teresa Johnson <tejohnson@google.com>
497
498 * doc/invoke.texi: Fix typo.
499 * dumpfile.c: Add support for documented -fdump-* options
500 optimized/missed/note/optall.
501
680a5a7c
MJ
5022014-06-26 Martin Jambor <mjambor@suse.cz>
503
504 * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
505 (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
506 (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
507 (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
508 * opts.c (default_options_optimization): Set
509 PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
510 * doc/invoke.texi (allow-load-data-races)
dd5e7837 511 (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
680a5a7c
MJ
512 (allow-store-data-races): Document the new default.
513
72972c22
MJ
5142014-06-26 Martin Jambor <mjambor@suse.cz>
515
516 * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
517 renamed to ipa_impossible_devirt_target. Fix typo.
518 * ipa-prop.h (ipa_impossible_devirt_target): Declare.
519 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
520 ipa_impossible_devirt_target.
521
73c7d6bc
RB
5222014-06-26 Richard Biener <rguenther@suse.de>
523
524 PR tree-optimization/61607
525 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
526 explaining why we restrict copies on loop depth.
527 * tree-ssa-dom.c (cprop_operand): Remove restriction on
528 on loop depth.
529 (record_equivalences_from_phis): Instead add it here.
530
a185856a
BS
5312014-06-26 Bernd Schmidt <bernds@codesourcery.com>
532
dd5e7837
UB
533 * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
534 (LTO_WRAPPER_OBJS): New variable.
535 (lto-wrapper$(exeext)): Use it.
536 * collect2.c: Include "collect-utils.h".
537 (verbose, debug): Remove variables.
538 (at_file_supplied): No longer static.
539 (tool_name): New variable.
540 (do_wait, fork_execute, maybe_unlink): Don't declare.
541 (tool_cleanup): No longer static.
542 (notice): Remove function.
543 (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
544 fork_execute calls.
545 (collect_wait, do_wait, collect_execute): Remove functions.
546 (maybe_unlink): No longer static.
547 * collect2.h (verbose, debug): Don't declare.
548 (at_file_supplied): Declare.
549 * collect-utils.c (utils_cleanup): New arg from_signal. All callers
550 changed.
551 (collect_execute): Replace with implementation from collect2, plus a
552 new arg use_atfile. All callers changed.
553 (collect_wait): Replace with implementation from collect2.
554 (maybe_unlink_file): Remove function.
555 (fork_execute): Replace with implementation from collect2, plus a
556 new arg use_atfile. All callers changed.
557 (do_wait): Add call to utils_cleanup to the error path.
558 * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
559 (tool_cleanup): Adjust declarations.
560 * lto-wrapper.c (tool_cleanup): Add unused bool argument.
561 * tlink.c: Include "collect-utils.h".
562 (tlink_execute): New arg use_atfile. All callers changed.
563 (tlink_init, tlink_execute): Remove declarations.
564
565 * collect-utils.c (save_temps): New variable.
566 (do_wait): Use it instead of debug. Use fatal_error.
567 * collect-utils.h (save_temps): Declare.
568 * collect2.c (verbose): Rename from vflag. All uses changed.
569 (tool_cleanup): New function, copied from collect_atexit.
570 (collect_atexit, handler): Just call it.
571 * collect2.h (verbose): Declaration renamed from vflag.
572 * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
573 debug.
574
575 * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
576 (lto-wrapper$(exeext)): Link with collect-utils.o.
577 * collect-utils.c: New file.
578 * collect-utils.h: New file.
579 * lto-wrapper.c: Include "collect-utils.h".
580 (args_name): Delete variable.
581 (tool_name): New variable.
582 (tool_cleanup): New function.
583 (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
584 (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
585 (fork_execute): Remove functions.
a185856a 586
5ed8a176
NC
5872014-06-26 Nick Clifton <nickc@redhat.com>
588
53d51ddb
NC
589 * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
590
5ed8a176
NC
591 * doc/extend.texi (Function Attributes): Fix typo in description
592 of RX vector attribute.
593
0cdb761c
JG
5942014-06-26 James Greenhalgh <james.greenhalgh@arm.com>
595
596 * config.gcc (supported_defaults): Error when passing either
597 --with-tune or --with-arch in conjunction with --with-cpu for ARM.
598
cbe26b97
RB
5992014-06-26 Richard Biener <rguenther@suse.de>
600
601 * tree-ssa-dom.c (cprop_operand): Remove restriction on
602 propagating volatile pointers.
603
974bb959
RB
6042014-06-26 Richard Biener <rguenther@suse.de>
605
606 PR tree-optimization/61607
607 * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
608 loop if we redirected its latch edge.
609 (thread_block_1): Do not cancel loops prematurely.
610
b9b5f433
JH
6112014-06-25 Jan Hubicka <hubicka@ucw.cz>
612
dd5e7837
UB
613 * toplev.c (backend_init_target): Move init_emit_regs and
614 init_regs to...
b9b5f433 615 (backend_init) ... here; skip ira_init_once and backend_init_target.
dd5e7837
UB
616 (target_reinit) ... and here; clear
617 this_target_rtl->lang_dependent_initialized.
618 (lang_dependent_init_target): Clear
619 this_target_rtl->lang_dependent_initialized;
b9b5f433 620 break out rtl initialization to ...
dd5e7837
UB
621 (initialize_rtl): ... here; call also backend_init_target
622 and ira_init_once.
b9b5f433
JH
623 * toplev.h (initialize_rtl): New function.
624 * function.c: Include toplev.h
625 (init_function_start): Call initialize_rtl.
626 * rtl.h (target_rtl): Add target_specific_initialized,
627 lang_dependent_initialized.
628
646d1bed
PG
6292014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
630 Jakub Jelinek <jakub@redhat.com>
631
632 * gcc.c (set_multilib_dir): Malloc "." pointer as well.
633
db88b449
TV
6342014-06-25 Tom de Vries <tom@codesourcery.com>
635
636 * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
637
f9bb13f3
BE
6382014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
639
640 * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
641 check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
642 Issue a strict overflow warning if appropriate.
643
d122681a
ML
6442014-06-25 Martin Liska <mliska@suse.cz>
645
646 IPA REF refactoring
647 * Makefile.in: Removed header file (ipa-ref-inline.h).
648 * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
649 called.
650 (cgraph_speculative_call_info): Likewise.
651 (cgraph_for_node_thunks_and_aliases): Likewise.
652 (cgraph_for_node_and_aliases): Likewise.
653 (verify_cgraph_node): Likewise.
654 * cgraph.h: Batch of IPA REF functions become member functions of
655 symtab_node: add_reference, maybe_add_reference, clone_references,
656 clone_referring, clone_reference, find_reference,
657 remove_stmt_references, remove_all_references,
658 remove_all_referring, dump_references, dump_referring,
659 has_alias_p, iterate_reference, iterate_referring.
660 * cgraphbuild.c (record_reference): New IPA REF function used.
661 (record_type_list): Likewise.
662 (record_eh_tables): Likewise.
663 (mark_address): Likewise.
664 (mark_load): Likewise.
665 (mark_store): Likewise.
666 (pass_build_cgraph_edges): Likewise.
667 (rebuild_cgraph_edge): Likewise.
668 (cgraph_rebuild_references): Likewise.
669 (pass_remove_cgraph_callee_edges): Likewise.
670 * cgraphclones.c (cgraph_clone_node): Likewise.
671 (cgraph_create_virtual_clone): Likewise.
672 (cgraph_materialize_clone): Likewise.
673 (cgraph_materialize_all_clones): Likewise.
674 * cgraphunit.c (cgraph_reset_node): Likewise.
675 (cgraph_reset_node): Likewise.
676 (analyze_function): Likewise.
677 (assemble_thunks_and_aliases): Likewise.
678 (expand_function): Likewise.
679 * ipa-comdats.c (propagate_comdat_group): Likewise.
680 (enqueue_references): Likewise.
681 * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
682 (create_specialized_node): Likewise.
683 * ipa-devirt.c (referenced_from_vtable_p): Likewise.
684 * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
685 * ipa-inline.c (reset_edge_caches): Likewise.
686 (update_caller_keys): Likewise.
687 (execute): Likewise.
688 * ipa-prop.c (remove_described_reference): Likewise.
689 (propagate_controlled_uses): Likewise.
690 (ipa_edge_duplication_hook): Likewise.
691 (ipa_modify_call_arguments): Likewise.
692 * ipa-pure-const.c (propagate_pure_const): Likewise.
693 * ipa-ref-inline.h: Header file removed, functions moved
694 to symtab_node class.
695 * ipa-ref.c (remove_reference): New class member function.
696 (cannot_lead_to_return): New class member function.
697 (referring_ref_list): Likewise.
698 (referred_ref_list): Likewise.
699 Rest of functions moved to symtab_node class.
700 * ipa-ref.h: New member functions remove_reference,
701 cannot_lead_to_return, referring_ref_list, referred_ref_list added
702 to ipa_ref class.
703 ipa_ref_list class has new member functions: first_reference,
704 first_referring, clear, nreferences.
705 * ipa-reference.c (analyze_function): New IPA REF function used.
706 (write_node_summary_p): Likewise.
707 (ipa_reference_write_optimization_summary): Likewise.
708 * ipa-split.c (split_function): Likewise.
709 * ipa-utils.c (ipa_reverse_postorder): Likewise.
710 * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
711 (function_and_variable_visibility): Likewise.
712 * ipa.c (has_addr_references_p): Likewise.
713 (process_references): Argument type changed.
714 (symtab_remove_unreachable_nodes): New IPA REF function used.
715 (process_references): Likewise.
716 (set_writeonly_bit): Likewise.
717 * lto-cgraph.c: Implementation of new symtab_node member functions
718 that uses new IPA REF functions.
dd5e7837
UB
719 * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
720 function used.
d122681a
ML
721 * lto-streamer-out.c (output_symbol_p): Likewise.
722 * lto-streamer.h (referenced_from_this_partition_p): Argument type
723 changed.
d122681a
ML
724 * symtab.c: Implementation of new IPA REF API.
725 * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
726 (ipa_tm_create_version): Likewise.
727 (ipa_tm_execute): Likewise.
728 * tree-emutls.c (gen_emutls_addr): Likewise.
729 * tree-inline.c (copy_bb): Likewise.
730 (delete_unreachable_blocks_update_callgraph): Likewise.
731 * varpool.c (varpool_remove_unreferenced_decls): Likewise.
732 (varpool_for_node_and_aliases): Likewise.
733
81d0a226
TS
7342014-06-25 Trevor Saunders <tsaunders@mozilla.com>
735
736 * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
737
86fcf7ce
TS
7382014-06-25 Trevor Saunders <tsaunders@mozilla.com>
739
740 PR bootstrap/61598
741 * fold-const.c (fold_checksum_tree): Use a hash_table of const
742 tree_node * instead of tree_node *.
743 (fold): Adjust.
744 (print_fold_checksum): Likewise.
745 (fold_check_failed): Likewise.
746 (debug_fold_checksum): Likewise.
747 (fold_build1_stat_loc): Likewise.
748 (fold_build2_stat_loc): Likewise.
749 (fold_build3_stat_loc): Likewise.
750 (fold_build_call_array_loc): Likewise.
751
b36e833f
DE
7522014-06-25 David Edelsohn <dje.gcc@gmail.com>
753
754 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
755 implementation with call to...
756 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
757 function.
758 * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
759 Declare.
760
20cb2258
MG
7612014-06-25 Marc Glisse <marc.glisse@inria.fr>
762
763 PR tree-optimization/57742
764 * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
765 after replacing the statement.
766
cd47dfd0
NC
7672014-06-25 Nick Clifton <nickc@redhat.com>
768
769 * config/v850/v850.c (GHS_default_section_names): Change to const
770 char * type.
771 (GHS_current_section_names): Likewise.
772 (v850_insert_attributes): Do not build strings, just assign the
773 names directly. Change the type of 'chosen_section' to const
774 char*.
775 * config/v850/v850-c.c (ghs_pragma_section): Assign the alias
776 directly to the array entry.
777 * config/v850/v850.h (GHS_default_section_names): Change to const
778 char * type.
779 (GHS_current_section_names): Likewise.
780
da6f124d
JJ
7812014-06-25 Jakub Jelinek <jakub@redhat.com>
782
783 * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
784 (LANG_HOOKS_DECLS): Add it.
785 * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
786 has correct type.
787 * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
788 * langhooks.h (struct lang_hooks_for_decls): Add
789 omp_clause_linear_ctor hook.
790 * omp-low.c (lower_rec_input_clauses): Set max_vf even if
791 OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
792 OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
793 combined simd loop use omp_clause_linear_ctor hook.
794
79d652a5
CH
7952014-06-24 Cong Hou <congh@google.com>
796
797 * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
798 pattern recognition.
799 (type_conversion_p): PROMOTION is true if it's a type promotion
800 conversion, and false otherwise. Return true if the given expression
801 is a type conversion one.
802 * tree-vectorizer.h: Adjust the number of patterns.
803 * tree.def: Add SAD_EXPR.
804 * optabs.def: Add sad_optab.
805 * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
806 * expr.c (expand_expr_real_2): Likewise.
807 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
808 * gimple.c (get_gimple_rhs_num_ops): Likewise.
809 * optabs.c (optab_for_tree_code): Likewise.
810 * tree-cfg.c (estimate_operator_cost): Likewise.
811 * tree-ssa-operands.c (get_expr_operands): Likewise.
812 * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
813 * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
814 * doc/generic.texi: Add document for SAD_EXPR.
815 * doc/md.texi: Add document for ssad and usad.
816
3c032229
TS
8172014-06-24 Trevor Saunders <tsaunders@mozilla.com>
818
819 * config/i386/winnt.c (i386_pe_section_type_flags): Fix const
820 qualification in cast.
821
aaf8a23e
JH
8222014-06-24 Jan Hubicka <hubicka@ucw.cz>
823
824 * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
825 * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
826 * tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
827 (tree_function_decl): ... here.
828 * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
829 streaming of vindex to ...
830 (write_ts_function_decl_tree_pointers): ... here.
831 * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
832 Do not stream DECL_VINDEX.
833 (lto_input_ts_function_decl_tree_pointers): Stream it here.
834
ecc63043
CM
8352014-06-24 Catherine Moore <clm@codesourcery.com>
836 Sandra Loosemore <sandra@codesourcery.com>
837
838 * config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
839 * config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
840 * config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
841
db8965fc
MG
8422014-06-24 Marc Glisse <marc.glisse@inria.fr>
843
844 * doc/invoke.texi (Warning Options): Remove duplicated
845 -Wmaybe-uninitialized.
846
24314386
MG
8472014-06-24 Marc Glisse <marc.glisse@inria.fr>
848
849 PR tree-optimization/57742
850 * tree-ssa-strlen.c (get_string_length): Ignore malloc.
851 (handle_builtin_malloc, handle_builtin_memset): New functions.
852 (strlen_optimize_stmt): Call them.
853 * passes.def: Move strlen after loop+dom but before vrp.
854
8d37375b
JJ
8552014-06-24 Jakub Jelinek <jakub@redhat.com>
856
857 PR target/61570
858 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
859 model family 6 CPU with has_longmode never use a CPU without
860 64-bit support.
861
fb112177
L
8622014-06-24 H.J. Lu <hongjiu.lu@intel.com>
863
864 PR target/61570
865 * config/i386/driver-i386.c (host_detect_local_cpu): Revert
866 the last change.
867
1eb68d2d
TS
8682014-06-24 Trevor Saunders <tsaunders@mozilla.com>
869
870 * alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
871 * dominance.c (iterate_fix_dominators): Use hash_map instead of
872 pointer_map.
873 * hash-map.h: New file.
874 * ipa-comdats.c: Use hash_map instead of pointer_map.
875 * ipa.c: Likewise.
876 * lto-section-out.c: Adjust.
877 * lto-streamer.h: Replace pointer_map with hash_map.
878 * symtab.c (verify_symtab): Likewise.
879 * tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
880 * tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
881 * tree-streamer.h: Likewise.
882 * tree-streamer.c: Adjust.
883 * pointer-set.h: Remove pointer_map.
884
84baa4b9
TS
8852014-06-24 Trevor Saunders <tsaunders@mozilla.com>
886
887 * hash-table.h: Add a template arg to choose between storing values
888 and storing pointers to values, and then provide partial
889 specializations for both.
890 * tree-browser.c (tree_upper_hasher): Provide the type the hash table
891 should store, not the type values should point to.
892 * tree-into-ssa.c (var_info_hasher): Likewise.
893 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
894 * tree-complex.c: Adjust.
895 * tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
896 table instead of int_tree_map *.
897 * tree-parloops.c: Adjust.
898 * tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
899 type is being stored.
900 * tree-vectorizer.c: Adjust.
901
c203e8a7
TS
9022014-06-24 Trevor Saunders <tsaunders@mozilla.com>
903
904 * hash-table.h: Remove a layer of indirection from hash_table so that
905 it contains the hash table's data instead of a pointer to the data.
906 * alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
907 config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
908 config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
909 data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
910 fold-const.c, gcse.c, ggc-common.c,
911 gimple-ssa-strength-reduction.c, gimplify.c,
912 graphite-clast-to-gimple.c, graphite-dependences.c,
913 graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
914 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
915 loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
916 lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
917 postreload-gcse.c, sese.c, statistics.c, store-motion.c,
918 trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
919 tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
920 tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
921 tree-ssa-live.c, tree-ssa-loop-im.c,
922 tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
923 tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
924 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
925 tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
dd5e7837
UB
926 tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
927 tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
928 vtable-verify.c, vtable-verify.h: Adjust.
c203e8a7 929
99753277
RB
9302014-06-24 Richard Biener <rguenther@suse.de>
931
932 PR tree-optimization/61572
933 * tree-ssa-sink.c (statement_sink_location): Do not sink
934 loads from hard registers.
935
b46ebd6c
JJ
9362014-06-24 Jakub Jelinek <jakub@redhat.com>
937
56ad0e38
JJ
938 * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
939 not mentioned in clauses use private clause if the iterator is
940 declared in #pragma omp for simd, and when adding lastprivate
941 instead, add it to the outer #pragma omp for too. Diagnose
942 if the variable is private in outer context. For simd collapse > 1
943 loops, replace all iterators with temporaries.
944 * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
945 same even in collapse > 1 loops.
946
b46ebd6c
JJ
947 * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
948 OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
949 non-NULL.
950 <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
951 (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
952 non-NULL.
953 (gimplify_adjust_omp_clauses): Likewise.
954 * omp-low.c (lower_rec_simd_input_clauses,
955 lower_rec_input_clauses, expand_omp_simd): Handle non-constant
956 safelen the same as safelen(1).
957 * tree-nested.c (convert_nonlocal_omp_clauses,
958 convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
959 OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
960 (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
961 Fixup handling of GIMPLE_OMP_TARGET.
962 (convert_tramp_reference_stmt, convert_gimple_call): Handle
963 GIMPLE_OMP_TARGET.
964
33512353
CLT
9652014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
966
967 PR tree-optimization/61554
968 * tree-ssa-propagate.c: Include "bitmap.h".
969 (substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
970 properly update constructor/destructor.
971 (substitute_and_fold_dom_walker::before_dom_children):
972 Remove call to gimple_purge_dead_eh_edges, add bb->index to
973 need_eh_cleaup instead.
974 (substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
975 need_eh_cleanup.
976
eb6a09a7
JH
9772014-06-23 Jan Hubicka <hubicka@ucw.cz>
978
979 * varpool.c (dump_varpool_node): Dump used_by_single_function.
980 * tree-pass.h (make_pass_ipa_single_use): New pass.
981 * cgraph.h (used_by_single_function): New flag.
dd5e7837
UB
982 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
983 Stream it.
eb6a09a7
JH
984 * passes.def (pass_ipa_single_use): Scedule.
985 * ipa.c (BOTTOM): New macro.
986 (meet): New function
987 (propagate_single_user): New function.
988 (ipa_single_use): New function.
989 (pass_data_ipa_single_use): New pass.
990 (pass_ipa_single_use): New pass.
991 (pass_ipa_single_use::gate): New gate.
992 (make_pass_ipa_single_use): New function.
993
47c80ef5
KT
9942014-06-23 Kai Tietz <ktietz@redhat.com>
995
996 PR target/39284
dd5e7837
UB
997 * passes.def (peephole2): Move peephole2 pass before sched2 pass.
998 * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
47c80ef5 999
e5d8bd8c
RB
10002014-06-23 Richard Biener <rguenther@suse.de>
1001
1002 * tree-ssa-loop.c (gate_loop): New function.
1003 (pass_tree_loop::gate): Call it.
1004 (pass_data_tree_no_loop, pass_tree_no_loop,
1005 make_pass_tree_no_loop): New.
1006 * tree-vectorizer.c: Include tree-scalar-evolution.c
1007 (pass_slp_vectorize::execute): Initialize loops and SCEV if
1008 required.
1009 (pass_slp_vectorize::clone): New method.
1010 * timevar.def (TV_TREE_NOLOOP): New.
1011 * tree-pass.h (make_pass_tree_no_loop): Declare.
1012 * passes.def (pass_tree_no_loop): New pass group with
1013 SLP vectorizer.
1014
228e5d2b
L
10152014-06-23 H.J. Lu <hongjiu.lu@intel.com>
1016
1017 PR target/61570
1018 * config/i386/driver-i386.c (host_detect_local_cpu): Set arch
1019 to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
1020
0379033b
JG
10212014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
1022
1023 * config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
1024 "yes" where needed.
1025
82bb9245
AM
10262014-06-23 Alan Modra <amodra@gmail.com>
1027
1028 PR bootstrap/61583
1029 * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
1030 to zero on debug statements.
1031
de6c4e1f 10322014-06-23 Alan Lawrence <alan.lawrence@arm.com>
096c59be
AL
1033
1034 PR target/60825
1035 * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
1036 Ignore third operand if present by marking qualifier_internal.
1037
1038 * config/aarch64/aarch64-simd-builtins.def (abs): Comment.
1039
1040 * config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
1041 vector extension.
1042 (aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
1043 arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
1044 (vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
1045 vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
1046 vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
1047 vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
1048 vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
1049 vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
1050 vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
1051 vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
1052 vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
1053 vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
1054 vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
1055 vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
1056 vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
1057 vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
1058 logic in GCC vector extensions
82bb9245 1059
096c59be
AL
1060 (vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
1061 vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
1062 vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
1063 vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
1064 vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
1065 vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
1066 vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
1067 vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
1068 vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
1069 vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.
1070
1071 (vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.
1072
1073 (vget_high_s64, vget_high_u64): Reimplement with GCC vector
1074 extensions.
1075
1076 (__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
1077 (vget_low_s64): Use __GET_LOW macro.
1078 (vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
1079 gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
1080 (vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
1081 (vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
1082 __builtin_aarch64_lane_boundsi, use GCC vector extensions.
1083
1084 (vcombine_s64): Use GCC vector extensions; remove cast.
1085 (vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
1086 vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
1087 vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
1088 Fix type signature; remove cast.
1089
de6c4e1f 10902014-06-23 Alan Lawrence <alan.lawrence@arm.com>
c6a29a09
AL
1091
1092 PR target/60825
1093 * config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
1094 V1DFmode.
1095 * config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
1096 add V1DFmode
1097 (BUILTIN_VD1): New.
1098 (BUILTIN_VD_RE): Remove.
1099 (aarch64_init_simd_builtins): Add V1DF to modes/modenames.
1100 (aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
1101 * config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
1102 variant but not df.
1103 (vreinterpretv1df*, vreinterpret*v1df): New.
1104 (vreinterpretdf*, vreinterpret*df): Remove.
dd5e7837
UB
1105 * config/aarch64/aarch64-simd.md (aarch64_create,
1106 aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
c6a29a09
AL
1107 * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
1108 (VD1): New.
1109 * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
1110 (vcreate_f64): Remove cast, use v1df builtin.
1111 (vcombine_f64): Remove cast, get elements with gcc vector extensions.
1112 (vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
1113 vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
1114 vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
1115 vmov_n_f64, vst1_f64): Use gcc vector extensions.
1116 (vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
1117 add range check using __builtin_aarch64_im_lane_boundsi.
1118 (vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
1119 vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
1120 type signature, use gcc vector extensions.
1121 (vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
1122 vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
1123 vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
1124 vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
1125 vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
1126 vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
1127 vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
1128 vreinterpret_u64_f64): Use v1df builtin not df.
1129
463036be
JG
11302014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
1131
1132 * config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
1133 vector registers.
1134
1cff83e2
JH
11352014-06-23 Jan Hubicka <hubicka@ucw.cz>
1136
dd5e7837
UB
1137 * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
1138 priority directly.
1cff83e2 1139
2c97f472
ZC
11402014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1141
1142 * loop-invariant.c (pre_check_invariant_p): New function.
1143 (find_invariant_insn): Call pre_check_invariant_p.
1144
08281ce0
RH
11452014-06-22 Richard Henderson <rth@redhat.com>
1146
1147 PR target/61565
1148 * compare-elim.c (struct comparison): Add eh_note.
1149 (find_comparison_dom_walker::before_dom_children): Don't eliminate
1150 a redundant comparison in a different EH region. Purge EH edges if
1151 necessary.
1152
37317a1f
SB
11532014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1154
1155 * config/rs6000/rs6000.md (maybe_var_shift): New define_attr.
1156 (var_shift): Use it.
1157 (rotl<mode>3, *rotlsi3_64, *rotl<mode>3_dot, *rotl<mode>3_dot2,
1158 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
1159 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
1160 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
1161 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
1162 *rotlsi3_internal12be, ashl<mode>3, *ashlsi3_64, *ashl<mode>3_dot,
1163 *ashl<mode>3_dot2, lshr<mode>3, *lshrsi3_64, *lshr<mode>3_dot,
1164 *lshr<mode>3_dot2, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot,
1165 *ashr<mode>3_dot2, *rotldi3_internal4, *rotldi3_internal5,
1166 *rotldi3_internal6, *rotldi3_internal7le, *rotldi3_internal7be,
1167 *rotldi3_internal8le, *rotldi3_internal8be, *rotldi3_internal9le,
1168 *rotldi3_internal9be, *rotldi3_internal10le, *rotldi3_internal10be,
1169 *rotldi3_internal11le, *rotldi3_internal11be, *rotldi3_internal12le,
1170 *rotldi3_internal12be, *rotldi3_internal13le, *rotldi3_internal13be,
1171 *rotldi3_internal14le, *rotldi3_internal14be, *rotldi3_internal15le,
1172 *rotldi3_internal15be): Use the new attribute. Merge register and
1173 integer alternatives.
1174
85c1cb22
SB
11752014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1176
1177 * config/rs6000/rs6000.md (ashrsi3, two anonymous define_insns and
1178 define_splits, ashrdi3, *ashrdi3_internal1, *ashrdi3_internal2 and
1179 split, *ashrdi3_internal3 and split): Delete, merge into...
1180 (ashr<mode>3): New expander.
1181 (*ashr<mode>3, ashr<mode>3_dot, ashr<mode>3_dot2): New.
1182 (*ashrsi3_64): Fix formatting. Replace "i" by "n".
1183
137b8eb2
SB
11842014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1185
1186 * config/rs6000/rs6000.md (rotlsi3, *rotlsi3_internal2 and split,
1187 *rotlsi3_internal3 and split, rotldi3, *rotldi3_internal2 and split,
1188 *rotldi3_internal3 and split): Delete, merge into...
1189 (rotl<mode>3, rotl<mode>3_dot, rotl<mode>3_dot2): New.
1190 (*rotlsi3_64): Fix formatting. Fix condition. Replace "i" by "n".
1191 Use "rotlw" extended mnemonic.
1192
d70be98e
SB
11932014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1194
1195 * config/rs6000/rs6000.md (ashlsi3, two anonymous define_insns
1196 and define_splits, ashldi3, *ashldi3_internal1, *ashldi3_internal2
1197 and split, *ashldi3_internal3 and split): Delete, merge into...
1198 (ashl<mode>3, ashl<mode>3_dot, ashl<mode>3_dot2): New.
1199 (*ashlsi3_64): Fix formatting. Replace "i" by "n".
1200
f39a447c
SB
12012014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1202
1203 * config/rs6000/rs6000.md ("hH"): New define_mode_attr.
1204 (lshrsi3, two anonymous define_insns and define_splits,
1205 lshrdi3, *lshrdi3_internal1, *lshrdi3_internal2 and split,
1206 *lshrdi3_internal3 and split): Delete, merge into...
1207 (lshr<mode>3, lshr<mode>3_dot, lshr<mode>3_dot2): New.
1208 (*lshrsi3_64): Fix formatting. Replace "i" by "n".
1209
1a2443af
SB
12102014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1211
1212 * config/rs6000/rs6000.md (lshrsi3, and its two dot patterns):
1213 Remove "O" alternative.
1214
82db17cb
RS
12152014-06-22 Richard Sandiford <rdsandiford@googlemail.com>
1216
1217 * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
1218 (mips_move_from_gpr_cost): Likewise.
1219 (mips_register_move_cost): Update accordingly.
1220 (mips_secondary_reload_class): Remove name of in_p.
1221
43c5fcfc
MG
12222014-06-22 Marc Glisse <marc.glisse@inria.fr>
1223
1224 PR target/61503
1225 * config/i386/i386.md (x86_64_shrd, x86_shrd,
1226 ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
1227
47657153
JBG
12282014-06-21 Jan-Benedict Glaw <jbglaw@lug-owl.de>
1229
1230 * config/nios2/nios2.c: Include "builtins.h".
1231
714c800f
JH
12322014-06-20 Jan Hubicka <hubicka@ucw.cz>
1233
1234 * cgraph.h (tls_model_names): New variable.
1235 * print-tree.c (print_node): Simplify.
1236 * varpool.c (tls_model_names): New variable.
1237 (dump_varpool_node): Output tls model.
1238
b4897212
JH
12392014-06-20 Jan Hubicka <hubicka@ucw.cz>
1240
1241 * ipa-visibility.c (function_and_variable_visibility): Disable
1242 temporarily local aliases for some targets.
1243
0e37a2f3
MP
12442014-06-20 Marek Polacek <polacek@redhat.com>
1245
1246 * asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
1247 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
1248 into SANITIZE_UNDEFINED.
1249 * doc/invoke.texi: Describe -fsanitize=bounds.
1250 * gimplify.c (gimplify_call_expr): Add gimplification of internal
1251 functions created in the FEs.
1252 * internal-fn.c: Move "internal-fn.h" after "tree.h".
1253 (expand_UBSAN_BOUNDS): New function.
1254 * internal-fn.def (UBSAN_BOUNDS): New internal function.
1255 * internal-fn.h: Don't define internal functions here.
1256 * opts.c (common_handle_option): Add -fsanitize=bounds.
1257 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
1258 BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
1259 * tree-core.h: Define internal functions here.
1260 (struct tree_base): Add ifn field.
1261 * tree-pretty-print.c: Include "internal-fn.h".
1262 (dump_generic_node): Handle functions without CALL_EXPR_FN.
1263 * tree.c (get_callee_fndecl): Likewise.
1264 (build_call_expr_internal_loc): New function.
1265 * tree.def (CALL_EXPR): Update description.
1266 * tree.h (CALL_EXPR_IFN): Define.
1267 (build_call_expr_internal_loc): Declare.
1268 * ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
1269 types.
1270 (ubsan_type_descriptor): Change bool parameter to enum
1271 ubsan_print_style. Adjust the code. Add handling of
1272 UBSAN_PRINT_ARRAY.
1273 (ubsan_expand_bounds_ifn): New function.
1274 (ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
1275 (ubsan_build_overflow_builtin): Likewise.
1276 (instrument_bool_enum_load): Likewise.
1277 (ubsan_instrument_float_cast): Likewise.
1278 * ubsan.h (enum ubsan_print_style): New enum.
1279 (ubsan_expand_bounds_ifn): Declare.
1280 (ubsan_type_descriptor): Adjust declaration. Use a default parameter.
1281
96740472
MR
12822014-06-20 Maciej W. Rozycki <macro@codesourcery.com>
1283
1284 * config/rs6000/rs6000.md: Append `DONE' to preparation
1285 statements of `bswap' pattern splitters.
1286
73b3e61b
TV
12872014-06-20 Tom de Vries <tom@codesourcery.com>
1288
1289 * target.def (call_fusage_contains_non_callee_clobbers): Update
1290 definition.
1291 * doc/tm.texi: Regenerate.
1292
0cbf438b
YG
12932014-06-20 Yury Gribov <y.gribov@samsung.com>
1294 Max Ostapenko <m.ostapenko@partner.samsung.com>
1295
1296 PR sanitizer/61547
1297 * asan.c (instrument_strlen_call): Fixed instrumentation of
1298 trailing byte.
1299
bec81025
MJ
13002014-06-20 Martin Jambor <mjambor@suse.cz>
1301
1302 PR ipa/61540
1303 * ipa-prop.c (impossible_devirt_target): New function.
1304 (try_make_edge_direct_virtual_call): Use it, also instead of
1305 asserting.
1306
bf613c02
YG
13072014-06-20 Yury Gribov <y.gribov@samsung.com>
1308 Max Ostapenko <m.ostapenko@partner.samsung.com>
1309
1310 PR sanitizer/61530
1311 * asan.c (build_check_stmt): Add condition.
1312
803d0ab0
MJ
13132014-06-20 Martin Jambor <mjambor@suse.cz>
1314
1315 PR ipa/61211
1316 * cgraph.c (clone_of_p): Allow skipped_branch to deal with
1317 expanded clones.
1318
278821f2
KT
13192014-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1320
1321 * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
1322 Update comments.
1323 (VCONQ): Make comment more helpful.
1324 (VCON): Delete.
1325 * config/aarch64/aarch64-simd.md
1326 (aarch64_sqdmulh_lane<mode>):
1327 Use VCOND for operands 2. Update lane checking and flipping logic.
1328 (aarch64_sqrdmulh_lane<mode>): Likewise.
1329 (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
1330 (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
1331 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
1332 attribute of operand 3 to VCOND.
1333 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
1334 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
1335 (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
1336 (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
1337 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
1338 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
1339 define_insn.
1340 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
1341 (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
1342 (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
1343 (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
1344 (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
1345 (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
1346 operand to VCOND. Update lane flipping and bounds checking logic.
1347 (aarch64_sqdmlal2_lane<mode>): Likewise.
1348 (aarch64_sqdmlsl_lane<mode>): Likewise.
1349 (aarch64_sqdmull_lane<mode>): Likewise.
1350 (aarch64_sqdmull2_lane<mode>): Likewise.
1351 (aarch64_sqdmlal_laneq<mode>):
1352 Replace VCON usage with VCONQ.
1353 Emit aarch64_sqdmlal_laneq<mode>_internal insn.
1354 (aarch64_sqdmlal2_laneq<mode>): Emit
1355 aarch64_sqdmlal2_laneq<mode>_internal insn.
1356 Replace VCON with VCONQ.
1357 (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
1358 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
1359 (aarch64_sqdmull_laneq<mode>): Emit
1360 aarch64_sqdmull_laneq<mode>_internal insn.
1361 Replace VCON with VCONQ.
1362 (aarch64_sqdmull2_laneq<mode>): Emit
1363 aarch64_sqdmull2_laneq<mode>_internal insn.
1364 (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
1365 * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
1366 of 3rd argument to int16x4_t.
1367 (vqdmlalh_lane_s16): Likewise.
1368 (vqdmlslh_lane_s16): Likewise.
1369 (vqdmull_high_lane_s16): Likewise.
1370 (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
1371 (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
1372 (vqdmlsl_lane_s16): Likewise.
1373 (vqdmull_lane_s16): Don't create temporary int16x8_t value.
1374 (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
1375 (vqdmlals_lane_s32): Likewise.
1376 (vqdmlsls_lane_s32): Likewise.
1377 (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
1378 (vqdmulls_lane_s32): Likewise.
1379 (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
1380 (vqdmlsl_lane_s32): Likewise.
1381 (vqdmull_lane_s32): Don't create temporary int32x4_t value.
1382 (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
1383 (vqrdmulhh_lane_s16): Likewise.
1384 (vqdmlsl_high_lane_s16): Likewise.
1385 (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
1386 (vqdmlsl_high_lane_s32): Likewise.
1387 (vqrdmulhs_lane_s32): Likewise.
1388
6621ab68
TV
13892014-06-20 Tom de Vries <tom@codesourcery.com>
1390
1391 * final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
1392 get_call_reg_set_usage.
1393
5fea8186
TV
13942014-06-20 Tom de Vries <tom@codesourcery.com>
1395
1396 * final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
1397 it contains all call_used_regs.
1398
53f2f6c1
TV
13992014-06-20 Tom de Vries <tom@codesourcery.com>
1400
1401 * final.c (collect_fn_hard_reg_usage): Add and use variable
1402 function_used_regs.
1403
569b1784
JH
14042014-06-20 Jan Hubicka <hubicka@ucw.cz>
1405
1406 * cgraph.h (struct symtab_node): Add field in_init_priority_hash
1407 (set_init_priority, get_init_priority, set_fini_priority,
1408 get_fini_priority): New methods.
1409 * tree.c (init_priority_for_decl): Remove.
1410 (init_ttree): Do not initialize init priority.
1411 (decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
1412 (decl_priority_info): Remove.
1413 (decl_init_priority_insert): Rewrite.
1414 (decl_fini_priority_insert): Rewrite.
1415 * tree.h (tree_priority_map_eq, tree_priority_map_hash,
1416 tree_priority_map_marked_p): Remove.
1417 * lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
1418 * lto-streamer-out.c (hash_tree): Do not hash priorities.
1419 * tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
1420 not output priorities.
1421 (pack_ts_function_decl_value_fields): Likewise.
1422 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
1423 not input priorities.
1424 (unpack_ts_function_decl_value_fields): Likewise.
1425 * symtab.c (symbol_priority_map): Declare.
1426 (init_priority_hash): Declare.
1427 (symtab_unregister_node): Unregister from priority hash, too.
1428 (symtab_node::get_init_priority, cgraph_node::get_fini_priority):
1429 New methods.
1430 (symbol_priority_map_eq, symbol_priority_map_hash): New functions.
1431 (symbol_priority_info): New function.
1432 (symtab_node::set_init_priority, cgraph_node::set_fini_priority):
1433 New methods.
1434 * tree-core.h (tree_priority_map): Remove.
1435
88f5cfcd
JJ
14362014-06-20 Jakub Jelinek <jakub@redhat.com>
1437
1438 * tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
1439 0xff to uint64_t before shifting it up.
1440
6d45574a
JB
14412014-06-20 Julian Brown <julian@codesourcery.com>
1442 Chung-Lin Tang <cltang@codesourcery.com>
1443
1444 * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
1445 TARGET_THUMB1_ONLY. Add comments.
1446
d07a3fed
TV
14472014-06-19 Tom de Vries <tom@codesourcery.com>
1448
1449 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
1450 return type to void.
1451 * config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.
1452
61fc05c7
ZC
14532014-06-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1454
1455 * loop-invariant.c (get_inv_cost): Skip invariants, which are marked
1456 as "move", from depends_on.
1457
dbb73879
TG
14582014-06-19 Terry Guo <terry.guo@arm.com>
1459
1460 * config/arm/thumb1.md (define_split): Split 64bit constant in earlier
1461 stage.
1462
36bd0c3e
SB
14632014-06-18 Segher Boessenkool <segher@kernel.crashing.org>
1464
1465 * config/rs6000/rs6000.h (FIXED_REGISTERS): Update comment.
1466 Remove cr5.
1467 (REG_ALLOC_ORDER): Update comment. Move cr5 earlier.
1468
be6b0bec
KK
14692014-06-18 Kaz Kojima <kkojima@gcc.gnu.org>
1470
1471 PR target/61550
1472 * config/sh/sh.c (prepare_move_operands): Don't process TLS
1473 addresses here if reload in progress or completed.
1474
c31d2d11
RS
14752014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
1476
a78cc314
RS
1477 * config/mips/constraints.md ("d"): BASE_REG_CLASS replaced by
1478 "TARGET_MIPS16 ? M16_REGS : GR_REGS".
1479 * config/mips/mips.c (mips_regno_to_class): Update for M16_SP_REGS.
1480 (mips_regno_mode_ok_for_base_p): Remove use of !strict_p for MIPS16.
1481 (mips_register_priority): New function that implements the target
1482 hook TARGET_REGISTER_PRIORITY.
1483 (mips_spill_class): Likewise for TARGET_SPILL_CLASS.
1484 (mips_lra_p): Likewise for TARGET_LRA_P.
1485 (TARGET_REGISTER_PRIORITY): Define macro.
1486 (TARGET_SPILL_CLASS): Likewise.
1487 (TARGET_LRA_P): Likewise.
1488 * config/mips/mips.h (reg_class): Add M16_SP_REGS and SPILL_REGS
1489 classes.
1490 (REG_CLASS_NAMES): Likewise.
1491 (REG_CLASS_CONTENTS): Likewise.
1492 (BASE_REG_CLASS): Use M16_SP_REGS.
1493 * config/mips/mips.md (*mul_acc_si): Add alternative tuned for LRA.
1494 New set attribute to enable alternatives depending on the register
1495 allocator used.
1496 (*mul_acc_si_r3900, *mul_sub_si): Likewise.
1497 (*lea64): Disable pattern for MIPS16.
1498 * config/mips/mips.opt (mlra): New option.
1499
15002014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
1501
82bb9245
AM
1502 * lra-constraints.c (base_to_reg): New function.
1503 (process_address): Use new function.
c31d2d11 1504
78607708
TV
15052014-06-18 Tom de Vries <tom@codesourcery.com>
1506
1507 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
1508 * config/aarch64/aarch64.c
1509 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
1510 (aarch64_emit_call_insn): New function.
1511 (aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
1512 of emit_call_insn.
1513 * config/aarch64/aarch64.md (define_expand "call_internal")
1514 (define_expand "call_value_internal", define_expand "sibcall_internal")
1515 (define_expand "sibcall_value_internal"): New.
1516 (define_expand "call", define_expand "call_value")
1517 (define_expand "sibcall", define_expand "sibcall_value"): Use internal
1518 expand variant and aarch64_emit_call_insn.
1519
7a32d6c4 15202014-06-18 Radovan Obradovic <robradovic@mips.com>
dd5e7837 1521 Tom de Vries <tom@codesourcery.com>
7a32d6c4
RO
1522
1523 * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
1524 * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
1525 Redefine to true.
1526 (arm_emit_call_insn): Add and use sibcall parameter. Add IP and CC
1527 clobbers to CALL_INSN_FUNCTION_USAGE.
1528 (define_expand "sibcall_internal")
1529 (define_expand "sibcall_value_internal"): New.
1530 (define_expand "call", define_expand "call_value"): Add argument to
1531 arm_emit_call_insn.
1532 (define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
1533 (define_expand "sibcall_value"): Use sibcall_value_internal and
1534 arm_emit_call_insn.
1535
4b9fcb37
CB
15362014-06-18 Charles Baylis <charles.baylis@linaro.org>
1537
1538 * config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.
1539
a7a7d3c8
CB
15402014-06-18 Charles Baylis <charles.baylis@linaro.org>
1541
1542 * config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
1543 __udivmoddi4.
1544
158ef346
CB
15452014-06-18 Charles Baylis <charles.baylis@linaro.org>
1546
1547 * config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
1548 push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
1549 annotations. Fix DWARF information.
1550
13381189
CB
15512014-06-18 Charles Baylis <charles.baylis@linaro.org>
1552
1553 * config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
1554 __udivmoddi4, and fixups for negative operands.
1555
f493def1
CB
15562014-06-18 Charles Baylis <charles.baylis@linaro.org>
1557
1558 * config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
1559
0b227df4
CB
15602014-06-18 Charles Baylis <charles.baylis@linaro.org>
1561
1562 * config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
1563 to __udivmoddi4.
1564
c9dae335
CB
15652014-06-18 Charles Baylis <charles.baylis@linaro.org>
1566
1567 * config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
1568 manipulation.
1569
6857b807
CB
15702014-06-18 Charles Baylis <charles.baylis@linaro.org>
1571
1572 * config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
1573 describing register usage on function entry and exit.
1574
f21d8faa
CB
15752014-06-18 Charles Baylis <charles.baylis@linaro.org>
1576
1577 * config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
1578 (__aeabi_ldivmod): Fix whitespace.
1579
544aee0d
AS
15802014-06-18 Andreas Schwab <schwab@suse.de>
1581
1582 * doc/md.texi (Standard Names): Use @itemx for grouped items.
1583 Remove blank line after @item.
1584
0bc11714
RH
15852014-06-18 Richard Henderson <rth@redhat.com>
1586
1587 PR target/61545
1588 * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.
1589
7b5b78b1
CB
15902014-06-18 Charles Baylis <charles.baylis@linaro.org>
1591
1592 * config/arm/arm.c (neon_vector_mem_operand): Allow register
1593 POST_MODIFY for neon loads and stores.
1594 (arm_print_operand): Output post-index register for neon loads and
1595 stores.
1596
54ed41ea
RB
15972014-06-18 Richard Biener <rguenther@suse.de>
1598
1599 * tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.
1600
30866dc9
RB
16012014-06-18 Richard Biener <rguenther@suse.de>
1602
1603 * tree-pass.h (make_pass_dce_loop): Remove.
1604 * passes.def: Replace pass_dce_loop with pass_dce.
1605 * tree-ssa-dce.c (perform_tree_ssa_dce): If something
1606 changed free niter estimates and reset the scev cache.
1607 (tree_ssa_dce_loop, pass_data_dce_loop, pass_dce_loop,
1608 make_pass_dce_loop): Remove.
1609 * tree-ssa-copy.c: Include tree-ssa-loop-niter.h.
1610 (fini_copy_prop): Return whether something changed. Always
1611 let substitute_and_fold perform DCE and free niter estimates
1612 and reset the scev cache if so.
1613 (execute_copy_prop): If sth changed schedule cleanup-cfg.
1614 (pass_data_copy_prop): Do not unconditionally schedule
1615 cleanup-cfg or update-ssa.
1616
560c75e9
YR
16172014-06-18 Yuri Rumyantsev <ysrumyan@gmail.com>
1618
1619 PR tree-optimization/61518
1620 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
1621 reduction var is used in reduction stmt or phi-function only.
1622
751738cb
KT
16232014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1624
1625 * config/arm/arm_neon.h (vadd_f32): Change #ifdef to __FAST_MATH.
1626
a31d2741
TP
16272014-06-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
1628
1629 PR tree-optimization/61517
1630 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt
1631 whose rhs's first tree is the source expression instead of the
1632 expression itself.
1633 (find_bswap_or_nop): Likewise.
1634 (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a
1635 gimple stmt whose rhs's first tree is the source. In the memory source
1636 case, move the stmt to be replaced close to one of the original load to
1637 avoid the problem of a store between the load and the stmt's original
1638 location.
1639 (pass_optimize_bswap::execute): Adapt to change in bswap_replace's
1640 signature.
1641
a0f37b26
AS
16422014-06-18 Andreas Schwab <schwab@suse.de>
1643
1644 PR rtl-optimization/54555
1645 * postreload.c (move2add_use_add2_insn): Substitute
1646 STRICT_LOW_PART only if it is cheaper.
1647
9fdb837f
UB
16482014-06-18 Uros Bizjak <ubizjak@gmail.com>
1649
1650 * config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern.
1651 Do not use unspec as call operand. Use memory_operand instead of
1652 memory_nox32_operand and add "m" operand constraint. Disable
1653 pattern for TARGET_X32.
1654 (*sibcall_pop_memory): Ditto.
1655 (*sibcall_value_memory): Ditto.
1656 (*sibcall_value_pop_memory): Ditto.
1657 (sibcall peepholes): Merge SImode and DImode patterns using
1658 W mode iterator. Use memory_operand instead of memory_nox32_operand.
1659 Disable pattern for TARGET_X32. Check if eliminated register is
1660 really dead after call insn. Generate call RTX without unspec operand.
1661 (sibcall_value peepholes): Ditto.
1662 (sibcall_pop peepholes): Fix call insn RTXes. Use memory_operand
1663 instead of memory_nox32_operand. Check if eliminated register is
1664 really dead after call insn. Generate call RTX without unspec operand.
1665 (sibcall_value_pop peepholes): Ditto.
1666 * config/i386/predicates.md (memory_nox32_operand): Remove predicate.
1667
35d147ef
TG
16682014-06-18 Terry Guo <terry.guo@arm.com>
1669
1670 PR target/61544
1671 * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
1672 reach the head.
1673
c41f1c42
BE
16742014-06-18 Olivier Hainque <hainque@adacore.com>
1675
1676 * tree-core.h (tree_block): Add an "end_locus" field, allowing
1677 memorization of the end of block source location.
1678 * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
1679 * gimplify.c (gimplify_bind_expr): Propagate the block start and
1680 end source location info we have on the block entry/exit code we
1681 generate.
1682
68f6df73
RB
16832014-06-18 Richard Biener <rguenther@suse.de>
1684
1685 * common.opt (fssa-phiopt): New option.
1686 * opts.c (default_options_table): Enable -fssa-phiopt with -O1+
1687 but not with -Og.
1688 * tree-ssa-phiopt.c (pass_phiopt): Add gate method.
1689 * doc/invoke.texi (-fssa-phiopt): Document.
1690
419d45db
KT
16912014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1692
1693 * genattrtab.c (n_bypassed): New variable.
1694 (process_bypasses): Initialise n_bypassed.
1695 Count number of bypassed reservations.
1696 (make_automaton_attrs): Allocate space for bypassed reservations
1697 rather than number of bypasses.
1698
25b7069a
RB
16992014-06-18 Richard Biener <rguenther@suse.de>
1700
1701 * tree-ssa-propagate.c (replace_phi_args_in): Return whether
1702 we propagated anything.
1703 (substitute_and_fold_dom_walker::before_dom_children): Something
1704 changed if we propagated into PHI arguments.
1705 * tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
1706 we removed a stmt.
1707
f7917029
ES
17082014-06-18 Evgeny Stupachenko <evstupac@gmail.com>
1709
1710 * config/i386/i386.c (ix86_reassociation_width): Add alternative for
1711 vector case.
1712 * config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
1713 * config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
1714 * tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
1715 Introduces alternative way of loads group permutaions.
1716 (vect_transform_grouped_load): Try alternative way of permutations.
1717
f014c653
JJ
17182014-06-18 Jakub Jelinek <jakub@redhat.com>
1719
9fdb837f
UB
1720 * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
1721 changed in ORT_TARGET region, don't jump to do_outer.
f014c653
JJ
1722 (struct gimplify_adjust_omp_clauses_data): New type.
1723 (gimplify_adjust_omp_clauses_1): Adjust for data being
1724 a struct gimplify_adjust_omp_clauses_data pointer instead
1725 of tree *. Pass pre_p as a new argument to
1726 lang_hooks.decls.omp_finish_clause hook.
1727 (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
1728 splay_tree_foreach to pass both list_p and pre_p.
1729 (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
1730 gimplify_omp_workshare, gimplify_omp_target_update): Adjust
1731 gimplify_adjust_omp_clauses callers.
1732 * langhooks.c (lhd_omp_finish_clause): New function.
1733 * langhooks-def.h (lhd_omp_finish_clause): New prototype.
1734 (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
1735 * langhooks.h (struct lang_hooks_for_decls): Add a new
1736 gimple_seq * argument to omp_finish_clause hook.
1737 * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
1738 non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
1739 (scan_omp_parallel, lower_omp_for): When adding
9fdb837f 1740 _LOOPTEMP_ clause var, add it to outer ctx's decl_map as identity.
f014c653
JJ
1741 * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
1742 * tree-nested.c (convert_nonlocal_omp_clauses,
1743 convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
9fdb837f 1744 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
f014c653 1745
f2918c18
AM
17462014-06-17 Andrew MacLeod <amacleod@redhat.com>
1747
1748 * tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
1749 * tree-dfa.c (get_addr_base_and_unit_offset_1): To here.
1750
90d0d8d3
XDL
17512014-06-17 Xinliang David Li <davidxl@google.com>
1752
1753 * tree-pretty-print.c (dump_function_header): Print cgraph uid.
1754 * passes.c (pass_init_dump_file): Do not set initialize
1755 flag to false unconditionally.
1756
75509ba2
RB
17572014-06-17 Richard Biener <rguenther@suse.de>
1758
1759 * genopinit.c (main): Use vec<>::qsort method.
1760 * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
1761 Likewise.
1762 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
1763
e58b74ea
MF
17642014-06-17 Matthew Fortune <matthew.fortune@imgtec.com>
1765
1766 * config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
1767 * config/mips/mips.c (mips_expand_fcc_reload): Remove.
1768 (mips_move_to_gpr_cost): Remove ST_REGS case.
1769 (mips_move_from_gpr_cost): Likewise.
1770 (mips_register_move_cost): Likewise.
1771 (mips_secondary_reload_class): Likewise.
1772
9e4f27ef
RB
17732014-06-17 Richard Biener <rguenther@suse.de>
1774
1775 * passes.def (pass_all_early_optimizations): Remove copy-prop pass.
1776 (pass_all_optimizations): Move 3rd copy-prop pass from after
1777 fre to before ifcombine/phiopt.
1778
866f20d6
RB
17792014-06-17 Richard Biener <rguenther@suse.de>
1780
1781 * tree-switch-conversion.c (collect_switch_conv_info): Simplify
1782 and allow all blocks to be forwarders.
1783
3abf17cf
YZ
17842014-06-17 Yufeng Zhang <yufeng.zhang@arm.com>
1785
1786 PR target/61483
1787 * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
1788 variable 'size'; calculate 'size' right in the front; use
1789 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
1790 pcum->aapcs_stack_words.
1791
ba3cf9f1
NC
17922014-06-17 Nick Clifton <nickc@redhat.com>
1793
1794 * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
1795 (umulhi3, mulsidi3, umulsidi3): Likewise.
1796
7a75b6e2
TS
17972014-06-17 Thomas Schwinge <thomas@codesourcery.com>
1798
1799 PR middle-end/61508
1800 * fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
1801 check for section name.
1802
ec18e2eb
RB
18032014-06-17 Richard Biener <rguenther@suse.de>
1804
1805 * tree-ssa-propagate.c: Include domwalk.h.
1806 (substitute_and_fold): Outline main worker into a domwalker ...
1807 (substitute_and_fold_dom_walker::before_dom_children): ... here.
1808 Schedule stmts we can fully propagate for removal. Remove
1809 poor-mans DCE.
1810 (substitute_and_fold): Apply a dominator walk to perform
1811 substitution. Process stmts scheduled for removal here.
1812
a4ab23b6
RB
18132014-06-17 Richard Biener <rguenther@suse.de>
1814
1815 * tree-ssa-loop-im.c (determine_max_movement): Adjust cost
1816 of PHI node moving.
1817
5db37871
KV
18182014-06-17 Kugan Vivekanandarajah <kuganv@linaro.org>
1819
1820 * config/arm/arm.c (arm_atomic_assign_expand_fenv): call
1821 default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
1822 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
1823 __builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
1824 * config/arm/vfp.md (set_fpscr): Make pattern conditional on
1825 TARGET_HARD_FLOAT.
1826 (get_fpscr) : Likewise.
1827
ba38538f
VM
18282014-06-16 Vladimir Makarov <vmakarov@redhat.com>
1829
1830 PR rtl-optimization/61325
1831 * lra-constraints.c (valid_address_p): Add forward declaration.
1832 (simplify_operand_subreg): Check address validity before and after
1833 alter_reg of memory subreg.
1834
7049aed6
UB
18352014-06-16 Uros Bizjak <ubizjak@gmail.com>
1836
1837 * config/i386/i386.c (decide_alg): Correctly handle
1838 maximum size of stringop algorithm.
1839
241e298a
YG
18402014-06-16 Yury Gribov <y.gribov@samsung.com>
1841
1842 * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
1843
1df2287f
VM
18442014-06-16 Vladimir Makarov <vmakarov@redhat.com>
1845
1846 PR rtl-optimization/61522
7049aed6 1847 * lra-assigns.c (assign_by_spills): Check null targetm.spill_class.
1df2287f 1848
da66d596
JH
18492014-06-16 Jan Hubicka <hubicka@ucw.cz>
1850
1851 Revert:
1852 * symtab.c (symtab_node::reset_section): New method.
1853 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
1854 for localization.
1855 * cgraph.h (reset_section): Declare.
1856 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
1857 do not consider comdat locals.
1858 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
1859 for new symbol.
1860 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
1861 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
1862 reset sections of symbols dragged out of the comdats.
9fdb837f
UB
1863 (function_and_variable_visibility): Reset sections of
1864 localized symbols.
da66d596 1865
9e9f6bf0
RB
18662014-06-16 Richard Biener <rguenther@suse.de>
1867
1868 PR tree-optimization/61482
1869 * tree-vrp.c (adjust_range_with_scev): Avoid setting of
1870 [-INF(OVF), +INF(OVF)] range.
1871
2bd4bfee
GG
18722014-06-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
1873
7964957f
AS
1874 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
1875 instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2bd4bfee
GG
1876 handling 32-bit multiplication.
1877
debd8f30
CLT
18782014-06-16 Chung-Lin Tang <cltang@codesourcery.com>
1879
1880 PR middle-end/61430
1881 * lra-lives.c (process_bb_lives): Skip creating copy during
1882 insn scan when src/dest has constrained to same regno.
1883
6192fa79
JH
18842014-06-15 Jan Hubicka <hubicka@ucw.cz>
1885
1886 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
1887 DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
1888
8946c29e
YG
18892014-06-16 Yury Gribov <y.gribov@samsung.com>
1890
1891 * asan.c (check_func): New function.
1892 (maybe_create_ssa_name): Likewise.
1893 (build_check_stmt_with_calls): Likewise.
1894 (use_calls_p): Likewise.
1895 (report_error_func): Change interface.
1896 (build_check_stmt): Allow non-integer lengths; add support
1897 for new parameter.
1898 (asan_instrument): Likewise.
7049aed6 1899 (instrument_mem_region_access): Moved code to build_check_stmt.
8946c29e
YG
1900 (instrument_derefs): Likewise.
1901 (instrument_strlen_call): Likewise.
7049aed6 1902 * cfgcleanup.c (old_insns_match_p): Add support for new functions.
8946c29e
YG
1903 * doc/invoke.texi: Describe new parameter.
1904 * params.def: Define new parameter.
1905 * params.h: Likewise.
1906 * sanitizer.def: Describe new builtins.
1907
5d5cb4d4
RB
19082014-06-16 Richard Biener <rguenther@suse.de>
1909
1910 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1911 Make all defs available at the end.
1912 (eliminate): If we remove a PHI node schedule cfg-cleanup.
1913
4e4fa3c5
JJ
19142014-06-18 Jakub Jelinek <jakub@redhat.com>
1915
1916 PR plugins/45078
1917 * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
1918
737c262e
RS
19192014-06-16 Richard Sandiford <rdsandiford@googlemail.com>
1920
1921 PR bootstrap/61516
1922 * auto-inc-dec.c (merge_in_block): Fix location of insn_info
1923 initialization. Replace remaining use of uid.
1924
56363ffd
JH
19252014-06-15 Jan Hubicka <hubicka@ucw.cz>
1926
7049aed6
UB
1927 * c-family/c-common.c (handle_tls_model_attribute): Use
1928 set_decl_tls_model.
5d5cb4d4
RB
1929 * c-family/c-common.c (handle_tls_model_attribute): Use
1930 set_decl_tls_model.
56363ffd
JH
1931 * cgraph.h (struct varpool_node): Add tls_model.
1932 * tree.c (decl_tls_model, set_decl_tls_model): New functions.
1933 * tree.h (DECL_TLS_MODEL): Update.
1934 (DECL_THREAD_LOCAL_P): Check that variable is static.
1935 (decl_tls_model): Declare.
1936 (set_decl_tls_model): Declare.
1937 * tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
1938 set symbol prorperties.
1939 (get_emutls_init_templ_addr): Cleanup.
1940 (new_emutls_decl): Update.
1941 * lto-cgraph.c (lto_output_varpool_node): Stream TLS model
1942 (lto_input_varpool_node): Likewise.
1943 * lto-streamer-out.c (hash_tree): Likewise.
1944 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
1945 not stream DECL_TLS_MODEL.
30256bef
UB
1946 * tree-profile.c (init_ic_make_global_vars): Use set_decl_tls_model.
1947 * tree-core.h (tree_decl_with_vis): Remove tls_model; update comments.
56363ffd 1948
3bb5c996
RS
19492014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1950
1951 * df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
1952
b512946c
RS
19532014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
1954
1955 * df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
1956 (df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
1957 lists.
1958 (df_scan_bb_info): Likewise artificial_defs and artificial_uses.
1959 (DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
1960 (FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
1961 (FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
1962 (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
1963 (df_get_artificial_defs, df_get_artificial_uses)
1964 (df_single_def, df_single_use): Update accordingly.
1965 (df_refs_chain_dump): Take the first element in a linked list as
1966 parameter, rather than a pointer to an array of pointers.
1967 * df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
1968 * df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
1969 (df_chain_create_bb_process_use): Likewise.
1970 (df_md_bb_local_compute_process_def): Likewise.
1971 * fwprop.c (process_defs, process_uses): Likewise.
1972 (register_active_defs, update_uses): Likewise.
1973 (forward_propagate_asm): Update for new df_ref linking.
1974 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
1975 (df_null_ref_rec, df_null_mw_rec): Likewise.
1976 (df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
1977 explicitly.
1978 (df_scan_free_bb_info): Remove check for null artificial_defs.
1979 (df_install_ref_incremental): Adjust for new df_ref linking.
1980 Use a single-element insertion rather than a full sort.
1981 (df_ref_chain_delete_du_chain): Take the first element
1982 in a linked list as parameter, rather than a pointer to an array of
1983 pointers.
1984 (df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
1985 (df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
1986 (df_insn_info_delete): Remove check for null defs and call to
1987 df_scan_free_mws_vec.
1988 (df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
1989 null rather than df_null_*_rec.
1990 (df_insn_rescan_debug_internal): Likewise, and update null
1991 checks in the same way. Remove check for null defs.
1992 (df_ref_change_reg_with_loc_1): Fix choice of list for defs.
1993 Move a single element rather doing a full sort.
1994 (df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
1995 linking.
1996 (df_notes_rescan): Likewise. Use a merge rather than a full sort.
1997 Initialize df_ref and df_mw_hardreg lists to null rather than
1998 df_null_*_rec.
1999 (df_ref_compare): Take df_refs as parameter, transferring the
2000 old interface to...
2001 (df_ref_ptr_compare): ...this new function.
2002 (df_sort_and_compress_refs): Update accordingly.
2003 (df_mw_compare): Take df_mw_hardregs as parameter, transferring the
2004 old interface to...
2005 (df_mw_ptr_compare): ...this new function.
2006 (df_sort_and_compress_mws): Update accordingly.
2007 (df_install_refs, df_install_mws): Return a linked list rather than
2008 an array of pointers.
2009 (df_refs_add_to_chains): Assert that old lists are empty rather
2010 than freeing them.
2011 (df_insn_refs_verify): Don't handle null defs speciailly.
2012 * web.c (union_match_dups): Update for new df_ref linking.
2013
5a474220
RS
20142014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2015
2016 * df.h (df_ref_create, df_ref_remove): Delete.
2017 * df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
2018 (df_ref_remove): Likewise.
2019
74e59b6c
RS
20202014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2021
2022 * df.h (df_single_def, df_single_use): New functions.
2023 * ira.c (find_moveable_pseudos): Use them.
2024
fc8e9f58
RS
20252014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2026
2027 * df.h (FOR_EACH_INSN_INFO_MW): New macro.
2028 * df-problems.c (df_note_bb_compute): Use it.
2029 * regstat.c (regstat_bb_compute_ri): Likewise.
2030
292321a5
RS
20312014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2032
2033 * df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
2034 * cse.c (cse_extended_basic_block): Use them.
2035 * dce.c (mark_artificial_use): Likewise.
2036 * df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
2037 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
2038 (df_chain_remove_problem, df_chain_bb_dump): Likewise.
2039 (df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
2040 (df_simulate_initialize_backwards): Likewise.
2041 (df_simulate_finalize_backwards): Likewise.
2042 (df_simulate_initialize_forwards): Likewise.
2043 (df_md_simulate_artificial_defs_at_top): Likewise.
2044 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
2045 * regrename.c (init_rename_info): Likewise.
2046 * regstat.c (regstat_bb_compute_ri): Likewise.
2047 (regstat_bb_compute_calls_crossed): Likewise.
2048
bfac633a
RS
20492014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2050
2051 * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
2052 (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
2053 (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
2054 * auto-inc-dec.c (find_inc, merge_in_block): Use them.
2055 * combine.c (create_log_links): Likewise.
2056 * compare-elim.c (find_flags_uses_in_insn): Likewise.
2057 (try_eliminate_compare): Likewise.
2058 * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
2059 * dce.c (deletable_insn_p, find_call_stack_args): Likewise.
2060 (remove_reg_equal_equiv_notes_for_defs): Likewise.
2061 (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
2062 (word_dce_process_block, dce_process_block): Likewise.
2063 * ddg.c (def_has_ccmode_p): Likewise.
2064 * df-core.c (df_bb_regno_first_def_find): Likewise.
2065 (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
2066 * df-problems.c (df_rd_simulate_one_insn): Likewise.
2067 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
2068 (df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
2069 (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
2070 (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
2071 (df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
2072 (df_simulate_find_defs, df_simulate_find_uses): Likewise.
2073 (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
2074 (df_simulate_uses, df_md_simulate_one_insn): Likewise.
2075 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
2076 * fwprop.c (local_ref_killed_between_p): Likewise.
2077 (all_uses_available_at, free_load_extend): Likewise.
2078 * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
2079 * hw-doloop.c (scan_loop): Likewise.
2080 * ifcvt.c (dead_or_predicable): Likewise.
2081 * init-regs.c (initialize_uninitialized_regs): Likewise.
2082 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
2083 (process_bb_node_lives): Likewise.
2084 * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
2085 (find_moveable_pseudos): Likewise.
2086 * loop-invariant.c (check_dependencies, record_uses): Likewise.
2087 * recog.c (peep2_find_free_register): Likewise.
2088 * ree.c (get_defs): Likewise.
2089 * regstat.c (regstat_bb_compute_ri): Likewise.
2090 (regstat_bb_compute_calls_crossed): Likewise.
2091 * sched-deps.c (find_inc, find_mem): Likewise.
2092 * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
2093 (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
2094 * shrink-wrap.c (requires_stack_frame_p): Likewise.
2095 (prepare_shrink_wrap): Likewise.
2096 * store-motion.c (compute_store_table, build_store_vectors): Likewise.
2097 * web.c (union_defs, pass_web::execute): Likewise.
2098 * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
2099 (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
2100
9afb455c
VM
21012014-06-13 Vladimir Makarov <vmakarov@redhat.com>
2102
2103 * lra-assign.c (assign_by_spills): Add code to assign vector regs
2104 to inheritance pseudos.
2105 * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
2106
8241efd1
PB
21072014-06-13 Peter Bergner <bergner@vnet.ibm.com>
2108
2109 PR target/61415
2110 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
2111 (BU_MISC_2): Rename to ...
2112 (BU_LDBL128_2): ... this.
2113 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
2114 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
2115 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
2116 RS6000_BTM_LDBL128.
2117 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
2118 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
2119 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
2120 (unpacktf_1): Likewise.
2121 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
2122 (__builtin_longdouble_dw1): Likewise.
2123 * doc/sourcebuild.texi (longdouble128): Document.
2124
c7ece684
JL
21252014-06-13 Jeff Law <law@redhat.com>
2126
2127 PR rtl-optimization/61094
2128 PR rtl-optimization/61446
2129 * ree.c (combine_reaching_defs): Get the mode for the copy from
2130 the extension insn rather than the defining insn.
2131
8e96d784
DC
21322014-06-13 Dehao Chen <dehao@google.com>
2133
2134 * dwarf2out.c (add_linkage_name): Emit more linkage name.
2135
45b3824d
TS
21362014-06-13 Thomas Schwinge <thomas@codesourcery.com>
2137
2138 * doc/install.texi (--enable-linker-plugin-configure-flags)
2139 (--enable-linker-plugin-flags): Document new flags.
2140
beb683ab
MJ
21412014-06-13 Martin Jambor <mjambor@suse.cz>
2142
2143 PR ipa/61186
2144 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
2145 cache_token if returning early.
2146
f6c43824
NC
21472014-06-13 Nick Clifton <nickc@redhat.com>
2148
2149 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
2150 requested alignment is active.
2151 (LABEL_ALIGN): Likewise.
2152 (LOOP_ALIGN): Likewise.
2153
6aa4c5b6
RB
21542014-06-13 Richard Biener <rguenther@suse.de>
2155
2156 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2157 Rewrite to propagate the VN result into all uses where
2158 possible and to remove stmts becoming dead because of that.
2159 (eliminate): Generalize stmt removal handling, remove in
2160 reverse dominator order to support proper debug stmt
2161 generation. Update stmts before removing stmts.
7049aed6 2162 * tree-ssa-propagate.c (propagate_tree_value): Remove bogus assert.
6aa4c5b6 2163
ca6cbdca
TP
21642014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2165
2166 PR tree-optimization/61375
2167 * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
2168 symbolic number cannot be represented in an uint64_t.
2169 (find_bswap_or_nop_1): Likewise.
2170
24e49ea0
JH
21712014-06-12 Jan Hubicka <hubicka@ucw.cz>
2172
2173 * symtab.c (symtab_node::reset_section): New method.
2174 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
2175 for localization.
2176 * cgraph.h (reset_section): Declare.
2177 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
2178 do not consider comdat locals.
2179 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
2180 for new symbol.
2181 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
2182 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
2183 reset sections of symbols dragged out of the comdats.
7049aed6
UB
2184 (function_and_variable_visibility): Reset sections of
2185 localized symbols.
24e49ea0 2186
6ad386b7
JH
21872014-06-12 Jan Hubicka <hubicka@ucw.cz>
2188
2189 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
2190 to use symtab and decl_binds_to_current_def_p
2191 * tree-vectorizer.c (increase_alignment): Increase alignment
2192 of alias target, too.
2193
9cf32741
JJ
21942014-06-12 Jakub Jelinek <jakub@redhat.com>
2195
2196 PR middle-end/61486
2197 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
2198 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
2199 if outer combined construct is distribute.
2200 (gimplify_omp_for): For OMP_DISTRIBUTE set
2201 gimplify_omp_ctxp->distribute.
2202 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
2203 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
2204 mapping into decl map.
2205
ca0e51a0
JM
22062014-06-12 Jason Merrill <jason@redhat.com>
2207
2208 * common.opt (fabi-version): Change default to 0.
2209
90d84934
JM
22102014-06-12 Jason Merrill <jason@redhat.com>
2211
2212 * toplev.c (process_options): Reject -fabi-version=1.
2213
551a6341
JL
22142014-06-12 Jeff Law <law@redhat.com>
2215
7964957f 2216 PR tree-optimization/61009
551a6341
JL
2217 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
2218 value when we stop processing a block due to problematic PHIs.
2219
5eba0999
AL
22202014-06-12 Alan Lawrence <alan.lawrence@arm.com>
2221
2222 * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
2223 vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
2224 vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
2225 vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
2226 vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
2227 vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
7049aed6
UB
2228 vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they
2229 are not in the spec.
5eba0999 2230
ad7d90cc
AL
22312014-06-10 Alan Lawrence <alan.lawrence@arm.com>
2232
2233 PR target/59843
2234 * config/aarch64/aarch64-modes.def: Add V1DFmode.
2235 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
2236 Support V1DFmode.
2237
9c85aeb6
EB
22382014-06-12 Eric Botcazou <ebotcazou@adacore.com>
2239
2240 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
2241
c407027e
GJL
22422014-06-12 Georg-Johann Lay <avr@gjlay.de>
2243
2244 PR target/61443
2245 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
2246 loading from address spaces.
2247
3c9e6fca
ML
22482014-06-12 Martin Liska <mliska@suse.cz>
2249
2250 PR ipa/61462
2251 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
7964957f 2252 statement is reachable.
3c9e6fca 2253
f961457f
JH
22542014-06-11 Jan Hubicka <hubicka@ucw.cz>
2255
2256 * symtab.c (section_hash): New hash.
2257 (symtab_unregister_node): Clear section before freeing.
2258 (hash_section_hash_entry): New haser.
2259 (eq_sections): New function.
2260 (symtab_node::set_section_for_node): New method.
2261 (set_section_1): Update.
2262 (symtab_node::set_section): Take string instead of tree as parameter.
2263 (symtab_resolve_alias): Update.
2264 * cgraph.h (section_hash_entry_d): New structure.
2265 (section_hash_entry): New typedef.
2266 (cgraph_node): Change comdat_group_ to x_comdat_group,
2267 change section_ to x_section and turn into section_hash_entry;
2268 update accestors; put set_section_for_node offline.
2269 * tree.c (decl_section_name): Turn into string.
2270 (set_decl_section_name): Change parameter to be string.
2271 * tree.h (decl_section_name, set_decl_section_name): Update prototypes.
2272 * sdbout.c (sdbout_one_type): Update.
2273 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
9fdb837f
UB
2274 * varasm.c (IN_NAMED_SECTION, get_named_section,
2275 resolve_unique_section, hot_function_section, get_named_text_section,
7049aed6
UB
2276 USE_SELECT_SECTION_FOR_FUNCTIONS, default_function_rodata_section,
2277 make_decl_rtl, default_unique_section): Update.
f961457f
JH
2278 * config/c6x/c6x.c (c6x_in_small_data_p): Update.
2279 (c6x_elf_unique_section): Update.
2280 * config/nios2/nios2.c (nios2_in_small_data_p): Update.
2281 * config/pa/pa.c (pa_function_section): Update.
2282 * config/pa/pa.h (IN_NAMED_SECTION_P): Update.
2283 * config/ia64/ia64.c (ia64_in_small_data_p): Update.
2284 * config/arc/arc.c (arc_in_small_data_p): Update.
2285 * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
2286 * config/mcore/mcore.c (mcore_unique_section): Update.
2287 * config/mips/mips.c (mips16_build_function_stub): Update.
2288 (mips16_build_call_stub): Update.
2289 (mips_function_rodata_section): Update.
2290 (mips_in_small_data_p): Update.
2291 * config/score/score.c (score_in_small_data_p): Update.
2292 * config/rx/rx.c (rx_in_small_data): Update.
2293 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
2294 (rs6000_xcoff_asm_named_section): Update.
2295 (rs6000_xcoff_unique_section): Update.
2296 * config/frv/frv.c (frv_string_begins_with): Update.
2297 (frv_in_small_data_p): Update.
2298 * config/v850/v850.c (v850_encode_data_area): Update.
2299 * config/bfin/bfin.c (DECL_SECTION_NAME): Update.
2300 (bfin_handle_l1_data_attribute): Update.
2301 (bfin_handle_l2_attribute): Update.
2302 * config/mep/mep.c (mep_unique_section): Update.
7049aed6
UB
2303 * config/microblaze/microblaze.c (microblaze_elf_in_small_data_p):
2304 Update.
f961457f
JH
2305 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
2306 (h8300_handle_tiny_data_attribute): Update.
2307 * config/m32r/m32r.c (m32r_in_small_data_p): Update.
2308 (m32r_in_small_data_p): Update.
2309 * config/alpha/alpha.c (alpha_in_small_data_p): Update.
2310 * config/i386/i386.c (ix86_in_large_data_p): Update.
2311 * config/i386/winnt.c (i386_pe_unique_section): Update.
2312 * config/darwin.c (darwin_function_section): Update.
2313 * config/lm32/lm32.c (lm32_in_small_data_p): Update.
2314 * tree-emutls.c (get_emutls_init_templ_addr): Update.
2315 (new_emutls_decl): Update.
2316 * lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
2317 input_varpool_node): Update.
2318 (ead_string_cst): Turn to ...
2319 (read_string): ... this one.
2320 * dwarf2out.c (secname_for_decl): Update.
2321 * asan.c (asan_protect_global): Update.
2322
1704a72b
DD
23232014-06-11 DJ Delorie <dj@redhat.com>
2324
1cf1574d
DD
2325 * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
2326 cache lines.
2327 * config/rx/rx.c (rx_option_override): Likewise.
2328 (rx_align_for_label): Likewise.
2329
1704a72b
DD
2330 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
2331
37251385
MR
23322014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
2333
2334 * config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
2335 prototype.
2336
8677664e
RS
23372014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2338
2339 * common.md: New file.
2340 * doc/md.texi: Update description of generic, machine-independent
2341 constraints.
2342 * config/s390/constraints.md (e): Delete.
2343 * Makefile.in (md_file): Include common.md.
2344 * config/m32c/t-m32c (md_file): Likewise.
2345 * genpreds.c (general_mem): New array.
2346 (generic_constraint_letters): Remove constraints now defined by
2347 common.md.
2348 (add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
2349 Allow the first character to be '<' or '>' as well.
2350 * genoutput.c (general_mem): New array.
2351 (indep_constraints): Remove constraints now defined by common.md.
2352 (note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
2353 Remove special handling of 'm'.
2354 * ira-costs.c (record_reg_classes): Remove special handling of
2355 constraints now defined by common.md.
2356 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
2357 * ira-lives.c (single_reg_class): Likewise.
2358 (ira_implicitly_set_insn_hard_regs): Likewise.
2359 * lra-constraints.c (reg_class_from_constraints): Likewise.
2360 (process_alt_operands, process_address, curr_insn_transform): Likewise.
2361 * postreload.c (reload_cse_simplify_operands): Likewise.
2362 * reload.c (push_secondary_reload, scratch_reload_class)
2363 (find_reloads, alternative_allows_const_pool_ref): Likewise.
2364 * reload1.c (maybe_fix_stack_asms): Likewise.
2365 * targhooks.c (default_secondary_reload): Likewise.
2366 * stmt.c (parse_output_constraint): Likewise.
2367 * recog.c (preprocess_constraints): Likewise.
2368 (constrain_operands, peep2_find_free_register): Likewise.
2369 (asm_operand_ok): Likewise, but add a comment saying why 'o'
2370 must be handled specially.
2371
7fd308cf
RS
23722014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2373
2374 * system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
2375 * genpreds.c (have_const_dbl_constraints): Delete.
2376 (add_constraint): Don't set it.
2377 (write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
2378 * ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
2379 constraints using the lookup_constraint logic.
2380 * ira-lives.c (single_reg_class): Likewise.
2381 * ira.c (ira_setup_alts): Likewise.
2382 * lra-constraints.c (process_alt_operands): Likewise.
2383 * recog.c (asm_operand_ok, constrain_operands): Likewise.
2384 * reload.c (find_reloads): Likewise.
2385
d9c35eee
RS
23862014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2387
2388 * genpreds.c (const_int_start, const_int_end): New variables.
2389 (choose_enum_order): Output CONST_INT constraints before memory
2390 constraints.
2391 (write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
2392 Add CT_CONST_INT.
2393 * ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
2394 * ira.c (ira_setup_alts): Likewise.
2395 * lra-constraints.c (process_alt_operands): Likewise.
2396 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2397 * reload.c (find_reloads): Likewise.
2398
3c4c42e8
RS
23992014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2400
2401 * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
2402 decmem_ok and incmem_ok. Reformat other bitfields for consistency.
2403 * recog.c (preprocess_constraints): Update accordingly.
2404
777e635f
RS
24052014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2406
2407 * system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
2408 (REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
2409 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
2410 * genpreds.c (print_type_tree): New function.
2411 (write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
2412 REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
2413 EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
2414 Write out enum constraint_type and get_constraint_type.
2415 * lra-constraints.c (satisfies_memory_constraint_p): Take a
2416 constraint_num rather than a constraint string.
2417 (satisfies_address_constraint_p): Likewise.
2418 (reg_class_from_constraints): Avoid old constraint macros.
2419 (process_alt_operands, process_address_1): Likewise.
2420 (curr_insn_transform): Likewise.
2421 * ira-costs.c (record_reg_classes): Likewise.
2422 (record_operand_costs): Likewise.
2423 * ira-lives.c (single_reg_class): Likewise.
2424 (ira_implicitly_set_insn_hard_regs): Likewise.
2425 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
2426 * postreload.c (reload_cse_simplify_operands): Likewise.
2427 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
2428 (constrain_operands, peep2_find_free_register): Likewise.
2429 * reload.c (push_secondary_reload, scratch_reload_class): Likewise.
2430 (find_reloads, alternative_allows_const_pool_ref): Likewise.
2431 * reload1.c (maybe_fix_stack_asms): Likewise.
2432 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2433 * targhooks.c (default_secondary_reload): Likewise.
2434 * config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
2435 to EXTRA_CONSTRAINT_STR.
2436 * config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
2437
9e6b7874
RS
24382014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2439
2440 * genpreds.c (write_constraint_satisfied_p_1): Replace with...
2441 (write_constraint_satisfied_p_array): ...this new function.
2442 (write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
2443 an array.
2444 (write_insn_preds_c): Update accordingly.
2445
16a26e42
RS
24462014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2447
2448 * genpreds.c (write_lookup_constraint): Rename to...
2449 (write_lookup_constraint_1): ...this.
2450 (write_lookup_constraint_array): New function.
2451 (write_tm_preds_h): Define lookup_constraint as an inline function
2452 that uses write_lookup_constraint_array where possible.
2453 (write_insn_preds_c): Update for the changes above.
2454
2aeedf58
RS
24552014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2456
2457 * doc/md.texi (regclass_for_constraint): Rename to...
2458 (reg_class_for_constraint): ...this.
2459 * genpreds.c (num_constraints, enum_order, register_start)
2460 (register_end, satisfied_start, memory_start, memory_end)
2461 (address_start, address_end): New variables.
2462 (add_constraint): Count the number of constraints.
2463 (choose_enum_order): New function.
2464 (write_enum_constraint_num): Iterate over enum_order.
2465 (write_regclass_for_constraint): Rename to...
2466 (write_reg_class_for_constraint_1): ...this and update output
2467 accordingly.
2468 (write_constraint_satisfied_p): Rename to...
2469 (write_constraint_satisfied_p_1): ...this and update output
2470 accordingly. Do nothing if all extra constraints are register
2471 constraints.
2472 (write_insn_extra_memory_constraint): Delete.
2473 (write_insn_extra_address_constraint): Delete.
2474 (write_range_function): New function.
2475 (write_tm_preds_h): Define constraint_satisfied_p and
2476 reg_class_for_constraint as inline functions that do a range check
2477 before calling the out-of-line function. Use write_range_function
2478 to implement insn_extra_{register,memory,address}_constraint,
2479 the first of which is new.
2480 (write_insn_preds_c): Update after above changes to write_* functions.
2481 (main): Call choose_enum_order.
2482
698ff107
TP
24832014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
2484
2485 PR tree-optimization/61306
2486 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
2487 expression instead of its size.
2488 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
2489 false to prevent optimization when the result is unpredictable due to
2490 arithmetic right shift of signed type with highest byte is set.
2491 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
2492 (init_symbolic_number): Likewise.
2493 (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
2494 when the result is unpredictable due to sign extension.
2495
1d02d8b8
TG
24962014-06-11 Terry Guo <terry.guo@arm.com>
2497
2498 * config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
2499 (*thumb1_addsi3): Ditto.
2500 (*thumb_subdi3): Ditto.
2501 (thumb1_subsi3_insn): Ditto.
2502 (*thumb_mulsi3): Ditto.
2503 (*thumb_mulsi3_v6): Ditto.
2504 (*thumb1_andsi3_insn): Ditto.
2505 (thumb1_bicsi3): Ditto.
2506 (*thumb1_iorsi3_insn): Ditto.
2507 (*thumb1_xorsi3_insn): Ditto.
2508 (*thumb1_ashlsi3): Ditto.
2509 (*thumb1_ashrsi3): Ditto.
2510 (*thumb1_lshrsi3): Ditto.
2511 (*thumb1_rotrsi3): Ditto.
2512 (*thumb1_negdi2): Ditto.
2513 (*thumb1_negsi2): Ditto.
2514 (*thumb1_abssi2): Ditto.
2515 (*thumb1_neg_abssi2): Ditto.
2516 (*thumb1_one_cmplsi2): Ditto.
2517 (*thumb1_zero_extendhisi2): Ditto.
2518 (*thumb1_zero_extendqisi2): Ditto.
2519 (*thumb1_zero_extendqisi2_v6): Ditto.
2520 (thumb1_extendhisi2): Ditto.
2521 (thumb1_extendqisi2): Ditto.
2522 (*thumb1_movdi_insn): Ditto.
2523 (*thumb1_movsi_insn): Ditto.
2524 (*thumb1_movhi_insn): Ditto.
2525 (thumb_movhi_clobber): Ditto.
2526 (*thumb1_movqi_insn): Ditto.
2527 (*thumb1_movhf): Ditto.
2528 (*thumb1_movsf_insn): Ditto.
2529 (*thumb_movdf_insn): Ditto.
2530 (movmem12b): Ditto.
2531 (movmem8b): Ditto.
2532 (cbranchqi4): Ditto.
2533 (cbranchsi4_insn): Ditto.
2534 (cbranchsi4_scratch): Ditto.
2535 (*negated_cbranchsi4): Ditto.
2536 (*tbit_cbranch): Ditto.
2537 (*tlobits_cbranch): Ditto.
2538 (*tstsi3_cbranch): Ditto.
2539 (*cbranchne_decr1): Ditto.
2540 (*addsi3_cbranch): Ditto.
2541 (*addsi3_cbranch_scratch): Ditto.
2542 (*thumb_cmpdi_zero): Ditto.
2543 (cstoresi_eq0_thumb1): Ditto.
2544 (cstoresi_ne0_thumb1): Ditto.
2545 (*cstoresi_eq0_thumb1_insn): Ditto.
2546 (*cstoresi_ne0_thumb1_insn): Ditto.
2547 (cstoresi_nltu_thumb1): Ditto.
2548 (cstoresi_ltu_thumb1): Ditto.
2549 (thumb1_addsi3_addgeu): Ditto.
2550 (*thumb_jump): Ditto.
2551 (*call_reg_thumb1_v5): Ditto.
2552 (*call_reg_thumb1): Ditto.
2553 (*call_value_reg_thumb1_v5): Ditto.
2554 (*call_value_reg_thumb1): Ditto.
2555 (*call_insn): Ditto.
2556 (*call_value_insn): Ditto.
2557 (thumb1_casesi_internal_pic): Ditto.
2558 (thumb1_casesi_dispatch): Ditto.
2559 (*thumb1_indirect_jump): Ditto.
2560 (prologue_thumb1_interwork): Ditto.
2561 (*epilogue_insns): Ditto.
2562 (consttable_1): Ditto.
2563 (consttable_2): Ditto.
2564 (tablejump): Ditto.
2565 (*thumb1_tablejump): Ditto.
2566 (thumb_eh_return): Ditto.
2567 (define_peephole2): Two of them are thumb1 only and got moved into
2568 new file thumb1.md.
2569 (define_split): Six of them are thumb1 only and got moved into new
2570 file thumb1.md.
2571 * config/arm/thumb1.md: New file comprised of above thumb1 only
2572 patterns.
2573
5d357f26
KT
25742014-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2575
2576 * config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
2577 * Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
2578 dependencies.
2579 * config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
2580 (aarch64_crc_builtin_datum): New struct.
2581 (aarch64_crc_builtin_data): New.
2582 (aarch64_init_crc32_builtins): New function.
2583 (aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
2584 (aarch64_crc32_expand_builtin): New.
2585 (aarch64_expand_builtin): Add CRC32 builtin expansion case.
2586 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
2587 __ARM_FEATURE_CRC32 when appropriate.
2588 (TARGET_CRC32): Define.
2589 * config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
2590 UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
2591 UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
2592 (aarch64_<crc_variant>): New pattern.
2593 * config/aarch64/arm_acle.h: New file.
2594 * config/aarch64/iterators.md (CRC): New int iterator.
2595 (crc_variant, crc_mode): New int attributes.
2596 * doc/aarch64-acle-intrinsics.texi: New file.
2597 * doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
2598 Include aarch64-acle-intrinsics.texi.
2599
e1377713
ES
26002014-06-11 Evgeny Stupachenko <evstupac@gmail.com>
2601
2602 * tree-vect-data-refs.c (vect_grouped_store_supported): New
2603 check for stores group of length 3.
2604 (vect_permute_store_chain): New permutations for stores group of
2605 length 3.
2606 * tree-vect-stmts.c (vect_model_store_cost): Change cost
2607 of vec_perm_shuffle for the new permutations.
2608
862b3da6
JH
26092014-06-11 Jan Hubicka <hubicka@ucw.cz>
2610
7049aed6
UB
2611 * ipa-visibility.c (function_and_variable_visibility): Disable virtual
2612 table rewriting temporarily on targets not supporting ONE_ONLY.
862b3da6 2613
96a3f4df
RB
26142014-06-11 Richard Biener <rguenther@suse.de>
2615
2616 PR middle-end/61437
2617 Revert
2618 2014-06-04 Richard Biener <rguenther@suse.de>
2619
2620 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
2621 TREE_PUBLIC and DECL_EXTERNAL decls.
2622
e257a17c
JH
26232014-06-10 Jan Hubicka <hubicka@ucw.cz>
2624
2625 * varasm.c (set_implicit_section): New function.
2626 (resolve_unique_section): Use it to set implicit section
2627 for aliases, too.
2628 (get_named_text_section): Use symtab_get_node (decl)->implicit_section
2629 (default_function_section): Likewise.
2630 (decl_binds_to_current_def_p): Constify argument.
2631 * varasm.h (decl_binds_to_current_def_p): Update prototype.
96a3f4df
RB
2632 * asan.c (asan_protect_global): Use
2633 symtab_get_node (decl)->implicit_section.
e257a17c
JH
2634 * symtab.c (dump_symtab_base): Dump implicit sections.
2635 (verify_symtab_base): Verify sanity of sectoins and comdats.
2636 (symtab_resolve_alias): Alias share the section of its target.
2637 (set_section_1): New function.
2638 (symtab_node::set_section): Move here, recurse to aliases.
2639 (verify_symtab): Check for duplicated symtab lists.
2640 * tree-core.h (implicit_section_name_p): Remove.
2641 * tree-vect-data-refs.c: Include varasm.h.
2642 (vect_can_force_dr_alignment_p): Fix conditional on when
2643 decl bints to current definition; use
2644 symtab_get_node (decl)->implicit_section.
2645 * cgraph.c (cgraph_make_node_local_1): Fix section set.
2646 * cgraph.h (struct symtab_node): Add implicit_section.
2647 (set_section): Rename to ...
2648 (set_section_for_node): ... this one.
2649 (set_section): Declare.
2650 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
2651 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
2652 input_overwrite_node, input_varpool_node): Stream implicit_section.
2653 * ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
2654 removal; it will fail in LTO.
2655
d7256bb8
KT
26562014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2657
2658 * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
2659 Change second alternative type to f_mcr.
2660 * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
2661 and 12th alternatives' types to f_mcr and f_mrc.
2662 (*movdi_aarch64): Same for 12th and 13th alternatives.
2663 (*movsf_aarch64): Change 9th alternatives' type to mov_reg.
2664 (aarch64_movtilow_tilow): Change type to fmov.
2665
dadf084c
JW
26662014-06-10 Jiong Wang <jiong.wang@arm.com>
2667
2668 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
2669 (aarch64_save_or_restore_callee_save_registers): Fix layout.
2670
2a74759f
KT
26712014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2672
2673 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
2674 New expander.
2675 (aarch64_sqrdmulh_lane<mode>): Likewise.
2676 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
2677 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
2678 (aarch64_sqdmulh_laneq<mode>): New expander.
2679 (aarch64_sqrdmulh_laneq<mode>): Likewise.
2680 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
2681 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
2682 (aarch64_sqdmulh_lane<mode>): New expander.
2683 (aarch64_sqrdmulh_lane<mode>): Likewise.
2684 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
2685 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
2686 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
2687 (aarch64_sqdmlal_laneq<mode>): Likewise.
2688 (aarch64_sqdmlsl_lane<mode>): Likewise.
2689 (aarch64_sqdmlsl_laneq<mode>): Likewise.
2690 (aarch64_sqdmlal2_lane<mode>): Likewise.
2691 (aarch64_sqdmlal2_laneq<mode>): Likewise.
2692 (aarch64_sqdmlsl2_lane<mode>): Likewise.
2693 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
2694 (aarch64_sqdmull_lane<mode>): Likewise.
2695 (aarch64_sqdmull_laneq<mode>): Likewise.
2696 (aarch64_sqdmull2_lane<mode>): Likewise.
2697 (aarch64_sqdmull2_laneq<mode>): Likewise.
2698
b82ef848
RB
26992014-06-10 Richard Biener <rguenther@suse.de>
2700
2701 PR tree-optimization/61438
2702 * tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
2703 (eliminate_dom_walker::before_dom_children): Only try to inhibit
2704 insertion of IVs if running PRE.
2705 (eliminate): Adjust.
2706 (pass_pre::execute): Likewise.
2707 (pass_fre::execute): Likewise.
2708
cdf0ab72
RB
27092014-06-10 Richard Biener <rguenther@suse.de>
2710
2711 PR middle-end/61456
2712 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
2713 Do not use the main variant for the type comparison.
2714 (ncr_compar): Likewise.
2715 (nonoverlapping_component_refs_p): Likewise.
2716
e29b8d5b
MS
27172014-06-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
2718
2719 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
2720 REG_CFA_RESTORE mode.
2721
6ba197c1
ES
27222014-06-10 Evgeny Stupachenko <evstupac@gmail.com>
2723
2724 * config/i386/i386.c (expand_vec_perm_pblendv): New.
2725 * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
2726 expand_vec_perm_pblendv.
2727
87ee52ef
KT
27282014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2729
2730 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
2731 available.
2732 Simplify description of __crc32d and __crc32cd intrinsics.
2733 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
2734 availability.
2735
35fa894a
TS
27362014-06-10 Thomas Schwinge <thomas@codesourcery.com>
2737
2738 PR lto/61334
9fdb837f 2739 * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype.
35fa894a
TS
2740 * config.in: Regenerate.
2741 * configure: Likewise.
2742
1685ecf3
JH
27432014-06-10 Jan Hubicka <hubicka@ucw.cz>
2744
7049aed6
UB
2745 * ipa-reference.c (is_proper_for_analysis): Exclude addressable
2746 and public vars.
1685ecf3
JH
2747 (intersect_static_var_sets): Remove.
2748 (propagate): Do not prune local statics.
2749
92d28cbb
JJ
27502014-06-10 Jakub Jelinek <jakub@redhat.com>
2751
2752 PR fortran/60928
2753 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
2754 Set lastprivate_firstprivate even if omp_private_outer_ref
2755 langhook returns true.
2756 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
2757 langhook, call unshare_expr on new_var and call
2758 build_outer_var_ref to get the last argument.
2759
c9f2b7e9
MP
27602014-06-10 Marek Polacek <polacek@redhat.com>
2761
2762 PR c/60988
2763 * doc/extend.texi: Add cindex for transparent_union.
2764
2cfa504a
TP
27652014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
2766
2767 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
2768 init_symbolic_number ().
2769
748e88da
JDA
27702014-05-18 John David Anglin <danglin@gcc.gnu.org>
2771
2772 PR middle-end/61141
2773 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
2774 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
7964957f 2775 (verify_rtl_sharing): Likewise.
748e88da 2776
00f30445
MG
27772014-06-09 Marc Glisse <marc.glisse@inria.fr>
2778
2779 PR c++/54442
2780 * tree.c (build_qualified_type): Use a canonical type for
2781 TYPE_CANONICAL.
2782
545fb0e8
RR
27832014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2784
2785 * config/arm/arm-modes.def: Remove XFmode.
2786
842cbb73
AL
27872014-06-09 Alan Lawrence <alan.lawrence@arm.com>
2788
2789 PR target/61062
2790 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
2791 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
7049aed6
UB
2792 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
2793 vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
2794 vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
2795 vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
2796 vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
2797 vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
2798 vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
842cbb73 2799
8de98ad4
JH
28002014-06-09 Jan Hubicka <hubicka@ucw.cz>
2801
2802 * tree-core.h (tree_decl_with_vis): Remove section_name.
2803
001010df
KC
28042014-06-09 Kito Cheng <kito@0xlab.org>
2805
2806 * ira.c (ira): Don't call init_caller_save if LRA enabled
2807 since LRA use its own infrastructure to handle that.
2808
24d047a3
JH
28092014-06-07 Jan Hubicka <hubicka@ucw.cz>
2810
2811 * symtab.c (dump_symtab_base): Update dumping.
2812 (symtab_make_decl_local): Clear only DECL_COMDAT.
2813 * tree-vect-data-refs.c (Check that variable is static before
2814 tampering with sections.
2815 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
2816 (cgraph_create_virtual_clone): Likewise.
2817 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
2818 (decl_section_name, set_decl_section_name): New accessors.
2819 (find_decls_types_r): Do not walk section name
7049aed6 2820 * tree.h (DECL_SECTION_NAME): Implement using decl_section_name.
24d047a3
JH
2821 (decl_comdat_group, decl_comdat_group_id): Constify.
2822 (decl_section_name, set_decl_section_name): Update.
7049aed6 2823 * varpool.c (varpool_finalize_named_section_flags): Use get_section.
24d047a3
JH
2824 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
2825 (cgraph_make_node_local_1): Clear section and comdat group.
2826 * cgraph.h (set_comdat_group): Sanity check.
2827 (get_section, set_section): New.
2828 * ipa-comdats.c (ipa_comdats): Use get_section.
2829 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
2830 * lto-streamer-out.c: Do not follow section names.
7049aed6 2831 * c-family/c-common.c (handle_section_attribute): Update.
24d047a3
JH
2832 * lto-cgraph.c (lto_output_node): Output section.
2833 (lto_output_varpool_node): Likewise.
2834 (read_comdat_group): Rename to ...
2835 (read_identifier): ... this one.
2836 (read_string_cst): New function.
2837 (input_node, input_varpool_node): Input section names.
2838 * tree-emutls.c (get_emutls_init_templ_addr): Update.
2839 (new_emutls_decl): Update.
7049aed6 2840 (secname_for_decl): Check section names only of static vars.
24d047a3
JH
2841 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
2842 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
2843 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
2844 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
2845 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
2846 * config/mcore/mcore.c (mcore_unique_section): Likewise.
2847 * config/mips/mips.c (mips16_build_function_stub): Likewise.
2848 * config/v850/v850.c (v850_insert_attributes): Likewise.
7049aed6 2849 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
24d047a3
JH
2850 Likewise.
2851 (h8300_handle_tiny_data_attribute): Likewise.
2852 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
2853 (bfin_handle_l2_attribute): Likewise.
2854
80bc9b6e
JH
28552014-06-07 Jan Hubicka <hubicka@ucw.cz>
2856
2857 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
2858 remove static initializer.
2859
684a3aa7
JH
28602014-06-07 Jan Hubicka <hubicka@ucw.cz>
2861
7049aed6
UB
2862 * varasm.c (use_blocks_for_decl_p): Check symbol table
2863 instead of alias attribute.
684a3aa7
JH
2864 (place_block_symbol): Recurse on aliases.
2865
94c2e46c
JH
28662014-06-07 Jan Hubicka <hubicka@ucw.cz>
2867
2868 * ipa-visibility.c: Include varasm.h
2869 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
2870
136a5f45
JH
28712014-06-07 Jan Hubicka <hubicka@ucw.cz>
2872
2873 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
2874 outputting aliases.
2875
0dbaf51e
SB
28762014-06-07 Steven Bosscher <steven@gcc.gnu.org>
2877
7964957f 2878 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
0dbaf51e
SB
2879 from test_insn into GGC space escape via SET_SRC.
2880
51d2abeb
EB
28812014-06-07 Eric Botcazou <ebotcazou@adacore.com>
2882
2883 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
2884 call statement, if any.
2885 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
2886 statements, if any. Tidy up.
2887
b528fc5c
MM
28882014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
2889
2890 PR target/61431
2891 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
2892 iterators, VSX_D that handles 64-bit types, and VSX_LE that
2893 handles swapping the two 64-bit double words on little endian
2894 systems. Include V1TImode and optionally TImode in VSX_LE so that
2895 these types are properly swapped. Change all of the insns and
2896 splits that do the 64-bit swaps to use VSX_LE.
2897 (vsx_le_perm_load_<mode>): Likewise.
2898 (vsx_le_perm_store_<mode>): Likewise.
2899 (splitters for little endian memory operations): Likewise.
2900 (vsx_xxpermdi2_le_<mode>): Likewise.
2901 (vsx_lxvd2x2_le_<mode>): Likewise.
2902 (vsx_stxvd2x2_le_<mode>): Likewise.
2903
7b11cab7
UB
29042014-06-06 Uros Bizjak <ubizjak@gmail.com>
2905
2906 PR target/61423
2907 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
2908 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
2909 and corresponding splitters. Zero extend general register
2910 or memory input operand to XMM temporary. Enable for
2911 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
2912 (floatunssi<mode>2): Update expander predicate.
2913
5a770e01
VM
29142014-06-06 Vladimir Makarov <vmakarov@redhat.com>
2915
2916 PR rtl-optimization/61325
2917 * lra-constraints.c (process_address_1): Check scale equal to one
2918 to prevent transformation: base + scale * index => base + new_reg.
2919
acce8ce3
RB
29202014-06-06 Richard Biener <rguenther@suse.de>
2921
2922 PR tree-optimization/59299
2923 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
2924 a def operand.
2925 (nearest_common_dominator_of_uses): Likewise.
2926 (statement_sink_location): Adjust. Support sinking loads.
2927
0d48ee34
MJ
29282014-06-06 Martin Jambor <mjambor@suse.cz>
2929
2930 * ipa-prop.c (get_place_in_agg_contents_list): New function.
2931 (build_agg_jump_func_from_list): Likewise.
2932 (determine_known_aggregate_parts): Renamed to
2933 determine_locally_known_aggregate_parts. Moved some functionality
2934 to the two functions above, removed bound checks.
2935
e2c75eea
JG
29362014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
2937
2938 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
2939 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
2940 (aarch64_progress_pointer): Likewise.
2941 (aarch64_copy_one_part_and_move_pointers): Likewise.
2942 (aarch64_expand_movmen): Likewise.
2943 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
2944 * config/aarch64/aarch64.md (movmem<mode>): New.
2945
58e5400a
BM
29462014-06-06 Bingfeng Mei <bmei@broadcom.com>
2947
2948 * targhooks.c (default_add_stmt_cost): Call target specific
2949 hook instead of default one.
2950
58126368
TP
29512014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
2952
2953 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
2954 endianness instead of host endianness.
2955 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
2956 comments.
2957
3fd48b12
EB
29582014-06-06 Eric Botcazou <ebotcazou@adacore.com>
2959
2960 PR debug/53927
2961 * function.c (instantiate_decls): Process the saved static chain.
2962 (expand_function_start): If not optimizing, save the static chain
2963 onto the stack.
2964 * tree-nested.c (convert_all_function_calls): Always create the static
2965 chain for nested functions if not optimizing.
2966
9b7a11e1
EB
29672014-06-06 Eric Botcazou <ebotcazou@adacore.com>
2968
2969 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
2970
726338f4
RB
29712014-06-06 Richard Biener <rguenther@suse.de>
2972
2973 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
2974 (construct_init_block): Likewise.
2975 (construct_exit_block): Likewise.
2976 (pass_expand::execute): Likewise.
2977 * graphite.c (graphite_transforms): Replace check for current_loops
2978 with a check for > 1 loops.
2979 (pass_graphite_transforms::execute): Adjust.
2980 * ipa-split.c (split_function): Remove check for current_loops.
2981 * omp-low.c (expand_parallel_call): Likewise.
2982 (expand_omp_for_init_counts): Likewise.
2983 (extract_omp_for_update_vars): Likewise.
2984 (expand_omp_for_generic): Likewise.
2985 (expand_omp_sections): Likewise.
2986 (expand_omp_target): Likewise.
2987 * tracer.c (tail_duplicate): Likewise.
2988 (pass_tracer::execute): Likewise.
2989 * trans-mem.c (expand_transaction): Likewise.
2990 * tree-complex.c (expand_complex_div_wide): Likewise.
2991 * tree-eh.c (lower_resx): Likewise.
2992 (cleanup_empty_eh_merge_phis): Likewise.
2993 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
2994 current_loops with a check for > 1 loops.
2995 (pass_predcom::execute): Adjust.
2996 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
2997 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
2998 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
2999 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
3000 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
3001 * tree-switch-conversion.c (process_switch): Likewise.
3002 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
3003 * tree-vrp.c (vrp_visit_phi_node): Likewise.
3004 (execute_vrp): Likewise.
3005 * ubsan.c (ubsan_expand_null_ifn): Likewise.
3006
ffa4602f
EB
30072014-06-06 Eric Botcazou <ebotcazou@adacore.com>
3008
3009 * rtl.h (insn_location): Declare.
3010 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
3011 with UNKNOWN_LOCATION.
3012 * emit-rtl.c (insn_location): New function.
3013 * final.c (notice_source_line): Check that the instruction has a
3014 location before retrieving it and use insn_location.
3015 * modulo-sched.c (loop_single_full_bb_p): Likewise.
3016 * print-rtl.c (print_rtx): Likewise.
3017
28a4a292
RB
30182014-06-06 Richard Biener <rguenther@suse.de>
3019
3020 * passes.def: Move 2nd VRP pass before phi-only-cprop.
3021
d969f3c1
CB
30222014-06-06 Christian Bruel <christian.bruel@st.com>
3023
3024 PR tree-optimization/43934
28a4a292
RB
3025 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
3026 cost.
d969f3c1 3027
b58923e2
RS
30282014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
3029
3030 * ira-lives.c (single_reg_class): Add missing break. Explicitly
3031 return NO_REGS for extra address and memory constraints. Handle
3032 operands that match (or are equivalent to something that matches)
3033 extra constant constraints. Ignore other non-register operands.
3034
ddbb449f
AM
30352014-06-06 Alan Modra <amodra@gmail.com>
3036
3037 PR target/61300
3038 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
3039 * doc/tm.texi: Regenerate.
3040 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
3041 Use throughout in place of REG_PARM_STACK_SPACE.
3042 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
3043 "incoming" param. Pass to rs6000_function_parms_need_stack.
3044 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
3045 prototype_p when incoming. Use function decl when incoming
3046 to handle K&R style functions.
3047 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
3048 (INCOMING_REG_PARM_STACK_SPACE): Define.
3049
a148c4b2
SKS
30502014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3051
3052 PR target/52472
3053 * cfgexpand.c (expand_debug_expr): Use address space of nested
3054 TREE_TYPE for ADDR_EXPR and MEM_REF.
3055
64e13bcd
JL
30562014-06-05 Jeff Law <law@redhat.com>
3057
3058 PR tree-optimization/61289
3059 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
3060 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
3061 looking for those which match LHS. All callers changed.
3062 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
3063 parameters and code which manipulated them. All callers changed.
3064 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
3065 and DST_MAP parameters. Simplify invalidation code by just calling
3066 invalidate_equivalences. All callers changed.
3067 (thread_across_edge): Simplify now that we don't need to maintain
3068 the map of equivalences to invalidate.
3069
5853e181
KT
30702014-06-05 Kai Tietz <ktietz@redhat.com>
3071 Richard Henderson <rth@redhat.com>
3072
3073 PR target/46219
3074 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
3075 checking for !TARGET_X32.
3076 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
3077 (sibcall_intern): New define_insn, plus required peepholes.
3078 (sibcall_pop_intern): Likewise.
3079 (sibcall_value_intern): Likewise.
3080 (sibcall_value_pop_intern): Likewise.
3081
95cc0a1a
IE
30822014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
3083
3084 * tree-inline.c (tree_function_versioning): Check DF info existence
3085 before accessing it.
3086
1c960e02
MS
30872014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3088
3089 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
3090 frame_size.
3091 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
3092 aarch64_frame hard_fp_offset and frame_size.
3093 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
3094 frame_size; remove original_frame_size.
3095 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
3096 (aarch64_initial_elimination_offset): Remove frame_size and
3097 offset. Use aarch64_frame frame_size.
3098
2e1cdae5
MS
30992014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3100 Jiong Wang <jiong.wang@arm.com>
4a450ea0 3101 Renlin <renlin.li@arm.com>
2e1cdae5
MS
3102
3103 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
3104 initialization of R30 offset. Update offset. Iterate core
3105 regisers upto X30. Remove X29, X30 specific code.
3106
97826595
MS
31072014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3108 Jiong Wang <jiong.wang@arm.com>
3109
3110 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
3111 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
3112 (aarch64_register_saved_on_entry): Adjust test.
3113
8799637a
MS
31142014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3115
3116 * config/aarch64/aarch64.h (machine_function): Move
3117 saved_varargs_size from here...
4a450ea0 3118 (aarch64_frame): ... to here.
8799637a
MS
3119
3120 * config/aarch64/aarch64.c (aarch64_expand_prologue)
3121 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
3122 (aarch64_initial_elimination_offset)
3123 (aarch64_setup_incoming_varargs): Adjust location of
3124 saved_varargs_size.
3125
34834420
MS
31262014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3127
3128 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
3129 layout comment.
3130
aaaa9efc
JP
31312014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
3132 Prachi Godbole <Prachi.Godbole@imgtec.com>
3133
3134 * config/mips/mips-cpus.def: Add definition for p5600. Updated
3135 mips32r5 entry to use PROCESSOR_P5600.
3136 * config/mips/mips-tables.opt: Regenerate.
3137 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
3138 * config/mips/mips.c (mips_fmadd_bypass): New function.
3139 (mips_rtx_cost_data): Add costs for p5600.
3140 (mips_issue_rate): Add support for p5600.
3141 (mips_multipass_dfa_lookahead): Likewise.
3142 * config/mips/mips.h (TUNE_P5600): New define.
3143 (TUNE_MACC_CHAINS): Add TUNE_P5600.
3144 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
3145 * config/mips/mips.md: Include p5600.md.
3146 (processor): Add p5600.
3147 * config/mips/p5600.md: New file.
3148
edbb0749
ES
31492014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
3150
3151 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
3152 * config/i386/predicates.md (palignr_operand): New.
3153 Indicates if permutation is suitable for palignr instruction.
3154
e12355ef
YR
31552014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
3156
3157 PR tree-optimization/61319
3158 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
3159 stmt belongs to loop.
3160
947ca6a0
RB
31612014-06-05 Richard Biener <rguenther@suse.de>
3162
3163 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
3164 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
3165 (lookup_tmp_var): Adjust.
3166 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
3167
63e70d3c
RR
31682014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3169
3170 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
3171
742938c9
MP
31722014-06-05 Marek Polacek <polacek@redhat.com>
3173
3174 PR c/49706
3175 * doc/invoke.texi: Document -Wlogical-not-parentheses.
3176
357ddc7d
TV
31772014-06-04 Tom de Vries <tom@codesourcery.com>
3178
3179 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
3180 CONST_INT.
3181
ca73a1f7
MG
31822014-06-04 Marc Glisse <marc.glisse@inria.fr>
3183
3184 PR tree-optimization/61385
3185 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
3186
ffb1f5ef
BS
31872014-06-04 Bernd Schmidt <bernds@codesourcery.com>
3188
3189 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
3190 changed to use fatal_error.
3191 (main): Ensure lto_wrapper_cleanup is run atexit.
3192
a953491e
RS
31932014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3194
3195 * lra-constraints.c (valid_address_p): Move earlier in file.
3196 (address_eliminator): New structure.
3197 (satisfies_memory_constraint_p): New function.
3198 (satisfies_address_constraint_p): Likewise.
3199 (process_alt_operands, process_address, curr_insn_transform): Use them.
3200
0c331756
RS
32012014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3202
3203 * lra-int.h (lra_static_insn_data): Make operand_alternative a
3204 const pointer.
3205 (target_lra_int, default_target_lra_int, this_target_lra_int)
3206 (op_alt_data): Delete.
3207 * lra.h (lra_init): Delete.
3208 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
3209 (init_insn_code_data_once): Remove op_alt_data handling.
3210 (finish_insn_code_data_once): Likewise.
3211 (init_op_alt_data): Delete.
3212 (get_static_insn_data): Initialize operand_alternative to null.
3213 (free_insn_recog_data): Cast operand_alternative before freeing it.
3214 (setup_operand_alternative): Take the operand_alternative as
3215 parameter and assume it isn't already cached in the static
3216 insn data.
3217 (lra_set_insn_recog_data): Update accordingly.
3218 (lra_init): Delete.
3219 * ira.c (ira_init): Don't call lra_init.
3220 * target-globals.h (this_target_lra_int): Declare.
3221 (target_globals): Remove lra_int.
3222 (restore_target_globals): Update accordingly.
3223 * target-globals.c: Don't include lra-int.h.
3224 (default_target_globals, save_target_globals): Remove lra_int.
3225
1145837d
RS
32262014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3227
3228 * recog.h (operand_alternative): Convert reg_class, reject,
3229 matched and matches into bitfields.
3230 (preprocess_constraints): New overload.
3231 (preprocess_insn_constraints): New function.
3232 (preprocess_constraints): Take the insn as parameter.
3233 (recog_op_alt): Change into a pointer.
3234 (target_recog): Add x_op_alt.
3235 * recog.c (asm_op_alt): New variable.
3236 (recog_op_alt): Change into a pointer.
3237 (preprocess_constraints): New overload, replacing the old function
3238 definition with one that doesn't use global state.
3239 (preprocess_insn_constraints): New function.
3240 (preprocess_constraints): Use them. Take the insn as parameter.
3241 Use asm_op_alt for asms.
3242 (recog_init): Free existing x_op_alt entries.
3243 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
3244 pointer const.
3245 (make_early_clobber_and_input_conflicts): Likewise.
3246 (process_bb_node_lives): Pass the insn to process_constraints.
3247 * reg-stack.c (check_asm_stack_operands): Likewise.
3248 (subst_asm_stack_regs): Likewise.
3249 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
3250 * regrename.c (build_def_use): Likewise.
3251 * sched-deps.c (sched_analyze_insn): Likewise.
3252 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
3253 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
3254 (note_invalid_constants): Likewise.
3255 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
3256 (ix86_legitimate_combined_insn): Make operand_alternative pointer
3257 const.
3258
5f2e0797
RS
32592014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3260
3261 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
3262 * ira-lives.c (check_and_make_def_conflict): Check for disabled
3263 alternatives.
3264 (make_early_clobber_and_input_conflicts): Likewise.
3265 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
3266
5efe5dec
RS
32672014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3268
3269 * recog.h (alternative_class): New function.
3270 (which_op_alt): Return a const recog_op_alt.
3271 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
3272 (subst_asm_stack_regs): Likewise.
3273 * config/arm/arm.c (note_invalid_constants): Likewise.
3274 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
3275 the operand_alternative; use alternative class instead.
3276 * sel-sched.c (get_reg_class): Likewise.
3277 * regrename.c (build_def_use): Likewise.
3278 (hide_operands, restore_operands, record_out_operands): Update type
3279 accordingly.
3280
29d70a0f
RS
32812014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3282
3283 * recog.h (recog_op_alt): Convert to a flat array.
3284 (which_op_alt): New function.
3285 * recog.c (recog_op_alt): Convert to a flat array.
3286 (preprocess_constraints): Update accordingly, grouping all
3287 operands of the same alternative together, rather than the
3288 other way around.
3289 * ira-lives.c (check_and_make_def_conflict): Likewise.
3290 (make_early_clobber_and_input_conflicts): Likewise.
3291 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
3292 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
3293 (subst_asm_stack_regs): Likewise.
3294 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
3295 * regrename.c (hide_operands, record_out_operands): Likewise.
3296 (build_def_use): Likewise.
3297 * sel-sched.c (get_reg_class): Likewise.
3298 * config/arm/arm.c (note_invalid_constants): Likewise.
3299
fe6ebcf1
JM
33002014-06-04 Jason Merrill <jason@redhat.com>
3301
3302 PR c++/51253
3303 PR c++/61382
3304 * gimplify.c (gimplify_arg): Non-static.
3305 * gimplify.h: Declare it.
3306
38af3208
RB
33072014-06-04 Richard Biener <rguenther@suse.de>
3308
3309 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
3310 TREE_PUBLIC and DECL_EXTERNAL decls.
3311
9ccac701
MF
33122014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
3313
7964957f 3314 * regcprop.c (copyprop_hardreg_forward_1): Account for
9ccac701
MF
3315 HARD_REGNO_CALL_PART_CLOBBERED.
3316
35987ae9
RB
33172014-06-04 Richard Biener <rguenther@suse.de>
3318
3319 * configure.ac: Check whether the underlying type of int64_t
3320 is long or long long.
3321 * configure: Regenerate.
3322 * config.in: Likewise.
3323 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
3324 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
3325
0ea48022
RB
33262014-06-04 Richard Biener <rguenther@suse.de>
3327
3328 PR tree-optimization/60098
3329 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
3330 we hit a kill.
3331 (dse_optimize_stmt): Simplify, now that we found a kill
3332 earlier.
3333
b1259d34
RB
33342014-06-04 Richard Biener <rguenther@suse.de>
3335
3336 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
3337 of accesses with non-invariant address.
3338
8be2dc8c
ML
33392014-06-04 Martin Liska <mliska@suse.cz>
3340
3341 * cgraph.h (cgraph_make_wrapper): New function introduced.
3342 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
3343 * ipa-inline.h (inline_analyze_function): The function is global.
3344 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
3345
8a57e88d
ML
33462014-06-04 Martin Liska <mliska@suse.cz>
3347
3348 * tree.h (private_lookup_attribute_starting): New function.
3349 (lookup_attribute_starting): Likewise.
3350 * tree.c (private_lookup_attribute_starting): Likewise.
3351
d211e471
ML
33522014-06-04 Martin Liska <mliska@suse.cz>
3353
3354 * cgraph.h (expand_thunk): New argument added.
3355 (address_taken_from_non_vtable_p): New global function.
3356 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
3357 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
3358 * cgraphunit.c (analyze_function): Likewise.
3359 (assemble_thunks_and_aliases): Argument added to call.
3360 (expand_thunk): New argument forces to produce GIMPLE thunk.
3361
a96bf0d3
ML
33622014-06-04 Martin Liska <mliska@suse.cz>
3363
3364 * coverage.h (coverage_compute_cfg_checksum): Argument added.
3365 * coverage.c (coverage_compute_cfg_checksum): Likewise.
3366 * profile.c (branch_prob): Likewise.
3367
7d2268ea
MJ
33682014-06-04 Martin Jambor <mjambor@suse.cz>
3369
3370 PR ipa/61340
3371 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
3372 handler for switch on an ipa_ref_use enum.
3373 * ipa-reference.c (analyze_function): Likewise.
3374
0dac3001
KT
33752014-06-04 Kai Tietz <ktietz@redhat.com>
3376
3377 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
3378 from old call-instruction.
3379
348d4b0a
BC
33802014-06-04 Bin Cheng <bin.cheng@arm.com>
3381
3382 * config/aarch64/aarch64.c (aarch64_classify_address)
3383 (aarch64_legitimize_reload_address): Support full addressing modes
3384 for vector modes.
3385 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
3386 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
3387
b9e3afe9
AP
33882014-06-03 Andrew Pinski <apinski@cavium.com>
3389
3390 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
3391 for OP0.
3392
33932014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
3394
3395 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
3396 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
3397
3ce7abdd
KT
33982014-06-03 Kai Tietz <ktietz@redhat.com>
3399
3400 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
3401 for 64-bit ms-abi.
3402
47e78f98
DC
34032014-06-03 Dehao Chen <dehao@google.com>
3404
3405 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
3406 the same loop.
3407
fedfecef
MP
34082014-06-03 Marek Polacek <polacek@redhat.com>
3409
3410 PR c/60439
3411 * doc/invoke.texi: Document -Wswitch-bool.
3412 * function.c (stack_protect_epilogue): Cast controlling expression of
3413 the switch to int.
3414 * gengtype.c (walk_type): Generate switch expression with its
3415 controlling expression cast to int.
3416
34172014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
3418
3419 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
3420 and attiny841.
3421 * config/avr/avr-tables.opt: Regenerate.
3422 * config/avr/t-multilib: Regenerate.
3423 * doc/avr-mmcu.texi: Regenerate.
3424
fedfecef
MP
34252014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
3426 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
3427
3428 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
3429 (ata6617c, ata664251): Add new avr35 devices.
3430 (ata6612c): Add new avr4 device.
3431 (ata6613c, ata6614q): Add new avr5 devices.
3432 * config/avr/avr-tables.opt: Regenerate.
3433 * config/avr/t-multilib: Regenerate.
3434 * doc/avr-mmcu.texi: Regenerate.
3435
918621d3
AL
34362014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3437
3438 * gcc/config/aarch64/aarch64-builtins.c
3439 (aarch64_types_binop_ssu_qualifiers): New static data.
3440 (TYPES_BINOP_SSU): Define.
3441 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
3442 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
3443 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
3444 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
3445 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
3446 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
3447 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
3448 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
3449 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
3450 suffix to builtin function name, remove cast.
3451 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
3452 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
3453 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
3454
de10bcce
AL
34552014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3456
3457 * gcc/config/aarch64/aarch64-builtins.c
3458 (aarch64_types_binop_uus_qualifiers,
3459 aarch64_types_shift_to_unsigned_qualifiers,
3460 aarch64_types_unsigned_shiftacc_qualifiers): Define.
3461 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
3462 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
3463 sqshlu_n, uqshl_n): Update qualifiers.
3464 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
3465 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
3466 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
3467 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
3468 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
3469 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
3470 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
3471 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
3472 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
3473 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
3474 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
3475 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
3476 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
3477 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
3478 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
3479 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
3480 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
3481 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
3482 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
3483 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
3484 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
3485 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
3486 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
3487 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
3488 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
3489 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
3490 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
3491
878d3618
TJ
34922014-06-03 Teresa Johnson <tejohnson@google.com>
3493
3494 * tree-sra.c (modify_function): Record caller nodes after rebuild.
3495
616abc64
JM
34962014-06-02 Jason Merrill <jason@redhat.com>
3497
3498 PR c++/61020
3499 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
3500
b31e65bb
AL
35012014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3502
3503 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
3504 location == 0.
3505
923fcec3
AL
35062014-06-03 Alan Lawrence <alan.lawrence@arm.com>
3507
3508 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
3509 New pattern.
3510 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
3511 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
3512 * config/aarch64/iterators.md (REVERSE): New iterator.
3513 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
3514 (rev_op): New int_attribute.
3515 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
3516 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
3517 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
3518 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
3519 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
3520 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
3521 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
3522 Replace temporary __asm__ with __builtin_shuffle.
3523
7b11cab7 35242014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
3525
3526 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
3527 mips64r5.
3528 * config/mips/mips-tables.opt: Regenerate.
3529 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
3530 to use mips_isa_rev rather than ISA_MIPS32R2.
3531 * config/mips/mips.h (ISA_MIPS32R3): New define.
3532 (ISA_MIPS32R5): New define.
3533 (ISA_MIPS64R3): New define.
3534 (ISA_MIPS64R5): New define.
7b11cab7
UB
3535 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
3536 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
3537 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
3538 and mips64r5.
3539 (MIPS_ISA_SYNCI_SPEC): Likewise.
3540 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
3541 (LINK_SPEC): Added mips32r3 and mips32r5.
3542 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
3543 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
3544 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
3545 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
3546 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
3547 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
3548 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
3549
35773f53
AB
35502014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
3551
3552 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
3553 options.
3554 * config/mips/mips.opt (mxpa): New option.
7b11cab7 3555 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
3556 assembler.
3557
d3fb5cf0
MJ
35582014-06-03 Martin Jambor <mjambor@suse.cz>
3559
3560 PR ipa/61160
3561 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
3562 thunks.
3563
3cc272c1
TP
35642014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
3565
3566 PR tree-optimization/61328
3567 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
3568 initialization from find_bswap_or_nop_1.
3569 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
3570 in source_expr2 before using the size value the function sets. Also
3571 make use of init_symbolic_number () in both the old place and
3572 find_bswap_or_nop_load () to avoid reading uninitialized memory when
3573 doing recursion in the GIMPLE_BINARY_RHS case.
3574
597c6315
RB
35752014-06-03 Richard Biener <rguenther@suse.de>
3576
3577 PR tree-optimization/61383
3578 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
3579 stmts can't trap.
3580
b48e9677
RS
35812014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
3582
3583 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
3584 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
3585 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
3586 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
3587 in this file.
3588 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
3589 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
3590 * system.h: ...here and make it unconditional.
3591 * target.def (conditional_register_usage): Mention
3592 define_register_constraint instead of old-style constraint macros.
3593 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
3594 * doc/tm.texi: Regenerate.
3595 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
3596 protected by !USE_MD_CONSTRAINTS.
3597 * config/frv/frv.md: Remove quote from old version of documentation.
3598 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
3599 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
3600 CONST_DOUBLE_OK_FOR_LETTER.
3601 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
3602
b94f5533 36032014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 3604
3a87ac45
AP
3605 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
3606 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
3607 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
3608 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
3609 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
3610 Handle LP64 better and handle ilp32 too.
b94f5533
AP
3611 (MULTILIB_OPTIONS): Delete.
3612 (MULTILIB_DIRNAMES): Delete.
3613
9b2b7279
AM
36142014-06-02 Andrew MacLeod <amacleod@redhat.com>
3615
3616 * expr.h: Remove prototypes of functions defined in builtins.c.
3617 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
3618 Remove prototypes of functions defined in builtins.c.
3619 * builtins.h: Update prototype list to include all exported functions.
3620 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
3621 no_c99_libc_has_function): Move to targhooks.c
3622 (build_string_literal, build_call_expr_loc_array,
3623 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
3624 to tree.c.
3625 (expand_builtin_object_size, fold_builtin_object_size): Make static.
3626 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
3627 no_c99_libc_has_function): Relocate from builtins.c.
3628 * tree.c: Include builtins.h.
3629 (build_call_expr_loc_array, build_call_expr_loc_vec,
3630 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
3631 from builtins.c.
3632 * fold-const.h (fold_fma): Move prototype to builtins.h.
3633 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
3634 * asan.c: Include builtins.h.
3635 * cfgexpand.c: Likewise.
3636 * convert.c: Likewise.
3637 * emit-rtl.c: Likewise.
3638 * except.c: Likewise.
3639 * expr.c: Likewise.
3640 * fold-const.c: Likewise.
3641 * gimple-fold.c: Likewise.
3642 * gimple-ssa-strength-reduction.c: Likewise.
3643 * gimplify.c: Likewise.
3644 * ipa-inline.c: Likewise.
3645 * ipa-prop.c: Likewise.
3646 * lto-streamer-out.c: Likewise.
3647 * stmt.c: Likewise.
3648 * tree-inline.c: Likewise.
3649 * tree-object-size.c: Likewise.
3650 * tree-sra.c: Likewise.
3651 * tree-ssa-ccp.c: Likewise.
3652 * tree-ssa-forwprop.c: Likewise.
3653 * tree-ssa-loop-ivcanon.c: Likewise.
3654 * tree-ssa-loop-ivopts.c: Likewise.
3655 * tree-ssa-math-opts.c: Likewise.
3656 * tree-ssa-reassoc.c: Likewise.
3657 * tree-ssa-threadedge.c: Likewise.
3658 * tree-streamer-in.c: Likewise.
3659 * tree-vect-data-refs.c: Likewise.
3660 * tree-vect-patterns.c: Likewise.
3661 * tree-vect-stmts.c: Likewise.
3662 * config/aarch64/aarch64.c: Likewise.
3663 * config/alpha/alpha.c: Likewise.
3664 * config/arc/arc.c: Likewise.
3665 * config/arm/arm.c: Likewise.
3666 * config/avr/avr.c: Likewise.
3667 * config/bfin/bfin.c: Likewise.
3668 * config/c6x/c6x.c: Likewise.
3669 * config/cr16/cr16.c: Likewise.
3670 * config/cris/cris.c: Likewise.
3671 * config/epiphany/epiphany.c: Likewise.
3672 * config/fr30/fr30.c: Likewise.
3673 * config/frv/frv.c: Likewise.
3674 * config/h8300/h8300.c: Likewise.
3675 * config/i386/i386.c: Likewise.
3676 * config/i386/winnt.c: Likewise.
3677 * config/ia64/ia64.c: Likewise.
3678 * config/iq2000/iq2000.c: Likewise.
3679 * config/lm32/lm32.c: Likewise.
3680 * config/m32c/m32c.c: Likewise.
3681 * config/m32r/m32r.c: Likewise.
3682 * config/m68k/m68k.c: Likewise.
3683 * config/mcore/mcore.c: Likewise.
3684 * config/mep/mep.c: Likewise.
3685 * config/microblaze/microblaze.c: Likewise.
3686 * config/mips/mips.c: Likewise.
3687 * config/mmix/mmix.c: Likewise.
3688 * config/mn10300/mn10300.c: Likewise.
3689 * config/moxie/moxie.c: Likewise.
3690 * config/msp430/msp430.c: Likewise.
3691 * config/nds32/nds32.c: Likewise.
3692 * config/pa/pa.c: Likewise.
3693 * config/pdp11/pdp11.c: Likewise.
3694 * config/picochip/picochip.c: Likewise.
3695 * config/rl78/rl78.c: Likewise.
3696 * config/rs6000/rs6000.c: Likewise.
3697 * config/rx/rx.c: Likewise.
3698 * config/s390/s390.c: Likewise.
3699 * config/score/score.c: Likewise.
3700 * config/sh/sh.c: Likewise.
3701 * config/sparc/sparc.c: Likewise.
3702 * config/spu/spu.c: Likewise.
3703 * config/stormy16/stormy16.c: Likewise.
3704 * config/tilegx/tilegx.c: Likewise.
3705 * config/tilepro/tilepro.c: Likewise.
3706 * config/v850/v850.c: Likewise.
3707 * config/vax/vax.c: Likewise.
3708 * config/xtensa/xtensa.c: Likewise.
3709
0d732cca
JL
37102014-06-02 Jeff Law <law@redhat.com>
3711
3712 PR rtl-optimization/61094
3713 * ree.c (combine_reaching_defs): Do not reextend an insn if it
3714 was marked as do_no_reextend. If a copy is needed to eliminate
3715 an extension, then mark it as do_not_reextend.
3716
a2adad8b
MS
37172014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
3718
3719 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
3720
20a951e6
RH
37212014-06-02 Richard Henderson <rth@redhat.com>
3722
3723 PR target/61336
3724 * config/alpha/alpha.c (print_operand_address): Allow symbolic
3725 addresses inside asms. Use output_operand_lossage instead of
3726 gcc_unreachable.
3727
40c0a159
UB
37282014-06-02 Uros Bizjak <ubizjak@gmail.com>
3729
3730 PR target/61239
3731 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
3732 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
3733
94bfa2da
TV
37342014-06-02 Tom de Vries <tom@codesourcery.com>
3735
3736 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
3737 case that x has VOIDmode.
3738
4a1f940f
BS
37392014-06-02 Bernd Schmidt <bernds@codesourcery.com>
3740
3741 * varasm.c (copy_constant): Delete function.
3742 (build_constant_desc): Don't call it.
3743
27e83a44
RR
37442014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3745
3746 PR target/61154
3747 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
3748 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
3749 with immediate_operand.
3750
31815ed7
AS
37512014-06-02 Andreas Schwab <schwab@suse.de>
3752
3753 * config/ia64/ia64.c
3754 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
3755 pending_data_specs first.
3756
61dd7fbc
RB
37572014-06-02 Richard Biener <rguenther@suse.de>
3758
3759 PR tree-optimization/61378
3760 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
3761 valueized_anything.
3762
1828d3e6
UB
37632014-06-01 Uros Bizjak <ubizjak@gmail.com>
3764
3765 * config/i386/constraints.md (Bw): Rename from 'w'.
3766 (Bz): Rename from 'z'.
3767 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
3768
6041d142
KT
37692014-06-01 Kai Tietz <ktietz@redhat.com>
3770
3771 PR target/61377
1828d3e6
UB
3772 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
3773 * config/i386/i386.md (sibcall_insn_operand): Use Bs
3774 instead of m constraint.
6041d142 3775
aef1bf3b
AS
37762014-05-31 Andreas Schwab <schwab@linux-m68k.org>
3777
3778 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
3779 a separate alternative where the scratch operand 2 is marked as
3780 early clobber.
3781
f10743d3
KV
37822014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
3783
3784 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
3785 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
3786 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
3787 and __builtins_arm_get_fpscr.
3788 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
3789 __builtins_arm_get_fpscr.
3790 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
3791 __builtins_arm_ldfpscr.
3792 (arm_atomic_assign_expand_fenv): New function.
3793 * config/arm/vfp.md (set_fpscr): New pattern.
3794 (get_fpscr) : Likewise.
3795 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
3796 VUNSPEC_SET_FPSCR.
3797 * doc/extend.texi (AARCH64 Built-in Functions) : Document
3798 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
3799
40f9f6bb
JJ
38002014-05-30 Jakub Jelinek <jakub@redhat.com>
3801
b3f1051b
JJ
3802 * asan.c (report_error_func): Add SLOW_P argument, use
3803 BUILT_IN_ASAN_*_N if set.
3804 (build_check_stmt): Likewise.
3805 (instrument_derefs): If T has insufficient alignment,
3806 force same handling as for odd sizes.
3807
40f9f6bb
JJ
3808 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
3809 BUILT_IN_ASAN_REPORT_STORE_N): New.
3810 * asan.c (struct asan_mem_ref): Change access_size type to
3811 HOST_WIDE_INT.
3812 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
3813 update_mem_ref_hash_table): Likewise.
3814 (asan_mem_ref_hasher::hash): Hash in a HWI.
3815 (report_error_func): Change size_in_bytes argument to HWI.
3816 Use *_N builtins if size_in_bytes is larger than 16 or not power of
3817 two.
3818 (build_shadow_mem_access): New function.
3819 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
3820 Handle size_in_bytes not power of two or larger than 16.
3821 (instrument_derefs): Don't give up if size_in_bytes is not
3822 power of two or is larger than 16.
3823
cb105922
KT
38242014-05-30 Kai Tietz <ktietz@redhat.com>
3825
3826 PR target/60104
3827 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
3828 for sibling-tail-calls.
3829 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
3830 to its use.
3831 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
3832 (sibcall_insn_operand): Add check for sibcall_memory_operand.
3833
150e0639
PS
38342014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
3835
3836 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
3837 * config/avr/avr-tables.opt: Regenerate.
3838 * config/avr/t-multilib: Regenerate.
3839 * doc/avr-mmcu.texi: Regenerate.
3840
f9a8f6d9
ILT
38412014-05-30 Ian Lance Taylor <iant@google.com>
3842
3843 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
3844 target("sse").
3845
5028356f
TV
38462014-05-30 Tom de Vries <tom@codesourcery.com>
3847
3848 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
3849 Redefine as true.
3850
10e1bdb2
TV
38512014-05-30 Tom de Vries <tom@codesourcery.com>
3852
3853 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
3854 * lra.c (initialize_lra_reg_info_element): Add init of
3855 actual_call_used_reg_set field.
3856 (lra): Call lra_create_live_ranges before lra_inheritance for
3857 -fuse-caller-save.
3858 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
3859 -fuse-caller-save.
3860 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
3861 instead of call_used_reg_set for -fuse-caller-save.
3862 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
3863
56912037
KT
38642014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3865
3866 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
3867 to mov_imm.
3868 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
3869
98f2f031
RS
38702014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
3871
3872 * ira.c (ira_get_dup_out_num): Check for output operands at
3873 the start of the loop. Handle cases where an included alternative
3874 follows an excluded one.
3875
79abf19f
MS
38762014-05-29 Mike Stump <mikestump@comcast.net>
3877
3878 PR debug/61352
3879 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
3880 post ld passes when lto is used.
3881
cc8849a1
VM
38822014-05-29 Vladimir Makarov <vmakarov@redhat.com>
3883
3884 PR rtl-optimization/61325
40c0a159 3885 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
3886 (process_address): New function.
3887
ae0533da
AL
38882014-05-29 Alan Lawrence <alan.lawrence@arm.com>
3889
3890 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
3891 TYPES_BINOPV): New static data.
40c0a159
UB
3892 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
3893 New builtin.
3894 * config/aarch64/aarch64-simd.md (aarch64_ext,
3895 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
3896 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
3897 patterns for EXT.
3898 (aarch64_evpc_ext): New function.
3899
3900 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
3901
3902 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
3903 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
3904 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
3905 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
3906 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
3907
ed00b1fb
TV
39082014-05-29 Tom de Vries <tom@codesourcery.com>
3909
3910 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
3911
004d3809 39122014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 3913 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 3914
40c0a159
UB
3915 * arm/iterators.md (shiftable_ops): New code iterator.
3916 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 3917 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
3918 * arm/arm.md (insn_enabled): Delete.
3919 (enabled): Remove insn_enabled test.
3920 (*arith_shiftsi): Delete. Replace with ...
3921 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
3922 (*<arith_shift_insn>_shiftsi): ... new pattern.
3923 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
3924
c2db3f3d 39252014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 3926 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
3927
3928 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
3929 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
3930 clobber.
3931 (mips_split_call): Use POST_CALL_TMP_REG.
3932 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
3933
4b29b965
TV
39342014-05-29 Tom de Vries <tom@codesourcery.com>
3935
3936 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
3937 with #ifdef STACK_REGS.
3938
726f0774
JH
39392014-05-28 Jan Hubicka <hubicka@ucw.cz>
3940
3941 * varasm.c (get_variable_section): Walk aliases.
3942 (place_block_symbol): Walk aliases.
3943
ea0b381f
TV
39442014-05-28 Tom de Vries <tom@codesourcery.com>
3945
3946 Revert:
3947 2014-05-28 Tom de Vries <tom@codesourcery.com>
3948
3949 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
3950 * lra.c (initialize_lra_reg_info_element): Add init of
3951 actual_call_used_reg_set field.
3952 (lra): Call lra_create_live_ranges before lra_inheritance for
3953 -fuse-caller-save.
3954 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
3955 -fuse-caller-save.
40c0a159
UB
3956 * lra-constraints.c (need_for_call_save_p): Use
3957 actual_call_used_reg_set instead of call_used_reg_set for
3958 -fuse-caller-save.
ea0b381f
TV
3959 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
3960
73f793e3
RS
39612014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
3962
3963 * doc/md.texi: Document that the % constraint character must
3964 be at the beginning of the string.
3965 * genoutput.c (validate_insn_alternatives): Check that '=',
3966 '+' and '%' only appear at the beginning of a constraint.
3967 * ira.c (commutative_constraint_p): Delete.
3968 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
3969 at the start of the string.
3970 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
3971 duplicate '='s.
3972 * config/arm/neon.md (bicdi3_neon): Likewise.
3973 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
3974 (slt_si, sltu_si): Likewise.
3975 * config/vax/vax.md (sbcdi3): Likewise.
3976 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
3977 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
3978 (mul64): Move '%' to beginning of constraint.
3979 * config/arm/arm.md (*xordi3_insn): Likewise.
3980 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
3981 (xorsi3): Likewise.
3982
5a7555ab
RS
39832014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
3984
3985 * doc/md.texi: Document the restrictions on the "enabled" attribute.
3986
d67ff7b7
JM
39872014-05-28 Jason Merrill <jason@redhat.com>
3988
3989 PR c++/47202
3990 * cgraph.h (symtab_node::get_comdat_group_id): New.
3991 * cgraphunit.c (analyze_functions): Call it.
3992 * symtab.c (dump_symtab_node): Likewise.
3993 * tree.c (decl_comdat_group_id): New.
3994 * tree.h: Declare it.
3995 * lto-streamer-out.c (write_symbol): Use it.
3996 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
3997
ecc7533a
FXC
39982014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3999
4000 PR bootstrap/PR61146
4001 * wide-int.cc: Do not include longlong.h when compiling with clang.
4002
6e5799b9
RB
40032014-05-28 Richard Biener <rguenther@suse.de>
4004
4005 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
4006 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
4007 (vrp_visit_assignment_or_call): Print less vertical space.
4008 (vrp_visit_stmt): Likewise.
4009 (vrp_visit_phi_node): Likewise. For a PHI argument with
4010 VR_VARYING range consider recording it as copy.
4011
47f9fca8
RB
40122014-05-28 Richard Biener <rguenther@suse.de>
4013
4014 Revert
4015 2014-05-28 Richard Biener <rguenther@suse.de>
4016
4017 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
4018
7fbf8a3e
BE
40192014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4020
4021 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
4022 sufficiently aligned and an offset is used at the same time.
4023 (expand_expr_real_1): Likewise.
4024
b017a174
RB
40252014-05-28 Richard Biener <rguenther@suse.de>
4026
4027 PR middle-end/61045
4028 * fold-const.c (fold_comparison): When folding
4029 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
4030 the sign of the remaining constant operand stays the same.
4031
96360888
KP
40322014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
4033
4034 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
4035 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
4036 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
4037 to the assembler.
40c0a159 4038 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
4039 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
4040 (m32bit-doubles) Likewise.
4041 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
4042 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
4043 option for RL78.
4044
3c698bf0
RO
40452014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4046
4047 * configure.ac ($gcc_cv_ld_clearcap): New test.
4048 * configure: Regenerate.
4049 * config.in: Regenerate.
4050 * config/sol2.opt (mclear-hwcap): New option.
4051 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
4052 * config/sol2-clearcap.map: Moved here from
4053 testsuite/gcc.target/i386/clearcap.map.
4054 * config/sol2-clearcapv2.map: Move here from
4055 gcc.target/i386/clearcapv2.map.
4056 * config/t-sol2 (install): Depend on install-clearcap-map.
4057 (install-clearcap-map): New target.
4058 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
4059 -mclear-hwcap.
4060
4c8bd90f
RB
40612014-05-28 Richard Biener <rguenther@suse.de>
4062
4063 * hwint.h (*_HALF_WIDE_INT*): Move to ...
4064 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
4065 ... here and remove the rest.
4066 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
4067
a896172d
RB
40682014-05-28 Richard Biener <rguenther@suse.de>
4069
4070 PR tree-optimization/61335
4071 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
4072 new range fails, drop to varying.
4073
c41f1c42
BE
40742014-05-28 Olivier Hainque <hainque@adacore.com>
4075
4076 * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
4077 (CPP_SPEC): Add entry for -mcpu=8548.
4078 * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
4079 * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
4080
b8c6a45a
TV
40812014-05-28 Tom de Vries <tom@codesourcery.com>
4082
4083 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
4084 * lra.c (initialize_lra_reg_info_element): Add init of
4085 actual_call_used_reg_set field.
4086 (lra): Call lra_create_live_ranges before lra_inheritance for
4087 -fuse-caller-save.
4088 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
4089 -fuse-caller-save.
40c0a159
UB
4090 * lra-constraints.c (need_for_call_save_p): Use
4091 actual_call_used_reg_set instead of call_used_reg_set for
4092 -fuse-caller-save.
b8c6a45a
TV
4093 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
4094
dbe7d9e3 40952014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4096 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 4097
40c0a159
UB
4098 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
4099 to gccoptlist.
dbe7d9e3
RO
4100 (@item -fuse-caller-save): New item.
4101
5c989bbf 41022014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4103 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
4104
4105 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
4106 OPT_fuse_caller_save.
4107
c2ba7e7a 41082014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4109 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
4110
4111 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
4112 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
4113 get_call_reg_set_usage.
4114 * resource.c (mark_set_resources, mark_target_live_regs): Use
4115 get_call_reg_set_usage.
4116 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
4117 field.
4118 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
4119 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
4120 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
4121 * ira-build.c (ira_create_allocno): Init
4122 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
4123 (create_cap_allocno, propagate_allocno_info)
4124 (propagate_some_info_from_allocno)
4125 (copy_info_to_removed_store_destinations): Handle
4126 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
4127 * ira-costs.c (ira_tune_allocno_costs): Use
4128 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
4129
27c07cc5 41302014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4131 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
4132
4133 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
4134 and function_used_regs_valid fields.
4135 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
4136 find_all_hard_reg_sets.
4137 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
4138 (get_call_reg_set_usage): New function.
4139 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
4140 * regs.h (get_call_reg_set_usage): Declare.
4141
ca48e5ef
GJL
41422014-05-28 Georg-Johann Lay <avr@gjlay.de>
4143
4144 PR libgcc/61152
4145 * config/dbx.h (License): Add Runtime Library Exception.
4146 * config/newlib-stdint.h (License): Same.
4147 * config/rtems.h (License): Same
4148 * config/initfini-array.h (License): Same
4149 * config/v850/v850.h (License): Same.
4150 * config/v850/v850-opts.h (License): Same
4151 * config/v850/rtems.h (License): Same.
4152
92747f7d
GJL
41532014-05-28 Georg-Johann Lay <avr@gjlay.de>
4154
4155 PR target/61044
4156 * doc/extend.texi (Local Labels): Note that label differences are
4157 not supported for AVR.
4158
c41f1c42
BE
41592014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
4160 Olivier Hainque <hainque@adacore.com>
4161
4162 * rtl.h (set_for_reg_notes): Declare.
4163 * emit-rtl.c (set_for_reg_notes): New function.
4164 (set_unique_reg_note): Use it.
4165 * optabs.c (add_equal_note): Likewise
4166
9c6ab05f
AP
41672014-05-27 Andrew Pinski <apinski@cavium.com>
4168
4169 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
4170 Use <w> for the register in assembly template.
40c0a159 4171 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
4172 (stack_protect_test_<mode>): Use <w> for the register
4173 in assembly template.
4174
69c7a374
DD
41752014-05-27 DJ Delorie <dj@redhat.com>
4176
4177 * config/rx/rx.c (add_vector_labels): New.
4178 (rx_output_function_prologue): Call it.
4179 (rx_handle_func_attribute): Don't require empty arguments.
4180 (rx_handle_vector_attribute): New.
4181 (rx_attribute_table): Add "vector" attribute.
4182 * doc/extend.texi (interrupt, vector): Document new/changed
4183 RX-specific attributes.
4184
4185 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
4186
5e67547d
EB
41872014-05-27 Eric Botcazou <ebotcazou@adacore.com>
4188
4189 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
4190 predicate to detect a negative quotient.
4191
d378c07e
EB
41922014-05-27 Eric Botcazou <ebotcazou@adacore.com>
4193
4194 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
4195 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
4196 Add X - Y CMP 0 to X CMP Y transformation.
4197 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
4198
3ce6c715
SB
41992014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
4200
4201 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
4202 before printing.
4203
11237229
SE
42042014-05-27 Steve Ellcey <sellcey@mips.com>
4205
4206 * config/mips/mips.c: Add include of cgraph.h.
4207
7ea7f668
RB
42082014-05-27 Richard Biener <rguenther@suse.de>
4209
4210 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
4211
c7eca9fe
GJL
42122014-05-27 Georg-Johann Lay <avr@gjlay.de>
4213
4214 PR libgcc/61152
4215 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
4216 * config/arm/arm-cores.def (License): Same.
4217 * config/arm/arm-opts.h (License): Same.
4218 * config/arm/aout.h (License): Same.
4219 * config/arm/bpabi.h (License): Same.
4220 * config/arm/elf.h (License): Same.
4221 * config/arm/linux-elf.h (License): Same.
4222 * config/arm/linux-gas.h (License): Same.
4223 * config/arm/netbsd-elf.h (License): Same.
4224 * config/arm/uclinux-eabi.h (License): Same.
4225 * config/arm/uclinux-elf.h (License): Same.
4226 * config/arm/vxworks.h (License): Same.
4227
7a10ea9f
KT
42282014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4229
4230 * config/arm/neon.md (neon_bswap<mode>): New pattern.
4231 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
4232 (arm_init_neon_builtins): Handle NEON_BSWAP.
4233 Define required type nodes.
4234 (arm_expand_neon_builtin): Handle NEON_BSWAP.
4235 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
4236 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
4237 * config/arm/iterators.md (VDQHSD): New mode iterator.
4238
597f5997
RB
42392014-05-27 Richard Biener <rguenther@suse.de>
4240
4241 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
4242 Try using literal operands when comparing value-ranges failed.
4243
f571b63f
RS
42442014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
4245
4246 * ira.c (commutative_operand): Adjust for change to recog_data.
4247 [Missing from previous commit.]
4248
4cc8d9d2
RS
42492014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
4250
4251 * system.h (TEST_BIT): New macro.
4252 * recog.h (alternative_mask): New type.
4253 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
4254 (recog_data_d): Replace alternative_enabled_p array with
4255 enabled_alternatives.
4256 (target_recog): New structure.
4257 (default_target_recog, this_target_recog): Declare.
4258 (get_enabled_alternatives, recog_init): Likewise.
4259 * recog.c (default_target_recog, this_target_recog): New variables.
4260 (get_enabled_alternatives): New function.
4261 (extract_insn): Use it.
4262 (recog_init): New function.
4263 (preprocess_constraints, constrain_operands): Adjust for change to
4264 recog_data.
4265 * postreload.c (reload_cse_simplify_operands): Likewise.
4266 * reload.c (find_reloads): Likewise.
4267 * ira-costs.c (record_reg_classes): Likewise.
4268 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
4269 all alternatives after a disabled one would be skipped.
4270 (ira_implicitly_set_insn_hard_regs): Likewise.
4271 * ira.c (ira_setup_alts): Adjust for change to recog_data.
4272 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
4273 with enabled_alternatives.
4274 * lra.c (free_insn_recog_data): Update accordingly.
4275 (lra_update_insn_recog_data): Likewise.
4276 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
4277 * lra-constraints.c (process_alt_operands): Likewise. Handle
4278 only_alternative as part of the enabled mask.
4279 * target-globals.h (this_target_recog): Declare.
4280 (target_globals): Add a recog field.
4281 (restore_target_globals): Restore this_target_recog.
4282 * target-globals.c: Include recog.h.
4283 (default_target_globals): Initialize recog field.
4284 (save_target_globals): Likewise.
4285 * reginfo.c (reinit_regs): Call recog_init.
4286 * toplev.c (backend_init_target): Likewise.
4287
9921417d
RS
42882014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
4289
4290 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
4291 rather than any named insn's code.
4292
a5024e01
GJL
42932014-05-27 Georg-Johann Lay <avr@gjlay.de>
4294
4295 PR libgcc/61152
4296 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
4297 * config/arm/arm-cores.def (License): Same.
4298
50efcce1
JH
42992014-05-26 Jan Hubicka <hubicka@ucw.cz>
4300
4301 * tree.h (decl_comdat_group): Declare.
4302 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
4303 * tree.c (decl_comdat_group): Here.
4304
3e26c8f6
RS
43052014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
4306
4307 PR rtl-optimization/61222
4308 * combine.c (simplify_shift_const_1): When moving a PLUS outside
4309 the shift, truncate the PLUS operand to the result mode.
4310
b8140cd6
UB
43112014-05-26 Uros Bizjak <ubizjak@gmail.com>
4312
4313 PR target/61271
4314 * config/i386/i386.c (ix86_rtx_costs)
4315 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
4316 Fix condition.
4317
acea91c9
MJ
43182014-05-26 Martin Jambor <mjambor@suse.cz>
4319
4320 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
4321 subreg uses.
4322
d93461f7
RB
43232014-05-26 Richard Biener <rguenther@suse.de>
4324
4325 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
4326 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
4327 Provide specializations.
4328 (wi::int_traits <HOST_WIDE_INT>,
4329 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
4330
bfe51f42
AM
43312014-05-26 Alan Modra <amodra@gmail.com>
4332
4333 PR target/61098
4334 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
4335 params and return a bool. Remove dead code. Update comment.
4336 Assert we have a const_int source. Remove bogus code from
4337 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
4338 handling of constants > 2G and reg_equal note, from..
4339 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
4340 return value. Update comment. If we can, use a new pseudo
4341 for intermediate calculations.
4342 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
4343 prototype.
4344 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
4345 call to rs6000_emit_set_const in splitter.
4346 (movdi_internal64+2, +3): Likewise.
4347
a9243bfc
RB
43482014-05-26 Richard Biener <rguenther@suse.de>
4349
4350 * system.h: Define __STDC_FORMAT_MACROS before
4351 including inttypes.h.
4352 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
4353 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
4354 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
4355 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
4356 HOST_WIDEST_INT_C): Remove.
4357 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
4358 if C99 inttypes.h is not available.
4359 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
4360 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
4361 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
4362 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
4363 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
4364 (struct output_info): Likewise.
4365 (print_statistics): Adjust.
4366 (dump_bitmap_statistics): Likewise.
4367 * bt-load.c (migrate_btr_defs): Print with PRId64.
4368 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
4369 (MAX_SAFE_MULTIPLIER): Adjust.
4370 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
4371 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
4372 dump_cgraph_node): Likewise.
4373 * final.c (dump_basic_block_info): Likewise.
4374 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
4375 * gcov.c (format_gcov): Likewise.
4376 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
4377 for calculation.
4378 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
4379 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
4380 (inline_small_functions, dump_overall_stats, dump_inline_stats):
4381 Use PRId64 for dumping.
4382 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
4383 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
4384 (add_allocno_hard_regs): Adjust.
4385 * loop-doloop.c (doloop_modify): Print using PRId64.
4386 * loop-iv.c (inverse): Compute in uint64_t.
4387 (determine_max_iter, iv_number_of_iterations): Likewise.
4388 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
4389 Print using PRId64.
4390 * lto-streamer-out.c (write_symbol): Use uint64_t.
4391 * mcf.c (CAP_INFINITY): Use int64_t maximum.
4392 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
4393 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
4394 * modulo-sched.c (const_iteration_count): Use int64_t.
4395 (sms_schedule): Dump using PRId64.
4396 * predict.c (dump_prediction): Likewise.
4397 * pretty-print.h (pp_widest_integer): Remove.
4398 * profile.c (get_working_sets, is_edge_inconsistent,
4399 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
4400 * tree-pretty-print.c (pp_double_int): Remove case handling
4401 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
4402 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
4403 and adjust users.
4404 (pass_optimize_bswap::execute): Remove restriction on hosts.
4405 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
4406 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
4407 * tree.c (widest_int_cst_value): Remove.
4408 * tree.h (widest_int_cst_value): Likewise.
4409 * value-prof.c (dump_histogram_value): Print using PRId64.
4410 * gengtype.c (main): Also inject int64_t.
4411 * ggc-page.c (struct max_alignment): Use int64_t.
4412 * alloc-pool.c (struct allocation_object_def): Likewise.
4413 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
4414 for computation.
4415 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
4416 * doc/tm.texi: Regenerated.
4417 * gengtype-lex.l (IWORD): Handle [u]int64_t.
4418 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
4419 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
4420 mmix_output_register_setting): Use [u]int64_t in prototypes.
4421 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
4422 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
4423 mmix_output_octa, mmix_output_shifted_value): Adjust.
4424 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 4425 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 4426
edf6ddf6
RB
44272014-05-26 Richard Biener <rguenther@suse.de>
4428
4429 * configure.ac: Drop __int64 type check. Insist that we
4430 found uint64_t and int64_t.
4431 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 4432 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
4433 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
4434 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
4435 (HOST_WIDEST_FAST_INT): Remove __int64 case.
4436 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
4437 for dst_q_src_df_rms_cdt.
4438 * configure: Regenerate.
4439 * config.in: Likewise.
4440
d4082970
MT
44412014-05-26 Michael Tautschnig <mt@debian.org>
4442
4443 PR target/61249
49f002b6
UB
4444 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
4445 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 4446
d29d688a
ZC
44472014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4448
4449 PR rtl-optimization/61278
4450 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
4451
88f32f0f
ZC
44522014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4453
4454 PR rtl-optimization/61220
4455 Part of PR rtl-optimization/61225
4456 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
4457 insn; skip split_edge for a block with only one successor.
4458
97ae6b64
JH
44592014-05-23 Jan Hubicka <hubicka@ucw.cz>
4460
d4082970
MT
4461 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
4462 for variables.
97ae6b64 4463
07990a5e
JH
44642014-05-23 Jan Hubicka <hubicka@ucw.cz>
4465
4466 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
4467 (update_vtable_references): New function.
4468 (function_and_variable_visibility): Rewrite also vtable initializers.
4469 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
4470
fd1e9302
JH
44712014-05-23 Jan Hubicka <hubicka@ucw.cz>
4472
4473 * ggc.h (ggc_grow): New function.
4474 * ggc-none.c (ggc_grow): New function.
4475 * ggc-page.c (ggc_grow): Likewise.
4476
7f7beb3f
JH
44772014-05-23 Jan Hubicka <hubicka@ucw.cz>
4478
d4082970
MT
4479 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
4480 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
4481 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
4482 varpool_externally_visible_p, can_replace_by_local_alias,
4483 update_visibility_by_resolution_info, function_and_variable_visibility,
4484 pass_data_ipa_function_and_variable_visibility,
4485 make_pass_ipa_function_and_variable_visibility,
4486 whole_program_function_and_variable_visibility,
4487 pass_data_ipa_whole_program_visibility,
4488 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
4489 * cgraph.h (cgraph_local_node_p): Declare.
4490 * ipa-visibility.c: New file.
4491 * Makefile.in (OBJS): Add ipa-visiblity.o
4492
6adda80b
JH
44932014-05-23 Jan Hubicka <hubicka@ucw.cz>
4494
4495 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
4496 that var decl is available.
4497
aede2c10
JH
44982014-05-23 Jan Hubicka <hubicka@ucw.cz>
4499
4500 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
4501 symtab_node pointer.
d4082970 4502 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
4503 (find_decls_types_r): Do not walk COMDAT_GROUP.
4504 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
4505 * varasm.c (make_decl_one_only): Use set_comdat_group;
4506 create node if needed.
4507 * ipa-inline-transform.c (save_inline_function_body): Update
4508 way we decl->symtab mapping.
4509 * symtab.c (symtab_hash, hash_node, eq_node
4510 symtab_insert_node_to_hashtable): Remove.
4511 (symtab_register_node): Update.
4512 (symtab_unregister_node): Update.
4513 (symtab_get_node): Reimplement as inline function.
4514 (symtab_add_to_same_comdat_group): Update.
4515 (symtab_dissolve_same_comdat_group_list): Update.
4516 (dump_symtab_base): Update.
4517 (verify_symtab_base): Update.
4518 (symtab_make_decl_local): Update.
4519 (fixup_same_cpp_alias_visibility): Update.
4520 (symtab_nonoverwritable_alias): Update.
4521 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
4522 * ipa.c (update_visibility_by_resolution_info): UPdate.
4523 * bb-reorder.c: Include cgraph.h
4524 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
4525 with comdat groups.
4526 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
4527 * cgraph.c (cgraph_get_create_node): Update.
4528 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
4529 and comdat_group_.
4530 (symtab_get_node): Make inline.
4531 (symtab_insert_node_to_hashtable): Remove.
4532 (symtab_can_be_discarded): Update.
4533 (decl_comdat_group): New function.
d4082970
MT
4534 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
4535 Update.
aede2c10
JH
4536 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
4537 comdat group name.
4538 (read_comdat_group): New function.
4539 (input_node, input_varpool_node): Use it.
4540 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
4541 comdat groups.
4542 * mips.c (mips_start_unique_function): Likewise.
4543 (ix86_code_end): Likewise.
4544 (rs6000_code_end): Likweise.
d4082970 4545 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 4546
4df199d1
JH
45472014-05-23 Jan Hubicka <hubicka@ucw.cz>
4548
4549 * gengtype-state.c (fatal_reading_state): Bring offline.
4550 * optabs.c (widening_optab_handler): Bring offline.
4551 * optabs.h (widening_optab_handler): Likewise.
4552 * final.c (get_attr_length_1): Likewise.
4553
e0e349f3
JH
45542014-05-23 Jan Hubicka <hubicka@ucw.cz>
4555
4556 * sched-int.h (sd_iterator_cond): Manually tail recurse.
4557
a35dd1fa
SB
45582014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4559
d4082970 4560 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 4561 (ppc440-compare): Include shift with dot.
d4082970 4562 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
4563 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
4564 without dot.
4565 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
4566 without dot.
4567 (e6500_sfx2): Include it.
4568 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
4569 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
4570 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
4571 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
4572 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
4573 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
4574 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
4575 *lshiftrt_internal1le, *lshiftrt_internal1be,
4576 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
4577 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
4578 *rotldi3_internal10le, *rotldi3_internal10be,
4579 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
4580 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
4581 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
4582 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
4583 define_insns): Use type "shift" in the appropriate alternatives.
4584
73c076c8
SB
45852014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4586
4587 * config/rs6000/rs6000.md (type): Add "logical". Delete
4588 "fast_compare".
4589 (dot): Adjust comment.
4590 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
4591 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
4592 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
4593 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
4594 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
4595 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 4596 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
4597 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
4598
d4082970
MT
4599 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
4600 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
4601 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
4602 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
4603 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
4604 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
4605 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
4606 * config/rs6000/8540.md (ppc8540_su): Adjust.
4607 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 4608 cell-cmp-microcoded): Adjust.
d4082970
MT
4609 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
4610 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4611 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
4612 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
4613 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
4614 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
4615 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
4616 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
4617 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 4618 Adjust.
d4082970
MT
4619 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
4620 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 4621 Adjust. Adjust comment.
d4082970
MT
4622 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
4623 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 4624
0cbb4f58
SB
46252014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4626
4627 * config/rs6000/rs6000.md (type): Add "add".
4628 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
4629 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
4630 define_insns): Use it.
4631 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
4632
4633 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
4634 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 4635 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
4636 * config/rs6000/601.md (ppc601-integer): Adjust.
4637 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
4638 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
4639 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
4640 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
4641 * config/rs6000/8540.md (ppc8540_su): Adjust.
4642 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
4643 cell-cmp-microcoded): Adjust.
4644 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
4645 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4646 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
4647 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
4648 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
4649 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
4650 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
4651 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
4652 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
4653 Adjust.
4654 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 4655 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
4656 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
4657 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
4658
892e7fa6
SB
46592014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4660
4661 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
4662 "delayed_compare", "var_delayed_compare".
4663 (var_shift): New attribute.
4664 (cell_micro): Adjust.
4665 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
4666 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
4667 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
4668 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
4669 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
4670 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
4671 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
4672 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
4673 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
4674 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
4675 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
4676 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
4677 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
4678 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
4679 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
4680 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
4681 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
4682 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
4683 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
4684 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
4685 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
4686 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
4687 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
4688 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4689 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
4690
4691 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
4692 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 4693 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
4694 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
4695 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
4696 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 4697 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
4698 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
4699 * config/rs6000/8540.md (ppc8540_su): Adjust.
4700 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
4701 cell-cmp-microcoded): Adjust.
4702 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
4703 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4704 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
4705 e500mc64_delayed): Adjust.
4706 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
4707 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
4708 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
4709 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
4710 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
4711 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
4712 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 4713 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
4714 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
4715 Adjust comment.
4716 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
4717 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
4718
441e02a5
SB
47192014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4720
d4082970 4721 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
4722 (bits): New mode_attr.
4723 (idiv_ldiv): Delete mode_attr.
4724 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
4725 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4726 rs6000_adjust_priority, is_nonpipeline_insn,
4727 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
4728
4729 * config/rs6000/40x.md (ppc403-idiv): Adjust.
4730 * config/rs6000/440.md (ppc440-idiv): Adjust.
4731 * config/rs6000/476.md (ppc476-idiv): Adjust.
4732 * config/rs6000/601.md (ppc601-idiv): Adjust.
4733 * config/rs6000/603.md (ppc603-idiv): Adjust.
4734 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
4735 ppc620-ldiv): Adjust.
4736 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
4737 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
4738 * config/rs6000/8540.md (ppc8540_divide): Adjust.
4739 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
4740 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
4741 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
4742 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
4743 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
4744 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
4745 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
4746 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
4747 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
4748 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
4749 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
4750 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
4751 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
4752 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
4753 * config/rs6000/titan.md (titan_fxu_div): Adjust.
4754
58ee9e66
SB
47552014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4756
4757 * config/rs6000/rs6000.md (type): Delete "insert_word",
4758 "insert_dword". Add "insert".
4759 (size): Update comment.
4760 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4761 insn_must_be_first_in_group): Adjust.
4762 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
4763 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
4764 *insvsi_internal6, insvdi_internal): Adjust.
4765
4766 * config/rs6000/40x.md (ppc403-integer): Adjust.
4767 * config/rs6000/440.md (ppc440-integer): Adjust.
4768 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
4769 * config/rs6000/601.md (ppc601-integer): Adjust.
4770 * config/rs6000/603.md (ppc603-integer): Adjust.
4771 * config/rs6000/6xx.md (ppc604-integer): Adjust.
4772 * config/rs6000/7450.md (ppc7450-integer): Adjust.
4773 * config/rs6000/7xx.md (ppc750-integer): Adjust.
4774 * config/rs6000/8540.md (ppc8540_su): Adjust.
4775 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
4776 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
4777 * config/rs6000/e500mc.md (e500mc_su): Adjust.
4778 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
4779 * config/rs6000/e5500.md (e5500_sfx): Adjust.
4780 * config/rs6000/e6500.md (e6500_sfx): Adjust.
4781 * config/rs6000/mpc.md (mpccore-integer): Adjust.
4782 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
4783 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 4784 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
4785 * config/rs6000/power7.md (power7-integer): Adjust.
4786 * config/rs6000/power8.md (power8-1cyc): Adjust.
4787 * config/rs6000/rs64.md (rs64a-integer): Adjust.
4788 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
4789
e0528ed9
SB
47902014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4791
4792 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
4793 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
4794 (size): New attribute.
4795 (dot): New attribute.
4796 (cell_micro): Adjust.
4797 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
4798 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
4799 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
4800 umuldi3_highpart): Adjust.
4801 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
4802 rs6000_adjust_priority, is_nonpipeline_insn,
4803 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
4804
4805 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
4806 ppc405-imul3): Adjust.
4807 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
4808 * config/rs6000/476.md (ppc476-imul): Adjust.
4809 * config/rs6000/601.md (ppc601-imul): Adjust.
4810 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
4811 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
4812 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
4813 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
4814 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
4815 Adjust.
4816 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
4817 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
4818 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
4819 cell-imul): Adjust.
4820 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
4821 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
4822 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
4823 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
4824 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
4825 * config/rs6000/mpc.md (mpccore-imul): Adjust.
4826 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
4827 power4-lmul, power4-imul, power4-imul3): Adjust.
4828 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
4829 power5-lmul, power5-imul, power5-imul3): Adjust.
4830 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
4831 power6-lmul, power6-imul, power6-imul3): Adjust.
4832 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
4833 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
4834
4835 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
4836 rs64a-lmul): Adjust.
4837 * config/rs6000/titan.md (titan_imul): Adjust.
4838
1263d642
SB
48392014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4840
4841 * config/rs6000/rs6000.md (type): Add new value "halfmul".
4842 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
4843 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
4844 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
4845 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 4846 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
4847 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
4848 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
4849 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
4850 * config/rs6000/titan.md: Delete nonsensical comment.
4851 (titan_imul): Add type imul3.
4852 (titan_mulhw): Remove type imul3; add type halfmul.
4853
1be6301a
SB
48542014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
4855
4856 * config/rs6000/rs6000.md (type): Reorder, reformat.
4857
8aab5218
MJ
48582014-05-23 Martin Jambor <mjambor@suse.cz>
4859
4860 PR tree-optimization/53787
4861 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
4862 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
4863 analysis_done, update all uses.
4864 * ipa-prop.c: Include domwalk.h
4865 (param_analysis_info): Removed.
4866 (param_aa_status): New type.
4867 (ipa_bb_info): Likewise.
4868 (func_body_info): Likewise.
4869 (ipa_get_bb_info): New function.
4870 (aa_overwalked): Likewise.
4871 (find_dominating_aa_status): Likewise.
4872 (parm_bb_aa_status_for_bb): Likewise.
4873 (parm_preserved_before_stmt_p): Changed to use new param AA info.
4874 (load_from_unmodified_param): Accept func_body_info as a parameter
4875 instead of parms_ainfo.
4876 (parm_ref_data_preserved_p): Changed to use new param AA info.
4877 (parm_ref_data_pass_through_p): Likewise.
4878 (ipa_load_from_parm_agg_1): Likewise. Update callers.
4879 (compute_complex_assign_jump_func): Changed to use new param AA info.
4880 (compute_complex_ancestor_jump_func): Likewise.
4881 (ipa_compute_jump_functions_for_edge): Likewise.
4882 (ipa_compute_jump_functions): Removed.
4883 (ipa_compute_jump_functions_for_bb): New function.
4884 (ipa_analyze_indirect_call_uses): Likewise, moved variable
4885 declarations down.
4886 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
4887 and info, moved variable declarations down.
4888 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
4889 node and info.
4890 (ipa_analyze_stmt_uses): Likewise.
4891 (ipa_analyze_params_uses): Removed.
4892 (ipa_analyze_params_uses_in_bb): New function.
4893 (ipa_analyze_controlled_uses): Likewise.
4894 (free_ipa_bb_info): Likewise.
4895 (analysis_dom_walker): New class.
4896 (ipa_analyze_node): Handle node-specific forbidden analysis,
4897 initialize and free func_body_info, use dominator walker.
4898 (ipcp_modif_dom_walker): New class.
4899 (ipcp_transform_function): Create and free func_body_info, use
4900 ipcp_modif_dom_walker, moved a lot of functionality there.
4901
85a16bf8
MP
49022014-05-23 Marek Polacek <polacek@redhat.com>
4903 Jakub Jelinek <jakub@redhat.com>
4904
4905 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
4906 * gcc.c (sanitize_spec_function): Likewise.
4907 * convert.c (convert_to_integer): Include "ubsan.h". Add
4908 floating-point to integer instrumentation.
4909 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
4910 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
4911 SANITIZE_NONDEFAULT.
4912 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
4913 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
4914 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
4915 * ubsan.c: Include "realmpfr.h" and "dfp.h".
4916 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
4917 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
4918 float/double/long double.
4919 (ubsan_instrument_float_cast): New function.
4920 * ubsan.h (ubsan_instrument_float_cast): Declare.
4921
40c0a159 49222014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
4923
4924 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
4925 predicate.
4926 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
4927 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
4928 Adjust for tailcalling through registers.
4929 * config/aarch64/aarch64.h (enum reg_class): New caller save
4930 register class.
4931 (REG_CLASS_NAMES): Likewise.
4932 (REG_CLASS_CONTENTS): Likewise.
4933 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
4934 Allow tailcalling without decls.
4935
ed20ae98
TS
49362014-05-23 Thomas Schwinge <thomas@codesourcery.com>
4937
09af4b4c
TS
4938 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
4939 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
4940
ed20ae98
TS
4941 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
4942 gsi, and variables v_* to v*.
4943
4adf63f9
EB
49442014-05-23 Eric Botcazou <ebotcazou@adacore.com>
4945
4946 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
4947
a5a5434f
TS
49482014-05-23 Thomas Schwinge <thomas@codesourcery.com>
4949
0aadce73
TS
4950 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
4951 * omp-low.c: Update accordingly.
4952
eb63c927
TS
4953 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
4954 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
4955 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
4956 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
4957 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
4958 GF_OMP_TARGET_KIND_UPDATE.
4959
a5a5434f
TS
4960 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
4961 Explicitly enumerate the expected region types.
4962
ee526ea7
PE
49632014-05-23 Paul Eggert <eggert@cs.ucla.edu>
4964
4965 PR other/56955
4966 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
4967 documentation; the old documentation didn't clearly state the
4968 constraints on the contents of the pointed-to storage.
4969
676cad4d
MK
49702014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4971
4972 Fix bootstrap error on ia64
4973 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
4974 Return default value.
4975
73984f84
TP
49762014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
4977
4978 PR tree-optimization/54733
4979 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
4980 (CMPNOP): Define.
4981 (find_bswap_or_nop_load): New.
4982 (find_bswap_1): Renamed to ...
4983 (find_bswap_or_nop_1): This. Also add support for memory source.
4984 (find_bswap): Renamed to ...
4985 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
4986 detection of bitwise operations equivalent to load in target
4987 endianness.
73984f84
TP
4988 (execute_optimize_bswap): Likewise. Also move its leading comment back
4989 in place and split statement transformation into ...
4990 (bswap_replace): This.
4991
b17ec42d
VM
49922014-05-22 Vladimir Makarov <vmakarov@redhat.com>
4993
4994 PR rtl-optimization/61215
4995 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
4996 simplify_gen_subreg until final substitution.
4997
ea9364db
AM
49982014-05-23 Alan Modra <amodra@gmail.com>
4999
5000 PR target/61231
5001 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
5002 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
5003 Use "Y" constraint rather than "m".
5004
aa87aced
KV
50052014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
5006
5007 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
5008 define.
5009 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
5010 New function declaration.
5011 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
5012 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
5013 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
5014 (aarch64_init_builtins) : Initialize builtins
5015 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
5016 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
5017 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
5018 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
5019 and __builtins_aarch64_set_fpsr.
5020 (aarch64_atomic_assign_expand_fenv): New function.
5021 * config/aarch64/aarch64.md (set_fpcr): New pattern.
5022 (get_fpcr) : Likewise.
5023 (set_fpsr) : Likewise.
5024 (get_fpsr) : Likewise.
5025 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
5026 and UNSPECV_SET_FPSR.
5027 * doc/extend.texi (AARCH64 Built-in Functions) : Document
5028 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
5029 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
5030
0a1eb350
VM
50312014-05-22 Vladimir Makarov <vmakarov@redhat.com>
5032
5033 PR rtl-optimization/60969
5034 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
5035 constraints. Set up mem cost for NO_REGS case.
5036
f6a7cffc
TS
50372014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5038
5039 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
5040
4000360e
BS
50412012-05-22 Bernd Schmidt <bernds@codesourcery.com>
5042
5043 * config/darwin.c: Include "lto-section-names.h".
5044 (LTO_SEGMENT_NAME): Don't define.
5045 * config/i386/winnt.c: Include "lto-section-names.h".
5046 * lto-streamer.c: Include "lto-section-names.h".
5047 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
5048 * lto-wrapper.c: Include "lto-section-names.h".
5049 (LTO_SECTION_NAME_PREFIX): Don't define.
5050 * lto-section-names.h: New file.
5051 * cgraphunit.c: Include "lto-section-names.h".
5052
c9aee450
PB
50532014-05-22 Peter Bergner <bergner@vnet.ibm.com>
5054
5055 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
5056
37f2edf5
RE
50572014-05-22 Richard Earnshaw <rearnsha@arm.com>
5058
5059 PR target/61208
5060 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
5061
1ad47ee5
NC
50622014-05-22 Nick Clifton <nickc@redhat.com>
5063
d4082970 5064 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 5065
1f9c420b
EB
50662014-05-22 Eric Botcazou <ebotcazou@adacore.com>
5067
5068 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
5069 -> (T)A transformation to integer types.
5070
e3f0315f
TJ
50712014-05-22 Teresa Johnson <tejohnson@google.com>
5072
5073 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
5074 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
5075 (gcov_rewrite): Use gcov_nonruntime_assert.
5076 (gcov_open): Ditto.
5077 (gcov_write_words): Ditto.
5078 (gcov_write_length): Ditto.
5079 (gcov_read_words): Use gcov_nonruntime_assert, and remove
5080 gcc_assert from IN_LIBGCOV code.
5081 (gcov_read_summary): Use gcov_error to flag profile corruption.
5082 (gcov_sync): Use gcov_nonruntime_assert.
5083 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
5084 (gcov_histo_index): Use gcov_nonruntime_assert.
5085 (static void gcov_histogram_merge): Ditto.
5086 (compute_working_sets): Ditto.
5087 * gcov-io.h (gcov_nonruntime_assert): Define.
5088 (gcov_error): Define for !IN_LIBGCOV
5089
c8f49949
RB
50902014-05-22 Richard Biener <rguenther@suse.de>
5091
5092 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
5093 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
5094 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
5095 and deallocation site.
5096 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5097 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
5098 passing through the incoming points-to set.
5099 (handle_lhs_call): Use flags argument instead of recomputing it.
5100 (find_func_aliases_for_call): Call handle_lhs_call with proper
5101 call return flags.
5102
a822564d
JJ
51032014-05-22 Jakub Jelinek <jakub@redhat.com>
5104
5105 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
5106 all padding bits in REAL_VALUE_TYPE are cleared.
5107
4960a0cb
MK
51082014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5109
5110 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
5111 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
5112 (core2i7_first_cycle_multipass_begin,)
5113 (core2i7_first_cycle_multipass_issue,)
5114 (core2i7_first_cycle_multipass_backtrack): Update signature.
5115 * config/ia64/ia64.c
5116 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
5117 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
5118 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
5119 hook definition.
5120 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
5121 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
5122 values.
5123 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
5124 return values.
5125 * doc/tm.texi: Regenerate.
5126 * doc/tm.texi.in
5127 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
5128 * haifa-sched.c (ready_try): Make signed to allow negative values.
5129 (rebug_ready_list_1): Update.
5130 (choose_ready): Simplify.
5131 (sched_extend_ready_list): Update.
4960a0cb 5132
16d83dd6
MK
51332014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5134
5135 Remove IA64 speculation tweaking flags
d4082970
MT
5136 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
5137 speculation tuning flags.
5138 (msched-prefer-non-data-spec-insns,)
5139 (msched-prefer-non-control-spec-insns): Obsolete options.
5140 * haifa-sched.c (choose_ready): Remove handling of
5141 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
5142 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
5143 and PREFER_NON_DATA_SPEC.
5144 * sel-sched.c (process_spec_exprs): Remove handling of
5145 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 5146
69da098b
MK
51472014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5148
5149 Improve scheduling debug output
5150 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
5151 (advance_one_cycle): Update.
5152 (schedule_insn, queue_to_ready): Add debug printouts.
5153 (debug_ready_list_1): New static function.
5154 (debug_ready_list): Update.
5155 (max_issue): Add debug printouts.
5156 (dump_insn_stream): New static function.
5157 (schedule_block): Use it. Also better indent printouts.
5158
51592014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5160
5161 Fix sched_insn debug counter
5162 * haifa-sched.c (schedule_insn): Update.
5163 (struct haifa_saved_data): Add nonscheduled_insns_begin.
5164 (save_backtrack_point, restore_backtrack_point): Update.
5165 (first_nonscheduled_insn): New static function.
5166 (queue_to_ready, choose_ready): Use it.
5167 (schedule_block): Init nonscheduled_insns_begin.
5168 (sched_emit_insn): Update.
5169
5170
a4a182c6
KV
51712014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
5172
5173 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
5174 to GENERAL_REGS.
5175 (aarch64_secondary_reload) : LikeWise.
5176 (aarch64_class_max_nregs) : Remove CORE_REGS.
5177 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
5178 (REG_CLASS_NAMES) : Likewise.
5179 (REG_CLASS_CONTENTS) : LikeWise.
5180 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
5181
9652331a
GW
51822014-05-21 Guozhi Wei <carrot@google.com>
5183
5184 PR target/61202
5185 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
5186 constraint.
5187 (vqdmulhq_n_s16): Likewise.
5188
0bfba043
SB
51892014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
5190
5191 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
5192
1edb7356
MP
51932014-05-21 Marek Polacek <polacek@redhat.com>
5194
5195 PR sanitizer/61272
5196 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
5197
2acb1027
MJ
51982014-05-21 Martin Jambor <mjambor@suse.cz>
5199
5200 * doc/invoke.texi (Optimize Options): Document parameters
5201 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
5202 ipa-cp-array-index-hint-bonus.
5203
7315daa6
MW
52042014-05-21 Mark Wielaard <mjw@redhat.com>
5205
5206 PR debug/16063
5207 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
5208 version >= 3 or not strict DWARF.
5209 * langhooks.h (struct lang_hooks_for_types): Add
5210 enum_underlying_base_type.
5211 * langhooks.c (lhd_enum_underlying_base_type): New function.
5212 * gcc/langhooks.h (struct lang_hooks_for_types): Add
5213 enum_underlying_base_type.
5214 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
5215 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
5216 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
5217
95989e5c
RB
52182014-05-21 Richard Biener <rguenther@suse.de>
5219
d4082970 5220 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 5221
dbed5a9b
JM
52222014-05-21 John Marino <gnugcc@marino.st>
5223
5224 * config.gcc (*-*-dragonfly*): New target.
5225 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
5226 * configure: Regenerate.
5227 * config/dragonfly-stdint.h: New.
5228 * config/dragonfly.h: New.
5229 * config/dragonfly.opt: New.
5230 * config/i386/dragonfly.h: New.
5231 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
5232
632f2871
RS
52332014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5234
5235 * tree.def (VOID_CST): New.
5236 * tree-core.h (TI_VOID): New.
5237 * tree.h (void_node): New.
5238 * tree.c (tree_node_structure_for_code, tree_code_size)
5239 (iterative_hash_expr): Handle VOID_CST.
5240 (build_common_tree_nodes): Initialize void_node.
5241
8a9e6b45
BS
52422014-05-21 Bernd Schmidt <bernds@codesourcery.com>
5243
bffe67e7
BS
5244 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
5245 functions.
5246 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
5247
0836b77f
BS
5248 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
5249 more places.
5250
8a9e6b45
BS
5251 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
5252 flag_reorder_blocks_and_partition.
5253 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
5254
c4e5de1b
OE
52552014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
5256
5257 PR target/54236
5258 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
5259 constraints.
5260 (*addc_r_t): Add new insn_and_split.
5261
decaaec8
JJ
52622014-05-21 Jakub Jelinek <jakub@redhat.com>
5263
5264 PR middle-end/61252
5265 * omp-low.c (handle_simd_reference): New function.
5266 (lower_rec_input_clauses): Use it. Defer adding reference
5267 initialization even for reduction without placeholder if in simd,
5268 handle it properly later on.
5269
3aaf0529
JH
52702014-05-20 Jan Hubicka <hubicka@ucw.cz>
5271
5272 PR tree-optimization/60899
5273 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
5274 assume all static symbols will have definition wile parsing and
5275 check the do have definition later in compilation; check that
5276 variable referring symbol will be output before concluding that
5277 reference is safe; be conservative for referring local statics;
5278 be more precise about when comdat is output in other partition.
5279
1bbb87c4
JH
52802014-05-20 Jan Hubicka <hubicka@ucw.cz>
5281
5282 PR bootstrap/60984
d4082970
MT
5283 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
5284 parameter.
1bbb87c4 5285 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
5286 (ipa_inline): Loop inline_to_all_callers until no more aliases
5287 are removed.
1bbb87c4 5288
d5ce4663
JH
52892014-05-20 Jan Hubicka <hubicka@ucw.cz>
5290
5291 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
5292 set writeonly flag only for vars actually written to.
5293
98339851
DC
52942014-05-20 Dehao Chen <dehao@google.com>
5295
5296 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
5297 and callee count to get clone count.
5298 * tree-inline.c (expand_call_inline): Use callee count instead of bb
5299 count in copy_body.
5300
ec27069c
RS
53012014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
5302
5303 PR rtl-optimization/61243
5304 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
5305
2b5f0895
XDL
53062014-05-20 Xinliang David Li <davidxl@google.com>
5307
5308 * cgraphunit.c (walk_polymorphic_call_targets): Add
5309 dbgcnt and fopt-info support.
5310 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
5311 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 5312 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
5313 * ipa.c (walk_polymorphic_call_targets): Ditto.
5314 * gimple-fold.c (fold_gimple_assign): Ditto.
5315 (gimple_fold_call): Ditto.
5316 * dbgcnt.def: New counter.
5317
9c5f6203
DD
53182014-05-20 DJ Delorie <dj@redhat.com>
5319
5320 * config/msp430/msp430.md (split): Don't allow subregs when
5321 splitting SImode adds.
5322 (andneghi): Fix subtraction logic.
5323 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
5324
cf288ed3
JH
53252014-05-20 Jan Hubicka <hubicka@ucw.cz>
5326
5327 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
5328 symbols.
5329 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 5330 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
5331 align_variable, get_block_for_decl, default_section_type_flags):
5332 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
5333 * symtab.c (symtab_add_to_same_comdat_group,
5334 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
5335 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
5336 Likewise.
5337 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
5338 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
5339 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
5340 (c6x_function_in_section_p): Likewise.
5341 * config/darwin.c (machopic_select_section): Likewise.
5342 * config/arm/arm.c (arm_function_in_section_p): Likewise.
5343 * config/mips/mips.c (mips_function_rodata_section): Likewise.
5344 * config/mep/mep.c (mep_select_section): LIkewise.
5345 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
5346
7eab31ed
EB
53472014-05-20 Eric Botcazou <ebotcazou@adacore.com>
5348
5349 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
5350 EH region of calls to pure functions that can throw an exception.
5351 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
5352 (copy_reference_ops_from_call): Also copy the EH region of the call if
5353 it can throw an exception.
5354
ec217bd8
BS
53552014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5356
5357 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
5358 nested VEC_SELECTs that are inverses of each other.
5359
b2b222b3
RB
53602014-05-20 Richard Biener <rguenther@suse.de>
5361
d4082970 5362 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
5363 (extract_and_process_scc_for_name): not here.
5364 (cond_dom_walker::before_dom_children): Only process
5365 stmts that end the BB in interesting ways.
5366 (run_scc_vn): Mark param uses as visited.
5367
e9ea5185
KT
53682014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5369
5370 * config/arm/arm.md (arith_shiftsi): Do not predicate for
5371 arm_restrict_it.
5372
8f0e7f6f
NC
53732014-05-20 Nick Clifton <nickc@redhat.com>
5374
467fc67c
NC
5375 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
5376 (msp430_gimplify_va_arg_expr): New function.
5377 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
5378
8f0e7f6f
NC
5379 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
5380 operand 0 in order to prevent confusion about the number of
5381 registers involved.
5382
d1c0308e
RB
53832014-05-20 Richard Biener <rguenther@suse.de>
5384
5385 PR tree-optimization/61221
5386 * tree-ssa-pre.c (el_to_update): Remove.
5387 (eliminate_dom_walker::before_dom_children): Handle released
5388 VDEFs by value-numbering them to the associated VUSE. Update
5389 stmt immediately for substituted call address.
5390 (eliminate): Remove delayed stmt updating code.
5391 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
5392 possibly late re-numbered vuses.
5393 (vn_reference_lookup_2): Adjust.
5394 (vn_reference_lookup_pieces): Likewise.
5395 (vn_reference_lookup): Likewise.
5396
54da09ee
RB
53972014-05-20 Richard Biener <rguenther@suse.de>
5398
5399 * config.gcc: Remove need_64bit_hwint.
5400 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
5401 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
5402 it to be true.
5403 * config.in: Regenerate.
5404 * configure: Likewise.
5405
883755a1
DW
54062014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
5407
5408 * doc/extend.texi: Create Label Attributes section,
5409 move all label attributes into it and reference it.
5410
514b3156
RE
54112014-05-19 Richard Earnshaw <rearnsha@arm.com>
5412
5413 * arm.c (thumb1_reorg): When scanning backwards skip anything
5414 that's not a proper insn.
5415
1d44def2
RB
54162014-05-19 Richard Biener <rguenther@suse.de>
5417
5418 PR tree-optimization/61221
5419 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5420 Do nothing for unreachable blocks.
5421 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
5422 Improve unreachability detection.
5423
05135136
RB
54242014-05-19 Richard Biener <rguenther@suse.de>
5425
5426 PR tree-optimization/61209
5427 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
5428
40ba8dfb
NC
54292014-05-19 Nick Clifton <nickc@redhat.com>
5430
5431 * except.c (init_eh): Fix computation of builtin setjmp buffer
5432 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
5433
cb460086
RB
54342014-05-19 Richard Biener <rguenther@suse.de>
5435
5436 PR tree-optimization/61184
5437 * tree-vrp.c (is_negative_overflow_infinity): Use
5438 TREE_OVERFLOW_P and do that check first.
5439 (is_positive_overflow_infinity): Likewise.
5440 (is_overflow_infinity): Likewise.
5441 (vrp_operand_equal_p): Properly treat operands with
5442 differing overflow as not equal.
5443
bddd3671
BS
54442014-05-19 Bernd Schmidt <bernds@codesourcery.com>
5445
5446 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
5447 shift simplification where it was intended.
5448
72d82e7a
CB
54492014-05-19 Christian Bruel <christian.bruel@st.com>
5450
5451 PR target/61195
5452 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
5453
34dbb287
RS
54542014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
5455
5456 PR target/61084
5457 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
5458 than wide_int.
5459
339ba33b
RS
54602014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
5461
5462 * reg-notes.def (CROSSING_JUMP): Likewise.
5463 * rtl.h (rtx_def): Update comment for jump flag.
5464 (CROSSING_JUMP_P): Define.
5465 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
5466 of a REG_CROSSING_JUMP note.
5467 * cfghooks.c (tidy_fallthru_edges): Likewise.
5468 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
5469 * emit-rtl.c (try_split): Likewise.
5470 * haifa-sched.c (sched_create_recovery_edges): Likewise.
5471 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
5472 * jump.c (redirect_jump_2): Likewise.
5473 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
5474 (relax_delay_slots): Likewise.
5475 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
5476 (bbit_di): Likewise.
5477 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
5478 * config/sh/sh.md (jump_compact): Likewise.
5479 * bb-reorder.c (rotate_loop): Likewise.
5480 (pass_duplicate_computed_gotos::execute): Likewise.
5481 (add_reg_crossing_jump_notes): Rename to...
5482 (update_crossing_jump_flags): ...this.
5483 (pass_partition_blocks::execute): Update accordingly.
5484
a65d5b87
RS
54852014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
5486
5487 * tree.h: Remove extraneous template <>.
5488
7b3376a0
JH
54892014-05-17 Jan Hubicka <hubicka@ucw.cz>
5490
5491 * ipa.c (symtab_remove_unreachable_nodes): Remove
5492 symbol from comdat group if its body was eliminated.
d4082970
MT
5493 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
5494 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
5495 (symtab_unregister_node): ... this one.
5496 (verify_symtab_base): More strict checking of comdats.
5497 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
5498
a04d9035
JH
54992014-05-17 Jan Hubicka <hubicka@ucw.cz>
5500
5501 * tree-pass.h (make_pass_ipa_comdats): New pass.
5502 * timevar.def (TV_IPA_COMDATS): New timevar.
5503 * passes.def (pass_ipa_comdats): Add.
5504 * Makefile.in (OBJS): Add ipa-comdats.o
5505 * ipa-comdats.c: New file.
5506
24a71ba8
JH
55072014-05-17 Jan Hubicka <hubicka@ucw.cz>
5508
5509 * ipa.c (update_visibility_by_resolution_info): New function.
5510 (function_and_variable_visibility): Use it.
5511
d6d229c6
JH
55122014-05-17 Jan Hubicka <hubicka@ucw.cz>
5513
5514 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
5515 New functions.
5516 (FOR_EACH_DEFINED_SYMBOL): New macro.
5517 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
5518 varpool_first_defined_variable, varpool_next_defined_variable):
5519 Fix comments.
d6d229c6
JH
5520 (symtab_in_same_comdat_p): Correctly deal with inline functions.
5521
c3af645c
TS
55222014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5523
5524 * ggc-page.c (ggc_handle_finalizers): Add comment.
5525
de49ce19
TS
55262014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5527
5528 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
5529 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
5530 (ggc_internal_cleared_alloc): Likewise.
5531 * ggc-page.c (finalizer): New class.
16f8dfdb 5532 (vec_finalizer): Likewise.
de49ce19 5533 (globals::finalizers): New member.
16f8dfdb 5534 (globals::vec_finalizers): Likewise.
de49ce19
TS
5535 (ggc_internal_alloc): Record the finalizer if any for the block being
5536 allocated.
5537 (ggc_handle_finalizers): New function.
5538 (ggc_collect): Call ggc_handle_finalizers.
5539 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
5540 finalizer.
5541 (ggc_internal_cleared_alloc): Likewise.
5542 (finalize): New function.
5543 (need_finalization_p): Likewise.
5544 (ggc_alloc): Install the type's destructor as the finalizer if it
5545 might do something.
5546 (ggc_cleared_alloc): Likewise.
5547 (ggc_vec_alloc): Likewise.
5548 (ggc_cleared_vec_alloc): Likewise.
5549
04eec987
TS
55502014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5551
5552 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
5553
766090c2
TS
55542014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5555
5556 * alias.c (record_alias_subset): Adjust.
5557 * bitmap.c (bitmap_element_allocate): Likewise.
5558 (bitmap_gc_alloc_stat): Likewise.
5559 * cfg.c (init_flow): Likewise.
5560 (alloc_block): Likewise.
5561 (unchecked_make_edge): Likewise.
5562 * cfgloop.c (alloc_loop): Likewise.
5563 (flow_loops_find): Likewise.
5564 (rescan_loop_exit): Likewise.
5565 * cfgrtl.c (init_rtl_bb_info): Likewise.
5566 * cgraph.c (insert_new_cgraph_node_version): Likewise.
5567 (cgraph_allocate_node): Likewise.
5568 (cgraph_create_edge_1): Likewise.
5569 (cgraph_allocate_init_indirect_info): Likewise.
5570 * cgraphclones.c (cgraph_clone_edge): Likewise.
5571 * cgraphunit.c (add_asm_node): Likewise.
5572 (init_lowered_empty_function): Likewise.
16f8dfdb 5573 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
5574 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
5575 (alpha_use_linkage): Likewise.
5576 * config/arc/arc.c (arc_init_machine_status): Likewise.
5577 * config/arm/arm.c (arm_init_machine_status): Likewise.
5578 * config/avr/avr.c (avr_init_machine_status): Likewise.
5579 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
5580 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
5581 * config/cris/cris.c (cris_init_machine_status): Likewise.
5582 * config/darwin.c (machopic_indirection_name): Likewise.
5583 (darwin_build_constant_cfstring): Likewise.
5584 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 5585 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
5586 * config/frv/frv.c (frv_init_machine_status): Likewise.
5587 * config/i386/i386.c (get_dllimport_decl): Likewise.
5588 (ix86_init_machine_status): Likewise.
5589 (assign_386_stack_local): Likewise.
16f8dfdb 5590 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
5591 (i386_pe_maybe_record_exported_symbol): Likewise.
5592 (i386_pe_record_stub): Likewise.
5593 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
5594 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
5595 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
5596 (m32c_note_pragma_address): Likewise.
5597 * config/mep/mep.c (mep_init_machine_status): Likewise.
5598 (mep_note_pragma_flag): Likewise.
5599 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
5600 (mips16_local_alias): Likewise.
5601 (mips_init_machine_status): Likewise.
5602 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
5603 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
5604 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
5605 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
5606 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
5607 * config/pa/pa.c (pa_init_machine_status): Likewise.
5608 (pa_get_deferred_plabel): Likewise.
5609 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
5610 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
5611 (rs6000_init_machine_status): Likewise.
5612 (output_toc): Likewise.
5613 * config/s390/s390.c (s390_init_machine_status): Likewise.
5614 * config/score/score.c (score_output_external): Likewise.
5615 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
5616 * config/spu/spu.c (spu_init_machine_status): Likewise.
5617 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 5618 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
5619 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
5620 * coverage.c (coverage_end_function): Likewise.
5621 * dbxout.c (dbxout_init): Likewise.
5622 * doc/gty.texi: Don't mention variable_size attribute.
5623 * dwarf2cfi.c (new_cfi): Adjust.
5624 (new_cfi_row): Likewise.
5625 (copy_cfi_row): Likewise.
5626 (create_cie_data): Likewise.
5627 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
5628 (new_loc_descr): Likewise.
5629 (find_AT_string_in_table): Likewise.
5630 (add_addr_table_entry): Likewise.
5631 (new_die): Likewise.
5632 (add_var_loc_to_decl): Likewise.
5633 (clone_die): Likewise.
5634 (clone_as_declaration): Likewise.
5635 (break_out_comdat_types): Likewise.
5636 (new_loc_list): Likewise.
5637 (add_loc_descr_to_each): Likewise.
5638 (add_location_or_const_value_attribute): Likewise.
5639 (add_linkage_name): Likewise.
5640 (lookup_filename): Likewise.
5641 (dwarf2out_var_location): Likewise.
5642 (new_line_info_table): Likewise.
5643 (dwarf2out_init): Likewise.
5644 (mem_loc_descriptor): Likewise.
5645 (loc_descriptor): Likewise.
5646 (add_const_value_attribute): Likewise.
5647 (tree_add_const_value_attribute): Likewise.
5648 (comp_dir_string): Likewise.
5649 (dwarf2out_vms_debug_main_pointer): Likewise.
5650 (string_cst_pool_decl): Likewise.
5651 * emit-rtl.c (set_mem_attrs): Likewise.
5652 (get_reg_attrs): Likewise.
5653 (start_sequence): Likewise.
5654 (init_emit): Likewise.
5655 (init_emit_regs): Likewise.
5656 * except.c (init_eh_for_function): Likewise.
5657 (gen_eh_region): Likewise.
5658 (gen_eh_region_catch): Likewise.
5659 (gen_eh_landing_pad): Likewise.
5660 (add_call_site): Likewise.
5661 * function.c (add_frame_space): Likewise.
5662 (insert_temp_slot_address): Likewise.
5663 (assign_stack_temp_for_type): Likewise.
5664 (get_hard_reg_initial_val): Likewise.
5665 (allocate_struct_function): Likewise.
5666 (prepare_function_start): Likewise.
5667 (types_used_by_var_decl_insert): Likewise.
5668 * gengtype.c (variable_size_p): Remove function.
5669 (enum alloc_quantity): Remove enum.
5670 (write_typed_alloc_def): Remove function.
5671 (write_typed_struct_alloc_def): Likewise.
5672 (write_typed_typedef_alloc_def): Likewise.
5673 (write_typed_alloc_defns): Likewise.
5674 (main): Adjust.
5675 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
5676 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
5677 * ggc.h (ggc_alloc): new function.
5678 (ggc_cleared_alloc): Likewise.
5679 (ggc_vec_alloc): Template on type of vector element, and remove
5680 element size argument.
5681 (ggc_cleared_vec_alloc): Likewise.
5682 * gimple.c (gimple_build_omp_for): Adjust.
5683 (gimple_copy): Likewise.
5684 * ipa-cp.c (get_replacement_map): Likewise.
5685 (find_aggregate_values_for_callers_subset): Likewise.
5686 (known_aggs_to_agg_replacement_list): Likewise.
5687 * ipa-devirt.c (get_odr_type): Likewise.
5688 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
5689 (read_agg_replacement_chain): Likewise.
5690 * loop-iv.c (get_simple_loop_desc): Likewise.
5691 * lto-cgraph.c (input_node_opt_summary): Likewise.
5692 * lto-section-in.c (lto_new_in_decl_state): Likewise.
5693 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
5694 (input_eh_region): Likewise.
5695 (input_eh_lp): Likewise.
5696 (input_cfg): Likewise.
5697 * optabs.c (set_optab_libfunc): Likewise.
5698 (init_tree_optimization_optabs): Likewise.
5699 (set_conv_libfunc): Likewise.
5700 * passes.c (do_per_function_toporder): Likewise.
5701 * rtl.h: Don't use variable_size gty attribute.
5702 * sese.c (if_region_set_false_region): Adjust.
5703 * stringpool.c (gt_pch_save_stringpool): Likewise.
5704 * target-globals.c (save_target_globals): Likewise.
5705 * toplev.c (general_init): Likewise.
5706 * trans-mem.c (record_tm_replacement): Likewise.
5707 (split_bb_make_tm_edge): Likewise.
5708 * tree-cfg.c (move_sese_region_to_fn): Likewise.
5709 * tree-data-ref.h (lambda_vector_new): Likewise.
5710 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
5711 * tree-iterator.c (tsi_link_before): Likewise.
5712 (tsi_link_after): Likewise.
5713 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
5714 * tree-ssa-loop-niter.c (record_estimate): Likewise.
5715 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
5716 * tree-ssa-operands.h: Don't use variable_size gty attribute.
5717 * tree-ssa.c (init_tree_ssa): Adjust.
5718 * tree-ssanames.c (set_range_info): Likewise.
5719 (get_ptr_info): Likewise.
5720 (duplicate_ssa_name_ptr_info): Likewise.
5721 (duplicate_ssa_name_range_info): Likewise.
5722 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
5723 (unpack_ts_fixed_cst_value_fields): Likewise.
5724 * tree.c (build_fixed): Likewise.
5725 (build_real): Likewise.
5726 (build_string): Likewise.
5727 (decl_priority_info): Likewise.
5728 (decl_debug_expr_insert): Likewise.
5729 (decl_value_expr_insert): Likewise.
5730 (decl_debug_args_insert): Likewise.
5731 (type_hash_add): Likewise.
5732 (build_omp_clause): Likewise.
5733 * ubsan.c (decl_for_type_insert): Likewise.
5734 * varasm.c (get_unnamed_section): Likewise.
5735 (get_noswitch_section): Likewise.
5736 (get_section): Likewise.
5737 (get_block_for_section): Likewise.
5738 (create_block_symbol): Likewise.
5739 (build_constant_desc): Likewise.
5740 (create_constant_pool): Likewise.
5741 (force_const_mem): Likewise.
5742 (record_tm_clone_pair): Likewise.
5743 * varpool.c (varpool_create_empty_node): Likewise.
5744
231120e5
TS
57452014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5746
5747 * dwarf2out.c (tree_add_const_value_attribute): Call
5748 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
5749 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
5750 instead of ggc_internal_<x>alloc_stat.
5751 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
5752 (ggc_realloc): Likewise.
5753 * ggc-none.c (ggc_internal_alloc): Likewise.
5754 (ggc_internal_cleared_alloc): Likewise.
5755 * ggc-page.c: Likewise.
5756 * ggc.h (ggc_internal_alloc_stat): Likewise.
5757 (ggc_internal_alloc): Remove macro.
5758 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
5759 (ggc_internal_cleared_alloc): Remove macro.
5760 (GGC_RESIZEVEC): Adjust.
5761 (ggc_resizevar): Remove macro.
5762 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
5763 (ggc_internal_cleared_vec_alloc_stat): Likewise.
5764 (ggc_internal_vec_cleared_alloc): Remove macro.
5765 (ggc_alloc_atomic_stat): Drop _stat suffix.
5766 (ggc_alloc_atomic): Remove macro.
5767 (ggc_alloc_cleared_atomic): Remove macro.
5768 (ggc_alloc_string_stat): Drop _stat suffix.
5769 (ggc_alloc_string): Remove macro.
5770 (ggc_alloc_rtx_def_stat): Adjust.
5771 (ggc_alloc_tree_node_stat): Likewise.
5772 (ggc_alloc_cleared_tree_node_stat): Likewise.
5773 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
5774 (ggc_alloc_cleared_simd_clone_stat): Likewise.
5775 * gimple.c (gimple_build_omp_for): Likewise.
5776 (gimple_copy): Likewise.
5777 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
5778 * toplev.c (realloc_for_line_map): Adjust.
5779 * tree-data-ref.h (lambda_vector_new): Likewise.
5780 * tree-phinodes.c (allocate_phi_node): Likewise.
5781 * tree.c (grow_tree_vec_stat): Likewise.
5782 * vec.h (va_gc::reserve): Adjust.
5783
16f8dfdb 57842014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 5785
16f8dfdb
UB
5786 * config/microblaze/microblaze.c (break_handler): New Declaration.
5787 (microblaze_break_function_p,microblaze_is_break_handler): New.
5788 (compute_frame_size): Use microblaze_break_function_p.
5789 Add the test of break_handler.
5790 (microblaze_function_prologue) : Add the test of variable
5791 break_handler. Check the fnname by BREAK_HANDLER_NAME.
5792 (microblaze_function_epilogue) : Add the test of break_handler.
5793 (microblaze_globalize_label) : Add the test of break_handler.
5794 Check the name by BREAK_HANDLER_NAME.
86498dba 5795
16f8dfdb 5796 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 5797
16f8dfdb
UB
5798 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
5799 microblaze_is_break_handler test.
5800 (call_internal1,call_value_intern): Use microblaze_break_function_p.
5801 Use SYMBOL_REF_DECL.
86498dba
AA
5802
5803 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
5804 (microblaze_break_function_p,microblaze_is_break_handler):
5805 New Declaration.
86498dba 5806
16f8dfdb
UB
5807 * doc/extend.texi (MicroBlaze break_handler Functions): Document
5808 new MicroBlaze break_handler functions.
86498dba 5809
71ca3028
UB
58102014-05-17 Uros Bizjak <ubizjak@gmail.com>
5811
5812 * doc/extend.texi (Size of an asm): Move node text according
5813 to its @menu entry position.
5814
87a34442
MG
58152014-05-17 Marc Glisse <marc.glisse@inria.fr>
5816
5817 PR tree-optimization/61140
5818 PR tree-optimization/61150
5819 PR tree-optimization/61197
5820 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
5821
6ca74b5c
UB
58222014-05-17 Uros Bizjak <ubizjak@gmail.com>
5823
5824 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
5825
60f82c42
RS
58262014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
5827
5828 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
5829 __SIZEOF_INT128__ is defined.
5830
a1242f17
RS
58312014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
5832
5833 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
5834 (rs6000_delegitimize_address): Use it.
5835
23b33725
RS
58362014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
5837
5838 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
5839 inplace argument. Store the new address in the original MEM when true.
5840 * emit-rtl.c (change_address_1): Likewise.
5841 (adjust_address_1, adjust_automodify_address_1, offset_address):
5842 Update accordingly.
5843 * rtl.h (plus_constant): Add an inplace argument.
5844 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
5845 when true. Avoid generating (plus X (const_int 0)).
5846 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
5847 in-place. Pass true to plus_constant.
5848 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
5849
2f6eed01
DC
58502014-05-16 Dehao Chen <dehao@google.com>
5851
5852 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
5853
b200de02
OE
58542014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
5855
5856 PR target/54089
5857 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
5858 patterns.
5859 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
5860
cf40f973
DC
58612014-05-16 Dehao Chen <dehao@google.com>
5862
6b8ebd00
UB
5863 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
5864 optimize_function_for_size_p.
cf40f973
DC
5865 * regs.h (REG_FREQ_FROM_BB): Likewise.
5866
48d8568e
OE
58672014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
5868
5869 PR target/51244
5870 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
5871 negt_reg_operand cases.
5872 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
5873 predicate.
5874 * config/sh/predicates.md (cbranch_treg_value): Simplify.
5875
d580af0f
OE
58762014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
5877
5878 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
5879 target variants.
5880
6c7571a2
DM
58812014-05-16 David Malcolm <dmalcolm@redhat.com>
5882
5883 Revert:
5884 2014-04-29 David Malcolm <dmalcolm@redhat.com>
5885
5886 * tree-cfg.c (dump_function_to_file): Dump the return type of
5887 functions, in a line to itself before the function body, mimicking
5888 the layout of a C function.
5889
b0e66512
DC
58902014-05-16 Dehao Chen <dehao@google.com>
5891
5892 * cfghooks.c (make_forwarder_block): Use direct computation to
5893 get fall-through edge's count and frequency.
5894
6b8ebd00 58952014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
5896
5897 * config/arc/arc.c (arc_init): Fix typo in error message.
5898 * config/i386/i386.c (ix86_expand_builtin): Likewise.
5899 (split_stack_prologue_scratch_regno): Likewise.
5900 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
5901 word from error message.
5902
420ab54b
ZZ
59032014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
5904
5905 * ira-costs.c: Fix typo in comment.
5906
8e90f610
DW
59072014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
5908
6b8ebd00 5909 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 5910
6de88c6a
JH
59112014-05-16 Jan Hubicka <hubicka@ucw.cz>
5912
5913 * varpool.c (dump_varpool_node): Dump write-only flag.
5914 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
5915 write-only flag.
6b8ebd00
UB
5916 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
5917 write-only variables.
5918 * ipa.c (process_references): New function.
5919 (set_readonly_bit): New function.
5920 (set_writeonly_bit): New function.
5921 (clear_addressable_bit): New function.
5922 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
5923 fix handling of aliases.
5924 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 5925
f4e075e7
VM
59262014-05-16 Vladimir Makarov <vmakarov@redhat.com>
5927
5928 PR rtl-optimization/60969
5929 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
5930 Calculate costs for this case.
5931
8b628e86
EB
59322014-05-16 Eric Botcazou <ebotcazou@adacore.com>
5933
5934 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
5935 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
5936
52264dbf
RB
59372014-05-16 Richard Biener <rguenther@suse.de>
5938
5939 PR tree-optimization/61194
5940 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
5941 bool patterns ending in a COND_EXPR.
5942
3d840f7d
JG
59432014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5944
5945 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
5946
88d4fbcf
JG
59472014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5948
5949 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
5950 where we were unable to cost an RTX.
5951
909734be
JG
59522014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5953
5954 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
5955 HIGH, LO_SUM.
5956
fb620c4a
JG
59572014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5958 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5959
5960 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
5961
b292109f
JG
59622014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5963 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5964
5965 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
5966 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
5967
a8eecd00
JG
59682014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5969 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5970
5971 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
5972 operators.
5973
4105fe38
JG
59742014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5975 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5976
5977 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
5978 DIV/MOD.
5979
59802014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
5981 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5982
5983 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
5984 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
5985
ba0cfa17
JG
59862014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5987 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5988
5989 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
5990 rotates and shifts.
5991
b1685e62
JG
59922014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5993 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5994
5995 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
5996 ZERO_EXTEND and SIGN_EXTEND better.
5997
268c3b47
JG
59982014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
5999 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6000
6001 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
6002 logical operations.
6003
2961177e
JG
60042014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6005 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6006
6007 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
6008 costs when costing loads and stores to memory.
6009
ba123b0d
JG
60102014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6011 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
6012
6013 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
6014 for SET RTX.
6015
7fc5ef02
JG
60162014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6017
6018 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
6019
4745e701
JG
60202014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6021 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6022
6023 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
6024 to...
6025 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
6026 well formed.
6027 (aarch64_rtx_mult_cost): New.
6028 (aarch64_rtx_costs): Use it, refactor as appropriate.
6029
9dfc162c
JG
60302014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6031 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6032
6033 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
6034 emit instructions, return number of instructions which would
6035 be emitted.
6036 (aarch64_add_constant): Update call to aarch64_build_constant.
6037 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 6038 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
6039 a CONST_DOUBLE.
6040
0ee859b5
JG
60412014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6042
6043 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
6044 (TARGET_RTX_COSTS): Call it.
6045
60bff090
JG
60462014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6047
6048 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
6049 (cortexa57_vector_cost): Likewise.
6050 (cortexa57_tunings): Use them.
6051
67747367
JG
60522014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6053
6054 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
6055 (cpu_addrcost_table): Use it.
6056 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
6057 (aarch64_address_cost): Rewrite using aarch64_classify_address,
6058 move it.
6059
a764d660
RB
60602014-05-16 Richard Biener <rguenther@suse.de>
6061
6062 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
6063 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
6064 (visit_phi): Ignore edges marked as not executable.
6065 (class cond_dom_walker): New.
6066 (cond_dom_walker::before_dom_children): Value-number
6067 control statements and mark successor edges as not
6068 executable if possible.
6069 (run_scc_vn): First walk all control statements in
6070 dominator order, marking edges as not executable.
6071 * tree-inline.c (copy_edges_for_bb): Be not confused
6072 about random edge flags.
6073
a27c3860
RB
60742014-05-16 Richard Biener <rguenther@suse.de>
6075
6076 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
6077
d8c55b91
PB
60782014-05-15 Peter Bergner <bergner@vnet.ibm.com>
6079
6080 PR target/61193
6081 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
6082 (__TM_simple_begin): Use it.
6083 (__TM_begin): Likewise.
6084
8a2256dd
MJ
60852014-05-15 Martin Jambor <mjambor@suse.cz>
6086
6087 PR ipa/61085
6088 * ipa-prop.c (update_indirect_edges_after_inlining): Check
6089 type_preserved flag when the indirect edge is polymorphic.
6090
9d2681a3
MJ
60912014-05-15 Martin Jambor <mjambor@suse.cz>
6092
6093 PR tree-optimization/61090
6094 * tree-sra.c (sra_modify_expr): Pass the current gsi to
6095 build_ref_for_model.
6096
927450d0
KT
60972014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6098
6099 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
6100 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
6101
ceed6e67
JJ
61022014-05-15 Jakub Jelinek <jakub@redhat.com>
6103
6104 PR tree-optimization/61158
6105 * fold-const.c (fold_binary_loc): If X is zero-extended and
6106 shiftc >= prec, make sure zerobits is all ones instead of
6107 invoking undefined behavior.
6108
a2e6c10c
ZC
61092014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6110
6111 * regcprop.h: New file.
6112 * regcprop.c (skip_debug_insn_p): New decl.
6113 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
6114 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
6115 * shrink-wrap.c: Include regcprop.h.
6116 (prepare_shrink_wrap): Call
6117 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 6118
e974b93b
ZC
61192014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6120
6121 * shrink-wrap.h: Update comment.
6122 * shrink-wrap.c: Update comment.
6123 (next_block_for_reg): Rename to live_edge_for_reg.
6124 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
6125 (move_insn_for_shrink_wrap): Split live_edge.
6126 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
6127
88fe5e91
EB
61282014-05-14 Eric Botcazou <ebotcazou@adacore.com>
6129
6130 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
6131 Delete.
6132 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
6133 * config/sparc/sparc.md (fptype_ut699): New attribute.
6134 (in_branch_delay): Return false if -mfix-ut699 is specified and
6135 fptype_ut699 is set to single.
6136 (truncdfsf2): Add fptype_ut699 attribute.
6137 (fix_truncdfsi2): Likewise.
6138 (floatsisf2): Change fptype attribute.
6139 (fix_truncsfsi2): Likewise.
6140 (negtf2_notv9): Delete.
6141 (negtf2_v9): Likewise.
6142 (negtf2_hq): New instruction.
6143 (negtf2): New instruction and splitter.
6144 (negdf2_notv9): Rewrite.
6145 (abstf2_notv9): Delete.
6146 (abstf2_hq_v9): Likewise.
6147 (abstf2_v9): Likewise.
6148 (abstf2_hq): New instruction.
6149 (abstf2): New instruction and splitter.
6150 (absdf2_notv9): Rewrite.
6151
bc91b0e0
CC
61522014-05-14 Cary Coutant <ccoutant@google.com>
6153
6b8ebd00 6154 PR debug/61013
bc91b0e0
CC
6155 * opts.c (common_handle_option): Don't special-case "-g".
6156 (set_debug_level): Default to at least level 2 with "-g".
6157
5f35dde5
DD
61582014-05-14 DJ Delorie <dj@redhat.com>
6159
6160 * config/msp430/msp430.c (msp430_builtin): Add
6161 MSP430_BUILTIN_DELAY_CYCLES.
6162 (msp430_init_builtins): Register void __delay_cycles(long long).
6163 (msp430_builtin_decl): Add it.
6164 (cg_magic_constant): New.
6165 (msp430_expand_delay_cycles): New.
6166 (msp430_expand_builtin): Call it.
6167 (msp430_print_operand_raw): Change integer printing from "int" to
6168 HOST_WIDE_INT.
6169 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
6170 (delay_cycles_start): New.
6171 (delay_cycles_end): New.
6172 (delay_cycles_32): New.
6173 (delay_cycles_32x): New.
6174 (delay_cycles_16): New.
6175 (delay_cycles_16x): New.
6176 (delay_cycles_2): New.
6177 (delay_cycles_1): New.
6178 * doc/extend.texi: Document __delay_cycles().
6179
5d40b20f
SL
61802014-05-14 Sandra Loosemore <sandra@codesourcery.com>
6181
6182 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
6183 length attribute computation.
6184
25109109
RS
61852014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
6186
6187 PR debug/61188
6188 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
6189
7e7e4032
RS
61902014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
6191
6192 PR target/61084
6193 * config/sparc/sparc.md: Fix types of low and high in DI constant
6194 splitter. Use gen_int_mode in some other splitters.
6195
70d6d5c1
MJ
61962014-05-14 Martin Jambor <mjambor@suse.cz>
6197
6198 PR ipa/60897
6199 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
6200
23b02de3
JN
62012014-05-14 James Norris <jnorris@codesourcery.com>
6202
6203 * omp-low.c (expand_parallel_call): Remove shadow variable.
6204 (expand_omp_taskreg): Likewise.
6205
9cdea277
IT
62062014-05-14 Ilya Tocar <ilya.tocar@intel.com>
6207
6208 * common/config/i386/i386-common.c
6209 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
6210 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
6211 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
6212 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
6213 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
6214 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 6215 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
6216 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
6217 xsavecintrin.h, xsavesintrin.h.
6218 (x86_64-*-*): Ditto.
6219 * config/i386/clflushoptintrin.h: New.
6220 * config/i386/xsavecintrin.h: Ditto.
6221 * config/i386/xsavesintrin.h: Ditto.
6222 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
6223 (bit_XSAVES): Ditto.
6224 (bit_XSAVES): Ditto.
6225 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
6226 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
6227 -mno-clflushopt.
6228 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6229 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
6230 OPTION_MASK_ISA_XSAVES.
6231 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
6232 -mxsavec, -mxsaves.
6233 (PTA_CLFLUSHOPT) Define.
6234 (PTA_XSAVEC): Ditto.
6235 (PTA_XSAVES): Ditto.
6236 (ix86_option_override_internal): Handle new options.
6237 (ix86_valid_target_attribute_inner_p): Ditto.
6238 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
6239 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
6240 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
6241 (bdesc_special_args): Add __builtin_ia32_xsaves,
6242 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
6243 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
6244 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
6245 (ix86_expand_builtin): Handle new builtins.
6246 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
6247 (TARGET_CLFLUSHOPT_P): Ditto.
6248 (TARGET_XSAVEC): Ditto.
6249 (TARGET_XSAVEC_P): Ditto.
6250 (TARGET_XSAVES): Ditto.
6251 (TARGET_XSAVES_P): Ditto.
6252 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
6253 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
6254 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
6255 (ANY_XRSTOR): New.
6256 (ANY_XRSTOR64): Ditto.
6257 (xrstor): Ditto.
6258 (xrstor): Change into <xrstor>.
6259 (xrstor_rex64): Change into <xrstor>_rex64.
6260 (xrstor64): Change into <xrstor>64
6261 (clflushopt): New.
6262 * config/i386/i386.opt (mclflushopt): New.
6263 (mxsavec): Ditto.
6264 (mxsaves): Ditto.
6265 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
6266 xsavecintrin.h.
6267 * doc/invoke.texi: Document new options.
6268
92e265ac
AB
62692014-05-14 Andrey Belevantsev <abel@ispras.ru>
6270
6271 PR rtl-optimization/60866
6272 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
6273 Default it to -1. Pass it down to init_simplejump_data.
6274 (init_simplejump_data): New parameter old_seqno. Pass it down
6275 to get_seqno_for_a_jump.
6276 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
6277 initializing new jump seqno as a last resort. Add comment.
6278 (sel_redirect_edge_and_branch): Save old seqno of the conditional
6279 jump and pass it down to sel_init_new_insn.
6280 (sel_redirect_edge_and_branch_force): Likewise.
6281
fa96aa45
GJL
62822014-05-14 Georg-Johann Lay <avr@gjlay.de>
6283
6284 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
6285 shifted values to avoid build warning.
6286
8a829274
EB
62872014-05-14 Eric Botcazou <ebotcazou@adacore.com>
6288
6289 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
6290 * cfgrtl.c (rtl_merge_blocks): Fix comment.
6291 (cfg_layout_merge_blocks): Likewise.
6292 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
6293
11290308
AB
62942014-05-14 Andrey Belevantsev <abel@ispras.ru>
6295
6296 PR rtl-optimization/60901
6297 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
6298 bb predecessor belongs to the same scheduling region. Adjust comment.
6299
f4853e92
PB
63002014-05-13 Peter Bergner <bergner@vnet.ibm.com>
6301
6302 * doc/sourcebuild.texi: (dfp_hw): Document.
6303 (p8vector_hw): Likewise.
6304 (powerpc_eabi_ok): Likewise.
6305 (powerpc_elfv2): Likewise.
6306 (powerpc_htm_ok): Likewise.
6307 (ppc_recip_hw): Likewise.
6308 (vsx_hw): Likewise.
6309
bd5c3baa
CC
63102014-05-13 Cary Coutant <ccoutant@google.com>
6311
6312 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
6313
9aa54cc9
DM
63142014-05-13 David Malcolm <dmalcolm@redhat.com>
6315
6316 * gengtype-parse.c (require3): Eliminate in favor of...
6317 (require4): New.
6318 (require_template_declaration): Update to support optional single *
6319 on a type.
6320
6321 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
6322 (create_user_defined_type): Handle a single level of explicit
6323 pointerness within template arguments.
6324 (struct write_types_data): Add field "kind".
6325 (filter_type_name): Handle "*" character.
6326 (write_user_func_for_structure_ptr): Require a write_types_data
6327 rather than just a prefix string, so that we can look up the kind
6328 of the wtd and use it as an index into wrote_user_func_for_ptr,
6329 ensuring that such functions are written at most once. Support
6b8ebd00 6330 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
6331 (write_user_func_for_structure_body): Require a write_types_data
6332 rather than just a prefix string, so that we can pass this to
6333 write_user_func_for_structure_ptr.
6334 (write_func_for_structure): Likewise.
6335 (ggc_wtd): Add initializer of new "kind" field.
6336 (pch_wtd): Likewise.
6337
6338 * gengtype.h (enum write_types_kinds): New.
6339 (struct type): Add field wrote_user_func_for_ptr to the "s"
6340 union member.
6341
5c0f009c
RS
63422014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
6343
6344 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
6345 instead of const_binop.
6346 (fold_binary_loc): Likewise.
6347
460d1e22
RS
63482014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
6349
6350 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
6351 calculation to match get_ref_base_and_extent.
6352
1e1f96b5
CM
63532014-05-13 Catherine Moore <clm@codesourcery.com>
6354 Sandra Loosemore <sandra@codesourcery.com>
6355
6356 * configure.ac: Fix assembly for explicit JALR relocation check.
6357 * configure: Regenerate.
6358
411f86ad
KT
63592014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6360
6361 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
6362 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
6363 Remove associated type declarations and initialisations.
6364 (arm_expand_neon_builtin): Likewise.
6365 (neon_emit_pair_result_insn): Delete.
6366 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
6367 * config/arm/neon.md (neon_vtrn<mode>): Delete.
6368 (neon_vzip<mode>): Likewise.
6369 (neon_vuzp<mode>): Likewise.
6370
6b77934e
RB
63712014-05-13 Richard Biener <rguenther@suse.de>
6372
6373 PR ipa/60973
6374 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
6375 it needs revisiting whether the call still may be tail-called.
6376
da3cd113
RS
63772014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6378
6379 * rtl.def (SYMBOL_REF): Remove middle "0" field.
6380 * rtl.h (block_symbol): Reduce number of fields to 2.
6381 (rtx_def): Add u2.symbol_ref_flags.
6382 (SYMBOL_REF_FLAGS): Use it.
6383 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
6384 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
6385 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
6386 Lower index of SYMBOL_REF_DATA.
6387 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
6388 Print SYMBOL_REF_FLAGS at the same time.
6389 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
6390
fcc74520
RS
63912014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6392
6393 * rtl.def (VAR_LOCATION): Remove "i" field.
6394 * rtl.h (rtx_def): Add u2.var_location_status.
6395 (PAT_VAR_LOCATION_STATUS): Use it.
6396 (gen_rtx_VAR_LOCATION): Declare.
6397 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
6398 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
6399 * var-tracking.c (emit_note_insn_var_location): Remove casts.
6400
feb09dd9
RS
64012014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6402
6403 * rtl.def (scratch): Fix outdated comment and remove "0" field.
6404 * gengtype.c (adjust_field_rtx_def): Update accordingly.
6405
ed8921dc
RS
64062014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6407
6408 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
6409 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
6410 * rtl.h (rtx_def): Add insn_uid to u2 field.
6411 (RTX_FLAG_CHECK8): Delete in favor of...
6412 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
6413 (INSN_DELETED_P): Update accordingly.
6414 (INSN_UID): Use u2.insn_uid.
6415 (INSN_CHAIN_CODE_P): Define.
6416 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
6417 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
6418 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
6419 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
6420 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
6421 indices accordingly.
6422 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
6423 Update indices for insn-chain rtxes.
6424 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
6425 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
6426 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
6427 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
6428 * combine.c (try_combine): Likewise.
6429 * ira.c (setup_prohibited_mode_move_regs): Likewise.
6430
fccc5515
RS
64312014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6432
6433 * rtl.def (REG): Remove middle field.
6434 * rtl.h (rtx_def): Add orignal_regno to u2.
6435 (ORIGINAL_REGNO): Use it instead of field 1.
6436 (REG_ATTRS): Lower field index accordingly.
6437 * gengtype.c (adjust_field_rtx_def): Remove handling of
6438 ORIGINAL_REGNO. Move REG_ATTRS index down.
6439 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
6440 code that prints the REGNO.
6441
925c1bae
RS
64422014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6443
6444 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
6445 GENERATOR_FILE.
6446
13b0c5ac
RS
64472014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
6448
6449 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
6450
be9a0da5
BC
64512014-05-13 Bin Cheng <bin.cheng@arm.com>
6452
6453 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
6454 (alloc_iv): Lower base expressions containing ADDR_EXPR.
6455
73d9ac6a
IB
64562014-05-13 Ian Bolton <ian.bolton@arm.com>
6457
6458 * config/aarch64/aarch64-protos.h
6459 (aarch64_hard_regno_caller_save_mode): New prototype.
6460 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
6461 New function.
6462 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
6463
06b90602
CB
64642014-05-13 Christian Bruel <christian.bruel@st.com>
6465
6466 * target.def (mode_switching): New hook vector.
6467 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
6468 (mode_exit, modepriority_to_mode): Likewise.
6469 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
6470 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
6471 * target.h: Include tm.h and hard-reg-set.h.
6472 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
6473 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
6474 * doc/tm.texi Regenerate.
6475 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
6476 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
6477 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
6478 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
6479 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
6480 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
6481 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
6482 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
6483 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
6484 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
6485 (ix86_emit_mode_set): Hookify.
06b90602 6486 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 6487 Delete.
06b90602 6488 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
6489 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
6490 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
6491 (epiphany_mode_priority_to_mode): Remove declaration.
6492 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
6493 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
6494 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
6495 Likewise.
6b8ebd00 6496 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
6497 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
6498 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
6499
455464ab
JJ
65002014-05-13 Jakub Jelinek <jakub@redhat.com>
6501
6502 PR target/61060
6503 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
6504 is const0_rtx, return immediately. Don't test count == 0 when
6505 it is always true.
6506
f30e25a3
ZC
65072014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6508
6509 * Makefile.in: add shrink-wrap.o.
6510 * config/i386/i386.c: include "shrink-wrap.h"
6511 * function.c: Likewise.
6512 (requires_stack_frame_p, next_block_for_reg,
6513 move_insn_for_shrink_wrap, prepare_shrink_wrap,
6514 dup_block_and_redirect): Move to shrink-wrap.c
6515 (thread_prologue_and_epilogue_insns): Extract three code segments
6516 as functions in shrink-wrap.c
6517 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
6518 shrink-wrap.h
6519 * shrink-wrap.c: New file.
6520 * shrink-wrap.h: New file.
6521
f95c6a78
DW
65222014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
6523
6524 * doc/extend.texi: Reflect current numbers of pragmas. Remove
6525 reference to Solaris.
6526
77a1da2c
MS
65272014-05-12 Mike Stump <mikestump@comcast.net>
6528
6529 PR other/31778
6530 * genattrtab.c (filename): Add.
6531 (convert_set_attr_alternative): Improve error message.
6532 (check_defs): Restore read_md_filename for error messages.
6533 (gen_insn): Save filename.
6534
dff8943f
DP
65352014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
6536
6537 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
6538 -fno-local-ivars and -fivar-visibility.
6539 * c-family/c.opt: Make -Wshadow also implicitly enable
6540 -Wshadow-ivar.
6541
6b8ebd00 65422014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
6543
6544 * doc/tm.texi: Remove reference to deleted macro.
6545 * doc/tm.texi.in: Likewise.
6546
079f1420
SKS
65472014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6548
6549 PR target/60991
6550 * config/avr/avr.c (avr_out_store_psi): Use correct constant
6551 to restore Y.
6552
999db125
GJL
65532014-05-12 Georg-Johann Lay <avr@gjlay.de>
6554
a5024e01 6555 PR libgcc/61152
999db125
GJL
6556 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
6557 * config/arm/aout.h (License): Same.
6558 * config/arm/bpabi.h (License): Same.
6559 * config/arm/elf.h (License): Same.
6560 * config/arm/linux-elf.h (License): Same.
6561 * config/arm/linux-gas.h (License): Same.
6562 * config/arm/netbsd-elf.h (License): Same.
6563 * config/arm/uclinux-eabi.h (License): Same.
6564 * config/arm/uclinux-elf.h (License): Same.
6565 * config/arm/vxworks.h (License): Same.
6566
dd2fc525
JJ
65672014-05-11 Jakub Jelinek <jakub@redhat.com>
6568
6569 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
6570 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
6571 number of operands to 3.
6572 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
6573 * tree-nested.c (convert_nonlocal_omp_clauses,
6574 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
6575 * gimplify.c (gimplify_scan_omp_clauses): Handle
6576 OMP_CLAUSE_LINEAR_STMT.
6577 * omp-low.c (lower_rec_input_clauses): Fix typo.
6578 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
6579 cast between Fortran boolean_type_node and C _Bool if
6580 needed.
6581
7588d8aa
RS
65822014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
6583
6584 PR tree-optimization/61136
6585 * wide-int.h (multiple_of_p): Define a version that doesn't return
6586 the quotient.
6587 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
6588 integer_zerop/const_binop pair.
6589 (multiple_of_p): Likewise, converting both operands to widest_int
6590 precision.
6591
e7eee636
TJ
65922014-05-09 Teresa Johnson <tejohnson@google.com>
6593
6594 * cgraphunit.c (analyze_functions): Use correct dump file.
6595
6545746e
FW
65962014-05-09 Florian Weimer <fweimer@redhat.com>
6597
6598 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
6599 expand_used_vars.
6600 (stack_protect_return_slot_p): New function.
6601 (expand_used_vars): Call stack_protect_decl_p and
6602 stack_protect_return_slot_p for -fstack-protector-strong.
6603
2556511e
DW
66042014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
6605 Andrew Haley <aph@redhat.com>
6606 Richard Sandiford <rdsandiford@googlemail.com>
6607
6608 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
6609 pages.
6610
971ed35d 66112014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
6612
6613 PR middle-end/61111
6614 * fold-const.c (fold_binary_loc): Changed width of mask.
6615
c204f1b5
GJL
66162014-05-09 Georg-Johann Lay <avr@gjlay.de>
6617
6618 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
6619 unsigned int initializers for regno_in, regno_out.
6620
b8469805
GJL
66212014-05-09 Georg-Johann Lay <avr@gjlay.de>
6622
6623 PR target/61055
6624 * config/avr/avr.md (cc): Add new attribute set_vzn.
6625 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
6626 Set cc insn attribute to set_vzn instead of set_zn for alternatives
6627 with INC, DEC or NEG.
6628 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
6629 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
6630 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
6631
9db25c6a
RR
66322014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6633
6634 Revert:
6635 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6636
6637 * wide-int.cc (UTItype): Define.
6638 (UDWtype): Define for appropriate W_TYPE_SIZE.
6639
ee3958cf
RB
66402014-05-09 Richard Biener <rguenther@suse.de>
6641
6642 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
6643 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
6644 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
6645 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
6646 ssa_propagate): Adjust.
6647
0600049c
JL
66482014-05-08 Jeff Law <law@redhat.com>
6649
6650 PR tree-optimization/61009
6651 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
6652 tri-state rather than a boolean. When a block is too big to
6653 thread through, inform caller via negative return value.
6654 (thread_across_edge): If a block was too big for normal threading,
6655 then it's too big for a joiner too, so remove temporary equivalences
6656 and return immediately.
6657
a82122df
MK
66582014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6659 Matthias Klose <doko@ubuntu.com>
6660
6661 PR driver/61106
6662 * optc-gen.awk: Fix option handling for -Wunused-parameter.
6663
30e494f1
UB
66642014-05-08 Uros Bizjak <ubizjak@gmail.com>
6665
6666 PR target/59952
6667 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
6668
b6db8af6
UB
66692014-05-08 Uros Bizjak <ubizjak@gmail.com>
6670
6671 PR target/61092
6672 * config/alpha/alpha.c: Include gimple-iterator.h.
6673 (alpha_gimple_fold_builtin): New function. Move
6674 ALPHA_BUILTIN_UMULH folding from ...
6675 (alpha_fold_builtin): ... here.
6676 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
6677
272325bd
WM
66782014-05-08 Wei Mi <wmi@google.com>
6679
6680 PR target/58066
b6db8af6
UB
6681 * config/i386/i386.c (ix86_compute_frame_layout): Update
6682 preferred_stack_boundary for call, expanded from tls descriptor.
6683 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
6684 to depend on SP register.
272325bd
WM
6685 (*tls_local_dynamic_base_32_gnu): Ditto.
6686 (*tls_local_dynamic_32_once): Ditto.
6687 (tls_global_dynamic_64_<mode>): Set
6688 ix86_tls_descriptor_calls_expanded_in_cfun.
6689 (tls_local_dynamic_base_64_<mode>): Ditto.
6690 (tls_global_dynamic_32): Set
6691 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
6692 to depend on SP register.
6693 (tls_local_dynamic_base_32): Ditto.
6694
e79cb1a3
RR
66952014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6696
6697 * config/arm/arm_neon.h: Update comment.
6698 * config/arm/neon-docgen.ml: Delete.
6699 * config/arm/neon-gen.ml: Delete.
6700 * doc/arm-neon-intrinsics.texi: Update comment.
6701
0d0b79a6
RR
67022014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6703
6704 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
6705 and v4sf versions.
6706 (vand, vorr, veor, vorn, vbic): Remove.
6707 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
6708 iterator.
6709 (neon_vsub_unspec): Likewise.
6710 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
6711
add0c111
RR
67122014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6713
6714 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
6715 (vadd_s16): Likewise.
6716 (vadd_s32): Likewise.
6717 (vadd_f32): Likewise.
6718 (vadd_u8): Likewise.
6719 (vadd_u16): Likewise.
6720 (vadd_u32): Likewise.
6721 (vadd_s64): Likewise.
6722 (vadd_u64): Likewise.
6723 (vaddq_s8): Likewise.
6724 (vaddq_s16): Likewise.
6725 (vaddq_s32): Likewise.
6726 (vaddq_s64): Likewise.
6727 (vaddq_f32): Likewise.
6728 (vaddq_u8): Likewise.
6729 (vaddq_u16): Likewise.
6730 (vaddq_u32): Likewise.
6731 (vaddq_u64): Likewise.
6732 (vmul_s8): Likewise.
6733 (vmul_s16): Likewise.
6734 (vmul_s32): Likewise.
6735 (vmul_f32): Likewise.
6736 (vmul_u8): Likewise.
6737 (vmul_u16): Likewise.
6738 (vmul_u32): Likewise.
6739 (vmul_p8): Likewise.
6740 (vmulq_s8): Likewise.
6741 (vmulq_s16): Likewise.
6742 (vmulq_s32): Likewise.
6743 (vmulq_f32): Likewise.
6744 (vmulq_u8): Likewise.
6745 (vmulq_u16): Likewise.
6746 (vmulq_u32): Likewise.
6747 (vsub_s8): Likewise.
6748 (vsub_s16): Likewise.
6749 (vsub_s32): Likewise.
6750 (vsub_f32): Likewise.
6751 (vsub_u8): Likewise.
6752 (vsub_u16): Likewise.
6753 (vsub_u32): Likewise.
6754 (vsub_s64): Likewise.
6755 (vsub_u64): Likewise.
6756 (vsubq_s8): Likewise.
6757 (vsubq_s16): Likewise.
6758 (vsubq_s32): Likewise.
6759 (vsubq_s64): Likewise.
6760 (vsubq_f32): Likewise.
6761 (vsubq_u8): Likewise.
6762 (vsubq_u16): Likewise.
6763 (vsubq_u32): Likewise.
6764 (vsubq_u64): Likewise.
6765 (vand_s8): Likewise.
6766 (vand_s16): Likewise.
6767 (vand_s32): Likewise.
6768 (vand_u8): Likewise.
6769 (vand_u16): Likewise.
6770 (vand_u32): Likewise.
6771 (vand_s64): Likewise.
6772 (vand_u64): Likewise.
6773 (vandq_s8): Likewise.
6774 (vandq_s16): Likewise.
6775 (vandq_s32): Likewise.
6776 (vandq_s64): Likewise.
6777 (vandq_u8): Likewise.
6778 (vandq_u16): Likewise.
6779 (vandq_u32): Likewise.
6780 (vandq_u64): Likewise.
6781 (vorr_s8): Likewise.
6782 (vorr_s16): Likewise.
6783 (vorr_s32): Likewise.
6784 (vorr_u8): Likewise.
6785 (vorr_u16): Likewise.
6786 (vorr_u32): Likewise.
6787 (vorr_s64): Likewise.
6788 (vorr_u64): Likewise.
6789 (vorrq_s8): Likewise.
6790 (vorrq_s16): Likewise.
6791 (vorrq_s32): Likewise.
6792 (vorrq_s64): Likewise.
6793 (vorrq_u8): Likewise.
6794 (vorrq_u16): Likewise.
6795 (vorrq_u32): Likewise.
6796 (vorrq_u64): Likewise.
6797 (veor_s8): Likewise.
6798 (veor_s16): Likewise.
6799 (veor_s32): Likewise.
6800 (veor_u8): Likewise.
6801 (veor_u16): Likewise.
6802 (veor_u32): Likewise.
6803 (veor_s64): Likewise.
6804 (veor_u64): Likewise.
6805 (veorq_s8): Likewise.
6806 (veorq_s16): Likewise.
6807 (veorq_s32): Likewise.
6808 (veorq_s64): Likewise.
6809 (veorq_u8): Likewise.
6810 (veorq_u16): Likewise.
6811 (veorq_u32): Likewise.
6812 (veorq_u64): Likewise.
6813 (vbic_s8): Likewise.
6814 (vbic_s16): Likewise.
6815 (vbic_s32): Likewise.
6816 (vbic_u8): Likewise.
6817 (vbic_u16): Likewise.
6818 (vbic_u32): Likewise.
6819 (vbic_s64): Likewise.
6820 (vbic_u64): Likewise.
6821 (vbicq_s8): Likewise.
6822 (vbicq_s16): Likewise.
6823 (vbicq_s32): Likewise.
6824 (vbicq_s64): Likewise.
6825 (vbicq_u8): Likewise.
6826 (vbicq_u16): Likewise.
6827 (vbicq_u32): Likewise.
6828 (vbicq_u64): Likewise.
6829 (vorn_s8): Likewise.
6830 (vorn_s16): Likewise.
6831 (vorn_s32): Likewise.
6832 (vorn_u8): Likewise.
6833 (vorn_u16): Likewise.
6834 (vorn_u32): Likewise.
6835 (vorn_s64): Likewise.
6836 (vorn_u64): Likewise.
6837 (vornq_s8): Likewise.
6838 (vornq_s16): Likewise.
6839 (vornq_s32): Likewise.
6840 (vornq_s64): Likewise.
6841 (vornq_u8): Likewise.
6842 (vornq_u16): Likewise.
6843 (vornq_u32): Likewise.
6844 (vornq_u64): Likewise.
6845
ca40fb28
RR
68462014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6847
6848 * wide-int.cc (UTItype): Define.
b6db8af6 6849 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 6850
421bf780
MG
68512014-05-08 Marc Glisse <marc.glisse@inria.fr>
6852
6853 PR tree-optimization/59100
6854 * tree-ssa-phiopt.c: Include tree-inline.h.
6855 (neutral_element_p, absorbing_element_p): New functions.
6856 (value_replacement): Handle conditional binary operations with a
6857 neutral or absorbing element.
6858
a5eaec42
RB
68592014-05-08 Richard Biener <rguenther@suse.de>
6860
6861 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
6862 folding the expression.
6863 (valueize_expr): Remove.
6864 (visit_reference_op_load): Do not valueize the result of
6865 vn_get_expr_for.
6866 (simplify_binary_expression): Likewise.
6867 (simplify_unary_expression): Likewise.
6868
a96c6a62
RB
68692014-05-08 Richard Biener <rguenther@suse.de>
6870
6871 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
6872 looking at TYPE_ARG_TYPES.
6873
fb42e303
RB
68742014-05-08 Richard Biener <rguenther@suse.de>
6875
6876 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
6877 pointer propagation special-case.
6878
d1f1a283
BC
68792014-05-08 Bin Cheng <bin.cheng@arm.com>
6880
6881 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
6882 core part of address expressions.
6883
42aea2d8
AM
68842014-05-08 Alan Modra <amodra@gmail.com>
6885
6886 PR target/60737
6887 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
6888 loads and stores when -mno-strict-align at any alignment.
6889 (expand_block_clear): Similarly. Also correct calculation of
6890 instruction count.
6891
10e08855
TP
68922014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
6893
6894 PR middle-end/39246
6895 * tree-complex.c (expand_complex_move): Keep line info when expanding
6896 complex move.
6897 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
6898 of complex expression. Use new argument to display correct location
6899 for values coming from phi statement.
6900 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
6901 (warn_uninitialized_phi): Pass location of phi argument to
6902 warn_uninit.
6903 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
6904 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
6905
d839f53b
SB
69062014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
6907
6908 * config/rs6000/predicates.md (indexed_address_mem): New.
6909 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
6910 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
6911 fpstore_ux, fpstore_u.
6912 (sign_extend, indexed, update): New.
6913 (cell_micro): Adjust.
6914 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
6915 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
6916 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
6917 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
6918 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
6919 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
6920 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
6921 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
6922 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
6923 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
6924 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
6925 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
6926 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
6927 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
6928 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
6929
6930 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
6931 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
6932 *vsx_extract_<mode>_store): Adjust.
6933 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
6934 is_cracked_insn, insn_must_be_first_in_group,
6935 insn_must_be_last_in_group): Adjust.
6936
6937 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
6938 Adjust.
6939 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
6940 ppc440-fpstore): Adjust.
6941 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
6942 ppc476-fpstore): Adjust.
6943 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
6944 ppc601-fpstore): Adjust.
6945 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
6946 Adjust.
6947 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
6948 Adjust.
6949 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
6950 ppc7450-fpstore): Adjust.
6951 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
6952 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
6953 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
6954 Adjust.
6955 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
6956 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
6957 cell-fpstore, cell-fpstore-update): Adjust.
6958 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
6959 ppce300c3_store, ppce300c3_fpstore): Adjust.
6960 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
6961 e500mc_fpstore): Adjust.
6962 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
6963 e500mc64_store, e500mc64_fpstore): Adjust.
6964 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
6965 e5500_fpstore): Adjust.
6966 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
6967 e6500_fpstore): Adjust.
6968 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
6969 Adjust.
6970 * config/rs6000/power4.md (power4-load, power4-load-ext,
6971 power4-load-ext-update, power4-load-ext-update-indexed,
6972 power4-load-update-indexed, power4-load-update, power4-fpload,
6973 power4-fpload-update, power4-store, power4-store-update,
6974 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
6975 Adjust.
6976 * config/rs6000/power5.md (power5-load, power5-load-ext,
6977 power5-load-ext-update, power5-load-ext-update-indexed,
6978 power5-load-update-indexed, power5-load-update, power5-fpload,
6979 power5-fpload-update, power5-store, power5-store-update,
6980 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
6981 Adjust.
6982 * config/rs6000/power6.md (power6-load, power6-load-ext,
6983 power6-load-update, power6-load-update-indexed,
6984 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
6985 power6-fpload-update, power6-store, power6-store-update,
6986 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
6987 Adjust.
6988 * config/rs6000/power7.md (power7-load, power7-load-ext,
6989 power7-load-update, power7-load-update-indexed,
6990 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
6991 power7-fpload-update, power7-store, power7-store-update,
6992 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
6993 Adjust.
6994 * config/rs6000/power8.md (power8-load, power8-load-update,
6995 power8-load-ext, power8-load-ext-update, power8-fpload,
6996 power8-fpload-update, power8-store, power8-store-update-indexed,
6997 power8-fpstore, power8-fpstore-update): Adjust.
6998 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
6999 Adjust.
7000 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
7001 titan_lsu_store, titan_lsu_fpstore): Adjust.
7002 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
7003
36dc9ae8
OE
70042014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
7005
7006 PR target/60884
7007 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
7008 unrolled byte insns. Emit address increments after move insns.
7009
9bbf45f6
DM
70102014-05-07 David Malcolm <dmalcolm@redhat.com>
7011
7012 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
7013 const_gimple, rather than a gimple.
7014 (gimple_call_builtin_p): Likewise, for the three variants.
7015
7016 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
7017 (gimple_call_builtin_p): Likewise, for the three variants.
7018
1a51f10c
RS
70192014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7020
7021 PR tree-optimization/61095
7022 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
7023
50f0aa20
RB
70242014-05-07 Richard Biener <rguenther@suse.de>
7025
7026 PR tree-optimization/61034
7027 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
7028 (maybe_skip_until): Use translate to take into account
7029 lattices when trying to do disambiguations.
7030 (get_continuation_for_phi_1): Likewise.
b6db8af6 7031 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 7032 (walk_non_aliased_vuses): Likewise.
b6db8af6 7033 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
7034 (walk_non_aliased_vuses): Likewise.
7035 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
7036 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
7037 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
7038 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
7039
e7b7077e
JR
70402014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
7041
7042 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
7043 Emit an error when the function has arguments.
7044
c4597c1d
TS
70452014-05-07 Thomas Schwinge <thomas@codesourcery.com>
7046
7047 * cfgloop.h (unswitch_loops): Remove.
7048 * doc/passes.texi: Remove references to loop-unswitch.c
7049 * timevar.def (TV_LOOP_UNSWITCH): Remove.
7050
2c23db6d
ES
70512014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
7052
7053 * tree-vect-data-refs.c (vect_grouped_load_supported): New
7054 check for loads group of length 3.
7055 (vect_permute_load_chain): New permutations for loads group of
7056 length 3.
7057 * tree-vect-stmts.c (vect_model_load_cost): Change cost
7058 of vec_perm_shuffle for the new permutations.
7059
1d175503
AL
70602014-05-07 Alan Lawrence <alan.lawrence@arm.com>
7061
7062 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
7063 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
7064 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
7065 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
7066 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
7067 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
7068 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
7069 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
7070
e2d87487
TS
70712014-05-07 Thomas Schwinge <thomas@codesourcery.com>
7072
7073 * loop-unswitch.c: Delete.
7074
f543058d
RB
70752014-05-07 Richard Biener <rguenther@suse.de>
7076
7077 * config.gcc: Always set need_64bit_hwint to yes.
7078
96092404
CJW
70792014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
7080
7081 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
7082 of using optimize_size.
7083
ca66f89b
MS
70842014-05-06 Mike Stump <mikestump@comcast.net>
7085
7086 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
7087
659c0e68
JM
70882014-05-06 Joseph Myers <joseph@codesourcery.com>
7089
7090 * config/i386/sse.md (*mov<mode>_internal)
7091 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
7092 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
7093 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
7094 (*<code><mode>3, *andnot<mode>3<mask_name>)
7095 (<mask_codefor><code><mode>3<mask_name>): Only consider
7096 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
7097
3379b71f
RS
70982014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
7099
7100 Revert:
7101 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
7102
7103 * lra-constraints.c (valid_address_p): Move earlier in file.
7104 Add a constraint argument to the address_info version.
7105 (satisfies_memory_constraint_p): New function.
7106 (satisfies_address_constraint_p): Likewise.
7107 (process_alt_operands, curr_insn_transform): Use them.
7108 (process_address): Pass the constraint to valid_address_p when
7109 checking address operands.
7110
224dbc07
RS
71112014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
7112
7113 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
7114 to their respective blocks. Fix inadvertent use of "node".
7115
aa3a12d6
RS
71162014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
7117
7118 * emit-rtl.c (init_derived_machine_modes): New functionm, split
7119 out from...
7120 (init_emit_once): ...here.
7121 * rtl.h (init_derived_machine_modes): Declare.
7122 * toplev.c (do_compile): Call it even if no_backend.
7123
1d60af08
KZ
71242014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7125 Mike Stump <mikestump@comcast.net>
7126 Richard Sandiford <rdsandiford@googlemail.com>
7127 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7128
7129 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
7130 (rtx_equal_for_memref_p): Update comment.
7131 (adjust_offset_for_component_ref): Use wide-int interfaces.
7132 * builtins.c (get_object_alignment_2): Likewise.
7133 (c_readstr): Likewise.
7134 (target_char_cast): Add comment.
7135 (determine_block_size): Use wide-int interfaces.
7136 (expand_builtin_signbit): Likewise.
7137 (fold_builtin_int_roundingfn): Likewise.
7138 (fold_builtin_bitop): Likewise.
7139 (fold_builtin_bswap): Likewise.
7140 (fold_builtin_logarithm): Use signop.
7141 (fold_builtin_pow): Likewise.
7142 (fold_builtin_memory_op): Use wide-int interfaces.
7143 (fold_builtin_object_size): Likewise.
7144 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
7145 nb_iterations_estimate.
7146 (record_niter_bound): Use wide-int interfaces.
7147 (get_estimated_loop_iterations_int): Likewise.
7148 (get_estimated_loop_iterations): Likewise.
7149 (get_max_loop_iterations): Likewise.
7150 * cfgloop.h: Include wide-int.h.
7151 (struct nb_iter_bound): Change bound to widest_int.
7152 (struct loop): Change nb_iterations_upper_bound and
7153 nb_iterations_estimate to widest_int.
7154 (record_niter_bound): Switch to use widest_int.
7155 (get_estimated_loop_iterations): Likewise.
7156 (get_max_loop_iterations): Likewise.
7157 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
7158 update for wide-int.
7159 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
7160 * combine.c (try_combine): Likewise.
7161 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
7162 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
7163 interfaces.
7164 (aarch64_float_const_representable_p): Likewise.
7165 * config/arc/arc.c: Include wide-int.h.
7166 (arc_can_use_doloop_p): Use wide-int interfaces.
7167 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
7168 (vfp3_const_double_index): Likewise.
7169 * config/avr/avr.c (avr_out_round): Likewise.
7170 (avr_fold_builtin): Likewise.
7171 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
7172 (bfin_can_use_doloop_p): Likewise.
7173 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
7174 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
7175 * config/i386/i386.c: Include wide-int.h.
7176 (ix86_data_alignment): Use wide-int interfaces.
7177 (ix86_local_alignment): Likewise.
7178 (ix86_emit_swsqrtsf): Update real_from_integer.
7179 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
7180 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
7181 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
7182 (zero_constant): Likewise.
7183 (input_operand): Likewise.
7184 (splat_input_operand): Likewise.
7185 (non_logical_cint_operand): Change const_double to const_wide_int.
7186 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
7187 (easy_altivec_constant): Remove comment.
7188 (paired_expand_vector_init): Use CONSTANT_P.
7189 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
7190 (rs6000_emit_move): Update checks.
7191 (rs6000_aggregate_candidate): Use wide-int interfaces.
7192 (rs6000_expand_ternop_builtin): Likewise.
7193 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
7194 (rs6000_assemble_integer): Likewise.
7195 (rs6000_hash_constant): Likewise.
7196 (output_toc): Likewise.
7197 (rs6000_rtx_costs): Likewise.
7198 (rs6000_emit_swrsqrt); Update call to real_from_integer.
7199 * config/rs6000/rs6000-c.c: Include wide-int.h.
7200 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
7201 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
7202 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
7203 Handle CONST_WIDE_INT.
7204 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
7205 Use tree_fits_uhwi_p.
7206 * config/sparc/sparc.c: Include wide-int.h.
7207 (sparc_fold_builtin): Use wide-int interfaces.
7208 * config/vax/vax.c: Include wide-int.h.
7209 (vax_float_literal): Use real_from_integer.
7210 * coretypes.h (struct hwivec_def): New.
7211 (hwivec): New.
7212 (const_hwivec): New.
7213 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
7214 (equiv_constant): Handle CONST_WIDE_INT.
7215 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
7216 (cselib_hash_rtx): Handle CONST_WIDE_INT.
7217 * dbxout.c (stabstr_U): Use wide-int interfaces.
7218 (dbxout_type): Update to use cst_fits_shwi_p.
7219 * defaults.h (LOG2_BITS_PER_UNIT): Define.
7220 (TARGET_SUPPORTS_WIDE_INT): Add default.
7221 * dfp.c: Include wide-int.h.
7222 (decimal_real_to_integer2): Use wide-int interfaces and rename to
7223 decimal_real_to_integer.
7224 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
7225 decimal_real_to_integer.
7226 * doc/generic.texi (Constant expressions): Update for wide_int.
7227 * doc/rtl.texi (const_double): Likewise.
7228 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
7229 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
7230 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
7231 (REAL_VALUE_FROM_INT): Remove.
7232 (TARGET_SUPPORTS_WIDE_INT): New.
7233 * doc/tm.texi: Regenerate.
7234 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
7235 * double-int.h: Include wide-int.h.
7236 (struct wi::int_traits): New.
7237 * dwarf2out.c (get_full_len): New.
7238 (dw_val_equal_p): Add case dw_val_class_wide_int.
7239 (size_of_loc_descr): Likewise.
7240 (output_loc_operands): Likewise.
7241 (insert_double): Remove.
7242 (insert_wide_int): New.
7243 (add_AT_wide): New.
7244 (print_die): Add case dw_val_class_wide_int.
7245 (attr_checksum): Likewise.
7246 (attr_checksum_ordered): Likewise.
7247 (same_dw_val_p): Likewise.
7248 (size_of_die): Likewise.
7249 (value_format): Likewise.
7250 (output_die): Likewise.
7251 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
7252 Use wide-int.
7253 (clz_loc_descriptor): Use wide-int interfaces.
7254 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
7255 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
7256 (round_up_to_align): Use wide-int interfaces.
7257 (field_byte_offset): Likewise.
7258 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
7259 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
7260 CONST_DOUBLE handling. Use wide-int interfaces.
7261 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
7262 (gen_enumeration_type_die): Use add_AT_wide.
7263 (hash_loc_operands): Add case dw_val_class_wide_int.
7264 (compare_loc_operands): Likewise.
7265 * dwarf2out.h: Include wide-int.h.
7266 (wide_int_ptr): New.
7267 (enum dw_val_class): Add dw_val_class_wide_int.
7268 (struct dw_val_struct): Add val_wide.
7269 * emit-rtl.c (const_wide_int_htab): New.
7270 (const_wide_int_htab_hash): New.
7271 (const_wide_int_htab_eq): New.
7272 (lookup_const_wide_int): New.
7273 (const_double_htab_hash): Use wide-int interfaces.
7274 (const_double_htab_eq): Likewise.
7275 (rtx_to_double_int): Conditionally compile for wide-int.
7276 (immed_double_int_const): Rename to immed_wide_int_const and
7277 update for wide-int.
7278 (immed_double_const): Conditionally compile for wide-int.
7279 (init_emit_once): Use wide-int interfaces.
7280 * explow.c (plus_constant): Likewise.
7281 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
7282 (lshift_value): Use wide-int interfaces.
7283 (expand_mult): Likewise.
7284 (choose_multiplier): Likewise.
7285 (expand_smod_pow2): Likewise.
7286 (make_tree): Likewise.
7287 * expr.c (convert_modes): Consolidate handling of constants.
7288 Use wide-int interfaces.
7289 (emit_group_load_1): Add note.
7290 (store_expr): Update comment.
7291 (get_inner_reference): Use wide-int interfaces.
7292 (expand_constructor): Update comment.
7293 (expand_expr_real_2): Use wide-int interfaces.
7294 (expand_expr_real_1): Likewise.
7295 (reduce_to_bit_field_precision): Likewise.
7296 (const_vector_from_tree): Likewise.
7297 * final.c: Include wide-int-print.h.
7298 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
7299 * fixed-value.c: Include wide-int.h.
7300 (fixed_from_string): Use wide-int interfaces.
7301 (fixed_to_decimal): Likewise.
7302 (fixed_convert_from_real): Likewise.
7303 (real_convert_from_fixed): Likewise.
7304 * fold-const.h (mem_ref_offset): Return an offset_int.
7305 (div_if_zero_remainder): Remove code parameter.
7306 * fold-const.c (div_if_zero_remainder): Remove code parameter.
7307 Use wide-int interfaces.
7308 (may_negate_without_overflow_p): Use wide-int interfaces.
7309 (negate_expr_p): Likewise.
7310 (fold_negate_expr): Likewise.
7311 (int_const_binop_1): Likewise.
7312 (const_binop): Likewise.
7313 (fold_convert_const_int_from_int): Likewise.
7314 (fold_convert_const_int_from_real): Likewise.
7315 (fold_convert_const_int_from_fixed): Likewise.
7316 (fold_convert_const_fixed_from_int): Likewise.
7317 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
7318 (sign_bit_p): Use wide-int interfaces.
7319 (make_range_step): Likewise.
7320 (build_range_check): Likewise. Pass an integer of the correct type
7321 instead of using integer_one_node.
7322 (range_predecessor): Pass an integer of the correct type instead
7323 of using integer_one_node.
7324 (range_successor): Likewise.
7325 (merge_ranges): Likewise.
7326 (unextend): Use wide-int interfaces.
7327 (extract_muldiv_1): Likewise.
7328 (fold_div_compare): Likewise.
7329 (fold_single_bit_test): Likewise.
7330 (fold_sign_changed_comparison): Likewise.
7331 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
7332 (fold_plusminus_mult_expr): Use wide-int interfaces.
7333 (native_encode_int): Likewise.
7334 (native_interpret_int): Likewise.
7335 (fold_unary_loc): Likewise.
7336 (pointer_may_wrap_p): Likewise.
7337 (size_low_cst): Likewise.
7338 (mask_with_tz): Likewise.
7339 (fold_binary_loc): Likewise.
7340 (fold_ternary_loc): Likewise.
7341 (multiple_of_p): Likewise.
7342 (tree_call_nonnegative_warnv_p): Update calls to
7343 tree_int_cst_min_precision and real_from_integer.
7344 (fold_negate_const): Use wide-int interfaces.
7345 (fold_abs_const): Likewise.
7346 (fold_relational_const): Use tree_int_cst_lt.
7347 (round_up_loc): Use wide-int interfaces.
7348 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
7349 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
7350 * gengtype.c: Remove include of double-int.h.
7351 (do_typedef): Use wide-int interfaces.
7352 (open_base_files): Add wide-int.h.
7353 (main): Add offset_int and widest_int typedefs.
7354 * gengtype-lex.l: Handle "^".
7355 (CXX_KEYWORD): Add "static".
7356 * gengtype-parse.c (require3): New.
7357 (require_template_declaration): Handle constant template arguments
7358 and nested templates.
7359 * gengtype-state.c: Don't include "double-int.h".
7360 * genpreds.c (write_one_predicate_function): Update comment.
7361 (write_tm_constrs_h): Add check for hval and lval use in
7362 CONST_WIDE_INT.
7363 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
7364 (add_to_sequence): Likewise.
7365 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
7366 and const_double_operand.
7367 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
7368 interfaces.
7369 * gimple-fold.c (get_base_constructor): Likewise.
7370 (fold_array_ctor_reference): Likewise.
7371 (fold_nonarray_ctor_reference): Likewise.
7372 (fold_const_aggregate_ref_1): Likewise.
7373 (gimple_val_nonnegative_real_p): Likewise.
7374 (gimple_fold_indirect_ref): Likewise.
7375 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
7376 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
7377 (struct slsr_cand_d): Change index to be widest_int.
7378 (struct incr_info_d): Change incr to be widest_int.
7379 (alloc_cand_and_find_basis): Use wide-int interfaces.
7380 (slsr_process_phi): Likewise.
7381 (backtrace_base_for_ref): Likewise. Return a widest_int.
7382 (restructure_reference): Take a widest_int instead of a double_int.
7383 (slsr_process_ref): Use wide-int interfaces.
7384 (create_mul_ssa_cand): Likewise.
7385 (create_mul_imm_cand): Likewise.
7386 (create_add_ssa_cand): Likewise.
7387 (create_add_imm_cand): Take a widest_int instead of a double_int.
7388 (slsr_process_add): Use wide-int interfaces.
7389 (slsr_process_cast): Likewise.
7390 (slsr_process_copy): Likewise.
7391 (dump_candidate): Likewise.
7392 (dump_incr_vec): Likewise.
7393 (replace_ref): Likewise.
7394 (cand_increment): Likewise. Return a widest_int.
7395 (cand_abs_increment): Likewise.
7396 (replace_mult_candidate): Take a widest_int instead of a double_int.
7397 (replace_unconditional_candidate): Use wide-int interfaces.
7398 (incr_vec_index): Take a widest_int instead of a double_int.
7399 (create_add_on_incoming_edge): Likewise.
7400 (create_phi_basis): Use wide-int interfaces.
7401 (replace_conditional_candidate): Likewise.
7402 (record_increment): Take a widest_int instead of a double_int.
7403 (record_phi_increments): Use wide-int interfaces.
7404 (phi_incr_cost): Take a widest_int instead of a double_int.
7405 (lowest_cost_path): Likewise.
7406 (total_savings): Likewise.
7407 (analyze_increments): Use wide-int interfaces.
7408 (ncd_with_phi): Take a widest_int instead of a double_int.
7409 (ncd_of_cand_and_phis): Likewise.
7410 (nearest_common_dominator_for_cands): Likewise.
7411 (insert_initializers): Use wide-int interfaces.
7412 (all_phi_incrs_profitable): Likewise.
7413 (replace_one_candidate): Likewise.
7414 (replace_profitable_candidates): Likewise.
7415 * godump.c: Include wide-int-print.h.
7416 (go_output_typedef): Use wide-int interfaces.
7417 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
7418 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
7419 (build_loop_iteration_domains): Likewise.
7420 * hooks.h: Include wide-int.h rather than double-int.h.
7421 (hook_bool_dint_dint_uint_bool_true): Delete.
7422 (hook_bool_wint_wint_uint_bool_true): Declare.
7423 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
7424 (hook_bool_wint_wint_uint_bool_true): New.
7425 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
7426 interfaces.
7427 (ubsan_expand_si_overflow_mul_check): Likewise.
7428 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
7429 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
7430 (get_ancestor_addr_info): Likewise.
7431 (ipa_modify_call_arguments): Likewise.
7432 * loop-doloop.c (doloop_modify): Likewise.
7433 (doloop_optimize): Likewise.
7434 * loop-iv.c (iv_number_of_iterations): Likewise.
7435 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
7436 (unroll_loop_constant_iterations): Likewise.
7437 (decide_unroll_runtime_iterations): Likewise.
7438 (unroll_loop_runtime_iterations): Likewise.
7439 (decide_peel_simple): Likewise.
7440 (decide_unroll_stupid): Likewise.
7441 * lto-streamer-in.c (streamer_read_wi): Add.
7442 (input_cfg): Use wide-int interfaces.
7443 (lto_input_tree_1): Likewise.
7444 * lto-streamer-out.c (streamer_write_wi): Add.
7445 (hash_tree): Use wide-int interfaces.
7446 (output_cfg): Likewise.
7447 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
7448 (GTFILES): Add wide-int.h and signop.h.
7449 (TAGS): Look for .cc files too.
7450 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
7451 * optabs.c (expand_subword_shift): Likewise.
7452 (expand_doubleword_shift): Likewise.
7453 (expand_absneg_bit): Likewise.
7454 (expand_copysign_absneg): Likewise.
7455 (expand_copysign_bit): Likewise.
7456 * postreload.c (reload_cse_simplify_set): Likewise.
7457 * predict.c (predict_iv_comparison): Likewise.
7458 * pretty-print.h: Include wide-int-print.h.
7459 (pp_wide_int) New.
7460 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
7461 * print-tree.c: Include wide-int-print.h.
7462 (print_node_brief): Use wide-int interfaces.
7463 (print_node): Likewise.
7464 * read-rtl.c (validate_const_wide_int): New.
7465 (read_rtx_code): Add CONST_WIDE_INT case.
7466 * real.c: Include wide-int.h.
7467 (real_to_integer2): Delete.
7468 (real_to_integer): New function, returning a wide_int.
7469 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
7470 (ten_to_ptwo): Update call to real_from_integer.
7471 (real_digit): Likewise.
7472 * real.h: Include signop.h, wide-int.h and insn-modes.h.
7473 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
7474 (REAL_VALUE_TO_INT): Delete.
7475 (real_to_integer): Declare a wide-int form.
7476 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
7477 * recog.c (const_int_operand): Improve comment.
7478 (const_scalar_int_operand): New.
7479 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
7480 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
7481 (split_double): Likewise.
7482 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
7483 (rtx_size): Likewise.
7484 (rtx_alloc_stat_v): New.
7485 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
7486 (cwi_output_hex): New.
7487 (iterative_hash_rtx): Handle CONST_WIDE_INT.
7488 (cwi_check_failed_bounds): New.
7489 * rtl.def (CONST_WIDE_INT): New.
7490 * rtl.h: Include <utility> and wide-int.h.
7491 (struct hwivec_def): New.
7492 (CWI_GET_NUM_ELEM): New.
7493 (CWI_PUT_NUM_ELEM): New.
7494 (struct rtx_def): Add num_elem and hwiv.
7495 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
7496 (CASE_CONST_UNIQUE): Likewise.
7497 (CASE_CONST_ANY): Likewise.
7498 (CONST_SCALAR_INT_P): Likewise.
7499 (CONST_WIDE_INT_P): New.
7500 (CWI_ELT): New.
7501 (HWIVEC_CHECK): New.
7502 (cwi_check_failed_bounds): New.
7503 (CWI_ELT): New.
7504 (HWIVEC_CHECK): New.
7505 (CONST_WIDE_INT_VEC) New.
7506 (CONST_WIDE_INT_NUNITS) New.
7507 (CONST_WIDE_INT_ELT) New.
7508 (rtx_mode_t): New type.
7509 (wi::int_traits <rtx_mode_t>): New.
7510 (wi::shwi): New.
7511 (wi::min_value): New.
7512 (wi::max_value): New.
7513 (rtx_alloc_v) New.
7514 (const_wide_int_alloc): New.
7515 (immed_wide_int_const): New.
7516 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
7517 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
7518 * signop.h: New file.
7519 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
7520 (simplify_const_unary_operation): Use wide-int interfaces.
7521 (simplify_binary_operation_1): Likewise.
7522 (simplify_const_binary_operation): Likewise.
7523 (simplify_const_relational_operation): Likewise.
7524 (simplify_immed_subreg): Likewise.
7525 * stmt.c (expand_case): Likewise.
7526 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
7527 signop rather than a bool.
7528 * stor-layout.c (layout_type): Use wide-int interfaces.
7529 (initialize_sizetypes): Update calls to
7530 set_min_and_max_values_for_integral_type.
7531 (set_min_and_max_values_for_integral_type): Take a signop rather
7532 than a bool. Use wide-int interfaces.
7533 (fixup_signed_type): Update accordingly. Remove
7534 HOST_BITS_PER_DOUBLE_INT limit.
7535 (fixup_unsigned_type): Likewise.
7536 * system.h (STATIC_CONSTANT_P): New.
7537 (STATIC_ASSERT): New.
7538 * target.def (can_use_doloop_p): Take widest_ints rather than
7539 double_ints.
7540 * target.h: Include wide-int.h rather than double-int.h.
7541 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
7542 than double_ints.
7543 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
7544 rather than INT_CST_LT_UNSIGNED.
7545 (can_use_doloop_if_innermost): Take widest_ints rather than
7546 double_ints.
7547 * tree-affine.c: Include wide-int-print.h.
7548 (double_int_ext_for_comb): Delete.
7549 (wide_int_ext_for_comb): New.
7550 (aff_combination_zero): Use wide-int interfaces.
7551 (aff_combination_const): Take a widest_int instead of a double_int.
7552 (aff_combination_elt): Use wide-int interfaces.
7553 (aff_combination_scale): Take a widest_int instead of a double_int.
7554 (aff_combination_add_elt): Likewise.
7555 (aff_combination_add_cst): Likewise.
7556 (aff_combination_add): Use wide-int interfaces.
7557 (aff_combination_convert): Likewise.
7558 (tree_to_aff_combination): Likewise.
7559 (add_elt_to_tree): Take a widest_int instead of a double_int.
7560 (aff_combination_to_tree): Use wide-int interfaces.
7561 (aff_combination_remove_elt): Likewise.
7562 (aff_combination_add_product): Take a widest_int instead of
7563 a double_int.
7564 (aff_combination_mult): Use wide-int interfaces.
7565 (aff_combination_expand): Likewise.
7566 (double_int_constant_multiple_p): Delete.
7567 (wide_int_constant_multiple_p): New.
7568 (aff_combination_constant_multiple_p): Take a widest_int pointer
7569 instead of a double_int pointer.
7570 (print_aff): Use wide-int interfaces.
7571 (get_inner_reference_aff): Take a widest_int pointer
7572 instead of a double_int pointer.
7573 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
7574 * tree-affine.h: Include wide-int.h.
7575 (struct aff_comb_elt): Change type of coef to widest_int.
7576 (struct affine_tree_combination): Change type of offset to widest_int.
7577 (double_int_ext_for_comb): Delete.
7578 (wide_int_ext_for_comb): New.
7579 (aff_combination_const): Use widest_int instead of double_int.
7580 (aff_combination_scale): Likewise.
7581 (aff_combination_add_elt): Likewise.
7582 (aff_combination_constant_multiple_p): Likewise.
7583 (get_inner_reference_aff): Likewise.
7584 (aff_comb_cannot_overlap_p): Likewise.
7585 (aff_combination_zero_p): Use wide-int interfaces.
7586 * tree.c: Include tree.h.
7587 (init_ttree): Use make_int_cst.
7588 (tree_code_size): Removed code for INTEGER_CST case.
7589 (tree_size): Add INTEGER_CST case.
7590 (make_node_stat): Update comment.
7591 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
7592 (build_int_cst_type): Use wide-int interfaces.
7593 (double_int_to_tree): Likewise.
7594 (double_int_fits_to_tree_p): Delete.
7595 (force_fit_type_double): Delete.
7596 (force_fit_type): New.
7597 (int_cst_hash_hash): Use wide-int interfaces.
7598 (int_cst_hash_eq): Likewise.
7599 (build_int_cst_wide): Delete.
7600 (wide_int_to_tree): New.
7601 (cache_integer_cst): Use wide-int interfaces.
7602 (build_low_bits_mask): Likewise.
7603 (cst_and_fits_in_hwi): Likewise.
7604 (real_value_from_int_cst): Likewise.
7605 (make_int_cst_stat): New.
7606 (integer_zerop): Use wide_int interfaces.
7607 (integer_onep): Likewise.
7608 (integer_all_onesp): Likewise.
7609 (integer_pow2p): Likewise.
7610 (integer_nonzerop): Likewise.
7611 (tree_log2): Likewise.
7612 (tree_floor_log2): Likewise.
7613 (tree_ctz): Likewise.
7614 (int_size_in_bytes): Likewise.
7615 (mem_ref_offset): Return an offset_int rather than a double_int.
7616 (build_type_attribute_qual_variant): Use wide_int interfaces.
7617 (type_hash_eq): Likewise
7618 (tree_int_cst_equal): Likewise.
7619 (tree_int_cst_lt): Delete.
7620 (tree_int_cst_compare): Likewise.
7621 (tree_fits_shwi_p): Use wide_int interfaces.
7622 (tree_fits_uhwi_p): Likewise.
7623 (tree_int_cst_sign_bit): Likewise.
7624 (tree_int_cst_sgn): Likewise.
7625 (tree_int_cst_min_precision): Take a signop rather than a bool.
7626 (simple_cst_equal): Use wide_int interfaces.
7627 (compare_tree_int): Likewise.
7628 (iterative_hash_expr): Likewise.
7629 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
7630 INT_CST_LT.
7631 (get_type_static_bounds): Use wide_int interfaces.
7632 (tree_int_cst_elt_check_failed): New.
7633 (build_common_tree_nodes): Reordered to set prec before filling in
7634 value.
7635 (int_cst_value): Check cst_and_fits_in_hwi.
7636 (widest_int_cst_value): Use wide_int interfaces.
7637 (upper_bound_in_type): Likewise.
7638 (lower_bound_in_type): Likewise.
7639 (num_ending_zeros): Likewise.
7640 (drop_tree_overflow): Likewise.
7641 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
7642 (gen_conditions_for_pow_cst_base): Likewise.
7643 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
7644 (group_case_labels_stmt): Use wide-int interfaces.
7645 (verify_gimple_assign_binary): Likewise.
7646 (print_loop): Likewise.
7647 * tree-chrec.c (tree_fold_binomial): Likewise.
7648 * tree-core.h (struct tree_base): Add int_length.
7649 (struct tree_int_cst): Change rep of value.
7650 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
7651 (dr_may_alias_p): Likewise.
7652 (max_stmt_executions_tree): Likewise.
7653 * tree.def (INTEGER_CST): Update comment.
7654 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
7655 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
7656 * tree-dump.c: Include wide-int.h and wide-int-print.h.
7657 (dequeue_and_dump): Use wide-int interfaces.
7658 * tree.h: Include wide-int.h.
7659 (NULL_TREE): Moved to earlier loc in file.
7660 (TREE_INT_CST_ELT_CHECK): New.
7661 (tree_int_cst_elt_check_failed): New.
7662 (TYPE_SIGN): New.
7663 (TREE_INT_CST): Delete.
7664 (TREE_INT_CST_LOW): Use wide-int interfaces.
7665 (TREE_INT_CST_HIGH): Delete.
7666 (TREE_INT_CST_NUNITS): New.
7667 (TREE_INT_CST_EXT_NUNITS): Likewise.
7668 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
7669 (TREE_INT_CST_ELT): Likewise.
7670 (INT_CST_LT): Delete.
7671 (tree_int_cst_elt_check): New (two forms).
7672 (type_code_size): Update comment.
7673 (make_int_cst_stat, make_int_cst): New.
7674 (tree_to_double_int): Delete.
7675 (double_int_fits_to_tree_p): Delete.
7676 (force_fit_type_double): Delete.
7677 (build_int_cstu): Replace with out-of-line function.
7678 (build_int_cst_wide): Delete.
7679 (tree_int_cst_lt): Define inline.
7680 (tree_int_cst_le): New.
7681 (tree_int_cst_compare): Define inline.
7682 (tree_int_cst_min_precision): Take a signop rather than a bool.
7683 (wi::int_traits <const_tree>): New.
7684 (wi::int_traits <tree>): New.
7685 (wi::extended_tree): New.
7686 (wi::int_traits <wi::extended_tree>): New.
7687 (wi::to_widest): New.
7688 (wi::to_offset): New.
7689 (wi::fits_to_tree_p): New.
7690 (wi::min_value): New.
7691 (wi::max_value): New.
7692 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
7693 (copy_tree_body_r): Likewise.
7694 * tree-object-size.c (compute_object_offset): Likewise.
7695 (addr_object_size): Likewise.
7696 * tree-predcom.c: Include wide-int-print.h.
7697 (struct dref_d): Change type of offset to widest_int.
7698 (dump_dref): Call wide-int printer.
7699 (aff_combination_dr_offset): Use wide-int interfaces.
7700 (determine_offset): Take a widest_int pointer rather than a
7701 double_int pointer.
7702 (split_data_refs_to_components): Use wide-int interfaces.
7703 (suitable_component_p): Likewise.
7704 (order_drefs): Likewise.
7705 (add_ref_to_chain): Likewise.
7706 (valid_initializer_p): Likewise.
7707 (determine_roots_comp): Likewise.
7708 * tree-pretty-print.c: Include wide-int-print.h.
7709 (dump_generic_node): Use wide-int interfaces.
7710 * tree-sra.c (sra_ipa_modify_expr): Likewise.
7711 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
7712 (move_fixed_address_to_symbol): Likewise.
7713 (move_hint_to_base): Likewise.
7714 (move_pointer_to_base): Likewise.
7715 (move_variant_to_index): Likewise.
7716 (most_expensive_mult_to_index): Likewise.
7717 (addr_to_parts): Likewise.
7718 (copy_ref_info): Likewise.
7719 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
7720 (indirect_refs_may_alias_p): Likewise.
7721 (stmt_kills_ref_p_1): Likewise.
7722 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
7723 * tree-ssa-ccp.c: Update comment at top of file. Include
7724 wide-int-print.h.
7725 (struct prop_value_d): Change type of mask to widest_int.
7726 (extend_mask): New function.
7727 (dump_lattice_value): Use wide-int interfaces.
7728 (get_default_value): Likewise.
7729 (set_constant_value): Likewise.
7730 (set_value_varying): Likewise.
7731 (valid_lattice_transition): Likewise.
7732 (set_lattice_value): Likewise.
7733 (value_to_double_int): Delete.
7734 (value_to_wide_int): New.
7735 (get_value_from_alignment): Use wide-int interfaces.
7736 (get_value_for_expr): Likewise.
7737 (do_dbg_cnt): Likewise.
7738 (ccp_finalize): Likewise.
7739 (ccp_lattice_meet): Likewise.
7740 (bit_value_unop_1): Use widest_ints rather than double_ints.
7741 (bit_value_binop_1): Likewise.
7742 (bit_value_unop): Use wide-int interfaces.
7743 (bit_value_binop): Likewise.
7744 (bit_value_assume_aligned): Likewise.
7745 (evaluate_stmt): Likewise.
7746 (ccp_fold_stmt): Likewise.
7747 (visit_cond_stmt): Likewise.
7748 (ccp_visit_stmt): Likewise.
7749 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
7750 (constant_pointer_difference): Likewise.
7751 (associate_pointerplus): Likewise.
7752 (combine_conversions): Likewise.
7753 * tree-ssa-loop.h: Include wide-int.h.
7754 (struct tree_niter_desc): Change type of max to widest_int.
7755 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
7756 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
7757 (remove_redundant_iv_tests): Likewise.
7758 (canonicalize_loop_induction_variables): Likewise.
7759 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
7760 (constant_multiple_of): Take a widest_int pointer instead of
7761 a double_int pointer.
7762 (get_computation_aff): Use wide-int interfaces.
7763 (ptr_difference_cost): Likewise.
7764 (difference_cost): Likewise.
7765 (get_loop_invariant_expr_id): Likewise.
7766 (get_computation_cost_at): Likewise.
7767 (iv_elimination_compare_lt): Likewise.
7768 (may_eliminate_iv): Likewise.
7769 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
7770 instead of double_int.
7771 (max_loop_iterations): Likewise.
7772 (max_stmt_executions): Likewise.
7773 (estimated_stmt_executions): Likewise.
7774 * tree-ssa-loop-niter.c: Include wide-int-print.h.
7775 (split_to_var_and_offset): Use wide-int interfaces.
7776 (determine_value_range): Likewise.
7777 (bound_difference_of_offsetted_base): Likewise.
7778 (bounds_add): Take a widest_int instead of a double_int.
7779 (number_of_iterations_ne_max): Use wide-int interfaces.
7780 (number_of_iterations_ne): Likewise.
7781 (number_of_iterations_lt_to_ne): Likewise.
7782 (assert_loop_rolls_lt): Likewise.
7783 (number_of_iterations_lt): Likewise.
7784 (number_of_iterations_le): Likewise.
7785 (number_of_iterations_cond): Likewise.
7786 (number_of_iterations_exit): Likewise.
7787 (finite_loop_p): Likewise.
7788 (derive_constant_upper_bound_assign): Likewise.
7789 (derive_constant_upper_bound): Return a widest_int.
7790 (derive_constant_upper_bound_ops): Likewise.
7791 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
7792 (record_estimate): Take a widest_int rather than a double_int.
7793 (record_nonwrapping_iv): Use wide-int interfaces.
7794 (double_int_cmp): Delete.
7795 (wide_int_cmp): New.
7796 (bound_index): Take a widest_int rather than a double_int.
7797 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
7798 (maybe_lower_iteration_bound): Likewise.
7799 (estimate_numbers_of_iterations_loop): Likewise.
7800 (estimated_loop_iterations): Take a widest_int pointer than than
7801 a double_int pointer.
7802 (estimated_loop_iterations_int): Use wide-int interfaces.
7803 (max_loop_iterations): Take a widest_int pointer than than
7804 a double_int pointer.
7805 (max_loop_iterations_int): Use wide-int interfaces.
7806 (max_stmt_executions): Take a widest_int pointer than than
7807 a double_int pointer.
7808 (estimated_stmt_executions): Likewise.
7809 (n_of_executions_at_most): Use wide-int interfaces.
7810 (scev_probably_wraps_p): Likewise.
7811 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
7812 to real_to_integer.
7813 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
7814 interfaces.
7815 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
7816 double_ints. Adjust for trailing_wide_ints <3> representation.
7817 (set_nonzero_bits): Likewise.
7818 (get_range_info): Return wide_ints rather than double_ints.
7819 Adjust for trailing_wide_ints <3> representation.
7820 (get_nonzero_bits): Likewise.
7821 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
7822 representation.
7823 * tree-ssanames.h (struct range_info_def): Replace min, max and
7824 nonzero_bits with a trailing_wide_ints <3>.
7825 (set_range_info): Use wide_int_refs rather than double_ints.
7826 (set_nonzero_bits): Likewise.
7827 (get_range_info): Return wide_ints rather than double_ints.
7828 (get_nonzero_bits): Likewise.
7829 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
7830 * tree-ssa-pre.c (phi_translate_1): Likewise.
7831 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
7832 (acceptable_pow_call): Likewise.
7833 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
7834 interfaces.
7835 (vn_reference_fold_indirect): Likewise.
7836 (vn_reference_maybe_forwprop_address): Likewise.
7837 (valueize_refs_1): Likewise.
7838 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
7839 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
7840 tree_int_cst_lt and tree_int_cst_le.
7841 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
7842 interfaces.
7843 (streamer_alloc_tree): Likewise.
7844 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
7845 (streamer_write_tree_header): Likewise.
7846 (streamer_write_integer_cst): Likewise.
7847 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
7848 (build_constructors): Likewise.
7849 (array_value_type): Likewise.
7850 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
7851 (vect_check_gather): Likewise.
7852 * tree-vect-generic.c (build_replicated_const): Likewise.
7853 (expand_vector_divmod): Likewise.
7854 * tree-vect-loop.c (vect_transform_loop): Likewise.
7855 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
7856 (vect_do_peeling_for_alignment): Likewise.
7857 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
7858 * tree-vrp.c: Include wide-int.h.
7859 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
7860 (extract_range_from_assert): Use wide-int interfaces.
7861 (vrp_int_const_binop): Likewise.
7862 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
7863 double_int pointers.
7864 (ranges_from_anti_range): Use wide-int interfaces.
7865 (quad_int_cmp): Delete.
7866 (quad_int_pair_sort): Likewise.
7867 (extract_range_from_binary_expr_1): Use wide-int interfaces.
7868 (extract_range_from_unary_expr_1): Likewise.
7869 (adjust_range_with_scev): Likewise.
7870 (masked_increment): Take and return wide_ints rather than double_ints.
7871 (register_edge_assert_for_2): Use wide-int interfaces.
7872 (check_array_ref): Likewise.
7873 (search_for_addr_array): Likewise.
7874 (maybe_set_nonzero_bits): Likewise.
7875 (union_ranges): Pass an integer of the correct type instead of
7876 using integer_one_node.
7877 (intersect_ranges): Likewise.
7878 (simplify_truth_ops_using_ranges): Likewise.
7879 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
7880 (range_fits_type_p): Likewise.
7881 (simplify_cond_using_ranges): Likewise. Take a signop rather than
7882 a bool.
7883 (simplify_conversion_using_ranges): Use wide-int interfaces.
7884 (simplify_float_conversion_using_ranges): Likewise.
7885 (vrp_finalize): Likewise.
7886 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
7887 (gimple_stringops_transform): Likewise.
7888 * varasm.c (decode_addr_const): Likewise.
7889 (const_hash_1): Likewise.
7890 (const_rtx_hash_1): Likewise
7891 (output_constant): Likewise.
7892 (array_size_for_constructor): Likewise.
7893 (output_constructor_regular_field): Likewise.
7894 (output_constructor_bitfield): Likewise.
7895 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
7896 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
7897 GENERATOR_FILEs.
7898 * gencheck.c: Define BITS_PER_UNIT.
7899 * wide-int.cc: New.
7900 * wide-int.h: New.
7901 * wide-int-print.cc: New.
7902 * wide-int-print.h: New.
7903
3134fb19
JBG
79042014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7905
7906 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
7907
3bea341f
RB
79082014-05-06 Richard Biener <rguenther@suse.de>
7909
7910 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
7911 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
7912 (TODO_verify_all): Adjust.
7913 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
7914 TODO_verify_stmts and TODO_verify_rtl_sharing.
7915 * bb-reorder.c: Likewise.
7916 * cfgexpand.c: Likewise.
7917 * cprop.c: Likewise.
7918 * cse.c: Likewise.
7919 * function.c: Likewise.
7920 * fwprop.c: Likewise.
7921 * gcse.c: Likewise.
7922 * gimple-ssa-isolate-paths.c: Likewise.
7923 * gimple-ssa-strength-reduction.c: Likewise.
7924 * ipa-split.c: Likewise.
7925 * loop-init.c: Likewise.
7926 * loop-unroll.c: Likewise.
7927 * lower-subreg.c: Likewise.
7928 * modulo-sched.c: Likewise.
7929 * postreload-gcse.c: Likewise.
7930 * predict.c: Likewise.
7931 * recog.c: Likewise.
7932 * sched-rgn.c: Likewise.
7933 * store-motion.c: Likewise.
7934 * tracer.c: Likewise.
7935 * trans-mem.c: Likewise.
7936 * tree-call-cdce.c: Likewise.
7937 * tree-cfg.c: Likewise.
7938 * tree-cfgcleanup.c: Likewise.
7939 * tree-complex.c: Likewise.
7940 * tree-eh.c: Likewise.
7941 * tree-emutls.c: Likewise.
7942 * tree-if-conv.c: Likewise.
7943 * tree-into-ssa.c: Likewise.
7944 * tree-loop-distribution.c: Likewise.
7945 * tree-object-size.c: Likewise.
7946 * tree-parloops.c: Likewise.
7947 * tree-pass.h: Likewise.
7948 * tree-sra.c: Likewise.
7949 * tree-ssa-ccp.c: Likewise.
7950 * tree-ssa-copy.c: Likewise.
7951 * tree-ssa-copyrename.c: Likewise.
7952 * tree-ssa-dce.c: Likewise.
7953 * tree-ssa-dom.c: Likewise.
7954 * tree-ssa-dse.c: Likewise.
7955 * tree-ssa-forwprop.c: Likewise.
7956 * tree-ssa-ifcombine.c: Likewise.
7957 * tree-ssa-loop-ch.c: Likewise.
7958 * tree-ssa-loop-ivcanon.c: Likewise.
7959 * tree-ssa-loop.c: Likewise.
7960 * tree-ssa-math-opts.c: Likewise.
7961 * tree-ssa-phiopt.c: Likewise.
7962 * tree-ssa-phiprop.c: Likewise.
7963 * tree-ssa-pre.c: Likewise.
7964 * tree-ssa-reassoc.c: Likewise.
7965 * tree-ssa-sink.c: Likewise.
7966 * tree-ssa-strlen.c: Likewise.
7967 * tree-ssa-tail-merge.c: Likewise.
7968 * tree-ssa-uncprop.c: Likewise.
7969 * tree-switch-conversion.c: Likewise.
7970 * tree-tailcall.c: Likewise.
7971 * tree-vect-generic.c: Likewise.
7972 * tree-vectorizer.c: Likewise.
7973 * tree-vrp.c: Likewise.
7974 * tsan.c: Likewise.
7975 * var-tracking.c: Likewise.
7976 * bt-load.c: Likewise.
7977 * cfgcleanup.c: Likewise.
7978 * combine-stack-adj.c: Likewise.
7979 * combine.c: Likewise.
7980 * compare-elim.c: Likewise.
7981 * config/epiphany/resolve-sw-modes.c: Likewise.
7982 * config/i386/i386.c: Likewise.
7983 * config/mips/mips.c: Likewise.
7984 * config/s390/s390.c: Likewise.
7985 * config/sh/sh_treg_combine.cc: Likewise.
7986 * config/sparc/sparc.c: Likewise.
7987 * dce.c: Likewise.
7988 * dse.c: Likewise.
7989 * final.c: Likewise.
7990 * ifcvt.c: Likewise.
7991 * mode-switching.c: Likewise.
7992 * passes.c: Likewise.
7993 * postreload.c: Likewise.
7994 * ree.c: Likewise.
7995 * reg-stack.c: Likewise.
7996 * regcprop.c: Likewise.
7997 * regrename.c: Likewise.
7998 * web.c: Likewise.
7999
3d224d46
RB
80002014-05-06 Richard Biener <rguenther@suse.de>
8001
8002 PR middle-end/61070
8003 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
8004 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
8005
e400f081
JH
80062014-05-05 Jan Hubicka <hubicka@ucw.cz>
8007
8008 PR ipa/60965
8009 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
8010
aaeaa9a9 80112014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8012 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 8013
b6db8af6
UB
8014 * target.def (call_fusage_contains_non_callee_clobbers): New
8015 DEFHOOKPOD.
aaeaa9a9
RO
8016 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
8017 Hooks to @menu.
8018 (@node Miscellaneous Register Hooks): New node.
8019 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
8020 * doc/tm.texi: Regenerate.
8021
c2ac23fe
MP
80222014-05-05 Marek Polacek <polacek@redhat.com>
8023
8024 PR driver/61065
8025 * opts.c (common_handle_option): Call error_at instead of warning_at.
8026
0db74577
RB
80272014-05-05 Richard Biener <rguenther@suse.de>
8028
8029 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
8030 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
8031 under the TODO_verify_il umbrella.
8032
7e7f8713
RB
80332014-05-05 Richard Biener <rguenther@suse.de>
8034
8035 * passes.c (execute_function_todo): Move TODO_verify_flow under
8036 the TODO_verify_ul umbrella.
8037
7e2c9f14
RB
80382014-05-05 Richard Biener <rguenther@suse.de>
8039
8040 PR middle-end/61010
b6db8af6
UB
8041 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
8042 X & CST away from a CST that is the mask of a mode.
7e2c9f14 8043
33ecf108
JBG
80442014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8045
8046 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
8047 int argument to enum machine_mode.
8048 (picochip_class_max_nregs): Ditto.
8049 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
8050 (picochip_class_max_nregs): Ditto.
8051
d56a43a0
AK
80522014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8053
8054 * target.def: Add new target hook.
8055 * doc/tm.texi: Regenerate.
8056 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
8057 * targhooks.c (default_keep_leaf_when_profiled): New function.
8058
8059 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
8060 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
8061
cb8f1a57
BC
80622014-05-05 Bin Cheng <bin.cheng@arm.com>
8063
8064 PR tree-optimization/60363
8065 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
8066 (copy_phi_args): New parameters. Call get_value_locus_in_path.
8067 (update_destination_phis): New parameter.
8068 (create_edge_and_update_destination_phis): Ditto.
8069 (ssa_fix_duplicate_block_edges): Pass new arguments.
8070 (thread_single_edge): Ditto.
8071
f93bc5b3
PB
80722014-05-04 Peter Bergner <bergner@vnet.ibm.com>
8073
8074 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
8075 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
8076 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
8077 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
8078 Use RS6000_BTM_HARD_FLOAT.
8079 (BU_MISC_2): Likewise.
8080 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
8081 RS6000_BTM_HARD_FLOAT.
8082 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
8083 is explicitly used.
8084 (rs6000_invalid_builtin): Add hard floating builtin support.
8085 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
8086 hard float builtins.
8087 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
8088
579f4e64
OE
80892014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8090
8091 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
8092 Add missing function* argument.
8093
0be7287d
RS
80942014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
8095
8096 * lra-constraints.c (valid_address_p): Move earlier in file.
8097 Add a constraint argument to the address_info version.
8098 (satisfies_memory_constraint_p): New function.
8099 (satisfies_address_constraint_p): Likewise.
8100 (process_alt_operands, curr_insn_transform): Use them.
8101 (process_address): Pass the constraint to valid_address_p when
8102 checking address operands.
8103
ad782bc9
RS
81042014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
8105
8106 * config/mips/mips.c (mips_isa_rev): New variable.
8107 (mips_set_architecture): Set it.
8108 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
8109 from mips_isa_rev.
8110 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
8111 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
8112 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
8113 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
8114 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
8115 conditions in terms of mips_isa_rev.
8116 (mips_isa_rev): Declare.
8117
45731f37
OE
81182014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8119
8120 * config/sh/sh-mem.cc: Use tabs instead of spaces.
8121 (prob_unlikely, prob_likely): Make variables const.
8122
c61dfa63
DC
81232014-05-03 Denis Chertykov <chertykov@gmail.com>
8124
8125 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
8126
1b8da635
OE
81272014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8128
8129 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
8130
f6982a08
OE
81312014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8132
8133 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
8134 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
8135 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
8136 functions.
8137 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
8138 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
8139 sh_pass_in_reg_p.
8140 Replace usage of ROUND_REG with sh_round_reg.
8141 Use CEIL instead of ROUND_ADVANCE.
8142
0bcf70f8
OE
81432014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8144
8145 PR target/61026
8146 * config/sh/sh.c: Include stdlib headers before everything else.
8147
95782571
JJ
81482014-05-02 Jakub Jelinek <jakub@redhat.com>
8149
8150 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
8151 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
8152 (gimplify_adjust_omp_clauses): Simd region is never
8153 directly nested in combined parallel. Instead, for linear
8154 with copyin/copyout, if in combined for simd loop, make decl
8155 firstprivate/lastprivate on OMP_FOR.
8156 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
8157 expand_omp_for_static_chunk): When setting endvar, also set
8158 fd->loop.v to the same value.
8159
e13b3dfd
RS
81602014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8161
8162 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
8163
0696116a
AL
81642014-05-02 Alan Lawrence <alan.lawrence@arm.com>
8165
8166 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
8167 expression.
8168
fb90f9f3
MP
81692014-05-02 Marek Polacek <polacek@redhat.com>
8170
8171 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
8172
153df826 81732014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
8174
8175 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
8176 to a C expression marco.
8177 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
8178 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
8179 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
8180 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
8181 HONOR_REG_ALLOC_ORDER.
8182 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
8183
53c8d5a7
JBG
81842014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8185
8186 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
8187
486c559b
JBG
81882014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8189
8190 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
8191
944052b9
YR
81922014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
8193
8194 * tree-if-conv.c (is_cond_scalar_reduction): New function.
8195 (convert_scalar_cond_reduction): Likewise.
8196 (predicate_scalar_phi): Add recognition and transformation
8197 of simple conditioanl reduction to be vectorizable.
8198
d00887e8
MP
81992014-05-01 Marek Polacek <polacek@redhat.com>
8200
8201 PR c/43245
8202 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
8203
7211512a
AL
82042014-04-30 Alan Lawrence <alan.lawrence@arm.com>
8205
8206 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
8207 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
8208 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
8209 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
8210 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
8211 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
8212 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
8213 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
8214
e5bd20a4
JR
82152014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
8216
8217 * config/arc/arc.opt (mlra): Move comment above option name
8218 to avoid mis-parsing as language options.
8219
2cf03b11
RO
82202014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8221
8222 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
8223 * config/sol2.h: ... here.
8224 * config/sol2-10.h: Remove.
8225
8226 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
8227 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
8228 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
8229 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
8230 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
8231 * config/sol2.h: ... here.
8232 (SECTION_NAME_FORMAT): Don't redefine.
8233 (STARTFILE_ARCH32_SPEC): Rename to ...
8234 (STARTFILE_ARCH_SPEC): ... this.
8235 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
8236 * config/sparc/sol2.h: ... here.
8237 (SECTION_NAME_FORMAT): Don't undef.
8238 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
8239 (SUBTARGET_EXTRA_SPECS): Remove.
8240 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
8241
8242 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
8243 (MD_STARTFILE_PREFIX): Remove.
8244 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
8245 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
8246 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
8247 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
8248 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
8249 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
8250 * config/i386/sol2.h: ... here.
8251 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
8252 * config/i386/sol2-bi.h: Remove.
8253 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
8254 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
8255
8256 * config/i386/t-sol2-64: Rename to ...
8257 * config/i386/t-sol2: ... this.
8258 * config/sparc/t-sol2-64: Rename to ...
8259 * config/sparc/t-sol2: ... this.
8260
8261 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
8262 sol2_tm_file_head, sol2_tm_file_tail.
8263 Include ${cpu_type}/sol2.h before sol2.h.
8264 Remove sol2-10.h.
8265 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
8266 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
8267 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
8268 Reflect i386/t-sol2-64 renaming.
8269 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
8270 Reflect sparc/t-sol2-64 renaming.
8271
e9ff9caf
RB
82722014-04-30 Richard Biener <rguenther@suse.de>
8273
8274 * passes.c (execute_function_todo): Move TODO_verify_stmts
8275 and TODO_verify_ssa under the TODO_verify_il umbrella.
8276 * tree-ssa.h (verify_ssa): Adjust prototype.
8277 * tree-ssa.c (verify_ssa): Add parameter to tell whether
8278 we should verify SSA operands.
8279 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
8280 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
8281 whether we should verify whether not throwing stmts have EH info.
8282 * graphite-scop-detection.c (create_sese_edges): Adjust.
8283 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
8284 * tree-eh.c (lower_try_finally_switch): Do not add the
8285 default case label twice.
8286
f8ed5150
MP
82872014-04-30 Marek Polacek <polacek@redhat.com>
8288
8289 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
8290 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
8291 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
8292 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
8293
7cb0403f
AL
82942014-04-29 Alan Lawrence <alan.lawrence@arm.com>
8295
8296 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
8297 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
8298 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
8299 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
8300 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
8301 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
8302 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
8303 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
8304
3979649a
DM
83052014-04-29 David Malcolm <dmalcolm@redhat.com>
8306
8307 * tree-cfg.c (dump_function_to_file): Dump the return type of
8308 functions, in a line to itself before the function body, mimicking
8309 the layout of a C function.
8310
62fb101e
JJ
83112014-04-29 Jakub Jelinek <jakub@redhat.com>
8312
8313 PR tree-optimization/60971
8314 * tree-tailcall.c (process_assignment): Reject conversions which
8315 reduce precision.
8316
3d9684ae
JG
83172014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
8318
8319 * calls.c (initialize_argument_information): Always treat
8320 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
8321 (expand_call): Likewise.
8322 (emit_library_call_calue_1): Likewise.
8323 * expr.c (PUSH_ARGS_REVERSED): Do not define.
8324 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
8325 code accordingly.
8326
d77f7b19
NC
83272014-04-29 Nick Clifton <nickc@redhat.com>
8328
8329 * config/msp430/msp430.md (umulsidi): Fix typo.
8330 (mulhisi3): Enable even inside interrupt handlers.
8331 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
8332 bigger return address pushed in large mode.
8333
f8d91e80
NC
83342014-04-29 Nick Clifton <nickc@redhat.com>
8335
8336 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
8337 (arc_init_reg_tables): Use a machine_mode enum to iterate over
8338 available modes.
8339 * config/m32r/m32r.c (init_reg_tables): Likewise.
8340 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
8341 enum to hold the modes.
8342
e3f613cb
RB
83432014-04-29 Richard Biener <rguenther@suse.de>
8344
8345 * dominance.c (free_dominance_info): Add overload with
8346 function parameter.
8347 (dom_info_state): Likewise.
8348 (dom_info_available_p): Likewise.
8349 * basic-block.h (free_dominance_info, dom_info_state,
8350 dom_info_available_p): Declare overloads.
8351 * passes.c (execute_function_todo): Verify that verifiers
8352 don't change dominator info state. Drop dominator info
8353 for IPA pass invocations.
8354 * cgraph.c (release_function_body): Restore asserts that
8355 dominator information is released.
8356
36f291f7
PP
83572014-04-29 Patrick Palka <patrick@parcs.ath.cx>
8358
8359 * doc/invoke.texi: Fix typo.
8360 * tree-vrp.c: Fix typos.
b6db8af6 8361 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 8362
d3a3182b
ZC
83632014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8364
8365 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
8366
ba081b77
JG
83672014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
8368
8369 * config/aarch64/aarch64-builtins.c
8370 (aarch64_types_storestruct_lane_qualifiers): New.
8371 (TYPES_STORESTRUCT_LANE): Likewise.
8372 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
8373 (st3_lane): Likewise.
8374 (st4_lane): Likewise.
8375 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
8376 (vec_store_lanesci_lane<mode>): Likewise.
8377 (vec_store_lanesxi_lane<mode>): Likewise.
8378 (aarch64_st2_lane<VQ:mode>): Likewise.
8379 (aarch64_st3_lane<VQ:mode>): Likewise.
8380 (aarch64_st4_lane<VQ:mode>): Likewise.
8381 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
8382 * config/aarch64/arm_neon.h
8383 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
8384 use new macro arguments.
8385 (__ST3_LANE_FUNC): Likewise.
8386 (__ST4_LANE_FUNC): Likewise.
8387 * config/aarch64/iterators.md (V_TWO_ELEM): New.
8388 (V_THREE_ELEM): Likewise.
8389 (V_FOUR_ELEM): Likewise.
8390
1bc6d43c
DM
83912014-04-28 David Malcolm <dmalcolm@redhat.com>
8392
8393 * doc/gimple.texi: Replace the description of the now-defunct
8394 union gimple_statement_d with a diagram showing the
8395 gimple_statement_base class hierarchy and its relationships to
8396 the GSS_ and GIMPLE_ enums.
8397
97e1ad78
JG
83982014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
8399
8400 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
8401 * config/aarch64/aarch64.c
8402 (aarch64_cannot_change_mode_class): Weaken conditions.
8403 (aarch64_modes_tieable_p): New.
8404 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
8405
bf245bf4
PH
84062014-04-28 Pat Haugen <pthaugen@us.ibm.com>
8407
8408 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
8409 (loadsync_<mode>): Change mode.
8410 (load_quadpti, store_quadpti): New.
8411 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
8412 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
8413
28151221
MJ
84142014-04-28 Martin Jambor <mjambor@suse.cz>
8415
8416 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
8417 same alias type as the original statement.
8418 (subreplacement_assignment_data): New type.
8419 (handle_unscalarized_data_in_subtree): New type of parameter,
8420 generate new memory accesses with same alias type as the original
8421 statement.
8422 (load_assign_lhs_subreplacements): Likewise.
8423 (sra_modify_constructor_assign): Generate new memory accesses with
8424 same alias type as the original statement.
8425
9ba5fb43
RB
84262014-04-28 Richard Biener <rguenther@suse.de>
8427
8428 * tree-pass.h (TODO_verify_il): Define.
8429 (TODO_verify_all): Complete properly.
8430 * passes.c (execute_function_todo): Move existing loop-closed
8431 SSA verification under TODO_verify_il.
8432 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
8433 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
8434 Fix tree sharing issue.
8435
22869a37
RB
84362014-04-28 Richard Biener <rguenther@suse.de>
8437
8438 PR middle-end/60092
8439 * builtins.def (DEF_C11_BUILTIN): Add.
8440 (BUILT_IN_ALIGNED_ALLOC): Likewise.
8441 * coretypes.h (enum function_class): Add function_c11_misc.
8442 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
8443 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
8444 (call_may_clobber_ref_p_1): Likewise.
8445 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
8446 (mark_all_reaching_defs_necessary_1): Likewise.
8447 (propagate_necessity): Likewise.
8448 (eliminate_unnecessary_stmts): Likewise.
8449 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
8450
771c9501
RB
84512014-04-28 Richard Biener <rguenther@suse.de>
8452
8453 * tree-vrp.c (vrp_var_may_overflow): Remove.
8454 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
8455 with overflow immediately bump to one before that value and
8456 let iteration figure out overflow status.
8457
279a935f
RB
84582014-04-28 Richard Biener <rguenther@suse.de>
8459
8460 * configure.ac: Do valgrind header checks unconditionally.
8461 Add --enable-valgrind-annotations.
8462 * system.h: Guard valgrind header inclusion with
8463 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
8464 * alloc-pool.c (pool_alloc, pool_free): Use
8465 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
8466 to guard possibly dead code.
8467 * config.in: Regenerated.
8468 * configure: Likewise.
8469
07357f2f
JL
84702014-04-28 Jeff Law <law@redhat.com>
8471
8472 PR tree-optimization/60902
8473 * tree-ssa-threadedge.c
8474 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
8475 over real defs when invalidating outputs from statements that do not
8476 produce useful outputs for threading.
8477
6c6aa8e6
RB
84782014-04-28 Richard Biener <rguenther@suse.de>
8479
8480 PR tree-optimization/60979
8481 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
8482 SCOPs that end in a block with a successor with abnormal
8483 predecessors.
8484
2cbf2d95
RB
84852014-04-28 Richard Biener <rguenther@suse.de>
8486
8487 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 8488 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
8489 (do_per_function): Change callback signature, push all actual
8490 work to the callbals.
8491 (do_per_function_toporder): Likewise.
8492 (execute_function_dump): Adjust.
8493 (execute_function_todo): Likewise.
8494 (clear_last_verified): Likewise.
8495 (verify_curr_properties): Likewise.
8496 (update_properties_after_pass): Likewise.
8497 (execute_pass_list_1): Split out from ...
8498 (execute_pass_list): ... here. Adjust.
8499 (execute_ipa_pass_list): Likewise.
8500 * cgraphunit.c (cgraph_add_new_function): Adjust.
8501 (analyze_function): Likewise.
8502 (expand_function): Likewise.
8503 * cgraph.c (release_function_body): Free dominance info
8504 here instead of asserting it was magically freed elsewhere.
8505
ba21a04a
EB
85062014-04-28 Eric Botcazou <ebotcazou@adacore.com>
8507
8508 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
8509 * configure: Regenerate.
8510 * config/sparc/sparc.opt (muser-mode): New option.
8511 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
8512 for LEON3.
8513 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
8514 * doc/invoke.texi (SPARC options): Document -muser-mode.
8515
f956adb9
RS
85162014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
8517
8518 * cselib.c (find_slot_memmode): Delete.
8519 (cselib_hasher): Change compare_type to a struct.
8520 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
8521 constants.
8522 (preserve_constants_and_equivs): Adjust for new compare_type.
8523 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
8524 (wrap_constant): Delete.
8525 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
8526
167c3e96
MT
85272014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
8528
8529 * doc/install.texi (Building with profile feedback): Remove
8530 outdated sentence.
8531
4148ef5f
TV
85322014-04-26 Tom de Vries <tom@codesourcery.com>
8533
8534 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
8535 array accesses.
8536
8d8ffd86
CC
85372014-04-25 Cary Coutant <ccoutant@google.com>
8538
b6db8af6 8539 PR debug/60929
8d8ffd86 8540 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
8541 can contain a subprogram definition, but don't move it to a
8542 comdat unit.
8d8ffd86 8543 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
8544 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
8545 from original DIE.
8d8ffd86
CC
8546 (clone_tree_hash): Rename to...
8547 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 8548 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 8549 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 8550 type unit.
8d8ffd86 8551
255671b0
L
85522014-04-25 H.J. Lu <hongjiu.lu@intel.com>
8553
8554 PR target/60969
8555 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
8556 alternative 12.
8557
10432733
JW
85582014-04-25 Jiong Wang <jiong.wang@arm.com>
8559
8560 * config/arm/predicates.md (call_insn_operand): Add long_call check.
8561 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
8562 reg for long_call.
8563 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
8564 restriction.
8565
0e4c913f
KT
85662014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8567
b6db8af6 8568 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 8569
61ba7329
BS
85702014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8571
8572 PR tree-optimization/60930
8573 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
8574 creating a multiply candidate by folding two constant
8575 multiplicands when the result overflows.
8576
2b332829
JJ
85772014-04-25 Jakub Jelinek <jakub@redhat.com>
8578
8579 PR tree-optimization/60960
8580 * tree-vect-generic.c (expand_vector_operation): Only call
8581 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
8582
97891c11
TV
85832014-04-25 Tom de Vries <tom@codesourcery.com>
8584
8585 * expr.c (clobber_reg_mode): New function.
8586 * expr.h (clobber_reg): New function.
8587
3ee634fd
TV
85882014-04-25 Tom de Vries <tom@codesourcery.com>
8589
8590 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
8591 clobbers.
8592
356bf593 85932014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8594 Tom de Vries <tom@codesourcery.com>
356bf593
RO
8595
8596 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
8597 handle.
8598 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
8599 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
8600 new argument to find_all_hard_reg_sets call.
8601
fe65a7ed
KT
86022014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8603
8604 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
8605 Use HOST_WIDE_INT_C for mask literal.
8606 (aarch_rev16_shleft_mask_imm_p): Likewise.
8607
b357d40d
EB
86082014-04-25 Eric Botcazou <ebotcazou@adacore.com>
8609
8610 PR target/60941
8611 * config/sparc/sparc.md (ashlsi3_extend): Delete.
8612
30c0a59a
MG
86132014-04-25 Marc Glisse <marc.glisse@inria.fr>
8614
8615 PR preprocessor/56540
8616 * config/i386/i386-c.c (ix86_target_macros): Define
8617 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
8618
c02f59e2
RO
86192014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8620
8621 * configure.ac (tga_func): Remove.
8622 (LIB_TLS_SPEC): Remove.
8623 * configure: Regenerate.
8624 * config.in: Regenerate.
8625 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
8626
92b3326b
RB
86272014-04-25 Richard Biener <rguenther@suse.de>
8628
8629 PR ipa/60912
8630 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
8631 call stmt use/clobber sets during stmt walk instead of
8632 walking the possibly incomplete set of caller edges.
8633
78422fb1
RB
86342014-04-25 Richard Biener <rguenther@suse.de>
8635
8636 PR ipa/60911
8637 * passes.c (apply_ipa_transforms): Inline into only caller ...
8638 (execute_one_pass): ... here. Properly bring in function
8639 bodies for nodes we want to apply IPA transforms to.
8640
56f8faae
CH
86412014-04-24 Cong Hou <congh@google.com>
8642
8643 PR tree-optimization/60896
8644 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
8645 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
8646 (vect_mark_pattern_stmts): Set the def type of all statements in
8647 PATTERN_DEF_SEQ as vect_internal_def.
8648
06b39289
MM
86492014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
8650
8651 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 8652 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
8653 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
8654
8655 * config/rs6000/predicates.md (const_0_to_3_operand): New
8656 predicate to match 0..3 integer constants.
8657
8658 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
8659 to support adding miscellaneous builtin functions.
8660 (BU_DFP_MISC_2): Likewise.
8661 (BU_P7_MISC_1): Likewise.
8662 (BU_P7_MISC_2): Likewise.
8663 (BU_P8V_MISC_3): Likewise.
8664 (BU_MISC_1): Likewise.
8665 (BU_MISC_2): Likewise.
8666 (DIVWE): Add extended divide builtin functions.
8667 (DIVWEO): Likewise.
8668 (DIVWEU): Likewise.
8669 (DIVWEUO): Likewise.
8670 (DIVDE): Likewise.
8671 (DIVDEO): Likewise.
8672 (DIVDEU): Likewise.
8673 (DIVDEUO): Likewise.
8674 (DXEX): Add decimal floating-point builtin functions.
8675 (DXEXQ): Likewise.
8676 (DDEDPD): Likewise.
8677 (DDEDPDQ): Likewise.
8678 (DENBCD): Likewise.
8679 (DENBCDQ): Likewise.
8680 (DIEX): Likewise.
8681 (DIEXQ): Likewise.
8682 (DSCLI): Likewise.
8683 (DSCLIQ): Likewise.
8684 (DSCRI): Likewise.
8685 (DSCRIQ): Likewise.
8686 (CDTBCD): Add new BCD builtin functions.
8687 (CBCDTD): Likewise.
8688 (ADDG6S): Likewise.
8689 (BCDADD): Likewise.
8690 (BCDADD_LT): Likewise.
8691 (BCDADD_EQ): Likewise.
8692 (BCDADD_GT): Likewise.
8693 (BCDADD_OV): Likewise.
8694 (BCDSUB): Likewise.
8695 (BCDSUB_LT): Likewise.
8696 (BCDSUB_EQ): Likewise.
8697 (BCDSUB_GT): Likewise.
8698 (BCDSUB_OV): Likewise.
8699 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
8700 (UNPACK_TD): Likewise.
8701 (PACK_TF): Likewise.
8702 (UNPACK_TF): Likewise.
8703 (UNPACK_TF_0): Likewise.
8704 (UNPACK_TF_1): Likewise.
8705 (PACK_V1TI): Likewise.
8706 (UNPACK_V1TI): Likewise.
8707
8708 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
8709 support for decimal floating point builtin functions.
8710 (rs6000_expand_ternop_builtin): Add checks for the new builtin
8711 functions that take constant arguments.
b6db8af6 8712 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
8713 (rs6000_init_builtins): Setup long double, _Decimal64, and
8714 _Decimal128 types for new builtin functions.
8715 (builtin_function_type): Set the unsigned flags appropriately for
8716 the new builtin functions.
8717 (rs6000_opt_masks): Add support for decimal floating point builtin
8718 functions.
8719
8720 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
8721 floating point builtin functions.
8722 (RS6000_BTM_COMMON): Likewise.
8723 (RS6000_BTI_long_double): Likewise.
8724 (RS6000_BTI_dfloat64): Likewise.
8725 (RS6000_BTI_dfloat128): Likewise.
8726 (long_double_type_internal_node): Likewise.
8727 (dfloat64_type_internal_node): Likewise.
8728 (dfloat128_type_internal_node): Likewise.
8729
8730 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
8731 2.07 bcd arithmetic instructions.
8732 (UNSPEC_BCDSUB): Likewise.
8733 (UNSPEC_BCD_OVERFLOW): Likewise.
8734 (UNSPEC_BCD_ADD_SUB): Likewise.
8735 (bcd_add_sub): Likewise.
8736 (BCD_TEST): Likewise.
8737 (bcd<bcd_add_sub>): Likewise.
8738 (bcd<bcd_add_sub>_test): Likewise.
8739 (bcd<bcd_add_sub>_test2): Likewise.
8740 (bcd<bcd_add_sub>_<code>): Likewise.
8741 (peephole2 for combined bcd ops): Likewise.
8742
8743 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
8744 decimal floating point builtin functions.
8745 (UNSPEC_DENBCD): Likewise.
8746 (UNSPEC_DXEX): Likewise.
8747 (UNSPEC_DIEX): Likewise.
8748 (UNSPEC_DSCLI): Likewise.
8749 (UNSPEC_DSCRI): Likewise.
8750 (D64_D128): Likewise.
8751 (dfp_suffix): Likewise.
8752 (dfp_ddedpd_<mode>): Likewise.
8753 (dfp_denbcd_<mode>): Likewise.
8754 (dfp_dxex_<mode>): Likewise.
8755 (dfp_diex_<mode>): Likewise.
8756 (dfp_dscli_<mode>): Likewise.
8757 (dfp_dscri_<mode>): Likewise.
8758
8759 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
8760 builtin functions.
8761 (UNSPEC_CDTBCD): Likewise.
8762 (UNSPEC_CBCDTD): Likewise.
b6db8af6 8763 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
8764 (UNSPEC_DIVEO): Likewise.
8765 (UNSPEC_DIVEU): Likewise.
8766 (UNSPEC_DIVEUO): Likewise.
8767 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
8768 pack/unpack 128-bit types.
8769 (UNSPEC_PACK_128BIT): Likewise.
8770 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
8771 (udiv<mode>3): Use idiv_ldiv mode attribute.
8772 (div<mode>3): Likewise.
8773 (addg6s): Add new BCD builtin functions.
8774 (cdtbcd): Likewise.
8775 (cbcdtd): Likewise.
b6db8af6 8776 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
8777 (div_extend): Likewise.
8778 (div<div_extend>_<mode>"): Likewise.
8779 (FP128_64): Add support for new builtin functions to pack/unpack
8780 128-bit types.
8781 (unpack<mode>): Likewise.
8782 (unpacktf_0): Likewise.
8783 (unpacktf_1): Likewise.
8784 (unpack<mode>_dm): Likewise.
8785 (unpack<mode>_nodm): Likewise.
8786 (pack<mode>): Likewise.
8787 (unpackv1ti): Likewise.
8788 (packv1ti): Likewise.
8789
6e4f81db
V
87902014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
8791
8792 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
8793 is disabled.
8794
f7468577
JJ
87952014-04-24 Jakub Jelinek <jakub@redhat.com>
8796
8797 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
8798 * gimplify.c (omp_is_private): Change last argument's type to int.
8799 Only diagnose lastprivate if the simd argument is 1, only diagnose
8800 linear if the simd argument is 2.
8801 (gimplify_omp_for): Adjust omp_is_private callers. When adding
8802 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
8803 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
8804 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
8805 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
8806 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
8807 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
8808 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
8809 * tree-nested.c (convert_nonlocal_omp_clauses,
8810 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
8811
2f7ac5ce
JL
88122014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
8813
8814 PR target/60822
8815 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
8816 operand 1.
8817
dcaaa5a0
DP
88182014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
8819
8820 * flag-types.h (enum ivar_visibility): Add.
8821
78c7d18e
TS
88222014-04-24 Trevor Saunders <tsaunders@mozilla.com>
8823
8824 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
8825 function * argument.
8826
fbbde65e
AL
88272014-04-24 Alan Lawrence <alan.lawrence@arm.com>
8828
8829 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
8830
4f660b15 88312014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8832 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
8833
8834 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
8835 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
8836 reg-note.
8837 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
8838 * emit-rtl.c (try_split): Same.
8839
d996e61a 88402014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8841 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
8842
8843 * common.opt (fuse-caller-save): New option.
8844
bbcc9c00
TB
88452014-04-24 Tejas Belagod <tejas.belagod@arm.com>
8846
b6db8af6
UB
8847 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
8848 elements for big-endian.
bbcc9c00 8849
d2d11532
RB
88502014-04-24 Richard Biener <rguenther@suse.de>
8851
8852 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
8853 during TER and instead use the sepops interface for expanding
8854 non-GIMPLE_SINGLE_RHS.
8855
8117ef98
RO
88562014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8857
8858 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
8859 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
8860
ab0afae3
RO
88612014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8862
8863 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
8864 assembler 64-bit option.
8865 * configure: Regenerate.
8866
683e3333
KT
88672014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8868
8869 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
8870 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
8871 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
8872 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
8873 (TARGET_CRYPTO): Take TARGET_SIMD into account.
8874
c7f28cd5
KT
88752014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8876
8877 * config/aarch64/aarch64-builtins.c
8878 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
8879 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
8880 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
8881 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
8882 builtins.
8883 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
8884 (Vrevsuff): New mode attribute.
8885
b0419491
TG
88862014-04-24 Terry Guo <terry.guo@arm.com>
8887
8888 * config/arm/arm.h (machine_function): Define variable
8889 after_arm_reorg here.
8890 * config/arm/arm.c (after_arm_reorg): Remove the definition.
8891 (arm_split_constant): Update the way to access variable
8892 after_arm_reorg.
8893 (arm_reorg): Ditto.
8894 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
8895
74e4d71a
TV
88962014-04-23 Tom de Vries <tom@codesourcery.com>
8897
8898 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
8899
7de90a6c
DM
89002014-04-23 David Malcolm <dmalcolm@redhat.com>
8901
8902 * is-a.h: Update comments to reflect the following changes to the
8903 "pointerness" of the API, making the template parameter match the
8904 return type, allowing use of is-a.h with typedefs of pointers.
8905 (is_a_helper::cast): Return a T rather then a pointer to a T, so
8906 that the return type matches the parameter to the is_a_helper.
8907 (as_a): Likewise.
8908 (dyn_cast): Likewise.
8909
8910 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
8911 pointer from the is-a.h API.
8912
8913 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
8914 (is_a_helper <cgraph_node *>::test): ...this, matching change to
8915 is-a.h API.
8916 (is_a_helper <varpool_node>::test): Likewise, convert to...
8917 (is_a_helper <varpool_node *>::test): ...this.
8918
8919 (varpool_first_variable): Update for removal of implicit pointer
8920 from the is-a.h API.
8921 (varpool_next_variable): Likewise.
8922 (varpool_first_static_initializer): Likewise.
8923 (varpool_next_static_initializer): Likewise.
8924 (varpool_first_defined_variable): Likewise.
8925 (varpool_next_defined_variable): Likewise.
8926 (cgraph_first_defined_function): Likewise.
8927 (cgraph_next_defined_function): Likewise.
8928 (cgraph_first_function): Likewise.
8929 (cgraph_next_function): Likewise.
8930 (cgraph_first_function_with_gimple_body): Likewise.
8931 (cgraph_next_function_with_gimple_body): Likewise.
8932 (cgraph_alias_target): Likewise.
8933 (varpool_alias_target): Likewise.
8934 (cgraph_function_or_thunk_node): Likewise.
8935 (varpool_variable_node): Likewise.
8936 (symtab_real_symbol_p): Likewise.
8937 * cgraphunit.c (referred_to_p): Likewise.
8938 (analyze_functions): Likewise.
8939 (handle_alias_pairs): Likewise.
8940 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
8941 * gimple-ssa.h (gimple_vuse_op): Likewise.
8942 (gimple_vdef_op): Likewise.
8943 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
8944 * gimple.c (gimple_build_asm_1): Likewise.
8945 (gimple_build_try): Likewise.
8946 (gimple_build_resx): Likewise.
8947 (gimple_build_eh_dispatch): Likewise.
8948 (gimple_build_omp_for): Likewise.
8949 (gimple_omp_for_set_clauses): Likewise.
8950
8951 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
8952 (is_a_helper <gimple_statement_asm *>::test): ...this.
8953 (is_a_helper <gimple_statement_bind>::test): Convert to...
8954 (is_a_helper <gimple_statement_bind *>::test): ...this.
8955 (is_a_helper <gimple_statement_call>::test): Convert to...
8956 (is_a_helper <gimple_statement_call *>::test): ...this.
8957 (is_a_helper <gimple_statement_catch>::test): Convert to...
8958 (is_a_helper <gimple_statement_catch *>::test): ...this.
8959 (is_a_helper <gimple_statement_resx>::test): Convert to...
8960 (is_a_helper <gimple_statement_resx *>::test): ...this.
8961 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
8962 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
8963 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
8964 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
8965 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
8966 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
8967 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
8968 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
8969 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
8970 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
8971 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
8972 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
8973 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
8974 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
8975 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
8976 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
8977 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
8978 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
8979 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
8980 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
8981 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
8982 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
8983 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
8984 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
8985 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
8986 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
8987 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
8988 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
8989 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
8990 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
8991 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
8992 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
8993 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
8994 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
8995 (is_a_helper <gimple_statement_phi>::test): Convert to...
8996 (is_a_helper <gimple_statement_phi *>::test): ...this.
8997 (is_a_helper <gimple_statement_transaction>::test): Convert to...
8998 (is_a_helper <gimple_statement_transaction *>::test): ...this.
8999 (is_a_helper <gimple_statement_try>::test): Convert to...
9000 (is_a_helper <gimple_statement_try *>::test): ...this.
9001 (is_a_helper <gimple_statement_wce>::test): Convert to...
9002 (is_a_helper <gimple_statement_wce *>::test): ...this.
9003 (is_a_helper <const gimple_statement_asm>::test): Convert to...
9004 (is_a_helper <const gimple_statement_asm *>::test): ...this.
9005 (is_a_helper <const gimple_statement_bind>::test): Convert to...
9006 (is_a_helper <const gimple_statement_bind *>::test): ...this.
9007 (is_a_helper <const gimple_statement_call>::test): Convert to...
9008 (is_a_helper <const gimple_statement_call *>::test): ...this.
9009 (is_a_helper <const gimple_statement_catch>::test): Convert to...
9010 (is_a_helper <const gimple_statement_catch *>::test): ...this.
9011 (is_a_helper <const gimple_statement_resx>::test): Convert to...
9012 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
9013 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
9014 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
9015 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
9016 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
9017 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
9018 Convert to...
9019 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
9020 ...this.
9021 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
9022 Convert to...
9023 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
9024 ...this.
b6db8af6 9025 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
9026 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
9027 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
9028 to...
9029 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
9030 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
9031 to...
9032 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
9033 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
9034 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 9035 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
9036 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
9037 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
9038 to...
9039 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 9040 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
9041 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
9042 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
9043 to...
9044 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 9045 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 9046 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 9047 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 9048 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 9049 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
9050 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
9051 (is_a_helper <const gimple_statement_phi>::test): Convert to...
9052 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 9053 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 9054 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 9055 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
9056 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
9057 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
9058 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
9059 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
9060 to...
7de90a6c
DM
9061 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
9062 ...this.
b6db8af6 9063 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
9064 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
9065
9066 (gimple_use_ops): Update for removal of implicit pointer from the
9067 is-a.h API.
9068 (gimple_set_use_ops): Likewise.
9069 (gimple_vuse): Likewise.
9070 (gimple_vdef): Likewise.
9071 (gimple_vuse_ptr): Likewise.
9072 (gimple_vdef_ptr): Likewise.
9073 (gimple_set_vuse): Likewise.
9074 (gimple_set_vdef): Likewise.
9075 (gimple_omp_return_set_lhs): Likewise.
9076 (gimple_omp_return_lhs): Likewise.
9077 (gimple_omp_return_lhs_ptr): Likewise.
9078 (gimple_call_fntype): Likewise.
9079 (gimple_call_set_fntype): Likewise.
9080 (gimple_call_set_internal_fn): Likewise.
9081 (gimple_call_use_set): Likewise.
9082 (gimple_call_clobber_set): Likewise.
9083 (gimple_bind_vars): Likewise.
9084 (gimple_bind_set_vars): Likewise.
9085 (gimple_bind_body_ptr): Likewise.
9086 (gimple_bind_set_body): Likewise.
9087 (gimple_bind_add_stmt): Likewise.
9088 (gimple_bind_block): Likewise.
9089 (gimple_bind_set_block): Likewise.
9090 (gimple_asm_ninputs): Likewise.
9091 (gimple_asm_noutputs): Likewise.
9092 (gimple_asm_nclobbers): Likewise.
9093 (gimple_asm_nlabels): Likewise.
9094 (gimple_asm_input_op): Likewise.
9095 (gimple_asm_input_op_ptr): Likewise.
9096 (gimple_asm_output_op): Likewise.
9097 (gimple_asm_output_op_ptr): Likewise.
9098 (gimple_asm_set_output_op): Likewise.
9099 (gimple_asm_clobber_op): Likewise.
9100 (gimple_asm_set_clobber_op): Likewise.
9101 (gimple_asm_label_op): Likewise.
9102 (gimple_asm_set_label_op): Likewise.
9103 (gimple_asm_string): Likewise.
9104 (gimple_catch_types): Likewise.
9105 (gimple_catch_types_ptr): Likewise.
9106 (gimple_catch_handler_ptr): Likewise.
9107 (gimple_catch_set_types): Likewise.
9108 (gimple_catch_set_handler): Likewise.
9109 (gimple_eh_filter_types): Likewise.
9110 (gimple_eh_filter_types_ptr): Likewise.
9111 (gimple_eh_filter_failure_ptr): Likewise.
9112 (gimple_eh_filter_set_types): Likewise.
9113 (gimple_eh_filter_set_failure): Likewise.
9114 (gimple_eh_must_not_throw_fndecl): Likewise.
9115 (gimple_eh_must_not_throw_set_fndecl): Likewise.
9116 (gimple_eh_else_n_body_ptr): Likewise.
9117 (gimple_eh_else_e_body_ptr): Likewise.
9118 (gimple_eh_else_set_n_body): Likewise.
9119 (gimple_eh_else_set_e_body): Likewise.
9120 (gimple_try_eval_ptr): Likewise.
9121 (gimple_try_cleanup_ptr): Likewise.
9122 (gimple_try_set_eval): Likewise.
9123 (gimple_try_set_cleanup): Likewise.
9124 (gimple_wce_cleanup_ptr): Likewise.
9125 (gimple_wce_set_cleanup): Likewise.
9126 (gimple_phi_capacity): Likewise.
9127 (gimple_phi_num_args): Likewise.
9128 (gimple_phi_result): Likewise.
9129 (gimple_phi_result_ptr): Likewise.
9130 (gimple_phi_set_result): Likewise.
9131 (gimple_phi_arg): Likewise.
9132 (gimple_phi_set_arg): Likewise.
9133 (gimple_resx_region): Likewise.
9134 (gimple_resx_set_region): Likewise.
9135 (gimple_eh_dispatch_region): Likewise.
9136 (gimple_eh_dispatch_set_region): Likewise.
9137 (gimple_omp_critical_name): Likewise.
9138 (gimple_omp_critical_name_ptr): Likewise.
9139 (gimple_omp_critical_set_name): Likewise.
9140 (gimple_omp_for_clauses): Likewise.
9141 (gimple_omp_for_clauses_ptr): Likewise.
9142 (gimple_omp_for_set_clauses): Likewise.
9143 (gimple_omp_for_collapse): Likewise.
9144 (gimple_omp_for_index): Likewise.
9145 (gimple_omp_for_index_ptr): Likewise.
9146 (gimple_omp_for_set_index): Likewise.
9147 (gimple_omp_for_initial): Likewise.
9148 (gimple_omp_for_initial_ptr): Likewise.
9149 (gimple_omp_for_set_initial): Likewise.
9150 (gimple_omp_for_final): Likewise.
9151 (gimple_omp_for_final_ptr): Likewise.
9152 (gimple_omp_for_set_final): Likewise.
9153 (gimple_omp_for_incr): Likewise.
9154 (gimple_omp_for_incr_ptr): Likewise.
9155 (gimple_omp_for_set_incr): Likewise.
9156 (gimple_omp_for_pre_body_ptr): Likewise.
9157 (gimple_omp_for_set_pre_body): Likewise.
9158 (gimple_omp_parallel_clauses): Likewise.
9159 (gimple_omp_parallel_clauses_ptr): Likewise.
9160 (gimple_omp_parallel_set_clauses): Likewise.
9161 (gimple_omp_parallel_child_fn): Likewise.
9162 (gimple_omp_parallel_child_fn_ptr): Likewise.
9163 (gimple_omp_parallel_set_child_fn): Likewise.
9164 (gimple_omp_parallel_data_arg): Likewise.
9165 (gimple_omp_parallel_data_arg_ptr): Likewise.
9166 (gimple_omp_parallel_set_data_arg): Likewise.
9167 (gimple_omp_task_clauses): Likewise.
9168 (gimple_omp_task_clauses_ptr): Likewise.
9169 (gimple_omp_task_set_clauses): Likewise.
9170 (gimple_omp_task_child_fn): Likewise.
9171 (gimple_omp_task_child_fn_ptr): Likewise.
9172 (gimple_omp_task_set_child_fn): Likewise.
9173 (gimple_omp_task_data_arg): Likewise.
9174 (gimple_omp_task_data_arg_ptr): Likewise.
9175 (gimple_omp_task_set_data_arg): Likewise.
9176 (gimple_omp_taskreg_clauses): Likewise.
9177 (gimple_omp_taskreg_clauses_ptr): Likewise.
9178 (gimple_omp_taskreg_set_clauses): Likewise.
9179 (gimple_omp_taskreg_child_fn): Likewise.
9180 (gimple_omp_taskreg_child_fn_ptr): Likewise.
9181 (gimple_omp_taskreg_set_child_fn): Likewise.
9182 (gimple_omp_taskreg_data_arg): Likewise.
9183 (gimple_omp_taskreg_data_arg_ptr): Likewise.
9184 (gimple_omp_taskreg_set_data_arg): Likewise.
9185 (gimple_omp_task_copy_fn): Likewise.
9186 (gimple_omp_task_copy_fn_ptr): Likewise.
9187 (gimple_omp_task_set_copy_fn): Likewise.
9188 (gimple_omp_task_arg_size): Likewise.
9189 (gimple_omp_task_arg_size_ptr): Likewise.
9190 (gimple_omp_task_set_arg_size): Likewise.
9191 (gimple_omp_task_arg_align): Likewise.
9192 (gimple_omp_task_arg_align_ptr): Likewise.
9193 (gimple_omp_task_set_arg_align): Likewise.
9194 (gimple_omp_single_clauses): Likewise.
9195 (gimple_omp_single_clauses_ptr): Likewise.
9196 (gimple_omp_single_set_clauses): Likewise.
9197 (gimple_omp_target_clauses): Likewise.
9198 (gimple_omp_target_clauses_ptr): Likewise.
9199 (gimple_omp_target_set_clauses): Likewise.
9200 (gimple_omp_target_child_fn): Likewise.
9201 (gimple_omp_target_child_fn_ptr): Likewise.
9202 (gimple_omp_target_set_child_fn): Likewise.
9203 (gimple_omp_target_data_arg): Likewise.
9204 (gimple_omp_target_data_arg_ptr): Likewise.
9205 (gimple_omp_target_set_data_arg): Likewise.
9206 (gimple_omp_teams_clauses): Likewise.
9207 (gimple_omp_teams_clauses_ptr): Likewise.
9208 (gimple_omp_teams_set_clauses): Likewise.
9209 (gimple_omp_sections_clauses): Likewise.
9210 (gimple_omp_sections_clauses_ptr): Likewise.
9211 (gimple_omp_sections_set_clauses): Likewise.
9212 (gimple_omp_sections_control): Likewise.
9213 (gimple_omp_sections_control_ptr): Likewise.
9214 (gimple_omp_sections_set_control): Likewise.
9215 (gimple_omp_for_set_cond): Likewise.
9216 (gimple_omp_for_cond): Likewise.
9217 (gimple_omp_atomic_store_set_val): Likewise.
9218 (gimple_omp_atomic_store_val): Likewise.
9219 (gimple_omp_atomic_store_val_ptr): Likewise.
9220 (gimple_omp_atomic_load_set_lhs): Likewise.
9221 (gimple_omp_atomic_load_lhs): Likewise.
9222 (gimple_omp_atomic_load_lhs_ptr): Likewise.
9223 (gimple_omp_atomic_load_set_rhs): Likewise.
9224 (gimple_omp_atomic_load_rhs): Likewise.
9225 (gimple_omp_atomic_load_rhs_ptr): Likewise.
9226 (gimple_omp_continue_control_def): Likewise.
9227 (gimple_omp_continue_control_def_ptr): Likewise.
9228 (gimple_omp_continue_set_control_def): Likewise.
9229 (gimple_omp_continue_control_use): Likewise.
9230 (gimple_omp_continue_control_use_ptr): Likewise.
9231 (gimple_omp_continue_set_control_use): Likewise.
9232 (gimple_transaction_body_ptr): Likewise.
9233 (gimple_transaction_label): Likewise.
9234 (gimple_transaction_label_ptr): Likewise.
9235 (gimple_transaction_set_body): Likewise.
9236 (gimple_transaction_set_label): Likewise.
9237
9238 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
9239 * ipa-inline-analysis.c (inline_write_summary): Likewise.
9240 * ipa-ref.c (ipa_record_reference): Likewise.
9241 * ipa-reference.c (analyze_function): Likewise.
9242 (ipa_reference_write_optimization_summary): Likewise.
9243 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
9244 (address_taken_from_non_vtable_p): Likewise.
9245 (comdat_can_be_unshared_p_1): Likewise.
9246 * lto-cgraph.c (lto_output_ref): Likewise.
9247 (add_references): Likewise.
9248 (compute_ltrans_boundary): Likewise.
9249 (output_symtab): Likewise.
9250 (input_ref): Likewise.
9251 (input_cgraph_1): Likewise.
9252 (output_cgraph_opt_summary): Likewise.
9253 * lto-streamer-out.c (lto_output): Likewise.
9254 (output_symbol_p): Likewise.
9255 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
9256 (lsei_start_function_in_partition): Likewise.
9257 (lsei_next_variable_in_partition): Likewise.
9258 (lsei_start_variable_in_partition): Likewise.
9259 * symtab.c (insert_to_assembler_name_hash): Likewise.
9260 (unlink_from_assembler_name_hash): Likewise.
9261 (symtab_unregister_node): Likewise.
9262 (symtab_remove_node): Likewise.
9263 (dump_symtab_node): Likewise.
9264 (verify_symtab_base): Likewise.
9265 (verify_symtab_node): Likewise.
9266 (symtab_make_decl_local): Likewise.
9267 (symtab_alias_ultimate_target): Likewise.
9268 (symtab_resolve_alias): Likewise.
9269 (symtab_get_symbol_partitioning_class): Likewise.
9270 * tree-phinodes.c (allocate_phi_node): Likewise.
9271 (reserve_phi_args_for_new_edge): Likewise.
9272 (remove_phi_args): Likewise.
9273 * varpool.c (varpool_node_for_asm): Likewise.
9274 (varpool_remove_unreferenced_decls): Likewise.
9275
9219922e
JL
92762014-04-23 Jeff Law <law@redhat.com>
9277
9278 PR tree-optimization/60902
9279 * tree-ssa-threadedge.c
9280 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
9281 invalidate outputs from statements that do not produce useful
9282 outputs for threading.
9283
b6db8af6 92842014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
9285
9286 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
9287 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
9288 machine descriptions for Stack Smashing Protector.
9289
57b77d46
RE
92902014-04-23 Richard Earnshaw <rearnsha@arm.com>
9291
9292 * aarch64.md (<optab>_rol<mode>3): New pattern.
9293 (<optab>_rolsi3_uxtw): Likewise.
9294 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
9295
984c2f30
JG
92962014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
9297
9298 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
9299 (arm_cortex_a12_tune): Likewise.
9300
18b42b2a
KT
93012014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9302
9303 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
9304
ea1e9168
KT
93052014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9306
9307 * config/arm/arm.md (arm_rev16si2): New pattern.
9308 (arm_rev16si2_alt): Likewise.
9309 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
9310
f7d5cf8d
KT
93112014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9312
b6db8af6
UB
9313 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
9314 (rev16<mode>2_alt): Likewise.
9315 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
9316 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
9317 (aarch_rev16_shleft_mask_imm_p): Likewise.
9318 (aarch_rev16_p_1): Likewise.
9319 (aarch_rev16_p): Likewise.
9320 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
9321 (aarch_rev16_shright_mask_imm_p): Likewise.
9322 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 9323
9ac05ae5
KT
93242014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9325
b6db8af6
UB
9326 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
9327 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
9328 rev cost.
9329 (cortex_a53_extra_costs): Likewise.
9330 (cortex_a57_extra_costs): Likewise.
9331 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
9332 (cortexa7_extra_costs): Likewise.
9333 (cortexa8_extra_costs): Likewise.
9334 (cortexa12_extra_costs): Likewise.
9335 (cortexa15_extra_costs): Likewise.
9336 (v7m_extra_costs): Likewise.
9337 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 9338
e0d8c86c
KT
93392013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9340
b6db8af6
UB
9341 * config/arm/arm.c (cortexa8_extra_costs): New table.
9342 (arm_cortex_a8_tune): New tuning struct.
9343 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 9344
ba9b1a63
KT
93452014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9346
b6db8af6 9347 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 9348
da4cfeac
RB
93492014-04-23 Richard Biener <rguenther@suse.de>
9350
9351 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
9352 * tree-pass.h (make_pass_rtl_unswitch): Remove.
9353 * passes.def (pass_rtl_unswitch): Likewise.
9354 * loop-init.c (gate_rtl_unswitch): Likewise.
9355 (rtl_unswitch): Likewise.
9356 (pass_data_rtl_unswitch): Likewise.
9357 (pass_rtl_unswitch): Likewise.
9358 (make_pass_rtl_unswitch): Likewise.
9359 * rtl.h (reversed_condition): Likewise.
9360 (compare_and_jump_seq): Likewise.
9361 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
9362 and make static.
9363 * loop-unroll.c (compare_and_jump_seq): Likewise.
9364
22718afe
RB
93652014-04-23 Richard Biener <rguenther@suse.de>
9366
9367 PR tree-optimization/60903
9368 * tree-ssa-loop-im.c (analyze_memory_references): Remove
9369 commented code block.
9370 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
9371 loop flags to newly created BBs and edges.
9372
f7961364
NC
93732014-04-23 Nick Clifton <nickc@redhat.com>
9374
9375 * config/msp430/msp430.c (msp430_handle_option): Move function
9376 to msp430-common.c
9377 (msp430_option_override): Simplify mcu and mcpu option handling.
9378 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
9379 support for -mhwmult command line option.
9380 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
9381 -mhwmult command line option.
9382 (msp430_hwmult_enabled): Delete.
b6db8af6 9383 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
9384 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
9385 (umulsidi3): Likewise.
9386 * config/msp430/msp430.opt (mmcu): Add Report attribute.
9387 (mcpu, mlarge, msmall): Likewise.
9388 (mhwmult): New option.
9389 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
9390 prototype.
9391 (msp430_is_f5_mcu): Remove prototype.
9392 (msp430_use_f5_series_hwmult): Add prototype.
9393 * config/msp430/msp430-opts.h: New file.
9394 * common/config/msp430: New directory.
9395 * common/config/msp430/msp430-common.c: New file.
9396 * config.gcc (msp430): Remove target_has_targetm_common.
9397 * doc/invoke.texi: Document -mhwmult command line option.
9398
f70df035
NC
93992014-04-23 Nick Clifton <nickc@redhat.com>
9400
9401 * config/i386/cygwin.h (ENDFILE_SPEC): Include
9402 default-manifest.o if it can be found in the search path.
9403 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
9404
6a9accca
TG
94052014-04-23 Terry Guo <terry.guo@arm.com>
9406
9407 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
9408
62ba699e
RB
94092014-04-23 Richard Biener <rguenther@suse.de>
9410
9411 PR middle-end/60895
9412 * tree-inline.c (declare_return_variable): Use mark_addressable.
9413
92562f88
RB
94142014-04-23 Richard Biener <rguenther@suse.de>
9415
9416 PR middle-end/60891
9417 * loop-init.c (loop_optimizer_init): Make sure to apply
9418 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
9419
1c33c9b7
JJ
94202014-04-22 Jakub Jelinek <jakub@redhat.com>
9421
9422 PR sanitizer/60275
9423 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
9424 New options.
9425 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
9426 if flag_sanitize_undefined_trap_on_error.
9427 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
9428 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
9429 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
9430 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
9431 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
9432 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
9433 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
9434 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
9435 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
9436 * ubsan.c (ubsan_instrument_unreachable): Return
9437 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
9438 (ubsan_expand_null_ifn): Emit __builtin_trap ()
9439 if flag_sanitize_undefined_trap_on_error and
9440 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
9441 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
9442 instrument_bool_enum_load): Emit __builtin_trap () if
9443 flag_sanitize_undefined_trap_on_error and
9444 __builtin_handle_*_abort () if !flag_sanitize_recover.
9445 * doc/invoke.texi (-fsanitize-recover,
9446 -fsanitize-undefined-trap-on-error): Document.
9447
5e66b2e5
CB
94482014-04-22 Christian Bruel <christian.bruel@st.com>
9449
9450 * config/sh/sh.md (mov<mode>): Replace movQIHI.
9451 Force immediates to SImode.
9452
aa221564
SL
94532014-04-22 Sandra Loosemore <sandra@codesourcery.com>
9454
9455 * config/nios2/nios2.md (UNSPEC_ROUND): New.
9456 (lroundsfsi2): New.
9457 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
9458 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
9459 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
9460 (nios2_fpu_insn): Add entry for round.
9461 (N2FPU_NO_ERRNO_P): Define.
9462 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
9463 flag_errno_math.
9464 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
9465
2195867f
RH
94662014-04-22 Richard Henderson <rth@redhat.com>
9467
9468 * config/aarch64/aarch64 (addti3, subti3): New expanders.
9469 (add<GPI>3_compare0): Remove leading * from name.
9470 (add<GPI>3_carryin): Likewise.
9471 (sub<GPI>3_compare0): Likewise.
9472 (sub<GPI>3_carryin): Likewise.
9473 (<su_optab>mulditi3): New expander.
9474 (multi3): New expander.
9475 (madd<GPI>): Remove leading * from name.
9476
c6d43074
MJ
94772014-04-22 Martin Jambor <mjambor@suse.cz>
9478
9479 * cgraphclones.c (cgraph_function_versioning): Copy
9480 ipa_transforms_to_apply instead of asserting it is empty.
9481
e54c2dd3
L
94822014-04-22 H.J. Lu <hongjiu.lu@intel.com>
9483
9484 PR target/60868
f70df035 9485 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
9486 on count_exp to get mode.
9487
621ad2de
AP
94882014-04-22 Andrew Pinski <apinski@cavium.com>
9489
9490 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
9491 Handle TLS for ILP32.
9492 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
9493 (tlsie_small_<mode>): this and handle PTR.
9494 (tlsie_small_sidi): New pattern.
9495 (tlsle_small): Change to an expand to handle ILP32.
9496 (tlsle_small_<mode>): New pattern.
9497 (tlsdesc_small): Rename to ...
9498 (tlsdesc_small_<mode>): this and handle PTR.
9499
5cb74e90
RR
95002014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9501
9502 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
9503
bcd48995
AV
95042014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9505
9506 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
9507 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
9508 (aarch64_types_signed_poly_qualifiers): Likewise.
9509 (aarch64_types_unsigned_signed_qualifiers): Likewise.
9510 (aarch64_types_poly_signed_qualifiers): Likewise.
9511 (TYPES_REINTERP_SS): Type macro added.
9512 (TYPES_REINTERP_SU): Likewise.
9513 (TYPES_REINTERP_SP): Likewise.
9514 (TYPES_REINTERP_US): Likewise.
9515 (TYPES_REINTERP_PS): Likewise.
9516 (aarch64_fold_builtin): New expression folding added.
9517 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
9518 Declarations removed.
9519 (REINTERP_SS): Declarations added.
9520 (REINTERP_US): Likewise.
9521 (REINTERP_PS): Likewise.
9522 (REINTERP_SU): Likewise.
9523 (REINTERP_SP): Likewise.
9524 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
9525 (vreinterpretq_p8_f64): Likewise.
9526 (vreinterpret_p16_f64): Likewise.
9527 (vreinterpretq_p16_f64): Likewise.
9528 (vreinterpret_f32_f64): Likewise.
9529 (vreinterpretq_f32_f64): Likewise.
9530 (vreinterpret_f64_f32): Likewise.
9531 (vreinterpret_f64_p8): Likewise.
9532 (vreinterpret_f64_p16): Likewise.
9533 (vreinterpret_f64_s8): Likewise.
9534 (vreinterpret_f64_s16): Likewise.
9535 (vreinterpret_f64_s32): Likewise.
9536 (vreinterpret_f64_s64): Likewise.
9537 (vreinterpret_f64_u8): Likewise.
9538 (vreinterpret_f64_u16): Likewise.
9539 (vreinterpret_f64_u32): Likewise.
9540 (vreinterpret_f64_u64): Likewise.
9541 (vreinterpretq_f64_f32): Likewise.
9542 (vreinterpretq_f64_p8): Likewise.
9543 (vreinterpretq_f64_p16): Likewise.
9544 (vreinterpretq_f64_s8): Likewise.
9545 (vreinterpretq_f64_s16): Likewise.
9546 (vreinterpretq_f64_s32): Likewise.
9547 (vreinterpretq_f64_s64): Likewise.
9548 (vreinterpretq_f64_u8): Likewise.
9549 (vreinterpretq_f64_u16): Likewise.
9550 (vreinterpretq_f64_u32): Likewise.
9551 (vreinterpretq_f64_u64): Likewise.
9552 (vreinterpret_s64_f64): Likewise.
9553 (vreinterpretq_s64_f64): Likewise.
9554 (vreinterpret_u64_f64): Likewise.
9555 (vreinterpretq_u64_f64): Likewise.
9556 (vreinterpret_s8_f64): Likewise.
9557 (vreinterpretq_s8_f64): Likewise.
9558 (vreinterpret_s16_f64): Likewise.
9559 (vreinterpretq_s16_f64): Likewise.
9560 (vreinterpret_s32_f64): Likewise.
9561 (vreinterpretq_s32_f64): Likewise.
9562 (vreinterpret_u8_f64): Likewise.
9563 (vreinterpretq_u8_f64): Likewise.
9564 (vreinterpret_u16_f64): Likewise.
9565 (vreinterpretq_u16_f64): Likewise.
9566 (vreinterpret_u32_f64): Likewise.
9567 (vreinterpretq_u32_f64): Likewise.
9568
0bf3afc1
AV
95692014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9570
9571 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
9572 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
9573 (vreinterpret_p8_s8): Likewise.
9574 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
9575 (vreinterpret_p8_s16): Likewise.
9576 (vreinterpret_p8_s32): Likewise.
9577 (vreinterpret_p8_s64): Likewise.
9578 (vreinterpret_p8_f32): Likewise.
9579 (vreinterpret_p8_u8): Likewise.
9580 (vreinterpret_p8_u16): Likewise.
9581 (vreinterpret_p8_u32): Likewise.
9582 (vreinterpret_p8_u64): Likewise.
9583 (vreinterpret_p8_p16): Likewise.
9584 (vreinterpretq_p8_s8): Likewise.
9585 (vreinterpretq_p8_s16): Likewise.
9586 (vreinterpretq_p8_s32): Likewise.
9587 (vreinterpretq_p8_s64): Likewise.
9588 (vreinterpretq_p8_f32): Likewise.
9589 (vreinterpretq_p8_u8): Likewise.
9590 (vreinterpretq_p8_u16): Likewise.
9591 (vreinterpretq_p8_u32): Likewise.
9592 (vreinterpretq_p8_u64): Likewise.
9593 (vreinterpretq_p8_p16): Likewise.
9594 (vreinterpret_p16_s8): Likewise.
9595 (vreinterpret_p16_s16): Likewise.
9596 (vreinterpret_p16_s32): Likewise.
9597 (vreinterpret_p16_s64): Likewise.
9598 (vreinterpret_p16_f32): Likewise.
9599 (vreinterpret_p16_u8): Likewise.
9600 (vreinterpret_p16_u16): Likewise.
9601 (vreinterpret_p16_u32): Likewise.
9602 (vreinterpret_p16_u64): Likewise.
9603 (vreinterpret_p16_p8): Likewise.
9604 (vreinterpretq_p16_s8): Likewise.
9605 (vreinterpretq_p16_s16): Likewise.
9606 (vreinterpretq_p16_s32): Likewise.
9607 (vreinterpretq_p16_s64): Likewise.
9608 (vreinterpretq_p16_f32): Likewise.
9609 (vreinterpretq_p16_u8): Likewise.
9610 (vreinterpretq_p16_u16): Likewise.
9611 (vreinterpretq_p16_u32): Likewise.
9612 (vreinterpretq_p16_u64): Likewise.
9613 (vreinterpretq_p16_p8): Likewise.
9614 (vreinterpret_f32_s8): Likewise.
9615 (vreinterpret_f32_s16): Likewise.
9616 (vreinterpret_f32_s32): Likewise.
9617 (vreinterpret_f32_s64): Likewise.
9618 (vreinterpret_f32_u8): Likewise.
9619 (vreinterpret_f32_u16): Likewise.
9620 (vreinterpret_f32_u32): Likewise.
9621 (vreinterpret_f32_u64): Likewise.
9622 (vreinterpret_f32_p8): Likewise.
9623 (vreinterpret_f32_p16): Likewise.
9624 (vreinterpretq_f32_s8): Likewise.
9625 (vreinterpretq_f32_s16): Likewise.
9626 (vreinterpretq_f32_s32): Likewise.
9627 (vreinterpretq_f32_s64): Likewise.
9628 (vreinterpretq_f32_u8): Likewise.
9629 (vreinterpretq_f32_u16): Likewise.
9630 (vreinterpretq_f32_u32): Likewise.
9631 (vreinterpretq_f32_u64): Likewise.
9632 (vreinterpretq_f32_p8): Likewise.
9633 (vreinterpretq_f32_p16): Likewise.
9634 (vreinterpret_s64_s8): Likewise.
9635 (vreinterpret_s64_s16): Likewise.
9636 (vreinterpret_s64_s32): Likewise.
9637 (vreinterpret_s64_f32): Likewise.
9638 (vreinterpret_s64_u8): Likewise.
9639 (vreinterpret_s64_u16): Likewise.
9640 (vreinterpret_s64_u32): Likewise.
9641 (vreinterpret_s64_u64): Likewise.
9642 (vreinterpret_s64_p8): Likewise.
9643 (vreinterpret_s64_p16): Likewise.
9644 (vreinterpretq_s64_s8): Likewise.
9645 (vreinterpretq_s64_s16): Likewise.
9646 (vreinterpretq_s64_s32): Likewise.
9647 (vreinterpretq_s64_f32): Likewise.
9648 (vreinterpretq_s64_u8): Likewise.
9649 (vreinterpretq_s64_u16): Likewise.
9650 (vreinterpretq_s64_u32): Likewise.
9651 (vreinterpretq_s64_u64): Likewise.
9652 (vreinterpretq_s64_p8): Likewise.
9653 (vreinterpretq_s64_p16): Likewise.
9654 (vreinterpret_u64_s8): Likewise.
9655 (vreinterpret_u64_s16): Likewise.
9656 (vreinterpret_u64_s32): Likewise.
9657 (vreinterpret_u64_s64): Likewise.
9658 (vreinterpret_u64_f32): Likewise.
9659 (vreinterpret_u64_u8): Likewise.
9660 (vreinterpret_u64_u16): Likewise.
9661 (vreinterpret_u64_u32): Likewise.
9662 (vreinterpret_u64_p8): Likewise.
9663 (vreinterpret_u64_p16): Likewise.
9664 (vreinterpretq_u64_s8): Likewise.
9665 (vreinterpretq_u64_s16): Likewise.
9666 (vreinterpretq_u64_s32): Likewise.
9667 (vreinterpretq_u64_s64): Likewise.
9668 (vreinterpretq_u64_f32): Likewise.
9669 (vreinterpretq_u64_u8): Likewise.
9670 (vreinterpretq_u64_u16): Likewise.
9671 (vreinterpretq_u64_u32): Likewise.
9672 (vreinterpretq_u64_p8): Likewise.
9673 (vreinterpretq_u64_p16): Likewise.
9674 (vreinterpret_s8_s16): Likewise.
9675 (vreinterpret_s8_s32): Likewise.
9676 (vreinterpret_s8_s64): Likewise.
9677 (vreinterpret_s8_f32): Likewise.
9678 (vreinterpret_s8_u8): Likewise.
9679 (vreinterpret_s8_u16): Likewise.
9680 (vreinterpret_s8_u32): Likewise.
9681 (vreinterpret_s8_u64): Likewise.
9682 (vreinterpret_s8_p8): Likewise.
9683 (vreinterpret_s8_p16): Likewise.
9684 (vreinterpretq_s8_s16): Likewise.
9685 (vreinterpretq_s8_s32): Likewise.
9686 (vreinterpretq_s8_s64): Likewise.
9687 (vreinterpretq_s8_f32): Likewise.
9688 (vreinterpretq_s8_u8): Likewise.
9689 (vreinterpretq_s8_u16): Likewise.
9690 (vreinterpretq_s8_u32): Likewise.
9691 (vreinterpretq_s8_u64): Likewise.
9692 (vreinterpretq_s8_p8): Likewise.
9693 (vreinterpretq_s8_p16): Likewise.
9694 (vreinterpret_s16_s8): Likewise.
9695 (vreinterpret_s16_s32): Likewise.
9696 (vreinterpret_s16_s64): Likewise.
9697 (vreinterpret_s16_f32): Likewise.
9698 (vreinterpret_s16_u8): Likewise.
9699 (vreinterpret_s16_u16): Likewise.
9700 (vreinterpret_s16_u32): Likewise.
9701 (vreinterpret_s16_u64): Likewise.
9702 (vreinterpret_s16_p8): Likewise.
9703 (vreinterpret_s16_p16): Likewise.
9704 (vreinterpretq_s16_s8): Likewise.
9705 (vreinterpretq_s16_s32): Likewise.
9706 (vreinterpretq_s16_s64): Likewise.
9707 (vreinterpretq_s16_f32): Likewise.
9708 (vreinterpretq_s16_u8): Likewise.
9709 (vreinterpretq_s16_u16): Likewise.
9710 (vreinterpretq_s16_u32): Likewise.
9711 (vreinterpretq_s16_u64): Likewise.
9712 (vreinterpretq_s16_p8): Likewise.
9713 (vreinterpretq_s16_p16): Likewise.
9714 (vreinterpret_s32_s8): Likewise.
9715 (vreinterpret_s32_s16): Likewise.
9716 (vreinterpret_s32_s64): Likewise.
9717 (vreinterpret_s32_f32): Likewise.
9718 (vreinterpret_s32_u8): Likewise.
9719 (vreinterpret_s32_u16): Likewise.
9720 (vreinterpret_s32_u32): Likewise.
9721 (vreinterpret_s32_u64): Likewise.
9722 (vreinterpret_s32_p8): Likewise.
9723 (vreinterpret_s32_p16): Likewise.
9724 (vreinterpretq_s32_s8): Likewise.
9725 (vreinterpretq_s32_s16): Likewise.
9726 (vreinterpretq_s32_s64): Likewise.
9727 (vreinterpretq_s32_f32): Likewise.
9728 (vreinterpretq_s32_u8): Likewise.
9729 (vreinterpretq_s32_u16): Likewise.
9730 (vreinterpretq_s32_u32): Likewise.
9731 (vreinterpretq_s32_u64): Likewise.
9732 (vreinterpretq_s32_p8): Likewise.
9733 (vreinterpretq_s32_p16): Likewise.
9734 (vreinterpret_u8_s8): Likewise.
9735 (vreinterpret_u8_s16): Likewise.
9736 (vreinterpret_u8_s32): Likewise.
9737 (vreinterpret_u8_s64): Likewise.
9738 (vreinterpret_u8_f32): Likewise.
9739 (vreinterpret_u8_u16): Likewise.
9740 (vreinterpret_u8_u32): Likewise.
9741 (vreinterpret_u8_u64): Likewise.
9742 (vreinterpret_u8_p8): Likewise.
9743 (vreinterpret_u8_p16): Likewise.
9744 (vreinterpretq_u8_s8): Likewise.
9745 (vreinterpretq_u8_s16): Likewise.
9746 (vreinterpretq_u8_s32): Likewise.
9747 (vreinterpretq_u8_s64): Likewise.
9748 (vreinterpretq_u8_f32): Likewise.
9749 (vreinterpretq_u8_u16): Likewise.
9750 (vreinterpretq_u8_u32): Likewise.
9751 (vreinterpretq_u8_u64): Likewise.
9752 (vreinterpretq_u8_p8): Likewise.
9753 (vreinterpretq_u8_p16): Likewise.
9754 (vreinterpret_u16_s8): Likewise.
9755 (vreinterpret_u16_s16): Likewise.
9756 (vreinterpret_u16_s32): Likewise.
9757 (vreinterpret_u16_s64): Likewise.
9758 (vreinterpret_u16_f32): Likewise.
9759 (vreinterpret_u16_u8): Likewise.
9760 (vreinterpret_u16_u32): Likewise.
9761 (vreinterpret_u16_u64): Likewise.
9762 (vreinterpret_u16_p8): Likewise.
9763 (vreinterpret_u16_p16): Likewise.
9764 (vreinterpretq_u16_s8): Likewise.
9765 (vreinterpretq_u16_s16): Likewise.
9766 (vreinterpretq_u16_s32): Likewise.
9767 (vreinterpretq_u16_s64): Likewise.
9768 (vreinterpretq_u16_f32): Likewise.
9769 (vreinterpretq_u16_u8): Likewise.
9770 (vreinterpretq_u16_u32): Likewise.
9771 (vreinterpretq_u16_u64): Likewise.
9772 (vreinterpretq_u16_p8): Likewise.
9773 (vreinterpretq_u16_p16): Likewise.
9774 (vreinterpret_u32_s8): Likewise.
9775 (vreinterpret_u32_s16): Likewise.
9776 (vreinterpret_u32_s32): Likewise.
9777 (vreinterpret_u32_s64): Likewise.
9778 (vreinterpret_u32_f32): Likewise.
9779 (vreinterpret_u32_u8): Likewise.
9780 (vreinterpret_u32_u16): Likewise.
9781 (vreinterpret_u32_u64): Likewise.
9782 (vreinterpret_u32_p8): Likewise.
9783 (vreinterpret_u32_p16): Likewise.
9784 (vreinterpretq_u32_s8): Likewise.
9785 (vreinterpretq_u32_s16): Likewise.
9786 (vreinterpretq_u32_s32): Likewise.
9787 (vreinterpretq_u32_s64): Likewise.
9788 (vreinterpretq_u32_f32): Likewise.
9789 (vreinterpretq_u32_u8): Likewise.
9790 (vreinterpretq_u32_u16): Likewise.
9791 (vreinterpretq_u32_u64): Likewise.
9792 (vreinterpretq_u32_p8): Likewise.
9793 (vreinterpretq_u32_p16): Likewise.
9794
9551c7ec
AV
97952014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9796
9797 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
9798 Pattern extended.
b6db8af6 9799 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
9800 (sqabs): Likewise.
9801 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
9802 (vqnegd_s64): Likewise.
9803 (vqabs_s64): Likewise.
9804 (vqabsd_s64): Likewise.
9805
f2a2c4b5
RH
98062014-04-22 Richard Henderson <rth@redhat.com>
9807
9808 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
9809 computation to the top of the loop.
9810
53e5ace2
RL
98112014-04-22 Renlin <renlin.li@arm.com>
9812 Jiong Wang <jiong.wang@arm.com>
9813
9814 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
9815 * config/aarch64/aarch64.c (aarch64_layout_frame)
9816 (aarch64_initial_elimination_offset): Likewise.
9817
78c29983
MS
98182014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
9819
9820 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
9821 Fix indentation.
9822
dbf23a79
RS
98232014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
9824
9825 * machmode.h (bitwise_mode_for_mode): Declare.
9826 * stor-layout.h (bitwise_type_for_mode): Likewise.
9827 * stor-layout.c (bitwise_mode_for_mode): New function.
9828 (bitwise_type_for_mode): Likewise.
9829 * builtins.c (fold_builtin_memory_op): Use it instead of
9830 int_mode_for_mode and build_nonstandard_integer_type.
9831
d9f069ab
RO
98322014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9833
9834 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
9835 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
9836 (*-*-solaris2*): Simplify.
9837 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
9838 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
9839 *-*-solaris2.9* handling.
9840
9841 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
9842 as bug.
9843 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
9844 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
9845 handling, simplify.
9846 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
9847 * configure: Regenerate.
9848
9849 * config/i386/sol2-9.h: Remove.
9850
9851 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
9852 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
9853 Remove Solaris 9 references.
9854
0d35c5c2
VP
98552014-04-22 Vidya Praveen <vidyapraveen@arm.com>
9856
9857 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
9858 (floatuns<GPI:mode><GPF:mode>2): Remove.
9859 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
9860 and floatuns conversions.
9861 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
9862 and floatuns conversions.
9863 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
9864 (w1,w2): New mode attributes for inequal width conversions.
9865
16a3246f
RL
98662014-04-22 Renlin Li <Renlin.Li@arm.com>
9867
9868 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
9869 the output asm format.
9870
110e1ccc
JG
98712014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
9872
9873 * config/aarch64/aarch64-simd.md
9874 (aarch64_cm<optab>di): Always split.
9875 (*aarch64_cm<optab>di): New.
9876 (aarch64_cmtstdi): Always split.
9877 (*aarch64_cmtstdi): New.
9878
2044a4c3
JJ
98792014-04-22 Jakub Jelinek <jakub@redhat.com>
9880
9881 PR tree-optimization/60823
9882 * omp-low.c (ipa_simd_modify_function_body): Go through
9883 all SSA_NAMEs and for those refering to vector arguments
9884 which are going to be replaced adjust SSA_NAME_VAR and,
9885 if it is a default definition, change it into a non-default
9886 definition assigned at the beginning of function from new_decl.
9887 (ipa_simd_modify_stmt_ops): Rewritten.
9888 * tree-dfa.c (set_ssa_default_def): When removing default def,
9889 check for NULL loc instead of NULL *loc.
9890
9d8b4d1c
RR
98912014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9892
9893 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
9894 restrictions on core registers for DImode values in Thumb2.
9895
a01be1ae
IB
98962014-04-22 Ian Bolton <ian.bolton@arm.com>
9897
9898 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
9899 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
9900
80d3417b
IB
99012014-04-22 Ian Bolton <ian.bolton@arm.com>
9902
9903 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
9904 (*iordi_notzesidi_di): Likewise.
9905 (*iordi_notsesidi_di): Likewise.
9906
46fbb3eb
IB
99072014-04-22 Ian Bolton <ian.bolton@arm.com>
9908
9909 * config/arm/arm-protos.h (tune_params): New struct members.
9910 * config/arm/arm.c: Initialise tune_params per processor.
9911 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
9912 for speed, based on new tune_params.
9913
74dc11ed
AV
99142014-04-22 Alex Velenko <Alex.Velenko@arm.com>
9915
b6db8af6
UB
9916 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
9917 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
9918 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
9919 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
9920 * config/aarch64/arm_neon.h (vrnd_f64): Added.
9921 (vrnda_f64): Likewise.
9922 (vrndi_f64): Likewise.
9923 (vrndm_f64): Likewise.
9924 (vrndn_f64): Likewise.
9925 (vrndp_f64): Likewise.
9926 (vrndx_f64): Likewise.
9927
35923e46
ZC
99282014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9929
9930 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
9931 GET_MODE_SIZE argument is enum machine_mode.
9932
4552e70c
JJ
99332014-04-22 Jakub Jelinek <jakub@redhat.com>
9934
9935 PR target/60910
9936 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
9937 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
9938
e5dcd695
LZ
99392014-04-22 Lin Zuojian <manjian2006@gmail.com>
9940
9941 PR middle-end/60281
9942 * asan.c (asan_emit_stack_protection): Force the base to align to
9943 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
9944 appropriate bits if STRICT_ALIGNMENT.
9945 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
9946 when asan is on.
9947 (expand_used_vars): Leave a space in the stack frame for alignment
9948 if STRICT_ALIGNMENT.
9949
7455080c
DM
99502014-04-21 David Malcolm <dmalcolm@redhat.com>
9951
9952 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
9953 than a gimple.
9954 (gimple_store_p): Likewise.
9955 (gimple_assign_load_p): Likewise.
9956 (gimple_assign_cast_p): Likewise.
9957 (gimple_clobber_p): Likewise.
9958
9959 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
9960 rather than a gimple.
9961 (gimple_assign_cast_p): Likewise.
9962
aeb9579a
MM
99632014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
9964
9965 PR target/60735
9966 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
9967 If mode is DDmode and TARGET_E500_DOUBLE allow move.
9968
9969 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
9970 more debug information for E500 if -mdebug=reg.
9971
b15d92bf
UB
99722014-04-21 Uros Bizjak <ubizjak@gmail.com>
9973
9974 PR target/60909
9975 * config/i386/i386.c (ix86_expand_builtin)
9976 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
9977 register for target RTX.
9978 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
9979
d367387c
CH
99802014-04-18 Cong Hou <congh@google.com>
9981
9982 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
9983 the widen-mult pattern by handling two operands with different sizes,
9984 and operands whose size is smaller than half of the result type.
d367387c 9985
b6d627e4
JH
99862014-04-18 Jan Hubicka <hubicka@ucw.cz>
9987
9988 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
9989 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
9990 (do_estimate_edge_time): Compute it.
9991 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 9992 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 9993
e86a910f
JH
99942014-04-18 Jan Hubicka <hubicka@ucw.cz>
9995
9996 * ipa-inline.c (spec_rem): New static variable.
9997 (dump_overall_stats): New function.
9998 (dump_inline_stats): New function.
9999
8a3a7e67
RH
100002014-04-18 Richard Henderson <rth@redhat.com>
10001
10002 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
10003 to GET_MODE_SIZE, not a reg_class_t.
10004
ed79f4d0
BS
100052014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10006
b15d92bf 10007 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
10008 (vsx_xxmrglw_<mode>): Likewise.
10009
fe799eea
MM
100102014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
10011
10012 PR target/60876
10013 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 10014 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
10015 (rs6000_init_hard_regno_mode_ok): Likewise.
10016
5e750dc6
JH
100172014-04-17 Jan Hubicka <hubicka@ucw.cz>
10018
10019 * ipa-inline.c (inline_small_functions): Account only non-cold
10020 functions.
10021 * doc/invoke.texi (inline-unit-growth): Update documentation.
10022
32337f10
PH
100232014-04-17 Pat Haugen <pthaugen@us.ibm.com>
10024
10025 * config/rs6000/rs6000.md (addti3, subti3): New.
10026
40ed344a
L
100272014-04-17 H.J. Lu <hongjiu.lu@intel.com>
10028
10029 PR target/60863
10030 * config/i386/i386.c (ix86_expand_clear): Remove outdated
10031 comment. Check optimize_insn_for_size_p instead of
10032 optimize_insn_for_speed_p.
10033
104cb50b
MJ
100342014-04-17 Martin Jambor <mjambor@suse.cz>
10035
10036 * gimple-iterator.c (gsi_start_edge): New function.
10037 * gimple-iterator.h (gsi_start_edge): Declare.
10038 * tree-sra.c (single_non_eh_succ): New function.
10039 (disqualify_ops_if_throwing_stmt): Renamed to
10040 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
10041 having one non-EH successor BB.
10042 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
10043 generate loads into replacements.
10044 (sra_modify_assign): Likewise and and also use the simple path for
10045 such statements.
10046 (sra_modify_function_body): Commit statements on edges.
10047
b94970bc
RB
100482014-04-17 Richard Biener <rguenther@suse.de>
10049
10050 PR middle-end/60849
10051 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
10052 comparison results and add clarifying comment.
10053
92f0f3ec
JJ
100542014-04-17 Jakub Jelinek <jakub@redhat.com>
10055
10056 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
10057 (blank_mode): Initialize it.
10058 (emit_mode_size_inline, emit_mode_nunits_inline,
10059 emit_mode_inner_inline): New functions.
10060 (emit_insn_modes_h): Call them and surround their output with
10061 #if GCC_VERSION >= 4001 ... #endif.
10062 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
10063 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
10064 mode_* arrays if the argument is __builtin_constant_p.
10065 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
10066 is enum machine_mode.
10067
be55bfe6
TS
100682014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10069
10070 * passes.c (opt_pass::execute): Adjust.
10071 (pass_manager::execute_pass_mode_switching): Likewise.
10072 (early_local_passes::execute): Likewise.
10073 (execute_one_pass): Pass cfun to the pass's execute method.
10074 * tree-pass.h (opt_pass::execute): Add function * argument.
10075 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
10076 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
10077 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
10078 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
10079 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
10080 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
10081 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
10082 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
10083 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
10084 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
10085 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
10086 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
10087 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
10088 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
10089 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
10090 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
10091 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
10092 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
10093 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
10094 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
10095 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
10096 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
10097 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
10098 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
10099 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
10100 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
10101 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
10102 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
10103 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
10104 Adjust.
10105
1a3d085c
TS
101062014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10107
10108 * passes.c (opt_pass::gate): Take function * argument.
10109 (gate_all_early_local_passes): Merge into
10110 (early_local_passes::gate): this.
10111 (gate_all_early_optimizations): Merge into
10112 (all_early_optimizations::gate): this.
10113 (gate_all_optimizations): Mege into
10114 (all_optimizations::gate): this.
10115 (gate_all_optimizations_g): Merge into
10116 (all_optimizations_g::gate): this.
10117 (gate_rest_of_compilation): Mege into
10118 (rest_of_compilation::gate): this.
10119 (gate_postreload): Merge into
10120 (postreload::gate): this.
10121 (dump_one_pass): Pass cfun to the pass's gate method.
10122 (execute_ipa_summary_passes): Likewise.
10123 (execute_one_pass): Likewise.
10124 (ipa_write_summaries_2): Likewise.
10125 (ipa_write_optimization_summaries_1): Likewise.
10126 (ipa_read_summaries_1): Likewise.
10127 (ipa_read_optimization_summaries_1): Likewise.
10128 (execute_ipa_stmt_fixups): Likewise.
10129 * tree-pass.h (opt_pass::gate): Add function * argument.
10130 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
10131 combine-stack-adj.c, combine.c, compare-elim.c,
10132 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
10133 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
10134 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
10135 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
10136 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
10137 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
10138 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
10139 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
10140 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
10141 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
10142 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
10143 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
10144 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
10145 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
10146 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
10147 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
10148 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
10149 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
10150 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
10151 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
10152 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
10153 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
10154 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
10155 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
10156 var-tracking.c, vtable-verify.c, web.c: Adjust.
10157
45887209
TS
101582014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10159
10160 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
10161 * configure: Regenerate.
10162
0481253d 101632014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 10164
0481253d
TS
10165 * passes.c (dump_one_pass): don't check pass->has_gate.
10166 (execute_ipa_summary_passes): Likewise.
10167 (execute_one_pass): Likewise.
10168 (ipa_write_summaries_2): Likewise.
10169 (ipa_write_optimization_summaries_1): Likewise.
10170 (ipa_read_optimization_summaries_1): Likewise.
10171 (execute_ipa_stmt_fixups): Likewise.
10172 * tree-pass.h (pass_data::has_gate): Remove.
10173 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
10174 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
10175 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
10176 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
10177 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
10178 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
10179 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
10180 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
10181 gimple-low.c, gimple-ssa-isolate-paths.c,
10182 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
10183 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
10184 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
10185 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
10186 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
10187 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
10188 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
10189 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
10190 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
10191 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
10192 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
10193 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
10194 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
10195 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
10196 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
10197 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
10198 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
10199 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
10200 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
10201 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
10202 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
10203 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
10204 Adjust.
10205
a23c217d
TS
102062014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10207
b15d92bf
UB
10208 * pass_manager.h (pass_manager::register_dump_files_1): Remove
10209 declaration.
a23c217d
TS
10210 * passes.c (pass_manager::register_dump_files_1): Merge into
10211 (pass_manager::register_dump_files): this, and remove its handling of
10212 properties since the pass always has the properties anyway.
10213 (pass_manager::pass_manager): Adjust.
10214
0cd11b40
TS
102152014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10216
10217 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
10218 * passes.c (pass_manager::register_dump_files_1): Remove dead code
10219 dealing with properties.
10220 (pass_manager::register_dump_files): Adjust.
10221
79896351
MW
102222014-03-20 Mark Wielaard <mjw@redhat.com>
10223
10224 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
10225 then represent the bound as normal constant value.
10226
5a65129e
JJ
102272014-04-17 Jakub Jelinek <jakub@redhat.com>
10228
10229 PR target/60847
10230 Forward port from 4.8 branch
10231 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
10232
10233 * config/i386/bmiintrin.h (_blsi_u32): New.
10234 (_blsi_u64): Ditto.
10235 (_blsr_u32): Ditto.
10236 (_blsr_u64): Ditto.
10237 (_blsmsk_u32): Ditto.
10238 (_blsmsk_u64): Ditto.
10239 (_tzcnt_u32): Ditto.
10240 (_tzcnt_u64): Ditto.
10241
59b266b1
KC
102422014-04-17 Kito Cheng <kito@0xlab.org>
10243
10244 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
10245
83ad208e
RB
102462014-04-17 Richard Biener <rguenther@suse.de>
10247
10248 PR middle-end/60849
10249 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
10250 boolean results for comparisons.
10251
730e78b0
RB
102522014-04-17 Richard Biener <rguenther@suse.de>
10253
10254 PR tree-optimization/60836
10255 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
10256 initial PHI args to be gimple values.
10257
40c0a159 102582014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
10259
10260 PR tree-optimization/60841
10261 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
10262 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
10263 of stmts to SLP build.
10264 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
10265 (vect_analyze_slp): Likewise.
10266 (vect_analyze_slp_instance): Likewise.
10267 (vect_build_slp_tree): Limit overall SLP tree growth.
10268 * tree-vectorizer.h (vect_analyze_data_refs,
10269 vect_analyze_slp): Adjust prototypes.
10270
170c1776
ES
102712014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
10272
10273 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
10274 Silvermont.
10275
a4ef7f3e
ES
102762014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
10277
10278 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
10279 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
10280 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
10281 for TARGET_SLOW_PSHUFB
10282
cf055f6e
ES
102832014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
10284
10285 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
10286 * config/i386/i386.c (intel_cost): Ditto.
10287
eeee2277
JY
102882014-04-17 Joey Ye <joey.ye@arm.com>
10289
10290 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
10291
1c58fe29
JH
102922014-04-16 Jan Hubicka <hubicka@ucw.cz>
10293
10294 * opts.c (common_handle_option): Disable -fipa-reference coorectly
10295 with -fuse-profile.
10296
2d1644bf
JH
102972014-04-16 Jan Hubicka <hubicka@ucw.cz>
10298
10299 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
10300 (type_all_derivations_known_p): New predicate.
10301 (type_all_ctors_visible_p): New predicate.
10302 (type_possibly_instantiated_p): New predicate.
10303 (get_odr_type): Compute all_derivations_known.
10304 (dump_odr_type): Dump the flag.
10305 (maybe_record_type): Cleanup.
10306 (record_target_from_binfo): Add bases_to_consider array;
10307 record bases for types w/o instances and skip CXX destructor.
10308 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 10309 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
10310 (get_polymorphic_call_info): Set maybe_in_construction to true
10311 when we know nothing.
10312 (record_targets_from_bases): Skip CXX destructors; they are
10313 never called for types in construction.
10314 (possible_polymorphic_call_targets): Do not record target when
10315 type may not have instance.
10316
789c2741
JH
103172014-04-16 Jan Hubicka <hubicka@ucw.cz>
10318
10319 PR ipa/60854
10320 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
10321 external aliases alive, too.
10322
9950a4f2
AP
103232014-04-16 Andrew Pinski <apinski@cavium.com>
10324
10325 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 10326 definition.
9950a4f2 10327
82b9c015
EB
103282014-04-16 Eric Botcazou <ebotcazou@adacore.com>
10329
10330 * final.c (compute_alignments): Do not apply loop alignment to a block
10331 falling through to the exit.
10332
d2dfaca3
CM
103332014-04-16 Catherine Moore <clm@codesourcery.com>
10334
10335 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
10336 Adjust constraints for microMIPS store patterns.
10337
10353a79
PS
103382014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
10339
10340 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
10341
61c7fb30
EB
103422014-04-16 Eric Botcazou <ebotcazou@adacore.com>
10343
10344 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
10345 (append_use): Run at -O0.
10346 (append_vdef): Likewise.
10347 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
10348 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
10349
42fae17c
JJ
103502014-04-16 Jakub Jelinek <jakub@redhat.com>
10351
10352 PR tree-optimization/60844
10353 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
10354 (propagate_op_to_single_use, remove_visited_stmt_chain,
10355 linearize_expr, repropagate_negates, reassociate_bb): Use it
10356 instead of gsi_remove.
10357
ca860d03
MJ
103582014-04-16 Martin Jambor <mjambor@suse.cz>
10359
10360 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
10361 ipa_transforms_to_apply.
10362 (cgraph_function_versioning): Assert that old_node has empty
10363 ipa_transforms_to_apply.
10364 * trans-mem.c (ipa_tm_create_version): Likewise.
10365 * tree-inline.c (tree_function_versioning): Do not duplicate
10366 ipa_transforms_to_apply.
10367
fe4e71e4
RO
103682014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10369
10370 PR target/60817
10371 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
10372 x86_64-*-* cases.
10373 Pass necessary as flags on 64-bit Solaris/x86.
10374 Use lowercase relocs for x86_64-*-*.
10375 * configure: Regenerate.
10376
ccb05ef2
JH
103772014-04-15 Jan Hubicka <jh@suse.cz>
10378
10379 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
10380 (maybe_record_node, likely_target_p): Use it.
10381
dfe449d1
BS
103822014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10383
10384 PR target/60839
10385 Revert following patch
10386
10387 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
10388
10389 PR target/60735
10390 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
10391 software floating point or no floating point registers, do not
10392 allow any type in the FPRs. Eliminate a test for SPE SIMD types
10393 in GPRs that occurs after we tested for GPRs that would never be
10394 true.
10395
10396 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
10397 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
10398 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
10399 specifically allow DDmode, since that does not use the SPE SIMD
10400 instructions.
10401
25dce5c6
MW
104022014-03-21 Mark Wielaard <mjw@redhat.com>
10403
10404 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
10405 as unsigned or int depending on type and value used.
10406
8d3c076f
RB
104072014-04-15 Richard Biener <rguenther@suse.de>
10408
10409 PR rtl-optimization/56965
10410 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
10411 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
10412 ... here.
10413 * alias.c (true_dependence_1): Do not call
10414 nonoverlapping_component_refs_p.
10415 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
10416 nonoverlapping_component_refs_p.
10417 (indirect_refs_may_alias_p): Likewise.
10418
d00e4baa
TJ
104192014-04-15 Teresa Johnson <tejohnson@google.com>
10420
10421 * cfg.c (dump_bb_info): Fix flags check.
10422 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
10423
98a2fdfb
KT
104242014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10425
10426 PR rtl-optimization/60663
10427 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
10428 avoid 0 cost.
10429
b9ed2c2c
RB
104302014-04-15 Richard Biener <rguenther@suse.de>
10431
10432 * lto-streamer.h (LTO_major_version): Bump to 4.
10433
783dab6b
RB
104342014-04-15 Richard Biener <rguenther@suse.de>
10435
10436 * common.opt (lto_partition_model): New enum.
10437 (flto-partition=): Merge separate options with a single with argument,
10438 add -flto-partition=one support.
10439 * flag-types.h (enum lto_partition_model): Declare.
10440 * opts.c (finish_options): Remove duplicate -flto-partition=
10441 option check.
10442 * lto-wrapper.c (run_gcc): Adjust.
10443
d8e4ce6d
RB
104442014-04-15 Richard Biener <rguenther@suse.de>
10445
10446 * alias.c (ncr_compar): New function.
10447 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
10448
1999fd7d
RB
104492014-04-15 Richard Biener <rguenther@suse.de>
10450
10451 * alias.c (record_component_aliases): Do not walk BINFOs.
10452
628169e0
RB
104532014-04-15 Richard Biener <rguenther@suse.de>
10454
10455 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
10456 Add struct function argument and adjust.
10457 (find_func_aliases_for_call): Likewise.
10458 (find_func_aliases): Likewise.
10459 (find_func_clobbers): Likewise.
10460 (intra_create_variable_infos): Likewise.
10461 (compute_points_to_sets): Likewise.
10462 (ipa_pta_execute): Adjust. Do not push/pop cfun.
10463
349e6210
RB
104642014-04-15 Richard Biener <rguenther@suse.de>
10465
10466 * tree.c (iterative_hash_expr): Use enum tree_code_class
10467 to store TREE_CODE_CLASS.
10468 (tree_block): Likewise.
10469 (tree_set_block): Likewise.
10470 * tree.h (fold_build_pointer_plus_loc): Use
10471 convert_to_ptrofftype_loc.
10472
4f0ddb6f
JJ
104732014-04-15 Jakub Jelinek <jakub@redhat.com>
10474
10475 PR plugins/59335
10476 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
10477 added in 4.9.
10478
718c4601
EB
104792014-04-15 Eric Botcazou <ebotcazou@adacore.com>
10480
10481 * cfgloop.h (struct loop): Move force_vectorize down.
10482 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
10483 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
10484 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
10485 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
10486 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
10487 * tree-core.h (enum annot_expr_kind): Add new kind values.
10488 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
10489 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
10490 kinds.
10491 * tree.def (ANNOTATE_EXPR): Tweak comment.
10492
88f592e3
JH
104932014-04-14 Jan Hubicka <hubicka@ucw.cz>
10494
10495 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
10496 cxa_pure_virtual).
10497
9dba4b55
PC
104982014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
10499
10500 * tree.h (TYPE_IDENTIFIER): Declare.
10501 * tree.c (subrange_type_for_debug_p): Use it.
10502 * godump.c (go_format_type): Likewise.
10503 * dwarf2out.c (is_cxx_auto, modified_type_die,
10504 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
10505 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
10506
40c0a159 105072014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
10508
10509 PR lto/60820
10510 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
10511
e0a81db1
UB
105122014-04-14 Uros Bizjak <ubizjak@gmail.com>
10513
10514 * config/i386/i386.c (examine_argument): Return bool. Return true if
10515 parameter should be passed in memory.
10516 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
10517 (construct_container): Update calls to examine_argument.
10518 (function_arg_advance_64): Ditto.
10519 (return_in_memory_32): Merge with ix86_return_in_memory.
10520 (return_in_memory_64): Ditto.
10521 (return_in_memory_ms_64): Ditto.
10522
cb90235d
JH
105232014-04-14 Jan Hubicka <hubicka@ucw.cz>
10524
10525 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
10526 * coverage.c (coverage_compute_profile_id): Handle externally visible
10527 symbols.
10528
7b3b340e
MJ
105292014-04-14 Martin Jambor <mjambor@suse.cz>
10530
10531 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
10532 DECL_DISREGARD_INLINE_LIMITS functions.
10533
2ed3b4ee
L
105342014-04-14 H.J. Lu <hongjiu.lu@intel.com>
10535
10536 PR target/60827
e0a81db1 10537 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 10538
10fa463f
L
105392014-04-14 H.J. Lu <hongjiu.lu@intel.com>
10540
10541 PR target/60827
10542 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
10543 optimize_insn_for_speed_p instead of
10544 optimize_function_for_speed_p.
10545
b621e875
YZ
105462014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
10547
10548 * doc/invoke.texi (free): Document AArch64.
10549
cddaefa3
RB
105502014-04-14 Richard Biener <rguenther@suse.de>
10551
10552 PR tree-optimization/60042
10553 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
10554 (insert_into_preds_of_block): Do not prevent PHI insertion
10555 for REFERENCE exprs here ...
10556 (eliminate_dom_walker::before_dom_children): ... but prevent
10557 their use here under similar conditions when applied to the
10558 IL after PRE optimizations.
10559
a9e4c82f
RB
105602014-04-14 Richard Biener <rguenther@suse.de>
10561
10562 * passes.def: Move early points-to after early SRA.
10563
7b4cae1b
RB
105642014-04-14 Richard Biener <rguenther@suse.de>
10565
10566 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
10567 check for which sign-changes we allow when forwarding
10568 a converted value into a switch.
10569
cb27986c
EB
105702014-04-14 Eric Botcazou <ebotcazou@adacore.com>
10571
10572 * stor-layout.c (place_field): Finalize non-constant offset for the
10573 field, if any.
10574
72798784
RB
105752014-04-14 Richard Biener <rguenther@suse.de>
10576
10577 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
10578 as argument.
10579 (expand_switch_using_bit_tests_p): Likewise.
10580 (process_switch): Compute and pass on speed_p based on the
10581 switch stmt.
10582 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
10583 optimize_bb_for_speed_p.
10584
b15b5979
EB
105852014-04-14 Eric Botcazou <ebotcazou@adacore.com>
10586
10587 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
10588 * function.h (struct function): Rename has_force_vect_loops into
10589 has_force_vectorize_loops.
10590 * lto-streamer-in.c (input_cfg): Adjust for renaming.
10591 (input_struct_function_base): Likewise.
10592 * lto-streamer-out.c (output_cfg): Likewise.
10593 (output_struct_function_base): Likewise.
10594 * omp-low.c (expand_omp_simd): Likewise.
10595 * tree-cfg.c (move_sese_region_to_fn): Likewise.
10596 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
10597 (version_loop_for_if_conversion): Likewise.
10598 (tree_if_conversion): Likewise.
10599 (main_tree_if_conversion): Likewise.
10600 (gate_tree_if_conversion): Likewise.
10601 * tree-inline.c (copy_loops): Likewise.
10602 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
10603 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
10604 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
10605 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
10606 * tree-vectorizer.c (vectorize_loops): Likewise.
10607 * tree-vectorizer.h (unlimited_cost_model): Likewise.
10608
8359c87e
RB
106092014-04-14 Richard Biener <rguenther@suse.de>
10610
10611 PR lto/60720
10612 * lto-streamer-out.c (wrap_refs): New function.
10613 (lto_output): Wrap symbol references in global initializes in
10614 type-preserving MEM_REFs.
10615
9447df74
CB
106162014-04-14 Christian Bruel <christian.bruel@st.com>
10617
b15d92bf 10618 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 10619
fa1aecc1
CB
106202014-04-14 Christian Bruel <christian.bruel@st.com>
10621
10622 * config/sh/sh.md (setmemqi): New expand pattern.
10623 * config/sh/sh.h (CLEAR_RATIO): Define.
10624 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
10625 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
10626
a3c77ce9
RB
106272014-04-14 Richard Biener <rguenther@suse.de>
10628
10629 PR middle-end/55022
10630 * fold-const.c (negate_expr_p): Don't negate directional rounding
10631 division.
10632 (fold_negate_expr): Likewise.
10633
033aa406
RB
106342014-04-14 Richard Biener <rguenther@suse.de>
10635
10636 PR tree-optimization/59817
10637 PR tree-optimization/60453
10638 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
10639 recursion to catch all CHRECs in the scalar evolution and restrict
10640 the predicate for the remains appropriately.
10641
5e7d8b4c
RS
106422014-04-12 Catherine Moore <clm@codesourcery.com>
10643
10644 * config/mips/constraints.md: Add new register constraint "kb".
10645 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
10646 (*movhi_internal): Likewise.
10647 (*movqi_internal): Likewise.
10648 * config/mips/mips.h (M16_STORE_REGS): New register class.
10649 (REG_CLASS_NAMES): Add M16_STORE_REGS.
10650 (REG_CLASS_CONTENTS): Likewise.
10651 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
10652
cbbd2b1c
TB
106532014-04-11 Tobias Burnus <burnus@net-b.de>
10654
10655 PR c/60194
10656 * doc/invoke.texi (-Wformat-signedness): Document it.
10657 (Wformat=2): Mention that this enables -Wformat-signedness.
10658
d9bb5800
JR
106592014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
10660
10661 * common/config/epiphany/epiphany-common.c
10662 (epiphany_option_optimization_table): Enable section anchors by
10663 default at -O1 or higher.
10664 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
10665 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
10666 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
10667 carries no extra cost.
10668 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
10669 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
10670 * config/epiphany/predicates.md (memclob_operand): New predicate.
10671 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
10672 Use memclob_operand predicate and X constraint for operand 3.
10673
b5d0ecea
JR
106742014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
10675
10676 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
10677 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
10678 its operands.
10679
473fd99a
JR
106802014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
10681
10682 PR rtl-optimization/60651
10683 * mode-switching.c (optimize_mode_switching): Make sure to emit
10684 sets of a lower numbered entity before sets of a higher numbered
10685 entity to a mode of the same or lower priority.
10686 When creating a seginfo for a basic block that starts with a code
10687 label, move the insertion point past the code label.
10688 (new_seginfo): Document and enforce requirement that
10689 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
10690 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
10691 * doc/tm.texi: Regenerate.
10692
6ace1161
JR
106932014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
10694
10695 PR target/60811
10696 * config/arc/arc.c (arc_save_restore): Fix assert typo.
10697
89eb97de
JJ
106982013-04-11 Jakub Jelinek <jakub@redhat.com>
10699
6602e7fc 10700 * BASE-VER: Set to 4.10.0.
89eb97de 10701
9d0c7214
TB
107022014-04-11 Tobias Burnus <burnus@net-b.de>
10703
10704 PR other/59055
e0a81db1 10705 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
10706 * doc/gcc.texi (Service): Update description in the @menu
10707 * doc/invoke.texi (Option Summary): Remove misplaced and
10708 duplicated @menu.
10709
3662b277
SE
107102014-04-11 Steve Ellcey <sellcey@mips.com>
10711 Jakub Jelinek <jakub@redhat.com>
10712
10713 PR middle-end/60556
10714 * expr.c (convert_move): Use emit_store_flag_force instead of
10715 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
10716 argument to it.
10717
8330537b
RB
107182014-04-11 Richard Biener <rguenther@suse.de>
10719
10720 PR middle-end/60797
10721 * varasm.c (assemble_alias): Avoid endless error reporting
10722 recursion by setting TREE_ASM_WRITTEN.
10723
3c91f126
AK
107242014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10725
10726 * config/s390/s390.md: Add a splitter for NOT rtx.
10727
d8d6ea53
JJ
107282014-04-11 Jakub Jelinek <jakub@redhat.com>
10729
10730 PR rtl-optimization/60663
e0a81db1 10731 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 10732
fa5866c0
JJ
107332014-04-10 Jan Hubicka <hubicka@ucw.cz>
10734 Jakub Jelinek <jakub@redhat.com>
073afca6 10735
fa5866c0 10736 PR lto/60567
e0a81db1
UB
10737 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
10738 flag from decl_node to node.
073afca6 10739
b322c36a
RR
107402014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10741
10742 PR debug/60655
10743 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
10744 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
10745 ameliorating the cases where it can be.
10746
8267f6bb
DE
107472014-04-09 David Edelsohn <dje.gcc@gmail.com>
10748
10749 Revert
10750 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
10751
10752 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
10753 (loadsync_<mode>): Change mode.
10754 (load_quadpti, store_quadpti): New.
10755 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
10756 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
10757 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
10758
5d1a5a53
CH
107592014-04-09 Cong Hou <congh@google.com>
10760
10761 PR testsuite/60773
10762 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
10763 documentation.
10764
da90fa4c
BS
107652014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10766
10767 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
10768 instead of vnor to exploit possible fusion opportunity in the
10769 future.
10770 (altivec_expand_vec_perm_const_le): Likewise.
10771
98e6ecab
PH
107722014-04-08 Pat Haugen <pthaugen@us.ibm.com>
10773
10774 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
10775 (loadsync_<mode>): Change mode.
10776 (load_quadpti, store_quadpti): New.
10777 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
10778 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
10779
8418cf33
RS
107802014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
10781
10782 PR target/60763
10783 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
10784 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
10785 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
10786
3fa68ccb
RB
107872014-04-08 Richard Biener <rguenther@suse.de>
10788
10789 PR middle-end/60706
10790 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
10791 a 64bit widest int print double-int similar to on HWI64 hosts.
10792
9038ae48
RB
107932014-04-08 Richard Biener <rguenther@suse.de>
10794
10795 PR tree-optimization/60785
10796 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
10797 default defs properly.
10798
38f09da3
NS
107992014-04-08 Nathan Sidwell <nathan@codesourcery.com>
10800
10801 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
10802 (Weffc++): Likewise.
10803
0439a947
JH
108042014-04-07 Jan Hubicka <hubcika@ucw.cz>
10805
10806 * ipa-devirt.c (maybe_record_node): When node is not recorded,
10807 set completep to false rather than true.
10808
3f2f838e
EB
108092014-04-07 Douglas B Rupp <rupp@adacore.com>
10810
10811 PR target/60504
10812 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
10813 ARM_TARGET2_DWARF_FORMAT.
10814
e75c1617
CB
108152014-04-07 Charles Baylis <charles.baylis@linaro.org>
10816
10817 PR target/60609
10818 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
10819 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
10820 ADDR_DIFF_VEC.
10821
d6adff07
RB
108222014-04-07 Richard Biener <rguenther@suse.de>
10823
10824 PR tree-optimization/60766
3f2f838e
EB
10825 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
10826 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 10827
da34ade5
JM
108282014-04-07 Jason Merrill <jason@redhat.com>
10829
10830 PR c++/60731
10831 * common.opt (-fno-gnu-unique): Add.
10832 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
10833
151e9aac
KT
108342014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10835
10836 * haifa-sched.c: Fix outdated function reference and minor
10837 grammar errors in introductory comment.
10838
308173e3
RB
108392014-04-07 Richard Biener <rguenther@suse.de>
10840
10841 PR middle-end/60750
10842 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
10843 for noreturn calls.
10844 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
10845
a9a302d9
JDA
108462014-04-06 John David Anglin <danglin@gcc.gnu.org>
10847
10848 PR debug/55794
10849 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
10850 size accounting for thunks.
10851 (pa_asm_output_mi_thunk): Use final_start_function() and
10852 final_end_function() to output function start and end directives.
10853
576ba35c
PS
108542014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
10855
e0a81db1
UB
10856 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
10857 device specific ISA/ feature information. Remove short_sp and
10858 errata_skip ds. Add avr_device_specific_features enum to have device
10859 specific info.
576ba35c
PS
10860 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
10861 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
10862 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
10863 updated device specific info.
10864 * config/avr/avr-mcus.def: Merge device specific details to
10865 dev_attribute field.
10866 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
10867 errata_skip.
10868 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
10869 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
10870 assembler if RMW isa supported by current device.
10871 * config/avr/genmultilib.awk: Update as device info structure changed.
10872 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
10873
ebc047a2
CH
108742014-04-04 Cong Hou <congh@google.com>
10875
10876 PR tree-optimization/60656
10877 * tree-vect-stmts.c (supportable_widening_operation):
10878 Fix a bug that elements in a vector with vect_used_by_reduction
10879 property are incorrectly reordered when the operation on it is not
10880 consistant with the one in reduction operation.
10881
b6808818
JDA
108822014-04-04 John David Anglin <danglin@gcc.gnu.org>
10883
10884 PR rtl-optimization/60155
10885 * gcse.c (record_set_data): New function.
10886 (single_set_gcse): New function.
10887 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
10888 (hoist_code): Likewise.
10889 (get_pressure_class_and_nregs): Likewise.
10890
eabcc725
EB
108912014-04-04 Eric Botcazou <ebotcazou@adacore.com>
10892
10893 * explow.c (probe_stack_range): Emit a final optimization blockage.
10894
e005b753
AG
108952014-04-04 Anthony Green <green@moxielogic.com>
10896
10897 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
10898 typos.
10899
8fe91ca8
JH
109002014-04-04 Jan Hubicka <hubicka@ucw.cz>
10901
10902 PR ipa/59626
10903 * lto-cgraph.c (input_overwrite_node): Check that partitioning
10904 flags are set only during streaming.
10905 * ipa.c (process_references, walk_polymorphic_call_targets,
10906 symtab_remove_unreachable_nodes): Drop bodies of always inline
10907 after early inlining.
10908 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 10909
88d94632
RR
109102014-04-04 Jakub Jelinek <jakub@redhat.com>
10911 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10912
10913 PR debug/60655
10914 * dwarf2out.c (const_ok_for_output_1): Reject expressions
10915 containing a NOT.
10916
094bc219
KT
109172014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10918
10919 PR bootstrap/60743
10920 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
10921 duration.
10922 (cortex_a53_fdivd): Likewise.
10923
610c8ef0
MJ
109242014-04-04 Martin Jambor <mjambor@suse.cz>
10925
10926 PR ipa/60640
b15d92bf
UB
10927 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
10928 Adjust all callers.
610c8ef0
MJ
10929 * cgraph.c (clone_of_p): Also return true if thunks match.
10930 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
10931 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
10932 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
10933 file.
10934 (build_function_decl_skip_args): Likewise.
610c8ef0 10935 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
10936 (duplicate_thunk_for_node): Likewise.
10937 (redirect_edge_duplicating_thunks): Likewise.
10938 (cgraph_clone_node): New parameter args_to_skip, pass it to
10939 redirect_edge_duplicating_thunks which is called instead of
10940 cgraph_redirect_edge_callee.
10941 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
10942 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
10943
fc02bcca
JL
109442014-04-04 Jeff Law <law@redhat.com>
10945
57ef133b 10946 PR target/60657
fc02bcca
JL
10947 * config/arm/predicates.md (const_int_I_operand): New predicate.
10948 (const_int_M_operand): Similarly.
10949 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
10950 const_int_operand.
10951 (insv_t2, extv_reg, extzv_t2): Likewise.
10952 (load_multiple_with_writeback): Similarly for const_int_I_operand.
10953 (pop_multiple_with_writeback_and_return): Likewise.
10954 (vfp_pop_multiple_with_writeback): Likewise
10955
45b62594
RB
109562014-04-04 Richard Biener <rguenther@suse.de>
10957
10958 PR ipa/60746
10959 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
10960 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
10961 non-GIMPLE_LABELs.
10962 * gimplify.h (gimple_add_tmp_var_fn): Declare.
10963 * gimplify.c (gimple_add_tmp_var_fn): New function.
10964 * gimple-expr.h (create_tmp_reg_fn): Declare.
10965 * gimple-expr.c (create_tmp_reg_fn): New function.
10966 * gimple-low.c (record_vars_into): Don't change cfun.
10967 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
10968 code generation without cfun.
10969
bb609c35
TS
109702014-04-04 Thomas Schwinge <thomas@codesourcery.com>
10971
10972 PR bootstrap/60719
10973 * Makefile.in (install-driver): Fix shell scripting.
10974
090cd8dc
CH
109752014-04-03 Cong Hou <congh@google.com>
10976
10977 PR tree-optimization/60505
10978 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
10979 threshold of number of iterations below which no vectorization
10980 will be done.
090cd8dc
CH
10981 * tree-vect-loop.c (new_loop_vec_info):
10982 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
10983 * tree-vect-loop.c (vect_analyze_loop_operations):
10984 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
10985 * tree-vect-loop.c (vect_transform_loop):
10986 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
10987 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
10988 of iterations of the loop and see if we should build the epilogue.
10989
bdc67fd6
RB
109902014-04-03 Richard Biener <rguenther@suse.de>
10991
e0a81db1 10992 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
10993 (streamer_tree_cache_create): Adjust.
10994 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
10995 to allow optional nodes array.
10996 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
10997 (streamer_tree_cache_append): Likewise.
10998 (streamer_tree_cache_create): Create nodes array optionally
10999 as specified by parameter.
11000 * lto-streamer-out.c (create_output_block): Avoid maintaining
11001 the node array in the writer cache.
11002 (DFS_write_tree): Remove assertion.
e0a81db1 11003 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
11004 * lto-streamer-in.c (lto_data_in_create): Adjust for
11005 streamer_tree_cache_create prototype change.
11006
a0daf659
RB
110072014-04-03 Richard Biener <rguenther@suse.de>
11008
11009 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
11010 set TREE_CHAIN to NULL_TREE.
11011
f16c88d2
RB
110122014-04-03 Richard Biener <rguenther@suse.de>
11013
11014 PR tree-optimization/60740
11015 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
11016 over all GIMPLE_COND operands.
11017
880a467b
NS
110182014-04-03 Nathan Sidwell <nathan@codesourcery.com>
11019
11020 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
11021 (Weffc++): Remove Scott's numbering, merge lists and reference
11022 Wnon-virtual-dtor.
11023
08866760
NC
110242014-04-03 Nick Clifton <nickc@redhat.com>
11025
11026 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
11027 properly.
11028
5bed50e8
MJ
110292014-04-03 Martin Jambor <mjambor@suse.cz>
11030
11031 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
11032 mention gcc_unreachable before failing.
11033 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
11034 removed symbols.
11035
3e86c6a8
JH
110362014-04-02 Jan Hubicka <hubicka@ucw.cz>
11037
11038 PR ipa/60659
e0a81db1
UB
11039 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
11040 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
11041 (possible_polymorphic_call_targets): For inconsistent contexts
11042 return empty complete list.
11043
2b9912aa
AG
110442014-04-02 Anthony Green <green@moxielogic.com>
11045
11046 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
11047 (extendqisi2, extendhisi2): Define.
11048 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
11049 (WCHAR_TYPE): Change to unsigned int.
11050
1e386bb8
BS
110512014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11052
11053 PR tree-optimization/60733
11054 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
11055 insertion point for PHI candidates to be the end of the feeding
11056 block for the PHI argument.
11057
f4581282
VM
110582014-04-02 Vladimir Makarov <vmakarov@redhat.com>
11059
11060 PR rtl-optimization/60650
11061 * lra-constraints.c (process_alt_operands): Decrease reject for
11062 earlyclobber matching.
11063
a9d46e32
AK
110642014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11065
11066 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
11067
7c40228a
UW
110682014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11069
11070 * config/spu/spu.c (pad_bb): Do not crash when the last
11071 insn is CODE_FOR_blockage.
11072
c6596193
UW
110732014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11074
11075 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
11076 lies outside the target mode.
11077
690c229f
MM
110782014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
11079
11080 PR target/60735
11081 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
11082 software floating point or no floating point registers, do not
11083 allow any type in the FPRs. Eliminate a test for SPE SIMD types
11084 in GPRs that occurs after we tested for GPRs that would never be
11085 true.
11086
11087 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
11088 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
11089 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
11090 specifically allow DDmode, since that does not use the SPE SIMD
11091 instructions.
11092
dad16761
RB
110932014-04-02 Richard Biener <rguenther@suse.de>
11094
11095 PR middle-end/60729
11096 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
11097 MODE_INTs. Properly use negv_optab.
11098 (expand_abs): Likewise.
11099
a1ce39be
RB
111002014-04-02 Richard Biener <rguenther@suse.de>
11101
11102 PR bootstrap/60719
11103 * Makefile.in (install-driver): Guard extra installs with special
11104 names properly.
11105
6fb619e4
MM
111062014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
11107
11108 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11109 Document vec_vgbbd.
11110
2a1ffd6d
RH
111112014-04-01 Richard Henderson <rth@redhat.com>
11112
11113 PR target/60704
11114 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
11115 alternative enabled before register allocation.
11116
98e8dd4d
CLT
111172014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
11118
11119 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
11120 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
11121 typo.
11122 (nios2_large_got_address): Remove unneeded 'sym' parameter.
11123 (nios2_got_address): Update nios2_large_got_address call site.
11124 (nios2_delegitimize_address): New function.
11125 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
11126 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11127 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
11128
8785c60a
MH
111292014-04-01 Martin Husemann <martin@duskware.de>
11130
11131 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
11132 for -mabi=32.
11133
3343cf6a
RS
111342014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
11135
11136 PR rtl-optimization/60604
11137 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
11138 check from register_operand.
11139 (register_operand): Redefine in terms of general_operand.
11140 (nonmemory_operand): Use register_operand for the non-constant cases.
11141
1503cb6b
RB
111422014-04-01 Richard Biener <rguenther@suse.de>
11143
e0a81db1 11144 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 11145
cded08ea
SH
111462014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
11147
11148 * doc/invoke.texi (mapp-regs): Clarify.
11149
7d9088c2
UD
111502014-03-31 Ulrich Drepper <drepper@gmail.com>
11151
11152 * config/i386/avx512fintrin.h (__v32hi): Define type.
11153 (__v64qi): Likewise.
11154 (_mm512_set1_epi8): Define.
11155 (_mm512_set1_epi16): Define.
11156 (_mm512_set4_epi32): Define.
11157 (_mm512_set4_epi64): Define.
11158 (_mm512_set4_pd): Define.
11159 (_mm512_set4_ps): Define.
11160 (_mm512_setr4_epi64): Define.
11161 (_mm512_setr4_epi32): Define.
11162 (_mm512_setr4_pd): Define.
11163 (_mm512_setr4_ps): Define.
11164 (_mm512_setzero_epi32): Define.
11165
c18ff8a4
MJ
111662014-03-31 Martin Jambor <mjambor@suse.cz>
11167
11168 PR middle-end/60647
11169 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
11170 callsite_arguments_match_p. Updated all callers. Also check types of
11171 corresponding formal parameters and actual arguments.
11172 (not_all_callers_have_enough_arguments_p) Renamed to
11173 some_callers_have_mismatched_arguments_p.
11174
9a96d5b7
YR
111752014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
11176
11177 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
11178
6c031d8d
KV
111792014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
11180
11181 PR target/60034
11182 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
11183 section anchor.
11184
429749e2
UB
111852014-03-30 Uros Bizjak <ubizjak@gmail.com>
11186
11187 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
11188 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
11189 Split out
11190 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
11191 Use FMAMODE_NOVF512 mode iterator.
11192 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
11193 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
11194 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
11195 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
11196 Split out
11197 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
11198 Use VF_128_256 mode iterator.
11199 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
11200 Ditto.
11201
1f91035f
JH
112022014-03-28 Jan Hubicka <hubicka@ucw.cz>
11203
11204 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
11205 static chain if needed.
11206
6e071b1e
VM
112072014-03-28 Vladimir Makarov <vmakarov@redhat.com>
11208
11209 PR target/60697
11210 * lra-constraints.c (index_part_to_reg): New.
11211 (process_address): Use it.
11212
e7f31789 112132014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 11214 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
11215
11216 PR target/60648
4bb66ef3
JJ
11217 * expr.c (do_tablejump): Use simplify_gen_binary rather than
11218 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 11219
4bb66ef3
JJ
11220 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
11221 creating non-canonical RTL.
e7f31789 11222
4cd8957f
JH
112232014-03-28 Jan Hubicka <hubicka@ucw.cz>
11224
11225 PR ipa/60243
11226 * ipa-inline.c (want_inline_small_function_p): Short circuit large
11227 functions; reorganize to make cheap checks first.
11228 (inline_small_functions): Do not estimate growth when dumping;
11229 it is expensive.
11230 * ipa-inline.h (inline_summary): Add min_size.
11231 (growth_likely_positive): New function.
11232 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
11233 (set_cond_stmt_execution_predicate): Cleanup.
11234 (estimate_edge_size_and_time): Compute min_size.
11235 (estimate_calls_size_and_time): Likewise.
11236 (estimate_node_size_and_time): Likewise.
11237 (inline_update_overall_summary): Update min_size.
11238 (do_estimate_edge_time): Likewise.
11239 (do_estimate_edge_size): Update.
11240 (do_estimate_edge_hints): Update.
11241 (growth_likely_positive): New function.
11242
ff76f4e2
JJ
112432014-03-28 Jakub Jelinek <jakub@redhat.com>
11244
11245 PR target/60693
11246 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
11247 also if addr has VOIDmode.
11248
ed6eb6dc
KT
112492014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11250
11251 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
11252 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
11253 Declare extern.
11254 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
11255 instructions as well as AdvancedSIMD loads.
11256
b10baa95
KT
112572014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11258
11259 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
11260 Use crypto_aese type.
11261 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
11262 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
11263 crypto_aese, crypto_aesmc. Move to types.md.
11264 * config/arm/types.md (crypto_aes): Split into crypto_aese,
11265 crypto_aesmc.
11266 * config/arm/iterators.md (crypto_type): Likewise.
11267
23a04216
JH
112682014-03-28 Jan Hubicka <hubicka@ucw.cz>
11269
11270 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
11271 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
11272 remove LHS.
23a04216 11273
a4971e68
VM
112742014-03-28 Vladimir Makarov <vmakarov@redhat.com>
11275
11276 PR target/60675
11277 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
11278 regs from checking multi-reg pseudos.
11279
7ac84c02
RR
112802014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11281
11282 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
11283
bd302a18
UW
112842014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11285
11286 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
11287 if it would clobber the stack pointer, even temporarily.
11288
cee9defb
EB
112892014-03-28 Eric Botcazou <ebotcazou@adacore.com>
11290
11291 * mode-switching.c: Make small adjustments to the top comment.
11292
117f16fb
MM
112932014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
11294
11295 * config/rs6000/constraints.md (wD constraint): New constraint to
11296 match the constant integer to get the top DImode/DFmode out of a
11297 vector in a VSX register.
11298
11299 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
11300 match the constant integer to get the top DImode/DFmode out of a
11301 vector in a VSX register.
11302
11303 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
11304 for ISA 2.07.
11305
11306 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
11307 vbpermq builtins.
11308
11309 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
11310 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
11311
11312 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
11313 Optimize vec_extract of 64-bit values, where the value being
11314 extracted is in the top word, where we can use scalar
11315 instructions. Add direct move and store support. Combine the big
429749e2 11316 endian/little endian vector select load support into a single insn.
117f16fb
MM
11317 (vsx_extract_<mode>_internal1): Likewise.
11318 (vsx_extract_<mode>_internal2): Likewise.
11319 (vsx_extract_<mode>_load): Likewise.
11320 (vsx_extract_<mode>_store): Likewise.
11321 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
11322 combined into vsx_extract_<mode>_load.
11323 (vsx_extract_<mode>_one_le): Likewise.
11324
11325 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
11326 define the top 64-bit vector element.
11327
11328 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
11329 constraint.
11330
6788164b
MM
11331 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11332 Document vec_vbpermq builtin.
11333
117f16fb
MM
11334 PR target/60672
11335 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
11336 enable use of xxsldwi and xxpermdi builtin functions.
11337 (vec_xxpermdi): Likewise.
11338
11339 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11340 Document use of vec_xxsldwi and vec_xxpermdi builtins.
11341
9e038952
VM
113422014-03-27 Vladimir Makarov <vmakarov@redhat.com>
11343
11344 PR rtl-optimization/60650
f4581282 11345 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
11346 first_p. Use it.
11347 (find_spills_for): New.
11348 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
11349 Spill all pseudos on the second iteration.
11350
324dc401
MP
113512014-03-27 Marek Polacek <polacek@redhat.com>
11352
11353 PR c/50347
11354 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
11355 types.
11356
6e77facf
AK
113572014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11358
11359 * config/s390/s390.c (s390_can_use_return_insn): Check for
11360 call-saved FPRs on 31 bit.
11361
47519a14
JJ
113622014-03-27 Jakub Jelinek <jakub@redhat.com>
11363
11364 PR middle-end/60682
11365 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
11366 if they need regimplification, just drop them instead of
11367 calling gimple_regimplify_operands on them.
11368
0b7f8166
MS
113692014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
11370
11371 PR target/60580
11372 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
11373 (aarch64_frame_pointer_required): Adjust logic.
11374 (aarch64_can_eliminate): Adjust logic.
11375 (aarch64_override_options_after_change): Adjust logic.
11376
2f2a7d15
DC
113772014-03-27 Dehao Chen <dehao@google.com>
11378
11379 * ipa-inline.c (early_inliner): Update node's inline info.
11380
a0dbf285
DC
113812014-03-26 Dehao Chen <dehao@google.com>
11382
11383 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
11384 compiler inserted conditional jumps for NAN float check.
11385
ed0ca1e1
JJ
113862014-03-26 Jakub Jelinek <jakub@redhat.com>
11387
07d72e1d
JJ
11388 * ubsan.h (ubsan_create_data): Change second argument's type
11389 to const location_t *.
11390 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
11391 _("<unknown>").
11392 (ubsan_create_data): Change second argument to const location_t *PLOC.
11393 Create Loc field whenever PLOC is non-NULL.
11394 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
11395 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
11396 callers.
11397
ed0ca1e1
JJ
11398 PR other/59545
11399 * real.c (real_to_integer2): Change type of low to UHWI.
11400
b9487dd8
TB
114012014-03-26 Tobias Burnus <burnus@net-b.de>
11402
11403 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
11404 (CILK_SELF_SPECS): New define.
11405 (driver_self_specs): Use it.
11406
3a2700f6
RB
114072014-03-26 Richard Biener <rguenther@suse.de>
11408
11409 * tree-pretty-print.c (percent_K_format): Implement special
11410 case for LTO and its stripped down BLOCK tree.
11411
368b454d
JJ
114122014-03-26 Jakub Jelinek <jakub@redhat.com>
11413
aa6b742f
JJ
11414 PR sanitizer/60636
11415 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
11416
368b454d
JJ
11417 * tree-vrp.c (simplify_internal_call_using_ranges): If only
11418 one range is range_int_cst_p, but not both, at least optimize
11419 addition/subtraction of 0 and multiplication by 0 or 1.
11420 * gimple-fold.c (gimple_fold_call): Fold
11421 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
11422 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
11423 INTEGER_CSTs, try to fold at least x * 0 and y - y.
11424
c7e30a96
EB
114252014-03-26 Eric Botcazou <ebotcazou@adacore.com>
11426
11427 PR rtl-optimization/60452
11428 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
11429 <case REG>: Return 1 for invalid offsets from the frame pointer.
11430
d615d763
MP
114312014-03-26 Marek Polacek <polacek@redhat.com>
11432
11433 PR c/37428
11434 * doc/extend.texi (C Extensions): Mention variable-length arrays in
11435 a structure/union.
11436
1b226529
MP
114372014-03-26 Marek Polacek <polacek@redhat.com>
11438
11439 PR c/39525
11440 * doc/extend.texi (Designated Inits): Describe what happens to omitted
11441 field members.
11442
6686e0bc
MP
114432014-03-26 Marek Polacek <polacek@redhat.com>
11444
11445 PR other/59545
11446 * ira-color.c (update_conflict_hard_regno_costs): Perform the
11447 multiplication in unsigned type.
11448
d4fbc3ae
CJW
114492014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
11450
11451 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
11452
dfa6c87b
CJW
114532014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
11454
11455 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
11456
9de6f6c3
JH
114572014-03-25 Jan Hubicka <hubicka@ucw.cz>
11458
11459 PR ipa/60315
11460 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
11461 * ipa-inline.c (inline_small_functions): Skip edges to
11462 __builtlin_unreachable.
9de6f6c3
JH
11463 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
11464 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
11465 predicate to __bulitin_unreachable.
429749e2
UB
11466 (set_cond_stmt_execution_predicate): Fix issue when
11467 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
11468 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
11469 propagate to inline clones.
11470 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
11471 to unreachable.
11472 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
11473 * cgraphclones.c (cgraph_clone_node): If call destination is already
11474 ureachable, do not redirect it back.
11475 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
11476 unreachable.
11477
d7636f56
JH
114782014-03-25 Jan Hubicka <hubicka@ucw.cz>
11479
11480 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
11481 Do not modify inline clones.
11482
d1873c57
JJ
114832014-03-25 Jakub Jelinek <jakub@redhat.com>
11484
11485 * config/i386/i386.md (general_sext_operand): New mode attr.
11486 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
11487 don't generate (sign_extend (const_int)).
11488 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
11489 operands[2]. Use We constraint instead of <i> and
11490 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
11491 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
11492 * config/i386/constraints.md (We): New constraint.
11493 * config/i386/predicates.md (x86_64_sext_operand,
11494 sext_operand): New predicates.
11495
b5165eb0
MJ
114962014-03-25 Martin Jambor <mjambor@suse.cz>
11497
11498 PR ipa/60600
11499 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
11500 inconsistent devirtualizations to __builtin_unreachable.
11501
3102858d
MP
115022014-03-25 Marek Polacek <polacek@redhat.com>
11503
11504 PR c/35449
11505 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
11506
4b1e108c
AL
115072014-03-25 Alan Lawrence <alan.lawrence@arm.com>
11508
11509 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
11510 order of elements for big-endian.
11511
40b0722f
RB
115122014-03-25 Richard Biener <rguenther@suse.de>
11513
11514 PR middle-end/60635
11515 * gimplify-me.c (gimple_regimplify_operands): Update the
11516 re-gimplifed stmt.
11517
4a5798de
MJ
115182014-03-25 Martin Jambor <mjambor@suse.cz>
11519
11520 PR ipa/59176
11521 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
11522 (lto_output_varpool_node): Likewise.
11523 (input_overwrite_node): Likewise.
11524 (input_varpool_node): Likewise.
11525
585d0088
RB
115262014-03-25 Richard Biener <rguenther@suse.de>
11527
429749e2 11528 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
11529 (run_gcc): Likewise.
11530
a8acccdd
JJ
115312014-03-25 Jakub Jelinek <jakub@redhat.com>
11532
51ee05d0
JJ
11533 * combine.c (simplify_compare_const): Add MODE argument.
11534 Handle mode_width 0 as very large mode_width.
11535 (try_combine, simplify_comparison): Adjust callers.
11536
a8acccdd
JJ
11537 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
11538 type to avoid signed integer overflow.
11539 * explow.c (plus_constant): Likewise.
11540
57fc74a4
DV
115412014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
11542
11543 * doc/generic.texi: Correct typos.
11544
09f15d1b
TB
115452014-03-24 Tobias Burnus <burnus@net-b.de>
11546
11547 * doc/invoke.texi (-flto): Expand section about
11548 using static libraries with LTO.
11549
72a4ddf2
AK
115502014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11551
11552 PR rtl-optimization/60501
11553 * optabs.def (addptr3_optab): New optab.
11554 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
11555 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
11556 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
11557
11558 * lra.c (emit_add3_insn): Use the addptr pattern if available.
11559
11560 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
11561
0b192937
UD
115622014-03-24 Ulrich Drepper <drepper@gmail.com>
11563
2b2384e8
UD
11564 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
11565 _mm512_set1_pd.
11566
0b192937
UD
11567 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
11568 (_mm256_undefined_ps): Define.
11569 (_mm256_undefined_pd): Define.
11570 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
11571 (_mm_undefined_pd): Define.
11572 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
11573 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
11574 (_mm512_undefined_ps): Define.
11575 (_mm512_undefined_pd): Define.
11576 Use _mm*_undefined_*.
11577 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
11578
252c7556
AV
115792014-03-24 Alex Velenko <Alex.Velenko@arm.com>
11580
11581 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
11582 (lshr_simd): DI mode added.
11583 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
11584 (aarch64_ushr_simddi): Likewise.
11585 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
11586 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
11587 (vshrd_n_u64): Likewise.
11588
15e3d4f1
RO
115892014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11590
11591 * Makefile.in (s-macro_list): Depend on cc1.
11592
1858c2d3
TJ
115932014-03-23 Teresa Johnson <tejohnson@google.com>
11594
11595 * ipa-utils.c (ipa_print_order): Use specified dump file.
11596
f87604f8
EB
115972014-03-23 Eric Botcazou <ebotcazou@adacore.com>
11598
11599 PR rtl-optimization/60601
11600 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
11601
11602 * gcc.c (eval_spec_function): Initialize save_growing_value.
11603
3db31fd1
JJ
116042014-03-22 Jakub Jelinek <jakub@redhat.com>
11605
f451d3a8
JJ
11606 PR sanitizer/60613
11607 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
11608 code == MINUS_EXPR, never swap op0 with op1.
11609
3db31fd1
JJ
11610 * toplev.c (init_local_tick): Avoid signed integer multiplication
11611 overflow.
11612 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
11613 shift by first operand's bitsize.
11614
e49080ec
JJ
116152014-03-21 Jakub Jelinek <jakub@redhat.com>
11616
11617 PR target/60610
11618 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
11619 redefine to 1 or 0.
11620 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
11621 TARGET_ISA_64BIT_P(x).
11622
44eb6c40
BS
116232014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11624
11625 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
11626 pattern for vector nor instead of subtract from splat(-1).
11627 (altivec_expand_vec_perm_const_le): Likewise.
11628
ec6f831a
RH
116292014-03-21 Richard Henderson <rth@twiddle.net>
11630
11631 PR target/60598
11632 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
11633 related insns after epilogue_completed.
11634
3d8d0043
MJ
116352014-03-21 Martin Jambor <mjambor@suse.cz>
11636
11637 PR ipa/59176
11638 * cgraph.h (symtab_node): New flag body_removed.
11639 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
11640 when removing bodies.
11641 * symtab.c (dump_symtab_base): Dump body_removed flag.
11642 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
11643 had their bodies removed.
11644
d833415c
MJ
116452014-03-21 Martin Jambor <mjambor@suse.cz>
11646
11647 PR ipa/60419
11648 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
11649 in the border.
11650
400a4f6c
RB
116512014-03-21 Richard Biener <rguenther@suse.de>
11652
11653 PR tree-optimization/60577
11654 * tree-core.h (struct tree_base): Document nothrow_flag use
9c85aeb6
EB
11655 in DECL_NONALIASED.
11656 * tree.h (DECL_NONALIASED): New.
400a4f6c 11657 (may_be_aliased): Adjust.
9c85aeb6 11658 * coverage.c (build_var): Set DECL_NONALIASED.
400a4f6c 11659
c6c2314f
EB
116602014-03-20 Eric Botcazou <ebotcazou@adacore.com>
11661
11662 * expr.c (expand_expr_real_1): Remove outdated comment.
11663
d02b6ac7
JJ
116642014-03-20 Jakub Jelinek <jakub@redhat.com>
11665
b8f045e2
JJ
11666 PR middle-end/60597
11667 * ira.c (adjust_cleared_regs): Call copy_rtx on
11668 *reg_equiv[REGNO (loc)].src_p before passing it to
11669 simplify_replace_fn_rtx.
11670
d02b6ac7
JJ
11671 PR target/60568
11672 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
11673 into CONST, put pic register as first operand of PLUS. Use
11674 gen_const_mem for both 32-bit and 64-bit PIC got loads.
11675
e2f98c01
RR
116762014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11677
11678 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
11679
7075c792
EB
116802014-03-20 Eric Botcazou <ebotcazou@adacore.com>
11681
11682 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
11683 around for store forwarding issue in the FPU on the UT699.
11684 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
11685 loads and operations if -mfix-ut699 is specified.
11686 (divtf3_hq): Tweak attribute.
11687 (sqrttf2_hq): Likewise.
11688
9ee5337d
EB
116892014-03-20 Eric Botcazou <ebotcazou@adacore.com>
11690
11691 * calls.c (store_one_arg): Remove incorrect const qualification on the
11692 type of the temporary.
11693 * cfgexpand.c (expand_return): Likewise.
11694 * expr.c (expand_constructor): Likewise.
11695 (expand_expr_real_1): Likewise.
11696
a69e09c8
ZC
116972014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
11698
11699 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
11700 of parts.
11701
8659d57b
KK
117022014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
11703
11704 PR target/60039
11705 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
11706
985e0d33
JG
117072014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
11708
11709 * config/arm/aarch-common-protos.h
11710 (alu_cost_table): Fix spelling of "extend".
11711 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
11712
ce2f49b3
RB
117132014-03-19 Richard Biener <rguenther@suse.de>
11714
11715 PR middle-end/60553
11716 * tree-core.h (tree_type_common): Re-order pointer members
11717 to reduce recursion depth during GC walks.
11718
6daa2d91
MP
117192014-03-19 Marek Polacek <polacek@redhat.com>
11720
11721 PR sanitizer/60569
11722 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
11723 before accessing it.
11724
8c9cfbe6
RB
117252014-03-19 Richard Biener <rguenther@suse.de>
11726
11727 PR lto/59543
11728 * lto-streamer-in.c (input_function): In WPA stage do not drop
11729 debug stmts.
11730
3efe2e2c
JJ
117312014-03-19 Jakub Jelinek <jakub@redhat.com>
11732
11733 PR tree-optimization/60559
11734 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
11735 with build_zero_cst assignment.
11736
234f76cb
KT
117372014-03-18 Kai Tietz <ktietz@redhat.com>
11738
11739 PR rtl-optimization/56356
11740 * sdbout.c (sdbout_parms): Verify that parms'
11741 incoming argument is valid.
11742 (sdbout_reg_parms): Likewise.
11743
58ca6edf
RH
117442014-03-18 Richard Henderson <rth@redhat.com>
11745
11746 PR target/60562
11747 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
11748 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 11749 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
11750
117512014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
11752
4bb66ef3 11753 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 11754 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 11755 Italicize plugin event names in description. Explain that
429749e2
UB
11756 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
11757 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 11758 Explain what pragmas with expansion are.
b318e404 11759
eb14a79f
ML
117602014-03-18 Martin Liska <mliska@suse.cz>
11761
11762 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
11763 gimple call statement is update.
11764 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
11765 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
11766
415e2e6b
JJ
117672014-03-18 Jakub Jelinek <jakub@redhat.com>
11768
ead96f13
JJ
11769 PR sanitizer/60557
11770 * ubsan.c (ubsan_instrument_unreachable): Call
11771 initialize_sanitizer_builtins.
11772 (ubsan_pass): Likewise.
11773
415e2e6b
JJ
11774 PR sanitizer/60535
11775 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
11776 varpool_finalize_decl instead of rest_of_decl_compilation.
11777
4ca40f52
RB
117782014-03-18 Richard Biener <rguenther@suse.de>
11779
11780 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
11781 by using bitmap_and_compl instead of bitmap_and_compl_into.
11782 (df_rd_transfer_function): Likewise.
11783
6404e190
RB
117842014-03-18 Richard Biener <rguenther@suse.de>
11785
11786 * doc/lto.texi (fresolution): Fix typo.
11787
b9abf793
RB
117882014-03-18 Richard Biener <rguenther@suse.de>
11789
11790 * doc/invoke.texi (flto): Update for changes in 4.9.
11791
3f00cf18
RB
117922014-03-18 Richard Biener <rguenther@suse.de>
11793
11794 * doc/loop.texi: Remove section on the removed lambda framework.
11795 Update loop docs with recent changes in preserving loop structure.
11796
c2679d84
RB
117972014-03-18 Richard Biener <rguenther@suse.de>
11798
11799 * doc/lto.texi (-fresolution): Document.
11800
c07990cc
RB
118012014-03-18 Richard Biener <rguenther@suse.de>
11802
11803 * doc/contrib.texi: Adjust my name.
11804
ed9c79e1
JJ
118052014-03-18 Jakub Jelinek <jakub@redhat.com>
11806
11807 PR ipa/58721
11808 * internal-fn.c: Include diagnostic-core.h.
11809 (expand_BUILTIN_EXPECT): New function.
11810 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
11811 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
11812 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
11813 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
11814 IFN_BUILTIN_EXPECT.
11815 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
11816 Revert 3 argument __builtin_expect code.
11817 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
11818 * gimple-fold.c (gimple_fold_call): Likewise.
11819 * tree.h (fold_builtin_expect): New prototype.
11820 * builtins.c (build_builtin_expect_predicate): Add predictor
11821 argument, if non-NULL, create 3 argument __builtin_expect.
11822 (fold_builtin_expect): No longer static. Add ARG2 argument,
11823 pass it through to build_builtin_expect_predicate.
11824 (fold_builtin_2): Adjust caller.
11825 (fold_builtin_3): Handle BUILT_IN_EXPECT.
11826 * internal-fn.def (BUILTIN_EXPECT): New.
11827
118282014-03-18 Tobias Burnus <burnus@net-b.de>
11829
11830 PR ipa/58721
11831 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
11832 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
11833 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
11834
118352014-03-18 Jan Hubicka <hubicka@ucw.cz>
11836
11837 PR ipa/58721
11838 * predict.c (combine_predictions_for_bb): Fix up formatting.
11839 (expr_expected_value_1, expr_expected_value): Add predictor argument,
11840 fill what it points to if non-NULL.
11841 (tree_predict_by_opcode): Adjust caller, use the predictor.
11842 * predict.def (PRED_COMPARE_AND_SWAP): Add.
11843
e33da4a1
EB
118442014-03-18 Eric Botcazou <ebotcazou@adacore.com>
11845
11846 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
11847 proper constant for the store mode.
11848
1fed15fc
IE
118492014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
11850
11851 * symtab.c (change_decl_assembler_name): Fix transparent alias
11852 chain construction.
11853
454fdba9
RL
118542014-03-16 Renlin Li <Renlin.Li@arm.com>
11855
11856 * config/aarch64/aarch64.c: Correct the comments about the
11857 aarch64 stack layout.
11858
e2110f8f
TS
118592014-03-18 Thomas Schwinge <thomas@codesourcery.com>
11860
11861 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
11862 check for GF_OMP_FOR_KIND_FOR.
11863
7c831c4d
KY
118642013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
11865
11866 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
11867 ymm and zmm register names.
11868
e318c1e1
JJ
118692014-03-17 Jakub Jelinek <jakub@redhat.com>
11870
11871 PR target/60516
11872 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
11873 note creation for the 2010-08-31 changes.
11874
ab2ffbeb
MP
118752014-03-17 Marek Polacek <polacek@redhat.com>
11876
11877 PR middle-end/60534
11878 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
11879 as -fno-tree-loop-vectorize.
11880 (expand_omp_simd): Likewise.
11881
890fa568
EB
118822014-03-15 Eric Botcazou <ebotcazou@adacore.com>
11883
11884 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
11885 (eligible_for_call_delay): New prototype.
11886 * config/sparc/sparc.c (tls_call_delay): Rename into...
11887 (eligible_for_call_delay): ...this. Return false if the instruction
11888 cannot be put in the delay slot of a branch.
11889 (eligible_for_restore_insn): Simplify.
11890 (eligible_for_return_delay): Return false if the instruction cannot be
11891 put in the delay slot of a branch and simplify.
11892 (eligible_for_sibcall_delay): Return false if the instruction cannot be
11893 put in the delay slot of a branch.
11894 * config/sparc/sparc.md (fix_ut699): New attribute.
11895 (tls_call_delay): Delete.
11896 (in_call_delay): Reimplement.
11897 (eligible_for_sibcall_delay): Rename into...
11898 (in_sibcall_delay): ...this.
11899 (eligible_for_return_delay): Rename into...
11900 (in_return_delay): ...this.
11901 (in_branch_delay): Reimplement.
11902 (in_uncond_branch_delay): Delete.
11903 (in_annul_branch_delay): Delete.
11904
cfce90ac
RH
119052014-03-14 Richard Henderson <rth@redhat.com>
11906
11907 PR target/60525
11908 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
11909 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
11910 (*floathi<X87MODEF>2_i387_with_temp): Remove.
11911 (floathi splitters): Remove.
11912 (float<SWI48x>xf2): New pattern.
11913 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
11914 code that tried to handle DImode for 32-bit, but which was excluded
11915 by the pattern's condition. Drop allocation of stack temporary.
11916 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
11917 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
11918 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
11919 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
11920 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
11921 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
11922 (*float<SWI48><MODEF>2_sse_interunit): Remove.
11923 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
11924 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
11925 (*float<SWI48x><X87MODEF>2_i387): Remove.
11926 (all float _with_temp splitters): Remove.
11927 (*float<SWI48x><MODEF>2_i387): New pattern.
11928 (*float<SWI48><MODEF>2_sse): New pattern.
11929 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
11930 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
11931
91035653
JJ
119322014-03-14 Jakub Jelinek <jakub@redhat.com>
11933 Marek Polacek <polacek@redhat.com>
11934
11935 PR middle-end/60484
11936 * common.opt (dump_base_name_prefixed): New Variable.
11937 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
11938 if x_dump_base_name_prefixed is already set, set it at the end.
11939
95921002
VM
119402014-03-14 Vladimir Makarov <vmakarov@redhat.com>
11941
11942 PR rtl-optimization/60508
11943 * lra-constraints.c (get_reload_reg): Add new parameter
11944 in_subreg_p.
11945 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
11946 Pass the new parameter values.
11947
25e57622
RB
119482014-03-14 Richard Biener <rguenther@suse.de>
11949
11950 * common.opt: Revert unintented changes from r205065.
11951 * opts.c: Likewise.
11952
1f3388fe
RB
119532014-03-14 Richard Biener <rguenther@suse.de>
11954
11955 PR middle-end/60518
11956 * cfghooks.c (split_block): Properly adjust all loops the
11957 block was a latch of.
11958
119592014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
11960
11961 PR lto/60461
11962 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
11963 and simplify it.
11964
2832dc22
GJL
119652014-03-14 Georg-Johann Lay <avr@gjlay.de>
11966
11967 PR target/59396
11968 * config/avr/avr.c (avr_set_current_function): Pass function name
11969 through default_strip_name_encoding before sanity checking instead
11970 of skipping the first char of the assembler name.
11971
3386d77e
RH
119722014-03-13 Richard Henderson <rth@redhat.com>
11973
11974 PR debug/60438
11975 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
11976 (ix86_force_to_memory, ix86_free_from_memory): Remove.
11977 * config/i386/i386-protos.h: Likewise.
11978 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
11979 in the expander instead of a splitter.
11980 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
11981 any possibility of requiring a memory.
11982 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
11983 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
11984 (fp branch splitters): Update for ix86_split_fp_branch.
11985 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
11986 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
11987 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
11988 (*fop_<MODEF>_2_i387): Remove f/r alternative.
11989 (*fop_<MODEF>_3_i387): Likewise.
11990 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
11991 (splitters for the fop_* register patterns): Remove.
11992 (fscalexf4_i387): Rename from *fscalexf4_i387.
11993 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 11994
5b5d7f31
JJ
119952014-03-13 Jakub Jelinek <jakub@redhat.com>
11996
11997 PR tree-optimization/59779
11998 * tree-dfa.c (get_ref_base_and_extent): Use double_int
11999 type for bitsize and maxsize instead of HOST_WIDE_INT.
12000
bdc6e1ae
SB
120012014-03-13 Steven Bosscher <steven@gcc.gnu.org>
12002
12003 PR rtl-optimization/57320
12004 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
12005 the CFG after thread_prologue_and_epilogue_insns.
12006
7891065a
VM
120072014-03-13 Vladimir Makarov <vmakarov@redhat.com>
12008
12009 PR rtl-optimization/57189
12010 * lra-constraints.c (process_alt_operands): Disfavor spilling
12011 vector pseudos.
12012
eba14fca
CP
120132014-03-13 Cesar Philippidis <cesar@codesourcery.com>
12014
429749e2 12015 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 12016
f661b085
JJ
120172014-03-13 Jakub Jelinek <jakub@redhat.com>
12018
12019 PR tree-optimization/59025
12020 PR middle-end/60418
12021 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
12022 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
12023
8f3a3138
GJL
120242014-03-13 Georg-Johann Lay <avr@gjlay.de>
12025
12026 PR target/60486
12027 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
12028 calls of avr_out_plus_1.
12029
d731ee04
BC
120302014-03-13 Bin Cheng <bin.cheng@arm.com>
12031
12032 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
12033 BB's single pred and update the father loop's latch info later.
12034
a16a872d
MM
120352014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
12036
12037 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
12038 (VEC_M): Likewise.
12039 (VEC_N): Likewise.
12040 (VEC_R): Likewise.
12041 (VEC_base): Likewise.
12042 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
12043 registers, we need to swap double words in little endian mode.
12044
12045 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
12046 to be a container mode for 128-bit integer operations added in ISA
12047 2.07. Unlike TImode and PTImode, the preferred register set is
12048 the Altivec/VMX registers for the 128-bit operations.
12049
12050 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
12051 declarations.
12052 (rs6000_split_128bit_ok_p): Likewise.
12053
12054 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
12055 macros for creating ISA 2.07 normal and overloaded builtin
12056 functions with 3 arguments.
12057 (BU_P8V_OVERLOAD_3): Likewise.
12058 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
12059 for use as overloaded functions.
12060 (VPERM_1TI_UNS): Likewise.
12061 (VSEL_1TI): Likewise.
12062 (VSEL_1TI_UNS): Likewise.
12063 (ST_INTERNAL_1ti): Likewise.
12064 (LD_INTERNAL_1ti): Likewise.
12065 (XXSEL_1TI): Likewise.
12066 (XXSEL_1TI_UNS): Likewise.
12067 (VPERM_1TI): Likewise.
12068 (VPERM_1TI_UNS): Likewise.
12069 (XXPERMDI_1TI): Likewise.
12070 (SET_1TI): Likewise.
12071 (LXVD2X_V1TI): Likewise.
12072 (STXVD2X_V1TI): Likewise.
12073 (VEC_INIT_V1TI): Likewise.
12074 (VEC_SET_V1TI): Likewise.
12075 (VEC_EXT_V1TI): Likewise.
12076 (EQV_V1TI): Likewise.
12077 (NAND_V1TI): Likewise.
12078 (ORC_V1TI): Likewise.
12079 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
12080 added in ISA 2.07. Add both normal 'altivec' builtins, and the
12081 overloaded builtin.
12082 (VADDUQM): Likewise.
12083 (VSUBCUQ): Likewise.
12084 (VADDEUQM): Likewise.
12085 (VADDECUQ): Likewise.
12086 (VSUBEUQM): Likewise.
12087 (VSUBECUQ): Likewise.
12088
12089 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
12090 __int128_t and __uint128_t types.
12091 (__uint128_type): Likewise.
12092 (altivec_categorize_keyword): Add support for vector __int128_t,
12093 vector __uint128_t, vector __int128, and vector unsigned __int128
12094 as a container type for TImode operations that need to be done in
12095 VSX/Altivec registers.
12096 (rs6000_macro_to_expand): Likewise.
12097 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
12098 to support 128-bit integer instructions vaddcuq, vadduqm,
12099 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
12100 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
12101
12102 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
12103 for V1TImode, and set up preferences to use VSX/Altivec registers.
12104 Setup VSX reload handlers.
a16a872d
MM
12105 (rs6000_debug_reg_global): Likewise.
12106 (rs6000_init_hard_regno_mode_ok): Likewise.
12107 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 12108 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
12109 (easy_altivec_constant): Likewise.
12110 (output_vec_const_move): Likewise.
12111 (rs6000_expand_vector_set): Convert V1TImode set and extract to
12112 simple move.
12113 (rs6000_expand_vector_extract): Likewise.
12114 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
12115 addressing.
12116 (rs6000_const_vec): Add support for V1TImode.
12117 (rs6000_emit_le_vsx_load): Swap double words when loading or
12118 storing TImode/V1TImode.
12119 (rs6000_emit_le_vsx_store): Likewise.
12120 (rs6000_emit_le_vsx_move): Likewise.
12121 (rs6000_emit_move): Add support for V1TImode.
12122 (altivec_expand_ld_builtin): Likewise.
12123 (altivec_expand_st_builtin): Likewise.
12124 (altivec_expand_vec_init_builtin): Likewise.
12125 (altivec_expand_builtin): Likewise.
12126 (rs6000_init_builtins): Add support for V1TImode type. Add
12127 support for ISA 2.07 128-bit integer builtins. Define type names
12128 for the VSX/Altivec vector types.
12129 (altivec_init_builtins): Add support for overloaded vector
12130 functions with V1TImode type.
0bb29a05 12131 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
12132 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
12133 external function.
12134 (rs6000_split_128bit_ok_p): Likewise.
12135 (rs6000_handle_altivec_attribute): Create V1TImode from vector
12136 __int128_t and vector __uint128_t.
12137
12138 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
12139 and mode attributes.
12140 (VSX_M): Likewise.
12141 (VSX_M2): Likewise.
12142 (VSm): Likewise.
12143 (VSs): Likewise.
12144 (VSr): Likewise.
12145 (VSv): Likewise.
12146 (VS_scalar): Likewise.
12147 (VS_double): Likewise.
0bb29a05 12148 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 12149
0bb29a05
UB
12150 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
12151 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
12152 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
12153 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
12154 and TImode types for use with the builtin functions.
12155 (V1TI_type_node): Likewise.
12156 (unsigned_V1TI_type_node): Likewise.
12157 (intTI_type_internal_node): Likewise.
12158 (uintTI_type_internal_node): Likewise.
12159
0bb29a05
UB
12160 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
12161 128-bit builtin functions.
a16a872d
MM
12162 (UNSPEC_VADDEUQM): Likewise.
12163 (UNSPEC_VADDECUQ): Likewise.
12164 (UNSPEC_VSUBCUQ): Likewise.
12165 (UNSPEC_VSUBEUQM): Likewise.
12166 (UNSPEC_VSUBECUQ): Likewise.
12167 (VM): Add V1TImode to vector mode iterators.
12168 (VM2): Likewise.
12169 (VI_unit): Likewise.
12170 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
12171 (altivec_vaddcuq): Likewise.
12172 (altivec_vsubuqm): Likewise.
12173 (altivec_vsubcuq): Likewise.
12174 (altivec_vaddeuqm): Likewise.
12175 (altivec_vaddecuq): Likewise.
12176 (altivec_vsubeuqm): Likewise.
12177 (altivec_vsubecuq): Likewise.
12178
12179 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
12180 mode iterators.
12181 (BOOL_128): Likewise.
12182 (BOOL_REGS_OUTPUT): Likewise.
12183 (BOOL_REGS_OP1): Likewise.
12184 (BOOL_REGS_OP2): Likewise.
12185 (BOOL_REGS_UNARY): Likewise.
12186 (BOOL_REGS_AND_CR0): Likewise.
12187
12188 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
12189 128-bit integer builtin support.
12190 (vec_vadduqm): Likewise.
12191 (vec_vaddecuq): Likewise.
12192 (vec_vaddeuqm): Likewise.
12193 (vec_vsubecuq): Likewise.
12194 (vec_vsubeuqm): Likewise.
12195 (vec_vsubcuq): Likewise.
12196 (vec_vsubuqm): Likewise.
12197
12198 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
12199 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
12200 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
12201 128-bit integer add/subtract to ISA 2.07.
12202
eeac7d15
JR
122032014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
12204
12205 * config/arc/arc.c (arc_predicate_delay_insns):
12206 Fix third argument passed to conditionalize_nonjump.
12207
bf0f324e
YZ
122082014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
12209
12210 * config/aarch64/aarch64-builtins.c
12211 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
12212 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
12213 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
12214 instead of __builtin_lfloor.
12215 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
12216
bf4787b2
JJ
122172014-03-12 Jakub Jelinek <jakub@redhat.com>
12218
12219 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
12220 (tree_ssa_ifcombine_bb_1): New function.
12221 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
12222 is an empty forwarder block to then_bb or vice versa and then_bb
12223 and else_bb are effectively swapped.
12224
7d55b948
CB
122252014-03-12 Christian Bruel <christian.bruel@st.com>
12226
12227 PR target/60264
0bb29a05
UB
12228 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
12229 REG_CFA_DEF_CFA note.
7d55b948
CB
12230 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
12231 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
12232
882a5fbe
TP
122332014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
12234
12235 PR tree-optimization/60454
12236 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
12237
a3cd0246
KT
122382014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12239
12240 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
12241 Do not define target_cpu_default2 to generic.
12242 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
12243 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
12244 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
12245
c888139c
JJ
122462014-03-12 Jakub Jelinek <jakub@redhat.com>
12247 Marc Glisse <marc.glisse@inria.fr>
12248
12249 PR tree-optimization/60502
12250 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
12251 instead of build_low_bits_mask.
12252
b24ca895
JJ
122532014-03-12 Jakub Jelinek <jakub@redhat.com>
12254
12255 PR middle-end/60482
12256 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
12257 if there are multiple uses, but op doesn't live on E edge.
12258 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
12259 clobber stmts before __builtin_unreachable.
12260
f1257268
RS
122612014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
12262
12263 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
12264 hard_frame_pointer_rtx.
12265 * cse.c (cse_insn): Remove volatile check.
12266 * cselib.c (cselib_process_insn): Likewise.
12267 * dse.c (scan_insn): Likewise.
12268
bae56bbb
JR
122692014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
12270
0bb29a05
UB
12271 * config/arc/arc.c (conditionalize_nonjump): New function,
12272 broken out of ...
12273 (arc_ifcvt): ... this.
bae56bbb
JR
12274 (arc_predicate_delay_insns): Use it.
12275
167ba5b9
JR
122762014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
12277
12278 * config/arc/predicates.md (extend_operand): During/after reload,
12279 allow const_int_operand.
12280 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
12281 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
12282 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
12283 to "i".
12284 (umulsi3_highpart_i): Likewise.
12285
dfd7d2d6
RB
122862014-03-11 Richard Biener <rguenther@suse.de>
12287
12288 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
12289 Add asserts to guard possible wrong-code bugs.
12290
af1ab449
RB
122912014-03-11 Richard Biener <rguenther@suse.de>
12292
12293 PR tree-optimization/60429
12294 PR tree-optimization/60485
12295 * tree-ssa-structalias.c (set_union_with_increment): Properly
12296 take into account all fields that overlap the shifted vars.
12297 (do_sd_constraint): Likewise.
12298 (do_ds_constraint): Likewise.
12299 (get_constraint_for_ptr_offset): Likewise.
12300
747425d0
CLT
123012014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
12302
12303 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
12304 (nios2_compute_frame_layout):
12305 Add calculation of cfun->machine->fp_save_offset.
12306 (nios2_expand_prologue): Correct setting of frame pointer register
12307 in prologue.
12308 (nios2_expand_epilogue): Update recovery of stack pointer from
12309 frame pointer accordingly.
12310 (nios2_initial_elimination_offset): Update calculation of offset
12311 for eliminating to HARD_FRAME_POINTER_REGNUM.
12312
31dad809
JJ
123132014-03-10 Jakub Jelinek <jakub@redhat.com>
12314
12315 PR ipa/60457
12316 * ipa.c (symtab_remove_unreachable_nodes): Don't call
12317 cgraph_get_create_node on VAR_DECLs.
12318
3c1c08d6
RB
123192014-03-10 Richard Biener <rguenther@suse.de>
12320
12321 PR middle-end/60474
12322 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
12323
21d89690
DR
123242014-03-08 Douglas B Rupp <rupp@gnat.com>
12325
12326 * config/vms/vms.opt (vms_float_format): New variable.
12327
634b8e9b
TB
123282014-03-08 Tobias Burnus <burnus@net-b.de>
12329
0bb29a05 12330 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 12331
f42c637e
PM
123322014-03-08 Paulo Matos <paulo@matos-sorge.com>
12333 Richard Biener <rguenther@suse.de>
12334
12335 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
12336 consistently accross all TUs.
12337 (run_gcc): Enable -fshort-double automatically at link at link-time
12338 and disallow override.
12339
bd65fc87
RS
123402014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
12341
12342 PR target/58271
12343 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
12344 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
12345 if they can't be used.
12346
040c446d
RO
123472014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12348
0bb29a05
UB
12349 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
12350 for Solaris 11/x86 ld.
040c446d
RO
12351 * configure: Regenerate.
12352
caa16d41
RO
123532014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12354
12355 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
12356 (LIB_TLS_SPEC): Save as ld_tls_libs.
12357 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
12358 (HAVE_AS_IX86_TLSLDM): New test.
12359 * configure, config.in: Regenerate.
12360 * config/i386/i386.c (legitimize_tls_address): Fall back to
12361 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
12362 cannot support TLS_MODEL_LOCAL_DYNAMIC.
12363 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
12364 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
12365
f3d83ffe
PM
123662014-03-07 Paulo Matos <paulo@matos-sorge.com>
12367
12368 * common.opt (fira-loop-pressure): Mark as optimization.
12369
b17a8b07
TS
123702014-03-07 Thomas Schwinge <thomas@codesourcery.com>
12371
12372 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
12373 an OpenMP mappable type.
12374
4973b0f9
MK
123752014-03-06 Matthias Klose <doko@ubuntu.com>
12376
12377 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
12378 MULTILIB_OSDIRNAMES is not defined.
12379
ab19cc6c
JJ
123802014-03-06 Jakub Jelinek <jakub@redhat.com>
12381 Meador Inge <meadori@codesourcery.com>
12382
12383 PR target/58595
12384 * config/arm/arm.c (arm_tls_symbol_p): Remove.
12385 (arm_legitimize_address): Call legitimize_tls_address for any
12386 arm_tls_referenced_p expression, handle constant addend. Call it
12387 before testing for !TARGET_ARM.
12388 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
12389
a74158c7
RB
123902014-03-06 Richard Biener <rguenther@suse.de>
12391
12392 PR middle-end/60445
12393 PR lto/60424
12394 PR lto/60427
12395 Revert
12396 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
12397
0bb29a05
UB
12398 * tree-streamer.c (record_common_node): Assert we don't record
12399 nodes with type double.
12400 (preload_common_node): Skip type double, complex double and double
12401 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 12402
f3ba16d0
RB
124032014-03-06 Richard Biener <rguenther@suse.de>
12404
12405 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
12406 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
12407 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
12408 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
12409 * lto-wrapper.c (merge_and_complain): Merge compile-time
12410 optimization levels.
12411 (run_gcc): And pass it through to the link options.
12412
4bb66ef3 124132014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
12414
12415 PR debug/60381
12416 Revert:
4bb66ef3 12417 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
12418 PR debug/59992
12419 * cselib.c (remove_useless_values): Skip to avoid quadratic
12420 behavior if the condition moved from...
12421 (cselib_process_insn): ... here holds.
12422
a05cca9b
JJ
124232014-03-05 Jakub Jelinek <jakub@redhat.com>
12424
487125e7
JJ
12425 PR plugins/59335
12426 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
12427 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
12428
a05cca9b
JJ
12429 PR plugins/59335
12430 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
12431 (TM_H): Add x86-tune.def.
12432
4e2cd668
KT
124332014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12434
12435 * config/aarch64/aarch64.c (generic_tunings):
12436 Use cortexa57_extra_costs.
12437
5525ed38
JJ
124382014-03-05 Jakub Jelinek <jakub@redhat.com>
12439
12440 PR lto/60404
12441 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
12442 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
12443 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
12444 cost for in_lto_p.
12445
0c72fa78
H
124462014-03-04 Heiher <r@hev.cc>
12447
12448 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
12449 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
12450
66b03f81
UB
124512014-03-04 Uros Bizjak <ubizjak@gmail.com>
12452
12453 * config/i386/predicates.md (const2356_operand): Change to ...
12454 (const2367_operand): ... this.
12455 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
12456 const2367_operand.
12457 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
12458 (*avx512pf_scatterpf<mode>sf): Ditto.
12459 (avx512pf_scatterpf<mode>df): Ditto.
12460 (*avx512pf_scatterpf<mode>df_mask): Ditto.
12461 (*avx512pf_scatterpf<mode>df): Ditto.
12462 * config/i386/i386.c (ix86_expand_builtin): Update
12463 incorrect hint operand error message.
12464
3c24e842
RB
124652014-03-04 Richard Biener <rguenther@suse.de>
12466
12467 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 12468
3740bda6
PM
124692014-03-04 Paulo Matos <paulo@matos-sorge.com>
12470
0bb29a05
UB
12471 * tree-streamer.c (record_common_node): Assert we don't record
12472 nodes with type double.
12473 (preload_common_node): Skip type double, complex double and double
12474 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 12475
91856735
RB
124762014-03-04 Richard Biener <rguenther@suse.de>
12477
12478 PR lto/60405
66b03f81 12479 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
12480 (lto_input_toplevel_asms): Likewise.
12481 * lto-section-in.c (lto_get_section_data): Instead do it here
12482 for every section.
66b03f81 12483
b75f28e1
RB
124842014-03-04 Richard Biener <rguenther@suse.de>
12485
12486 PR tree-optimization/60382
12487 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
12488 dead PHIs a reduction.
12489
dd96e83a
UB
124902014-03-03 Uros Bizjak <ubizjak@gmail.com>
12491
12492 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
12493 hint value.
12494 (_mm_prefetch): Move out of GCC target("sse") pragma.
12495 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
12496 GCC target("prfchw") pragma.
12497 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
12498 for locality <= 2.
12499 * config/i386/i386.c (ix86_option_override_internal): Enable
12500 -mprfchw with -mprefetchwt1.
12501
220c1a51
JR
125022014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
12503
12504 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
12505 Mark as varying.
12506
212bfe71
JR
125072014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
12508
12509 * opts.h (CL_PCH_IGNORE): Define.
12510 * targhooks.c (option_affects_pch_p):
12511 Return false for options that have CL_PCH_IGNORE set.
12512 * opt-functions.awk: Process PchIgnore.
12513 * doc/options.texi: Document PchIgnore.
12514
7a3d0a39
JR
12515 * config/arc/arc.opt (misize): Add PchIgnore property.
12516
b46ed885
BS
125172014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12518
12519 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
12520 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
12521 constraint on constants to permit them being loaded into
12522 GENERAL_REGS or BASE_REGS.
12523
c6f709ec
NC
125242014-03-03 Nick Clifton <nickc@redhat.com>
12525
12526 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
12527 anti-cacnonical alternatives.
12528 (negandhi3_real): New pattern.
12529 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
12530
5752f78f
SKS
125312014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
12532
12533 * config/avr/avr-mcus.def: Remove atxmega16x1.
12534 * config/avr/avr-tables.opt: Regenerate.
12535 * config/avr/t-multilib: Regenerate.
12536 * doc/avr-mmcu.texi: Regenerate.
12537
0afe7332 125382014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 12539 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
12540
12541 PR tree-optimization/58028
12542 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
12543 scalar dimensions.
12544
3416dd87
RR
125452014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12546
12547 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
12548 not handled by recognizers.
12549
79c7fda6
JJ
125502014-03-03 Jakub Jelinek <jakub@redhat.com>
12551
12552 PR middle-end/60175
12553 * function.c (expand_function_end): Don't emit
12554 clobber_return_register sequence if clobber_after is a BARRIER.
12555 * cfgexpand.c (construct_exit_block): Append instructions before
12556 return_label to prev_bb.
12557
715a5c85
BS
125582014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12559
12560 * config/rs6000/constraints.md: Document reserved use of "wc".
12561
9ffbf271
JH
125622014-03-02 Jan Hubicka <hubicka@ucw.cz>
12563
12564 PR ipa/60150
12565 * ipa.c (function_and_variable_visibility): When dissolving comdat
12566 group, also set all symbols to local.
12567
993df21e 125682014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 12569
993df21e
JH
12570 PR ipa/60306
12571
12572 Revert:
40c0a159 12573 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
12574 PR middle-end/58477
12575 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 12576
9b0af790
JB
125772014-03-02 Jon Beniston <jon@beniston.com>
12578
12579 PR bootstrap/48230
12580 PR bootstrap/50927
12581 PR bootstrap/52466
12582 PR target/46898
12583 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 12584 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 12585 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 12586 (simple_return, *simple_return): New patterns
9b0af790
JB
12587 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
12588 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
12589
c582aac9
PC
125902014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
12591
12592 * dwarf2out.c (gen_subprogram_die): Tidy.
12593
19305875
OE
125942014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
12595
12596 PR target/60071
12597 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
12598 (*mov_t_msb_neg_negc): ... this new insn.
12599
570215f9
JM
126002014-02-28 Jason Merrill <jason@redhat.com>
12601
12602 PR c++/58678
12603 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
12604 function.
12605
c5b001b5
PC
126062014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
12607
12608 PR c++/60314
12609 * dwarf2out.c (decltype_auto_die): New static.
12610 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
12611 (gen_type_die_with_usage): Handle 'decltype(auto)'.
12612 (is_cxx_auto): Likewise.
12613
5750e120
IB
126142014-02-28 Ian Bolton <ian.bolton@arm.com>
12615
12616 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
12617 we are not using general regs only.
12618
fba7c564
RB
126192014-02-28 Richard Biener <rguenther@suse.de>
12620
12621 PR target/60280
12622 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
12623 previous fix and only allow to remove trivial pre-headers
12624 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 12625 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 12626
4bb66ef3 126272014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
12628
12629 PR debug/59992
12630 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
12631 (cselib_preserved_hash_table): New.
12632 (preserve_constants_and_equivs): Move preserved vals to it.
12633 (cselib_find_slot): Look it up first.
12634 (cselib_init): Initialize it.
12635 (cselib_finish): Release it.
12636 (dump_cselib_table): Dump it.
12637
4bb66ef3 126382014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
12639
12640 PR debug/59992
12641 * cselib.c (remove_useless_values): Skip to avoid quadratic
12642 behavior if the condition moved from...
12643 (cselib_process_insn): ... here holds.
12644
4bb66ef3 126452014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
12646
12647 PR debug/57232
12648 * var-tracking.c (vt_initialize): Apply the same condition to
12649 preserve the CFA base value.
12650
9910c53c
JY
126512014-02-28 Joey Ye <joey.ye@arm.com>
12652
12653 PR target/PR60169
12654 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
12655 if reload in progress or completed.
12656
ef271341
TB
126572014-02-28 Tobias Burnus <burnus@net-b.de>
12658
12659 PR middle-end/60147
12660 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
12661 NAMELIST_DECL.
12662
c4f6267b
L
126632014-02-27 H.J. Lu <hongjiu.lu@intel.com>
12664
12665 * doc/tm.texi.in (Condition Code Status): Update documention for
12666 relative locations of cc0-setter and cc0-user.
12667
7a76df7f
JL
126682014-02-27 Jeff Law <law@redhat.com>
12669
12670 PR rtl-optimization/52714
12671 * combine.c (try_combine): When splitting an unrecognized PARALLEL
12672 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 12673 pattern we place into I3 is a (set (pc) ...).
7a76df7f 12674
728acca0
MP
126752014-02-27 Mikael Pettersson <mikpe@it.uu.se>
12676 Jeff Law <law@redhat.com>
12677
12678 PR rtl-optimization/49847
12679 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
12680 are in different blocks.
12681 * doc/tm.texi (Condition Code Status): Update documention for
12682 relative locations of cc0-setter and cc0-user.
12683
93aaa05d
VM
126842014-02-27 Vladimir Makarov <vmakarov@redhat.com>
12685
12686 PR target/59222
12687 * lra.c (lra_emit_add): Check SUBREG too.
12688
1ee6eb01
AS
126892014-02-27 Andreas Schwab <schwab@suse.de>
12690
12691 * config/m68k/m68k.c (m68k_option_override): Disable
12692 -flive-range-shrinkage for classic m68k.
12693 (m68k_override_options_after_change): Likewise.
12694
bb0d8e84
MP
126952014-02-27 Marek Polacek <polacek@redhat.com>
12696
12697 PR middle-end/59223
12698 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
12699 -Wmaybe-uninitialized.
12700
3157b879
AM
127012014-02-27 Alan Modra <amodra@gmail.com>
12702
3e17cad2 12703 PR target/57936
3157b879
AM
12704 * reload1.c (emit_input_reload_insns): When reload_override_in,
12705 set old to rl->in_reg when rl->in_reg is a subreg.
12706
bb750f4f
RB
127072014-02-26 Richard Biener <rguenther@suse.de>
12708
12709 PR bootstrap/60343
12710 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
12711
22c8aab3
IT
127122014-02-25 Ilya Tocar <ilya.tocar@intel.com>
12713
12714 * common/config/i386/predicates.md (const1256_operand): Remove.
12715 (const2356_operand): New.
12716 (const_1_to_2_operand): Remove.
12717 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
12718 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
12719 (*avx512pf_gatherpf<mode>sf): Ditto.
12720 (avx512pf_gatherpf<mode>df): Ditto.
12721 (*avx512pf_gatherpf<mode>df_mask): Ditto.
12722 (*avx512pf_gatherpf<mode>df): Ditto.
12723 (avx512pf_scatterpf<mode>sf): Ditto.
12724 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
12725 (*avx512pf_scatterpf<mode>sf): Ditto.
12726 (avx512pf_scatterpf<mode>df): Ditto.
12727 (*avx512pf_scatterpf<mode>df_mask): Ditto.
12728 (*avx512pf_scatterpf<mode>df): Ditto.
12729 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
12730
260d3642
IT
127312014-02-26 Ilya Tocar <ilya.tocar@intel.com>
12732
12733 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
12734 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
12735 (_mm512_mask_testn_epi64_mask): Move to ...
12736 * config/i386/avx512cdintrin.h: Here.
12737 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
12738 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
12739 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
12740 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
12741 TARGET_AVX512F from TARGET_AVX512CD.
12742
477145c8
RB
127432014-02-26 Richard Biener <rguenther@suse.de>
12744
12745 PR ipa/60327
12746 * ipa.c (walk_polymorphic_call_targets): Properly guard
12747 call to inline_update_overall_summary.
12748
a3afdbb8
BC
127492014-02-26 Bin Cheng <bin.cheng@arm.com>
12750
12751 PR target/60280
84d7e312
UB
12752 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
12753 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
12754 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
12755 LOOPS_HAVE_PREHEADERS.
12756
b8a542c6
AP
127572014-02-25 Andrew Pinski <apinski@cavium.com>
12758
12759 * builtins.c (expand_builtin_thread_pointer): Create a new target
12760 when the target is NULL.
12761
88def637
VM
127622014-02-25 Vladimir Makarov <vmakarov@redhat.com>
12763
12764 PR rtl-optimization/60317
12765 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
12766 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
12767 * lra-assigns.c: Include params.h.
12768 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
12769 other reload pseudos considerations.
12770
68908a06
BS
127712014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12772
cf36d2cc
WS
12773 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
12774 to use canonical form for nor<mode>3.
68908a06 12775
db57bbc9
KT
127762014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12777
12778 PR target/55426
12779 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
12780 conversions.
12781
43b3f52f
IT
127822014-02-25 Ilya Tocar <ilya.tocar@intel.com>
12783
12784 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
12785 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
12786 (ix86_handle_option): Handle OPT_mprefetchwt1.
12787 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
12788 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
12789 PREFETCHWT1 CPUID.
12790 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
12791 OPTION_MASK_ISA_PREFETCHWT1.
12792 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
12793 (PTA_PREFETCHWT1): New.
12794 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
12795 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 12796 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
12797 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
12798 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 12799 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
12800 * config/i386/i386.opt (mprefetchwt1): New.
12801 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
12802 (_mm_prefetch): Handle intent to write.
12803 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
12804
84053e02
RB
128052014-02-25 Richard Biener <rguenther@suse.de>
12806
12807 PR middle-end/60291
12808 * emit-rtl.c (mem_attrs_htab): Remove.
12809 (mem_attrs_htab_hash): Likewise.
12810 (mem_attrs_htab_eq): Likewise.
84d7e312 12811 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
12812 (init_emit_once): Do not allocate mem_attrs_htab.
12813
4094757e
RB
128142014-02-25 Richard Biener <rguenther@suse.de>
12815
12816 PR lto/60319
12817 * lto-opts.c (lto_write_options): Output non-explicit conservative
12818 -fwrapv, -fno-trapv and -fno-strict-overflow.
12819 * lto-wrapper.c (merge_and_complain): Handle merging those options.
12820 (run_gcc): And pass them through.
12821
41b2d514 128222014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 12823
41b2d514
AB
12824 * sel-sched.c (calculate_new_fences): New parameter ptime.
12825 Calculate it as a maximum over all fence cycles.
12826 (sel_sched_region_2): Adjust the call to calculate_new_fences.
12827 Print the final schedule timing when sched_verbose.
12828
c1c99405
AB
128292014-02-25 Andrey Belevantsev <abel@ispras.ru>
12830
12831 PR rtl-optimization/60292
12832 * sel-sched.c (fill_vec_av_set): Do not reset target availability
12833 bit fot the fence instruction.
12834
1d9def42
AD
128352014-02-24 Alangi Derick <alangiderick@gmail.com>
12836
12837 * calls.h: Fix typo in comment.
12838
325fefe0
JDA
128392014-02-24 John David Anglin <danglin@gcc.gnu.org>
12840
12841 * config/pa/pa.c (pa_output_move_double): Don't valididate when
12842 adjusting offsetable addresses.
12843
ad43b47a
GW
128442014-02-24 Guozhi Wei <carrot@google.com>
12845
12846 * sparseset.h (sparseset_pop): Fix the wrong index.
12847
341c653c
WL
128482014-02-24 Walter Lee <walt@tilera.com>
12849
12850 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
12851 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
12852 triplet.
12853 * common/config/tilegx/tilegx-common.c
12854 (TARGET_DEFAULT_TARGET_FLAGS): Define.
12855 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
12856 (LINK_SPEC): Ditto.
12857 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
12858 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
12859 (tilegx_gimplify_va_arg_expr): Handle big endian.
12860 (tilegx_expand_unaligned_load): Ditto.
12861 (tilegx_expand_unaligned_store): Ditto.
12862 (TARGET_RETURN_IN_MSB): New.
12863 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
12864 (TARGET_ENDIAN_DEFAULT): New.
12865 (TARGET_BIG_ENDIAN): Handle big endian.
12866 (BYTES_BIG_ENDIAN): Ditto.
12867 (WORDS_BIG_ENDIAN): Ditto.
12868 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
12869 (ENDIAN_SPEC): New.
12870 (EXTRA_SPECS): New.
12871 * config/tilegx/tilegx.md (extv): Handle big endian.
12872 (extzv): Ditto.
12873 (insn_st<n>): Ditto.
12874 (insn_st<n>_add<bitsuffix>): Ditto.
12875 (insn_stnt<n>): Ditto.
12876 (insn_stnt<n>_add<bitsuffix>):Ditto.
12877 (vec_interleave_highv8qi): Handle big endian.
12878 (vec_interleave_highv8qi_be): New.
12879 (vec_interleave_highv8qi_le): New.
12880 (insn_v1int_h): Handle big endian.
12881 (vec_interleave_lowv8qi): Handle big endian.
12882 (vec_interleave_lowv8qi_be): New.
12883 (vec_interleave_lowv8qi_le): New.
12884 (insn_v1int_l): Handle big endian.
12885 (vec_interleave_highv4hi): Handle big endian.
12886 (vec_interleave_highv4hi_be): New.
12887 (vec_interleave_highv4hi_le): New.
12888 (insn_v2int_h): Handle big endian.
12889 (vec_interleave_lowv4hi): Handle big endian.
12890 (vec_interleave_lowv4hi_be): New.
12891 (vec_interleave_lowv4hi_le): New.
12892 (insn_v2int_l): Handle big endian.
12893 (vec_interleave_highv2si): Handle big endian.
12894 (vec_interleave_highv2si_be): New.
12895 (vec_interleave_highv2si_le): New.
12896 (insn_v4int_h): Handle big endian.
12897 (vec_interleave_lowv2si): Handle big endian.
12898 (vec_interleave_lowv2si_be): New.
12899 (vec_interleave_lowv2si_le): New.
12900 (insn_v4int_l): Handle big endian.
12901 * config/tilegx/tilegx.opt (mbig-endian): New option.
12902 (mlittle-endian): New option.
12903 * doc/install.texi: Document tilegxbe-linux.
12904 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
12905
f3fec19f
MJ
129062014-02-24 Martin Jambor <mjambor@suse.cz>
12907
12908 PR ipa/60266
12909 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
12910 there are no parameter descriptors.
12911
9039622a
AB
129122014-02-24 Andrey Belevantsev <abel@ispras.ru>
12913
12914 PR rtl-optimization/60268
12915 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
12916 initialization to ...
12917 (sched_rgn_init): ... here.
12918 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
12919
4bb66ef3 129202014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 12921
9039622a
AB
12922 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
12923 names.
e7e7bc4b 12924
4bb66ef3 129252014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
12926
12927 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
12928 definition.
12929
4bb66ef3 129302014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 12931
84d7e312
UB
12932 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
12933 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 12934
4bb66ef3 129352014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
12936
12937 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 12938 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 12939 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 12940 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
12941 to microblaze_expand_conditional_branch and consolidate logic.
12942 (microblaze_expand_conditional_branch): emit branch_compare
12943 insn instead of handling cmp op separate from branch insn.
12944
34c25d23
BS
129452014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12946
12947 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
12948 to permit subregs.
12949
a6eecdc1
BS
129502014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12951
d5a19af1
DH
12952 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
12953 define_insn with define_expand and new define_insn
12954 *altivec_lve<VI_char>x_internal.
12955 (altivec_stve<VI_char>x): Replace define_insn with define_expand
12956 and new define_insn *altivec_stve<VI_char>x_internal.
12957 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
12958 prototype.
12959 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
12960 lve*x built-ins.
12961 (altivec_expand_stvex_be): New function.
a6eecdc1 12962
8aa7d1fc
JR
129632014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
12964
12965 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 12966 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
12967 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
12968 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
12969
a810ee82
VM
129702014-02-21 Vladimir Makarov <vmakarov@redhat.com>
12971
12972 PR target/60298
12973 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
12974 instead of emit_move_insn.
12975
b90ab1ba
BS
129762014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12977
12978 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
12979 vspltw with vsldoi.
12980 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
12981 gen_altivec_vsumsws.
12982
1af73690
WS
129832014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12984
12985 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 12986 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
12987 (altivec_lvxl_<mode>): New define_expand incorporating
12988 -maltivec=be semantics where needed.
12989 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
12990 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
12991 semantics where needed.
12992 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
12993 (altivec_stvx_<mode>): New define_expand incorporating
12994 -maltivec=be semantics where needed.
12995 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
12996 VM2 iterator instead of V4SI.
12997 (altivec_stvxl_<mode>): New define_expand incorporating
12998 -maltivec=be semantics where needed.
12999 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
13000 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
13001 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
13002 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
13003 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
13004 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
13005 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
13006 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
13007 ALTIVEC_BUILTIN_STVXL.
84d7e312 13008 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
13009 (altivec_expand_stvx_be): Likewise.
13010 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
13011 (altivec_expand_lvx_be): Likewise.
13012 (altivec_expand_stvx_be): Likewise.
13013 (altivec_expand_builtin): Add cases for
13014 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
13015 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
13016 (altivec_init_builtins): Add definitions for
13017 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 13018 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 13019
0a39d07b
CM
130202014-02-21 Catherine Moore <clm@codesourcery.com>
13021
13022 * doc/invoke.texi (mvirt, mno-virt): Document.
13023 * config/mips/mips.opt (mvirt): New option.
13024 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
13025
f2556b68
RB
130262014-02-21 Richard Biener <rguenther@suse.de>
13027
13028 PR tree-optimization/60276
13029 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
13030 (STMT_VINFO_MIN_NEG_DIST): New macro.
13031 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
13032 STMT_VINFO_MIN_NEG_DIST.
13033 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
13034 made for negative dependence distances still hold.
13035
32417082
RB
130362014-02-21 Richard Biener <rguenther@suse.de>
13037
13038 PR middle-end/60291
13039 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
13040 DECL_INITIAL for globals not in the current function context.
13041
92261ce0
JJ
130422014-02-21 Jakub Jelinek <jakub@redhat.com>
13043
13044 PR tree-optimization/56490
13045 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
13046 * tree-ssa-uninit.c: Include params.h.
13047 (compute_control_dep_chain): Add num_calls argument, return false
13048 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
13049 num_calls to recursive call.
13050 (find_predicates): Change dep_chain into normal array,
13051 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
13052 variable and adjust compute_control_dep_chain caller.
13053 (find_def_preds): Likewise.
13054
aa6ef874
TS
130552014-02-21 Thomas Schwinge <thomas@codesourcery.com>
13056
13057 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
13058 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
13059
4b156fd0
NC
130602014-02-21 Nick Clifton <nickc@redhat.com>
13061
13062 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
13063 (pushhi1): Likewise.
13064 (popqi1): Add mode to pre_dec.
13065 (pophi1): Likewise.
13066
dffd569e
JJ
130672014-02-21 Jakub Jelinek <jakub@redhat.com>
13068
13069 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
13070 mode for mask of V8SFmode permutation.
13071
2fdc29e8
RH
130722014-02-20 Richard Henderson <rth@redhat.com>
13073
13074 PR c++/60272
13075 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
13076 a new pseudo for OLDVAL.
13077
aa637f66
JJ
130782014-02-20 Jakub Jelinek <jakub@redhat.com>
13079
13080 PR target/57896
13081 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
13082 gen_reg_rtx if d->testing_p.
13083 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
13084 if d->testing_p and we will certainly return true.
13085 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
13086 if d->testing_p.
13087
004a7e45
UB
130882014-02-20 Uros Bizjak <ubizjak@gmail.com>
13089
13090 * emit-rtl.c (gen_reg_rtx): Assert that
13091 crtl->emit.regno_pointer_align_length is non-zero.
13092
130932014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
13094
13095 PR c++/60272
13096 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
13097 on failure the store back into EXPECT.
13098
95ce7613
CLT
130992014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
13100 Sandra Loosemore <sandra@codesourcery.com>
13101
13102 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
13103 * config/nios2/nios2.c (nios2_function_profiler): Add
13104 -fPIC (flag_pic == 2) support.
95ce7613
CLT
13105 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
13106 (nios2_large_offset_p): New function.
13107 (nios2_unspec_reloc_p): Move up position, update to use
13108 nios2_large_offset_p.
13109 (nios2_unspec_address): Remove function.
13110 (nios2_unspec_offset): New function.
13111 (nios2_large_got_address): New function.
13112 (nios2_got_address): Add large offset support.
13113 (nios2_legitimize_tls_address): Update usage of removed and new
13114 functions.
13115 (nios2_symbol_binds_local_p): New function.
13116 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
13117 (nios2_legitimize_address): Update to use nios2_large_offset_p.
13118 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
13119 (nios2_print_operand): Merge H/L processing, add hiadj/lo
13120 processing for (const (unspec ...)).
13121 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
13122
efd2d3c8
RB
131232014-02-20 Richard Biener <rguenther@suse.de>
13124
13125 * tree-cfg.c (replace_uses_by): Mark altered BBs before
13126 doing the substitution.
004a7e45 13127 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 13128
9576e7b1
MJ
131292014-02-20 Martin Jambor <mjambor@suse.cz>
13130
13131 PR ipa/55260
13132 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
13133 info when checking whether lattices are bottom.
13134
25fe40b0
RB
131352014-02-20 Richard Biener <rguenther@suse.de>
13136
13137 PR middle-end/60221
13138 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
13139 regions at -O0.
13140
bd936951
JH
131412014-02-20 Jan Hubicka <hubicka@ucw.cz>
13142
13143 PR ipa/58555
004a7e45
UB
13144 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
13145 parameter specifying the scaling.
bd936951
JH
13146 (inline_call): Update.
13147 (want_inline_recursively): Guard division by zero.
13148 (recursive_inlining): Update.
13149 * ipa-inline.h (clone_inlined_nodes): Update.
13150
3c898e1a
IT
131512014-02-20 Ilya Tocar <ilya.tocar@intel.com>
13152
13153 PR target/60204
13154 * config/i386/i386.c (classify_argument): Pass structures of size
13155 64 bytes or less in register.
13156
df62b4af 131572014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 13158 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
13159
13160 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
13161 (_mm_rcp28_round_ss): Ditto.
13162 (_mm_rsqrt28_round_sd): Ditto.
13163 (_mm_rsqrt28_round_ss): Ditto.
13164 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
13165 (_mm_rcp14_round_ss): Ditto.
13166 (_mm_rsqrt14_round_sd): Ditto.
13167 (_mm_rsqrt14_round_ss): Ditto.
13168 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
13169 the first input operand, get rid of match_dup.
13170 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
13171 attribute to sse.
13172 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
13173 Ditto.
13174 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
13175 operand as the first input operand, set type attribute.
13176 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
13177 Set type attribute.
13178 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
13179 operand as the first input operand, set type attribute.
13180
9254148e
BS
131812014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13182
13183 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
13184 bit of zero.
13185
fff91793
L
131862014-02-19 H.J. Lu <hongjiu.lu@intel.com>
13187
13188 PR target/60207
13189 * config/i386/i386.c (construct_container): Remove TFmode check
13190 for X86_64_INTEGER_CLASS.
13191
6aa5b4b8
UB
131922014-02-19 Uros Bizjak <ubizjak@gmail.com>
13193
13194 PR target/59794
13195 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
13196 only when -Wpsabi is enabled.
13197
aadc1c43
MHD
131982014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
13199
13200 PR target/59799
13201 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
13202 passing arrays in registers are the same as for structs, so remove the
13203 special case for them.
13204
322913f8
EB
132052014-02-19 Eric Botcazou <ebotcazou@adacore.com>
13206
13207 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
13208 destination type, extract only the valid bits if the source type is not
13209 integral and has a different mode.
13210
fd9710dc
RB
132112014-02-19 Richard Biener <rguenther@suse.de>
13212
13213 PR ipa/60243
13214 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
13215 for all calls.
13216
4df65a85
RB
132172014-02-19 Richard Biener <rguenther@suse.de>
13218
13219 PR ipa/60243
13220 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
13221 (ipa_modify_call_arguments): Emit an argument load explicitely and
13222 preserve virtual SSA form there and for the replacement call.
13223 Do not update SSA form nor free dominance info.
13224
7fea98d8
JH
132252014-02-18 Jan Hubicka <hubicka@ucw.cz>
13226
13227 * ipa.c (function_and_variable_visibility): Also clear WEAK
13228 flag when disolving COMDAT_GROUP.
13229
0a2550e7
JH
132302014-02-18 Jan Hubicka <hubicka@ucw.cz>
13231
13232 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
13233 * ipa-prop.c (ipa_set_jf_known_type): Return early when
13234 not devirtualizing.
13235 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
13236 do more sanity checks.
13237 (detect_type_change): Return true when giving up early.
13238 (compute_complex_assign_jump_func): Fix type parameter of
13239 ipa_set_ancestor_jf.
13240 (compute_complex_ancestor_jump_func): Likewise.
13241 (update_jump_functions_after_inlining): Fix updating of
13242 ancestor function.
6aa5b4b8 13243 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 13244
2dbe8b70
JH
132452014-02-18 Jan Hubicka <hubicka@ucw.cz>
13246
13247 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
13248 inline clones when edge disappears.
13249
b9809dc4
MM
132502014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
13251
13252 PR target/60203
13253 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
13254 Split 64-bit moves into 2 patterns. Do not allow the use of
13255 direct move for TDmode in little endian, since the decimal value
13256 has little endian bytes within a word, but the 64-bit pieces are
13257 ordered in a big endian fashion, and normal subreg's of TDmode are
13258 not allowed.
13259 (mov<mode>_64bit_dm): Likewise.
13260 (movtd_64bit_nodm): Likewise.
13261
bababbfb
EB
132622014-02-18 Eric Botcazou <ebotcazou@adacore.com>
13263
13264 PR tree-optimization/60174
13265 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
13266 statement of an SSA_NAME that occurs in an abnormal PHI node.
13267
70aacc97
JJ
132682014-02-18 Jakub Jelinek <jakub@redhat.com>
13269
13270 PR sanitizer/60142
13271 * final.c (SEEN_BB): Remove.
13272 (SEEN_NOTE, SEEN_EMITTED): Renumber.
13273 (final_scan_insn): Don't force_source_line on second
13274 NOTE_INSN_BASIC_BLOCK.
13275
223cdd15
UB
132762014-02-18 Uros Bizjak <ubizjak@gmail.com>
13277
13278 PR target/60205
13279 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
13280 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
13281 (type_natural_mode): Warn ABI change when %zmm register is not
13282 available for AVX512F vector value passing.
13283
48810be0
KT
132842014-02-18 Kai Tietz <ktietz@redhat.com>
13285
13286 PR target/60193
223cdd15
UB
13287 * config/i386/i386.c (ix86_expand_prologue): Use value in
13288 rax register as displacement when restoring %r10 or %rax.
13289 Fix wrong offset when restoring both registers.
48810be0 13290
20afe640
EB
132912014-02-18 Eric Botcazou <ebotcazou@adacore.com>
13292
13293 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
13294 assertion with conditional return.
13295
d0b50387
JJ
132962014-02-18 Jakub Jelinek <jakub@redhat.com>
13297 Uros Bizjak <ubizjak@gmail.com>
13298
13299 PR driver/60233
13300 * config/i386/driver-i386.c (host_detect_local_cpu): If
13301 YMM state is not saved by the OS, also clear has_f16c. Move
13302 CPUID 0x80000001 handling before YMM state saving checking.
13303
c4cd7435
AB
133042014-02-18 Andrey Belevantsev <abel@ispras.ru>
13305
13306 PR rtl-optimization/58960
13307 * haifa-sched.c (alloc_global_sched_pressure_data): New,
13308 factored out from ...
13309 (sched_init): ... here.
13310 (free_global_sched_pressure_data): New, factored out from ...
13311 (sched_finish): ... here.
13312 * sched-int.h (free_global_sched_pressure_data): Declare.
13313 * sched-rgn.c (nr_regions_initial): New static global.
13314 (haifa_find_rgns): Initialize it.
13315 (schedule_region): Disable sched-pressure for the newly
13316 generated regions.
13317
f0281fde
RB
133182014-02-17 Richard Biener <rguenther@suse.de>
13319
13320 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
13321 release SSA defs of pattern stmts.
13322
c742772c
RB
133232014-02-17 Richard Biener <rguenther@suse.de>
13324
13325 * tree-inline.c (expand_call_inline): Release the virtual
13326 operand defined by the call we are about to inline.
13327
0492158e
RB
133282014-02-17 Richard Biener <rguenther@suse.de>
13329
13330 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
13331
583a9919
KY
133322014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
13333 Ilya Tocar <ilya.tocar@intel.com>
13334
13335 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
13336 arguments order in builtin.
13337 (_mm512_permutexvar_epi64): Ditto.
13338 (_mm512_mask_permutexvar_epi64): Ditto
13339 (_mm512_maskz_permutexvar_epi32): Ditto
13340 (_mm512_permutexvar_epi32): Ditto
13341 (_mm512_mask_permutexvar_epi32): Ditto
13342
d737743f
BS
133432014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13344
223cdd15 13345 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
13346 (p8_vmrgow): Likewise.
13347
54c4bfd7
BS
133482014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13349
13350 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
13351 endian targets.
13352
518fea64
MM
133532014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
13354
13355 PR target/60203
13356 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
13357 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
13358 into 64-bit and 32-bit moves. On 64-bit moves, add support for
13359 using direct move instructions on ISA 2.07. Also adjust
13360 instruction length for 64-bit.
13361 (mov<mode>_64bit, TFmode/TDmode): Likewise.
13362 (mov<mode>_32bit, TFmode/TDmode): Likewise.
13363
61640916
AM
133642014-02-15 Alan Modra <amodra@gmail.com>
13365
13366 PR target/58675
13367 PR target/57935
13368 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
13369 find_replacement on parts of insn rtl that might be reloaded.
13370
a2b33cc3
RB
133712014-02-15 Richard Biener <rguenther@suse.de>
13372
13373 PR tree-optimization/60183
223cdd15 13374 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
13375 (tree_ssa_phiprop): Calculate and free post-dominators.
13376
059742a4
JL
133772014-02-14 Jeff Law <law@redhat.com>
13378
13379 PR rtl-optimization/60131
13380 * ree.c (get_extended_src_reg): New function.
223cdd15 13381 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
13382 (find_and_remove_re): Verify first operand of extension is
13383 a REG before adding the insns to the copy list.
13384
88f7c49a
RM
133852014-02-14 Roland McGrath <mcgrathr@google.com>
13386
13387 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
13388 * configure: Regenerated.
13389 * config.in: Regenerated.
13390 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
13391 instead of ASM_SHORT.
13392
2ae577fd
VM
133932014-02-14 Vladimir Makarov <vmakarov@redhat.com>
13394 Richard Earnshaw <rearnsha@arm.com>
13395
13396 PR rtl-optimization/59535
13397 * lra-constraints.c (process_alt_operands): Encourage alternative
13398 when unassigned pseudo class is superset of the alternative class.
13399 (inherit_reload_reg): Don't inherit when optimizing for code size.
13400 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
13401 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
13402 modes not less than 4 for Thumb1.
13403
5d88af08
KM
134042014-02-14 Kyle McMartin <kyle@redhat.com>
13405
13406 PR pch/60010
13407 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
13408
3069b421
RB
134092014-02-14 Richard Biener <rguenther@suse.de>
13410
13411 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
13412 (get_frame_arg): Drop the assert with langhook types_compatible_p.
13413 Do not strip INDIRECT_REFs.
13414
1966fd99
RB
134152014-02-14 Richard Biener <rguenther@suse.de>
13416
13417 PR lto/60179
13418 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
13419 DECL_FUNCTION_SPECIFIC_TARGET.
13420 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
13421 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 13422 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
13423 (write_ts_function_decl_tree_pointers): Do not stream
13424 DECL_FUNCTION_SPECIFIC_TARGET.
13425 * tree-streamer-in.c (unpack_ts_target_option): Remove.
13426 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
13427 (lto_input_ts_function_decl_tree_pointers): Do not stream
13428 DECL_FUNCTION_SPECIFIC_TARGET.
13429
b010d601
JJ
134302014-02-14 Jakub Jelinek <jakub@redhat.com>
13431
223cdd15 13432 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
13433 (get_initial_def_for_induction, vectorizable_induction): Ignore
13434 debug stmts when looking for exit_phi.
13435 (vectorizable_live_operation): Fix up condition.
13436
f2dafb91
CJW
134372014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
13438
13439 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
13440 nreverse() because it changes the content of original tree list.
13441
59043e75
CJW
134422014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
13443
13444 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
13445 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
13446
810f736f
CJW
134472014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
13448
13449 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
13450 GNU coding standards.
13451
1a025bbf
JJ
134522014-02-13 Jakub Jelinek <jakub@redhat.com>
13453
13454 PR debug/60152
13455 * dwarf2out.c (gen_subprogram_die): Don't call
13456 add_calling_convention_attribute if subr_die is old_die.
13457
69479ebd
SS
134582014-02-13 Sharad Singhai <singhai@google.com>
13459
13460 * doc/optinfo.texi: Fix order of nodes.
13461
1287ae50
UB
134622014-02-13 Uros Bizjak <ubizjak@gmail.com>
13463
13464 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
13465 operands[2], not operands[3].
13466
43372236
RB
134672014-02-13 Richard Biener <rguenther@suse.de>
13468
13469 PR bootstrap/59878
13470 * doc/install.texi (ISL): Update recommended version to 0.12.2,
13471 mention the possibility of an in-tree build.
13472 (CLooG): Update recommended version to 0.18.1, mention the
13473 possibility of an in-tree build and clarify that the ISL
13474 bundled with CLooG does not work.
13475
a4d70cfa
JJ
134762014-02-13 Jakub Jelinek <jakub@redhat.com>
13477
13478 PR target/43546
13479 * expr.c (compress_float_constant): If x is a hard register,
13480 extend into a pseudo and then move to x.
13481
e697d119
DV
134822014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
13483
13484 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
13485 caused by bad second argument to warning_at() with -mhotpatch and
13486 nested functions (e.g. with gfortran).
13487
9f8da907
RS
134882014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
13489
13490 * opts.c (option_name): Remove "enabled by default" rider.
13491
0fdd1196
JDA
134922014-02-12 John David Anglin <danglin@gcc.gnu.org>
13493
13494 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
13495
0544c448
L
134962014-02-12 H.J. Lu <hongjiu.lu@intel.com>
13497 Uros Bizjak <ubizjak@gmail.com>
13498
13499 PR target/60151
1287ae50 13500 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
13501 * configure: Regenerated.
13502
3a938d75
RB
135032014-02-12 Richard Biener <rguenther@suse.de>
13504
13505 * vec.c (vec_prefix::calculate_allocation): Move as
13506 inline variant to vec.h.
13507 (vec_prefix::calculate_allocation_1): New out-of-line version.
13508 * vec.h (vec_prefix::calculate_allocation_1): Declare.
13509 (vec_prefix::m_has_auto_buf): Rename to ...
13510 (vec_prefix::m_using_auto_storage): ... this.
13511 (vec_prefix::calculate_allocation): Inline the easy cases
13512 and dispatch to calculate_allocation_1 which doesn't need the
13513 prefix address.
13514 (va_heap::reserve): Use gcc_checking_assert.
13515 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
13516 m_using_auto_storage.
13517 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
13518 member and adjust.
13519 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
13520 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
13521 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
13522
ad0188be
RB
135232014-02-12 Richard Biener <rguenther@suse.de>
13524
13525 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
13526 when we found a dependence.
13527
64e5ace5
TS
135282014-02-12 Thomas Schwinge <thomas@codesourcery.com>
13529
88ac13da
TS
13530 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
13531 common code...
13532 (maybe_fold_stmt): ... into this new function.
13533 * omp-low.c (lower_omp): Update comment.
13534
bae729a2
TS
13535 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
13536 last use.
13537
64e5ace5
TS
13538 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
13539 dereference.
13540
7b40f5cf
JG
135412014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
13542
13543 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
13544 identifiers in comments.
13545 (cortexa53_extra_costs): Likewise.
1287ae50 13546 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
13547 (cortexa7_extra_costs): Likewise.
13548 (cortexa12_extra_costs): Likewise.
13549 (cortexa15_extra_costs): Likewise.
13550 (v7m_extra_costs): Likewise.
13551
c4c8514e
RB
135522014-02-12 Richard Biener <rguenther@suse.de>
13553
13554 PR middle-end/60092
13555 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
13556 of posix_memalign being successful.
13557 (lower_stmt): Restrict lowering of posix_memalign to when
13558 -ftree-bit-ccp is enabled.
13559
8eb651bd
SKS
135602014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
13561
13562 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
13563 arg_loc.
13564 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
13565
62b03553
EB
135662014-02-12 Eric Botcazou <ebotcazou@adacore.com>
13567
13568 PR rtl-optimization/60116
13569 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
13570 other_insn once the combination has been validated.
13571
ec77d61f
JH
135722014-02-11 Jan Hubicka <hubicka@ucw.cz>
13573
13574 PR lto/59468
13575 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
13576 and wrapper.
13577 * ipa-devirt.c: Include demangle.h
13578 (odr_violation_reported): New static variable.
13579 (add_type_duplicate): Update odr_violations.
13580 (maybe_record_node): Add completep parameter; update it.
13581 (record_target_from_binfo): Add COMPLETEP parameter;
13582 update it as needed.
13583 (possible_polymorphic_call_targets_1): Likewise.
13584 (struct polymorphic_call_target_d): Add nonconstruction_targets;
13585 rename FINAL to COMPLETE.
13586 (record_targets_from_bases): Sanity check we found the binfo;
13587 fix COMPLETEP updating.
13588 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
13589 parameter, fix computing of COMPLETEP.
1287ae50
UB
13590 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
13591 at LTO time do demangling.
ec77d61f
JH
13592 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
13593 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
13594 parameter.
13595 (gimple_get_virt_method_for_binfo): Likewise.
13596 * gimple-fold.h (gimple_get_virt_method_for_binfo,
13597 gimple_get_virt_method_for_vtable): Update prototypes.
13598
5a4dcd9b
VM
135992014-02-11 Vladimir Makarov <vmakarov@redhat.com>
13600
13601 PR target/49008
13602 * genautomata.c (add_presence_absence): Fix typo with
13603 {final_}presence_list.
13604
69b7afed
MM
136052014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
13606
13607 PR target/60137
13608 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
13609 for VSX/Altivec vectors that land in GPR registers.
13610
8268ad5c
JJ
136112014-02-11 Richard Henderson <rth@redhat.com>
13612 Jakub Jelinek <jakub@redhat.com>
13613
13614 PR debug/59776
13615 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
13616 around drhs if type conversion to lacc->type is not useless.
13617
4fd92af6
KT
136182014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13619
13620 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
13621 tuning struct.
13622 (cortex-a57.cortex-a53): Likewise.
13623 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
13624
7cb14cb8
KT
136252014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13626
13627 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
13628 arm_restrict_it.
13629
6d3715b9
RL
136302014-02-11 Renlin Li <Renlin.Li@arm.com>
13631
13632 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
13633 add_options_for_arm_vfp3.
13634
cddddfff
JL
136352014-02-11 Jeff Law <law@redhat.com>
13636
13637 PR middle-end/54041
13638 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
13639 object with an undesirable mode.
13640
7c1aef7e
RO
136412014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13642
13643 PR libgomp/60107
13644 * config/i386/sol2-9.h: New file.
13645 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
13646 *-*-solaris2.9*): Use it.
13647
4bb66ef3 136482014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
13649
13650 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
13651 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
13652
4bb66ef3 136532014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
13654
13655 * config/microblaze/microblaze.c: Extend mcpu version format
13656
4bb66ef3 136572014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
13658
13659 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
13660
004a7e45 136612014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
13662
13663 PR target/59927
13664 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
13665 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
13666 ms-abi vs -mno-accumulate-outgoing-args.
13667 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
13668 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
13669 respect to ms-abi.
13670
e2fc3b4f
BE
136712014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
13672
13673 PR middle-end/60080
13674 * cfgexpand.c (expand_asm_operands): Attach source location to
13675 ASM_INPUT rtx objects.
13676 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
13677
3a22ad89
NC
136782014-02-10 Nick Clifton <nickc@redhat.com>
13679
13680 * config/mn10300/mn10300.c (popcount): New function.
13681 (mn10300_expand_prologue): Include saved registers in stack usage
13682 count.
13683
f27be550
JL
136842014-02-10 Jeff Law <law@redhat.com>
13685
13686 PR middle-end/52306
13687 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 13688 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 13689
e15e3815
UW
136902014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13691
13692 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
13693 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
13694 -mcall-openbsd, or -mcall-linux.
13695 (CC1_ENDIAN_BIG_SPEC): Remove.
13696 (CC1_ENDIAN_LITTLE_SPEC): Remove.
13697 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
13698 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
13699 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
13700 and %cc1_endian_default.
13701 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
13702
4e1f39e4
RB
137032014-02-10 Richard Biener <rguenther@suse.de>
13704
13705 PR tree-optimization/60115
13706 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
13707 MEM_REF handling. Properly verify that the accesses are not
13708 out of the objects bound.
13709
e7af1c22
KT
137102014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13711
13712 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
13713 coretex to cortex.
13714
79c7de84
EB
137152014-02-10 Eric Botcazou <ebotcazou@adacore.com>
13716
13717 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
13718 proper constants and fix formatting.
13719 (possible_polymorphic_call_targets): Fix formatting.
13720
cf73ee60
KY
137212014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
13722 Ilya Tocar <ilya.tocar@intel.com>
13723
13724 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
13725 (_mm512_loadu_epi32): Renamed into...
13726 (_mm512_loadu_si512): This.
13727 (_mm512_storeu_epi32): Renamed into...
13728 (_mm512_storeu_si512): This.
13729 (_mm512_maskz_ceil_ps): Removed.
13730 (_mm512_maskz_ceil_pd): Ditto.
13731 (_mm512_maskz_floor_ps): Ditto.
13732 (_mm512_maskz_floor_pd): Ditto.
13733 (_mm512_floor_round_ps): Ditto.
13734 (_mm512_floor_round_pd): Ditto.
13735 (_mm512_ceil_round_ps): Ditto.
13736 (_mm512_ceil_round_pd): Ditto.
13737 (_mm512_mask_floor_round_ps): Ditto.
13738 (_mm512_mask_floor_round_pd): Ditto.
13739 (_mm512_mask_ceil_round_ps): Ditto.
13740 (_mm512_mask_ceil_round_pd): Ditto.
13741 (_mm512_maskz_floor_round_ps): Ditto.
13742 (_mm512_maskz_floor_round_pd): Ditto.
13743 (_mm512_maskz_ceil_round_ps): Ditto.
13744 (_mm512_maskz_ceil_round_pd): Ditto.
13745 (_mm512_expand_pd): Ditto.
13746 (_mm512_expand_ps): Ditto.
13747 * config/i386/i386.c (ix86_builtins): Remove
13748 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
13749 (bdesc_args): Ditto.
13750 * config/i386/predicates.md (const1256_operand): New.
13751 (const_1_to_2_operand): Ditto.
13752 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
13753 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
13754 (*avx512pf_gatherpf<mode>sf): Ditto.
13755 (avx512pf_gatherpf<mode>df): Ditto.
13756 (*avx512pf_gatherpf<mode>df_mask): Ditto.
13757 (*avx512pf_gatherpf<mode>df): Ditto.
13758 (avx512pf_scatterpf<mode>sf): Ditto.
13759 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
13760 (*avx512pf_scatterpf<mode>sf): Ditto.
13761 (avx512pf_scatterpf<mode>df): Ditto.
13762 (*avx512pf_scatterpf<mode>df_mask): Ditto.
13763 (*avx512pf_scatterpf<mode>df): Ditto.
13764 (avx512f_expand<mode>): Removed.
13765 (<shift_insn><mode>3<mask_name>): Change predicate type.
13766
8fcbce72
JJ
137672014-02-08 Jakub Jelinek <jakub@redhat.com>
13768
41475e96
JJ
13769 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
13770 not at the end of datarefs vector use ordered_remove to avoid
13771 reordering datarefs vector.
13772
c74559df
JJ
13773 PR c/59984
13774 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
13775 mark local addressable non-static vars as GOVD_PRIVATE
13776 instead of GOVD_LOCAL.
13777 * omp-low.c (lower_omp_for): Move gimple_bind_vars
13778 and BLOCK_VARS of gimple_bind_block to new_stmt rather
13779 than copying them.
13780
8fcbce72
JJ
13781 PR middle-end/60092
13782 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
13783 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
13784 assume_aligned or alloc_align attributes.
13785 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
13786 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
13787 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
13788 calls to functions with assume_aligned or alloc_align attributes.
13789 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 13790
451bdd23
TG
137912014-02-08 Terry Guo <terry.guo@arm.com>
13792
13793 * doc/invoke.texi: Document ARM -march=armv7e-m.
13794
d31d42c7
JJ
137952014-02-08 Jakub Jelinek <jakub@redhat.com>
13796
d71dfeb7
JJ
13797 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
13798 flag on __cilkrts_rethrow builtin.
13799
d31d42c7
JJ
13800 PR ipa/60026
13801 * ipa-cp.c (determine_versionability): Fail at -O0
13802 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
13803 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
13804
13805 Revert:
13806 2014-02-04 Jakub Jelinek <jakub@redhat.com>
13807
13808 PR ipa/60026
13809 * tree-inline.c (copy_forbidden): Fail for
13810 __attribute__((optimize (0))) functions.
13811
a0a98fef
JH
138122014-02-07 Jan Hubicka <hubicka@ucw.cz>
13813
13814 * varpool.c: Include pointer-set.h.
13815 (varpool_remove_unreferenced_decls): Variables in other partitions
13816 will not be output; be however careful to not lose information
13817 about partitioning.
13818
8c311b50
JH
138192014-02-07 Jan Hubicka <hubicka@ucw.cz>
13820
13821 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
13822 lookup in the vtable constructor.
13823
7ba03e5e
JL
138242014-02-07 Jeff Law <law@redhat.com>
13825
63e6247d
JL
13826 PR target/40977
13827 * config/m68k/m68k.md (ashldi_extsi): Turn into a
13828 define_insn_and_split.
13829
7ba03e5e
JL
13830 * ipa-inline.c (inline_small_functions): Fix typos.
13831
177bc204
RS
138322014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13833
13834 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
13835 (s390_can_use_return_insn): Declare.
13836 * config/s390/s390.h (EPILOGUE_USES): Define.
13837 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
13838 instructions.
13839 (s390_chunkify_start): Handle return JUMP_LABELs.
13840 (s390_early_mach): Emit a main_pool instruction on the entry edge.
13841 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
13842 (s390_can_use_return_insn): New functions.
13843 (s390_fix_long_loop_prediction): Handle conditional returns.
13844 (TARGET_SET_UP_BY_PROLOGUE): Define.
13845 * config/s390/s390.md (ANY_RETURN): New code iterator.
13846 (*creturn, *csimple_return, return, simple_return): New patterns.
13847
0621cf3c
RS
138482014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13849
13850 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
13851 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
13852 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
13853 REG_CFA_RESTORE list when deciding not to restore a register.
13854
4099494d
RS
138552014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13856
13857 * config/s390/s390.c: Include tree-pass.h and context.h.
13858 (s390_early_mach): New function, split out from...
13859 (s390_emit_prologue): ...here.
13860 (pass_data_s390_early_mach): New pass structure.
13861 (pass_s390_early_mach): New class.
13862 (s390_option_override): Create and register early_mach pass.
13863 Move to end of file.
13864
3489cc33
RS
138652014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13866
13867 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
13868 to match for the exit block.
13869
75cc21e2
AK
138702014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13871
13872 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
13873 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
13874 Reject misaligned operands.
13875
8bd7070a
AK
138762014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13877
1287ae50 13878 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 13879
831806cb
RB
138802014-02-07 Richard Biener <rguenther@suse.de>
13881
13882 PR middle-end/60092
13883 * gimple-low.c (lower_builtin_posix_memalign): New function.
13884 (lower_stmt): Call it to lower posix_memalign in a way
13885 to make alignment info accessible.
13886
7ee9c16f
JJ
138872014-02-07 Jakub Jelinek <jakub@redhat.com>
13888
13889 PR c++/60082
13890 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
13891 __builtin_setjmp_receiver.
13892
32cab212
RB
138932014-02-07 Richard Biener <rguenther@suse.de>
13894
13895 PR middle-end/60092
13896 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
13897 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
13898 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
13899 Handle BUILT_IN_POSIX_MEMALIGN.
13900 (find_func_clobbers): Likewise.
13901 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
13902 (call_may_clobber_ref_p_1): Likewise.
13903
6d6af792
JH
139042014-02-06 Jan Hubicka <hubicka@ucw.cz>
13905
13906 PR ipa/59918
1287ae50
UB
13907 * ipa-devirt.c (record_target_from_binfo): Remove overactive
13908 sanity check.
6d6af792 13909
3c0f1105
JH
139102014-02-06 Jan Hubicka <hubicka@ucw.cz>
13911
13912 PR ipa/59469
13913 * lto-cgraph.c (lto_output_node): Use
13914 symtab_get_symbol_partitioning_class.
13915 (lto_output_varpool_node): likewise.
13916 (symtab_get_symbol_partitioning_class): Move here from
13917 lto/lto-partition.c
13918 * cgraph.h (symbol_partitioning_class): Likewise.
13919 (symtab_get_symbol_partitioning_class): Declare.
13920
b3bb0eb9
JH
139212014-02-06 Jan Hubicka <hubicka@ucw.cz>
13922
13923 * ggc.h (ggc_internal_cleared_alloc): New macro.
13924 * vec.h (vec_safe_copy): Handle memory stats.
13925 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
13926 * target-globals.c (save_target_globals): Likewise.
13927
139282014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
13929
13930 PR target/60077
13931 * expr.c (emit_move_resolve_push): Export; be bit more selective
13932 on when to clear alias set.
13933 * expr.h (emit_move_resolve_push): Declare.
13934 * function.h (struct function): Add tail_call_marked.
13935 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
13936 * config/i386/i386-protos.h (ix86_expand_push): Remove.
13937 * config/i386/i386.md (TImode move expander): De not call
13938 ix86_expand_push.
13939 (FP push expanders): Preserve memory attributes.
13940 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 13941 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
13942 (ix86_expand_push): Remove.
13943 * config/i386/mmx.md (push<mode>1): Remove.
13944
47d552eb
JJ
139452014-02-06 Jakub Jelinek <jakub@redhat.com>
13946
13947 PR rtl-optimization/60030
13948 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
13949 lopart with paradoxical subreg before shifting it up by hprec.
13950
45c75ea7
KT
139512014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13952
13953 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
13954 Remove extra newline at end of file.
13955 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
13956 (arm_issue_rate): Handle cortexa57.
13957 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
13958 (cortex-a57.cortex-a53): Likewise.
13959
af116cae
JJ
139602014-02-06 Jakub Jelinek <jakub@redhat.com>
13961
652a3e3a
JJ
13962 PR target/59575
13963 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
13964 don't record in REG_FRAME_RELATED_EXPR registers not set in that
13965 bitmask.
13966 (arm_expand_prologue): Adjust all callers.
13967 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
13968 info, registers also at the lowest numbered registers side. Use
13969 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
13970 XEXP.
13971
af116cae 13972 PR debug/59992
1287ae50
UB
13973 * var-tracking.c (adjust_mems): Before adding a SET to
13974 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 13975
fdcee33b
AM
139762014-02-06 Alan Modra <amodra@gmail.com>
13977
13978 PR target/60032
13979 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
13980 change SDmode to DDmode when lra_in_progress.
13981
251901a0
JJ
139822014-02-06 Jakub Jelinek <jakub@redhat.com>
13983
d3ef8c53
JJ
13984 PR middle-end/59150
13985 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
13986 free_data_ref on the dr first, and before goto again also set dr
13987 to the next dr. For simd_lane_access, free old datarefs[i] before
13988 overwriting it. For get_vectype_for_scalar_type failure, don't
13989 free_data_ref if simd_lane_access.
13990
2754b38f
JJ
13991 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
13992
251901a0
JJ
13993 PR target/60062
13994 * tree.h (opts_for_fn): New inline function.
13995 (opt_for_fn): Define.
13996 * config/i386/i386.c (ix86_function_regparm): Use
13997 opt_for_fn (decl, optimize) instead of optimize.
13998
4a985a37
MS
139992014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
14000
14001 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
14002 for SYMBOL_REF in large memory model.
14003
c366d38c
KT
140042014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14005
14006 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
14007 and crypto support.
14008 (cortex-a57): Likewise.
14009 (cortex-a57.cortex-a53): Likewise.
14010
c801e246
YG
140112014-02-06 Yury Gribov <y.gribov@samsung.com>
14012 Kugan Vivekanandarajah <kuganv@linaro.org>
14013
14014 * config/arm/arm.c (arm_vector_alignment_reachable): Check
14015 unaligned_access.
14016 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
14017
d50f7b84
RB
140182014-02-06 Richard Biener <rguenther@suse.de>
14019
14020 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
14021 set_loop_copy and initialize_original_copy_tables.
14022
179d2941
AV
140232014-02-06 Alex Velenko <Alex.Velenko@arm.com>
14024
14025 * config/aarch64/aarch64-simd.md
14026 (aarch64_ashr_simddi): Change QI to SI.
14027
78b1469d
JH
140282014-02-05 Jan Hubicka <hubicka@ucw.cz>
14029 Jakub Jelinek <jakub@redhat.com>
14030
14031 PR middle-end/60013
14032 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
14033 of the dataflow.
14034
d85f364c
BS
140352014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14036
14037 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
14038 CODE_FOR_altivec_vpku[hw]um to
14039 CODE_FOR_altivec_vpku[hw]um_direct.
14040 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
14041 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
14042 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
14043 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
14044
7b1cd427
BS
140452014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14046
14047 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
14048 generation for -maltivec=be.
14049 (altivec_vsumsws): Simplify redundant test.
14050
52a93551
BS
140512014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14052
14053 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
14054 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
14055 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
14056 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
14057 gen_altivec_vpkuwum.
14058 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
14059 BYTES_BIG_ENDIAN.
14060 (altivec_vpks<VI_char>ss): Likewise.
14061 (altivec_vpks<VI_char>us): Likewise.
14062 (altivec_vpku<VI_char>us): Likewise.
14063 (altivec_vpku<VI_char>um): Likewise.
14064 (altivec_vpku<VI_char>um_direct): New (copy of
14065 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
14066 internal use).
14067 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
14068 target is little endian and -maltivec=be is not specified.
14069 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 14070 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
14071 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
14072 target is little endian and -maltivec=be is not specified.
14073 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 14074 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
14075 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
14076 little endian and -maltivec=be is not specified.
14077 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
14078 little endian and -maltivec=be is not specified.
14079
004a7e45 140802014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
14081
14082 PR debug/52727
14083 * combine-stack-adj.c: Revert r206943.
14084 * sched-int.h (struct deps_desc): Add last_args_size.
14085 * sched-deps.c (init_deps): Initialize it.
14086 (sched_analyze_insn): Add OUTPUT dependencies between insns that
14087 contain REG_ARGS_SIZE notes.
14088
f300e7b8
JH
140892014-02-05 Jan Hubicka <hubicka@ucw.cz>
14090
14091 * lto-cgraph.c (asm_nodes_output): Make global.
14092 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 14093 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
14094 (driver_handle_option): Handle OPT_fwpa.
14095
609524d2
JJ
140962014-02-05 Jakub Jelinek <jakub@redhat.com>
14097
add5c763
JJ
14098 PR ipa/59947
14099 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
14100 a comment typo and formatting issue. If odr_hash hasn't been
14101 created, return vNULL and set *completep to false.
14102
609524d2
JJ
14103 PR middle-end/57499
14104 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
14105 bb with no successors.
14106
05ab6e21
JG
141072014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
14108
14109 PR target/59718
14110 * doc/invoke.texi (-march): Clarify documentation for ARM.
14111 (-mtune): Likewise.
14112 (-mcpu): Likewise.
14113
d55d9ed0
RB
141142014-02-05 Richard Biener <rguenther@suse.de>
14115
14116 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
14117 when not vectorizing because of too many alias checks.
14118 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
14119 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
14120
c70da878
NC
141212014-02-05 Nick Clifton <nickc@redhat.com>
14122
14123 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 14124 accept extended registers in any mode when compiling for the MN10300.
c70da878 14125
25a07c7e
YG
141262014-02-05 Yury Gribov <y.gribov@samsung.com>
14127
14128 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
14129 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
14130 sanitization attributes.
14131 (can_inline_edge_p): Likewise.
14132 (sanitize_attrs_match_for_inline_p): New function.
14133
4bf2a588
JH
141342014-02-04 Jan Hubicka <hubicka@ucw.cz>
14135
14136 * ipa-prop.c (detect_type_change): Shor circuit testing of
14137 type changes on THIS pointer.
14138
d92f4df0
JDA
141392014-02-04 John David Anglin <danglin@gcc.gnu.org>
14140
14141 PR target/59777
14142 * config/pa/pa.c (legitimize_tls_address): Return original address
14143 if not passed a SYMBOL_REF rtx.
14144 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
14145 addresses.
14146 (pa_emit_move_sequence): Simplify TLS source operands.
14147 (pa_legitimate_constant_p): Reject all TLS constants.
14148 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
14149 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
14150
d665f8dd
JH
141512014-02-04 Jan Hubicka <hubicka@ucw.cz>
14152
14153 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
14154 groups when we know they are controlled by LTO.
14155 * varasm.c (default_binds_local_p_1): If object is in other partition,
14156 it will be resolved locally.
14157
6a071860
BE
141582014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
14159
e2fc3b4f 14160 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 14161 use SSIZE_MAX because it is not always defined.
6a071860 14162
8e9d68a9
VM
141632014-02-04 Vladimir Makarov <vmakarov@redhat.com>
14164
14165 PR bootstrap/59913
14166 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
14167 threshold for pseudo splitting.
14168 (update_ebb_live_info): Process call argument hard registers and
14169 hard registers from insn definition too.
14170 (max_small_class_regs_num): New constant.
14171 (inherit_in_ebb): Update live hard regs through EBBs. Update
14172 reloads_num only for small register classes. Don't split for
14173 outputs of jumps.
14174
8472fa80
MT
141752014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
14176
14177 PR ipa/60058
14178 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
14179 is non-null.
14180
df98e37f
JH
141812014-02-04 Jan Hubicka <hubicka@ucw.cz>
14182
1287ae50
UB
14183 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
14184 visibility is safe.
df98e37f 14185
71e55f04
MP
141862014-02-04 Marek Polacek <polacek@redhat.com>
14187
14188 * gdbinit.in (pel): Define.
14189
229e56f9
BE
141902014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
14191
14192 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
14193 behavior.
14194
c39276b8
RB
141952014-02-04 Richard Biener <rguenther@suse.de>
14196
14197 PR lto/59723
14198 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
14199 in function context local.
14200 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
14201 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
14202 similar to LTO_imported_decl_ref.
14203
66b3ed5f
JJ
142042014-02-04 Jakub Jelinek <jakub@redhat.com>
14205
029ce7a2
JJ
14206 PR tree-optimization/60002
14207 * cgraphclones.c (build_function_decl_skip_args): Clear
14208 DECL_LANG_SPECIFIC.
14209
8e91d222
JJ
14210 PR tree-optimization/60023
14211 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
14212 false to gsi_replace.
14213 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
14214 has been in some EH region and vec_stmt could throw, add
14215 vec_stmt into the same EH region.
14216 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
14217 has no lhs, ignore it.
14218 * internal-fn.c (expand_MASK_LOAD): Likewise.
14219
eb259c4a
JJ
14220 PR ipa/60026
14221 * tree-inline.c (copy_forbidden): Fail for
14222 __attribute__((optimize (0))) functions.
14223
92d05580
JJ
14224 PR other/58712
14225 * omp-low.c (simd_clone_struct_copy): If from->inbranch
14226 is set, copy one less argument.
30540e79
JJ
14227 (expand_simd_clones): Don't subtract clone_info->inbranch
14228 from simd_clone_struct_alloc argument.
92d05580 14229
be3afd67
JJ
14230 PR rtl-optimization/57915
14231 * recog.c (simplify_while_replacing): If all unary/binary/relational
14232 operation arguments are constant, attempt to simplify those.
14233
66b3ed5f
JJ
14234 PR middle-end/59261
14235 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
14236 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
14237
5961d779
RB
142382014-02-04 Richard Biener <rguenther@suse.de>
14239
14240 PR tree-optimization/60012
14241 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
14242 TBAA disambiguation to all DDRs.
14243
91da0481
RO
142442014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14245
14246 PR target/59788
14247 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
14248 (LINK_SPEC): Use it for -shared, -shared-libgcc.
14249
39960d1c
JH
142502014-02-03 Jan Hubicka <hubicka@ucw.cz>
14251
14252 PR ipa/59882
14253 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
14254
142552014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
14256
14257 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
14258 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
14259
39960d1c 142602014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
14261
14262 PR ipa/59831
14263 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
14264 to figure out targets of polymorphic calls with known decl.
14265 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
14266 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
14267 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
14268 (get_polymorphic_call_info): ... here.
14269 (get_polymorphic_call_info_from_invariant): New function.
14270
39960d1c 142712014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
14272
14273 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
14274 lookup via vtable pointer; check for type consistency
14275 and turn inconsitent facts into UNREACHABLE.
14276 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
14277 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
14278 type inconsistent querries; return UNREACHABLE instead.
9de2f554 14279
ade3ff24
RH
142802014-02-03 Richard Henderson <rth@twiddle.net>
14281
14282 PR tree-opt/59924
14283 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
14284 already processed this node.
14285 (normalize_one_pred_1): Pass along mark_set.
14286 (normalize_one_pred): Create and destroy a pointer_set_t.
14287 (normalize_one_pred_chain): Likewise.
14288
55428cc3
LA
142892014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
14290
14291 PR gcov-profile/58602
1287ae50 14292 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 14293
85942f45
JH
142942014-02-03 Jan Hubicka <hubicka@ucw.cz>
14295
14296 PR ipa/59831
1287ae50
UB
14297 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
14298 -fno-devirtualize; try to devirtualize by the knowledge of
14299 virtual table pointer given by aggregate propagation.
85942f45 14300 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 14301 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
14302 is relevant for polymorphic calls.
14303 (determine_known_aggregate_parts): Add arg_type parameter; use it
14304 instead of determining the type from pointer type.
14305 (ipa_compute_jump_functions_for_edge): Update call of
14306 determine_known_aggregate_parts.
14307 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
14308 (gimple_get_virt_method_for_binfo): ... here; simplify using
14309 vtable_pointer_value_to_vtable.
14310 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
14311 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 14312 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
14313 (vtable_pointer_value_to_vtable): Break out from ...; handle also
14314 POINTER_PLUS_EXPR.
14315 (vtable_pointer_value_to_binfo): ... here.
14316 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
14317
bddc974e
TJ
143182014-02-03 Teresa Johnson <tejohnson@google.com>
14319
14320 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
14321 redef of outer loop index variable.
14322
5d77fb19
MG
143232014-02-03 Marc Glisse <marc.glisse@inria.fr>
14324
14325 PR c++/53017
14326 PR c++/59211
14327 * doc/extend.texi (Function Attributes): Typo.
14328
cf5b2be2
CH
143292014-02-03 Cong Hou <congh@google.com>
14330
14331 PR tree-optimization/60000
14332 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
14333 if the vectorized statement is a store. A store statement can only
14334 appear at the end of pattern statements.
14335
a2a1ddb5
L
143362014-02-03 H.J. Lu <hongjiu.lu@intel.com>
14337
14338 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
14339 (ix86_option_override_internal): Default long double to 64-bit for
14340 32-bit Bionic and to 128-bit for 64-bit Bionic.
14341
14342 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
14343 TARGET_LONG_DOUBLE_128 is true.
14344 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
14345
14346 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
14347 (mlong-double-64): Negate -mlong-double-128.
14348 (mlong-double-128): New option.
14349
14350 * config/i386/i386-c.c (ix86_target_macros): Define
14351 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
14352
14353 * doc/invoke.texi: Document -mlong-double-128.
14354
f742cf90
L
143552014-02-03 H.J. Lu <hongjiu.lu@intel.com>
14356
14357 PR rtl-optimization/60024
14358 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
14359
8f36fd30
MT
143602014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
14361
1287ae50 14362 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 14363
861ec4f3
AB
143642014-02-03 Andrey Belevantsev <abel@ispras.ru>
14365
14366 PR rtl-optimization/57662
14367 * sel-sched.c (code_motion_path_driver): Do not mark already not
14368 existing blocks in the visiting bitmap.
14369
fe08255d
AB
143702014-02-03 Andrey Belevantsev <abel@ispras.ru>
14371
14372 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
14373 on the insn being emitted.
14374
96d3a240
JG
143752014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
14376 Will Deacon <will.deacon@arm.com>
14377
14378 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
14379
9dd6c9f7
KT
143802014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14381
14382 * config/arm/arm-tables.opt: Regenerate.
14383
60331d00
BS
143842014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14385
14386 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
14387 for vector types other than V16QImode.
14388 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
14389 define_expand, and call altivec_expand_vec_perm_le when producing
14390 code with little endian element order.
14391 (*altivec_vperm_<mode>_internal): New insn having previous
14392 behavior of altivec_vperm_<mode>.
14393 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
14394 altivec_expand_vec_perm_le when producing code with little endian
14395 element order.
14396 (*altivec_vperm_<mode>_uns_internal): New insn having previous
14397 behavior of altivec_vperm_<mode>_uns.
14398
b80afde9
BS
143992014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14400
14401 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
14402 (altivec_vsumsws): Add handling for -maltivec=be with a little
14403 endian target.
14404 (altivec_vsumsws_direct): New.
14405 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
14406 gen_altivec_vsumsws.
14407
39960d1c 144082014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
14409
14410 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
14411 vtable_pointer_value_to_binfo): New functions.
14412 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
14413 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
14414
02b67731
SL
144152014-02-02 Sandra Loosemore <sandra@codesourcery.com>
14416
14417 * config/nios2/nios2.md (load_got_register): Initialize GOT
14418 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
14419 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
14420
2ace77c2
JH
144212014-02-02 Jan Hubicka <hubicka@ucw.cz>
14422
14423 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
14424 preserverd by passthrough, do not propagate the type.
14425
70b2d364
RS
144262014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
14427
14428 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
14429 (mips_atomic_assign_expand_fenv): New function.
14430 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
14431
a90c0245
RS
144322014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
14433
14434 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
14435 (__builtin_mips_set_fcsr): Likewise.
14436 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
14437 MIPS_USI_FTYPE_VOID.
14438 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
14439 (mips16_expand_set_fcsr): Likewise.
14440 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
14441 (mips16_set_fcsr_stub): Likewise.
14442 (mips16_get_fcsr_one_only_stub): New class.
14443 (mips16_set_fcsr_one_only_stub): Likewise.
14444 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
14445 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
14446 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
14447 (hard_float): New availability predicate.
14448 (mips_builtins): Add get_fcsr and set_fcsr.
14449 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
14450 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
14451 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
14452 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
14453 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
14454 patterns.
14455
6d51cc90
RS
144562014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
14457
14458 * config/mips/mips.c (mips_one_only_stub): New class.
14459 (mips_need_mips16_rdhwr_p): Replace with...
14460 (mips16_rdhwr_stub): ...this new variable.
14461 (mips16_stub_call_address): New function.
14462 (mips16_rdhwr_one_only_stub): New class.
14463 (mips_expand_thread_pointer): Use mips16_stub_call_address.
14464 (mips_output_mips16_rdhwr): Delete.
14465 (mips_finish_stub): New function.
14466 (mips_code_end): Use it to handle rdhwr stubs.
14467
6c90f137
UB
144682014-02-02 Uros Bizjak <ubizjak@gmail.com>
14469
14470 PR target/60017
14471 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
14472 when calculating size of integer atomic types.
14473
5e64bbbb
L
144742014-02-02 H.J. Lu <hongjiu.lu@intel.com>
14475
14476 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
14477
021293cb
JJ
144782014-02-01 Jakub Jelinek <jakub@redhat.com>
14479
14480 PR tree-optimization/60003
14481 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
14482 * profile.c (branch_prob): Use gimple_call_builtin_p
14483 to check for BUILT_IN_SETJMP_RECEIVER.
14484 * tree-inline.c (copy_bb): Call notice_special_calls.
14485
6334f3e9
VM
144862014-01-31 Vladimir Makarov <vmakarov@redhat.com>
14487
14488 PR bootstrap/59985
14489 * lra-constraints.c (process_alt_operands): Update reload_sum only
14490 on the first pass.
14491
efa7882f
RH
144922014-01-31 Richard Henderson <rth@redhat.com>
14493
14494 PR middle-end/60004
14495 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
14496 until after else_eh is processed.
14497
de72ea02
IT
144982014-01-31 Ilya Tocar <ilya.tocar@intel.com>
14499
14500 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
14501 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
14502 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
14503 in smmintrin.h, remove them.
14504 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
14505 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
14506 * config/i386/i386.md (ROUND_SAE): Fix value.
14507 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
14508 (const48_operand): New.
14509 * config/i386/subst.md (round), (round_expand): Use
14510 const_4_or_8_to_11_operand.
14511 (round_saeonly), (round_saeonly_expand): Use const48_operand.
14512
be792bce
IT
145132014-01-31 Ilya Tocar <ilya.tocar@intel.com>
14514
14515 * config/i386/constraints.md (Yk): Swap meaning with k.
14516 * config/i386/i386.md (movhi_internal): Change Yk to k.
14517 (movqi_internal): Ditto.
14518 (*k<logic><mode>): Ditto.
14519 (*andhi_1): Ditto.
14520 (*andqi_1): Ditto.
14521 (kandn<mode>): Ditto.
14522 (*<code>hi_1): Ditto.
14523 (*<code>qi_1): Ditto.
14524 (kxnor<mode>): Ditto.
14525 (kortestzhi): Ditto.
14526 (kortestchi): Ditto.
14527 (kunpckhi): Ditto.
14528 (*one_cmplhi2_1): Ditto.
14529 (*one_cmplqi2_1): Ditto.
14530 * config/i386/sse.md (): Change k to Yk.
14531 (avx512f_load<mode>_mask): Ditto.
14532 (avx512f_blendm<mode>): Ditto.
14533 (avx512f_store<mode>_mask): Ditto.
14534 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
14535 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
14536 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
14537 Ditto.
be792bce
IT
14538 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
14539 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
14540 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
14541 (avx512f_maskcmp<mode>3): Ditto.
14542 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
14543 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
14544 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
14545 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
14546 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
14547 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
14548 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
14549 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
14550 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
14551 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
14552 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
14553 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
14554 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
14555 (vec_extract_lo_<mode>_maskm): Ditto.
14556 (vec_extract_hi_<mode>_maskm): Ditto.
14557 (avx512f_vternlog<mode>_mask): Ditto.
14558 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
14559 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
14560 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
14561 (avx512f_<code>v8div16qi2_mask): Ditto.
14562 (avx512f_<code>v8div16qi2_mask_store): Ditto.
14563 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
14564 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
14565 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
14566 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
14567 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
14568 (*avx512pf_gatherpf<mode>df_mask): Ditto.
14569 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
14570 (*avx512pf_scatterpf<mode>df_mask): Ditto.
14571 (avx512cd_maskb_vec_dupv8di): Ditto.
14572 (avx512cd_maskw_vec_dupv16si): Ditto.
14573 (avx512f_vpermi2var<mode>3_maskz): Ditto.
14574 (avx512f_vpermi2var<mode>3_mask): Ditto.
14575 (avx512f_vpermi2var<mode>3_mask): Ditto.
14576 (avx512f_vpermt2var<mode>3_maskz): Ditto.
14577 (*avx512f_gathersi<mode>): Ditto.
14578 (*avx512f_gathersi<mode>_2): Ditto.
14579 (*avx512f_gatherdi<mode>): Ditto.
14580 (*avx512f_gatherdi<mode>_2): Ditto.
14581 (*avx512f_scattersi<mode>): Ditto.
14582 (*avx512f_scatterdi<mode>): Ditto.
14583 (avx512f_compress<mode>_mask): Ditto.
14584 (avx512f_compressstore<mode>_mask): Ditto.
14585 (avx512f_expand<mode>_mask): Ditto.
14586 * config/i386/subst.md (mask): Change k to Yk.
14587 (mask_scalar_merge): Ditto.
14588 (sd): Ditto.
14589
0878d68a
MG
145902014-01-31 Marc Glisse <marc.glisse@inria.fr>
14591
14592 * doc/extend.texi (Vector Extensions): Document ?: in C++.
14593
fdfd537b
RB
145942014-01-31 Richard Biener <rguenther@suse.de>
14595
14596 PR middle-end/59990
14597 * builtins.c (fold_builtin_memory_op): Make sure to not
14598 use a floating-point mode or a boolean or enumeral type for
14599 the copy operation.
14600
4f50b9ff
DD
146012014-01-30 DJ Delorie <dj@redhat.com>
14602
14603 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
14604 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
14605 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
14606 whenever main() has an epilogue.
14607
c3e96073
BS
146082014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14609
14610 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
14611 unused variable "field".
14612 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
14613 (vsx_mergeh_<mode>): Likewise.
14614 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
14615 (altivec_vmrghh): Likewise.
14616 (altivec_vmrghw): Likewise.
14617 (altivec_vmrglb): Likewise.
14618 (altivec_vmrglh): Likewise.
14619 (altivec_vmrglw): Likewise.
14620 (altivec_vspltb): Add missing uses.
14621 (altivec_vsplth): Likewise.
14622 (altivec_vspltw): Likewise.
14623 (altivec_vspltsf): Likewise.
14624
4bb9c32d
JJ
146252014-01-30 Jakub Jelinek <jakub@redhat.com>
14626
14627 PR target/59923
14628 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
14629 frame related instructions.
14630
7613fa50
VM
146312014-01-30 Vladimir Makarov <vmakarov@redhat.com>
14632
14633 PR rtl-optimization/59959
14634 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
14635 any reload of register whose subreg is invalid.
14636
6fb82517
JJ
146372014-01-30 Jakub Jelinek <jakub@redhat.com>
14638
33425d6c 14639 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
14640 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
14641 Add missing return type - void.
14642
bf53d4b8
BS
146432014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14644
14645 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
14646 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
14647 remove element index adjustment for endian (now handled in vsx.md
14648 and altivec.md).
14649 (altivec_expand_vec_perm_const): Use
14650 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
14651 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
14652 (vsx_xxspltw_<mode>): Adjust element index for little endian.
14653 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
14654 define_expand and a new define_insn *altivec_vspltb_internal;
14655 adjust for -maltivec=be on a little endian target.
14656 (altivec_vspltb_direct): New.
14657 (altivec_vsplth): Divide into a define_expand and a new
14658 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
14659 little endian target.
14660 (altivec_vsplth_direct): New.
14661 (altivec_vspltw): Divide into a define_expand and a new
14662 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
14663 little endian target.
14664 (altivec_vspltw_direct): New.
14665 (altivec_vspltsf): Divide into a define_expand and a new
14666 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
14667 a little endian target.
14668
c965e187
RB
146692014-01-30 Richard Biener <rguenther@suse.de>
14670
14671 PR tree-optimization/59993
14672 * tree-ssa-forwprop.c (associate_pointerplus): Check we
14673 can propagate form the earlier stmt and avoid the transform
14674 when the intermediate result is needed.
14675
ba117645
AD
146762014-01-30 Alangi Derick <alangiderick@gmail.com>
14677
14678 * README.Portability: Fix typo.
14679
4bb66ef3 146802014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
14681
14682 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
14683 comparison_operator with ordered_comparison_operator.
14684
c345a0b1
NC
146852014-01-30 Nick Clifton <nickc@redhat.com>
14686
14687 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
14688 Rename to mn10300_store_multiple_regs.
14689 * config/mn10300/mn10300.c: Likewise.
14690 * config/mn10300/mn10300.md (store_movm): Fix typo: call
14691 store_multiple_regs.
14692 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
14693 Call mn10300_store_multiple_regs.
14694
2d70f6d4
NC
146952014-01-30 Nick Clifton <nickc@redhat.com>
14696 DJ Delorie <dj@redhat.com>
14697
14698 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
14699 %fp 2 to keep registers after it properly word-aligned.
14700 (rl78_alloc_physical_registers_umul): Handle the case where both
14701 input operands are the same.
14702
c972624e
RB
147032014-01-30 Richard Biener <rguenther@suse.de>
14704
14705 PR tree-optimization/59903
14706 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
14707 check properly.
14708
fc044323
JM
147092014-01-30 Jason Merrill <jason@redhat.com>
14710
404c2aea
JM
14711 PR c++/59633
14712 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
14713
fc044323
JM
14714 PR c++/59645
14715 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
14716
f30a0ba5
RB
147172014-01-30 Richard Biener <rguenther@suse.de>
14718
14719 PR tree-optimization/59951
33425d6c 14720 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 14721
aad8816f
SZ
147222014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
14723
14724 PR target/59784
14725 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
14726 SFmode to DFmode case.
14727
3b16363e
DD
147282014-01-29 DJ Delorie <dj@redhat.com>
14729
14730 * config/msp430/msp430.opt (-minrt): New.
14731 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
14732 if -minrt given.
14733 (ENDFILE_SPEC): Likewise.
14734
39960d1c 147352014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
14736
14737 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
14738 (estimate_function_body_sizes): Use it.
14739
1200933c
PC
147402014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
14741
14742 PR c++/58561
14743 * dwarf2out.c (is_cxx_auto): New.
14744 (is_base_type): Use it.
14745 (gen_type_die_with_usage): Likewise.
14746
68d3bacf
BS
147472014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14748
14749 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
14750 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
14751 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
14752 -maltivec=be with LE targets.
14753 (vsx_mergeh_<mode>): Likewise.
33425d6c 14754 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
14755 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
14756 (altivec_vmrghb): Replace with define_expand and new
33425d6c 14757 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14758 (altivec_vmrghb_direct): New define_insn.
14759 (altivec_vmrghh): Replace with define_expand and new
33425d6c 14760 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14761 (altivec_vmrghh_direct): New define_insn.
14762 (altivec_vmrghw): Replace with define_expand and new
33425d6c 14763 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14764 (altivec_vmrghw_direct): New define_insn.
14765 (*altivec_vmrghsf): Adjust for endianness.
14766 (altivec_vmrglb): Replace with define_expand and new
33425d6c 14767 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14768 (altivec_vmrglb_direct): New define_insn.
14769 (altivec_vmrglh): Replace with define_expand and new
33425d6c 14770 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14771 (altivec_vmrglh_direct): New define_insn.
14772 (altivec_vmrglw): Replace with define_expand and new
33425d6c 14773 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
14774 (altivec_vmrglw_direct): New define_insn.
14775 (*altivec_vmrglsf): Adjust for endianness.
14776 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
14777 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
14778 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
14779 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
14780 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
14781 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
14782 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
14783 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
14784
aef66c94
MS
147852014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
14786
14787 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
14788 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
14789 whitespace.
14790
77574c35
RB
147912014-01-29 Richard Biener <rguenther@suse.de>
14792
14793 PR tree-optimization/58742
14794 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
14795 associate_pointerplus_align.
14796 (associate_pointerplus_diff): New function.
14797 (associate_pointerplus): Likewise. Call associate_pointerplus_align
14798 and associate_pointerplus_diff.
14799
15b25b24
RB
148002014-01-29 Richard Biener <rguenther@suse.de>
14801
14802 * lto-streamer.h (LTO_major_version): Bump to 3.
14803 (LTO_minor_version): Reset to 0.
14804
eb6006ad
RL
148052014-01-29 Renlin Li <Renlin.Li@arm.com>
14806
14807 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
14808 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
14809 (arm_file_start): Generate correct asm header for armv7ve.
14810 * config/arm/bpabi.h: Add multilib support for armv7ve.
14811 * config/arm/driver-arm.c: Change the architectures of cortex-a7
14812 and cortex-a15 to armv7ve.
14813 * config/arm/t-aprofile: Add multilib support for armv7ve.
14814 * doc/invoke.texi: Document -march=armv7ve.
14815
4bfb2fa2
RB
148162014-01-29 Richard Biener <rguenther@suse.de>
14817
14818 PR tree-optimization/58742
14819 * tree-ssa-forwprop.c (associate_plusminus): Return true
14820 if we changed sth, defer EH cleanup to ...
14821 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
14822 (simplify_mult): New function.
14823
42eb8bd1
JJ
148242014-01-29 Jakub Jelinek <jakub@redhat.com>
14825
09b22f48
JJ
14826 PR middle-end/59917
14827 PR tree-optimization/59920
14828 * tree.c (build_common_builtin_nodes): Remove
14829 __builtin_setjmp_dispatcher initialization.
14830 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
14831 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
14832 instead of gsi_after_labels + manually skipping debug stmts.
14833 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
14834 ignore bbs with IFN_ABNORMAL_DISPATCHER.
14835 * tree-inline.c (copy_edges_for_bb): Remove
14836 can_make_abnormal_goto argument, instead add abnormal_goto_dest
14837 argument. Ignore computed_goto_p stmts. Don't call
14838 make_abnormal_goto_edges. If a call might need abnormal edges
14839 for non-local gotos, see if it already has an edge to
14840 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
14841 with true argument, don't do anything then, otherwise add
14842 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
14843 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
14844 caller.
14845 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
14846 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
14847 (lower_stmt): Don't set data->calls_builtin_setjmp.
14848 (lower_builtin_setjmp): Adjust comment.
14849 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
14850 * tree-cfg.c (found_computed_goto): Remove.
14851 (factor_computed_gotos): Remove.
14852 (make_goto_expr_edges): Return bool, true for computed gotos.
14853 Don't call make_abnormal_goto_edges.
14854 (build_gimple_cfg): Don't set found_computed_goto, don't call
14855 factor_computed_gotos.
14856 (computed_goto_p): No longer static.
14857 (make_blocks): Don't set found_computed_goto.
14858 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
14859 (make_edges): If make_goto_expr_edges returns true, push bb
14860 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
14861 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
14862 vector. Record mapping between bbs and OpenMP regions if there
14863 are any, adjust make_gimple_omp_edges caller. Call
14864 handle_abnormal_edges.
14865 (make_abnormal_goto_edges): Remove.
14866 * tree-cfg.h (make_abnormal_goto_edges): Remove.
14867 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
14868 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 14869 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
14870 * internal-fn.def (ABNORMAL_DISPATCHER): New.
14871 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
14872 filling *region also set *region_idx to (*region)->entry->index.
14873
42eb8bd1
JJ
14874 PR other/58712
14875 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
14876 For REGs set ORIGINAL_REGNO.
14877
4a271b7e
BM
148782014-01-29 Bingfeng Mei <bmei@broadcom.com>
14879
33425d6c 14880 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
14881 vec_widen_(s|u)mul_even/odd pair if it is less efficient
14882 than hi/lo pair.
14883
3d54b29d
JJ
148842014-01-29 Jakub Jelinek <jakub@redhat.com>
14885
14886 PR tree-optimization/59594
14887 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
14888 a copy of the datarefs vector rather than the vector itself.
14889
2e5e7103
JM
148902014-01-28 Jason Merrill <jason@redhat.com>
14891
14892 PR c++/53756
14893 * dwarf2out.c (auto_die): New static.
14894 (gen_type_die_with_usage): Handle C++1y 'auto'.
14895 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
14896 on definition.
14897
d5d618b5
L
148982014-01-28 H.J. Lu <hongjiu.lu@intel.com>
14899
14900 PR target/59672
14901 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
14902 (SPEC_X32): Likewise.
14903 (SPEC_64): Likewise.
14904 * config/i386/i386.c (ix86_option_override_internal): Turn off
14905 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
14906 for TARGET_16BIT.
14907 (x86_file_start): Output .code16gcc for TARGET_16BIT.
14908 * config/i386/i386.h (TARGET_16BIT): New macro.
14909 (TARGET_16BIT_P): Likewise.
14910 * config/i386/i386.opt: Add m16.
14911 * doc/invoke.texi: Document -m16.
14912
367c8286
DS
149132014-01-28 Jakub Jelinek <jakub@redhat.com>
14914
14915 PR preprocessor/59935
14916 * input.c (location_get_source_line): Bail out on when line number
33425d6c 14917 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 14918
07ec81f9
RB
149192014-01-28 Richard Biener <rguenther@suse.de>
14920
14921 PR tree-optimization/58742
14922 * tree-ssa-forwprop.c (associate_plusminus): Handle
14923 pointer subtraction of the form (T)(P + A) - (T)P.
14924
5facb998
KT
149252014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14926
14927 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
14928 at const_int_cost.
14929
e04faf24
RB
149302014-01-28 Richard Biener <rguenther@suse.de>
14931
14932 Revert
14933 2014-01-28 Richard Biener <rguenther@suse.de>
14934
14935 PR rtl-optimization/45364
14936 PR rtl-optimization/59890
14937 * var-tracking.c (local_get_addr_clear_given_value): Handle
14938 already cleared slot.
14939 (val_reset): Handle not allocated local_get_addr_cache.
14940 (vt_find_locations): Use post-order on the inverted CFG.
14941
6593260b
RB
149422014-01-28 Richard Biener <rguenther@suse.de>
14943
33425d6c 14944 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 14945
9ec2d2c1
RB
149462014-01-28 Richard Biener <rguenther@suse.de>
14947
14948 PR rtl-optimization/45364
14949 PR rtl-optimization/59890
14950 * var-tracking.c (local_get_addr_clear_given_value): Handle
14951 already cleared slot.
14952 (val_reset): Handle not allocated local_get_addr_cache.
14953 (vt_find_locations): Use post-order on the inverted CFG.
14954
2ceb362d
AM
149552014-01-28 Alan Modra <amodra@gmail.com>
14956
14957 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
14958 * configure.ac <recursive call for build != host>: Define
14959 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
14960 and LD_FOR_BUILD too.
14961 * configure: Regenerate.
14962
0ebe2584
ASJ
149632014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
14964
14965 * config/i386/i386.c (get_builtin_code_for_version): Separate
14966 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
14967 Broadwell from Haswell.
14968
a33fc7fe
SE
149692014-01-27 Steve Ellcey <sellcey@mips.com>
14970
14971 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
14972 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
14973 * config/mips/mips.c (mips_option_override): Change setting
14974 of TARGET_DSP.
14975 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
14976 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
14977 Change from Mask to Var.
a33fc7fe 14978
a99be3c9
JL
149792014-01-27 Jeff Law <law@redhat.com>
14980
14981 * ipa-inline.c (inline_small_functions): Fix typo.
14982
d256b866
IT
149832014-01-27 Ilya Tocar <ilya.tocar@intel.com>
14984
14985 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
14986 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
14987 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
14988 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
14989 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
14990 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
14991 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
14992 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
14993 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
14994 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
14995 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
14996 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
14997 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
14998 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
14999 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
15000 (_mm512_storeu_epi64): Ditto.
15001 (_mm512_cmpge_epi32_mask): Ditto.
15002 (_mm512_cmpge_epu32_mask): Ditto.
15003 (_mm512_cmpge_epi64_mask): Ditto.
15004 (_mm512_cmpge_epu64_mask): Ditto.
15005 (_mm512_cmple_epi32_mask): Ditto.
15006 (_mm512_cmple_epu32_mask): Ditto.
15007 (_mm512_cmple_epi64_mask): Ditto.
15008 (_mm512_cmple_epu64_mask): Ditto.
15009 (_mm512_cmplt_epi32_mask): Ditto.
15010 (_mm512_cmplt_epu32_mask): Ditto.
15011 (_mm512_cmplt_epi64_mask): Ditto.
15012 (_mm512_cmplt_epu64_mask): Ditto.
15013 (_mm512_cmpneq_epi32_mask): Ditto.
15014 (_mm512_cmpneq_epu32_mask): Ditto.
15015 (_mm512_cmpneq_epi64_mask): Ditto.
15016 (_mm512_cmpneq_epu64_mask): Ditto.
15017 (_mm512_expand_pd): Ditto.
15018 (_mm512_expand_ps): Ditto.
15019 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
15020 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
15021 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
15022 * config/i386/i386.c (ix86_builtins): Add
15023 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
15024 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
15025 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
15026 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
15027 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
15028 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
15029 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
15030 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
15031 IX86_BUILTIN_PMOVUSQW512_MEM.
15032 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
15033 __builtin_ia32_pmovsqd512mem_mask,
15034 __builtin_ia32_pmovqd512mem_mask,
15035 __builtin_ia32_pmovusqw512mem_mask,
15036 __builtin_ia32_pmovsqw512mem_mask,
15037 __builtin_ia32_pmovqw512mem_mask,
15038 __builtin_ia32_pmovusdw512mem_mask,
15039 __builtin_ia32_pmovsdw512mem_mask,
15040 __builtin_ia32_pmovdw512mem_mask,
15041 __builtin_ia32_pmovqb512mem_mask,
15042 __builtin_ia32_pmovusqb512mem_mask,
15043 __builtin_ia32_pmovsqb512mem_mask,
15044 __builtin_ia32_pmovusdb512mem_mask,
15045 __builtin_ia32_pmovsdb512mem_mask,
15046 __builtin_ia32_pmovdb512mem_mask.
15047 (bdesc_args): Add __builtin_ia32_expanddf512,
15048 __builtin_ia32_expandsf512.
15049 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
15050 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
15051 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
15052 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
15053 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
15054 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
15055 (avx512f_<code>v8div16qi2_mask_store): This.
15056 (avx512f_expand<mode>): New.
15057
e711dffd
KY
150582014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
15059
1287ae50 15060 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 15061 New.
e711dffd
KY
15062 (_mm512_mask_prefetch_i64gather_pd): Ditto.
15063 (_mm512_prefetch_i32scatter_pd): Ditto.
15064 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
15065 (_mm512_prefetch_i64scatter_pd): Ditto.
15066 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
15067 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
15068 (_mm512_mask_prefetch_i64gather_ps): Ditto.
15069 (_mm512_prefetch_i32scatter_ps): Ditto.
15070 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
15071 (_mm512_prefetch_i64scatter_ps): Ditto.
15072 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
15073 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
15074 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
15075 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
15076 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
15077 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
15078 IX86_BUILTIN_SCATTERPFQPD.
15079 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
15080 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
15081 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
15082 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
15083 __builtin_ia32_scatterpfqps.
15084 (ix86_expand_builtin): Expand new built-ins.
15085 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
15086 fix memory access data type.
15087 (*avx512pf_gatherpf<mode>_mask): Ditto.
15088 (*avx512pf_gatherpf<mode>): Ditto.
15089 (avx512pf_scatterpf<mode>): Ditto.
15090 (*avx512pf_scatterpf<mode>_mask): Ditto.
15091 (*avx512pf_scatterpf<mode>): Ditto.
15092 (GATHER_SCATTER_SF_MEM_MODE): New.
15093 (avx512pf_gatherpf<mode>df): Ditto.
15094 (*avx512pf_gatherpf<mode>df_mask): Ditto.
15095 (*avx512pf_scatterpf<mode>df): Ditto.
15096
904e5ccd
JJ
150972014-01-27 Jakub Jelinek <jakub@redhat.com>
15098
15099 PR bootstrap/59934
15100 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
15101 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
15102 reached.
15103
84e90123
JG
151042014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
15105
15106 * common/config/arm/arm-common.c
15107 (arm_rewrite_mcpu): Handle multiple names.
15108 * config/arm/arm.h
15109 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
15110
c6f6157a
JG
151112014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
15112
15113 * gimple-builder.h (create_gimple_tmp): Delete.
15114
770516c9
CB
151152014-01-27 Christian Bruel <christian.bruel@st.com>
15116
15117 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
15118 words comparisons.
15119
cc5cec10
JDA
151202014-01-26 John David Anglin <danglin@gcc.gnu.org>
15121
5aa3c762
JDA
15122 * config/pa/pa.md (call): Generate indirect long calls to non-local
15123 functions when outputing 32-bit code.
15124 (call_value): Likewise except for special call to buggy powf function.
15125
cc5cec10
JDA
15126 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
15127 portable runtime and PIC indirect calls.
15128 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
15129 and PIC call sequences. Use ldo instead of blr to set return register
15130 in PIC call sequence.
15131
6bb0e248
WL
151322014-01-25 Walter Lee <walt@tilera.com>
15133
15134 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
15135 avoid clobbering a live register.
15136
dab03fe3
WL
151372014-01-25 Walter Lee <walt@tilera.com>
15138
770516c9 15139 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 15140 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 15141 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
15142 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
15143
905c20c1
WL
151442014-01-25 Walter Lee <walt@tilera.com>
15145
15146 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
15147 arguments on even registers.
15148 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
15149 STACK_BOUNDARY.
15150 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
15151 (BIGGEST_ALIGNMENT): Ditto.
15152 (BIGGEST_FIELD_ALIGNMENT): Ditto.
15153
8e90a625
WL
151542014-01-25 Walter Lee <walt@tilera.com>
15155
15156 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
15157 insns before bundling.
0ebe2584 15158 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 15159
450c1ffe
WL
151602014-01-25 Walter Lee <walt@tilera.com>
15161
15162 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
15163 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
15164 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 15165
450c1ffe 151662014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 15167
317a951f
RS
15168 * config/mips/constraints.md (kl): Delete.
15169 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
15170 define expands, using...
15171 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
15172 instructions for MIPS16.
15173 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
15174 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
15175
3abe9053
WL
151762014-01-25 Walter Lee <walt@tilera.com>
15177
0ebe2584 15178 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
15179 (clzdi2): Ditto.
15180 (ffsdi2): Ditto.
15181
b0e0fe41
WL
151822014-01-25 Walter Lee <walt@tilera.com>
15183
15184 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
15185 (TARGET_EXPAND_TO_RTL_HOOK): Define.
15186
2c8798a2
RS
151872014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
15188
15189 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
15190 Handle XOR.
15191
2105be5a
JJ
151922014-01-25 Jakub Jelinek <jakub@redhat.com>
15193
4def6060
JJ
15194 * print-rtl.c (in_call_function_usage): New var.
15195 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
15196 EXPR_LIST mode as mode and not as reg note name.
15197
2105be5a
JJ
15198 PR middle-end/59561
15199 * cfgloopmanip.c (copy_loop_info): If
15200 loop->warned_aggressive_loop_optimizations, make sure
15201 the flag is set in target loop too.
15202
b72271b9
BI
152032014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
15204
15205 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
15206 flag_cilkplus.
15207 * builtins.def: Likewise.
15208 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
15209 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
15210 * ira.c (ira_setup_eliminable_regset): Likewise.
15211 * omp-low.c (gate_expand_omp): Likewise.
15212 (execute_lower_omp): Likewise.
15213 (diagnose_sb_0): Likewise.
15214 (gate_diagnose_omp_blocks): Likewise.
15215 (simd_clone_clauses_extract): Likewise.
15216 (gate): Likewise.
15217
8adcc78b
BS
152182014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15219
15220 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
15221 correction for little endian...
15222 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
15223 here.
15224
3d750496
JL
152252014-01-24 Jeff Law <law@redhat.com>
15226
15227 PR tree-optimization/59919
15228 * tree-vrp.c (find_assert_locations_1): Do not register asserts
15229 for non-returning calls.
15230
1c05df59
JG
152312014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
15232
15233 * common/config/aarch64/aarch64-common.c
15234 (aarch64_rewrite_mcpu): Handle multiple names.
15235 * config/aarch64/aarch64.h
15236 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
15237
317363b4
DS
152382014-01-24 Dodji Seketeli <dodji@redhat.com>
15239
15240 * input.c (add_file_to_cache_tab): Handle the case where fopen
15241 returns NULL.
15242
16370fa7
L
152432014-01-23 H.J. Lu <hongjiu.lu@intel.com>
15244
15245 PR target/59929
15246 * config/i386/i386.md (pushsf splitter): Get stack adjustment
15247 from push operand if code of push isn't PRE_DEC.
15248
b846c948
MM
152492014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
15250
15251 PR target/59909
15252 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15253 -mquad-memory-atomic. Update -mquad-memory documentation to say
15254 it is only used for non-atomic loads/stores.
15255
15256 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
15257 -mquad-memory or -mquad-memory-atomic switches.
15258
15259 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
15260 -mquad-memory-atomic to ISA 2.07 support.
15261
15262 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
15263 to separate support of normal quad word memory operations (ldq, stq)
15264 from the atomic quad word memory operations.
b846c948
MM
15265
15266 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
15267 support to separate non-atomic quad word operations from atomic
15268 quad word operations. Disable non-atomic quad word operations in
15269 little endian mode so that we don't have to swap words after the
15270 load and before the store.
15271 (quad_load_store_p): Add comment about atomic quad word support.
15272 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
15273 options printed with -mdebug=reg.
15274
15275 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
15276 -mquad-memory-atomic as the test for whether we have quad word
15277 atomic instructions.
0ebe2584
ASJ
15278 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
15279 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
15280
15281 * config/rs6000/sync.md (load_lockedti): Insure that the address
15282 is a proper indexed or indirect address for the lqarx instruction.
15283 On little endian systems, swap the hi/lo registers after the lqarx
15284 instruction.
15285 (load_lockedpti): Use indexed_or_indirect_operand predicate to
15286 insure the address is valid for the lqarx instruction.
15287 (store_conditionalti): Insure that the address is a proper indexed
15288 or indirect address for the stqcrx. instruction. On little endian
15289 systems, swap the hi/lo registers before doing the stqcrx.
15290 instruction.
15291 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
15292 insure the address is valid for the stqcrx. instruction.
15293
15294 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
15295 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
15296 type of quad memory support is available.
15297
6e23f296
VM
152982014-01-23 Vladimir Makarov <vmakarov@redhat.com>
15299
15300 PR regression/59915
15301 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
15302 there is a danger of looping.
15303
0a4f04e5
PH
153042014-01-23 Pat Haugen <pthaugen@us.ibm.com>
15305
15306 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
15307 force flag_ira_loop_pressure if set via command line.
15308
f9a4c9a6
AV
153092014-01-23 Alex Velenko <Alex.Velenko@arm.com>
15310
15311 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
15312 (ashr_simd): New builtin handling DI mode.
15313 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
15314 (aarch64_sshr_simddi): New match pattern.
15315 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
15316 (vshrd_n_s64): Likewise.
15317 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
15318
949ad971
NC
153192014-01-23 Nick Clifton <nickc@redhat.com>
15320
15321 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
15322 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
15323 favour of mcu specific scripts.
15324 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
15325 430x multilibs.
15326
d5ecead9
JG
153272014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
15328 Alex Velenko <Alex.Velenko@arm.com>
15329
15330 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
15331 (vaddv_s16): Likewise.
15332 (vaddv_s32): Likewise.
15333 (vaddv_u8): Likewise.
15334 (vaddv_u16): Likewise.
15335 (vaddv_u32): Likewise.
15336 (vaddvq_s8): Likewise.
15337 (vaddvq_s16): Likewise.
15338 (vaddvq_s32): Likewise.
15339 (vaddvq_s64): Likewise.
15340 (vaddvq_u8): Likewise.
15341 (vaddvq_u16): Likewise.
15342 (vaddvq_u32): Likewise.
15343 (vaddvq_u64): Likewise.
15344 (vaddv_f32): Likewise.
15345 (vaddvq_f32): Likewise.
15346 (vaddvq_f64): Likewise.
15347 (vmaxv_f32): Likewise.
15348 (vmaxv_s8): Likewise.
15349 (vmaxv_s16): Likewise.
15350 (vmaxv_s32): Likewise.
15351 (vmaxv_u8): Likewise.
15352 (vmaxv_u16): Likewise.
15353 (vmaxv_u32): Likewise.
15354 (vmaxvq_f32): Likewise.
15355 (vmaxvq_f64): Likewise.
15356 (vmaxvq_s8): Likewise.
15357 (vmaxvq_s16): Likewise.
15358 (vmaxvq_s32): Likewise.
15359 (vmaxvq_u8): Likewise.
15360 (vmaxvq_u16): Likewise.
15361 (vmaxvq_u32): Likewise.
15362 (vmaxnmv_f32): Likewise.
15363 (vmaxnmvq_f32): Likewise.
15364 (vmaxnmvq_f64): Likewise.
15365 (vminv_f32): Likewise.
15366 (vminv_s8): Likewise.
15367 (vminv_s16): Likewise.
15368 (vminv_s32): Likewise.
15369 (vminv_u8): Likewise.
15370 (vminv_u16): Likewise.
15371 (vminv_u32): Likewise.
15372 (vminvq_f32): Likewise.
15373 (vminvq_f64): Likewise.
15374 (vminvq_s8): Likewise.
15375 (vminvq_s16): Likewise.
15376 (vminvq_s32): Likewise.
15377 (vminvq_u8): Likewise.
15378 (vminvq_u16): Likewise.
15379 (vminvq_u32): Likewise.
15380 (vminnmv_f32): Likewise.
15381 (vminnmvq_f32): Likewise.
15382 (vminnmvq_f64): Likewise.
15383
1dd055a2
JG
153842014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
15385
15386 * config/aarch64/aarch64-simd.md
15387 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
15388 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
15389 (*aarch64_mul3_elt<mode>): Likewise.
15390 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
15391 (*aarch64_mul3_elt_to_64v2df): Likewise.
15392 (*aarch64_mla_elt<mode>): Likewise.
15393 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
15394 (*aarch64_mls_elt<mode>): Likewise.
15395 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
15396 (*aarch64_fma4_elt<mode>): Likewise.
15397 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
15398 (*aarch64_fma4_elt_to_64v2df): Likewise.
15399 (*aarch64_fnma4_elt<mode>): Likewise.
15400 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
15401 (*aarch64_fnma4_elt_to_64v2df): Likewise.
15402 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
15403 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
15404 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
15405 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
15406 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
15407 (aarch64_sqdmull_lane<mode>_internal): Likewise.
15408 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
15409
dafb9b64
AV
154102013-01-23 Alex Velenko <Alex.Velenko@arm.com>
15411
15412 * config/aarch64/aarch64-simd.md
15413 (aarch64_be_checked_get_lane<mode>): New define_expand.
15414 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 15415 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
15416 New builtin definition.
15417 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
15418 Use new safe be builtin.
15419
89b4515c
AV
154202014-01-23 Alex Velenko <Alex.Velenko@arm.com>
15421
15422 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
15423 New define_insn.
15424 (aarch64_be_st1<mode>): Likewise.
15425 (aarch_ld1<VALL:mode>): Define_expand modified.
15426 (aarch_st1<VALL:mode>): Likewise.
15427 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
15428 (UNSPEC_ST1): Likewise.
15429
4bb66ef3 154302014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
15431
15432 * config/microblaze/microblaze.md: Add trap insn and attribute
15433
7ecc3eb9
DS
154342014-01-23 Dodji Seketeli <dodji@redhat.com>
15435
15436 PR preprocessor/58580
15437 * input.h (location_get_source_line): Take an additional line_size
15438 parameter.
15439 (void diagnostics_file_cache_fini): Declare new function.
15440 * input.c (struct fcache): New type.
15441 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
15442 New static constants.
15443 (diagnostic_file_cache_init, total_lines_num)
15444 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
15445 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
15446 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
15447 (get_next_line, read_next_line, goto_next_line, read_line_num):
15448 New static function definitions.
15449 (diagnostic_file_cache_fini): New function.
15450 (location_get_source_line): Take an additional output line_len
15451 parameter. Re-write using lookup_or_add_file_to_cache_tab and
15452 read_line_num.
15453 * diagnostic.c (diagnostic_finish): Call
15454 diagnostic_file_cache_fini.
15455 (adjust_line): Take an additional input parameter for the length
15456 of the line, rather than calculating it with strlen.
15457 (diagnostic_show_locus): Adjust the use of
15458 location_get_source_line and adjust_line with respect to their new
15459 signature. While displaying a line now, do not stop at the first
15460 null byte. Rather, display the zero byte as a space and keep
15461 going until we reach the size of the line.
15462 * Makefile.in: Add vec.o to OBJS-libcommon
15463
2196a885 154642014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 15465 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
15466
15467 * config/i386/avx512fintrin.h (_mm512_kmov): New.
15468 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
15469 (__builtin_ia32_kmov16): Ditto.
15470 * config/i386/i386.md (UNSPEC_KMOV): New.
15471 (kmovw): Ditto.
15472
70473c63
KY
154732014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
15474
15475 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
15476 (_mm512_storeu_si512): Ditto.
15477
f9ae4df8
RS
154782014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
15479
15480 PR target/52125
15481 * rtl.h (get_referenced_operands): Declare.
15482 * recog.c (get_referenced_operands): New function.
15483 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
15484 operands have been referenced when recording LO_SUM references.
15485
4bb66ef3 154862014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
15487
15488 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
15489
39960d1c 154902014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
15491
15492 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
15493 Enable for generic and recent AMD targets.
15494
39960d1c 154952014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
15496
15497 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
15498 ARG_SIZE note when adjustment was eliminated.
15499
bb50b870
JL
155002014-01-22 Jeff Law <law@redhat.com>
15501
15502 PR tree-optimization/59597
15503 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
15504 in file. Accept new argument REGISTERING and use it to modify
15505 dump output appropriately.
15506 (register_jump_thread): Corresponding changes.
15507 (mark_threaded_blocks): Reinstate code to cancel unprofitable
15508 thread paths involving joiner blocks. Add code to dump cancelled
15509 jump threading paths.
15510
df2980be
VM
155112014-01-22 Vladimir Makarov <vmakarov@redhat.com>
15512
15513 PR rtl-optimization/59477
15514 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 15515 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 15516
1bb99900
TT
155172014-01-22 Tom Tromey <tromey@redhat.com>
15518
15519 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
15520 PARAMS.
15521 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
15522
9102dadd
VM
155232014-01-21 Vladimir Makarov <vmakarov@redhat.com>
15524
15525 PR rtl-optimization/59896
15526 * lra-constraints.c (process_alt_operands): Check unused note for
15527 matched operands of insn with no output reloads.
15528
ca376eb8
RS
155292014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
15530
15531 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
15532 (mips_move_from_gpr_cost): Likewise.
15533
a9711f36
VM
155342014-01-21 Vladimir Makarov <vmakarov@redhat.com>
15535
15536 PR rtl-optimization/59858
15537 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
15538 ira_class_hard_regs_num.
15539 (process_alt_operands): Increase reject for dying matched operand.
15540
f8ea7cb0
JJ
155412014-01-21 Jakub Jelinek <jakub@redhat.com>
15542
15543 PR target/59003
15544 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
15545 smaller than size, perform several stores or loads and stores
15546 at dst + count - size to store or copy all of size bytes, rather
15547 than just last modesize bytes.
15548
84db09e3
DD
155492014-01-20 DJ Delorie <dj@redhat.com>
15550
15551 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
15552 that CLOBBERs are REGs before propogating their values.
15553
1cf11770
L
155542014-01-20 H.J. Lu <hongjiu.lu@intel.com>
15555
15556 PR middle-end/59789
15557 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
15558 (cgraph_inline_failed_type): New function.
15559 * cgraph.h (DEFCIFCODE): Add type.
15560 (cgraph_inline_failed_type_t): New enum.
15561 (cgraph_inline_failed_type): New prototype.
15562 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
15563 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
15564 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
15565 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
15566 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
15567 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
15568 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 15569 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
15570 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
15571 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
15572 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
15573 OPTIMIZATION_MISMATCH.
15574 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 15575 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 15576
8586e4bd
UB
155772014-01-20 Uros Bizjak <ubizjak@gmail.com>
15578
15579 PR target/59685
15580 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
15581 mode attribute in insn output.
15582
99482090
EB
155832014-01-20 Eric Botcazou <ebotcazou@adacore.com>
15584
15585 * output.h (output_constant): Delete.
15586 * varasm.c (output_constant): Make private.
15587
ede23272
AV
155882014-01-20 Alex Velenko <Alex.Velenko@arm.com>
15589
15590 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
15591
9a7eefec
JJ
155922014-01-20 Jakub Jelinek <jakub@redhat.com>
15593
15594 PR middle-end/59860
15595 * tree.h (fold_builtin_strcat): New prototype.
15596 * builtins.c (fold_builtin_strcat): No longer static. Add len
15597 argument, if non-NULL, don't call c_strlen. Optimize
15598 directly into __builtin_memcpy instead of __builtin_strcpy.
15599 (fold_builtin_2): Adjust fold_builtin_strcat caller.
15600 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
15601
3e729145
UB
156022014-01-20 Uros Bizjak <ubizjak@gmail.com>
15603
15604 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
15605 for SImode_address_operand operands, having only a REG argument.
15606
eee0e487
MS
156072014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
15608
15609 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
15610 loader name using mbig-endian.
15611 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
15612
9e540e37
JG
156132014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
15614
15615 * doc/invoke.texi (-march): Clarify documentation for AArch64.
15616 (-mtune): Likewise.
15617 (-mcpu): Likewise.
15618
69675d50
TB
156192014-01-20 Tejas Belagod <tejas.belagod@arm.com>
15620
15621 * config/aarch64/aarch64-protos.h
15622 (aarch64_cannot_change_mode_class_ptr): Declare.
15623 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
15624 aarch64_cannot_change_mode_class_ptr): New.
15625 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
15626 backend hook aarch64_cannot_change_mode_class.
15627
ffee7aa9
JG
156282014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
15629
15630 * common/config/aarch64/aarch64-common.c
15631 (aarch64_handle_option): Don't handle any option order logic here.
15632 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
15633 selected_cpu, warn on architecture version mismatch.
15634 (aarch64_override_options): Fix parsing order for option strings.
15635
c7169779
JBG
156362014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
15637 Iain Sandoe <iain@codesourcery.com>
15638
15639 PR bootstrap/59496
15640 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
15641 warning. Amend comment to reflect current functionality.
15642
409b6ac1
RB
156432014-01-20 Richard Biener <rguenther@suse.de>
15644
15645 PR middle-end/59860
15646 * builtins.c (fold_builtin_strcat): Remove case better handled
15647 by tree-ssa-strlen.c.
15648
608df31f
AL
156492014-01-20 Alan Lawrence <alan.lawrence@arm.com>
15650
15651 * config/aarch64/aarch64.opt
15652 (mcpu, march, mtune): Make case-insensitive.
15653
0fabe5f3
JJ
156542014-01-20 Jakub Jelinek <jakub@redhat.com>
15655
15656 PR target/59880
15657 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
15658 if operands[1] is a REG or ZERO_EXTEND of a REG.
15659
39960d1c 156602014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
15661
15662 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
15663
925cb97d
JDA
156642014-01-19 John David Anglin <danglin@gcc.gnu.org>
15665
15666 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
15667 long non-pic millicode calls.
15668
f43856db
JBG
156692014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
15670
15671 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
15672
d2be9965
ILT
156732014-01-19 Kito Cheng <kito@0xlab.org>
15674
15675 * builtins.c (expand_movstr): Check movstr expand done or fail.
15676
efc90043
UB
156772014-01-18 Uros Bizjak <ubizjak@gmail.com>
15678 H.J. Lu <hongjiu.lu@intel.com>
15679
15680 PR target/59379
15681 * config/i386/i386.md (*lea<mode>): Zero-extend return register
15682 to DImode for zero-extended addresses.
15683
8fce217e
JJ
156842014-01-19 Jakub Jelinek <jakub@redhat.com>
15685
15686 PR rtl-optimization/57763
15687 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
15688 on the new indirect jump_insn and increment LABEL_NUSES (label).
15689
efc90043 156902014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
15691
15692 PR bootstrap/59580
15693 PR bootstrap/59583
15694 * config.gcc (x86_archs): New variable.
15695 (x86_64_archs): Likewise.
15696 (x86_cpus): Likewise.
15697 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
15698 --with-arch/--with-cpu= options.
15699 Support --with-arch=/--with-cpu={nehalem,westmere,
15700 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
15701
7f3af6d3
UB
157022014-01-18 Uros Bizjak <ubizjak@gmail.com>
15703
15704 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
15705 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
15706
157072014-01-18 Uros Bizjak <ubizjak@gmail.com>
15708
15709 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
15710
fa5d6c75
JJ
157112014-01-18 Jakub Jelinek <jakub@redhat.com>
15712
15713 PR target/58944
15714 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
15715 clear cpp_get_options (parse_in)->warn_unused_macros for
15716 ix86_target_macros_internal with cpp_define.
15717
04da5680
RS
157182014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
15719
15720 * jump.c (delete_related_insns): Keep (use (insn))s.
15721 * reorg.c (redundant_insn): Check for barriers too.
15722
1e99bee5
L
157232014-01-17 H.J. Lu <hongjiu.lu@intel.com>
15724
7f3af6d3 15725 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 15726
fa7d0c60
JDA
157272014-01-17 John David Anglin <danglin@gcc.gnu.org>
15728
15729 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
15730 call to $$dyncall when TARGET_LONG_CALLS is true.
15731
2043135a
JL
157322014-01-17 Jeff Law <law@redhat.com>
15733
15734 * ree.c (combine_set_extension): Temporarily disable test for
15735 changing number of hard registers.
15736
39960d1c 157372014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
15738
15739 PR middle-end/58125
15740 * ipa-inline-analysis.c (inline_free_summary):
15741 Do not free summary of aliases.
15742
664ceb1e
JJ
157432014-01-17 Jakub Jelinek <jakub@redhat.com>
15744
15745 PR middle-end/59706
15746 * gimplify.c (gimplify_expr): Use create_tmp_var
15747 instead of create_tmp_var_raw. If cond doesn't have
15748 integral type, don't add the IFN_ANNOTATE builtin at all.
15749
aef83682
MJ
157502014-01-17 Martin Jambor <mjambor@suse.cz>
15751
15752 PR ipa/59736
15753 * ipa-cp.c (prev_edge_clone): New variable.
15754 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
15755 Also resize prev_edge_clone vector.
15756 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
15757 (ipcp_edge_removal_hook): New function.
15758 (ipcp_driver): Register ipcp_edge_removal_hook.
15759
4bb66ef3 157602014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
15761 Steve Ellcey <sellcey@mips.com>
15762
15763 PR target/59462
15764 * config/mips/mips.c (mips_print_operand): Check operand mode instead
15765 of operator mode.
15766
4ee5c752
JL
157672014-01-17 Jeff Law <law@redhat.com>
15768
15769 PR middle-end/57904
15770 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
15771 so that pass_ccp runs first.
15772
40cfac7c
L
157732014-01-17 H.J. Lu <hongjiu.lu@intel.com>
15774
15775 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
15776 (ix86_adjust_cost): Use !TARGET_XXX.
15777 (do_reorder_for_imul): Likewise.
15778 (swap_top_of_ready_list): Likewise.
15779 (ix86_sched_reorder): Likewise.
15780
9a7f94d7
L
157812014-01-17 H.J. Lu <hongjiu.lu@intel.com>
15782
15783 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
15784 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
15785 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
15786 (intel_memset): New. Duplicate slm_memset.
15787 (intel_cost): New. Duplicate slm_cost.
15788 (m_INTEL): New macro.
15789 (processor_target_table): Add "intel".
15790 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
15791 with PROCESSOR_INTEL for "intel".
15792 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
15793 PROCESSOR_SILVERMONT.
9a7f94d7
L
15794 (ix86_issue_rate): Likewise.
15795 (ix86_adjust_cost): Likewise.
15796 (ia32_multipass_dfa_lookahead): Likewise.
15797 (swap_top_of_ready_list): Likewise.
15798 (ix86_sched_reorder): Likewise.
8cdcf750
L
15799 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
15800 instead of TARGET_OPT_AGU.
9a7f94d7
L
15801 * config/i386/i386.h (TARGET_INTEL): New.
15802 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
15803 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
15804 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
15805 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 15806
30078c0a
MP
158072014-01-17 Marek Polacek <polacek@redhat.com>
15808
15809 PR c/58346
15810 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
15811 size is zero.
15812
14379e66
RB
158132014-01-17 Richard Biener <rguenther@suse.de>
15814
15815 PR tree-optimization/46590
15816 * opts.c (default_options_table): Add entries for
15817 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
15818 all enabled at -O1 but not for -Og.
15819 * common.opt (fbranch-count-reg): Remove Init(1).
15820 (fmove-loop-invariants): Likewise.
15821 (ftree-pta): Likewise.
15822
f7d594d2
JJ
158232014-01-17 Jakub Jelinek <jakub@redhat.com>
15824
88e18bd5
JJ
15825 * config/i386/i386.c (ix86_data_alignment): For compatibility with
15826 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
15827 decls to at least the GCC 4.8 used alignments.
15828
f7d594d2
JJ
15829 PR fortran/59440
15830 * tree-nested.c (convert_nonlocal_reference_stmt,
15831 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
15832 of GIMPLE_BIND stmts, adjust associated decls.
15833
32500433
RB
158342014-01-17 Richard Biener <rguenther@suse.de>
15835
15836 PR tree-optimization/46590
15837 * vec.h (vec<>::bseach): New member function implementing
15838 binary search according to C89 bsearch.
15839 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
15840 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
15841 bitmap pointer again. Make accesses_in_loop a flat array.
15842 (mem_ref_obstack): New global.
15843 (outermost_indep_loop): Adjust for mem_ref->stored changes.
15844 (mark_ref_stored): Likewise.
15845 (ref_indep_loop_p_2): Likewise.
15846 (set_ref_stored_in_loop): New helper function.
15847 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
15848 (memref_free): Adjust.
15849 (record_mem_ref_loc): Simplify.
15850 (gather_mem_refs_stmt): Adjust.
15851 (sort_locs_in_loop_postorder_cmp): New function.
15852 (analyze_memory_references): Sort accesses_in_loop after
15853 loop postorder number.
15854 (find_ref_loc_in_loop_cmp): New function.
15855 (for_all_locs_in_loop): Find relevant cluster of locs in
15856 accesses_in_loop and iterate without recursion.
15857 (execute_sm): Avoid uninit warning.
15858 (struct ref_always_accessed): Simplify.
15859 (ref_always_accessed::operator ()): Likewise.
15860 (ref_always_accessed_p): Likewise.
15861 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
15862 loop postorder numbers here.
15863 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
15864 numbers.
15865
24fcf4bc
JJ
158662014-01-17 Jan Hubicka <hubicka@ucw.cz>
15867
15868 PR c++/57945
15869 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
15870 on decls for which assemble_alias has been called.
15871
d4f283a1
NC
158722014-01-17 Nick Clifton <nickc@redhat.com>
15873
15874 * config/msp430/msp430.opt: (mcpu): New option.
15875 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
15876 (msp430_option_override): Parse target_cpu. If the MCU name
15877 matches a generic string, clear target_mcu.
15878 (msp430_attr): Allow numeric interrupt values up to 63.
15879 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
15880 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
15881 option.
15882 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
15883 Add mcpu matches.
15884 * config/msp430/msp430.md (popm): Use %J rather than %I.
15885 (addsi3): Use msp430_nonimmediate_operand for operand 2.
15886 (addhi_cy_i): Use immediate_operand for operand 2.
15887 * doc/invoke.texi: Document -mcpu option.
15888
7be64667
RB
158892014-01-17 Richard Biener <rguenther@suse.de>
15890
15891 PR rtl-optimization/38518
15892 * df.h (df_analyze_loop): Declare.
15893 * df-core.c: Include cfgloop.h.
15894 (df_analyze_1): Split out main part of df_analyze.
15895 (df_analyze): Adjust.
15896 (loop_inverted_post_order_compute): New function.
15897 (loop_post_order_compute): Likewise.
15898 (df_analyze_loop): New function avoiding whole-function
15899 postorder computes.
15900 * loop-invariant.c (find_defs): Use df_analyze_loop.
15901 (find_invariants): Adjust.
15902 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
15903
82a197a2
ZC
159042014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
15905
15906 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
15907 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
15908
c68b3f52
IE
159092014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
15910
15911 * ipa-ref.c (ipa_remove_stmt_references): Fix references
15912 traversal when removing references.
15913
39960d1c 159142014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
15915
15916 PR ipa/59775
15917 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
15918
9e6f9ad6
BS
159192014-01-16 Bernd Schmidt <bernds@codesourcery.com>
15920
15921 PR middle-end/56791
15922 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
15923 pushing a reload for an autoinc when we had previously reloaded an
15924 inner part of the address.
15925
a611d7cb
JJ
159262014-01-16 Jakub Jelinek <jakub@redhat.com>
15927
d1417442
JJ
15928 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
15929 field.
15930 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
15931 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
15932 when not giving up or versioning for alias only because of
15933 loop->safelen.
15934 (vect_analyze_data_ref_dependences): Set to true.
15935 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
15936 is a GIMPLE_PHI.
15937 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
15938 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
15939 to the condition.
15940
42ed6cde
JJ
15941 PR middle-end/58344
15942 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
15943
a611d7cb 15944 PR target/59839
7f3af6d3
UB
15945 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
15946 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 15947
8f21260c
VM
159482014-01-16 Vladimir Makarov <vmakarov@redhat.com>
15949
15950 PR middle-end/59609
7f3af6d3
UB
15951 * lra-constraints.c (process_alt_operands): Add printing debug info.
15952 Check absence of input/output reloads for matched operands too.
8f21260c 15953
1a788c05
VM
159542014-01-16 Vladimir Makarov <vmakarov@redhat.com>
15955
15956 PR rtl-optimization/59835
15957 * ira.c (ira_init_register_move_cost): Increase cost for
15958 impossible modes.
15959
4cf24d27
AL
159602014-01-16 Alan Lawrence <alan.lawrence@arm.com>
15961
cc3a9f0d 15962 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 15963
030d03b8
RE
159642014-01-16 Richard Earnshaw <rearnsha@arm.com>
15965
15966 PR target/59780
15967 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
15968 non-register objects. Use gen_(high/low)part more consistently.
15969 Fix assertions.
15970
e78f06a8
MM
159712014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
15972
15973 PR target/59844
15974 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
15975 endian support, remove tests for WORDS_BIG_ENDIAN.
15976 (p8_mfvsrd_3_<mode>): Likewise.
15977 (reload_gpr_from_vsx<mode>): Likewise.
15978 (reload_gpr_from_vsxsf): Likewise.
15979 (p8_mfvsrd_4_disf): Likewise.
15980
9d1ae52c
RB
159812014-01-16 Richard Biener <rguenther@suse.de>
15982
15983 PR rtl-optimization/46590
15984 * lcm.c (compute_antinout_edge): Use postorder iteration.
15985 (compute_laterin): Use inverted postorder iteration.
15986
54c7a7f3
NC
159872014-01-16 Nick Clifton <nickc@redhat.com>
15988
15989 PR middle-end/28865
15990 * varasm.c (output_constant): Return the number of bytes actually
15991 emitted.
15992 (output_constructor_array_range): Update the field size with the
15993 number of bytes emitted by output_constant.
15994 (output_constructor_regular_field): Likewise. Also do not
15995 complain if the total number of bytes emitted is now greater
15996 than the expected fieldpos.
7f3af6d3 15997 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 15998
5147d10a
MP
159992014-01-16 Marek Polacek <polacek@redhat.com>
16000
16001 PR middle-end/59827
16002 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
16003 it is error_mark_node.
16004
4ac005ba
UB
160052014-01-15 Uros Bizjak <ubizjak@gmail.com>
16006
16007 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
16008 VALID_AVX256_REG_OR_OI_MODE.
16009
5d7574fa
PH
160102014-01-15 Pat Haugen <pthaugen@us.ibm.com>
16011
16012 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
16013 current procedure should be profiled.
16014
6ee70f81
AP
160152014-01-15 Andrew Pinski <apinski@cavium.com>
16016
16017 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
16018 of moving from/to the STACK_REG register class.
16019
004a7e45 160202014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
16021
16022 PR debug/54694
16023 * reginfo.c (global_regs_decl): Globalize.
16024 * rtl.h (global_regs_decl): Declare.
16025 * ira.c (do_reload): Diagnose frame_pointer_needed and it
16026 reserved via global_regs.
16027
4583fada
TJ
160282014-01-15 Teresa Johnson <tejohnson@google.com>
16029
16030 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
16031
d13dfec8
BS
160322014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
16033
16034 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
16035 and vmulosh rather than call gen_vec_widen_smult_*.
16036 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
16037 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
16038 (vec_widen_smult_even_v16qi): Likewise.
16039 (vec_widen_umult_even_v8hi): Likewise.
16040 (vec_widen_smult_even_v8hi): Likewise.
16041 (vec_widen_umult_odd_v16qi): Likewise.
16042 (vec_widen_smult_odd_v16qi): Likewise.
16043 (vec_widen_umult_odd_v8hi): Likewise.
16044 (vec_widen_smult_odd_v8hi): Likewise.
16045 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
16046 vmuloub rather than call gen_vec_widen_umult_*.
16047 (vec_widen_umult_lo_v16qi): Likewise.
16048 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
16049 vmulosb rather than call gen_vec_widen_smult_*.
16050 (vec_widen_smult_lo_v16qi): Likewise.
16051 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
16052 rather than call gen_vec_widen_umult_*.
16053 (vec_widen_umult_lo_v8hi): Likewise.
16054 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
16055 rather than call gen_vec_widen_smult_*.
16056 (vec_widen_smult_lo_v8hi): Likewise.
16057
a6a2d67b
JL
160582014-01-15 Jeff Law <law@redhat.com>
16059
16060 PR tree-optimization/59747
16061 * ree.c (find_and_remove_re): Properly handle case where a second
16062 eliminated extension requires widening a copy created for elimination
16063 of a prior extension.
16064 (combine_set_extension): Ensure that the number of hard regs needed
16065 for a destination register does not change when we widen it.
16066
aefe4056
SH
160672014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
16068
16069 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
16070 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
16071 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
16072 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
16073 (avr-*-rtems*): Likewise.
16074 (bfin*-rtems*): Likewise.
16075 (moxie-*-rtems*): Likewise.
16076 (h8300-*-rtems*): Likewise.
16077 (i[34567]86-*-rtems*): Likewise.
16078 (lm32-*-rtems*): Likewise.
16079 (m32r-*-rtems*): Likewise.
16080 (m68k-*-rtems*): Likewise.
16081 (microblaze*-*-rtems*): Likewise.
16082 (mips*-*-rtems*): Likewise.
16083 (powerpc-*-rtems*): Likewise.
16084 (sh-*-rtems*): Likewise.
16085 (sparc-*-rtems*): Likewise.
16086 (sparc64-*-rtems*): Likewise.
16087 (v850-*-rtems*): Likewise.
16088 (m32c-*-rtems*): Likewise.
16089
fef37404
VM
160902014-01-15 Vladimir Makarov <vmakarov@redhat.com>
16091
16092 PR rtl-optimization/59511
16093 * ira.c (ira_init_register_move_cost): Use memory costs for some
16094 cases of register move cost calculations.
16095 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
16096 instead of BB frequency.
16097 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
16098 * lra-assigns.c (find_hard_regno_for): Ditto.
16099
6b916b36
RB
161002014-01-15 Richard Biener <rguenther@suse.de>
16101
16102 PR tree-optimization/59822
16103 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
16104 (vectorizable_load): Use it to hoist defs of uses of invariant
16105 loads out of the loop.
16106
d103f29b 161072014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 16108 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
16109
16110 PR target/59695
16111 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
16112 truncation.
16113
95cb8697
RB
161142014-01-15 Richard Biener <rguenther@suse.de>
16115
16116 PR rtl-optimization/59802
16117 * lcm.c (compute_available): Use inverted postorder to seed
16118 the initial worklist.
16119
cb4b6d17
AK
161202014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16121
1c8b5303 16122 PR target/59803
cb4b6d17
AK
16123 * config/s390/s390.c (s390_preferred_reload_class): Don't return
16124 ADDR_REGS for invalid symrefs in non-PIC code.
16125
2738b4c7
JJ
161262014-01-15 Jakub Jelinek <jakub@redhat.com>
16127
16128 PR other/58712
16129 * builtins.c (determine_block_size): Initialize *probable_max_size
16130 even if len_rtx is CONST_INT.
16131
d126a4ae
AP
161322014-01-14 Andrew Pinski <apinski@cavium.com>
16133
16134 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
16135 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
16136 (cortexa53_tunings): Likewise.
16137 (aarch64_sched_issue_rate): New function.
16138 (TARGET_SCHED_ISSUE_RATE): Define.
16139
dc687582
VM
161402014-01-14 Vladimir Makarov <vmakarov@redhat.com>
16141
16142 * ira-costs.c (find_costs_and_classes): Add missed
16143 ira_init_register_move_cost_if_necessary.
16144
e940b2ec
VM
161452014-01-14 Vladimir Makarov <vmakarov@redhat.com>
16146
16147 PR target/59787
16148 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
16149
3292e376
L
161502014-01-14 H.J. Lu <hongjiu.lu@intel.com>
16151
16152 PR target/59794
16153 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
16154 to indicate if type is used for function return value. Warn ABI
16155 change if the vector mode isn't available for function return value.
3292e376
L
16156 (ix86_function_arg_advance): Pass false to type_natural_mode.
16157 (ix86_function_arg): Likewise.
16158 (ix86_gimplify_va_arg): Likewise.
16159 (function_arg_32): Don't warn ABI change.
16160 (ix86_function_value): Pass true to type_natural_mode.
16161 (ix86_return_in_memory): Likewise.
16162 (ix86_struct_value_rtx): Removed.
16163 (TARGET_STRUCT_VALUE_RTX): Likewise.
16164
db930875
RS
161652014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
16166
16167 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
16168 converting a conditional jump into a conditional return.
16169
a0e35eb0
RB
161702014-01-14 Richard Biener <rguenther@suse.de>
16171
16172 PR tree-optimization/58921
16173 PR tree-optimization/59006
16174 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
16175 hoisting invariant stmts.
16176 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
16177 invariant loads on the preheader edge if possible.
16178
a984e92e
JY
161792014-01-14 Joey Ye <joey.ye@arm.com>
16180
16181 * doc/plugin.texi (Building GCC plugins): Update to C++.
16182
c56a42b9
KY
161832014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
16184
3292e376 16185 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
16186 (_mm_rcp28_round_ss): Ditto.
16187 (_mm_rsqrt28_round_sd): Ditto.
16188 (_mm_rsqrt28_round_ss): Ditto.
16189 (_mm_rcp28_sd): Ditto.
16190 (_mm_rcp28_ss): Ditto.
16191 (_mm_rsqrt28_sd): Ditto.
16192 (_mm_rsqrt28_ss): Ditto.
16193 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
16194 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
16195 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
16196 (IX86_BUILTIN_RCP28SD): Ditto.
16197 (IX86_BUILTIN_RCP28SS): Ditto.
16198 (IX86_BUILTIN_RSQRT28SD): Ditto.
16199 (IX86_BUILTIN_RSQRT28SS): Ditto.
16200 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
16201 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
16202 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
16203 (ix86_expand_special_args_builtin): Expand new FTYPE.
16204 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
16205 (srcp14<mode>): Make insn unary.
16206 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
16207 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
16208 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
16209 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
16210 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
16211 Fix rounding: make it SAE only.
4ac005ba
UB
16212 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
16213 Ditto.
16214 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
16215 Ditto.
c56a42b9
KY
16216 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
16217 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
16218 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
16219 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
16220 (round_saeonly_mask_scalar_operand4): Ditto.
16221 (round_saeonly_mask_scalar_op3): Ditto.
16222 (round_saeonly_mask_scalar_op4): Ditto.
16223
09fccb62
BS
162242014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16225
16226 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
16227 Implement -maltivec=be for vec_insert and vec_extract.
16228
fb28dac0
DD
162292014-01-10 DJ Delorie <dj@redhat.com>
16230
16231 * config/msp430/msp430.md (call_internal): Don't allow memory
16232 references with SP as the base register.
16233 (call_value_internal): Likewise.
16234 * config/msp430/constraints.md (Yc): New. For memory references
16235 that don't use SP as a base register.
16236
16237 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
16238 "an integer without a # prefix"
16239 * config/msp430/msp430.md (epilogue_helper): Use it.
16240
19e51b40
JJ
162412014-01-13 Jakub Jelinek <jakub@redhat.com>
16242
03b9e8e4
JJ
16243 PR target/59617
16244 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
16245 AVX512F gather builtins.
16246 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
16247 on gather decls with INTEGER_TYPE masktype.
16248 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
16249 directly into the builtin rather than hoisting it before loop.
16250
19e51b40
JJ
16251 PR tree-optimization/59387
16252 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
16253 (scev_const_prop): If folded_casts and type has undefined overflow,
16254 use force_gimple_operand instead of force_gimple_operand_gsi and
16255 for each added stmt if it is assign with
16256 arith_code_with_undefined_signed_overflow, call
16257 rewrite_to_defined_overflow.
16258 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
16259 gimple-fold.h instead.
16260 (arith_code_with_undefined_signed_overflow,
16261 rewrite_to_defined_overflow): Moved to ...
16262 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
16263 rewrite_to_defined_overflow): ... here. No longer static.
16264 Include gimplify-me.h.
16265 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
16266 rewrite_to_defined_overflow): New prototypes.
16267
cd794ed4
KT
162682014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16269
16270 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
16271
e75fde1a
EB
162722014-01-13 Eric Botcazou <ebotcazou@adacore.com>
16273
16274 * builtins.c (get_object_alignment_2): Minor tweak.
16275 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
16276
eae298d6
CB
162772014-01-13 Christian Bruel <christian.bruel@st.com>
16278
16279 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 16280 optimized non constant lengths.
eae298d6 16281
8175be9a
JJ
162822014-01-13 Jakub Jelinek <jakub@redhat.com>
16283
16284 PR libgomp/59194
16285 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
16286 load as __atomic_load_N if possible.
16287
9c111368
DE
162882014-01-11 David Edelsohn <dje.gcc@gmail.com>
16289
16290 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
16291 target parameter.
16292 (rs6000_expand_builtin): Adjust call.
16293
c82846bc
DE
162942014-01-11 David Edelsohn <dje.gcc@gmail.com>
16295
16296 PR target/58115
16297 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
16298 * config/rs6000/rs6000.c: Include target-globals.h.
16299 (rs6000_set_current_function): Instead of doing target_reinit
16300 unconditionally, use save_target_globals_default_opts and
16301 restore_target_globals.
16302
16303 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
16304 FPSCR.
16305 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
16306 (rs6000_expand_builtin): Handle mffs and mtfsf.
16307 (rs6000_init_builtins): Define mffs and mtfsf.
16308 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
16309 (rs6000_mffs): New pattern.
16310 (rs6000_mtfsf): New pattern.
16311
2c407426
BC
163122014-01-11 Bin Cheng <bin.cheng@arm.com>
16313
16314 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
16315 Start narrowing with START. Apply candidate-use pair
16316 and check overall cost in narrowing.
16317 (iv_ca_prune): Pass new argument.
16318
7e41c852
JL
163192014-01-10 Jeff Law <law@redhat.com>
16320
16321 PR middle-end/59743
16322 * ree.c (combine_reaching_defs): Ensure the defining statement
16323 occurs before the extension when optimizing extensions with
16324 different source and destination hard registers.
16325
39960d1c 163262014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
16327
16328 PR ipa/58585
4ac005ba
UB
16329 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
16330 vtables into the type inheritance graph.
b270b096 16331
0d6d7b9a
JJ
163322014-01-10 Jakub Jelinek <jakub@redhat.com>
16333
16334 PR rtl-optimization/59754
16335 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
16336 modes in the REGNO != REGNO case.
16337
110132c1
BS
163382014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16339
16340 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
16341
5da96960
JJ
163422014-01-10 Jakub Jelinek <jakub@redhat.com>
16343
4f87d581
JJ
16344 PR tree-optimization/59745
16345 * tree-predcom.c (tree_predictive_commoning_loop): Call
16346 free_affine_expand_cache if giving up because components is NULL.
16347
5da96960
JJ
16348 * target-globals.c (save_target_globals): Allocate < 4KB structs using
16349 GC in payload of target_globals struct instead of allocating them on
16350 the heap and the larger structs separately using GC.
16351 * target-globals.h (struct target_globals): Make regs, hard_regs,
16352 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
16353 of GTY((skip)) and change type to void *.
16354 (reset_target_globals): Cast loads from those fields to corresponding
16355 types.
16356
1aa26aac
SE
163572014-01-10 Steve Ellcey <sellcey@mips.com>
16358
16359 PR plugins/59335
16360 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
16361 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
16362 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
16363
1c992d1e
RE
163642014-01-10 Richard Earnshaw <rearnsha@arm.com>
16365
7783a246 16366 PR target/59744
1c992d1e
RE
16367 * aarch64-modes.def (CC_Zmode): New flags mode.
16368 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
16369 represents an equality.
7783a246 16370 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
16371 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
16372
86464cbd
AK
163732014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16374
16375 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
16376 extraction in good case.
16377
5e6667b2
RB
163782014-01-10 Richard Biener <rguenther@suse.de>
16379
16380 PR tree-optimization/59374
16381 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
16382 checking after SLP discovery. Mark stmts not participating
16383 in any SLP instance properly.
16384
5619162c
KT
163852014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16386
16387 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
16388 when handling a SET rtx.
16389
2d17b99f
KT
163902014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16391
16392 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
16393 (cortex-a57): Likewise.
16394 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
16395
bcca645c
KT
163962014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16397
16398 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
16399 non-iwmmxt builtins.
16400
a3788dde
JH
164012014-01-10 Jan Hubicka <hubicka@ucw.cz>
16402
16403 PR ipa/58252
16404 PR ipa/59226
16405 * ipa-devirt.c record_target_from_binfo): Take as argument
16406 stack of binfos and lookup matching one for virtual inheritance.
16407 (possible_polymorphic_call_targets_1): Update.
16408
87ed883e
HC
164092014-01-10 Huacai Chen <chenhc@lemote.com>
16410
16411 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
16412 kernel strings for Loongson-2E/2F/3A.
16413
cd4447e2
JJ
164142014-01-10 Jakub Jelinek <jakub@redhat.com>
16415
16416 PR middle-end/59670
16417 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
16418 is_gimple_call before calling gimple_call_internal_p.
16419
3fadf78a
SE
164202014-01-09 Steve Ellcey <sellcey@mips.com>
16421
16422 * Makefile.in (TREE_FLOW_H): Remove.
16423 (TREE_SSA_H): Add file names from tree-flow.h.
16424 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
16425 * tree.h: Remove tree-flow.h reference.
16426 * hash-table.h: Remove tree-flow.h reference.
16427 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
16428 reference with tree-ssa-loop.h.
16429
6edc217d
BS
164302014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16431
16432 * doc/invoke.texi: Add -maltivec={be,le} options, and document
16433 default element-order behavior for -maltivec.
16434 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
16435 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
16436 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
16437 when targeting big endian, at least for now.
16438 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
16439
a70e9985
JJ
164402014-01-09 Jakub Jelinek <jakub@redhat.com>
16441
3396aba5
JJ
16442 PR middle-end/47735
16443 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
16444 var satisfies use_register_for_decl, just take into account type
16445 alignment, rather than decl alignment.
16446
a70e9985
JJ
16447 PR tree-optimization/59622
16448 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
16449 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
16450 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
16451 Don't devirtualize for inplace at all. For targets.length () == 1,
16452 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
16453
6e9cc565
L
164542014-01-09 H.J. Lu <hongjiu.lu@intel.com>
16455
16456 * config/i386/i386.md (cpu): Remove the unused btver1.
16457
d1c0e4ac
L
164582014-01-09 H.J. Lu <hongjiu.lu@intel.com>
16459
16460 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
16461
e83b8e2e
JJ
164622014-01-09 Jakub Jelinek <jakub@redhat.com>
16463
16464 PR target/58115
16465 * tree-core.h (struct target_globals): New forward declaration.
16466 (struct tree_target_option): Add globals field.
16467 * tree.h (TREE_TARGET_GLOBALS): Define.
16468 (prepare_target_option_nodes_for_pch): New prototype.
16469 * target-globals.h (struct target_globals): Define even if
16470 !SWITCHABLE_TARGET.
16471 * tree.c (prepare_target_option_node_for_pch,
16472 prepare_target_option_nodes_for_pch): New functions.
16473 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
16474 * config/i386/i386.c: Include target-globals.h.
16475 (ix86_set_current_function): Instead of doing target_reinit
16476 unconditionally, use save_target_globals_default_opts and
16477 restore_target_globals.
16478
2aaed0f3
RB
164792014-01-09 Richard Biener <rguenther@suse.de>
16480
16481 PR tree-optimization/59715
16482 * tree-cfg.h (split_critical_edges): Declare.
16483 * tree-cfg.c (split_critical_edges): Export.
16484 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
16485
b5ebc991
MO
164862014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
16487
4ac005ba 16488 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
16489 asan stack protection.
16490 (expand_used_vars): Likewise.
16491 (partition_stack_vars): Likewise.
4ac005ba 16492 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 16493 after return stack usage.
7f3af6d3 16494 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
16495 (instrument_builtin_call): Likewise.
16496 (instrument_strlen_call): Likewise.
7f3af6d3 16497 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
16498 * doc/invoke.texi: Added doc for new options.
16499 * params.def: Added new options.
16500 * params.h: Likewise.
16501
b59e0455
JJ
165022014-01-09 Jakub Jelinek <jakub@redhat.com>
16503
16504 PR rtl-optimization/59724
16505 * ifcvt.c (cond_exec_process_if_block): Don't call
16506 flow_find_head_matching_sequence with 0 longest_match.
16507 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
16508 non-active insns if !stop_after.
16509 (try_head_merge_bb): Revert 2014-01-07 changes.
16510
650c4c85
JL
165112014-01-08 Jeff Law <law@redhat.com>
16512
16513 * ree.c (get_sub_rtx): New function, extracted from...
16514 (merge_def_and_ext): Here.
16515 (combine_reaching_defs): Use get_sub_rtx.
16516
ff36fcbe
EB
165172014-01-08 Eric Botcazou <ebotcazou@adacore.com>
16518
16519 * cgraph.h (varpool_variable_node): Do not choke on null node.
16520
9f9d82aa
CM
165212014-01-08 Catherine Moore <clm@codesourcery.com>
16522
4ac005ba
UB
16523 * config/mips/mips.md (simple_return): Attempt to use JRC
16524 for microMIPS.
9f9d82aa
CM
16525 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
16526
df6c8808
RS
165272014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
16528
16529 PR rtl-optimization/59137
16530 * reorg.c (steal_delay_list_from_target): Call update_block for
16531 elided insns.
16532 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
16533
6170ceff
BS
165342014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16535
16536 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
16537 two duplicate entries.
16538
3f140f32
RS
165392014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
16540
16541 Revert:
16542 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
16543
16544 * config/mips/mips.c (mips_truncated_op_cost): New function.
16545 (mips_rtx_costs): Adjust test for BADDU.
16546 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
16547
16548 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
16549
16550 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
16551 (*baddu_si): ...this new pattern.
16552
c6de6665
JJ
165532014-01-08 Jakub Jelinek <jakub@redhat.com>
16554
16555 PR ipa/59722
16556 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
16557
4c437f02
BE
165582014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
16559
16560 PR middle-end/57748
16561 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
16562 inner_reference_p.
16563 (expand_expr, expand_normal): Adjust.
16564 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
16565 inner_reference_p. Use inner_reference_p to expand inner references.
16566 (store_expr): Adjust.
16567 * cfgexpand.c (expand_call_stmt): Adjust.
16568
4ac005ba 165692014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
16570
16571 * gcov-io.c (gcov_var): Move from gcov-io.h.
16572 (gcov_position): Ditto.
16573 (gcov_is_error): Ditto.
16574 (gcov_rewrite): Ditto.
16575 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
16576 only part to libgcc/libgcov.h.
16577
ab04b46e
MP
165782014-01-08 Marek Polacek <polacek@redhat.com>
16579
16580 PR middle-end/59669
16581 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
16582
06636b32
MP
165832014-01-08 Marek Polacek <polacek@redhat.com>
16584
16585 PR sanitizer/59667
16586 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
16587
c15677b6
JJ
165882014-01-08 Jakub Jelinek <jakub@redhat.com>
16589
16590 PR rtl-optimization/59649
16591 * stor-layout.c (get_mode_bounds): For BImode return
16592 0 and STORE_FLAG_VALUE.
16593
5c944c6c
RB
165942014-01-08 Richard Biener <rguenther@suse.de>
16595
16596 PR middle-end/59630
16597 * gimple.h (is_gimple_builtin_call): Remove.
16598 (gimple_builtin_call_types_compatible_p): New.
16599 (gimple_call_builtin_p): New overload.
16600 * gimple.c (is_gimple_builtin_call): Remove.
16601 (validate_call): Rename to ...
16602 (gimple_builtin_call_types_compatible_p): ... this and export. Also
16603 check return types.
16604 (validate_type): New static function.
16605 (gimple_call_builtin_p): New overload and adjust.
16606 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
16607 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
16608 (gimple_fold_stmt_to_constant_1): Likewise.
16609 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
16610
0bd34ae4
RB
166112014-01-08 Richard Biener <rguenther@suse.de>
16612
16613 PR middle-end/59471
16614 * gimplify.c (gimplify_expr): Gimplify register-register type
16615 VIEW_CONVERT_EXPRs to separate stmts.
16616
04af8ab6
JL
166172014-01-07 Jeff Law <law@redhat.com>
16618
3c92da90
JL
16619 PR middle-end/53623
16620 * ree.c (combine_set_extension): Handle case where source
16621 and destination registers in an extension insn are different.
4ac005ba
UB
16622 (combine_reaching_defs): Allow source and destination registers
16623 in extension to be different under limited circumstances.
3c92da90 16624 (add_removable_extension): Remove restriction that the
4ac005ba 16625 source and destination registers in the extension are the same.
3c92da90
JL
16626 (find_and_remove_re): Emit a copy from the extension's
16627 destination to its source after the defining insn if
16628 the source and destination registers are different.
16629
04af8ab6
JL
16630 PR middle-end/59285
16631 * ifcvt.c (merge_if_block): If we are merging a block with more than
16632 one successor with a block with no successors, remove any BARRIER
16633 after the second block.
16634
4bb66ef3 166352014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
16636
16637 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
16638
55ada375
JDA
166392014-01-07 John David Anglin <danglin@gcc.gnu.org>
16640
16641 PR target/59652
16642 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
16643 for 14-bit register offsets when INT14_OK_STRICT is false.
16644
877c72e7
RS
166452014-01-07 Roland Stigge <stigge@antcom.de>
16646 Michael Meissner <meissner@linux.vnet.ibm.com>
16647
16648 PR 57386/target
16649 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 16650 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 16651
8b2721da
JG
166522014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
16653
16654 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
16655 -mcpu.
16656
5d72b79f
YZ
166572014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
16658
16659 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
16660 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
16661 rtx is const0_rtx or not.
16662
48d53439
RS
166632014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
16664
16665 PR target/58115
16666 * target-globals.c (save_target_globals): Remove this_fn_optab
16667 handling.
16668 * toplev.c: Include optabs.h.
16669 (target_reinit): Temporarily restore the global options if another
16670 set of options are in force.
16671
41626746
JJ
166722014-01-07 Jakub Jelinek <jakub@redhat.com>
16673
a0cbe71e
JJ
16674 PR rtl-optimization/58668
16675 * cfgcleanup.c (flow_find_cross_jump): Don't count
16676 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
16677 to determine what is counted.
16678 (flow_find_head_matching_sequence): Use active_insn_p to determine
16679 what is counted.
16680 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
16681 counting change.
16682 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
16683 determine what is counted.
16684
41626746
JJ
16685 PR tree-optimization/59643
16686 * tree-predcom.c (split_data_refs_to_components): If one dr is
16687 read and one write, determine_offset fails and the write isn't
16688 in the bad component, just put the read into the bad component.
16689
cc349a39
MS
166902014-01-07 Mike Stump <mikestump@comcast.net>
16691 Jakub Jelinek <jakub@redhat.com>
16692
16693 PR pch/59436
16694 * tree-core.h (struct tree_optimization_option): Change optabs
16695 type from unsigned char * to void *.
16696 * optabs.c (init_tree_optimization_optabs): Adjust
16697 TREE_OPTIMIZATION_OPTABS initialization.
16698
529a6471
JJ
166992014-01-06 Jakub Jelinek <jakub@redhat.com>
16700
16701 PR target/59644
16702 * config/i386/i386.h (struct machine_function): Add
16703 no_drap_save_restore field.
16704 * config/i386/i386.c (ix86_save_reg): Use
16705 !cfun->machine->no_drap_save_restore instead of
16706 crtl->stack_realign_needed.
16707 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
16708 this function clears frame_pointer_needed. Set
16709 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
16710 and DRAP reg is needed.
16711
96066ce1
MP
167122014-01-06 Marek Polacek <polacek@redhat.com>
16713
16714 PR c/57773
16715 * doc/implement-c.texi: Mention that other integer types are
16716 permitted as bit-field types in strictly conforming mode.
16717
955b33ed 167182014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
16719
16720 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
16721 is newly allocated.
16722
328402a9
RE
167232014-01-06 Richard Earnshaw <rearnsha@arm.com>
16724
16725 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
16726
a4e33812
MJ
167272014-01-06 Martin Jambor <mjambor@suse.cz>
16728
16729 PR ipa/59008
16730 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
16731 to int.
16732 * ipa-prop.c (ipa_print_node_params): Fix indentation.
16733
b5cd2a02
EB
167342014-01-06 Eric Botcazou <ebotcazou@adacore.com>
16735
16736 PR debug/59350
16737 PR debug/59510
16738 * var-tracking.c (add_stores): Preserve the value of the source even if
16739 we don't record the store.
16740
c7d19c0b
TG
167412014-01-06 Terry Guo <terry.guo@arm.com>
16742
16743 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
16744
e0c70bd7
IS
167452014-01-05 Iain Sandoe <iain@codesourcery.com>
16746
16747 PR bootstrap/59541
16748 * config/darwin.c (darwin_function_section): Adjust return values to
16749 correspond to optimisation changes made in r206070.
16750
c30f016c
UB
167512014-01-05 Uros Bizjak <ubizjak@gmail.com>
16752
16753 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
16754 from prefetch_block tune setting.
16755 (nocona_cost): Correct size of prefetch block to 64.
16756
f2bc252b
EB
167572014-01-04 Eric Botcazou <ebotcazou@adacore.com>
16758
16759 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
16760 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
16761 used to save the static chain register in the computation of the offset
16762 from which the FP registers need to be restored.
16763
dad5ed2e
JJ
167642014-01-04 Jakub Jelinek <jakub@redhat.com>
16765
39719c84
JJ
16766 PR tree-optimization/59519
16767 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
16768 ICE if get_current_def (current_new_name) is already non-NULL, as long
16769 as it is a phi result of some other phi in *new_exit_bb that has
16770 the same argument.
16771
dad5ed2e
JJ
16772 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
16773 or vmovdqu* for misaligned_operand.
16774 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
16775 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
16776 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
16777 aligned_mem for AVX512F masked aligned load and store builtins and for
16778 non-temporal moves.
16779
167802014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
16781
16782 PR tree-optimization/59651
c30f016c 16783 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
16784 Address range for negative step should be added by TYPE_SIZE_UNIT.
16785
e864837a
AS
167862014-01-03 Andreas Schwab <schwab@linux-m68k.org>
16787
16788 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 16789 overlapping registers also for registers other than the stack pointer.
e864837a 16790
56a34230
MP
167912014-01-03 Marek Polacek <polacek@redhat.com>
16792
16793 PR other/59661
16794 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
16795 __builtin_FILE.
16796
039eee3f
JJ
167972014-01-03 Jakub Jelinek <jakub@redhat.com>
16798
3bcdbd50
JJ
16799 PR target/59625
16800 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
16801 asm goto as jump.
16802
039eee3f
JJ
16803 * config/i386/i386.md (MODE_SIZE): New mode attribute.
16804 (push splitter): Use <P:MODE_SIZE> instead of
16805 GET_MODE_SIZE (<P:MODE>mode).
16806 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
16807 (mov -1, reg peephole2): Likewise.
16808 * config/i386/sse.md (*mov<mode>_internal,
16809 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
16810 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
16811 *<code><mode>3, *andnot<mode>3<mask_name>,
16812 <mask_codefor><code><mode>3<mask_name>): Likewise.
16813 * config/i386/subst.md (mask_mode512bit_condition,
16814 sd_mask_mode512bit_condition): Likewise.
16815
927734cf
XDL
168162014-01-02 Xinliang David Li <davidxl@google.com>
16817
16818 PR tree-optimization/59303
039eee3f 16819 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
16820 (dump_predicates): Better output format.
16821 (pred_equal_p): New function.
16822 (is_neq_relop_p): Ditto.
16823 (is_neq_zero_form_p): Ditto.
16824 (pred_expr_equal_p): Ditto.
16825 (pred_neg_p): Ditto.
16826 (simplify_pred): Ditto.
16827 (simplify_preds_2): Ditto.
16828 (simplify_preds_3): Ditto.
16829 (simplify_preds_4): Ditto.
16830 (simplify_preds): Ditto.
16831 (push_pred): Ditto.
16832 (push_to_worklist): Ditto.
16833 (get_pred_info_from_cmp): Ditto.
16834 (is_degenerated_phi): Ditto.
16835 (normalize_one_pred_1): Ditto.
16836 (normalize_one_pred): Ditto.
16837 (normalize_one_pred_chain): Ditto.
16838 (normalize_preds): Ditto.
16839 (normalize_cond_1): Remove function.
16840 (normalize_cond): Ditto.
16841 (is_gcond_subset_of): Ditto.
16842 (is_subset_of_any): Ditto.
16843 (is_or_set_subset_of): Ditto.
16844 (is_and_set_subset_of): Ditto.
16845 (is_norm_cond_subset_of): Ditto.
16846 (pred_chain_length_cmp): Ditto.
16847 (convert_control_dep_chain_into_preds): Type change.
16848 (find_predicates): Ditto.
16849 (find_def_preds): Ditto.
16850 (destroy_predicates_vecs): Ditto.
16851 (find_matching_predicates_in_rest_chains): Ditto.
16852 (use_pred_not_overlap_with_undef_path_pred): Ditto.
16853 (is_pred_expr_subset): Ditto.
16854 (is_pred_chain_subset_of): Ditto.
16855 (is_included_in): Ditto.
16856 (is_superset_of): Ditto.
16857
23a5b65a
RS
168582014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16859
c30f016c 16860 Update copyright years.
23a5b65a 16861
f9030485
RS
168622014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16863
16864 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
16865 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
16866 config/arc/arc.md, config/arc/arc.opt,
16867 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
16868 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
16869 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
16870 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
16871 config/linux-protos.h, config/linux.c, config/winnt-c.c,
16872 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
16873 vtable-verify.c, vtable-verify.h: Use the standard form for the
16874 copyright notice.
f9030485 16875
98db73df
TB
168762014-01-02 Tobias Burnus <burnus@net-b.de>
16877
16878 * gcc.c (process_command): Update copyright notice dates.
16879 * gcov-dump.c: Ditto.
16880 * gcov.c: Ditto.
16881 * doc/cpp.texi: Bump @copying's copyright year.
16882 * doc/cppinternals.texi: Ditto.
16883 * doc/gcc.texi: Ditto.
16884 * doc/gccint.texi: Ditto.
16885 * doc/gcov.texi: Ditto.
16886 * doc/install.texi: Ditto.
16887 * doc/invoke.texi: Ditto.
16888
2898d204 168892014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
16890
16891 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
16892
dfebbdc6 168932014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 16894
726c3546
JJ
16895 * config/i386/sse.md (*mov<mode>_internal): Guard
16896 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
16897
dfebbdc6
JJ
16898 PR rtl-optimization/59647
16899 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
16900 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 16901\f
970c3b33 16902Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
16903
16904Copying and distribution of this file, with or without modification,
16905are permitted in any medium without royalty provided the copyright
16906notice and this notice are preserved.