]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Convert various rtx to rtx_note *
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
66e8df53
DM
12014-08-19 David Malcolm <dmalcolm@redhat.com>
2
3 * basic-block.h (create_basic_block_structure): Strengthen third
4 param "bb_note" from rtx to rtx_note *.
5 * rtl.h (emit_note_before): Strengthen return type from rtx to
6 rtx_note *.
7 (emit_note_after): Likewise.
8 (emit_note): Likewise.
9 (emit_note_copy): Likewise. Also, strengthen param similarly.
10 * function.h (struct rtl_data): Strengthen field
11 "x_stack_check_probe_note" from rtx to rtx_note *.
12
13 * cfgexpand.c (expand_gimple_basic_block): Strengthen local "note"
14 from rtx to rtx_note *.
15 * cfgrtl.c (create_basic_block_structure): Strengthen third param
16 "bb_note" from rtx to rtx_note *.
17 (duplicate_insn_chain): Likewise for local "last". Add a checked cast
18 when calling emit_note_copy.
19 * emit-rtl.c (make_note_raw): Strengthen return type from rtx to
20 rtx_note *.
21 (emit_note_after): Likewise.
22 (emit_note_before): Likewise.
23 (emit_note_copy): Likewise. Also, strengthen param similarly.
24 (emit_note): Likewise.
25 * except.c (emit_note_eh_region_end): Likewise for return type.
26 Strengthen local "next" from rtx to rtx_insn *.
27 (convert_to_eh_region_ranges): Strengthen local "note"
28 from rtx to rtx_note *.
29 * final.c (change_scope): Likewise.
30 (reemit_insn_block_notes): Likewise, for both locals named "note".
31 Also, strengthen local "insn" from rtx to rtx_insn *.
32 * haifa-sched.c (sched_extend_bb): Strengthen local "note" from
33 rtx to rtx_note *.
34 * reg-stack.c (compensate_edge): Likewise for local "after". Also,
35 strengthen local "seq" from rtx to rtx_insn *.
36 * reload1.c (reload_as_needed): Strengthen local "marker" from rtx
37 to rtx_note *.
38 * sel-sched-ir.c (bb_note_pool): Strengthen from rtx_vec_t to
39 vec<rtx_note *>.
40 (get_bb_note_from_pool): Strengthen return type from rtx to
41 rtx_note *.
42 (sel_create_basic_block): Strengthen local "new_bb_note" from
43 insn_t to rtx_note *.
44 * var-tracking.c (emit_note_insn_var_location): Strengthen local
45 "note" from rtx to rtx_note *.
46 (emit_notes_in_bb): Likewise.
47
7a688d52
DM
482014-08-19 David Malcolm <dmalcolm@redhat.com>
49
50 * function.h (struct rtl_data): Strengthen field
51 "x_parm_birth_insn" from rtx to rtx_insn *.
52 * function.c (struct assign_parm_data_all): Strengthen fields
53 "first_conversion_insn" and "last_conversion_insn" from rtx to
54 rtx_insn *.
55
b47aae36
DM
562014-08-19 David Malcolm <dmalcolm@redhat.com>
57
58 * cfgexpand.c (expand_used_vars): Strengthen return type from rtx
59 to rtx_insn *; also for local "var_end_seq".
60 (maybe_dump_rtl_for_gimple_stmt): Likewise for param "since".
61 (maybe_cleanup_end_of_block): Likewise for param "last" and local
62 "insn".
63 (expand_gimple_cond): Likewise for locals "last2" and "last".
64 (mark_transaction_restart_calls): Likewise for local "insn".
65 (expand_gimple_stmt): Likewise for return type and locals "last"
66 and "insn".
67 (expand_gimple_tailcall): Likewise for locals "last2" and "last".
68 (avoid_complex_debug_insns): Likewise for param "insn".
69 (expand_debug_locations): Likewise for locals "insn", "last",
70 "prev_insn" and "insn2".
71 (expand_gimple_basic_block): Likewise for local "last".
72 (construct_exit_block): Likewise for locals "head", "end",
73 "orig_end".
74 (pass_expand::execute): Likewise for locals "var_seq",
75 "var_ret_seq", "next".
76
3a4abd2f
DM
772014-08-19 David Malcolm <dmalcolm@redhat.com>
78
79 * asan.h (asan_emit_stack_protection): Strengthen return type from
80 rtx to rtx_insn *.
81 * asan.c (asan_emit_stack_protection): Likewise. Add local
82 "insns" to hold the return value.
83
ed270997
DM
842014-08-19 David Malcolm <dmalcolm@redhat.com>
85
86 * basic-block.h (bb_note): Strengthen return type from rtx to
87 rtx_note *.
88 * sched-int.h (bb_note): Likewise.
89 * cfgrtl.c (bb_note): Likewise. Add a checked cast to rtx_note *.
90
167b9fae
DM
912014-08-19 David Malcolm <dmalcolm@redhat.com>
92
93 * rtl.h (make_insn_raw): Strengthen return type from rtx to
94 rtx_insn *.
95
96 * emit-rtl.c (make_insn_raw): Strengthen return type and local
97 "insn" from rtx to rtx_insn *.
98 (make_debug_insn_raw): Strengthen return type from rtx to
99 rtx_insn *; strengthen local "insn" from rtx to rtx_debug_insn *.
100 (make_jump_insn_raw): Strengthen return type from rtx to
101 rtx_insn *; strengthen local "insn" from rtx to rtx_jump_insn *.
102 (make_call_insn_raw): Strengthen return type from rtx to
103 rtx_insn *; strengthen local "insn" from rtx to rtx_call_insn *.
104 (emit_pattern_before_noloc): Strengthen return type of "make_raw"
105 callback from rtx to rtx_insn *; likewise for local "insn" and
106 "next", adding a checked cast to rtx_insn in the relevant cases of
107 the switch statement.
108 (emit_pattern_after_noloc): Strengthen return type of "make_raw"
109 callback from rtx to rtx_insn *.
110 (emit_pattern_after_setloc): Likewise.
111 (emit_pattern_after): Likewise.
112 (emit_pattern_before_setloc): Likewise.
113 (emit_pattern_before): Likewise.
114
049cfc4a
DM
1152014-08-19 David Malcolm <dmalcolm@redhat.com>
116
117 * emit-rtl.c (last_call_insn): Strengthen return type from rtx to
118 rtx_call_insn *.
119 * rtl.h (is_a_helper <rtx_call_insn *>::test): New overload,
120 accepting an rtx_insn *.
121 (last_call_insn): Strengthen return type from rtx to
122 rtx_call_insn *.
123
169d13f5
DM
1242014-08-19 David Malcolm <dmalcolm@redhat.com>
125
126 * rtl.h (delete_trivially_dead_insns): Strengthen initial param
127 "insns" from rtx to rtx_insn *.
128 * cse.c (delete_trivially_dead_insns): Likewise, also do it for
129 locals "insn" and "prev".
130
8942ee0f
DM
1312014-08-19 David Malcolm <dmalcolm@redhat.com>
132
133 * rtl.h (tablejump_p): Strengthen third param from rtx * to
134 rtx_jump_table_data **.
135
136 * cfgbuild.c (make_edges): Introduce local "table", using it in
137 place of "tmp" for jump table data.
138 (find_bb_boundaries): Strengthen local "table" from rtx to
139 rtx_jump_table_data *.
140 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
141 (outgoing_edges_match): Likewise for locals "table1" and "table2".
142 (try_crossjump_to_edge): Likewise.
143 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise for local
144 "table".
145 (patch_jump_insn): Introduce local "table", using it in place of
146 "tmp" for jump table data.
147 (force_nonfallthru_and_redirect): Introduce local "table", so that
148 call to tablejump_p can receive an rtx_jump_table_data **. Update
149 logic around the call to overwrite "note" appropriately if
150 tablejump_p returns non-zero.
151 (get_last_bb_insn): Introduce local "table", using it in place of
152 "tmp" for jump table data.
153 * dwarf2cfi.c (create_trace_edges): Likewise.
154
155 * config/arm/arm.c (get_jump_table_size): Strengthen param "insn"
156 from rtx to rtx_jump_table_data *.
157 (create_fix_barrier): Strengthen local "tmp" from rtx to
158 rtx_jump_table_data *.
159 (arm_reorg): Likewise for local "table".
160
161 * config/s390/s390.c (s390_chunkify_start): Likewise.
162
163 * config/spu/spu.c (spu_emit_branch_hint): Likewise.
164
165 * jump.c (delete_related_insns): Strengthen local "lab_next" from
166 rtx to rtx_jump_table_data *.
167
168 * rtlanal.c (tablejump_p): Strengthen param "tablep" from rtx * to
169 rtx_jump_table_data **. Add a checked cast when writing through
170 the pointer: we know there that local "table" is non-NULL and that
171 JUMP_TABLE_DATA_P (table) holds.
172 (label_is_jump_target_p): Introduce local "table", using it in
173 place of "tmp" for jump table data.
174
04159acf
MP
1752014-08-19 Marek Polacek <polacek@redhat.com>
176
177 PR c++/62153
178 * doc/invoke.texi: Document -Wbool-compare.
179
8a2e8325
DM
1802014-08-19 David Malcolm <dmalcolm@redhat.com>
181
182 * rtl.h (entry_of_function): Strengthen return type from rtx to
183 rtx_insn *.
184 * cfgrtl.c (entry_of_function): Likewise.
185
981ac3c7
DM
1862014-08-19 David Malcolm <dmalcolm@redhat.com>
187
188 * emit-rtl.h (get_insns): Strengthen return type from rtx to
189 rtx_insn *, adding a checked cast for now.
190 (get_last_insn): Likewise.
191
7dcc3ab5
DM
1922014-08-19 David Malcolm <dmalcolm@redhat.com>
193
194 * rtl.h (gen_label_rtx): Strengthen return type from rtx to
195 rtx_code_label *.
196
197 * emit-rtl.c (gen_label_rtx): Likewise.
198
eb51c837
DM
1992014-08-19 David Malcolm <dmalcolm@redhat.com>
200
201 * rtl.h (previous_insn): Strengthen return type from rtx to
202 rtx_insn *.
203 (next_insn): Likewise.
204 (prev_nonnote_insn): Likewise.
205 (prev_nonnote_insn_bb): Likewise.
206 (next_nonnote_insn): Likewise.
207 (next_nonnote_insn_bb): Likewise.
208 (prev_nondebug_insn): Likewise.
209 (next_nondebug_insn): Likewise.
210 (prev_nonnote_nondebug_insn): Likewise.
211 (next_nonnote_nondebug_insn): Likewise.
212 (prev_real_insn): Likewise.
213 (next_real_insn): Likewise.
214 (prev_active_insn): Likewise.
215 (next_active_insn): Likewise.
216
217 * emit-rtl.c (next_insn): Strengthen return type from rtx to
218 rtx_insn *, adding a checked cast.
219 (previous_insn): Likewise.
220 (next_nonnote_insn): Likewise.
221 (next_nonnote_insn_bb): Likewise.
222 (prev_nonnote_insn): Likewise.
223 (prev_nonnote_insn_bb): Likewise.
224 (next_nondebug_insn): Likewise.
225 (prev_nondebug_insn): Likewise.
226 (next_nonnote_nondebug_insn): Likewise.
227 (prev_nonnote_nondebug_insn): Likewise.
228 (next_real_insn): Likewise.
229 (prev_real_insn): Likewise.
230 (next_active_insn): Likewise.
231 (prev_active_insn): Likewise.
232
233 * config/sh/sh-protos.h (sh_find_set_of_reg): Convert function ptr
234 param "stepfunc" so that it returns an rtx_insn * rather than an
235 rtx, to track the change to prev_nonnote_insn_bb, which is the
236 only function this is called with.
237 * config/sh/sh.c (sh_find_set_of_reg): Likewise.
238
46ae0465
JH
2392014-08-19 Jan Hubicka <hubicka@ucw.cz>
240
241 * ipa-visibility.c (update_visibility_by_resolution_info): Fix
242 assert.
243
6f983e60
DM
2442014-08-19 David Malcolm <dmalcolm@redhat.com>
245
246 * coretypes.h (class rtx_debug_insn): Add forward declaration.
247 (class rtx_nonjump_insn): Likewise.
248 (class rtx_jump_insn): Likewise.
249 (class rtx_call_insn): Likewise.
250 (class rtx_jump_table_data): Likewise.
251 (class rtx_barrier): Likewise.
252 (class rtx_code_label): Likewise.
253 (class rtx_note): Likewise.
254
255 * rtl.h (class rtx_debug_insn): New, a subclass of rtx_insn,
256 adding the invariant DEBUG_INSN_P (X).
257 (class rtx_nonjump_insn): New, a subclass of rtx_insn, adding
258 the invariant NONJUMP_INSN_P (X).
259 (class rtx_jump_insn): New, a subclass of rtx_insn, adding
260 the invariant JUMP_P (X).
261 (class rtx_call_insn): New, a subclass of rtx_insn, adding
262 the invariant CALL_P (X).
263 (class rtx_jump_table): New, a subclass of rtx_insn, adding the
264 invariant JUMP_TABLE_DATA_P (X).
265 (class rtx_barrier): New, a subclass of rtx_insn, adding the
266 invariant BARRIER_P (X).
267 (class rtx_code_label): New, a subclass of rtx_insn, adding
268 the invariant LABEL_P (X).
269 (class rtx_note): New, a subclass of rtx_insn, adding
270 the invariant NOTE_P(X).
271 (is_a_helper <rtx_debug_insn *>::test): New.
272 (is_a_helper <rtx_nonjump_insn *>::test): New.
273 (is_a_helper <rtx_jump_insn *>::test): New.
274 (is_a_helper <rtx_call_insn *>::test): New.
275 (is_a_helper <rtx_jump_table_data *>::test): New functions,
276 overloaded for both rtx and rtx_insn *.
277 (is_a_helper <rtx_barrier *>::test): New.
278 (is_a_helper <rtx_code_label *>::test): New functions, overloaded
279 for both rtx and rtx_insn *.
280 (is_a_helper <rtx_note *>::test): New.
281
1068ced5
MP
2822014-08-19 Marek Polacek <polacek@redhat.com>
283
284 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO,
285 CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool.
286 * config/i386/i386.h (CLZ_DEFINED_VALUE_AT_ZERO,
287 CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool.
288
c1286e0b
DM
2892014-08-19 David Malcolm <dmalcolm@redhat.com>
290
291 * sel-sched-ir.h (BND_TO): insn_t will eventually be an
292 rtx_insn *. To help with transition, for now, convert from an
293 access macro into a pair of functions: BND_TO, returning an
294 rtx_insn *, and...
295 (SET_BND_TO): New function, for use where BND_TO is used as an
296 lvalue.
297
298 * sel-sched-ir.c (blist_add): Update lvalue usage of BND_TO to
299 SET_BND_TO.
300 (BND_TO): New function, adding a checked cast.
301 (SET_BND_TO): New function.
302
303 * sel-sched.c (move_cond_jump): Update lvalue usage of BND_TO to
304 SET_BND_TO.
305 (compute_av_set_on_boundaries): Likewise.
306
b4e8ceb9
L
3072014-08-19 H.J. Lu <hongjiu.lu@intel.com>
308
309 * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
310 destination if it is used in source.
311 (*clz<mode>2_lzcnt_falsedep_1): Likewise.
312 (*popcount<mode>2_falsedep_1): Likewise.
313
95204cd5
L
3142014-08-19 H.J. Lu <hongjiu.lu@intel.com>
315
316 PR other/62168
317 * configure.ac: Set install_gold_as_default to no first.
1068ced5 318 * configure: Regenerated.
95204cd5 319
c2fc1aee
DM
3202014-08-19 David Malcolm <dmalcolm@redhat.com>
321
322 * sel-sched-ir.h (BB_NOTE_LIST): struct sel_region_bb_info_def's
323 "note_list" field will eventually be an rtx_insn *. To help with
324 transition, for now, convert from an access macro into a pair of
325 functions: BB_NOTE_LIST, returning an rtx_insn *, and...
326 (SET_BB_NOTE_LIST): New function, for use where BB_NOTE_LIST is
327 used as an lvalue.
328
329 * sel-sched.c (create_block_for_bookkeeping): Update lvalue usage
330 of BB_NOTE_LIST to SET_BB_NOTE_LIST.
331
332 * sel-sched-ir.c (init_bb): Likewise.
333 (sel_restore_notes): Likewise.
334 (move_bb_info): Likewise.
335 (BB_NOTE_LIST): New function, adding a checked cast to rtx_insn *.
336 (SET_BB_NOTE_LIST): New function.
337
68975683
DM
3382014-08-19 David Malcolm <dmalcolm@redhat.com>
339
340 * sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx"
341 field will eventually be an rtx_insn *. To help with transition,
342 for now, convert from an access macro into a pair of functions:
343 VINSN_INSN_RTX, returning an rtx_insn *, and...
344 (SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX
345 is used as an lvalue.
346
347 * sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with
348 SET_VINSN_INSN_RTX where it's used as an lvalue.
349 (VINSN_INSN_RTX): New function.
350 (SET_VINSN_INSN_RTX): New function.
351
d914bc6b
DM
3522014-08-19 David Malcolm <dmalcolm@redhat.com>
353
354 * sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will
355 eventually be rtx_insn *, but to help with transition, for now,
356 convert from an access macro into a pair of functions: DEP_PRO
357 returning an rtx_insn * and...
358 (SET_DEP_PRO): New function, for use where DEP_PRO is used as an
359 lvalue, returning an rtx&.
360 (DEP_CON): Analogous changes to DEP_PRO above.
361 (SET_DEP_CON): Likewise.
362
363 * haifa-sched.c (create_check_block_twin): Replace DEP_CON used as
364 an lvalue to SET_DEP_CON.
365 * sched-deps.c (init_dep_1): Likewise for DEP_PRO and DEP_CON.
366 (sd_copy_back_deps): Likewise for DEP_CON.
367 (DEP_PRO): New function, adding a checked cast for now.
368 (DEP_CON): Likewise.
369 (SET_DEP_PRO): New function.
370 (SET_DEP_CON): Likewise.
371
301f4402
YS
3722014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
373
374 * config.gcc (*-*-cygwin*): Use __cxa_atexit by default.
375 (extra_options): Add i386/cygwin.opt.
376 * config/i386/cygwin.h (STARTFILE_SPEC): Use crtbeginS.o if shared.
377 (CPP_SPEC): Accept -pthread.
378 (LINK_SPEC): Ditto.
379 (GOMP_SELF_SPECS): Update comment.
380 * config/i386/cygwin.opt: New file for -pthread flag.
381
8020a4d5
DM
3822014-08-19 David Malcolm <dmalcolm@redhat.com>
383
384 * df-core.c (DF_REF_INSN): New, using a checked cast for now.
385 * df.h (DF_REF_INSN): Convert from a macro to a function, so
386 that we can return an rtx_insn *.
387
a3b69d6f
YS
3882014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
389
04017283
YS
390 * config/i386/cygwin.h (LINK_SPEC): Pass --tsaware flag only
391 when building executables, not DLLs. Add --large-address-aware
392 under the same conditions.
393 * config/i386/cygwin-w64.h (LINK_SPEC): Pass --tsaware flag only
394 when building executables, not DLLs. Add --large-address-aware
395 under the same conditions when using -m32.
396
a3b69d6f
YS
397 * config/i386/cygwin-stdint.h: Throughout, make type
398 definitions dependent on target architecture, not host.
399
6306c300
DM
4002014-08-19 David Malcolm <dmalcolm@redhat.com>
401
402 * rtl.h (PREV_INSN): Convert to an inline function. Strengthen
403 the return type from rtx to rtx_insn *, which will enable various
404 conversions in followup patches. For now this is is done by a
405 checked cast.
406 (NEXT_INSN): Likewise.
407 (SET_PREV_INSN): Convert to an inline function. This is intended
408 for use as an lvalue, and so returns an rtx& to allow in-place
409 modification.
410 (SET_NEXT_INSN): Likewise.
411
638c0294
MW
4122014-07-08 Mark Wielaard <mjw@redhat.com>
413
414 PR debug/59051
415 * dwarf2out.c (modified_type_die): Handle TYPE_QUAL_RESTRICT.
416
abbb94e6
MP
4172014-08-19 Marek Polacek <polacek@redhat.com>
418
419 PR c/61271
420 * cgraphunit.c (handle_alias_pairs): Fix condition.
421
3ef276e4
RB
4222014-08-19 Richard Biener <rguenther@suse.de>
423
424 * gimple-fold.c (fold_gimple_assign): Properly build a
425 null-pointer constant when devirtualizing addresses.
426
a98c0e91
MW
4272014-07-07 Mark Wielaard <mjw@redhat.com>
428
429 * dwarf2out.c (decl_quals): New function.
430 (modified_type_die): Take one cv_quals argument instead of two,
431 one for const and one for volatile.
432 (add_type_attribute): Likewise.
433 (generic_parameter_die): Call add_type_attribute with one modifier
434 argument.
435 (base_type_for_mode): Likewise.
436 (add_bounds_info): Likewise.
437 (add_subscript_info): Likewise.
438 (gen_array_type_die): Likewise.
439 (gen_descr_array_type_die): Likewise.
440 (gen_entry_point_die): Likewise.
441 (gen_enumeration_type_die): Likewise.
442 (gen_formal_parameter_die): Likewise.
443 (gen_subprogram_die): Likewise.
444 (gen_variable_die): Likewise.
445 (gen_const_die): Likewise.
446 (gen_field_die): Likewise.
447 (gen_pointer_type_die): Likewise.
448 (gen_reference_type_die): Likewise.
449 (gen_ptr_to_mbr_type_die): Likewise.
450 (gen_inheritance_die): Likewise.
451 (gen_subroutine_type_die): Likewise.
452 (gen_typedef_die): Likewise.
453 (force_type_die): Likewise.
454
56e675ce
RO
4552014-08-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
456
457 * configure.ac (gcc_cv_as_comdat_group_group): Only default to no
458 if unset.
459 * configure: Regenerate.
460
47503a49
RB
4612014-08-19 Richard Biener <rguenther@suse.de>
462
463 * lto-streamer-out.c (DFS::DFS_write_tree_body): Stream
464 DECL_EXTERNALs in BLOCKs as non-references.
465 * tree-streamer-out.c (streamer_write_chain): Likewise.
466
21c924ac
AI
4672014-08-19 Alexander Ivchenko <alexander.ivchenko@intel.com>
468 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
469 Anna Tikhonova <anna.tikhonova@intel.com>
470 Ilya Tocar <ilya.tocar@intel.com>
471 Andrey Turetskiy <andrey.turetskiy@intel.com>
472 Ilya Verbin <ilya.verbin@intel.com>
473 Kirill Yukhin <kirill.yukhin@intel.com>
474 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
475
476 * config/i386/sse.md
477 (define_mode_iterator VI48_AVX512F): Delete.
478 (define_mode_iterator VI48_AVX512F_AVX512VL): New.
479 (define_mode_iterator VI2_AVX512VL): Ditto.
480 (define_insn "<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name><round_name>"):
481 Delete.
482 (define_insn
483 ("<mask_codefor><avx512>_ufix_notrunc<sf2simodelower><mode><mask_name><round_name>"):
484 New.
485 (define_insn "avx512cd_maskw_vec_dup<mode>"): Macroize.
486 (define_insn "<avx2_avx512f>_ashrv<mode><mask_name>"): Delete.
487 (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
488 with VI48_AVX512F_AVX512VL): New.
489 (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
490 with VI2_AVX512VL): Ditto.
491
35aff4fb
MP
4922014-08-19 Marek Polacek <polacek@redhat.com>
493
494 * doc/invoke.texi: Document -Wc99-c11-compat.
495
0f82e5c9
DM
4962014-08-19 David Malcolm <dmalcolm@redhat.com>
497
498 * rtl.h (PREV_INSN): Split macro in two: the existing one,
499 for rvalues, and...
500 (SET_PREV_INSN): New macro, for use as an lvalue.
501 (NEXT_INSN, SET_NEXT_INSN): Likewise.
502
503 * caller-save.c (save_call_clobbered_regs): Convert lvalue use of
504 PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
505 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
506 (fixup_abnormal_edges): Likewise.
507 (unlink_insn_chain): Likewise.
508 (fixup_reorder_chain): Likewise.
509 (cfg_layout_delete_block): Likewise.
510 (cfg_layout_merge_blocks): Likewise.
511 * combine.c (update_cfg_for_uncondjump): Likewise.
512 * emit-rtl.c (link_insn_into_chain): Likewise.
513 (remove_insn): Likewise.
514 (delete_insns_since): Likewise.
515 (reorder_insns_nobb): Likewise.
516 (emit_insn_after_1): Likewise.
517 * final.c (rest_of_clean_state): Likewise.
518 (final_scan_insn): Likewise.
519 * gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
520 * haifa-sched.c (concat_note_lists): Likewise.
521 (remove_notes): Likewise.
522 (restore_other_notes): Likewise.
523 (move_insn): Likewise.
524 (unlink_bb_notes): Likewise.
525 (restore_bb_notes): Likewise.
526 * jump.c (delete_for_peephole): Likewise.
527 * optabs.c (emit_libcall_block_1): Likewise.
528 * reorg.c (emit_delay_sequence): Likewise.
529 (fill_simple_delay_slots): Likewise.
530 * sel-sched-ir.c (sel_move_insn): Likewise.
531 (sel_remove_insn): Likewise.
532 (get_bb_note_from_pool): Likewise.
533 * sel-sched.c (move_nop_to_previous_block): Likewise.
534
535 * config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
536 * config/c6x/c6x.c (gen_one_bundle): Likewise.
537 (c6x_gen_bundles): Likewise.
538 (hwloop_optimize): Likewise.
539 * config/frv/frv.c (frv_function_prologue): Likewise.
540 (frv_register_nop): Likewise.
541 * config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
542 (ia64_reorg): Likewise.
543 * config/mep/mep.c (mep_reorg_addcombine): Likewise.
544 (mep_make_bundle): Likewise.
545 (mep_bundle_insns): Likewise.
546 * config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
547 * config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
548 * config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.
549
ef0fe503
DM
5502014-08-19 David Malcolm <dmalcolm@redhat.com>
551
552 * basic-block.h (BB_HEAD): Convert to a function. Strengthen the
553 return type from rtx to rtx_insn *.
554 (BB_END): Likewise.
555 (BB_HEADER): Likewise.
556 (BB_FOOTER): Likewise.
557 (SET_BB_HEAD): Convert to a function.
558 (SET_BB_END): Likewise.
559 (SET_BB_HEADER): Likewise.
560 (SET_BB_FOOTER): Likewise.
561
562 * cfgrtl.c (BB_HEAD): New function, from macro of same name.
563 Strengthen the return type from rtx to rtx_insn *. For now, this
564 is done by adding a checked cast, but this will eventually
565 become a field lookup.
566 (BB_END): Likewise.
567 (BB_HEADER): Likewise.
568 (BB_FOOTER): Likewise.
569 (SET_BB_HEAD): New function, from macro of same name. This is
570 intended for use as an lvalue, and so returns an rtx& to allow
571 in-place modification.
572 (SET_BB_END): Likewise.
573 (SET_BB_HEADER): Likewise.
574 (SET_BB_FOOTER): Likewise.
575
190bea87
DM
5762014-08-18 David Malcolm <dmalcolm@redhat.com>
577
578 * basic-block.h (BB_HEAD): Split macro in two: the existing one,
579 for rvalues, and...
580 (SET_BB_HEAD): New macro, for use as a lvalue.
581 (BB_END, SET_BB_END): Likewise.
582 (BB_HEADER, SET_BB_HEADER): Likewise.
583 (BB_FOOTER, SET_BB_FOOTER): Likewise.
584
585 * bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
586 of BB_* macros into SET_BB_* macros.
587 (fix_crossing_unconditional_branches): Likewise.
588 * caller-save.c (save_call_clobbered_regs): Likewise.
589 (insert_one_insn): Likewise.
590 * cfgbuild.c (find_bb_boundaries): Likewise.
591 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
592 (outgoing_edges_match): Likewise.
593 (try_optimize_cfg): Likewise.
594 * cfgexpand.c (expand_gimple_cond): Likewise.
595 (expand_gimple_tailcall): Likewise.
596 (expand_gimple_basic_block): Likewise.
597 (construct_exit_block): Likewise.
598 * cfgrtl.c (delete_insn): Likewise.
599 (create_basic_block_structure): Likewise.
600 (rtl_delete_block): Likewise.
601 (rtl_split_block): Likewise.
602 (emit_nop_for_unique_locus_between): Likewise.
603 (rtl_merge_blocks): Likewise.
604 (block_label): Likewise.
605 (try_redirect_by_replacing_jump): Likewise.
606 (emit_barrier_after_bb): Likewise.
607 (fixup_abnormal_edges): Likewise.
608 (record_effective_endpoints): Likewise.
609 (relink_block_chain): Likewise.
610 (fixup_reorder_chain): Likewise.
611 (fixup_fallthru_exit_predecessor): Likewise.
612 (cfg_layout_duplicate_bb): Likewise.
613 (cfg_layout_split_block): Likewise.
614 (cfg_layout_delete_block): Likewise.
615 (cfg_layout_merge_blocks): Likewise.
616 * combine.c (update_cfg_for_uncondjump): Likewise.
617 * emit-rtl.c (add_insn_after): Likewise.
618 (remove_insn): Likewise.
619 (reorder_insns): Likewise.
620 (emit_insn_after_1): Likewise.
621 * haifa-sched.c (get_ebb_head_tail): Likewise.
622 (restore_other_notes): Likewise.
623 (move_insn): Likewise.
624 (sched_extend_bb): Likewise.
625 (fix_jump_move): Likewise.
626 * ifcvt.c (noce_process_if_block): Likewise.
627 (dead_or_predicable): Likewise.
628 * ira.c (update_equiv_regs): Likewise.
629 * reg-stack.c (change_stack): Likewise.
630 * sel-sched-ir.c (sel_move_insn): Likewise.
631 * sel-sched.c (move_nop_to_previous_block): Likewise.
632
633 * config/c6x/c6x.c (hwloop_optimize): Likewise.
634 * config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
635
70e7f57d
DM
6362014-08-18 David Malcolm <dmalcolm@redhat.com>
637
638 * rtl.h (for_each_rtx_in_insn): New function.
639 * rtlanal.c (for_each_rtx_in_insn): Likewise.
640
15f8d3ab
DM
6412014-08-18 David Malcolm <dmalcolm@redhat.com>
642
643 * coretypes.h (class rtx_insn): Add forward declaration.
644
645 * rtl.h: Include is-a.h.
646 (struct rtx_def): Add dummy "desc" and "tag" GTY options as a
647 workaround to ensure gengtype knows inheritance is occurring,
648 whilst continuing to use the pre-existing special-casing for
649 rtx_def.
650 (class rtx_insn): New subclass of rtx_def, adding the
651 invariant that we're dealing with something we can sanely use
652 INSN_UID, NEXT_INSN, PREV_INSN on.
653 (is_a_helper <rtx_insn *>::test): New.
654 (is_a_helper <const rtx_insn *>::test): New.
655
26b3538b
DM
6562014-08-18 David Malcolm <dmalcolm@redhat.com>
657
658 * is-a.h (template<T, U> safe_as_a <U *p>) New function.
659
2e4c1e6c
JH
6602014-08-18 Jan Hubicka <hubicka@ucw.cz>
661
662 * ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
663 comdats as extern.
664
c5ac1780
JH
6652014-08-18 Jan Hubicka <hubicka@ucw.cz>
666
667 * gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
668 to BUILT_IN_UNREACHABLE.
669
374f5bf8
UB
6702014-08-18 Uros Bizjak <ubizjak@gmail.com>
671
672 PR target/62011
673 * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
674 New tune flag.
675 * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
676 * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
677 (ffs<mode>2): Do not expand with tzcnt for
678 TARGET_AVOID_FALSE_DEP_FOR_BMI.
679 (ffssi2_no_cmove): Ditto.
680 (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
681 (ctz<mode>2): New expander.
682 (*ctz<mode>2_falsedep_1): New insn_and_split pattern.
683 (*ctz<mode>2_falsedep): New insn.
684 (*ctz<mode>2): Rename from ctz<mode>2.
685 (clz<mode>2_lzcnt): New expander.
686 (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
687 (*clz<mode>2_lzcnt_falsedep): New insn.
688 (*clz<mode>2): Rename from ctz<mode>2.
689 (popcount<mode>2): New expander.
690 (*popcount<mode>2_falsedep_1): New insn_and_split pattern.
691 (*popcount<mode>2_falsedep): New insn.
692 (*popcount<mode>2): Rename from ctz<mode>2.
693 (*popcount<mode>2_cmp): Remove.
694 (*popcountsi2_cmp_zext): Ditto.
695
57fb889f
AA
6962014-08-18 Ajit Agarwal <ajitkum@xilinx.com>
697
698 * config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
699 (microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
700 * config/microblaze/microblaze.h
701 (TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.
702
f8df6750
L
7032014-08-18 H.J. Lu <hongjiu.lu@intel.com>
704
705 PR other/62168
706 * configure.ac: Set install_gold_as_default to no for
707 --enable-gold=no.
708 * configure: Regenerated.
709
eae1a5d4
RG
7102014-08-18 Roman Gareev <gareevroman@gmail.com>
711
712 * Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
713 * config.in: Add undef of HAVE_isl.
714 * configure: Regenerate.
715 * configure.ac: Add definition of HAVE_isl.
716 * graphite-blocking.c: Add checking of HAVE_isl.
717 * graphite-dependences.c: Likewise.
718 * graphite-interchange.c: Likewise.
719 * graphite-isl-ast-to-gimple.c: Likewise.
720 * graphite-optimize-isl.c: Likewise.
721 * graphite-poly.c: Likewise.
722 * graphite-scop-detection.c: Likewise.
723 * graphite-sese-to-poly.c: Likewise.
724 * graphite.c: Likewise.
725 * toplev.c: Replace the checking of HAVE_cloog with the checking
726 of HAVE_isl.
727
d7e78447
RB
7282014-08-18 Richard Biener <rguenther@suse.de>
729
730 PR tree-optimization/62090
731 * builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
732 (fold_builtin_3): Do not fold snprintf.
733 (fold_builtin_4): Likewise.
734 * gimple-fold.c (gimple_fold_builtin_snprintf): New function
735 moved from builtins.c.
736 (gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
737 (gimple_fold_builtin): Do not fold sprintf here.
738
040292e7
RB
7392014-08-18 Richard Biener <rguenther@suse.de>
740
741 * gimple-fold.c (maybe_fold_reference): Move re-gimplification
742 code to ...
743 (maybe_canonicalize_mem_ref_addr): ... this function.
744 (fold_stmt_1): Apply it here before all simplification.
745
d34af022
IE
7462014-08-18 Ilya Enkovich <ilya.enkovich@intel.com>
747
748 PR ipa/61800
749 * cgraph.h (cgraph_node::create_indirect_edge): Add
750 compute_indirect_info param.
751 * cgraph.c (cgraph_node::create_indirect_edge): Compute
752 indirect_info only when it is required.
753 * cgraphclones.c (cgraph_clone_edge): Do not recompute
754 indirect_info fore cloned indirect edge.
755
44f59829
AI
7562014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
757 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
758 Anna Tikhonova <anna.tikhonova@intel.com>
759 Ilya Tocar <ilya.tocar@intel.com>
760 Andrey Turetskiy <andrey.turetskiy@intel.com>
761 Ilya Verbin <ilya.verbin@intel.com>
762 Kirill Yukhin <kirill.yukhin@intel.com>
763 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
764
765 * config/i386/sse.md
766 (define_mode_iterator VI8_AVX2_AVX512BW): New.
767 (define_insn "<sse2_avx2>_psadbw"): Add evex version.
768
4769c826
AI
7692014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
770 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
771 Anna Tikhonova <anna.tikhonova@intel.com>
772 Ilya Tocar <ilya.tocar@intel.com>
773 Andrey Turetskiy <andrey.turetskiy@intel.com>
774 Ilya Verbin <ilya.verbin@intel.com>
775 Kirill Yukhin <kirill.yukhin@intel.com>
776 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
777
778 * config/i386/sse.md
779 (define_mode_iterator VF1_AVX512VL): New.
780 (define_insn "ufloatv16siv16sf2<mask_name><round_name>"): Delete.
781 (define_insn "ufloat<sseintvecmodelower><mode>2<mask_name><round_name>"):
782 New.
783
39012b09
AI
7842014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
785 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
786 Anna Tikhonova <anna.tikhonova@intel.com>
787 Ilya Tocar <ilya.tocar@intel.com>
788 Andrey Turetskiy <andrey.turetskiy@intel.com>
789 Ilya Verbin <ilya.verbin@intel.com>
790 Kirill Yukhin <kirill.yukhin@intel.com>
791 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
792
793 * config/i386/i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
794 * config/i386/i386.md
795 (define_code_iterator any_float): New.
796 (define_code_attr floatsuffix): New.
797 * config/i386/sse.md
798 (define_mode_iterator VF1_128_256VL): New.
799 (define_mode_iterator VF2_512_256VL): New.
800 (define_insn "float<si2dfmodelower><mode>2<mask_name>"): Remove unnecessary
801 TARGET check.
802 (define_insn "ufloatv8siv8df<mask_name>"): Delete.
803 (define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"):
804 New.
805 (define_mode_attr qq2pssuff): New.
806 (define_mode_attr sselongvecmode): New.
807 (define_mode_attr sselongvecmodelower): New.
808 (define_mode_attr sseintvecmode3): New.
809 (define_insn "<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>"):
810 New.
811 (define_insn "*<floatsuffix>floatv2div2sf2"): New.
812 (define_insn "<floatsuffix>floatv2div2sf2_mask"): New.
813 (define_insn "ufloat<si2dfmodelower><mode>2<mask_name>"): New.
814 (define_insn "ufloatv2siv2df2<mask_name>"): New.
815
3bcf35e7
AI
8162014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
817 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
818 Anna Tikhonova <anna.tikhonova@intel.com>
819 Ilya Tocar <ilya.tocar@intel.com>
820 Andrey Turetskiy <andrey.turetskiy@intel.com>
821 Ilya Verbin <ilya.verbin@intel.com>
822 Kirill Yukhin <kirill.yukhin@intel.com>
823 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
824
825 * config/i386/sse.md
826 (define_mode_iterator VF2_AVX512VL): New.
827 (define_mode_attr sseintvecmode2): New.
828 (define_insn "ufix_truncv2dfv2si2<mask_name>"): Add masking.
829 (define_insn "fix_truncv4dfv4si2<mask_name>"): New.
830 (define_insn "ufix_truncv4dfv4si2<mask_name>"): Ditto.
831 (define_insn
832 "<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>"):
833 Ditto.
834 (define_insn "fix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
835 Ditto.
836 (define_insn "ufix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
837 Ditto.
838
6f108bc6
AI
8392014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
840 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
841 Anna Tikhonova <anna.tikhonova@intel.com>
842 Ilya Tocar <ilya.tocar@intel.com>
843 Andrey Turetskiy <andrey.turetskiy@intel.com>
844 Ilya Verbin <ilya.verbin@intel.com>
845 Kirill Yukhin <kirill.yukhin@intel.com>
846 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
847
848 * config/i386/i386.md
849 (define_insn "*movoi_internal_avx"): Add evex version.
850 (define_insn "*movti_internal"): Ditto.
851
0148f0b6
AI
8522014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
853 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
854 Anna Tikhonova <anna.tikhonova@intel.com>
855 Ilya Tocar <ilya.tocar@intel.com>
856 Andrey Turetskiy <andrey.turetskiy@intel.com>
857 Ilya Verbin <ilya.verbin@intel.com>
858 Kirill Yukhin <kirill.yukhin@intel.com>
859 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
860
861 * config/i386/i386.md
862 (define_attr "isa"): Add avx512dq, noavx512dq.
863 (define_attr "enabled"): Ditto.
864 * config/i386/sse.md
865 (define_insn "vec_extract_hi_<mode><mask_name>"): Support masking.
866
e0aacde4
AI
8672014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
868 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
869 Anna Tikhonova <anna.tikhonova@intel.com>
870 Ilya Tocar <ilya.tocar@intel.com>
871 Andrey Turetskiy <andrey.turetskiy@intel.com>
872 Ilya Verbin <ilya.verbin@intel.com>
873 Kirill Yukhin <kirill.yukhin@intel.com>
874 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
875
876 * config/i386/i386.c
877 (ix86_expand_special_args_builtin): Handle avx512vl_storev8sf_mask,
878 avx512vl_storev8si_mask, avx512vl_storev4df_mask, avx512vl_storev4di_mask,
879 avx512vl_storev4sf_mask, avx512vl_storev4si_mask, avx512vl_storev2df_mask,
880 avx512vl_storev2di_mask, avx512vl_loadv8sf_mask, avx512vl_loadv8si_mask,
881 avx512vl_loadv4df_mask, avx512vl_loadv4di_mask, avx512vl_loadv4sf_mask,
882 avx512vl_loadv4si_mask, avx512vl_loadv2df_mask, avx512vl_loadv2di_mask,
883 avx512bw_loadv64qi_mask, avx512vl_loadv32qi_mask, avx512vl_loadv16qi_mask,
884 avx512bw_loadv32hi_mask, avx512vl_loadv16hi_mask, avx512vl_loadv8hi_mask.
885 * config/i386/i386.md (define_mode_attr ssemodesuffix): Allow V32HI mode.
886 * config/i386/sse.md
887 (define_mode_iterator VMOVE): Allow V4TI mode.
888 (define_mode_iterator V_AVX512VL): New.
889 (define_mode_iterator V): New handling for AVX512VL.
890 (define_insn "avx512f_load<mode>_mask"): Delete.
891 (define_insn "<avx512>_load<mode>_mask"): New.
892 (define_insn "avx512f_store<mode>_mask"): Delete.
893 (define_insn "<avx512>_store<mode>_mask"): New.
894
895
87d1d65a
YG
8962014-08-18 Yury Gribov <y.gribov@samsung.com>
897
898 PR sanitizer/62089
899 * asan.c (instrument_derefs): Fix bitfield check.
900
44c3a8bb
SB
9012014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
902
903 * config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
904 * config/rs6000/htm.md (ttest): Remove clobber.
905 * config/rs6000/predicates.md (any_mask_operand): New predicate.
906 (and_operand): Reformat.
907 (and_2rld_operand): New predicate.
908 * config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
909 parameter.
910 * config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
911 parameter. Handle AND directly.
912 (rs6000_split_logical_di): Remove last parameter.
913 (rs6000_split_logical): Remove last parameter. Remove obsolete
914 comment.
915 * config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
916 (one_cmpl<mode>2): Adjust call of rs6000_split_logical.
917 (ctz<mode>2, ffs<mode>2): Delete clobber. Reformat.
918 (andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
919 *andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
920 and 5 anonymous splitters): Delete.
921 (and<mode>3): New expander.
922 (*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
923 (and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
924 (*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
925 (ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
926 (floatdisf2_internal1): Remove clobbers.
927 (anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
928 *anddi3_internal3_mc, and 4 anonymous splitters): Delete.
929 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
930 (and<mode>3 for BOOL_128): Remove clobber.
931 (*and<mode>3_internal for BOOL_128): Remove clobber. Adjust call of
932 rs6000_split_logical.
933 (*bool<mode>3_internal for BOOL_128): Adjust call of
934 rs6000_split_logical.
935 (*boolc<mode>3_internal1 for BOOL_128,
936 *boolc<mode>3_internal2 for BOOL_128,
937 *boolcc<mode>3_internal1 for BOOL_128,
938 *boolcc<mode>3_internal2 for BOOL_128,
939 *eqv<mode>3_internal1 for BOOL_128,
940 *eqv<mode>3_internal2 for BOOL_128,
941 *one_cmpl<mode>3_internal for BOOL_128): Ditto.
942 * config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
943 clobber.
944 (*vec_reload_and_reg_<mptrsize>): Delete.
945
e7ee9a58
SB
9462014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
947
948 * config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
949 and split, *boolccsi3_internal3 and split): Delete.
950 (*boolccdi3_internal1, *boolccdi3_internal2 and split,
951 *boolccdi3_internal3 and split): Delete.
952 (*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
953 (*eqv<mode>3): Move. Add TODO comment. Fix attributes.
954
2c7b41df
SB
9552014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
956
957 * config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
958 and split, *boolcsi3_internal3 and split): Delete.
959 (*boolcdi3_internal1, *boolcdi3_internal2 and split,
960 *boolcdi3_internal3 and split): Delete.
961 (*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.
962
10802bee
SB
9632014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
964
965 * config/rs6000/rs6000.c (print_operand) <'e'>: New.
966 <'u'>: Also support printing the low-order 16 bits.
967 * config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
968 *boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
969 (iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
970 *booldi3_internal3 and split): Delete.
971 (ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
972 *bool<mode>3_dot2): New.
973 (two anonymous define_splits for non_logical_cint_operand): Merge.
974
544c27ba
MP
9752014-08-17 Marek Polacek <polacek@redhat.com>
976 Manuel López-Ibáñez <manu@gcc.gnu.org>
977
978 PR c/62059
979 * diagnostic.c (adjust_line): Add gcc_checking_assert.
980 (diagnostic_show_locus): Don't print caret diagnostic
981 if a column is larger than the line_width.
982
b860c92e
RG
9832014-08-17 Roman Gareev <gareevroman@gmail.com>
984
985 * common.opt: Make the ISL AST generator to be the main code generator
986 of Graphite.
987
3655abdd
GP
9882014-08-16 Gerald Pfeifer <gerald@pfeifer.com>
989
990 * wide-int.h (generic_wide_int): Declare as class instead of struct.
991
3ba07ad3
JDA
9922014-08-16 John David Anglin <danglin@gcc.gnu.org>
993
994 PR target/61641
995 * config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
996 Declare.
997 * config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
998 (pa_output_addr_vec, pa_output_addr_diff_vec): New.
999 * config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
1000 Define.
1001 * config/pa/pa.md (begin_brtab): Delete insn.
1002 (end_brtab): Likewise.
1003
5f05dc55
MLI
10042014-08-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1005
1006 * doc/cppopts.texi (ftrack-macro-expansion): Add missing @code.
1007
4d7cf10d
JH
10082014-08-15 Jan Hubicka <hubicka@ucw.cz>
1009
1010 * ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
1011 (possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
1012 possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
1013 (get_dynamic_type): Remove.
1014 * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
1015 (clear_speculation): Bring to ipa-deivrt.h
1016 (get_class_context): Rename to ...
1017 (ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
1018 (contains_type_p): Update.
1019 (get_dynamic_type): Rename to ...
1020 ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
1021 (possible_polymorphic_call_targets): UPdate.
1022 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
1023 * ipa-prop.c (ipa_analyze_call_uses): Update.
1024
a03b75b1
OE
10252014-08-15 Oleg Endo <olegendo@gcc.gnu.org>
1026
1027 * doc/invoke.texi (SH options): Document missing processor variant
1028 options. Remove references to Hitachi. Undocument deprecated mspace
1029 option.
1030
33cb682b
JM
10312014-08-15 Jason Merrill <jason@redhat.com>
1032
1033 * tree.c (type_hash_canon): Uncomment assert.
1034
86d2cad9
MLI
10352014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1036
1037 * input.h (in_system_header_at): Add comment.
1038
8e54f6d3
MLI
10392014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1040
1041 PR fortran/44054
1042 * diagnostic.c (build_message_string): Make it extern.
1043 * diagnostic.h (build_message_string): Make it extern.
1044
363785f6
VM
10452014-08-15 Vladimir Makarov <vmakarov@redhat.com>
1046
1047 * config/rs6000/rs6000.c (rs6000_emit_move): Use SDmode for
1048 load/store from/to non-floating class pseudo.
1049
592f32fa
MLI
10502014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1051
1052 * input.c (diagnostic_file_cache_fini): Fix typo in comment.
1053
ebd7d910
RB
10542014-08-15 Richard Biener <rguenther@suse.de>
1055
1056 * tree-ssa-structalias.c (readonly_id): Rename to string_id.
1057 (get_constraint_for_ssa_var): Remove dead code.
1058 (get_constraint_for_1): Adjust.
1059 (find_what_var_points_to): Likewise.
1060 (init_base_vars): Likewise. STRING_CSTs do not contain pointers.
1061
275be1da
IT
10622014-08-15 Ilya Tocar <tocarip@gmail.com>
1063
1064 PR target/61878
1065 * config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New.
1066 (_mm512_mask_cmpge_epu32_mask): Ditto.
1067 (_mm512_cmpge_epu32_mask): Ditto.
1068 (_mm512_mask_cmpge_epi64_mask): Ditto.
1069 (_mm512_cmpge_epi64_mask): Ditto.
1070 (_mm512_mask_cmpge_epu64_mask): Ditto.
1071 (_mm512_cmpge_epu64_mask): Ditto.
1072 (_mm512_mask_cmple_epi32_mask): Ditto.
1073 (_mm512_cmple_epi32_mask): Ditto.
1074 (_mm512_mask_cmple_epu32_mask): Ditto.
1075 (_mm512_cmple_epu32_mask): Ditto.
1076 (_mm512_mask_cmple_epi64_mask): Ditto.
1077 (_mm512_cmple_epi64_mask): Ditto.
1078 (_mm512_mask_cmple_epu64_mask): Ditto.
1079 (_mm512_cmple_epu64_mask): Ditto.
1080 (_mm512_mask_cmplt_epi32_mask): Ditto.
1081 (_mm512_cmplt_epi32_mask): Ditto.
1082 (_mm512_mask_cmplt_epu32_mask): Ditto.
1083 (_mm512_cmplt_epu32_mask): Ditto.
1084 (_mm512_mask_cmplt_epi64_mask): Ditto.
1085 (_mm512_cmplt_epi64_mask): Ditto.
1086 (_mm512_mask_cmplt_epu64_mask): Ditto.
1087 (_mm512_cmplt_epu64_mask): Ditto.
1088 (_mm512_mask_cmpneq_epi32_mask): Ditto.
1089 (_mm512_mask_cmpneq_epu32_mask): Ditto.
1090 (_mm512_cmpneq_epu32_mask): Ditto.
1091 (_mm512_mask_cmpneq_epi64_mask): Ditto.
1092 (_mm512_cmpneq_epi64_mask): Ditto.
1093 (_mm512_mask_cmpneq_epu64_mask): Ditto.
1094 (_mm512_cmpneq_epu64_mask): Ditto.
1095 (_mm512_castpd_ps): Ditto.
1096 (_mm512_castpd_si512): Ditto.
1097 (_mm512_castps_pd): Ditto.
1098 (_mm512_castps_si512): Ditto.
1099 (_mm512_castsi512_ps): Ditto.
1100 (_mm512_castsi512_pd): Ditto.
1101 (_mm512_castpd512_pd128): Ditto.
1102 (_mm512_castps512_ps128): Ditto.
1103 (_mm512_castsi512_si128): Ditto.
1104 (_mm512_castpd512_pd256): Ditto.
1105 (_mm512_castps512_ps256): Ditto.
1106 (_mm512_castsi512_si256): Ditto.
1107 (_mm512_castpd128_pd512): Ditto.
1108 (_mm512_castps128_ps512): Ditto.
1109 (_mm512_castsi128_si512): Ditto.
1110 (_mm512_castpd256_pd512): Ditto.
1111 (_mm512_castps256_ps512): Ditto.
1112 (_mm512_castsi256_si512): Ditto.
1113 (_mm512_cmpeq_epu32_mask): Ditto.
1114 (_mm512_mask_cmpeq_epu32_mask): Ditto.
1115 (_mm512_mask_cmpeq_epu64_mask): Ditto.
1116 (_mm512_cmpeq_epu64_mask): Ditto.
1117 (_mm512_cmpgt_epu32_mask): Ditto.
1118 (_mm512_mask_cmpgt_epu32_mask): Ditto.
1119 (_mm512_mask_cmpgt_epu64_mask): Ditto.
1120 (_mm512_cmpgt_epu64_mask): Ditto.
1121 * config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF,
1122 V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF.
1123 * config/i386/i386.c (enum ix86_builtins): Add
1124 IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256,
1125 IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI,
1126 IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS.
1127 (bdesc_args): Add __builtin_ia32_si512_256si,
1128 __builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd,
1129 __builtin_ia32_si512_si, __builtin_ia32_ps512_ps,
1130 __builtin_ia32_pd512_pd.
1131 (ix86_expand_args_builtin): Handle new FTYPEs.
1132 * config/i386/sse.md (castmode): Add 512-bit modes.
1133 (AVX512MODE2P): New.
1134 (avx512f_<castmode><avxsizesuffix>_<castmode): New.
1135 (avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto.
1136
09ad9c71
RB
11372014-08-15 Richard Biener <rguenther@suse.de>
1138
1139 * fold-const.c (tree_swap_operands_p): Put all constants
1140 last, also strip sign-changing NOPs when considering further
1141 canonicalization. Canonicalize also when optimizing for size.
1142
2c274197
KT
11432014-08-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1144
1145 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
1146 one_match > zero_match case to just before simple_sequence.
1147
4b5337e6
RB
11482014-08-15 Richard Biener <rguenther@suse.de>
1149
1150 * data-streamer.h (streamer_string_index, string_for_index):
1151 Remove.
1152 * data-streamer-out.c (streamer_string_index): Make static.
1153 * data-streamer-in.c (string_for_index): Likewise.
1154 * lto-streamer-out.c (lto_output_location): Use bp_pack_string.
1155 * lto-streamer-in.c (lto_input_location): Use bp_unpack_string.
1156
6e2028ff
RB
11572014-08-15 Richard Biener <rguenther@suse.de>
1158
1159 PR tree-optimization/62031
1160 * tree-data-ref.c (dr_analyze_indices): Do not set
1161 DR_UNCONSTRAINED_BASE.
1162 (dr_may_alias_p): All indirect accesses have to go the
1163 formerly DR_UNCONSTRAINED_BASE path.
1164 * tree-data-ref.h (struct indices): Remove
1165 unconstrained_base member.
1166 (DR_UNCONSTRAINED_BASE): Remove.
1167
7de20fbd
JJ
11682014-08-15 Jakub Jelinek <jakub@redhat.com>
1169
1170 PR middle-end/62092
1171 * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
1172 OMP_CLAUSE_SHARED for global vars if the global var is mentioned
1173 in OMP_CLAUSE_MAP in some outer target region.
1174
3230c614
BC
11752014-08-15 Bin Cheng <bin.cheng@arm.com>
1176
1177 * tree-ssa-loop-ivopts.c (ivopts_data): New field
1178 name_expansion_cache.
1179 (tree_ssa_iv_optimize_init): Initialize name_expansion_cache.
1180 (tree_ssa_iv_optimize_finalize): Free name_expansion_cache.
1181 (strip_wrap_conserving_type_conversions, expr_equal_p): Delete.
1182 (difference_cannot_overflow_p): New parameter. Use affine
1183 expansion for equality check.
1184 (iv_elimination_compare_lt): Pass new argument.
1185
54bfc99b
DD
11862014-08-14 DJ Delorie <dj@redhat.com>
1187
d50b463e
DD
1188 * config/rl78/rl78-real.md (addqi3_real): Allow adding global
1189 variables to the accumulator.
1190
7d73b2cb
DD
1191 * config/rl78/predicates.md (rl78_near_mem_operand): New.
1192 * config/rl78/rl78-virt.md (movqi_virt_mm, movqi_virt)
1193 (movhi_virt_mm): Split out near mem-mem moves to avoid problems
1194 with far-far moves.
1195
e33a3cf3
DD
1196 * config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
1197 * config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
1198 (umulqihi3_virt): Likewise.
1199 * config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
1200 (umulqihi3_real): Likewise.
1201
54bfc99b
DD
1202 * config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.
1203
80b6ba28
JH
12042014-08-14 Jan Hubicka <hubicka@ucw.cz>
1205
1206 PR tree-optimization/62091
1207 * tree-ssa-alias.c (walk_aliased_vdefs_1): Do not clear
1208 function_entry_reached.
1209 (walk_aliased_vdefs): Clear it here.
1210 * ipa-devirt.c (check_stmt_for_type_change): Handle static storage.
1211
56b1f114
JH
12122014-08-14 Jan Hubicka <hubicka@ucw.cz>
1213
1214 * ipa-utils.h (compare_virtual_tables): Declare.
1215 * ipa-devirt.c (odr_subtypes_equivalent_p): New function
1216
0ee9c843
MP
12172014-08-14 Marek Polacek <polacek@redhat.com>
1218
1219 DR 458
1220 * ginclude/stdatomic.h (__atomic_type_lock_free): Remove.
1221 (ATOMIC_*_LOCK_FREE): Map to __GCC_ATOMIC_*_LOCK_FREE.
1222
451d542e
TV
12232014-08-14 Tom de Vries <tom@codesourcery.com>
1224
1225 * emit-rtl.h (mem_attrs_eq_p): Remove duplicate declaration.
1226
df5d402a
TV
12272014-08-14 Tom de Vries <tom@codesourcery.com>
1228
1229 PR rtl-optimization/62004
1230 PR rtl-optimization/62030
1231 * ifcvt.c (rtx_interchangeable_p): New function.
1232 (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
df5d402a
TV
1233 * emit-rtl.h (mem_attrs_eq_p): Declare.
1234
821fce24
RG
12352014-08-14 Roman Gareev <gareevroman@gmail.com>
1236
1237 * graphite-scop-detection.c:
1238 Add inclusion of cp-tree.h.
1239 (graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
1240 in case they are pointers to object types
1241
2813008e
RB
12422014-08-14 Richard Biener <rguenther@suse.de>
1243
1244 * BASE-VER: Change to 5.0.0
1245
8b994297
AI
12462014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
1247 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1248 Anna Tikhonova <anna.tikhonova@intel.com>
1249 Ilya Tocar <ilya.tocar@intel.com>
1250 Andrey Turetskiy <andrey.turetskiy@intel.com>
1251 Ilya Verbin <ilya.verbin@intel.com>
1252 Kirill Yukhin <kirill.yukhin@intel.com>
1253 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1254
1255 * config/i386/sse.md (define_mode_attr avx512): New.
1256 (define_mode_attr sse2_avx_avx512f): Allow V8HI, V16HI, V32HI, V2DI,
1257 V4DI modes.
1258 (define_mode_attr sse2_avx2): Allow V64QI, V32HI, V4TI modes.
1259 (define_mode_attr ssse3_avx2): Ditto.
1260 (define_mode_attr sse4_1_avx2): Allow V64QI, V32HI, V8DI modes.
1261 (define_mode_attr avx2_avx512bw): New.
1262 (define_mode_attr ssedoublemodelower): New.
1263 (define_mode_attr ssedoublemode): Allow V8SF, V8SI, V4DI, V4DF, V4SI,
1264 V32HI, V64QI modes.
1265 (define_mode_attr ssebytemode): Allow V8DI modes.
1266 (define_mode_attr sseinsnmode): Allow V4TI, V32HI, V64QI modes.
1267 (define_mode_attr sseintvecmodelower): Allow V8DF, V4TI modes.
1268 (define_mode_attr ssePSmode2): New.
1269 (define_mode_attr ssescalarsize): Allow V64QI, V32QI, V16QI, V8HI,
1270 V16HI, V32HI modes.
1271 (define_mode_attr dbpsadbwmode): New.
1272 (define_mode_attr bcstscalarsuff): Allow V64QI, V32QI, V16QI, V32HI,
1273 V16HI, V8HI, V8SI, V4SI, V4DI, V2DI, V8SF, V4SF, V4DF, V2DF modes.
1274 (vi8_sse4_1_avx2_avx512): New.
1275 (define_insn <sse4_1_avx2>_movntdqa): Use <vi8_sse4_1_avx2_avx512>
1276 mode attribute.
1277 (define_mode_attr blendbits): Move before its immediate use.
1278
2534573e
AI
12792014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
1280 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1281 Anna Tikhonova <anna.tikhonova@intel.com>
1282 Ilya Tocar <ilya.tocar@intel.com>
1283 Andrey Turetskiy <andrey.turetskiy@intel.com>
1284 Ilya Verbin <ilya.verbin@intel.com>
1285 Kirill Yukhin <kirill.yukhin@intel.com>
1286 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1287
1288 * config/i386/sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
1289 * config/i386/subst.md
1290 (define_mode_iterator SUBST_V): Update.
1291 (define_mode_iterator SUBST_A): Ditto.
1292 (define_subst_attr "mask_operand7"): New.
1293 (define_subst_attr "mask_operand10"): New.
1294 (define_subst_attr "mask_operand_arg34") : New.
1295 (define_subst_attr "mask_expand_op3"): New.
1296 (define_subst_attr "mask_mode512bit_condition"): Handle TARGET_AVX512VL.
1297 (define_subst_attr "sd_mask_mode512bit_condition"): Ditto.
1298 (define_subst_attr "mask_avx512vl_condition"): New.
1299 (define_subst_attr "round_mask_operand4"): Ditto.
1300 (define_subst_attr "round_mask_scalar_op3"): Delete.
1301 (define_subst_attr "round_mask_op4"): New.
1302 (define_subst_attr "round_mode512bit_condition"): Allow V8DImode,
1303 V16SImode.
1304 (define_subst_attr "round_modev8sf_condition"): New.
1305 (define_subst_attr "round_modev4sf_condition"): GET_MODE instead of
1306 <MODE>mode.
1307 (define_subst_attr "round_saeonly_mask_operand4"): New.
1308 (define_subst_attr "round_saeonly_mask_op4"): New.
1309 (define_subst_attr "round_saeonly_mode512bit_condition"): Allow
1310 V8DImode, V16SImode.
1311 (define_subst_attr "round_saeonly_modev8sf_condition"): New.
1312 (define_subst_attr "mask_expand4_name" "mask_expand4"): New.
1313 (define_subst_attr "mask_expand4_args"): New.
1314 (define_subst "mask_expand4"): New.
1315
e2131cc7
AI
13162014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
1317 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1318 Anna Tikhonova <anna.tikhonova@intel.com>
1319 Ilya Tocar <ilya.tocar@intel.com>
1320 Andrey Turetskiy <andrey.turetskiy@intel.com>
1321 Ilya Verbin <ilya.verbin@intel.com>
1322 Kirill Yukhin <kirill.yukhin@intel.com>
1323 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1324
1325 * config/i386/i386.md
1326 (define_attr "isa"): Add avx512bw,noavx512bw.
1327 (define_attr "enabled"): Ditto.
1328 (define_split): Add 32/64-bit mask logic.
1329 (define_insn "*k<logic>qi"): New.
1330 (define_insn "*k<logic>hi"): New.
1331 (define_insn "*anddi_1"): Add mask version.
1332 (define_insn "*andsi_1"): Ditto.
1333 (define_insn "*<code><mode>_1"): Ditto.
1334 (define_insn "*<code>hi_1"): Ditto.
1335 (define_insn "kxnor<mode>"): New.
1336 (define_insn "kunpcksi"): New.
1337 (define_insn "kunpckdi"): New.
1338 (define_insn "*one_cmpl<mode>2_1"): Add mask version.
1339 (define_insn "*one_cmplhi2_1"): Ditto.
1340
1d944b8a
AI
13412014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
1342 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1343 Anna Tikhonova <anna.tikhonova@intel.com>
1344 Ilya Tocar <ilya.tocar@intel.com>
1345 Andrey Turetskiy <andrey.turetskiy@intel.com>
1346 Ilya Verbin <ilya.verbin@intel.com>
1347 Kirill Yukhin <kirill.yukhin@intel.com>
1348 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1349
1350 * config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
1351 V32HImode.
1352
9e4a4dd6
AI
13532014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
1354 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1355 Anna Tikhonova <anna.tikhonova@intel.com>
1356 Ilya Tocar <ilya.tocar@intel.com>
1357 Andrey Turetskiy <andrey.turetskiy@intel.com>
1358 Ilya Verbin <ilya.verbin@intel.com>
1359 Kirill Yukhin <kirill.yukhin@intel.com>
1360 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1361
1362 * config/i386/i386.c (print_reg): Сorrectly print 64-bit mask
1363 registers.
1364 (inline_secondary_memory_needed): Allow 64 bit wide mask registers.
1365 (ix86_hard_regno_mode_ok): Allow 32/64-bit mask registers and
1366 xmm/ymm16+ when availble.
1367 * config/i386/i386.h
1368 (HARD_REGNO_NREGS): Add mask regs.
1369 (VALID_AVX512F_REG_MODE): Ditto.
1370 (VALID_AVX512F_REG_MODE) : Define.
1371 (VALID_MASK_AVX512BW_MODE): Ditto.
1372 (reg_class) (MASK_REG_P(X)): Define.
1373 * config/i386/i386.md: Do not split long moves with mask register,
1374 use kmovb if avx512bw is availible.
1375 (movdi_internal): Handle mask registers.
1376
7d39012c
RB
13772014-08-14 Richard Biener <rguenther@suse.de>
1378
1379 PR tree-optimization/62081
1380 * tree-ssa-loop.c (pass_fix_loops): New pass.
1381 (pass_tree_loop::gate): Do not fixup loops here.
1382 * tree-pass.h (make_pass_fix_loops): Declare.
1383 * passes.def: Schedule pass_fix_loops before GIMPLE loop passes.
1384
0cff9154
RB
13852014-08-14 Richard Biener <rguenther@suse.de>
1386
1387 * tree.c (type_hash_lookup, type_hash_add): Merge into ...
1388 (type_hash_canon): ... this and avoid 2nd lookup for the add.
1389
35770bb2
RB
13902014-08-14 Richard Biener <rguenther@suse.de>
1391
1392 PR tree-optimization/62090
1393 * builtins.c (fold_builtin_sprintf): Move to gimple-fold.c.
1394 (fold_builtin_2): Do not fold sprintf.
1395 (fold_builtin_3): Likewise.
1396 * gimple-fold.c (gimple_fold_builtin_sprintf): New function
1397 moved from builtins.c.
1398 (gimple_fold_builtin): Fold sprintf.
1399
121bc7dc
RB
14002014-08-14 Richard Biener <rguenther@suse.de>
1401
1402 PR rtl-optimization/62079
1403 * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
1404 run cleanup_cfg.
1405
8e857bbf
IE
14062014-08-14 Ilya Enkovich <ilya.enkovich@intel.com>
1407
1408 * ipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of
1409 current_function_decl.
1410
1113596f
IE
14112014-08-14 Ilya Enkovich <ilya.enkovich@intel.com>
1412
1413 * cgraph.c (cgraph_node::function_symbol): Fix wrong
1414 cgraph_function_node to cgraph_node::function_symbol
1415 refactoring.
1416
4d2df0f4
ZC
14172014-08-14 Zhenqiang Chen <zhenqiang.chen@arm.com>
1418
1419 * config/arm/arm.c (arm_option_override): Set max_insns_skipped
1420 to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2.
1421
7bf72189
CG
14222014-08-13 Chen Gang gang.chen.5i5j@gmail.com
1423
1424 * microblaze/microblaze.md: Remove redundant '@' to avoid compiling
1425 warning.
1426
0bcb976e
RG
14272014-08-13 Roman Gareev <gareevroman@gmail.com>
1428
1429 * gcc.dg/graphite/pr35356-2.c: Update according to the ISL code
1430 generator.
1431
c7cf969c
JJ
14322014-08-12 Jakub Jelinek <jakub@redhat.com>
1433
1434 PR target/62025
1435 * sched-deps.c (find_inc): Check if inc_insn doesn't clobber
1436 any registers that are used in mem_insn.
1437
2e45addf
SE
14382014-08-12 Steve Ellcey <sellcey@mips.com>
1439
1440 * config/mips/mips.h (ASM_SPEC): Pass float options to assembler.
1441
909310bc
SE
14422014-08-12 Steve Ellcey <sellcey@mips.com>
1443
1444 * config/mips/t-mti-elf (MULTILIB_OPTIONS): Remove fp64 multilib.
1445 (MULTILIB_DIRNAMES): Ditto.
1446 * config/mips/t-mti-elf (MULTILIB_OPTIONS): Ditto.
1447 * config/mips/t-mti-elf (MULTILIB_EXCEPTIONS): Ditto.
1448 * config/mips/t-mti-linux (MULTILIB_OPTIONS): Ditto.
1449 * config/mips/t-mti-linux (MULTILIB_DIRNAMES): Ditto.
1450 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Ditto.
1451 * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Ditto.
1452
e19707f5
RR
14532014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1454
1455 PR target/61413
1456 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
1457 of __ARM_SIZEOF_WCHAR_T.
1458
d31e00d4
RR
14592014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1460
1461 PR target/62098
1462 * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
1463 Remove unnecessary attributes.
1464
63a4184f
YG
14652014-08-12 Yury Gribov <y.gribov@samsung.com>
1466
1467 * internal-fn.c (init_internal_fns): Fix off-by-one.
1468
537ddba3
AI
14692014-08-12 Alexander Ivchenko <alexander.ivchenko@intel.com>
1470 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1471 Anna Tikhonova <anna.tikhonova@intel.com>
1472 Ilya Tocar <ilya.tocar@intel.com>
1473 Andrey Turetskiy <andrey.turetskiy@intel.com>
1474 Ilya Verbin <ilya.verbin@intel.com>
1475 Kirill Yukhin <kirill.yukhin@intel.com>
1476 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1477
1478 * config/i386/i386.c (standard_sse_constant_opcode): Use
1479 vpxord/vpternlog if avx512 is availible.
1480
3d8208ce
TP
14812014-08-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
1482
1483 PR middle-end/62103
1484 * gimple-fold.c (fold_ctor_reference): Don't fold in presence of
1485 bitfields, that is when size doesn't match the size of type or the
1486 size of the constructor.
1487
59f5868d
MM
14882014-08-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1489
1490 * config/rs6000/constraints.md (wh constraint): New constraint,
1491 for FP registers if direct move is available.
1492 (wi constraint): New constraint, for VSX/FP registers that can
1493 handle 64-bit integers.
1494 (wj constraint): New constraint for VSX/FP registers that can
1495 handle 64-bit integers for direct moves.
1496 (wk constraint): New constraint for VSX/FP registers that can
1497 handle 64-bit doubles for direct moves.
1498 (wy constraint): Make documentation match implementation.
1499
1500 * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
1501 scalar_in_vmx_p field to simplify tests of whether SFmode or
1502 DFmode can go in the Altivec registers.
1503 (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
1504 (rs6000_setup_reg_addr_masks): Likewise.
1505 (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
1506 field, and wh/wi/wj/wk constraints.
1507 (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
1508 the wh/wi/wj/wk constraints.
1509 (rs6000_preferred_reload_class): If SFmode/DFmode can go in the
1510 upper registers, prefer VSX registers unless the operation is a
1511 memory operation with REG+OFFSET addressing.
1512
1513 * config/rs6000/vsx.md (VSr mode attribute): Add support for
1514 DImode. Change SFmode to use ww constraint instead of d to allow
1515 SF registers in the upper registers.
1516 (VSr2): Likewise.
1517 (VSr3): Likewise.
1518 (VSr5): Fix thinko in comment.
1519 (VSa): New mode attribute that is an alternative to wa, that
1520 returns the VSX register class that a mode can go in, but may not
1521 be the preferred register class.
1522 (VS_64dm): New mode attribute for appropriate register classes for
1523 referencing 64-bit elements of vectors for direct moves and normal
1524 moves.
1525 (VS_64reg): Likewise.
1526 (vsx_mov<mode>): Change wa constraint to <VSa> to limit the
1527 register allocator to only registers the data type can handle.
1528 (vsx_le_perm_load_<mode>): Likewise.
1529 (vsx_le_perm_store_<mode>): Likewise.
1530 (vsx_xxpermdi2_le_<mode>): Likewise.
1531 (vsx_xxpermdi4_le_<mode>): Likewise.
1532 (vsx_lxvd2x2_le_<mode>): Likewise.
1533 (vsx_lxvd2x4_le_<mode>): Likewise.
1534 (vsx_stxvd2x2_le_<mode>): Likewise.
1535 (vsx_add<mode>3): Likewise.
1536 (vsx_sub<mode>3): Likewise.
1537 (vsx_mul<mode>3): Likewise.
1538 (vsx_div<mode>3): Likewise.
1539 (vsx_tdiv<mode>3_internal): Likewise.
1540 (vsx_fre<mode>2): Likewise.
1541 (vsx_neg<mode>2): Likewise.
1542 (vsx_abs<mode>2): Likewise.
1543 (vsx_nabs<mode>2): Likewise.
1544 (vsx_smax<mode>3): Likewise.
1545 (vsx_smin<mode>3): Likewise.
1546 (vsx_sqrt<mode>2): Likewise.
1547 (vsx_rsqrte<mode>2): Likewise.
1548 (vsx_tsqrt<mode>2_internal): Likewise.
1549 (vsx_fms<mode>4): Likewise.
1550 (vsx_nfma<mode>4): Likewise.
1551 (vsx_eq<mode>): Likewise.
1552 (vsx_gt<mode>): Likewise.
1553 (vsx_ge<mode>): Likewise.
1554 (vsx_eq<mode>_p): Likewise.
1555 (vsx_gt<mode>_p): Likewise.
1556 (vsx_ge<mode>_p): Likewise.
1557 (vsx_xxsel<mode>): Likewise.
1558 (vsx_xxsel<mode>_uns): Likewise.
1559 (vsx_copysign<mode>3): Likewise.
1560 (vsx_float<VSi><mode>2): Likewise.
1561 (vsx_floatuns<VSi><mode>2): Likewise.
1562 (vsx_fix_trunc<mode><VSi>2): Likewise.
1563 (vsx_fixuns_trunc<mode><VSi>2): Likewise.
1564 (vsx_x<VSv>r<VSs>i): Likewise.
1565 (vsx_x<VSv>r<VSs>ic): Likewise.
1566 (vsx_btrunc<mode>2): Likewise.
1567 (vsx_b2trunc<mode>2): Likewise.
1568 (vsx_floor<mode>2): Likewise.
1569 (vsx_ceil<mode>2): Likewise.
1570 (vsx_<VS_spdp_insn>): Likewise.
1571 (vsx_xscvspdp): Likewise.
1572 (vsx_xvcvspuxds): Likewise.
1573 (vsx_float_fix_<mode>2): Likewise.
1574 (vsx_set_<mode>): Likewise.
1575 (vsx_extract_<mode>_internal1): Likewise.
1576 (vsx_extract_<mode>_internal2): Likewise.
1577 (vsx_extract_<mode>_load): Likewise.
1578 (vsx_extract_<mode>_store): Likewise.
1579 (vsx_splat_<mode>): Likewise.
1580 (vsx_xxspltw_<mode>): Likewise.
1581 (vsx_xxspltw_<mode>_direct): Likewise.
1582 (vsx_xxmrghw_<mode>): Likewise.
1583 (vsx_xxmrglw_<mode>): Likewise.
1584 (vsx_xxsldwi_<mode>): Likewise.
1585 (vsx_xscvdpspn): Tighten constraints to only use register classes
1586 the types use.
1587 (vsx_xscvspdpn): Likewise.
1588 (vsx_xscvdpspn_scalar): Likewise.
1589
1590 * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
1591 wj, and wk constraints.
1592 (GPR_REG_CLASS_P): New helper macro for register classes targeting
1593 general purpose registers.
1594
1595 * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
1596 direct moves.
1597 (zero_extendsidi2_lfiwz): Use wj constraint for direct move of
1598 DImode instead of wm. Use wk constraint for direct move of DFmode
1599 instead of wm.
1600 (extendsidi2_lfiwax): Likewise.
1601 (lfiwax): Likewise.
1602 (lfiwzx): Likewise.
1603 (movdi_internal64): Likewise.
1604
1605 * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
1606 wk constraints. Make the wy constraint documentation match them
1607 implementation.
1608
b47595f7
MN
16092014-08-11 Mircea Namolaru <mircea.namolaru@inria.fr>
1610
1611 Replacement of isl_int by isl_val
1612 * graphite-clast-to-gimple.c: include isl/val.h, isl/val_gmp.h
1613 (compute_bounds_for_param): use isl_val instead of isl_int
1614 (compute_bounds_for_loop): likewise
1615 * graphite-interchange.c: include isl/val.h, isl/val_gmp.h
1616 (build_linearized_memory_access): use isl_val instead of isl_int
1617 (pdr_stride_in_loop): likewise
1618 * graphite-optimize-isl.c:
1619 (getPrevectorMap): use isl_val instead of isl_int
1620 * graphite-poly.c:
1621 (pbb_number_of_iterations_at_time): use isl_val instead of isl_int
1622 graphite-sese-to-poly.c: include isl/val.h, isl/val_gmp.h
1623 (extern the_isl_ctx): declare
1624 (build_pbb_scattering_polyhedrons): use isl_val instead of isl_int
1625 (extract_affine_gmp): likewise
1626 (wrap): likewise
1627 (build_loop_iteration_domains): likewise
1628 (add_param_constraints): likewise
1629
7cadcdc1
RB
16302014-08-11 Richard Biener <rguenther@suse.de>
1631
1632 PR tree-optimization/62075
1633 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
1634 handle uses in patterns.
1635
f4af595f
AI
16362014-08-11 Alexander Ivchenko <alexander.ivchenko@intel.com>
1637 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1638 Anna Tikhonova <anna.tikhonova@intel.com>
1639 Ilya Tocar <ilya.tocar@intel.com>
1640 Andrey Turetskiy <andrey.turetskiy@intel.com>
1641 Ilya Verbin <ilya.verbin@intel.com>
1642 Kirill Yukhin <kirill.yukhin@intel.com>
1643 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1644
1645 * common/config/i386/i386-common.c
1646 (OPTION_MASK_ISA_AVX512VL_SET): Define.
1647 (OPTION_MASK_ISA_AVX512F_UNSET): Update.
1648 (ix86_handle_option): Handle OPT_mavx512vl.
1649 * config/i386/cpuid.h (bit_AVX512VL): Define.
1650 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vl,
1651 set -mavx512vl accordingly.
1652 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
1653 OPTION_MASK_ISA_AVX512VL.
1654 * config/i386/i386.c (ix86_target_string): Handle -mavx512vl.
1655 (ix86_option_override_internal): Define PTA_AVX512VL, handle
1656 PTA_AVX512VL and OPTION_MASK_ISA_AVX512VL.
1657 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512vl.
1658 * config/i386/i386.h (TARGET_AVX512VL): Define.
1659 (TARGET_AVX512VL_P(x)): Ditto.
1660 * config/i386/i386.opt: Add mavx512vl.
1661
d4759fc6
FY
16622014-08-11 Felix Yang <fei.yang0953@gmail.com>
1663
1664 PR tree-optimization/62073
1665 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
1666 a basic block.
59f5868d 1667
b525d943
AI
16682014-08-11 Alexander Ivchenko <alexander.ivchenko@intel.com>
1669 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1670 Anna Tikhonova <anna.tikhonova@intel.com>
1671 Ilya Tocar <ilya.tocar@intel.com>
1672 Andrey Turetskiy <andrey.turetskiy@intel.com>
1673 Ilya Verbin <ilya.verbin@intel.com>
1674 Kirill Yukhin <kirill.yukhin@intel.com>
1675 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1676
1677 * common/config/i386/i386-common.c
1678 (OPTION_MASK_ISA_AVX512BW_SET) : Define.
1679 (OPTION_MASK_ISA_AVX512BW_UNSET): Ditto.
1680 (OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto.
1681 (ix86_handle_option): Handle OPT_mavx512bw.
1682 * config/i386/cpuid.h (bit_AVX512BW): Define.
1683 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw,
1684 set -mavx512bw accordingly.
1685 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
1686 OPTION_MASK_ISA_AVX512BW.
1687 * config/i386/i386.c (ix86_target_string): Handle -mavx512bw.
1688 (ix86_option_override_internal): Define PTA_AVX512BW, handle
1689 PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW.
1690 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw.
1691 * config/i386/i386.h (TARGET_AVX512BW): Define.
1692 (TARGET_AVX512BW_P(x)): Ditto.
1693 * config/i386/i386.opt: Add mavx512bw.
1694
5f732aeb
RB
16952014-08-11 Richard Biener <rguenther@suse.de>
1696
1697 PR tree-optimization/62070
1698 * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
1699 Remove SSA checking.
1700
c62ccb9a
YG
17012014-08-11 Yury Gribov <y.gribov@samsung.com>
1702
1703 * asan.c (asan_check_flags): New enum.
1704 (build_check_stmt_with_calls): Removed function.
1705 (build_check_stmt): Split inlining logic to
1706 asan_expand_check_ifn.
1707 (instrument_derefs): Rename parameter.
1708 (instrument_mem_region_access): Rename parameter.
1709 (instrument_strlen_call): Likewise.
1710 (asan_expand_check_ifn): New function.
1711 (asan_instrument): Remove old code.
1712 (pass_sanopt::execute): Change handling of
1713 asan-instrumentation-with-call-threshold.
1714 (asan_clear_shadow): Fix formatting.
1715 (asan_function_start): Likewise.
1716 (asan_emit_stack_protection): Likewise.
1717 * doc/invoke.texi (asan-instrumentation-with-call-threshold):
1718 Update description.
1719 * internal-fn.c (expand_ASAN_CHECK): New function.
1720 * internal-fn.def (ASAN_CHECK): New internal function.
1721 * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
1722 Update description.
1723 (PARAM_ASAN_USE_AFTER_RETURN): Likewise.
1724 * tree.c: Small comment fix.
1725
b78475cf
YG
17262014-08-11 Yury Gribov <y.gribov@samsung.com>
1727
1728 * gimple.c (gimple_call_fnspec): Support internal functions.
1729 (gimple_call_return_flags): Use const.
1730 * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
1731 * internal-fn.def: Add fnspec information.
1732 * internal-fn.h (internal_fn_fnspec): New function.
1733 (init_internal_fns): Declare new function.
1734 * internal-fn.c (internal_fn_fnspec_array): New global variable.
1735 (init_internal_fns): New function.
1736 * tree-core.h: Update macro call.
1737 * tree.c (build_common_builtin_nodes): Initialize internal fns.
1738
f473c082
GP
17392014-08-10 Gerald Pfeifer <gerald@pfeifer.com>
1740
1741 * lto-streamer.h (struct output_block::symbol): Change from
1742 struct symtab_node to plain symtab_node.
1743 (referenced_from_this_partition_p): Change first parameter
1744 from struct symtab_node to plain symtab_node.
1745
f3bede71
MP
17462014-08-10 Marek Polacek <polacek@redhat.com>
1747
1748 PR c/51849
1749 * gcc/doc/invoke.texi: Document -Wc90-c99-compat.
1750
726540aa
JH
17512014-08-09 Jan Hubicka <hubicka@ucw.cz>
1752
1753 * ipa-devirt.c (get_dynamic_type): Handle case when instance is in
1754 DECL correctly; do not give up on types in static storage.
1755
6a6bdc3d
PC
17562014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
1757
1758 * doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11.
1759
b5bdf598
RG
17602014-08-09 Roman Gareev <gareevroman@gmail.com>
1761
1762 * graphite-isl-ast-to-gimple.c:
1763 (translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.
1764
1765 * gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.
1766
b435752c
GW
17672014-08-08 Guozhi Wei <carrot@google.com>
1768
1769 * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
1770
4dd7c3b2
CC
17712014-08-08 Cary Coutant <ccoutant@google.com>
1772
1773 * dwarf2out.c (get_skeleton_type_unit): Remove.
1774 (output_skeleton_debug_sections): Remove skeleton type units.
1775 (output_comdat_type_unit): Likewise.
1776 (dwarf2out_finish): Likewise.
1777
7ca26091
YY
17782014-08-07 Yi Yang <ahyangyi@google.com>
1779
1780 * predict.c (expr_expected_value_1): Remove the redundant assignment.
1781
207c68cd
RB
17822014-08-08 Richard Biener <rguenther@suse.de>
1783
1784 * lto-streamer.h (struct lto_input_block): Make it a class
1785 with a constructor.
1786 (LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove.
1787 (struct lto_function_header, struct lto_simple_header,
1788 struct lto_simple_header_with_strings,
1789 struct lto_decl_header, struct lto_function_header): Make
1790 a simple inheritance hieararchy. Remove unused fields.
1791 (struct lto_asm_header): Remove.
1792 * lto-streamer-out.c (produce_asm): Adjust.
1793 (lto_output_toplevel_asms): Likewise.
1794 (produce_asm_for_decls): Likewise.
1795 * lto-section-out.c (lto_destroy_simple_output_block): Likewise.
1796 * data-streamer-in.c (string_for_index): Likewise.
1797 * ipa-inline-analysis.c (inline_read_section): Likewise.
1798 * ipa-prop.c (ipa_prop_read_section): Likewise.
1799 (read_replacements_section): Likewise.
1800 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
1801 * lto-section-in.c (lto_create_simple_input_block): Likewise.
1802 (lto_destroy_simple_input_block): Likewise.
1803 * lto-streamer-in.c (lto_read_body_or_constructor): Likewise.
1804 (lto_input_toplevel_asms): Likewise.
1805
07165dd7
AI
18062014-08-08 Alexander Ivchenko <alexander.ivchenko@intel.com>
1807 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
1808 Anna Tikhonova <anna.tikhonova@intel.com>
1809 Ilya Tocar <ilya.tocar@intel.com>
1810 Andrey Turetskiy <andrey.turetskiy@intel.com>
1811 Ilya Verbin <ilya.verbin@intel.com>
1812 Kirill Yukhin <kirill.yukhin@intel.com>
1813 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
1814
1815 * common/config/i386/i386-common.c
1816 (OPTION_MASK_ISA_AVX512DQ_SET): Define.
1817 (OPTION_MASK_ISA_AVX512DQ_UNSET): Ditto.
1818 (ix86_handle_option): Handle OPT_mavx512dq.
1819 * config/i386/cpuid.h (bit_AVX512DQ): Define.
1820 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512dq,
1821 set -mavx512dq accordingly.
1822 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
1823 OPTION_MASK_ISA_AVX512DQ.
1824 * config/i386/i386.c (ix86_target_string): Handle -mavx512dq.
1825 (ix86_option_override_internal): Define PTA_AVX512DQ, handle
1826 PTA_AVX512DQ and OPTION_MASK_ISA_AVX512DQ.
1827 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512dq.
1828 * config/i386/i386.h (TARGET_AVX512DQ): Define.
1829 (TARGET_AVX512DQ_P(x)): Ditto.
1830 * config/i386/i386.opt: Add mavx512dq.
1831
fef5a0d9
RB
18322014-08-08 Richard Biener <rguenther@suse.de>
1833
1834 * builtins.c (c_getstr, readonly_data_expr, init_target_chars,
1835 target_percent, target_percent_s): Export.
1836 (var_decl_component_p, fold_builtin_memory_op, fold_builtin_memset,
1837 fold_builtin_bzero, fold_builtin_strcpy, fold_builtin_strncpy,
1838 fold_builtin_strcat, fold_builtin_fputs, fold_builtin_memory_chk,
1839 fold_builtin_stxcpy_chk, fold_builtin_stxncpy_chk,
1840 fold_builtin_sprintf_chk_1, fold_builtin_snprintf_chk_1):
1841 Move to gimple-fold.c.
1842 (fold_builtin_2): Remove handling of bzero, fputs, fputs_unlocked,
1843 strcat and strcpy.
1844 (fold_builtin_3): Remove handling of memset, bcopy, memcpy,
1845 mempcpy, memmove, strncpy, strcpy_chk and stpcpy_chk.
1846 (fold_builtin_4): Remove handling of memcpy_chk, mempcpy_chk,
1847 memmove_chk, memset_chk, strncpy_chk and stpncpy_chk.
1848 (rewrite_call_expr_array): Remove.
1849 (fold_builtin_sprintf_chk): Likewise.
1850 (fold_builtin_snprintf_chk): Likewise.
1851 (fold_builtin_varargs): Remove handling of sprintf_chk,
1852 vsprintf_chk, snprintf_chk and vsnprintf_chk.
1853 (gimple_fold_builtin_sprintf_chk): Remove.
1854 (gimple_fold_builtin_snprintf_chk): Likewise.
1855 (gimple_fold_builtin_varargs): Likewise.
1856 (fold_call_stmt): Do not call gimple_fold_builtin_varargs.
1857 * predict.c (optimize_bb_for_size_p): Handle NULL bb.
1858 * gimple.c (gimple_seq_add_seq_without_update): New function.
1859 * gimple.h (gimple_seq_add_seq_without_update): Declare.
1860 * gimple-fold.c: Include output.h.
1861 (gsi_replace_with_seq_vops): New function, split out from ...
1862 (gimplify_and_update_call_from_tree): ... here.
1863 (replace_call_with_value): New function.
1864 (replace_call_with_call_and_fold): Likewise.
1865 (var_decl_component_p): Moved from builtins.c.
1866 (gimple_fold_builtin_memory_op): Moved from builtins.c
1867 fold_builtin_memory_op and rewritten to GIMPLE.
1868 (gimple_fold_builtin_memset): Likewise.
1869 (gimple_fold_builtin_strcpy): Likewise.
1870 (gimple_fold_builtin_strncpy): Likewise.
1871 (gimple_fold_builtin_strcat): Likewise.
1872 (gimple_fold_builtin_fputs): Likewise.
1873 (gimple_fold_builtin_memory_chk): Likewise.
1874 (gimple_fold_builtin_stxcpy_chk): Likewise.
1875 (gimple_fold_builtin_stxncpy_chk): Likewise.
1876 (gimple_fold_builtin_snprintf_chk): Likewise.
1877 (gimple_fold_builtin_sprintf_chk): Likewise.
1878 (gimple_fold_builtin_strlen): New function.
1879 (gimple_fold_builtin_with_strlen): New function split out from
1880 gimple_fold_builtin.
1881 (gimple_fold_builtin): Change signature and handle
1882 bzero, memset, bcopy, memcpy, mempcpy and memmove folding
1883 here. Call gimple_fold_builtin_with_strlen.
1884 (gimple_fold_call): Adjust.
1885
8c9a36b7
KV
18862014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
1887
1888 * calls.c (precompute_arguments): Check
1889 promoted_for_signed_and_unsigned_p and set the promoted mode.
1890 (promoted_for_signed_and_unsigned_p): New function.
1891 (expand_expr_real_1): Check promoted_for_signed_and_unsigned_p
1892 and set the promoted mode.
1893 * expr.h (promoted_for_signed_and_unsigned_p): New function definition.
1894 * cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if
1895 SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED.
1896
1897
362d42dc
KV
18982014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
1899
1900 * calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET
1901 instead of SUBREG_PROMOTED_UNSIGNED_SET.
1902 (expand_call): Likewise.
1903 * cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN
1904 to get promoted mode.
1905 * combine.c (record_promoted_value): Skip > 0 comparison with
1906 SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1.
1907 * expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead
1908 of SUBREG_PROMOTED_UNSIGNED_P.
1909 (convert_modes): Likewise.
1910 (store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode.
1911 Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P.
1912 (expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of
1913 SUBREG_PROMOTED_UNSIGNED_SET.
1914 * function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET
1915 instead of SUBREG_PROMOTED_UNSIGNED_SET.
1916 * ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and
1917 SUBREG_PROMOTED_SET.
1918 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Use
1919 SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
1920 * optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead
1921 of SUBREG_PROMOTED_UNSIGNED_P.
1922 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove.
1923 (SUBREG_PROMOTED_SET): New define.
1924 (SUBREG_PROMOTED_GET): Likewise.
1925 (SUBREG_PROMOTED_SIGN): Likewise.
1926 (SUBREG_PROMOTED_SIGNED_P): Likewise.
1927 (SUBREG_CHECK_PROMOTED_SIGN): Likewise.
1928 (SUBREG_PROMOTED_UNSIGNED_P): Updated.
1929 * rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET
1930 instead of SUBREG_PROMOTED_UNSIGNED_GET.
1931 (nonzero_bits1): Skip > 0 comparison with the results as
1932 SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1.
1933 (num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead
1934 of !SUBREG_PROMOTED_UNSIGNED_P.
1935 * simplify-rtx.c (simplify_unary_operation_1): Use new
1936 SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P.
1937 (simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P,
1938 SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of
1939 SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET.
1940
7d0aa05b
JH
19412014-08-07 Jan Hubicka <hubicka@ucw.cz>
1942
1943 * ipa-devirt.c: Include gimple-pretty-print.h
1944 (referenced_from_vtable_p): Exclude DECL_EXTERNAL from
1945 further tests.
1946 (decl_maybe_in_construction_p): Fix conditional on cdtor check
1947 (get_polymorphic_call_info): Fix return value
1948 (type_change_info): New sturcture based on ipa-prop
1949 variant.
1950 (noncall_stmt_may_be_vtbl_ptr_store): New predicate
1951 based on ipa-prop variant.
1952 (extr_type_from_vtbl_ptr_store): New function
1953 based on ipa-prop variant.
1954 (record_known_type): New function.
1955 (check_stmt_for_type_change): New function.
1956 (get_dynamic_type): New function.
1957 * ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
1958 * tree-ssa-pre.c: ipa-utils.h
1959 (eliminate_dom_walker::before_dom_children): Use ipa-devirt
1960 machinery; sanity check with ipa-prop devirtualization.
1961 * trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
1962 polymorphic flag.
1963
9f25a338
TS
19642014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1965
1966 * Makefile.in: Remove references to pointer-set.c and pointer-set.h.
1967 * alias.c, cfgexpand.c, cgraphbuild.c,
1968 config/aarch64/aarch64-builtins.c, config/aarch64/aarch64.c,
1969 config/alpha/alpha.c, config/darwin.c, config/i386/i386.c,
1970 config/i386/winnt.c, config/ia64/ia64.c, config/m32c/m32c.c,
1971 config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c,
1972 config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c,
1973 config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c,
1974 config/tilepro/tilepro.c, config/xtensa/xtensa.c, dominance.c,
1975 dse.c, except.c, gengtype.c, gimple-expr.c,
1976 gimple-ssa-strength-reduction.c, gimplify.c, ifcvt.c,
1977 ipa-visibility.c, lto-streamer.h, omp-low.c, predict.c, stmt.c,
1978 tree-affine.c, tree-cfg.c, tree-eh.c, tree-inline.c, tree-nested.c,
1979 tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c,
1980 tree-ssa-phiopt.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
1981 tree-ssa.c, tree.c, var-tracking.c, varpool.c: Remove includes of
1982 pointer-set.h.
1983 * pointer-set.c: Remove file.
1984 * pointer-set.h: Remove file.
1985
16918afd
KT
19862014-08-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1987
1988 * config/arm/arm.md (*cmov<mode>): Set type attribute to fcsel.
1989 * config/arm/types.md (f_sels, f_seld): Delete.
1990
a636bb40
KT
19912014-08-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1992
1993 * config/aarch64/aarch64.md (absdi2): Set simd attribute.
1994 (aarch64_reload_mov<mode>): Predicate on TARGET_FLOAT.
1995 (aarch64_movdi_<mode>high): Likewise.
1996 (aarch64_mov<mode>high_di): Likewise.
1997 (aarch64_movdi_<mode>low): Likewise.
1998 (aarch64_mov<mode>low_di): Likewise.
1999 (aarch64_movtilow_tilow): Likewise.
2000 Add comment explaining usage of fp,simd attributes and of
2001 TARGET_FLOAT and TARGET_SIMD.
2002
c747993a
IB
20032014-08-07 Ian Bolton <ian.bolton@arm.com>
2004 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2005
2006 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate):
2007 Use MOVN when one of the half-words is 0xffff.
2008
4da2eb98
MZ
20092014-08-07 Marat Zakirov <m.zakirov@samsung.com>
2010
2011 * config/arm/thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.
2012
4bd12f3d
MK
20132014-08-07 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2014
2015 * haifa-sched.c (SCHED_SORT): Delete. Macro used exactly once.
2016 (enum rfs_decition:RFS_*): New constants wrapped in an enum.
2017 (rfs_str): String corresponding to RFS_* constants.
2018 (rank_for_schedule_stats_t): New typedef.
2019 (rank_for_schedule_stats): New static variable.
2020 (rfs_result): New static function.
2021 (rank_for_schedule): Track statistics for deciding heuristics.
2022 (rank_for_schedule_stats_diff, print_rank_for_schedule_stats): New
2023 static functions.
2024 (ready_sort): Use them for debug printouts.
2025 (schedule_block): Init statistics state. Print statistics on
2026 rank_for_schedule decisions.
2027
88366b18
MK
20282014-08-07 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2029
2030 * haifa-sched.c (rank_for_schedule): Fix INSN_TICK-based heuristics.
2031
9d04ba29
IT
20322014-08-07 Ilya Tocar <ilya.tocar@intel.com>
2033
2034 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
2035 constraint.
2036
39c8aaa4
TS
20372014-08-07 Trevor Saunders <tsaunders@mozilla.com>
2038
2039 * hash-map.h (default_hashmap_traits): Adjust overloads of hash
2040 function to not conflict.
2041 * alias.c, cfgexpand.c, dse.c, except.h, gimple-expr.c,
2042 gimple-ssa-strength-reduction.c, gimple-ssa.h, ifcvt.c,
2043 lto-streamer-out.c, lto-streamer.h, tree-affine.c, tree-affine.h,
2044 tree-predcom.c, tree-scalar-evolution.c, tree-ssa-loop-im.c,
2045 tree-ssa-loop-niter.c, tree-ssa.c, value-prof.c: Use hash_map instead
2046 of pointer_map.
2047
044331a8
MP
20482014-08-07 Marek Polacek <polacek@redhat.com>
2049
6a6bdc3d 2050 * fold-const.c (fold_binary_loc): Add folding of
044331a8
MP
2051 (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A.
2052
ce597aed
IE
20532013-08-07 Ilya Enkovich <ilya.enkovich@intel.com>
2054
2055 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size
2056 instead of type size.
2057 (ASM_FINISH_DECLARE_OBJECT): Likewise.
2058
0a2938ae
MZ
20592014-08-07 Marat Zakirov <m.zakirov@samsung.com>
2060
2061 * config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer.
2062 (*thumb1_movqi_insn): Likewise.
2063 * config/arm/thumb2.md (*thumb2_movhi_insn): Likewise.
2064
87db77bb
TV
20652014-08-07 Tom de Vries <tom@codesourcery.com>
2066
2067 * doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
2068 (glibc_2_11_or_earlier): Remove effective-target keywords.
2069
8a17543b
KV
20702014-08-07 Kugan Vivekanandarajah <kuganv@linaro.org>
2071
2072 * config/arm/arm.c (bdesc_2arg): Fix typo.
2073 (arm_atomic_assign_expand_fenv): Remove The default implementation.
2074
b88fe5e9
ZC
20752014-08-07 Zhenqiang Chen <zhenqiang.chen@arm.com>
2076
2077 * tree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.
2078
f50d71ec
VM
20792014-08-06 Vladimir Makarov <vmakarov@redhat.com>
2080
2081 PR debug/61923
2082 * haifa-sched.c (advance_one_cycle): Fix dump.
2083 (schedule_block): Don't advance cycle if we are already at the
2084 beginning of the cycle.
2085
9d6171dc
MJ
20862014-08-06 Martin Jambor <mjambor@suse.cz>
2087
2088 PR ipa/61393
2089 * cgraphclones.c (cgraph_node::create_clone): Also copy tm_clone.
2090
b12c44e9
RB
20912014-08-06 Richard Biener <rguenther@suse.de>
2092
2093 PR lto/62034
2094 * lto-streamer-in.c (lto_input_tree_1): Assert we do not read
2095 SCCs here.
2096 (lto_input_tree): Pop SCCs here.
2097
abf30454
RB
20982014-08-06 Richard Biener <rguenther@suse.de>
2099
2100 PR tree-optimization/61320
2101 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
2102 handle misaligned loads.
2103
f901401e
AL
21042014-08-06 Alan Lawrence <alan.lawrence@arm.com>
2105
2106 * config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
2107 (aarch64_expand_vec_perm_const): Check for dup before zip.
2108
4aa81c2e
KT
21092014-08-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2110
2111 * config/aarch64/aarch64.c (aarch64_classify_address): Use REG_P and
2112 CONST_INT_P instead of GET_CODE and compare.
2113 (aarch64_select_cc_mode): Likewise.
2114 (aarch64_print_operand): Likewise.
2115 (aarch64_rtx_costs): Likewise.
2116 (aarch64_simd_valid_immediate): Likewise.
2117 (aarch64_simd_check_vect_par_cnst_half): Likewise.
2118 (aarch64_simd_emit_pair_result_insn): Likewise.
2119
17ef89b2
DM
21202014-08-05 David Malcolm <dmalcolm@redhat.com>
2121
2122 * gdbhooks.py (find_gcc_source_dir): New helper function.
2123 (class PassNames): New class, locating and parsing passes.def.
2124 (class BreakOnPass): New command "break-on-pass".
2125
6ef6945c
TS
21262014-08-05 Trevor Saunders <tsaunders@mozilla.com>
2127
2128 * tree-ssa.c (redirect_edge_var_map_dup): insert newe before
2129 getting olde.
2130
96b3c03f
RB
21312014-08-05 Richard Biener <rguenther@suse.de>
2132
2133 PR rtl-optimization/61672
2134 * emit-rtl.h (mem_attrs_eq_p): Declare.
2135 * emit-rtl.c (mem_attrs_eq_p): Export. Handle NULL mem-attrs.
2136 * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
2137 * cfgcleanup.c (merge_memattrs): Likewise.
2138 Include emit-rtl.h.
2139
b8a5fbd2
KT
21402014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2141
2142 * config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
2143 rather than singleton vectors.
2144 (vqdmlsls_lane_s32): Likewise.
2145
d2937a2e
KT
21462014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2147
2148 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
2149 Use VSDQ_HSI mode iterator.
2150 (aarch64_sqrdmulh_laneq<mode>): Likewise.
2151 (aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn.
2152 * config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq):
2153 Use BUILTIN_VDQHS macro.
2154 (sqrdmulh_laneq): Likewise.
2155 * config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic.
2156 (vqdmlals_laneq_s32): Likewise.
2157 (vqdmlslh_laneq_s16): Likewise.
2158 (vqdmlsls_laneq_s32): Likewise.
2159 (vqdmulhh_laneq_s16): Likewise.
2160 (vqdmulhs_laneq_s32): Likewise.
2161 (vqrdmulhh_laneq_s16): Likewise.
2162 (vqrdmulhs_laneq_s32): Likewise.
2163
ada5287e
KT
21642014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2165
2166 * config/aarch64/arm_neon.h (vmul_f64): New intrinsic.
2167 (vmuld_laneq_f64): Likewise.
2168 (vmuls_laneq_f32): Likewise.
2169 (vmul_n_f64): Likewise.
2170 (vmuld_lane_f64): Reimplement in C.
2171 (vmuls_lane_f32): Likewise.
2172
ad784b91
KT
21732014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2174
2175 * config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type
2176 to reservation.
2177 * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
2178
66224c7d
KT
21792014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2180
2181 * config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
2182 (rbitsi2): Likewise.
2183 (*arm_rev): Set predicable and predicable_short_it attributes.
2184
371e764d
KT
21852014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2186
2187 * convert.c (convert_to_integer): Guard transformation to lrint by
2188 -fno-math-errno.
2189
bc5e395d
JG
21902014-08-05 James Greenhalgh <james.greenhalgh@arm.com>
2191
2192 * config/aarch64/aarch64-builtins.c
2193 (aarch64_simd_builtin_type_mode): Delete.
2194 (v8qi_UP): Remap to V8QImode.
2195 (v4hi_UP): Remap to V4HImode.
2196 (v2si_UP): Remap to V2SImode.
2197 (v2sf_UP): Remap to V2SFmode.
2198 (v1df_UP): Remap to V1DFmode.
2199 (di_UP): Remap to DImode.
2200 (df_UP): Remap to DFmode.
2201 (v16qi_UP):V16QImode.
2202 (v8hi_UP): Remap to V8HImode.
2203 (v4si_UP): Remap to V4SImode.
2204 (v4sf_UP): Remap to V4SFmode.
2205 (v2di_UP): Remap to V2DImode.
2206 (v2df_UP): Remap to V2DFmode.
2207 (ti_UP): Remap to TImode.
2208 (ei_UP): Remap to EImode.
2209 (oi_UP): Remap to OImode.
2210 (ci_UP): Map to CImode.
2211 (xi_UP): Remap to XImode.
2212 (si_UP): Remap to SImode.
2213 (sf_UP): Remap to SFmode.
2214 (hi_UP): Remap to HImode.
2215 (qi_UP): Remap to QImode.
2216 (aarch64_simd_builtin_datum): Make mode a machine_mode.
2217 (VAR1): Build builtin name.
2218 (aarch64_init_simd_builtins): Remove dead code.
2219
6a12a004
RG
22202014-08-05 Roman Gareev <gareevroman@gmail.com>
2221
2222 * graphite-isl-ast-to-gimple.c:
2223 (set_options): New function.
2224 (scop_to_isl_ast): Add calling of set_options.
2225
8cab83f0
JJ
22262014-08-05 Jakub Jelinek <jakub@redhat.com>
2227
2228 * loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
2229 (analyze_iv_to_split_insn): Don't initialize them.
2230 (get_ivts_expr): Removed.
2231 (allocate_basic_variable, insert_base_initialization): Use
2232 SET_SRC instead of *get_ivts_expr.
2233 (split_iv): Use &SET_SRC instead of get_ivts_expr.
2234
574921c2
RG
22352014-08-05 Roman Gareev <gareevroman@gmail.com>
2236
2237 * graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
6a6bdc3d 2238 (translate_isl_ast_for_loop): Add checking of the
574921c2
RG
2239 flag_loop_parallelize_all.
2240 (ast_build_before_for): New function.
6a6bdc3d 2241 (scop_to_isl_ast): Add checking of the
574921c2
RG
2242 flag_loop_parallelize_all.
2243 * graphite-dependences.c: Move the defenition of the
2244 scop_get_dependences from graphite-optimize-isl.c to this file.
2245 (apply_schedule_on_deps): Add checking of the ux's emptiness.
2246 (carries_deps): Add checking of the x's value.
2247 * graphite-optimize-isl.c: Move the defenition of the
2248 scop_get_dependences to graphite-dependences.c.
2249 * graphite-poly.h: Add declarations of scop_get_dependences
2250 and carries_deps.
2251
23742a9e
RAR
22522014-08-04 Rohit <rohitarulraj@freescale.com>
2253
2254 PR target/60102
8cab83f0
JJ
2255 * config/rs6000/rs6000.c (rs6000_reg_names): Add SPE high register
2256 names.
2257 (alt_reg_names): Likewise.
2258 (rs6000_dwarf_register_span): For SPE high registers, replace
2259 dwarf register numbers with GCC hard register numbers.
2260 (rs6000_init_dwarf_reg_sizes_extra): Likewise.
2261 (rs6000_dbx_register_number): For SPE high registers, return dwarf
2262 register number for the corresponding GCC hard register number.
2263 * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Update based on 32
2264 newly added GCC hard register numbers for SPE high registers.
2265 (DWARF_FRAME_REGISTERS): Likewise.
2266 (DWARF_REG_TO_UNWIND_COLUMN): Likewise.
2267 (DWARF_FRAME_REGNUM): Likewise.
2268 (FIXED_REGISTERS): Likewise.
2269 (CALL_USED_REGISTERS): Likewise.
2270 (CALL_REALLY_USED_REGISTERS): Likewise.
2271 (REG_ALLOC_ORDER): Likewise.
2272 (enum reg_class): Likewise.
2273 (REG_CLASS_NAMES): Likewise.
2274 (REG_CLASS_CONTENTS): Likewise.
2275 (SPE_HIGH_REGNO_P): New macro to identify SPE high registers.
23742a9e 2276
3daa26d0
RB
22772014-08-04 Richard Biener <rguenther@suse.de>
2278
2279 * gimple-fold.h (gimple_fold_builtin): Remove.
2280 * gimple-fold.c (gimple_fold_builtin): Make static.
2281 * tree-ssa-ccp.c (pass_fold_builtins::execute): Use
2282 fold_stmt, not gimple_fold_builtin.
2283
31acf1bb
ML
22842014-08-04 Martin Liska <mliska@suse.cz>
2285
2286 * cgraph.h (csi_end_p): Removed.
2287 (csi_next): Likewise.
2288 (csi_node): Likewise.
2289 (csi_start): Likewise.
2290 (cgraph_node_in_set_p): Likewise.
2291 (cgraph_node_set_size): Likewise.
2292 (vsi_end_p): Likewise.
2293 (vsi_next): Likewise.
2294 (vsi_node): Likewise.
2295 (vsi_start): Likewise.
2296 (varpool_node_set_size): Likewise.
2297 (cgraph_node_set_nonempty_p): Likewise.
2298 (varpool_node_set_nonempty_p): Likewise.
2299 * cgraphunit.c (cgraph_process_new_functions): vec replaces
2300 cgraph_node_set.
2301 * ipa-inline-transform.c: Likewise.
2302 * ipa-utils.c (cgraph_node_set_new): Removed.
2303 (cgraph_node_set_add): Likewise.
2304 (cgraph_node_set_remove): Likewise.
2305 (cgraph_node_set_find): Likewise.
2306 (dump_cgraph_node_set): Likewise.
2307 (debug_cgraph_node_set): Likewise.
2308 (free_cgraph_node_set): Likewise.
2309 (varpool_node_set_new): Likewise.
2310 (varpool_node_set_add): Likewise.
2311 (varpool_node_set_remove): Likewise.
2312 (varpool_node_set_find): Likewise.
2313 (dump_varpool_node_set): Likewise.
2314 (free_varpool_node_set): Likewise.
2315 (debug_varpool_node_set): Likewise.
2316 * tree-emutls.c (struct tls_var_data):
2317 (emutls_index): Removed.
2318 (emutls_decl): Likewise.
2319 (gen_emutls_addr): Function implementation uses newly added
2320 hash_map<varpool_node *, tls_var_data>.
2321 (clear_access_vars): Likewise.
2322 (create_emultls_var): Likewise.
2323 (ipa_lower_emutls): Likewise.
2324 (reset_access): New function.
2325
890e5864
GG
23262014-08-04 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2327
2328 * config/i386/i386.c (ix86_option_override_internal): Add
2329 PTA_RDRND and PTA_MOVBE for bdver4.
2330
e7a45277
KT
23312014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2332 James Greenhalgh <james.greenhalgh@arm.com>
2333
2334 * doc/md.texi (clrsb): Document.
2335 (clz): Change reference to x into operand 1.
2336 (ctz): Likewise.
2337 (popcount): Likewise.
2338
0d03cda4
KT
23392014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2340
2341 PR target/61713
2342 * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
2343 move to subtarget in serial version if result is ignored.
2344
97334291 23452014-08-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
dc549f34
RR
2346 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2347
2348 * sched-deps.c (try_group_insn): Generalise macro fusion hook usage
2349 to any two insns. Update comment. Rename to sched_macro_fuse_insns.
2350 (sched_analyze_insn): Update use of try_group_insn to
2351 sched_macro_fuse_insns.
2352 * config/i386/i386.c (ix86_macro_fusion_pair_p): Reject 2nd
2353 arguments that are not conditional jumps.
2354
d478ac59
GG
23552014-08-04 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2356
2357 * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's extended
2358 family information. Handle BTVER2 cpu with cpuid family value.
2359
b085b0e9
TV
23602014-08-04 Tom de Vries <tom@codesourcery.com>
2361
2362 * doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
2363 (glibc_2_11_or_earlier): Document effective-target keywords.
2364
9716cc3e
JH
23652014-08-01 Jan Hubicka <hubicka@ucw.cz>
2366
2367 * ipa-devirt.c (odr_type_warn_count): Add type.
2368 (possible_polymorphic_call_targets): Set it.
2369 (ipa_devirt): Use it.
2370
91bc34a9
JH
23712014-08-01 Jan Hubicka <hubicka@ucw.cz>
2372
6a6bdc3d
PC
2373 * doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods):
2374 Document.
91bc34a9
JH
2375 * ipa-devirt.c: Include hash-map.h
2376 (struct polymorphic_call_target_d): Add type_warning and decl_warning.
2377 (clear_speculation): Break out of ...
2378 (get_class_context): ... here; speed up handling obviously useless
2379 speculations.
2380 (odr_type_warn_count, decl_warn_count): New structures.
2381 (final_warning_record): New structure.
2382 (final_warning_records): New static variable.
6a6bdc3d
PC
2383 (possible_polymorphic_call_targets): Cleanup handling of
2384 speculative info; do not build speculation when user do not care;
2385 record info about warnings when asked for.
91bc34a9
JH
2386 (add_decl_warning): New function.
2387 (type_warning_cmp): New function.
2388 (decl_warning_cmp): New function.
2389 (ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types.
2390 (gate): Enable pass when warnings are requested.
6a6bdc3d
PC
2391 * common.opt (Wsuggest-final-types, Wsuggest-final-methods): New
2392 options.
91bc34a9 2393
b787e7a2
TS
23942014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2395
2396 * hash-map.h (default_hashmap_traits::mark_key_deleted):
2397 Fix cast.
2398 (hash_map::remove): New method.
9716cc3e 2399 (hash_map::traverse): New method.
b787e7a2
TS
2400 * cgraph.h, except.c, except.h, gimple-ssa-strength-reduction.c,
2401 ipa-utils.c, lto-cgraph.c, lto-streamer.h, omp-low.c, predict.c,
2402 tree-cfg.c, tree-cfgcleanup.c, tree-eh.c, tree-eh.h, tree-inline.c,
2403 tree-inline.h, tree-nested.c, tree-sra.c, tree-ssa-loop-im.c,
2404 tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-structalias.c,
2405 tree-ssa.c, tree-ssa.h, var-tracking.c: Use hash_map instead of
9716cc3e 2406 pointer_map.
b787e7a2 2407
6e2830c3
TS
24082014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2409
2410 * hash-set.h: new File.
2411 * cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
2412 cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
2413 ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
2414 lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
2415 tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
2416 tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
2417 tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
2418 varpool.c: Use hash_set instead of pointer_set.
2419
66368374
AL
24202014-08-01 Alan Lawrence <alan.lawrence@arm.com>
2421
2422 * config/aarch64/aarch64-simd-builtins.def (dup_lane, get_lane): Delete.
2423
15c0c5c9
JW
24242014-08-01 Jiong Wang <jiong.wang@arm.com>
2425
2426 * config/aarch64/aarch64.c (aarch64_classify_address): Accept all offset
2427 for frame access when strict_p is false.
2428
44707478
JW
24292014-08-01 Renlin Li <renlin.li@arm.com>
24302014-08-01 Jiong Wang <jiong.wang@arm.com>
2431
2432 * config/aarch64/aarch64.c (offset_7bit_signed_scaled_p): Rename to
2433 aarch64_offset_7bit_signed_scaled_p, remove static and use it.
2434 * config/aarch64/aarch64-protos.h (aarch64_offset_7bit_signed_scaled_p):
2435 Declaration.
2436 * config/aarch64/predicates.md (aarch64_mem_pair_offset): Define new
2437 predicate.
2438 * config/aarch64/aarch64.md (loadwb_pair, storewb_pair): Use
2439 aarch64_mem_pair_offset.
2440
e244d1e6
JW
24412014-08-01 Jiong Wang <jiong.wang@arm.com>
2442
2443 * config/aarch64/aarch64.md (loadwb_pair<GPI:mode>_<P:mode>): Fix
2444 offset.
2445 (loadwb_pair<GPI:mode>_<P:mode>): Likewise.
2446 * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): Likewise.
2447
fb01ed38
MF
24482014-08-01 Matthew Fortune <matthew.fortune@imgtec.com>
2449
2450 * config/mips/mips.h (REGISTER_PREFIX): Define macro.
2451
c84495c0
JG
24522014-08-01 James Greenhalgh <james.greenhalgh@arm.com>
2453
2454 PR regression/61510
2455 * cgraphunit.c (analyze_functions): Use get_create rather than get
2456 for decls which are clones of abstract functions.
2457
fd29c024
ML
24582014-08-01 Martin Liska <mliska@suse.cz>
2459
2460 * gimple-iterator.h (gsi_next_nonvirtual_phi): New function.
2461 * ipa-prop.h (count_formal_params): Global function created from static.
2462 * ipa-prop.c (count_formal_params): Likewise.
2463 * ipa-utils.c (ipa_merge_profiles): Be more tolerant if we merge
2464 profiles for semantically equivalent functions.
2465 * passes.c (do_per_function): If we load body of a function
2466 during WPA, this condition should behave same.
2467 * varpool.c (ctor_for_folding): More tolerant assert for variable
2468 aliases created during WPA.
2469
bab9b7cb
ML
24702014-08-01 Martin Liska <mliska@suse.cz>
2471
2472 * doc/invoke.texi (Options That Control Optimization): Documentation
2473 for -foptimize-strlen introduced. Optimization levels default options
2474 fixed.
2475
944fa280
JJ
24762014-08-01 Jakub Jelinek <jakub@redhat.com>
2477
2478 * opts.c (common_handle_option): Handle -fsanitize=alignment.
2479 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_CTOR_CALL.
2480 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn): Change return
2481 type to bool.
2482 * stor-layout.h (min_align_of_type): New prototype.
2483 * asan.c (pass_sanopt::execute): Don't perform gsi_next if
2484 ubsan_expand* told us not to do it. Remove the extra gsi_end_p
2485 check.
2486 * ubsan.c: Include builtins.h.
2487 (ubsan_expand_bounds_ifn): Change return type to bool,
2488 always return true.
2489 (ubsan_expand_null_ifn): Change return type to bool, change
2490 argument to gimple_stmt_iterator *. Handle both null and alignment
2491 sanitization, take type from ckind argument's type rather than
2492 first argument.
2493 (instrument_member_call): Removed.
2494 (instrument_mem_ref): Remove t argument, add mem and base arguments.
2495 Handle both null and alignment sanitization, don't say whole
2496 struct access is member access. Build 3 argument IFN_UBSAN_NULL
2497 call instead of 2 argument.
2498 (instrument_null): Adjust instrument_mem_ref caller. Don't
2499 instrument calls here.
2500 (pass_ubsan::gate, pass_ubsan::execute): Handle SANITIZE_ALIGNMENT
2501 like SANITIZE_NULL.
2502 * stor-layout.c (min_align_of_type): New function.
2503 * flag-types.h (enum sanitize_code): Add SANITIZE_ALIGNMENT.
2504 Or it into SANITIZE_UNDEFINED.
2505 * doc/invoke.texi (-fsanitize=alignment): Document.
2506
bb7e83fc
AK
25072014-07-31 Andi Kleen <ak@linux.intel.com>
2508
2509 * tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash.
2510
4e44a6e8
AK
25112014-07-31 Andi Kleen <ak@linux.intel.com>
2512
2513 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Convert to
2514 inchash.
2515 (vn_reference_compute_hash): Dito.
2516 (vn_nary_op_compute_hash): Dito.
2517 (vn_phi_compute_hash): Dito.
2518 * tree-ssa-sccvn.h (vn_hash_constant_with_type): Dito.
2519
2bc10537
AK
25202014-07-31 Andi Kleen <ak@linux.intel.com>
2521
2522 * tree-ssa-dom.c (iterative_hash_exprs_commutative):
2523 Rename to inchash:add_expr_commutative. Convert to inchash.
2524 (iterative_hash_hashable_expr): Rename to
2525 inchash:add_hashable_expr. Convert to inchash.
2526 (avail_expr_hash): Dito.
2527
d313d45f
AK
25282014-07-31 Andi Kleen <ak@linux.intel.com>
2529
2530 * ipa-devirt.c (polymorphic_call_target_hasher::hash):
2531 Convert to inchash.
2532
1a4d8851
AK
25332014-07-31 Andi Kleen <ak@linux.intel.com>
2534
2535 * asan.c (asan_mem_ref_hasher::hash): Convert to inchash.
2536
f768061c
AK
25372014-07-31 Andi Kleen <ak@linux.intel.com>
2538
2539 * Makefile.in (OBJS): Add rtlhash.o
2540 * dwarf2out.c (addr_table_entry_do_hash): Convert to inchash.
2541 (loc_checksum): Dito.
2542 (loc_checksum_ordered): Dito.
2543 (hash_loc_operands): Dito.
2544 (hash_locs): Dito.
2545 (hash_loc_list): Dito.
2546 * rtl.c (iterative_hash_rtx): Moved to rtlhash.c
2547 * rtl.h (iterative_hash_rtx): Moved to rtlhash.h
2548 * rtlhash.c: New file.
2549 * rtlhash.h: New file.
2550
50de5793
AK
25512014-07-31 Andi Kleen <ak@linux.intel.com>
2552
2553 * inchash.h (inchash): Change inchash class to namespace.
2554 (class hash): ... Rename from inchash.
2555 (add_object): Move from macro to class template.
2556 * lto-streamer-out.c (hash_tree): Change inchash
2557 to inchash::hash.
2558 * tree.c (build_type_attribute_qual_variant): Dito.
2559 (type_hash_list): Dito.
2560 (attribute_hash_list): Dito.
2561 (iterative_hstate_expr): Rename to inchash::add_expr
2562 (build_range_type_1): Change inchash to inchash::hash
2563 and use hash::add_expr.
2564 (build_array_type_1): Dito.
2565 (build_function_type): Dito
2566 (build_method_type_directly): Dito.
2567 (build_offset_type): Dito.
2568 (build_complex_type): Dito.
2569 (make_vector_type): Dito.
2570 * tree.h (iterative_hash_expr): Dito.
2571
e3cb8f05
CG
25722014-07-31 Chen Gang <gang.chen.5i5j@gmail.com>
2573
2574 * gcc.c (do_spec_1): Allocate enough space for saved_suffix.
2575
9052a1e3
JG
25762014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
2577
2578 * config/aarch64/arm_neon.h (vpadd_<suf><8,16,32,64>): Move to
2579 correct alphabetical position.
2580 (vpaddd_f64): Rewrite using builtins.
2581 (vpaddd_s64): Move to correct alphabetical position.
2582 (vpaddd_u64): New.
2583
79a1fe43
OE
25842014-07-31 Oleg Endo <olegendo@gcc.gnu.org>
2585
2586 PR target/61844
2587 * config/sh/sh.c (sh_legitimate_address_p,
2588 sh_legitimize_reload_address): Handle reg+reg address modes when
2589 ALLOW_INDEXED_ADDRESS is false.
2590 * config/sh/predicates.md (general_movsrc_operand,
2591 general_movdst_operand): Likewise.
2592
22756ccf
JG
25932014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
2594
2595 * config/aarch64/aarch64-builtins.c
2596 (aarch64_gimple_fold_builtin): Don't fold reduction operations for
2597 BYTES_BIG_ENDIAN.
2598
988fa693
JG
25992014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
2600
2601 * config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Vary
2602 the generated mask based on BYTES_BIG_ENDIAN.
2603 (aarch64_simd_check_vect_par_cnst_half): New.
2604 * config/aarch64/aarch64-protos.h
2605 (aarch64_simd_check_vect_par_cnst_half): New.
2606 * config/aarch64/predicates.md (vect_par_cnst_hi_half): Refactor
2607 the check out to aarch64_simd_check_vect_par_cnst_half.
2608 (vect_par_cnst_lo_half): Likewise.
2609 * config/aarch64/aarch64-simd.md
2610 (aarch64_simd_move_hi_quad_<mode>): Always use vec_par_cnst_lo_half.
2611 (move_hi_quad_<mode>): Always generate a low mask.
2612
08938c89
SKS
26132014-07-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2614
2615 * doc/invoke.texi (AVR Options): Add documentation about
2616 __AVR_DEVICE_NAME__ built-in macro.
2617
3290f5e7
CB
26182014-07-31 Charles Baylis <charles.baylis@linaro.org>
2619
2620 PR target/61948
2621 * config/arm/neon.md (ashldi3_neon): Don't emit arm_ashldi3_1bit unless
2622 constraints are satisfied.
2623 (<shift>di3_neon): Likewise.
2624
030e321a
RB
26252014-07-31 Richard Biener <rguenther@suse.de>
2626
2627 PR tree-optimization/61964
2628 * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
2629 by structural equality.
2630
fec4842d
YG
26312014-07-31 Yury Gribov <y.gribov@samsung.com>
2632
2633 * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
2634 * doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
2635 * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
2636 New enums.
2637 * gcc.c (sanitize_spec_function): Support new option.
2638 (SANITIZER_SPEC): Remove now redundant check.
2639 * opts.c (common_handle_option): Support new option.
2640 (finish_options): Check for incompatibilities.
2641 * toplev.c (process_options): Split userspace-specific checks.
2642
936ddf92
RB
26432014-07-31 Richard Biener <rguenther@suse.de>
2644
2645 * lto-streamer.h (struct output_block): Remove global.
2646 (struct data_in): Remove labels, num_named_labels and
2647 num_unnamed_labels.
2648 * lto-streamer-in.c (lto_data_in_delete): Do not free labels.
2649 * lto-streamer-out.c (produce_asm_for_decls): Do not set global.
2650
b4dfdc11
MG
26512014-07-31 Marc Glisse <marc.glisse@inria.fr>
2652
2653 PR c++/60517
2654 * common.opt (-Wreturn-local-addr): Moved from c.opt.
2655 * gimple-ssa-isolate-paths.c: Include diagnostic-core.h and intl.h.
2656 (isolate_path): New argument to avoid inserting a trap.
2657 (find_implicit_erroneous_behaviour): Handle returning the address
2658 of a local variable.
2659 (find_explicit_erroneous_behaviour): Likewise.
2660
a7935284
BM
26612014-07-31 Bingfeng Mei <bmei@broadcom.com>
2662
2663 PR lto/61868
2664 * toplev.c (init_random_seed): Move piece of code never called to
2665 set_random_seed.
2666 (set_random_seed): see above.
2667
3e455386
TV
26682014-07-31 Tom de Vries <tom@codesourcery.com>
2669
2670 * tree-ssa-loop.c (pass_tree_loop_init::execute): Remove dead code.
2671
f33a8d10
RS
26722014-07-31 Richard Sandiford <rdsandiford@googlemail.com>
2673
2674 * ira.c (insn_contains_asm_1, insn_contains_asm): Delete.
2675 (compute_regs_asm_clobbered): Use extract_asm_operands instead.
2676
bfa2ebe3
RB
26772014-07-31 Richard Biener <rguenther@suse.de>
2678
2679 * data-streamer.h (streamer_write_data_stream): Declare here,
2680 renamed from ...
2681 * lto-streamer.h (lto_output_data_stream): ... this. Remove.
2682 * lto-cgraph.c (lto_output_node): Adjust.
2683 (lto_output_varpool_node): Likewise.
2684 * data-streamer-out.c (streamer_string_index): Likewise.
2685 (streamer_write_data_stream, lto_append_block): Move from ...
2686 * lto-section-out.c (lto_output_data_stream,
2687 lto_append_block): ... here.
2688
b6d94045
MS
26892014-07-30 Mike Stump <mikestump@comcast.net>
2690
2691 * configure.ac: Also check for popen.
2692 * tree-loop-distribution.c (dot_rdg): Autoconfize popen use.
2693 * configure: Regenerate.
2694 * config.in: Regenerate.
2695
ea3e455a
MJ
26962014-07-30 Martin Jambor <mjambor@suse.cz>
2697
2698 * tree-sra.c (sra_ipa_modify_assign): Change type of the first
2699 parameter to gimple.
2700
87cb0c0c
UW
27012014-07-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2702
2703 * config/s390/s390.c (s390_emit_tpf_eh_return): Pass original return
2704 address as second parameter to __tpf_eh_return routine.
2705
e58d3b41
JW
27062014-07-30 Jiong Wang <jiong.wang@arm.com>
2707
2708 * config/arm/arm.c (arm_get_frame_offsets): Adjust condition for
2709 Thumb2.
2710
976d5a22
TT
27112014-07-30 Tom Tromey <tromey@redhat.com>
2712
2713 PR c/59855
2714 * doc/invoke.texi (Warning Options): Document -Wdesignated-init.
2715 * doc/extend.texi (Type Attributes): Document designated_init
2716 attribute.
2717
6a7d8936
RG
27182014-07-30 Roman Gareev <gareevroman@gmail.com>
2719
2720 * graphite-isl-ast-to-gimple.c:
2721 (gcc_expression_from_isl_ast_expr_id): Add calling of fold_convert.
2722 (gcc_expression_from_isl_expression): Pass type to
2723 gcc_expression_from_isl_ast_expr_id.
2724
f6bcdb5e
RB
27252014-07-30 Richard Biener <rguenther@suse.de>
2726
2727 * lto-streamer.h (lto_write_data): New function.
2728 * langhooks.c (lhd_append_data): Do not free block.
2729 * lto-section-out.c (lto_write_data): New function writing
2730 raw data to the current section.
2731 (lto_write_stream): Adjust for langhook semantic change.
2732 (lto_destroy_simple_output_block): Write header directly.
2733 * lto-opts.c (lto_write_options): Write options directly.
2734 * lto-streamer-out.c (produce_asm): Write heaeder directly.
2735 (lto_output_toplevel_asms): Likewise.
2736 (copy_function_or_variable): Copy data directly.
2737 (write_global_references): Output index table directly.
2738 (lto_output_decl_state_refs): Likewise.
2739 (write_symbol): Write data directly.
2740 (produce_symtab): Adjust.
2741 (produce_asm_for_decls): Output header and refs directly.
2742
a0fd3373
JH
27432014-07-29 Jan Hubicka <hubicka@ucw.cz>
2744
a0fd3373
JH
2745 * ipa-devirt.c (polymorphic_call_target_d): Rename nonconstruction_targets
2746 to speculative_targets
2747 (get_class_context): Fix handling of contextes without outer type;
2748 avoid matching non-polymorphic types in LTO.
2749 (possible_polymorphic_call_targets): Trun nonconstruction_targetsp
2750 parameter to speculative_targetsp; handle speculation.
2751 (dump_possible_polymorphic_call_targets): Update dumping.
2752
27532014-07-29 Jan Hubicka <hubicka@ucw.cz>
2754
2755 * common.opt (Wodr): Enable by default.
2756
212c47b4
OH
27572014-07-29 Olivier Hainque <hainque@adacore.com>
2758
2759 * config/vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define.
2760
20e3f942
L
27612014-07-29 H.J. Lu <hongjiu.lu@intel.com>
2762
2763 PR bootstrap/61914
2764 * gengtype.c (strtoken): New function.
2765 (create_user_defined_type): Replace strtok with strtoken.
2766
19926161
NS
27672014-07-29 Nathan Sidwell <nathan@acm.org>
2768
2769 * gcov-io.c (gcov_var): Make hidden.
2770 * gcov-tool.c (gcov_list, gcov_exit): Remove declarations.
2771 (gcov_do_dump): Declare.
2772 (gcov_output_files): Call gcov_do_dump, not gcov_exit).
2773
56386ab9
MJ
27742014-07-29 Martin Jambor <mjambor@suse.cz>
2775
2776 * tree-sra.c (sra_modify_constructor_assign): Change type of stmt
2777 parameter to gimple.
2778 (sra_modify_assign): Likewise.
2779
e05531ef
RB
27802014-07-29 Richard Biener <rguenther@suse.de>
2781
2782 PR middle-end/52478
2783 * expr.c (expand_expr_real_2): Revert last change.
2784
3339f0bc
JH
27852014-07-28 Jan Hubicka <hubicka@ucw.cz>
2786
2787 * cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
2788 * cgraph.h (cgraph_indirect_call_info): Add speculative data.
2789 * gimple-fold.c (fold_gimple_assign): Fix check for virtual
2790 call.
2791 * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update
2792 (contains_type_p): Forward declare.
2793 (polymorphic_call_target_hasher::hash): Hash speculative info.
2794 (polymorphic_call_target_hasher::equal): Compare speculative info.
2795 (get_class_context): Handle speuclation.
2796 (contains_type_p): Update.
2797 (get_polymorphic_call_info_for_decl): Update.
2798 (walk_ssa_copies): Break out from ...
2799 (get_polymorphic_call_info): ... here; set speculative context
2800 before giving up.
19926161
NS
2801 * ipa-prop.c (ipa_write_indirect_edge_info,
2802 ipa_read_indirect_edge_info): Stream speculative context.
3339f0bc
JH
2803 * ipa-utils.h (ipa_polymorphic_call_context): Add speculative info
2804 (SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE,
2805 SPECULATIVE_MAYBE_DERIVED_TYPE).
2806 (possible_polymorphic_call_targets overriders): Update.
2807 (dump_possible_polymorphic_call_targets overriders): Update.
2808 (dump_possible_polymorphic_call_target_p overriders): Update.
2809
f8a39967
JH
28102014-07-28 Jan Hubicka <hubicka@ucw.cz>
2811
2812 * gimple-fold.c (fold_gimple_assign): Fix condition guarding
2813 ipa-devirt path; fix thinko there.
2814
7c0b8ccd
TS
28152014-07-28 Trevor Saunders <tsaunders@mozilla.com>
2816
19926161 2817 * config/i386/i386.c (ix86_return_in_memory): Replace one
7c0b8ccd
TS
2818 ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.
2819
5c31cbf0
MP
28202014-07-28 Marek Polacek <polacek@redhat.com>
2821
2822 * doc/invoke.texi (-Wno-odr): Fix @item entry. Tweak wording.
2823
f0c5fd44
PB
28242014-07-28 Peter Bergner <bergner@vnet.ibm.com>
2825
2826 * config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
b424bcb1 2827 * config/rs6000/sysv4.h (CC1_SPEC): Undefine it before defining it.
f0c5fd44
PB
2828 * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define.
2829 (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
2830 (USE_LD_AS_NEEDED): Likewise.
2831 (ASM_APP_ON): Likewise.
2832 (ASM_APP_OFF): Likewise.
2833 (TARGET_POSIX_IO): Likewise.
2834 * config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise.
2835 (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
2836 (USE_LD_AS_NEEDED): Likewise.
2837 (ASM_APP_ON): Likewise.
2838 (ASM_APP_OFF): Likewise.
2839 (TARGET_POSIX_IO): Likewise.
2840
32b436c0
EB
28412014-07-28 Eric Botcazou <ebotcazou@adacore.com>
2842
2843 PR middle-end/61734
2844 * fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for
2845 operators other than the equality operators.
2846
2637bd27
RB
28472014-07-28 Richard Biener <rguenther@suse.de>
2848
2849 PR middle-end/52478
2850 * optabs.c (gen_int_libfunc): For -ftrapv libfuncs make
2851 sure to register SImode ones, not only >= word_mode ones.
2852 * expr.c (expand_expr_real_2): When expanding -ftrapv
2853 binops do not use OPTAB_LIB_WIDEN.
2854
02b278a8
RS
28552014-07-28 Richard Sandiford <rdsandiford@googlemail.com>
2856
2857 PR middle-end/61919
2858 * tree-outof-ssa.c (insert_partition_copy_on_edge)
2859 (insert_value_copy_on_edge, insert_rtx_to_part_on_edge)
2860 (insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before
2861 inserting them in the insn stream.
2862
55c0d5df
MP
28632014-07-28 Marek Polacek <polacek@redhat.com>
2864
2865 PR middle-end/61913
2866 * common.opt (Wodr): Add Var.
2867
cfe2053d
RB
28682014-07-28 Richard Biener <rguenther@suse.de>
2869
2870 PR tree-optimization/61921
2871 * tree-ssa-structalias.c (create_variable_info_for_1): Check
2872 if there is a varpool node before dereferencing it.
2873
d50cc61a
RG
28742014-07-28 Roman Gareev <gareevroman@gmail.com>
2875
2876 * graphite-sese-to-poly.c:
2877 (new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
2878 id of the pbb), which contains pointer to the pbb1.
2879
2880 * gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.
2881
333cc518
RG
28822014-07-28 Roman Gareev <gareevroman@gmail.com>
2883
2884 * graphite-isl-ast-to-gimple.c:
2885 (graphite_create_new_guard): New function.
2886 (translate_isl_ast_node_if): New function.
2887 (translate_isl_ast): Add calling of translate_isl_ast_node_if.
2888
2889 * gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase.
2890
17522262
AG
28912014-07-27 Anthony Green <green@moxielogic.com>
2892
2893 * config.gcc: Add moxie-*-moxiebox* configuration.
2894 * config/moxie/moxiebox.h: New file.
2895
98fa5ef3
AP
28962014-07-26 Andrew Pinski <apinski@cavium.com>
2897
2898 * config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove +
2899 from the read only register.
2900
2da068d5
RS
29012014-07-26 Richard Sandiford <rdsandiford@googlemail.com>
2902
2903 * ira-costs.c (find_costs_and_classes): For -O0, use the best class
2904 as the allocation class if it isn't likely to be spilled.
2905
093a6c99
RS
29062014-07-26 Richard Sandiford <rdsandiford@googlemail.com>
2907
2908 * rtl.h (tls_referenced_p): Declare.
2909 * rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions.
2910 * config/mips/mips.c (mips_tls_symbol_ref_1): Delete.
2911 (mips_cannot_force_const_mem): Use tls_referenced_p.
2912 * config/pa/pa-protos.h (pa_tls_referenced_p): Delete.
2913 * config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p
2914 instead of pa_tls_referenced_p.
2915 * config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem)
2916 (pa_emit_move_sequence, pa_emit_move_sequence): Likewise.
2917 (pa_legitimate_constant_p): Likewise.
2918 (pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete.
2919 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete.
2920 (rs6000_cannot_force_const_mem, rs6000_emit_move)
2921 (rs6000_address_for_altivec): Use tls_referenced_p instead of
2922 rs6000_tls_referenced_p.
2923 (rs6000_tls_symbol_ref_1): Delete.
2924
82e3a719
MG
29252014-07-26 Marc Glisse <marc.glisse@inria.fr>
2926
2927 PR target/44551
2928 * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
2929 Optimize inverse of a VEC_CONCAT.
2930
2243ba51
XDL
29312014-07-25 Xinliang David Li <davidxl@google.com>
2932
2933 * params.def: New parameter.
2934 * coverage.c (get_coverage_counts): Check new flag.
2935 (coverage_compute_profile_id): Check new flag.
2936 (coverage_begin_function): Check new flag.
2937 (coverage_end_function): Check new flag.
2938 * value-prof.c (coverage_node_map_initialized_p): New function.
2939 (init_node_map): Populate map with all functions.
2940 * doc/invoke.texi: Document new parameter.
2941
a4b0388b
JH
29422014-07-25 Jan Hubicka <hubicka@ucw.cz>
2943 Richard Biener <rguenther@suse.de>
2944
2945 * lto-streamer-out.c (struct sccs): Turn to ...
2946 (class DFS): ... this one; refactor the DFS walk so it can
2947 be re-done on per-SCC basis.
2948 (DFS::DFS): New constructor.
2949 (DFS::~DFS): New destructor.
2950 (hash_tree): Add new MAP argument holding in-SCC hash values;
2951 remove POINTER_TYPE hashing hack.
2952 (scc_entry_compare): Rename to ...
2953 (DFS::scc_entry_compare): ... this one.
2954 (hash_scc): Rename to ...
2955 (DFS::hash_scc): ... this one; pass output_block instead
2956 of streamer_cache; work harder to get unique and stable SCC
2957 hashes.
2958 (DFS_write_tree): Rename to ...
2959 (DFS::DFS_write_tree): ... this one; add SINGLE_P parameter.
2960 (lto_output_tree): Update.
2961
e8326772
AK
29622014-07-25 Andi Kleen <ak@linux.intel.com>
2963
2964 * lto-streamer-out.c (hash_tree): Convert to inchash.
2965
56fdfd3e
AK
29662014-07-25 Andi Kleen <ak@linux.intel.com>
2967
2968 * tree.c (build_type_attribute_qual_variant): Use inchash.
2969 (type_hash_list): Dito.
2970 (attribute_hash_list): Dito
2971 (iterative_hstate_expr): Dito.
2972 (iterative_hash_expr): Dito.
2973 (build_range_type_1): Dito.
2974 (build_array_type_1): Dito.
2975 (build_function_type): Dito.
2976 (build_method_type_directly): Dito.
2977 (build_offset_type): Dito.
2978 (build_complex_type): Dito.
2979 (make_vector_type): Dito.
2980 * tree.h (iterative_hash_expr): Add compat wrapper.
2981 (iterative_hstate_expr): Add.
2982
6d8eb96b
AK
29832014-07-25 Andi Kleen <ak@linux.intel.com>
2984
2985 * Makefile.in (OBJS): Add inchash.o.
2986 (PLUGIN_HEADERS): Add inchash.h.
2987 * ipa-devirt.c: Include inchash.h.
2988 * lto-streamer-out.c: Dito.
2989 * tree-ssa-dom.c: Dito.
2990 * tree-ssa-pre.c: Dito.
2991 * tree-ssa-sccvn.c: Dito.
2992 * tree-ssa-tail-merge.c: Dito.
2993 * asan.c: Dito.
2994 * tree.c (iterative_hash_hashval_t): Move to ...
2995 (iterative_hash_host_wide_int): Move to ...
2996 * inchash.c: Here. New file.
2997 * tree.h (iterative_hash_hashval_t): Move to ...
2998 (iterative_hash_host_wide_int): Move to ...
2999 * inchash.h: Here. New file.
3000
b2505143
RB
30012014-07-25 Richard Biener <rguenther@suse.de>
3002
3003 PR middle-end/61762
3004 PR middle-end/61894
3005 * fold-const.c (native_encode_int): Add and handle offset
3006 parameter to do partial encodings of expr.
3007 (native_encode_fixed): Likewise.
3008 (native_encode_real): Likewise.
3009 (native_encode_complex): Likewise.
3010 (native_encode_vector): Likewise.
3011 (native_encode_string): Likewise.
3012 (native_encode_expr): Likewise.
3013 * fold-const.c (native_encode_expr): Add offset parameter
3014 defaulting to -1.
3015 * gimple-fold.c (fold_string_cst_ctor_reference): Remove.
3016 (fold_ctor_reference): Handle all reads from tcc_constant
3017 ctors.
3018
1ed85d52
RB
30192014-07-25 Richard Biener <rguenther@suse.de>
3020
3021 * tree-inline.c (estimate_move_cost): Mark speed_p argument
3022 as possibly unused.
3023
5a304089
SKS
30242014-07-23 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3025
3026 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Add __AVR_DEVICE_NAME__.
3027
6c43e15e
KM
30282014-07-24 Kyle McMartin <kyle@redhat.com>
3029
3030 * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
3031
98326512
UW
30322014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3033
3034 * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
3035 Add prototype.
3036 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
3037 function.
3038 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
3039 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
3040 * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
3041
e1089c7a
UW
30422014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3043
3044 * config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX
3045 and ELFv2 ABI, do not use the "mode == BLKmode" check to test for
3046 aggregate types. Instead, *all* aggregate types, except for single-
3047 element or homogeneous float/vector aggregates, are quadword-aligned
3048 if required by their type alignment. Issue -Wpsabi note when a type
3049 is now treated differently than before.
3050
ff46d64d
UW
30512014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3052
3053 * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
3054 does not fit fully into floating-point registers, and there is still
3055 space in the register parameter area, use GPRs to pass those parts
3056 of the argument. Issue -Wpsabi note if any parameter is now treated
3057 differently than before.
3058 (rs6000_arg_partial_bytes): Update.
3059
288aa22f
UB
30602014-07-24 Uros Bizjak <ubizjak@gmail.com>
3061
3062 * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
3063
d4cf9477
RS
30642014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
3065
3066 * rtl.h (target_rtl): Remove lang_dependent_initialized.
3067 * toplev.c (initialize_rtl): Don't use it. Move previously
3068 "language-dependent" calls to...
3069 (backend_init): ...here.
3070 (lang_dependent_init_target): Don't set lang_dependent_initialized.
3071 Assert that RTL initialization hasn't happend yet.
3072
2175bf49
RS
30732014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
3074
3075 PR rtl-optimization/61629
3076 * reginfo.c (reinit_regs): Only call ira_init and recog_init if
3077 they have already been initialized.
3078
1a8cb155
RS
30792014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
3080
3081 PR middle-end/61268
3082 * function.c (assign_parm_setup_reg): Prevent invalid sharing of
3083 DECL_INCOMING_RTL and entry_parm.
3084 (get_arg_pointer_save_area): Likewise arg_pointer_save_area.
3085 * calls.c (load_register_parameters): Likewise argument values.
3086 (emit_library_call_value_1, store_one_arg): Likewise argument
3087 save areas.
3088 * config/i386/i386.c (assign_386_stack_local): Likewise the local
3089 stack slot.
3090 * explow.c (validize_mem): Modify the argument in-place.
3091
4b92caa1
JW
30922014-07-24 Jiong Wang <jiong.wang@arm.com>
3093
3094 * config/aarch64/aarch64.c (aarch64_popwb_single_reg): New function.
3095 (aarch64_expand_epilogue): Optimize epilogue when !frame_pointer_needed.
3096
c5e1f66e
JW
30972014-07-24 Jiong Wang <jiong.wang@arm.com>
3098
3099 * config/aarch64/aarch64.c (aarch64_pushwb_single_reg): New function.
3100 (aarch64_expand_prologue): Optimize prologue when !frame_pointer_needed.
3101
ae13fce3
JW
31022014-07-24 Jiong Wang <jiong.wang@arm.com>
3103
3104 * config/aarch64/aarch64.c (aarch64_restore_callee_saves)
3105 (aarch64_save_callee_saves): New parameter "skip_wb".
3106 (aarch64_expand_prologue, aarch64_expand_epilogue): Update call site.
3107
363ffa50
JW
31082014-07-24 Jiong Wang <jiong.wang@arm.com>
3109
3110 * config/aarch64/aarch64.h (frame): New fields "wb_candidate1" and
3111 "wb_candidate2".
3112 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize above.
3113
a6631027
RG
31142014-07-24 Roman Gareev <gareevroman@gmail.com>
3115
3116 * graphite-isl-ast-to-gimple.c:
3117 (graphite_create_new_loop): Add calling of isl_id_free to properly
3118 decrement reference counts.
3119
3120 * gcc.dg/graphite/isl-ast-gen-blocks-4.c: New testcase.
3121
4c1a59cc
ML
31222014-07-24 Martin Liska <mliska@suse.cz>
3123 * config/mips/mips.c (mips_start_unique_function): Correct cgraph_node
3124 function used.
3125 * config/rs6000/rs6000.c (call_ABI_of_interest): Likewise.
3126 (rs6000_code_end): Likewise.
3127
31282014-07-24 Martin Liska <mliska@suse.cz>
3129
3130 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): Correct
3131 symtab_node funtion used.
3132 (rs6000_xcoff_declare_object_name): Likewise.
3133
dacd445e
ML
31342014-07-24 Martin Liska <mliska@suse.cz>
3135
3136 * cgraphunit.c (compile): Correct function used.
3137
52d8a590
JH
31382014-07-24 Jan Hubicka <hubicka@ucw.cz>
3139
3140 * lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL
3141 as non-indexable.
3142
10a3a880
JH
31432014-07-24 Jan Hubicka <hubicka@ucw.cz>
3144
3145 PR lto/61802
3146 * varasm.c (bss_initializer_p): Handle offlined ctors.
3147 (align_variable, get_variable_align): Likewise.
3148 (make_decl_one_only): Likewise.
3149 (default_binds_local_p_1): Likewise.
3150 (decl_binds_to_current_def_p): Likewise.
3151 (get_variable_section): Get constructor if it is offlined.
3152 (assemble_variable_contents): Sanity check that the caller
3153 streamed in the ctor in LTO.
3154
c4bc3399
RG
31552014-07-24 Roman Gareev <gareevroman@gmail.com>
3156
3157 * graphite-isl-ast-to-gimple.c:
3158 (binary_op_to_tree): Add calling of translate_isl_ast_node_block.
3159 (gcc_expression_from_isl_expr_op): Move isl_ast_op_pdiv_q,
3160 isl_ast_op_pdiv_r to the different case.
3161
3162 * gcc.dg/graphite/isl-ast-gen-blocks-3.c: New testcase.
3163
25be91ac
KT
31642014-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3165
3166 PR middle-end/61876
3167 * convert.c (convert_to_integer): Do not convert BUILT_IN_ROUND and cast
3168 when flag_errno_math is on.
3169
9041d2e6
ML
31702014-07-24 Martin Liska <mliska@suse.cz>
3171
fdbaf4ec
ML
3172 * cgraph.h (varpool_node):
3173 (availability get_availability (void)):
3174 created from cgraph_variable_initializer_availability
3175 (inline varpool_node *ultimate_alias_target (availability *availability = NULL)
3176 created from: cgraph_variable_initializer_availability
3177 (inline varpool_node *get_alias_target (void)): created from varpool_alias_target
3178 (void finalize_named_section_flags (void)):
3179 created from varpool_finalize_named_section_flags
3180 (bool assemble_decl (void)): created from varpool_assemble_decl
3181 (void analyze (void)): created from varpool_analyze_node
3182 (bool call_for_node_and_aliases (bool (*callback) (varpool_node *, void *),
3183 void *data, bool include_overwritable)): created fromvarpool_for_node_and_aliases
3184 (void remove_initializer (void)): created from varpool_remove_initializer
3185 (tree get_constructor (void)): created from varpool_get_constructor
3186 (bool externally_visible_p (void)): created from varpool_externally_visible_p
3187 (bool ctor_useable_for_folding_p (void)): created from varpool_ctor_useable_for_folding_p
3188 (inline bool all_refs_explicit_p ()): created from varpool_all_refs_explicit_p
3189 (inline bool can_remove_if_no_refs_p (void)): created from varpool_can_remove_if_no_refs
3190 (static inline varpool_node *get (const_tree decl)): created from varpool_get_node
3191 (static void finalize_decl (tree decl)): created from varpool_finalize_decl
3192 (static bool output_variables (void)): created from varpool_output_variables
3193 (static varpool_node * create_extra_name_alias (tree alias, tree decl)):
3194 created from varpool_extra_name_alias
3195 (static varpool_node * create_alias (tree, tree)): created from varpool_create_variable_alias
3196 (static void dump_varpool (FILE *f)): created from dump_varpool
3197 (static void DEBUG_FUNCTION debug_varpool (void)): created from debug_varpool
3198 (static varpool_node *create_empty (void)): created from varpool_create_empty_node
3199 (static varpool_node *get_create (tree decl)): created from varpool_node_for_decl
3200 (static varpool_node *get_for_asmname (tree asmname)): created from varpool_node_for_asm
3201 (void assemble_aliases (void)): created from assemble_aliases
9041d2e6 3202
d52f5295
ML
32032014-07-24 Martin Liska <mliska@suse.cz>
3204
fdbaf4ec
ML
3205 * cgraph.h (symtab_node):
3206 (void register_symbol (void)): created from symtab_register_node
3207 (void remove (void)): created from symtab_remove_node
3208 (void dump (FILE *f)): created from dump_symtab_node
3209 (void DEBUG_FUNCTION debug (void)): created from debug_symtab_node
3210 (void DEBUG_FUNCTION verify (void)): created from verify_symtab_node
3211 (struct ipa_ref *add_reference (symtab_node *referred_node,
3212 enum ipa_ref_use use_type)): created from add_reference
3213 (struct ipa_ref *add_reference (symtab_node *referred_node,
3214 enum ipa_ref_use use_type, gimple stmt)): created from add_reference
3215 (struct ipa_ref *maybe_add_reference (tree val, enum ipa_ref_use use_type,
3216 gimple stmt)): created from maybe_add_reference
3217 (bool semantically_equivalent_p (symtab_node *target)): created from
3218 symtab_semantically_equivalent_p
3219 (void remove_from_same_comdat_group (void)): created from
3220 remove_from_same_comdat_group
3221 (void add_to_same_comdat_group (symtab_node *old_node)): created from
3222 symtab_add_to_same_comdat_group
3223 (void dissolve_same_comdat_group_list (void)): created from
3224 symtab_dissolve_same_comdat_group_list
3225 (bool used_from_object_file_p (void)): created from symtab_used_from_object_file_p
3226 (symtab_node *ultimate_alias_target (enum availability *avail = NULL)):
3227 created from symtab_alias_ultimate_target
3228 (inline symtab_node *next_defined_symbol (void)): created from
3229 symtab_next_defined_symbol
3230 (bool resolve_alias (symtab_node *target)): created from
3231 symtab_resolve_alias
3232 (bool call_for_symbol_and_aliases (bool (*callback) (symtab_node *, void *),
3233 void *data, bool include_overwrite)): created from symtab_for_node_and_aliases
3234 (symtab_node *noninterposable_alias (void)): created from symtab_nonoverwritable_alias
3235 (inline symtab_node *get_alias_target (void)): created from symtab_alias_target
3236 (void set_section (const char *section)): created from set_section_1
3237 (enum availability get_availability (void)): created from symtab_node_availability
3238 (void make_decl_local (void)): created from symtab_make_decl_local
3239 (bool real_symbol_p (void)): created from symtab_read_node
3240 (can_be_discarded_p (void)): created from symtab_can_be_discarded
3241 (inline bool comdat_local_p (void)): created from symtab_comdat_local_p
3242 (inline bool in_same_comdat_group_p (symtab_node *target)): created from
3243 symtab_in_same_comdat_p;
3244 (bool address_taken_from_non_vtable_p (void)): created from
3245 address_taken_from_non_vtable_p
3246 (static inline symtab_node *get (const_tree decl)): created from symtab_get_node
3247 (static void dump_table (FILE *)): created from dump_symtab
3248 (static inline DEBUG_FUNCTION void debug_symtab (void)): created from debug_symtab
3249 (static DEBUG_FUNCTION void verify_symtab_nodes (void)): created from verify_symtab
3250 (static bool used_from_object_file_p_worker (symtab_node *node)): created from
3251 symtab_used_from_object_file_p
3252 (void dump_base (FILE *)): created from dump_symtab_base
3253 (bool DEBUG_FUNCTION verify_base (void)): created from verify_symtab_base
3254 (void unregister (void)): created from symtab_unregister_node
3255 (struct symbol_priority_map *priority_info (void)): created from symtab_priority_info
3256 (static bool set_implicit_section (symtab_node *n, void *)): created from set_implicit_section
3257 (static bool noninterposable_alias (symtab_node *node, void *data)): created from
3258 symtab_nonoverwritable_alias_1
3259 * cgraph.h (cgraph_node):
3260 (bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node = NULL)):
3261 created from cgraph_remove_node_and_inline_clones
3262 (void record_stmt_references (gimple stmt)): created from ipa_record_stmt_references
3263 (void set_call_stmt_including_clones (gimple old_stmt, gimple new_stmt,
3264 bool update_speculative = true)): created from cgraph_set_call_stmt_including_clones
3265 (cgraph_node *function_symbol (enum availability *avail = NULL)):
3266 created from cgraph_function_node
3267 (cgraph_node *create_clone (tree decl, gcov_type count, int freq, bool update_original,
3268 vec<cgraph_edge *> redirect_callers, bool call_duplication_hook,
3269 struct cgraph_node *new_inlined_to, bitmap args_to_skip)):
3270 created from cgraph_create_clone
3271 (cgraph_node *create_virtual_clone (vec<cgraph_edge *> redirect_callers,
3272 vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, const char * suffix)):
3273 created from cgraph_create_virtual_clone
3274 (cgraph_node *find_replacement (void)): created from cgraph_find_replacement_node
3275 (cgraph_node *create_version_clone (tree new_decl, vec<cgraph_edge *> redirect_callers,
3276 bitmap bbs_to_copy)): created from cgraph_copy_node_for_versioning
3277 (cgraph_node *create_version_clone_with_body (vec<cgraph_edge *> redirect_callers,
3278 vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, bool skip_return,
3279 bitmap bbs_to_copy, basic_block new_entry_block, const char *clone_name)):
3280 created from cgraph_function_version_info
3281 (struct cgraph_function_version_info *insert_new_function_version (void)):
3282 created from insert_new_cgraph_node_version
3283 (struct cgraph_function_version_info *function_version (void)): created from
3284 get_cgraph_node_version
3285 (void analyze (void)): created from analyze_function
3286 (cgraph_node * create_thunk (tree alias, tree, bool this_adjusting,
3287 HOST_WIDE_INT fixed_offset, HOST_WIDE_INT virtual_value, tree virtual_offset,
3288 tree real_alias) cgraph_add_thunk
3289 (inline cgraph_node *get_alias_target (void)): created from cgraph_alias_target
3290 (cgraph_node *ultimate_alias_target (availability *availability = NULL)):
3291 created from cgraph_function_or_thunk_node
3292 (bool expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)):
3293 created from expand_thunk
3294 (void reset (void)): created from cgraph_reset_node
3295 (void create_wrapper (cgraph_node *target)): created from cgraph_make_wrapper
3296 (void DEBUG_FUNCTION verify_node (void)): created from verify_cgraph_node
3297 (void remove (void)): created from cgraph_remove_node
3298 (void dump (FILE *f)): created from dump_cgraph_node
3299 (void DEBUG_FUNCTION debug (void)): created from debug_cgraph_node
3300 (bool get_body (void)): created from cgraph_get_body
3301 (void release_body (void)): created from cgraph_release_function_body
3302 (void unnest (void)): created from cgraph_unnest_node
3303 (void make_local (void)): created from cgraph_make_node_local
3304 (void mark_address_taken (void)): created from cgraph_mark_address_taken_node
3305 (struct cgraph_edge *create_edge (cgraph_node *callee, gimple call_stmt,
3306 gcov_type count, int freq)): created from cgraph_create_edge
3307 (struct cgraph_edge *create_indirect_edge (gimple call_stmt, int ecf_flags,
3308 gcov_type count, int freq)): created from cgraph_create_indirect_edge
3309 (void create_edge_including_clones (struct cgraph_node *callee, gimple old_stmt,
3310 gimple stmt, gcov_type count, int freq, cgraph_inline_failed_t reason)):
3311 created from cgraph_create_edge_including_clones
3312 (cgraph_edge *get_edge (gimple call_stmt)): created from cgraph_edge
3313 (vec<cgraph_edge *> collect_callers (void)): created from collect_callers_of_node
3314 (void remove_callers (void)): created from cgraph_node_remove_callers
3315 (void remove_callees (void)): created from cgraph_node_remove_callees
3316 (enum availability get_availability (void)): created from cgraph_function_body_availability
3317 (void set_nothrow_flag (bool nothrow)): created from cgraph_set_nothrow_flag
3318 (void set_const_flag (bool readonly, bool looping)): created from cgraph_set_const_flag
3319 (void set_pure_flag (bool pure, bool looping)): created from cgraph_set_pure_flag
3320 (void call_duplication_hooks (cgraph_node *node2)): created from
3321 cgraph_call_node_duplication_hooks
3322 (bool call_for_symbol_and_aliases (bool (*callback) (cgraph_node *, void *),
3323 void *data, bool include_overwritable)): created from cgraph_for_node_and_aliases
3324 (bool call_for_symbol_thunks_and_aliases (bool (*callback) (cgraph_node *node, void *data),
3325 void *data, bool include_overwritable)): created from cgraph_for_node_thunks_and_aliases
3326 (void call_function_insertion_hooks (void)):
3327 created from cgraph_call_function_insertion_hooks
3328 (inline void mark_force_output (void)): created from cgraph_mark_force_output_node
3329 (bool local_p (void)): created from cgraph_local_node
3330 (bool can_be_local_p (void)): created from cgraph_node_can_be_local_p
3331 (bool cannot_return_p (void)): created from cgraph_node_cannot_return
3332 (bool only_called_directly_p (void)): created from cgraph_only_called_directly_p
3333 (inline bool only_called_directly_or_aliased_p (void)):
3334 created from cgraph_only_called_directly_or_aliased_p
3335 (bool will_be_removed_from_program_if_no_direct_calls_p (void)):
3336 created from cgraph_will_be_removed_from_program_if_no_direct_calls
3337 (bool can_remove_if_no_direct_calls_and_refs_p (void)):
3338 created from cgraph_can_remove_if_no_direct_calls_and_refs_p
3339 (bool can_remove_if_no_direct_calls_p (void)):
3340 created from cgraph_can_remove_if_no_direct_calls_p
3341 (inline bool has_gimple_body_p (void)):
3342 created from cgraph_function_with_gimple_body_p
3343 (bool optimize_for_size_p (void)): created from cgraph_optimize_for_size_p
3344 (static void dump_cgraph (FILE *f)): created from dump_cgraph
3345 (static inline void debug_cgraph (void)): created from debug_cgraph
3346 (static void record_function_versions (tree decl1, tree decl2)):
3347 created from record_function_versions
3348 (static void delete_function_version (tree decl)):
3349 created from delete_function_version
3350 (static void add_new_function (tree fndecl, bool lowered)):
3351 created from cgraph_add_new_function
3352 (static inline cgraph_node *get (const_tree decl)): created from cgraph_get_node
3353 (static cgraph_node * create (tree decl)): created from cgraph_create_node
3354 (static cgraph_node * create_empty (void)): created from cgraph_create_empty_node
3355 (static cgraph_node * get_create (tree)): created from cgraph_get_create_node
3356 (static cgraph_node *get_for_asmname (tree asmname)):
3357 created from cgraph_node_for_asm
3358 (static cgraph_node * create_same_body_alias (tree alias, tree decl)):
3359 created from cgraph_same_body_alias
3360 (static bool used_from_object_file_p_worker (cgraph_node *node,
3361 void *): new function
3362 (static bool non_local_p (cgraph_node *node, void *)):
3363 created from cgraph_non_local_node_p_1
3364 (static void DEBUG_FUNCTION verify_cgraph_nodes (void)):
3365 created from verify_cgraph
3366 (static bool make_local (cgraph_node *node, void *)):
3367 created from cgraph_make_node_local
3368 (static cgraph_node *create_alias (tree alias, tree target)):
3369 created from cgraph_create_function_alias
3370 (static cgraph_edge * create_edge (cgraph_node *caller, cgraph_node *callee,
3371 gimple call_stmt, gcov_type count, int freq, bool indir_unknown_callee)):
3372 created from cgraph_create_edge_1
3373 * cgraph.h (varpool_node):
3374 (void remove (void)): created from varpool_remove_node
3375 (void dump (FILE *f)): created from dump_varpool_node
d52f5295 3376
785129aa
RB
33772014-07-24 Richard Biener <rguenther@suse.de>
3378
3379 PR ipa/61823
3380 * tree-ssa-structalias.c (create_variable_info_for_1):
3381 Use varpool_get_constructor.
3382 (create_variable_info_for): Likewise.
3383
8f454e9f
JW
33842014-07-24 Jiong Wang <jiong.wang@arm.com>
3385
3386 * config/aarch64/aarch64.c (aarch64_expand_epilogue): Don't
3387 subtract outgoing area size when restoring stack_pointer_rtx.
3388
8ae9698d
NC
33892014-07-24 Nick Clifton <nickc@redhat.com>
3390
3391 * config/rx/rx.md (stack_push): Adjust RTL to account for the fact
3392 that operations are taking place in parallel.
3393 * config/rx.h (FRAME_POINTER_CFA_OFFSET): Delete.
3394
34f2124e
TS
33952014-07-24 Thomas Schwinge <thomas@codesourcery.com>
3396
3397 * omp-low.c (extract_omp_for_data): Add missing break statement.
3398
b4c9af96
RB
33992014-07-24 Richard Biener <rguenther@suse.de>
3400
3401 * tree-inline.h (estimate_move_cost): Add speed_p parameter.
3402 * tree-inline.c (estimate_move_cost): Add speed_p parameter
3403 and adjust MOVE_RATIO query accordingly.
3404 (estimate_num_insns): Adjust callers.
3405 * ipa-prop.c (ipa_populate_param_decls): Likewise.
3406 * ipa-cp.c (gather_context_independent_values,
3407 estimate_local_effects): Likewise.
3408 * ipa-split.c (consider_split): Likewise.
3409
997ef9e7
TS
34102014-07-24 Trevor Saunders <tsaunders@mozilla.com>
3411
3412 * config/i386/driver-i386.c: Remove names of unused arguments and
3413 unnecessary unused attributes.
3414 * config/i386/host-mingw32.c: Likewise.
3415 * config/i386/i386.c: Likewise.
3416 * config/i386/winnt-stubs.c: Likewise.
3417 * config/i386/winnt.c: Likewise.
3418
159313d9
JW
34192014-07-23 Jiong Wang <jiong.wang@arm.com>
3420
3421 * config/aarch64/aarch64.c (aarch64_popwb_pair_reg)
3422 (aarch64_gen_loadwb_pair): New helper function.
3423 (aarch64_expand_epilogue): Simplify code using new helper functions.
3424 * config/aarch64/aarch64.md (loadwb_pair<GPF:mode>_<P:mode>): Define.
3425
80c11907
JW
34262014-07-23 Jiong Wang <jiong.wang@arm.com>
3427
3428 * config/aarch64/aarch64.c (aarch64_pushwb_pair_reg)
3429 (aarch64_gen_storewb_pair): New helper function.
3430 (aarch64_expand_prologue): Simplify code using new helper functions.
3431 * config/aarch64/aarch64.md (storewb_pair<GPF:mode>_<P:mode>): Define.
3432
8ed2fc62
JW
34332014-07-23 Jiong Wang <jiong.wang@arm.com>
3434
3435 * config/aarch64/aarch64.md: (aarch64_save_or_restore_callee_saves):
3436 Rename to aarch64_save_callee_saves, remove restore code.
3437 (aarch64_restore_callee_saves): New function.
3438
0ec74a1e
JW
34392014-07-23 Jiong Wang <jiong.wang@arm.com>
3440
3441 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Deleted.
3442 (aarch64_save_callee_saves): New function to handle reg save
3443 for both core and vectore regs.
3444
72df5c1f
JW
34452014-07-23 Jiong Wang <jiong.wang@arm.com>
3446
3447 * config/aarch64/aarch64.c (aarch64_gen_load_pair)
3448 (aarch64_gen_store_pair): New helper function.
3449 (aarch64_save_or_restore_callee_save_registers)
3450 (aarch64_save_or_restore_fprs): Use new helper functions.
3451
64dedd72
JW
34522014-07-23 Jiong Wang <jiong.wang@arm.com>
3453
3454 * config/aarch64/aarch64.c (aarch64_next_callee_save): New function.
3455 (aarch64_save_or_restore_callee_save_registers)
3456 (aarch64_save_or_restore_fprs): Use aarch64_next_callee_save.
3457
bc5f5f36
JW
34582014-07-23 Jiong Wang <jiong.wang@arm.com>
3459
3460 * config/aarch64/aarch64.c
3461 (aarch64_save_or_restore_callee_save_registers)
3462 (aarch64_save_or_restore_fprs): Hoist calculation of register rtx.
3463
55185278
JW
34642014-07-23 Jiong Wang <jiong.wang@arm.com>
3465
3466 * config/aarch64/aarch64.c
3467 (aarch64_save_or_restore_callee_save_registers)
3468 (aarch64_save_or_restore_fprs): Remove 'increment'.
3469
0b4a9743
JW
34702014-07-23 Jiong Wang <jiong.wang@arm.com>
3471
3472 * config/aarch64/aarch64.c
3473 (aarch64_save_or_restore_callee_save_registers)
3474 (aarch64_save_or_restore_fprs): Use register offset in
3475 cfun->machine->frame.reg_offset.
3476
7bf7a695
JW
34772014-07-23 Jiong Wang <jiong.wang@arm.com>
3478
3479 * config/aarch64/aarch64.c
3480 (aarch64_save_or_restore_callee_save_registers)
3481 (aarch64_save_or_restore_fprs): Remove base_rtx.
3482
ec01976b
JW
34832014-07-23 Jiong Wang <jiong.wang@arm.com>
3484
3485 * config/aarch64/aarch64.c
3486 (aarch64_save_or_restore_callee_save_registers): Rename 'offset'
3487 to 'start_offset'. Remove local variable 'start_offset'.
3488
b8a404dc
JW
34892014-07-23 Jiong Wang <jiong.wang@arm.com>
3490
3491 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Change
3492 type to HOST_WIDE_INT.
3493
a007a21c
JW
34942014-07-23 Jiong Wang <jiong.wang@arm.com>
3495
3496 * config/aarch64/aarch64.c (aarch64_expand_prologue)
3497 (aarch64_save_or_restore_fprs)
3498 (aarch64_save_or_restore_callee_save_registers): GNU-Stylize code.
3499
c9719148
SH
35002014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
3501
3502 * config/arm/t-rtems-eabi: Add
3503 mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard,
3504 mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard,
3505 mbig-endian/mthumb/march=armv7-r, and
3506 mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
3507 multilibs.
3508
00020dda
SH
35092014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
3510 Chris Johns <chrisj@rtems.org>
3511 Joel Sherrill <joel.sherrill@oarcorp.com>
3512
3513 * config.gcc: Add nios2-*-rtems*.
3514 * config/nios2/rtems.h: New file.
3515 * gcc/config/nios2/t-rtems: New file.
3516
b50a9d38
SB
35172014-07-23 Segher Boessenkool <segher@kernel.crashing.org>
3518
3519 PR target/61396
3520 * config/rs6000/rs6000.c (paired_expand_vector_init): Only allow
3521 constant numbers, not general constants.
3522 (rs6000_expand_vector_init): Ditto.
3523
d10ee722
NS
35242014-07-23 Nathan Sidwell <nathan@acm.org>
3525
3526 * gcov-tool.c (gcov_list): Declare here.
3527 (set_gcov_list): Remove.
3528 (gcov_output_files): Set gcov_list directly.
3529
861d14df
HS
35302014-07-23 Host Schirmeier <horst@schirmeier.com>
3531
3532 * doc/invoke.texi: -O3 enables -ftree-loop-distribute-patterns.
3533
47e1e86f
JW
35342014-07-23 Jiong Wang <jiong.wang@arm.com>
3535
3536 * config/arm/arm.c (arm_get_frame_offsets): If both r3 and other
3537 callee-saved registers are available for padding purpose
3538 and r3 is not mandatory, then prefer use those callee-saved
3539 instead of r3.
3540
e9a8fc23
RB
35412014-07-23 Richard Biener <rguenther@suse.de>
3542
3543 * params.def (PARAM_MAX_COMBINE_INSNS): New.
3544 * combine.c: Include statistics.h and params.h.
3545 (combine_instructions): Guard three and four insn combines
3546 with max-combine-insns value. Record statistics for combines
3547 performed.
3548 * doc/invoke.texi (max-combine-insns): Document new param.
3549
322a0b39
RG
35502014-07-23 Roman Gareev <gareevroman@gmail.com>
3551
3552 * graphite-isl-ast-to-gimple.c:
3553 (translate_isl_ast_node_block): New function.
3554 (translate_isl_ast): Add calling of translate_isl_ast_node_block.
3555
4a53d6a6
RG
3556 * gcc.dg/graphite/isl-ast-gen-blocks-1.c: New testcase.
3557 * gcc.dg/graphite/isl-ast-gen-blocks-2.c: New testcase.
322a0b39 3558
fb3764d1
RG
35592014-07-23 Roman Gareev <gareevroman@gmail.com>
3560
3561 * graphite-isl-ast-to-gimple.c:
3562 (get_max_schedule_dimensions): New function.
3563 (extend_schedule): Likewise.
3564 (generate_isl_schedule): Add calling of extend_schedule and
3565 get_max_schedule_dimensions.
3566
781aeb73
KT
35672014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3568
3569 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle CLRSB, CLZ.
3570 (case UNSPEC): Handle UNSPEC_RBIT.
3571
dfc98d99
KT
35722014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3573
3574 * config/aarch64/aarch64.md: Delete UNSPEC_CLS.
3575 (clrsb<mode>2): Use clrsb RTL code instead of UNSPEC_CLS.
3576
0ce0459e
KT
35772014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3578
3579 * config/aarch64/arm_neon.h (vbsl_f64): New intrinsic.
3580
5493d313
RG
35812014-07-22 Roman Gareev <gareevroman@gmail.com>
3582
3583 * graphite-isl-ast-to-gimple.c:
3584 Add inclusion of gimple-ssa.h, tree-into-ssa.h.
3585 (ivs_params_clear):
3586 (build_iv_mapping): New function.
3587 (translate_isl_ast_node_user): Likewise.
3588 (translate_isl_ast): Add calling of translate_isl_ast_node_user.
3589
4a53d6a6
RG
3590 * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: New testcase.
3591 * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: New testcase.
3592 * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: New testcase.
5493d313 3593
62e79a48
BC
35942014-07-21 Bin Cheng <bin.cheng@arm.com>
3595
3596 PR target/55701
3597 * config/arm/arm.md (setmem): New pattern.
3598 * config/arm/arm-protos.h (struct tune_params): New fields.
3599 (arm_gen_setmem): New prototype.
3600 * config/arm/arm.c (arm_slowmul_tune): Initialize new fields.
3601 (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
3602 (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
3603 (arm_cortex_a8_tune, arm_cortex_a7_tune): Ditto.
3604 (arm_cortex_a15_tune, arm_cortex_a53_tune): Ditto.
3605 (arm_cortex_a57_tune, arm_cortex_a5_tune): Ditto.
3606 (arm_cortex_a9_tune, arm_cortex_a12_tune): Ditto.
3607 (arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
3608 (arm_const_inline_cost): New function.
3609 (arm_block_set_max_insns): New function.
3610 (arm_block_set_non_vect_profit_p): New function.
3611 (arm_block_set_vect_profit_p): New function.
3612 (arm_block_set_unaligned_vect): New function.
3613 (arm_block_set_aligned_vect): New function.
3614 (arm_block_set_unaligned_non_vect): New function.
3615 (arm_block_set_aligned_non_vect): New function.
3616 (arm_block_set_vect, arm_gen_setmem): New functions.
3617
8cde4e71
BC
36182014-07-21 Bin Cheng <bin.cheng@arm.com>
3619
3620 * config/arm/arm.c (output_move_neon): Handle REG explicitly.
3621
9c3c2608
UB
36222014-07-21 Uros Bizjak <ubizjak@gmail.com>
3623
87adf25a 3624 PR target/61855
9c3c2608
UB
3625 * config/i386/avx512fintrin.h: Move constants for mantissa extraction
3626 out of #ifdef __OPTIMIZE__.
3627
e304caa4
EB
36282014-07-20 Eric Botcazou <ebotcazou@adacore.com>
3629
3630 * cse.c (exp_equiv_p) <MEM>: For GCSE, return 0 for expressions with
3631 different trapping status if -fnon-call-exceptions is enabled.
3632
d6cd6e22
EB
36332014-07-20 Eric Botcazou <ebotcazou@adacore.com>
3634
3635 * expr.c (store_field): Handle VOIDmode for calls that return values
3636 in multiple locations.
3637
fbd86cc6
BS
36382014-07-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3639
9c3c2608 3640 * config/rs6000/altivec.md (unspec enum): Fix typo in UNSPEC_VSLDOI.
fbd86cc6
BS
3641 (altivec_vsldoi_<mode>): Likewise.
3642
2a466686
RG
36432014-07-20 Roman Gareev <gareevroman@gmail.com>
3644
9c3c2608
UB
3645 * graphite-isl-ast-to-gimple.c: Fixes a formatting issue related
3646 to the number of characters in the line.
2a466686 3647
55d1bd59
RG
36482014-07-20 Roman Gareev <gareevroman@gmail.com>
3649
9c3c2608
UB
3650 * graphite-isl-ast-to-gimple.c: Add using of
3651 build_nonstandard_integer_type instead of int128_integer_type_node.
55d1bd59 3652
0c92e488
EB
36532014-07-19 Eric Botcazou <ebotcazou@adacore.com>
3654
3655 * toplev.c (output_stack_usage): Adjust the location of the warning.
3656
49cc765d
DC
36572014-07-19 Daniel Cederman <cederman@gaisler.com>
3658
3659 * config/sparc/sync.md (*membar_storeload_leon3): New insn.
3660 (*membar_storeload): Disable for LEON3.
3661
6742052a
BE
36622014-07-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3663
3664 PR rtl-optimization/61461
3665 * sched-vis.c (print_pattern) <ADDR_VEC, ADDR_DIFF_VEC>: Fixed.
3666
622cd23a
UB
36672014-07-18 Uros Bizjak <ubizjak@gmail.com>
3668
3669 PR target/61794
3670 * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
3671 Fix instruction constraint.
3672 (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
3673
4ac2a3f0
JW
36742014-07-18 Jonathan Wakely <jwakely@redhat.com>
3675
3676 * doc/extend.texi (Template Instantiation): Remove stray parenthesis.
3677
19ac960a
CJW
36782014-07-18 Chung-Ju Wu <jasonwucj@gmail.com>
3679
3680 * config/nds32/nds32.c (nds32_can_eliminate): Follow the
3681 GNU coding standards.
3682 (nds32_register_move_cost): Likewise.
3683 (nds32_memory_move_cost): Likewise.
3684 (nds32_address_cost): Likewise.
3685
3caa5822
JBG
36862014-07-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
3687
3688 * config/mmix/mmix.c (mmix_intval): Drop unused automatic variable.
3689
03cb4097
JDA
36902014-07-17 John David Anglin <danglin@gcc.gnu.org>
3691
3692 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for
3693 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
3694 and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
3695 (HAVE_sync_compare_and_swapqi): Define.
3696 (HAVE_sync_compare_and_swaphi): Likewise.
3697 (HAVE_sync_compare_and_swapsi): Likewise.
3698
1435fa48
RS
36992014-07-17 Richard Sandiford <rdsandiford@googlemail.com>
3700
3701 * config/mips/p5600.md: Add missing cpu tests.
3702
1f960ced
KT
37032014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3704
3705 * config/aarch64/arm_neon.h (vfma_f64): New intrinsic.
3706 (vmla_f64): Likewise.
3707 (vfms_f64): Likewise.
3708 (vmls_f64): Likewise.
3709
61263118
KT
37102014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3711
3712 * config/aarch64/aarch64.c (aarch64_frint_unspec_p): New function.
3713 (aarch64_rtx_costs): Handle FIX, UNSIGNED_FIX, UNSPEC.
3714
ec454483
KT
37152014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3716
3717 * config/aarch64/arm_neon.h (vmlal_high_lane_s16): Fix type.
3718 (vmlal_high_lane_s32): Likewise.
3719 (vmlal_high_lane_u16): Likewise.
3720 (vmlal_high_lane_u32): Likewise.
3721 (vmlsl_high_lane_s16): Likewise.
3722 (vmlsl_high_lane_s32): Likewise.
3723 (vmlsl_high_lane_u16): Likewise.
3724 (vmlsl_high_lane_u32): Likewise.
3725
1d61feeb
TG
37262014-07-17 Terry Guo <terry.guo@arm.com>
3727
3728 * config/arm/types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg.
3729 (alus_reg): Renamed to alus_sreg.
3730 * config/arm/arm-fixed.md: Change type of non-dsp instructions
3731 from alu_reg to alu_sreg. Change type of dsp instructions from
3732 alu_reg to alu_dsp_reg.
3733 * config/arm/thumb1.md: Likewise.
3734 * config/arm/thumb2.md: Likewise.
3735 * config/arm/arm.c (cortexa7_older_only): Use new ALU type names.
3736 * config/arm/arm1020e.md (1020alu_op): Replace alu_reg and alus_reg
3737 with alu_sreg and alus_sreg.
3738 * config/arm/arm1026ejs.md (alu_op): Likewise.
3739 * config/arm/arm1136jfs.md (11_alu_op): Likewise.
3740 * config/arm/arm926ejs.md (9_alu_op): Likewise.
3741 * config/arm/fa526.md (526_alu_op): Likewise.
3742 * config/arm/fa606te.md (606te_alu_op): Likewise.
3743 * config/arm/fa626te.md (626te_alu_op): Likewise.
3744 * config/arm/fa726te.md (726te_alu_op): Likewise.
3745 * config/arm/fmp626.md (mp626_alu_op): Likewise.
3746 * config/arm/arm.md (core_cycles): Replace alu_reg and alus_reg with
9c3c2608 3747 alu_sreg, alu_dsp_reg and alus_sreg.
1d61feeb
TG
3748 * config/arm/cortex-a15.md (cortex_a15_alu): Likewise.
3749 * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
3750 * config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
3751 * config/arm/cortex-a7.md (cortex_a7_alu_sreg): Likewise.
3752 * config/arm/cortex-a8.md (cortex_a8_alu): Likewise.
3753 * config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
3754 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
3755 * config/arm/cortex-r4.md (cortex_r4_alu): Likewise.
3756 * config/arm/marvell-pj4.md (pj4_alu, pj4_alu_conds): Likewise.
3757 * config/aarch64/aarch64.md (*addsi3_aarch64, *addsi3_aarch64_uxtw,
3758 subsi3, *adddi3_aarch64, *subsi3_uxtw, subdi3, absdi2, neg<mode>2,
9c3c2608 3759 *negsi2_uxtw, tlsle_small_<mode>): Rename type alu_reg to alu_sreg.
1d61feeb
TG
3760 (add<mode>3_compare0, *addsi3_compare0_uxtw, *add<mode>3nr_compare0,
3761 sub<mode>3_compare0, *compare_neg<mode>, *neg<mode>2_compare0,
9c3c2608 3762 subsi3_compare0_uxtw, *negsi2_compare0_uxtw, *cmp<mode>): Rename type
1d61feeb
TG
3763 alus_reg to alus_sreg.
3764
4b1d78b4
AS
37652014-07-17 Andreas Schwab <schwab@linux-m68k.org>
3766
3767 * real.c (encode_ieee_extended_motorola): Clear integer bit in the
3768 infinity format.
3769
bf95b629
RB
37702014-07-17 Richard Biener <rguenther@suse.de>
3771
3772 PR rtl-optimization/61801
9c3c2608
UB
3773 * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT
3774 don't set reg_pending_barrier if it appears in a debug-insn.
bf95b629 3775
3fad4d00
DD
37762014-07-16 DJ Delorie <dj@redhat.com>
3777
3778 * config/rx/rx.c (rx_option_override): Fix alignment values.
3779 (rx_align_for_label): Likewise.
3780
e832590c 37812014-07-17 Hans-Peter Nilsson <hp@axis.com>
3a213afb 3782
ab4e53fe
HPN
3783 PR target/61737.
3784 * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
3785 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3786 (cris_cannot_force_const_mem, cris_legitimate_constant_p): New
3787 functions.
3788 (cris_print_index, cris_print_operand, cris_constant_index_p)
3789 (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
3790 (cris_address_cost): Ditto last CONSTANT_P.
3791 (cris_symbol_type_of): Rename from cris_pic_symbol_type_of. All
9c3c2608
UB
3792 callers changed. Yield cris_offsettable_symbol for non-PIC
3793 constant symbolic expressions including labels. Yield cris_unspec
ab4e53fe
HPN
3794 for all unspecs.
3795 (cris_expand_pic_call_address): New parameter MARKERP. Set its
9c3c2608
UB
3796 target to pic_offset_table_rtx for calls that will likely go
3797 through PLT, const0_rtx when they can't. All callers changed.
ab4e53fe
HPN
3798 Assert flag_pic. Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
3799 symbolic expressions to be PICified. Remove second, redundant,
3800 assert on can_create_pseudo_p returning non-zero. Use
3801 replace_equiv_address_nv, not replace_equiv_address, for final
3802 operand update.
3803 * config/cris/cris.md ("movsi"): Move variable t to pattern
3804 toplevel. Adjust assert for new cris_symbol_type member. Use
3805 CONSTANT_P instead of CONSTANT_ADDRESS_P.
3806 ("*movsi_internal") <case 9>: Make check for valid unspec operands
3807 for lapc stricter.
9c3c2608 3808 <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes.
ab4e53fe
HPN
3809 ("call", "call_value"): Use second incoming operand as a marker
3810 for pic-offset-table-register being used.
3811 ("*expanded_call_non_v32", "*expanded_call_v32")
9c3c2608 3812 ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
ab4e53fe 3813 second incoming operand to CALL, match cris_call_type_marker.
9c3c2608 3814 ("*expanded_call_value_side"): Ditto. Disable before reload_completed.
ab4e53fe
HPN
3815 ("*expanded_call_side"): Ditto. Fix typo in comment.
3816 (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
3817 CONSTANT_P.
3818 * config/cris/predicates.md ("cris_call_type_marker"): New predicate.
3819 * config/cris/cris.h (CRIS_CONSTANT_P): New macro.
3820 (enum cris_symbol_type): Rename from cris_pic_symbol_type. All
9c3c2608 3821 users changed. Add members cris_offsettable_symbol and cris_unspec.
ab4e53fe
HPN
3822 (cris_symbol_type): Rename from cris_pic_symbol_type.
3823 * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
9c3c2608 3824 just CONSTANT_P.
ab4e53fe
HPN
3825 * config/cris/cris-protos.h (cris_symbol_type_of,
3826 cris_expand_pic_call_address): Adjust prototypes.
3827 (cris_legitimate_constant_p): New prototype.
3828
3a213afb
HPN
3829 * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
3830 an existing tmake_file. Don't add t-slibgcc and t-linux.
3831
c6f884c0
JM
38322014-07-17 Jason Merrill <jason@redhat.com>
3833
3834 PR c++/61623
3835 * symtab.c (symtab_remove_from_same_comdat_group): Also
3836 set_comdat_group to NULL_TREE.
3837 (verify_symtab): Fix diagnostic.
3838
9c3c2608 38392014-07-16 David Wohlferd <dw@LimeGreenSocks.com>
6ed6e4e1
DW
3840
3841 PR target/61662
3842 * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
3843
c468587a
DS
38442014-07-16 Dodji Seketeli <dodji@redhat.com>
3845
3846 Support location tracking for built-in macro tokens
9c3c2608
UB
3847 * input.h (is_location_from_builtin_token): New function declaration.
3848 * input.c (is_location_from_builtin_token): New function definition.
c468587a
DS
3849 * toplev.c (general_init): Tell libcpp what the pre-defined
3850 spelling location for built-in tokens is.
3851
f5989b06
JJ
38522014-07-16 Jakub Jelinek <jakub@redhat.com>
3853
3854 * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
3855 on the FUNCTION_DECL.
3856
3defdb14
RB
38572014-07-16 Richard Biener <rguenther@suse.de>
3858
3859 PR other/61782
3860 * doc/extend.texi (always_inline): Clarify.
3861
a6d0b750
EC
38622014-07-15 Eric Christopher <echristo@gmail.com>
3863
3864 * doc/invoke.texi (Link Options): Document -z option.
3865
286934b4
UB
38662014-07-15 Uros Bizjak <ubizjak@gmail.com>
3867
3868 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): New.
3869 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
3870
38712014-07-15 Jan Hubicka <hubicka@ucw.cz>
6259a78a
JH
3872
3873 * fold-const.c (fold_checksum_tree): Fix typo in previous patch.
3874
c99c885e
BS
38752014-07-15 Bernd Schmidt <bernds@codesourcery.com>
3876
3877 * asan.c (asan_finish_file): Use varpool_finalize_decl instead of
3878 varpool_assemble_decl.
3879 * varpool.c (varpool_assemble_decl): Assert that node->definition is
3880 true.
3881
441f96ff
MM
38822014-07-15 Michael Matz <matz@suse.de>
3883
3884 PR rtl-optimization/61772
286934b4 3885 * ifcvt.c (dead_or_predicable): Check jump to be free of side effects.
441f96ff 3886
78d22941
RB
38872014-07-15 Richard Biener <rguenther@suse.de>
3888
3889 * opts.c (default_options_table): Disable bit-ccp at -Og.
3890
6ae50642
JH
38912014-07-14 Jan Hubicka <hubicka@ucw.cz>
3892
286934b4 3893 * fold-const.c (fold_checksum_tree): Move checking of DECL_RESULT.
6ae50642 3894
ad115a3c
JH
38952014-07-14 Jan Hubicka <hubicka@ucw.cz>
3896
3897 * tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL,
3898 NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL;
3899 call langhook for unknown declaration.
3900 (find_decls_types_r): Do not walk DECL_ARGUMENT_FLD.
3901 * tree.h (DECL_ARGUMENTS): Update.
3902 * print-tree.c (print_node): Update.
3903 * tree-core.h (tree_decl_non_common): Remove arguments.
3904 (tree_function_decl): Add arguments.
3905
d8e11262
RE
39062014-07-14 Richard Earnshaw <rearnsha@arm.com>
3907
3908 * aarch64.md (add_losym_<mode>): Set type to alu_imm.
3909
236aff72
RB
39102014-07-14 Richard Biener <rguenther@suse.de>
3911
3912 PR tree-optimization/61779
3913 * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
3914 simplifying a condition.
3915
3b57ff81
RB
39162014-07-14 Richard Biener <rguenther@suse.de>
3917
3918 * builtins.c (c_strlen): Make only_value == 2 really only
3919 affect warning generation.
3920
406bfdd3
RB
39212014-07-14 Richard Biener <rguenther@suse.de>
3922
3923 PR tree-optimization/61757
3924 PR tree-optimization/61783
3925 PR tree-optimization/61787
3926 * tree-ssa-dom.c (record_equality): Revert canonicalization
3927 change and add comment.
3928 (propagate_rhs_into_lhs): Revert previous fix, removing
3929 loop depth restriction again.
3930
04ae06da
KT
39312014-07-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3932
3933 * config/arm/cortex-a15.md (cortex_a15_alu): Handle clz, rbit.
3934 * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
3935 * config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
3936 * config/arm/cortex-a7.md (cortex_a7_alu_reg): Likewise.
3937 * config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
3938 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
3939 * config/arm/cortex-r4.md (cortex_r4_alu): Likewise.
3940
0241e486
RB
39412014-07-14 Richard Biener <rguenther@suse.de>
3942
3943 * cgraph.h (decl_in_symtab_p): Make inline.
3944
03e0ad94
JJ
39452014-07-14 Jakub Jelinek <jakub@redhat.com>
3946
b108f48f
JJ
3947 PR middle-end/61294
3948 * doc/invoke.texi (-Wmemset-transposed-args): Document.
3949
03e0ad94
JJ
3950 PR target/61656
3951 * config/i386/i386.c (classify_argument): Don't merge classes above
3952 number of words.
3953
89330618
JH
39542014-07-13 Jan Hubicka <hubicka@ucw.cz>
3955
3956 * cgraph.h (symtab_node): Add nonzero_address.
3957 (decl_in_symtab_p): Break out from ...
3958 (symtab_get_node): ... here.
3959 * fold-const.c: Include cgraph.h
3960 (tree_single_nonzero_warnv_p): Use symtab to determine
3961 if symbol is non-zero.
3962 * symtab.c (symtab_node::nonzero_address): New method.
3963
69dc8208
JH
39642014-07-12 Jan Hubicka <hubicka@ucw.cz>
3965
3966 * ipa-devirt.c (odr_subtypes_equivalent_p): Disable temporary hack
3967 forgotten in previous commit.
3968
c59f7203
JH
39692014-07-12 Jan Hubicka <hubicka@ucw.cz>
3970
3971 * tree.c (type_in_anonymous_namespace_p): Ignore TREE_PUBLIC
3972 on builtin types.
3973 * ipa-devirt.c: Include stor-layout.h and intl.h
3974 (odr_subtypes_equivalent_p): New function.
3975 (warn_odr): New function.
3976 (warn_type_mismatch): New function.
3977 (odr_types_equivalent_p): New function.
3978 (add_type_duplicate): Use it.
3979 * common.opt (Wodr): New flag.
3980 * doc/invoke.texi (Wodr): Document new warning.
3981
917dd9bf
JH
39822014-07-12 Jan Hubicka <hubicka@ucw.cz>
3983
3984 * timevar.def (TV_IPA_LTO_DECL_INIT_IO): Remove.
3985 (TV_IPA_LTO_CTORS_IN, TV_IPA_LTO_CTORS_OUT): New timevar.
3986 * cgraph.c (cgraph_get_body): Push GIMPLE_IN timevar.
3987 (varpool_get_constructor): Push CTORS_IN timevar.
286934b4 3988 * lto-streamer-out.c (lto_output): Push TV_IPA_LTO_CTORS_OUT timevar.
917dd9bf 3989
e0770e2a
UB
39902014-07-12 Uros Bizjak <ubizjak@gmail.com>
3991
3992 * config/i386/i386-builtin-types.def: Add USHORT_FTYPE_VOID.
3993 Remove VOID_FTYPE_PUSHORT.
3994 * config/i386/i386.c (bdesc_special_args) <__builtin_ia32_fnstsw>:
3995 Change code to USHORT_FTYPE_VOID.
3996 (ix86_expand_special_args_builtin): Handle USHORT_FTYPE_VOID.
3997 (ix86_expand_builtin): Remove IX86_BUILTIN_FNSTSW handling.
3998 (ix86_atomic_assign_expand_fenv): Update for
3999 __builtin_ia32_fnstsw changes.
4000 * config/i386/i386.md (x86_fnstsw_1): Set length unconditionally to 2.
4001 (fnstsw): Change operand 0 to nonimmediate operand.
4002
0b83e688
JH
40032014-07-11 Jan Hubicka <hubicka@ucw.cz>
4004
4005 * vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.h
4006 (varpool_get_constructor): New function.
4007 (varpool_ctor_useable_for_folding_p): Break out from ...
4008 (ctor_for_folding): ... here; use varpool_get_constructor.
4009 (varpool_assemble_decl): Likewise.
4010 * lto-streamer.h (struct output_block): Turn cgraph_node
4011 to symbol filed.
4012 (lto_input_variable_constructor): Declare.
4013 * ipa-visibility.c (function_and_variable_visibility): Use
4014 varpool_get_constructor.
4015 * cgraph.h (varpool_get_constructor): Declare.
4016 (varpool_ctor_useable_for_folding_p): New function.
4017 * lto-streamer-out.c (get_symbol_initial_value): Take encoder
4018 parameter; return error_mark_node for non-trivial constructors.
e0770e2a 4019 (lto_write_tree_1, DFS_write_tree): Update use of
0b83e688
JH
4020 get_symbol_initial_value.
4021 (output_function): Update initialization of symbol.
4022 (output_constructor): New function.
4023 (copy_function): Rename to ..
4024 (copy_function_or_variable): ... this one; handle vars too.
4025 (lto_output): Output variable sections.
4026 * lto-streamer-in.c (input_constructor): New function.
4027 (lto_read_body): Rename from ...
e0770e2a 4028 (lto_read_body_or_constructor): ... this one; handle vars too.
0b83e688
JH
4029 (lto_input_variable_constructor): New function.
4030 * ipa-prop.c (ipa_prop_write_jump_functions,
4031 ipa_prop_write_all_agg_replacement): Update.
4032 * lto-cgraph.c (compute_ltrans_boundary): Use it.
4033 (output_cgraph_opt_summary): Set symbol to NULL.
4034
01a92e70
JH
40352014-07-11 Jan Hubicka <hubicka@ucw.cz>
4036
4037 * ipa-prop.c (ipa_binfo_from_known_type_jfunc): In LTO do not walk
4038 non-polymorphic types.
4039 * ipa-cp.c (ipa_get_jf_ancestor_result): Likewise.
4040 * ipa-devirt.c (types_same_for_odr): Do not explode when one
4041 of types is not polymorphic.
4042
12b308fa
VM
40432014-07-11 Vladimir Makarov <vmakarov@redhat.com>
4044
4045 * lra-constraints.c (remove_inheritance_pseudos): Process
4046 destination pseudo too.
4047
68f68004
RX
40482014-07-11 Rong Xu <xur@google.com>
4049
4050 * gcov-tool.c (gcov_output_files): Fix build error introduced in
4051 commit r212448.
4052
cba4ea9e
PS
40532014-07-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
4054
4055 * config/avr/avr-arch.h (avr_mcu_t): Add text section start attribute.
4056 * config/avr/avr-devices.c (AVR_MCU): Same.
4057 (avr_mcu_types): add text start value to end of device list.
4058 * config/avr/avr-mcus.def: Add text section start for all devices.
4059 (ata5782): Add new avr5 device.
4060 (ata5831): Same.
4061 * config/avr/avr-tables.opt: Regenerate.
4062 * config/avr/avr.h: Add declaration for text section start handler.
e0770e2a
UB
4063 (EXTRA_SPEC_FUNCTIONS): Add text section start handler to
4064 SPEC functions.
cba4ea9e
PS
4065 (LINK_SPEC): Include text section start handler to linker spec.
4066 * config/avr/driver-avr.c (avr_device_to_text_start): New function to
e0770e2a
UB
4067 pass -Ttext option to linker if the text section start for the device
4068 is not zero.
cba4ea9e
PS
4069 * config/avr/t-multilib: Regenerate.
4070 * doc/avr-mmcu.texi: Regenerate.
4071
8762d747
DE
40722014-07-11 David Edelsohn <dje.gcc@gmail.com>
4073
4074 * config/rs6000/aix51.h (LINK_SPEC): Remove -bnodelcsect.
4075 * config/rs6000/aix52.h (LINK_SPEC): Same.
4076 * config/rs6000/aix53.h (LINK_SPEC): Same.
4077 * config/rs6000/aix61.h (LINK_SPEC): Same.
4078 * config/rs6000/xcoff.h (MAKE_DECL_ONE_ONLY): Define.
4079
a78cfa7f
RG
40802014-07-11 Roman Gareev <gareevroman@gmail.com>
4081
e0770e2a 4082 * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): New function.
a78cfa7f
RG
4083 (graphite_verify): New function.
4084 (ivs_params_clear): New function.
4085 (gcc_expression_from_isl_ast_expr_id): New function.
4086 (gcc_expression_from_isl_expr_int): New function.
4087 (binary_op_to_tree): New function.
4088 (ternary_op_to_tree): New function.
4089 (unary_op_to_tree): New function.
4090 (nary_op_to_tree): New function.
4091 (gcc_expression_from_isl_expr_op): New function.
4092 (gcc_expression_from_isl_expression): New function.
4093 (graphite_create_new_loop): New function.
4094 (translate_isl_ast_for_loop): New function.
4095 (get_upper_bound): New function.
4096 (graphite_create_new_loop_guard): New function.
4097 (translate_isl_ast_node_for): New function.
4098 (translate_isl_ast): New function.
4099 (add_parameters_to_ivs_params): New function.
4100 (scop_to_isl_ast): New parameter ip.
4101 (graphite_regenerate_ast_isl): Add generation of GIMPLE code.
4102
0218574f
JH
41032014-07-11 Jan Hubicka <hubicka@ucw.cz>
4104
4105 * config/xtensa/predicates.md (call expander): Update for
4106 DECL_SECTION_NAME being string.
4107
21e8fb22
RB
41082014-07-11 Richard Biener <rguenther@suse.de>
4109
4110 PR middle-end/61473
e0770e2a
UB
4111 * builtins.c (fold_builtin_memory_op): Inline memory moves that
4112 can be implemented with a single load followed by a single store.
21e8fb22
RB
4113 (c_strlen): Only warn when only_value is not 2.
4114
53f5803e
ES
41152014-07-11 Evgeny Stupachenko <evstupac@gmail.com>
4116
4117 * config/i386/i386.c (expand_vec_perm_pblendv): Disable for AVX.
4118
d1c1cbd5
MZ
41192014-07-11 Marat Zakirov <m.zakirov@samsung.com>
4120
4121 PR target/61561
4122 * config/arm/arm.md (*movhi_insn_arch4): Handle stack pointer.
4123 (*movhi_bytes): Likewise.
e0770e2a 4124 (*arm_movqi_insn): Likewise.
d1c1cbd5 4125
4bdf6418
UB
41262014-07-11 Uros Bizjak <ubizjak@gmail.com>
4127
4128 PR target/56858
4129 * config/alpha/alpha.c: Include tree-pass.h, context.h
4130 and pass_manager.h.
4131 (pass_data_handle_trap_shadows): New pass.
4132 (pass_handle_trap_shadows::gate): New pass gate function.
4133 (make_pass_handle_trap_shadows): New function.
4134 (rest_of_handle_trap_shadows): Ditto.
4135
4136 (alpha_align_insns_1): Rename from alpha_align_insns.
4137 (pass_data_align_insns): New pass.
4138 (pass_align_insns::gate): New pass gate function.
4139 (make_pass_aling_insns): New function.
4140 (rest_of_align_insns): Ditto.
4141 (alpha_align_insns): Ditto.
4142
4143 (alpha_option_override): Declare handle_trap_shadows info
4144 and align_insns_info. Register handle_trap_shadows and align_insns
4145 passes here.
4146 (alpha_reorg): Do not call alpha_trap_shadows and
4147 alpha_align_insn from here.
4148
4149 (alpha_pad_function_end): Do not skip BARRIERs.
4150
c77556a5
RX
41512014-07-10 Rong Xu <xur@google.com>
4152
4bdf6418 4153 Add gcov-tool: an offline gcda profile processing tool support.
c77556a5
RX
4154 * gcov-io.c (gcov_position): Make avaialble to gcov-tool.
4155 (gcov_is_error): Ditto.
4156 (gcov_read_string): Ditto.
4157 (gcov_read_sync): Ditto.
4158 * gcov-io.h: Move counter defines to gcov-counter.def.
4159 * gcov-dump.c (tag_counters): Use gcov-counter.def.
4160 * coverage.c: Ditto.
4161 * gcov-tool.c: Offline gcda profile processing tool.
4162 (unlink_gcda_file): Remove one gcda file.
4163 (unlink_profile_dir): Remove gcda files from the profile path.
4164 (gcov_output_files): Output gcda files to an output dir.
4165 (profile_merge): Merge two profiles in directory.
4166 (print_merge_usage_message): Print merge usage.
4167 (merge_usage): Print merge usage and exit.
4168 (do_merge): Driver for profile merge sub-command.
4169 (profile_rewrite): Rewrite profile.
4170 (print_rewrite_usage_message): Print rewrite usage.
4171 (rewrite_usage): Print rewrite usage and exit.
4172 (do_rewrite): Driver for profile rewrite sub-command.
4173 (print_usage): Print gcov-info usage and exit.
4174 (print_version): Print gcov-info version.
4175 (process_args): Process arguments.
4176 (main): Main routine for gcov-tool.
4177 * Makefile.in: Build and install gcov-tool.
4178 * gcov-counter.def: New file split from gcov-io.h.
4179 * doc/gcc.texi: Include gcov-tool.texi.
4180 * doc/gcov-tool.texi: Document for gcov-tool.
4181
218e53ea
RB
41822014-07-10 Richard Biener <rguenther@suse.de>
4183
4184 PR tree-optimization/61757
4185 * tree-ssa-dom.c (loop_depth_of_name): Restore.
4186 (propagate_rhs_into_lhs): Revert part of last change.
4187
f9abc06c
TS
41882014-07-10 Thomas Schwinge <thomas@codesourcery.com>
4189
4190 * fold-const.c (fold_checksum_tree): Look at DECL_VINDEX only for
4191 FUNCTION_DECLs.
4192
d764963b
EB
41932014-07-10 Eric Botcazou <ebotcazou@adacore.com>
4194
4195 PR middle-end/53590
4196 * function.c (allocate_struct_function): Revert r188667 change.
4197
4198 * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
4199
64d57736
TC
42002014-07-10 Tom G. Christensen <tgc@jupiterrise.com>
4201
4202 * doc/install.texi: Remove links to defunct package providers for
4203 Solaris.
4204
e5718043
TV
42052014-07-09 Tom de Vries <tom@codesourcery.com>
4206
4bdf6418
UB
4207 * final.c (get_call_fndecl): Declare.
4208 (self_recursive_call_p): New function.
4209 (collect_fn_hard_reg_usage): Handle self-recursive function calls.
e5718043 4210
958c1d61
JH
42112014-07-08 Jan Hubicka <hubicka@ucw.cz>
4212
4213 * ipa-devirt.c (record_node): Walk through aliases.
4214
da22f505
JH
42152014-07-08 Jan Hubicka <hubicka@ucw.cz>
4216
4217 * lto-streamer-out.c (hash_scc): Avoid quadratic hashing loop.
4218
1469344a
JH
42192014-07-08 Jan Hubicka <hubicka@ucw.cz>
4220
4221 Revert:
4222 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
4223
ef68f4ab
JH
42242014-07-08 Jan Hubicka <hubicka@ucw.cz>
4225
4226 * ipa-visibility.c (function_and_variable_visibility): Remove
4227 temporary hack disabling local aliases on AIX.
4228
8ad274d2
JH
42292014-07-08 Jan Hubicka <hubicka@ucw.cz>
4230
4231 * ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
4232 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Likewise.
4233
9af46873
JH
42342014-07-08 Jan Hubicka <hubicka@ucw.cz>
4235
4236 * rs6000/rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
4237 * rs6000/rs6000.c: Inline output of .set instruction.
4238 (declare_alias_data): New struct.
4239 (rs6000_declare_alias): New function.
4240 (rs6000_xcoff_declare_function_name): Use it.
4241 (rs6000_xcoff_declare_object_name): New function.
4242 * config/rs6000/xcoff.h: Define ASM_DECLARE_OBJECT_NAME.
4243 (ASM_OUTPUT_DEF): Turn to empty definition.
4244
e4e01495
TS
42452014-07-08 Trevor Saunders <tsaunders@mozilla.com>
4246
4247 PR bootstrap/61679
4bdf6418
UB
4248 * hash-table.h: use hash_table::value_type instead of
4249 Descriptor::value_type in the return types of several methods.
e4e01495 4250
558d2559
TS
42512014-07-08 Trevor Saunders <tsaunders@mozilla.com>
4252
4253 * tree-pass.h (pass_data): Remove has_execute member.
4254 * passes.c (execute_one_pass): Don't check pass->has_execute.
4255 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
4256 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
4257 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
4258 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
4259 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
4260 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
4261 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
4262 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
4263 gimple-low.c, gimple-ssa-isolate-paths.c,
4264 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
4265 ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
4266 ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
4267 ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
4268 lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
4269 postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
4270 reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
4271 stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
4272 tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
4273 tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
4274 tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
4275 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
4276 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
4277 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4278 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
4279 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
4280 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
4281 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
4282 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
4283 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
4284 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
4285 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
4286 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
4287 web.c: Remove initializer for pass_data::has_execute.
4288
f98df77c
TS
42892014-07-08 Trevor Saunders <tsaunders@mozilla.com>
4290
4291 * graphite-htab.h: Use hash_map instead of hash_table.
4292 * graphite-clast-to-gimple.c: Adjust.
4293 * passes.c: Use hash_map instead of hash_table.
4294 * sese.c: Likewise.
4295 * sese.h: Remove now unused code.
4296
dc58164b
ST
42972014-07-08 Sriraman Tallam <tmsriram@google.com>
4298
4299 PR target/61599
4300 * config/i386/i386.c (ix86_in_large_data_p): Check for size less
4301 than zero.
4302
7e6d8fd9
JJ
43032014-07-08 Jakub Jelinek <jakub@redhat.com>
4304
4305 PR rtl-optimization/61673
4306 * combine.c (simplify_comparison): Test just mode's sign bit
4307 in tmode rather than the sign bit and any bits above it.
4308
e4a452b2
RG
43092014-07-08 Roman Gareev <gareevroman@gmail.com>
4310
4311 * graphite-isl-ast-to-gimple.c (generate_isl_context):
4312 Add __isl_give to the declaration.
4313 (generate_isl_schedule): Likewise.
4314 (scop_to_isl_ast): Likewise.
4315
b2c06385
KT
43162014-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4317
4318 * config/arm/arm.c (cortexa5_extra_costs): New table.
4319 (arm_cortex_a5_tune): Use cortexa5_extra_costs.
4320
b48e3948
JJ
43212014-07-08 Jakub Jelinek <jakub@redhat.com>
4322
4323 PR tree-optimization/61725
4324 * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
4325 range, use range_includes_zerop_p instead of integer_zerop on
4326 vr0->min, only use log2 of max if min is not negative.
4327
a59d8e8e
RB
43282014-07-08 Richard Biener <rguenther@suse.de>
4329
4330 * tree-ssa-dom.h (loop_depth_of_name): Remove.
4331 * tree-ssa-dom.c (record_equivalences_from_phis): Remove
4332 restriction on loop depth difference.
4333 (record_equality): Likewise.
4334 (propagate_rhs_into_lhs): Likewise. Simplify condition.
4335 (loop_depth_of_name): Remove.
4336 * tree-ssa-copy.c (copy_prop_visit_phi_node): Remove
4337 restriction on loop depth difference.
4338 (init_copy_prop): Likewise.
4339
70f633c5
JH
43402014-07-08 Jan Hubicka <hubicka@ucw.cz>
4341
4342 * tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED
4343 parameter.
4344 (walk_aliased_vdefs): Likewise.
4345 * tree-ssa-alias.h (walk_aliased_vdefs): Likewise.
4346 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers
4347 (detect_type_change_from_memory_writes): Check if entry was reached.
4348
e8e938e0
RB
43492014-07-08 Richard Biener <rguenther@suse.de>
4350
4351 PR tree-optimization/61681
4352 * tree-ssa-structalias.c (find_what_var_points_to): Expand
4353 NONLOCAL inside ESCAPED.
4354
e33f43b9
RB
43552014-07-08 Richard Biener <rguenther@suse.de>
4356
4357 PR tree-optimization/61680
4358 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
4359 Handle properly all read-write dependences with group accesses.
4360
0f6284d2
YR
43612014-07-08 Yuri Rumyantsev <ysrumyan@gmail.com>
4362
4363 PR tree-optimization/61576
4bdf6418
UB
4364 * tree-if-conv.c (is_cond_scalar_reduction): Add check that basic
4365 block containing reduction statement is predecessor of phi basi block.
0f6284d2 4366
605f12f4
MP
43672014-07-08 Marek Polacek <polacek@redhat.com>
4368
4369 PR c/60226
4370 * fold-const.c (round_up_loc): Change the parameter type.
4371 Remove assert.
4372 * fold-const.h (round_up_loc): Adjust declaration.
4373 * stor-layout.c (finalize_record_size): Check for too large types.
4374
72732f3e
JH
43752014-07-07 Jan Hubicka <hubicka@ucw.cz>
4376
4bdf6418
UB
4377 * symtab.c: Include calls.h.
4378 (symtab_nonoverwritable_alias_1): Check sanity of the local alias.
72732f3e 4379
3ca588d3
MR
43802014-07-07 Maciej W. Rozycki <macro@codesourcery.com>
4381
4382 * config/rs6000/rs6000.c (output_vec_const_move): Handle
4383 little-endian code generation.
4384 * config/rs6000/spe.md (spe_evmergehi): Rename to...
4bdf6418 4385 (vec_perm00_v2si): ... this. Handle little-endian code generation.
3ca588d3 4386 (spe_evmergehilo): Rename to...
4bdf6418 4387 (vec_perm01_v2si): ... this. Handle little-endian code generation.
3ca588d3 4388 (spe_evmergelo): Rename to...
4bdf6418 4389 (vec_perm11_v2si): ... this. Handle little-endian code generation.
3ca588d3 4390 (spe_evmergelohi): Rename to...
4bdf6418 4391 (vec_perm10_v2si): ... this. Handle little-endian code generation.
3ca588d3
MR
4392 (spe_evmergehi, spe_evmergehilo): New expanders.
4393 (spe_evmergelo, spe_evmergelohi): Likewise.
4bdf6418 4394 (*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code generation.
3ca588d3
MR
4395 (*frob_tf_ti): Likewise.
4396 (*frob_<mode>_di_2): Likewise.
4397 (*frob_tf_di_8_2): Likewise.
4398 (*frob_di_<mode>): Likewise.
4399 (*frob_ti_tf): Likewise.
4400 (*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
4401 (*frob_ti_<mode>_8_2): Likewise.
4402 (*frob_ti_tf_2): Likewise.
4403 (mov_si<mode>_e500_subreg0): Rename to...
4404 (mov_si<mode>_e500_subreg0_be): ... this. Restrict to the big
4405 endianness only.
4406 (*mov_si<mode>_e500_subreg0_le): New instruction pattern.
4407 (*mov_si<mode>_e500_subreg0_elf_low): Rename to...
4bdf6418 4408 (*mov_si<mode>_e500_subreg0_elf_low_be): ... this. Restrict to
3ca588d3
MR
4409 the big endianness only.
4410 (*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
4411 (*mov_si<mode>_e500_subreg0_2): Rename to...
4412 (*mov_si<mode>_e500_subreg0_2_be): ... this. Restrict to the
4413 big big endianness only.
4414 (*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
4415 (*mov_si<mode>_e500_subreg4): Rename to...
4416 (*mov_si<mode>_e500_subreg4_be): ... this. Restrict to the big
4417 endianness only.
4418 (mov_si<mode>_e500_subreg4_le): New instruction pattern.
4419 (*mov_si<mode>_e500_subreg4_elf_low): Rename to...
4420 (*mov_si<mode>_e500_subreg4_elf_low_be): ... this. Restrict to
4421 the big endianness only.
4422 (*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
4423 pattern.
4424 (*mov_si<mode>_e500_subreg4_2): Rename to...
4425 (*mov_si<mode>_e500_subreg4_2_be): ... this. Restrict to the big
4426 endianness only.
4427 (*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
4428 (*mov_sitf_e500_subreg8): Rename to...
4429 (*mov_sitf_e500_subreg8_be): ... this. Restrict to the big
4430 endianness only.
4431 (*mov_sitf_e500_subreg8_le): New instruction pattern.
4432 (*mov_sitf_e500_subreg8_2): Rename to...
4433 (*mov_sitf_e500_subreg8_2_be): ... this. Restrict to the big
4434 endianness only.
4435 (*mov_sitf_e500_subreg8_2_le): New instruction pattern.
4436 (*mov_sitf_e500_subreg12): Rename to...
4437 (*mov_sitf_e500_subreg12_be): ... this. Restrict to the big
4438 endianness only.
4439 (*mov_sitf_e500_subreg12_le): New instruction pattern.
4440 (*mov_sitf_e500_subreg12_2): Rename to...
4441 (*mov_sitf_e500_subreg12_2_be): ... this. Restrict to the big
4442 endianness only.
4443 (*mov_sitf_e500_subreg12_2_le): New instruction pattern.
4444
e7623929 44452014-07-07 Max Ostapenko <m.ostapenko@partner.samsung.com>
0f05a199 4446
4bdf6418
UB
4447 * asan.c (instrument_strlen_call): Do not instrument first byte
4448 in strlen if already instrumented.
0f05a199 4449
8adb5dc7
KT
44502014-07-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4451
4452 * config/arm/arm.opt (mwords-little-endian): Delete.
4453 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
4454 of TARGET_LITTLE_WORDS.
4455 (WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
4456 * config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
4457 warning.
4458 * doc/invoke.texi: Remove references to -mwords-little-endian.
4459
c83cf304
JJ
44602014-07-07 Jakub Jelinek <jakub@redhat.com>
4461
4462 * expmed.c (struct init_expmed_rtl): Change all fields but
4463 pow2 and cint from struct rtx_def to rtx.
4464 (init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
4465 (init_expmed): Likewise. Allocate all the 18 rtxes and ggc_free them
4466 at the end again.
4467
773ec47f
MP
44682014-07-06 Marek Polacek <polacek@redhat.com>
4469
4470 PR c/6940
4471 * doc/invoke.texi: Document -Wsizeof-array-argument.
4472
a4ff2ef3
GP
44732014-07-05 Gerald Pfeifer <gerald@pfeifer.com>
4474
88e03ffe 4475 * wide-int.h (wide_int_storage): Change declaration from struct
a4ff2ef3
GP
4476 to class.
4477
88e03ffe 44782014-07-05 Jan Hubicka <hubicka@ucw.cz>
058d0a90
JH
4479
4480 * cgraph.c (cgraph_create_indirect_edge): Update call of
4481 get_polymorphic_call_info.
4482 * ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
4483 (possible_polymorphic_call_targets): Add parameter call.
4484 (decl_maybe_in_construction_p): New predicate.
4485 (get_polymorphic_call_info): Add parameter call;
4486 use decl_maybe_in_construction_p.
4487 * gimple-fold.c (fold_gimple_assign): Update use of
4488 possible_polymorphic_call_targets.
4489 (gimple_fold_call): Likewise.
4490 * ipa-prop.c: Inlcude calls.h
4491 (ipa_binfo_from_known_type_jfunc): Check that known type is record.
4492 (param_type_may_change_p): New predicate.
4493 (detect_type_change_from_memory_writes): Break out from ...
88e03ffe 4494 (detect_type_change): ... this one; use param_type_may_change_p.
058d0a90
JH
4495 (detect_type_change_ssa): Use param_type_may_change_p.
4496 (compute_known_type_jump_func): Use decl_maybe_in_construction_p.
4497
aed773a2
CB
44982014-07-05 Charles Baylis <charles.baylis@linaro.org>
4499
4500 PR target/49423
4501 * config/arm/arm-protos.h (arm_legitimate_address_p,
4502 arm_is_constant_pool_ref): Add prototypes.
4503 * config/arm/arm.c (arm_legitimate_address_p): Remove static.
4504 (arm_is_constant_pool_ref) New function.
4505 * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
4506 arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
4507 (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
4508 operand. Remove pool_range and neg_pool_range attributes.
4509 (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
4510 pool_range and neg_pool_range attributes.
4511 * config/arm/constraints.md (Uh): New constraint.
4512 (Uq): Don't allow constant pool references.
4513
5a908485
JG
45142014-07-04 James Greenhalgh <james.greenhalgh@arm.com>
4515
4516 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
4517 (move_lo_quad_internal_be_<mode>): Likewise.
4518 (move_lo_quad_<mode>): Convert to define_expand.
4519 (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
4520 (aarch64_simd_move_hi_quad_be_<mode>): New.
4521 (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
4522 (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
4523 (aarch64_combinez_be<mode>): New.
4524 (aarch64_combine<mode>): Convert to define_expand.
4525 (aarch64_combine_internal<mode>): New.
4526 (aarch64_simd_combine<mode>): Remove bogus RTL description.
4527
34386e79
TV
45282014-07-04 Tom de Vries <tom@codesourcery.com>
4529
4530 * doc/md.texi (@subsection Constraint Modifier Characters): Clarify
4531 combination of earlyclobber and read/write modifiers.
4532
7973ca62
TV
45332014-07-04 Tom de Vries <tom@codesourcery.com>
4534
4535 * config/aarch64/aarch64-simd.md
4536 (define_insn "vec_unpack_trunc_<mode>"): Fix constraint.
4537
9815fafa
RE
45382014-07-04 Richard Earnshaw <rearnsha@arm.com>
4539
4540 PR target/61714
88e03ffe 4541 * config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Define.
9815fafa 4542
14e000de
JJ
45432014-07-04 Jakub Jelinek <jakub@redhat.com>
4544
253eab4f
JJ
4545 PR middle-end/61654
4546 * cgraphunit.c (expand_thunk): Call free_dominance_info.
4547
14e000de
JJ
4548 PR tree-optimization/61684
4549 * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
4550 rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
4551
17bf6d25
CJW
45522014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4553 Kito Cheng <kito@0xlab.org>
4554 Monk Chiang <sh.chiang04@gmail.com>
4555
4556 * config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
4557 (nds32_symbol_load_store_p): Move to ...
4558 (nds32_fp_as_gp_check_available): Move to ...
4559 * config/nds32/nds32-fp-as-gp.c: ... here.
4560 * config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
4561 extern declaration.
4562
f1fac1bc
CJW
45632014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4564 Kito Cheng <kito@0xlab.org>
4565 Monk Chiang <sh.chiang04@gmail.com>
4566
4567 * config/nds32/nds32.c (nds32_expand_load_multiple): Move to ...
4568 (nds32_expand_store_multiple): Move to ...
4569 (nds32_expand_movmemqi): Move to ...
4570 * config/nds32/nds32-memory-manipulation.c: ... here.
4571
9e9dbc42
CJW
45722014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4573 Kito Cheng <kito@0xlab.org>
4574 Monk Chiang <sh.chiang04@gmail.com>
4575
4576 * config/nds32/nds32.c (nds32_byte_to_size): Move to ...
4577 (nds32_output_casesi_pc_relative): Move to ...
4578 (nds32_output_casesi): Move to ...
4579 (nds32_mem_format): Move to ...
4580 (nds32_output_16bit_store): Move to ...
4581 (nds32_output_16bit_load): Move to ...
4582 (nds32_output_32bit_store): Move to ...
4583 (nds32_output_32bit_load): Move to ...
4584 (nds32_output_32bit_load_s): Move to ...
4585 (nds32_output_stack_push): Move to ...
4586 (nds32_output_stack_pop): Move to ...
4587 * config/nds32/nds32-md-auxiliary.c: ... here.
4588
c65cef10
CJW
45892014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4590 Ling-Hua Tseng <uranus@tinlans.org>
4591
4592 * config/nds32/nds32-pipelines-auxiliary.c: Add comment to describe
4593 the purpose of this file.
4594
89a4b547
CJW
45952014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4596 Kito Cheng <kito@0xlab.org>
4597 Monk Chiang <sh.chiang04@gmail.com>
4598
4599 * config/nds32/nds32.c (nds32_rtx_costs): Move implementation to ...
4600 (nds32_address_cost): Move implementation to ...
4601 * config/nds32/nds32-cost.c: ... here.
4602 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Declare.
4603 (nds32_address_cost_impl): Declare.
4604
6a2a98b1
CJW
46052014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4606 Kito Cheng <kito@0xlab.org>
4607 Monk Chiang <sh.chiang04@gmail.com>
4608
4609 * config/nds32/nds32.c
4610 (nds32_consecutive_registers_load_store_p): Move to ...
4611 (nds32_valid_multiple_load_store): Move to ...
4612 (nds32_valid_stack_push_pop): Move to ...
4613 (nds32_can_use_bclr_p): Move to ...
4614 (nds32_can_use_bset_p): Move to ...
4615 (nds32_can_use_btgl_p): Move to ...
4616 (nds32_can_use_bitci_p): Move to ...
4617 * config/nds32/nds32-predicates.c: ... here.
4618
aaa44d2d
CJW
46192014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4620 Kito Cheng <kito@0xlab.org>
4621 Monk Chiang <sh.chiang04@gmail.com>
4622
4623 * config/nds32/nds32.c
4624 (nds32_expand_builtin_null_ftype_reg): Move to ...
4625 (nds32_expand_builtin_reg_ftype_imm): Move to ...
4626 (nds32_expand_builtin_null_ftype_reg_imm): Move to ...
4627 (nds32_init_builtins): Move implementation to ...
4628 (nds32_expand_builtin): Move implementation to ...
4629 * config/nds32/nds32-intrinsic.c: ... here.
4630 * config/nds32/nds32-protos.h (nds32_init_builtins_impl): Declare.
4631 (nds32_expand_builtin_impl): Declare.
4632
c23a919b
CJW
46332014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4634 Kito Cheng <kito@0xlab.org>
4635 Monk Chiang <sh.chiang04@gmail.com>
4636
4637 * config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
4638 (nds32_emit_section_tail_template): Move to ...
4639 (nds32_emit_isr_jmptbl_section): Move to ...
4640 (nds32_emit_isr_vector_section): Move to ...
4641 (nds32_emit_isr_reset_conten): Move to ...
4642 (nds32_check_isr_attrs_conflict): Move to ...
4643 (nds32_construct_isr_vectors_information): Move to ...
4644 (nds32_asm_file_start): Move implementation to ...
4645 (nds32_asm_file_end): Move implementation to ...
4646 * config/nds32/nds32-isr.c: ... here.
4647 * config/nds32/nds32-protos.h
4648 (nds32_check_isr_attrs_conflict): Declare.
4649 (nds32_construct_isr_vectors_information): Declare.
4650 (nds32_asm_file_start_for_isr): Declare.
4651 (nds32_asm_file_end_for_isr): Declare.
4652
c0c935b5
CJW
46532014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
4654 Kito Cheng <kito@0xlab.org>
4655 Monk Chiang <sh.chiang04@gmail.com>
4656
4657 * config.gcc (nds32*): Add new modules to extra_objs.
4658 (nds32le-*-*): Use t-nds32 makefile fragment for new modules.
4659 (nds32be-*-*): Likewise.
4660 * config/nds32/nds32-cost.c: New file.
4661 * config/nds32/nds32-fp-as-gp.c: New file.
4662 * config/nds32/nds32-intrinsic.c: New file.
4663 * config/nds32/nds32-isr.c: New file.
4664 * config/nds32/nds32-md-auxiliary.c: New file.
4665 * config/nds32/nds32-memory-manipulation.c: New file.
4666 * config/nds32/nds32-pipelines-auxiliary.c: New file.
4667 * config/nds32/nds32-predicates.c: New file.
4668 * config/nds32/t-nds32: New file.
4669
c01d6ad9
JJ
46702014-07-03 Jakub Jelinek <jakub@redhat.com>
4671
4672 PR tree-optimization/61682
88e03ffe
UB
4673 * wide-int.cc (wi::mul_internal): Handle high correctly for umul_ppmm
4674 using cases and when one of the operands is equal to 1.
c01d6ad9 4675
9e5f78f1
SB
46762014-07-03 Segher Boessenkool <segher@kernel.crashing.org>
4677
4678 * config/rs6000/rs6000.md (rotl<mode>3, ashl<mode>3, lshr<mode>3,
4679 ashr<mode>3): Correct mode of operands[2].
4680 (rotl<mode>3_dot, rotl<mode>3_dot2, ashl<mode>3_dot, ashl<mode>3_dot2,
4681 lshr<mode>3_dot, lshr<mode>3_dot2, ashr<mode>3_dot, ashr<mode>3_dot2):
4682 Correct mode of operands[2]. Fix split condition.
4683
a89b02c0
RE
46842014-07-03 Richard Earnshaw <rearnsha@arm.com>
4685
4686 * arm.md (arch): Add armv6_or_vfpv3.
4687 (arch_enabled): Add test for the above.
4688 * vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
4689 on VFP9.
4690 (sqrtsf_vfp, sqrtdf_vfp): Likewise.
88e03ffe 4691
00a7ba58
JJ
46922014-07-03 Jakub Jelinek <jakub@redhat.com>
4693
4694 * gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
4695 * data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
4696 HWI 1 and negate the unsigned value.
4697 * expmed.c (expand_sdiv_pow2): For modes wider than word always
4698 use AND instead of shift.
4699 * wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
4700
e71d7987
MP
47012014-07-03 Marek Polacek <polacek@redhat.com>
4702
4703 * doc/invoke.texi (-fsanitize=bounds): Tweak wording.
4704 (-fsanitize=float-divide-by-zero): Move to the table with
4705 -fsanitize=undefined suboptions.
4706 (-fsanitize=float-cast-overflow): Likewise.
4707
283bbe35
MR
47082014-07-03 Maciej W. Rozycki <macro@codesourcery.com>
4709
4710 * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
4711 BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
4712 endianness.
4713
e42e3d15
ZC
47142014-07-03 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4715
4716 * loop-invariant.c (struct invariant): Add a new member: eqno;
4717 (find_identical_invariants): Update eqno;
4718 (create_new_invariant): Init eqno;
4719 (get_inv_cost): Compute comp_cost with eqno;
4720
4ed3092f
SB
47212014-07-02 Segher Boessenkool <segher@kernel.crashing.org>
4722
4723 * genconfig.c (have_rotate_flag, have_rotatert_flag): New variables.
4724 (walk_insn_part) <ROTATE, ROTATERT>: New cases.
4725 (main): Conditionally write HAVE_rotate resp. HAVE_rotatert.
4726 * simplify-rtx.c (simplify_binary_operation_1) <ROTATE, ROTATERT>:
4727 Only do the transformation if both HAVE_rotate and HAVE_rotatert.
4728
cbb1e3d9
CB
47292014-07-02 Christian Bruel <christian.bruel@st.com>
4730
513c5c74
CB
4731 PR target/29349
4732 PR target/53513
cbb1e3d9
CB
4733 * mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
4734 (make_preds_opaque): Delete.
4735 (clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
4736 (commit_mode_sets): New function.
4737 (optimize_mode_switching): Handle current_mode to mode_switching_emit.
4738 Process all modes at once.
4739 * basic-block.h (pre_edge_lcm_avs): Declare.
4740 * lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
4741 Call clear_aux_for_edges. Fix comments.
4742 (pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
4743 (pre_edge_rev_lcm): Idem.
88e03ffe
UB
4744 * config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode
4745 parameter.
cbb1e3d9 4746 * config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
88e03ffe
UB
4747 * config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute):
4748 Idem.
cbb1e3d9
CB
4749 * config/i386/i386.c (x96_emit_mode_set): Idem.
4750 * config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
4751 * config/sh/sh.md (toggle_pr): Defined if TARGET_FPU_SINGLE.
4752 (fpscr_toggle) Disallow from delay slot.
4753 * target.def (emit_mode_set): Add prev_mode parameter.
4754 * doc/tm.texi: Regenerate.
4755
c9d1a16a
KT
47562014-07-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4757
4758 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
4759 variable i.
4760
622cd23a 47612014-07-01 Jan Hubicka <hubicka@ucw.cz>
d570d364
JH
4762
4763 * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
4764 vtable_pointer_value_to_vtable): Constify.
4765 (contains_polymorphic_type_p): Declare.
4766 * ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
4767 vtable_pointer_value_to_vtable): Constify.
4768 (contains_polymorphic_type_p): New predicate.
4769 * ipa-prop.c (ipa_set_jf_known_type): Allow types containing
4770 polymorphic types.
4771 (ipa_set_ancestor_jf): Likewise.
4772 (detect_type_change): Return false in easy cases.
4773 (compute_complex_assign_jump_func): Require type to contain
4774 polymorphic type.
4775 (compute_known_type_jump_func): Likewise.
4776
622cd23a 47772014-07-01 Jan Hubicka <hubicka@ucw.cz>
549bcbd1 4778
88e03ffe
UB
4779 * tree.c (decls_same_for_odr, decls_same_for_odr, types_same_for_odr):
4780 Remove.
549bcbd1 4781 (type_in_anonymous_namespace_p): Constify argument.
88e03ffe 4782 * tree.h (types_same_for_odr, type_in_anonymous_namespace_p): Constify.
549bcbd1
JH
4783 * ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
4784 (main_odr_variant): New function.
4785 (hash_type_name): Make static; update assert; do not ICE on
4786 non-records.
88e03ffe
UB
4787 (types_same_for_odr): Bring here from tree.c; simplify and remove
4788 old structural comparing code that doesn't work for templates.
549bcbd1
JH
4789 (odr_hasher::equal): Update assert.
4790 (add_type_duplicate): Return true when bases should be computed;
4791 replace incomplete loader by complete; do not output duplicated
4792 warnings; do not ICE on non-records; set odr_violated flag.
4793 (get_odr_type): Be ready to replace incomplete type by complete
4794 one; work on ODR variants instead of main variants; reorder item
4795 in array so bases have still smaller indexes.
88e03ffe 4796 (dump_type_inheritance_graph): Be ready for holdes in odr_types array.
549bcbd1
JH
4797 (possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.
4798
25eff60d
CC
47992014-07-01 Cary Coutant <ccoutant@google.com>
4800
4801 * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
88e03ffe 4802 lookup.
25eff60d 4803 (resolve_addr_in_expr): When replacing the rtx in a location list
88e03ffe 4804 entry, get a new address table entry.
25eff60d 4805 (dwarf2out_finish): Call index_location_lists even if there are no
88e03ffe 4806 addr_index_table entries yet.
25eff60d 4807
6ab56804
TS
48082014-07-01 Trevor Saunders <tsaunders@mozilla.com>
4809
4810 * config/i386/winnt.c (i386_pe_section_type_flags): Revert previous
4811 change for not being obvious.
4812
5c9130b3
TS
48132014-07-01 Trevor Saunders <tsaunders@mozilla.com>
4814
4815 * config/i386/winnt.c (i386_pe_section_type_flags): Remove name of
4816 unused argument.
4817
39f90912
KT
48182014-07-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4819
4820 * config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
4821 (vcagt_f64): Likewise.
4822 (vcale_f64): Likewise.
4823 (vcaled_f64): Likewise.
4824 (vcales_f32): Likewise.
4825 (vcalt_f64): Likewise.
4826 (vcaltd_f64): Likewise.
4827 (vcalts_f32): Likewise.
4828
52ec0ea3
MP
48292014-07-01 Marek Polacek <polacek@redhat.com>
4830
4831 * doc/invoke.texi: Document -Wint-conversion.
4832
d5c3d343
MP
48332014-07-01 Marek Polacek <polacek@redhat.com>
4834
4835 PR c/58286
4836 * doc/invoke.texi: Document -Wincompatible-pointer-types.
4837
e55637b7
ML
48382014-07-01 Martin Liska <mliska@suse.cz>
4839
4840 IPA REF alias refactoring
4841 * cgraph.h (iterate_direct_aliases): New function.
4842 (FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
4843 * cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
4844 FOR_EACH_ALIAS added.
4845 (cgraph_for_node_and_aliases): Likewise.
4846 * cgraphunit.c (assemble_thunks_and_aliases): Likewise.
4847 * ipa-inline.c (reset_edge_caches): Likewise.
4848 (update_caller_keys): Likewise.
4849 * trans-mem.c (ipa_tm_execute): Likewise.
4850 *varpool.c (varpool_analyze_node): Likewise.
4851 (varpool_for_node_and_aliases): Likewise.
4852 * ipa-ref.h (first_alias): New function.
4853 (last_alias): Likewise.
4854 (has_aliases_p): Likewise.
4855 * ipa-ref.c (ipa_ref::remove_reference): Removal function
4856 is sensitive to IPA_REF_ALIASes.
4857 * symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
4858 are put at the beginning of the list.
4859 (symtab_node::iterate_direct_aliases): New function.
4860
010f4e27
JH
48612014-06-28 Jan Hubicka <hubicka@ucw.cz>
4862
4863 Revert:
88e03ffe 4864 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
010f4e27 4865 type is complete.
88e03ffe
UB
4866 (write_ts_type_common_tree_pointers): Do not stream fields not set
4867 for incomplete types; do not stream duplicated fields for variants;
4868 sanity check that variant and type match.
4869 (write_ts_type_non_common_tree_pointers): Likewise.
4870 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
4871 TYPE_SIZE whether type is complete.
010f4e27
JH
4872 (lto_input_ts_type_common_tree_pointers): Do same changes as in
4873 write_ts_type_common_tree_pointers
4874 (lto_input_ts_type_non_common_tree_pointers): Likewise.
4875
0ca59830
JM
48762014-06-30 Joseph Myers <joseph@codesourcery.com>
4877
4878 * var-tracking.c (add_stores): Return instead of asserting if old
4879 and new values for conditional store are the same.
4880
fc56f9d2
RH
48812014-06-30 Richard Henderson <rth@redhat.com>
4882
4883 PR rtl-opt/61608
4884 PR target/39284
4885 * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
4886 the cfg if there were any changes.
4887 * passes.def: Revert move of peephole2 after reorder_blocks;
4888 move duplicate_computed_gotos before peephole2.
4889
a4a51a52
UB
48902014-06-30 Uros Bizjak <ubizjak@gmail.com>
4891
4892 * except.c (emit_note_eh_region_end): New helper function.
4893 (convert_to_eh_region_ranges): Use emit_note_eh_region_end to
4894 emit EH_REGION_END note.
4895 * jump.c (cleanup_barriers): Do not split a call and its
4896 corresponding CALL_ARG_LOCATION note.
4897
4f82fed2
JL
48982014-06-30 Jeff Law <law@redhat.com>
4899
4900 PR tree-optimization/61607
4901 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
4902 deeper into the SSA_NAME_VALUE chain.
4903
6a7253a4
MP
49042014-06-30 Marek Polacek <polacek@redhat.com>
4905
4906 * convert.c (convert_to_integer): Don't instrument conversions if the
4907 function has no_sanitize_undefined attribute.
4908 * ubsan.c: Don't run the ubsan pass if the function has
4909 no_sanitize_undefined attribute.
4910
670d96d7
JJ
49112014-06-30 Jakub Jelinek <jakub@redhat.com>
4912
4913 * doc/invoke.texi (-fsanitize=bounds): Move to the table with
4914 -fsanitize=undefined suboptions.
4915
f7c4e5b8
AL
49162014-06-30 Alan Lawrence <alan.lawrence@arm.com>
4917
4918 * config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
4919 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
4920 against bigendian and adjust indices.
4921
10e4b632
GP
49222014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
4923
4924 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
4925
21a7b5e1
MS
49262014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
4927
4928 PR target/61633
4929 * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
4930 Add alternative; make early clobber. Adjust both split patterns
4931 to use operand 0 as the working register.
4932
85c00e0b
JJ
49332014-06-30 Jakub Jelinek <jakub@redhat.com>
4934
5acd5cf0
UB
4935 * ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0,
4936 as ira_object_id_map might be NULL, or 1.
85c00e0b 4937
51a69168
ZC
49382014-06-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4939
4940 * loop-invariant.c (get_inv_cost): Handle register class.
4941 (gain_for_invariant): Check the register pressure of the inv
4942 and its overlapped register class, other than all.
4943
a938d018
GP
49442014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
4945
4946 * doc/invoke.texi (Optimize Options): Fix descriptions of
4947 ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
4948
3a96c7cc
DW
49492014-06-29 David Wohlferd <dw@LimeGreenSocks.com>
4950
4951 * doc/extend.texi (Function Attributes): Update 'naked' attribute
4952 documentation.
4953
7d1ceb93
TG
49542014-06-29 Tobias Grosser <tobias@grosser.es>
4955
dabb1a20 4956 PR bootstrap/61650
7d1ceb93
TG
4957 * graphite-isl-ast-to-gimple.c: Add missing guards.
4958
f6cc3103
RG
49592014-06-29 Roman Gareev <gareevroman@gmail.com>
4960
5acd5cf0
UB
4961 * Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
4962 * common.opt: Add new switch fgraphite-code-generator=[isl|cloog].
4963 * flag-types.h: Add new enum fgraphite_generator.
f6cc3103
RG
4964 * graphite-isl-ast-to-gimple.c: New.
4965 * graphite-isl-ast-to-gimple.h: New.
5acd5cf0
UB
4966 * graphite.c (graphite_transform_loops): Add choice of Graphite
4967 code generator, which depends on flag_graphite_code_gen.
f6cc3103 4968
516a84f7
RG
49692014-06-29 Roman Gareev <gareevroman@gmail.com>
4970
5acd5cf0
UB
4971 * graphite-dependences.c (subtract_commutative_associative_deps):
4972 Add NULL checking of the following variables: must_raw_no_source,
4973 may_raw_no_source, must_war_no_source, may_war_no_source,
4974 must_waw_no_source, may_waw_no_source, must_raw, may_raw,
4975 must_war, may_war, must_waw, may_waw.
516a84f7 4976
db72d606
RG
49772014-06-29 Roman Gareev <gareevroman@gmail.com>
4978
5acd5cf0
UB
4979 * graphite-clast-to-gimple.c: gloog is renamed to
4980 graphite_regenerate_ast_cloog. gloog_error is renamed to
4981 graphite_regenerate_error.
4982 * graphite-clast-to-gimple.h: The definition of the struct
4983 bb_pbb_def is moved to graphite-htab.h.
db72d606 4984 Add inclusion of the hash-table.h.
5acd5cf0 4985 * graphite-htab.h: The declaration of the function gloog is moved
db72d606
RG
4986 to graphite-clast-to-gimple.h and renamed to
4987 graphite_regenerate_ast_cloog.
5acd5cf0
UB
4988 * graphite.c (graphite_transform_loops): gloog is renamed
4989 to graphite_regenerate_ast_cloog.
db72d606 4990
288eeff7
JH
49912014-06-28 Jan Hubicka <hubicka@ucw.cz>
4992
5acd5cf0 4993 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
288eeff7 4994 type is complete.
5acd5cf0
UB
4995 (write_ts_type_common_tree_pointers): Do not stream fields not set
4996 for incomplete types; do not stream duplicated fields for variants;
4997 sanity check that variant and type match.
4998 (write_ts_type_non_common_tree_pointers): Likewise.
4999 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
5000 TYPE_SIZE whether type is complete.
288eeff7
JH
5001 (lto_input_ts_type_common_tree_pointers): Do same changes as in
5002 write_ts_type_common_tree_pointers
5003 (lto_input_ts_type_non_common_tree_pointers): Likewise.
5004
d0bd8245
JH
50052014-06-28 Jan Hubicka <hubicka@ucw.cz>
5006
5007 * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
5008
8910466a
JH
50092014-06-28 Jan Hubicka <hubicka@ucw.cz>
5010
5011 * tree-inline.c (remap_type_1): Do not duplicate fields
5012 that are shared in between type and its main variant.
5013
b49407f8
JH
50142014-06-28 Jan Hubicka <hubicka@ucw.cz>
5015
5016 * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
5017 of the type.
5018 (ipa_set_ancestor_jf) Likewise.
5019 (check_stmt_for_type_change): Check that we work on main variant.
5020 (detect_type_change): Look into main variant.
5021 (compute_known_type_jump_func): Check that main variant has BINFO.
5022
c7e1befa
JH
50232014-06-28 Jan Hubicka <hubicka@ucw.cz>
5024
5025 * ipa-devirt.c (set_type_binfo): New function.
5026 (add_type_duplicate): Use it.
5027 (get_odr_type): Sanity check that binfos points to main variants.
5028 (get_class_context): Be sure the context's outer_type is main variant.
5029 (contains_type_p): Walk main variant.
5acd5cf0
UB
5030 (get_polymorphic_call_info_for_decl): Set outer_type to be
5031 main variant.
c7e1befa 5032 (get_polymorphic_call_info): Likewise.
5acd5cf0
UB
5033 (possible_polymorphic_call_targets): Sanity check that we operate
5034 on main variant.
c7e1befa 5035
7ae2e72c
JH
50362014-06-28 Jan Hubicka <hubicka@ucw.cz>
5037
5acd5cf0 5038 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
7ae2e72c 5039
a8647163
UW
50402014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5041
5042 * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
5043 accidental change due to wide-int branch merge.
5044
29d7cbd1
RO
50452014-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5046
5047 * configure.ac (gcc_cv_as_compress_debug): Check for assembler
5048 compressed debug support.
5acd5cf0 5049 (gcc_cv_ld_compress_debug): Check for linker compressed debug support.
29d7cbd1
RO
5050 * configure: Regenerate.
5051 * config.in: Regenerate.
5052 * common.opt (compressed_debug_sections): New enum.
5053 (gz, gz=): New options.
5acd5cf0 5054 * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC): Define.
29d7cbd1
RO
5055 (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
5056 (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
5057 * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
5058 LINK_COMPRESS_DEBUG_SPEC.
5059 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
5060 * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
5acd5cf0 5061 * doc/invoke.texi (Option Summary, Debugging Options): Add -gz[=type].
29d7cbd1
RO
5062 (Debugging Options): Document -gz[=type].
5063
d284e1b8
MJ
50642014-06-27 Martin Jambor <mjambor@suse.cz>
5065
5066 PR ipa/61160
5067 * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
5068 args_to_skip, use those from node instead. Copy args_to_skip and
5069 combined_args_to_skip from node to the new thunk.
5070 (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
5071 (cgraph_create_virtual_clone): Moved computation of
5072 combined_args_to_skip...
5073 (cgraph_clone_node): ...here, simplify it to bitmap_ior..
5074
f012c1ab
TS
50752014-06-27 trevor Saunders <tsaunders@mozilla.com>
5076
5077 * config/i386/winnt.c (i386_pe_section_type_flags): Remove
5078 redundant diagnostic machinary.
5079
3fd269db
RB
50802014-06-27 Richard Biener <rguenther@suse.de>
5081
5082 * tree-ssa-math-opts.c (bswap_replace): Fix
5083 SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
5084
807b7d62
ML
50852014-06-27 Martin Liska <mliska@suse.cz>
5086
5087 * gimple.h (gimple_location_safe): New function introduced.
5088 * cgraphunit.c (walk_polymorphic_call_targets): Usage
5089 of gimple_location_safe replaces gimple_location.
5090 (gimple_fold_call): Likewise.
5091 * ipa-devirt.c (ipa_devirt): Likewise.
5092 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
5093 * ipa.c (walk_polymorphic_call_targets): Likewise.
5094 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
5095
a4ee446d
JJ
50962014-06-27 Jakub Jelinek <jakub@redhat.com>
5097
5098 PR tree-optimization/57233
5099 PR tree-optimization/61299
5100 * tree-vect-generic.c (get_compute_type, count_type_subparts): New
5101 functions.
5102 (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
5103 would be lowered to scalar shifts, check if corresponding
5104 shifts and vector BIT_IOR_EXPR are supported and don't lower
5105 or lower just to narrower vector type in that case.
5106 * expmed.c (expand_shift_1): Fix up handling of vector
5107 shifts and rotates.
5108
dd5e7837
UB
51092014-06-26 Uros Bizjak <ubizjak@gmail.com>
5110
5111 PR target/61586
5112 * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
5113
e288a46c
JH
51142014-06-26 Jan Hubicka <hubicka@ucw.cz>
5115
5116 * doc/invoke.texi (-fsemantic-interposition): Document.
5117 * common.opt (fsemantic-interposition): New flag.
5118 * varasm.c (decl_replaceable_p): Use it.
5119
6a742466
BS
51202014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5121
5122 PR target/61542
5123 * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
5124 extraction other than index 3.
5125
f14726bd
TJ
51262014-06-26 Teresa Johnson <tejohnson@google.com>
5127
5128 * doc/invoke.texi: Fix typo.
5129 * dumpfile.c: Add support for documented -fdump-* options
5130 optimized/missed/note/optall.
5131
680a5a7c
MJ
51322014-06-26 Martin Jambor <mjambor@suse.cz>
5133
5134 * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
5135 (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
5136 (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
5137 (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
5138 * opts.c (default_options_optimization): Set
5139 PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
5140 * doc/invoke.texi (allow-load-data-races)
dd5e7837 5141 (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
680a5a7c
MJ
5142 (allow-store-data-races): Document the new default.
5143
72972c22
MJ
51442014-06-26 Martin Jambor <mjambor@suse.cz>
5145
5146 * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
5147 renamed to ipa_impossible_devirt_target. Fix typo.
5148 * ipa-prop.h (ipa_impossible_devirt_target): Declare.
5149 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
5150 ipa_impossible_devirt_target.
5151
73c7d6bc
RB
51522014-06-26 Richard Biener <rguenther@suse.de>
5153
5154 PR tree-optimization/61607
5155 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
5156 explaining why we restrict copies on loop depth.
5157 * tree-ssa-dom.c (cprop_operand): Remove restriction on
5158 on loop depth.
5159 (record_equivalences_from_phis): Instead add it here.
5160
a185856a
BS
51612014-06-26 Bernd Schmidt <bernds@codesourcery.com>
5162
dd5e7837
UB
5163 * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
5164 (LTO_WRAPPER_OBJS): New variable.
5165 (lto-wrapper$(exeext)): Use it.
5166 * collect2.c: Include "collect-utils.h".
5167 (verbose, debug): Remove variables.
5168 (at_file_supplied): No longer static.
5169 (tool_name): New variable.
5170 (do_wait, fork_execute, maybe_unlink): Don't declare.
5171 (tool_cleanup): No longer static.
5172 (notice): Remove function.
5173 (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
5174 fork_execute calls.
5175 (collect_wait, do_wait, collect_execute): Remove functions.
5176 (maybe_unlink): No longer static.
5177 * collect2.h (verbose, debug): Don't declare.
5178 (at_file_supplied): Declare.
5179 * collect-utils.c (utils_cleanup): New arg from_signal. All callers
5180 changed.
5181 (collect_execute): Replace with implementation from collect2, plus a
5182 new arg use_atfile. All callers changed.
5183 (collect_wait): Replace with implementation from collect2.
5184 (maybe_unlink_file): Remove function.
5185 (fork_execute): Replace with implementation from collect2, plus a
5186 new arg use_atfile. All callers changed.
5187 (do_wait): Add call to utils_cleanup to the error path.
5188 * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
5189 (tool_cleanup): Adjust declarations.
5190 * lto-wrapper.c (tool_cleanup): Add unused bool argument.
5191 * tlink.c: Include "collect-utils.h".
5192 (tlink_execute): New arg use_atfile. All callers changed.
5193 (tlink_init, tlink_execute): Remove declarations.
5194
5195 * collect-utils.c (save_temps): New variable.
5196 (do_wait): Use it instead of debug. Use fatal_error.
5197 * collect-utils.h (save_temps): Declare.
5198 * collect2.c (verbose): Rename from vflag. All uses changed.
5199 (tool_cleanup): New function, copied from collect_atexit.
5200 (collect_atexit, handler): Just call it.
5201 * collect2.h (verbose): Declaration renamed from vflag.
5202 * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
5203 debug.
5204
5205 * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
5206 (lto-wrapper$(exeext)): Link with collect-utils.o.
5207 * collect-utils.c: New file.
5208 * collect-utils.h: New file.
5209 * lto-wrapper.c: Include "collect-utils.h".
5210 (args_name): Delete variable.
5211 (tool_name): New variable.
5212 (tool_cleanup): New function.
5213 (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
5214 (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
5215 (fork_execute): Remove functions.
a185856a 5216
5ed8a176
NC
52172014-06-26 Nick Clifton <nickc@redhat.com>
5218
53d51ddb
NC
5219 * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
5220
5ed8a176
NC
5221 * doc/extend.texi (Function Attributes): Fix typo in description
5222 of RX vector attribute.
5223
0cdb761c
JG
52242014-06-26 James Greenhalgh <james.greenhalgh@arm.com>
5225
5226 * config.gcc (supported_defaults): Error when passing either
5227 --with-tune or --with-arch in conjunction with --with-cpu for ARM.
5228
cbe26b97
RB
52292014-06-26 Richard Biener <rguenther@suse.de>
5230
5231 * tree-ssa-dom.c (cprop_operand): Remove restriction on
5232 propagating volatile pointers.
5233
974bb959
RB
52342014-06-26 Richard Biener <rguenther@suse.de>
5235
5236 PR tree-optimization/61607
5237 * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
5238 loop if we redirected its latch edge.
5239 (thread_block_1): Do not cancel loops prematurely.
5240
b9b5f433
JH
52412014-06-25 Jan Hubicka <hubicka@ucw.cz>
5242
dd5e7837
UB
5243 * toplev.c (backend_init_target): Move init_emit_regs and
5244 init_regs to...
b9b5f433 5245 (backend_init) ... here; skip ira_init_once and backend_init_target.
dd5e7837
UB
5246 (target_reinit) ... and here; clear
5247 this_target_rtl->lang_dependent_initialized.
5248 (lang_dependent_init_target): Clear
5249 this_target_rtl->lang_dependent_initialized;
b9b5f433 5250 break out rtl initialization to ...
dd5e7837
UB
5251 (initialize_rtl): ... here; call also backend_init_target
5252 and ira_init_once.
b9b5f433
JH
5253 * toplev.h (initialize_rtl): New function.
5254 * function.c: Include toplev.h
5255 (init_function_start): Call initialize_rtl.
5256 * rtl.h (target_rtl): Add target_specific_initialized,
5257 lang_dependent_initialized.
5258
646d1bed
PG
52592014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
5260 Jakub Jelinek <jakub@redhat.com>
5261
5262 * gcc.c (set_multilib_dir): Malloc "." pointer as well.
5263
db88b449
TV
52642014-06-25 Tom de Vries <tom@codesourcery.com>
5265
5266 * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
5267
f9bb13f3
BE
52682014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5269
5270 * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
5271 check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
5272 Issue a strict overflow warning if appropriate.
5273
d122681a
ML
52742014-06-25 Martin Liska <mliska@suse.cz>
5275
5276 IPA REF refactoring
5277 * Makefile.in: Removed header file (ipa-ref-inline.h).
5278 * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
5279 called.
5280 (cgraph_speculative_call_info): Likewise.
5281 (cgraph_for_node_thunks_and_aliases): Likewise.
5282 (cgraph_for_node_and_aliases): Likewise.
5283 (verify_cgraph_node): Likewise.
5284 * cgraph.h: Batch of IPA REF functions become member functions of
5285 symtab_node: add_reference, maybe_add_reference, clone_references,
5286 clone_referring, clone_reference, find_reference,
5287 remove_stmt_references, remove_all_references,
5288 remove_all_referring, dump_references, dump_referring,
5289 has_alias_p, iterate_reference, iterate_referring.
5290 * cgraphbuild.c (record_reference): New IPA REF function used.
5291 (record_type_list): Likewise.
5292 (record_eh_tables): Likewise.
5293 (mark_address): Likewise.
5294 (mark_load): Likewise.
5295 (mark_store): Likewise.
5296 (pass_build_cgraph_edges): Likewise.
5297 (rebuild_cgraph_edge): Likewise.
5298 (cgraph_rebuild_references): Likewise.
5299 (pass_remove_cgraph_callee_edges): Likewise.
5300 * cgraphclones.c (cgraph_clone_node): Likewise.
5301 (cgraph_create_virtual_clone): Likewise.
5302 (cgraph_materialize_clone): Likewise.
5303 (cgraph_materialize_all_clones): Likewise.
5304 * cgraphunit.c (cgraph_reset_node): Likewise.
5305 (cgraph_reset_node): Likewise.
5306 (analyze_function): Likewise.
5307 (assemble_thunks_and_aliases): Likewise.
5308 (expand_function): Likewise.
5309 * ipa-comdats.c (propagate_comdat_group): Likewise.
5310 (enqueue_references): Likewise.
5311 * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
5312 (create_specialized_node): Likewise.
5313 * ipa-devirt.c (referenced_from_vtable_p): Likewise.
5314 * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
5315 * ipa-inline.c (reset_edge_caches): Likewise.
5316 (update_caller_keys): Likewise.
5317 (execute): Likewise.
5318 * ipa-prop.c (remove_described_reference): Likewise.
5319 (propagate_controlled_uses): Likewise.
5320 (ipa_edge_duplication_hook): Likewise.
5321 (ipa_modify_call_arguments): Likewise.
5322 * ipa-pure-const.c (propagate_pure_const): Likewise.
5323 * ipa-ref-inline.h: Header file removed, functions moved
5324 to symtab_node class.
5325 * ipa-ref.c (remove_reference): New class member function.
5326 (cannot_lead_to_return): New class member function.
5327 (referring_ref_list): Likewise.
5328 (referred_ref_list): Likewise.
5329 Rest of functions moved to symtab_node class.
5330 * ipa-ref.h: New member functions remove_reference,
5331 cannot_lead_to_return, referring_ref_list, referred_ref_list added
5332 to ipa_ref class.
5333 ipa_ref_list class has new member functions: first_reference,
5334 first_referring, clear, nreferences.
5335 * ipa-reference.c (analyze_function): New IPA REF function used.
5336 (write_node_summary_p): Likewise.
5337 (ipa_reference_write_optimization_summary): Likewise.
5338 * ipa-split.c (split_function): Likewise.
5339 * ipa-utils.c (ipa_reverse_postorder): Likewise.
5340 * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
5341 (function_and_variable_visibility): Likewise.
5342 * ipa.c (has_addr_references_p): Likewise.
5343 (process_references): Argument type changed.
5344 (symtab_remove_unreachable_nodes): New IPA REF function used.
5345 (process_references): Likewise.
5346 (set_writeonly_bit): Likewise.
5347 * lto-cgraph.c: Implementation of new symtab_node member functions
5348 that uses new IPA REF functions.
dd5e7837
UB
5349 * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
5350 function used.
d122681a
ML
5351 * lto-streamer-out.c (output_symbol_p): Likewise.
5352 * lto-streamer.h (referenced_from_this_partition_p): Argument type
5353 changed.
d122681a
ML
5354 * symtab.c: Implementation of new IPA REF API.
5355 * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
5356 (ipa_tm_create_version): Likewise.
5357 (ipa_tm_execute): Likewise.
5358 * tree-emutls.c (gen_emutls_addr): Likewise.
5359 * tree-inline.c (copy_bb): Likewise.
5360 (delete_unreachable_blocks_update_callgraph): Likewise.
5361 * varpool.c (varpool_remove_unreferenced_decls): Likewise.
5362 (varpool_for_node_and_aliases): Likewise.
5363
81d0a226
TS
53642014-06-25 Trevor Saunders <tsaunders@mozilla.com>
5365
5366 * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
5367
86fcf7ce
TS
53682014-06-25 Trevor Saunders <tsaunders@mozilla.com>
5369
5370 PR bootstrap/61598
5371 * fold-const.c (fold_checksum_tree): Use a hash_table of const
5372 tree_node * instead of tree_node *.
5373 (fold): Adjust.
5374 (print_fold_checksum): Likewise.
5375 (fold_check_failed): Likewise.
5376 (debug_fold_checksum): Likewise.
5377 (fold_build1_stat_loc): Likewise.
5378 (fold_build2_stat_loc): Likewise.
5379 (fold_build3_stat_loc): Likewise.
5380 (fold_build_call_array_loc): Likewise.
5381
b36e833f
DE
53822014-06-25 David Edelsohn <dje.gcc@gmail.com>
5383
5384 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
5385 implementation with call to...
5386 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
5387 function.
5388 * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
5389 Declare.
5390
20cb2258
MG
53912014-06-25 Marc Glisse <marc.glisse@inria.fr>
5392
5393 PR tree-optimization/57742
5394 * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
5395 after replacing the statement.
5396
cd47dfd0
NC
53972014-06-25 Nick Clifton <nickc@redhat.com>
5398
5399 * config/v850/v850.c (GHS_default_section_names): Change to const
5400 char * type.
5401 (GHS_current_section_names): Likewise.
5402 (v850_insert_attributes): Do not build strings, just assign the
5403 names directly. Change the type of 'chosen_section' to const
5404 char*.
5405 * config/v850/v850-c.c (ghs_pragma_section): Assign the alias
5406 directly to the array entry.
5407 * config/v850/v850.h (GHS_default_section_names): Change to const
5408 char * type.
5409 (GHS_current_section_names): Likewise.
5410
da6f124d
JJ
54112014-06-25 Jakub Jelinek <jakub@redhat.com>
5412
5413 * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
5414 (LANG_HOOKS_DECLS): Add it.
5415 * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
5416 has correct type.
5417 * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
5418 * langhooks.h (struct lang_hooks_for_decls): Add
5419 omp_clause_linear_ctor hook.
5420 * omp-low.c (lower_rec_input_clauses): Set max_vf even if
5421 OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
5422 OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
5423 combined simd loop use omp_clause_linear_ctor hook.
5424
79d652a5
CH
54252014-06-24 Cong Hou <congh@google.com>
5426
5427 * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
5428 pattern recognition.
5429 (type_conversion_p): PROMOTION is true if it's a type promotion
5430 conversion, and false otherwise. Return true if the given expression
5431 is a type conversion one.
5432 * tree-vectorizer.h: Adjust the number of patterns.
5433 * tree.def: Add SAD_EXPR.
5434 * optabs.def: Add sad_optab.
5435 * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
5436 * expr.c (expand_expr_real_2): Likewise.
5437 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
5438 * gimple.c (get_gimple_rhs_num_ops): Likewise.
5439 * optabs.c (optab_for_tree_code): Likewise.
5440 * tree-cfg.c (estimate_operator_cost): Likewise.
5441 * tree-ssa-operands.c (get_expr_operands): Likewise.
5442 * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
5443 * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
5444 * doc/generic.texi: Add document for SAD_EXPR.
5445 * doc/md.texi: Add document for ssad and usad.
5446
3c032229
TS
54472014-06-24 Trevor Saunders <tsaunders@mozilla.com>
5448
5449 * config/i386/winnt.c (i386_pe_section_type_flags): Fix const
5450 qualification in cast.
5451
aaf8a23e
JH
54522014-06-24 Jan Hubicka <hubicka@ucw.cz>
5453
5454 * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
5455 * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
5456 * tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
5457 (tree_function_decl): ... here.
5458 * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
5459 streaming of vindex to ...
5460 (write_ts_function_decl_tree_pointers): ... here.
5461 * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
5462 Do not stream DECL_VINDEX.
5463 (lto_input_ts_function_decl_tree_pointers): Stream it here.
5464
ecc63043
CM
54652014-06-24 Catherine Moore <clm@codesourcery.com>
5466 Sandra Loosemore <sandra@codesourcery.com>
5467
5468 * config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
5469 * config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
5470 * config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
5471
db8965fc
MG
54722014-06-24 Marc Glisse <marc.glisse@inria.fr>
5473
5474 * doc/invoke.texi (Warning Options): Remove duplicated
5475 -Wmaybe-uninitialized.
5476
24314386
MG
54772014-06-24 Marc Glisse <marc.glisse@inria.fr>
5478
5479 PR tree-optimization/57742
5480 * tree-ssa-strlen.c (get_string_length): Ignore malloc.
5481 (handle_builtin_malloc, handle_builtin_memset): New functions.
5482 (strlen_optimize_stmt): Call them.
5483 * passes.def: Move strlen after loop+dom but before vrp.
5484
8d37375b
JJ
54852014-06-24 Jakub Jelinek <jakub@redhat.com>
5486
5487 PR target/61570
5488 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
5489 model family 6 CPU with has_longmode never use a CPU without
5490 64-bit support.
5491
fb112177
L
54922014-06-24 H.J. Lu <hongjiu.lu@intel.com>
5493
5494 PR target/61570
5495 * config/i386/driver-i386.c (host_detect_local_cpu): Revert
5496 the last change.
5497
1eb68d2d
TS
54982014-06-24 Trevor Saunders <tsaunders@mozilla.com>
5499
5500 * alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
5501 * dominance.c (iterate_fix_dominators): Use hash_map instead of
5502 pointer_map.
5503 * hash-map.h: New file.
5504 * ipa-comdats.c: Use hash_map instead of pointer_map.
5505 * ipa.c: Likewise.
5506 * lto-section-out.c: Adjust.
5507 * lto-streamer.h: Replace pointer_map with hash_map.
5508 * symtab.c (verify_symtab): Likewise.
5509 * tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
5510 * tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
5511 * tree-streamer.h: Likewise.
5512 * tree-streamer.c: Adjust.
5513 * pointer-set.h: Remove pointer_map.
5514
84baa4b9
TS
55152014-06-24 Trevor Saunders <tsaunders@mozilla.com>
5516
5517 * hash-table.h: Add a template arg to choose between storing values
5518 and storing pointers to values, and then provide partial
5519 specializations for both.
5520 * tree-browser.c (tree_upper_hasher): Provide the type the hash table
5521 should store, not the type values should point to.
5522 * tree-into-ssa.c (var_info_hasher): Likewise.
5523 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
5524 * tree-complex.c: Adjust.
5525 * tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
5526 table instead of int_tree_map *.
5527 * tree-parloops.c: Adjust.
5528 * tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
5529 type is being stored.
5530 * tree-vectorizer.c: Adjust.
5531
c203e8a7
TS
55322014-06-24 Trevor Saunders <tsaunders@mozilla.com>
5533
5534 * hash-table.h: Remove a layer of indirection from hash_table so that
5535 it contains the hash table's data instead of a pointer to the data.
5536 * alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
5537 config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
5538 config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
5539 data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
5540 fold-const.c, gcse.c, ggc-common.c,
5541 gimple-ssa-strength-reduction.c, gimplify.c,
5542 graphite-clast-to-gimple.c, graphite-dependences.c,
5543 graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
5544 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
5545 loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
5546 lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
5547 postreload-gcse.c, sese.c, statistics.c, store-motion.c,
5548 trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
5549 tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
5550 tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
5551 tree-ssa-live.c, tree-ssa-loop-im.c,
5552 tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
5553 tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
5554 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
5555 tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
dd5e7837
UB
5556 tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
5557 tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
5558 vtable-verify.c, vtable-verify.h: Adjust.
c203e8a7 5559
99753277
RB
55602014-06-24 Richard Biener <rguenther@suse.de>
5561
5562 PR tree-optimization/61572
5563 * tree-ssa-sink.c (statement_sink_location): Do not sink
5564 loads from hard registers.
5565
b46ebd6c
JJ
55662014-06-24 Jakub Jelinek <jakub@redhat.com>
5567
56ad0e38
JJ
5568 * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
5569 not mentioned in clauses use private clause if the iterator is
5570 declared in #pragma omp for simd, and when adding lastprivate
5571 instead, add it to the outer #pragma omp for too. Diagnose
5572 if the variable is private in outer context. For simd collapse > 1
5573 loops, replace all iterators with temporaries.
5574 * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
5575 same even in collapse > 1 loops.
5576
b46ebd6c
JJ
5577 * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
5578 OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
5579 non-NULL.
5580 <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
5581 (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
5582 non-NULL.
5583 (gimplify_adjust_omp_clauses): Likewise.
5584 * omp-low.c (lower_rec_simd_input_clauses,
5585 lower_rec_input_clauses, expand_omp_simd): Handle non-constant
5586 safelen the same as safelen(1).
5587 * tree-nested.c (convert_nonlocal_omp_clauses,
5588 convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
5589 OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
5590 (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
5591 Fixup handling of GIMPLE_OMP_TARGET.
5592 (convert_tramp_reference_stmt, convert_gimple_call): Handle
5593 GIMPLE_OMP_TARGET.
5594
33512353
CLT
55952014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
5596
5597 PR tree-optimization/61554
5598 * tree-ssa-propagate.c: Include "bitmap.h".
5599 (substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
5600 properly update constructor/destructor.
5601 (substitute_and_fold_dom_walker::before_dom_children):
5602 Remove call to gimple_purge_dead_eh_edges, add bb->index to
5603 need_eh_cleaup instead.
5604 (substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
5605 need_eh_cleanup.
5606
eb6a09a7
JH
56072014-06-23 Jan Hubicka <hubicka@ucw.cz>
5608
5609 * varpool.c (dump_varpool_node): Dump used_by_single_function.
5610 * tree-pass.h (make_pass_ipa_single_use): New pass.
5611 * cgraph.h (used_by_single_function): New flag.
dd5e7837
UB
5612 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
5613 Stream it.
eb6a09a7
JH
5614 * passes.def (pass_ipa_single_use): Scedule.
5615 * ipa.c (BOTTOM): New macro.
5616 (meet): New function
5617 (propagate_single_user): New function.
5618 (ipa_single_use): New function.
5619 (pass_data_ipa_single_use): New pass.
5620 (pass_ipa_single_use): New pass.
5621 (pass_ipa_single_use::gate): New gate.
5622 (make_pass_ipa_single_use): New function.
5623
47c80ef5
KT
56242014-06-23 Kai Tietz <ktietz@redhat.com>
5625
5626 PR target/39284
dd5e7837
UB
5627 * passes.def (peephole2): Move peephole2 pass before sched2 pass.
5628 * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
47c80ef5 5629
e5d8bd8c
RB
56302014-06-23 Richard Biener <rguenther@suse.de>
5631
5632 * tree-ssa-loop.c (gate_loop): New function.
5633 (pass_tree_loop::gate): Call it.
5634 (pass_data_tree_no_loop, pass_tree_no_loop,
5635 make_pass_tree_no_loop): New.
5636 * tree-vectorizer.c: Include tree-scalar-evolution.c
5637 (pass_slp_vectorize::execute): Initialize loops and SCEV if
5638 required.
5639 (pass_slp_vectorize::clone): New method.
5640 * timevar.def (TV_TREE_NOLOOP): New.
5641 * tree-pass.h (make_pass_tree_no_loop): Declare.
5642 * passes.def (pass_tree_no_loop): New pass group with
5643 SLP vectorizer.
5644
228e5d2b
L
56452014-06-23 H.J. Lu <hongjiu.lu@intel.com>
5646
5647 PR target/61570
5648 * config/i386/driver-i386.c (host_detect_local_cpu): Set arch
5649 to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
5650
0379033b
JG
56512014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
5652
5653 * config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
5654 "yes" where needed.
5655
82bb9245
AM
56562014-06-23 Alan Modra <amodra@gmail.com>
5657
5658 PR bootstrap/61583
5659 * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
5660 to zero on debug statements.
5661
de6c4e1f 56622014-06-23 Alan Lawrence <alan.lawrence@arm.com>
096c59be
AL
5663
5664 PR target/60825
5665 * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
5666 Ignore third operand if present by marking qualifier_internal.
5667
5668 * config/aarch64/aarch64-simd-builtins.def (abs): Comment.
5669
5670 * config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
5671 vector extension.
5672 (aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
5673 arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
5674 (vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
5675 vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
5676 vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
5677 vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
5678 vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
5679 vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
5680 vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
5681 vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
5682 vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
5683 vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
5684 vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
5685 vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
5686 vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
5687 vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
5688 logic in GCC vector extensions
82bb9245 5689
096c59be
AL
5690 (vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
5691 vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
5692 vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
5693 vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
5694 vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
5695 vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
5696 vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
5697 vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
5698 vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
5699 vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.
5700
5701 (vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.
5702
5703 (vget_high_s64, vget_high_u64): Reimplement with GCC vector
5704 extensions.
5705
5706 (__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
5707 (vget_low_s64): Use __GET_LOW macro.
5708 (vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
5709 gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
5710 (vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
5711 (vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
5712 __builtin_aarch64_lane_boundsi, use GCC vector extensions.
5713
5714 (vcombine_s64): Use GCC vector extensions; remove cast.
5715 (vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
5716 vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
5717 vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
5718 Fix type signature; remove cast.
5719
de6c4e1f 57202014-06-23 Alan Lawrence <alan.lawrence@arm.com>
c6a29a09
AL
5721
5722 PR target/60825
5723 * config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
5724 V1DFmode.
5725 * config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
5726 add V1DFmode
5727 (BUILTIN_VD1): New.
5728 (BUILTIN_VD_RE): Remove.
5729 (aarch64_init_simd_builtins): Add V1DF to modes/modenames.
5730 (aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
5731 * config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
5732 variant but not df.
5733 (vreinterpretv1df*, vreinterpret*v1df): New.
5734 (vreinterpretdf*, vreinterpret*df): Remove.
dd5e7837
UB
5735 * config/aarch64/aarch64-simd.md (aarch64_create,
5736 aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
c6a29a09
AL
5737 * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
5738 (VD1): New.
5739 * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
5740 (vcreate_f64): Remove cast, use v1df builtin.
5741 (vcombine_f64): Remove cast, get elements with gcc vector extensions.
5742 (vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
5743 vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
5744 vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
5745 vmov_n_f64, vst1_f64): Use gcc vector extensions.
5746 (vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
5747 add range check using __builtin_aarch64_im_lane_boundsi.
5748 (vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
5749 vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
5750 type signature, use gcc vector extensions.
5751 (vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
5752 vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
5753 vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
5754 vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
5755 vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
5756 vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
5757 vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
5758 vreinterpret_u64_f64): Use v1df builtin not df.
5759
463036be
JG
57602014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
5761
5762 * config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
5763 vector registers.
5764
1cff83e2
JH
57652014-06-23 Jan Hubicka <hubicka@ucw.cz>
5766
dd5e7837
UB
5767 * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
5768 priority directly.
1cff83e2 5769
2c97f472
ZC
57702014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5771
5772 * loop-invariant.c (pre_check_invariant_p): New function.
5773 (find_invariant_insn): Call pre_check_invariant_p.
5774
08281ce0
RH
57752014-06-22 Richard Henderson <rth@redhat.com>
5776
5777 PR target/61565
5778 * compare-elim.c (struct comparison): Add eh_note.
5779 (find_comparison_dom_walker::before_dom_children): Don't eliminate
5780 a redundant comparison in a different EH region. Purge EH edges if
5781 necessary.
5782
37317a1f
SB
57832014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
5784
5785 * config/rs6000/rs6000.md (maybe_var_shift): New define_attr.
5786 (var_shift): Use it.
5787 (rotl<mode>3, *rotlsi3_64, *rotl<mode>3_dot, *rotl<mode>3_dot2,
5788 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
5789 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
5790 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
5791 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
5792 *rotlsi3_internal12be, ashl<mode>3, *ashlsi3_64, *ashl<mode>3_dot,
5793 *ashl<mode>3_dot2, lshr<mode>3, *lshrsi3_64, *lshr<mode>3_dot,
5794 *lshr<mode>3_dot2, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot,
5795 *ashr<mode>3_dot2, *rotldi3_internal4, *rotldi3_internal5,
5796 *rotldi3_internal6, *rotldi3_internal7le, *rotldi3_internal7be,
5797 *rotldi3_internal8le, *rotldi3_internal8be, *rotldi3_internal9le,
5798 *rotldi3_internal9be, *rotldi3_internal10le, *rotldi3_internal10be,
5799 *rotldi3_internal11le, *rotldi3_internal11be, *rotldi3_internal12le,
5800 *rotldi3_internal12be, *rotldi3_internal13le, *rotldi3_internal13be,
5801 *rotldi3_internal14le, *rotldi3_internal14be, *rotldi3_internal15le,
5802 *rotldi3_internal15be): Use the new attribute. Merge register and
5803 integer alternatives.
5804
85c1cb22
SB
58052014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
5806
5807 * config/rs6000/rs6000.md (ashrsi3, two anonymous define_insns and
5808 define_splits, ashrdi3, *ashrdi3_internal1, *ashrdi3_internal2 and
5809 split, *ashrdi3_internal3 and split): Delete, merge into...
5810 (ashr<mode>3): New expander.
5811 (*ashr<mode>3, ashr<mode>3_dot, ashr<mode>3_dot2): New.
5812 (*ashrsi3_64): Fix formatting. Replace "i" by "n".
5813
137b8eb2
SB
58142014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
5815
5816 * config/rs6000/rs6000.md (rotlsi3, *rotlsi3_internal2 and split,
5817 *rotlsi3_internal3 and split, rotldi3, *rotldi3_internal2 and split,
5818 *rotldi3_internal3 and split): Delete, merge into...
5819 (rotl<mode>3, rotl<mode>3_dot, rotl<mode>3_dot2): New.
5820 (*rotlsi3_64): Fix formatting. Fix condition. Replace "i" by "n".
5821 Use "rotlw" extended mnemonic.
5822
d70be98e
SB
58232014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
5824
5825 * config/rs6000/rs6000.md (ashlsi3, two anonymous define_insns
5826 and define_splits, ashldi3, *ashldi3_internal1, *ashldi3_internal2
5827 and split, *ashldi3_internal3 and split): Delete, merge into...
5828 (ashl<mode>3, ashl<mode>3_dot, ashl<mode>3_dot2): New.
5829 (*ashlsi3_64): Fix formatting. Replace "i" by "n".
5830
f39a447c
SB
58312014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
5832
5833 * config/rs6000/rs6000.md ("hH"): New define_mode_attr.
5834 (lshrsi3, two anonymous define_insns and define_splits,
5835 lshrdi3, *lshrdi3_internal1, *lshrdi3_internal2 and split,
5836 *lshrdi3_internal3 and split): Delete, merge into...
5837 (lshr<mode>3, lshr<mode>3_dot, lshr<mode>3_dot2): New.
5838 (*lshrsi3_64): Fix formatting. Replace "i" by "n".
5839
1a2443af
SB
58402014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
5841
5842 * config/rs6000/rs6000.md (lshrsi3, and its two dot patterns):
5843 Remove "O" alternative.
5844
82db17cb
RS
58452014-06-22 Richard Sandiford <rdsandiford@googlemail.com>
5846
5847 * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
5848 (mips_move_from_gpr_cost): Likewise.
5849 (mips_register_move_cost): Update accordingly.
5850 (mips_secondary_reload_class): Remove name of in_p.
5851
43c5fcfc
MG
58522014-06-22 Marc Glisse <marc.glisse@inria.fr>
5853
5854 PR target/61503
5855 * config/i386/i386.md (x86_64_shrd, x86_shrd,
5856 ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
5857
47657153
JBG
58582014-06-21 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5859
5860 * config/nios2/nios2.c: Include "builtins.h".
5861
714c800f
JH
58622014-06-20 Jan Hubicka <hubicka@ucw.cz>
5863
5864 * cgraph.h (tls_model_names): New variable.
5865 * print-tree.c (print_node): Simplify.
5866 * varpool.c (tls_model_names): New variable.
5867 (dump_varpool_node): Output tls model.
5868
b4897212
JH
58692014-06-20 Jan Hubicka <hubicka@ucw.cz>
5870
5871 * ipa-visibility.c (function_and_variable_visibility): Disable
5872 temporarily local aliases for some targets.
5873
0e37a2f3
MP
58742014-06-20 Marek Polacek <polacek@redhat.com>
5875
5876 * asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
5877 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
5878 into SANITIZE_UNDEFINED.
5879 * doc/invoke.texi: Describe -fsanitize=bounds.
5880 * gimplify.c (gimplify_call_expr): Add gimplification of internal
5881 functions created in the FEs.
5882 * internal-fn.c: Move "internal-fn.h" after "tree.h".
5883 (expand_UBSAN_BOUNDS): New function.
5884 * internal-fn.def (UBSAN_BOUNDS): New internal function.
5885 * internal-fn.h: Don't define internal functions here.
5886 * opts.c (common_handle_option): Add -fsanitize=bounds.
5887 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
5888 BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
5889 * tree-core.h: Define internal functions here.
5890 (struct tree_base): Add ifn field.
5891 * tree-pretty-print.c: Include "internal-fn.h".
5892 (dump_generic_node): Handle functions without CALL_EXPR_FN.
5893 * tree.c (get_callee_fndecl): Likewise.
5894 (build_call_expr_internal_loc): New function.
5895 * tree.def (CALL_EXPR): Update description.
5896 * tree.h (CALL_EXPR_IFN): Define.
5897 (build_call_expr_internal_loc): Declare.
5898 * ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
5899 types.
5900 (ubsan_type_descriptor): Change bool parameter to enum
5901 ubsan_print_style. Adjust the code. Add handling of
5902 UBSAN_PRINT_ARRAY.
5903 (ubsan_expand_bounds_ifn): New function.
5904 (ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
5905 (ubsan_build_overflow_builtin): Likewise.
5906 (instrument_bool_enum_load): Likewise.
5907 (ubsan_instrument_float_cast): Likewise.
5908 * ubsan.h (enum ubsan_print_style): New enum.
5909 (ubsan_expand_bounds_ifn): Declare.
5910 (ubsan_type_descriptor): Adjust declaration. Use a default parameter.
5911
96740472
MR
59122014-06-20 Maciej W. Rozycki <macro@codesourcery.com>
5913
5914 * config/rs6000/rs6000.md: Append `DONE' to preparation
5915 statements of `bswap' pattern splitters.
5916
73b3e61b
TV
59172014-06-20 Tom de Vries <tom@codesourcery.com>
5918
5919 * target.def (call_fusage_contains_non_callee_clobbers): Update
5920 definition.
5921 * doc/tm.texi: Regenerate.
5922
0cbf438b
YG
59232014-06-20 Yury Gribov <y.gribov@samsung.com>
5924 Max Ostapenko <m.ostapenko@partner.samsung.com>
5925
5926 PR sanitizer/61547
5927 * asan.c (instrument_strlen_call): Fixed instrumentation of
5928 trailing byte.
5929
bec81025
MJ
59302014-06-20 Martin Jambor <mjambor@suse.cz>
5931
5932 PR ipa/61540
5933 * ipa-prop.c (impossible_devirt_target): New function.
5934 (try_make_edge_direct_virtual_call): Use it, also instead of
5935 asserting.
5936
bf613c02
YG
59372014-06-20 Yury Gribov <y.gribov@samsung.com>
5938 Max Ostapenko <m.ostapenko@partner.samsung.com>
5939
5940 PR sanitizer/61530
5941 * asan.c (build_check_stmt): Add condition.
5942
803d0ab0
MJ
59432014-06-20 Martin Jambor <mjambor@suse.cz>
5944
5945 PR ipa/61211
5946 * cgraph.c (clone_of_p): Allow skipped_branch to deal with
5947 expanded clones.
5948
278821f2
KT
59492014-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5950
5951 * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
5952 Update comments.
5953 (VCONQ): Make comment more helpful.
5954 (VCON): Delete.
5955 * config/aarch64/aarch64-simd.md
5956 (aarch64_sqdmulh_lane<mode>):
5957 Use VCOND for operands 2. Update lane checking and flipping logic.
5958 (aarch64_sqrdmulh_lane<mode>): Likewise.
5959 (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
5960 (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
5961 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
5962 attribute of operand 3 to VCOND.
5963 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
5964 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
5965 (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
5966 (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
5967 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
5968 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
5969 define_insn.
5970 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
5971 (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
5972 (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
5973 (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
5974 (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
5975 (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
5976 operand to VCOND. Update lane flipping and bounds checking logic.
5977 (aarch64_sqdmlal2_lane<mode>): Likewise.
5978 (aarch64_sqdmlsl_lane<mode>): Likewise.
5979 (aarch64_sqdmull_lane<mode>): Likewise.
5980 (aarch64_sqdmull2_lane<mode>): Likewise.
5981 (aarch64_sqdmlal_laneq<mode>):
5982 Replace VCON usage with VCONQ.
5983 Emit aarch64_sqdmlal_laneq<mode>_internal insn.
5984 (aarch64_sqdmlal2_laneq<mode>): Emit
5985 aarch64_sqdmlal2_laneq<mode>_internal insn.
5986 Replace VCON with VCONQ.
5987 (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
5988 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
5989 (aarch64_sqdmull_laneq<mode>): Emit
5990 aarch64_sqdmull_laneq<mode>_internal insn.
5991 Replace VCON with VCONQ.
5992 (aarch64_sqdmull2_laneq<mode>): Emit
5993 aarch64_sqdmull2_laneq<mode>_internal insn.
5994 (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
5995 * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
5996 of 3rd argument to int16x4_t.
5997 (vqdmlalh_lane_s16): Likewise.
5998 (vqdmlslh_lane_s16): Likewise.
5999 (vqdmull_high_lane_s16): Likewise.
6000 (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
6001 (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
6002 (vqdmlsl_lane_s16): Likewise.
6003 (vqdmull_lane_s16): Don't create temporary int16x8_t value.
6004 (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
6005 (vqdmlals_lane_s32): Likewise.
6006 (vqdmlsls_lane_s32): Likewise.
6007 (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
6008 (vqdmulls_lane_s32): Likewise.
6009 (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
6010 (vqdmlsl_lane_s32): Likewise.
6011 (vqdmull_lane_s32): Don't create temporary int32x4_t value.
6012 (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
6013 (vqrdmulhh_lane_s16): Likewise.
6014 (vqdmlsl_high_lane_s16): Likewise.
6015 (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
6016 (vqdmlsl_high_lane_s32): Likewise.
6017 (vqrdmulhs_lane_s32): Likewise.
6018
6621ab68
TV
60192014-06-20 Tom de Vries <tom@codesourcery.com>
6020
6021 * final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
6022 get_call_reg_set_usage.
6023
5fea8186
TV
60242014-06-20 Tom de Vries <tom@codesourcery.com>
6025
6026 * final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
6027 it contains all call_used_regs.
6028
53f2f6c1
TV
60292014-06-20 Tom de Vries <tom@codesourcery.com>
6030
6031 * final.c (collect_fn_hard_reg_usage): Add and use variable
6032 function_used_regs.
6033
569b1784
JH
60342014-06-20 Jan Hubicka <hubicka@ucw.cz>
6035
6036 * cgraph.h (struct symtab_node): Add field in_init_priority_hash
6037 (set_init_priority, get_init_priority, set_fini_priority,
6038 get_fini_priority): New methods.
6039 * tree.c (init_priority_for_decl): Remove.
6040 (init_ttree): Do not initialize init priority.
6041 (decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
6042 (decl_priority_info): Remove.
6043 (decl_init_priority_insert): Rewrite.
6044 (decl_fini_priority_insert): Rewrite.
6045 * tree.h (tree_priority_map_eq, tree_priority_map_hash,
6046 tree_priority_map_marked_p): Remove.
6047 * lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
6048 * lto-streamer-out.c (hash_tree): Do not hash priorities.
6049 * tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
6050 not output priorities.
6051 (pack_ts_function_decl_value_fields): Likewise.
6052 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
6053 not input priorities.
6054 (unpack_ts_function_decl_value_fields): Likewise.
6055 * symtab.c (symbol_priority_map): Declare.
6056 (init_priority_hash): Declare.
6057 (symtab_unregister_node): Unregister from priority hash, too.
6058 (symtab_node::get_init_priority, cgraph_node::get_fini_priority):
6059 New methods.
6060 (symbol_priority_map_eq, symbol_priority_map_hash): New functions.
6061 (symbol_priority_info): New function.
6062 (symtab_node::set_init_priority, cgraph_node::set_fini_priority):
6063 New methods.
6064 * tree-core.h (tree_priority_map): Remove.
6065
88f5cfcd
JJ
60662014-06-20 Jakub Jelinek <jakub@redhat.com>
6067
6068 * tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
6069 0xff to uint64_t before shifting it up.
6070
6d45574a
JB
60712014-06-20 Julian Brown <julian@codesourcery.com>
6072 Chung-Lin Tang <cltang@codesourcery.com>
6073
6074 * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
6075 TARGET_THUMB1_ONLY. Add comments.
6076
d07a3fed
TV
60772014-06-19 Tom de Vries <tom@codesourcery.com>
6078
6079 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
6080 return type to void.
6081 * config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.
6082
61fc05c7
ZC
60832014-06-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6084
6085 * loop-invariant.c (get_inv_cost): Skip invariants, which are marked
6086 as "move", from depends_on.
6087
dbb73879
TG
60882014-06-19 Terry Guo <terry.guo@arm.com>
6089
6090 * config/arm/thumb1.md (define_split): Split 64bit constant in earlier
6091 stage.
6092
36bd0c3e
SB
60932014-06-18 Segher Boessenkool <segher@kernel.crashing.org>
6094
6095 * config/rs6000/rs6000.h (FIXED_REGISTERS): Update comment.
6096 Remove cr5.
6097 (REG_ALLOC_ORDER): Update comment. Move cr5 earlier.
6098
be6b0bec
KK
60992014-06-18 Kaz Kojima <kkojima@gcc.gnu.org>
6100
6101 PR target/61550
6102 * config/sh/sh.c (prepare_move_operands): Don't process TLS
6103 addresses here if reload in progress or completed.
6104
c31d2d11
RS
61052014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
6106
a78cc314
RS
6107 * config/mips/constraints.md ("d"): BASE_REG_CLASS replaced by
6108 "TARGET_MIPS16 ? M16_REGS : GR_REGS".
6109 * config/mips/mips.c (mips_regno_to_class): Update for M16_SP_REGS.
6110 (mips_regno_mode_ok_for_base_p): Remove use of !strict_p for MIPS16.
6111 (mips_register_priority): New function that implements the target
6112 hook TARGET_REGISTER_PRIORITY.
6113 (mips_spill_class): Likewise for TARGET_SPILL_CLASS.
6114 (mips_lra_p): Likewise for TARGET_LRA_P.
6115 (TARGET_REGISTER_PRIORITY): Define macro.
6116 (TARGET_SPILL_CLASS): Likewise.
6117 (TARGET_LRA_P): Likewise.
6118 * config/mips/mips.h (reg_class): Add M16_SP_REGS and SPILL_REGS
6119 classes.
6120 (REG_CLASS_NAMES): Likewise.
6121 (REG_CLASS_CONTENTS): Likewise.
6122 (BASE_REG_CLASS): Use M16_SP_REGS.
6123 * config/mips/mips.md (*mul_acc_si): Add alternative tuned for LRA.
6124 New set attribute to enable alternatives depending on the register
6125 allocator used.
6126 (*mul_acc_si_r3900, *mul_sub_si): Likewise.
6127 (*lea64): Disable pattern for MIPS16.
6128 * config/mips/mips.opt (mlra): New option.
6129
61302014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
6131
82bb9245
AM
6132 * lra-constraints.c (base_to_reg): New function.
6133 (process_address): Use new function.
c31d2d11 6134
78607708
TV
61352014-06-18 Tom de Vries <tom@codesourcery.com>
6136
6137 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
6138 * config/aarch64/aarch64.c
6139 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
6140 (aarch64_emit_call_insn): New function.
6141 (aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
6142 of emit_call_insn.
6143 * config/aarch64/aarch64.md (define_expand "call_internal")
6144 (define_expand "call_value_internal", define_expand "sibcall_internal")
6145 (define_expand "sibcall_value_internal"): New.
6146 (define_expand "call", define_expand "call_value")
6147 (define_expand "sibcall", define_expand "sibcall_value"): Use internal
6148 expand variant and aarch64_emit_call_insn.
6149
7a32d6c4 61502014-06-18 Radovan Obradovic <robradovic@mips.com>
dd5e7837 6151 Tom de Vries <tom@codesourcery.com>
7a32d6c4
RO
6152
6153 * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
6154 * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
6155 Redefine to true.
6156 (arm_emit_call_insn): Add and use sibcall parameter. Add IP and CC
6157 clobbers to CALL_INSN_FUNCTION_USAGE.
6158 (define_expand "sibcall_internal")
6159 (define_expand "sibcall_value_internal"): New.
6160 (define_expand "call", define_expand "call_value"): Add argument to
6161 arm_emit_call_insn.
6162 (define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
6163 (define_expand "sibcall_value"): Use sibcall_value_internal and
6164 arm_emit_call_insn.
6165
4b9fcb37
CB
61662014-06-18 Charles Baylis <charles.baylis@linaro.org>
6167
6168 * config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.
6169
a7a7d3c8
CB
61702014-06-18 Charles Baylis <charles.baylis@linaro.org>
6171
6172 * config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
6173 __udivmoddi4.
6174
158ef346
CB
61752014-06-18 Charles Baylis <charles.baylis@linaro.org>
6176
6177 * config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
6178 push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
6179 annotations. Fix DWARF information.
6180
13381189
CB
61812014-06-18 Charles Baylis <charles.baylis@linaro.org>
6182
6183 * config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
6184 __udivmoddi4, and fixups for negative operands.
6185
f493def1
CB
61862014-06-18 Charles Baylis <charles.baylis@linaro.org>
6187
6188 * config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
6189
0b227df4
CB
61902014-06-18 Charles Baylis <charles.baylis@linaro.org>
6191
6192 * config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
6193 to __udivmoddi4.
6194
c9dae335
CB
61952014-06-18 Charles Baylis <charles.baylis@linaro.org>
6196
6197 * config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
6198 manipulation.
6199
6857b807
CB
62002014-06-18 Charles Baylis <charles.baylis@linaro.org>
6201
6202 * config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
6203 describing register usage on function entry and exit.
6204
f21d8faa
CB
62052014-06-18 Charles Baylis <charles.baylis@linaro.org>
6206
6207 * config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
6208 (__aeabi_ldivmod): Fix whitespace.
6209
544aee0d
AS
62102014-06-18 Andreas Schwab <schwab@suse.de>
6211
6212 * doc/md.texi (Standard Names): Use @itemx for grouped items.
6213 Remove blank line after @item.
6214
0bc11714
RH
62152014-06-18 Richard Henderson <rth@redhat.com>
6216
6217 PR target/61545
6218 * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.
6219
7b5b78b1
CB
62202014-06-18 Charles Baylis <charles.baylis@linaro.org>
6221
6222 * config/arm/arm.c (neon_vector_mem_operand): Allow register
6223 POST_MODIFY for neon loads and stores.
6224 (arm_print_operand): Output post-index register for neon loads and
6225 stores.
6226
54ed41ea
RB
62272014-06-18 Richard Biener <rguenther@suse.de>
6228
6229 * tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.
6230
30866dc9
RB
62312014-06-18 Richard Biener <rguenther@suse.de>
6232
6233 * tree-pass.h (make_pass_dce_loop): Remove.
6234 * passes.def: Replace pass_dce_loop with pass_dce.
6235 * tree-ssa-dce.c (perform_tree_ssa_dce): If something
6236 changed free niter estimates and reset the scev cache.
6237 (tree_ssa_dce_loop, pass_data_dce_loop, pass_dce_loop,
6238 make_pass_dce_loop): Remove.
6239 * tree-ssa-copy.c: Include tree-ssa-loop-niter.h.
6240 (fini_copy_prop): Return whether something changed. Always
6241 let substitute_and_fold perform DCE and free niter estimates
6242 and reset the scev cache if so.
6243 (execute_copy_prop): If sth changed schedule cleanup-cfg.
6244 (pass_data_copy_prop): Do not unconditionally schedule
6245 cleanup-cfg or update-ssa.
6246
560c75e9
YR
62472014-06-18 Yuri Rumyantsev <ysrumyan@gmail.com>
6248
6249 PR tree-optimization/61518
6250 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
6251 reduction var is used in reduction stmt or phi-function only.
6252
751738cb
KT
62532014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6254
6255 * config/arm/arm_neon.h (vadd_f32): Change #ifdef to __FAST_MATH.
6256
a31d2741
TP
62572014-06-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
6258
6259 PR tree-optimization/61517
6260 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt
6261 whose rhs's first tree is the source expression instead of the
6262 expression itself.
6263 (find_bswap_or_nop): Likewise.
6264 (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a
6265 gimple stmt whose rhs's first tree is the source. In the memory source
6266 case, move the stmt to be replaced close to one of the original load to
6267 avoid the problem of a store between the load and the stmt's original
6268 location.
6269 (pass_optimize_bswap::execute): Adapt to change in bswap_replace's
6270 signature.
6271
a0f37b26
AS
62722014-06-18 Andreas Schwab <schwab@suse.de>
6273
6274 PR rtl-optimization/54555
6275 * postreload.c (move2add_use_add2_insn): Substitute
6276 STRICT_LOW_PART only if it is cheaper.
6277
9fdb837f
UB
62782014-06-18 Uros Bizjak <ubizjak@gmail.com>
6279
6280 * config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern.
6281 Do not use unspec as call operand. Use memory_operand instead of
6282 memory_nox32_operand and add "m" operand constraint. Disable
6283 pattern for TARGET_X32.
6284 (*sibcall_pop_memory): Ditto.
6285 (*sibcall_value_memory): Ditto.
6286 (*sibcall_value_pop_memory): Ditto.
6287 (sibcall peepholes): Merge SImode and DImode patterns using
6288 W mode iterator. Use memory_operand instead of memory_nox32_operand.
6289 Disable pattern for TARGET_X32. Check if eliminated register is
6290 really dead after call insn. Generate call RTX without unspec operand.
6291 (sibcall_value peepholes): Ditto.
6292 (sibcall_pop peepholes): Fix call insn RTXes. Use memory_operand
6293 instead of memory_nox32_operand. Check if eliminated register is
6294 really dead after call insn. Generate call RTX without unspec operand.
6295 (sibcall_value_pop peepholes): Ditto.
6296 * config/i386/predicates.md (memory_nox32_operand): Remove predicate.
6297
35d147ef
TG
62982014-06-18 Terry Guo <terry.guo@arm.com>
6299
6300 PR target/61544
6301 * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
6302 reach the head.
6303
c41f1c42
BE
63042014-06-18 Olivier Hainque <hainque@adacore.com>
6305
6306 * tree-core.h (tree_block): Add an "end_locus" field, allowing
6307 memorization of the end of block source location.
6308 * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
6309 * gimplify.c (gimplify_bind_expr): Propagate the block start and
6310 end source location info we have on the block entry/exit code we
6311 generate.
6312
68f6df73
RB
63132014-06-18 Richard Biener <rguenther@suse.de>
6314
6315 * common.opt (fssa-phiopt): New option.
6316 * opts.c (default_options_table): Enable -fssa-phiopt with -O1+
6317 but not with -Og.
6318 * tree-ssa-phiopt.c (pass_phiopt): Add gate method.
6319 * doc/invoke.texi (-fssa-phiopt): Document.
6320
419d45db
KT
63212014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6322
6323 * genattrtab.c (n_bypassed): New variable.
6324 (process_bypasses): Initialise n_bypassed.
6325 Count number of bypassed reservations.
6326 (make_automaton_attrs): Allocate space for bypassed reservations
6327 rather than number of bypasses.
6328
25b7069a
RB
63292014-06-18 Richard Biener <rguenther@suse.de>
6330
6331 * tree-ssa-propagate.c (replace_phi_args_in): Return whether
6332 we propagated anything.
6333 (substitute_and_fold_dom_walker::before_dom_children): Something
6334 changed if we propagated into PHI arguments.
6335 * tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
6336 we removed a stmt.
6337
f7917029
ES
63382014-06-18 Evgeny Stupachenko <evstupac@gmail.com>
6339
6340 * config/i386/i386.c (ix86_reassociation_width): Add alternative for
6341 vector case.
6342 * config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
6343 * config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
6344 * tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
6345 Introduces alternative way of loads group permutaions.
6346 (vect_transform_grouped_load): Try alternative way of permutations.
6347
f014c653
JJ
63482014-06-18 Jakub Jelinek <jakub@redhat.com>
6349
9fdb837f
UB
6350 * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
6351 changed in ORT_TARGET region, don't jump to do_outer.
f014c653
JJ
6352 (struct gimplify_adjust_omp_clauses_data): New type.
6353 (gimplify_adjust_omp_clauses_1): Adjust for data being
6354 a struct gimplify_adjust_omp_clauses_data pointer instead
6355 of tree *. Pass pre_p as a new argument to
6356 lang_hooks.decls.omp_finish_clause hook.
6357 (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
6358 splay_tree_foreach to pass both list_p and pre_p.
6359 (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
6360 gimplify_omp_workshare, gimplify_omp_target_update): Adjust
6361 gimplify_adjust_omp_clauses callers.
6362 * langhooks.c (lhd_omp_finish_clause): New function.
6363 * langhooks-def.h (lhd_omp_finish_clause): New prototype.
6364 (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
6365 * langhooks.h (struct lang_hooks_for_decls): Add a new
6366 gimple_seq * argument to omp_finish_clause hook.
6367 * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
6368 non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
6369 (scan_omp_parallel, lower_omp_for): When adding
9fdb837f 6370 _LOOPTEMP_ clause var, add it to outer ctx's decl_map as identity.
f014c653
JJ
6371 * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
6372 * tree-nested.c (convert_nonlocal_omp_clauses,
6373 convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
9fdb837f 6374 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
f014c653 6375
f2918c18
AM
63762014-06-17 Andrew MacLeod <amacleod@redhat.com>
6377
6378 * tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
6379 * tree-dfa.c (get_addr_base_and_unit_offset_1): To here.
6380
90d0d8d3
XDL
63812014-06-17 Xinliang David Li <davidxl@google.com>
6382
6383 * tree-pretty-print.c (dump_function_header): Print cgraph uid.
6384 * passes.c (pass_init_dump_file): Do not set initialize
6385 flag to false unconditionally.
6386
75509ba2
RB
63872014-06-17 Richard Biener <rguenther@suse.de>
6388
6389 * genopinit.c (main): Use vec<>::qsort method.
6390 * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
6391 Likewise.
6392 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
6393
e58b74ea
MF
63942014-06-17 Matthew Fortune <matthew.fortune@imgtec.com>
6395
6396 * config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
6397 * config/mips/mips.c (mips_expand_fcc_reload): Remove.
6398 (mips_move_to_gpr_cost): Remove ST_REGS case.
6399 (mips_move_from_gpr_cost): Likewise.
6400 (mips_register_move_cost): Likewise.
6401 (mips_secondary_reload_class): Likewise.
6402
9e4f27ef
RB
64032014-06-17 Richard Biener <rguenther@suse.de>
6404
6405 * passes.def (pass_all_early_optimizations): Remove copy-prop pass.
6406 (pass_all_optimizations): Move 3rd copy-prop pass from after
6407 fre to before ifcombine/phiopt.
6408
866f20d6
RB
64092014-06-17 Richard Biener <rguenther@suse.de>
6410
6411 * tree-switch-conversion.c (collect_switch_conv_info): Simplify
6412 and allow all blocks to be forwarders.
6413
3abf17cf
YZ
64142014-06-17 Yufeng Zhang <yufeng.zhang@arm.com>
6415
6416 PR target/61483
6417 * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
6418 variable 'size'; calculate 'size' right in the front; use
6419 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
6420 pcum->aapcs_stack_words.
6421
ba3cf9f1
NC
64222014-06-17 Nick Clifton <nickc@redhat.com>
6423
6424 * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
6425 (umulhi3, mulsidi3, umulsidi3): Likewise.
6426
7a75b6e2
TS
64272014-06-17 Thomas Schwinge <thomas@codesourcery.com>
6428
6429 PR middle-end/61508
6430 * fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
6431 check for section name.
6432
ec18e2eb
RB
64332014-06-17 Richard Biener <rguenther@suse.de>
6434
6435 * tree-ssa-propagate.c: Include domwalk.h.
6436 (substitute_and_fold): Outline main worker into a domwalker ...
6437 (substitute_and_fold_dom_walker::before_dom_children): ... here.
6438 Schedule stmts we can fully propagate for removal. Remove
6439 poor-mans DCE.
6440 (substitute_and_fold): Apply a dominator walk to perform
6441 substitution. Process stmts scheduled for removal here.
6442
a4ab23b6
RB
64432014-06-17 Richard Biener <rguenther@suse.de>
6444
6445 * tree-ssa-loop-im.c (determine_max_movement): Adjust cost
6446 of PHI node moving.
6447
5db37871
KV
64482014-06-17 Kugan Vivekanandarajah <kuganv@linaro.org>
6449
6450 * config/arm/arm.c (arm_atomic_assign_expand_fenv): call
6451 default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
6452 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
6453 __builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
6454 * config/arm/vfp.md (set_fpscr): Make pattern conditional on
6455 TARGET_HARD_FLOAT.
6456 (get_fpscr) : Likewise.
6457
ba38538f
VM
64582014-06-16 Vladimir Makarov <vmakarov@redhat.com>
6459
6460 PR rtl-optimization/61325
6461 * lra-constraints.c (valid_address_p): Add forward declaration.
6462 (simplify_operand_subreg): Check address validity before and after
6463 alter_reg of memory subreg.
6464
7049aed6
UB
64652014-06-16 Uros Bizjak <ubizjak@gmail.com>
6466
6467 * config/i386/i386.c (decide_alg): Correctly handle
6468 maximum size of stringop algorithm.
6469
241e298a
YG
64702014-06-16 Yury Gribov <y.gribov@samsung.com>
6471
6472 * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
6473
1df2287f
VM
64742014-06-16 Vladimir Makarov <vmakarov@redhat.com>
6475
6476 PR rtl-optimization/61522
7049aed6 6477 * lra-assigns.c (assign_by_spills): Check null targetm.spill_class.
1df2287f 6478
da66d596
JH
64792014-06-16 Jan Hubicka <hubicka@ucw.cz>
6480
6481 Revert:
6482 * symtab.c (symtab_node::reset_section): New method.
6483 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
6484 for localization.
6485 * cgraph.h (reset_section): Declare.
6486 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
6487 do not consider comdat locals.
6488 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
6489 for new symbol.
6490 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
6491 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
6492 reset sections of symbols dragged out of the comdats.
9fdb837f
UB
6493 (function_and_variable_visibility): Reset sections of
6494 localized symbols.
da66d596 6495
9e9f6bf0
RB
64962014-06-16 Richard Biener <rguenther@suse.de>
6497
6498 PR tree-optimization/61482
6499 * tree-vrp.c (adjust_range_with_scev): Avoid setting of
6500 [-INF(OVF), +INF(OVF)] range.
6501
2bd4bfee
GG
65022014-06-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
6503
7964957f
AS
6504 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
6505 instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2bd4bfee
GG
6506 handling 32-bit multiplication.
6507
debd8f30
CLT
65082014-06-16 Chung-Lin Tang <cltang@codesourcery.com>
6509
6510 PR middle-end/61430
6511 * lra-lives.c (process_bb_lives): Skip creating copy during
6512 insn scan when src/dest has constrained to same regno.
6513
6192fa79
JH
65142014-06-15 Jan Hubicka <hubicka@ucw.cz>
6515
6516 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
6517 DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
6518
8946c29e
YG
65192014-06-16 Yury Gribov <y.gribov@samsung.com>
6520
6521 * asan.c (check_func): New function.
6522 (maybe_create_ssa_name): Likewise.
6523 (build_check_stmt_with_calls): Likewise.
6524 (use_calls_p): Likewise.
6525 (report_error_func): Change interface.
6526 (build_check_stmt): Allow non-integer lengths; add support
6527 for new parameter.
6528 (asan_instrument): Likewise.
7049aed6 6529 (instrument_mem_region_access): Moved code to build_check_stmt.
8946c29e
YG
6530 (instrument_derefs): Likewise.
6531 (instrument_strlen_call): Likewise.
7049aed6 6532 * cfgcleanup.c (old_insns_match_p): Add support for new functions.
8946c29e
YG
6533 * doc/invoke.texi: Describe new parameter.
6534 * params.def: Define new parameter.
6535 * params.h: Likewise.
6536 * sanitizer.def: Describe new builtins.
6537
5d5cb4d4
RB
65382014-06-16 Richard Biener <rguenther@suse.de>
6539
6540 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
6541 Make all defs available at the end.
6542 (eliminate): If we remove a PHI node schedule cfg-cleanup.
6543
4e4fa3c5
JJ
65442014-06-18 Jakub Jelinek <jakub@redhat.com>
6545
6546 PR plugins/45078
6547 * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
6548
737c262e
RS
65492014-06-16 Richard Sandiford <rdsandiford@googlemail.com>
6550
6551 PR bootstrap/61516
6552 * auto-inc-dec.c (merge_in_block): Fix location of insn_info
6553 initialization. Replace remaining use of uid.
6554
56363ffd
JH
65552014-06-15 Jan Hubicka <hubicka@ucw.cz>
6556
7049aed6
UB
6557 * c-family/c-common.c (handle_tls_model_attribute): Use
6558 set_decl_tls_model.
5d5cb4d4
RB
6559 * c-family/c-common.c (handle_tls_model_attribute): Use
6560 set_decl_tls_model.
56363ffd
JH
6561 * cgraph.h (struct varpool_node): Add tls_model.
6562 * tree.c (decl_tls_model, set_decl_tls_model): New functions.
6563 * tree.h (DECL_TLS_MODEL): Update.
6564 (DECL_THREAD_LOCAL_P): Check that variable is static.
6565 (decl_tls_model): Declare.
6566 (set_decl_tls_model): Declare.
6567 * tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
6568 set symbol prorperties.
6569 (get_emutls_init_templ_addr): Cleanup.
6570 (new_emutls_decl): Update.
6571 * lto-cgraph.c (lto_output_varpool_node): Stream TLS model
6572 (lto_input_varpool_node): Likewise.
6573 * lto-streamer-out.c (hash_tree): Likewise.
6574 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
6575 not stream DECL_TLS_MODEL.
30256bef
UB
6576 * tree-profile.c (init_ic_make_global_vars): Use set_decl_tls_model.
6577 * tree-core.h (tree_decl_with_vis): Remove tls_model; update comments.
56363ffd 6578
3bb5c996
RS
65792014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
6580
6581 * df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
6582
b512946c
RS
65832014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
6584
6585 * df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
6586 (df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
6587 lists.
6588 (df_scan_bb_info): Likewise artificial_defs and artificial_uses.
6589 (DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
6590 (FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
6591 (FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
6592 (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
6593 (df_get_artificial_defs, df_get_artificial_uses)
6594 (df_single_def, df_single_use): Update accordingly.
6595 (df_refs_chain_dump): Take the first element in a linked list as
6596 parameter, rather than a pointer to an array of pointers.
6597 * df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
6598 * df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
6599 (df_chain_create_bb_process_use): Likewise.
6600 (df_md_bb_local_compute_process_def): Likewise.
6601 * fwprop.c (process_defs, process_uses): Likewise.
6602 (register_active_defs, update_uses): Likewise.
6603 (forward_propagate_asm): Update for new df_ref linking.
6604 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
6605 (df_null_ref_rec, df_null_mw_rec): Likewise.
6606 (df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
6607 explicitly.
6608 (df_scan_free_bb_info): Remove check for null artificial_defs.
6609 (df_install_ref_incremental): Adjust for new df_ref linking.
6610 Use a single-element insertion rather than a full sort.
6611 (df_ref_chain_delete_du_chain): Take the first element
6612 in a linked list as parameter, rather than a pointer to an array of
6613 pointers.
6614 (df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
6615 (df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
6616 (df_insn_info_delete): Remove check for null defs and call to
6617 df_scan_free_mws_vec.
6618 (df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
6619 null rather than df_null_*_rec.
6620 (df_insn_rescan_debug_internal): Likewise, and update null
6621 checks in the same way. Remove check for null defs.
6622 (df_ref_change_reg_with_loc_1): Fix choice of list for defs.
6623 Move a single element rather doing a full sort.
6624 (df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
6625 linking.
6626 (df_notes_rescan): Likewise. Use a merge rather than a full sort.
6627 Initialize df_ref and df_mw_hardreg lists to null rather than
6628 df_null_*_rec.
6629 (df_ref_compare): Take df_refs as parameter, transferring the
6630 old interface to...
6631 (df_ref_ptr_compare): ...this new function.
6632 (df_sort_and_compress_refs): Update accordingly.
6633 (df_mw_compare): Take df_mw_hardregs as parameter, transferring the
6634 old interface to...
6635 (df_mw_ptr_compare): ...this new function.
6636 (df_sort_and_compress_mws): Update accordingly.
6637 (df_install_refs, df_install_mws): Return a linked list rather than
6638 an array of pointers.
6639 (df_refs_add_to_chains): Assert that old lists are empty rather
6640 than freeing them.
6641 (df_insn_refs_verify): Don't handle null defs speciailly.
6642 * web.c (union_match_dups): Update for new df_ref linking.
6643
5a474220
RS
66442014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
6645
6646 * df.h (df_ref_create, df_ref_remove): Delete.
6647 * df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
6648 (df_ref_remove): Likewise.
6649
74e59b6c
RS
66502014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
6651
6652 * df.h (df_single_def, df_single_use): New functions.
6653 * ira.c (find_moveable_pseudos): Use them.
6654
fc8e9f58
RS
66552014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
6656
6657 * df.h (FOR_EACH_INSN_INFO_MW): New macro.
6658 * df-problems.c (df_note_bb_compute): Use it.
6659 * regstat.c (regstat_bb_compute_ri): Likewise.
6660
292321a5
RS
66612014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
6662
6663 * df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
6664 * cse.c (cse_extended_basic_block): Use them.
6665 * dce.c (mark_artificial_use): Likewise.
6666 * df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
6667 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
6668 (df_chain_remove_problem, df_chain_bb_dump): Likewise.
6669 (df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
6670 (df_simulate_initialize_backwards): Likewise.
6671 (df_simulate_finalize_backwards): Likewise.
6672 (df_simulate_initialize_forwards): Likewise.
6673 (df_md_simulate_artificial_defs_at_top): Likewise.
6674 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
6675 * regrename.c (init_rename_info): Likewise.
6676 * regstat.c (regstat_bb_compute_ri): Likewise.
6677 (regstat_bb_compute_calls_crossed): Likewise.
6678
bfac633a
RS
66792014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
6680
6681 * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
6682 (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
6683 (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
6684 * auto-inc-dec.c (find_inc, merge_in_block): Use them.
6685 * combine.c (create_log_links): Likewise.
6686 * compare-elim.c (find_flags_uses_in_insn): Likewise.
6687 (try_eliminate_compare): Likewise.
6688 * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
6689 * dce.c (deletable_insn_p, find_call_stack_args): Likewise.
6690 (remove_reg_equal_equiv_notes_for_defs): Likewise.
6691 (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
6692 (word_dce_process_block, dce_process_block): Likewise.
6693 * ddg.c (def_has_ccmode_p): Likewise.
6694 * df-core.c (df_bb_regno_first_def_find): Likewise.
6695 (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
6696 * df-problems.c (df_rd_simulate_one_insn): Likewise.
6697 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
6698 (df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
6699 (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
6700 (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
6701 (df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
6702 (df_simulate_find_defs, df_simulate_find_uses): Likewise.
6703 (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
6704 (df_simulate_uses, df_md_simulate_one_insn): Likewise.
6705 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
6706 * fwprop.c (local_ref_killed_between_p): Likewise.
6707 (all_uses_available_at, free_load_extend): Likewise.
6708 * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
6709 * hw-doloop.c (scan_loop): Likewise.
6710 * ifcvt.c (dead_or_predicable): Likewise.
6711 * init-regs.c (initialize_uninitialized_regs): Likewise.
6712 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
6713 (process_bb_node_lives): Likewise.
6714 * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
6715 (find_moveable_pseudos): Likewise.
6716 * loop-invariant.c (check_dependencies, record_uses): Likewise.
6717 * recog.c (peep2_find_free_register): Likewise.
6718 * ree.c (get_defs): Likewise.
6719 * regstat.c (regstat_bb_compute_ri): Likewise.
6720 (regstat_bb_compute_calls_crossed): Likewise.
6721 * sched-deps.c (find_inc, find_mem): Likewise.
6722 * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
6723 (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
6724 * shrink-wrap.c (requires_stack_frame_p): Likewise.
6725 (prepare_shrink_wrap): Likewise.
6726 * store-motion.c (compute_store_table, build_store_vectors): Likewise.
6727 * web.c (union_defs, pass_web::execute): Likewise.
6728 * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
6729 (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
6730
9afb455c
VM
67312014-06-13 Vladimir Makarov <vmakarov@redhat.com>
6732
6733 * lra-assign.c (assign_by_spills): Add code to assign vector regs
6734 to inheritance pseudos.
6735 * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
6736
8241efd1
PB
67372014-06-13 Peter Bergner <bergner@vnet.ibm.com>
6738
6739 PR target/61415
6740 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
6741 (BU_MISC_2): Rename to ...
6742 (BU_LDBL128_2): ... this.
6743 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
6744 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
6745 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
6746 RS6000_BTM_LDBL128.
6747 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
6748 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
6749 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
6750 (unpacktf_1): Likewise.
6751 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
6752 (__builtin_longdouble_dw1): Likewise.
6753 * doc/sourcebuild.texi (longdouble128): Document.
6754
c7ece684
JL
67552014-06-13 Jeff Law <law@redhat.com>
6756
6757 PR rtl-optimization/61094
6758 PR rtl-optimization/61446
6759 * ree.c (combine_reaching_defs): Get the mode for the copy from
6760 the extension insn rather than the defining insn.
6761
8e96d784
DC
67622014-06-13 Dehao Chen <dehao@google.com>
6763
6764 * dwarf2out.c (add_linkage_name): Emit more linkage name.
6765
45b3824d
TS
67662014-06-13 Thomas Schwinge <thomas@codesourcery.com>
6767
6768 * doc/install.texi (--enable-linker-plugin-configure-flags)
6769 (--enable-linker-plugin-flags): Document new flags.
6770
beb683ab
MJ
67712014-06-13 Martin Jambor <mjambor@suse.cz>
6772
6773 PR ipa/61186
6774 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
6775 cache_token if returning early.
6776
f6c43824
NC
67772014-06-13 Nick Clifton <nickc@redhat.com>
6778
6779 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
6780 requested alignment is active.
6781 (LABEL_ALIGN): Likewise.
6782 (LOOP_ALIGN): Likewise.
6783
6aa4c5b6
RB
67842014-06-13 Richard Biener <rguenther@suse.de>
6785
6786 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
6787 Rewrite to propagate the VN result into all uses where
6788 possible and to remove stmts becoming dead because of that.
6789 (eliminate): Generalize stmt removal handling, remove in
6790 reverse dominator order to support proper debug stmt
6791 generation. Update stmts before removing stmts.
7049aed6 6792 * tree-ssa-propagate.c (propagate_tree_value): Remove bogus assert.
6aa4c5b6 6793
ca6cbdca
TP
67942014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6795
6796 PR tree-optimization/61375
6797 * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
6798 symbolic number cannot be represented in an uint64_t.
6799 (find_bswap_or_nop_1): Likewise.
6800
24e49ea0
JH
68012014-06-12 Jan Hubicka <hubicka@ucw.cz>
6802
6803 * symtab.c (symtab_node::reset_section): New method.
6804 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
6805 for localization.
6806 * cgraph.h (reset_section): Declare.
6807 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
6808 do not consider comdat locals.
6809 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
6810 for new symbol.
6811 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
6812 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
6813 reset sections of symbols dragged out of the comdats.
7049aed6
UB
6814 (function_and_variable_visibility): Reset sections of
6815 localized symbols.
24e49ea0 6816
6ad386b7
JH
68172014-06-12 Jan Hubicka <hubicka@ucw.cz>
6818
6819 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
6820 to use symtab and decl_binds_to_current_def_p
6821 * tree-vectorizer.c (increase_alignment): Increase alignment
6822 of alias target, too.
6823
9cf32741
JJ
68242014-06-12 Jakub Jelinek <jakub@redhat.com>
6825
6826 PR middle-end/61486
6827 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
6828 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
6829 if outer combined construct is distribute.
6830 (gimplify_omp_for): For OMP_DISTRIBUTE set
6831 gimplify_omp_ctxp->distribute.
6832 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
6833 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
6834 mapping into decl map.
6835
ca0e51a0
JM
68362014-06-12 Jason Merrill <jason@redhat.com>
6837
6838 * common.opt (fabi-version): Change default to 0.
6839
90d84934
JM
68402014-06-12 Jason Merrill <jason@redhat.com>
6841
6842 * toplev.c (process_options): Reject -fabi-version=1.
6843
551a6341
JL
68442014-06-12 Jeff Law <law@redhat.com>
6845
7964957f 6846 PR tree-optimization/61009
551a6341
JL
6847 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
6848 value when we stop processing a block due to problematic PHIs.
6849
5eba0999
AL
68502014-06-12 Alan Lawrence <alan.lawrence@arm.com>
6851
6852 * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
6853 vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
6854 vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
6855 vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
6856 vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
6857 vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
7049aed6
UB
6858 vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they
6859 are not in the spec.
5eba0999 6860
ad7d90cc
AL
68612014-06-10 Alan Lawrence <alan.lawrence@arm.com>
6862
6863 PR target/59843
6864 * config/aarch64/aarch64-modes.def: Add V1DFmode.
6865 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
6866 Support V1DFmode.
6867
9c85aeb6
EB
68682014-06-12 Eric Botcazou <ebotcazou@adacore.com>
6869
6870 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
6871
c407027e
GJL
68722014-06-12 Georg-Johann Lay <avr@gjlay.de>
6873
6874 PR target/61443
6875 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
6876 loading from address spaces.
6877
3c9e6fca
ML
68782014-06-12 Martin Liska <mliska@suse.cz>
6879
6880 PR ipa/61462
6881 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
7964957f 6882 statement is reachable.
3c9e6fca 6883
f961457f
JH
68842014-06-11 Jan Hubicka <hubicka@ucw.cz>
6885
6886 * symtab.c (section_hash): New hash.
6887 (symtab_unregister_node): Clear section before freeing.
6888 (hash_section_hash_entry): New haser.
6889 (eq_sections): New function.
6890 (symtab_node::set_section_for_node): New method.
6891 (set_section_1): Update.
6892 (symtab_node::set_section): Take string instead of tree as parameter.
6893 (symtab_resolve_alias): Update.
6894 * cgraph.h (section_hash_entry_d): New structure.
6895 (section_hash_entry): New typedef.
6896 (cgraph_node): Change comdat_group_ to x_comdat_group,
6897 change section_ to x_section and turn into section_hash_entry;
6898 update accestors; put set_section_for_node offline.
6899 * tree.c (decl_section_name): Turn into string.
6900 (set_decl_section_name): Change parameter to be string.
6901 * tree.h (decl_section_name, set_decl_section_name): Update prototypes.
6902 * sdbout.c (sdbout_one_type): Update.
6903 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
9fdb837f
UB
6904 * varasm.c (IN_NAMED_SECTION, get_named_section,
6905 resolve_unique_section, hot_function_section, get_named_text_section,
7049aed6
UB
6906 USE_SELECT_SECTION_FOR_FUNCTIONS, default_function_rodata_section,
6907 make_decl_rtl, default_unique_section): Update.
f961457f
JH
6908 * config/c6x/c6x.c (c6x_in_small_data_p): Update.
6909 (c6x_elf_unique_section): Update.
6910 * config/nios2/nios2.c (nios2_in_small_data_p): Update.
6911 * config/pa/pa.c (pa_function_section): Update.
6912 * config/pa/pa.h (IN_NAMED_SECTION_P): Update.
6913 * config/ia64/ia64.c (ia64_in_small_data_p): Update.
6914 * config/arc/arc.c (arc_in_small_data_p): Update.
6915 * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
6916 * config/mcore/mcore.c (mcore_unique_section): Update.
6917 * config/mips/mips.c (mips16_build_function_stub): Update.
6918 (mips16_build_call_stub): Update.
6919 (mips_function_rodata_section): Update.
6920 (mips_in_small_data_p): Update.
6921 * config/score/score.c (score_in_small_data_p): Update.
6922 * config/rx/rx.c (rx_in_small_data): Update.
6923 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
6924 (rs6000_xcoff_asm_named_section): Update.
6925 (rs6000_xcoff_unique_section): Update.
6926 * config/frv/frv.c (frv_string_begins_with): Update.
6927 (frv_in_small_data_p): Update.
6928 * config/v850/v850.c (v850_encode_data_area): Update.
6929 * config/bfin/bfin.c (DECL_SECTION_NAME): Update.
6930 (bfin_handle_l1_data_attribute): Update.
6931 (bfin_handle_l2_attribute): Update.
6932 * config/mep/mep.c (mep_unique_section): Update.
7049aed6
UB
6933 * config/microblaze/microblaze.c (microblaze_elf_in_small_data_p):
6934 Update.
f961457f
JH
6935 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
6936 (h8300_handle_tiny_data_attribute): Update.
6937 * config/m32r/m32r.c (m32r_in_small_data_p): Update.
6938 (m32r_in_small_data_p): Update.
6939 * config/alpha/alpha.c (alpha_in_small_data_p): Update.
6940 * config/i386/i386.c (ix86_in_large_data_p): Update.
6941 * config/i386/winnt.c (i386_pe_unique_section): Update.
6942 * config/darwin.c (darwin_function_section): Update.
6943 * config/lm32/lm32.c (lm32_in_small_data_p): Update.
6944 * tree-emutls.c (get_emutls_init_templ_addr): Update.
6945 (new_emutls_decl): Update.
6946 * lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
6947 input_varpool_node): Update.
6948 (ead_string_cst): Turn to ...
6949 (read_string): ... this one.
6950 * dwarf2out.c (secname_for_decl): Update.
6951 * asan.c (asan_protect_global): Update.
6952
1704a72b
DD
69532014-06-11 DJ Delorie <dj@redhat.com>
6954
1cf1574d
DD
6955 * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
6956 cache lines.
6957 * config/rx/rx.c (rx_option_override): Likewise.
6958 (rx_align_for_label): Likewise.
6959
1704a72b
DD
6960 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
6961
37251385
MR
69622014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
6963
6964 * config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
6965 prototype.
6966
8677664e
RS
69672014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
6968
6969 * common.md: New file.
6970 * doc/md.texi: Update description of generic, machine-independent
6971 constraints.
6972 * config/s390/constraints.md (e): Delete.
6973 * Makefile.in (md_file): Include common.md.
6974 * config/m32c/t-m32c (md_file): Likewise.
6975 * genpreds.c (general_mem): New array.
6976 (generic_constraint_letters): Remove constraints now defined by
6977 common.md.
6978 (add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
6979 Allow the first character to be '<' or '>' as well.
6980 * genoutput.c (general_mem): New array.
6981 (indep_constraints): Remove constraints now defined by common.md.
6982 (note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
6983 Remove special handling of 'm'.
6984 * ira-costs.c (record_reg_classes): Remove special handling of
6985 constraints now defined by common.md.
6986 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
6987 * ira-lives.c (single_reg_class): Likewise.
6988 (ira_implicitly_set_insn_hard_regs): Likewise.
6989 * lra-constraints.c (reg_class_from_constraints): Likewise.
6990 (process_alt_operands, process_address, curr_insn_transform): Likewise.
6991 * postreload.c (reload_cse_simplify_operands): Likewise.
6992 * reload.c (push_secondary_reload, scratch_reload_class)
6993 (find_reloads, alternative_allows_const_pool_ref): Likewise.
6994 * reload1.c (maybe_fix_stack_asms): Likewise.
6995 * targhooks.c (default_secondary_reload): Likewise.
6996 * stmt.c (parse_output_constraint): Likewise.
6997 * recog.c (preprocess_constraints): Likewise.
6998 (constrain_operands, peep2_find_free_register): Likewise.
6999 (asm_operand_ok): Likewise, but add a comment saying why 'o'
7000 must be handled specially.
7001
7fd308cf
RS
70022014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
7003
7004 * system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
7005 * genpreds.c (have_const_dbl_constraints): Delete.
7006 (add_constraint): Don't set it.
7007 (write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
7008 * ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
7009 constraints using the lookup_constraint logic.
7010 * ira-lives.c (single_reg_class): Likewise.
7011 * ira.c (ira_setup_alts): Likewise.
7012 * lra-constraints.c (process_alt_operands): Likewise.
7013 * recog.c (asm_operand_ok, constrain_operands): Likewise.
7014 * reload.c (find_reloads): Likewise.
7015
d9c35eee
RS
70162014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
7017
7018 * genpreds.c (const_int_start, const_int_end): New variables.
7019 (choose_enum_order): Output CONST_INT constraints before memory
7020 constraints.
7021 (write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
7022 Add CT_CONST_INT.
7023 * ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
7024 * ira.c (ira_setup_alts): Likewise.
7025 * lra-constraints.c (process_alt_operands): Likewise.
7026 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
7027 * reload.c (find_reloads): Likewise.
7028
3c4c42e8
RS
70292014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
7030
7031 * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
7032 decmem_ok and incmem_ok. Reformat other bitfields for consistency.
7033 * recog.c (preprocess_constraints): Update accordingly.
7034
777e635f
RS
70352014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
7036
7037 * system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
7038 (REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
7039 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
7040 * genpreds.c (print_type_tree): New function.
7041 (write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
7042 REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
7043 EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
7044 Write out enum constraint_type and get_constraint_type.
7045 * lra-constraints.c (satisfies_memory_constraint_p): Take a
7046 constraint_num rather than a constraint string.
7047 (satisfies_address_constraint_p): Likewise.
7048 (reg_class_from_constraints): Avoid old constraint macros.
7049 (process_alt_operands, process_address_1): Likewise.
7050 (curr_insn_transform): Likewise.
7051 * ira-costs.c (record_reg_classes): Likewise.
7052 (record_operand_costs): Likewise.
7053 * ira-lives.c (single_reg_class): Likewise.
7054 (ira_implicitly_set_insn_hard_regs): Likewise.
7055 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
7056 * postreload.c (reload_cse_simplify_operands): Likewise.
7057 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
7058 (constrain_operands, peep2_find_free_register): Likewise.
7059 * reload.c (push_secondary_reload, scratch_reload_class): Likewise.
7060 (find_reloads, alternative_allows_const_pool_ref): Likewise.
7061 * reload1.c (maybe_fix_stack_asms): Likewise.
7062 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
7063 * targhooks.c (default_secondary_reload): Likewise.
7064 * config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
7065 to EXTRA_CONSTRAINT_STR.
7066 * config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
7067
9e6b7874
RS
70682014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
7069
7070 * genpreds.c (write_constraint_satisfied_p_1): Replace with...
7071 (write_constraint_satisfied_p_array): ...this new function.
7072 (write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
7073 an array.
7074 (write_insn_preds_c): Update accordingly.
7075
16a26e42
RS
70762014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
7077
7078 * genpreds.c (write_lookup_constraint): Rename to...
7079 (write_lookup_constraint_1): ...this.
7080 (write_lookup_constraint_array): New function.
7081 (write_tm_preds_h): Define lookup_constraint as an inline function
7082 that uses write_lookup_constraint_array where possible.
7083 (write_insn_preds_c): Update for the changes above.
7084
2aeedf58
RS
70852014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
7086
7087 * doc/md.texi (regclass_for_constraint): Rename to...
7088 (reg_class_for_constraint): ...this.
7089 * genpreds.c (num_constraints, enum_order, register_start)
7090 (register_end, satisfied_start, memory_start, memory_end)
7091 (address_start, address_end): New variables.
7092 (add_constraint): Count the number of constraints.
7093 (choose_enum_order): New function.
7094 (write_enum_constraint_num): Iterate over enum_order.
7095 (write_regclass_for_constraint): Rename to...
7096 (write_reg_class_for_constraint_1): ...this and update output
7097 accordingly.
7098 (write_constraint_satisfied_p): Rename to...
7099 (write_constraint_satisfied_p_1): ...this and update output
7100 accordingly. Do nothing if all extra constraints are register
7101 constraints.
7102 (write_insn_extra_memory_constraint): Delete.
7103 (write_insn_extra_address_constraint): Delete.
7104 (write_range_function): New function.
7105 (write_tm_preds_h): Define constraint_satisfied_p and
7106 reg_class_for_constraint as inline functions that do a range check
7107 before calling the out-of-line function. Use write_range_function
7108 to implement insn_extra_{register,memory,address}_constraint,
7109 the first of which is new.
7110 (write_insn_preds_c): Update after above changes to write_* functions.
7111 (main): Call choose_enum_order.
7112
698ff107
TP
71132014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
7114
7115 PR tree-optimization/61306
7116 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
7117 expression instead of its size.
7118 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
7119 false to prevent optimization when the result is unpredictable due to
7120 arithmetic right shift of signed type with highest byte is set.
7121 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
7122 (init_symbolic_number): Likewise.
7123 (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
7124 when the result is unpredictable due to sign extension.
7125
1d02d8b8
TG
71262014-06-11 Terry Guo <terry.guo@arm.com>
7127
7128 * config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
7129 (*thumb1_addsi3): Ditto.
7130 (*thumb_subdi3): Ditto.
7131 (thumb1_subsi3_insn): Ditto.
7132 (*thumb_mulsi3): Ditto.
7133 (*thumb_mulsi3_v6): Ditto.
7134 (*thumb1_andsi3_insn): Ditto.
7135 (thumb1_bicsi3): Ditto.
7136 (*thumb1_iorsi3_insn): Ditto.
7137 (*thumb1_xorsi3_insn): Ditto.
7138 (*thumb1_ashlsi3): Ditto.
7139 (*thumb1_ashrsi3): Ditto.
7140 (*thumb1_lshrsi3): Ditto.
7141 (*thumb1_rotrsi3): Ditto.
7142 (*thumb1_negdi2): Ditto.
7143 (*thumb1_negsi2): Ditto.
7144 (*thumb1_abssi2): Ditto.
7145 (*thumb1_neg_abssi2): Ditto.
7146 (*thumb1_one_cmplsi2): Ditto.
7147 (*thumb1_zero_extendhisi2): Ditto.
7148 (*thumb1_zero_extendqisi2): Ditto.
7149 (*thumb1_zero_extendqisi2_v6): Ditto.
7150 (thumb1_extendhisi2): Ditto.
7151 (thumb1_extendqisi2): Ditto.
7152 (*thumb1_movdi_insn): Ditto.
7153 (*thumb1_movsi_insn): Ditto.
7154 (*thumb1_movhi_insn): Ditto.
7155 (thumb_movhi_clobber): Ditto.
7156 (*thumb1_movqi_insn): Ditto.
7157 (*thumb1_movhf): Ditto.
7158 (*thumb1_movsf_insn): Ditto.
7159 (*thumb_movdf_insn): Ditto.
7160 (movmem12b): Ditto.
7161 (movmem8b): Ditto.
7162 (cbranchqi4): Ditto.
7163 (cbranchsi4_insn): Ditto.
7164 (cbranchsi4_scratch): Ditto.
7165 (*negated_cbranchsi4): Ditto.
7166 (*tbit_cbranch): Ditto.
7167 (*tlobits_cbranch): Ditto.
7168 (*tstsi3_cbranch): Ditto.
7169 (*cbranchne_decr1): Ditto.
7170 (*addsi3_cbranch): Ditto.
7171 (*addsi3_cbranch_scratch): Ditto.
7172 (*thumb_cmpdi_zero): Ditto.
7173 (cstoresi_eq0_thumb1): Ditto.
7174 (cstoresi_ne0_thumb1): Ditto.
7175 (*cstoresi_eq0_thumb1_insn): Ditto.
7176 (*cstoresi_ne0_thumb1_insn): Ditto.
7177 (cstoresi_nltu_thumb1): Ditto.
7178 (cstoresi_ltu_thumb1): Ditto.
7179 (thumb1_addsi3_addgeu): Ditto.
7180 (*thumb_jump): Ditto.
7181 (*call_reg_thumb1_v5): Ditto.
7182 (*call_reg_thumb1): Ditto.
7183 (*call_value_reg_thumb1_v5): Ditto.
7184 (*call_value_reg_thumb1): Ditto.
7185 (*call_insn): Ditto.
7186 (*call_value_insn): Ditto.
7187 (thumb1_casesi_internal_pic): Ditto.
7188 (thumb1_casesi_dispatch): Ditto.
7189 (*thumb1_indirect_jump): Ditto.
7190 (prologue_thumb1_interwork): Ditto.
7191 (*epilogue_insns): Ditto.
7192 (consttable_1): Ditto.
7193 (consttable_2): Ditto.
7194 (tablejump): Ditto.
7195 (*thumb1_tablejump): Ditto.
7196 (thumb_eh_return): Ditto.
7197 (define_peephole2): Two of them are thumb1 only and got moved into
7198 new file thumb1.md.
7199 (define_split): Six of them are thumb1 only and got moved into new
7200 file thumb1.md.
7201 * config/arm/thumb1.md: New file comprised of above thumb1 only
7202 patterns.
7203
5d357f26
KT
72042014-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7205
7206 * config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
7207 * Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
7208 dependencies.
7209 * config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
7210 (aarch64_crc_builtin_datum): New struct.
7211 (aarch64_crc_builtin_data): New.
7212 (aarch64_init_crc32_builtins): New function.
7213 (aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
7214 (aarch64_crc32_expand_builtin): New.
7215 (aarch64_expand_builtin): Add CRC32 builtin expansion case.
7216 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
7217 __ARM_FEATURE_CRC32 when appropriate.
7218 (TARGET_CRC32): Define.
7219 * config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
7220 UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
7221 UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
7222 (aarch64_<crc_variant>): New pattern.
7223 * config/aarch64/arm_acle.h: New file.
7224 * config/aarch64/iterators.md (CRC): New int iterator.
7225 (crc_variant, crc_mode): New int attributes.
7226 * doc/aarch64-acle-intrinsics.texi: New file.
7227 * doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
7228 Include aarch64-acle-intrinsics.texi.
7229
e1377713
ES
72302014-06-11 Evgeny Stupachenko <evstupac@gmail.com>
7231
7232 * tree-vect-data-refs.c (vect_grouped_store_supported): New
7233 check for stores group of length 3.
7234 (vect_permute_store_chain): New permutations for stores group of
7235 length 3.
7236 * tree-vect-stmts.c (vect_model_store_cost): Change cost
7237 of vec_perm_shuffle for the new permutations.
7238
862b3da6
JH
72392014-06-11 Jan Hubicka <hubicka@ucw.cz>
7240
7049aed6
UB
7241 * ipa-visibility.c (function_and_variable_visibility): Disable virtual
7242 table rewriting temporarily on targets not supporting ONE_ONLY.
862b3da6 7243
96a3f4df
RB
72442014-06-11 Richard Biener <rguenther@suse.de>
7245
7246 PR middle-end/61437
7247 Revert
7248 2014-06-04 Richard Biener <rguenther@suse.de>
7249
7250 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
7251 TREE_PUBLIC and DECL_EXTERNAL decls.
7252
e257a17c
JH
72532014-06-10 Jan Hubicka <hubicka@ucw.cz>
7254
7255 * varasm.c (set_implicit_section): New function.
7256 (resolve_unique_section): Use it to set implicit section
7257 for aliases, too.
7258 (get_named_text_section): Use symtab_get_node (decl)->implicit_section
7259 (default_function_section): Likewise.
7260 (decl_binds_to_current_def_p): Constify argument.
7261 * varasm.h (decl_binds_to_current_def_p): Update prototype.
96a3f4df
RB
7262 * asan.c (asan_protect_global): Use
7263 symtab_get_node (decl)->implicit_section.
e257a17c
JH
7264 * symtab.c (dump_symtab_base): Dump implicit sections.
7265 (verify_symtab_base): Verify sanity of sectoins and comdats.
7266 (symtab_resolve_alias): Alias share the section of its target.
7267 (set_section_1): New function.
7268 (symtab_node::set_section): Move here, recurse to aliases.
7269 (verify_symtab): Check for duplicated symtab lists.
7270 * tree-core.h (implicit_section_name_p): Remove.
7271 * tree-vect-data-refs.c: Include varasm.h.
7272 (vect_can_force_dr_alignment_p): Fix conditional on when
7273 decl bints to current definition; use
7274 symtab_get_node (decl)->implicit_section.
7275 * cgraph.c (cgraph_make_node_local_1): Fix section set.
7276 * cgraph.h (struct symtab_node): Add implicit_section.
7277 (set_section): Rename to ...
7278 (set_section_for_node): ... this one.
7279 (set_section): Declare.
7280 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
7281 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
7282 input_overwrite_node, input_varpool_node): Stream implicit_section.
7283 * ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
7284 removal; it will fail in LTO.
7285
d7256bb8
KT
72862014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7287
7288 * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
7289 Change second alternative type to f_mcr.
7290 * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
7291 and 12th alternatives' types to f_mcr and f_mrc.
7292 (*movdi_aarch64): Same for 12th and 13th alternatives.
7293 (*movsf_aarch64): Change 9th alternatives' type to mov_reg.
7294 (aarch64_movtilow_tilow): Change type to fmov.
7295
dadf084c
JW
72962014-06-10 Jiong Wang <jiong.wang@arm.com>
7297
7298 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
7299 (aarch64_save_or_restore_callee_save_registers): Fix layout.
7300
2a74759f
KT
73012014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7302
7303 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
7304 New expander.
7305 (aarch64_sqrdmulh_lane<mode>): Likewise.
7306 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
7307 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
7308 (aarch64_sqdmulh_laneq<mode>): New expander.
7309 (aarch64_sqrdmulh_laneq<mode>): Likewise.
7310 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
7311 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
7312 (aarch64_sqdmulh_lane<mode>): New expander.
7313 (aarch64_sqrdmulh_lane<mode>): Likewise.
7314 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
7315 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
7316 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
7317 (aarch64_sqdmlal_laneq<mode>): Likewise.
7318 (aarch64_sqdmlsl_lane<mode>): Likewise.
7319 (aarch64_sqdmlsl_laneq<mode>): Likewise.
7320 (aarch64_sqdmlal2_lane<mode>): Likewise.
7321 (aarch64_sqdmlal2_laneq<mode>): Likewise.
7322 (aarch64_sqdmlsl2_lane<mode>): Likewise.
7323 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
7324 (aarch64_sqdmull_lane<mode>): Likewise.
7325 (aarch64_sqdmull_laneq<mode>): Likewise.
7326 (aarch64_sqdmull2_lane<mode>): Likewise.
7327 (aarch64_sqdmull2_laneq<mode>): Likewise.
7328
b82ef848
RB
73292014-06-10 Richard Biener <rguenther@suse.de>
7330
7331 PR tree-optimization/61438
7332 * tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
7333 (eliminate_dom_walker::before_dom_children): Only try to inhibit
7334 insertion of IVs if running PRE.
7335 (eliminate): Adjust.
7336 (pass_pre::execute): Likewise.
7337 (pass_fre::execute): Likewise.
7338
cdf0ab72
RB
73392014-06-10 Richard Biener <rguenther@suse.de>
7340
7341 PR middle-end/61456
7342 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
7343 Do not use the main variant for the type comparison.
7344 (ncr_compar): Likewise.
7345 (nonoverlapping_component_refs_p): Likewise.
7346
e29b8d5b
MS
73472014-06-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
7348
7349 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
7350 REG_CFA_RESTORE mode.
7351
6ba197c1
ES
73522014-06-10 Evgeny Stupachenko <evstupac@gmail.com>
7353
7354 * config/i386/i386.c (expand_vec_perm_pblendv): New.
7355 * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
7356 expand_vec_perm_pblendv.
7357
87ee52ef
KT
73582014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7359
7360 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
7361 available.
7362 Simplify description of __crc32d and __crc32cd intrinsics.
7363 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
7364 availability.
7365
35fa894a
TS
73662014-06-10 Thomas Schwinge <thomas@codesourcery.com>
7367
7368 PR lto/61334
9fdb837f 7369 * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype.
35fa894a
TS
7370 * config.in: Regenerate.
7371 * configure: Likewise.
7372
1685ecf3
JH
73732014-06-10 Jan Hubicka <hubicka@ucw.cz>
7374
7049aed6
UB
7375 * ipa-reference.c (is_proper_for_analysis): Exclude addressable
7376 and public vars.
1685ecf3
JH
7377 (intersect_static_var_sets): Remove.
7378 (propagate): Do not prune local statics.
7379
92d28cbb
JJ
73802014-06-10 Jakub Jelinek <jakub@redhat.com>
7381
7382 PR fortran/60928
7383 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
7384 Set lastprivate_firstprivate even if omp_private_outer_ref
7385 langhook returns true.
7386 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
7387 langhook, call unshare_expr on new_var and call
7388 build_outer_var_ref to get the last argument.
7389
c9f2b7e9
MP
73902014-06-10 Marek Polacek <polacek@redhat.com>
7391
7392 PR c/60988
7393 * doc/extend.texi: Add cindex for transparent_union.
7394
2cfa504a
TP
73952014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
7396
7397 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
7398 init_symbolic_number ().
7399
748e88da
JDA
74002014-05-18 John David Anglin <danglin@gcc.gnu.org>
7401
7402 PR middle-end/61141
7403 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
7404 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
7964957f 7405 (verify_rtl_sharing): Likewise.
748e88da 7406
00f30445
MG
74072014-06-09 Marc Glisse <marc.glisse@inria.fr>
7408
7409 PR c++/54442
7410 * tree.c (build_qualified_type): Use a canonical type for
7411 TYPE_CANONICAL.
7412
545fb0e8
RR
74132014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7414
7415 * config/arm/arm-modes.def: Remove XFmode.
7416
842cbb73
AL
74172014-06-09 Alan Lawrence <alan.lawrence@arm.com>
7418
7419 PR target/61062
7420 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
7421 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
7049aed6
UB
7422 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
7423 vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
7424 vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
7425 vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
7426 vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
7427 vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
7428 vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
842cbb73 7429
8de98ad4
JH
74302014-06-09 Jan Hubicka <hubicka@ucw.cz>
7431
7432 * tree-core.h (tree_decl_with_vis): Remove section_name.
7433
001010df
KC
74342014-06-09 Kito Cheng <kito@0xlab.org>
7435
7436 * ira.c (ira): Don't call init_caller_save if LRA enabled
7437 since LRA use its own infrastructure to handle that.
7438
24d047a3
JH
74392014-06-07 Jan Hubicka <hubicka@ucw.cz>
7440
7441 * symtab.c (dump_symtab_base): Update dumping.
7442 (symtab_make_decl_local): Clear only DECL_COMDAT.
7443 * tree-vect-data-refs.c (Check that variable is static before
7444 tampering with sections.
7445 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
7446 (cgraph_create_virtual_clone): Likewise.
7447 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
7448 (decl_section_name, set_decl_section_name): New accessors.
7449 (find_decls_types_r): Do not walk section name
7049aed6 7450 * tree.h (DECL_SECTION_NAME): Implement using decl_section_name.
24d047a3
JH
7451 (decl_comdat_group, decl_comdat_group_id): Constify.
7452 (decl_section_name, set_decl_section_name): Update.
7049aed6 7453 * varpool.c (varpool_finalize_named_section_flags): Use get_section.
24d047a3
JH
7454 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
7455 (cgraph_make_node_local_1): Clear section and comdat group.
7456 * cgraph.h (set_comdat_group): Sanity check.
7457 (get_section, set_section): New.
7458 * ipa-comdats.c (ipa_comdats): Use get_section.
7459 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
7460 * lto-streamer-out.c: Do not follow section names.
7049aed6 7461 * c-family/c-common.c (handle_section_attribute): Update.
24d047a3
JH
7462 * lto-cgraph.c (lto_output_node): Output section.
7463 (lto_output_varpool_node): Likewise.
7464 (read_comdat_group): Rename to ...
7465 (read_identifier): ... this one.
7466 (read_string_cst): New function.
7467 (input_node, input_varpool_node): Input section names.
7468 * tree-emutls.c (get_emutls_init_templ_addr): Update.
7469 (new_emutls_decl): Update.
7049aed6 7470 (secname_for_decl): Check section names only of static vars.
24d047a3
JH
7471 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
7472 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
7473 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
7474 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
7475 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
7476 * config/mcore/mcore.c (mcore_unique_section): Likewise.
7477 * config/mips/mips.c (mips16_build_function_stub): Likewise.
7478 * config/v850/v850.c (v850_insert_attributes): Likewise.
7049aed6 7479 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
24d047a3
JH
7480 Likewise.
7481 (h8300_handle_tiny_data_attribute): Likewise.
7482 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
7483 (bfin_handle_l2_attribute): Likewise.
7484
80bc9b6e
JH
74852014-06-07 Jan Hubicka <hubicka@ucw.cz>
7486
7487 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
7488 remove static initializer.
7489
684a3aa7
JH
74902014-06-07 Jan Hubicka <hubicka@ucw.cz>
7491
7049aed6
UB
7492 * varasm.c (use_blocks_for_decl_p): Check symbol table
7493 instead of alias attribute.
684a3aa7
JH
7494 (place_block_symbol): Recurse on aliases.
7495
94c2e46c
JH
74962014-06-07 Jan Hubicka <hubicka@ucw.cz>
7497
7498 * ipa-visibility.c: Include varasm.h
7499 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
7500
136a5f45
JH
75012014-06-07 Jan Hubicka <hubicka@ucw.cz>
7502
7503 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
7504 outputting aliases.
7505
0dbaf51e
SB
75062014-06-07 Steven Bosscher <steven@gcc.gnu.org>
7507
7964957f 7508 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
0dbaf51e
SB
7509 from test_insn into GGC space escape via SET_SRC.
7510
51d2abeb
EB
75112014-06-07 Eric Botcazou <ebotcazou@adacore.com>
7512
7513 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
7514 call statement, if any.
7515 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
7516 statements, if any. Tidy up.
7517
b528fc5c
MM
75182014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
7519
7520 PR target/61431
7521 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
7522 iterators, VSX_D that handles 64-bit types, and VSX_LE that
7523 handles swapping the two 64-bit double words on little endian
7524 systems. Include V1TImode and optionally TImode in VSX_LE so that
7525 these types are properly swapped. Change all of the insns and
7526 splits that do the 64-bit swaps to use VSX_LE.
7527 (vsx_le_perm_load_<mode>): Likewise.
7528 (vsx_le_perm_store_<mode>): Likewise.
7529 (splitters for little endian memory operations): Likewise.
7530 (vsx_xxpermdi2_le_<mode>): Likewise.
7531 (vsx_lxvd2x2_le_<mode>): Likewise.
7532 (vsx_stxvd2x2_le_<mode>): Likewise.
7533
7b11cab7
UB
75342014-06-06 Uros Bizjak <ubizjak@gmail.com>
7535
7536 PR target/61423
7537 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
7538 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
7539 and corresponding splitters. Zero extend general register
7540 or memory input operand to XMM temporary. Enable for
7541 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
7542 (floatunssi<mode>2): Update expander predicate.
7543
5a770e01
VM
75442014-06-06 Vladimir Makarov <vmakarov@redhat.com>
7545
7546 PR rtl-optimization/61325
7547 * lra-constraints.c (process_address_1): Check scale equal to one
7548 to prevent transformation: base + scale * index => base + new_reg.
7549
acce8ce3
RB
75502014-06-06 Richard Biener <rguenther@suse.de>
7551
7552 PR tree-optimization/59299
7553 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
7554 a def operand.
7555 (nearest_common_dominator_of_uses): Likewise.
7556 (statement_sink_location): Adjust. Support sinking loads.
7557
0d48ee34
MJ
75582014-06-06 Martin Jambor <mjambor@suse.cz>
7559
7560 * ipa-prop.c (get_place_in_agg_contents_list): New function.
7561 (build_agg_jump_func_from_list): Likewise.
7562 (determine_known_aggregate_parts): Renamed to
7563 determine_locally_known_aggregate_parts. Moved some functionality
7564 to the two functions above, removed bound checks.
7565
e2c75eea
JG
75662014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
7567
7568 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
7569 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
7570 (aarch64_progress_pointer): Likewise.
7571 (aarch64_copy_one_part_and_move_pointers): Likewise.
7572 (aarch64_expand_movmen): Likewise.
7573 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
7574 * config/aarch64/aarch64.md (movmem<mode>): New.
7575
58e5400a
BM
75762014-06-06 Bingfeng Mei <bmei@broadcom.com>
7577
7578 * targhooks.c (default_add_stmt_cost): Call target specific
7579 hook instead of default one.
7580
58126368
TP
75812014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
7582
7583 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
7584 endianness instead of host endianness.
7585 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
7586 comments.
7587
3fd48b12
EB
75882014-06-06 Eric Botcazou <ebotcazou@adacore.com>
7589
7590 PR debug/53927
7591 * function.c (instantiate_decls): Process the saved static chain.
7592 (expand_function_start): If not optimizing, save the static chain
7593 onto the stack.
7594 * tree-nested.c (convert_all_function_calls): Always create the static
7595 chain for nested functions if not optimizing.
7596
9b7a11e1
EB
75972014-06-06 Eric Botcazou <ebotcazou@adacore.com>
7598
7599 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
7600
726338f4
RB
76012014-06-06 Richard Biener <rguenther@suse.de>
7602
7603 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
7604 (construct_init_block): Likewise.
7605 (construct_exit_block): Likewise.
7606 (pass_expand::execute): Likewise.
7607 * graphite.c (graphite_transforms): Replace check for current_loops
7608 with a check for > 1 loops.
7609 (pass_graphite_transforms::execute): Adjust.
7610 * ipa-split.c (split_function): Remove check for current_loops.
7611 * omp-low.c (expand_parallel_call): Likewise.
7612 (expand_omp_for_init_counts): Likewise.
7613 (extract_omp_for_update_vars): Likewise.
7614 (expand_omp_for_generic): Likewise.
7615 (expand_omp_sections): Likewise.
7616 (expand_omp_target): Likewise.
7617 * tracer.c (tail_duplicate): Likewise.
7618 (pass_tracer::execute): Likewise.
7619 * trans-mem.c (expand_transaction): Likewise.
7620 * tree-complex.c (expand_complex_div_wide): Likewise.
7621 * tree-eh.c (lower_resx): Likewise.
7622 (cleanup_empty_eh_merge_phis): Likewise.
7623 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
7624 current_loops with a check for > 1 loops.
7625 (pass_predcom::execute): Adjust.
7626 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
7627 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
7628 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
7629 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
7630 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
7631 * tree-switch-conversion.c (process_switch): Likewise.
7632 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
7633 * tree-vrp.c (vrp_visit_phi_node): Likewise.
7634 (execute_vrp): Likewise.
7635 * ubsan.c (ubsan_expand_null_ifn): Likewise.
7636
ffa4602f
EB
76372014-06-06 Eric Botcazou <ebotcazou@adacore.com>
7638
7639 * rtl.h (insn_location): Declare.
7640 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
7641 with UNKNOWN_LOCATION.
7642 * emit-rtl.c (insn_location): New function.
7643 * final.c (notice_source_line): Check that the instruction has a
7644 location before retrieving it and use insn_location.
7645 * modulo-sched.c (loop_single_full_bb_p): Likewise.
7646 * print-rtl.c (print_rtx): Likewise.
7647
28a4a292
RB
76482014-06-06 Richard Biener <rguenther@suse.de>
7649
7650 * passes.def: Move 2nd VRP pass before phi-only-cprop.
7651
d969f3c1
CB
76522014-06-06 Christian Bruel <christian.bruel@st.com>
7653
7654 PR tree-optimization/43934
28a4a292
RB
7655 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
7656 cost.
d969f3c1 7657
b58923e2
RS
76582014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
7659
7660 * ira-lives.c (single_reg_class): Add missing break. Explicitly
7661 return NO_REGS for extra address and memory constraints. Handle
7662 operands that match (or are equivalent to something that matches)
7663 extra constant constraints. Ignore other non-register operands.
7664
ddbb449f
AM
76652014-06-06 Alan Modra <amodra@gmail.com>
7666
7667 PR target/61300
7668 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
7669 * doc/tm.texi: Regenerate.
7670 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
7671 Use throughout in place of REG_PARM_STACK_SPACE.
7672 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
7673 "incoming" param. Pass to rs6000_function_parms_need_stack.
7674 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
7675 prototype_p when incoming. Use function decl when incoming
7676 to handle K&R style functions.
7677 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
7678 (INCOMING_REG_PARM_STACK_SPACE): Define.
7679
a148c4b2
SKS
76802014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7681
7682 PR target/52472
7683 * cfgexpand.c (expand_debug_expr): Use address space of nested
7684 TREE_TYPE for ADDR_EXPR and MEM_REF.
7685
64e13bcd
JL
76862014-06-05 Jeff Law <law@redhat.com>
7687
7688 PR tree-optimization/61289
7689 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
7690 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
7691 looking for those which match LHS. All callers changed.
7692 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
7693 parameters and code which manipulated them. All callers changed.
7694 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
7695 and DST_MAP parameters. Simplify invalidation code by just calling
7696 invalidate_equivalences. All callers changed.
7697 (thread_across_edge): Simplify now that we don't need to maintain
7698 the map of equivalences to invalidate.
7699
5853e181
KT
77002014-06-05 Kai Tietz <ktietz@redhat.com>
7701 Richard Henderson <rth@redhat.com>
7702
7703 PR target/46219
7704 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
7705 checking for !TARGET_X32.
7706 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
7707 (sibcall_intern): New define_insn, plus required peepholes.
7708 (sibcall_pop_intern): Likewise.
7709 (sibcall_value_intern): Likewise.
7710 (sibcall_value_pop_intern): Likewise.
7711
95cc0a1a
IE
77122014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
7713
7714 * tree-inline.c (tree_function_versioning): Check DF info existence
7715 before accessing it.
7716
1c960e02
MS
77172014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
7718
7719 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
7720 frame_size.
7721 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
7722 aarch64_frame hard_fp_offset and frame_size.
7723 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
7724 frame_size; remove original_frame_size.
7725 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
7726 (aarch64_initial_elimination_offset): Remove frame_size and
7727 offset. Use aarch64_frame frame_size.
7728
2e1cdae5
MS
77292014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
7730 Jiong Wang <jiong.wang@arm.com>
4a450ea0 7731 Renlin <renlin.li@arm.com>
2e1cdae5
MS
7732
7733 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
7734 initialization of R30 offset. Update offset. Iterate core
7735 regisers upto X30. Remove X29, X30 specific code.
7736
97826595
MS
77372014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
7738 Jiong Wang <jiong.wang@arm.com>
7739
7740 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
7741 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
7742 (aarch64_register_saved_on_entry): Adjust test.
7743
8799637a
MS
77442014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
7745
7746 * config/aarch64/aarch64.h (machine_function): Move
7747 saved_varargs_size from here...
4a450ea0 7748 (aarch64_frame): ... to here.
8799637a
MS
7749
7750 * config/aarch64/aarch64.c (aarch64_expand_prologue)
7751 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
7752 (aarch64_initial_elimination_offset)
7753 (aarch64_setup_incoming_varargs): Adjust location of
7754 saved_varargs_size.
7755
34834420
MS
77562014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
7757
7758 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
7759 layout comment.
7760
aaaa9efc
JP
77612014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
7762 Prachi Godbole <Prachi.Godbole@imgtec.com>
7763
7764 * config/mips/mips-cpus.def: Add definition for p5600. Updated
7765 mips32r5 entry to use PROCESSOR_P5600.
7766 * config/mips/mips-tables.opt: Regenerate.
7767 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
7768 * config/mips/mips.c (mips_fmadd_bypass): New function.
7769 (mips_rtx_cost_data): Add costs for p5600.
7770 (mips_issue_rate): Add support for p5600.
7771 (mips_multipass_dfa_lookahead): Likewise.
7772 * config/mips/mips.h (TUNE_P5600): New define.
7773 (TUNE_MACC_CHAINS): Add TUNE_P5600.
7774 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
7775 * config/mips/mips.md: Include p5600.md.
7776 (processor): Add p5600.
7777 * config/mips/p5600.md: New file.
7778
edbb0749
ES
77792014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
7780
7781 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
7782 * config/i386/predicates.md (palignr_operand): New.
7783 Indicates if permutation is suitable for palignr instruction.
7784
e12355ef
YR
77852014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
7786
7787 PR tree-optimization/61319
7788 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
7789 stmt belongs to loop.
7790
947ca6a0
RB
77912014-06-05 Richard Biener <rguenther@suse.de>
7792
7793 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
7794 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
7795 (lookup_tmp_var): Adjust.
7796 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
7797
63e70d3c
RR
77982014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7799
7800 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
7801
742938c9
MP
78022014-06-05 Marek Polacek <polacek@redhat.com>
7803
7804 PR c/49706
7805 * doc/invoke.texi: Document -Wlogical-not-parentheses.
7806
357ddc7d
TV
78072014-06-04 Tom de Vries <tom@codesourcery.com>
7808
7809 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
7810 CONST_INT.
7811
ca73a1f7
MG
78122014-06-04 Marc Glisse <marc.glisse@inria.fr>
7813
7814 PR tree-optimization/61385
7815 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
7816
ffb1f5ef
BS
78172014-06-04 Bernd Schmidt <bernds@codesourcery.com>
7818
7819 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
7820 changed to use fatal_error.
7821 (main): Ensure lto_wrapper_cleanup is run atexit.
7822
a953491e
RS
78232014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
7824
7825 * lra-constraints.c (valid_address_p): Move earlier in file.
7826 (address_eliminator): New structure.
7827 (satisfies_memory_constraint_p): New function.
7828 (satisfies_address_constraint_p): Likewise.
7829 (process_alt_operands, process_address, curr_insn_transform): Use them.
7830
0c331756
RS
78312014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
7832
7833 * lra-int.h (lra_static_insn_data): Make operand_alternative a
7834 const pointer.
7835 (target_lra_int, default_target_lra_int, this_target_lra_int)
7836 (op_alt_data): Delete.
7837 * lra.h (lra_init): Delete.
7838 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
7839 (init_insn_code_data_once): Remove op_alt_data handling.
7840 (finish_insn_code_data_once): Likewise.
7841 (init_op_alt_data): Delete.
7842 (get_static_insn_data): Initialize operand_alternative to null.
7843 (free_insn_recog_data): Cast operand_alternative before freeing it.
7844 (setup_operand_alternative): Take the operand_alternative as
7845 parameter and assume it isn't already cached in the static
7846 insn data.
7847 (lra_set_insn_recog_data): Update accordingly.
7848 (lra_init): Delete.
7849 * ira.c (ira_init): Don't call lra_init.
7850 * target-globals.h (this_target_lra_int): Declare.
7851 (target_globals): Remove lra_int.
7852 (restore_target_globals): Update accordingly.
7853 * target-globals.c: Don't include lra-int.h.
7854 (default_target_globals, save_target_globals): Remove lra_int.
7855
1145837d
RS
78562014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
7857
7858 * recog.h (operand_alternative): Convert reg_class, reject,
7859 matched and matches into bitfields.
7860 (preprocess_constraints): New overload.
7861 (preprocess_insn_constraints): New function.
7862 (preprocess_constraints): Take the insn as parameter.
7863 (recog_op_alt): Change into a pointer.
7864 (target_recog): Add x_op_alt.
7865 * recog.c (asm_op_alt): New variable.
7866 (recog_op_alt): Change into a pointer.
7867 (preprocess_constraints): New overload, replacing the old function
7868 definition with one that doesn't use global state.
7869 (preprocess_insn_constraints): New function.
7870 (preprocess_constraints): Use them. Take the insn as parameter.
7871 Use asm_op_alt for asms.
7872 (recog_init): Free existing x_op_alt entries.
7873 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
7874 pointer const.
7875 (make_early_clobber_and_input_conflicts): Likewise.
7876 (process_bb_node_lives): Pass the insn to process_constraints.
7877 * reg-stack.c (check_asm_stack_operands): Likewise.
7878 (subst_asm_stack_regs): Likewise.
7879 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
7880 * regrename.c (build_def_use): Likewise.
7881 * sched-deps.c (sched_analyze_insn): Likewise.
7882 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
7883 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
7884 (note_invalid_constants): Likewise.
7885 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
7886 (ix86_legitimate_combined_insn): Make operand_alternative pointer
7887 const.
7888
5f2e0797
RS
78892014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
7890
7891 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
7892 * ira-lives.c (check_and_make_def_conflict): Check for disabled
7893 alternatives.
7894 (make_early_clobber_and_input_conflicts): Likewise.
7895 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
7896
5efe5dec
RS
78972014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
7898
7899 * recog.h (alternative_class): New function.
7900 (which_op_alt): Return a const recog_op_alt.
7901 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
7902 (subst_asm_stack_regs): Likewise.
7903 * config/arm/arm.c (note_invalid_constants): Likewise.
7904 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
7905 the operand_alternative; use alternative class instead.
7906 * sel-sched.c (get_reg_class): Likewise.
7907 * regrename.c (build_def_use): Likewise.
7908 (hide_operands, restore_operands, record_out_operands): Update type
7909 accordingly.
7910
29d70a0f
RS
79112014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
7912
7913 * recog.h (recog_op_alt): Convert to a flat array.
7914 (which_op_alt): New function.
7915 * recog.c (recog_op_alt): Convert to a flat array.
7916 (preprocess_constraints): Update accordingly, grouping all
7917 operands of the same alternative together, rather than the
7918 other way around.
7919 * ira-lives.c (check_and_make_def_conflict): Likewise.
7920 (make_early_clobber_and_input_conflicts): Likewise.
7921 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
7922 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
7923 (subst_asm_stack_regs): Likewise.
7924 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
7925 * regrename.c (hide_operands, record_out_operands): Likewise.
7926 (build_def_use): Likewise.
7927 * sel-sched.c (get_reg_class): Likewise.
7928 * config/arm/arm.c (note_invalid_constants): Likewise.
7929
fe6ebcf1
JM
79302014-06-04 Jason Merrill <jason@redhat.com>
7931
7932 PR c++/51253
7933 PR c++/61382
7934 * gimplify.c (gimplify_arg): Non-static.
7935 * gimplify.h: Declare it.
7936
38af3208
RB
79372014-06-04 Richard Biener <rguenther@suse.de>
7938
7939 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
7940 TREE_PUBLIC and DECL_EXTERNAL decls.
7941
9ccac701
MF
79422014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
7943
7964957f 7944 * regcprop.c (copyprop_hardreg_forward_1): Account for
9ccac701
MF
7945 HARD_REGNO_CALL_PART_CLOBBERED.
7946
35987ae9
RB
79472014-06-04 Richard Biener <rguenther@suse.de>
7948
7949 * configure.ac: Check whether the underlying type of int64_t
7950 is long or long long.
7951 * configure: Regenerate.
7952 * config.in: Likewise.
7953 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
7954 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
7955
0ea48022
RB
79562014-06-04 Richard Biener <rguenther@suse.de>
7957
7958 PR tree-optimization/60098
7959 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
7960 we hit a kill.
7961 (dse_optimize_stmt): Simplify, now that we found a kill
7962 earlier.
7963
b1259d34
RB
79642014-06-04 Richard Biener <rguenther@suse.de>
7965
7966 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
7967 of accesses with non-invariant address.
7968
8be2dc8c
ML
79692014-06-04 Martin Liska <mliska@suse.cz>
7970
7971 * cgraph.h (cgraph_make_wrapper): New function introduced.
7972 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
7973 * ipa-inline.h (inline_analyze_function): The function is global.
7974 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
7975
8a57e88d
ML
79762014-06-04 Martin Liska <mliska@suse.cz>
7977
7978 * tree.h (private_lookup_attribute_starting): New function.
7979 (lookup_attribute_starting): Likewise.
7980 * tree.c (private_lookup_attribute_starting): Likewise.
7981
d211e471
ML
79822014-06-04 Martin Liska <mliska@suse.cz>
7983
7984 * cgraph.h (expand_thunk): New argument added.
7985 (address_taken_from_non_vtable_p): New global function.
7986 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
7987 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
7988 * cgraphunit.c (analyze_function): Likewise.
7989 (assemble_thunks_and_aliases): Argument added to call.
7990 (expand_thunk): New argument forces to produce GIMPLE thunk.
7991
a96bf0d3
ML
79922014-06-04 Martin Liska <mliska@suse.cz>
7993
7994 * coverage.h (coverage_compute_cfg_checksum): Argument added.
7995 * coverage.c (coverage_compute_cfg_checksum): Likewise.
7996 * profile.c (branch_prob): Likewise.
7997
7d2268ea
MJ
79982014-06-04 Martin Jambor <mjambor@suse.cz>
7999
8000 PR ipa/61340
8001 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
8002 handler for switch on an ipa_ref_use enum.
8003 * ipa-reference.c (analyze_function): Likewise.
8004
0dac3001
KT
80052014-06-04 Kai Tietz <ktietz@redhat.com>
8006
8007 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
8008 from old call-instruction.
8009
348d4b0a
BC
80102014-06-04 Bin Cheng <bin.cheng@arm.com>
8011
8012 * config/aarch64/aarch64.c (aarch64_classify_address)
8013 (aarch64_legitimize_reload_address): Support full addressing modes
8014 for vector modes.
8015 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
8016 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
8017
b9e3afe9
AP
80182014-06-03 Andrew Pinski <apinski@cavium.com>
8019
8020 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
8021 for OP0.
8022
80232014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
8024
8025 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
8026 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
8027
3ce7abdd
KT
80282014-06-03 Kai Tietz <ktietz@redhat.com>
8029
8030 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
8031 for 64-bit ms-abi.
8032
47e78f98
DC
80332014-06-03 Dehao Chen <dehao@google.com>
8034
8035 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
8036 the same loop.
8037
fedfecef
MP
80382014-06-03 Marek Polacek <polacek@redhat.com>
8039
8040 PR c/60439
8041 * doc/invoke.texi: Document -Wswitch-bool.
8042 * function.c (stack_protect_epilogue): Cast controlling expression of
8043 the switch to int.
8044 * gengtype.c (walk_type): Generate switch expression with its
8045 controlling expression cast to int.
8046
80472014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
8048
8049 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
8050 and attiny841.
8051 * config/avr/avr-tables.opt: Regenerate.
8052 * config/avr/t-multilib: Regenerate.
8053 * doc/avr-mmcu.texi: Regenerate.
8054
fedfecef
MP
80552014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
8056 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
8057
8058 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
8059 (ata6617c, ata664251): Add new avr35 devices.
8060 (ata6612c): Add new avr4 device.
8061 (ata6613c, ata6614q): Add new avr5 devices.
8062 * config/avr/avr-tables.opt: Regenerate.
8063 * config/avr/t-multilib: Regenerate.
8064 * doc/avr-mmcu.texi: Regenerate.
8065
918621d3
AL
80662014-06-03 Alan Lawrence <alan.lawrence@arm.com>
8067
8068 * gcc/config/aarch64/aarch64-builtins.c
8069 (aarch64_types_binop_ssu_qualifiers): New static data.
8070 (TYPES_BINOP_SSU): Define.
8071 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
8072 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
8073 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
8074 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
8075 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
8076 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
8077 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
8078 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
8079 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
8080 suffix to builtin function name, remove cast.
8081 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
8082 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
8083 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
8084
de10bcce
AL
80852014-06-03 Alan Lawrence <alan.lawrence@arm.com>
8086
8087 * gcc/config/aarch64/aarch64-builtins.c
8088 (aarch64_types_binop_uus_qualifiers,
8089 aarch64_types_shift_to_unsigned_qualifiers,
8090 aarch64_types_unsigned_shiftacc_qualifiers): Define.
8091 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
8092 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
8093 sqshlu_n, uqshl_n): Update qualifiers.
8094 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
8095 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
8096 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
8097 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
8098 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
8099 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
8100 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
8101 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
8102 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
8103 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
8104 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
8105 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
8106 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
8107 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
8108 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
8109 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
8110 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
8111 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
8112 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
8113 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
8114 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
8115 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
8116 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
8117 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
8118 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
8119 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
8120 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
8121
878d3618
TJ
81222014-06-03 Teresa Johnson <tejohnson@google.com>
8123
8124 * tree-sra.c (modify_function): Record caller nodes after rebuild.
8125
616abc64
JM
81262014-06-02 Jason Merrill <jason@redhat.com>
8127
8128 PR c++/61020
8129 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
8130
b31e65bb
AL
81312014-06-03 Alan Lawrence <alan.lawrence@arm.com>
8132
8133 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
8134 location == 0.
8135
923fcec3
AL
81362014-06-03 Alan Lawrence <alan.lawrence@arm.com>
8137
8138 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
8139 New pattern.
8140 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
8141 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
8142 * config/aarch64/iterators.md (REVERSE): New iterator.
8143 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
8144 (rev_op): New int_attribute.
8145 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
8146 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
8147 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
8148 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
8149 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
8150 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
8151 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
8152 Replace temporary __asm__ with __builtin_shuffle.
8153
7b11cab7 81542014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
8155
8156 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
8157 mips64r5.
8158 * config/mips/mips-tables.opt: Regenerate.
8159 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
8160 to use mips_isa_rev rather than ISA_MIPS32R2.
8161 * config/mips/mips.h (ISA_MIPS32R3): New define.
8162 (ISA_MIPS32R5): New define.
8163 (ISA_MIPS64R3): New define.
8164 (ISA_MIPS64R5): New define.
7b11cab7
UB
8165 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
8166 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
8167 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
8168 and mips64r5.
8169 (MIPS_ISA_SYNCI_SPEC): Likewise.
8170 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
8171 (LINK_SPEC): Added mips32r3 and mips32r5.
8172 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
8173 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
8174 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
8175 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
8176 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
8177 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
8178 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
8179
35773f53
AB
81802014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
8181
8182 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
8183 options.
8184 * config/mips/mips.opt (mxpa): New option.
7b11cab7 8185 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
8186 assembler.
8187
d3fb5cf0
MJ
81882014-06-03 Martin Jambor <mjambor@suse.cz>
8189
8190 PR ipa/61160
8191 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
8192 thunks.
8193
3cc272c1
TP
81942014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
8195
8196 PR tree-optimization/61328
8197 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
8198 initialization from find_bswap_or_nop_1.
8199 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
8200 in source_expr2 before using the size value the function sets. Also
8201 make use of init_symbolic_number () in both the old place and
8202 find_bswap_or_nop_load () to avoid reading uninitialized memory when
8203 doing recursion in the GIMPLE_BINARY_RHS case.
8204
597c6315
RB
82052014-06-03 Richard Biener <rguenther@suse.de>
8206
8207 PR tree-optimization/61383
8208 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
8209 stmts can't trap.
8210
b48e9677
RS
82112014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
8212
8213 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
8214 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
8215 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
8216 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
8217 in this file.
8218 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
8219 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
8220 * system.h: ...here and make it unconditional.
8221 * target.def (conditional_register_usage): Mention
8222 define_register_constraint instead of old-style constraint macros.
8223 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
8224 * doc/tm.texi: Regenerate.
8225 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
8226 protected by !USE_MD_CONSTRAINTS.
8227 * config/frv/frv.md: Remove quote from old version of documentation.
8228 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
8229 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
8230 CONST_DOUBLE_OK_FOR_LETTER.
8231 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
8232
b94f5533 82332014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 8234
3a87ac45
AP
8235 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
8236 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
8237 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
8238 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
8239 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
8240 Handle LP64 better and handle ilp32 too.
b94f5533
AP
8241 (MULTILIB_OPTIONS): Delete.
8242 (MULTILIB_DIRNAMES): Delete.
8243
9b2b7279
AM
82442014-06-02 Andrew MacLeod <amacleod@redhat.com>
8245
8246 * expr.h: Remove prototypes of functions defined in builtins.c.
8247 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
8248 Remove prototypes of functions defined in builtins.c.
8249 * builtins.h: Update prototype list to include all exported functions.
8250 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
8251 no_c99_libc_has_function): Move to targhooks.c
8252 (build_string_literal, build_call_expr_loc_array,
8253 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
8254 to tree.c.
8255 (expand_builtin_object_size, fold_builtin_object_size): Make static.
8256 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
8257 no_c99_libc_has_function): Relocate from builtins.c.
8258 * tree.c: Include builtins.h.
8259 (build_call_expr_loc_array, build_call_expr_loc_vec,
8260 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
8261 from builtins.c.
8262 * fold-const.h (fold_fma): Move prototype to builtins.h.
8263 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
8264 * asan.c: Include builtins.h.
8265 * cfgexpand.c: Likewise.
8266 * convert.c: Likewise.
8267 * emit-rtl.c: Likewise.
8268 * except.c: Likewise.
8269 * expr.c: Likewise.
8270 * fold-const.c: Likewise.
8271 * gimple-fold.c: Likewise.
8272 * gimple-ssa-strength-reduction.c: Likewise.
8273 * gimplify.c: Likewise.
8274 * ipa-inline.c: Likewise.
8275 * ipa-prop.c: Likewise.
8276 * lto-streamer-out.c: Likewise.
8277 * stmt.c: Likewise.
8278 * tree-inline.c: Likewise.
8279 * tree-object-size.c: Likewise.
8280 * tree-sra.c: Likewise.
8281 * tree-ssa-ccp.c: Likewise.
8282 * tree-ssa-forwprop.c: Likewise.
8283 * tree-ssa-loop-ivcanon.c: Likewise.
8284 * tree-ssa-loop-ivopts.c: Likewise.
8285 * tree-ssa-math-opts.c: Likewise.
8286 * tree-ssa-reassoc.c: Likewise.
8287 * tree-ssa-threadedge.c: Likewise.
8288 * tree-streamer-in.c: Likewise.
8289 * tree-vect-data-refs.c: Likewise.
8290 * tree-vect-patterns.c: Likewise.
8291 * tree-vect-stmts.c: Likewise.
8292 * config/aarch64/aarch64.c: Likewise.
8293 * config/alpha/alpha.c: Likewise.
8294 * config/arc/arc.c: Likewise.
8295 * config/arm/arm.c: Likewise.
8296 * config/avr/avr.c: Likewise.
8297 * config/bfin/bfin.c: Likewise.
8298 * config/c6x/c6x.c: Likewise.
8299 * config/cr16/cr16.c: Likewise.
8300 * config/cris/cris.c: Likewise.
8301 * config/epiphany/epiphany.c: Likewise.
8302 * config/fr30/fr30.c: Likewise.
8303 * config/frv/frv.c: Likewise.
8304 * config/h8300/h8300.c: Likewise.
8305 * config/i386/i386.c: Likewise.
8306 * config/i386/winnt.c: Likewise.
8307 * config/ia64/ia64.c: Likewise.
8308 * config/iq2000/iq2000.c: Likewise.
8309 * config/lm32/lm32.c: Likewise.
8310 * config/m32c/m32c.c: Likewise.
8311 * config/m32r/m32r.c: Likewise.
8312 * config/m68k/m68k.c: Likewise.
8313 * config/mcore/mcore.c: Likewise.
8314 * config/mep/mep.c: Likewise.
8315 * config/microblaze/microblaze.c: Likewise.
8316 * config/mips/mips.c: Likewise.
8317 * config/mmix/mmix.c: Likewise.
8318 * config/mn10300/mn10300.c: Likewise.
8319 * config/moxie/moxie.c: Likewise.
8320 * config/msp430/msp430.c: Likewise.
8321 * config/nds32/nds32.c: Likewise.
8322 * config/pa/pa.c: Likewise.
8323 * config/pdp11/pdp11.c: Likewise.
8324 * config/picochip/picochip.c: Likewise.
8325 * config/rl78/rl78.c: Likewise.
8326 * config/rs6000/rs6000.c: Likewise.
8327 * config/rx/rx.c: Likewise.
8328 * config/s390/s390.c: Likewise.
8329 * config/score/score.c: Likewise.
8330 * config/sh/sh.c: Likewise.
8331 * config/sparc/sparc.c: Likewise.
8332 * config/spu/spu.c: Likewise.
8333 * config/stormy16/stormy16.c: Likewise.
8334 * config/tilegx/tilegx.c: Likewise.
8335 * config/tilepro/tilepro.c: Likewise.
8336 * config/v850/v850.c: Likewise.
8337 * config/vax/vax.c: Likewise.
8338 * config/xtensa/xtensa.c: Likewise.
8339
0d732cca
JL
83402014-06-02 Jeff Law <law@redhat.com>
8341
8342 PR rtl-optimization/61094
8343 * ree.c (combine_reaching_defs): Do not reextend an insn if it
8344 was marked as do_no_reextend. If a copy is needed to eliminate
8345 an extension, then mark it as do_not_reextend.
8346
a2adad8b
MS
83472014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
8348
8349 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
8350
20a951e6
RH
83512014-06-02 Richard Henderson <rth@redhat.com>
8352
8353 PR target/61336
8354 * config/alpha/alpha.c (print_operand_address): Allow symbolic
8355 addresses inside asms. Use output_operand_lossage instead of
8356 gcc_unreachable.
8357
40c0a159
UB
83582014-06-02 Uros Bizjak <ubizjak@gmail.com>
8359
8360 PR target/61239
8361 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
8362 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
8363
94bfa2da
TV
83642014-06-02 Tom de Vries <tom@codesourcery.com>
8365
8366 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
8367 case that x has VOIDmode.
8368
4a1f940f
BS
83692014-06-02 Bernd Schmidt <bernds@codesourcery.com>
8370
8371 * varasm.c (copy_constant): Delete function.
8372 (build_constant_desc): Don't call it.
8373
27e83a44
RR
83742014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8375
8376 PR target/61154
8377 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
8378 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
8379 with immediate_operand.
8380
31815ed7
AS
83812014-06-02 Andreas Schwab <schwab@suse.de>
8382
8383 * config/ia64/ia64.c
8384 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
8385 pending_data_specs first.
8386
61dd7fbc
RB
83872014-06-02 Richard Biener <rguenther@suse.de>
8388
8389 PR tree-optimization/61378
8390 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
8391 valueized_anything.
8392
1828d3e6
UB
83932014-06-01 Uros Bizjak <ubizjak@gmail.com>
8394
8395 * config/i386/constraints.md (Bw): Rename from 'w'.
8396 (Bz): Rename from 'z'.
8397 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
8398
6041d142
KT
83992014-06-01 Kai Tietz <ktietz@redhat.com>
8400
8401 PR target/61377
1828d3e6
UB
8402 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
8403 * config/i386/i386.md (sibcall_insn_operand): Use Bs
8404 instead of m constraint.
6041d142 8405
aef1bf3b
AS
84062014-05-31 Andreas Schwab <schwab@linux-m68k.org>
8407
8408 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
8409 a separate alternative where the scratch operand 2 is marked as
8410 early clobber.
8411
f10743d3
KV
84122014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
8413
8414 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
8415 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
8416 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
8417 and __builtins_arm_get_fpscr.
8418 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
8419 __builtins_arm_get_fpscr.
8420 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
8421 __builtins_arm_ldfpscr.
8422 (arm_atomic_assign_expand_fenv): New function.
8423 * config/arm/vfp.md (set_fpscr): New pattern.
8424 (get_fpscr) : Likewise.
8425 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
8426 VUNSPEC_SET_FPSCR.
8427 * doc/extend.texi (AARCH64 Built-in Functions) : Document
8428 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
8429
40f9f6bb
JJ
84302014-05-30 Jakub Jelinek <jakub@redhat.com>
8431
b3f1051b
JJ
8432 * asan.c (report_error_func): Add SLOW_P argument, use
8433 BUILT_IN_ASAN_*_N if set.
8434 (build_check_stmt): Likewise.
8435 (instrument_derefs): If T has insufficient alignment,
8436 force same handling as for odd sizes.
8437
40f9f6bb
JJ
8438 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
8439 BUILT_IN_ASAN_REPORT_STORE_N): New.
8440 * asan.c (struct asan_mem_ref): Change access_size type to
8441 HOST_WIDE_INT.
8442 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
8443 update_mem_ref_hash_table): Likewise.
8444 (asan_mem_ref_hasher::hash): Hash in a HWI.
8445 (report_error_func): Change size_in_bytes argument to HWI.
8446 Use *_N builtins if size_in_bytes is larger than 16 or not power of
8447 two.
8448 (build_shadow_mem_access): New function.
8449 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
8450 Handle size_in_bytes not power of two or larger than 16.
8451 (instrument_derefs): Don't give up if size_in_bytes is not
8452 power of two or is larger than 16.
8453
cb105922
KT
84542014-05-30 Kai Tietz <ktietz@redhat.com>
8455
8456 PR target/60104
8457 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
8458 for sibling-tail-calls.
8459 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
8460 to its use.
8461 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
8462 (sibcall_insn_operand): Add check for sibcall_memory_operand.
8463
150e0639
PS
84642014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
8465
8466 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
8467 * config/avr/avr-tables.opt: Regenerate.
8468 * config/avr/t-multilib: Regenerate.
8469 * doc/avr-mmcu.texi: Regenerate.
8470
f9a8f6d9
ILT
84712014-05-30 Ian Lance Taylor <iant@google.com>
8472
8473 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
8474 target("sse").
8475
5028356f
TV
84762014-05-30 Tom de Vries <tom@codesourcery.com>
8477
8478 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
8479 Redefine as true.
8480
10e1bdb2
TV
84812014-05-30 Tom de Vries <tom@codesourcery.com>
8482
8483 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
8484 * lra.c (initialize_lra_reg_info_element): Add init of
8485 actual_call_used_reg_set field.
8486 (lra): Call lra_create_live_ranges before lra_inheritance for
8487 -fuse-caller-save.
8488 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
8489 -fuse-caller-save.
8490 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
8491 instead of call_used_reg_set for -fuse-caller-save.
8492 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
8493
56912037
KT
84942014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8495
8496 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
8497 to mov_imm.
8498 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
8499
98f2f031
RS
85002014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
8501
8502 * ira.c (ira_get_dup_out_num): Check for output operands at
8503 the start of the loop. Handle cases where an included alternative
8504 follows an excluded one.
8505
79abf19f
MS
85062014-05-29 Mike Stump <mikestump@comcast.net>
8507
8508 PR debug/61352
8509 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
8510 post ld passes when lto is used.
8511
cc8849a1
VM
85122014-05-29 Vladimir Makarov <vmakarov@redhat.com>
8513
8514 PR rtl-optimization/61325
40c0a159 8515 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
8516 (process_address): New function.
8517
ae0533da
AL
85182014-05-29 Alan Lawrence <alan.lawrence@arm.com>
8519
8520 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
8521 TYPES_BINOPV): New static data.
40c0a159
UB
8522 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
8523 New builtin.
8524 * config/aarch64/aarch64-simd.md (aarch64_ext,
8525 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
8526 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
8527 patterns for EXT.
8528 (aarch64_evpc_ext): New function.
8529
8530 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
8531
8532 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
8533 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
8534 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
8535 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
8536 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
8537
ed00b1fb
TV
85382014-05-29 Tom de Vries <tom@codesourcery.com>
8539
8540 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
8541
004d3809 85422014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 8543 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 8544
40c0a159
UB
8545 * arm/iterators.md (shiftable_ops): New code iterator.
8546 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 8547 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
8548 * arm/arm.md (insn_enabled): Delete.
8549 (enabled): Remove insn_enabled test.
8550 (*arith_shiftsi): Delete. Replace with ...
8551 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
8552 (*<arith_shift_insn>_shiftsi): ... new pattern.
8553 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
8554
c2db3f3d 85552014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 8556 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
8557
8558 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
8559 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
8560 clobber.
8561 (mips_split_call): Use POST_CALL_TMP_REG.
8562 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
8563
4b29b965
TV
85642014-05-29 Tom de Vries <tom@codesourcery.com>
8565
8566 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
8567 with #ifdef STACK_REGS.
8568
726f0774
JH
85692014-05-28 Jan Hubicka <hubicka@ucw.cz>
8570
8571 * varasm.c (get_variable_section): Walk aliases.
8572 (place_block_symbol): Walk aliases.
8573
ea0b381f
TV
85742014-05-28 Tom de Vries <tom@codesourcery.com>
8575
8576 Revert:
8577 2014-05-28 Tom de Vries <tom@codesourcery.com>
8578
8579 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
8580 * lra.c (initialize_lra_reg_info_element): Add init of
8581 actual_call_used_reg_set field.
8582 (lra): Call lra_create_live_ranges before lra_inheritance for
8583 -fuse-caller-save.
8584 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
8585 -fuse-caller-save.
40c0a159
UB
8586 * lra-constraints.c (need_for_call_save_p): Use
8587 actual_call_used_reg_set instead of call_used_reg_set for
8588 -fuse-caller-save.
ea0b381f
TV
8589 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
8590
73f793e3
RS
85912014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
8592
8593 * doc/md.texi: Document that the % constraint character must
8594 be at the beginning of the string.
8595 * genoutput.c (validate_insn_alternatives): Check that '=',
8596 '+' and '%' only appear at the beginning of a constraint.
8597 * ira.c (commutative_constraint_p): Delete.
8598 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
8599 at the start of the string.
8600 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
8601 duplicate '='s.
8602 * config/arm/neon.md (bicdi3_neon): Likewise.
8603 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
8604 (slt_si, sltu_si): Likewise.
8605 * config/vax/vax.md (sbcdi3): Likewise.
8606 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
8607 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
8608 (mul64): Move '%' to beginning of constraint.
8609 * config/arm/arm.md (*xordi3_insn): Likewise.
8610 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
8611 (xorsi3): Likewise.
8612
5a7555ab
RS
86132014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
8614
8615 * doc/md.texi: Document the restrictions on the "enabled" attribute.
8616
d67ff7b7
JM
86172014-05-28 Jason Merrill <jason@redhat.com>
8618
8619 PR c++/47202
8620 * cgraph.h (symtab_node::get_comdat_group_id): New.
8621 * cgraphunit.c (analyze_functions): Call it.
8622 * symtab.c (dump_symtab_node): Likewise.
8623 * tree.c (decl_comdat_group_id): New.
8624 * tree.h: Declare it.
8625 * lto-streamer-out.c (write_symbol): Use it.
8626 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
8627
ecc7533a
FXC
86282014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8629
8630 PR bootstrap/PR61146
8631 * wide-int.cc: Do not include longlong.h when compiling with clang.
8632
6e5799b9
RB
86332014-05-28 Richard Biener <rguenther@suse.de>
8634
8635 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
8636 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
8637 (vrp_visit_assignment_or_call): Print less vertical space.
8638 (vrp_visit_stmt): Likewise.
8639 (vrp_visit_phi_node): Likewise. For a PHI argument with
8640 VR_VARYING range consider recording it as copy.
8641
47f9fca8
RB
86422014-05-28 Richard Biener <rguenther@suse.de>
8643
8644 Revert
8645 2014-05-28 Richard Biener <rguenther@suse.de>
8646
8647 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
8648
7fbf8a3e
BE
86492014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
8650
8651 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
8652 sufficiently aligned and an offset is used at the same time.
8653 (expand_expr_real_1): Likewise.
8654
b017a174
RB
86552014-05-28 Richard Biener <rguenther@suse.de>
8656
8657 PR middle-end/61045
8658 * fold-const.c (fold_comparison): When folding
8659 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
8660 the sign of the remaining constant operand stays the same.
8661
96360888
KP
86622014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
8663
8664 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
8665 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
8666 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
8667 to the assembler.
40c0a159 8668 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
8669 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
8670 (m32bit-doubles) Likewise.
8671 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
8672 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
8673 option for RL78.
8674
3c698bf0
RO
86752014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8676
8677 * configure.ac ($gcc_cv_ld_clearcap): New test.
8678 * configure: Regenerate.
8679 * config.in: Regenerate.
8680 * config/sol2.opt (mclear-hwcap): New option.
8681 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
8682 * config/sol2-clearcap.map: Moved here from
8683 testsuite/gcc.target/i386/clearcap.map.
8684 * config/sol2-clearcapv2.map: Move here from
8685 gcc.target/i386/clearcapv2.map.
8686 * config/t-sol2 (install): Depend on install-clearcap-map.
8687 (install-clearcap-map): New target.
8688 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
8689 -mclear-hwcap.
8690
4c8bd90f
RB
86912014-05-28 Richard Biener <rguenther@suse.de>
8692
8693 * hwint.h (*_HALF_WIDE_INT*): Move to ...
8694 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
8695 ... here and remove the rest.
8696 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
8697
a896172d
RB
86982014-05-28 Richard Biener <rguenther@suse.de>
8699
8700 PR tree-optimization/61335
8701 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
8702 new range fails, drop to varying.
8703
c41f1c42
BE
87042014-05-28 Olivier Hainque <hainque@adacore.com>
8705
8706 * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
8707 (CPP_SPEC): Add entry for -mcpu=8548.
8708 * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
8709 * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
8710
b8c6a45a
TV
87112014-05-28 Tom de Vries <tom@codesourcery.com>
8712
8713 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
8714 * lra.c (initialize_lra_reg_info_element): Add init of
8715 actual_call_used_reg_set field.
8716 (lra): Call lra_create_live_ranges before lra_inheritance for
8717 -fuse-caller-save.
8718 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
8719 -fuse-caller-save.
40c0a159
UB
8720 * lra-constraints.c (need_for_call_save_p): Use
8721 actual_call_used_reg_set instead of call_used_reg_set for
8722 -fuse-caller-save.
b8c6a45a
TV
8723 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
8724
dbe7d9e3 87252014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 8726 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 8727
40c0a159
UB
8728 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
8729 to gccoptlist.
dbe7d9e3
RO
8730 (@item -fuse-caller-save): New item.
8731
5c989bbf 87322014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 8733 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
8734
8735 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
8736 OPT_fuse_caller_save.
8737
c2ba7e7a 87382014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 8739 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
8740
8741 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
8742 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
8743 get_call_reg_set_usage.
8744 * resource.c (mark_set_resources, mark_target_live_regs): Use
8745 get_call_reg_set_usage.
8746 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
8747 field.
8748 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
8749 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
8750 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
8751 * ira-build.c (ira_create_allocno): Init
8752 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
8753 (create_cap_allocno, propagate_allocno_info)
8754 (propagate_some_info_from_allocno)
8755 (copy_info_to_removed_store_destinations): Handle
8756 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
8757 * ira-costs.c (ira_tune_allocno_costs): Use
8758 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
8759
27c07cc5 87602014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 8761 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
8762
8763 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
8764 and function_used_regs_valid fields.
8765 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
8766 find_all_hard_reg_sets.
8767 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
8768 (get_call_reg_set_usage): New function.
8769 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
8770 * regs.h (get_call_reg_set_usage): Declare.
8771
ca48e5ef
GJL
87722014-05-28 Georg-Johann Lay <avr@gjlay.de>
8773
8774 PR libgcc/61152
8775 * config/dbx.h (License): Add Runtime Library Exception.
8776 * config/newlib-stdint.h (License): Same.
8777 * config/rtems.h (License): Same
8778 * config/initfini-array.h (License): Same
8779 * config/v850/v850.h (License): Same.
8780 * config/v850/v850-opts.h (License): Same
8781 * config/v850/rtems.h (License): Same.
8782
92747f7d
GJL
87832014-05-28 Georg-Johann Lay <avr@gjlay.de>
8784
8785 PR target/61044
8786 * doc/extend.texi (Local Labels): Note that label differences are
8787 not supported for AVR.
8788
c41f1c42
BE
87892014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
8790 Olivier Hainque <hainque@adacore.com>
8791
8792 * rtl.h (set_for_reg_notes): Declare.
8793 * emit-rtl.c (set_for_reg_notes): New function.
8794 (set_unique_reg_note): Use it.
8795 * optabs.c (add_equal_note): Likewise
8796
9c6ab05f
AP
87972014-05-27 Andrew Pinski <apinski@cavium.com>
8798
8799 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
8800 Use <w> for the register in assembly template.
40c0a159 8801 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
8802 (stack_protect_test_<mode>): Use <w> for the register
8803 in assembly template.
8804
69c7a374
DD
88052014-05-27 DJ Delorie <dj@redhat.com>
8806
8807 * config/rx/rx.c (add_vector_labels): New.
8808 (rx_output_function_prologue): Call it.
8809 (rx_handle_func_attribute): Don't require empty arguments.
8810 (rx_handle_vector_attribute): New.
8811 (rx_attribute_table): Add "vector" attribute.
8812 * doc/extend.texi (interrupt, vector): Document new/changed
8813 RX-specific attributes.
8814
8815 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
8816
5e67547d
EB
88172014-05-27 Eric Botcazou <ebotcazou@adacore.com>
8818
8819 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
8820 predicate to detect a negative quotient.
8821
d378c07e
EB
88222014-05-27 Eric Botcazou <ebotcazou@adacore.com>
8823
8824 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
8825 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
8826 Add X - Y CMP 0 to X CMP Y transformation.
8827 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
8828
3ce6c715
SB
88292014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
8830
8831 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
8832 before printing.
8833
11237229
SE
88342014-05-27 Steve Ellcey <sellcey@mips.com>
8835
8836 * config/mips/mips.c: Add include of cgraph.h.
8837
7ea7f668
RB
88382014-05-27 Richard Biener <rguenther@suse.de>
8839
8840 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
8841
c7eca9fe
GJL
88422014-05-27 Georg-Johann Lay <avr@gjlay.de>
8843
8844 PR libgcc/61152
8845 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
8846 * config/arm/arm-cores.def (License): Same.
8847 * config/arm/arm-opts.h (License): Same.
8848 * config/arm/aout.h (License): Same.
8849 * config/arm/bpabi.h (License): Same.
8850 * config/arm/elf.h (License): Same.
8851 * config/arm/linux-elf.h (License): Same.
8852 * config/arm/linux-gas.h (License): Same.
8853 * config/arm/netbsd-elf.h (License): Same.
8854 * config/arm/uclinux-eabi.h (License): Same.
8855 * config/arm/uclinux-elf.h (License): Same.
8856 * config/arm/vxworks.h (License): Same.
8857
7a10ea9f
KT
88582014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8859
8860 * config/arm/neon.md (neon_bswap<mode>): New pattern.
8861 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
8862 (arm_init_neon_builtins): Handle NEON_BSWAP.
8863 Define required type nodes.
8864 (arm_expand_neon_builtin): Handle NEON_BSWAP.
8865 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
8866 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
8867 * config/arm/iterators.md (VDQHSD): New mode iterator.
8868
597f5997
RB
88692014-05-27 Richard Biener <rguenther@suse.de>
8870
8871 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
8872 Try using literal operands when comparing value-ranges failed.
8873
f571b63f
RS
88742014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
8875
8876 * ira.c (commutative_operand): Adjust for change to recog_data.
8877 [Missing from previous commit.]
8878
4cc8d9d2
RS
88792014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
8880
8881 * system.h (TEST_BIT): New macro.
8882 * recog.h (alternative_mask): New type.
8883 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
8884 (recog_data_d): Replace alternative_enabled_p array with
8885 enabled_alternatives.
8886 (target_recog): New structure.
8887 (default_target_recog, this_target_recog): Declare.
8888 (get_enabled_alternatives, recog_init): Likewise.
8889 * recog.c (default_target_recog, this_target_recog): New variables.
8890 (get_enabled_alternatives): New function.
8891 (extract_insn): Use it.
8892 (recog_init): New function.
8893 (preprocess_constraints, constrain_operands): Adjust for change to
8894 recog_data.
8895 * postreload.c (reload_cse_simplify_operands): Likewise.
8896 * reload.c (find_reloads): Likewise.
8897 * ira-costs.c (record_reg_classes): Likewise.
8898 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
8899 all alternatives after a disabled one would be skipped.
8900 (ira_implicitly_set_insn_hard_regs): Likewise.
8901 * ira.c (ira_setup_alts): Adjust for change to recog_data.
8902 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
8903 with enabled_alternatives.
8904 * lra.c (free_insn_recog_data): Update accordingly.
8905 (lra_update_insn_recog_data): Likewise.
8906 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
8907 * lra-constraints.c (process_alt_operands): Likewise. Handle
8908 only_alternative as part of the enabled mask.
8909 * target-globals.h (this_target_recog): Declare.
8910 (target_globals): Add a recog field.
8911 (restore_target_globals): Restore this_target_recog.
8912 * target-globals.c: Include recog.h.
8913 (default_target_globals): Initialize recog field.
8914 (save_target_globals): Likewise.
8915 * reginfo.c (reinit_regs): Call recog_init.
8916 * toplev.c (backend_init_target): Likewise.
8917
9921417d
RS
89182014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
8919
8920 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
8921 rather than any named insn's code.
8922
a5024e01
GJL
89232014-05-27 Georg-Johann Lay <avr@gjlay.de>
8924
8925 PR libgcc/61152
8926 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
8927 * config/arm/arm-cores.def (License): Same.
8928
50efcce1
JH
89292014-05-26 Jan Hubicka <hubicka@ucw.cz>
8930
8931 * tree.h (decl_comdat_group): Declare.
8932 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
8933 * tree.c (decl_comdat_group): Here.
8934
3e26c8f6
RS
89352014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
8936
8937 PR rtl-optimization/61222
8938 * combine.c (simplify_shift_const_1): When moving a PLUS outside
8939 the shift, truncate the PLUS operand to the result mode.
8940
b8140cd6
UB
89412014-05-26 Uros Bizjak <ubizjak@gmail.com>
8942
8943 PR target/61271
8944 * config/i386/i386.c (ix86_rtx_costs)
8945 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
8946 Fix condition.
8947
acea91c9
MJ
89482014-05-26 Martin Jambor <mjambor@suse.cz>
8949
8950 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
8951 subreg uses.
8952
d93461f7
RB
89532014-05-26 Richard Biener <rguenther@suse.de>
8954
8955 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
8956 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
8957 Provide specializations.
8958 (wi::int_traits <HOST_WIDE_INT>,
8959 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
8960
bfe51f42
AM
89612014-05-26 Alan Modra <amodra@gmail.com>
8962
8963 PR target/61098
8964 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
8965 params and return a bool. Remove dead code. Update comment.
8966 Assert we have a const_int source. Remove bogus code from
8967 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
8968 handling of constants > 2G and reg_equal note, from..
8969 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
8970 return value. Update comment. If we can, use a new pseudo
8971 for intermediate calculations.
8972 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
8973 prototype.
8974 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
8975 call to rs6000_emit_set_const in splitter.
8976 (movdi_internal64+2, +3): Likewise.
8977
a9243bfc
RB
89782014-05-26 Richard Biener <rguenther@suse.de>
8979
8980 * system.h: Define __STDC_FORMAT_MACROS before
8981 including inttypes.h.
8982 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
8983 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
8984 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
8985 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
8986 HOST_WIDEST_INT_C): Remove.
8987 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
8988 if C99 inttypes.h is not available.
8989 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
8990 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
8991 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
8992 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
8993 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
8994 (struct output_info): Likewise.
8995 (print_statistics): Adjust.
8996 (dump_bitmap_statistics): Likewise.
8997 * bt-load.c (migrate_btr_defs): Print with PRId64.
8998 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
8999 (MAX_SAFE_MULTIPLIER): Adjust.
9000 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
9001 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
9002 dump_cgraph_node): Likewise.
9003 * final.c (dump_basic_block_info): Likewise.
9004 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
9005 * gcov.c (format_gcov): Likewise.
9006 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
9007 for calculation.
9008 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
9009 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
9010 (inline_small_functions, dump_overall_stats, dump_inline_stats):
9011 Use PRId64 for dumping.
9012 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
9013 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
9014 (add_allocno_hard_regs): Adjust.
9015 * loop-doloop.c (doloop_modify): Print using PRId64.
9016 * loop-iv.c (inverse): Compute in uint64_t.
9017 (determine_max_iter, iv_number_of_iterations): Likewise.
9018 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
9019 Print using PRId64.
9020 * lto-streamer-out.c (write_symbol): Use uint64_t.
9021 * mcf.c (CAP_INFINITY): Use int64_t maximum.
9022 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
9023 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
9024 * modulo-sched.c (const_iteration_count): Use int64_t.
9025 (sms_schedule): Dump using PRId64.
9026 * predict.c (dump_prediction): Likewise.
9027 * pretty-print.h (pp_widest_integer): Remove.
9028 * profile.c (get_working_sets, is_edge_inconsistent,
9029 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
9030 * tree-pretty-print.c (pp_double_int): Remove case handling
9031 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
9032 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
9033 and adjust users.
9034 (pass_optimize_bswap::execute): Remove restriction on hosts.
9035 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
9036 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
9037 * tree.c (widest_int_cst_value): Remove.
9038 * tree.h (widest_int_cst_value): Likewise.
9039 * value-prof.c (dump_histogram_value): Print using PRId64.
9040 * gengtype.c (main): Also inject int64_t.
9041 * ggc-page.c (struct max_alignment): Use int64_t.
9042 * alloc-pool.c (struct allocation_object_def): Likewise.
9043 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
9044 for computation.
9045 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
9046 * doc/tm.texi: Regenerated.
9047 * gengtype-lex.l (IWORD): Handle [u]int64_t.
9048 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
9049 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
9050 mmix_output_register_setting): Use [u]int64_t in prototypes.
9051 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
9052 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
9053 mmix_output_octa, mmix_output_shifted_value): Adjust.
9054 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 9055 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 9056
edf6ddf6
RB
90572014-05-26 Richard Biener <rguenther@suse.de>
9058
9059 * configure.ac: Drop __int64 type check. Insist that we
9060 found uint64_t and int64_t.
9061 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 9062 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
9063 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
9064 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
9065 (HOST_WIDEST_FAST_INT): Remove __int64 case.
9066 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
9067 for dst_q_src_df_rms_cdt.
9068 * configure: Regenerate.
9069 * config.in: Likewise.
9070
d4082970
MT
90712014-05-26 Michael Tautschnig <mt@debian.org>
9072
9073 PR target/61249
49f002b6
UB
9074 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
9075 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 9076
d29d688a
ZC
90772014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9078
9079 PR rtl-optimization/61278
9080 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
9081
88f32f0f
ZC
90822014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9083
9084 PR rtl-optimization/61220
9085 Part of PR rtl-optimization/61225
9086 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
9087 insn; skip split_edge for a block with only one successor.
9088
97ae6b64
JH
90892014-05-23 Jan Hubicka <hubicka@ucw.cz>
9090
d4082970
MT
9091 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
9092 for variables.
97ae6b64 9093
07990a5e
JH
90942014-05-23 Jan Hubicka <hubicka@ucw.cz>
9095
9096 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
9097 (update_vtable_references): New function.
9098 (function_and_variable_visibility): Rewrite also vtable initializers.
9099 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
9100
fd1e9302
JH
91012014-05-23 Jan Hubicka <hubicka@ucw.cz>
9102
9103 * ggc.h (ggc_grow): New function.
9104 * ggc-none.c (ggc_grow): New function.
9105 * ggc-page.c (ggc_grow): Likewise.
9106
7f7beb3f
JH
91072014-05-23 Jan Hubicka <hubicka@ucw.cz>
9108
d4082970
MT
9109 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
9110 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
9111 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
9112 varpool_externally_visible_p, can_replace_by_local_alias,
9113 update_visibility_by_resolution_info, function_and_variable_visibility,
9114 pass_data_ipa_function_and_variable_visibility,
9115 make_pass_ipa_function_and_variable_visibility,
9116 whole_program_function_and_variable_visibility,
9117 pass_data_ipa_whole_program_visibility,
9118 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
9119 * cgraph.h (cgraph_local_node_p): Declare.
9120 * ipa-visibility.c: New file.
9121 * Makefile.in (OBJS): Add ipa-visiblity.o
9122
6adda80b
JH
91232014-05-23 Jan Hubicka <hubicka@ucw.cz>
9124
9125 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
9126 that var decl is available.
9127
aede2c10
JH
91282014-05-23 Jan Hubicka <hubicka@ucw.cz>
9129
9130 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
9131 symtab_node pointer.
d4082970 9132 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
9133 (find_decls_types_r): Do not walk COMDAT_GROUP.
9134 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
9135 * varasm.c (make_decl_one_only): Use set_comdat_group;
9136 create node if needed.
9137 * ipa-inline-transform.c (save_inline_function_body): Update
9138 way we decl->symtab mapping.
9139 * symtab.c (symtab_hash, hash_node, eq_node
9140 symtab_insert_node_to_hashtable): Remove.
9141 (symtab_register_node): Update.
9142 (symtab_unregister_node): Update.
9143 (symtab_get_node): Reimplement as inline function.
9144 (symtab_add_to_same_comdat_group): Update.
9145 (symtab_dissolve_same_comdat_group_list): Update.
9146 (dump_symtab_base): Update.
9147 (verify_symtab_base): Update.
9148 (symtab_make_decl_local): Update.
9149 (fixup_same_cpp_alias_visibility): Update.
9150 (symtab_nonoverwritable_alias): Update.
9151 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
9152 * ipa.c (update_visibility_by_resolution_info): UPdate.
9153 * bb-reorder.c: Include cgraph.h
9154 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
9155 with comdat groups.
9156 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
9157 * cgraph.c (cgraph_get_create_node): Update.
9158 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
9159 and comdat_group_.
9160 (symtab_get_node): Make inline.
9161 (symtab_insert_node_to_hashtable): Remove.
9162 (symtab_can_be_discarded): Update.
9163 (decl_comdat_group): New function.
d4082970
MT
9164 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
9165 Update.
aede2c10
JH
9166 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
9167 comdat group name.
9168 (read_comdat_group): New function.
9169 (input_node, input_varpool_node): Use it.
9170 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
9171 comdat groups.
9172 * mips.c (mips_start_unique_function): Likewise.
9173 (ix86_code_end): Likewise.
9174 (rs6000_code_end): Likweise.
d4082970 9175 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 9176
4df199d1
JH
91772014-05-23 Jan Hubicka <hubicka@ucw.cz>
9178
9179 * gengtype-state.c (fatal_reading_state): Bring offline.
9180 * optabs.c (widening_optab_handler): Bring offline.
9181 * optabs.h (widening_optab_handler): Likewise.
9182 * final.c (get_attr_length_1): Likewise.
9183
e0e349f3
JH
91842014-05-23 Jan Hubicka <hubicka@ucw.cz>
9185
9186 * sched-int.h (sd_iterator_cond): Manually tail recurse.
9187
a35dd1fa
SB
91882014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9189
d4082970 9190 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 9191 (ppc440-compare): Include shift with dot.
d4082970 9192 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
9193 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
9194 without dot.
9195 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
9196 without dot.
9197 (e6500_sfx2): Include it.
9198 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
9199 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
9200 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
9201 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
9202 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
9203 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
9204 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
9205 *lshiftrt_internal1le, *lshiftrt_internal1be,
9206 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
9207 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
9208 *rotldi3_internal10le, *rotldi3_internal10be,
9209 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
9210 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
9211 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
9212 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
9213 define_insns): Use type "shift" in the appropriate alternatives.
9214
73c076c8
SB
92152014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9216
9217 * config/rs6000/rs6000.md (type): Add "logical". Delete
9218 "fast_compare".
9219 (dot): Adjust comment.
9220 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
9221 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
9222 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
9223 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
9224 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
9225 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 9226 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
9227 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
9228
d4082970
MT
9229 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
9230 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
9231 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
9232 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
9233 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
9234 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
9235 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
9236 * config/rs6000/8540.md (ppc8540_su): Adjust.
9237 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 9238 cell-cmp-microcoded): Adjust.
d4082970
MT
9239 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
9240 * config/rs6000/e500mc.md (e500mc_su): Adjust.
9241 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
9242 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
9243 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
9244 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
9245 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
9246 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
9247 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 9248 Adjust.
d4082970
MT
9249 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
9250 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 9251 Adjust. Adjust comment.
d4082970
MT
9252 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
9253 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 9254
0cbb4f58
SB
92552014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9256
9257 * config/rs6000/rs6000.md (type): Add "add".
9258 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
9259 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
9260 define_insns): Use it.
9261 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
9262
9263 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
9264 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 9265 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
9266 * config/rs6000/601.md (ppc601-integer): Adjust.
9267 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
9268 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
9269 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
9270 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
9271 * config/rs6000/8540.md (ppc8540_su): Adjust.
9272 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
9273 cell-cmp-microcoded): Adjust.
9274 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
9275 * config/rs6000/e500mc.md (e500mc_su): Adjust.
9276 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
9277 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
9278 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
9279 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
9280 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
9281 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
9282 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
9283 Adjust.
9284 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 9285 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
9286 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
9287 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
9288
892e7fa6
SB
92892014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9290
9291 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
9292 "delayed_compare", "var_delayed_compare".
9293 (var_shift): New attribute.
9294 (cell_micro): Adjust.
9295 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
9296 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
9297 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
9298 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
9299 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
9300 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
9301 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
9302 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
9303 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
9304 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
9305 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
9306 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
9307 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
9308 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
9309 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
9310 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
9311 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
9312 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
9313 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
9314 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
9315 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
9316 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
9317 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
9318 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
9319 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
9320
9321 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
9322 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 9323 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
9324 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
9325 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
9326 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 9327 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
9328 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
9329 * config/rs6000/8540.md (ppc8540_su): Adjust.
9330 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
9331 cell-cmp-microcoded): Adjust.
9332 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
9333 * config/rs6000/e500mc.md (e500mc_su): Adjust.
9334 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
9335 e500mc64_delayed): Adjust.
9336 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
9337 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
9338 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
9339 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
9340 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
9341 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
9342 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 9343 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
9344 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
9345 Adjust comment.
9346 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
9347 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
9348
441e02a5
SB
93492014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9350
d4082970 9351 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
9352 (bits): New mode_attr.
9353 (idiv_ldiv): Delete mode_attr.
9354 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
9355 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
9356 rs6000_adjust_priority, is_nonpipeline_insn,
9357 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
9358
9359 * config/rs6000/40x.md (ppc403-idiv): Adjust.
9360 * config/rs6000/440.md (ppc440-idiv): Adjust.
9361 * config/rs6000/476.md (ppc476-idiv): Adjust.
9362 * config/rs6000/601.md (ppc601-idiv): Adjust.
9363 * config/rs6000/603.md (ppc603-idiv): Adjust.
9364 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
9365 ppc620-ldiv): Adjust.
9366 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
9367 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
9368 * config/rs6000/8540.md (ppc8540_divide): Adjust.
9369 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
9370 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
9371 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
9372 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
9373 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
9374 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
9375 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
9376 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
9377 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
9378 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
9379 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
9380 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
9381 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
9382 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
9383 * config/rs6000/titan.md (titan_fxu_div): Adjust.
9384
58ee9e66
SB
93852014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9386
9387 * config/rs6000/rs6000.md (type): Delete "insert_word",
9388 "insert_dword". Add "insert".
9389 (size): Update comment.
9390 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
9391 insn_must_be_first_in_group): Adjust.
9392 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
9393 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
9394 *insvsi_internal6, insvdi_internal): Adjust.
9395
9396 * config/rs6000/40x.md (ppc403-integer): Adjust.
9397 * config/rs6000/440.md (ppc440-integer): Adjust.
9398 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
9399 * config/rs6000/601.md (ppc601-integer): Adjust.
9400 * config/rs6000/603.md (ppc603-integer): Adjust.
9401 * config/rs6000/6xx.md (ppc604-integer): Adjust.
9402 * config/rs6000/7450.md (ppc7450-integer): Adjust.
9403 * config/rs6000/7xx.md (ppc750-integer): Adjust.
9404 * config/rs6000/8540.md (ppc8540_su): Adjust.
9405 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
9406 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
9407 * config/rs6000/e500mc.md (e500mc_su): Adjust.
9408 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
9409 * config/rs6000/e5500.md (e5500_sfx): Adjust.
9410 * config/rs6000/e6500.md (e6500_sfx): Adjust.
9411 * config/rs6000/mpc.md (mpccore-integer): Adjust.
9412 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
9413 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 9414 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
9415 * config/rs6000/power7.md (power7-integer): Adjust.
9416 * config/rs6000/power8.md (power8-1cyc): Adjust.
9417 * config/rs6000/rs64.md (rs64a-integer): Adjust.
9418 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
9419
e0528ed9
SB
94202014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9421
9422 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
9423 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
9424 (size): New attribute.
9425 (dot): New attribute.
9426 (cell_micro): Adjust.
9427 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
9428 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
9429 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
9430 umuldi3_highpart): Adjust.
9431 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
9432 rs6000_adjust_priority, is_nonpipeline_insn,
9433 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
9434
9435 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
9436 ppc405-imul3): Adjust.
9437 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
9438 * config/rs6000/476.md (ppc476-imul): Adjust.
9439 * config/rs6000/601.md (ppc601-imul): Adjust.
9440 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
9441 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
9442 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
9443 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
9444 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
9445 Adjust.
9446 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
9447 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
9448 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
9449 cell-imul): Adjust.
9450 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
9451 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
9452 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
9453 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
9454 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
9455 * config/rs6000/mpc.md (mpccore-imul): Adjust.
9456 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
9457 power4-lmul, power4-imul, power4-imul3): Adjust.
9458 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
9459 power5-lmul, power5-imul, power5-imul3): Adjust.
9460 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
9461 power6-lmul, power6-imul, power6-imul3): Adjust.
9462 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
9463 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
9464
9465 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
9466 rs64a-lmul): Adjust.
9467 * config/rs6000/titan.md (titan_imul): Adjust.
9468
1263d642
SB
94692014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9470
9471 * config/rs6000/rs6000.md (type): Add new value "halfmul".
9472 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
9473 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
9474 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
9475 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 9476 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
9477 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
9478 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
9479 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
9480 * config/rs6000/titan.md: Delete nonsensical comment.
9481 (titan_imul): Add type imul3.
9482 (titan_mulhw): Remove type imul3; add type halfmul.
9483
1be6301a
SB
94842014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
9485
9486 * config/rs6000/rs6000.md (type): Reorder, reformat.
9487
8aab5218
MJ
94882014-05-23 Martin Jambor <mjambor@suse.cz>
9489
9490 PR tree-optimization/53787
9491 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
9492 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
9493 analysis_done, update all uses.
9494 * ipa-prop.c: Include domwalk.h
9495 (param_analysis_info): Removed.
9496 (param_aa_status): New type.
9497 (ipa_bb_info): Likewise.
9498 (func_body_info): Likewise.
9499 (ipa_get_bb_info): New function.
9500 (aa_overwalked): Likewise.
9501 (find_dominating_aa_status): Likewise.
9502 (parm_bb_aa_status_for_bb): Likewise.
9503 (parm_preserved_before_stmt_p): Changed to use new param AA info.
9504 (load_from_unmodified_param): Accept func_body_info as a parameter
9505 instead of parms_ainfo.
9506 (parm_ref_data_preserved_p): Changed to use new param AA info.
9507 (parm_ref_data_pass_through_p): Likewise.
9508 (ipa_load_from_parm_agg_1): Likewise. Update callers.
9509 (compute_complex_assign_jump_func): Changed to use new param AA info.
9510 (compute_complex_ancestor_jump_func): Likewise.
9511 (ipa_compute_jump_functions_for_edge): Likewise.
9512 (ipa_compute_jump_functions): Removed.
9513 (ipa_compute_jump_functions_for_bb): New function.
9514 (ipa_analyze_indirect_call_uses): Likewise, moved variable
9515 declarations down.
9516 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
9517 and info, moved variable declarations down.
9518 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
9519 node and info.
9520 (ipa_analyze_stmt_uses): Likewise.
9521 (ipa_analyze_params_uses): Removed.
9522 (ipa_analyze_params_uses_in_bb): New function.
9523 (ipa_analyze_controlled_uses): Likewise.
9524 (free_ipa_bb_info): Likewise.
9525 (analysis_dom_walker): New class.
9526 (ipa_analyze_node): Handle node-specific forbidden analysis,
9527 initialize and free func_body_info, use dominator walker.
9528 (ipcp_modif_dom_walker): New class.
9529 (ipcp_transform_function): Create and free func_body_info, use
9530 ipcp_modif_dom_walker, moved a lot of functionality there.
9531
85a16bf8
MP
95322014-05-23 Marek Polacek <polacek@redhat.com>
9533 Jakub Jelinek <jakub@redhat.com>
9534
9535 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
9536 * gcc.c (sanitize_spec_function): Likewise.
9537 * convert.c (convert_to_integer): Include "ubsan.h". Add
9538 floating-point to integer instrumentation.
9539 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
9540 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
9541 SANITIZE_NONDEFAULT.
9542 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
9543 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
9544 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
9545 * ubsan.c: Include "realmpfr.h" and "dfp.h".
9546 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
9547 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
9548 float/double/long double.
9549 (ubsan_instrument_float_cast): New function.
9550 * ubsan.h (ubsan_instrument_float_cast): Declare.
9551
40c0a159 95522014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
9553
9554 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
9555 predicate.
9556 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
9557 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
9558 Adjust for tailcalling through registers.
9559 * config/aarch64/aarch64.h (enum reg_class): New caller save
9560 register class.
9561 (REG_CLASS_NAMES): Likewise.
9562 (REG_CLASS_CONTENTS): Likewise.
9563 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
9564 Allow tailcalling without decls.
9565
ed20ae98
TS
95662014-05-23 Thomas Schwinge <thomas@codesourcery.com>
9567
09af4b4c
TS
9568 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
9569 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
9570
ed20ae98
TS
9571 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
9572 gsi, and variables v_* to v*.
9573
4adf63f9
EB
95742014-05-23 Eric Botcazou <ebotcazou@adacore.com>
9575
9576 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
9577
a5a5434f
TS
95782014-05-23 Thomas Schwinge <thomas@codesourcery.com>
9579
0aadce73
TS
9580 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
9581 * omp-low.c: Update accordingly.
9582
eb63c927
TS
9583 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
9584 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
9585 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
9586 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
9587 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
9588 GF_OMP_TARGET_KIND_UPDATE.
9589
a5a5434f
TS
9590 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
9591 Explicitly enumerate the expected region types.
9592
ee526ea7
PE
95932014-05-23 Paul Eggert <eggert@cs.ucla.edu>
9594
9595 PR other/56955
9596 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
9597 documentation; the old documentation didn't clearly state the
9598 constraints on the contents of the pointed-to storage.
9599
676cad4d
MK
96002014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
9601
9602 Fix bootstrap error on ia64
9603 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
9604 Return default value.
9605
73984f84
TP
96062014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
9607
9608 PR tree-optimization/54733
9609 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
9610 (CMPNOP): Define.
9611 (find_bswap_or_nop_load): New.
9612 (find_bswap_1): Renamed to ...
9613 (find_bswap_or_nop_1): This. Also add support for memory source.
9614 (find_bswap): Renamed to ...
9615 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
9616 detection of bitwise operations equivalent to load in target
9617 endianness.
73984f84
TP
9618 (execute_optimize_bswap): Likewise. Also move its leading comment back
9619 in place and split statement transformation into ...
9620 (bswap_replace): This.
9621
b17ec42d
VM
96222014-05-22 Vladimir Makarov <vmakarov@redhat.com>
9623
9624 PR rtl-optimization/61215
9625 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
9626 simplify_gen_subreg until final substitution.
9627
ea9364db
AM
96282014-05-23 Alan Modra <amodra@gmail.com>
9629
9630 PR target/61231
9631 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
9632 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
9633 Use "Y" constraint rather than "m".
9634
aa87aced
KV
96352014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
9636
9637 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
9638 define.
9639 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
9640 New function declaration.
9641 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
9642 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
9643 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
9644 (aarch64_init_builtins) : Initialize builtins
9645 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
9646 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
9647 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
9648 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
9649 and __builtins_aarch64_set_fpsr.
9650 (aarch64_atomic_assign_expand_fenv): New function.
9651 * config/aarch64/aarch64.md (set_fpcr): New pattern.
9652 (get_fpcr) : Likewise.
9653 (set_fpsr) : Likewise.
9654 (get_fpsr) : Likewise.
9655 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
9656 and UNSPECV_SET_FPSR.
9657 * doc/extend.texi (AARCH64 Built-in Functions) : Document
9658 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
9659 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
9660
0a1eb350
VM
96612014-05-22 Vladimir Makarov <vmakarov@redhat.com>
9662
9663 PR rtl-optimization/60969
9664 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
9665 constraints. Set up mem cost for NO_REGS case.
9666
f6a7cffc
TS
96672014-05-22 Thomas Schwinge <thomas@codesourcery.com>
9668
9669 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
9670
4000360e
BS
96712012-05-22 Bernd Schmidt <bernds@codesourcery.com>
9672
9673 * config/darwin.c: Include "lto-section-names.h".
9674 (LTO_SEGMENT_NAME): Don't define.
9675 * config/i386/winnt.c: Include "lto-section-names.h".
9676 * lto-streamer.c: Include "lto-section-names.h".
9677 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
9678 * lto-wrapper.c: Include "lto-section-names.h".
9679 (LTO_SECTION_NAME_PREFIX): Don't define.
9680 * lto-section-names.h: New file.
9681 * cgraphunit.c: Include "lto-section-names.h".
9682
c9aee450
PB
96832014-05-22 Peter Bergner <bergner@vnet.ibm.com>
9684
9685 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
9686
37f2edf5
RE
96872014-05-22 Richard Earnshaw <rearnsha@arm.com>
9688
9689 PR target/61208
9690 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
9691
1ad47ee5
NC
96922014-05-22 Nick Clifton <nickc@redhat.com>
9693
d4082970 9694 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 9695
1f9c420b
EB
96962014-05-22 Eric Botcazou <ebotcazou@adacore.com>
9697
9698 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
9699 -> (T)A transformation to integer types.
9700
e3f0315f
TJ
97012014-05-22 Teresa Johnson <tejohnson@google.com>
9702
9703 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
9704 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
9705 (gcov_rewrite): Use gcov_nonruntime_assert.
9706 (gcov_open): Ditto.
9707 (gcov_write_words): Ditto.
9708 (gcov_write_length): Ditto.
9709 (gcov_read_words): Use gcov_nonruntime_assert, and remove
9710 gcc_assert from IN_LIBGCOV code.
9711 (gcov_read_summary): Use gcov_error to flag profile corruption.
9712 (gcov_sync): Use gcov_nonruntime_assert.
9713 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
9714 (gcov_histo_index): Use gcov_nonruntime_assert.
9715 (static void gcov_histogram_merge): Ditto.
9716 (compute_working_sets): Ditto.
9717 * gcov-io.h (gcov_nonruntime_assert): Define.
9718 (gcov_error): Define for !IN_LIBGCOV
9719
c8f49949
RB
97202014-05-22 Richard Biener <rguenther@suse.de>
9721
9722 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
9723 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
9724 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
9725 and deallocation site.
9726 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
9727 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
9728 passing through the incoming points-to set.
9729 (handle_lhs_call): Use flags argument instead of recomputing it.
9730 (find_func_aliases_for_call): Call handle_lhs_call with proper
9731 call return flags.
9732
a822564d
JJ
97332014-05-22 Jakub Jelinek <jakub@redhat.com>
9734
9735 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
9736 all padding bits in REAL_VALUE_TYPE are cleared.
9737
4960a0cb
MK
97382014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
9739
9740 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
9741 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
9742 (core2i7_first_cycle_multipass_begin,)
9743 (core2i7_first_cycle_multipass_issue,)
9744 (core2i7_first_cycle_multipass_backtrack): Update signature.
9745 * config/ia64/ia64.c
9746 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
9747 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
9748 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
9749 hook definition.
9750 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
9751 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
9752 values.
9753 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
9754 return values.
9755 * doc/tm.texi: Regenerate.
9756 * doc/tm.texi.in
9757 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
9758 * haifa-sched.c (ready_try): Make signed to allow negative values.
9759 (rebug_ready_list_1): Update.
9760 (choose_ready): Simplify.
9761 (sched_extend_ready_list): Update.
4960a0cb 9762
16d83dd6
MK
97632014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
9764
9765 Remove IA64 speculation tweaking flags
d4082970
MT
9766 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
9767 speculation tuning flags.
9768 (msched-prefer-non-data-spec-insns,)
9769 (msched-prefer-non-control-spec-insns): Obsolete options.
9770 * haifa-sched.c (choose_ready): Remove handling of
9771 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
9772 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
9773 and PREFER_NON_DATA_SPEC.
9774 * sel-sched.c (process_spec_exprs): Remove handling of
9775 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 9776
69da098b
MK
97772014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
9778
9779 Improve scheduling debug output
9780 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
9781 (advance_one_cycle): Update.
9782 (schedule_insn, queue_to_ready): Add debug printouts.
9783 (debug_ready_list_1): New static function.
9784 (debug_ready_list): Update.
9785 (max_issue): Add debug printouts.
9786 (dump_insn_stream): New static function.
9787 (schedule_block): Use it. Also better indent printouts.
9788
97892014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
9790
9791 Fix sched_insn debug counter
9792 * haifa-sched.c (schedule_insn): Update.
9793 (struct haifa_saved_data): Add nonscheduled_insns_begin.
9794 (save_backtrack_point, restore_backtrack_point): Update.
9795 (first_nonscheduled_insn): New static function.
9796 (queue_to_ready, choose_ready): Use it.
9797 (schedule_block): Init nonscheduled_insns_begin.
9798 (sched_emit_insn): Update.
9799
9800
a4a182c6
KV
98012014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
9802
9803 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
9804 to GENERAL_REGS.
9805 (aarch64_secondary_reload) : LikeWise.
9806 (aarch64_class_max_nregs) : Remove CORE_REGS.
9807 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
9808 (REG_CLASS_NAMES) : Likewise.
9809 (REG_CLASS_CONTENTS) : LikeWise.
9810 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
9811
9652331a
GW
98122014-05-21 Guozhi Wei <carrot@google.com>
9813
9814 PR target/61202
9815 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
9816 constraint.
9817 (vqdmulhq_n_s16): Likewise.
9818
0bfba043
SB
98192014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
9820
9821 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
9822
1edb7356
MP
98232014-05-21 Marek Polacek <polacek@redhat.com>
9824
9825 PR sanitizer/61272
9826 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
9827
2acb1027
MJ
98282014-05-21 Martin Jambor <mjambor@suse.cz>
9829
9830 * doc/invoke.texi (Optimize Options): Document parameters
9831 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
9832 ipa-cp-array-index-hint-bonus.
9833
7315daa6
MW
98342014-05-21 Mark Wielaard <mjw@redhat.com>
9835
9836 PR debug/16063
9837 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
9838 version >= 3 or not strict DWARF.
9839 * langhooks.h (struct lang_hooks_for_types): Add
9840 enum_underlying_base_type.
9841 * langhooks.c (lhd_enum_underlying_base_type): New function.
9842 * gcc/langhooks.h (struct lang_hooks_for_types): Add
9843 enum_underlying_base_type.
9844 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
9845 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
9846 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
9847
95989e5c
RB
98482014-05-21 Richard Biener <rguenther@suse.de>
9849
d4082970 9850 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 9851
dbed5a9b
JM
98522014-05-21 John Marino <gnugcc@marino.st>
9853
9854 * config.gcc (*-*-dragonfly*): New target.
9855 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
9856 * configure: Regenerate.
9857 * config/dragonfly-stdint.h: New.
9858 * config/dragonfly.h: New.
9859 * config/dragonfly.opt: New.
9860 * config/i386/dragonfly.h: New.
9861 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
9862
632f2871
RS
98632014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
9864
9865 * tree.def (VOID_CST): New.
9866 * tree-core.h (TI_VOID): New.
9867 * tree.h (void_node): New.
9868 * tree.c (tree_node_structure_for_code, tree_code_size)
9869 (iterative_hash_expr): Handle VOID_CST.
9870 (build_common_tree_nodes): Initialize void_node.
9871
8a9e6b45
BS
98722014-05-21 Bernd Schmidt <bernds@codesourcery.com>
9873
bffe67e7
BS
9874 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
9875 functions.
9876 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
9877
0836b77f
BS
9878 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
9879 more places.
9880
8a9e6b45
BS
9881 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
9882 flag_reorder_blocks_and_partition.
9883 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
9884
c4e5de1b
OE
98852014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
9886
9887 PR target/54236
9888 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
9889 constraints.
9890 (*addc_r_t): Add new insn_and_split.
9891
decaaec8
JJ
98922014-05-21 Jakub Jelinek <jakub@redhat.com>
9893
9894 PR middle-end/61252
9895 * omp-low.c (handle_simd_reference): New function.
9896 (lower_rec_input_clauses): Use it. Defer adding reference
9897 initialization even for reduction without placeholder if in simd,
9898 handle it properly later on.
9899
3aaf0529
JH
99002014-05-20 Jan Hubicka <hubicka@ucw.cz>
9901
9902 PR tree-optimization/60899
9903 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
9904 assume all static symbols will have definition wile parsing and
9905 check the do have definition later in compilation; check that
9906 variable referring symbol will be output before concluding that
9907 reference is safe; be conservative for referring local statics;
9908 be more precise about when comdat is output in other partition.
9909
1bbb87c4
JH
99102014-05-20 Jan Hubicka <hubicka@ucw.cz>
9911
9912 PR bootstrap/60984
d4082970
MT
9913 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
9914 parameter.
1bbb87c4 9915 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
9916 (ipa_inline): Loop inline_to_all_callers until no more aliases
9917 are removed.
1bbb87c4 9918
d5ce4663
JH
99192014-05-20 Jan Hubicka <hubicka@ucw.cz>
9920
9921 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
9922 set writeonly flag only for vars actually written to.
9923
98339851
DC
99242014-05-20 Dehao Chen <dehao@google.com>
9925
9926 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
9927 and callee count to get clone count.
9928 * tree-inline.c (expand_call_inline): Use callee count instead of bb
9929 count in copy_body.
9930
ec27069c
RS
99312014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
9932
9933 PR rtl-optimization/61243
9934 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
9935
2b5f0895
XDL
99362014-05-20 Xinliang David Li <davidxl@google.com>
9937
9938 * cgraphunit.c (walk_polymorphic_call_targets): Add
9939 dbgcnt and fopt-info support.
9940 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
9941 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 9942 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
9943 * ipa.c (walk_polymorphic_call_targets): Ditto.
9944 * gimple-fold.c (fold_gimple_assign): Ditto.
9945 (gimple_fold_call): Ditto.
9946 * dbgcnt.def: New counter.
9947
9c5f6203
DD
99482014-05-20 DJ Delorie <dj@redhat.com>
9949
9950 * config/msp430/msp430.md (split): Don't allow subregs when
9951 splitting SImode adds.
9952 (andneghi): Fix subtraction logic.
9953 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
9954
cf288ed3
JH
99552014-05-20 Jan Hubicka <hubicka@ucw.cz>
9956
9957 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
9958 symbols.
9959 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 9960 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
9961 align_variable, get_block_for_decl, default_section_type_flags):
9962 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
9963 * symtab.c (symtab_add_to_same_comdat_group,
9964 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
9965 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
9966 Likewise.
9967 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
9968 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
9969 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
9970 (c6x_function_in_section_p): Likewise.
9971 * config/darwin.c (machopic_select_section): Likewise.
9972 * config/arm/arm.c (arm_function_in_section_p): Likewise.
9973 * config/mips/mips.c (mips_function_rodata_section): Likewise.
9974 * config/mep/mep.c (mep_select_section): LIkewise.
9975 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
9976
7eab31ed
EB
99772014-05-20 Eric Botcazou <ebotcazou@adacore.com>
9978
9979 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
9980 EH region of calls to pure functions that can throw an exception.
9981 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
9982 (copy_reference_ops_from_call): Also copy the EH region of the call if
9983 it can throw an exception.
9984
ec217bd8
BS
99852014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9986
9987 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
9988 nested VEC_SELECTs that are inverses of each other.
9989
b2b222b3
RB
99902014-05-20 Richard Biener <rguenther@suse.de>
9991
d4082970 9992 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
9993 (extract_and_process_scc_for_name): not here.
9994 (cond_dom_walker::before_dom_children): Only process
9995 stmts that end the BB in interesting ways.
9996 (run_scc_vn): Mark param uses as visited.
9997
e9ea5185
KT
99982014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9999
10000 * config/arm/arm.md (arith_shiftsi): Do not predicate for
10001 arm_restrict_it.
10002
8f0e7f6f
NC
100032014-05-20 Nick Clifton <nickc@redhat.com>
10004
467fc67c
NC
10005 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
10006 (msp430_gimplify_va_arg_expr): New function.
10007 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
10008
8f0e7f6f
NC
10009 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
10010 operand 0 in order to prevent confusion about the number of
10011 registers involved.
10012
d1c0308e
RB
100132014-05-20 Richard Biener <rguenther@suse.de>
10014
10015 PR tree-optimization/61221
10016 * tree-ssa-pre.c (el_to_update): Remove.
10017 (eliminate_dom_walker::before_dom_children): Handle released
10018 VDEFs by value-numbering them to the associated VUSE. Update
10019 stmt immediately for substituted call address.
10020 (eliminate): Remove delayed stmt updating code.
10021 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
10022 possibly late re-numbered vuses.
10023 (vn_reference_lookup_2): Adjust.
10024 (vn_reference_lookup_pieces): Likewise.
10025 (vn_reference_lookup): Likewise.
10026
54da09ee
RB
100272014-05-20 Richard Biener <rguenther@suse.de>
10028
10029 * config.gcc: Remove need_64bit_hwint.
10030 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
10031 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
10032 it to be true.
10033 * config.in: Regenerate.
10034 * configure: Likewise.
10035
883755a1
DW
100362014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
10037
10038 * doc/extend.texi: Create Label Attributes section,
10039 move all label attributes into it and reference it.
10040
514b3156
RE
100412014-05-19 Richard Earnshaw <rearnsha@arm.com>
10042
10043 * arm.c (thumb1_reorg): When scanning backwards skip anything
10044 that's not a proper insn.
10045
1d44def2
RB
100462014-05-19 Richard Biener <rguenther@suse.de>
10047
10048 PR tree-optimization/61221
10049 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
10050 Do nothing for unreachable blocks.
10051 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
10052 Improve unreachability detection.
10053
05135136
RB
100542014-05-19 Richard Biener <rguenther@suse.de>
10055
10056 PR tree-optimization/61209
10057 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
10058
40ba8dfb
NC
100592014-05-19 Nick Clifton <nickc@redhat.com>
10060
10061 * except.c (init_eh): Fix computation of builtin setjmp buffer
10062 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
10063
cb460086
RB
100642014-05-19 Richard Biener <rguenther@suse.de>
10065
10066 PR tree-optimization/61184
10067 * tree-vrp.c (is_negative_overflow_infinity): Use
10068 TREE_OVERFLOW_P and do that check first.
10069 (is_positive_overflow_infinity): Likewise.
10070 (is_overflow_infinity): Likewise.
10071 (vrp_operand_equal_p): Properly treat operands with
10072 differing overflow as not equal.
10073
bddd3671
BS
100742014-05-19 Bernd Schmidt <bernds@codesourcery.com>
10075
10076 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
10077 shift simplification where it was intended.
10078
72d82e7a
CB
100792014-05-19 Christian Bruel <christian.bruel@st.com>
10080
10081 PR target/61195
10082 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
10083
34dbb287
RS
100842014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
10085
10086 PR target/61084
10087 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
10088 than wide_int.
10089
339ba33b
RS
100902014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
10091
10092 * reg-notes.def (CROSSING_JUMP): Likewise.
10093 * rtl.h (rtx_def): Update comment for jump flag.
10094 (CROSSING_JUMP_P): Define.
10095 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
10096 of a REG_CROSSING_JUMP note.
10097 * cfghooks.c (tidy_fallthru_edges): Likewise.
10098 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
10099 * emit-rtl.c (try_split): Likewise.
10100 * haifa-sched.c (sched_create_recovery_edges): Likewise.
10101 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
10102 * jump.c (redirect_jump_2): Likewise.
10103 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
10104 (relax_delay_slots): Likewise.
10105 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
10106 (bbit_di): Likewise.
10107 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
10108 * config/sh/sh.md (jump_compact): Likewise.
10109 * bb-reorder.c (rotate_loop): Likewise.
10110 (pass_duplicate_computed_gotos::execute): Likewise.
10111 (add_reg_crossing_jump_notes): Rename to...
10112 (update_crossing_jump_flags): ...this.
10113 (pass_partition_blocks::execute): Update accordingly.
10114
a65d5b87
RS
101152014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
10116
10117 * tree.h: Remove extraneous template <>.
10118
7b3376a0
JH
101192014-05-17 Jan Hubicka <hubicka@ucw.cz>
10120
10121 * ipa.c (symtab_remove_unreachable_nodes): Remove
10122 symbol from comdat group if its body was eliminated.
d4082970
MT
10123 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
10124 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
10125 (symtab_unregister_node): ... this one.
10126 (verify_symtab_base): More strict checking of comdats.
10127 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
10128
a04d9035
JH
101292014-05-17 Jan Hubicka <hubicka@ucw.cz>
10130
10131 * tree-pass.h (make_pass_ipa_comdats): New pass.
10132 * timevar.def (TV_IPA_COMDATS): New timevar.
10133 * passes.def (pass_ipa_comdats): Add.
10134 * Makefile.in (OBJS): Add ipa-comdats.o
10135 * ipa-comdats.c: New file.
10136
24a71ba8
JH
101372014-05-17 Jan Hubicka <hubicka@ucw.cz>
10138
10139 * ipa.c (update_visibility_by_resolution_info): New function.
10140 (function_and_variable_visibility): Use it.
10141
d6d229c6
JH
101422014-05-17 Jan Hubicka <hubicka@ucw.cz>
10143
10144 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
10145 New functions.
10146 (FOR_EACH_DEFINED_SYMBOL): New macro.
10147 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
10148 varpool_first_defined_variable, varpool_next_defined_variable):
10149 Fix comments.
d6d229c6
JH
10150 (symtab_in_same_comdat_p): Correctly deal with inline functions.
10151
c3af645c
TS
101522014-05-17 Trevor Saunders <tsaunders@mozilla.com>
10153
10154 * ggc-page.c (ggc_handle_finalizers): Add comment.
10155
de49ce19
TS
101562014-05-17 Trevor Saunders <tsaunders@mozilla.com>
10157
10158 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
10159 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
10160 (ggc_internal_cleared_alloc): Likewise.
10161 * ggc-page.c (finalizer): New class.
16f8dfdb 10162 (vec_finalizer): Likewise.
de49ce19 10163 (globals::finalizers): New member.
16f8dfdb 10164 (globals::vec_finalizers): Likewise.
de49ce19
TS
10165 (ggc_internal_alloc): Record the finalizer if any for the block being
10166 allocated.
10167 (ggc_handle_finalizers): New function.
10168 (ggc_collect): Call ggc_handle_finalizers.
10169 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
10170 finalizer.
10171 (ggc_internal_cleared_alloc): Likewise.
10172 (finalize): New function.
10173 (need_finalization_p): Likewise.
10174 (ggc_alloc): Install the type's destructor as the finalizer if it
10175 might do something.
10176 (ggc_cleared_alloc): Likewise.
10177 (ggc_vec_alloc): Likewise.
10178 (ggc_cleared_vec_alloc): Likewise.
10179
04eec987
TS
101802014-05-17 Trevor Saunders <tsaunders@mozilla.com>
10181
10182 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
10183
766090c2
TS
101842014-05-17 Trevor Saunders <tsaunders@mozilla.com>
10185
10186 * alias.c (record_alias_subset): Adjust.
10187 * bitmap.c (bitmap_element_allocate): Likewise.
10188 (bitmap_gc_alloc_stat): Likewise.
10189 * cfg.c (init_flow): Likewise.
10190 (alloc_block): Likewise.
10191 (unchecked_make_edge): Likewise.
10192 * cfgloop.c (alloc_loop): Likewise.
10193 (flow_loops_find): Likewise.
10194 (rescan_loop_exit): Likewise.
10195 * cfgrtl.c (init_rtl_bb_info): Likewise.
10196 * cgraph.c (insert_new_cgraph_node_version): Likewise.
10197 (cgraph_allocate_node): Likewise.
10198 (cgraph_create_edge_1): Likewise.
10199 (cgraph_allocate_init_indirect_info): Likewise.
10200 * cgraphclones.c (cgraph_clone_edge): Likewise.
10201 * cgraphunit.c (add_asm_node): Likewise.
10202 (init_lowered_empty_function): Likewise.
16f8dfdb 10203 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
10204 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
10205 (alpha_use_linkage): Likewise.
10206 * config/arc/arc.c (arc_init_machine_status): Likewise.
10207 * config/arm/arm.c (arm_init_machine_status): Likewise.
10208 * config/avr/avr.c (avr_init_machine_status): Likewise.
10209 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
10210 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
10211 * config/cris/cris.c (cris_init_machine_status): Likewise.
10212 * config/darwin.c (machopic_indirection_name): Likewise.
10213 (darwin_build_constant_cfstring): Likewise.
10214 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 10215 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
10216 * config/frv/frv.c (frv_init_machine_status): Likewise.
10217 * config/i386/i386.c (get_dllimport_decl): Likewise.
10218 (ix86_init_machine_status): Likewise.
10219 (assign_386_stack_local): Likewise.
16f8dfdb 10220 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
10221 (i386_pe_maybe_record_exported_symbol): Likewise.
10222 (i386_pe_record_stub): Likewise.
10223 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
10224 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
10225 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
10226 (m32c_note_pragma_address): Likewise.
10227 * config/mep/mep.c (mep_init_machine_status): Likewise.
10228 (mep_note_pragma_flag): Likewise.
10229 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
10230 (mips16_local_alias): Likewise.
10231 (mips_init_machine_status): Likewise.
10232 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
10233 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
10234 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
10235 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
10236 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
10237 * config/pa/pa.c (pa_init_machine_status): Likewise.
10238 (pa_get_deferred_plabel): Likewise.
10239 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
10240 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
10241 (rs6000_init_machine_status): Likewise.
10242 (output_toc): Likewise.
10243 * config/s390/s390.c (s390_init_machine_status): Likewise.
10244 * config/score/score.c (score_output_external): Likewise.
10245 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
10246 * config/spu/spu.c (spu_init_machine_status): Likewise.
10247 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 10248 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
10249 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
10250 * coverage.c (coverage_end_function): Likewise.
10251 * dbxout.c (dbxout_init): Likewise.
10252 * doc/gty.texi: Don't mention variable_size attribute.
10253 * dwarf2cfi.c (new_cfi): Adjust.
10254 (new_cfi_row): Likewise.
10255 (copy_cfi_row): Likewise.
10256 (create_cie_data): Likewise.
10257 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
10258 (new_loc_descr): Likewise.
10259 (find_AT_string_in_table): Likewise.
10260 (add_addr_table_entry): Likewise.
10261 (new_die): Likewise.
10262 (add_var_loc_to_decl): Likewise.
10263 (clone_die): Likewise.
10264 (clone_as_declaration): Likewise.
10265 (break_out_comdat_types): Likewise.
10266 (new_loc_list): Likewise.
10267 (add_loc_descr_to_each): Likewise.
10268 (add_location_or_const_value_attribute): Likewise.
10269 (add_linkage_name): Likewise.
10270 (lookup_filename): Likewise.
10271 (dwarf2out_var_location): Likewise.
10272 (new_line_info_table): Likewise.
10273 (dwarf2out_init): Likewise.
10274 (mem_loc_descriptor): Likewise.
10275 (loc_descriptor): Likewise.
10276 (add_const_value_attribute): Likewise.
10277 (tree_add_const_value_attribute): Likewise.
10278 (comp_dir_string): Likewise.
10279 (dwarf2out_vms_debug_main_pointer): Likewise.
10280 (string_cst_pool_decl): Likewise.
10281 * emit-rtl.c (set_mem_attrs): Likewise.
10282 (get_reg_attrs): Likewise.
10283 (start_sequence): Likewise.
10284 (init_emit): Likewise.
10285 (init_emit_regs): Likewise.
10286 * except.c (init_eh_for_function): Likewise.
10287 (gen_eh_region): Likewise.
10288 (gen_eh_region_catch): Likewise.
10289 (gen_eh_landing_pad): Likewise.
10290 (add_call_site): Likewise.
10291 * function.c (add_frame_space): Likewise.
10292 (insert_temp_slot_address): Likewise.
10293 (assign_stack_temp_for_type): Likewise.
10294 (get_hard_reg_initial_val): Likewise.
10295 (allocate_struct_function): Likewise.
10296 (prepare_function_start): Likewise.
10297 (types_used_by_var_decl_insert): Likewise.
10298 * gengtype.c (variable_size_p): Remove function.
10299 (enum alloc_quantity): Remove enum.
10300 (write_typed_alloc_def): Remove function.
10301 (write_typed_struct_alloc_def): Likewise.
10302 (write_typed_typedef_alloc_def): Likewise.
10303 (write_typed_alloc_defns): Likewise.
10304 (main): Adjust.
10305 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
10306 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
10307 * ggc.h (ggc_alloc): new function.
10308 (ggc_cleared_alloc): Likewise.
10309 (ggc_vec_alloc): Template on type of vector element, and remove
10310 element size argument.
10311 (ggc_cleared_vec_alloc): Likewise.
10312 * gimple.c (gimple_build_omp_for): Adjust.
10313 (gimple_copy): Likewise.
10314 * ipa-cp.c (get_replacement_map): Likewise.
10315 (find_aggregate_values_for_callers_subset): Likewise.
10316 (known_aggs_to_agg_replacement_list): Likewise.
10317 * ipa-devirt.c (get_odr_type): Likewise.
10318 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
10319 (read_agg_replacement_chain): Likewise.
10320 * loop-iv.c (get_simple_loop_desc): Likewise.
10321 * lto-cgraph.c (input_node_opt_summary): Likewise.
10322 * lto-section-in.c (lto_new_in_decl_state): Likewise.
10323 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
10324 (input_eh_region): Likewise.
10325 (input_eh_lp): Likewise.
10326 (input_cfg): Likewise.
10327 * optabs.c (set_optab_libfunc): Likewise.
10328 (init_tree_optimization_optabs): Likewise.
10329 (set_conv_libfunc): Likewise.
10330 * passes.c (do_per_function_toporder): Likewise.
10331 * rtl.h: Don't use variable_size gty attribute.
10332 * sese.c (if_region_set_false_region): Adjust.
10333 * stringpool.c (gt_pch_save_stringpool): Likewise.
10334 * target-globals.c (save_target_globals): Likewise.
10335 * toplev.c (general_init): Likewise.
10336 * trans-mem.c (record_tm_replacement): Likewise.
10337 (split_bb_make_tm_edge): Likewise.
10338 * tree-cfg.c (move_sese_region_to_fn): Likewise.
10339 * tree-data-ref.h (lambda_vector_new): Likewise.
10340 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
10341 * tree-iterator.c (tsi_link_before): Likewise.
10342 (tsi_link_after): Likewise.
10343 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
10344 * tree-ssa-loop-niter.c (record_estimate): Likewise.
10345 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
10346 * tree-ssa-operands.h: Don't use variable_size gty attribute.
10347 * tree-ssa.c (init_tree_ssa): Adjust.
10348 * tree-ssanames.c (set_range_info): Likewise.
10349 (get_ptr_info): Likewise.
10350 (duplicate_ssa_name_ptr_info): Likewise.
10351 (duplicate_ssa_name_range_info): Likewise.
10352 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
10353 (unpack_ts_fixed_cst_value_fields): Likewise.
10354 * tree.c (build_fixed): Likewise.
10355 (build_real): Likewise.
10356 (build_string): Likewise.
10357 (decl_priority_info): Likewise.
10358 (decl_debug_expr_insert): Likewise.
10359 (decl_value_expr_insert): Likewise.
10360 (decl_debug_args_insert): Likewise.
10361 (type_hash_add): Likewise.
10362 (build_omp_clause): Likewise.
10363 * ubsan.c (decl_for_type_insert): Likewise.
10364 * varasm.c (get_unnamed_section): Likewise.
10365 (get_noswitch_section): Likewise.
10366 (get_section): Likewise.
10367 (get_block_for_section): Likewise.
10368 (create_block_symbol): Likewise.
10369 (build_constant_desc): Likewise.
10370 (create_constant_pool): Likewise.
10371 (force_const_mem): Likewise.
10372 (record_tm_clone_pair): Likewise.
10373 * varpool.c (varpool_create_empty_node): Likewise.
10374
231120e5
TS
103752014-05-17 Trevor Saunders <tsaunders@mozilla.com>
10376
10377 * dwarf2out.c (tree_add_const_value_attribute): Call
10378 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
10379 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
10380 instead of ggc_internal_<x>alloc_stat.
10381 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
10382 (ggc_realloc): Likewise.
10383 * ggc-none.c (ggc_internal_alloc): Likewise.
10384 (ggc_internal_cleared_alloc): Likewise.
10385 * ggc-page.c: Likewise.
10386 * ggc.h (ggc_internal_alloc_stat): Likewise.
10387 (ggc_internal_alloc): Remove macro.
10388 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
10389 (ggc_internal_cleared_alloc): Remove macro.
10390 (GGC_RESIZEVEC): Adjust.
10391 (ggc_resizevar): Remove macro.
10392 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
10393 (ggc_internal_cleared_vec_alloc_stat): Likewise.
10394 (ggc_internal_vec_cleared_alloc): Remove macro.
10395 (ggc_alloc_atomic_stat): Drop _stat suffix.
10396 (ggc_alloc_atomic): Remove macro.
10397 (ggc_alloc_cleared_atomic): Remove macro.
10398 (ggc_alloc_string_stat): Drop _stat suffix.
10399 (ggc_alloc_string): Remove macro.
10400 (ggc_alloc_rtx_def_stat): Adjust.
10401 (ggc_alloc_tree_node_stat): Likewise.
10402 (ggc_alloc_cleared_tree_node_stat): Likewise.
10403 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
10404 (ggc_alloc_cleared_simd_clone_stat): Likewise.
10405 * gimple.c (gimple_build_omp_for): Likewise.
10406 (gimple_copy): Likewise.
10407 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
10408 * toplev.c (realloc_for_line_map): Adjust.
10409 * tree-data-ref.h (lambda_vector_new): Likewise.
10410 * tree-phinodes.c (allocate_phi_node): Likewise.
10411 * tree.c (grow_tree_vec_stat): Likewise.
10412 * vec.h (va_gc::reserve): Adjust.
10413
16f8dfdb 104142014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 10415
16f8dfdb
UB
10416 * config/microblaze/microblaze.c (break_handler): New Declaration.
10417 (microblaze_break_function_p,microblaze_is_break_handler): New.
10418 (compute_frame_size): Use microblaze_break_function_p.
10419 Add the test of break_handler.
10420 (microblaze_function_prologue) : Add the test of variable
10421 break_handler. Check the fnname by BREAK_HANDLER_NAME.
10422 (microblaze_function_epilogue) : Add the test of break_handler.
10423 (microblaze_globalize_label) : Add the test of break_handler.
10424 Check the name by BREAK_HANDLER_NAME.
86498dba 10425
16f8dfdb 10426 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 10427
16f8dfdb
UB
10428 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
10429 microblaze_is_break_handler test.
10430 (call_internal1,call_value_intern): Use microblaze_break_function_p.
10431 Use SYMBOL_REF_DECL.
86498dba
AA
10432
10433 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
10434 (microblaze_break_function_p,microblaze_is_break_handler):
10435 New Declaration.
86498dba 10436
16f8dfdb
UB
10437 * doc/extend.texi (MicroBlaze break_handler Functions): Document
10438 new MicroBlaze break_handler functions.
86498dba 10439
71ca3028
UB
104402014-05-17 Uros Bizjak <ubizjak@gmail.com>
10441
10442 * doc/extend.texi (Size of an asm): Move node text according
10443 to its @menu entry position.
10444
87a34442
MG
104452014-05-17 Marc Glisse <marc.glisse@inria.fr>
10446
10447 PR tree-optimization/61140
10448 PR tree-optimization/61150
10449 PR tree-optimization/61197
10450 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
10451
6ca74b5c
UB
104522014-05-17 Uros Bizjak <ubizjak@gmail.com>
10453
10454 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
10455
60f82c42
RS
104562014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
10457
10458 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
10459 __SIZEOF_INT128__ is defined.
10460
a1242f17
RS
104612014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
10462
10463 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
10464 (rs6000_delegitimize_address): Use it.
10465
23b33725
RS
104662014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
10467
10468 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
10469 inplace argument. Store the new address in the original MEM when true.
10470 * emit-rtl.c (change_address_1): Likewise.
10471 (adjust_address_1, adjust_automodify_address_1, offset_address):
10472 Update accordingly.
10473 * rtl.h (plus_constant): Add an inplace argument.
10474 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
10475 when true. Avoid generating (plus X (const_int 0)).
10476 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
10477 in-place. Pass true to plus_constant.
10478 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
10479
2f6eed01
DC
104802014-05-16 Dehao Chen <dehao@google.com>
10481
10482 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
10483
b200de02
OE
104842014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
10485
10486 PR target/54089
10487 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
10488 patterns.
10489 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
10490
cf40f973
DC
104912014-05-16 Dehao Chen <dehao@google.com>
10492
6b8ebd00
UB
10493 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
10494 optimize_function_for_size_p.
cf40f973
DC
10495 * regs.h (REG_FREQ_FROM_BB): Likewise.
10496
48d8568e
OE
104972014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
10498
10499 PR target/51244
10500 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
10501 negt_reg_operand cases.
10502 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
10503 predicate.
10504 * config/sh/predicates.md (cbranch_treg_value): Simplify.
10505
d580af0f
OE
105062014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
10507
10508 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
10509 target variants.
10510
6c7571a2
DM
105112014-05-16 David Malcolm <dmalcolm@redhat.com>
10512
10513 Revert:
10514 2014-04-29 David Malcolm <dmalcolm@redhat.com>
10515
10516 * tree-cfg.c (dump_function_to_file): Dump the return type of
10517 functions, in a line to itself before the function body, mimicking
10518 the layout of a C function.
10519
b0e66512
DC
105202014-05-16 Dehao Chen <dehao@google.com>
10521
10522 * cfghooks.c (make_forwarder_block): Use direct computation to
10523 get fall-through edge's count and frequency.
10524
6b8ebd00 105252014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
10526
10527 * config/arc/arc.c (arc_init): Fix typo in error message.
10528 * config/i386/i386.c (ix86_expand_builtin): Likewise.
10529 (split_stack_prologue_scratch_regno): Likewise.
10530 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
10531 word from error message.
10532
420ab54b
ZZ
105332014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
10534
10535 * ira-costs.c: Fix typo in comment.
10536
8e90f610
DW
105372014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
10538
6b8ebd00 10539 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 10540
6de88c6a
JH
105412014-05-16 Jan Hubicka <hubicka@ucw.cz>
10542
10543 * varpool.c (dump_varpool_node): Dump write-only flag.
10544 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
10545 write-only flag.
6b8ebd00
UB
10546 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
10547 write-only variables.
10548 * ipa.c (process_references): New function.
10549 (set_readonly_bit): New function.
10550 (set_writeonly_bit): New function.
10551 (clear_addressable_bit): New function.
10552 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
10553 fix handling of aliases.
10554 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 10555
f4e075e7
VM
105562014-05-16 Vladimir Makarov <vmakarov@redhat.com>
10557
10558 PR rtl-optimization/60969
10559 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
10560 Calculate costs for this case.
10561
8b628e86
EB
105622014-05-16 Eric Botcazou <ebotcazou@adacore.com>
10563
10564 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
10565 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
10566
52264dbf
RB
105672014-05-16 Richard Biener <rguenther@suse.de>
10568
10569 PR tree-optimization/61194
10570 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
10571 bool patterns ending in a COND_EXPR.
10572
3d840f7d
JG
105732014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10574
10575 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
10576
88d4fbcf
JG
105772014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10578
10579 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
10580 where we were unable to cost an RTX.
10581
909734be
JG
105822014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10583
10584 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
10585 HIGH, LO_SUM.
10586
fb620c4a
JG
105872014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10588 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10589
10590 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
10591
b292109f
JG
105922014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10593 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10594
10595 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
10596 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
10597
a8eecd00
JG
105982014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10599 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10600
10601 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
10602 operators.
10603
4105fe38
JG
106042014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10605 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10606
10607 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
10608 DIV/MOD.
10609
106102014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
10611 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10612
10613 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
10614 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
10615
ba0cfa17
JG
106162014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10617 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10618
10619 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
10620 rotates and shifts.
10621
b1685e62
JG
106222014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10623 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10624
10625 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
10626 ZERO_EXTEND and SIGN_EXTEND better.
10627
268c3b47
JG
106282014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10629 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10630
10631 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
10632 logical operations.
10633
2961177e
JG
106342014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10635 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10636
10637 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
10638 costs when costing loads and stores to memory.
10639
ba123b0d
JG
106402014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10641 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
10642
10643 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
10644 for SET RTX.
10645
7fc5ef02
JG
106462014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10647
10648 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
10649
4745e701
JG
106502014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10651 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10652
10653 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
10654 to...
10655 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
10656 well formed.
10657 (aarch64_rtx_mult_cost): New.
10658 (aarch64_rtx_costs): Use it, refactor as appropriate.
10659
9dfc162c
JG
106602014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10661 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
10662
10663 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
10664 emit instructions, return number of instructions which would
10665 be emitted.
10666 (aarch64_add_constant): Update call to aarch64_build_constant.
10667 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 10668 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
10669 a CONST_DOUBLE.
10670
0ee859b5
JG
106712014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10672
10673 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
10674 (TARGET_RTX_COSTS): Call it.
10675
60bff090
JG
106762014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10677
10678 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
10679 (cortexa57_vector_cost): Likewise.
10680 (cortexa57_tunings): Use them.
10681
67747367
JG
106822014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
10683
10684 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
10685 (cpu_addrcost_table): Use it.
10686 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
10687 (aarch64_address_cost): Rewrite using aarch64_classify_address,
10688 move it.
10689
a764d660
RB
106902014-05-16 Richard Biener <rguenther@suse.de>
10691
10692 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
10693 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
10694 (visit_phi): Ignore edges marked as not executable.
10695 (class cond_dom_walker): New.
10696 (cond_dom_walker::before_dom_children): Value-number
10697 control statements and mark successor edges as not
10698 executable if possible.
10699 (run_scc_vn): First walk all control statements in
10700 dominator order, marking edges as not executable.
10701 * tree-inline.c (copy_edges_for_bb): Be not confused
10702 about random edge flags.
10703
a27c3860
RB
107042014-05-16 Richard Biener <rguenther@suse.de>
10705
10706 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
10707
d8c55b91
PB
107082014-05-15 Peter Bergner <bergner@vnet.ibm.com>
10709
10710 PR target/61193
10711 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
10712 (__TM_simple_begin): Use it.
10713 (__TM_begin): Likewise.
10714
8a2256dd
MJ
107152014-05-15 Martin Jambor <mjambor@suse.cz>
10716
10717 PR ipa/61085
10718 * ipa-prop.c (update_indirect_edges_after_inlining): Check
10719 type_preserved flag when the indirect edge is polymorphic.
10720
9d2681a3
MJ
107212014-05-15 Martin Jambor <mjambor@suse.cz>
10722
10723 PR tree-optimization/61090
10724 * tree-sra.c (sra_modify_expr): Pass the current gsi to
10725 build_ref_for_model.
10726
927450d0
KT
107272014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10728
10729 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
10730 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
10731
ceed6e67
JJ
107322014-05-15 Jakub Jelinek <jakub@redhat.com>
10733
10734 PR tree-optimization/61158
10735 * fold-const.c (fold_binary_loc): If X is zero-extended and
10736 shiftc >= prec, make sure zerobits is all ones instead of
10737 invoking undefined behavior.
10738
a2e6c10c
ZC
107392014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10740
10741 * regcprop.h: New file.
10742 * regcprop.c (skip_debug_insn_p): New decl.
10743 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
10744 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
10745 * shrink-wrap.c: Include regcprop.h.
10746 (prepare_shrink_wrap): Call
10747 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 10748
e974b93b
ZC
107492014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10750
10751 * shrink-wrap.h: Update comment.
10752 * shrink-wrap.c: Update comment.
10753 (next_block_for_reg): Rename to live_edge_for_reg.
10754 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
10755 (move_insn_for_shrink_wrap): Split live_edge.
10756 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
10757
88fe5e91
EB
107582014-05-14 Eric Botcazou <ebotcazou@adacore.com>
10759
10760 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
10761 Delete.
10762 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
10763 * config/sparc/sparc.md (fptype_ut699): New attribute.
10764 (in_branch_delay): Return false if -mfix-ut699 is specified and
10765 fptype_ut699 is set to single.
10766 (truncdfsf2): Add fptype_ut699 attribute.
10767 (fix_truncdfsi2): Likewise.
10768 (floatsisf2): Change fptype attribute.
10769 (fix_truncsfsi2): Likewise.
10770 (negtf2_notv9): Delete.
10771 (negtf2_v9): Likewise.
10772 (negtf2_hq): New instruction.
10773 (negtf2): New instruction and splitter.
10774 (negdf2_notv9): Rewrite.
10775 (abstf2_notv9): Delete.
10776 (abstf2_hq_v9): Likewise.
10777 (abstf2_v9): Likewise.
10778 (abstf2_hq): New instruction.
10779 (abstf2): New instruction and splitter.
10780 (absdf2_notv9): Rewrite.
10781
bc91b0e0
CC
107822014-05-14 Cary Coutant <ccoutant@google.com>
10783
6b8ebd00 10784 PR debug/61013
bc91b0e0
CC
10785 * opts.c (common_handle_option): Don't special-case "-g".
10786 (set_debug_level): Default to at least level 2 with "-g".
10787
5f35dde5
DD
107882014-05-14 DJ Delorie <dj@redhat.com>
10789
10790 * config/msp430/msp430.c (msp430_builtin): Add
10791 MSP430_BUILTIN_DELAY_CYCLES.
10792 (msp430_init_builtins): Register void __delay_cycles(long long).
10793 (msp430_builtin_decl): Add it.
10794 (cg_magic_constant): New.
10795 (msp430_expand_delay_cycles): New.
10796 (msp430_expand_builtin): Call it.
10797 (msp430_print_operand_raw): Change integer printing from "int" to
10798 HOST_WIDE_INT.
10799 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
10800 (delay_cycles_start): New.
10801 (delay_cycles_end): New.
10802 (delay_cycles_32): New.
10803 (delay_cycles_32x): New.
10804 (delay_cycles_16): New.
10805 (delay_cycles_16x): New.
10806 (delay_cycles_2): New.
10807 (delay_cycles_1): New.
10808 * doc/extend.texi: Document __delay_cycles().
10809
5d40b20f
SL
108102014-05-14 Sandra Loosemore <sandra@codesourcery.com>
10811
10812 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
10813 length attribute computation.
10814
25109109
RS
108152014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
10816
10817 PR debug/61188
10818 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
10819
7e7e4032
RS
108202014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
10821
10822 PR target/61084
10823 * config/sparc/sparc.md: Fix types of low and high in DI constant
10824 splitter. Use gen_int_mode in some other splitters.
10825
70d6d5c1
MJ
108262014-05-14 Martin Jambor <mjambor@suse.cz>
10827
10828 PR ipa/60897
10829 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
10830
23b02de3
JN
108312014-05-14 James Norris <jnorris@codesourcery.com>
10832
10833 * omp-low.c (expand_parallel_call): Remove shadow variable.
10834 (expand_omp_taskreg): Likewise.
10835
9cdea277
IT
108362014-05-14 Ilya Tocar <ilya.tocar@intel.com>
10837
10838 * common/config/i386/i386-common.c
10839 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
10840 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
10841 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
10842 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
10843 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
10844 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 10845 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
10846 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
10847 xsavecintrin.h, xsavesintrin.h.
10848 (x86_64-*-*): Ditto.
10849 * config/i386/clflushoptintrin.h: New.
10850 * config/i386/xsavecintrin.h: Ditto.
10851 * config/i386/xsavesintrin.h: Ditto.
10852 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
10853 (bit_XSAVES): Ditto.
10854 (bit_XSAVES): Ditto.
10855 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
10856 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
10857 -mno-clflushopt.
10858 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
10859 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
10860 OPTION_MASK_ISA_XSAVES.
10861 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
10862 -mxsavec, -mxsaves.
10863 (PTA_CLFLUSHOPT) Define.
10864 (PTA_XSAVEC): Ditto.
10865 (PTA_XSAVES): Ditto.
10866 (ix86_option_override_internal): Handle new options.
10867 (ix86_valid_target_attribute_inner_p): Ditto.
10868 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
10869 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
10870 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
10871 (bdesc_special_args): Add __builtin_ia32_xsaves,
10872 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
10873 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
10874 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
10875 (ix86_expand_builtin): Handle new builtins.
10876 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
10877 (TARGET_CLFLUSHOPT_P): Ditto.
10878 (TARGET_XSAVEC): Ditto.
10879 (TARGET_XSAVEC_P): Ditto.
10880 (TARGET_XSAVES): Ditto.
10881 (TARGET_XSAVES_P): Ditto.
10882 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
10883 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
10884 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
10885 (ANY_XRSTOR): New.
10886 (ANY_XRSTOR64): Ditto.
10887 (xrstor): Ditto.
10888 (xrstor): Change into <xrstor>.
10889 (xrstor_rex64): Change into <xrstor>_rex64.
10890 (xrstor64): Change into <xrstor>64
10891 (clflushopt): New.
10892 * config/i386/i386.opt (mclflushopt): New.
10893 (mxsavec): Ditto.
10894 (mxsaves): Ditto.
10895 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
10896 xsavecintrin.h.
10897 * doc/invoke.texi: Document new options.
10898
92e265ac
AB
108992014-05-14 Andrey Belevantsev <abel@ispras.ru>
10900
10901 PR rtl-optimization/60866
10902 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
10903 Default it to -1. Pass it down to init_simplejump_data.
10904 (init_simplejump_data): New parameter old_seqno. Pass it down
10905 to get_seqno_for_a_jump.
10906 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
10907 initializing new jump seqno as a last resort. Add comment.
10908 (sel_redirect_edge_and_branch): Save old seqno of the conditional
10909 jump and pass it down to sel_init_new_insn.
10910 (sel_redirect_edge_and_branch_force): Likewise.
10911
fa96aa45
GJL
109122014-05-14 Georg-Johann Lay <avr@gjlay.de>
10913
10914 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
10915 shifted values to avoid build warning.
10916
8a829274
EB
109172014-05-14 Eric Botcazou <ebotcazou@adacore.com>
10918
10919 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
10920 * cfgrtl.c (rtl_merge_blocks): Fix comment.
10921 (cfg_layout_merge_blocks): Likewise.
10922 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
10923
11290308
AB
109242014-05-14 Andrey Belevantsev <abel@ispras.ru>
10925
10926 PR rtl-optimization/60901
10927 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
10928 bb predecessor belongs to the same scheduling region. Adjust comment.
10929
f4853e92
PB
109302014-05-13 Peter Bergner <bergner@vnet.ibm.com>
10931
10932 * doc/sourcebuild.texi: (dfp_hw): Document.
10933 (p8vector_hw): Likewise.
10934 (powerpc_eabi_ok): Likewise.
10935 (powerpc_elfv2): Likewise.
10936 (powerpc_htm_ok): Likewise.
10937 (ppc_recip_hw): Likewise.
10938 (vsx_hw): Likewise.
10939
bd5c3baa
CC
109402014-05-13 Cary Coutant <ccoutant@google.com>
10941
10942 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
10943
9aa54cc9
DM
109442014-05-13 David Malcolm <dmalcolm@redhat.com>
10945
10946 * gengtype-parse.c (require3): Eliminate in favor of...
10947 (require4): New.
10948 (require_template_declaration): Update to support optional single *
10949 on a type.
10950
10951 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
10952 (create_user_defined_type): Handle a single level of explicit
10953 pointerness within template arguments.
10954 (struct write_types_data): Add field "kind".
10955 (filter_type_name): Handle "*" character.
10956 (write_user_func_for_structure_ptr): Require a write_types_data
10957 rather than just a prefix string, so that we can look up the kind
10958 of the wtd and use it as an index into wrote_user_func_for_ptr,
10959 ensuring that such functions are written at most once. Support
6b8ebd00 10960 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
10961 (write_user_func_for_structure_body): Require a write_types_data
10962 rather than just a prefix string, so that we can pass this to
10963 write_user_func_for_structure_ptr.
10964 (write_func_for_structure): Likewise.
10965 (ggc_wtd): Add initializer of new "kind" field.
10966 (pch_wtd): Likewise.
10967
10968 * gengtype.h (enum write_types_kinds): New.
10969 (struct type): Add field wrote_user_func_for_ptr to the "s"
10970 union member.
10971
5c0f009c
RS
109722014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
10973
10974 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
10975 instead of const_binop.
10976 (fold_binary_loc): Likewise.
10977
460d1e22
RS
109782014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
10979
10980 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
10981 calculation to match get_ref_base_and_extent.
10982
1e1f96b5
CM
109832014-05-13 Catherine Moore <clm@codesourcery.com>
10984 Sandra Loosemore <sandra@codesourcery.com>
10985
10986 * configure.ac: Fix assembly for explicit JALR relocation check.
10987 * configure: Regenerate.
10988
411f86ad
KT
109892014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10990
10991 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
10992 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
10993 Remove associated type declarations and initialisations.
10994 (arm_expand_neon_builtin): Likewise.
10995 (neon_emit_pair_result_insn): Delete.
10996 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
10997 * config/arm/neon.md (neon_vtrn<mode>): Delete.
10998 (neon_vzip<mode>): Likewise.
10999 (neon_vuzp<mode>): Likewise.
11000
6b77934e
RB
110012014-05-13 Richard Biener <rguenther@suse.de>
11002
11003 PR ipa/60973
11004 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
11005 it needs revisiting whether the call still may be tail-called.
11006
da3cd113
RS
110072014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
11008
11009 * rtl.def (SYMBOL_REF): Remove middle "0" field.
11010 * rtl.h (block_symbol): Reduce number of fields to 2.
11011 (rtx_def): Add u2.symbol_ref_flags.
11012 (SYMBOL_REF_FLAGS): Use it.
11013 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
11014 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
11015 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
11016 Lower index of SYMBOL_REF_DATA.
11017 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
11018 Print SYMBOL_REF_FLAGS at the same time.
11019 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
11020
fcc74520
RS
110212014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
11022
11023 * rtl.def (VAR_LOCATION): Remove "i" field.
11024 * rtl.h (rtx_def): Add u2.var_location_status.
11025 (PAT_VAR_LOCATION_STATUS): Use it.
11026 (gen_rtx_VAR_LOCATION): Declare.
11027 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
11028 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
11029 * var-tracking.c (emit_note_insn_var_location): Remove casts.
11030
feb09dd9
RS
110312014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
11032
11033 * rtl.def (scratch): Fix outdated comment and remove "0" field.
11034 * gengtype.c (adjust_field_rtx_def): Update accordingly.
11035
ed8921dc
RS
110362014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
11037
11038 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
11039 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
11040 * rtl.h (rtx_def): Add insn_uid to u2 field.
11041 (RTX_FLAG_CHECK8): Delete in favor of...
11042 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
11043 (INSN_DELETED_P): Update accordingly.
11044 (INSN_UID): Use u2.insn_uid.
11045 (INSN_CHAIN_CODE_P): Define.
11046 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
11047 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
11048 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
11049 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
11050 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
11051 indices accordingly.
11052 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
11053 Update indices for insn-chain rtxes.
11054 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
11055 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
11056 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
11057 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
11058 * combine.c (try_combine): Likewise.
11059 * ira.c (setup_prohibited_mode_move_regs): Likewise.
11060
fccc5515
RS
110612014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
11062
11063 * rtl.def (REG): Remove middle field.
11064 * rtl.h (rtx_def): Add orignal_regno to u2.
11065 (ORIGINAL_REGNO): Use it instead of field 1.
11066 (REG_ATTRS): Lower field index accordingly.
11067 * gengtype.c (adjust_field_rtx_def): Remove handling of
11068 ORIGINAL_REGNO. Move REG_ATTRS index down.
11069 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
11070 code that prints the REGNO.
11071
925c1bae
RS
110722014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
11073
11074 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
11075 GENERATOR_FILE.
11076
13b0c5ac
RS
110772014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
11078
11079 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
11080
be9a0da5
BC
110812014-05-13 Bin Cheng <bin.cheng@arm.com>
11082
11083 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
11084 (alloc_iv): Lower base expressions containing ADDR_EXPR.
11085
73d9ac6a
IB
110862014-05-13 Ian Bolton <ian.bolton@arm.com>
11087
11088 * config/aarch64/aarch64-protos.h
11089 (aarch64_hard_regno_caller_save_mode): New prototype.
11090 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
11091 New function.
11092 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
11093
06b90602
CB
110942014-05-13 Christian Bruel <christian.bruel@st.com>
11095
11096 * target.def (mode_switching): New hook vector.
11097 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
11098 (mode_exit, modepriority_to_mode): Likewise.
11099 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
11100 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
11101 * target.h: Include tm.h and hard-reg-set.h.
11102 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
11103 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
11104 * doc/tm.texi Regenerate.
11105 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
11106 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
11107 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
11108 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
11109 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
11110 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
11111 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
11112 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
11113 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
11114 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
11115 (ix86_emit_mode_set): Hookify.
06b90602 11116 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 11117 Delete.
06b90602 11118 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
11119 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
11120 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
11121 (epiphany_mode_priority_to_mode): Remove declaration.
11122 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
11123 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
11124 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
11125 Likewise.
6b8ebd00 11126 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
11127 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
11128 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
11129
455464ab
JJ
111302014-05-13 Jakub Jelinek <jakub@redhat.com>
11131
11132 PR target/61060
11133 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
11134 is const0_rtx, return immediately. Don't test count == 0 when
11135 it is always true.
11136
f30e25a3
ZC
111372014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
11138
11139 * Makefile.in: add shrink-wrap.o.
11140 * config/i386/i386.c: include "shrink-wrap.h"
11141 * function.c: Likewise.
11142 (requires_stack_frame_p, next_block_for_reg,
11143 move_insn_for_shrink_wrap, prepare_shrink_wrap,
11144 dup_block_and_redirect): Move to shrink-wrap.c
11145 (thread_prologue_and_epilogue_insns): Extract three code segments
11146 as functions in shrink-wrap.c
11147 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
11148 shrink-wrap.h
11149 * shrink-wrap.c: New file.
11150 * shrink-wrap.h: New file.
11151
f95c6a78
DW
111522014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
11153
11154 * doc/extend.texi: Reflect current numbers of pragmas. Remove
11155 reference to Solaris.
11156
77a1da2c
MS
111572014-05-12 Mike Stump <mikestump@comcast.net>
11158
11159 PR other/31778
11160 * genattrtab.c (filename): Add.
11161 (convert_set_attr_alternative): Improve error message.
11162 (check_defs): Restore read_md_filename for error messages.
11163 (gen_insn): Save filename.
11164
dff8943f
DP
111652014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
11166
11167 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
11168 -fno-local-ivars and -fivar-visibility.
11169 * c-family/c.opt: Make -Wshadow also implicitly enable
11170 -Wshadow-ivar.
11171
6b8ebd00 111722014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
11173
11174 * doc/tm.texi: Remove reference to deleted macro.
11175 * doc/tm.texi.in: Likewise.
11176
079f1420
SKS
111772014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
11178
11179 PR target/60991
11180 * config/avr/avr.c (avr_out_store_psi): Use correct constant
11181 to restore Y.
11182
999db125
GJL
111832014-05-12 Georg-Johann Lay <avr@gjlay.de>
11184
a5024e01 11185 PR libgcc/61152
999db125
GJL
11186 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
11187 * config/arm/aout.h (License): Same.
11188 * config/arm/bpabi.h (License): Same.
11189 * config/arm/elf.h (License): Same.
11190 * config/arm/linux-elf.h (License): Same.
11191 * config/arm/linux-gas.h (License): Same.
11192 * config/arm/netbsd-elf.h (License): Same.
11193 * config/arm/uclinux-eabi.h (License): Same.
11194 * config/arm/uclinux-elf.h (License): Same.
11195 * config/arm/vxworks.h (License): Same.
11196
dd2fc525
JJ
111972014-05-11 Jakub Jelinek <jakub@redhat.com>
11198
11199 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
11200 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
11201 number of operands to 3.
11202 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
11203 * tree-nested.c (convert_nonlocal_omp_clauses,
11204 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
11205 * gimplify.c (gimplify_scan_omp_clauses): Handle
11206 OMP_CLAUSE_LINEAR_STMT.
11207 * omp-low.c (lower_rec_input_clauses): Fix typo.
11208 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
11209 cast between Fortran boolean_type_node and C _Bool if
11210 needed.
11211
7588d8aa
RS
112122014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
11213
11214 PR tree-optimization/61136
11215 * wide-int.h (multiple_of_p): Define a version that doesn't return
11216 the quotient.
11217 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
11218 integer_zerop/const_binop pair.
11219 (multiple_of_p): Likewise, converting both operands to widest_int
11220 precision.
11221
e7eee636
TJ
112222014-05-09 Teresa Johnson <tejohnson@google.com>
11223
11224 * cgraphunit.c (analyze_functions): Use correct dump file.
11225
6545746e
FW
112262014-05-09 Florian Weimer <fweimer@redhat.com>
11227
11228 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
11229 expand_used_vars.
11230 (stack_protect_return_slot_p): New function.
11231 (expand_used_vars): Call stack_protect_decl_p and
11232 stack_protect_return_slot_p for -fstack-protector-strong.
11233
2556511e
DW
112342014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
11235 Andrew Haley <aph@redhat.com>
11236 Richard Sandiford <rdsandiford@googlemail.com>
11237
11238 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
11239 pages.
11240
971ed35d 112412014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
11242
11243 PR middle-end/61111
11244 * fold-const.c (fold_binary_loc): Changed width of mask.
11245
c204f1b5
GJL
112462014-05-09 Georg-Johann Lay <avr@gjlay.de>
11247
11248 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
11249 unsigned int initializers for regno_in, regno_out.
11250
b8469805
GJL
112512014-05-09 Georg-Johann Lay <avr@gjlay.de>
11252
11253 PR target/61055
11254 * config/avr/avr.md (cc): Add new attribute set_vzn.
11255 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
11256 Set cc insn attribute to set_vzn instead of set_zn for alternatives
11257 with INC, DEC or NEG.
11258 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
11259 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
11260 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
11261
9db25c6a
RR
112622014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11263
11264 Revert:
11265 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11266
11267 * wide-int.cc (UTItype): Define.
11268 (UDWtype): Define for appropriate W_TYPE_SIZE.
11269
ee3958cf
RB
112702014-05-09 Richard Biener <rguenther@suse.de>
11271
11272 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
11273 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
11274 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
11275 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
11276 ssa_propagate): Adjust.
11277
0600049c
JL
112782014-05-08 Jeff Law <law@redhat.com>
11279
11280 PR tree-optimization/61009
11281 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
11282 tri-state rather than a boolean. When a block is too big to
11283 thread through, inform caller via negative return value.
11284 (thread_across_edge): If a block was too big for normal threading,
11285 then it's too big for a joiner too, so remove temporary equivalences
11286 and return immediately.
11287
a82122df
MK
112882014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
11289 Matthias Klose <doko@ubuntu.com>
11290
11291 PR driver/61106
11292 * optc-gen.awk: Fix option handling for -Wunused-parameter.
11293
30e494f1
UB
112942014-05-08 Uros Bizjak <ubizjak@gmail.com>
11295
11296 PR target/59952
11297 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
11298
b6db8af6
UB
112992014-05-08 Uros Bizjak <ubizjak@gmail.com>
11300
11301 PR target/61092
11302 * config/alpha/alpha.c: Include gimple-iterator.h.
11303 (alpha_gimple_fold_builtin): New function. Move
11304 ALPHA_BUILTIN_UMULH folding from ...
11305 (alpha_fold_builtin): ... here.
11306 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
11307
272325bd
WM
113082014-05-08 Wei Mi <wmi@google.com>
11309
11310 PR target/58066
b6db8af6
UB
11311 * config/i386/i386.c (ix86_compute_frame_layout): Update
11312 preferred_stack_boundary for call, expanded from tls descriptor.
11313 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
11314 to depend on SP register.
272325bd
WM
11315 (*tls_local_dynamic_base_32_gnu): Ditto.
11316 (*tls_local_dynamic_32_once): Ditto.
11317 (tls_global_dynamic_64_<mode>): Set
11318 ix86_tls_descriptor_calls_expanded_in_cfun.
11319 (tls_local_dynamic_base_64_<mode>): Ditto.
11320 (tls_global_dynamic_32): Set
11321 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
11322 to depend on SP register.
11323 (tls_local_dynamic_base_32): Ditto.
11324
e79cb1a3
RR
113252014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11326
11327 * config/arm/arm_neon.h: Update comment.
11328 * config/arm/neon-docgen.ml: Delete.
11329 * config/arm/neon-gen.ml: Delete.
11330 * doc/arm-neon-intrinsics.texi: Update comment.
11331
0d0b79a6
RR
113322014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11333
11334 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
11335 and v4sf versions.
11336 (vand, vorr, veor, vorn, vbic): Remove.
11337 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
11338 iterator.
11339 (neon_vsub_unspec): Likewise.
11340 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
11341
add0c111
RR
113422014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11343
11344 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
11345 (vadd_s16): Likewise.
11346 (vadd_s32): Likewise.
11347 (vadd_f32): Likewise.
11348 (vadd_u8): Likewise.
11349 (vadd_u16): Likewise.
11350 (vadd_u32): Likewise.
11351 (vadd_s64): Likewise.
11352 (vadd_u64): Likewise.
11353 (vaddq_s8): Likewise.
11354 (vaddq_s16): Likewise.
11355 (vaddq_s32): Likewise.
11356 (vaddq_s64): Likewise.
11357 (vaddq_f32): Likewise.
11358 (vaddq_u8): Likewise.
11359 (vaddq_u16): Likewise.
11360 (vaddq_u32): Likewise.
11361 (vaddq_u64): Likewise.
11362 (vmul_s8): Likewise.
11363 (vmul_s16): Likewise.
11364 (vmul_s32): Likewise.
11365 (vmul_f32): Likewise.
11366 (vmul_u8): Likewise.
11367 (vmul_u16): Likewise.
11368 (vmul_u32): Likewise.
11369 (vmul_p8): Likewise.
11370 (vmulq_s8): Likewise.
11371 (vmulq_s16): Likewise.
11372 (vmulq_s32): Likewise.
11373 (vmulq_f32): Likewise.
11374 (vmulq_u8): Likewise.
11375 (vmulq_u16): Likewise.
11376 (vmulq_u32): Likewise.
11377 (vsub_s8): Likewise.
11378 (vsub_s16): Likewise.
11379 (vsub_s32): Likewise.
11380 (vsub_f32): Likewise.
11381 (vsub_u8): Likewise.
11382 (vsub_u16): Likewise.
11383 (vsub_u32): Likewise.
11384 (vsub_s64): Likewise.
11385 (vsub_u64): Likewise.
11386 (vsubq_s8): Likewise.
11387 (vsubq_s16): Likewise.
11388 (vsubq_s32): Likewise.
11389 (vsubq_s64): Likewise.
11390 (vsubq_f32): Likewise.
11391 (vsubq_u8): Likewise.
11392 (vsubq_u16): Likewise.
11393 (vsubq_u32): Likewise.
11394 (vsubq_u64): Likewise.
11395 (vand_s8): Likewise.
11396 (vand_s16): Likewise.
11397 (vand_s32): Likewise.
11398 (vand_u8): Likewise.
11399 (vand_u16): Likewise.
11400 (vand_u32): Likewise.
11401 (vand_s64): Likewise.
11402 (vand_u64): Likewise.
11403 (vandq_s8): Likewise.
11404 (vandq_s16): Likewise.
11405 (vandq_s32): Likewise.
11406 (vandq_s64): Likewise.
11407 (vandq_u8): Likewise.
11408 (vandq_u16): Likewise.
11409 (vandq_u32): Likewise.
11410 (vandq_u64): Likewise.
11411 (vorr_s8): Likewise.
11412 (vorr_s16): Likewise.
11413 (vorr_s32): Likewise.
11414 (vorr_u8): Likewise.
11415 (vorr_u16): Likewise.
11416 (vorr_u32): Likewise.
11417 (vorr_s64): Likewise.
11418 (vorr_u64): Likewise.
11419 (vorrq_s8): Likewise.
11420 (vorrq_s16): Likewise.
11421 (vorrq_s32): Likewise.
11422 (vorrq_s64): Likewise.
11423 (vorrq_u8): Likewise.
11424 (vorrq_u16): Likewise.
11425 (vorrq_u32): Likewise.
11426 (vorrq_u64): Likewise.
11427 (veor_s8): Likewise.
11428 (veor_s16): Likewise.
11429 (veor_s32): Likewise.
11430 (veor_u8): Likewise.
11431 (veor_u16): Likewise.
11432 (veor_u32): Likewise.
11433 (veor_s64): Likewise.
11434 (veor_u64): Likewise.
11435 (veorq_s8): Likewise.
11436 (veorq_s16): Likewise.
11437 (veorq_s32): Likewise.
11438 (veorq_s64): Likewise.
11439 (veorq_u8): Likewise.
11440 (veorq_u16): Likewise.
11441 (veorq_u32): Likewise.
11442 (veorq_u64): Likewise.
11443 (vbic_s8): Likewise.
11444 (vbic_s16): Likewise.
11445 (vbic_s32): Likewise.
11446 (vbic_u8): Likewise.
11447 (vbic_u16): Likewise.
11448 (vbic_u32): Likewise.
11449 (vbic_s64): Likewise.
11450 (vbic_u64): Likewise.
11451 (vbicq_s8): Likewise.
11452 (vbicq_s16): Likewise.
11453 (vbicq_s32): Likewise.
11454 (vbicq_s64): Likewise.
11455 (vbicq_u8): Likewise.
11456 (vbicq_u16): Likewise.
11457 (vbicq_u32): Likewise.
11458 (vbicq_u64): Likewise.
11459 (vorn_s8): Likewise.
11460 (vorn_s16): Likewise.
11461 (vorn_s32): Likewise.
11462 (vorn_u8): Likewise.
11463 (vorn_u16): Likewise.
11464 (vorn_u32): Likewise.
11465 (vorn_s64): Likewise.
11466 (vorn_u64): Likewise.
11467 (vornq_s8): Likewise.
11468 (vornq_s16): Likewise.
11469 (vornq_s32): Likewise.
11470 (vornq_s64): Likewise.
11471 (vornq_u8): Likewise.
11472 (vornq_u16): Likewise.
11473 (vornq_u32): Likewise.
11474 (vornq_u64): Likewise.
11475
ca40fb28
RR
114762014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11477
11478 * wide-int.cc (UTItype): Define.
b6db8af6 11479 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 11480
421bf780
MG
114812014-05-08 Marc Glisse <marc.glisse@inria.fr>
11482
11483 PR tree-optimization/59100
11484 * tree-ssa-phiopt.c: Include tree-inline.h.
11485 (neutral_element_p, absorbing_element_p): New functions.
11486 (value_replacement): Handle conditional binary operations with a
11487 neutral or absorbing element.
11488
a5eaec42
RB
114892014-05-08 Richard Biener <rguenther@suse.de>
11490
11491 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
11492 folding the expression.
11493 (valueize_expr): Remove.
11494 (visit_reference_op_load): Do not valueize the result of
11495 vn_get_expr_for.
11496 (simplify_binary_expression): Likewise.
11497 (simplify_unary_expression): Likewise.
11498
a96c6a62
RB
114992014-05-08 Richard Biener <rguenther@suse.de>
11500
11501 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
11502 looking at TYPE_ARG_TYPES.
11503
fb42e303
RB
115042014-05-08 Richard Biener <rguenther@suse.de>
11505
11506 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
11507 pointer propagation special-case.
11508
d1f1a283
BC
115092014-05-08 Bin Cheng <bin.cheng@arm.com>
11510
11511 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
11512 core part of address expressions.
11513
42aea2d8
AM
115142014-05-08 Alan Modra <amodra@gmail.com>
11515
11516 PR target/60737
11517 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
11518 loads and stores when -mno-strict-align at any alignment.
11519 (expand_block_clear): Similarly. Also correct calculation of
11520 instruction count.
11521
10e08855
TP
115222014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
11523
11524 PR middle-end/39246
11525 * tree-complex.c (expand_complex_move): Keep line info when expanding
11526 complex move.
11527 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
11528 of complex expression. Use new argument to display correct location
11529 for values coming from phi statement.
11530 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
11531 (warn_uninitialized_phi): Pass location of phi argument to
11532 warn_uninit.
11533 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
11534 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
11535
d839f53b
SB
115362014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
11537
11538 * config/rs6000/predicates.md (indexed_address_mem): New.
11539 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
11540 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
11541 fpstore_ux, fpstore_u.
11542 (sign_extend, indexed, update): New.
11543 (cell_micro): Adjust.
11544 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
11545 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
11546 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
11547 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
11548 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
11549 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
11550 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
11551 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
11552 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
11553 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
11554 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
11555 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
11556 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
11557 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
11558 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
11559
11560 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
11561 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
11562 *vsx_extract_<mode>_store): Adjust.
11563 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
11564 is_cracked_insn, insn_must_be_first_in_group,
11565 insn_must_be_last_in_group): Adjust.
11566
11567 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
11568 Adjust.
11569 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
11570 ppc440-fpstore): Adjust.
11571 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
11572 ppc476-fpstore): Adjust.
11573 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
11574 ppc601-fpstore): Adjust.
11575 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
11576 Adjust.
11577 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
11578 Adjust.
11579 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
11580 ppc7450-fpstore): Adjust.
11581 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
11582 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
11583 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
11584 Adjust.
11585 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
11586 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
11587 cell-fpstore, cell-fpstore-update): Adjust.
11588 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
11589 ppce300c3_store, ppce300c3_fpstore): Adjust.
11590 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
11591 e500mc_fpstore): Adjust.
11592 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
11593 e500mc64_store, e500mc64_fpstore): Adjust.
11594 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
11595 e5500_fpstore): Adjust.
11596 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
11597 e6500_fpstore): Adjust.
11598 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
11599 Adjust.
11600 * config/rs6000/power4.md (power4-load, power4-load-ext,
11601 power4-load-ext-update, power4-load-ext-update-indexed,
11602 power4-load-update-indexed, power4-load-update, power4-fpload,
11603 power4-fpload-update, power4-store, power4-store-update,
11604 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
11605 Adjust.
11606 * config/rs6000/power5.md (power5-load, power5-load-ext,
11607 power5-load-ext-update, power5-load-ext-update-indexed,
11608 power5-load-update-indexed, power5-load-update, power5-fpload,
11609 power5-fpload-update, power5-store, power5-store-update,
11610 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
11611 Adjust.
11612 * config/rs6000/power6.md (power6-load, power6-load-ext,
11613 power6-load-update, power6-load-update-indexed,
11614 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
11615 power6-fpload-update, power6-store, power6-store-update,
11616 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
11617 Adjust.
11618 * config/rs6000/power7.md (power7-load, power7-load-ext,
11619 power7-load-update, power7-load-update-indexed,
11620 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
11621 power7-fpload-update, power7-store, power7-store-update,
11622 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
11623 Adjust.
11624 * config/rs6000/power8.md (power8-load, power8-load-update,
11625 power8-load-ext, power8-load-ext-update, power8-fpload,
11626 power8-fpload-update, power8-store, power8-store-update-indexed,
11627 power8-fpstore, power8-fpstore-update): Adjust.
11628 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
11629 Adjust.
11630 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
11631 titan_lsu_store, titan_lsu_fpstore): Adjust.
11632 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
11633
36dc9ae8
OE
116342014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
11635
11636 PR target/60884
11637 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
11638 unrolled byte insns. Emit address increments after move insns.
11639
9bbf45f6
DM
116402014-05-07 David Malcolm <dmalcolm@redhat.com>
11641
11642 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
11643 const_gimple, rather than a gimple.
11644 (gimple_call_builtin_p): Likewise, for the three variants.
11645
11646 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
11647 (gimple_call_builtin_p): Likewise, for the three variants.
11648
1a51f10c
RS
116492014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11650
11651 PR tree-optimization/61095
11652 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
11653
50f0aa20
RB
116542014-05-07 Richard Biener <rguenther@suse.de>
11655
11656 PR tree-optimization/61034
11657 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
11658 (maybe_skip_until): Use translate to take into account
11659 lattices when trying to do disambiguations.
11660 (get_continuation_for_phi_1): Likewise.
b6db8af6 11661 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 11662 (walk_non_aliased_vuses): Likewise.
b6db8af6 11663 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
11664 (walk_non_aliased_vuses): Likewise.
11665 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
11666 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
11667 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
11668 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
11669
e7b7077e
JR
116702014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
11671
11672 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
11673 Emit an error when the function has arguments.
11674
c4597c1d
TS
116752014-05-07 Thomas Schwinge <thomas@codesourcery.com>
11676
11677 * cfgloop.h (unswitch_loops): Remove.
11678 * doc/passes.texi: Remove references to loop-unswitch.c
11679 * timevar.def (TV_LOOP_UNSWITCH): Remove.
11680
2c23db6d
ES
116812014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
11682
11683 * tree-vect-data-refs.c (vect_grouped_load_supported): New
11684 check for loads group of length 3.
11685 (vect_permute_load_chain): New permutations for loads group of
11686 length 3.
11687 * tree-vect-stmts.c (vect_model_load_cost): Change cost
11688 of vec_perm_shuffle for the new permutations.
11689
1d175503
AL
116902014-05-07 Alan Lawrence <alan.lawrence@arm.com>
11691
11692 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
11693 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
11694 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
11695 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
11696 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
11697 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
11698 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
11699 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
11700
e2d87487
TS
117012014-05-07 Thomas Schwinge <thomas@codesourcery.com>
11702
11703 * loop-unswitch.c: Delete.
11704
f543058d
RB
117052014-05-07 Richard Biener <rguenther@suse.de>
11706
11707 * config.gcc: Always set need_64bit_hwint to yes.
11708
96092404
CJW
117092014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
11710
11711 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
11712 of using optimize_size.
11713
ca66f89b
MS
117142014-05-06 Mike Stump <mikestump@comcast.net>
11715
11716 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
11717
659c0e68
JM
117182014-05-06 Joseph Myers <joseph@codesourcery.com>
11719
11720 * config/i386/sse.md (*mov<mode>_internal)
11721 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
11722 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
11723 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
11724 (*<code><mode>3, *andnot<mode>3<mask_name>)
11725 (<mask_codefor><code><mode>3<mask_name>): Only consider
11726 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
11727
3379b71f
RS
117282014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
11729
11730 Revert:
11731 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
11732
11733 * lra-constraints.c (valid_address_p): Move earlier in file.
11734 Add a constraint argument to the address_info version.
11735 (satisfies_memory_constraint_p): New function.
11736 (satisfies_address_constraint_p): Likewise.
11737 (process_alt_operands, curr_insn_transform): Use them.
11738 (process_address): Pass the constraint to valid_address_p when
11739 checking address operands.
11740
224dbc07
RS
117412014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
11742
11743 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
11744 to their respective blocks. Fix inadvertent use of "node".
11745
aa3a12d6
RS
117462014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
11747
11748 * emit-rtl.c (init_derived_machine_modes): New functionm, split
11749 out from...
11750 (init_emit_once): ...here.
11751 * rtl.h (init_derived_machine_modes): Declare.
11752 * toplev.c (do_compile): Call it even if no_backend.
11753
1d60af08
KZ
117542014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
11755 Mike Stump <mikestump@comcast.net>
11756 Richard Sandiford <rdsandiford@googlemail.com>
11757 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11758
11759 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
11760 (rtx_equal_for_memref_p): Update comment.
11761 (adjust_offset_for_component_ref): Use wide-int interfaces.
11762 * builtins.c (get_object_alignment_2): Likewise.
11763 (c_readstr): Likewise.
11764 (target_char_cast): Add comment.
11765 (determine_block_size): Use wide-int interfaces.
11766 (expand_builtin_signbit): Likewise.
11767 (fold_builtin_int_roundingfn): Likewise.
11768 (fold_builtin_bitop): Likewise.
11769 (fold_builtin_bswap): Likewise.
11770 (fold_builtin_logarithm): Use signop.
11771 (fold_builtin_pow): Likewise.
11772 (fold_builtin_memory_op): Use wide-int interfaces.
11773 (fold_builtin_object_size): Likewise.
11774 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
11775 nb_iterations_estimate.
11776 (record_niter_bound): Use wide-int interfaces.
11777 (get_estimated_loop_iterations_int): Likewise.
11778 (get_estimated_loop_iterations): Likewise.
11779 (get_max_loop_iterations): Likewise.
11780 * cfgloop.h: Include wide-int.h.
11781 (struct nb_iter_bound): Change bound to widest_int.
11782 (struct loop): Change nb_iterations_upper_bound and
11783 nb_iterations_estimate to widest_int.
11784 (record_niter_bound): Switch to use widest_int.
11785 (get_estimated_loop_iterations): Likewise.
11786 (get_max_loop_iterations): Likewise.
11787 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
11788 update for wide-int.
11789 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
11790 * combine.c (try_combine): Likewise.
11791 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
11792 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
11793 interfaces.
11794 (aarch64_float_const_representable_p): Likewise.
11795 * config/arc/arc.c: Include wide-int.h.
11796 (arc_can_use_doloop_p): Use wide-int interfaces.
11797 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
11798 (vfp3_const_double_index): Likewise.
11799 * config/avr/avr.c (avr_out_round): Likewise.
11800 (avr_fold_builtin): Likewise.
11801 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
11802 (bfin_can_use_doloop_p): Likewise.
11803 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
11804 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
11805 * config/i386/i386.c: Include wide-int.h.
11806 (ix86_data_alignment): Use wide-int interfaces.
11807 (ix86_local_alignment): Likewise.
11808 (ix86_emit_swsqrtsf): Update real_from_integer.
11809 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
11810 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
11811 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
11812 (zero_constant): Likewise.
11813 (input_operand): Likewise.
11814 (splat_input_operand): Likewise.
11815 (non_logical_cint_operand): Change const_double to const_wide_int.
11816 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
11817 (easy_altivec_constant): Remove comment.
11818 (paired_expand_vector_init): Use CONSTANT_P.
11819 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
11820 (rs6000_emit_move): Update checks.
11821 (rs6000_aggregate_candidate): Use wide-int interfaces.
11822 (rs6000_expand_ternop_builtin): Likewise.
11823 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
11824 (rs6000_assemble_integer): Likewise.
11825 (rs6000_hash_constant): Likewise.
11826 (output_toc): Likewise.
11827 (rs6000_rtx_costs): Likewise.
11828 (rs6000_emit_swrsqrt); Update call to real_from_integer.
11829 * config/rs6000/rs6000-c.c: Include wide-int.h.
11830 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
11831 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
11832 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
11833 Handle CONST_WIDE_INT.
11834 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
11835 Use tree_fits_uhwi_p.
11836 * config/sparc/sparc.c: Include wide-int.h.
11837 (sparc_fold_builtin): Use wide-int interfaces.
11838 * config/vax/vax.c: Include wide-int.h.
11839 (vax_float_literal): Use real_from_integer.
11840 * coretypes.h (struct hwivec_def): New.
11841 (hwivec): New.
11842 (const_hwivec): New.
11843 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
11844 (equiv_constant): Handle CONST_WIDE_INT.
11845 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
11846 (cselib_hash_rtx): Handle CONST_WIDE_INT.
11847 * dbxout.c (stabstr_U): Use wide-int interfaces.
11848 (dbxout_type): Update to use cst_fits_shwi_p.
11849 * defaults.h (LOG2_BITS_PER_UNIT): Define.
11850 (TARGET_SUPPORTS_WIDE_INT): Add default.
11851 * dfp.c: Include wide-int.h.
11852 (decimal_real_to_integer2): Use wide-int interfaces and rename to
11853 decimal_real_to_integer.
11854 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
11855 decimal_real_to_integer.
11856 * doc/generic.texi (Constant expressions): Update for wide_int.
11857 * doc/rtl.texi (const_double): Likewise.
11858 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
11859 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
11860 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
11861 (REAL_VALUE_FROM_INT): Remove.
11862 (TARGET_SUPPORTS_WIDE_INT): New.
11863 * doc/tm.texi: Regenerate.
11864 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
11865 * double-int.h: Include wide-int.h.
11866 (struct wi::int_traits): New.
11867 * dwarf2out.c (get_full_len): New.
11868 (dw_val_equal_p): Add case dw_val_class_wide_int.
11869 (size_of_loc_descr): Likewise.
11870 (output_loc_operands): Likewise.
11871 (insert_double): Remove.
11872 (insert_wide_int): New.
11873 (add_AT_wide): New.
11874 (print_die): Add case dw_val_class_wide_int.
11875 (attr_checksum): Likewise.
11876 (attr_checksum_ordered): Likewise.
11877 (same_dw_val_p): Likewise.
11878 (size_of_die): Likewise.
11879 (value_format): Likewise.
11880 (output_die): Likewise.
11881 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
11882 Use wide-int.
11883 (clz_loc_descriptor): Use wide-int interfaces.
11884 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
11885 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
11886 (round_up_to_align): Use wide-int interfaces.
11887 (field_byte_offset): Likewise.
11888 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
11889 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
11890 CONST_DOUBLE handling. Use wide-int interfaces.
11891 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
11892 (gen_enumeration_type_die): Use add_AT_wide.
11893 (hash_loc_operands): Add case dw_val_class_wide_int.
11894 (compare_loc_operands): Likewise.
11895 * dwarf2out.h: Include wide-int.h.
11896 (wide_int_ptr): New.
11897 (enum dw_val_class): Add dw_val_class_wide_int.
11898 (struct dw_val_struct): Add val_wide.
11899 * emit-rtl.c (const_wide_int_htab): New.
11900 (const_wide_int_htab_hash): New.
11901 (const_wide_int_htab_eq): New.
11902 (lookup_const_wide_int): New.
11903 (const_double_htab_hash): Use wide-int interfaces.
11904 (const_double_htab_eq): Likewise.
11905 (rtx_to_double_int): Conditionally compile for wide-int.
11906 (immed_double_int_const): Rename to immed_wide_int_const and
11907 update for wide-int.
11908 (immed_double_const): Conditionally compile for wide-int.
11909 (init_emit_once): Use wide-int interfaces.
11910 * explow.c (plus_constant): Likewise.
11911 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
11912 (lshift_value): Use wide-int interfaces.
11913 (expand_mult): Likewise.
11914 (choose_multiplier): Likewise.
11915 (expand_smod_pow2): Likewise.
11916 (make_tree): Likewise.
11917 * expr.c (convert_modes): Consolidate handling of constants.
11918 Use wide-int interfaces.
11919 (emit_group_load_1): Add note.
11920 (store_expr): Update comment.
11921 (get_inner_reference): Use wide-int interfaces.
11922 (expand_constructor): Update comment.
11923 (expand_expr_real_2): Use wide-int interfaces.
11924 (expand_expr_real_1): Likewise.
11925 (reduce_to_bit_field_precision): Likewise.
11926 (const_vector_from_tree): Likewise.
11927 * final.c: Include wide-int-print.h.
11928 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
11929 * fixed-value.c: Include wide-int.h.
11930 (fixed_from_string): Use wide-int interfaces.
11931 (fixed_to_decimal): Likewise.
11932 (fixed_convert_from_real): Likewise.
11933 (real_convert_from_fixed): Likewise.
11934 * fold-const.h (mem_ref_offset): Return an offset_int.
11935 (div_if_zero_remainder): Remove code parameter.
11936 * fold-const.c (div_if_zero_remainder): Remove code parameter.
11937 Use wide-int interfaces.
11938 (may_negate_without_overflow_p): Use wide-int interfaces.
11939 (negate_expr_p): Likewise.
11940 (fold_negate_expr): Likewise.
11941 (int_const_binop_1): Likewise.
11942 (const_binop): Likewise.
11943 (fold_convert_const_int_from_int): Likewise.
11944 (fold_convert_const_int_from_real): Likewise.
11945 (fold_convert_const_int_from_fixed): Likewise.
11946 (fold_convert_const_fixed_from_int): Likewise.
11947 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
11948 (sign_bit_p): Use wide-int interfaces.
11949 (make_range_step): Likewise.
11950 (build_range_check): Likewise. Pass an integer of the correct type
11951 instead of using integer_one_node.
11952 (range_predecessor): Pass an integer of the correct type instead
11953 of using integer_one_node.
11954 (range_successor): Likewise.
11955 (merge_ranges): Likewise.
11956 (unextend): Use wide-int interfaces.
11957 (extract_muldiv_1): Likewise.
11958 (fold_div_compare): Likewise.
11959 (fold_single_bit_test): Likewise.
11960 (fold_sign_changed_comparison): Likewise.
11961 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
11962 (fold_plusminus_mult_expr): Use wide-int interfaces.
11963 (native_encode_int): Likewise.
11964 (native_interpret_int): Likewise.
11965 (fold_unary_loc): Likewise.
11966 (pointer_may_wrap_p): Likewise.
11967 (size_low_cst): Likewise.
11968 (mask_with_tz): Likewise.
11969 (fold_binary_loc): Likewise.
11970 (fold_ternary_loc): Likewise.
11971 (multiple_of_p): Likewise.
11972 (tree_call_nonnegative_warnv_p): Update calls to
11973 tree_int_cst_min_precision and real_from_integer.
11974 (fold_negate_const): Use wide-int interfaces.
11975 (fold_abs_const): Likewise.
11976 (fold_relational_const): Use tree_int_cst_lt.
11977 (round_up_loc): Use wide-int interfaces.
11978 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
11979 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
11980 * gengtype.c: Remove include of double-int.h.
11981 (do_typedef): Use wide-int interfaces.
11982 (open_base_files): Add wide-int.h.
11983 (main): Add offset_int and widest_int typedefs.
11984 * gengtype-lex.l: Handle "^".
11985 (CXX_KEYWORD): Add "static".
11986 * gengtype-parse.c (require3): New.
11987 (require_template_declaration): Handle constant template arguments
11988 and nested templates.
11989 * gengtype-state.c: Don't include "double-int.h".
11990 * genpreds.c (write_one_predicate_function): Update comment.
11991 (write_tm_constrs_h): Add check for hval and lval use in
11992 CONST_WIDE_INT.
11993 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
11994 (add_to_sequence): Likewise.
11995 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
11996 and const_double_operand.
11997 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
11998 interfaces.
11999 * gimple-fold.c (get_base_constructor): Likewise.
12000 (fold_array_ctor_reference): Likewise.
12001 (fold_nonarray_ctor_reference): Likewise.
12002 (fold_const_aggregate_ref_1): Likewise.
12003 (gimple_val_nonnegative_real_p): Likewise.
12004 (gimple_fold_indirect_ref): Likewise.
12005 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
12006 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
12007 (struct slsr_cand_d): Change index to be widest_int.
12008 (struct incr_info_d): Change incr to be widest_int.
12009 (alloc_cand_and_find_basis): Use wide-int interfaces.
12010 (slsr_process_phi): Likewise.
12011 (backtrace_base_for_ref): Likewise. Return a widest_int.
12012 (restructure_reference): Take a widest_int instead of a double_int.
12013 (slsr_process_ref): Use wide-int interfaces.
12014 (create_mul_ssa_cand): Likewise.
12015 (create_mul_imm_cand): Likewise.
12016 (create_add_ssa_cand): Likewise.
12017 (create_add_imm_cand): Take a widest_int instead of a double_int.
12018 (slsr_process_add): Use wide-int interfaces.
12019 (slsr_process_cast): Likewise.
12020 (slsr_process_copy): Likewise.
12021 (dump_candidate): Likewise.
12022 (dump_incr_vec): Likewise.
12023 (replace_ref): Likewise.
12024 (cand_increment): Likewise. Return a widest_int.
12025 (cand_abs_increment): Likewise.
12026 (replace_mult_candidate): Take a widest_int instead of a double_int.
12027 (replace_unconditional_candidate): Use wide-int interfaces.
12028 (incr_vec_index): Take a widest_int instead of a double_int.
12029 (create_add_on_incoming_edge): Likewise.
12030 (create_phi_basis): Use wide-int interfaces.
12031 (replace_conditional_candidate): Likewise.
12032 (record_increment): Take a widest_int instead of a double_int.
12033 (record_phi_increments): Use wide-int interfaces.
12034 (phi_incr_cost): Take a widest_int instead of a double_int.
12035 (lowest_cost_path): Likewise.
12036 (total_savings): Likewise.
12037 (analyze_increments): Use wide-int interfaces.
12038 (ncd_with_phi): Take a widest_int instead of a double_int.
12039 (ncd_of_cand_and_phis): Likewise.
12040 (nearest_common_dominator_for_cands): Likewise.
12041 (insert_initializers): Use wide-int interfaces.
12042 (all_phi_incrs_profitable): Likewise.
12043 (replace_one_candidate): Likewise.
12044 (replace_profitable_candidates): Likewise.
12045 * godump.c: Include wide-int-print.h.
12046 (go_output_typedef): Use wide-int interfaces.
12047 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
12048 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
12049 (build_loop_iteration_domains): Likewise.
12050 * hooks.h: Include wide-int.h rather than double-int.h.
12051 (hook_bool_dint_dint_uint_bool_true): Delete.
12052 (hook_bool_wint_wint_uint_bool_true): Declare.
12053 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
12054 (hook_bool_wint_wint_uint_bool_true): New.
12055 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
12056 interfaces.
12057 (ubsan_expand_si_overflow_mul_check): Likewise.
12058 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
12059 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
12060 (get_ancestor_addr_info): Likewise.
12061 (ipa_modify_call_arguments): Likewise.
12062 * loop-doloop.c (doloop_modify): Likewise.
12063 (doloop_optimize): Likewise.
12064 * loop-iv.c (iv_number_of_iterations): Likewise.
12065 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
12066 (unroll_loop_constant_iterations): Likewise.
12067 (decide_unroll_runtime_iterations): Likewise.
12068 (unroll_loop_runtime_iterations): Likewise.
12069 (decide_peel_simple): Likewise.
12070 (decide_unroll_stupid): Likewise.
12071 * lto-streamer-in.c (streamer_read_wi): Add.
12072 (input_cfg): Use wide-int interfaces.
12073 (lto_input_tree_1): Likewise.
12074 * lto-streamer-out.c (streamer_write_wi): Add.
12075 (hash_tree): Use wide-int interfaces.
12076 (output_cfg): Likewise.
12077 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
12078 (GTFILES): Add wide-int.h and signop.h.
12079 (TAGS): Look for .cc files too.
12080 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
12081 * optabs.c (expand_subword_shift): Likewise.
12082 (expand_doubleword_shift): Likewise.
12083 (expand_absneg_bit): Likewise.
12084 (expand_copysign_absneg): Likewise.
12085 (expand_copysign_bit): Likewise.
12086 * postreload.c (reload_cse_simplify_set): Likewise.
12087 * predict.c (predict_iv_comparison): Likewise.
12088 * pretty-print.h: Include wide-int-print.h.
12089 (pp_wide_int) New.
12090 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
12091 * print-tree.c: Include wide-int-print.h.
12092 (print_node_brief): Use wide-int interfaces.
12093 (print_node): Likewise.
12094 * read-rtl.c (validate_const_wide_int): New.
12095 (read_rtx_code): Add CONST_WIDE_INT case.
12096 * real.c: Include wide-int.h.
12097 (real_to_integer2): Delete.
12098 (real_to_integer): New function, returning a wide_int.
12099 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
12100 (ten_to_ptwo): Update call to real_from_integer.
12101 (real_digit): Likewise.
12102 * real.h: Include signop.h, wide-int.h and insn-modes.h.
12103 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
12104 (REAL_VALUE_TO_INT): Delete.
12105 (real_to_integer): Declare a wide-int form.
12106 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
12107 * recog.c (const_int_operand): Improve comment.
12108 (const_scalar_int_operand): New.
12109 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
12110 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
12111 (split_double): Likewise.
12112 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
12113 (rtx_size): Likewise.
12114 (rtx_alloc_stat_v): New.
12115 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
12116 (cwi_output_hex): New.
12117 (iterative_hash_rtx): Handle CONST_WIDE_INT.
12118 (cwi_check_failed_bounds): New.
12119 * rtl.def (CONST_WIDE_INT): New.
12120 * rtl.h: Include <utility> and wide-int.h.
12121 (struct hwivec_def): New.
12122 (CWI_GET_NUM_ELEM): New.
12123 (CWI_PUT_NUM_ELEM): New.
12124 (struct rtx_def): Add num_elem and hwiv.
12125 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
12126 (CASE_CONST_UNIQUE): Likewise.
12127 (CASE_CONST_ANY): Likewise.
12128 (CONST_SCALAR_INT_P): Likewise.
12129 (CONST_WIDE_INT_P): New.
12130 (CWI_ELT): New.
12131 (HWIVEC_CHECK): New.
12132 (cwi_check_failed_bounds): New.
12133 (CWI_ELT): New.
12134 (HWIVEC_CHECK): New.
12135 (CONST_WIDE_INT_VEC) New.
12136 (CONST_WIDE_INT_NUNITS) New.
12137 (CONST_WIDE_INT_ELT) New.
12138 (rtx_mode_t): New type.
12139 (wi::int_traits <rtx_mode_t>): New.
12140 (wi::shwi): New.
12141 (wi::min_value): New.
12142 (wi::max_value): New.
12143 (rtx_alloc_v) New.
12144 (const_wide_int_alloc): New.
12145 (immed_wide_int_const): New.
12146 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
12147 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
12148 * signop.h: New file.
12149 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
12150 (simplify_const_unary_operation): Use wide-int interfaces.
12151 (simplify_binary_operation_1): Likewise.
12152 (simplify_const_binary_operation): Likewise.
12153 (simplify_const_relational_operation): Likewise.
12154 (simplify_immed_subreg): Likewise.
12155 * stmt.c (expand_case): Likewise.
12156 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
12157 signop rather than a bool.
12158 * stor-layout.c (layout_type): Use wide-int interfaces.
12159 (initialize_sizetypes): Update calls to
12160 set_min_and_max_values_for_integral_type.
12161 (set_min_and_max_values_for_integral_type): Take a signop rather
12162 than a bool. Use wide-int interfaces.
12163 (fixup_signed_type): Update accordingly. Remove
12164 HOST_BITS_PER_DOUBLE_INT limit.
12165 (fixup_unsigned_type): Likewise.
12166 * system.h (STATIC_CONSTANT_P): New.
12167 (STATIC_ASSERT): New.
12168 * target.def (can_use_doloop_p): Take widest_ints rather than
12169 double_ints.
12170 * target.h: Include wide-int.h rather than double-int.h.
12171 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
12172 than double_ints.
12173 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
12174 rather than INT_CST_LT_UNSIGNED.
12175 (can_use_doloop_if_innermost): Take widest_ints rather than
12176 double_ints.
12177 * tree-affine.c: Include wide-int-print.h.
12178 (double_int_ext_for_comb): Delete.
12179 (wide_int_ext_for_comb): New.
12180 (aff_combination_zero): Use wide-int interfaces.
12181 (aff_combination_const): Take a widest_int instead of a double_int.
12182 (aff_combination_elt): Use wide-int interfaces.
12183 (aff_combination_scale): Take a widest_int instead of a double_int.
12184 (aff_combination_add_elt): Likewise.
12185 (aff_combination_add_cst): Likewise.
12186 (aff_combination_add): Use wide-int interfaces.
12187 (aff_combination_convert): Likewise.
12188 (tree_to_aff_combination): Likewise.
12189 (add_elt_to_tree): Take a widest_int instead of a double_int.
12190 (aff_combination_to_tree): Use wide-int interfaces.
12191 (aff_combination_remove_elt): Likewise.
12192 (aff_combination_add_product): Take a widest_int instead of
12193 a double_int.
12194 (aff_combination_mult): Use wide-int interfaces.
12195 (aff_combination_expand): Likewise.
12196 (double_int_constant_multiple_p): Delete.
12197 (wide_int_constant_multiple_p): New.
12198 (aff_combination_constant_multiple_p): Take a widest_int pointer
12199 instead of a double_int pointer.
12200 (print_aff): Use wide-int interfaces.
12201 (get_inner_reference_aff): Take a widest_int pointer
12202 instead of a double_int pointer.
12203 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
12204 * tree-affine.h: Include wide-int.h.
12205 (struct aff_comb_elt): Change type of coef to widest_int.
12206 (struct affine_tree_combination): Change type of offset to widest_int.
12207 (double_int_ext_for_comb): Delete.
12208 (wide_int_ext_for_comb): New.
12209 (aff_combination_const): Use widest_int instead of double_int.
12210 (aff_combination_scale): Likewise.
12211 (aff_combination_add_elt): Likewise.
12212 (aff_combination_constant_multiple_p): Likewise.
12213 (get_inner_reference_aff): Likewise.
12214 (aff_comb_cannot_overlap_p): Likewise.
12215 (aff_combination_zero_p): Use wide-int interfaces.
12216 * tree.c: Include tree.h.
12217 (init_ttree): Use make_int_cst.
12218 (tree_code_size): Removed code for INTEGER_CST case.
12219 (tree_size): Add INTEGER_CST case.
12220 (make_node_stat): Update comment.
12221 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
12222 (build_int_cst_type): Use wide-int interfaces.
12223 (double_int_to_tree): Likewise.
12224 (double_int_fits_to_tree_p): Delete.
12225 (force_fit_type_double): Delete.
12226 (force_fit_type): New.
12227 (int_cst_hash_hash): Use wide-int interfaces.
12228 (int_cst_hash_eq): Likewise.
12229 (build_int_cst_wide): Delete.
12230 (wide_int_to_tree): New.
12231 (cache_integer_cst): Use wide-int interfaces.
12232 (build_low_bits_mask): Likewise.
12233 (cst_and_fits_in_hwi): Likewise.
12234 (real_value_from_int_cst): Likewise.
12235 (make_int_cst_stat): New.
12236 (integer_zerop): Use wide_int interfaces.
12237 (integer_onep): Likewise.
12238 (integer_all_onesp): Likewise.
12239 (integer_pow2p): Likewise.
12240 (integer_nonzerop): Likewise.
12241 (tree_log2): Likewise.
12242 (tree_floor_log2): Likewise.
12243 (tree_ctz): Likewise.
12244 (int_size_in_bytes): Likewise.
12245 (mem_ref_offset): Return an offset_int rather than a double_int.
12246 (build_type_attribute_qual_variant): Use wide_int interfaces.
12247 (type_hash_eq): Likewise
12248 (tree_int_cst_equal): Likewise.
12249 (tree_int_cst_lt): Delete.
12250 (tree_int_cst_compare): Likewise.
12251 (tree_fits_shwi_p): Use wide_int interfaces.
12252 (tree_fits_uhwi_p): Likewise.
12253 (tree_int_cst_sign_bit): Likewise.
12254 (tree_int_cst_sgn): Likewise.
12255 (tree_int_cst_min_precision): Take a signop rather than a bool.
12256 (simple_cst_equal): Use wide_int interfaces.
12257 (compare_tree_int): Likewise.
12258 (iterative_hash_expr): Likewise.
12259 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
12260 INT_CST_LT.
12261 (get_type_static_bounds): Use wide_int interfaces.
12262 (tree_int_cst_elt_check_failed): New.
12263 (build_common_tree_nodes): Reordered to set prec before filling in
12264 value.
12265 (int_cst_value): Check cst_and_fits_in_hwi.
12266 (widest_int_cst_value): Use wide_int interfaces.
12267 (upper_bound_in_type): Likewise.
12268 (lower_bound_in_type): Likewise.
12269 (num_ending_zeros): Likewise.
12270 (drop_tree_overflow): Likewise.
12271 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
12272 (gen_conditions_for_pow_cst_base): Likewise.
12273 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
12274 (group_case_labels_stmt): Use wide-int interfaces.
12275 (verify_gimple_assign_binary): Likewise.
12276 (print_loop): Likewise.
12277 * tree-chrec.c (tree_fold_binomial): Likewise.
12278 * tree-core.h (struct tree_base): Add int_length.
12279 (struct tree_int_cst): Change rep of value.
12280 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
12281 (dr_may_alias_p): Likewise.
12282 (max_stmt_executions_tree): Likewise.
12283 * tree.def (INTEGER_CST): Update comment.
12284 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
12285 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
12286 * tree-dump.c: Include wide-int.h and wide-int-print.h.
12287 (dequeue_and_dump): Use wide-int interfaces.
12288 * tree.h: Include wide-int.h.
12289 (NULL_TREE): Moved to earlier loc in file.
12290 (TREE_INT_CST_ELT_CHECK): New.
12291 (tree_int_cst_elt_check_failed): New.
12292 (TYPE_SIGN): New.
12293 (TREE_INT_CST): Delete.
12294 (TREE_INT_CST_LOW): Use wide-int interfaces.
12295 (TREE_INT_CST_HIGH): Delete.
12296 (TREE_INT_CST_NUNITS): New.
12297 (TREE_INT_CST_EXT_NUNITS): Likewise.
12298 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
12299 (TREE_INT_CST_ELT): Likewise.
12300 (INT_CST_LT): Delete.
12301 (tree_int_cst_elt_check): New (two forms).
12302 (type_code_size): Update comment.
12303 (make_int_cst_stat, make_int_cst): New.
12304 (tree_to_double_int): Delete.
12305 (double_int_fits_to_tree_p): Delete.
12306 (force_fit_type_double): Delete.
12307 (build_int_cstu): Replace with out-of-line function.
12308 (build_int_cst_wide): Delete.
12309 (tree_int_cst_lt): Define inline.
12310 (tree_int_cst_le): New.
12311 (tree_int_cst_compare): Define inline.
12312 (tree_int_cst_min_precision): Take a signop rather than a bool.
12313 (wi::int_traits <const_tree>): New.
12314 (wi::int_traits <tree>): New.
12315 (wi::extended_tree): New.
12316 (wi::int_traits <wi::extended_tree>): New.
12317 (wi::to_widest): New.
12318 (wi::to_offset): New.
12319 (wi::fits_to_tree_p): New.
12320 (wi::min_value): New.
12321 (wi::max_value): New.
12322 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
12323 (copy_tree_body_r): Likewise.
12324 * tree-object-size.c (compute_object_offset): Likewise.
12325 (addr_object_size): Likewise.
12326 * tree-predcom.c: Include wide-int-print.h.
12327 (struct dref_d): Change type of offset to widest_int.
12328 (dump_dref): Call wide-int printer.
12329 (aff_combination_dr_offset): Use wide-int interfaces.
12330 (determine_offset): Take a widest_int pointer rather than a
12331 double_int pointer.
12332 (split_data_refs_to_components): Use wide-int interfaces.
12333 (suitable_component_p): Likewise.
12334 (order_drefs): Likewise.
12335 (add_ref_to_chain): Likewise.
12336 (valid_initializer_p): Likewise.
12337 (determine_roots_comp): Likewise.
12338 * tree-pretty-print.c: Include wide-int-print.h.
12339 (dump_generic_node): Use wide-int interfaces.
12340 * tree-sra.c (sra_ipa_modify_expr): Likewise.
12341 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
12342 (move_fixed_address_to_symbol): Likewise.
12343 (move_hint_to_base): Likewise.
12344 (move_pointer_to_base): Likewise.
12345 (move_variant_to_index): Likewise.
12346 (most_expensive_mult_to_index): Likewise.
12347 (addr_to_parts): Likewise.
12348 (copy_ref_info): Likewise.
12349 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
12350 (indirect_refs_may_alias_p): Likewise.
12351 (stmt_kills_ref_p_1): Likewise.
12352 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
12353 * tree-ssa-ccp.c: Update comment at top of file. Include
12354 wide-int-print.h.
12355 (struct prop_value_d): Change type of mask to widest_int.
12356 (extend_mask): New function.
12357 (dump_lattice_value): Use wide-int interfaces.
12358 (get_default_value): Likewise.
12359 (set_constant_value): Likewise.
12360 (set_value_varying): Likewise.
12361 (valid_lattice_transition): Likewise.
12362 (set_lattice_value): Likewise.
12363 (value_to_double_int): Delete.
12364 (value_to_wide_int): New.
12365 (get_value_from_alignment): Use wide-int interfaces.
12366 (get_value_for_expr): Likewise.
12367 (do_dbg_cnt): Likewise.
12368 (ccp_finalize): Likewise.
12369 (ccp_lattice_meet): Likewise.
12370 (bit_value_unop_1): Use widest_ints rather than double_ints.
12371 (bit_value_binop_1): Likewise.
12372 (bit_value_unop): Use wide-int interfaces.
12373 (bit_value_binop): Likewise.
12374 (bit_value_assume_aligned): Likewise.
12375 (evaluate_stmt): Likewise.
12376 (ccp_fold_stmt): Likewise.
12377 (visit_cond_stmt): Likewise.
12378 (ccp_visit_stmt): Likewise.
12379 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
12380 (constant_pointer_difference): Likewise.
12381 (associate_pointerplus): Likewise.
12382 (combine_conversions): Likewise.
12383 * tree-ssa-loop.h: Include wide-int.h.
12384 (struct tree_niter_desc): Change type of max to widest_int.
12385 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
12386 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
12387 (remove_redundant_iv_tests): Likewise.
12388 (canonicalize_loop_induction_variables): Likewise.
12389 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
12390 (constant_multiple_of): Take a widest_int pointer instead of
12391 a double_int pointer.
12392 (get_computation_aff): Use wide-int interfaces.
12393 (ptr_difference_cost): Likewise.
12394 (difference_cost): Likewise.
12395 (get_loop_invariant_expr_id): Likewise.
12396 (get_computation_cost_at): Likewise.
12397 (iv_elimination_compare_lt): Likewise.
12398 (may_eliminate_iv): Likewise.
12399 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
12400 instead of double_int.
12401 (max_loop_iterations): Likewise.
12402 (max_stmt_executions): Likewise.
12403 (estimated_stmt_executions): Likewise.
12404 * tree-ssa-loop-niter.c: Include wide-int-print.h.
12405 (split_to_var_and_offset): Use wide-int interfaces.
12406 (determine_value_range): Likewise.
12407 (bound_difference_of_offsetted_base): Likewise.
12408 (bounds_add): Take a widest_int instead of a double_int.
12409 (number_of_iterations_ne_max): Use wide-int interfaces.
12410 (number_of_iterations_ne): Likewise.
12411 (number_of_iterations_lt_to_ne): Likewise.
12412 (assert_loop_rolls_lt): Likewise.
12413 (number_of_iterations_lt): Likewise.
12414 (number_of_iterations_le): Likewise.
12415 (number_of_iterations_cond): Likewise.
12416 (number_of_iterations_exit): Likewise.
12417 (finite_loop_p): Likewise.
12418 (derive_constant_upper_bound_assign): Likewise.
12419 (derive_constant_upper_bound): Return a widest_int.
12420 (derive_constant_upper_bound_ops): Likewise.
12421 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
12422 (record_estimate): Take a widest_int rather than a double_int.
12423 (record_nonwrapping_iv): Use wide-int interfaces.
12424 (double_int_cmp): Delete.
12425 (wide_int_cmp): New.
12426 (bound_index): Take a widest_int rather than a double_int.
12427 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
12428 (maybe_lower_iteration_bound): Likewise.
12429 (estimate_numbers_of_iterations_loop): Likewise.
12430 (estimated_loop_iterations): Take a widest_int pointer than than
12431 a double_int pointer.
12432 (estimated_loop_iterations_int): Use wide-int interfaces.
12433 (max_loop_iterations): Take a widest_int pointer than than
12434 a double_int pointer.
12435 (max_loop_iterations_int): Use wide-int interfaces.
12436 (max_stmt_executions): Take a widest_int pointer than than
12437 a double_int pointer.
12438 (estimated_stmt_executions): Likewise.
12439 (n_of_executions_at_most): Use wide-int interfaces.
12440 (scev_probably_wraps_p): Likewise.
12441 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
12442 to real_to_integer.
12443 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
12444 interfaces.
12445 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
12446 double_ints. Adjust for trailing_wide_ints <3> representation.
12447 (set_nonzero_bits): Likewise.
12448 (get_range_info): Return wide_ints rather than double_ints.
12449 Adjust for trailing_wide_ints <3> representation.
12450 (get_nonzero_bits): Likewise.
12451 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
12452 representation.
12453 * tree-ssanames.h (struct range_info_def): Replace min, max and
12454 nonzero_bits with a trailing_wide_ints <3>.
12455 (set_range_info): Use wide_int_refs rather than double_ints.
12456 (set_nonzero_bits): Likewise.
12457 (get_range_info): Return wide_ints rather than double_ints.
12458 (get_nonzero_bits): Likewise.
12459 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
12460 * tree-ssa-pre.c (phi_translate_1): Likewise.
12461 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
12462 (acceptable_pow_call): Likewise.
12463 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
12464 interfaces.
12465 (vn_reference_fold_indirect): Likewise.
12466 (vn_reference_maybe_forwprop_address): Likewise.
12467 (valueize_refs_1): Likewise.
12468 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
12469 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
12470 tree_int_cst_lt and tree_int_cst_le.
12471 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
12472 interfaces.
12473 (streamer_alloc_tree): Likewise.
12474 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
12475 (streamer_write_tree_header): Likewise.
12476 (streamer_write_integer_cst): Likewise.
12477 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
12478 (build_constructors): Likewise.
12479 (array_value_type): Likewise.
12480 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
12481 (vect_check_gather): Likewise.
12482 * tree-vect-generic.c (build_replicated_const): Likewise.
12483 (expand_vector_divmod): Likewise.
12484 * tree-vect-loop.c (vect_transform_loop): Likewise.
12485 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
12486 (vect_do_peeling_for_alignment): Likewise.
12487 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
12488 * tree-vrp.c: Include wide-int.h.
12489 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
12490 (extract_range_from_assert): Use wide-int interfaces.
12491 (vrp_int_const_binop): Likewise.
12492 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
12493 double_int pointers.
12494 (ranges_from_anti_range): Use wide-int interfaces.
12495 (quad_int_cmp): Delete.
12496 (quad_int_pair_sort): Likewise.
12497 (extract_range_from_binary_expr_1): Use wide-int interfaces.
12498 (extract_range_from_unary_expr_1): Likewise.
12499 (adjust_range_with_scev): Likewise.
12500 (masked_increment): Take and return wide_ints rather than double_ints.
12501 (register_edge_assert_for_2): Use wide-int interfaces.
12502 (check_array_ref): Likewise.
12503 (search_for_addr_array): Likewise.
12504 (maybe_set_nonzero_bits): Likewise.
12505 (union_ranges): Pass an integer of the correct type instead of
12506 using integer_one_node.
12507 (intersect_ranges): Likewise.
12508 (simplify_truth_ops_using_ranges): Likewise.
12509 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
12510 (range_fits_type_p): Likewise.
12511 (simplify_cond_using_ranges): Likewise. Take a signop rather than
12512 a bool.
12513 (simplify_conversion_using_ranges): Use wide-int interfaces.
12514 (simplify_float_conversion_using_ranges): Likewise.
12515 (vrp_finalize): Likewise.
12516 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
12517 (gimple_stringops_transform): Likewise.
12518 * varasm.c (decode_addr_const): Likewise.
12519 (const_hash_1): Likewise.
12520 (const_rtx_hash_1): Likewise
12521 (output_constant): Likewise.
12522 (array_size_for_constructor): Likewise.
12523 (output_constructor_regular_field): Likewise.
12524 (output_constructor_bitfield): Likewise.
12525 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
12526 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
12527 GENERATOR_FILEs.
12528 * gencheck.c: Define BITS_PER_UNIT.
12529 * wide-int.cc: New.
12530 * wide-int.h: New.
12531 * wide-int-print.cc: New.
12532 * wide-int-print.h: New.
12533
3134fb19
JBG
125342014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12535
12536 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
12537
3bea341f
RB
125382014-05-06 Richard Biener <rguenther@suse.de>
12539
12540 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
12541 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
12542 (TODO_verify_all): Adjust.
12543 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
12544 TODO_verify_stmts and TODO_verify_rtl_sharing.
12545 * bb-reorder.c: Likewise.
12546 * cfgexpand.c: Likewise.
12547 * cprop.c: Likewise.
12548 * cse.c: Likewise.
12549 * function.c: Likewise.
12550 * fwprop.c: Likewise.
12551 * gcse.c: Likewise.
12552 * gimple-ssa-isolate-paths.c: Likewise.
12553 * gimple-ssa-strength-reduction.c: Likewise.
12554 * ipa-split.c: Likewise.
12555 * loop-init.c: Likewise.
12556 * loop-unroll.c: Likewise.
12557 * lower-subreg.c: Likewise.
12558 * modulo-sched.c: Likewise.
12559 * postreload-gcse.c: Likewise.
12560 * predict.c: Likewise.
12561 * recog.c: Likewise.
12562 * sched-rgn.c: Likewise.
12563 * store-motion.c: Likewise.
12564 * tracer.c: Likewise.
12565 * trans-mem.c: Likewise.
12566 * tree-call-cdce.c: Likewise.
12567 * tree-cfg.c: Likewise.
12568 * tree-cfgcleanup.c: Likewise.
12569 * tree-complex.c: Likewise.
12570 * tree-eh.c: Likewise.
12571 * tree-emutls.c: Likewise.
12572 * tree-if-conv.c: Likewise.
12573 * tree-into-ssa.c: Likewise.
12574 * tree-loop-distribution.c: Likewise.
12575 * tree-object-size.c: Likewise.
12576 * tree-parloops.c: Likewise.
12577 * tree-pass.h: Likewise.
12578 * tree-sra.c: Likewise.
12579 * tree-ssa-ccp.c: Likewise.
12580 * tree-ssa-copy.c: Likewise.
12581 * tree-ssa-copyrename.c: Likewise.
12582 * tree-ssa-dce.c: Likewise.
12583 * tree-ssa-dom.c: Likewise.
12584 * tree-ssa-dse.c: Likewise.
12585 * tree-ssa-forwprop.c: Likewise.
12586 * tree-ssa-ifcombine.c: Likewise.
12587 * tree-ssa-loop-ch.c: Likewise.
12588 * tree-ssa-loop-ivcanon.c: Likewise.
12589 * tree-ssa-loop.c: Likewise.
12590 * tree-ssa-math-opts.c: Likewise.
12591 * tree-ssa-phiopt.c: Likewise.
12592 * tree-ssa-phiprop.c: Likewise.
12593 * tree-ssa-pre.c: Likewise.
12594 * tree-ssa-reassoc.c: Likewise.
12595 * tree-ssa-sink.c: Likewise.
12596 * tree-ssa-strlen.c: Likewise.
12597 * tree-ssa-tail-merge.c: Likewise.
12598 * tree-ssa-uncprop.c: Likewise.
12599 * tree-switch-conversion.c: Likewise.
12600 * tree-tailcall.c: Likewise.
12601 * tree-vect-generic.c: Likewise.
12602 * tree-vectorizer.c: Likewise.
12603 * tree-vrp.c: Likewise.
12604 * tsan.c: Likewise.
12605 * var-tracking.c: Likewise.
12606 * bt-load.c: Likewise.
12607 * cfgcleanup.c: Likewise.
12608 * combine-stack-adj.c: Likewise.
12609 * combine.c: Likewise.
12610 * compare-elim.c: Likewise.
12611 * config/epiphany/resolve-sw-modes.c: Likewise.
12612 * config/i386/i386.c: Likewise.
12613 * config/mips/mips.c: Likewise.
12614 * config/s390/s390.c: Likewise.
12615 * config/sh/sh_treg_combine.cc: Likewise.
12616 * config/sparc/sparc.c: Likewise.
12617 * dce.c: Likewise.
12618 * dse.c: Likewise.
12619 * final.c: Likewise.
12620 * ifcvt.c: Likewise.
12621 * mode-switching.c: Likewise.
12622 * passes.c: Likewise.
12623 * postreload.c: Likewise.
12624 * ree.c: Likewise.
12625 * reg-stack.c: Likewise.
12626 * regcprop.c: Likewise.
12627 * regrename.c: Likewise.
12628 * web.c: Likewise.
12629
3d224d46
RB
126302014-05-06 Richard Biener <rguenther@suse.de>
12631
12632 PR middle-end/61070
12633 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
12634 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
12635
e400f081
JH
126362014-05-05 Jan Hubicka <hubicka@ucw.cz>
12637
12638 PR ipa/60965
12639 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
12640
aaeaa9a9 126412014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 12642 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 12643
b6db8af6
UB
12644 * target.def (call_fusage_contains_non_callee_clobbers): New
12645 DEFHOOKPOD.
aaeaa9a9
RO
12646 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
12647 Hooks to @menu.
12648 (@node Miscellaneous Register Hooks): New node.
12649 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
12650 * doc/tm.texi: Regenerate.
12651
c2ac23fe
MP
126522014-05-05 Marek Polacek <polacek@redhat.com>
12653
12654 PR driver/61065
12655 * opts.c (common_handle_option): Call error_at instead of warning_at.
12656
0db74577
RB
126572014-05-05 Richard Biener <rguenther@suse.de>
12658
12659 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
12660 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
12661 under the TODO_verify_il umbrella.
12662
7e7f8713
RB
126632014-05-05 Richard Biener <rguenther@suse.de>
12664
12665 * passes.c (execute_function_todo): Move TODO_verify_flow under
12666 the TODO_verify_ul umbrella.
12667
7e2c9f14
RB
126682014-05-05 Richard Biener <rguenther@suse.de>
12669
12670 PR middle-end/61010
b6db8af6
UB
12671 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
12672 X & CST away from a CST that is the mask of a mode.
7e2c9f14 12673
33ecf108
JBG
126742014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12675
12676 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
12677 int argument to enum machine_mode.
12678 (picochip_class_max_nregs): Ditto.
12679 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
12680 (picochip_class_max_nregs): Ditto.
12681
d56a43a0
AK
126822014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12683
12684 * target.def: Add new target hook.
12685 * doc/tm.texi: Regenerate.
12686 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
12687 * targhooks.c (default_keep_leaf_when_profiled): New function.
12688
12689 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
12690 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
12691
cb8f1a57
BC
126922014-05-05 Bin Cheng <bin.cheng@arm.com>
12693
12694 PR tree-optimization/60363
12695 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
12696 (copy_phi_args): New parameters. Call get_value_locus_in_path.
12697 (update_destination_phis): New parameter.
12698 (create_edge_and_update_destination_phis): Ditto.
12699 (ssa_fix_duplicate_block_edges): Pass new arguments.
12700 (thread_single_edge): Ditto.
12701
f93bc5b3
PB
127022014-05-04 Peter Bergner <bergner@vnet.ibm.com>
12703
12704 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
12705 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
12706 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
12707 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
12708 Use RS6000_BTM_HARD_FLOAT.
12709 (BU_MISC_2): Likewise.
12710 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
12711 RS6000_BTM_HARD_FLOAT.
12712 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
12713 is explicitly used.
12714 (rs6000_invalid_builtin): Add hard floating builtin support.
12715 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
12716 hard float builtins.
12717 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
12718
579f4e64
OE
127192014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
12720
12721 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
12722 Add missing function* argument.
12723
0be7287d
RS
127242014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
12725
12726 * lra-constraints.c (valid_address_p): Move earlier in file.
12727 Add a constraint argument to the address_info version.
12728 (satisfies_memory_constraint_p): New function.
12729 (satisfies_address_constraint_p): Likewise.
12730 (process_alt_operands, curr_insn_transform): Use them.
12731 (process_address): Pass the constraint to valid_address_p when
12732 checking address operands.
12733
ad782bc9
RS
127342014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
12735
12736 * config/mips/mips.c (mips_isa_rev): New variable.
12737 (mips_set_architecture): Set it.
12738 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
12739 from mips_isa_rev.
12740 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
12741 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
12742 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
12743 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
12744 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
12745 conditions in terms of mips_isa_rev.
12746 (mips_isa_rev): Declare.
12747
45731f37
OE
127482014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
12749
12750 * config/sh/sh-mem.cc: Use tabs instead of spaces.
12751 (prob_unlikely, prob_likely): Make variables const.
12752
c61dfa63
DC
127532014-05-03 Denis Chertykov <chertykov@gmail.com>
12754
12755 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
12756
1b8da635
OE
127572014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
12758
12759 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
12760
f6982a08
OE
127612014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
12762
12763 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
12764 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
12765 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
12766 functions.
12767 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
12768 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
12769 sh_pass_in_reg_p.
12770 Replace usage of ROUND_REG with sh_round_reg.
12771 Use CEIL instead of ROUND_ADVANCE.
12772
0bcf70f8
OE
127732014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
12774
12775 PR target/61026
12776 * config/sh/sh.c: Include stdlib headers before everything else.
12777
95782571
JJ
127782014-05-02 Jakub Jelinek <jakub@redhat.com>
12779
12780 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
12781 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
12782 (gimplify_adjust_omp_clauses): Simd region is never
12783 directly nested in combined parallel. Instead, for linear
12784 with copyin/copyout, if in combined for simd loop, make decl
12785 firstprivate/lastprivate on OMP_FOR.
12786 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
12787 expand_omp_for_static_chunk): When setting endvar, also set
12788 fd->loop.v to the same value.
12789
e13b3dfd
RS
127902014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
12791
12792 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
12793
0696116a
AL
127942014-05-02 Alan Lawrence <alan.lawrence@arm.com>
12795
12796 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
12797 expression.
12798
fb90f9f3
MP
127992014-05-02 Marek Polacek <polacek@redhat.com>
12800
12801 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
12802
153df826 128032014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
12804
12805 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
12806 to a C expression marco.
12807 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
12808 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
12809 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
12810 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
12811 HONOR_REG_ALLOC_ORDER.
12812 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
12813
53c8d5a7
JBG
128142014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12815
12816 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
12817
486c559b
JBG
128182014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12819
12820 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
12821
944052b9
YR
128222014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
12823
12824 * tree-if-conv.c (is_cond_scalar_reduction): New function.
12825 (convert_scalar_cond_reduction): Likewise.
12826 (predicate_scalar_phi): Add recognition and transformation
12827 of simple conditioanl reduction to be vectorizable.
12828
d00887e8
MP
128292014-05-01 Marek Polacek <polacek@redhat.com>
12830
12831 PR c/43245
12832 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
12833
7211512a
AL
128342014-04-30 Alan Lawrence <alan.lawrence@arm.com>
12835
12836 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
12837 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
12838 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
12839 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
12840 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
12841 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
12842 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
12843 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
12844
e5bd20a4
JR
128452014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
12846
12847 * config/arc/arc.opt (mlra): Move comment above option name
12848 to avoid mis-parsing as language options.
12849
2cf03b11
RO
128502014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12851
12852 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
12853 * config/sol2.h: ... here.
12854 * config/sol2-10.h: Remove.
12855
12856 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
12857 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
12858 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
12859 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
12860 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
12861 * config/sol2.h: ... here.
12862 (SECTION_NAME_FORMAT): Don't redefine.
12863 (STARTFILE_ARCH32_SPEC): Rename to ...
12864 (STARTFILE_ARCH_SPEC): ... this.
12865 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
12866 * config/sparc/sol2.h: ... here.
12867 (SECTION_NAME_FORMAT): Don't undef.
12868 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
12869 (SUBTARGET_EXTRA_SPECS): Remove.
12870 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
12871
12872 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
12873 (MD_STARTFILE_PREFIX): Remove.
12874 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
12875 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
12876 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
12877 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
12878 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
12879 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
12880 * config/i386/sol2.h: ... here.
12881 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
12882 * config/i386/sol2-bi.h: Remove.
12883 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
12884 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
12885
12886 * config/i386/t-sol2-64: Rename to ...
12887 * config/i386/t-sol2: ... this.
12888 * config/sparc/t-sol2-64: Rename to ...
12889 * config/sparc/t-sol2: ... this.
12890
12891 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
12892 sol2_tm_file_head, sol2_tm_file_tail.
12893 Include ${cpu_type}/sol2.h before sol2.h.
12894 Remove sol2-10.h.
12895 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
12896 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
12897 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
12898 Reflect i386/t-sol2-64 renaming.
12899 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
12900 Reflect sparc/t-sol2-64 renaming.
12901
e9ff9caf
RB
129022014-04-30 Richard Biener <rguenther@suse.de>
12903
12904 * passes.c (execute_function_todo): Move TODO_verify_stmts
12905 and TODO_verify_ssa under the TODO_verify_il umbrella.
12906 * tree-ssa.h (verify_ssa): Adjust prototype.
12907 * tree-ssa.c (verify_ssa): Add parameter to tell whether
12908 we should verify SSA operands.
12909 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
12910 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
12911 whether we should verify whether not throwing stmts have EH info.
12912 * graphite-scop-detection.c (create_sese_edges): Adjust.
12913 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
12914 * tree-eh.c (lower_try_finally_switch): Do not add the
12915 default case label twice.
12916
f8ed5150
MP
129172014-04-30 Marek Polacek <polacek@redhat.com>
12918
12919 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
12920 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
12921 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
12922 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
12923
7cb0403f
AL
129242014-04-29 Alan Lawrence <alan.lawrence@arm.com>
12925
12926 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
12927 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
12928 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
12929 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
12930 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
12931 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
12932 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
12933 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
12934
3979649a
DM
129352014-04-29 David Malcolm <dmalcolm@redhat.com>
12936
12937 * tree-cfg.c (dump_function_to_file): Dump the return type of
12938 functions, in a line to itself before the function body, mimicking
12939 the layout of a C function.
12940
62fb101e
JJ
129412014-04-29 Jakub Jelinek <jakub@redhat.com>
12942
12943 PR tree-optimization/60971
12944 * tree-tailcall.c (process_assignment): Reject conversions which
12945 reduce precision.
12946
3d9684ae
JG
129472014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
12948
12949 * calls.c (initialize_argument_information): Always treat
12950 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
12951 (expand_call): Likewise.
12952 (emit_library_call_calue_1): Likewise.
12953 * expr.c (PUSH_ARGS_REVERSED): Do not define.
12954 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
12955 code accordingly.
12956
d77f7b19
NC
129572014-04-29 Nick Clifton <nickc@redhat.com>
12958
12959 * config/msp430/msp430.md (umulsidi): Fix typo.
12960 (mulhisi3): Enable even inside interrupt handlers.
12961 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
12962 bigger return address pushed in large mode.
12963
f8d91e80
NC
129642014-04-29 Nick Clifton <nickc@redhat.com>
12965
12966 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
12967 (arc_init_reg_tables): Use a machine_mode enum to iterate over
12968 available modes.
12969 * config/m32r/m32r.c (init_reg_tables): Likewise.
12970 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
12971 enum to hold the modes.
12972
e3f613cb
RB
129732014-04-29 Richard Biener <rguenther@suse.de>
12974
12975 * dominance.c (free_dominance_info): Add overload with
12976 function parameter.
12977 (dom_info_state): Likewise.
12978 (dom_info_available_p): Likewise.
12979 * basic-block.h (free_dominance_info, dom_info_state,
12980 dom_info_available_p): Declare overloads.
12981 * passes.c (execute_function_todo): Verify that verifiers
12982 don't change dominator info state. Drop dominator info
12983 for IPA pass invocations.
12984 * cgraph.c (release_function_body): Restore asserts that
12985 dominator information is released.
12986
36f291f7
PP
129872014-04-29 Patrick Palka <patrick@parcs.ath.cx>
12988
12989 * doc/invoke.texi: Fix typo.
12990 * tree-vrp.c: Fix typos.
b6db8af6 12991 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 12992
d3a3182b
ZC
129932014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
12994
12995 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
12996
ba081b77
JG
129972014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
12998
12999 * config/aarch64/aarch64-builtins.c
13000 (aarch64_types_storestruct_lane_qualifiers): New.
13001 (TYPES_STORESTRUCT_LANE): Likewise.
13002 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
13003 (st3_lane): Likewise.
13004 (st4_lane): Likewise.
13005 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
13006 (vec_store_lanesci_lane<mode>): Likewise.
13007 (vec_store_lanesxi_lane<mode>): Likewise.
13008 (aarch64_st2_lane<VQ:mode>): Likewise.
13009 (aarch64_st3_lane<VQ:mode>): Likewise.
13010 (aarch64_st4_lane<VQ:mode>): Likewise.
13011 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
13012 * config/aarch64/arm_neon.h
13013 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
13014 use new macro arguments.
13015 (__ST3_LANE_FUNC): Likewise.
13016 (__ST4_LANE_FUNC): Likewise.
13017 * config/aarch64/iterators.md (V_TWO_ELEM): New.
13018 (V_THREE_ELEM): Likewise.
13019 (V_FOUR_ELEM): Likewise.
13020
1bc6d43c
DM
130212014-04-28 David Malcolm <dmalcolm@redhat.com>
13022
13023 * doc/gimple.texi: Replace the description of the now-defunct
13024 union gimple_statement_d with a diagram showing the
13025 gimple_statement_base class hierarchy and its relationships to
13026 the GSS_ and GIMPLE_ enums.
13027
97e1ad78
JG
130282014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
13029
13030 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
13031 * config/aarch64/aarch64.c
13032 (aarch64_cannot_change_mode_class): Weaken conditions.
13033 (aarch64_modes_tieable_p): New.
13034 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
13035
bf245bf4
PH
130362014-04-28 Pat Haugen <pthaugen@us.ibm.com>
13037
13038 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
13039 (loadsync_<mode>): Change mode.
13040 (load_quadpti, store_quadpti): New.
13041 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
13042 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
13043
28151221
MJ
130442014-04-28 Martin Jambor <mjambor@suse.cz>
13045
13046 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
13047 same alias type as the original statement.
13048 (subreplacement_assignment_data): New type.
13049 (handle_unscalarized_data_in_subtree): New type of parameter,
13050 generate new memory accesses with same alias type as the original
13051 statement.
13052 (load_assign_lhs_subreplacements): Likewise.
13053 (sra_modify_constructor_assign): Generate new memory accesses with
13054 same alias type as the original statement.
13055
9ba5fb43
RB
130562014-04-28 Richard Biener <rguenther@suse.de>
13057
13058 * tree-pass.h (TODO_verify_il): Define.
13059 (TODO_verify_all): Complete properly.
13060 * passes.c (execute_function_todo): Move existing loop-closed
13061 SSA verification under TODO_verify_il.
13062 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
13063 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
13064 Fix tree sharing issue.
13065
22869a37
RB
130662014-04-28 Richard Biener <rguenther@suse.de>
13067
13068 PR middle-end/60092
13069 * builtins.def (DEF_C11_BUILTIN): Add.
13070 (BUILT_IN_ALIGNED_ALLOC): Likewise.
13071 * coretypes.h (enum function_class): Add function_c11_misc.
13072 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
13073 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
13074 (call_may_clobber_ref_p_1): Likewise.
13075 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
13076 (mark_all_reaching_defs_necessary_1): Likewise.
13077 (propagate_necessity): Likewise.
13078 (eliminate_unnecessary_stmts): Likewise.
13079 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
13080
771c9501
RB
130812014-04-28 Richard Biener <rguenther@suse.de>
13082
13083 * tree-vrp.c (vrp_var_may_overflow): Remove.
13084 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
13085 with overflow immediately bump to one before that value and
13086 let iteration figure out overflow status.
13087
279a935f
RB
130882014-04-28 Richard Biener <rguenther@suse.de>
13089
13090 * configure.ac: Do valgrind header checks unconditionally.
13091 Add --enable-valgrind-annotations.
13092 * system.h: Guard valgrind header inclusion with
13093 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
13094 * alloc-pool.c (pool_alloc, pool_free): Use
13095 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
13096 to guard possibly dead code.
13097 * config.in: Regenerated.
13098 * configure: Likewise.
13099
07357f2f
JL
131002014-04-28 Jeff Law <law@redhat.com>
13101
13102 PR tree-optimization/60902
13103 * tree-ssa-threadedge.c
13104 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
13105 over real defs when invalidating outputs from statements that do not
13106 produce useful outputs for threading.
13107
6c6aa8e6
RB
131082014-04-28 Richard Biener <rguenther@suse.de>
13109
13110 PR tree-optimization/60979
13111 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
13112 SCOPs that end in a block with a successor with abnormal
13113 predecessors.
13114
2cbf2d95
RB
131152014-04-28 Richard Biener <rguenther@suse.de>
13116
13117 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 13118 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
13119 (do_per_function): Change callback signature, push all actual
13120 work to the callbals.
13121 (do_per_function_toporder): Likewise.
13122 (execute_function_dump): Adjust.
13123 (execute_function_todo): Likewise.
13124 (clear_last_verified): Likewise.
13125 (verify_curr_properties): Likewise.
13126 (update_properties_after_pass): Likewise.
13127 (execute_pass_list_1): Split out from ...
13128 (execute_pass_list): ... here. Adjust.
13129 (execute_ipa_pass_list): Likewise.
13130 * cgraphunit.c (cgraph_add_new_function): Adjust.
13131 (analyze_function): Likewise.
13132 (expand_function): Likewise.
13133 * cgraph.c (release_function_body): Free dominance info
13134 here instead of asserting it was magically freed elsewhere.
13135
ba21a04a
EB
131362014-04-28 Eric Botcazou <ebotcazou@adacore.com>
13137
13138 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
13139 * configure: Regenerate.
13140 * config/sparc/sparc.opt (muser-mode): New option.
13141 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
13142 for LEON3.
13143 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
13144 * doc/invoke.texi (SPARC options): Document -muser-mode.
13145
f956adb9
RS
131462014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
13147
13148 * cselib.c (find_slot_memmode): Delete.
13149 (cselib_hasher): Change compare_type to a struct.
13150 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
13151 constants.
13152 (preserve_constants_and_equivs): Adjust for new compare_type.
13153 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
13154 (wrap_constant): Delete.
13155 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
13156
167c3e96
MT
131572014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
13158
13159 * doc/install.texi (Building with profile feedback): Remove
13160 outdated sentence.
13161
4148ef5f
TV
131622014-04-26 Tom de Vries <tom@codesourcery.com>
13163
13164 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
13165 array accesses.
13166
8d8ffd86
CC
131672014-04-25 Cary Coutant <ccoutant@google.com>
13168
b6db8af6 13169 PR debug/60929
8d8ffd86 13170 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
13171 can contain a subprogram definition, but don't move it to a
13172 comdat unit.
8d8ffd86 13173 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
13174 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
13175 from original DIE.
8d8ffd86
CC
13176 (clone_tree_hash): Rename to...
13177 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 13178 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 13179 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 13180 type unit.
8d8ffd86 13181
255671b0
L
131822014-04-25 H.J. Lu <hongjiu.lu@intel.com>
13183
13184 PR target/60969
13185 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
13186 alternative 12.
13187
10432733
JW
131882014-04-25 Jiong Wang <jiong.wang@arm.com>
13189
13190 * config/arm/predicates.md (call_insn_operand): Add long_call check.
13191 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
13192 reg for long_call.
13193 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
13194 restriction.
13195
0e4c913f
KT
131962014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13197
b6db8af6 13198 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 13199
61ba7329
BS
132002014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13201
13202 PR tree-optimization/60930
13203 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
13204 creating a multiply candidate by folding two constant
13205 multiplicands when the result overflows.
13206
2b332829
JJ
132072014-04-25 Jakub Jelinek <jakub@redhat.com>
13208
13209 PR tree-optimization/60960
13210 * tree-vect-generic.c (expand_vector_operation): Only call
13211 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
13212
97891c11
TV
132132014-04-25 Tom de Vries <tom@codesourcery.com>
13214
13215 * expr.c (clobber_reg_mode): New function.
13216 * expr.h (clobber_reg): New function.
13217
3ee634fd
TV
132182014-04-25 Tom de Vries <tom@codesourcery.com>
13219
13220 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
13221 clobbers.
13222
356bf593 132232014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 13224 Tom de Vries <tom@codesourcery.com>
356bf593
RO
13225
13226 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
13227 handle.
13228 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
13229 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
13230 new argument to find_all_hard_reg_sets call.
13231
fe65a7ed
KT
132322014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13233
13234 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
13235 Use HOST_WIDE_INT_C for mask literal.
13236 (aarch_rev16_shleft_mask_imm_p): Likewise.
13237
b357d40d
EB
132382014-04-25 Eric Botcazou <ebotcazou@adacore.com>
13239
13240 PR target/60941
13241 * config/sparc/sparc.md (ashlsi3_extend): Delete.
13242
30c0a59a
MG
132432014-04-25 Marc Glisse <marc.glisse@inria.fr>
13244
13245 PR preprocessor/56540
13246 * config/i386/i386-c.c (ix86_target_macros): Define
13247 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
13248
c02f59e2
RO
132492014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13250
13251 * configure.ac (tga_func): Remove.
13252 (LIB_TLS_SPEC): Remove.
13253 * configure: Regenerate.
13254 * config.in: Regenerate.
13255 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
13256
92b3326b
RB
132572014-04-25 Richard Biener <rguenther@suse.de>
13258
13259 PR ipa/60912
13260 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
13261 call stmt use/clobber sets during stmt walk instead of
13262 walking the possibly incomplete set of caller edges.
13263
78422fb1
RB
132642014-04-25 Richard Biener <rguenther@suse.de>
13265
13266 PR ipa/60911
13267 * passes.c (apply_ipa_transforms): Inline into only caller ...
13268 (execute_one_pass): ... here. Properly bring in function
13269 bodies for nodes we want to apply IPA transforms to.
13270
56f8faae
CH
132712014-04-24 Cong Hou <congh@google.com>
13272
13273 PR tree-optimization/60896
13274 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
13275 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
13276 (vect_mark_pattern_stmts): Set the def type of all statements in
13277 PATTERN_DEF_SEQ as vect_internal_def.
13278
06b39289
MM
132792014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
13280
13281 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 13282 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
13283 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
13284
13285 * config/rs6000/predicates.md (const_0_to_3_operand): New
13286 predicate to match 0..3 integer constants.
13287
13288 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
13289 to support adding miscellaneous builtin functions.
13290 (BU_DFP_MISC_2): Likewise.
13291 (BU_P7_MISC_1): Likewise.
13292 (BU_P7_MISC_2): Likewise.
13293 (BU_P8V_MISC_3): Likewise.
13294 (BU_MISC_1): Likewise.
13295 (BU_MISC_2): Likewise.
13296 (DIVWE): Add extended divide builtin functions.
13297 (DIVWEO): Likewise.
13298 (DIVWEU): Likewise.
13299 (DIVWEUO): Likewise.
13300 (DIVDE): Likewise.
13301 (DIVDEO): Likewise.
13302 (DIVDEU): Likewise.
13303 (DIVDEUO): Likewise.
13304 (DXEX): Add decimal floating-point builtin functions.
13305 (DXEXQ): Likewise.
13306 (DDEDPD): Likewise.
13307 (DDEDPDQ): Likewise.
13308 (DENBCD): Likewise.
13309 (DENBCDQ): Likewise.
13310 (DIEX): Likewise.
13311 (DIEXQ): Likewise.
13312 (DSCLI): Likewise.
13313 (DSCLIQ): Likewise.
13314 (DSCRI): Likewise.
13315 (DSCRIQ): Likewise.
13316 (CDTBCD): Add new BCD builtin functions.
13317 (CBCDTD): Likewise.
13318 (ADDG6S): Likewise.
13319 (BCDADD): Likewise.
13320 (BCDADD_LT): Likewise.
13321 (BCDADD_EQ): Likewise.
13322 (BCDADD_GT): Likewise.
13323 (BCDADD_OV): Likewise.
13324 (BCDSUB): Likewise.
13325 (BCDSUB_LT): Likewise.
13326 (BCDSUB_EQ): Likewise.
13327 (BCDSUB_GT): Likewise.
13328 (BCDSUB_OV): Likewise.
13329 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
13330 (UNPACK_TD): Likewise.
13331 (PACK_TF): Likewise.
13332 (UNPACK_TF): Likewise.
13333 (UNPACK_TF_0): Likewise.
13334 (UNPACK_TF_1): Likewise.
13335 (PACK_V1TI): Likewise.
13336 (UNPACK_V1TI): Likewise.
13337
13338 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
13339 support for decimal floating point builtin functions.
13340 (rs6000_expand_ternop_builtin): Add checks for the new builtin
13341 functions that take constant arguments.
b6db8af6 13342 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
13343 (rs6000_init_builtins): Setup long double, _Decimal64, and
13344 _Decimal128 types for new builtin functions.
13345 (builtin_function_type): Set the unsigned flags appropriately for
13346 the new builtin functions.
13347 (rs6000_opt_masks): Add support for decimal floating point builtin
13348 functions.
13349
13350 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
13351 floating point builtin functions.
13352 (RS6000_BTM_COMMON): Likewise.
13353 (RS6000_BTI_long_double): Likewise.
13354 (RS6000_BTI_dfloat64): Likewise.
13355 (RS6000_BTI_dfloat128): Likewise.
13356 (long_double_type_internal_node): Likewise.
13357 (dfloat64_type_internal_node): Likewise.
13358 (dfloat128_type_internal_node): Likewise.
13359
13360 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
13361 2.07 bcd arithmetic instructions.
13362 (UNSPEC_BCDSUB): Likewise.
13363 (UNSPEC_BCD_OVERFLOW): Likewise.
13364 (UNSPEC_BCD_ADD_SUB): Likewise.
13365 (bcd_add_sub): Likewise.
13366 (BCD_TEST): Likewise.
13367 (bcd<bcd_add_sub>): Likewise.
13368 (bcd<bcd_add_sub>_test): Likewise.
13369 (bcd<bcd_add_sub>_test2): Likewise.
13370 (bcd<bcd_add_sub>_<code>): Likewise.
13371 (peephole2 for combined bcd ops): Likewise.
13372
13373 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
13374 decimal floating point builtin functions.
13375 (UNSPEC_DENBCD): Likewise.
13376 (UNSPEC_DXEX): Likewise.
13377 (UNSPEC_DIEX): Likewise.
13378 (UNSPEC_DSCLI): Likewise.
13379 (UNSPEC_DSCRI): Likewise.
13380 (D64_D128): Likewise.
13381 (dfp_suffix): Likewise.
13382 (dfp_ddedpd_<mode>): Likewise.
13383 (dfp_denbcd_<mode>): Likewise.
13384 (dfp_dxex_<mode>): Likewise.
13385 (dfp_diex_<mode>): Likewise.
13386 (dfp_dscli_<mode>): Likewise.
13387 (dfp_dscri_<mode>): Likewise.
13388
13389 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
13390 builtin functions.
13391 (UNSPEC_CDTBCD): Likewise.
13392 (UNSPEC_CBCDTD): Likewise.
b6db8af6 13393 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
13394 (UNSPEC_DIVEO): Likewise.
13395 (UNSPEC_DIVEU): Likewise.
13396 (UNSPEC_DIVEUO): Likewise.
13397 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
13398 pack/unpack 128-bit types.
13399 (UNSPEC_PACK_128BIT): Likewise.
13400 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
13401 (udiv<mode>3): Use idiv_ldiv mode attribute.
13402 (div<mode>3): Likewise.
13403 (addg6s): Add new BCD builtin functions.
13404 (cdtbcd): Likewise.
13405 (cbcdtd): Likewise.
b6db8af6 13406 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
13407 (div_extend): Likewise.
13408 (div<div_extend>_<mode>"): Likewise.
13409 (FP128_64): Add support for new builtin functions to pack/unpack
13410 128-bit types.
13411 (unpack<mode>): Likewise.
13412 (unpacktf_0): Likewise.
13413 (unpacktf_1): Likewise.
13414 (unpack<mode>_dm): Likewise.
13415 (unpack<mode>_nodm): Likewise.
13416 (pack<mode>): Likewise.
13417 (unpackv1ti): Likewise.
13418 (packv1ti): Likewise.
13419
6e4f81db
V
134202014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
13421
13422 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
13423 is disabled.
13424
f7468577
JJ
134252014-04-24 Jakub Jelinek <jakub@redhat.com>
13426
13427 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
13428 * gimplify.c (omp_is_private): Change last argument's type to int.
13429 Only diagnose lastprivate if the simd argument is 1, only diagnose
13430 linear if the simd argument is 2.
13431 (gimplify_omp_for): Adjust omp_is_private callers. When adding
13432 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
13433 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
13434 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
13435 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
13436 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
13437 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
13438 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
13439 * tree-nested.c (convert_nonlocal_omp_clauses,
13440 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
13441
2f7ac5ce
JL
134422014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
13443
13444 PR target/60822
13445 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
13446 operand 1.
13447
dcaaa5a0
DP
134482014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
13449
13450 * flag-types.h (enum ivar_visibility): Add.
13451
78c7d18e
TS
134522014-04-24 Trevor Saunders <tsaunders@mozilla.com>
13453
13454 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
13455 function * argument.
13456
fbbde65e
AL
134572014-04-24 Alan Lawrence <alan.lawrence@arm.com>
13458
13459 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
13460
4f660b15 134612014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 13462 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
13463
13464 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
13465 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
13466 reg-note.
13467 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
13468 * emit-rtl.c (try_split): Same.
13469
d996e61a 134702014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 13471 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
13472
13473 * common.opt (fuse-caller-save): New option.
13474
bbcc9c00
TB
134752014-04-24 Tejas Belagod <tejas.belagod@arm.com>
13476
b6db8af6
UB
13477 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
13478 elements for big-endian.
bbcc9c00 13479
d2d11532
RB
134802014-04-24 Richard Biener <rguenther@suse.de>
13481
13482 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
13483 during TER and instead use the sepops interface for expanding
13484 non-GIMPLE_SINGLE_RHS.
13485
8117ef98
RO
134862014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13487
13488 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
13489 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
13490
ab0afae3
RO
134912014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13492
13493 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
13494 assembler 64-bit option.
13495 * configure: Regenerate.
13496
683e3333
KT
134972014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13498
13499 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
13500 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
13501 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
13502 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
13503 (TARGET_CRYPTO): Take TARGET_SIMD into account.
13504
c7f28cd5
KT
135052014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13506
13507 * config/aarch64/aarch64-builtins.c
13508 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
13509 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
13510 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
13511 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
13512 builtins.
13513 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
13514 (Vrevsuff): New mode attribute.
13515
b0419491
TG
135162014-04-24 Terry Guo <terry.guo@arm.com>
13517
13518 * config/arm/arm.h (machine_function): Define variable
13519 after_arm_reorg here.
13520 * config/arm/arm.c (after_arm_reorg): Remove the definition.
13521 (arm_split_constant): Update the way to access variable
13522 after_arm_reorg.
13523 (arm_reorg): Ditto.
13524 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
13525
74e4d71a
TV
135262014-04-23 Tom de Vries <tom@codesourcery.com>
13527
13528 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
13529
7de90a6c
DM
135302014-04-23 David Malcolm <dmalcolm@redhat.com>
13531
13532 * is-a.h: Update comments to reflect the following changes to the
13533 "pointerness" of the API, making the template parameter match the
13534 return type, allowing use of is-a.h with typedefs of pointers.
13535 (is_a_helper::cast): Return a T rather then a pointer to a T, so
13536 that the return type matches the parameter to the is_a_helper.
13537 (as_a): Likewise.
13538 (dyn_cast): Likewise.
13539
13540 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
13541 pointer from the is-a.h API.
13542
13543 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
13544 (is_a_helper <cgraph_node *>::test): ...this, matching change to
13545 is-a.h API.
13546 (is_a_helper <varpool_node>::test): Likewise, convert to...
13547 (is_a_helper <varpool_node *>::test): ...this.
13548
13549 (varpool_first_variable): Update for removal of implicit pointer
13550 from the is-a.h API.
13551 (varpool_next_variable): Likewise.
13552 (varpool_first_static_initializer): Likewise.
13553 (varpool_next_static_initializer): Likewise.
13554 (varpool_first_defined_variable): Likewise.
13555 (varpool_next_defined_variable): Likewise.
13556 (cgraph_first_defined_function): Likewise.
13557 (cgraph_next_defined_function): Likewise.
13558 (cgraph_first_function): Likewise.
13559 (cgraph_next_function): Likewise.
13560 (cgraph_first_function_with_gimple_body): Likewise.
13561 (cgraph_next_function_with_gimple_body): Likewise.
13562 (cgraph_alias_target): Likewise.
13563 (varpool_alias_target): Likewise.
13564 (cgraph_function_or_thunk_node): Likewise.
13565 (varpool_variable_node): Likewise.
13566 (symtab_real_symbol_p): Likewise.
13567 * cgraphunit.c (referred_to_p): Likewise.
13568 (analyze_functions): Likewise.
13569 (handle_alias_pairs): Likewise.
13570 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
13571 * gimple-ssa.h (gimple_vuse_op): Likewise.
13572 (gimple_vdef_op): Likewise.
13573 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
13574 * gimple.c (gimple_build_asm_1): Likewise.
13575 (gimple_build_try): Likewise.
13576 (gimple_build_resx): Likewise.
13577 (gimple_build_eh_dispatch): Likewise.
13578 (gimple_build_omp_for): Likewise.
13579 (gimple_omp_for_set_clauses): Likewise.
13580
13581 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
13582 (is_a_helper <gimple_statement_asm *>::test): ...this.
13583 (is_a_helper <gimple_statement_bind>::test): Convert to...
13584 (is_a_helper <gimple_statement_bind *>::test): ...this.
13585 (is_a_helper <gimple_statement_call>::test): Convert to...
13586 (is_a_helper <gimple_statement_call *>::test): ...this.
13587 (is_a_helper <gimple_statement_catch>::test): Convert to...
13588 (is_a_helper <gimple_statement_catch *>::test): ...this.
13589 (is_a_helper <gimple_statement_resx>::test): Convert to...
13590 (is_a_helper <gimple_statement_resx *>::test): ...this.
13591 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
13592 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
13593 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
13594 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
13595 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
13596 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
13597 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
13598 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
13599 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
13600 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
13601 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
13602 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
13603 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
13604 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
13605 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
13606 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
13607 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
13608 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
13609 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
13610 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
13611 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
13612 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
13613 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
13614 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
13615 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
13616 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
13617 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
13618 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
13619 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
13620 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
13621 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
13622 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
13623 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
13624 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
13625 (is_a_helper <gimple_statement_phi>::test): Convert to...
13626 (is_a_helper <gimple_statement_phi *>::test): ...this.
13627 (is_a_helper <gimple_statement_transaction>::test): Convert to...
13628 (is_a_helper <gimple_statement_transaction *>::test): ...this.
13629 (is_a_helper <gimple_statement_try>::test): Convert to...
13630 (is_a_helper <gimple_statement_try *>::test): ...this.
13631 (is_a_helper <gimple_statement_wce>::test): Convert to...
13632 (is_a_helper <gimple_statement_wce *>::test): ...this.
13633 (is_a_helper <const gimple_statement_asm>::test): Convert to...
13634 (is_a_helper <const gimple_statement_asm *>::test): ...this.
13635 (is_a_helper <const gimple_statement_bind>::test): Convert to...
13636 (is_a_helper <const gimple_statement_bind *>::test): ...this.
13637 (is_a_helper <const gimple_statement_call>::test): Convert to...
13638 (is_a_helper <const gimple_statement_call *>::test): ...this.
13639 (is_a_helper <const gimple_statement_catch>::test): Convert to...
13640 (is_a_helper <const gimple_statement_catch *>::test): ...this.
13641 (is_a_helper <const gimple_statement_resx>::test): Convert to...
13642 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
13643 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
13644 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
13645 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
13646 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
13647 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
13648 Convert to...
13649 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
13650 ...this.
13651 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
13652 Convert to...
13653 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
13654 ...this.
b6db8af6 13655 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
13656 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
13657 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
13658 to...
13659 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
13660 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
13661 to...
13662 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
13663 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
13664 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 13665 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
13666 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
13667 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
13668 to...
13669 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 13670 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
13671 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
13672 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
13673 to...
13674 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 13675 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 13676 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 13677 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 13678 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 13679 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
13680 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
13681 (is_a_helper <const gimple_statement_phi>::test): Convert to...
13682 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 13683 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 13684 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 13685 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
13686 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
13687 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
13688 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
13689 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
13690 to...
7de90a6c
DM
13691 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
13692 ...this.
b6db8af6 13693 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
13694 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
13695
13696 (gimple_use_ops): Update for removal of implicit pointer from the
13697 is-a.h API.
13698 (gimple_set_use_ops): Likewise.
13699 (gimple_vuse): Likewise.
13700 (gimple_vdef): Likewise.
13701 (gimple_vuse_ptr): Likewise.
13702 (gimple_vdef_ptr): Likewise.
13703 (gimple_set_vuse): Likewise.
13704 (gimple_set_vdef): Likewise.
13705 (gimple_omp_return_set_lhs): Likewise.
13706 (gimple_omp_return_lhs): Likewise.
13707 (gimple_omp_return_lhs_ptr): Likewise.
13708 (gimple_call_fntype): Likewise.
13709 (gimple_call_set_fntype): Likewise.
13710 (gimple_call_set_internal_fn): Likewise.
13711 (gimple_call_use_set): Likewise.
13712 (gimple_call_clobber_set): Likewise.
13713 (gimple_bind_vars): Likewise.
13714 (gimple_bind_set_vars): Likewise.
13715 (gimple_bind_body_ptr): Likewise.
13716 (gimple_bind_set_body): Likewise.
13717 (gimple_bind_add_stmt): Likewise.
13718 (gimple_bind_block): Likewise.
13719 (gimple_bind_set_block): Likewise.
13720 (gimple_asm_ninputs): Likewise.
13721 (gimple_asm_noutputs): Likewise.
13722 (gimple_asm_nclobbers): Likewise.
13723 (gimple_asm_nlabels): Likewise.
13724 (gimple_asm_input_op): Likewise.
13725 (gimple_asm_input_op_ptr): Likewise.
13726 (gimple_asm_output_op): Likewise.
13727 (gimple_asm_output_op_ptr): Likewise.
13728 (gimple_asm_set_output_op): Likewise.
13729 (gimple_asm_clobber_op): Likewise.
13730 (gimple_asm_set_clobber_op): Likewise.
13731 (gimple_asm_label_op): Likewise.
13732 (gimple_asm_set_label_op): Likewise.
13733 (gimple_asm_string): Likewise.
13734 (gimple_catch_types): Likewise.
13735 (gimple_catch_types_ptr): Likewise.
13736 (gimple_catch_handler_ptr): Likewise.
13737 (gimple_catch_set_types): Likewise.
13738 (gimple_catch_set_handler): Likewise.
13739 (gimple_eh_filter_types): Likewise.
13740 (gimple_eh_filter_types_ptr): Likewise.
13741 (gimple_eh_filter_failure_ptr): Likewise.
13742 (gimple_eh_filter_set_types): Likewise.
13743 (gimple_eh_filter_set_failure): Likewise.
13744 (gimple_eh_must_not_throw_fndecl): Likewise.
13745 (gimple_eh_must_not_throw_set_fndecl): Likewise.
13746 (gimple_eh_else_n_body_ptr): Likewise.
13747 (gimple_eh_else_e_body_ptr): Likewise.
13748 (gimple_eh_else_set_n_body): Likewise.
13749 (gimple_eh_else_set_e_body): Likewise.
13750 (gimple_try_eval_ptr): Likewise.
13751 (gimple_try_cleanup_ptr): Likewise.
13752 (gimple_try_set_eval): Likewise.
13753 (gimple_try_set_cleanup): Likewise.
13754 (gimple_wce_cleanup_ptr): Likewise.
13755 (gimple_wce_set_cleanup): Likewise.
13756 (gimple_phi_capacity): Likewise.
13757 (gimple_phi_num_args): Likewise.
13758 (gimple_phi_result): Likewise.
13759 (gimple_phi_result_ptr): Likewise.
13760 (gimple_phi_set_result): Likewise.
13761 (gimple_phi_arg): Likewise.
13762 (gimple_phi_set_arg): Likewise.
13763 (gimple_resx_region): Likewise.
13764 (gimple_resx_set_region): Likewise.
13765 (gimple_eh_dispatch_region): Likewise.
13766 (gimple_eh_dispatch_set_region): Likewise.
13767 (gimple_omp_critical_name): Likewise.
13768 (gimple_omp_critical_name_ptr): Likewise.
13769 (gimple_omp_critical_set_name): Likewise.
13770 (gimple_omp_for_clauses): Likewise.
13771 (gimple_omp_for_clauses_ptr): Likewise.
13772 (gimple_omp_for_set_clauses): Likewise.
13773 (gimple_omp_for_collapse): Likewise.
13774 (gimple_omp_for_index): Likewise.
13775 (gimple_omp_for_index_ptr): Likewise.
13776 (gimple_omp_for_set_index): Likewise.
13777 (gimple_omp_for_initial): Likewise.
13778 (gimple_omp_for_initial_ptr): Likewise.
13779 (gimple_omp_for_set_initial): Likewise.
13780 (gimple_omp_for_final): Likewise.
13781 (gimple_omp_for_final_ptr): Likewise.
13782 (gimple_omp_for_set_final): Likewise.
13783 (gimple_omp_for_incr): Likewise.
13784 (gimple_omp_for_incr_ptr): Likewise.
13785 (gimple_omp_for_set_incr): Likewise.
13786 (gimple_omp_for_pre_body_ptr): Likewise.
13787 (gimple_omp_for_set_pre_body): Likewise.
13788 (gimple_omp_parallel_clauses): Likewise.
13789 (gimple_omp_parallel_clauses_ptr): Likewise.
13790 (gimple_omp_parallel_set_clauses): Likewise.
13791 (gimple_omp_parallel_child_fn): Likewise.
13792 (gimple_omp_parallel_child_fn_ptr): Likewise.
13793 (gimple_omp_parallel_set_child_fn): Likewise.
13794 (gimple_omp_parallel_data_arg): Likewise.
13795 (gimple_omp_parallel_data_arg_ptr): Likewise.
13796 (gimple_omp_parallel_set_data_arg): Likewise.
13797 (gimple_omp_task_clauses): Likewise.
13798 (gimple_omp_task_clauses_ptr): Likewise.
13799 (gimple_omp_task_set_clauses): Likewise.
13800 (gimple_omp_task_child_fn): Likewise.
13801 (gimple_omp_task_child_fn_ptr): Likewise.
13802 (gimple_omp_task_set_child_fn): Likewise.
13803 (gimple_omp_task_data_arg): Likewise.
13804 (gimple_omp_task_data_arg_ptr): Likewise.
13805 (gimple_omp_task_set_data_arg): Likewise.
13806 (gimple_omp_taskreg_clauses): Likewise.
13807 (gimple_omp_taskreg_clauses_ptr): Likewise.
13808 (gimple_omp_taskreg_set_clauses): Likewise.
13809 (gimple_omp_taskreg_child_fn): Likewise.
13810 (gimple_omp_taskreg_child_fn_ptr): Likewise.
13811 (gimple_omp_taskreg_set_child_fn): Likewise.
13812 (gimple_omp_taskreg_data_arg): Likewise.
13813 (gimple_omp_taskreg_data_arg_ptr): Likewise.
13814 (gimple_omp_taskreg_set_data_arg): Likewise.
13815 (gimple_omp_task_copy_fn): Likewise.
13816 (gimple_omp_task_copy_fn_ptr): Likewise.
13817 (gimple_omp_task_set_copy_fn): Likewise.
13818 (gimple_omp_task_arg_size): Likewise.
13819 (gimple_omp_task_arg_size_ptr): Likewise.
13820 (gimple_omp_task_set_arg_size): Likewise.
13821 (gimple_omp_task_arg_align): Likewise.
13822 (gimple_omp_task_arg_align_ptr): Likewise.
13823 (gimple_omp_task_set_arg_align): Likewise.
13824 (gimple_omp_single_clauses): Likewise.
13825 (gimple_omp_single_clauses_ptr): Likewise.
13826 (gimple_omp_single_set_clauses): Likewise.
13827 (gimple_omp_target_clauses): Likewise.
13828 (gimple_omp_target_clauses_ptr): Likewise.
13829 (gimple_omp_target_set_clauses): Likewise.
13830 (gimple_omp_target_child_fn): Likewise.
13831 (gimple_omp_target_child_fn_ptr): Likewise.
13832 (gimple_omp_target_set_child_fn): Likewise.
13833 (gimple_omp_target_data_arg): Likewise.
13834 (gimple_omp_target_data_arg_ptr): Likewise.
13835 (gimple_omp_target_set_data_arg): Likewise.
13836 (gimple_omp_teams_clauses): Likewise.
13837 (gimple_omp_teams_clauses_ptr): Likewise.
13838 (gimple_omp_teams_set_clauses): Likewise.
13839 (gimple_omp_sections_clauses): Likewise.
13840 (gimple_omp_sections_clauses_ptr): Likewise.
13841 (gimple_omp_sections_set_clauses): Likewise.
13842 (gimple_omp_sections_control): Likewise.
13843 (gimple_omp_sections_control_ptr): Likewise.
13844 (gimple_omp_sections_set_control): Likewise.
13845 (gimple_omp_for_set_cond): Likewise.
13846 (gimple_omp_for_cond): Likewise.
13847 (gimple_omp_atomic_store_set_val): Likewise.
13848 (gimple_omp_atomic_store_val): Likewise.
13849 (gimple_omp_atomic_store_val_ptr): Likewise.
13850 (gimple_omp_atomic_load_set_lhs): Likewise.
13851 (gimple_omp_atomic_load_lhs): Likewise.
13852 (gimple_omp_atomic_load_lhs_ptr): Likewise.
13853 (gimple_omp_atomic_load_set_rhs): Likewise.
13854 (gimple_omp_atomic_load_rhs): Likewise.
13855 (gimple_omp_atomic_load_rhs_ptr): Likewise.
13856 (gimple_omp_continue_control_def): Likewise.
13857 (gimple_omp_continue_control_def_ptr): Likewise.
13858 (gimple_omp_continue_set_control_def): Likewise.
13859 (gimple_omp_continue_control_use): Likewise.
13860 (gimple_omp_continue_control_use_ptr): Likewise.
13861 (gimple_omp_continue_set_control_use): Likewise.
13862 (gimple_transaction_body_ptr): Likewise.
13863 (gimple_transaction_label): Likewise.
13864 (gimple_transaction_label_ptr): Likewise.
13865 (gimple_transaction_set_body): Likewise.
13866 (gimple_transaction_set_label): Likewise.
13867
13868 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
13869 * ipa-inline-analysis.c (inline_write_summary): Likewise.
13870 * ipa-ref.c (ipa_record_reference): Likewise.
13871 * ipa-reference.c (analyze_function): Likewise.
13872 (ipa_reference_write_optimization_summary): Likewise.
13873 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
13874 (address_taken_from_non_vtable_p): Likewise.
13875 (comdat_can_be_unshared_p_1): Likewise.
13876 * lto-cgraph.c (lto_output_ref): Likewise.
13877 (add_references): Likewise.
13878 (compute_ltrans_boundary): Likewise.
13879 (output_symtab): Likewise.
13880 (input_ref): Likewise.
13881 (input_cgraph_1): Likewise.
13882 (output_cgraph_opt_summary): Likewise.
13883 * lto-streamer-out.c (lto_output): Likewise.
13884 (output_symbol_p): Likewise.
13885 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
13886 (lsei_start_function_in_partition): Likewise.
13887 (lsei_next_variable_in_partition): Likewise.
13888 (lsei_start_variable_in_partition): Likewise.
13889 * symtab.c (insert_to_assembler_name_hash): Likewise.
13890 (unlink_from_assembler_name_hash): Likewise.
13891 (symtab_unregister_node): Likewise.
13892 (symtab_remove_node): Likewise.
13893 (dump_symtab_node): Likewise.
13894 (verify_symtab_base): Likewise.
13895 (verify_symtab_node): Likewise.
13896 (symtab_make_decl_local): Likewise.
13897 (symtab_alias_ultimate_target): Likewise.
13898 (symtab_resolve_alias): Likewise.
13899 (symtab_get_symbol_partitioning_class): Likewise.
13900 * tree-phinodes.c (allocate_phi_node): Likewise.
13901 (reserve_phi_args_for_new_edge): Likewise.
13902 (remove_phi_args): Likewise.
13903 * varpool.c (varpool_node_for_asm): Likewise.
13904 (varpool_remove_unreferenced_decls): Likewise.
13905
9219922e
JL
139062014-04-23 Jeff Law <law@redhat.com>
13907
13908 PR tree-optimization/60902
13909 * tree-ssa-threadedge.c
13910 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
13911 invalidate outputs from statements that do not produce useful
13912 outputs for threading.
13913
b6db8af6 139142014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
13915
13916 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
13917 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
13918 machine descriptions for Stack Smashing Protector.
13919
57b77d46
RE
139202014-04-23 Richard Earnshaw <rearnsha@arm.com>
13921
13922 * aarch64.md (<optab>_rol<mode>3): New pattern.
13923 (<optab>_rolsi3_uxtw): Likewise.
13924 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
13925
984c2f30
JG
139262014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
13927
13928 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
13929 (arm_cortex_a12_tune): Likewise.
13930
18b42b2a
KT
139312014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13932
13933 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
13934
ea1e9168
KT
139352014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13936
13937 * config/arm/arm.md (arm_rev16si2): New pattern.
13938 (arm_rev16si2_alt): Likewise.
13939 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
13940
f7d5cf8d
KT
139412014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13942
b6db8af6
UB
13943 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
13944 (rev16<mode>2_alt): Likewise.
13945 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
13946 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
13947 (aarch_rev16_shleft_mask_imm_p): Likewise.
13948 (aarch_rev16_p_1): Likewise.
13949 (aarch_rev16_p): Likewise.
13950 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
13951 (aarch_rev16_shright_mask_imm_p): Likewise.
13952 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 13953
9ac05ae5
KT
139542014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13955
b6db8af6
UB
13956 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
13957 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
13958 rev cost.
13959 (cortex_a53_extra_costs): Likewise.
13960 (cortex_a57_extra_costs): Likewise.
13961 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
13962 (cortexa7_extra_costs): Likewise.
13963 (cortexa8_extra_costs): Likewise.
13964 (cortexa12_extra_costs): Likewise.
13965 (cortexa15_extra_costs): Likewise.
13966 (v7m_extra_costs): Likewise.
13967 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 13968
e0d8c86c
KT
139692013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13970
b6db8af6
UB
13971 * config/arm/arm.c (cortexa8_extra_costs): New table.
13972 (arm_cortex_a8_tune): New tuning struct.
13973 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 13974
ba9b1a63
KT
139752014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13976
b6db8af6 13977 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 13978
da4cfeac
RB
139792014-04-23 Richard Biener <rguenther@suse.de>
13980
13981 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
13982 * tree-pass.h (make_pass_rtl_unswitch): Remove.
13983 * passes.def (pass_rtl_unswitch): Likewise.
13984 * loop-init.c (gate_rtl_unswitch): Likewise.
13985 (rtl_unswitch): Likewise.
13986 (pass_data_rtl_unswitch): Likewise.
13987 (pass_rtl_unswitch): Likewise.
13988 (make_pass_rtl_unswitch): Likewise.
13989 * rtl.h (reversed_condition): Likewise.
13990 (compare_and_jump_seq): Likewise.
13991 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
13992 and make static.
13993 * loop-unroll.c (compare_and_jump_seq): Likewise.
13994
22718afe
RB
139952014-04-23 Richard Biener <rguenther@suse.de>
13996
13997 PR tree-optimization/60903
13998 * tree-ssa-loop-im.c (analyze_memory_references): Remove
13999 commented code block.
14000 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
14001 loop flags to newly created BBs and edges.
14002
f7961364
NC
140032014-04-23 Nick Clifton <nickc@redhat.com>
14004
14005 * config/msp430/msp430.c (msp430_handle_option): Move function
14006 to msp430-common.c
14007 (msp430_option_override): Simplify mcu and mcpu option handling.
14008 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
14009 support for -mhwmult command line option.
14010 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
14011 -mhwmult command line option.
14012 (msp430_hwmult_enabled): Delete.
b6db8af6 14013 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
14014 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
14015 (umulsidi3): Likewise.
14016 * config/msp430/msp430.opt (mmcu): Add Report attribute.
14017 (mcpu, mlarge, msmall): Likewise.
14018 (mhwmult): New option.
14019 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
14020 prototype.
14021 (msp430_is_f5_mcu): Remove prototype.
14022 (msp430_use_f5_series_hwmult): Add prototype.
14023 * config/msp430/msp430-opts.h: New file.
14024 * common/config/msp430: New directory.
14025 * common/config/msp430/msp430-common.c: New file.
14026 * config.gcc (msp430): Remove target_has_targetm_common.
14027 * doc/invoke.texi: Document -mhwmult command line option.
14028
f70df035
NC
140292014-04-23 Nick Clifton <nickc@redhat.com>
14030
14031 * config/i386/cygwin.h (ENDFILE_SPEC): Include
14032 default-manifest.o if it can be found in the search path.
14033 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
14034
6a9accca
TG
140352014-04-23 Terry Guo <terry.guo@arm.com>
14036
14037 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
14038
62ba699e
RB
140392014-04-23 Richard Biener <rguenther@suse.de>
14040
14041 PR middle-end/60895
14042 * tree-inline.c (declare_return_variable): Use mark_addressable.
14043
92562f88
RB
140442014-04-23 Richard Biener <rguenther@suse.de>
14045
14046 PR middle-end/60891
14047 * loop-init.c (loop_optimizer_init): Make sure to apply
14048 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
14049
1c33c9b7
JJ
140502014-04-22 Jakub Jelinek <jakub@redhat.com>
14051
14052 PR sanitizer/60275
14053 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
14054 New options.
14055 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
14056 if flag_sanitize_undefined_trap_on_error.
14057 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
14058 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
14059 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
14060 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
14061 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
14062 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
14063 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
14064 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
14065 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
14066 * ubsan.c (ubsan_instrument_unreachable): Return
14067 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
14068 (ubsan_expand_null_ifn): Emit __builtin_trap ()
14069 if flag_sanitize_undefined_trap_on_error and
14070 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
14071 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
14072 instrument_bool_enum_load): Emit __builtin_trap () if
14073 flag_sanitize_undefined_trap_on_error and
14074 __builtin_handle_*_abort () if !flag_sanitize_recover.
14075 * doc/invoke.texi (-fsanitize-recover,
14076 -fsanitize-undefined-trap-on-error): Document.
14077
5e66b2e5
CB
140782014-04-22 Christian Bruel <christian.bruel@st.com>
14079
14080 * config/sh/sh.md (mov<mode>): Replace movQIHI.
14081 Force immediates to SImode.
14082
aa221564
SL
140832014-04-22 Sandra Loosemore <sandra@codesourcery.com>
14084
14085 * config/nios2/nios2.md (UNSPEC_ROUND): New.
14086 (lroundsfsi2): New.
14087 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
14088 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
14089 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
14090 (nios2_fpu_insn): Add entry for round.
14091 (N2FPU_NO_ERRNO_P): Define.
14092 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
14093 flag_errno_math.
14094 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
14095
2195867f
RH
140962014-04-22 Richard Henderson <rth@redhat.com>
14097
14098 * config/aarch64/aarch64 (addti3, subti3): New expanders.
14099 (add<GPI>3_compare0): Remove leading * from name.
14100 (add<GPI>3_carryin): Likewise.
14101 (sub<GPI>3_compare0): Likewise.
14102 (sub<GPI>3_carryin): Likewise.
14103 (<su_optab>mulditi3): New expander.
14104 (multi3): New expander.
14105 (madd<GPI>): Remove leading * from name.
14106
c6d43074
MJ
141072014-04-22 Martin Jambor <mjambor@suse.cz>
14108
14109 * cgraphclones.c (cgraph_function_versioning): Copy
14110 ipa_transforms_to_apply instead of asserting it is empty.
14111
e54c2dd3
L
141122014-04-22 H.J. Lu <hongjiu.lu@intel.com>
14113
14114 PR target/60868
f70df035 14115 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
14116 on count_exp to get mode.
14117
621ad2de
AP
141182014-04-22 Andrew Pinski <apinski@cavium.com>
14119
14120 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
14121 Handle TLS for ILP32.
14122 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
14123 (tlsie_small_<mode>): this and handle PTR.
14124 (tlsie_small_sidi): New pattern.
14125 (tlsle_small): Change to an expand to handle ILP32.
14126 (tlsle_small_<mode>): New pattern.
14127 (tlsdesc_small): Rename to ...
14128 (tlsdesc_small_<mode>): this and handle PTR.
14129
5cb74e90
RR
141302014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14131
14132 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
14133
bcd48995
AV
141342014-04-22 Alex Velenko <Alex.Velenko@arm.com>
14135
14136 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
14137 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
14138 (aarch64_types_signed_poly_qualifiers): Likewise.
14139 (aarch64_types_unsigned_signed_qualifiers): Likewise.
14140 (aarch64_types_poly_signed_qualifiers): Likewise.
14141 (TYPES_REINTERP_SS): Type macro added.
14142 (TYPES_REINTERP_SU): Likewise.
14143 (TYPES_REINTERP_SP): Likewise.
14144 (TYPES_REINTERP_US): Likewise.
14145 (TYPES_REINTERP_PS): Likewise.
14146 (aarch64_fold_builtin): New expression folding added.
14147 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
14148 Declarations removed.
14149 (REINTERP_SS): Declarations added.
14150 (REINTERP_US): Likewise.
14151 (REINTERP_PS): Likewise.
14152 (REINTERP_SU): Likewise.
14153 (REINTERP_SP): Likewise.
14154 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
14155 (vreinterpretq_p8_f64): Likewise.
14156 (vreinterpret_p16_f64): Likewise.
14157 (vreinterpretq_p16_f64): Likewise.
14158 (vreinterpret_f32_f64): Likewise.
14159 (vreinterpretq_f32_f64): Likewise.
14160 (vreinterpret_f64_f32): Likewise.
14161 (vreinterpret_f64_p8): Likewise.
14162 (vreinterpret_f64_p16): Likewise.
14163 (vreinterpret_f64_s8): Likewise.
14164 (vreinterpret_f64_s16): Likewise.
14165 (vreinterpret_f64_s32): Likewise.
14166 (vreinterpret_f64_s64): Likewise.
14167 (vreinterpret_f64_u8): Likewise.
14168 (vreinterpret_f64_u16): Likewise.
14169 (vreinterpret_f64_u32): Likewise.
14170 (vreinterpret_f64_u64): Likewise.
14171 (vreinterpretq_f64_f32): Likewise.
14172 (vreinterpretq_f64_p8): Likewise.
14173 (vreinterpretq_f64_p16): Likewise.
14174 (vreinterpretq_f64_s8): Likewise.
14175 (vreinterpretq_f64_s16): Likewise.
14176 (vreinterpretq_f64_s32): Likewise.
14177 (vreinterpretq_f64_s64): Likewise.
14178 (vreinterpretq_f64_u8): Likewise.
14179 (vreinterpretq_f64_u16): Likewise.
14180 (vreinterpretq_f64_u32): Likewise.
14181 (vreinterpretq_f64_u64): Likewise.
14182 (vreinterpret_s64_f64): Likewise.
14183 (vreinterpretq_s64_f64): Likewise.
14184 (vreinterpret_u64_f64): Likewise.
14185 (vreinterpretq_u64_f64): Likewise.
14186 (vreinterpret_s8_f64): Likewise.
14187 (vreinterpretq_s8_f64): Likewise.
14188 (vreinterpret_s16_f64): Likewise.
14189 (vreinterpretq_s16_f64): Likewise.
14190 (vreinterpret_s32_f64): Likewise.
14191 (vreinterpretq_s32_f64): Likewise.
14192 (vreinterpret_u8_f64): Likewise.
14193 (vreinterpretq_u8_f64): Likewise.
14194 (vreinterpret_u16_f64): Likewise.
14195 (vreinterpretq_u16_f64): Likewise.
14196 (vreinterpret_u32_f64): Likewise.
14197 (vreinterpretq_u32_f64): Likewise.
14198
0bf3afc1
AV
141992014-04-22 Alex Velenko <Alex.Velenko@arm.com>
14200
14201 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
14202 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
14203 (vreinterpret_p8_s8): Likewise.
14204 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
14205 (vreinterpret_p8_s16): Likewise.
14206 (vreinterpret_p8_s32): Likewise.
14207 (vreinterpret_p8_s64): Likewise.
14208 (vreinterpret_p8_f32): Likewise.
14209 (vreinterpret_p8_u8): Likewise.
14210 (vreinterpret_p8_u16): Likewise.
14211 (vreinterpret_p8_u32): Likewise.
14212 (vreinterpret_p8_u64): Likewise.
14213 (vreinterpret_p8_p16): Likewise.
14214 (vreinterpretq_p8_s8): Likewise.
14215 (vreinterpretq_p8_s16): Likewise.
14216 (vreinterpretq_p8_s32): Likewise.
14217 (vreinterpretq_p8_s64): Likewise.
14218 (vreinterpretq_p8_f32): Likewise.
14219 (vreinterpretq_p8_u8): Likewise.
14220 (vreinterpretq_p8_u16): Likewise.
14221 (vreinterpretq_p8_u32): Likewise.
14222 (vreinterpretq_p8_u64): Likewise.
14223 (vreinterpretq_p8_p16): Likewise.
14224 (vreinterpret_p16_s8): Likewise.
14225 (vreinterpret_p16_s16): Likewise.
14226 (vreinterpret_p16_s32): Likewise.
14227 (vreinterpret_p16_s64): Likewise.
14228 (vreinterpret_p16_f32): Likewise.
14229 (vreinterpret_p16_u8): Likewise.
14230 (vreinterpret_p16_u16): Likewise.
14231 (vreinterpret_p16_u32): Likewise.
14232 (vreinterpret_p16_u64): Likewise.
14233 (vreinterpret_p16_p8): Likewise.
14234 (vreinterpretq_p16_s8): Likewise.
14235 (vreinterpretq_p16_s16): Likewise.
14236 (vreinterpretq_p16_s32): Likewise.
14237 (vreinterpretq_p16_s64): Likewise.
14238 (vreinterpretq_p16_f32): Likewise.
14239 (vreinterpretq_p16_u8): Likewise.
14240 (vreinterpretq_p16_u16): Likewise.
14241 (vreinterpretq_p16_u32): Likewise.
14242 (vreinterpretq_p16_u64): Likewise.
14243 (vreinterpretq_p16_p8): Likewise.
14244 (vreinterpret_f32_s8): Likewise.
14245 (vreinterpret_f32_s16): Likewise.
14246 (vreinterpret_f32_s32): Likewise.
14247 (vreinterpret_f32_s64): Likewise.
14248 (vreinterpret_f32_u8): Likewise.
14249 (vreinterpret_f32_u16): Likewise.
14250 (vreinterpret_f32_u32): Likewise.
14251 (vreinterpret_f32_u64): Likewise.
14252 (vreinterpret_f32_p8): Likewise.
14253 (vreinterpret_f32_p16): Likewise.
14254 (vreinterpretq_f32_s8): Likewise.
14255 (vreinterpretq_f32_s16): Likewise.
14256 (vreinterpretq_f32_s32): Likewise.
14257 (vreinterpretq_f32_s64): Likewise.
14258 (vreinterpretq_f32_u8): Likewise.
14259 (vreinterpretq_f32_u16): Likewise.
14260 (vreinterpretq_f32_u32): Likewise.
14261 (vreinterpretq_f32_u64): Likewise.
14262 (vreinterpretq_f32_p8): Likewise.
14263 (vreinterpretq_f32_p16): Likewise.
14264 (vreinterpret_s64_s8): Likewise.
14265 (vreinterpret_s64_s16): Likewise.
14266 (vreinterpret_s64_s32): Likewise.
14267 (vreinterpret_s64_f32): Likewise.
14268 (vreinterpret_s64_u8): Likewise.
14269 (vreinterpret_s64_u16): Likewise.
14270 (vreinterpret_s64_u32): Likewise.
14271 (vreinterpret_s64_u64): Likewise.
14272 (vreinterpret_s64_p8): Likewise.
14273 (vreinterpret_s64_p16): Likewise.
14274 (vreinterpretq_s64_s8): Likewise.
14275 (vreinterpretq_s64_s16): Likewise.
14276 (vreinterpretq_s64_s32): Likewise.
14277 (vreinterpretq_s64_f32): Likewise.
14278 (vreinterpretq_s64_u8): Likewise.
14279 (vreinterpretq_s64_u16): Likewise.
14280 (vreinterpretq_s64_u32): Likewise.
14281 (vreinterpretq_s64_u64): Likewise.
14282 (vreinterpretq_s64_p8): Likewise.
14283 (vreinterpretq_s64_p16): Likewise.
14284 (vreinterpret_u64_s8): Likewise.
14285 (vreinterpret_u64_s16): Likewise.
14286 (vreinterpret_u64_s32): Likewise.
14287 (vreinterpret_u64_s64): Likewise.
14288 (vreinterpret_u64_f32): Likewise.
14289 (vreinterpret_u64_u8): Likewise.
14290 (vreinterpret_u64_u16): Likewise.
14291 (vreinterpret_u64_u32): Likewise.
14292 (vreinterpret_u64_p8): Likewise.
14293 (vreinterpret_u64_p16): Likewise.
14294 (vreinterpretq_u64_s8): Likewise.
14295 (vreinterpretq_u64_s16): Likewise.
14296 (vreinterpretq_u64_s32): Likewise.
14297 (vreinterpretq_u64_s64): Likewise.
14298 (vreinterpretq_u64_f32): Likewise.
14299 (vreinterpretq_u64_u8): Likewise.
14300 (vreinterpretq_u64_u16): Likewise.
14301 (vreinterpretq_u64_u32): Likewise.
14302 (vreinterpretq_u64_p8): Likewise.
14303 (vreinterpretq_u64_p16): Likewise.
14304 (vreinterpret_s8_s16): Likewise.
14305 (vreinterpret_s8_s32): Likewise.
14306 (vreinterpret_s8_s64): Likewise.
14307 (vreinterpret_s8_f32): Likewise.
14308 (vreinterpret_s8_u8): Likewise.
14309 (vreinterpret_s8_u16): Likewise.
14310 (vreinterpret_s8_u32): Likewise.
14311 (vreinterpret_s8_u64): Likewise.
14312 (vreinterpret_s8_p8): Likewise.
14313 (vreinterpret_s8_p16): Likewise.
14314 (vreinterpretq_s8_s16): Likewise.
14315 (vreinterpretq_s8_s32): Likewise.
14316 (vreinterpretq_s8_s64): Likewise.
14317 (vreinterpretq_s8_f32): Likewise.
14318 (vreinterpretq_s8_u8): Likewise.
14319 (vreinterpretq_s8_u16): Likewise.
14320 (vreinterpretq_s8_u32): Likewise.
14321 (vreinterpretq_s8_u64): Likewise.
14322 (vreinterpretq_s8_p8): Likewise.
14323 (vreinterpretq_s8_p16): Likewise.
14324 (vreinterpret_s16_s8): Likewise.
14325 (vreinterpret_s16_s32): Likewise.
14326 (vreinterpret_s16_s64): Likewise.
14327 (vreinterpret_s16_f32): Likewise.
14328 (vreinterpret_s16_u8): Likewise.
14329 (vreinterpret_s16_u16): Likewise.
14330 (vreinterpret_s16_u32): Likewise.
14331 (vreinterpret_s16_u64): Likewise.
14332 (vreinterpret_s16_p8): Likewise.
14333 (vreinterpret_s16_p16): Likewise.
14334 (vreinterpretq_s16_s8): Likewise.
14335 (vreinterpretq_s16_s32): Likewise.
14336 (vreinterpretq_s16_s64): Likewise.
14337 (vreinterpretq_s16_f32): Likewise.
14338 (vreinterpretq_s16_u8): Likewise.
14339 (vreinterpretq_s16_u16): Likewise.
14340 (vreinterpretq_s16_u32): Likewise.
14341 (vreinterpretq_s16_u64): Likewise.
14342 (vreinterpretq_s16_p8): Likewise.
14343 (vreinterpretq_s16_p16): Likewise.
14344 (vreinterpret_s32_s8): Likewise.
14345 (vreinterpret_s32_s16): Likewise.
14346 (vreinterpret_s32_s64): Likewise.
14347 (vreinterpret_s32_f32): Likewise.
14348 (vreinterpret_s32_u8): Likewise.
14349 (vreinterpret_s32_u16): Likewise.
14350 (vreinterpret_s32_u32): Likewise.
14351 (vreinterpret_s32_u64): Likewise.
14352 (vreinterpret_s32_p8): Likewise.
14353 (vreinterpret_s32_p16): Likewise.
14354 (vreinterpretq_s32_s8): Likewise.
14355 (vreinterpretq_s32_s16): Likewise.
14356 (vreinterpretq_s32_s64): Likewise.
14357 (vreinterpretq_s32_f32): Likewise.
14358 (vreinterpretq_s32_u8): Likewise.
14359 (vreinterpretq_s32_u16): Likewise.
14360 (vreinterpretq_s32_u32): Likewise.
14361 (vreinterpretq_s32_u64): Likewise.
14362 (vreinterpretq_s32_p8): Likewise.
14363 (vreinterpretq_s32_p16): Likewise.
14364 (vreinterpret_u8_s8): Likewise.
14365 (vreinterpret_u8_s16): Likewise.
14366 (vreinterpret_u8_s32): Likewise.
14367 (vreinterpret_u8_s64): Likewise.
14368 (vreinterpret_u8_f32): Likewise.
14369 (vreinterpret_u8_u16): Likewise.
14370 (vreinterpret_u8_u32): Likewise.
14371 (vreinterpret_u8_u64): Likewise.
14372 (vreinterpret_u8_p8): Likewise.
14373 (vreinterpret_u8_p16): Likewise.
14374 (vreinterpretq_u8_s8): Likewise.
14375 (vreinterpretq_u8_s16): Likewise.
14376 (vreinterpretq_u8_s32): Likewise.
14377 (vreinterpretq_u8_s64): Likewise.
14378 (vreinterpretq_u8_f32): Likewise.
14379 (vreinterpretq_u8_u16): Likewise.
14380 (vreinterpretq_u8_u32): Likewise.
14381 (vreinterpretq_u8_u64): Likewise.
14382 (vreinterpretq_u8_p8): Likewise.
14383 (vreinterpretq_u8_p16): Likewise.
14384 (vreinterpret_u16_s8): Likewise.
14385 (vreinterpret_u16_s16): Likewise.
14386 (vreinterpret_u16_s32): Likewise.
14387 (vreinterpret_u16_s64): Likewise.
14388 (vreinterpret_u16_f32): Likewise.
14389 (vreinterpret_u16_u8): Likewise.
14390 (vreinterpret_u16_u32): Likewise.
14391 (vreinterpret_u16_u64): Likewise.
14392 (vreinterpret_u16_p8): Likewise.
14393 (vreinterpret_u16_p16): Likewise.
14394 (vreinterpretq_u16_s8): Likewise.
14395 (vreinterpretq_u16_s16): Likewise.
14396 (vreinterpretq_u16_s32): Likewise.
14397 (vreinterpretq_u16_s64): Likewise.
14398 (vreinterpretq_u16_f32): Likewise.
14399 (vreinterpretq_u16_u8): Likewise.
14400 (vreinterpretq_u16_u32): Likewise.
14401 (vreinterpretq_u16_u64): Likewise.
14402 (vreinterpretq_u16_p8): Likewise.
14403 (vreinterpretq_u16_p16): Likewise.
14404 (vreinterpret_u32_s8): Likewise.
14405 (vreinterpret_u32_s16): Likewise.
14406 (vreinterpret_u32_s32): Likewise.
14407 (vreinterpret_u32_s64): Likewise.
14408 (vreinterpret_u32_f32): Likewise.
14409 (vreinterpret_u32_u8): Likewise.
14410 (vreinterpret_u32_u16): Likewise.
14411 (vreinterpret_u32_u64): Likewise.
14412 (vreinterpret_u32_p8): Likewise.
14413 (vreinterpret_u32_p16): Likewise.
14414 (vreinterpretq_u32_s8): Likewise.
14415 (vreinterpretq_u32_s16): Likewise.
14416 (vreinterpretq_u32_s32): Likewise.
14417 (vreinterpretq_u32_s64): Likewise.
14418 (vreinterpretq_u32_f32): Likewise.
14419 (vreinterpretq_u32_u8): Likewise.
14420 (vreinterpretq_u32_u16): Likewise.
14421 (vreinterpretq_u32_u64): Likewise.
14422 (vreinterpretq_u32_p8): Likewise.
14423 (vreinterpretq_u32_p16): Likewise.
14424
9551c7ec
AV
144252014-04-22 Alex Velenko <Alex.Velenko@arm.com>
14426
14427 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
14428 Pattern extended.
b6db8af6 14429 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
14430 (sqabs): Likewise.
14431 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
14432 (vqnegd_s64): Likewise.
14433 (vqabs_s64): Likewise.
14434 (vqabsd_s64): Likewise.
14435
f2a2c4b5
RH
144362014-04-22 Richard Henderson <rth@redhat.com>
14437
14438 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
14439 computation to the top of the loop.
14440
53e5ace2
RL
144412014-04-22 Renlin <renlin.li@arm.com>
14442 Jiong Wang <jiong.wang@arm.com>
14443
14444 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
14445 * config/aarch64/aarch64.c (aarch64_layout_frame)
14446 (aarch64_initial_elimination_offset): Likewise.
14447
78c29983
MS
144482014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
14449
14450 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
14451 Fix indentation.
14452
dbf23a79
RS
144532014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
14454
14455 * machmode.h (bitwise_mode_for_mode): Declare.
14456 * stor-layout.h (bitwise_type_for_mode): Likewise.
14457 * stor-layout.c (bitwise_mode_for_mode): New function.
14458 (bitwise_type_for_mode): Likewise.
14459 * builtins.c (fold_builtin_memory_op): Use it instead of
14460 int_mode_for_mode and build_nonstandard_integer_type.
14461
d9f069ab
RO
144622014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14463
14464 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
14465 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
14466 (*-*-solaris2*): Simplify.
14467 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
14468 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
14469 *-*-solaris2.9* handling.
14470
14471 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
14472 as bug.
14473 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
14474 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
14475 handling, simplify.
14476 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
14477 * configure: Regenerate.
14478
14479 * config/i386/sol2-9.h: Remove.
14480
14481 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
14482 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
14483 Remove Solaris 9 references.
14484
0d35c5c2
VP
144852014-04-22 Vidya Praveen <vidyapraveen@arm.com>
14486
14487 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
14488 (floatuns<GPI:mode><GPF:mode>2): Remove.
14489 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
14490 and floatuns conversions.
14491 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
14492 and floatuns conversions.
14493 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
14494 (w1,w2): New mode attributes for inequal width conversions.
14495
16a3246f
RL
144962014-04-22 Renlin Li <Renlin.Li@arm.com>
14497
14498 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
14499 the output asm format.
14500
110e1ccc
JG
145012014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
14502
14503 * config/aarch64/aarch64-simd.md
14504 (aarch64_cm<optab>di): Always split.
14505 (*aarch64_cm<optab>di): New.
14506 (aarch64_cmtstdi): Always split.
14507 (*aarch64_cmtstdi): New.
14508
2044a4c3
JJ
145092014-04-22 Jakub Jelinek <jakub@redhat.com>
14510
14511 PR tree-optimization/60823
14512 * omp-low.c (ipa_simd_modify_function_body): Go through
14513 all SSA_NAMEs and for those refering to vector arguments
14514 which are going to be replaced adjust SSA_NAME_VAR and,
14515 if it is a default definition, change it into a non-default
14516 definition assigned at the beginning of function from new_decl.
14517 (ipa_simd_modify_stmt_ops): Rewritten.
14518 * tree-dfa.c (set_ssa_default_def): When removing default def,
14519 check for NULL loc instead of NULL *loc.
14520
9d8b4d1c
RR
145212014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14522
14523 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
14524 restrictions on core registers for DImode values in Thumb2.
14525
a01be1ae
IB
145262014-04-22 Ian Bolton <ian.bolton@arm.com>
14527
14528 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
14529 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
14530
80d3417b
IB
145312014-04-22 Ian Bolton <ian.bolton@arm.com>
14532
14533 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
14534 (*iordi_notzesidi_di): Likewise.
14535 (*iordi_notsesidi_di): Likewise.
14536
46fbb3eb
IB
145372014-04-22 Ian Bolton <ian.bolton@arm.com>
14538
14539 * config/arm/arm-protos.h (tune_params): New struct members.
14540 * config/arm/arm.c: Initialise tune_params per processor.
14541 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
14542 for speed, based on new tune_params.
14543
74dc11ed
AV
145442014-04-22 Alex Velenko <Alex.Velenko@arm.com>
14545
b6db8af6
UB
14546 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
14547 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
14548 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
14549 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
14550 * config/aarch64/arm_neon.h (vrnd_f64): Added.
14551 (vrnda_f64): Likewise.
14552 (vrndi_f64): Likewise.
14553 (vrndm_f64): Likewise.
14554 (vrndn_f64): Likewise.
14555 (vrndp_f64): Likewise.
14556 (vrndx_f64): Likewise.
14557
35923e46
ZC
145582014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
14559
14560 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
14561 GET_MODE_SIZE argument is enum machine_mode.
14562
4552e70c
JJ
145632014-04-22 Jakub Jelinek <jakub@redhat.com>
14564
14565 PR target/60910
14566 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
14567 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
14568
e5dcd695
LZ
145692014-04-22 Lin Zuojian <manjian2006@gmail.com>
14570
14571 PR middle-end/60281
14572 * asan.c (asan_emit_stack_protection): Force the base to align to
14573 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
14574 appropriate bits if STRICT_ALIGNMENT.
14575 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
14576 when asan is on.
14577 (expand_used_vars): Leave a space in the stack frame for alignment
14578 if STRICT_ALIGNMENT.
14579
7455080c
DM
145802014-04-21 David Malcolm <dmalcolm@redhat.com>
14581
14582 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
14583 than a gimple.
14584 (gimple_store_p): Likewise.
14585 (gimple_assign_load_p): Likewise.
14586 (gimple_assign_cast_p): Likewise.
14587 (gimple_clobber_p): Likewise.
14588
14589 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
14590 rather than a gimple.
14591 (gimple_assign_cast_p): Likewise.
14592
aeb9579a
MM
145932014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
14594
14595 PR target/60735
14596 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
14597 If mode is DDmode and TARGET_E500_DOUBLE allow move.
14598
14599 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
14600 more debug information for E500 if -mdebug=reg.
14601
b15d92bf
UB
146022014-04-21 Uros Bizjak <ubizjak@gmail.com>
14603
14604 PR target/60909
14605 * config/i386/i386.c (ix86_expand_builtin)
14606 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
14607 register for target RTX.
14608 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
14609
d367387c
CH
146102014-04-18 Cong Hou <congh@google.com>
14611
14612 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
14613 the widen-mult pattern by handling two operands with different sizes,
14614 and operands whose size is smaller than half of the result type.
d367387c 14615
b6d627e4
JH
146162014-04-18 Jan Hubicka <hubicka@ucw.cz>
14617
14618 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
14619 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
14620 (do_estimate_edge_time): Compute it.
14621 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 14622 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 14623
e86a910f
JH
146242014-04-18 Jan Hubicka <hubicka@ucw.cz>
14625
14626 * ipa-inline.c (spec_rem): New static variable.
14627 (dump_overall_stats): New function.
14628 (dump_inline_stats): New function.
14629
8a3a7e67
RH
146302014-04-18 Richard Henderson <rth@redhat.com>
14631
14632 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
14633 to GET_MODE_SIZE, not a reg_class_t.
14634
ed79f4d0
BS
146352014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14636
b15d92bf 14637 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
14638 (vsx_xxmrglw_<mode>): Likewise.
14639
fe799eea
MM
146402014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
14641
14642 PR target/60876
14643 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 14644 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
14645 (rs6000_init_hard_regno_mode_ok): Likewise.
14646
5e750dc6
JH
146472014-04-17 Jan Hubicka <hubicka@ucw.cz>
14648
14649 * ipa-inline.c (inline_small_functions): Account only non-cold
14650 functions.
14651 * doc/invoke.texi (inline-unit-growth): Update documentation.
14652
32337f10
PH
146532014-04-17 Pat Haugen <pthaugen@us.ibm.com>
14654
14655 * config/rs6000/rs6000.md (addti3, subti3): New.
14656
40ed344a
L
146572014-04-17 H.J. Lu <hongjiu.lu@intel.com>
14658
14659 PR target/60863
14660 * config/i386/i386.c (ix86_expand_clear): Remove outdated
14661 comment. Check optimize_insn_for_size_p instead of
14662 optimize_insn_for_speed_p.
14663
104cb50b
MJ
146642014-04-17 Martin Jambor <mjambor@suse.cz>
14665
14666 * gimple-iterator.c (gsi_start_edge): New function.
14667 * gimple-iterator.h (gsi_start_edge): Declare.
14668 * tree-sra.c (single_non_eh_succ): New function.
14669 (disqualify_ops_if_throwing_stmt): Renamed to
14670 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
14671 having one non-EH successor BB.
14672 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
14673 generate loads into replacements.
14674 (sra_modify_assign): Likewise and and also use the simple path for
14675 such statements.
14676 (sra_modify_function_body): Commit statements on edges.
14677
b94970bc
RB
146782014-04-17 Richard Biener <rguenther@suse.de>
14679
14680 PR middle-end/60849
14681 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
14682 comparison results and add clarifying comment.
14683
92f0f3ec
JJ
146842014-04-17 Jakub Jelinek <jakub@redhat.com>
14685
14686 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
14687 (blank_mode): Initialize it.
14688 (emit_mode_size_inline, emit_mode_nunits_inline,
14689 emit_mode_inner_inline): New functions.
14690 (emit_insn_modes_h): Call them and surround their output with
14691 #if GCC_VERSION >= 4001 ... #endif.
14692 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
14693 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
14694 mode_* arrays if the argument is __builtin_constant_p.
14695 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
14696 is enum machine_mode.
14697
be55bfe6
TS
146982014-04-17 Trevor Saunders <tsaunders@mozilla.com>
14699
14700 * passes.c (opt_pass::execute): Adjust.
14701 (pass_manager::execute_pass_mode_switching): Likewise.
14702 (early_local_passes::execute): Likewise.
14703 (execute_one_pass): Pass cfun to the pass's execute method.
14704 * tree-pass.h (opt_pass::execute): Add function * argument.
14705 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
14706 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
14707 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
14708 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
14709 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
14710 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
14711 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
14712 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
14713 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
14714 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
14715 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
14716 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
14717 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
14718 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
14719 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
14720 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
14721 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
14722 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
14723 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
14724 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
14725 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
14726 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
14727 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
14728 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
14729 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
14730 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
14731 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
14732 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
14733 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
14734 Adjust.
14735
1a3d085c
TS
147362014-04-17 Trevor Saunders <tsaunders@mozilla.com>
14737
14738 * passes.c (opt_pass::gate): Take function * argument.
14739 (gate_all_early_local_passes): Merge into
14740 (early_local_passes::gate): this.
14741 (gate_all_early_optimizations): Merge into
14742 (all_early_optimizations::gate): this.
14743 (gate_all_optimizations): Mege into
14744 (all_optimizations::gate): this.
14745 (gate_all_optimizations_g): Merge into
14746 (all_optimizations_g::gate): this.
14747 (gate_rest_of_compilation): Mege into
14748 (rest_of_compilation::gate): this.
14749 (gate_postreload): Merge into
14750 (postreload::gate): this.
14751 (dump_one_pass): Pass cfun to the pass's gate method.
14752 (execute_ipa_summary_passes): Likewise.
14753 (execute_one_pass): Likewise.
14754 (ipa_write_summaries_2): Likewise.
14755 (ipa_write_optimization_summaries_1): Likewise.
14756 (ipa_read_summaries_1): Likewise.
14757 (ipa_read_optimization_summaries_1): Likewise.
14758 (execute_ipa_stmt_fixups): Likewise.
14759 * tree-pass.h (opt_pass::gate): Add function * argument.
14760 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
14761 combine-stack-adj.c, combine.c, compare-elim.c,
14762 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
14763 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
14764 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
14765 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
14766 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
14767 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
14768 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
14769 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
14770 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
14771 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
14772 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
14773 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
14774 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
14775 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
14776 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
14777 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
14778 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
14779 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
14780 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
14781 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
14782 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
14783 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
14784 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
14785 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
14786 var-tracking.c, vtable-verify.c, web.c: Adjust.
14787
45887209
TS
147882014-04-17 Trevor Saunders <tsaunders@mozilla.com>
14789
14790 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
14791 * configure: Regenerate.
14792
0481253d 147932014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 14794
0481253d
TS
14795 * passes.c (dump_one_pass): don't check pass->has_gate.
14796 (execute_ipa_summary_passes): Likewise.
14797 (execute_one_pass): Likewise.
14798 (ipa_write_summaries_2): Likewise.
14799 (ipa_write_optimization_summaries_1): Likewise.
14800 (ipa_read_optimization_summaries_1): Likewise.
14801 (execute_ipa_stmt_fixups): Likewise.
14802 * tree-pass.h (pass_data::has_gate): Remove.
14803 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
14804 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
14805 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
14806 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
14807 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
14808 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
14809 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
14810 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
14811 gimple-low.c, gimple-ssa-isolate-paths.c,
14812 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
14813 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
14814 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
14815 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
14816 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
14817 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
14818 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
14819 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
14820 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
14821 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
14822 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
14823 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
14824 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
14825 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
14826 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
14827 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
14828 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
14829 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
14830 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
14831 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
14832 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
14833 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
14834 Adjust.
14835
a23c217d
TS
148362014-04-17 Trevor Saunders <tsaunders@mozilla.com>
14837
b15d92bf
UB
14838 * pass_manager.h (pass_manager::register_dump_files_1): Remove
14839 declaration.
a23c217d
TS
14840 * passes.c (pass_manager::register_dump_files_1): Merge into
14841 (pass_manager::register_dump_files): this, and remove its handling of
14842 properties since the pass always has the properties anyway.
14843 (pass_manager::pass_manager): Adjust.
14844
0cd11b40
TS
148452014-04-17 Trevor Saunders <tsaunders@mozilla.com>
14846
14847 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
14848 * passes.c (pass_manager::register_dump_files_1): Remove dead code
14849 dealing with properties.
14850 (pass_manager::register_dump_files): Adjust.
14851
79896351
MW
148522014-03-20 Mark Wielaard <mjw@redhat.com>
14853
14854 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
14855 then represent the bound as normal constant value.
14856
5a65129e
JJ
148572014-04-17 Jakub Jelinek <jakub@redhat.com>
14858
14859 PR target/60847
14860 Forward port from 4.8 branch
14861 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
14862
14863 * config/i386/bmiintrin.h (_blsi_u32): New.
14864 (_blsi_u64): Ditto.
14865 (_blsr_u32): Ditto.
14866 (_blsr_u64): Ditto.
14867 (_blsmsk_u32): Ditto.
14868 (_blsmsk_u64): Ditto.
14869 (_tzcnt_u32): Ditto.
14870 (_tzcnt_u64): Ditto.
14871
59b266b1
KC
148722014-04-17 Kito Cheng <kito@0xlab.org>
14873
14874 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
14875
83ad208e
RB
148762014-04-17 Richard Biener <rguenther@suse.de>
14877
14878 PR middle-end/60849
14879 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
14880 boolean results for comparisons.
14881
730e78b0
RB
148822014-04-17 Richard Biener <rguenther@suse.de>
14883
14884 PR tree-optimization/60836
14885 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
14886 initial PHI args to be gimple values.
14887
40c0a159 148882014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
14889
14890 PR tree-optimization/60841
14891 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
14892 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
14893 of stmts to SLP build.
14894 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
14895 (vect_analyze_slp): Likewise.
14896 (vect_analyze_slp_instance): Likewise.
14897 (vect_build_slp_tree): Limit overall SLP tree growth.
14898 * tree-vectorizer.h (vect_analyze_data_refs,
14899 vect_analyze_slp): Adjust prototypes.
14900
170c1776
ES
149012014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
14902
14903 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
14904 Silvermont.
14905
a4ef7f3e
ES
149062014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
14907
14908 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
14909 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
14910 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
14911 for TARGET_SLOW_PSHUFB
14912
cf055f6e
ES
149132014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
14914
14915 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
14916 * config/i386/i386.c (intel_cost): Ditto.
14917
eeee2277
JY
149182014-04-17 Joey Ye <joey.ye@arm.com>
14919
14920 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
14921
1c58fe29
JH
149222014-04-16 Jan Hubicka <hubicka@ucw.cz>
14923
14924 * opts.c (common_handle_option): Disable -fipa-reference coorectly
14925 with -fuse-profile.
14926
2d1644bf
JH
149272014-04-16 Jan Hubicka <hubicka@ucw.cz>
14928
14929 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
14930 (type_all_derivations_known_p): New predicate.
14931 (type_all_ctors_visible_p): New predicate.
14932 (type_possibly_instantiated_p): New predicate.
14933 (get_odr_type): Compute all_derivations_known.
14934 (dump_odr_type): Dump the flag.
14935 (maybe_record_type): Cleanup.
14936 (record_target_from_binfo): Add bases_to_consider array;
14937 record bases for types w/o instances and skip CXX destructor.
14938 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 14939 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
14940 (get_polymorphic_call_info): Set maybe_in_construction to true
14941 when we know nothing.
14942 (record_targets_from_bases): Skip CXX destructors; they are
14943 never called for types in construction.
14944 (possible_polymorphic_call_targets): Do not record target when
14945 type may not have instance.
14946
789c2741
JH
149472014-04-16 Jan Hubicka <hubicka@ucw.cz>
14948
14949 PR ipa/60854
14950 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
14951 external aliases alive, too.
14952
9950a4f2
AP
149532014-04-16 Andrew Pinski <apinski@cavium.com>
14954
14955 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 14956 definition.
9950a4f2 14957
82b9c015
EB
149582014-04-16 Eric Botcazou <ebotcazou@adacore.com>
14959
14960 * final.c (compute_alignments): Do not apply loop alignment to a block
14961 falling through to the exit.
14962
d2dfaca3
CM
149632014-04-16 Catherine Moore <clm@codesourcery.com>
14964
14965 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
14966 Adjust constraints for microMIPS store patterns.
14967
10353a79
PS
149682014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
14969
14970 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
14971
61c7fb30
EB
149722014-04-16 Eric Botcazou <ebotcazou@adacore.com>
14973
14974 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
14975 (append_use): Run at -O0.
14976 (append_vdef): Likewise.
14977 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
14978 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
14979
42fae17c
JJ
149802014-04-16 Jakub Jelinek <jakub@redhat.com>
14981
14982 PR tree-optimization/60844
14983 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
14984 (propagate_op_to_single_use, remove_visited_stmt_chain,
14985 linearize_expr, repropagate_negates, reassociate_bb): Use it
14986 instead of gsi_remove.
14987
ca860d03
MJ
149882014-04-16 Martin Jambor <mjambor@suse.cz>
14989
14990 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
14991 ipa_transforms_to_apply.
14992 (cgraph_function_versioning): Assert that old_node has empty
14993 ipa_transforms_to_apply.
14994 * trans-mem.c (ipa_tm_create_version): Likewise.
14995 * tree-inline.c (tree_function_versioning): Do not duplicate
14996 ipa_transforms_to_apply.
14997
fe4e71e4
RO
149982014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14999
15000 PR target/60817
15001 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
15002 x86_64-*-* cases.
15003 Pass necessary as flags on 64-bit Solaris/x86.
15004 Use lowercase relocs for x86_64-*-*.
15005 * configure: Regenerate.
15006
ccb05ef2
JH
150072014-04-15 Jan Hubicka <jh@suse.cz>
15008
15009 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
15010 (maybe_record_node, likely_target_p): Use it.
15011
dfe449d1
BS
150122014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15013
15014 PR target/60839
15015 Revert following patch
15016
15017 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
15018
15019 PR target/60735
15020 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
15021 software floating point or no floating point registers, do not
15022 allow any type in the FPRs. Eliminate a test for SPE SIMD types
15023 in GPRs that occurs after we tested for GPRs that would never be
15024 true.
15025
15026 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
15027 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
15028 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
15029 specifically allow DDmode, since that does not use the SPE SIMD
15030 instructions.
15031
25dce5c6
MW
150322014-03-21 Mark Wielaard <mjw@redhat.com>
15033
15034 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
15035 as unsigned or int depending on type and value used.
15036
8d3c076f
RB
150372014-04-15 Richard Biener <rguenther@suse.de>
15038
15039 PR rtl-optimization/56965
15040 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
15041 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
15042 ... here.
15043 * alias.c (true_dependence_1): Do not call
15044 nonoverlapping_component_refs_p.
15045 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
15046 nonoverlapping_component_refs_p.
15047 (indirect_refs_may_alias_p): Likewise.
15048
d00e4baa
TJ
150492014-04-15 Teresa Johnson <tejohnson@google.com>
15050
15051 * cfg.c (dump_bb_info): Fix flags check.
15052 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
15053
98a2fdfb
KT
150542014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15055
15056 PR rtl-optimization/60663
15057 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
15058 avoid 0 cost.
15059
b9ed2c2c
RB
150602014-04-15 Richard Biener <rguenther@suse.de>
15061
15062 * lto-streamer.h (LTO_major_version): Bump to 4.
15063
783dab6b
RB
150642014-04-15 Richard Biener <rguenther@suse.de>
15065
15066 * common.opt (lto_partition_model): New enum.
15067 (flto-partition=): Merge separate options with a single with argument,
15068 add -flto-partition=one support.
15069 * flag-types.h (enum lto_partition_model): Declare.
15070 * opts.c (finish_options): Remove duplicate -flto-partition=
15071 option check.
15072 * lto-wrapper.c (run_gcc): Adjust.
15073
d8e4ce6d
RB
150742014-04-15 Richard Biener <rguenther@suse.de>
15075
15076 * alias.c (ncr_compar): New function.
15077 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
15078
1999fd7d
RB
150792014-04-15 Richard Biener <rguenther@suse.de>
15080
15081 * alias.c (record_component_aliases): Do not walk BINFOs.
15082
628169e0
RB
150832014-04-15 Richard Biener <rguenther@suse.de>
15084
15085 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
15086 Add struct function argument and adjust.
15087 (find_func_aliases_for_call): Likewise.
15088 (find_func_aliases): Likewise.
15089 (find_func_clobbers): Likewise.
15090 (intra_create_variable_infos): Likewise.
15091 (compute_points_to_sets): Likewise.
15092 (ipa_pta_execute): Adjust. Do not push/pop cfun.
15093
349e6210
RB
150942014-04-15 Richard Biener <rguenther@suse.de>
15095
15096 * tree.c (iterative_hash_expr): Use enum tree_code_class
15097 to store TREE_CODE_CLASS.
15098 (tree_block): Likewise.
15099 (tree_set_block): Likewise.
15100 * tree.h (fold_build_pointer_plus_loc): Use
15101 convert_to_ptrofftype_loc.
15102
4f0ddb6f
JJ
151032014-04-15 Jakub Jelinek <jakub@redhat.com>
15104
15105 PR plugins/59335
15106 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
15107 added in 4.9.
15108
718c4601
EB
151092014-04-15 Eric Botcazou <ebotcazou@adacore.com>
15110
15111 * cfgloop.h (struct loop): Move force_vectorize down.
15112 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
15113 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
15114 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
15115 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
15116 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
15117 * tree-core.h (enum annot_expr_kind): Add new kind values.
15118 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
15119 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
15120 kinds.
15121 * tree.def (ANNOTATE_EXPR): Tweak comment.
15122
88f592e3
JH
151232014-04-14 Jan Hubicka <hubicka@ucw.cz>
15124
15125 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
15126 cxa_pure_virtual).
15127
9dba4b55
PC
151282014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
15129
15130 * tree.h (TYPE_IDENTIFIER): Declare.
15131 * tree.c (subrange_type_for_debug_p): Use it.
15132 * godump.c (go_format_type): Likewise.
15133 * dwarf2out.c (is_cxx_auto, modified_type_die,
15134 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
15135 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
15136
40c0a159 151372014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
15138
15139 PR lto/60820
15140 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
15141
e0a81db1
UB
151422014-04-14 Uros Bizjak <ubizjak@gmail.com>
15143
15144 * config/i386/i386.c (examine_argument): Return bool. Return true if
15145 parameter should be passed in memory.
15146 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
15147 (construct_container): Update calls to examine_argument.
15148 (function_arg_advance_64): Ditto.
15149 (return_in_memory_32): Merge with ix86_return_in_memory.
15150 (return_in_memory_64): Ditto.
15151 (return_in_memory_ms_64): Ditto.
15152
cb90235d
JH
151532014-04-14 Jan Hubicka <hubicka@ucw.cz>
15154
15155 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
15156 * coverage.c (coverage_compute_profile_id): Handle externally visible
15157 symbols.
15158
7b3b340e
MJ
151592014-04-14 Martin Jambor <mjambor@suse.cz>
15160
15161 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
15162 DECL_DISREGARD_INLINE_LIMITS functions.
15163
2ed3b4ee
L
151642014-04-14 H.J. Lu <hongjiu.lu@intel.com>
15165
15166 PR target/60827
e0a81db1 15167 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 15168
10fa463f
L
151692014-04-14 H.J. Lu <hongjiu.lu@intel.com>
15170
15171 PR target/60827
15172 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
15173 optimize_insn_for_speed_p instead of
15174 optimize_function_for_speed_p.
15175
b621e875
YZ
151762014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
15177
15178 * doc/invoke.texi (free): Document AArch64.
15179
cddaefa3
RB
151802014-04-14 Richard Biener <rguenther@suse.de>
15181
15182 PR tree-optimization/60042
15183 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
15184 (insert_into_preds_of_block): Do not prevent PHI insertion
15185 for REFERENCE exprs here ...
15186 (eliminate_dom_walker::before_dom_children): ... but prevent
15187 their use here under similar conditions when applied to the
15188 IL after PRE optimizations.
15189
a9e4c82f
RB
151902014-04-14 Richard Biener <rguenther@suse.de>
15191
15192 * passes.def: Move early points-to after early SRA.
15193
7b4cae1b
RB
151942014-04-14 Richard Biener <rguenther@suse.de>
15195
15196 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
15197 check for which sign-changes we allow when forwarding
15198 a converted value into a switch.
15199
cb27986c
EB
152002014-04-14 Eric Botcazou <ebotcazou@adacore.com>
15201
15202 * stor-layout.c (place_field): Finalize non-constant offset for the
15203 field, if any.
15204
72798784
RB
152052014-04-14 Richard Biener <rguenther@suse.de>
15206
15207 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
15208 as argument.
15209 (expand_switch_using_bit_tests_p): Likewise.
15210 (process_switch): Compute and pass on speed_p based on the
15211 switch stmt.
15212 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
15213 optimize_bb_for_speed_p.
15214
b15b5979
EB
152152014-04-14 Eric Botcazou <ebotcazou@adacore.com>
15216
15217 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
15218 * function.h (struct function): Rename has_force_vect_loops into
15219 has_force_vectorize_loops.
15220 * lto-streamer-in.c (input_cfg): Adjust for renaming.
15221 (input_struct_function_base): Likewise.
15222 * lto-streamer-out.c (output_cfg): Likewise.
15223 (output_struct_function_base): Likewise.
15224 * omp-low.c (expand_omp_simd): Likewise.
15225 * tree-cfg.c (move_sese_region_to_fn): Likewise.
15226 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
15227 (version_loop_for_if_conversion): Likewise.
15228 (tree_if_conversion): Likewise.
15229 (main_tree_if_conversion): Likewise.
15230 (gate_tree_if_conversion): Likewise.
15231 * tree-inline.c (copy_loops): Likewise.
15232 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
15233 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
15234 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
15235 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
15236 * tree-vectorizer.c (vectorize_loops): Likewise.
15237 * tree-vectorizer.h (unlimited_cost_model): Likewise.
15238
8359c87e
RB
152392014-04-14 Richard Biener <rguenther@suse.de>
15240
15241 PR lto/60720
15242 * lto-streamer-out.c (wrap_refs): New function.
15243 (lto_output): Wrap symbol references in global initializes in
15244 type-preserving MEM_REFs.
15245
9447df74
CB
152462014-04-14 Christian Bruel <christian.bruel@st.com>
15247
b15d92bf 15248 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 15249
fa1aecc1
CB
152502014-04-14 Christian Bruel <christian.bruel@st.com>
15251
15252 * config/sh/sh.md (setmemqi): New expand pattern.
15253 * config/sh/sh.h (CLEAR_RATIO): Define.
15254 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
15255 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
15256
a3c77ce9
RB
152572014-04-14 Richard Biener <rguenther@suse.de>
15258
15259 PR middle-end/55022
15260 * fold-const.c (negate_expr_p): Don't negate directional rounding
15261 division.
15262 (fold_negate_expr): Likewise.
15263
033aa406
RB
152642014-04-14 Richard Biener <rguenther@suse.de>
15265
15266 PR tree-optimization/59817
15267 PR tree-optimization/60453
15268 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
15269 recursion to catch all CHRECs in the scalar evolution and restrict
15270 the predicate for the remains appropriately.
15271
5e7d8b4c
RS
152722014-04-12 Catherine Moore <clm@codesourcery.com>
15273
15274 * config/mips/constraints.md: Add new register constraint "kb".
15275 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
15276 (*movhi_internal): Likewise.
15277 (*movqi_internal): Likewise.
15278 * config/mips/mips.h (M16_STORE_REGS): New register class.
15279 (REG_CLASS_NAMES): Add M16_STORE_REGS.
15280 (REG_CLASS_CONTENTS): Likewise.
15281 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
15282
cbbd2b1c
TB
152832014-04-11 Tobias Burnus <burnus@net-b.de>
15284
15285 PR c/60194
15286 * doc/invoke.texi (-Wformat-signedness): Document it.
15287 (Wformat=2): Mention that this enables -Wformat-signedness.
15288
d9bb5800
JR
152892014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
15290
15291 * common/config/epiphany/epiphany-common.c
15292 (epiphany_option_optimization_table): Enable section anchors by
15293 default at -O1 or higher.
15294 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
15295 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
15296 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
15297 carries no extra cost.
15298 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
15299 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
15300 * config/epiphany/predicates.md (memclob_operand): New predicate.
15301 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
15302 Use memclob_operand predicate and X constraint for operand 3.
15303
b5d0ecea
JR
153042014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
15305
15306 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
15307 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
15308 its operands.
15309
473fd99a
JR
153102014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
15311
15312 PR rtl-optimization/60651
15313 * mode-switching.c (optimize_mode_switching): Make sure to emit
15314 sets of a lower numbered entity before sets of a higher numbered
15315 entity to a mode of the same or lower priority.
15316 When creating a seginfo for a basic block that starts with a code
15317 label, move the insertion point past the code label.
15318 (new_seginfo): Document and enforce requirement that
15319 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
15320 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
15321 * doc/tm.texi: Regenerate.
15322
6ace1161
JR
153232014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
15324
15325 PR target/60811
15326 * config/arc/arc.c (arc_save_restore): Fix assert typo.
15327
89eb97de
JJ
153282013-04-11 Jakub Jelinek <jakub@redhat.com>
15329
6602e7fc 15330 * BASE-VER: Set to 4.10.0.
89eb97de 15331
9d0c7214
TB
153322014-04-11 Tobias Burnus <burnus@net-b.de>
15333
15334 PR other/59055
e0a81db1 15335 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
15336 * doc/gcc.texi (Service): Update description in the @menu
15337 * doc/invoke.texi (Option Summary): Remove misplaced and
15338 duplicated @menu.
15339
3662b277
SE
153402014-04-11 Steve Ellcey <sellcey@mips.com>
15341 Jakub Jelinek <jakub@redhat.com>
15342
15343 PR middle-end/60556
15344 * expr.c (convert_move): Use emit_store_flag_force instead of
15345 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
15346 argument to it.
15347
8330537b
RB
153482014-04-11 Richard Biener <rguenther@suse.de>
15349
15350 PR middle-end/60797
15351 * varasm.c (assemble_alias): Avoid endless error reporting
15352 recursion by setting TREE_ASM_WRITTEN.
15353
3c91f126
AK
153542014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15355
15356 * config/s390/s390.md: Add a splitter for NOT rtx.
15357
d8d6ea53
JJ
153582014-04-11 Jakub Jelinek <jakub@redhat.com>
15359
15360 PR rtl-optimization/60663
e0a81db1 15361 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 15362
fa5866c0
JJ
153632014-04-10 Jan Hubicka <hubicka@ucw.cz>
15364 Jakub Jelinek <jakub@redhat.com>
073afca6 15365
fa5866c0 15366 PR lto/60567
e0a81db1
UB
15367 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
15368 flag from decl_node to node.
073afca6 15369
b322c36a
RR
153702014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15371
15372 PR debug/60655
15373 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
15374 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
15375 ameliorating the cases where it can be.
15376
8267f6bb
DE
153772014-04-09 David Edelsohn <dje.gcc@gmail.com>
15378
15379 Revert
15380 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
15381
15382 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
15383 (loadsync_<mode>): Change mode.
15384 (load_quadpti, store_quadpti): New.
15385 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
15386 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
15387 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
15388
5d1a5a53
CH
153892014-04-09 Cong Hou <congh@google.com>
15390
15391 PR testsuite/60773
15392 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
15393 documentation.
15394
da90fa4c
BS
153952014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15396
15397 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
15398 instead of vnor to exploit possible fusion opportunity in the
15399 future.
15400 (altivec_expand_vec_perm_const_le): Likewise.
15401
98e6ecab
PH
154022014-04-08 Pat Haugen <pthaugen@us.ibm.com>
15403
15404 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
15405 (loadsync_<mode>): Change mode.
15406 (load_quadpti, store_quadpti): New.
15407 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
15408 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
15409
8418cf33
RS
154102014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
15411
15412 PR target/60763
15413 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
15414 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
15415 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
15416
3fa68ccb
RB
154172014-04-08 Richard Biener <rguenther@suse.de>
15418
15419 PR middle-end/60706
15420 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
15421 a 64bit widest int print double-int similar to on HWI64 hosts.
15422
9038ae48
RB
154232014-04-08 Richard Biener <rguenther@suse.de>
15424
15425 PR tree-optimization/60785
15426 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
15427 default defs properly.
15428
38f09da3
NS
154292014-04-08 Nathan Sidwell <nathan@codesourcery.com>
15430
15431 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
15432 (Weffc++): Likewise.
15433
0439a947
JH
154342014-04-07 Jan Hubicka <hubcika@ucw.cz>
15435
15436 * ipa-devirt.c (maybe_record_node): When node is not recorded,
15437 set completep to false rather than true.
15438
3f2f838e
EB
154392014-04-07 Douglas B Rupp <rupp@adacore.com>
15440
15441 PR target/60504
15442 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
15443 ARM_TARGET2_DWARF_FORMAT.
15444
e75c1617
CB
154452014-04-07 Charles Baylis <charles.baylis@linaro.org>
15446
15447 PR target/60609
15448 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
15449 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
15450 ADDR_DIFF_VEC.
15451
d6adff07
RB
154522014-04-07 Richard Biener <rguenther@suse.de>
15453
15454 PR tree-optimization/60766
3f2f838e
EB
15455 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
15456 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 15457
da34ade5
JM
154582014-04-07 Jason Merrill <jason@redhat.com>
15459
15460 PR c++/60731
15461 * common.opt (-fno-gnu-unique): Add.
15462 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
15463
151e9aac
KT
154642014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15465
15466 * haifa-sched.c: Fix outdated function reference and minor
15467 grammar errors in introductory comment.
15468
308173e3
RB
154692014-04-07 Richard Biener <rguenther@suse.de>
15470
15471 PR middle-end/60750
15472 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
15473 for noreturn calls.
15474 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
15475
a9a302d9
JDA
154762014-04-06 John David Anglin <danglin@gcc.gnu.org>
15477
15478 PR debug/55794
15479 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
15480 size accounting for thunks.
15481 (pa_asm_output_mi_thunk): Use final_start_function() and
15482 final_end_function() to output function start and end directives.
15483
576ba35c
PS
154842014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
15485
e0a81db1
UB
15486 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
15487 device specific ISA/ feature information. Remove short_sp and
15488 errata_skip ds. Add avr_device_specific_features enum to have device
15489 specific info.
576ba35c
PS
15490 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
15491 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
15492 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
15493 updated device specific info.
15494 * config/avr/avr-mcus.def: Merge device specific details to
15495 dev_attribute field.
15496 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
15497 errata_skip.
15498 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
15499 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
15500 assembler if RMW isa supported by current device.
15501 * config/avr/genmultilib.awk: Update as device info structure changed.
15502 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
15503
ebc047a2
CH
155042014-04-04 Cong Hou <congh@google.com>
15505
15506 PR tree-optimization/60656
15507 * tree-vect-stmts.c (supportable_widening_operation):
15508 Fix a bug that elements in a vector with vect_used_by_reduction
15509 property are incorrectly reordered when the operation on it is not
15510 consistant with the one in reduction operation.
15511
b6808818
JDA
155122014-04-04 John David Anglin <danglin@gcc.gnu.org>
15513
15514 PR rtl-optimization/60155
15515 * gcse.c (record_set_data): New function.
15516 (single_set_gcse): New function.
15517 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
15518 (hoist_code): Likewise.
15519 (get_pressure_class_and_nregs): Likewise.
15520
eabcc725
EB
155212014-04-04 Eric Botcazou <ebotcazou@adacore.com>
15522
15523 * explow.c (probe_stack_range): Emit a final optimization blockage.
15524
e005b753
AG
155252014-04-04 Anthony Green <green@moxielogic.com>
15526
15527 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
15528 typos.
15529
8fe91ca8
JH
155302014-04-04 Jan Hubicka <hubicka@ucw.cz>
15531
15532 PR ipa/59626
15533 * lto-cgraph.c (input_overwrite_node): Check that partitioning
15534 flags are set only during streaming.
15535 * ipa.c (process_references, walk_polymorphic_call_targets,
15536 symtab_remove_unreachable_nodes): Drop bodies of always inline
15537 after early inlining.
15538 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 15539
88d94632
RR
155402014-04-04 Jakub Jelinek <jakub@redhat.com>
15541 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15542
15543 PR debug/60655
15544 * dwarf2out.c (const_ok_for_output_1): Reject expressions
15545 containing a NOT.
15546
094bc219
KT
155472014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15548
15549 PR bootstrap/60743
15550 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
15551 duration.
15552 (cortex_a53_fdivd): Likewise.
15553
610c8ef0
MJ
155542014-04-04 Martin Jambor <mjambor@suse.cz>
15555
15556 PR ipa/60640
b15d92bf
UB
15557 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
15558 Adjust all callers.
610c8ef0
MJ
15559 * cgraph.c (clone_of_p): Also return true if thunks match.
15560 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
15561 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
15562 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
15563 file.
15564 (build_function_decl_skip_args): Likewise.
610c8ef0 15565 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
15566 (duplicate_thunk_for_node): Likewise.
15567 (redirect_edge_duplicating_thunks): Likewise.
15568 (cgraph_clone_node): New parameter args_to_skip, pass it to
15569 redirect_edge_duplicating_thunks which is called instead of
15570 cgraph_redirect_edge_callee.
15571 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
15572 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
15573
fc02bcca
JL
155742014-04-04 Jeff Law <law@redhat.com>
15575
57ef133b 15576 PR target/60657
fc02bcca
JL
15577 * config/arm/predicates.md (const_int_I_operand): New predicate.
15578 (const_int_M_operand): Similarly.
15579 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
15580 const_int_operand.
15581 (insv_t2, extv_reg, extzv_t2): Likewise.
15582 (load_multiple_with_writeback): Similarly for const_int_I_operand.
15583 (pop_multiple_with_writeback_and_return): Likewise.
15584 (vfp_pop_multiple_with_writeback): Likewise
15585
45b62594
RB
155862014-04-04 Richard Biener <rguenther@suse.de>
15587
15588 PR ipa/60746
15589 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
15590 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
15591 non-GIMPLE_LABELs.
15592 * gimplify.h (gimple_add_tmp_var_fn): Declare.
15593 * gimplify.c (gimple_add_tmp_var_fn): New function.
15594 * gimple-expr.h (create_tmp_reg_fn): Declare.
15595 * gimple-expr.c (create_tmp_reg_fn): New function.
15596 * gimple-low.c (record_vars_into): Don't change cfun.
15597 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
15598 code generation without cfun.
15599
bb609c35
TS
156002014-04-04 Thomas Schwinge <thomas@codesourcery.com>
15601
15602 PR bootstrap/60719
15603 * Makefile.in (install-driver): Fix shell scripting.
15604
090cd8dc
CH
156052014-04-03 Cong Hou <congh@google.com>
15606
15607 PR tree-optimization/60505
15608 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
15609 threshold of number of iterations below which no vectorization
15610 will be done.
090cd8dc
CH
15611 * tree-vect-loop.c (new_loop_vec_info):
15612 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
15613 * tree-vect-loop.c (vect_analyze_loop_operations):
15614 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
15615 * tree-vect-loop.c (vect_transform_loop):
15616 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
15617 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
15618 of iterations of the loop and see if we should build the epilogue.
15619
bdc67fd6
RB
156202014-04-03 Richard Biener <rguenther@suse.de>
15621
e0a81db1 15622 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
15623 (streamer_tree_cache_create): Adjust.
15624 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
15625 to allow optional nodes array.
15626 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
15627 (streamer_tree_cache_append): Likewise.
15628 (streamer_tree_cache_create): Create nodes array optionally
15629 as specified by parameter.
15630 * lto-streamer-out.c (create_output_block): Avoid maintaining
15631 the node array in the writer cache.
15632 (DFS_write_tree): Remove assertion.
e0a81db1 15633 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
15634 * lto-streamer-in.c (lto_data_in_create): Adjust for
15635 streamer_tree_cache_create prototype change.
15636
a0daf659
RB
156372014-04-03 Richard Biener <rguenther@suse.de>
15638
15639 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
15640 set TREE_CHAIN to NULL_TREE.
15641
f16c88d2
RB
156422014-04-03 Richard Biener <rguenther@suse.de>
15643
15644 PR tree-optimization/60740
15645 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
15646 over all GIMPLE_COND operands.
15647
880a467b
NS
156482014-04-03 Nathan Sidwell <nathan@codesourcery.com>
15649
15650 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
15651 (Weffc++): Remove Scott's numbering, merge lists and reference
15652 Wnon-virtual-dtor.
15653
08866760
NC
156542014-04-03 Nick Clifton <nickc@redhat.com>
15655
15656 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
15657 properly.
15658
5bed50e8
MJ
156592014-04-03 Martin Jambor <mjambor@suse.cz>
15660
15661 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
15662 mention gcc_unreachable before failing.
15663 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
15664 removed symbols.
15665
3e86c6a8
JH
156662014-04-02 Jan Hubicka <hubicka@ucw.cz>
15667
15668 PR ipa/60659
e0a81db1
UB
15669 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
15670 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
15671 (possible_polymorphic_call_targets): For inconsistent contexts
15672 return empty complete list.
15673
2b9912aa
AG
156742014-04-02 Anthony Green <green@moxielogic.com>
15675
15676 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
15677 (extendqisi2, extendhisi2): Define.
15678 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
15679 (WCHAR_TYPE): Change to unsigned int.
15680
1e386bb8
BS
156812014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15682
15683 PR tree-optimization/60733
15684 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
15685 insertion point for PHI candidates to be the end of the feeding
15686 block for the PHI argument.
15687
f4581282
VM
156882014-04-02 Vladimir Makarov <vmakarov@redhat.com>
15689
15690 PR rtl-optimization/60650
15691 * lra-constraints.c (process_alt_operands): Decrease reject for
15692 earlyclobber matching.
15693
a9d46e32
AK
156942014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15695
15696 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
15697
7c40228a
UW
156982014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15699
15700 * config/spu/spu.c (pad_bb): Do not crash when the last
15701 insn is CODE_FOR_blockage.
15702
c6596193
UW
157032014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15704
15705 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
15706 lies outside the target mode.
15707
690c229f
MM
157082014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
15709
15710 PR target/60735
15711 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
15712 software floating point or no floating point registers, do not
15713 allow any type in the FPRs. Eliminate a test for SPE SIMD types
15714 in GPRs that occurs after we tested for GPRs that would never be
15715 true.
15716
15717 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
15718 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
15719 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
15720 specifically allow DDmode, since that does not use the SPE SIMD
15721 instructions.
15722
dad16761
RB
157232014-04-02 Richard Biener <rguenther@suse.de>
15724
15725 PR middle-end/60729
15726 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
15727 MODE_INTs. Properly use negv_optab.
15728 (expand_abs): Likewise.
15729
a1ce39be
RB
157302014-04-02 Richard Biener <rguenther@suse.de>
15731
15732 PR bootstrap/60719
15733 * Makefile.in (install-driver): Guard extra installs with special
15734 names properly.
15735
6fb619e4
MM
157362014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
15737
15738 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
15739 Document vec_vgbbd.
15740
2a1ffd6d
RH
157412014-04-01 Richard Henderson <rth@redhat.com>
15742
15743 PR target/60704
15744 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
15745 alternative enabled before register allocation.
15746
98e8dd4d
CLT
157472014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
15748
15749 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
15750 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
15751 typo.
15752 (nios2_large_got_address): Remove unneeded 'sym' parameter.
15753 (nios2_got_address): Update nios2_large_got_address call site.
15754 (nios2_delegitimize_address): New function.
15755 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
15756 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
15757 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
15758
8785c60a
MH
157592014-04-01 Martin Husemann <martin@duskware.de>
15760
15761 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
15762 for -mabi=32.
15763
3343cf6a
RS
157642014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
15765
15766 PR rtl-optimization/60604
15767 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
15768 check from register_operand.
15769 (register_operand): Redefine in terms of general_operand.
15770 (nonmemory_operand): Use register_operand for the non-constant cases.
15771
1503cb6b
RB
157722014-04-01 Richard Biener <rguenther@suse.de>
15773
e0a81db1 15774 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 15775
cded08ea
SH
157762014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
15777
15778 * doc/invoke.texi (mapp-regs): Clarify.
15779
7d9088c2
UD
157802014-03-31 Ulrich Drepper <drepper@gmail.com>
15781
15782 * config/i386/avx512fintrin.h (__v32hi): Define type.
15783 (__v64qi): Likewise.
15784 (_mm512_set1_epi8): Define.
15785 (_mm512_set1_epi16): Define.
15786 (_mm512_set4_epi32): Define.
15787 (_mm512_set4_epi64): Define.
15788 (_mm512_set4_pd): Define.
15789 (_mm512_set4_ps): Define.
15790 (_mm512_setr4_epi64): Define.
15791 (_mm512_setr4_epi32): Define.
15792 (_mm512_setr4_pd): Define.
15793 (_mm512_setr4_ps): Define.
15794 (_mm512_setzero_epi32): Define.
15795
c18ff8a4
MJ
157962014-03-31 Martin Jambor <mjambor@suse.cz>
15797
15798 PR middle-end/60647
15799 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
15800 callsite_arguments_match_p. Updated all callers. Also check types of
15801 corresponding formal parameters and actual arguments.
15802 (not_all_callers_have_enough_arguments_p) Renamed to
15803 some_callers_have_mismatched_arguments_p.
15804
9a96d5b7
YR
158052014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
15806
15807 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
15808
6c031d8d
KV
158092014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
15810
15811 PR target/60034
15812 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
15813 section anchor.
15814
429749e2
UB
158152014-03-30 Uros Bizjak <ubizjak@gmail.com>
15816
15817 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
15818 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
15819 Split out
15820 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
15821 Use FMAMODE_NOVF512 mode iterator.
15822 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
15823 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
15824 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
15825 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
15826 Split out
15827 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
15828 Use VF_128_256 mode iterator.
15829 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
15830 Ditto.
15831
1f91035f
JH
158322014-03-28 Jan Hubicka <hubicka@ucw.cz>
15833
15834 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
15835 static chain if needed.
15836
6e071b1e
VM
158372014-03-28 Vladimir Makarov <vmakarov@redhat.com>
15838
15839 PR target/60697
15840 * lra-constraints.c (index_part_to_reg): New.
15841 (process_address): Use it.
15842
e7f31789 158432014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 15844 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
15845
15846 PR target/60648
4bb66ef3
JJ
15847 * expr.c (do_tablejump): Use simplify_gen_binary rather than
15848 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 15849
4bb66ef3
JJ
15850 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
15851 creating non-canonical RTL.
e7f31789 15852
4cd8957f
JH
158532014-03-28 Jan Hubicka <hubicka@ucw.cz>
15854
15855 PR ipa/60243
15856 * ipa-inline.c (want_inline_small_function_p): Short circuit large
15857 functions; reorganize to make cheap checks first.
15858 (inline_small_functions): Do not estimate growth when dumping;
15859 it is expensive.
15860 * ipa-inline.h (inline_summary): Add min_size.
15861 (growth_likely_positive): New function.
15862 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
15863 (set_cond_stmt_execution_predicate): Cleanup.
15864 (estimate_edge_size_and_time): Compute min_size.
15865 (estimate_calls_size_and_time): Likewise.
15866 (estimate_node_size_and_time): Likewise.
15867 (inline_update_overall_summary): Update min_size.
15868 (do_estimate_edge_time): Likewise.
15869 (do_estimate_edge_size): Update.
15870 (do_estimate_edge_hints): Update.
15871 (growth_likely_positive): New function.
15872
ff76f4e2
JJ
158732014-03-28 Jakub Jelinek <jakub@redhat.com>
15874
15875 PR target/60693
15876 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
15877 also if addr has VOIDmode.
15878
ed6eb6dc
KT
158792014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15880
15881 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
15882 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
15883 Declare extern.
15884 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
15885 instructions as well as AdvancedSIMD loads.
15886
b10baa95
KT
158872014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15888
15889 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
15890 Use crypto_aese type.
15891 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
15892 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
15893 crypto_aese, crypto_aesmc. Move to types.md.
15894 * config/arm/types.md (crypto_aes): Split into crypto_aese,
15895 crypto_aesmc.
15896 * config/arm/iterators.md (crypto_type): Likewise.
15897
23a04216
JH
158982014-03-28 Jan Hubicka <hubicka@ucw.cz>
15899
15900 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
15901 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
15902 remove LHS.
23a04216 15903
a4971e68
VM
159042014-03-28 Vladimir Makarov <vmakarov@redhat.com>
15905
15906 PR target/60675
15907 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
15908 regs from checking multi-reg pseudos.
15909
7ac84c02
RR
159102014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15911
15912 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
15913
bd302a18
UW
159142014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15915
15916 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
15917 if it would clobber the stack pointer, even temporarily.
15918
cee9defb
EB
159192014-03-28 Eric Botcazou <ebotcazou@adacore.com>
15920
15921 * mode-switching.c: Make small adjustments to the top comment.
15922
117f16fb
MM
159232014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
15924
15925 * config/rs6000/constraints.md (wD constraint): New constraint to
15926 match the constant integer to get the top DImode/DFmode out of a
15927 vector in a VSX register.
15928
15929 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
15930 match the constant integer to get the top DImode/DFmode out of a
15931 vector in a VSX register.
15932
15933 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
15934 for ISA 2.07.
15935
15936 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
15937 vbpermq builtins.
15938
15939 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
15940 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
15941
15942 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
15943 Optimize vec_extract of 64-bit values, where the value being
15944 extracted is in the top word, where we can use scalar
15945 instructions. Add direct move and store support. Combine the big
429749e2 15946 endian/little endian vector select load support into a single insn.
117f16fb
MM
15947 (vsx_extract_<mode>_internal1): Likewise.
15948 (vsx_extract_<mode>_internal2): Likewise.
15949 (vsx_extract_<mode>_load): Likewise.
15950 (vsx_extract_<mode>_store): Likewise.
15951 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
15952 combined into vsx_extract_<mode>_load.
15953 (vsx_extract_<mode>_one_le): Likewise.
15954
15955 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
15956 define the top 64-bit vector element.
15957
15958 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
15959 constraint.
15960
6788164b
MM
15961 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
15962 Document vec_vbpermq builtin.
15963
117f16fb
MM
15964 PR target/60672
15965 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
15966 enable use of xxsldwi and xxpermdi builtin functions.
15967 (vec_xxpermdi): Likewise.
15968
15969 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
15970 Document use of vec_xxsldwi and vec_xxpermdi builtins.
15971
9e038952
VM
159722014-03-27 Vladimir Makarov <vmakarov@redhat.com>
15973
15974 PR rtl-optimization/60650
f4581282 15975 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
15976 first_p. Use it.
15977 (find_spills_for): New.
15978 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
15979 Spill all pseudos on the second iteration.
15980
324dc401
MP
159812014-03-27 Marek Polacek <polacek@redhat.com>
15982
15983 PR c/50347
15984 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
15985 types.
15986
6e77facf
AK
159872014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15988
15989 * config/s390/s390.c (s390_can_use_return_insn): Check for
15990 call-saved FPRs on 31 bit.
15991
47519a14
JJ
159922014-03-27 Jakub Jelinek <jakub@redhat.com>
15993
15994 PR middle-end/60682
15995 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
15996 if they need regimplification, just drop them instead of
15997 calling gimple_regimplify_operands on them.
15998
0b7f8166
MS
159992014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
16000
16001 PR target/60580
16002 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
16003 (aarch64_frame_pointer_required): Adjust logic.
16004 (aarch64_can_eliminate): Adjust logic.
16005 (aarch64_override_options_after_change): Adjust logic.
16006
2f2a7d15
DC
160072014-03-27 Dehao Chen <dehao@google.com>
16008
16009 * ipa-inline.c (early_inliner): Update node's inline info.
16010
a0dbf285
DC
160112014-03-26 Dehao Chen <dehao@google.com>
16012
16013 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
16014 compiler inserted conditional jumps for NAN float check.
16015
ed0ca1e1
JJ
160162014-03-26 Jakub Jelinek <jakub@redhat.com>
16017
07d72e1d
JJ
16018 * ubsan.h (ubsan_create_data): Change second argument's type
16019 to const location_t *.
16020 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
16021 _("<unknown>").
16022 (ubsan_create_data): Change second argument to const location_t *PLOC.
16023 Create Loc field whenever PLOC is non-NULL.
16024 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
16025 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
16026 callers.
16027
ed0ca1e1
JJ
16028 PR other/59545
16029 * real.c (real_to_integer2): Change type of low to UHWI.
16030
b9487dd8
TB
160312014-03-26 Tobias Burnus <burnus@net-b.de>
16032
16033 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
16034 (CILK_SELF_SPECS): New define.
16035 (driver_self_specs): Use it.
16036
3a2700f6
RB
160372014-03-26 Richard Biener <rguenther@suse.de>
16038
16039 * tree-pretty-print.c (percent_K_format): Implement special
16040 case for LTO and its stripped down BLOCK tree.
16041
368b454d
JJ
160422014-03-26 Jakub Jelinek <jakub@redhat.com>
16043
aa6b742f
JJ
16044 PR sanitizer/60636
16045 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
16046
368b454d
JJ
16047 * tree-vrp.c (simplify_internal_call_using_ranges): If only
16048 one range is range_int_cst_p, but not both, at least optimize
16049 addition/subtraction of 0 and multiplication by 0 or 1.
16050 * gimple-fold.c (gimple_fold_call): Fold
16051 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
16052 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
16053 INTEGER_CSTs, try to fold at least x * 0 and y - y.
16054
c7e30a96
EB
160552014-03-26 Eric Botcazou <ebotcazou@adacore.com>
16056
16057 PR rtl-optimization/60452
16058 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
16059 <case REG>: Return 1 for invalid offsets from the frame pointer.
16060
d615d763
MP
160612014-03-26 Marek Polacek <polacek@redhat.com>
16062
16063 PR c/37428
16064 * doc/extend.texi (C Extensions): Mention variable-length arrays in
16065 a structure/union.
16066
1b226529
MP
160672014-03-26 Marek Polacek <polacek@redhat.com>
16068
16069 PR c/39525
16070 * doc/extend.texi (Designated Inits): Describe what happens to omitted
16071 field members.
16072
6686e0bc
MP
160732014-03-26 Marek Polacek <polacek@redhat.com>
16074
16075 PR other/59545
16076 * ira-color.c (update_conflict_hard_regno_costs): Perform the
16077 multiplication in unsigned type.
16078
d4fbc3ae
CJW
160792014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
16080
16081 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
16082
dfa6c87b
CJW
160832014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
16084
16085 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
16086
9de6f6c3
JH
160872014-03-25 Jan Hubicka <hubicka@ucw.cz>
16088
16089 PR ipa/60315
16090 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
16091 * ipa-inline.c (inline_small_functions): Skip edges to
16092 __builtlin_unreachable.
9de6f6c3
JH
16093 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
16094 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
16095 predicate to __bulitin_unreachable.
429749e2
UB
16096 (set_cond_stmt_execution_predicate): Fix issue when
16097 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
16098 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
16099 propagate to inline clones.
16100 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
16101 to unreachable.
16102 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
16103 * cgraphclones.c (cgraph_clone_node): If call destination is already
16104 ureachable, do not redirect it back.
16105 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
16106 unreachable.
16107
d7636f56
JH
161082014-03-25 Jan Hubicka <hubicka@ucw.cz>
16109
16110 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
16111 Do not modify inline clones.
16112
d1873c57
JJ
161132014-03-25 Jakub Jelinek <jakub@redhat.com>
16114
16115 * config/i386/i386.md (general_sext_operand): New mode attr.
16116 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
16117 don't generate (sign_extend (const_int)).
16118 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
16119 operands[2]. Use We constraint instead of <i> and
16120 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
16121 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
16122 * config/i386/constraints.md (We): New constraint.
16123 * config/i386/predicates.md (x86_64_sext_operand,
16124 sext_operand): New predicates.
16125
b5165eb0
MJ
161262014-03-25 Martin Jambor <mjambor@suse.cz>
16127
16128 PR ipa/60600
16129 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
16130 inconsistent devirtualizations to __builtin_unreachable.
16131
3102858d
MP
161322014-03-25 Marek Polacek <polacek@redhat.com>
16133
16134 PR c/35449
16135 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
16136
4b1e108c
AL
161372014-03-25 Alan Lawrence <alan.lawrence@arm.com>
16138
16139 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
16140 order of elements for big-endian.
16141
40b0722f
RB
161422014-03-25 Richard Biener <rguenther@suse.de>
16143
16144 PR middle-end/60635
16145 * gimplify-me.c (gimple_regimplify_operands): Update the
16146 re-gimplifed stmt.
16147
4a5798de
MJ
161482014-03-25 Martin Jambor <mjambor@suse.cz>
16149
16150 PR ipa/59176
16151 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
16152 (lto_output_varpool_node): Likewise.
16153 (input_overwrite_node): Likewise.
16154 (input_varpool_node): Likewise.
16155
585d0088
RB
161562014-03-25 Richard Biener <rguenther@suse.de>
16157
429749e2 16158 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
16159 (run_gcc): Likewise.
16160
a8acccdd
JJ
161612014-03-25 Jakub Jelinek <jakub@redhat.com>
16162
51ee05d0
JJ
16163 * combine.c (simplify_compare_const): Add MODE argument.
16164 Handle mode_width 0 as very large mode_width.
16165 (try_combine, simplify_comparison): Adjust callers.
16166
a8acccdd
JJ
16167 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
16168 type to avoid signed integer overflow.
16169 * explow.c (plus_constant): Likewise.
16170
57fc74a4
DV
161712014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
16172
16173 * doc/generic.texi: Correct typos.
16174
09f15d1b
TB
161752014-03-24 Tobias Burnus <burnus@net-b.de>
16176
16177 * doc/invoke.texi (-flto): Expand section about
16178 using static libraries with LTO.
16179
72a4ddf2
AK
161802014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16181
16182 PR rtl-optimization/60501
16183 * optabs.def (addptr3_optab): New optab.
16184 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
16185 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
16186 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
16187
16188 * lra.c (emit_add3_insn): Use the addptr pattern if available.
16189
16190 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
16191
0b192937
UD
161922014-03-24 Ulrich Drepper <drepper@gmail.com>
16193
2b2384e8
UD
16194 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
16195 _mm512_set1_pd.
16196
0b192937
UD
16197 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
16198 (_mm256_undefined_ps): Define.
16199 (_mm256_undefined_pd): Define.
16200 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
16201 (_mm_undefined_pd): Define.
16202 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
16203 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
16204 (_mm512_undefined_ps): Define.
16205 (_mm512_undefined_pd): Define.
16206 Use _mm*_undefined_*.
16207 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
16208
252c7556
AV
162092014-03-24 Alex Velenko <Alex.Velenko@arm.com>
16210
16211 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
16212 (lshr_simd): DI mode added.
16213 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
16214 (aarch64_ushr_simddi): Likewise.
16215 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
16216 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
16217 (vshrd_n_u64): Likewise.
16218
15e3d4f1
RO
162192014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16220
16221 * Makefile.in (s-macro_list): Depend on cc1.
16222
1858c2d3
TJ
162232014-03-23 Teresa Johnson <tejohnson@google.com>
16224
16225 * ipa-utils.c (ipa_print_order): Use specified dump file.
16226
f87604f8
EB
162272014-03-23 Eric Botcazou <ebotcazou@adacore.com>
16228
16229 PR rtl-optimization/60601
16230 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
16231
16232 * gcc.c (eval_spec_function): Initialize save_growing_value.
16233
3db31fd1
JJ
162342014-03-22 Jakub Jelinek <jakub@redhat.com>
16235
f451d3a8
JJ
16236 PR sanitizer/60613
16237 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
16238 code == MINUS_EXPR, never swap op0 with op1.
16239
3db31fd1
JJ
16240 * toplev.c (init_local_tick): Avoid signed integer multiplication
16241 overflow.
16242 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
16243 shift by first operand's bitsize.
16244
e49080ec
JJ
162452014-03-21 Jakub Jelinek <jakub@redhat.com>
16246
16247 PR target/60610
16248 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
16249 redefine to 1 or 0.
16250 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
16251 TARGET_ISA_64BIT_P(x).
16252
44eb6c40
BS
162532014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16254
16255 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
16256 pattern for vector nor instead of subtract from splat(-1).
16257 (altivec_expand_vec_perm_const_le): Likewise.
16258
ec6f831a
RH
162592014-03-21 Richard Henderson <rth@twiddle.net>
16260
16261 PR target/60598
16262 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
16263 related insns after epilogue_completed.
16264
3d8d0043
MJ
162652014-03-21 Martin Jambor <mjambor@suse.cz>
16266
16267 PR ipa/59176
16268 * cgraph.h (symtab_node): New flag body_removed.
16269 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
16270 when removing bodies.
16271 * symtab.c (dump_symtab_base): Dump body_removed flag.
16272 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
16273 had their bodies removed.
16274
d833415c
MJ
162752014-03-21 Martin Jambor <mjambor@suse.cz>
16276
16277 PR ipa/60419
16278 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
16279 in the border.
16280
400a4f6c
RB
162812014-03-21 Richard Biener <rguenther@suse.de>
16282
16283 PR tree-optimization/60577
16284 * tree-core.h (struct tree_base): Document nothrow_flag use
9c85aeb6
EB
16285 in DECL_NONALIASED.
16286 * tree.h (DECL_NONALIASED): New.
400a4f6c 16287 (may_be_aliased): Adjust.
9c85aeb6 16288 * coverage.c (build_var): Set DECL_NONALIASED.
400a4f6c 16289
c6c2314f
EB
162902014-03-20 Eric Botcazou <ebotcazou@adacore.com>
16291
16292 * expr.c (expand_expr_real_1): Remove outdated comment.
16293
d02b6ac7
JJ
162942014-03-20 Jakub Jelinek <jakub@redhat.com>
16295
b8f045e2
JJ
16296 PR middle-end/60597
16297 * ira.c (adjust_cleared_regs): Call copy_rtx on
16298 *reg_equiv[REGNO (loc)].src_p before passing it to
16299 simplify_replace_fn_rtx.
16300
d02b6ac7
JJ
16301 PR target/60568
16302 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
16303 into CONST, put pic register as first operand of PLUS. Use
16304 gen_const_mem for both 32-bit and 64-bit PIC got loads.
16305
e2f98c01
RR
163062014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16307
16308 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
16309
7075c792
EB
163102014-03-20 Eric Botcazou <ebotcazou@adacore.com>
16311
16312 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
16313 around for store forwarding issue in the FPU on the UT699.
16314 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
16315 loads and operations if -mfix-ut699 is specified.
16316 (divtf3_hq): Tweak attribute.
16317 (sqrttf2_hq): Likewise.
16318
9ee5337d
EB
163192014-03-20 Eric Botcazou <ebotcazou@adacore.com>
16320
16321 * calls.c (store_one_arg): Remove incorrect const qualification on the
16322 type of the temporary.
16323 * cfgexpand.c (expand_return): Likewise.
16324 * expr.c (expand_constructor): Likewise.
16325 (expand_expr_real_1): Likewise.
16326
a69e09c8
ZC
163272014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
16328
16329 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
16330 of parts.
16331
8659d57b
KK
163322014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
16333
16334 PR target/60039
16335 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
16336
985e0d33
JG
163372014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
16338
16339 * config/arm/aarch-common-protos.h
16340 (alu_cost_table): Fix spelling of "extend".
16341 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
16342
ce2f49b3
RB
163432014-03-19 Richard Biener <rguenther@suse.de>
16344
16345 PR middle-end/60553
16346 * tree-core.h (tree_type_common): Re-order pointer members
16347 to reduce recursion depth during GC walks.
16348
6daa2d91
MP
163492014-03-19 Marek Polacek <polacek@redhat.com>
16350
16351 PR sanitizer/60569
16352 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
16353 before accessing it.
16354
8c9cfbe6
RB
163552014-03-19 Richard Biener <rguenther@suse.de>
16356
16357 PR lto/59543
16358 * lto-streamer-in.c (input_function): In WPA stage do not drop
16359 debug stmts.
16360
3efe2e2c
JJ
163612014-03-19 Jakub Jelinek <jakub@redhat.com>
16362
16363 PR tree-optimization/60559
16364 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
16365 with build_zero_cst assignment.
16366
234f76cb
KT
163672014-03-18 Kai Tietz <ktietz@redhat.com>
16368
16369 PR rtl-optimization/56356
16370 * sdbout.c (sdbout_parms): Verify that parms'
16371 incoming argument is valid.
16372 (sdbout_reg_parms): Likewise.
16373
58ca6edf
RH
163742014-03-18 Richard Henderson <rth@redhat.com>
16375
16376 PR target/60562
16377 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
16378 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 16379 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
16380
163812014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
16382
4bb66ef3 16383 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 16384 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 16385 Italicize plugin event names in description. Explain that
429749e2
UB
16386 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
16387 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 16388 Explain what pragmas with expansion are.
b318e404 16389
eb14a79f
ML
163902014-03-18 Martin Liska <mliska@suse.cz>
16391
16392 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
16393 gimple call statement is update.
16394 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
16395 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
16396
415e2e6b
JJ
163972014-03-18 Jakub Jelinek <jakub@redhat.com>
16398
ead96f13
JJ
16399 PR sanitizer/60557
16400 * ubsan.c (ubsan_instrument_unreachable): Call
16401 initialize_sanitizer_builtins.
16402 (ubsan_pass): Likewise.
16403
415e2e6b
JJ
16404 PR sanitizer/60535
16405 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
16406 varpool_finalize_decl instead of rest_of_decl_compilation.
16407
4ca40f52
RB
164082014-03-18 Richard Biener <rguenther@suse.de>
16409
16410 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
16411 by using bitmap_and_compl instead of bitmap_and_compl_into.
16412 (df_rd_transfer_function): Likewise.
16413
6404e190
RB
164142014-03-18 Richard Biener <rguenther@suse.de>
16415
16416 * doc/lto.texi (fresolution): Fix typo.
16417
b9abf793
RB
164182014-03-18 Richard Biener <rguenther@suse.de>
16419
16420 * doc/invoke.texi (flto): Update for changes in 4.9.
16421
3f00cf18
RB
164222014-03-18 Richard Biener <rguenther@suse.de>
16423
16424 * doc/loop.texi: Remove section on the removed lambda framework.
16425 Update loop docs with recent changes in preserving loop structure.
16426
c2679d84
RB
164272014-03-18 Richard Biener <rguenther@suse.de>
16428
16429 * doc/lto.texi (-fresolution): Document.
16430
c07990cc
RB
164312014-03-18 Richard Biener <rguenther@suse.de>
16432
16433 * doc/contrib.texi: Adjust my name.
16434
ed9c79e1
JJ
164352014-03-18 Jakub Jelinek <jakub@redhat.com>
16436
16437 PR ipa/58721
16438 * internal-fn.c: Include diagnostic-core.h.
16439 (expand_BUILTIN_EXPECT): New function.
16440 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
16441 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
16442 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
16443 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
16444 IFN_BUILTIN_EXPECT.
16445 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
16446 Revert 3 argument __builtin_expect code.
16447 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
16448 * gimple-fold.c (gimple_fold_call): Likewise.
16449 * tree.h (fold_builtin_expect): New prototype.
16450 * builtins.c (build_builtin_expect_predicate): Add predictor
16451 argument, if non-NULL, create 3 argument __builtin_expect.
16452 (fold_builtin_expect): No longer static. Add ARG2 argument,
16453 pass it through to build_builtin_expect_predicate.
16454 (fold_builtin_2): Adjust caller.
16455 (fold_builtin_3): Handle BUILT_IN_EXPECT.
16456 * internal-fn.def (BUILTIN_EXPECT): New.
16457
164582014-03-18 Tobias Burnus <burnus@net-b.de>
16459
16460 PR ipa/58721
16461 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
16462 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
16463 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
16464
164652014-03-18 Jan Hubicka <hubicka@ucw.cz>
16466
16467 PR ipa/58721
16468 * predict.c (combine_predictions_for_bb): Fix up formatting.
16469 (expr_expected_value_1, expr_expected_value): Add predictor argument,
16470 fill what it points to if non-NULL.
16471 (tree_predict_by_opcode): Adjust caller, use the predictor.
16472 * predict.def (PRED_COMPARE_AND_SWAP): Add.
16473
e33da4a1
EB
164742014-03-18 Eric Botcazou <ebotcazou@adacore.com>
16475
16476 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
16477 proper constant for the store mode.
16478
1fed15fc
IE
164792014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
16480
16481 * symtab.c (change_decl_assembler_name): Fix transparent alias
16482 chain construction.
16483
454fdba9
RL
164842014-03-16 Renlin Li <Renlin.Li@arm.com>
16485
16486 * config/aarch64/aarch64.c: Correct the comments about the
16487 aarch64 stack layout.
16488
e2110f8f
TS
164892014-03-18 Thomas Schwinge <thomas@codesourcery.com>
16490
16491 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
16492 check for GF_OMP_FOR_KIND_FOR.
16493
7c831c4d
KY
164942013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
16495
16496 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
16497 ymm and zmm register names.
16498
e318c1e1
JJ
164992014-03-17 Jakub Jelinek <jakub@redhat.com>
16500
16501 PR target/60516
16502 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
16503 note creation for the 2010-08-31 changes.
16504
ab2ffbeb
MP
165052014-03-17 Marek Polacek <polacek@redhat.com>
16506
16507 PR middle-end/60534
16508 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
16509 as -fno-tree-loop-vectorize.
16510 (expand_omp_simd): Likewise.
16511
890fa568
EB
165122014-03-15 Eric Botcazou <ebotcazou@adacore.com>
16513
16514 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
16515 (eligible_for_call_delay): New prototype.
16516 * config/sparc/sparc.c (tls_call_delay): Rename into...
16517 (eligible_for_call_delay): ...this. Return false if the instruction
16518 cannot be put in the delay slot of a branch.
16519 (eligible_for_restore_insn): Simplify.
16520 (eligible_for_return_delay): Return false if the instruction cannot be
16521 put in the delay slot of a branch and simplify.
16522 (eligible_for_sibcall_delay): Return false if the instruction cannot be
16523 put in the delay slot of a branch.
16524 * config/sparc/sparc.md (fix_ut699): New attribute.
16525 (tls_call_delay): Delete.
16526 (in_call_delay): Reimplement.
16527 (eligible_for_sibcall_delay): Rename into...
16528 (in_sibcall_delay): ...this.
16529 (eligible_for_return_delay): Rename into...
16530 (in_return_delay): ...this.
16531 (in_branch_delay): Reimplement.
16532 (in_uncond_branch_delay): Delete.
16533 (in_annul_branch_delay): Delete.
16534
cfce90ac
RH
165352014-03-14 Richard Henderson <rth@redhat.com>
16536
16537 PR target/60525
16538 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
16539 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
16540 (*floathi<X87MODEF>2_i387_with_temp): Remove.
16541 (floathi splitters): Remove.
16542 (float<SWI48x>xf2): New pattern.
16543 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
16544 code that tried to handle DImode for 32-bit, but which was excluded
16545 by the pattern's condition. Drop allocation of stack temporary.
16546 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
16547 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
16548 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
16549 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
16550 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
16551 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
16552 (*float<SWI48><MODEF>2_sse_interunit): Remove.
16553 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
16554 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
16555 (*float<SWI48x><X87MODEF>2_i387): Remove.
16556 (all float _with_temp splitters): Remove.
16557 (*float<SWI48x><MODEF>2_i387): New pattern.
16558 (*float<SWI48><MODEF>2_sse): New pattern.
16559 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
16560 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
16561
91035653
JJ
165622014-03-14 Jakub Jelinek <jakub@redhat.com>
16563 Marek Polacek <polacek@redhat.com>
16564
16565 PR middle-end/60484
16566 * common.opt (dump_base_name_prefixed): New Variable.
16567 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
16568 if x_dump_base_name_prefixed is already set, set it at the end.
16569
95921002
VM
165702014-03-14 Vladimir Makarov <vmakarov@redhat.com>
16571
16572 PR rtl-optimization/60508
16573 * lra-constraints.c (get_reload_reg): Add new parameter
16574 in_subreg_p.
16575 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
16576 Pass the new parameter values.
16577
25e57622
RB
165782014-03-14 Richard Biener <rguenther@suse.de>
16579
16580 * common.opt: Revert unintented changes from r205065.
16581 * opts.c: Likewise.
16582
1f3388fe
RB
165832014-03-14 Richard Biener <rguenther@suse.de>
16584
16585 PR middle-end/60518
16586 * cfghooks.c (split_block): Properly adjust all loops the
16587 block was a latch of.
16588
165892014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
16590
16591 PR lto/60461
16592 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
16593 and simplify it.
16594
2832dc22
GJL
165952014-03-14 Georg-Johann Lay <avr@gjlay.de>
16596
16597 PR target/59396
16598 * config/avr/avr.c (avr_set_current_function): Pass function name
16599 through default_strip_name_encoding before sanity checking instead
16600 of skipping the first char of the assembler name.
16601
3386d77e
RH
166022014-03-13 Richard Henderson <rth@redhat.com>
16603
16604 PR debug/60438
16605 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
16606 (ix86_force_to_memory, ix86_free_from_memory): Remove.
16607 * config/i386/i386-protos.h: Likewise.
16608 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
16609 in the expander instead of a splitter.
16610 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
16611 any possibility of requiring a memory.
16612 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
16613 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
16614 (fp branch splitters): Update for ix86_split_fp_branch.
16615 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
16616 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
16617 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
16618 (*fop_<MODEF>_2_i387): Remove f/r alternative.
16619 (*fop_<MODEF>_3_i387): Likewise.
16620 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
16621 (splitters for the fop_* register patterns): Remove.
16622 (fscalexf4_i387): Rename from *fscalexf4_i387.
16623 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 16624
5b5d7f31
JJ
166252014-03-13 Jakub Jelinek <jakub@redhat.com>
16626
16627 PR tree-optimization/59779
16628 * tree-dfa.c (get_ref_base_and_extent): Use double_int
16629 type for bitsize and maxsize instead of HOST_WIDE_INT.
16630
bdc6e1ae
SB
166312014-03-13 Steven Bosscher <steven@gcc.gnu.org>
16632
16633 PR rtl-optimization/57320
16634 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
16635 the CFG after thread_prologue_and_epilogue_insns.
16636
7891065a
VM
166372014-03-13 Vladimir Makarov <vmakarov@redhat.com>
16638
16639 PR rtl-optimization/57189
16640 * lra-constraints.c (process_alt_operands): Disfavor spilling
16641 vector pseudos.
16642
eba14fca
CP
166432014-03-13 Cesar Philippidis <cesar@codesourcery.com>
16644
429749e2 16645 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 16646
f661b085
JJ
166472014-03-13 Jakub Jelinek <jakub@redhat.com>
16648
16649 PR tree-optimization/59025
16650 PR middle-end/60418
16651 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
16652 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
16653
8f3a3138
GJL
166542014-03-13 Georg-Johann Lay <avr@gjlay.de>
16655
16656 PR target/60486
16657 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
16658 calls of avr_out_plus_1.
16659
d731ee04
BC
166602014-03-13 Bin Cheng <bin.cheng@arm.com>
16661
16662 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
16663 BB's single pred and update the father loop's latch info later.
16664
a16a872d
MM
166652014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
16666
16667 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
16668 (VEC_M): Likewise.
16669 (VEC_N): Likewise.
16670 (VEC_R): Likewise.
16671 (VEC_base): Likewise.
16672 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
16673 registers, we need to swap double words in little endian mode.
16674
16675 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
16676 to be a container mode for 128-bit integer operations added in ISA
16677 2.07. Unlike TImode and PTImode, the preferred register set is
16678 the Altivec/VMX registers for the 128-bit operations.
16679
16680 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
16681 declarations.
16682 (rs6000_split_128bit_ok_p): Likewise.
16683
16684 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
16685 macros for creating ISA 2.07 normal and overloaded builtin
16686 functions with 3 arguments.
16687 (BU_P8V_OVERLOAD_3): Likewise.
16688 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
16689 for use as overloaded functions.
16690 (VPERM_1TI_UNS): Likewise.
16691 (VSEL_1TI): Likewise.
16692 (VSEL_1TI_UNS): Likewise.
16693 (ST_INTERNAL_1ti): Likewise.
16694 (LD_INTERNAL_1ti): Likewise.
16695 (XXSEL_1TI): Likewise.
16696 (XXSEL_1TI_UNS): Likewise.
16697 (VPERM_1TI): Likewise.
16698 (VPERM_1TI_UNS): Likewise.
16699 (XXPERMDI_1TI): Likewise.
16700 (SET_1TI): Likewise.
16701 (LXVD2X_V1TI): Likewise.
16702 (STXVD2X_V1TI): Likewise.
16703 (VEC_INIT_V1TI): Likewise.
16704 (VEC_SET_V1TI): Likewise.
16705 (VEC_EXT_V1TI): Likewise.
16706 (EQV_V1TI): Likewise.
16707 (NAND_V1TI): Likewise.
16708 (ORC_V1TI): Likewise.
16709 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
16710 added in ISA 2.07. Add both normal 'altivec' builtins, and the
16711 overloaded builtin.
16712 (VADDUQM): Likewise.
16713 (VSUBCUQ): Likewise.
16714 (VADDEUQM): Likewise.
16715 (VADDECUQ): Likewise.
16716 (VSUBEUQM): Likewise.
16717 (VSUBECUQ): Likewise.
16718
16719 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
16720 __int128_t and __uint128_t types.
16721 (__uint128_type): Likewise.
16722 (altivec_categorize_keyword): Add support for vector __int128_t,
16723 vector __uint128_t, vector __int128, and vector unsigned __int128
16724 as a container type for TImode operations that need to be done in
16725 VSX/Altivec registers.
16726 (rs6000_macro_to_expand): Likewise.
16727 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
16728 to support 128-bit integer instructions vaddcuq, vadduqm,
16729 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
16730 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
16731
16732 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
16733 for V1TImode, and set up preferences to use VSX/Altivec registers.
16734 Setup VSX reload handlers.
a16a872d
MM
16735 (rs6000_debug_reg_global): Likewise.
16736 (rs6000_init_hard_regno_mode_ok): Likewise.
16737 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 16738 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
16739 (easy_altivec_constant): Likewise.
16740 (output_vec_const_move): Likewise.
16741 (rs6000_expand_vector_set): Convert V1TImode set and extract to
16742 simple move.
16743 (rs6000_expand_vector_extract): Likewise.
16744 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
16745 addressing.
16746 (rs6000_const_vec): Add support for V1TImode.
16747 (rs6000_emit_le_vsx_load): Swap double words when loading or
16748 storing TImode/V1TImode.
16749 (rs6000_emit_le_vsx_store): Likewise.
16750 (rs6000_emit_le_vsx_move): Likewise.
16751 (rs6000_emit_move): Add support for V1TImode.
16752 (altivec_expand_ld_builtin): Likewise.
16753 (altivec_expand_st_builtin): Likewise.
16754 (altivec_expand_vec_init_builtin): Likewise.
16755 (altivec_expand_builtin): Likewise.
16756 (rs6000_init_builtins): Add support for V1TImode type. Add
16757 support for ISA 2.07 128-bit integer builtins. Define type names
16758 for the VSX/Altivec vector types.
16759 (altivec_init_builtins): Add support for overloaded vector
16760 functions with V1TImode type.
0bb29a05 16761 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
16762 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
16763 external function.
16764 (rs6000_split_128bit_ok_p): Likewise.
16765 (rs6000_handle_altivec_attribute): Create V1TImode from vector
16766 __int128_t and vector __uint128_t.
16767
16768 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
16769 and mode attributes.
16770 (VSX_M): Likewise.
16771 (VSX_M2): Likewise.
16772 (VSm): Likewise.
16773 (VSs): Likewise.
16774 (VSr): Likewise.
16775 (VSv): Likewise.
16776 (VS_scalar): Likewise.
16777 (VS_double): Likewise.
0bb29a05 16778 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 16779
0bb29a05
UB
16780 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
16781 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
16782 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
16783 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
16784 and TImode types for use with the builtin functions.
16785 (V1TI_type_node): Likewise.
16786 (unsigned_V1TI_type_node): Likewise.
16787 (intTI_type_internal_node): Likewise.
16788 (uintTI_type_internal_node): Likewise.
16789
0bb29a05
UB
16790 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
16791 128-bit builtin functions.
a16a872d
MM
16792 (UNSPEC_VADDEUQM): Likewise.
16793 (UNSPEC_VADDECUQ): Likewise.
16794 (UNSPEC_VSUBCUQ): Likewise.
16795 (UNSPEC_VSUBEUQM): Likewise.
16796 (UNSPEC_VSUBECUQ): Likewise.
16797 (VM): Add V1TImode to vector mode iterators.
16798 (VM2): Likewise.
16799 (VI_unit): Likewise.
16800 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
16801 (altivec_vaddcuq): Likewise.
16802 (altivec_vsubuqm): Likewise.
16803 (altivec_vsubcuq): Likewise.
16804 (altivec_vaddeuqm): Likewise.
16805 (altivec_vaddecuq): Likewise.
16806 (altivec_vsubeuqm): Likewise.
16807 (altivec_vsubecuq): Likewise.
16808
16809 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
16810 mode iterators.
16811 (BOOL_128): Likewise.
16812 (BOOL_REGS_OUTPUT): Likewise.
16813 (BOOL_REGS_OP1): Likewise.
16814 (BOOL_REGS_OP2): Likewise.
16815 (BOOL_REGS_UNARY): Likewise.
16816 (BOOL_REGS_AND_CR0): Likewise.
16817
16818 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
16819 128-bit integer builtin support.
16820 (vec_vadduqm): Likewise.
16821 (vec_vaddecuq): Likewise.
16822 (vec_vaddeuqm): Likewise.
16823 (vec_vsubecuq): Likewise.
16824 (vec_vsubeuqm): Likewise.
16825 (vec_vsubcuq): Likewise.
16826 (vec_vsubuqm): Likewise.
16827
16828 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
16829 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
16830 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
16831 128-bit integer add/subtract to ISA 2.07.
16832
eeac7d15
JR
168332014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
16834
16835 * config/arc/arc.c (arc_predicate_delay_insns):
16836 Fix third argument passed to conditionalize_nonjump.
16837
bf0f324e
YZ
168382014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
16839
16840 * config/aarch64/aarch64-builtins.c
16841 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
16842 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
16843 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
16844 instead of __builtin_lfloor.
16845 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
16846
bf4787b2
JJ
168472014-03-12 Jakub Jelinek <jakub@redhat.com>
16848
16849 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
16850 (tree_ssa_ifcombine_bb_1): New function.
16851 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
16852 is an empty forwarder block to then_bb or vice versa and then_bb
16853 and else_bb are effectively swapped.
16854
7d55b948
CB
168552014-03-12 Christian Bruel <christian.bruel@st.com>
16856
16857 PR target/60264
0bb29a05
UB
16858 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
16859 REG_CFA_DEF_CFA note.
7d55b948
CB
16860 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
16861 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
16862
882a5fbe
TP
168632014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
16864
16865 PR tree-optimization/60454
16866 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
16867
a3cd0246
KT
168682014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16869
16870 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
16871 Do not define target_cpu_default2 to generic.
16872 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
16873 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
16874 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
16875
c888139c
JJ
168762014-03-12 Jakub Jelinek <jakub@redhat.com>
16877 Marc Glisse <marc.glisse@inria.fr>
16878
16879 PR tree-optimization/60502
16880 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
16881 instead of build_low_bits_mask.
16882
b24ca895
JJ
168832014-03-12 Jakub Jelinek <jakub@redhat.com>
16884
16885 PR middle-end/60482
16886 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
16887 if there are multiple uses, but op doesn't live on E edge.
16888 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
16889 clobber stmts before __builtin_unreachable.
16890
f1257268
RS
168912014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
16892
16893 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
16894 hard_frame_pointer_rtx.
16895 * cse.c (cse_insn): Remove volatile check.
16896 * cselib.c (cselib_process_insn): Likewise.
16897 * dse.c (scan_insn): Likewise.
16898
bae56bbb
JR
168992014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
16900
0bb29a05
UB
16901 * config/arc/arc.c (conditionalize_nonjump): New function,
16902 broken out of ...
16903 (arc_ifcvt): ... this.
bae56bbb
JR
16904 (arc_predicate_delay_insns): Use it.
16905
167ba5b9
JR
169062014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
16907
16908 * config/arc/predicates.md (extend_operand): During/after reload,
16909 allow const_int_operand.
16910 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
16911 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
16912 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
16913 to "i".
16914 (umulsi3_highpart_i): Likewise.
16915
dfd7d2d6
RB
169162014-03-11 Richard Biener <rguenther@suse.de>
16917
16918 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
16919 Add asserts to guard possible wrong-code bugs.
16920
af1ab449
RB
169212014-03-11 Richard Biener <rguenther@suse.de>
16922
16923 PR tree-optimization/60429
16924 PR tree-optimization/60485
16925 * tree-ssa-structalias.c (set_union_with_increment): Properly
16926 take into account all fields that overlap the shifted vars.
16927 (do_sd_constraint): Likewise.
16928 (do_ds_constraint): Likewise.
16929 (get_constraint_for_ptr_offset): Likewise.
16930
747425d0
CLT
169312014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
16932
16933 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
16934 (nios2_compute_frame_layout):
16935 Add calculation of cfun->machine->fp_save_offset.
16936 (nios2_expand_prologue): Correct setting of frame pointer register
16937 in prologue.
16938 (nios2_expand_epilogue): Update recovery of stack pointer from
16939 frame pointer accordingly.
16940 (nios2_initial_elimination_offset): Update calculation of offset
16941 for eliminating to HARD_FRAME_POINTER_REGNUM.
16942
31dad809
JJ
169432014-03-10 Jakub Jelinek <jakub@redhat.com>
16944
16945 PR ipa/60457
16946 * ipa.c (symtab_remove_unreachable_nodes): Don't call
16947 cgraph_get_create_node on VAR_DECLs.
16948
3c1c08d6
RB
169492014-03-10 Richard Biener <rguenther@suse.de>
16950
16951 PR middle-end/60474
16952 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
16953
21d89690
DR
169542014-03-08 Douglas B Rupp <rupp@gnat.com>
16955
16956 * config/vms/vms.opt (vms_float_format): New variable.
16957
634b8e9b
TB
169582014-03-08 Tobias Burnus <burnus@net-b.de>
16959
0bb29a05 16960 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 16961
f42c637e
PM
169622014-03-08 Paulo Matos <paulo@matos-sorge.com>
16963 Richard Biener <rguenther@suse.de>
16964
16965 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
16966 consistently accross all TUs.
16967 (run_gcc): Enable -fshort-double automatically at link at link-time
16968 and disallow override.
16969
bd65fc87
RS
169702014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
16971
16972 PR target/58271
16973 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
16974 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
16975 if they can't be used.
16976
040c446d
RO
169772014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16978
0bb29a05
UB
16979 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
16980 for Solaris 11/x86 ld.
040c446d
RO
16981 * configure: Regenerate.
16982
caa16d41
RO
169832014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16984
16985 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
16986 (LIB_TLS_SPEC): Save as ld_tls_libs.
16987 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
16988 (HAVE_AS_IX86_TLSLDM): New test.
16989 * configure, config.in: Regenerate.
16990 * config/i386/i386.c (legitimize_tls_address): Fall back to
16991 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
16992 cannot support TLS_MODEL_LOCAL_DYNAMIC.
16993 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
16994 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
16995
f3d83ffe
PM
169962014-03-07 Paulo Matos <paulo@matos-sorge.com>
16997
16998 * common.opt (fira-loop-pressure): Mark as optimization.
16999
b17a8b07
TS
170002014-03-07 Thomas Schwinge <thomas@codesourcery.com>
17001
17002 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
17003 an OpenMP mappable type.
17004
4973b0f9
MK
170052014-03-06 Matthias Klose <doko@ubuntu.com>
17006
17007 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
17008 MULTILIB_OSDIRNAMES is not defined.
17009
ab19cc6c
JJ
170102014-03-06 Jakub Jelinek <jakub@redhat.com>
17011 Meador Inge <meadori@codesourcery.com>
17012
17013 PR target/58595
17014 * config/arm/arm.c (arm_tls_symbol_p): Remove.
17015 (arm_legitimize_address): Call legitimize_tls_address for any
17016 arm_tls_referenced_p expression, handle constant addend. Call it
17017 before testing for !TARGET_ARM.
17018 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
17019
a74158c7
RB
170202014-03-06 Richard Biener <rguenther@suse.de>
17021
17022 PR middle-end/60445
17023 PR lto/60424
17024 PR lto/60427
17025 Revert
17026 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
17027
0bb29a05
UB
17028 * tree-streamer.c (record_common_node): Assert we don't record
17029 nodes with type double.
17030 (preload_common_node): Skip type double, complex double and double
17031 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 17032
f3ba16d0
RB
170332014-03-06 Richard Biener <rguenther@suse.de>
17034
17035 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
17036 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
17037 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
17038 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
17039 * lto-wrapper.c (merge_and_complain): Merge compile-time
17040 optimization levels.
17041 (run_gcc): And pass it through to the link options.
17042
4bb66ef3 170432014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
17044
17045 PR debug/60381
17046 Revert:
4bb66ef3 17047 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
17048 PR debug/59992
17049 * cselib.c (remove_useless_values): Skip to avoid quadratic
17050 behavior if the condition moved from...
17051 (cselib_process_insn): ... here holds.
17052
a05cca9b
JJ
170532014-03-05 Jakub Jelinek <jakub@redhat.com>
17054
487125e7
JJ
17055 PR plugins/59335
17056 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
17057 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
17058
a05cca9b
JJ
17059 PR plugins/59335
17060 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
17061 (TM_H): Add x86-tune.def.
17062
4e2cd668
KT
170632014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17064
17065 * config/aarch64/aarch64.c (generic_tunings):
17066 Use cortexa57_extra_costs.
17067
5525ed38
JJ
170682014-03-05 Jakub Jelinek <jakub@redhat.com>
17069
17070 PR lto/60404
17071 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
17072 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
17073 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
17074 cost for in_lto_p.
17075
0c72fa78
H
170762014-03-04 Heiher <r@hev.cc>
17077
17078 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
17079 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
17080
66b03f81
UB
170812014-03-04 Uros Bizjak <ubizjak@gmail.com>
17082
17083 * config/i386/predicates.md (const2356_operand): Change to ...
17084 (const2367_operand): ... this.
17085 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
17086 const2367_operand.
17087 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
17088 (*avx512pf_scatterpf<mode>sf): Ditto.
17089 (avx512pf_scatterpf<mode>df): Ditto.
17090 (*avx512pf_scatterpf<mode>df_mask): Ditto.
17091 (*avx512pf_scatterpf<mode>df): Ditto.
17092 * config/i386/i386.c (ix86_expand_builtin): Update
17093 incorrect hint operand error message.
17094
3c24e842
RB
170952014-03-04 Richard Biener <rguenther@suse.de>
17096
17097 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 17098
3740bda6
PM
170992014-03-04 Paulo Matos <paulo@matos-sorge.com>
17100
0bb29a05
UB
17101 * tree-streamer.c (record_common_node): Assert we don't record
17102 nodes with type double.
17103 (preload_common_node): Skip type double, complex double and double
17104 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 17105
91856735
RB
171062014-03-04 Richard Biener <rguenther@suse.de>
17107
17108 PR lto/60405
66b03f81 17109 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
17110 (lto_input_toplevel_asms): Likewise.
17111 * lto-section-in.c (lto_get_section_data): Instead do it here
17112 for every section.
66b03f81 17113
b75f28e1
RB
171142014-03-04 Richard Biener <rguenther@suse.de>
17115
17116 PR tree-optimization/60382
17117 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
17118 dead PHIs a reduction.
17119
dd96e83a
UB
171202014-03-03 Uros Bizjak <ubizjak@gmail.com>
17121
17122 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
17123 hint value.
17124 (_mm_prefetch): Move out of GCC target("sse") pragma.
17125 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
17126 GCC target("prfchw") pragma.
17127 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
17128 for locality <= 2.
17129 * config/i386/i386.c (ix86_option_override_internal): Enable
17130 -mprfchw with -mprefetchwt1.
17131
220c1a51
JR
171322014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
17133
17134 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
17135 Mark as varying.
17136
212bfe71
JR
171372014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
17138
17139 * opts.h (CL_PCH_IGNORE): Define.
17140 * targhooks.c (option_affects_pch_p):
17141 Return false for options that have CL_PCH_IGNORE set.
17142 * opt-functions.awk: Process PchIgnore.
17143 * doc/options.texi: Document PchIgnore.
17144
7a3d0a39
JR
17145 * config/arc/arc.opt (misize): Add PchIgnore property.
17146
b46ed885
BS
171472014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17148
17149 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
17150 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
17151 constraint on constants to permit them being loaded into
17152 GENERAL_REGS or BASE_REGS.
17153
c6f709ec
NC
171542014-03-03 Nick Clifton <nickc@redhat.com>
17155
17156 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
17157 anti-cacnonical alternatives.
17158 (negandhi3_real): New pattern.
17159 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
17160
5752f78f
SKS
171612014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
17162
17163 * config/avr/avr-mcus.def: Remove atxmega16x1.
17164 * config/avr/avr-tables.opt: Regenerate.
17165 * config/avr/t-multilib: Regenerate.
17166 * doc/avr-mmcu.texi: Regenerate.
17167
0afe7332 171682014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 17169 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
17170
17171 PR tree-optimization/58028
17172 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
17173 scalar dimensions.
17174
3416dd87
RR
171752014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17176
17177 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
17178 not handled by recognizers.
17179
79c7fda6
JJ
171802014-03-03 Jakub Jelinek <jakub@redhat.com>
17181
17182 PR middle-end/60175
17183 * function.c (expand_function_end): Don't emit
17184 clobber_return_register sequence if clobber_after is a BARRIER.
17185 * cfgexpand.c (construct_exit_block): Append instructions before
17186 return_label to prev_bb.
17187
715a5c85
BS
171882014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17189
17190 * config/rs6000/constraints.md: Document reserved use of "wc".
17191
9ffbf271
JH
171922014-03-02 Jan Hubicka <hubicka@ucw.cz>
17193
17194 PR ipa/60150
17195 * ipa.c (function_and_variable_visibility): When dissolving comdat
17196 group, also set all symbols to local.
17197
993df21e 171982014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 17199
993df21e
JH
17200 PR ipa/60306
17201
17202 Revert:
40c0a159 17203 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
17204 PR middle-end/58477
17205 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 17206
9b0af790
JB
172072014-03-02 Jon Beniston <jon@beniston.com>
17208
17209 PR bootstrap/48230
17210 PR bootstrap/50927
17211 PR bootstrap/52466
17212 PR target/46898
17213 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 17214 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 17215 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 17216 (simple_return, *simple_return): New patterns
9b0af790
JB
17217 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
17218 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
17219
c582aac9
PC
172202014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
17221
17222 * dwarf2out.c (gen_subprogram_die): Tidy.
17223
19305875
OE
172242014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
17225
17226 PR target/60071
17227 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
17228 (*mov_t_msb_neg_negc): ... this new insn.
17229
570215f9
JM
172302014-02-28 Jason Merrill <jason@redhat.com>
17231
17232 PR c++/58678
17233 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
17234 function.
17235
c5b001b5
PC
172362014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
17237
17238 PR c++/60314
17239 * dwarf2out.c (decltype_auto_die): New static.
17240 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
17241 (gen_type_die_with_usage): Handle 'decltype(auto)'.
17242 (is_cxx_auto): Likewise.
17243
5750e120
IB
172442014-02-28 Ian Bolton <ian.bolton@arm.com>
17245
17246 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
17247 we are not using general regs only.
17248
fba7c564
RB
172492014-02-28 Richard Biener <rguenther@suse.de>
17250
17251 PR target/60280
17252 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
17253 previous fix and only allow to remove trivial pre-headers
17254 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 17255 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 17256
4bb66ef3 172572014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
17258
17259 PR debug/59992
17260 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
17261 (cselib_preserved_hash_table): New.
17262 (preserve_constants_and_equivs): Move preserved vals to it.
17263 (cselib_find_slot): Look it up first.
17264 (cselib_init): Initialize it.
17265 (cselib_finish): Release it.
17266 (dump_cselib_table): Dump it.
17267
4bb66ef3 172682014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
17269
17270 PR debug/59992
17271 * cselib.c (remove_useless_values): Skip to avoid quadratic
17272 behavior if the condition moved from...
17273 (cselib_process_insn): ... here holds.
17274
4bb66ef3 172752014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
17276
17277 PR debug/57232
17278 * var-tracking.c (vt_initialize): Apply the same condition to
17279 preserve the CFA base value.
17280
9910c53c
JY
172812014-02-28 Joey Ye <joey.ye@arm.com>
17282
17283 PR target/PR60169
17284 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
17285 if reload in progress or completed.
17286
ef271341
TB
172872014-02-28 Tobias Burnus <burnus@net-b.de>
17288
17289 PR middle-end/60147
17290 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
17291 NAMELIST_DECL.
17292
c4f6267b
L
172932014-02-27 H.J. Lu <hongjiu.lu@intel.com>
17294
17295 * doc/tm.texi.in (Condition Code Status): Update documention for
17296 relative locations of cc0-setter and cc0-user.
17297
7a76df7f
JL
172982014-02-27 Jeff Law <law@redhat.com>
17299
17300 PR rtl-optimization/52714
17301 * combine.c (try_combine): When splitting an unrecognized PARALLEL
17302 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 17303 pattern we place into I3 is a (set (pc) ...).
7a76df7f 17304
728acca0
MP
173052014-02-27 Mikael Pettersson <mikpe@it.uu.se>
17306 Jeff Law <law@redhat.com>
17307
17308 PR rtl-optimization/49847
17309 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
17310 are in different blocks.
17311 * doc/tm.texi (Condition Code Status): Update documention for
17312 relative locations of cc0-setter and cc0-user.
17313
93aaa05d
VM
173142014-02-27 Vladimir Makarov <vmakarov@redhat.com>
17315
17316 PR target/59222
17317 * lra.c (lra_emit_add): Check SUBREG too.
17318
1ee6eb01
AS
173192014-02-27 Andreas Schwab <schwab@suse.de>
17320
17321 * config/m68k/m68k.c (m68k_option_override): Disable
17322 -flive-range-shrinkage for classic m68k.
17323 (m68k_override_options_after_change): Likewise.
17324
bb0d8e84
MP
173252014-02-27 Marek Polacek <polacek@redhat.com>
17326
17327 PR middle-end/59223
17328 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
17329 -Wmaybe-uninitialized.
17330
3157b879
AM
173312014-02-27 Alan Modra <amodra@gmail.com>
17332
3e17cad2 17333 PR target/57936
3157b879
AM
17334 * reload1.c (emit_input_reload_insns): When reload_override_in,
17335 set old to rl->in_reg when rl->in_reg is a subreg.
17336
bb750f4f
RB
173372014-02-26 Richard Biener <rguenther@suse.de>
17338
17339 PR bootstrap/60343
17340 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
17341
22c8aab3
IT
173422014-02-25 Ilya Tocar <ilya.tocar@intel.com>
17343
17344 * common/config/i386/predicates.md (const1256_operand): Remove.
17345 (const2356_operand): New.
17346 (const_1_to_2_operand): Remove.
17347 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
17348 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
17349 (*avx512pf_gatherpf<mode>sf): Ditto.
17350 (avx512pf_gatherpf<mode>df): Ditto.
17351 (*avx512pf_gatherpf<mode>df_mask): Ditto.
17352 (*avx512pf_gatherpf<mode>df): Ditto.
17353 (avx512pf_scatterpf<mode>sf): Ditto.
17354 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
17355 (*avx512pf_scatterpf<mode>sf): Ditto.
17356 (avx512pf_scatterpf<mode>df): Ditto.
17357 (*avx512pf_scatterpf<mode>df_mask): Ditto.
17358 (*avx512pf_scatterpf<mode>df): Ditto.
17359 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
17360
260d3642
IT
173612014-02-26 Ilya Tocar <ilya.tocar@intel.com>
17362
17363 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
17364 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
17365 (_mm512_mask_testn_epi64_mask): Move to ...
17366 * config/i386/avx512cdintrin.h: Here.
17367 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
17368 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
17369 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
17370 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
17371 TARGET_AVX512F from TARGET_AVX512CD.
17372
477145c8
RB
173732014-02-26 Richard Biener <rguenther@suse.de>
17374
17375 PR ipa/60327
17376 * ipa.c (walk_polymorphic_call_targets): Properly guard
17377 call to inline_update_overall_summary.
17378
a3afdbb8
BC
173792014-02-26 Bin Cheng <bin.cheng@arm.com>
17380
17381 PR target/60280
84d7e312
UB
17382 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
17383 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
17384 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
17385 LOOPS_HAVE_PREHEADERS.
17386
b8a542c6
AP
173872014-02-25 Andrew Pinski <apinski@cavium.com>
17388
17389 * builtins.c (expand_builtin_thread_pointer): Create a new target
17390 when the target is NULL.
17391
88def637
VM
173922014-02-25 Vladimir Makarov <vmakarov@redhat.com>
17393
17394 PR rtl-optimization/60317
17395 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
17396 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
17397 * lra-assigns.c: Include params.h.
17398 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
17399 other reload pseudos considerations.
17400
68908a06
BS
174012014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17402
cf36d2cc
WS
17403 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
17404 to use canonical form for nor<mode>3.
68908a06 17405
db57bbc9
KT
174062014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17407
17408 PR target/55426
17409 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
17410 conversions.
17411
43b3f52f
IT
174122014-02-25 Ilya Tocar <ilya.tocar@intel.com>
17413
17414 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
17415 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
17416 (ix86_handle_option): Handle OPT_mprefetchwt1.
17417 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
17418 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
17419 PREFETCHWT1 CPUID.
17420 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
17421 OPTION_MASK_ISA_PREFETCHWT1.
17422 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
17423 (PTA_PREFETCHWT1): New.
17424 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
17425 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 17426 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
17427 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
17428 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 17429 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
17430 * config/i386/i386.opt (mprefetchwt1): New.
17431 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
17432 (_mm_prefetch): Handle intent to write.
17433 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
17434
84053e02
RB
174352014-02-25 Richard Biener <rguenther@suse.de>
17436
17437 PR middle-end/60291
17438 * emit-rtl.c (mem_attrs_htab): Remove.
17439 (mem_attrs_htab_hash): Likewise.
17440 (mem_attrs_htab_eq): Likewise.
84d7e312 17441 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
17442 (init_emit_once): Do not allocate mem_attrs_htab.
17443
4094757e
RB
174442014-02-25 Richard Biener <rguenther@suse.de>
17445
17446 PR lto/60319
17447 * lto-opts.c (lto_write_options): Output non-explicit conservative
17448 -fwrapv, -fno-trapv and -fno-strict-overflow.
17449 * lto-wrapper.c (merge_and_complain): Handle merging those options.
17450 (run_gcc): And pass them through.
17451
41b2d514 174522014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 17453
41b2d514
AB
17454 * sel-sched.c (calculate_new_fences): New parameter ptime.
17455 Calculate it as a maximum over all fence cycles.
17456 (sel_sched_region_2): Adjust the call to calculate_new_fences.
17457 Print the final schedule timing when sched_verbose.
17458
c1c99405
AB
174592014-02-25 Andrey Belevantsev <abel@ispras.ru>
17460
17461 PR rtl-optimization/60292
17462 * sel-sched.c (fill_vec_av_set): Do not reset target availability
17463 bit fot the fence instruction.
17464
1d9def42
AD
174652014-02-24 Alangi Derick <alangiderick@gmail.com>
17466
17467 * calls.h: Fix typo in comment.
17468
325fefe0
JDA
174692014-02-24 John David Anglin <danglin@gcc.gnu.org>
17470
17471 * config/pa/pa.c (pa_output_move_double): Don't valididate when
17472 adjusting offsetable addresses.
17473
ad43b47a
GW
174742014-02-24 Guozhi Wei <carrot@google.com>
17475
17476 * sparseset.h (sparseset_pop): Fix the wrong index.
17477
341c653c
WL
174782014-02-24 Walter Lee <walt@tilera.com>
17479
17480 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
17481 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
17482 triplet.
17483 * common/config/tilegx/tilegx-common.c
17484 (TARGET_DEFAULT_TARGET_FLAGS): Define.
17485 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
17486 (LINK_SPEC): Ditto.
17487 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
17488 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
17489 (tilegx_gimplify_va_arg_expr): Handle big endian.
17490 (tilegx_expand_unaligned_load): Ditto.
17491 (tilegx_expand_unaligned_store): Ditto.
17492 (TARGET_RETURN_IN_MSB): New.
17493 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
17494 (TARGET_ENDIAN_DEFAULT): New.
17495 (TARGET_BIG_ENDIAN): Handle big endian.
17496 (BYTES_BIG_ENDIAN): Ditto.
17497 (WORDS_BIG_ENDIAN): Ditto.
17498 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
17499 (ENDIAN_SPEC): New.
17500 (EXTRA_SPECS): New.
17501 * config/tilegx/tilegx.md (extv): Handle big endian.
17502 (extzv): Ditto.
17503 (insn_st<n>): Ditto.
17504 (insn_st<n>_add<bitsuffix>): Ditto.
17505 (insn_stnt<n>): Ditto.
17506 (insn_stnt<n>_add<bitsuffix>):Ditto.
17507 (vec_interleave_highv8qi): Handle big endian.
17508 (vec_interleave_highv8qi_be): New.
17509 (vec_interleave_highv8qi_le): New.
17510 (insn_v1int_h): Handle big endian.
17511 (vec_interleave_lowv8qi): Handle big endian.
17512 (vec_interleave_lowv8qi_be): New.
17513 (vec_interleave_lowv8qi_le): New.
17514 (insn_v1int_l): Handle big endian.
17515 (vec_interleave_highv4hi): Handle big endian.
17516 (vec_interleave_highv4hi_be): New.
17517 (vec_interleave_highv4hi_le): New.
17518 (insn_v2int_h): Handle big endian.
17519 (vec_interleave_lowv4hi): Handle big endian.
17520 (vec_interleave_lowv4hi_be): New.
17521 (vec_interleave_lowv4hi_le): New.
17522 (insn_v2int_l): Handle big endian.
17523 (vec_interleave_highv2si): Handle big endian.
17524 (vec_interleave_highv2si_be): New.
17525 (vec_interleave_highv2si_le): New.
17526 (insn_v4int_h): Handle big endian.
17527 (vec_interleave_lowv2si): Handle big endian.
17528 (vec_interleave_lowv2si_be): New.
17529 (vec_interleave_lowv2si_le): New.
17530 (insn_v4int_l): Handle big endian.
17531 * config/tilegx/tilegx.opt (mbig-endian): New option.
17532 (mlittle-endian): New option.
17533 * doc/install.texi: Document tilegxbe-linux.
17534 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
17535
f3fec19f
MJ
175362014-02-24 Martin Jambor <mjambor@suse.cz>
17537
17538 PR ipa/60266
17539 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
17540 there are no parameter descriptors.
17541
9039622a
AB
175422014-02-24 Andrey Belevantsev <abel@ispras.ru>
17543
17544 PR rtl-optimization/60268
17545 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
17546 initialization to ...
17547 (sched_rgn_init): ... here.
17548 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
17549
4bb66ef3 175502014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 17551
9039622a
AB
17552 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
17553 names.
e7e7bc4b 17554
4bb66ef3 175552014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
17556
17557 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
17558 definition.
17559
4bb66ef3 175602014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 17561
84d7e312
UB
17562 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
17563 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 17564
4bb66ef3 175652014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
17566
17567 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 17568 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 17569 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 17570 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
17571 to microblaze_expand_conditional_branch and consolidate logic.
17572 (microblaze_expand_conditional_branch): emit branch_compare
17573 insn instead of handling cmp op separate from branch insn.
17574
34c25d23
BS
175752014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17576
17577 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
17578 to permit subregs.
17579
a6eecdc1
BS
175802014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17581
d5a19af1
DH
17582 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
17583 define_insn with define_expand and new define_insn
17584 *altivec_lve<VI_char>x_internal.
17585 (altivec_stve<VI_char>x): Replace define_insn with define_expand
17586 and new define_insn *altivec_stve<VI_char>x_internal.
17587 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
17588 prototype.
17589 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
17590 lve*x built-ins.
17591 (altivec_expand_stvex_be): New function.
a6eecdc1 17592
8aa7d1fc
JR
175932014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
17594
17595 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 17596 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
17597 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
17598 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
17599
a810ee82
VM
176002014-02-21 Vladimir Makarov <vmakarov@redhat.com>
17601
17602 PR target/60298
17603 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
17604 instead of emit_move_insn.
17605
b90ab1ba
BS
176062014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17607
17608 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
17609 vspltw with vsldoi.
17610 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
17611 gen_altivec_vsumsws.
17612
1af73690
WS
176132014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17614
17615 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 17616 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
17617 (altivec_lvxl_<mode>): New define_expand incorporating
17618 -maltivec=be semantics where needed.
17619 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
17620 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
17621 semantics where needed.
17622 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
17623 (altivec_stvx_<mode>): New define_expand incorporating
17624 -maltivec=be semantics where needed.
17625 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
17626 VM2 iterator instead of V4SI.
17627 (altivec_stvxl_<mode>): New define_expand incorporating
17628 -maltivec=be semantics where needed.
17629 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
17630 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
17631 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
17632 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
17633 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
17634 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
17635 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
17636 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
17637 ALTIVEC_BUILTIN_STVXL.
84d7e312 17638 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
17639 (altivec_expand_stvx_be): Likewise.
17640 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
17641 (altivec_expand_lvx_be): Likewise.
17642 (altivec_expand_stvx_be): Likewise.
17643 (altivec_expand_builtin): Add cases for
17644 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
17645 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
17646 (altivec_init_builtins): Add definitions for
17647 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 17648 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 17649
0a39d07b
CM
176502014-02-21 Catherine Moore <clm@codesourcery.com>
17651
17652 * doc/invoke.texi (mvirt, mno-virt): Document.
17653 * config/mips/mips.opt (mvirt): New option.
17654 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
17655
f2556b68
RB
176562014-02-21 Richard Biener <rguenther@suse.de>
17657
17658 PR tree-optimization/60276
17659 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
17660 (STMT_VINFO_MIN_NEG_DIST): New macro.
17661 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
17662 STMT_VINFO_MIN_NEG_DIST.
17663 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
17664 made for negative dependence distances still hold.
17665
32417082
RB
176662014-02-21 Richard Biener <rguenther@suse.de>
17667
17668 PR middle-end/60291
17669 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
17670 DECL_INITIAL for globals not in the current function context.
17671
92261ce0
JJ
176722014-02-21 Jakub Jelinek <jakub@redhat.com>
17673
17674 PR tree-optimization/56490
17675 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
17676 * tree-ssa-uninit.c: Include params.h.
17677 (compute_control_dep_chain): Add num_calls argument, return false
17678 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
17679 num_calls to recursive call.
17680 (find_predicates): Change dep_chain into normal array,
17681 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
17682 variable and adjust compute_control_dep_chain caller.
17683 (find_def_preds): Likewise.
17684
aa6ef874
TS
176852014-02-21 Thomas Schwinge <thomas@codesourcery.com>
17686
17687 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
17688 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
17689
4b156fd0
NC
176902014-02-21 Nick Clifton <nickc@redhat.com>
17691
17692 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
17693 (pushhi1): Likewise.
17694 (popqi1): Add mode to pre_dec.
17695 (pophi1): Likewise.
17696
dffd569e
JJ
176972014-02-21 Jakub Jelinek <jakub@redhat.com>
17698
17699 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
17700 mode for mask of V8SFmode permutation.
17701
2fdc29e8
RH
177022014-02-20 Richard Henderson <rth@redhat.com>
17703
17704 PR c++/60272
17705 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
17706 a new pseudo for OLDVAL.
17707
aa637f66
JJ
177082014-02-20 Jakub Jelinek <jakub@redhat.com>
17709
17710 PR target/57896
17711 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
17712 gen_reg_rtx if d->testing_p.
17713 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
17714 if d->testing_p and we will certainly return true.
17715 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
17716 if d->testing_p.
17717
004a7e45
UB
177182014-02-20 Uros Bizjak <ubizjak@gmail.com>
17719
17720 * emit-rtl.c (gen_reg_rtx): Assert that
17721 crtl->emit.regno_pointer_align_length is non-zero.
17722
177232014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
17724
17725 PR c++/60272
17726 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
17727 on failure the store back into EXPECT.
17728
95ce7613
CLT
177292014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
17730 Sandra Loosemore <sandra@codesourcery.com>
17731
17732 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
17733 * config/nios2/nios2.c (nios2_function_profiler): Add
17734 -fPIC (flag_pic == 2) support.
95ce7613
CLT
17735 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
17736 (nios2_large_offset_p): New function.
17737 (nios2_unspec_reloc_p): Move up position, update to use
17738 nios2_large_offset_p.
17739 (nios2_unspec_address): Remove function.
17740 (nios2_unspec_offset): New function.
17741 (nios2_large_got_address): New function.
17742 (nios2_got_address): Add large offset support.
17743 (nios2_legitimize_tls_address): Update usage of removed and new
17744 functions.
17745 (nios2_symbol_binds_local_p): New function.
17746 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
17747 (nios2_legitimize_address): Update to use nios2_large_offset_p.
17748 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
17749 (nios2_print_operand): Merge H/L processing, add hiadj/lo
17750 processing for (const (unspec ...)).
17751 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
17752
efd2d3c8
RB
177532014-02-20 Richard Biener <rguenther@suse.de>
17754
17755 * tree-cfg.c (replace_uses_by): Mark altered BBs before
17756 doing the substitution.
004a7e45 17757 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 17758
9576e7b1
MJ
177592014-02-20 Martin Jambor <mjambor@suse.cz>
17760
17761 PR ipa/55260
17762 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
17763 info when checking whether lattices are bottom.
17764
25fe40b0
RB
177652014-02-20 Richard Biener <rguenther@suse.de>
17766
17767 PR middle-end/60221
17768 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
17769 regions at -O0.
17770
bd936951
JH
177712014-02-20 Jan Hubicka <hubicka@ucw.cz>
17772
17773 PR ipa/58555
004a7e45
UB
17774 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
17775 parameter specifying the scaling.
bd936951
JH
17776 (inline_call): Update.
17777 (want_inline_recursively): Guard division by zero.
17778 (recursive_inlining): Update.
17779 * ipa-inline.h (clone_inlined_nodes): Update.
17780
3c898e1a
IT
177812014-02-20 Ilya Tocar <ilya.tocar@intel.com>
17782
17783 PR target/60204
17784 * config/i386/i386.c (classify_argument): Pass structures of size
17785 64 bytes or less in register.
17786
df62b4af 177872014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 17788 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
17789
17790 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
17791 (_mm_rcp28_round_ss): Ditto.
17792 (_mm_rsqrt28_round_sd): Ditto.
17793 (_mm_rsqrt28_round_ss): Ditto.
17794 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
17795 (_mm_rcp14_round_ss): Ditto.
17796 (_mm_rsqrt14_round_sd): Ditto.
17797 (_mm_rsqrt14_round_ss): Ditto.
17798 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
17799 the first input operand, get rid of match_dup.
17800 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
17801 attribute to sse.
17802 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
17803 Ditto.
17804 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
17805 operand as the first input operand, set type attribute.
17806 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
17807 Set type attribute.
17808 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
17809 operand as the first input operand, set type attribute.
17810
9254148e
BS
178112014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17812
17813 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
17814 bit of zero.
17815
fff91793
L
178162014-02-19 H.J. Lu <hongjiu.lu@intel.com>
17817
17818 PR target/60207
17819 * config/i386/i386.c (construct_container): Remove TFmode check
17820 for X86_64_INTEGER_CLASS.
17821
6aa5b4b8
UB
178222014-02-19 Uros Bizjak <ubizjak@gmail.com>
17823
17824 PR target/59794
17825 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
17826 only when -Wpsabi is enabled.
17827
aadc1c43
MHD
178282014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
17829
17830 PR target/59799
17831 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
17832 passing arrays in registers are the same as for structs, so remove the
17833 special case for them.
17834
322913f8
EB
178352014-02-19 Eric Botcazou <ebotcazou@adacore.com>
17836
17837 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
17838 destination type, extract only the valid bits if the source type is not
17839 integral and has a different mode.
17840
fd9710dc
RB
178412014-02-19 Richard Biener <rguenther@suse.de>
17842
17843 PR ipa/60243
17844 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
17845 for all calls.
17846
4df65a85
RB
178472014-02-19 Richard Biener <rguenther@suse.de>
17848
17849 PR ipa/60243
17850 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
17851 (ipa_modify_call_arguments): Emit an argument load explicitely and
17852 preserve virtual SSA form there and for the replacement call.
17853 Do not update SSA form nor free dominance info.
17854
7fea98d8
JH
178552014-02-18 Jan Hubicka <hubicka@ucw.cz>
17856
17857 * ipa.c (function_and_variable_visibility): Also clear WEAK
17858 flag when disolving COMDAT_GROUP.
17859
0a2550e7
JH
178602014-02-18 Jan Hubicka <hubicka@ucw.cz>
17861
17862 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
17863 * ipa-prop.c (ipa_set_jf_known_type): Return early when
17864 not devirtualizing.
17865 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
17866 do more sanity checks.
17867 (detect_type_change): Return true when giving up early.
17868 (compute_complex_assign_jump_func): Fix type parameter of
17869 ipa_set_ancestor_jf.
17870 (compute_complex_ancestor_jump_func): Likewise.
17871 (update_jump_functions_after_inlining): Fix updating of
17872 ancestor function.
6aa5b4b8 17873 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 17874
2dbe8b70
JH
178752014-02-18 Jan Hubicka <hubicka@ucw.cz>
17876
17877 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
17878 inline clones when edge disappears.
17879
b9809dc4
MM
178802014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
17881
17882 PR target/60203
17883 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
17884 Split 64-bit moves into 2 patterns. Do not allow the use of
17885 direct move for TDmode in little endian, since the decimal value
17886 has little endian bytes within a word, but the 64-bit pieces are
17887 ordered in a big endian fashion, and normal subreg's of TDmode are
17888 not allowed.
17889 (mov<mode>_64bit_dm): Likewise.
17890 (movtd_64bit_nodm): Likewise.
17891
bababbfb
EB
178922014-02-18 Eric Botcazou <ebotcazou@adacore.com>
17893
17894 PR tree-optimization/60174
17895 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
17896 statement of an SSA_NAME that occurs in an abnormal PHI node.
17897
70aacc97
JJ
178982014-02-18 Jakub Jelinek <jakub@redhat.com>
17899
17900 PR sanitizer/60142
17901 * final.c (SEEN_BB): Remove.
17902 (SEEN_NOTE, SEEN_EMITTED): Renumber.
17903 (final_scan_insn): Don't force_source_line on second
17904 NOTE_INSN_BASIC_BLOCK.
17905
223cdd15
UB
179062014-02-18 Uros Bizjak <ubizjak@gmail.com>
17907
17908 PR target/60205
17909 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
17910 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
17911 (type_natural_mode): Warn ABI change when %zmm register is not
17912 available for AVX512F vector value passing.
17913
48810be0
KT
179142014-02-18 Kai Tietz <ktietz@redhat.com>
17915
17916 PR target/60193
223cdd15
UB
17917 * config/i386/i386.c (ix86_expand_prologue): Use value in
17918 rax register as displacement when restoring %r10 or %rax.
17919 Fix wrong offset when restoring both registers.
48810be0 17920
20afe640
EB
179212014-02-18 Eric Botcazou <ebotcazou@adacore.com>
17922
17923 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
17924 assertion with conditional return.
17925
d0b50387
JJ
179262014-02-18 Jakub Jelinek <jakub@redhat.com>
17927 Uros Bizjak <ubizjak@gmail.com>
17928
17929 PR driver/60233
17930 * config/i386/driver-i386.c (host_detect_local_cpu): If
17931 YMM state is not saved by the OS, also clear has_f16c. Move
17932 CPUID 0x80000001 handling before YMM state saving checking.
17933
c4cd7435
AB
179342014-02-18 Andrey Belevantsev <abel@ispras.ru>
17935
17936 PR rtl-optimization/58960
17937 * haifa-sched.c (alloc_global_sched_pressure_data): New,
17938 factored out from ...
17939 (sched_init): ... here.
17940 (free_global_sched_pressure_data): New, factored out from ...
17941 (sched_finish): ... here.
17942 * sched-int.h (free_global_sched_pressure_data): Declare.
17943 * sched-rgn.c (nr_regions_initial): New static global.
17944 (haifa_find_rgns): Initialize it.
17945 (schedule_region): Disable sched-pressure for the newly
17946 generated regions.
17947
f0281fde
RB
179482014-02-17 Richard Biener <rguenther@suse.de>
17949
17950 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
17951 release SSA defs of pattern stmts.
17952
c742772c
RB
179532014-02-17 Richard Biener <rguenther@suse.de>
17954
17955 * tree-inline.c (expand_call_inline): Release the virtual
17956 operand defined by the call we are about to inline.
17957
0492158e
RB
179582014-02-17 Richard Biener <rguenther@suse.de>
17959
17960 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
17961
583a9919
KY
179622014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
17963 Ilya Tocar <ilya.tocar@intel.com>
17964
17965 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
17966 arguments order in builtin.
17967 (_mm512_permutexvar_epi64): Ditto.
17968 (_mm512_mask_permutexvar_epi64): Ditto
17969 (_mm512_maskz_permutexvar_epi32): Ditto
17970 (_mm512_permutexvar_epi32): Ditto
17971 (_mm512_mask_permutexvar_epi32): Ditto
17972
d737743f
BS
179732014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17974
223cdd15 17975 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
17976 (p8_vmrgow): Likewise.
17977
54c4bfd7
BS
179782014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17979
17980 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
17981 endian targets.
17982
518fea64
MM
179832014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
17984
17985 PR target/60203
17986 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
17987 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
17988 into 64-bit and 32-bit moves. On 64-bit moves, add support for
17989 using direct move instructions on ISA 2.07. Also adjust
17990 instruction length for 64-bit.
17991 (mov<mode>_64bit, TFmode/TDmode): Likewise.
17992 (mov<mode>_32bit, TFmode/TDmode): Likewise.
17993
61640916
AM
179942014-02-15 Alan Modra <amodra@gmail.com>
17995
17996 PR target/58675
17997 PR target/57935
17998 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
17999 find_replacement on parts of insn rtl that might be reloaded.
18000
a2b33cc3
RB
180012014-02-15 Richard Biener <rguenther@suse.de>
18002
18003 PR tree-optimization/60183
223cdd15 18004 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
18005 (tree_ssa_phiprop): Calculate and free post-dominators.
18006
059742a4
JL
180072014-02-14 Jeff Law <law@redhat.com>
18008
18009 PR rtl-optimization/60131
18010 * ree.c (get_extended_src_reg): New function.
223cdd15 18011 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
18012 (find_and_remove_re): Verify first operand of extension is
18013 a REG before adding the insns to the copy list.
18014
88f7c49a
RM
180152014-02-14 Roland McGrath <mcgrathr@google.com>
18016
18017 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
18018 * configure: Regenerated.
18019 * config.in: Regenerated.
18020 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
18021 instead of ASM_SHORT.
18022
2ae577fd
VM
180232014-02-14 Vladimir Makarov <vmakarov@redhat.com>
18024 Richard Earnshaw <rearnsha@arm.com>
18025
18026 PR rtl-optimization/59535
18027 * lra-constraints.c (process_alt_operands): Encourage alternative
18028 when unassigned pseudo class is superset of the alternative class.
18029 (inherit_reload_reg): Don't inherit when optimizing for code size.
18030 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
18031 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
18032 modes not less than 4 for Thumb1.
18033
5d88af08
KM
180342014-02-14 Kyle McMartin <kyle@redhat.com>
18035
18036 PR pch/60010
18037 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
18038
3069b421
RB
180392014-02-14 Richard Biener <rguenther@suse.de>
18040
18041 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
18042 (get_frame_arg): Drop the assert with langhook types_compatible_p.
18043 Do not strip INDIRECT_REFs.
18044
1966fd99
RB
180452014-02-14 Richard Biener <rguenther@suse.de>
18046
18047 PR lto/60179
18048 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
18049 DECL_FUNCTION_SPECIFIC_TARGET.
18050 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
18051 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 18052 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
18053 (write_ts_function_decl_tree_pointers): Do not stream
18054 DECL_FUNCTION_SPECIFIC_TARGET.
18055 * tree-streamer-in.c (unpack_ts_target_option): Remove.
18056 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
18057 (lto_input_ts_function_decl_tree_pointers): Do not stream
18058 DECL_FUNCTION_SPECIFIC_TARGET.
18059
b010d601
JJ
180602014-02-14 Jakub Jelinek <jakub@redhat.com>
18061
223cdd15 18062 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
18063 (get_initial_def_for_induction, vectorizable_induction): Ignore
18064 debug stmts when looking for exit_phi.
18065 (vectorizable_live_operation): Fix up condition.
18066
f2dafb91
CJW
180672014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
18068
18069 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
18070 nreverse() because it changes the content of original tree list.
18071
59043e75
CJW
180722014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
18073
18074 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
18075 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
18076
810f736f
CJW
180772014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
18078
18079 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
18080 GNU coding standards.
18081
1a025bbf
JJ
180822014-02-13 Jakub Jelinek <jakub@redhat.com>
18083
18084 PR debug/60152
18085 * dwarf2out.c (gen_subprogram_die): Don't call
18086 add_calling_convention_attribute if subr_die is old_die.
18087
69479ebd
SS
180882014-02-13 Sharad Singhai <singhai@google.com>
18089
18090 * doc/optinfo.texi: Fix order of nodes.
18091
1287ae50
UB
180922014-02-13 Uros Bizjak <ubizjak@gmail.com>
18093
18094 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
18095 operands[2], not operands[3].
18096
43372236
RB
180972014-02-13 Richard Biener <rguenther@suse.de>
18098
18099 PR bootstrap/59878
18100 * doc/install.texi (ISL): Update recommended version to 0.12.2,
18101 mention the possibility of an in-tree build.
18102 (CLooG): Update recommended version to 0.18.1, mention the
18103 possibility of an in-tree build and clarify that the ISL
18104 bundled with CLooG does not work.
18105
a4d70cfa
JJ
181062014-02-13 Jakub Jelinek <jakub@redhat.com>
18107
18108 PR target/43546
18109 * expr.c (compress_float_constant): If x is a hard register,
18110 extend into a pseudo and then move to x.
18111
e697d119
DV
181122014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
18113
18114 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
18115 caused by bad second argument to warning_at() with -mhotpatch and
18116 nested functions (e.g. with gfortran).
18117
9f8da907
RS
181182014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
18119
18120 * opts.c (option_name): Remove "enabled by default" rider.
18121
0fdd1196
JDA
181222014-02-12 John David Anglin <danglin@gcc.gnu.org>
18123
18124 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
18125
0544c448
L
181262014-02-12 H.J. Lu <hongjiu.lu@intel.com>
18127 Uros Bizjak <ubizjak@gmail.com>
18128
18129 PR target/60151
1287ae50 18130 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
18131 * configure: Regenerated.
18132
3a938d75
RB
181332014-02-12 Richard Biener <rguenther@suse.de>
18134
18135 * vec.c (vec_prefix::calculate_allocation): Move as
18136 inline variant to vec.h.
18137 (vec_prefix::calculate_allocation_1): New out-of-line version.
18138 * vec.h (vec_prefix::calculate_allocation_1): Declare.
18139 (vec_prefix::m_has_auto_buf): Rename to ...
18140 (vec_prefix::m_using_auto_storage): ... this.
18141 (vec_prefix::calculate_allocation): Inline the easy cases
18142 and dispatch to calculate_allocation_1 which doesn't need the
18143 prefix address.
18144 (va_heap::reserve): Use gcc_checking_assert.
18145 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
18146 m_using_auto_storage.
18147 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
18148 member and adjust.
18149 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
18150 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
18151 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
18152
ad0188be
RB
181532014-02-12 Richard Biener <rguenther@suse.de>
18154
18155 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
18156 when we found a dependence.
18157
64e5ace5
TS
181582014-02-12 Thomas Schwinge <thomas@codesourcery.com>
18159
88ac13da
TS
18160 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
18161 common code...
18162 (maybe_fold_stmt): ... into this new function.
18163 * omp-low.c (lower_omp): Update comment.
18164
bae729a2
TS
18165 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
18166 last use.
18167
64e5ace5
TS
18168 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
18169 dereference.
18170
7b40f5cf
JG
181712014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
18172
18173 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
18174 identifiers in comments.
18175 (cortexa53_extra_costs): Likewise.
1287ae50 18176 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
18177 (cortexa7_extra_costs): Likewise.
18178 (cortexa12_extra_costs): Likewise.
18179 (cortexa15_extra_costs): Likewise.
18180 (v7m_extra_costs): Likewise.
18181
c4c8514e
RB
181822014-02-12 Richard Biener <rguenther@suse.de>
18183
18184 PR middle-end/60092
18185 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
18186 of posix_memalign being successful.
18187 (lower_stmt): Restrict lowering of posix_memalign to when
18188 -ftree-bit-ccp is enabled.
18189
8eb651bd
SKS
181902014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
18191
18192 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
18193 arg_loc.
18194 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
18195
62b03553
EB
181962014-02-12 Eric Botcazou <ebotcazou@adacore.com>
18197
18198 PR rtl-optimization/60116
18199 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
18200 other_insn once the combination has been validated.
18201
ec77d61f
JH
182022014-02-11 Jan Hubicka <hubicka@ucw.cz>
18203
18204 PR lto/59468
18205 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
18206 and wrapper.
18207 * ipa-devirt.c: Include demangle.h
18208 (odr_violation_reported): New static variable.
18209 (add_type_duplicate): Update odr_violations.
18210 (maybe_record_node): Add completep parameter; update it.
18211 (record_target_from_binfo): Add COMPLETEP parameter;
18212 update it as needed.
18213 (possible_polymorphic_call_targets_1): Likewise.
18214 (struct polymorphic_call_target_d): Add nonconstruction_targets;
18215 rename FINAL to COMPLETE.
18216 (record_targets_from_bases): Sanity check we found the binfo;
18217 fix COMPLETEP updating.
18218 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
18219 parameter, fix computing of COMPLETEP.
1287ae50
UB
18220 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
18221 at LTO time do demangling.
ec77d61f
JH
18222 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
18223 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
18224 parameter.
18225 (gimple_get_virt_method_for_binfo): Likewise.
18226 * gimple-fold.h (gimple_get_virt_method_for_binfo,
18227 gimple_get_virt_method_for_vtable): Update prototypes.
18228
5a4dcd9b
VM
182292014-02-11 Vladimir Makarov <vmakarov@redhat.com>
18230
18231 PR target/49008
18232 * genautomata.c (add_presence_absence): Fix typo with
18233 {final_}presence_list.
18234
69b7afed
MM
182352014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
18236
18237 PR target/60137
18238 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
18239 for VSX/Altivec vectors that land in GPR registers.
18240
8268ad5c
JJ
182412014-02-11 Richard Henderson <rth@redhat.com>
18242 Jakub Jelinek <jakub@redhat.com>
18243
18244 PR debug/59776
18245 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
18246 around drhs if type conversion to lacc->type is not useless.
18247
4fd92af6
KT
182482014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18249
18250 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
18251 tuning struct.
18252 (cortex-a57.cortex-a53): Likewise.
18253 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
18254
7cb14cb8
KT
182552014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18256
18257 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
18258 arm_restrict_it.
18259
6d3715b9
RL
182602014-02-11 Renlin Li <Renlin.Li@arm.com>
18261
18262 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
18263 add_options_for_arm_vfp3.
18264
cddddfff
JL
182652014-02-11 Jeff Law <law@redhat.com>
18266
18267 PR middle-end/54041
18268 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
18269 object with an undesirable mode.
18270
7c1aef7e
RO
182712014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18272
18273 PR libgomp/60107
18274 * config/i386/sol2-9.h: New file.
18275 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
18276 *-*-solaris2.9*): Use it.
18277
4bb66ef3 182782014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
18279
18280 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
18281 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
18282
4bb66ef3 182832014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
18284
18285 * config/microblaze/microblaze.c: Extend mcpu version format
18286
4bb66ef3 182872014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
18288
18289 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
18290
004a7e45 182912014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
18292
18293 PR target/59927
18294 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
18295 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
18296 ms-abi vs -mno-accumulate-outgoing-args.
18297 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
18298 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
18299 respect to ms-abi.
18300
e2fc3b4f
BE
183012014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
18302
18303 PR middle-end/60080
18304 * cfgexpand.c (expand_asm_operands): Attach source location to
18305 ASM_INPUT rtx objects.
18306 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
18307
3a22ad89
NC
183082014-02-10 Nick Clifton <nickc@redhat.com>
18309
18310 * config/mn10300/mn10300.c (popcount): New function.
18311 (mn10300_expand_prologue): Include saved registers in stack usage
18312 count.
18313
f27be550
JL
183142014-02-10 Jeff Law <law@redhat.com>
18315
18316 PR middle-end/52306
18317 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 18318 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 18319
e15e3815
UW
183202014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
18321
18322 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
18323 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
18324 -mcall-openbsd, or -mcall-linux.
18325 (CC1_ENDIAN_BIG_SPEC): Remove.
18326 (CC1_ENDIAN_LITTLE_SPEC): Remove.
18327 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
18328 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
18329 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
18330 and %cc1_endian_default.
18331 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
18332
4e1f39e4
RB
183332014-02-10 Richard Biener <rguenther@suse.de>
18334
18335 PR tree-optimization/60115
18336 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
18337 MEM_REF handling. Properly verify that the accesses are not
18338 out of the objects bound.
18339
e7af1c22
KT
183402014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18341
18342 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
18343 coretex to cortex.
18344
79c7de84
EB
183452014-02-10 Eric Botcazou <ebotcazou@adacore.com>
18346
18347 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
18348 proper constants and fix formatting.
18349 (possible_polymorphic_call_targets): Fix formatting.
18350
cf73ee60
KY
183512014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
18352 Ilya Tocar <ilya.tocar@intel.com>
18353
18354 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
18355 (_mm512_loadu_epi32): Renamed into...
18356 (_mm512_loadu_si512): This.
18357 (_mm512_storeu_epi32): Renamed into...
18358 (_mm512_storeu_si512): This.
18359 (_mm512_maskz_ceil_ps): Removed.
18360 (_mm512_maskz_ceil_pd): Ditto.
18361 (_mm512_maskz_floor_ps): Ditto.
18362 (_mm512_maskz_floor_pd): Ditto.
18363 (_mm512_floor_round_ps): Ditto.
18364 (_mm512_floor_round_pd): Ditto.
18365 (_mm512_ceil_round_ps): Ditto.
18366 (_mm512_ceil_round_pd): Ditto.
18367 (_mm512_mask_floor_round_ps): Ditto.
18368 (_mm512_mask_floor_round_pd): Ditto.
18369 (_mm512_mask_ceil_round_ps): Ditto.
18370 (_mm512_mask_ceil_round_pd): Ditto.
18371 (_mm512_maskz_floor_round_ps): Ditto.
18372 (_mm512_maskz_floor_round_pd): Ditto.
18373 (_mm512_maskz_ceil_round_ps): Ditto.
18374 (_mm512_maskz_ceil_round_pd): Ditto.
18375 (_mm512_expand_pd): Ditto.
18376 (_mm512_expand_ps): Ditto.
18377 * config/i386/i386.c (ix86_builtins): Remove
18378 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
18379 (bdesc_args): Ditto.
18380 * config/i386/predicates.md (const1256_operand): New.
18381 (const_1_to_2_operand): Ditto.
18382 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
18383 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
18384 (*avx512pf_gatherpf<mode>sf): Ditto.
18385 (avx512pf_gatherpf<mode>df): Ditto.
18386 (*avx512pf_gatherpf<mode>df_mask): Ditto.
18387 (*avx512pf_gatherpf<mode>df): Ditto.
18388 (avx512pf_scatterpf<mode>sf): Ditto.
18389 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
18390 (*avx512pf_scatterpf<mode>sf): Ditto.
18391 (avx512pf_scatterpf<mode>df): Ditto.
18392 (*avx512pf_scatterpf<mode>df_mask): Ditto.
18393 (*avx512pf_scatterpf<mode>df): Ditto.
18394 (avx512f_expand<mode>): Removed.
18395 (<shift_insn><mode>3<mask_name>): Change predicate type.
18396
8fcbce72
JJ
183972014-02-08 Jakub Jelinek <jakub@redhat.com>
18398
41475e96
JJ
18399 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
18400 not at the end of datarefs vector use ordered_remove to avoid
18401 reordering datarefs vector.
18402
c74559df
JJ
18403 PR c/59984
18404 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
18405 mark local addressable non-static vars as GOVD_PRIVATE
18406 instead of GOVD_LOCAL.
18407 * omp-low.c (lower_omp_for): Move gimple_bind_vars
18408 and BLOCK_VARS of gimple_bind_block to new_stmt rather
18409 than copying them.
18410
8fcbce72
JJ
18411 PR middle-end/60092
18412 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
18413 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
18414 assume_aligned or alloc_align attributes.
18415 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
18416 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
18417 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
18418 calls to functions with assume_aligned or alloc_align attributes.
18419 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 18420
451bdd23
TG
184212014-02-08 Terry Guo <terry.guo@arm.com>
18422
18423 * doc/invoke.texi: Document ARM -march=armv7e-m.
18424
d31d42c7
JJ
184252014-02-08 Jakub Jelinek <jakub@redhat.com>
18426
d71dfeb7
JJ
18427 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
18428 flag on __cilkrts_rethrow builtin.
18429
d31d42c7
JJ
18430 PR ipa/60026
18431 * ipa-cp.c (determine_versionability): Fail at -O0
18432 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
18433 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
18434
18435 Revert:
18436 2014-02-04 Jakub Jelinek <jakub@redhat.com>
18437
18438 PR ipa/60026
18439 * tree-inline.c (copy_forbidden): Fail for
18440 __attribute__((optimize (0))) functions.
18441
a0a98fef
JH
184422014-02-07 Jan Hubicka <hubicka@ucw.cz>
18443
18444 * varpool.c: Include pointer-set.h.
18445 (varpool_remove_unreferenced_decls): Variables in other partitions
18446 will not be output; be however careful to not lose information
18447 about partitioning.
18448
8c311b50
JH
184492014-02-07 Jan Hubicka <hubicka@ucw.cz>
18450
18451 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
18452 lookup in the vtable constructor.
18453
7ba03e5e
JL
184542014-02-07 Jeff Law <law@redhat.com>
18455
63e6247d
JL
18456 PR target/40977
18457 * config/m68k/m68k.md (ashldi_extsi): Turn into a
18458 define_insn_and_split.
18459
7ba03e5e
JL
18460 * ipa-inline.c (inline_small_functions): Fix typos.
18461
177bc204
RS
184622014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
18463
18464 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
18465 (s390_can_use_return_insn): Declare.
18466 * config/s390/s390.h (EPILOGUE_USES): Define.
18467 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
18468 instructions.
18469 (s390_chunkify_start): Handle return JUMP_LABELs.
18470 (s390_early_mach): Emit a main_pool instruction on the entry edge.
18471 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
18472 (s390_can_use_return_insn): New functions.
18473 (s390_fix_long_loop_prediction): Handle conditional returns.
18474 (TARGET_SET_UP_BY_PROLOGUE): Define.
18475 * config/s390/s390.md (ANY_RETURN): New code iterator.
18476 (*creturn, *csimple_return, return, simple_return): New patterns.
18477
0621cf3c
RS
184782014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
18479
18480 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
18481 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
18482 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
18483 REG_CFA_RESTORE list when deciding not to restore a register.
18484
4099494d
RS
184852014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
18486
18487 * config/s390/s390.c: Include tree-pass.h and context.h.
18488 (s390_early_mach): New function, split out from...
18489 (s390_emit_prologue): ...here.
18490 (pass_data_s390_early_mach): New pass structure.
18491 (pass_s390_early_mach): New class.
18492 (s390_option_override): Create and register early_mach pass.
18493 Move to end of file.
18494
3489cc33
RS
184952014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
18496
18497 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
18498 to match for the exit block.
18499
75cc21e2
AK
185002014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
18501
18502 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
18503 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
18504 Reject misaligned operands.
18505
8bd7070a
AK
185062014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
18507
1287ae50 18508 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 18509
831806cb
RB
185102014-02-07 Richard Biener <rguenther@suse.de>
18511
18512 PR middle-end/60092
18513 * gimple-low.c (lower_builtin_posix_memalign): New function.
18514 (lower_stmt): Call it to lower posix_memalign in a way
18515 to make alignment info accessible.
18516
7ee9c16f
JJ
185172014-02-07 Jakub Jelinek <jakub@redhat.com>
18518
18519 PR c++/60082
18520 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
18521 __builtin_setjmp_receiver.
18522
32cab212
RB
185232014-02-07 Richard Biener <rguenther@suse.de>
18524
18525 PR middle-end/60092
18526 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
18527 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
18528 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
18529 Handle BUILT_IN_POSIX_MEMALIGN.
18530 (find_func_clobbers): Likewise.
18531 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
18532 (call_may_clobber_ref_p_1): Likewise.
18533
6d6af792
JH
185342014-02-06 Jan Hubicka <hubicka@ucw.cz>
18535
18536 PR ipa/59918
1287ae50
UB
18537 * ipa-devirt.c (record_target_from_binfo): Remove overactive
18538 sanity check.
6d6af792 18539
3c0f1105
JH
185402014-02-06 Jan Hubicka <hubicka@ucw.cz>
18541
18542 PR ipa/59469
18543 * lto-cgraph.c (lto_output_node): Use
18544 symtab_get_symbol_partitioning_class.
18545 (lto_output_varpool_node): likewise.
18546 (symtab_get_symbol_partitioning_class): Move here from
18547 lto/lto-partition.c
18548 * cgraph.h (symbol_partitioning_class): Likewise.
18549 (symtab_get_symbol_partitioning_class): Declare.
18550
b3bb0eb9
JH
185512014-02-06 Jan Hubicka <hubicka@ucw.cz>
18552
18553 * ggc.h (ggc_internal_cleared_alloc): New macro.
18554 * vec.h (vec_safe_copy): Handle memory stats.
18555 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
18556 * target-globals.c (save_target_globals): Likewise.
18557
185582014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
18559
18560 PR target/60077
18561 * expr.c (emit_move_resolve_push): Export; be bit more selective
18562 on when to clear alias set.
18563 * expr.h (emit_move_resolve_push): Declare.
18564 * function.h (struct function): Add tail_call_marked.
18565 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
18566 * config/i386/i386-protos.h (ix86_expand_push): Remove.
18567 * config/i386/i386.md (TImode move expander): De not call
18568 ix86_expand_push.
18569 (FP push expanders): Preserve memory attributes.
18570 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 18571 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
18572 (ix86_expand_push): Remove.
18573 * config/i386/mmx.md (push<mode>1): Remove.
18574
47d552eb
JJ
185752014-02-06 Jakub Jelinek <jakub@redhat.com>
18576
18577 PR rtl-optimization/60030
18578 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
18579 lopart with paradoxical subreg before shifting it up by hprec.
18580
45c75ea7
KT
185812014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18582
18583 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
18584 Remove extra newline at end of file.
18585 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
18586 (arm_issue_rate): Handle cortexa57.
18587 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
18588 (cortex-a57.cortex-a53): Likewise.
18589
af116cae
JJ
185902014-02-06 Jakub Jelinek <jakub@redhat.com>
18591
652a3e3a
JJ
18592 PR target/59575
18593 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
18594 don't record in REG_FRAME_RELATED_EXPR registers not set in that
18595 bitmask.
18596 (arm_expand_prologue): Adjust all callers.
18597 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
18598 info, registers also at the lowest numbered registers side. Use
18599 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
18600 XEXP.
18601
af116cae 18602 PR debug/59992
1287ae50
UB
18603 * var-tracking.c (adjust_mems): Before adding a SET to
18604 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 18605
fdcee33b
AM
186062014-02-06 Alan Modra <amodra@gmail.com>
18607
18608 PR target/60032
18609 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
18610 change SDmode to DDmode when lra_in_progress.
18611
251901a0
JJ
186122014-02-06 Jakub Jelinek <jakub@redhat.com>
18613
d3ef8c53
JJ
18614 PR middle-end/59150
18615 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
18616 free_data_ref on the dr first, and before goto again also set dr
18617 to the next dr. For simd_lane_access, free old datarefs[i] before
18618 overwriting it. For get_vectype_for_scalar_type failure, don't
18619 free_data_ref if simd_lane_access.
18620
2754b38f
JJ
18621 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
18622
251901a0
JJ
18623 PR target/60062
18624 * tree.h (opts_for_fn): New inline function.
18625 (opt_for_fn): Define.
18626 * config/i386/i386.c (ix86_function_regparm): Use
18627 opt_for_fn (decl, optimize) instead of optimize.
18628
4a985a37
MS
186292014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18630
18631 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
18632 for SYMBOL_REF in large memory model.
18633
c366d38c
KT
186342014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18635
18636 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
18637 and crypto support.
18638 (cortex-a57): Likewise.
18639 (cortex-a57.cortex-a53): Likewise.
18640
c801e246
YG
186412014-02-06 Yury Gribov <y.gribov@samsung.com>
18642 Kugan Vivekanandarajah <kuganv@linaro.org>
18643
18644 * config/arm/arm.c (arm_vector_alignment_reachable): Check
18645 unaligned_access.
18646 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
18647
d50f7b84
RB
186482014-02-06 Richard Biener <rguenther@suse.de>
18649
18650 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
18651 set_loop_copy and initialize_original_copy_tables.
18652
179d2941
AV
186532014-02-06 Alex Velenko <Alex.Velenko@arm.com>
18654
18655 * config/aarch64/aarch64-simd.md
18656 (aarch64_ashr_simddi): Change QI to SI.
18657
78b1469d
JH
186582014-02-05 Jan Hubicka <hubicka@ucw.cz>
18659 Jakub Jelinek <jakub@redhat.com>
18660
18661 PR middle-end/60013
18662 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
18663 of the dataflow.
18664
d85f364c
BS
186652014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18666
18667 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
18668 CODE_FOR_altivec_vpku[hw]um to
18669 CODE_FOR_altivec_vpku[hw]um_direct.
18670 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
18671 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
18672 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
18673 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
18674
7b1cd427
BS
186752014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18676
18677 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
18678 generation for -maltivec=be.
18679 (altivec_vsumsws): Simplify redundant test.
18680
52a93551
BS
186812014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18682
18683 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
18684 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
18685 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
18686 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
18687 gen_altivec_vpkuwum.
18688 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
18689 BYTES_BIG_ENDIAN.
18690 (altivec_vpks<VI_char>ss): Likewise.
18691 (altivec_vpks<VI_char>us): Likewise.
18692 (altivec_vpku<VI_char>us): Likewise.
18693 (altivec_vpku<VI_char>um): Likewise.
18694 (altivec_vpku<VI_char>um_direct): New (copy of
18695 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
18696 internal use).
18697 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
18698 target is little endian and -maltivec=be is not specified.
18699 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 18700 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
18701 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
18702 target is little endian and -maltivec=be is not specified.
18703 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 18704 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
18705 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
18706 little endian and -maltivec=be is not specified.
18707 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
18708 little endian and -maltivec=be is not specified.
18709
004a7e45 187102014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
18711
18712 PR debug/52727
18713 * combine-stack-adj.c: Revert r206943.
18714 * sched-int.h (struct deps_desc): Add last_args_size.
18715 * sched-deps.c (init_deps): Initialize it.
18716 (sched_analyze_insn): Add OUTPUT dependencies between insns that
18717 contain REG_ARGS_SIZE notes.
18718
f300e7b8
JH
187192014-02-05 Jan Hubicka <hubicka@ucw.cz>
18720
18721 * lto-cgraph.c (asm_nodes_output): Make global.
18722 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 18723 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
18724 (driver_handle_option): Handle OPT_fwpa.
18725
609524d2
JJ
187262014-02-05 Jakub Jelinek <jakub@redhat.com>
18727
add5c763
JJ
18728 PR ipa/59947
18729 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
18730 a comment typo and formatting issue. If odr_hash hasn't been
18731 created, return vNULL and set *completep to false.
18732
609524d2
JJ
18733 PR middle-end/57499
18734 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
18735 bb with no successors.
18736
05ab6e21
JG
187372014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
18738
18739 PR target/59718
18740 * doc/invoke.texi (-march): Clarify documentation for ARM.
18741 (-mtune): Likewise.
18742 (-mcpu): Likewise.
18743
d55d9ed0
RB
187442014-02-05 Richard Biener <rguenther@suse.de>
18745
18746 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
18747 when not vectorizing because of too many alias checks.
18748 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
18749 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
18750
c70da878
NC
187512014-02-05 Nick Clifton <nickc@redhat.com>
18752
18753 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 18754 accept extended registers in any mode when compiling for the MN10300.
c70da878 18755
25a07c7e
YG
187562014-02-05 Yury Gribov <y.gribov@samsung.com>
18757
18758 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
18759 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
18760 sanitization attributes.
18761 (can_inline_edge_p): Likewise.
18762 (sanitize_attrs_match_for_inline_p): New function.
18763
4bf2a588
JH
187642014-02-04 Jan Hubicka <hubicka@ucw.cz>
18765
18766 * ipa-prop.c (detect_type_change): Shor circuit testing of
18767 type changes on THIS pointer.
18768
d92f4df0
JDA
187692014-02-04 John David Anglin <danglin@gcc.gnu.org>
18770
18771 PR target/59777
18772 * config/pa/pa.c (legitimize_tls_address): Return original address
18773 if not passed a SYMBOL_REF rtx.
18774 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
18775 addresses.
18776 (pa_emit_move_sequence): Simplify TLS source operands.
18777 (pa_legitimate_constant_p): Reject all TLS constants.
18778 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
18779 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
18780
d665f8dd
JH
187812014-02-04 Jan Hubicka <hubicka@ucw.cz>
18782
18783 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
18784 groups when we know they are controlled by LTO.
18785 * varasm.c (default_binds_local_p_1): If object is in other partition,
18786 it will be resolved locally.
18787
6a071860
BE
187882014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
18789
e2fc3b4f 18790 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 18791 use SSIZE_MAX because it is not always defined.
6a071860 18792
8e9d68a9
VM
187932014-02-04 Vladimir Makarov <vmakarov@redhat.com>
18794
18795 PR bootstrap/59913
18796 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
18797 threshold for pseudo splitting.
18798 (update_ebb_live_info): Process call argument hard registers and
18799 hard registers from insn definition too.
18800 (max_small_class_regs_num): New constant.
18801 (inherit_in_ebb): Update live hard regs through EBBs. Update
18802 reloads_num only for small register classes. Don't split for
18803 outputs of jumps.
18804
8472fa80
MT
188052014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
18806
18807 PR ipa/60058
18808 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
18809 is non-null.
18810
df98e37f
JH
188112014-02-04 Jan Hubicka <hubicka@ucw.cz>
18812
1287ae50
UB
18813 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
18814 visibility is safe.
df98e37f 18815
71e55f04
MP
188162014-02-04 Marek Polacek <polacek@redhat.com>
18817
18818 * gdbinit.in (pel): Define.
18819
229e56f9
BE
188202014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
18821
18822 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
18823 behavior.
18824
c39276b8
RB
188252014-02-04 Richard Biener <rguenther@suse.de>
18826
18827 PR lto/59723
18828 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
18829 in function context local.
18830 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
18831 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
18832 similar to LTO_imported_decl_ref.
18833
66b3ed5f
JJ
188342014-02-04 Jakub Jelinek <jakub@redhat.com>
18835
029ce7a2
JJ
18836 PR tree-optimization/60002
18837 * cgraphclones.c (build_function_decl_skip_args): Clear
18838 DECL_LANG_SPECIFIC.
18839
8e91d222
JJ
18840 PR tree-optimization/60023
18841 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
18842 false to gsi_replace.
18843 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
18844 has been in some EH region and vec_stmt could throw, add
18845 vec_stmt into the same EH region.
18846 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
18847 has no lhs, ignore it.
18848 * internal-fn.c (expand_MASK_LOAD): Likewise.
18849
eb259c4a
JJ
18850 PR ipa/60026
18851 * tree-inline.c (copy_forbidden): Fail for
18852 __attribute__((optimize (0))) functions.
18853
92d05580
JJ
18854 PR other/58712
18855 * omp-low.c (simd_clone_struct_copy): If from->inbranch
18856 is set, copy one less argument.
30540e79
JJ
18857 (expand_simd_clones): Don't subtract clone_info->inbranch
18858 from simd_clone_struct_alloc argument.
92d05580 18859
be3afd67
JJ
18860 PR rtl-optimization/57915
18861 * recog.c (simplify_while_replacing): If all unary/binary/relational
18862 operation arguments are constant, attempt to simplify those.
18863
66b3ed5f
JJ
18864 PR middle-end/59261
18865 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
18866 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
18867
5961d779
RB
188682014-02-04 Richard Biener <rguenther@suse.de>
18869
18870 PR tree-optimization/60012
18871 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
18872 TBAA disambiguation to all DDRs.
18873
91da0481
RO
188742014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18875
18876 PR target/59788
18877 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
18878 (LINK_SPEC): Use it for -shared, -shared-libgcc.
18879
39960d1c
JH
188802014-02-03 Jan Hubicka <hubicka@ucw.cz>
18881
18882 PR ipa/59882
18883 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
18884
188852014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
18886
18887 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
18888 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
18889
39960d1c 188902014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
18891
18892 PR ipa/59831
18893 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
18894 to figure out targets of polymorphic calls with known decl.
18895 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
18896 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
18897 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
18898 (get_polymorphic_call_info): ... here.
18899 (get_polymorphic_call_info_from_invariant): New function.
18900
39960d1c 189012014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
18902
18903 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
18904 lookup via vtable pointer; check for type consistency
18905 and turn inconsitent facts into UNREACHABLE.
18906 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
18907 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
18908 type inconsistent querries; return UNREACHABLE instead.
9de2f554 18909
ade3ff24
RH
189102014-02-03 Richard Henderson <rth@twiddle.net>
18911
18912 PR tree-opt/59924
18913 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
18914 already processed this node.
18915 (normalize_one_pred_1): Pass along mark_set.
18916 (normalize_one_pred): Create and destroy a pointer_set_t.
18917 (normalize_one_pred_chain): Likewise.
18918
55428cc3
LA
189192014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
18920
18921 PR gcov-profile/58602
1287ae50 18922 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 18923
85942f45
JH
189242014-02-03 Jan Hubicka <hubicka@ucw.cz>
18925
18926 PR ipa/59831
1287ae50
UB
18927 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
18928 -fno-devirtualize; try to devirtualize by the knowledge of
18929 virtual table pointer given by aggregate propagation.
85942f45 18930 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 18931 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
18932 is relevant for polymorphic calls.
18933 (determine_known_aggregate_parts): Add arg_type parameter; use it
18934 instead of determining the type from pointer type.
18935 (ipa_compute_jump_functions_for_edge): Update call of
18936 determine_known_aggregate_parts.
18937 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
18938 (gimple_get_virt_method_for_binfo): ... here; simplify using
18939 vtable_pointer_value_to_vtable.
18940 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
18941 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 18942 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
18943 (vtable_pointer_value_to_vtable): Break out from ...; handle also
18944 POINTER_PLUS_EXPR.
18945 (vtable_pointer_value_to_binfo): ... here.
18946 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
18947
bddc974e
TJ
189482014-02-03 Teresa Johnson <tejohnson@google.com>
18949
18950 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
18951 redef of outer loop index variable.
18952
5d77fb19
MG
189532014-02-03 Marc Glisse <marc.glisse@inria.fr>
18954
18955 PR c++/53017
18956 PR c++/59211
18957 * doc/extend.texi (Function Attributes): Typo.
18958
cf5b2be2
CH
189592014-02-03 Cong Hou <congh@google.com>
18960
18961 PR tree-optimization/60000
18962 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
18963 if the vectorized statement is a store. A store statement can only
18964 appear at the end of pattern statements.
18965
a2a1ddb5
L
189662014-02-03 H.J. Lu <hongjiu.lu@intel.com>
18967
18968 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
18969 (ix86_option_override_internal): Default long double to 64-bit for
18970 32-bit Bionic and to 128-bit for 64-bit Bionic.
18971
18972 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
18973 TARGET_LONG_DOUBLE_128 is true.
18974 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
18975
18976 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
18977 (mlong-double-64): Negate -mlong-double-128.
18978 (mlong-double-128): New option.
18979
18980 * config/i386/i386-c.c (ix86_target_macros): Define
18981 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
18982
18983 * doc/invoke.texi: Document -mlong-double-128.
18984
f742cf90
L
189852014-02-03 H.J. Lu <hongjiu.lu@intel.com>
18986
18987 PR rtl-optimization/60024
18988 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
18989
8f36fd30
MT
189902014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
18991
1287ae50 18992 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 18993
861ec4f3
AB
189942014-02-03 Andrey Belevantsev <abel@ispras.ru>
18995
18996 PR rtl-optimization/57662
18997 * sel-sched.c (code_motion_path_driver): Do not mark already not
18998 existing blocks in the visiting bitmap.
18999
fe08255d
AB
190002014-02-03 Andrey Belevantsev <abel@ispras.ru>
19001
19002 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
19003 on the insn being emitted.
19004
96d3a240
JG
190052014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
19006 Will Deacon <will.deacon@arm.com>
19007
19008 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
19009
9dd6c9f7
KT
190102014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19011
19012 * config/arm/arm-tables.opt: Regenerate.
19013
60331d00
BS
190142014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19015
19016 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
19017 for vector types other than V16QImode.
19018 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
19019 define_expand, and call altivec_expand_vec_perm_le when producing
19020 code with little endian element order.
19021 (*altivec_vperm_<mode>_internal): New insn having previous
19022 behavior of altivec_vperm_<mode>.
19023 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
19024 altivec_expand_vec_perm_le when producing code with little endian
19025 element order.
19026 (*altivec_vperm_<mode>_uns_internal): New insn having previous
19027 behavior of altivec_vperm_<mode>_uns.
19028
b80afde9
BS
190292014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19030
19031 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
19032 (altivec_vsumsws): Add handling for -maltivec=be with a little
19033 endian target.
19034 (altivec_vsumsws_direct): New.
19035 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
19036 gen_altivec_vsumsws.
19037
39960d1c 190382014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
19039
19040 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
19041 vtable_pointer_value_to_binfo): New functions.
19042 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
19043 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
19044
02b67731
SL
190452014-02-02 Sandra Loosemore <sandra@codesourcery.com>
19046
19047 * config/nios2/nios2.md (load_got_register): Initialize GOT
19048 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
19049 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
19050
2ace77c2
JH
190512014-02-02 Jan Hubicka <hubicka@ucw.cz>
19052
19053 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
19054 preserverd by passthrough, do not propagate the type.
19055
70b2d364
RS
190562014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
19057
19058 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
19059 (mips_atomic_assign_expand_fenv): New function.
19060 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
19061
a90c0245
RS
190622014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
19063
19064 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
19065 (__builtin_mips_set_fcsr): Likewise.
19066 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
19067 MIPS_USI_FTYPE_VOID.
19068 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
19069 (mips16_expand_set_fcsr): Likewise.
19070 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
19071 (mips16_set_fcsr_stub): Likewise.
19072 (mips16_get_fcsr_one_only_stub): New class.
19073 (mips16_set_fcsr_one_only_stub): Likewise.
19074 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
19075 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
19076 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
19077 (hard_float): New availability predicate.
19078 (mips_builtins): Add get_fcsr and set_fcsr.
19079 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
19080 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
19081 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
19082 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
19083 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
19084 patterns.
19085
6d51cc90
RS
190862014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
19087
19088 * config/mips/mips.c (mips_one_only_stub): New class.
19089 (mips_need_mips16_rdhwr_p): Replace with...
19090 (mips16_rdhwr_stub): ...this new variable.
19091 (mips16_stub_call_address): New function.
19092 (mips16_rdhwr_one_only_stub): New class.
19093 (mips_expand_thread_pointer): Use mips16_stub_call_address.
19094 (mips_output_mips16_rdhwr): Delete.
19095 (mips_finish_stub): New function.
19096 (mips_code_end): Use it to handle rdhwr stubs.
19097
6c90f137
UB
190982014-02-02 Uros Bizjak <ubizjak@gmail.com>
19099
19100 PR target/60017
19101 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
19102 when calculating size of integer atomic types.
19103
5e64bbbb
L
191042014-02-02 H.J. Lu <hongjiu.lu@intel.com>
19105
19106 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
19107
021293cb
JJ
191082014-02-01 Jakub Jelinek <jakub@redhat.com>
19109
19110 PR tree-optimization/60003
19111 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
19112 * profile.c (branch_prob): Use gimple_call_builtin_p
19113 to check for BUILT_IN_SETJMP_RECEIVER.
19114 * tree-inline.c (copy_bb): Call notice_special_calls.
19115
6334f3e9
VM
191162014-01-31 Vladimir Makarov <vmakarov@redhat.com>
19117
19118 PR bootstrap/59985
19119 * lra-constraints.c (process_alt_operands): Update reload_sum only
19120 on the first pass.
19121
efa7882f
RH
191222014-01-31 Richard Henderson <rth@redhat.com>
19123
19124 PR middle-end/60004
19125 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
19126 until after else_eh is processed.
19127
de72ea02
IT
191282014-01-31 Ilya Tocar <ilya.tocar@intel.com>
19129
19130 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
19131 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
19132 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
19133 in smmintrin.h, remove them.
19134 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
19135 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
19136 * config/i386/i386.md (ROUND_SAE): Fix value.
19137 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
19138 (const48_operand): New.
19139 * config/i386/subst.md (round), (round_expand): Use
19140 const_4_or_8_to_11_operand.
19141 (round_saeonly), (round_saeonly_expand): Use const48_operand.
19142
be792bce
IT
191432014-01-31 Ilya Tocar <ilya.tocar@intel.com>
19144
19145 * config/i386/constraints.md (Yk): Swap meaning with k.
19146 * config/i386/i386.md (movhi_internal): Change Yk to k.
19147 (movqi_internal): Ditto.
19148 (*k<logic><mode>): Ditto.
19149 (*andhi_1): Ditto.
19150 (*andqi_1): Ditto.
19151 (kandn<mode>): Ditto.
19152 (*<code>hi_1): Ditto.
19153 (*<code>qi_1): Ditto.
19154 (kxnor<mode>): Ditto.
19155 (kortestzhi): Ditto.
19156 (kortestchi): Ditto.
19157 (kunpckhi): Ditto.
19158 (*one_cmplhi2_1): Ditto.
19159 (*one_cmplqi2_1): Ditto.
19160 * config/i386/sse.md (): Change k to Yk.
19161 (avx512f_load<mode>_mask): Ditto.
19162 (avx512f_blendm<mode>): Ditto.
19163 (avx512f_store<mode>_mask): Ditto.
19164 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
19165 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
19166 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
19167 Ditto.
be792bce
IT
19168 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
19169 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
19170 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
19171 (avx512f_maskcmp<mode>3): Ditto.
19172 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
19173 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
19174 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
19175 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
19176 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
19177 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
19178 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
19179 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
19180 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
19181 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
19182 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
19183 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
19184 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
19185 (vec_extract_lo_<mode>_maskm): Ditto.
19186 (vec_extract_hi_<mode>_maskm): Ditto.
19187 (avx512f_vternlog<mode>_mask): Ditto.
19188 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
19189 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
19190 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
19191 (avx512f_<code>v8div16qi2_mask): Ditto.
19192 (avx512f_<code>v8div16qi2_mask_store): Ditto.
19193 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
19194 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
19195 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
19196 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
19197 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
19198 (*avx512pf_gatherpf<mode>df_mask): Ditto.
19199 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
19200 (*avx512pf_scatterpf<mode>df_mask): Ditto.
19201 (avx512cd_maskb_vec_dupv8di): Ditto.
19202 (avx512cd_maskw_vec_dupv16si): Ditto.
19203 (avx512f_vpermi2var<mode>3_maskz): Ditto.
19204 (avx512f_vpermi2var<mode>3_mask): Ditto.
19205 (avx512f_vpermi2var<mode>3_mask): Ditto.
19206 (avx512f_vpermt2var<mode>3_maskz): Ditto.
19207 (*avx512f_gathersi<mode>): Ditto.
19208 (*avx512f_gathersi<mode>_2): Ditto.
19209 (*avx512f_gatherdi<mode>): Ditto.
19210 (*avx512f_gatherdi<mode>_2): Ditto.
19211 (*avx512f_scattersi<mode>): Ditto.
19212 (*avx512f_scatterdi<mode>): Ditto.
19213 (avx512f_compress<mode>_mask): Ditto.
19214 (avx512f_compressstore<mode>_mask): Ditto.
19215 (avx512f_expand<mode>_mask): Ditto.
19216 * config/i386/subst.md (mask): Change k to Yk.
19217 (mask_scalar_merge): Ditto.
19218 (sd): Ditto.
19219
0878d68a
MG
192202014-01-31 Marc Glisse <marc.glisse@inria.fr>
19221
19222 * doc/extend.texi (Vector Extensions): Document ?: in C++.
19223
fdfd537b
RB
192242014-01-31 Richard Biener <rguenther@suse.de>
19225
19226 PR middle-end/59990
19227 * builtins.c (fold_builtin_memory_op): Make sure to not
19228 use a floating-point mode or a boolean or enumeral type for
19229 the copy operation.
19230
4f50b9ff
DD
192312014-01-30 DJ Delorie <dj@redhat.com>
19232
19233 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
19234 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
19235 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
19236 whenever main() has an epilogue.
19237
c3e96073
BS
192382014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19239
19240 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
19241 unused variable "field".
19242 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
19243 (vsx_mergeh_<mode>): Likewise.
19244 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
19245 (altivec_vmrghh): Likewise.
19246 (altivec_vmrghw): Likewise.
19247 (altivec_vmrglb): Likewise.
19248 (altivec_vmrglh): Likewise.
19249 (altivec_vmrglw): Likewise.
19250 (altivec_vspltb): Add missing uses.
19251 (altivec_vsplth): Likewise.
19252 (altivec_vspltw): Likewise.
19253 (altivec_vspltsf): Likewise.
19254
4bb9c32d
JJ
192552014-01-30 Jakub Jelinek <jakub@redhat.com>
19256
19257 PR target/59923
19258 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
19259 frame related instructions.
19260
7613fa50
VM
192612014-01-30 Vladimir Makarov <vmakarov@redhat.com>
19262
19263 PR rtl-optimization/59959
19264 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
19265 any reload of register whose subreg is invalid.
19266
6fb82517
JJ
192672014-01-30 Jakub Jelinek <jakub@redhat.com>
19268
33425d6c 19269 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
19270 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
19271 Add missing return type - void.
19272
bf53d4b8
BS
192732014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19274
19275 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
19276 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
19277 remove element index adjustment for endian (now handled in vsx.md
19278 and altivec.md).
19279 (altivec_expand_vec_perm_const): Use
19280 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
19281 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
19282 (vsx_xxspltw_<mode>): Adjust element index for little endian.
19283 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
19284 define_expand and a new define_insn *altivec_vspltb_internal;
19285 adjust for -maltivec=be on a little endian target.
19286 (altivec_vspltb_direct): New.
19287 (altivec_vsplth): Divide into a define_expand and a new
19288 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
19289 little endian target.
19290 (altivec_vsplth_direct): New.
19291 (altivec_vspltw): Divide into a define_expand and a new
19292 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
19293 little endian target.
19294 (altivec_vspltw_direct): New.
19295 (altivec_vspltsf): Divide into a define_expand and a new
19296 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
19297 a little endian target.
19298
c965e187
RB
192992014-01-30 Richard Biener <rguenther@suse.de>
19300
19301 PR tree-optimization/59993
19302 * tree-ssa-forwprop.c (associate_pointerplus): Check we
19303 can propagate form the earlier stmt and avoid the transform
19304 when the intermediate result is needed.
19305
ba117645
AD
193062014-01-30 Alangi Derick <alangiderick@gmail.com>
19307
19308 * README.Portability: Fix typo.
19309
4bb66ef3 193102014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
19311
19312 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
19313 comparison_operator with ordered_comparison_operator.
19314
c345a0b1
NC
193152014-01-30 Nick Clifton <nickc@redhat.com>
19316
19317 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
19318 Rename to mn10300_store_multiple_regs.
19319 * config/mn10300/mn10300.c: Likewise.
19320 * config/mn10300/mn10300.md (store_movm): Fix typo: call
19321 store_multiple_regs.
19322 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
19323 Call mn10300_store_multiple_regs.
19324
2d70f6d4
NC
193252014-01-30 Nick Clifton <nickc@redhat.com>
19326 DJ Delorie <dj@redhat.com>
19327
19328 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
19329 %fp 2 to keep registers after it properly word-aligned.
19330 (rl78_alloc_physical_registers_umul): Handle the case where both
19331 input operands are the same.
19332
c972624e
RB
193332014-01-30 Richard Biener <rguenther@suse.de>
19334
19335 PR tree-optimization/59903
19336 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
19337 check properly.
19338
fc044323
JM
193392014-01-30 Jason Merrill <jason@redhat.com>
19340
404c2aea
JM
19341 PR c++/59633
19342 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
19343
fc044323
JM
19344 PR c++/59645
19345 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
19346
f30a0ba5
RB
193472014-01-30 Richard Biener <rguenther@suse.de>
19348
19349 PR tree-optimization/59951
33425d6c 19350 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 19351
aad8816f
SZ
193522014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
19353
19354 PR target/59784
19355 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
19356 SFmode to DFmode case.
19357
3b16363e
DD
193582014-01-29 DJ Delorie <dj@redhat.com>
19359
19360 * config/msp430/msp430.opt (-minrt): New.
19361 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
19362 if -minrt given.
19363 (ENDFILE_SPEC): Likewise.
19364
39960d1c 193652014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
19366
19367 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
19368 (estimate_function_body_sizes): Use it.
19369
1200933c
PC
193702014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
19371
19372 PR c++/58561
19373 * dwarf2out.c (is_cxx_auto): New.
19374 (is_base_type): Use it.
19375 (gen_type_die_with_usage): Likewise.
19376
68d3bacf
BS
193772014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19378
19379 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
19380 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
19381 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
19382 -maltivec=be with LE targets.
19383 (vsx_mergeh_<mode>): Likewise.
33425d6c 19384 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
19385 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
19386 (altivec_vmrghb): Replace with define_expand and new
33425d6c 19387 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
19388 (altivec_vmrghb_direct): New define_insn.
19389 (altivec_vmrghh): Replace with define_expand and new
33425d6c 19390 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
19391 (altivec_vmrghh_direct): New define_insn.
19392 (altivec_vmrghw): Replace with define_expand and new
33425d6c 19393 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
19394 (altivec_vmrghw_direct): New define_insn.
19395 (*altivec_vmrghsf): Adjust for endianness.
19396 (altivec_vmrglb): Replace with define_expand and new
33425d6c 19397 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
19398 (altivec_vmrglb_direct): New define_insn.
19399 (altivec_vmrglh): Replace with define_expand and new
33425d6c 19400 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
19401 (altivec_vmrglh_direct): New define_insn.
19402 (altivec_vmrglw): Replace with define_expand and new
33425d6c 19403 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
19404 (altivec_vmrglw_direct): New define_insn.
19405 (*altivec_vmrglsf): Adjust for endianness.
19406 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
19407 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
19408 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
19409 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
19410 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
19411 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
19412 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
19413 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
19414
aef66c94
MS
194152014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
19416
19417 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
19418 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
19419 whitespace.
19420
77574c35
RB
194212014-01-29 Richard Biener <rguenther@suse.de>
19422
19423 PR tree-optimization/58742
19424 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
19425 associate_pointerplus_align.
19426 (associate_pointerplus_diff): New function.
19427 (associate_pointerplus): Likewise. Call associate_pointerplus_align
19428 and associate_pointerplus_diff.
19429
15b25b24
RB
194302014-01-29 Richard Biener <rguenther@suse.de>
19431
19432 * lto-streamer.h (LTO_major_version): Bump to 3.
19433 (LTO_minor_version): Reset to 0.
19434
eb6006ad
RL
194352014-01-29 Renlin Li <Renlin.Li@arm.com>
19436
19437 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
19438 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
19439 (arm_file_start): Generate correct asm header for armv7ve.
19440 * config/arm/bpabi.h: Add multilib support for armv7ve.
19441 * config/arm/driver-arm.c: Change the architectures of cortex-a7
19442 and cortex-a15 to armv7ve.
19443 * config/arm/t-aprofile: Add multilib support for armv7ve.
19444 * doc/invoke.texi: Document -march=armv7ve.
19445
4bfb2fa2
RB
194462014-01-29 Richard Biener <rguenther@suse.de>
19447
19448 PR tree-optimization/58742
19449 * tree-ssa-forwprop.c (associate_plusminus): Return true
19450 if we changed sth, defer EH cleanup to ...
19451 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
19452 (simplify_mult): New function.
19453
42eb8bd1
JJ
194542014-01-29 Jakub Jelinek <jakub@redhat.com>
19455
09b22f48
JJ
19456 PR middle-end/59917
19457 PR tree-optimization/59920
19458 * tree.c (build_common_builtin_nodes): Remove
19459 __builtin_setjmp_dispatcher initialization.
19460 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
19461 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
19462 instead of gsi_after_labels + manually skipping debug stmts.
19463 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
19464 ignore bbs with IFN_ABNORMAL_DISPATCHER.
19465 * tree-inline.c (copy_edges_for_bb): Remove
19466 can_make_abnormal_goto argument, instead add abnormal_goto_dest
19467 argument. Ignore computed_goto_p stmts. Don't call
19468 make_abnormal_goto_edges. If a call might need abnormal edges
19469 for non-local gotos, see if it already has an edge to
19470 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
19471 with true argument, don't do anything then, otherwise add
19472 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
19473 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
19474 caller.
19475 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
19476 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
19477 (lower_stmt): Don't set data->calls_builtin_setjmp.
19478 (lower_builtin_setjmp): Adjust comment.
19479 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
19480 * tree-cfg.c (found_computed_goto): Remove.
19481 (factor_computed_gotos): Remove.
19482 (make_goto_expr_edges): Return bool, true for computed gotos.
19483 Don't call make_abnormal_goto_edges.
19484 (build_gimple_cfg): Don't set found_computed_goto, don't call
19485 factor_computed_gotos.
19486 (computed_goto_p): No longer static.
19487 (make_blocks): Don't set found_computed_goto.
19488 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
19489 (make_edges): If make_goto_expr_edges returns true, push bb
19490 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
19491 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
19492 vector. Record mapping between bbs and OpenMP regions if there
19493 are any, adjust make_gimple_omp_edges caller. Call
19494 handle_abnormal_edges.
19495 (make_abnormal_goto_edges): Remove.
19496 * tree-cfg.h (make_abnormal_goto_edges): Remove.
19497 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
19498 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 19499 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
19500 * internal-fn.def (ABNORMAL_DISPATCHER): New.
19501 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
19502 filling *region also set *region_idx to (*region)->entry->index.
19503
42eb8bd1
JJ
19504 PR other/58712
19505 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
19506 For REGs set ORIGINAL_REGNO.
19507
4a271b7e
BM
195082014-01-29 Bingfeng Mei <bmei@broadcom.com>
19509
33425d6c 19510 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
19511 vec_widen_(s|u)mul_even/odd pair if it is less efficient
19512 than hi/lo pair.
19513
3d54b29d
JJ
195142014-01-29 Jakub Jelinek <jakub@redhat.com>
19515
19516 PR tree-optimization/59594
19517 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
19518 a copy of the datarefs vector rather than the vector itself.
19519
2e5e7103
JM
195202014-01-28 Jason Merrill <jason@redhat.com>
19521
19522 PR c++/53756
19523 * dwarf2out.c (auto_die): New static.
19524 (gen_type_die_with_usage): Handle C++1y 'auto'.
19525 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
19526 on definition.
19527
d5d618b5
L
195282014-01-28 H.J. Lu <hongjiu.lu@intel.com>
19529
19530 PR target/59672
19531 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
19532 (SPEC_X32): Likewise.
19533 (SPEC_64): Likewise.
19534 * config/i386/i386.c (ix86_option_override_internal): Turn off
19535 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
19536 for TARGET_16BIT.
19537 (x86_file_start): Output .code16gcc for TARGET_16BIT.
19538 * config/i386/i386.h (TARGET_16BIT): New macro.
19539 (TARGET_16BIT_P): Likewise.
19540 * config/i386/i386.opt: Add m16.
19541 * doc/invoke.texi: Document -m16.
19542
367c8286
DS
195432014-01-28 Jakub Jelinek <jakub@redhat.com>
19544
19545 PR preprocessor/59935
19546 * input.c (location_get_source_line): Bail out on when line number
33425d6c 19547 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 19548
07ec81f9
RB
195492014-01-28 Richard Biener <rguenther@suse.de>
19550
19551 PR tree-optimization/58742
19552 * tree-ssa-forwprop.c (associate_plusminus): Handle
19553 pointer subtraction of the form (T)(P + A) - (T)P.
19554
5facb998
KT
195552014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19556
19557 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
19558 at const_int_cost.
19559
e04faf24
RB
195602014-01-28 Richard Biener <rguenther@suse.de>
19561
19562 Revert
19563 2014-01-28 Richard Biener <rguenther@suse.de>
19564
19565 PR rtl-optimization/45364
19566 PR rtl-optimization/59890
19567 * var-tracking.c (local_get_addr_clear_given_value): Handle
19568 already cleared slot.
19569 (val_reset): Handle not allocated local_get_addr_cache.
19570 (vt_find_locations): Use post-order on the inverted CFG.
19571
6593260b
RB
195722014-01-28 Richard Biener <rguenther@suse.de>
19573
33425d6c 19574 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 19575
9ec2d2c1
RB
195762014-01-28 Richard Biener <rguenther@suse.de>
19577
19578 PR rtl-optimization/45364
19579 PR rtl-optimization/59890
19580 * var-tracking.c (local_get_addr_clear_given_value): Handle
19581 already cleared slot.
19582 (val_reset): Handle not allocated local_get_addr_cache.
19583 (vt_find_locations): Use post-order on the inverted CFG.
19584
2ceb362d
AM
195852014-01-28 Alan Modra <amodra@gmail.com>
19586
19587 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
19588 * configure.ac <recursive call for build != host>: Define
19589 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
19590 and LD_FOR_BUILD too.
19591 * configure: Regenerate.
19592
0ebe2584
ASJ
195932014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
19594
19595 * config/i386/i386.c (get_builtin_code_for_version): Separate
19596 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
19597 Broadwell from Haswell.
19598
a33fc7fe
SE
195992014-01-27 Steve Ellcey <sellcey@mips.com>
19600
19601 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
19602 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
19603 * config/mips/mips.c (mips_option_override): Change setting
19604 of TARGET_DSP.
19605 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
19606 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
19607 Change from Mask to Var.
a33fc7fe 19608
a99be3c9
JL
196092014-01-27 Jeff Law <law@redhat.com>
19610
19611 * ipa-inline.c (inline_small_functions): Fix typo.
19612
d256b866
IT
196132014-01-27 Ilya Tocar <ilya.tocar@intel.com>
19614
19615 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
19616 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
19617 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
19618 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
19619 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
19620 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
19621 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
19622 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
19623 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
19624 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
19625 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
19626 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
19627 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
19628 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
19629 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
19630 (_mm512_storeu_epi64): Ditto.
19631 (_mm512_cmpge_epi32_mask): Ditto.
19632 (_mm512_cmpge_epu32_mask): Ditto.
19633 (_mm512_cmpge_epi64_mask): Ditto.
19634 (_mm512_cmpge_epu64_mask): Ditto.
19635 (_mm512_cmple_epi32_mask): Ditto.
19636 (_mm512_cmple_epu32_mask): Ditto.
19637 (_mm512_cmple_epi64_mask): Ditto.
19638 (_mm512_cmple_epu64_mask): Ditto.
19639 (_mm512_cmplt_epi32_mask): Ditto.
19640 (_mm512_cmplt_epu32_mask): Ditto.
19641 (_mm512_cmplt_epi64_mask): Ditto.
19642 (_mm512_cmplt_epu64_mask): Ditto.
19643 (_mm512_cmpneq_epi32_mask): Ditto.
19644 (_mm512_cmpneq_epu32_mask): Ditto.
19645 (_mm512_cmpneq_epi64_mask): Ditto.
19646 (_mm512_cmpneq_epu64_mask): Ditto.
19647 (_mm512_expand_pd): Ditto.
19648 (_mm512_expand_ps): Ditto.
19649 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
19650 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
19651 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
19652 * config/i386/i386.c (ix86_builtins): Add
19653 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
19654 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
19655 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
19656 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
19657 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
19658 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
19659 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
19660 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
19661 IX86_BUILTIN_PMOVUSQW512_MEM.
19662 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
19663 __builtin_ia32_pmovsqd512mem_mask,
19664 __builtin_ia32_pmovqd512mem_mask,
19665 __builtin_ia32_pmovusqw512mem_mask,
19666 __builtin_ia32_pmovsqw512mem_mask,
19667 __builtin_ia32_pmovqw512mem_mask,
19668 __builtin_ia32_pmovusdw512mem_mask,
19669 __builtin_ia32_pmovsdw512mem_mask,
19670 __builtin_ia32_pmovdw512mem_mask,
19671 __builtin_ia32_pmovqb512mem_mask,
19672 __builtin_ia32_pmovusqb512mem_mask,
19673 __builtin_ia32_pmovsqb512mem_mask,
19674 __builtin_ia32_pmovusdb512mem_mask,
19675 __builtin_ia32_pmovsdb512mem_mask,
19676 __builtin_ia32_pmovdb512mem_mask.
19677 (bdesc_args): Add __builtin_ia32_expanddf512,
19678 __builtin_ia32_expandsf512.
19679 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
19680 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
19681 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
19682 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
19683 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
19684 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
19685 (avx512f_<code>v8div16qi2_mask_store): This.
19686 (avx512f_expand<mode>): New.
19687
e711dffd
KY
196882014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
19689
1287ae50 19690 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 19691 New.
e711dffd
KY
19692 (_mm512_mask_prefetch_i64gather_pd): Ditto.
19693 (_mm512_prefetch_i32scatter_pd): Ditto.
19694 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
19695 (_mm512_prefetch_i64scatter_pd): Ditto.
19696 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
19697 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
19698 (_mm512_mask_prefetch_i64gather_ps): Ditto.
19699 (_mm512_prefetch_i32scatter_ps): Ditto.
19700 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
19701 (_mm512_prefetch_i64scatter_ps): Ditto.
19702 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
19703 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
19704 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
19705 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
19706 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
19707 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
19708 IX86_BUILTIN_SCATTERPFQPD.
19709 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
19710 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
19711 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
19712 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
19713 __builtin_ia32_scatterpfqps.
19714 (ix86_expand_builtin): Expand new built-ins.
19715 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
19716 fix memory access data type.
19717 (*avx512pf_gatherpf<mode>_mask): Ditto.
19718 (*avx512pf_gatherpf<mode>): Ditto.
19719 (avx512pf_scatterpf<mode>): Ditto.
19720 (*avx512pf_scatterpf<mode>_mask): Ditto.
19721 (*avx512pf_scatterpf<mode>): Ditto.
19722 (GATHER_SCATTER_SF_MEM_MODE): New.
19723 (avx512pf_gatherpf<mode>df): Ditto.
19724 (*avx512pf_gatherpf<mode>df_mask): Ditto.
19725 (*avx512pf_scatterpf<mode>df): Ditto.
19726
904e5ccd
JJ
197272014-01-27 Jakub Jelinek <jakub@redhat.com>
19728
19729 PR bootstrap/59934
19730 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
19731 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
19732 reached.
19733
84e90123
JG
197342014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
19735
19736 * common/config/arm/arm-common.c
19737 (arm_rewrite_mcpu): Handle multiple names.
19738 * config/arm/arm.h
19739 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
19740
c6f6157a
JG
197412014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
19742
19743 * gimple-builder.h (create_gimple_tmp): Delete.
19744
770516c9
CB
197452014-01-27 Christian Bruel <christian.bruel@st.com>
19746
19747 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
19748 words comparisons.
19749
cc5cec10
JDA
197502014-01-26 John David Anglin <danglin@gcc.gnu.org>
19751
5aa3c762
JDA
19752 * config/pa/pa.md (call): Generate indirect long calls to non-local
19753 functions when outputing 32-bit code.
19754 (call_value): Likewise except for special call to buggy powf function.
19755
cc5cec10
JDA
19756 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
19757 portable runtime and PIC indirect calls.
19758 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
19759 and PIC call sequences. Use ldo instead of blr to set return register
19760 in PIC call sequence.
19761
6bb0e248
WL
197622014-01-25 Walter Lee <walt@tilera.com>
19763
19764 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
19765 avoid clobbering a live register.
19766
dab03fe3
WL
197672014-01-25 Walter Lee <walt@tilera.com>
19768
770516c9 19769 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 19770 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 19771 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
19772 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
19773
905c20c1
WL
197742014-01-25 Walter Lee <walt@tilera.com>
19775
19776 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
19777 arguments on even registers.
19778 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
19779 STACK_BOUNDARY.
19780 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
19781 (BIGGEST_ALIGNMENT): Ditto.
19782 (BIGGEST_FIELD_ALIGNMENT): Ditto.
19783
8e90a625
WL
197842014-01-25 Walter Lee <walt@tilera.com>
19785
19786 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
19787 insns before bundling.
0ebe2584 19788 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 19789
450c1ffe
WL
197902014-01-25 Walter Lee <walt@tilera.com>
19791
19792 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
19793 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
19794 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 19795
450c1ffe 197962014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 19797
317a951f
RS
19798 * config/mips/constraints.md (kl): Delete.
19799 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
19800 define expands, using...
19801 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
19802 instructions for MIPS16.
19803 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
19804 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
19805
3abe9053
WL
198062014-01-25 Walter Lee <walt@tilera.com>
19807
0ebe2584 19808 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
19809 (clzdi2): Ditto.
19810 (ffsdi2): Ditto.
19811
b0e0fe41
WL
198122014-01-25 Walter Lee <walt@tilera.com>
19813
19814 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
19815 (TARGET_EXPAND_TO_RTL_HOOK): Define.
19816
2c8798a2
RS
198172014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
19818
19819 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
19820 Handle XOR.
19821
2105be5a
JJ
198222014-01-25 Jakub Jelinek <jakub@redhat.com>
19823
4def6060
JJ
19824 * print-rtl.c (in_call_function_usage): New var.
19825 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
19826 EXPR_LIST mode as mode and not as reg note name.
19827
2105be5a
JJ
19828 PR middle-end/59561
19829 * cfgloopmanip.c (copy_loop_info): If
19830 loop->warned_aggressive_loop_optimizations, make sure
19831 the flag is set in target loop too.
19832
b72271b9
BI
198332014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
19834
19835 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
19836 flag_cilkplus.
19837 * builtins.def: Likewise.
19838 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
19839 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
19840 * ira.c (ira_setup_eliminable_regset): Likewise.
19841 * omp-low.c (gate_expand_omp): Likewise.
19842 (execute_lower_omp): Likewise.
19843 (diagnose_sb_0): Likewise.
19844 (gate_diagnose_omp_blocks): Likewise.
19845 (simd_clone_clauses_extract): Likewise.
19846 (gate): Likewise.
19847
8adcc78b
BS
198482014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19849
19850 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
19851 correction for little endian...
19852 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
19853 here.
19854
3d750496
JL
198552014-01-24 Jeff Law <law@redhat.com>
19856
19857 PR tree-optimization/59919
19858 * tree-vrp.c (find_assert_locations_1): Do not register asserts
19859 for non-returning calls.
19860
1c05df59
JG
198612014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
19862
19863 * common/config/aarch64/aarch64-common.c
19864 (aarch64_rewrite_mcpu): Handle multiple names.
19865 * config/aarch64/aarch64.h
19866 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
19867
317363b4
DS
198682014-01-24 Dodji Seketeli <dodji@redhat.com>
19869
19870 * input.c (add_file_to_cache_tab): Handle the case where fopen
19871 returns NULL.
19872
16370fa7
L
198732014-01-23 H.J. Lu <hongjiu.lu@intel.com>
19874
19875 PR target/59929
19876 * config/i386/i386.md (pushsf splitter): Get stack adjustment
19877 from push operand if code of push isn't PRE_DEC.
19878
b846c948
MM
198792014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
19880
19881 PR target/59909
19882 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
19883 -mquad-memory-atomic. Update -mquad-memory documentation to say
19884 it is only used for non-atomic loads/stores.
19885
19886 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
19887 -mquad-memory or -mquad-memory-atomic switches.
19888
19889 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
19890 -mquad-memory-atomic to ISA 2.07 support.
19891
19892 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
19893 to separate support of normal quad word memory operations (ldq, stq)
19894 from the atomic quad word memory operations.
b846c948
MM
19895
19896 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
19897 support to separate non-atomic quad word operations from atomic
19898 quad word operations. Disable non-atomic quad word operations in
19899 little endian mode so that we don't have to swap words after the
19900 load and before the store.
19901 (quad_load_store_p): Add comment about atomic quad word support.
19902 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
19903 options printed with -mdebug=reg.
19904
19905 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
19906 -mquad-memory-atomic as the test for whether we have quad word
19907 atomic instructions.
0ebe2584
ASJ
19908 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
19909 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
19910
19911 * config/rs6000/sync.md (load_lockedti): Insure that the address
19912 is a proper indexed or indirect address for the lqarx instruction.
19913 On little endian systems, swap the hi/lo registers after the lqarx
19914 instruction.
19915 (load_lockedpti): Use indexed_or_indirect_operand predicate to
19916 insure the address is valid for the lqarx instruction.
19917 (store_conditionalti): Insure that the address is a proper indexed
19918 or indirect address for the stqcrx. instruction. On little endian
19919 systems, swap the hi/lo registers before doing the stqcrx.
19920 instruction.
19921 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
19922 insure the address is valid for the stqcrx. instruction.
19923
19924 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
19925 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
19926 type of quad memory support is available.
19927
6e23f296
VM
199282014-01-23 Vladimir Makarov <vmakarov@redhat.com>
19929
19930 PR regression/59915
19931 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
19932 there is a danger of looping.
19933
0a4f04e5
PH
199342014-01-23 Pat Haugen <pthaugen@us.ibm.com>
19935
19936 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
19937 force flag_ira_loop_pressure if set via command line.
19938
f9a4c9a6
AV
199392014-01-23 Alex Velenko <Alex.Velenko@arm.com>
19940
19941 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
19942 (ashr_simd): New builtin handling DI mode.
19943 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
19944 (aarch64_sshr_simddi): New match pattern.
19945 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
19946 (vshrd_n_s64): Likewise.
19947 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
19948
949ad971
NC
199492014-01-23 Nick Clifton <nickc@redhat.com>
19950
19951 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
19952 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
19953 favour of mcu specific scripts.
19954 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
19955 430x multilibs.
19956
d5ecead9
JG
199572014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
19958 Alex Velenko <Alex.Velenko@arm.com>
19959
19960 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
19961 (vaddv_s16): Likewise.
19962 (vaddv_s32): Likewise.
19963 (vaddv_u8): Likewise.
19964 (vaddv_u16): Likewise.
19965 (vaddv_u32): Likewise.
19966 (vaddvq_s8): Likewise.
19967 (vaddvq_s16): Likewise.
19968 (vaddvq_s32): Likewise.
19969 (vaddvq_s64): Likewise.
19970 (vaddvq_u8): Likewise.
19971 (vaddvq_u16): Likewise.
19972 (vaddvq_u32): Likewise.
19973 (vaddvq_u64): Likewise.
19974 (vaddv_f32): Likewise.
19975 (vaddvq_f32): Likewise.
19976 (vaddvq_f64): Likewise.
19977 (vmaxv_f32): Likewise.
19978 (vmaxv_s8): Likewise.
19979 (vmaxv_s16): Likewise.
19980 (vmaxv_s32): Likewise.
19981 (vmaxv_u8): Likewise.
19982 (vmaxv_u16): Likewise.
19983 (vmaxv_u32): Likewise.
19984 (vmaxvq_f32): Likewise.
19985 (vmaxvq_f64): Likewise.
19986 (vmaxvq_s8): Likewise.
19987 (vmaxvq_s16): Likewise.
19988 (vmaxvq_s32): Likewise.
19989 (vmaxvq_u8): Likewise.
19990 (vmaxvq_u16): Likewise.
19991 (vmaxvq_u32): Likewise.
19992 (vmaxnmv_f32): Likewise.
19993 (vmaxnmvq_f32): Likewise.
19994 (vmaxnmvq_f64): Likewise.
19995 (vminv_f32): Likewise.
19996 (vminv_s8): Likewise.
19997 (vminv_s16): Likewise.
19998 (vminv_s32): Likewise.
19999 (vminv_u8): Likewise.
20000 (vminv_u16): Likewise.
20001 (vminv_u32): Likewise.
20002 (vminvq_f32): Likewise.
20003 (vminvq_f64): Likewise.
20004 (vminvq_s8): Likewise.
20005 (vminvq_s16): Likewise.
20006 (vminvq_s32): Likewise.
20007 (vminvq_u8): Likewise.
20008 (vminvq_u16): Likewise.
20009 (vminvq_u32): Likewise.
20010 (vminnmv_f32): Likewise.
20011 (vminnmvq_f32): Likewise.
20012 (vminnmvq_f64): Likewise.
20013
1dd055a2
JG
200142014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
20015
20016 * config/aarch64/aarch64-simd.md
20017 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
20018 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
20019 (*aarch64_mul3_elt<mode>): Likewise.
20020 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
20021 (*aarch64_mul3_elt_to_64v2df): Likewise.
20022 (*aarch64_mla_elt<mode>): Likewise.
20023 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
20024 (*aarch64_mls_elt<mode>): Likewise.
20025 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
20026 (*aarch64_fma4_elt<mode>): Likewise.
20027 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
20028 (*aarch64_fma4_elt_to_64v2df): Likewise.
20029 (*aarch64_fnma4_elt<mode>): Likewise.
20030 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
20031 (*aarch64_fnma4_elt_to_64v2df): Likewise.
20032 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
20033 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
20034 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
20035 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
20036 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
20037 (aarch64_sqdmull_lane<mode>_internal): Likewise.
20038 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
20039
dafb9b64
AV
200402013-01-23 Alex Velenko <Alex.Velenko@arm.com>
20041
20042 * config/aarch64/aarch64-simd.md
20043 (aarch64_be_checked_get_lane<mode>): New define_expand.
20044 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 20045 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
20046 New builtin definition.
20047 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
20048 Use new safe be builtin.
20049
89b4515c
AV
200502014-01-23 Alex Velenko <Alex.Velenko@arm.com>
20051
20052 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
20053 New define_insn.
20054 (aarch64_be_st1<mode>): Likewise.
20055 (aarch_ld1<VALL:mode>): Define_expand modified.
20056 (aarch_st1<VALL:mode>): Likewise.
20057 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
20058 (UNSPEC_ST1): Likewise.
20059
4bb66ef3 200602014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
20061
20062 * config/microblaze/microblaze.md: Add trap insn and attribute
20063
7ecc3eb9
DS
200642014-01-23 Dodji Seketeli <dodji@redhat.com>
20065
20066 PR preprocessor/58580
20067 * input.h (location_get_source_line): Take an additional line_size
20068 parameter.
20069 (void diagnostics_file_cache_fini): Declare new function.
20070 * input.c (struct fcache): New type.
20071 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
20072 New static constants.
20073 (diagnostic_file_cache_init, total_lines_num)
20074 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
20075 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
20076 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
20077 (get_next_line, read_next_line, goto_next_line, read_line_num):
20078 New static function definitions.
20079 (diagnostic_file_cache_fini): New function.
20080 (location_get_source_line): Take an additional output line_len
20081 parameter. Re-write using lookup_or_add_file_to_cache_tab and
20082 read_line_num.
20083 * diagnostic.c (diagnostic_finish): Call
20084 diagnostic_file_cache_fini.
20085 (adjust_line): Take an additional input parameter for the length
20086 of the line, rather than calculating it with strlen.
20087 (diagnostic_show_locus): Adjust the use of
20088 location_get_source_line and adjust_line with respect to their new
20089 signature. While displaying a line now, do not stop at the first
20090 null byte. Rather, display the zero byte as a space and keep
20091 going until we reach the size of the line.
20092 * Makefile.in: Add vec.o to OBJS-libcommon
20093
2196a885 200942014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 20095 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
20096
20097 * config/i386/avx512fintrin.h (_mm512_kmov): New.
20098 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
20099 (__builtin_ia32_kmov16): Ditto.
20100 * config/i386/i386.md (UNSPEC_KMOV): New.
20101 (kmovw): Ditto.
20102
70473c63
KY
201032014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
20104
20105 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
20106 (_mm512_storeu_si512): Ditto.
20107
f9ae4df8
RS
201082014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
20109
20110 PR target/52125
20111 * rtl.h (get_referenced_operands): Declare.
20112 * recog.c (get_referenced_operands): New function.
20113 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
20114 operands have been referenced when recording LO_SUM references.
20115
4bb66ef3 201162014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
20117
20118 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
20119
39960d1c 201202014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
20121
20122 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
20123 Enable for generic and recent AMD targets.
20124
39960d1c 201252014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
20126
20127 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
20128 ARG_SIZE note when adjustment was eliminated.
20129
bb50b870
JL
201302014-01-22 Jeff Law <law@redhat.com>
20131
20132 PR tree-optimization/59597
20133 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
20134 in file. Accept new argument REGISTERING and use it to modify
20135 dump output appropriately.
20136 (register_jump_thread): Corresponding changes.
20137 (mark_threaded_blocks): Reinstate code to cancel unprofitable
20138 thread paths involving joiner blocks. Add code to dump cancelled
20139 jump threading paths.
20140
df2980be
VM
201412014-01-22 Vladimir Makarov <vmakarov@redhat.com>
20142
20143 PR rtl-optimization/59477
20144 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 20145 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 20146
1bb99900
TT
201472014-01-22 Tom Tromey <tromey@redhat.com>
20148
20149 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
20150 PARAMS.
20151 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
20152
9102dadd
VM
201532014-01-21 Vladimir Makarov <vmakarov@redhat.com>
20154
20155 PR rtl-optimization/59896
20156 * lra-constraints.c (process_alt_operands): Check unused note for
20157 matched operands of insn with no output reloads.
20158
ca376eb8
RS
201592014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
20160
20161 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
20162 (mips_move_from_gpr_cost): Likewise.
20163
a9711f36
VM
201642014-01-21 Vladimir Makarov <vmakarov@redhat.com>
20165
20166 PR rtl-optimization/59858
20167 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
20168 ira_class_hard_regs_num.
20169 (process_alt_operands): Increase reject for dying matched operand.
20170
f8ea7cb0
JJ
201712014-01-21 Jakub Jelinek <jakub@redhat.com>
20172
20173 PR target/59003
20174 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
20175 smaller than size, perform several stores or loads and stores
20176 at dst + count - size to store or copy all of size bytes, rather
20177 than just last modesize bytes.
20178
84db09e3
DD
201792014-01-20 DJ Delorie <dj@redhat.com>
20180
20181 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
20182 that CLOBBERs are REGs before propogating their values.
20183
1cf11770
L
201842014-01-20 H.J. Lu <hongjiu.lu@intel.com>
20185
20186 PR middle-end/59789
20187 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
20188 (cgraph_inline_failed_type): New function.
20189 * cgraph.h (DEFCIFCODE): Add type.
20190 (cgraph_inline_failed_type_t): New enum.
20191 (cgraph_inline_failed_type): New prototype.
20192 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
20193 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
20194 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
20195 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
20196 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
20197 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
20198 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 20199 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
20200 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
20201 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
20202 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
20203 OPTIMIZATION_MISMATCH.
20204 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 20205 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 20206
8586e4bd
UB
202072014-01-20 Uros Bizjak <ubizjak@gmail.com>
20208
20209 PR target/59685
20210 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
20211 mode attribute in insn output.
20212
99482090
EB
202132014-01-20 Eric Botcazou <ebotcazou@adacore.com>
20214
20215 * output.h (output_constant): Delete.
20216 * varasm.c (output_constant): Make private.
20217
ede23272
AV
202182014-01-20 Alex Velenko <Alex.Velenko@arm.com>
20219
20220 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
20221
9a7eefec
JJ
202222014-01-20 Jakub Jelinek <jakub@redhat.com>
20223
20224 PR middle-end/59860
20225 * tree.h (fold_builtin_strcat): New prototype.
20226 * builtins.c (fold_builtin_strcat): No longer static. Add len
20227 argument, if non-NULL, don't call c_strlen. Optimize
20228 directly into __builtin_memcpy instead of __builtin_strcpy.
20229 (fold_builtin_2): Adjust fold_builtin_strcat caller.
20230 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
20231
3e729145
UB
202322014-01-20 Uros Bizjak <ubizjak@gmail.com>
20233
20234 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
20235 for SImode_address_operand operands, having only a REG argument.
20236
eee0e487
MS
202372014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
20238
20239 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
20240 loader name using mbig-endian.
20241 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
20242
9e540e37
JG
202432014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
20244
20245 * doc/invoke.texi (-march): Clarify documentation for AArch64.
20246 (-mtune): Likewise.
20247 (-mcpu): Likewise.
20248
69675d50
TB
202492014-01-20 Tejas Belagod <tejas.belagod@arm.com>
20250
20251 * config/aarch64/aarch64-protos.h
20252 (aarch64_cannot_change_mode_class_ptr): Declare.
20253 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
20254 aarch64_cannot_change_mode_class_ptr): New.
20255 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
20256 backend hook aarch64_cannot_change_mode_class.
20257
ffee7aa9
JG
202582014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
20259
20260 * common/config/aarch64/aarch64-common.c
20261 (aarch64_handle_option): Don't handle any option order logic here.
20262 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
20263 selected_cpu, warn on architecture version mismatch.
20264 (aarch64_override_options): Fix parsing order for option strings.
20265
c7169779
JBG
202662014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
20267 Iain Sandoe <iain@codesourcery.com>
20268
20269 PR bootstrap/59496
20270 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
20271 warning. Amend comment to reflect current functionality.
20272
409b6ac1
RB
202732014-01-20 Richard Biener <rguenther@suse.de>
20274
20275 PR middle-end/59860
20276 * builtins.c (fold_builtin_strcat): Remove case better handled
20277 by tree-ssa-strlen.c.
20278
608df31f
AL
202792014-01-20 Alan Lawrence <alan.lawrence@arm.com>
20280
20281 * config/aarch64/aarch64.opt
20282 (mcpu, march, mtune): Make case-insensitive.
20283
0fabe5f3
JJ
202842014-01-20 Jakub Jelinek <jakub@redhat.com>
20285
20286 PR target/59880
20287 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
20288 if operands[1] is a REG or ZERO_EXTEND of a REG.
20289
39960d1c 202902014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
20291
20292 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
20293
925cb97d
JDA
202942014-01-19 John David Anglin <danglin@gcc.gnu.org>
20295
20296 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
20297 long non-pic millicode calls.
20298
f43856db
JBG
202992014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
20300
20301 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
20302
d2be9965
ILT
203032014-01-19 Kito Cheng <kito@0xlab.org>
20304
20305 * builtins.c (expand_movstr): Check movstr expand done or fail.
20306
efc90043
UB
203072014-01-18 Uros Bizjak <ubizjak@gmail.com>
20308 H.J. Lu <hongjiu.lu@intel.com>
20309
20310 PR target/59379
20311 * config/i386/i386.md (*lea<mode>): Zero-extend return register
20312 to DImode for zero-extended addresses.
20313
8fce217e
JJ
203142014-01-19 Jakub Jelinek <jakub@redhat.com>
20315
20316 PR rtl-optimization/57763
20317 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
20318 on the new indirect jump_insn and increment LABEL_NUSES (label).
20319
efc90043 203202014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
20321
20322 PR bootstrap/59580
20323 PR bootstrap/59583
20324 * config.gcc (x86_archs): New variable.
20325 (x86_64_archs): Likewise.
20326 (x86_cpus): Likewise.
20327 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
20328 --with-arch/--with-cpu= options.
20329 Support --with-arch=/--with-cpu={nehalem,westmere,
20330 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
20331
7f3af6d3
UB
203322014-01-18 Uros Bizjak <ubizjak@gmail.com>
20333
20334 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
20335 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
20336
203372014-01-18 Uros Bizjak <ubizjak@gmail.com>
20338
20339 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
20340
fa5d6c75
JJ
203412014-01-18 Jakub Jelinek <jakub@redhat.com>
20342
20343 PR target/58944
20344 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
20345 clear cpp_get_options (parse_in)->warn_unused_macros for
20346 ix86_target_macros_internal with cpp_define.
20347
04da5680
RS
203482014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
20349
20350 * jump.c (delete_related_insns): Keep (use (insn))s.
20351 * reorg.c (redundant_insn): Check for barriers too.
20352
1e99bee5
L
203532014-01-17 H.J. Lu <hongjiu.lu@intel.com>
20354
7f3af6d3 20355 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 20356
fa7d0c60
JDA
203572014-01-17 John David Anglin <danglin@gcc.gnu.org>
20358
20359 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
20360 call to $$dyncall when TARGET_LONG_CALLS is true.
20361
2043135a
JL
203622014-01-17 Jeff Law <law@redhat.com>
20363
20364 * ree.c (combine_set_extension): Temporarily disable test for
20365 changing number of hard registers.
20366
39960d1c 203672014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
20368
20369 PR middle-end/58125
20370 * ipa-inline-analysis.c (inline_free_summary):
20371 Do not free summary of aliases.
20372
664ceb1e
JJ
203732014-01-17 Jakub Jelinek <jakub@redhat.com>
20374
20375 PR middle-end/59706
20376 * gimplify.c (gimplify_expr): Use create_tmp_var
20377 instead of create_tmp_var_raw. If cond doesn't have
20378 integral type, don't add the IFN_ANNOTATE builtin at all.
20379
aef83682
MJ
203802014-01-17 Martin Jambor <mjambor@suse.cz>
20381
20382 PR ipa/59736
20383 * ipa-cp.c (prev_edge_clone): New variable.
20384 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
20385 Also resize prev_edge_clone vector.
20386 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
20387 (ipcp_edge_removal_hook): New function.
20388 (ipcp_driver): Register ipcp_edge_removal_hook.
20389
4bb66ef3 203902014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
20391 Steve Ellcey <sellcey@mips.com>
20392
20393 PR target/59462
20394 * config/mips/mips.c (mips_print_operand): Check operand mode instead
20395 of operator mode.
20396
4ee5c752
JL
203972014-01-17 Jeff Law <law@redhat.com>
20398
20399 PR middle-end/57904
20400 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
20401 so that pass_ccp runs first.
20402
40cfac7c
L
204032014-01-17 H.J. Lu <hongjiu.lu@intel.com>
20404
20405 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
20406 (ix86_adjust_cost): Use !TARGET_XXX.
20407 (do_reorder_for_imul): Likewise.
20408 (swap_top_of_ready_list): Likewise.
20409 (ix86_sched_reorder): Likewise.
20410
9a7f94d7
L
204112014-01-17 H.J. Lu <hongjiu.lu@intel.com>
20412
20413 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
20414 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
20415 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
20416 (intel_memset): New. Duplicate slm_memset.
20417 (intel_cost): New. Duplicate slm_cost.
20418 (m_INTEL): New macro.
20419 (processor_target_table): Add "intel".
20420 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
20421 with PROCESSOR_INTEL for "intel".
20422 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
20423 PROCESSOR_SILVERMONT.
9a7f94d7
L
20424 (ix86_issue_rate): Likewise.
20425 (ix86_adjust_cost): Likewise.
20426 (ia32_multipass_dfa_lookahead): Likewise.
20427 (swap_top_of_ready_list): Likewise.
20428 (ix86_sched_reorder): Likewise.
8cdcf750
L
20429 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
20430 instead of TARGET_OPT_AGU.
9a7f94d7
L
20431 * config/i386/i386.h (TARGET_INTEL): New.
20432 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
20433 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
20434 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
20435 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 20436
30078c0a
MP
204372014-01-17 Marek Polacek <polacek@redhat.com>
20438
20439 PR c/58346
20440 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
20441 size is zero.
20442
14379e66
RB
204432014-01-17 Richard Biener <rguenther@suse.de>
20444
20445 PR tree-optimization/46590
20446 * opts.c (default_options_table): Add entries for
20447 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
20448 all enabled at -O1 but not for -Og.
20449 * common.opt (fbranch-count-reg): Remove Init(1).
20450 (fmove-loop-invariants): Likewise.
20451 (ftree-pta): Likewise.
20452
f7d594d2
JJ
204532014-01-17 Jakub Jelinek <jakub@redhat.com>
20454
88e18bd5
JJ
20455 * config/i386/i386.c (ix86_data_alignment): For compatibility with
20456 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
20457 decls to at least the GCC 4.8 used alignments.
20458
f7d594d2
JJ
20459 PR fortran/59440
20460 * tree-nested.c (convert_nonlocal_reference_stmt,
20461 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
20462 of GIMPLE_BIND stmts, adjust associated decls.
20463
32500433
RB
204642014-01-17 Richard Biener <rguenther@suse.de>
20465
20466 PR tree-optimization/46590
20467 * vec.h (vec<>::bseach): New member function implementing
20468 binary search according to C89 bsearch.
20469 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
20470 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
20471 bitmap pointer again. Make accesses_in_loop a flat array.
20472 (mem_ref_obstack): New global.
20473 (outermost_indep_loop): Adjust for mem_ref->stored changes.
20474 (mark_ref_stored): Likewise.
20475 (ref_indep_loop_p_2): Likewise.
20476 (set_ref_stored_in_loop): New helper function.
20477 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
20478 (memref_free): Adjust.
20479 (record_mem_ref_loc): Simplify.
20480 (gather_mem_refs_stmt): Adjust.
20481 (sort_locs_in_loop_postorder_cmp): New function.
20482 (analyze_memory_references): Sort accesses_in_loop after
20483 loop postorder number.
20484 (find_ref_loc_in_loop_cmp): New function.
20485 (for_all_locs_in_loop): Find relevant cluster of locs in
20486 accesses_in_loop and iterate without recursion.
20487 (execute_sm): Avoid uninit warning.
20488 (struct ref_always_accessed): Simplify.
20489 (ref_always_accessed::operator ()): Likewise.
20490 (ref_always_accessed_p): Likewise.
20491 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
20492 loop postorder numbers here.
20493 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
20494 numbers.
20495
24fcf4bc
JJ
204962014-01-17 Jan Hubicka <hubicka@ucw.cz>
20497
20498 PR c++/57945
20499 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
20500 on decls for which assemble_alias has been called.
20501
d4f283a1
NC
205022014-01-17 Nick Clifton <nickc@redhat.com>
20503
20504 * config/msp430/msp430.opt: (mcpu): New option.
20505 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
20506 (msp430_option_override): Parse target_cpu. If the MCU name
20507 matches a generic string, clear target_mcu.
20508 (msp430_attr): Allow numeric interrupt values up to 63.
20509 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
20510 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
20511 option.
20512 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
20513 Add mcpu matches.
20514 * config/msp430/msp430.md (popm): Use %J rather than %I.
20515 (addsi3): Use msp430_nonimmediate_operand for operand 2.
20516 (addhi_cy_i): Use immediate_operand for operand 2.
20517 * doc/invoke.texi: Document -mcpu option.
20518
7be64667
RB
205192014-01-17 Richard Biener <rguenther@suse.de>
20520
20521 PR rtl-optimization/38518
20522 * df.h (df_analyze_loop): Declare.
20523 * df-core.c: Include cfgloop.h.
20524 (df_analyze_1): Split out main part of df_analyze.
20525 (df_analyze): Adjust.
20526 (loop_inverted_post_order_compute): New function.
20527 (loop_post_order_compute): Likewise.
20528 (df_analyze_loop): New function avoiding whole-function
20529 postorder computes.
20530 * loop-invariant.c (find_defs): Use df_analyze_loop.
20531 (find_invariants): Adjust.
20532 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
20533
82a197a2
ZC
205342014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
20535
20536 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
20537 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
20538
c68b3f52
IE
205392014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
20540
20541 * ipa-ref.c (ipa_remove_stmt_references): Fix references
20542 traversal when removing references.
20543
39960d1c 205442014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
20545
20546 PR ipa/59775
20547 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
20548
9e6f9ad6
BS
205492014-01-16 Bernd Schmidt <bernds@codesourcery.com>
20550
20551 PR middle-end/56791
20552 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
20553 pushing a reload for an autoinc when we had previously reloaded an
20554 inner part of the address.
20555
a611d7cb
JJ
205562014-01-16 Jakub Jelinek <jakub@redhat.com>
20557
d1417442
JJ
20558 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
20559 field.
20560 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
20561 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
20562 when not giving up or versioning for alias only because of
20563 loop->safelen.
20564 (vect_analyze_data_ref_dependences): Set to true.
20565 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
20566 is a GIMPLE_PHI.
20567 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
20568 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
20569 to the condition.
20570
42ed6cde
JJ
20571 PR middle-end/58344
20572 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
20573
a611d7cb 20574 PR target/59839
7f3af6d3
UB
20575 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
20576 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 20577
8f21260c
VM
205782014-01-16 Vladimir Makarov <vmakarov@redhat.com>
20579
20580 PR middle-end/59609
7f3af6d3
UB
20581 * lra-constraints.c (process_alt_operands): Add printing debug info.
20582 Check absence of input/output reloads for matched operands too.
8f21260c 20583
1a788c05
VM
205842014-01-16 Vladimir Makarov <vmakarov@redhat.com>
20585
20586 PR rtl-optimization/59835
20587 * ira.c (ira_init_register_move_cost): Increase cost for
20588 impossible modes.
20589
4cf24d27
AL
205902014-01-16 Alan Lawrence <alan.lawrence@arm.com>
20591
cc3a9f0d 20592 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 20593
030d03b8
RE
205942014-01-16 Richard Earnshaw <rearnsha@arm.com>
20595
20596 PR target/59780
20597 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
20598 non-register objects. Use gen_(high/low)part more consistently.
20599 Fix assertions.
20600
e78f06a8
MM
206012014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
20602
20603 PR target/59844
20604 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
20605 endian support, remove tests for WORDS_BIG_ENDIAN.
20606 (p8_mfvsrd_3_<mode>): Likewise.
20607 (reload_gpr_from_vsx<mode>): Likewise.
20608 (reload_gpr_from_vsxsf): Likewise.
20609 (p8_mfvsrd_4_disf): Likewise.
20610
9d1ae52c
RB
206112014-01-16 Richard Biener <rguenther@suse.de>
20612
20613 PR rtl-optimization/46590
20614 * lcm.c (compute_antinout_edge): Use postorder iteration.
20615 (compute_laterin): Use inverted postorder iteration.
20616
54c7a7f3
NC
206172014-01-16 Nick Clifton <nickc@redhat.com>
20618
20619 PR middle-end/28865
20620 * varasm.c (output_constant): Return the number of bytes actually
20621 emitted.
20622 (output_constructor_array_range): Update the field size with the
20623 number of bytes emitted by output_constant.
20624 (output_constructor_regular_field): Likewise. Also do not
20625 complain if the total number of bytes emitted is now greater
20626 than the expected fieldpos.
7f3af6d3 20627 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 20628
5147d10a
MP
206292014-01-16 Marek Polacek <polacek@redhat.com>
20630
20631 PR middle-end/59827
20632 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
20633 it is error_mark_node.
20634
4ac005ba
UB
206352014-01-15 Uros Bizjak <ubizjak@gmail.com>
20636
20637 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
20638 VALID_AVX256_REG_OR_OI_MODE.
20639
5d7574fa
PH
206402014-01-15 Pat Haugen <pthaugen@us.ibm.com>
20641
20642 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
20643 current procedure should be profiled.
20644
6ee70f81
AP
206452014-01-15 Andrew Pinski <apinski@cavium.com>
20646
20647 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
20648 of moving from/to the STACK_REG register class.
20649
004a7e45 206502014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
20651
20652 PR debug/54694
20653 * reginfo.c (global_regs_decl): Globalize.
20654 * rtl.h (global_regs_decl): Declare.
20655 * ira.c (do_reload): Diagnose frame_pointer_needed and it
20656 reserved via global_regs.
20657
4583fada
TJ
206582014-01-15 Teresa Johnson <tejohnson@google.com>
20659
20660 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
20661
d13dfec8
BS
206622014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
20663
20664 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
20665 and vmulosh rather than call gen_vec_widen_smult_*.
20666 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
20667 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
20668 (vec_widen_smult_even_v16qi): Likewise.
20669 (vec_widen_umult_even_v8hi): Likewise.
20670 (vec_widen_smult_even_v8hi): Likewise.
20671 (vec_widen_umult_odd_v16qi): Likewise.
20672 (vec_widen_smult_odd_v16qi): Likewise.
20673 (vec_widen_umult_odd_v8hi): Likewise.
20674 (vec_widen_smult_odd_v8hi): Likewise.
20675 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
20676 vmuloub rather than call gen_vec_widen_umult_*.
20677 (vec_widen_umult_lo_v16qi): Likewise.
20678 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
20679 vmulosb rather than call gen_vec_widen_smult_*.
20680 (vec_widen_smult_lo_v16qi): Likewise.
20681 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
20682 rather than call gen_vec_widen_umult_*.
20683 (vec_widen_umult_lo_v8hi): Likewise.
20684 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
20685 rather than call gen_vec_widen_smult_*.
20686 (vec_widen_smult_lo_v8hi): Likewise.
20687
a6a2d67b
JL
206882014-01-15 Jeff Law <law@redhat.com>
20689
20690 PR tree-optimization/59747
20691 * ree.c (find_and_remove_re): Properly handle case where a second
20692 eliminated extension requires widening a copy created for elimination
20693 of a prior extension.
20694 (combine_set_extension): Ensure that the number of hard regs needed
20695 for a destination register does not change when we widen it.
20696
aefe4056
SH
206972014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
20698
20699 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
20700 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
20701 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
20702 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
20703 (avr-*-rtems*): Likewise.
20704 (bfin*-rtems*): Likewise.
20705 (moxie-*-rtems*): Likewise.
20706 (h8300-*-rtems*): Likewise.
20707 (i[34567]86-*-rtems*): Likewise.
20708 (lm32-*-rtems*): Likewise.
20709 (m32r-*-rtems*): Likewise.
20710 (m68k-*-rtems*): Likewise.
20711 (microblaze*-*-rtems*): Likewise.
20712 (mips*-*-rtems*): Likewise.
20713 (powerpc-*-rtems*): Likewise.
20714 (sh-*-rtems*): Likewise.
20715 (sparc-*-rtems*): Likewise.
20716 (sparc64-*-rtems*): Likewise.
20717 (v850-*-rtems*): Likewise.
20718 (m32c-*-rtems*): Likewise.
20719
fef37404
VM
207202014-01-15 Vladimir Makarov <vmakarov@redhat.com>
20721
20722 PR rtl-optimization/59511
20723 * ira.c (ira_init_register_move_cost): Use memory costs for some
20724 cases of register move cost calculations.
20725 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
20726 instead of BB frequency.
20727 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
20728 * lra-assigns.c (find_hard_regno_for): Ditto.
20729
6b916b36
RB
207302014-01-15 Richard Biener <rguenther@suse.de>
20731
20732 PR tree-optimization/59822
20733 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
20734 (vectorizable_load): Use it to hoist defs of uses of invariant
20735 loads out of the loop.
20736
d103f29b 207372014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 20738 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
20739
20740 PR target/59695
20741 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
20742 truncation.
20743
95cb8697
RB
207442014-01-15 Richard Biener <rguenther@suse.de>
20745
20746 PR rtl-optimization/59802
20747 * lcm.c (compute_available): Use inverted postorder to seed
20748 the initial worklist.
20749
cb4b6d17
AK
207502014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
20751
1c8b5303 20752 PR target/59803
cb4b6d17
AK
20753 * config/s390/s390.c (s390_preferred_reload_class): Don't return
20754 ADDR_REGS for invalid symrefs in non-PIC code.
20755
2738b4c7
JJ
207562014-01-15 Jakub Jelinek <jakub@redhat.com>
20757
20758 PR other/58712
20759 * builtins.c (determine_block_size): Initialize *probable_max_size
20760 even if len_rtx is CONST_INT.
20761
d126a4ae
AP
207622014-01-14 Andrew Pinski <apinski@cavium.com>
20763
20764 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
20765 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
20766 (cortexa53_tunings): Likewise.
20767 (aarch64_sched_issue_rate): New function.
20768 (TARGET_SCHED_ISSUE_RATE): Define.
20769
dc687582
VM
207702014-01-14 Vladimir Makarov <vmakarov@redhat.com>
20771
20772 * ira-costs.c (find_costs_and_classes): Add missed
20773 ira_init_register_move_cost_if_necessary.
20774
e940b2ec
VM
207752014-01-14 Vladimir Makarov <vmakarov@redhat.com>
20776
20777 PR target/59787
20778 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
20779
3292e376
L
207802014-01-14 H.J. Lu <hongjiu.lu@intel.com>
20781
20782 PR target/59794
20783 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
20784 to indicate if type is used for function return value. Warn ABI
20785 change if the vector mode isn't available for function return value.
3292e376
L
20786 (ix86_function_arg_advance): Pass false to type_natural_mode.
20787 (ix86_function_arg): Likewise.
20788 (ix86_gimplify_va_arg): Likewise.
20789 (function_arg_32): Don't warn ABI change.
20790 (ix86_function_value): Pass true to type_natural_mode.
20791 (ix86_return_in_memory): Likewise.
20792 (ix86_struct_value_rtx): Removed.
20793 (TARGET_STRUCT_VALUE_RTX): Likewise.
20794
db930875
RS
207952014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
20796
20797 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
20798 converting a conditional jump into a conditional return.
20799
a0e35eb0
RB
208002014-01-14 Richard Biener <rguenther@suse.de>
20801
20802 PR tree-optimization/58921
20803 PR tree-optimization/59006
20804 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
20805 hoisting invariant stmts.
20806 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
20807 invariant loads on the preheader edge if possible.
20808
a984e92e
JY
208092014-01-14 Joey Ye <joey.ye@arm.com>
20810
20811 * doc/plugin.texi (Building GCC plugins): Update to C++.
20812
c56a42b9
KY
208132014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
20814
3292e376 20815 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
20816 (_mm_rcp28_round_ss): Ditto.
20817 (_mm_rsqrt28_round_sd): Ditto.
20818 (_mm_rsqrt28_round_ss): Ditto.
20819 (_mm_rcp28_sd): Ditto.
20820 (_mm_rcp28_ss): Ditto.
20821 (_mm_rsqrt28_sd): Ditto.
20822 (_mm_rsqrt28_ss): Ditto.
20823 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
20824 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
20825 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
20826 (IX86_BUILTIN_RCP28SD): Ditto.
20827 (IX86_BUILTIN_RCP28SS): Ditto.
20828 (IX86_BUILTIN_RSQRT28SD): Ditto.
20829 (IX86_BUILTIN_RSQRT28SS): Ditto.
20830 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
20831 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
20832 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
20833 (ix86_expand_special_args_builtin): Expand new FTYPE.
20834 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
20835 (srcp14<mode>): Make insn unary.
20836 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
20837 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
20838 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
20839 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
20840 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
20841 Fix rounding: make it SAE only.
4ac005ba
UB
20842 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
20843 Ditto.
20844 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
20845 Ditto.
c56a42b9
KY
20846 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
20847 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
20848 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
20849 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
20850 (round_saeonly_mask_scalar_operand4): Ditto.
20851 (round_saeonly_mask_scalar_op3): Ditto.
20852 (round_saeonly_mask_scalar_op4): Ditto.
20853
09fccb62
BS
208542014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20855
20856 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
20857 Implement -maltivec=be for vec_insert and vec_extract.
20858
fb28dac0
DD
208592014-01-10 DJ Delorie <dj@redhat.com>
20860
20861 * config/msp430/msp430.md (call_internal): Don't allow memory
20862 references with SP as the base register.
20863 (call_value_internal): Likewise.
20864 * config/msp430/constraints.md (Yc): New. For memory references
20865 that don't use SP as a base register.
20866
20867 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
20868 "an integer without a # prefix"
20869 * config/msp430/msp430.md (epilogue_helper): Use it.
20870
19e51b40
JJ
208712014-01-13 Jakub Jelinek <jakub@redhat.com>
20872
03b9e8e4
JJ
20873 PR target/59617
20874 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
20875 AVX512F gather builtins.
20876 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
20877 on gather decls with INTEGER_TYPE masktype.
20878 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
20879 directly into the builtin rather than hoisting it before loop.
20880
19e51b40
JJ
20881 PR tree-optimization/59387
20882 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
20883 (scev_const_prop): If folded_casts and type has undefined overflow,
20884 use force_gimple_operand instead of force_gimple_operand_gsi and
20885 for each added stmt if it is assign with
20886 arith_code_with_undefined_signed_overflow, call
20887 rewrite_to_defined_overflow.
20888 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
20889 gimple-fold.h instead.
20890 (arith_code_with_undefined_signed_overflow,
20891 rewrite_to_defined_overflow): Moved to ...
20892 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
20893 rewrite_to_defined_overflow): ... here. No longer static.
20894 Include gimplify-me.h.
20895 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
20896 rewrite_to_defined_overflow): New prototypes.
20897
cd794ed4
KT
208982014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20899
20900 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
20901
e75fde1a
EB
209022014-01-13 Eric Botcazou <ebotcazou@adacore.com>
20903
20904 * builtins.c (get_object_alignment_2): Minor tweak.
20905 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
20906
eae298d6
CB
209072014-01-13 Christian Bruel <christian.bruel@st.com>
20908
20909 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 20910 optimized non constant lengths.
eae298d6 20911
8175be9a
JJ
209122014-01-13 Jakub Jelinek <jakub@redhat.com>
20913
20914 PR libgomp/59194
20915 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
20916 load as __atomic_load_N if possible.
20917
9c111368
DE
209182014-01-11 David Edelsohn <dje.gcc@gmail.com>
20919
20920 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
20921 target parameter.
20922 (rs6000_expand_builtin): Adjust call.
20923
c82846bc
DE
209242014-01-11 David Edelsohn <dje.gcc@gmail.com>
20925
20926 PR target/58115
20927 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
20928 * config/rs6000/rs6000.c: Include target-globals.h.
20929 (rs6000_set_current_function): Instead of doing target_reinit
20930 unconditionally, use save_target_globals_default_opts and
20931 restore_target_globals.
20932
20933 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
20934 FPSCR.
20935 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
20936 (rs6000_expand_builtin): Handle mffs and mtfsf.
20937 (rs6000_init_builtins): Define mffs and mtfsf.
20938 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
20939 (rs6000_mffs): New pattern.
20940 (rs6000_mtfsf): New pattern.
20941
2c407426
BC
209422014-01-11 Bin Cheng <bin.cheng@arm.com>
20943
20944 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
20945 Start narrowing with START. Apply candidate-use pair
20946 and check overall cost in narrowing.
20947 (iv_ca_prune): Pass new argument.
20948
7e41c852
JL
209492014-01-10 Jeff Law <law@redhat.com>
20950
20951 PR middle-end/59743
20952 * ree.c (combine_reaching_defs): Ensure the defining statement
20953 occurs before the extension when optimizing extensions with
20954 different source and destination hard registers.
20955
39960d1c 209562014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
20957
20958 PR ipa/58585
4ac005ba
UB
20959 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
20960 vtables into the type inheritance graph.
b270b096 20961
0d6d7b9a
JJ
209622014-01-10 Jakub Jelinek <jakub@redhat.com>
20963
20964 PR rtl-optimization/59754
20965 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
20966 modes in the REGNO != REGNO case.
20967
110132c1
BS
209682014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20969
20970 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
20971
5da96960
JJ
209722014-01-10 Jakub Jelinek <jakub@redhat.com>
20973
4f87d581
JJ
20974 PR tree-optimization/59745
20975 * tree-predcom.c (tree_predictive_commoning_loop): Call
20976 free_affine_expand_cache if giving up because components is NULL.
20977
5da96960
JJ
20978 * target-globals.c (save_target_globals): Allocate < 4KB structs using
20979 GC in payload of target_globals struct instead of allocating them on
20980 the heap and the larger structs separately using GC.
20981 * target-globals.h (struct target_globals): Make regs, hard_regs,
20982 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
20983 of GTY((skip)) and change type to void *.
20984 (reset_target_globals): Cast loads from those fields to corresponding
20985 types.
20986
1aa26aac
SE
209872014-01-10 Steve Ellcey <sellcey@mips.com>
20988
20989 PR plugins/59335
20990 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
20991 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
20992 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
20993
1c992d1e
RE
209942014-01-10 Richard Earnshaw <rearnsha@arm.com>
20995
7783a246 20996 PR target/59744
1c992d1e
RE
20997 * aarch64-modes.def (CC_Zmode): New flags mode.
20998 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
20999 represents an equality.
7783a246 21000 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
21001 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
21002
86464cbd
AK
210032014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
21004
21005 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
21006 extraction in good case.
21007
5e6667b2
RB
210082014-01-10 Richard Biener <rguenther@suse.de>
21009
21010 PR tree-optimization/59374
21011 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
21012 checking after SLP discovery. Mark stmts not participating
21013 in any SLP instance properly.
21014
5619162c
KT
210152014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21016
21017 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
21018 when handling a SET rtx.
21019
2d17b99f
KT
210202014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21021
21022 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
21023 (cortex-a57): Likewise.
21024 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
21025
bcca645c
KT
210262014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21027
21028 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
21029 non-iwmmxt builtins.
21030
a3788dde
JH
210312014-01-10 Jan Hubicka <hubicka@ucw.cz>
21032
21033 PR ipa/58252
21034 PR ipa/59226
21035 * ipa-devirt.c record_target_from_binfo): Take as argument
21036 stack of binfos and lookup matching one for virtual inheritance.
21037 (possible_polymorphic_call_targets_1): Update.
21038
87ed883e
HC
210392014-01-10 Huacai Chen <chenhc@lemote.com>
21040
21041 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
21042 kernel strings for Loongson-2E/2F/3A.
21043
cd4447e2
JJ
210442014-01-10 Jakub Jelinek <jakub@redhat.com>
21045
21046 PR middle-end/59670
21047 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
21048 is_gimple_call before calling gimple_call_internal_p.
21049
3fadf78a
SE
210502014-01-09 Steve Ellcey <sellcey@mips.com>
21051
21052 * Makefile.in (TREE_FLOW_H): Remove.
21053 (TREE_SSA_H): Add file names from tree-flow.h.
21054 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
21055 * tree.h: Remove tree-flow.h reference.
21056 * hash-table.h: Remove tree-flow.h reference.
21057 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
21058 reference with tree-ssa-loop.h.
21059
6edc217d
BS
210602014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21061
21062 * doc/invoke.texi: Add -maltivec={be,le} options, and document
21063 default element-order behavior for -maltivec.
21064 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
21065 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
21066 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
21067 when targeting big endian, at least for now.
21068 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
21069
a70e9985
JJ
210702014-01-09 Jakub Jelinek <jakub@redhat.com>
21071
3396aba5
JJ
21072 PR middle-end/47735
21073 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
21074 var satisfies use_register_for_decl, just take into account type
21075 alignment, rather than decl alignment.
21076
a70e9985
JJ
21077 PR tree-optimization/59622
21078 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
21079 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
21080 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
21081 Don't devirtualize for inplace at all. For targets.length () == 1,
21082 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
21083
6e9cc565
L
210842014-01-09 H.J. Lu <hongjiu.lu@intel.com>
21085
21086 * config/i386/i386.md (cpu): Remove the unused btver1.
21087
d1c0e4ac
L
210882014-01-09 H.J. Lu <hongjiu.lu@intel.com>
21089
21090 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
21091
e83b8e2e
JJ
210922014-01-09 Jakub Jelinek <jakub@redhat.com>
21093
21094 PR target/58115
21095 * tree-core.h (struct target_globals): New forward declaration.
21096 (struct tree_target_option): Add globals field.
21097 * tree.h (TREE_TARGET_GLOBALS): Define.
21098 (prepare_target_option_nodes_for_pch): New prototype.
21099 * target-globals.h (struct target_globals): Define even if
21100 !SWITCHABLE_TARGET.
21101 * tree.c (prepare_target_option_node_for_pch,
21102 prepare_target_option_nodes_for_pch): New functions.
21103 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
21104 * config/i386/i386.c: Include target-globals.h.
21105 (ix86_set_current_function): Instead of doing target_reinit
21106 unconditionally, use save_target_globals_default_opts and
21107 restore_target_globals.
21108
2aaed0f3
RB
211092014-01-09 Richard Biener <rguenther@suse.de>
21110
21111 PR tree-optimization/59715
21112 * tree-cfg.h (split_critical_edges): Declare.
21113 * tree-cfg.c (split_critical_edges): Export.
21114 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
21115
b5ebc991
MO
211162014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
21117
4ac005ba 21118 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
21119 asan stack protection.
21120 (expand_used_vars): Likewise.
21121 (partition_stack_vars): Likewise.
4ac005ba 21122 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 21123 after return stack usage.
7f3af6d3 21124 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
21125 (instrument_builtin_call): Likewise.
21126 (instrument_strlen_call): Likewise.
7f3af6d3 21127 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
21128 * doc/invoke.texi: Added doc for new options.
21129 * params.def: Added new options.
21130 * params.h: Likewise.
21131
b59e0455
JJ
211322014-01-09 Jakub Jelinek <jakub@redhat.com>
21133
21134 PR rtl-optimization/59724
21135 * ifcvt.c (cond_exec_process_if_block): Don't call
21136 flow_find_head_matching_sequence with 0 longest_match.
21137 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
21138 non-active insns if !stop_after.
21139 (try_head_merge_bb): Revert 2014-01-07 changes.
21140
650c4c85
JL
211412014-01-08 Jeff Law <law@redhat.com>
21142
21143 * ree.c (get_sub_rtx): New function, extracted from...
21144 (merge_def_and_ext): Here.
21145 (combine_reaching_defs): Use get_sub_rtx.
21146
ff36fcbe
EB
211472014-01-08 Eric Botcazou <ebotcazou@adacore.com>
21148
21149 * cgraph.h (varpool_variable_node): Do not choke on null node.
21150
9f9d82aa
CM
211512014-01-08 Catherine Moore <clm@codesourcery.com>
21152
4ac005ba
UB
21153 * config/mips/mips.md (simple_return): Attempt to use JRC
21154 for microMIPS.
9f9d82aa
CM
21155 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
21156
df6c8808
RS
211572014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
21158
21159 PR rtl-optimization/59137
21160 * reorg.c (steal_delay_list_from_target): Call update_block for
21161 elided insns.
21162 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
21163
6170ceff
BS
211642014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21165
21166 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
21167 two duplicate entries.
21168
3f140f32
RS
211692014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
21170
21171 Revert:
21172 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
21173
21174 * config/mips/mips.c (mips_truncated_op_cost): New function.
21175 (mips_rtx_costs): Adjust test for BADDU.
21176 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
21177
21178 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
21179
21180 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
21181 (*baddu_si): ...this new pattern.
21182
c6de6665
JJ
211832014-01-08 Jakub Jelinek <jakub@redhat.com>
21184
21185 PR ipa/59722
21186 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
21187
4c437f02
BE
211882014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
21189
21190 PR middle-end/57748
21191 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
21192 inner_reference_p.
21193 (expand_expr, expand_normal): Adjust.
21194 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
21195 inner_reference_p. Use inner_reference_p to expand inner references.
21196 (store_expr): Adjust.
21197 * cfgexpand.c (expand_call_stmt): Adjust.
21198
4ac005ba 211992014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
21200
21201 * gcov-io.c (gcov_var): Move from gcov-io.h.
21202 (gcov_position): Ditto.
21203 (gcov_is_error): Ditto.
21204 (gcov_rewrite): Ditto.
21205 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
21206 only part to libgcc/libgcov.h.
21207
ab04b46e
MP
212082014-01-08 Marek Polacek <polacek@redhat.com>
21209
21210 PR middle-end/59669
21211 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
21212
06636b32
MP
212132014-01-08 Marek Polacek <polacek@redhat.com>
21214
21215 PR sanitizer/59667
21216 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
21217
c15677b6
JJ
212182014-01-08 Jakub Jelinek <jakub@redhat.com>
21219
21220 PR rtl-optimization/59649
21221 * stor-layout.c (get_mode_bounds): For BImode return
21222 0 and STORE_FLAG_VALUE.
21223
5c944c6c
RB
212242014-01-08 Richard Biener <rguenther@suse.de>
21225
21226 PR middle-end/59630
21227 * gimple.h (is_gimple_builtin_call): Remove.
21228 (gimple_builtin_call_types_compatible_p): New.
21229 (gimple_call_builtin_p): New overload.
21230 * gimple.c (is_gimple_builtin_call): Remove.
21231 (validate_call): Rename to ...
21232 (gimple_builtin_call_types_compatible_p): ... this and export. Also
21233 check return types.
21234 (validate_type): New static function.
21235 (gimple_call_builtin_p): New overload and adjust.
21236 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
21237 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
21238 (gimple_fold_stmt_to_constant_1): Likewise.
21239 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
21240
0bd34ae4
RB
212412014-01-08 Richard Biener <rguenther@suse.de>
21242
21243 PR middle-end/59471
21244 * gimplify.c (gimplify_expr): Gimplify register-register type
21245 VIEW_CONVERT_EXPRs to separate stmts.
21246
04af8ab6
JL
212472014-01-07 Jeff Law <law@redhat.com>
21248
3c92da90
JL
21249 PR middle-end/53623
21250 * ree.c (combine_set_extension): Handle case where source
21251 and destination registers in an extension insn are different.
4ac005ba
UB
21252 (combine_reaching_defs): Allow source and destination registers
21253 in extension to be different under limited circumstances.
3c92da90 21254 (add_removable_extension): Remove restriction that the
4ac005ba 21255 source and destination registers in the extension are the same.
3c92da90
JL
21256 (find_and_remove_re): Emit a copy from the extension's
21257 destination to its source after the defining insn if
21258 the source and destination registers are different.
21259
04af8ab6
JL
21260 PR middle-end/59285
21261 * ifcvt.c (merge_if_block): If we are merging a block with more than
21262 one successor with a block with no successors, remove any BARRIER
21263 after the second block.
21264
4bb66ef3 212652014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
21266
21267 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
21268
55ada375
JDA
212692014-01-07 John David Anglin <danglin@gcc.gnu.org>
21270
21271 PR target/59652
21272 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
21273 for 14-bit register offsets when INT14_OK_STRICT is false.
21274
877c72e7
RS
212752014-01-07 Roland Stigge <stigge@antcom.de>
21276 Michael Meissner <meissner@linux.vnet.ibm.com>
21277
21278 PR 57386/target
21279 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 21280 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 21281
8b2721da
JG
212822014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
21283
21284 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
21285 -mcpu.
21286
5d72b79f
YZ
212872014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
21288
21289 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
21290 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
21291 rtx is const0_rtx or not.
21292
48d53439
RS
212932014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
21294
21295 PR target/58115
21296 * target-globals.c (save_target_globals): Remove this_fn_optab
21297 handling.
21298 * toplev.c: Include optabs.h.
21299 (target_reinit): Temporarily restore the global options if another
21300 set of options are in force.
21301
41626746
JJ
213022014-01-07 Jakub Jelinek <jakub@redhat.com>
21303
a0cbe71e
JJ
21304 PR rtl-optimization/58668
21305 * cfgcleanup.c (flow_find_cross_jump): Don't count
21306 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
21307 to determine what is counted.
21308 (flow_find_head_matching_sequence): Use active_insn_p to determine
21309 what is counted.
21310 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
21311 counting change.
21312 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
21313 determine what is counted.
21314
41626746
JJ
21315 PR tree-optimization/59643
21316 * tree-predcom.c (split_data_refs_to_components): If one dr is
21317 read and one write, determine_offset fails and the write isn't
21318 in the bad component, just put the read into the bad component.
21319
cc349a39
MS
213202014-01-07 Mike Stump <mikestump@comcast.net>
21321 Jakub Jelinek <jakub@redhat.com>
21322
21323 PR pch/59436
21324 * tree-core.h (struct tree_optimization_option): Change optabs
21325 type from unsigned char * to void *.
21326 * optabs.c (init_tree_optimization_optabs): Adjust
21327 TREE_OPTIMIZATION_OPTABS initialization.
21328
529a6471
JJ
213292014-01-06 Jakub Jelinek <jakub@redhat.com>
21330
21331 PR target/59644
21332 * config/i386/i386.h (struct machine_function): Add
21333 no_drap_save_restore field.
21334 * config/i386/i386.c (ix86_save_reg): Use
21335 !cfun->machine->no_drap_save_restore instead of
21336 crtl->stack_realign_needed.
21337 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
21338 this function clears frame_pointer_needed. Set
21339 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
21340 and DRAP reg is needed.
21341
96066ce1
MP
213422014-01-06 Marek Polacek <polacek@redhat.com>
21343
21344 PR c/57773
21345 * doc/implement-c.texi: Mention that other integer types are
21346 permitted as bit-field types in strictly conforming mode.
21347
955b33ed 213482014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
21349
21350 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
21351 is newly allocated.
21352
328402a9
RE
213532014-01-06 Richard Earnshaw <rearnsha@arm.com>
21354
21355 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
21356
a4e33812
MJ
213572014-01-06 Martin Jambor <mjambor@suse.cz>
21358
21359 PR ipa/59008
21360 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
21361 to int.
21362 * ipa-prop.c (ipa_print_node_params): Fix indentation.
21363
b5cd2a02
EB
213642014-01-06 Eric Botcazou <ebotcazou@adacore.com>
21365
21366 PR debug/59350
21367 PR debug/59510
21368 * var-tracking.c (add_stores): Preserve the value of the source even if
21369 we don't record the store.
21370
c7d19c0b
TG
213712014-01-06 Terry Guo <terry.guo@arm.com>
21372
21373 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
21374
e0c70bd7
IS
213752014-01-05 Iain Sandoe <iain@codesourcery.com>
21376
21377 PR bootstrap/59541
21378 * config/darwin.c (darwin_function_section): Adjust return values to
21379 correspond to optimisation changes made in r206070.
21380
c30f016c
UB
213812014-01-05 Uros Bizjak <ubizjak@gmail.com>
21382
21383 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
21384 from prefetch_block tune setting.
21385 (nocona_cost): Correct size of prefetch block to 64.
21386
f2bc252b
EB
213872014-01-04 Eric Botcazou <ebotcazou@adacore.com>
21388
21389 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
21390 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
21391 used to save the static chain register in the computation of the offset
21392 from which the FP registers need to be restored.
21393
dad5ed2e
JJ
213942014-01-04 Jakub Jelinek <jakub@redhat.com>
21395
39719c84
JJ
21396 PR tree-optimization/59519
21397 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
21398 ICE if get_current_def (current_new_name) is already non-NULL, as long
21399 as it is a phi result of some other phi in *new_exit_bb that has
21400 the same argument.
21401
dad5ed2e
JJ
21402 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
21403 or vmovdqu* for misaligned_operand.
21404 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
21405 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
21406 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
21407 aligned_mem for AVX512F masked aligned load and store builtins and for
21408 non-temporal moves.
21409
214102014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
21411
21412 PR tree-optimization/59651
c30f016c 21413 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
21414 Address range for negative step should be added by TYPE_SIZE_UNIT.
21415
e864837a
AS
214162014-01-03 Andreas Schwab <schwab@linux-m68k.org>
21417
21418 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 21419 overlapping registers also for registers other than the stack pointer.
e864837a 21420
56a34230
MP
214212014-01-03 Marek Polacek <polacek@redhat.com>
21422
21423 PR other/59661
21424 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
21425 __builtin_FILE.
21426
039eee3f
JJ
214272014-01-03 Jakub Jelinek <jakub@redhat.com>
21428
3bcdbd50
JJ
21429 PR target/59625
21430 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
21431 asm goto as jump.
21432
039eee3f
JJ
21433 * config/i386/i386.md (MODE_SIZE): New mode attribute.
21434 (push splitter): Use <P:MODE_SIZE> instead of
21435 GET_MODE_SIZE (<P:MODE>mode).
21436 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
21437 (mov -1, reg peephole2): Likewise.
21438 * config/i386/sse.md (*mov<mode>_internal,
21439 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
21440 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
21441 *<code><mode>3, *andnot<mode>3<mask_name>,
21442 <mask_codefor><code><mode>3<mask_name>): Likewise.
21443 * config/i386/subst.md (mask_mode512bit_condition,
21444 sd_mask_mode512bit_condition): Likewise.
21445
927734cf
XDL
214462014-01-02 Xinliang David Li <davidxl@google.com>
21447
21448 PR tree-optimization/59303
039eee3f 21449 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
21450 (dump_predicates): Better output format.
21451 (pred_equal_p): New function.
21452 (is_neq_relop_p): Ditto.
21453 (is_neq_zero_form_p): Ditto.
21454 (pred_expr_equal_p): Ditto.
21455 (pred_neg_p): Ditto.
21456 (simplify_pred): Ditto.
21457 (simplify_preds_2): Ditto.
21458 (simplify_preds_3): Ditto.
21459 (simplify_preds_4): Ditto.
21460 (simplify_preds): Ditto.
21461 (push_pred): Ditto.
21462 (push_to_worklist): Ditto.
21463 (get_pred_info_from_cmp): Ditto.
21464 (is_degenerated_phi): Ditto.
21465 (normalize_one_pred_1): Ditto.
21466 (normalize_one_pred): Ditto.
21467 (normalize_one_pred_chain): Ditto.
21468 (normalize_preds): Ditto.
21469 (normalize_cond_1): Remove function.
21470 (normalize_cond): Ditto.
21471 (is_gcond_subset_of): Ditto.
21472 (is_subset_of_any): Ditto.
21473 (is_or_set_subset_of): Ditto.
21474 (is_and_set_subset_of): Ditto.
21475 (is_norm_cond_subset_of): Ditto.
21476 (pred_chain_length_cmp): Ditto.
21477 (convert_control_dep_chain_into_preds): Type change.
21478 (find_predicates): Ditto.
21479 (find_def_preds): Ditto.
21480 (destroy_predicates_vecs): Ditto.
21481 (find_matching_predicates_in_rest_chains): Ditto.
21482 (use_pred_not_overlap_with_undef_path_pred): Ditto.
21483 (is_pred_expr_subset): Ditto.
21484 (is_pred_chain_subset_of): Ditto.
21485 (is_included_in): Ditto.
21486 (is_superset_of): Ditto.
21487
23a5b65a
RS
214882014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
21489
c30f016c 21490 Update copyright years.
23a5b65a 21491
f9030485
RS
214922014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
21493
21494 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
21495 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
21496 config/arc/arc.md, config/arc/arc.opt,
21497 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
21498 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
21499 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
21500 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
21501 config/linux-protos.h, config/linux.c, config/winnt-c.c,
21502 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
21503 vtable-verify.c, vtable-verify.h: Use the standard form for the
21504 copyright notice.
f9030485 21505
98db73df
TB
215062014-01-02 Tobias Burnus <burnus@net-b.de>
21507
21508 * gcc.c (process_command): Update copyright notice dates.
21509 * gcov-dump.c: Ditto.
21510 * gcov.c: Ditto.
21511 * doc/cpp.texi: Bump @copying's copyright year.
21512 * doc/cppinternals.texi: Ditto.
21513 * doc/gcc.texi: Ditto.
21514 * doc/gccint.texi: Ditto.
21515 * doc/gcov.texi: Ditto.
21516 * doc/install.texi: Ditto.
21517 * doc/invoke.texi: Ditto.
21518
2898d204 215192014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
21520
21521 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
21522
dfebbdc6 215232014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 21524
726c3546
JJ
21525 * config/i386/sse.md (*mov<mode>_internal): Guard
21526 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
21527
dfebbdc6
JJ
21528 PR rtl-optimization/59647
21529 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
21530 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 21531\f
970c3b33 21532Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
21533
21534Copying and distribution of this file, with or without modification,
21535are permitted in any medium without royalty provided the copyright
21536notice and this notice are preserved.