except.c: Use rtx_sequence
[gcc.git] / gcc / ChangeLog
1 2014-08-27 David Malcolm <dmalcolm@redhat.com>
2
3 * except.c (can_throw_external): Strengthen local "seq" from rtx
4 to rtx_sequence *. Use methods of rtx_sequence.
5 (insn_nothrow_p): Likewise.
6
7 2014-08-27 David Malcolm <dmalcolm@redhat.com>
8
9 * dwarf2cfi.c (create_trace_edges): Convert GET_CODE check into a
10 dyn_cast, strengthening local "seq" from rtx to rtx_sequence *.
11 Use methods of rtx_sequence.
12 (scan_trace): Likewise for local "pat".
13
14 2014-08-27 David Malcolm <dmalcolm@redhat.com>
15
16 * coretypes.h (class rtx_sequence): Add forward declaration.
17 * rtl.h (class rtx_sequence): New subclass of rtx_def, adding
18 invariant: GET_CODE (X) == SEQUENCE.
19 (is_a_helper <rtx_sequence *>::test): New.
20 (is_a_helper <const rtx_sequence *>::test): New.
21 (rtx_sequence::len): New.
22 (rtx_sequence::element): New.
23 (rtx_sequence::insn): New.
24
25 2014-08-27 David Malcolm <dmalcolm@redhat.com>
26
27 * rtl.h (free_INSN_LIST_list): Strengthen param from rtx * to
28 rtx_insn_list **.
29 (alloc_INSN_LIST): Strengthen return type from rtx to
30 rtx_insn_list *.
31 (copy_INSN_LIST): Likewise for return type and param.
32 (concat_INSN_LIST): Likewise for both params and return type.
33 (remove_free_INSN_LIST_elem): Strenghten first param from rtx to
34 rtx_insn *. Strengthen second param from rtx * to rtx_insn_list **.
35 (remove_free_INSN_LIST_node): Strenghten return type from rtx to
36 rtx_insn *. Strengthen param from rtx * to rtx_insn_list **.
37
38 * sched-int.h (struct deps_reg): Strengthen fields "uses", "sets",
39 "implicit_sets", "control_uses", "clobbers" from rtx to
40 rtx_insn_list *.
41 (struct deps_desc): Likewise for fields "pending_read_insns",
42 "pending_write_insns", "pending_jump_insns",
43 "last_pending_memory_flush", "last_function_call",
44 "last_function_call_may_noreturn", "sched_before_next_call",
45 "sched_before_next_jump".
46 (struct _haifa_deps_insn_data): Likewise for field "cond_deps".
47 (remove_from_deps): Strengthen second param from rtx to rtx_insn *.
48
49 * gcse.c (struct ls_expr): Strengthen fields "loads" and "stores"
50 from rtx to rtx_insn_list *.
51 (ldst_entry): Replace use of NULL_RTX with NULL when dealing with
52 rtx_insn_list *.
53
54 * haifa-sched.c (insn_queue): Strengthen this variable from rtx *
55 to rtx_insn_list **.
56 (dep_cost_1): Strengthen local "dep_cost_rtx_link" from rtx to
57 rtx_insn_list *.
58 (queue_insn): Likewise for local "link".
59 (struct haifa_saved_data): Strengthen field "insn_queue" from
60 rtx * to rtx_insn_list **.
61 (save_backtrack_point): Update allocation of save->insn_queue to
62 reflect the strengthening of elements from rtx to rtx_insn_list *.
63 (queue_to_ready): Strengthen local "link" from rtx to
64 rtx_insn_list *; use methods "next" and "insn" when traversing the
65 list.
66 (early_queue_to_ready): Likewise for locals "link", "next_link",
67 "prev_link".
68 (schedule_block): Update allocation of insn_queue to reflect the
69 strengthening of elements from rtx to rtx_insn_list *. Strengthen
70 local "link" from rtx to rtx_insn_list *, and use methods when
71 working it.
72 (add_to_speculative_block): Strengthen locals "twins" and
73 "next_node" from rtx to rtx_insn_list *, and use methods when
74 working with them. Strengthen local "twin" from rtx to
75 rtx_insn *, eliminating a checked cast.
76 (fix_recovery_deps): Strengthen locals "ready_list" and "link"
77 from rtx to rtx_insn_list *, and use methods when working with
78 them.
79
80 * lists.c (alloc_INSN_LIST): Strengthen return type and local "r"
81 from rtx to rtx_insn_list *, adding a checked cast.
82 (free_INSN_LIST_list): Strengthen param "listp" from rtx * to
83 rtx_insn_list **.
84 (copy_INSN_LIST): Strengthen return type and locals "new_queue",
85 "newlink" from rtx to rtx_insn_list *. Strengthen local
86 "pqueue" from rtx * to rtx_insn_list **. Strengthen local "x"
87 from rtx to rtx_insn *.
88 (concat_INSN_LIST): Strengthen return type and local "new_rtx",
89 from rtx to rtx_insn_list *. Use methods of the latter class.
90 (remove_free_INSN_LIST_elem): Strengthen param "elem" from rtx to
91 rtx_insn *, and param "listp" from rtx * to rtx_insn_list **.
92 (remove_free_INSN_LIST_node): Strengthen return type and local
93 "elem" from rtx to rtx_insn *. Strenghten param "listp" from
94 rtx * to rtx_insn_list **. Strengthen local "node" from rtx to
95 rtx_insn_list *, using "insn" method.
96
97 * sched-deps.c (add_dependence_list): Strengthen param "list"
98 from rtx to rtx_insn_list *, and use methods when working with it.
99 (add_dependence_list_and_free): Strengthen param "listp" from
100 rtx * to rtx_insn_list **.
101 (remove_from_dependence_list): Strenghten param "listp" from rtx *
102 to rtx_insn_list **, and use methods when working with *listp.
103 (remove_from_both_dependence_lists): Strengthen param "listp" from
104 rtx * to rtx_insn_list **
105 (add_insn_mem_dependence): Strengthen local "insn_list" from rtx *
106 to rtx_insn_list **. Eliminate local "link", in favor of two new
107 locals "insn_node" and "mem_node", an rtx_insn_list * and an rtx
108 respectively.
109 (deps_analyze_insn): Split out uses 'f local "t" as an INSN_LIST
110 by introducing local "cond_deps".
111 (remove_from_deps): Strengthen param "insn" from rtx to
112 rtx_insn *.
113
114 * sched-rgn.c (concat_insn_mem_list): Strengthen param
115 "copy_insns" and local "new_insns" from rtx to rtx_insn_list *.
116 Strengthen param "old_insns_p" from rtx * to rtx_insn_list **.
117 Use methods of rtx_insn_list.
118
119 * store-motion.c (struct st_expr): Strengthen fields
120 "antic_stores" and "avail_stores" from rtx to rtx_insn_list *.
121 (st_expr_entry): Replace NULL_RTX with NULL when dealing with
122 rtx_insn_list *.
123 (find_moveable_store): Split out "tmp" into multiple more-tightly
124 scoped locals. Use methods of rtx_insn_list *.
125 (compute_store_table): Strengthen local "tmp" from rtx to
126 rtx_insn *. Use methods of rtx_insn_list *.
127
128 2014-08-27 David Malcolm <dmalcolm@redhat.com>
129
130 * coretypes.h (class rtx_insn_list): Add forward declaration.
131 * rtl.h (class rtx_insn_list): New subclass of rtx_def
132 (is_a_helper <rtx_insn_list *>::test): New.
133 (rtx_insn_list::next): New.
134 (rtx_insn_list::insn): New.
135 (gen_rtx_INSN_LIST): Add prototype.
136 * emit-rtl.c (gen_rtx_INSN_LIST): New.
137 * gengenrtl.c (special_rtx): Add INSN_LIST.
138
139 2014-08-27 David Malcolm <dmalcolm@redhat.com>
140
141 * ira-lives.c (find_call_crossed_cheap_reg): Strengthen local
142 "prev" from rtx to rtx_insn *.
143
144 2014-08-27 David Malcolm <dmalcolm@redhat.com>
145
146 * rtl.h (INSN_UID): Convert from a macro to a pair of inline
147 functions. Require merely an rtx for now, not an rtx_insn *.
148 (BLOCK_FOR_INSN): Likewise.
149 (INSN_LOCATION): Likewise.
150 (INSN_HAS_LOCATION): Convert from a macro to an inline function.
151
152 2014-08-27 David Malcolm <dmalcolm@redhat.com>
153
154 * rtl.h (PATTERN): Convert this macro into a pair of inline
155 functions, for now, requiring const_rtx and rtx.
156
157 2014-08-27 David Malcolm <dmalcolm@redhat.com>
158
159 * target.def (unwind_emit): Strengthen param "insn" from rtx to
160 rtx_insn *.
161 (final_postscan_insn): Likewise.
162 (adjust_cost): Likewise.
163 (adjust_priority): Likewise.
164 (variable_issue): Likewise.
165 (macro_fusion_pair_p): Likewise.
166 (dfa_post_cycle_insn): Likewise.
167 (first_cycle_multipass_dfa_lookahead_guard): Likewise.
168 (first_cycle_multipass_issue): Likewise.
169 (dfa_new_cycle): Likewise.
170 (adjust_cost_2): Likewise for params "insn" and "dep_insn".
171 (speculate_insn): Likewise for param "insn".
172 (gen_spec_check): Likewise for params "insn" and "label".
173 (get_insn_spec_ds): Likewise for param "insn".
174 (get_insn_checked_ds): Likewise.
175 (dispatch_do): Likewise.
176 (dispatch): Likewise.
177 (cannot_copy_insn_p): Likewise.
178 (invalid_within_doloop): Likewise.
179 (legitimate_combined_insn): Likewise.
180 (needed): Likewise.
181 (after): Likewise.
182
183 * doc/tm.texi: Automatically updated to reflect changes to
184 target.def.
185
186 * haifa-sched.c (choose_ready): Convert NULL_RTX to NULL when
187 working with insn.
188 (schedule_block): Likewise.
189 (sched_init): Likewise.
190 (sched_speculate_insn): Strengthen param "insn" from rtx to
191 rtx_insn *.
192 (ready_remove_first_dispatch): Convert NULL_RTX to NULL when
193 working with insn.
194 * hooks.c (hook_bool_rtx_true): Rename to...
195 hook_bool_rtx_insn_true): ...this, and strengthen first param from
196 rtx to rtx_insn *.
197 (hook_constcharptr_const_rtx_null): Rename to...
198 (hook_constcharptr_const_rtx_insn_null): ...this, and strengthen
199 first param from const_rtx to const rtx_insn *.
200 (hook_bool_rtx_int_false): Rename to...
201 (hook_bool_rtx_insn_int_false): ...this, and strengthen first
202 param from rtx to rtx_insn *.
203 (hook_void_rtx_int): Rename to...
204 (hook_void_rtx_insn_int): ...this, and strengthen first param from
205 rtx to rtx_insn *.
206
207 * hooks.h (hook_bool_rtx_true): Rename to...
208 (hook_bool_rtx_insn_true): ...this, and strengthen first param from
209 rtx to rtx_insn *.
210 (hook_bool_rtx_int_false): Rename to...
211 (hook_bool_rtx_insn_int_false): ...this, and strengthen first
212 param from rtx to rtx_insn *.
213 (hook_void_rtx_int): Rename to...
214 (hook_void_rtx_insn_int): ...this, and strengthen first param from
215 rtx to rtx_insn *.
216 (hook_constcharptr_const_rtx_null): Rename to...
217 (hook_constcharptr_const_rtx_insn_null): ...this, and strengthen
218 first param from const_rtx to const rtx_insn *.
219
220 * sched-deps.c (sched_macro_fuse_insns): Strengthen param "insn"
221 and local "prev" from rtx to rtx_insn *.
222
223 * sched-int.h (sched_speculate_insn): Strengthen first param from
224 rtx to rtx_insn *.
225
226 * sel-sched.c (create_speculation_check): Likewise for local "label".
227 * targhooks.c (default_invalid_within_doloop): Strengthen param
228 "insn" from const_rtx to const rtx_insn *.
229 * targhooks.h (default_invalid_within_doloop): Strengthen param
230 from const_rtx to const rtx_insn *.
231
232 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Likewise.
233 (alpha_adjust_cost): Likewise for params "insn", "dep_insn".
234
235 * config/arc/arc.c (arc_sched_adjust_priority): Likewise for param
236 "insn".
237 (arc_invalid_within_doloop): Likewise, with const.
238
239 * config/arm/arm.c (arm_adjust_cost): Likewise for params "insn", "dep".
240 (arm_cannot_copy_insn_p): Likewise for param "insn".
241 (arm_unwind_emit): Likewise.
242
243 * config/bfin/bfin.c (bfin_adjust_cost): Likewise for params "insn",
244 "dep_insn".
245
246 * config/c6x/c6x.c (c6x_dfa_new_cycle): Likewise for param "insn".
247 (c6x_variable_issue): Likewise. Removed now-redundant checked
248 cast.
249 (c6x_adjust_cost): Likewise for params "insn", "dep_insn".
250
251 * config/epiphany/epiphany-protos.h (epiphany_mode_needed):
252 Likewise for param "insn".
253 (epiphany_mode_after): Likewise.
254 * config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise for
255 params "insn", "dep_insn".
256 (epiphany_mode_needed): Likewise for param "insn".
257 (epiphany_mode_after): Likewise.
258
259 * config/i386/i386-protos.h (i386_pe_seh_unwind_emit): Likewise.
260 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
261 (ix86_avx_u128_mode_needed): Likewise.
262 (ix86_i387_mode_needed): Likewise.
263 (ix86_mode_needed): Likewise.
264 (ix86_avx_u128_mode_after): Likewise.
265 (ix86_mode_after): Likewise.
266 (ix86_adjust_cost): Likewise for params "insn", "dep_insn".
267 (ix86_macro_fusion_pair_p): Likewise for params "condgen", "condjmp".
268 (ix86_adjust_priority): Likewise for param "insn".
269 (core2i7_first_cycle_multipass_issue): Likewise for param "insn".
270 (do_dispatch): Likewise.
271 (has_dispatch): Likewise.
272 * config/i386/winnt.c (i386_pe_seh_unwind_emit): Likewise.
273
274 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Update to
275 reflect renaming of default hook implementation from
276 hook_constcharptr_const_rtx_null to
277 hook_constcharptr_const_rtx_insn_null.
278 (ia64_adjust_cost_2): Strengthen params "insn", "dep_insn" from
279 rtx to rtx_insn *.
280 (ia64_variable_issue): Likewise for param "insn".
281 (ia64_first_cycle_multipass_dfa_lookahead_guard): Likewise.
282 (ia64_dfa_new_cycle): Likewise.
283 (ia64_get_insn_spec_ds): Likewise.
284 (ia64_get_insn_checked_ds): Likewise.
285 (ia64_speculate_insn): Likewise.
286 (ia64_gen_spec_check): Likewise for params "insn", "label".
287 (ia64_asm_unwind_emit): Likewise for param "insn".
288
289 * config/m32r/m32r.c (m32r_adjust_priority): Likewise.
290
291 * config/m68k/m68k.c (m68k_sched_adjust_cost): Likewise for params
292 "insn", "def_insn".
293 (m68k_sched_variable_issue): Likewise for param "insn".
294
295 * config/mep/mep.c (mep_adjust_cost): Likewise for params "insn",
296 "def_insn".
297
298 * config/microblaze/microblaze.c (microblaze_adjust_cost):
299 Likewise for params "insn", "dep".
300
301 * config/mips/mips.c (mips_adjust_cost): Likewise.
302 (mips_variable_issue): Likewise for param "insn".
303 (mips_final_postscan_insn): Likewise.
304
305 * config/mn10300/mn10300.c (mn10300_adjust_sched_cost): Likewise
306 for params "insn", "dep".
307
308 * config/pa/pa.c (pa_adjust_cost): Likewise for params "insn",
309 "dep_insn".
310 (pa_adjust_priority): Likewise for param "insn".
311
312 * config/picochip/picochip.c (picochip_sched_adjust_cost):
313 Likewise for params "insn", "dep_insn".
314
315 * config/rs6000/rs6000.c (rs6000_variable_issue_1): Likewise for
316 param "insn".
317 (rs6000_variable_issue): Likewise.
318 (rs6000_adjust_cost): Likewise for params "insn", "dep_insn".
319 (rs6000_debug_adjust_cost): Likewise.
320 (rs6000_adjust_priority): Likewise for param "insn".
321 (rs6000_use_sched_lookahead_guard): Likewise.
322 (get_next_active_insn): Likewise for return type and both params.
323 (redefine_groups): Likewise for params "prev_head_insn", "tail"
324 and locals "insn", "next_insn".
325 (pad_groups): Likewise.
326
327 * config/s390/s390.c (s390_adjust_priority): Likewise for param
328 "insn".
329 (s390_cannot_copy_insn_p): Likewise.
330 (s390_sched_variable_issue): Likewise for third param, eliminating
331 checked cast.
332 (TARGET_INVALID_WITHIN_DOLOOP): Update to reflect renaming of
333 default hook implementation from hook_constcharptr_const_rtx_null
334 to hook_constcharptr_const_rtx_insn_null.
335
336 * config/sh/sh.c (sh_cannot_copy_insn_p): Strengthen param "insn"
337 from rtx to rtx_insn *.
338 (sh_adjust_cost): Likewise for params "insn", "dep_insn".
339 (sh_variable_issue): Likewise for param "insn".
340 (sh_dfa_new_cycle): Likewise.
341 (sh_mode_needed): Likewise.
342 (sh_mode_after): Likewise.
343
344 * config/sparc/sparc.c (supersparc_adjust_cost): Likewise for
345 params "insn", "dep_insn".
346 (hypersparc_adjust_cost): Likewise.
347 (sparc_adjust_cost): Likewise.
348
349 * config/spu/spu.c (spu_sched_variable_issue): Likewise for third
350 param, eliminated checked cast.
351 (spu_sched_adjust_cost): Likewise for first and third params.
352
353 * config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Strengthen
354 params "insn" and "dep_insn" from rtx to rtx_insn *.
355
356 * config/tilepro/tilepro.c (tilepro_sched_adjust_cost): Likewise.
357
358 2014-08-27 David Malcolm <dmalcolm@redhat.com>
359
360 * gcc/config/mn10300/mn10300.c (is_load_insn): Rename to...
361 (set_is_load_p): ...this, updating to work on a SET pattern rather
362 than an insn.
363 (is_store_insn): Rename to...
364 (set_is_store_p): ...this, updating to work on a SET pattern
365 rather than an insn.
366 (mn10300_adjust_sched_cost): Move call to get_attr_timings from
367 top of function to where it is needed. Rewrite the bogus
368 condition that checks for "insn" and "dep" being PARALLEL to
369 instead use single_set, introducing locals "insn_set" and
370 "dep_set". Given that we only ever returned "cost" for a non-pair
371 of SETs, bail out early if we don't have a pair of SET.
372 Rewrite all uses of PATTERN (dep) and PATTERN (insn) to instead
373 use the new locals "insn_set" and "dep_set", and update calls to
374 is_load_insn and is_store_insn to be calls to set_is_load_p and
375 set_is_store_p.
376
377 2014-08-27 Guozhi Wei <carrot@google.com>
378
379 PR target/62262
380 * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift
381 amount before using it.
382
383 2014-08-27 Richard Biener <rguenther@suse.de>
384
385 * gimple-fold.c (get_maxval_strlen): Add overload wrapping
386 get_maxval_strlen inside a more useful API.
387 (gimple_fold_builtin_with_strlen): Remove and fold into ...
388 (gimple_fold_builtin): ... caller.
389 (gimple_fold_builtin_strlen, gimple_fold_builtin_strcpy,
390 gimple_fold_builtin_strncpy, gimple_fold_builtin_strcat,
391 gimple_fold_builtin_fputs, gimple_fold_builtin_memory_chk,
392 gimple_fold_builtin_stxcpy_chk, gimple_fold_builtin_stxncpy_chk,
393 gimple_fold_builtin_snprintf_chk, gimple_fold_builtin_snprintf,
394 gimple_fold_builtin_sprintf): Adjust to compute maxval
395 themselves.
396
397 2014-08-27 Yvan Roux <yvan.roux@linaro.org>
398
399 PR other/62248
400 * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def.
401
402 2014-08-27 Alexander Ivchenko <alexander.ivchenko@intel.com>
403 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
404 Anna Tikhonova <anna.tikhonova@intel.com>
405 Ilya Tocar <ilya.tocar@intel.com>
406 Andrey Turetskiy <andrey.turetskiy@intel.com>
407 Ilya Verbin <ilya.verbin@intel.com>
408 Kirill Yukhin <kirill.yukhin@intel.com>
409 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
410
411 * config/i386/sse.md
412 (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>_1"):
413 Use `concat_tg_mode' attribute to determine asm register size.
414
415 2014-08-27 Alexander Ivchenko <alexander.ivchenko@intel.com>
416 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
417 Anna Tikhonova <anna.tikhonova@intel.com>
418 Ilya Tocar <ilya.tocar@intel.com>
419 Andrey Turetskiy <andrey.turetskiy@intel.com>
420 Ilya Verbin <ilya.verbin@intel.com>
421 Kirill Yukhin <kirill.yukhin@intel.com>
422 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
423
424 * config/i386/sse.md
425 (define_mode_iterator VI48_AVX512VL): New.
426 (define_mode_iterator VI_UNALIGNED_LOADSTORE): Delete.
427 (define_mode_iterator VI_ULOADSTORE_BW_AVX512VL): New.
428 (define_mode_iterator VI_ULOADSTORE_F_AVX512VL): Ditto.
429 (define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
430 with VI1): Change mode iterator.
431 (define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
432 with VI_ULOADSTORE_BW_AVX512VL): New.
433 (define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
434 with VI_ULOADSTORE_F_AVX512VL): Ditto.
435 (define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
436 with VI1): Change mode iterator.
437 (define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
438 with VI_ULOADSTORE_BW_AVX512VL): New.
439 (define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
440 with VI_ULOADSTORE_F_AVX512VL): Ditto.
441 (define_insn "<sse2_avx_avx512f>_storedqu<mode>
442 with VI1): Change mode iterator.
443 (define_insn "<sse2_avx_avx512f>_storedqu<mode>
444 with VI_ULOADSTORE_BW_AVX512VL): New.
445 (define_insn "<sse2_avx_avx512f>_storedqu<mode>
446 with VI_ULOADSTORE_BW_AVX512VL): Ditto.
447 (define_insn "avx512f_storedqu<mode>_mask"): Delete.
448 (define_insn "<avx512>_storedqu<mode>_mask" with
449 VI48_AVX512VL): New.
450 (define_insn "<avx512>_storedqu<mode>_mask" with
451 VI12_AVX512VL): Ditto.
452
453 2014-08-27 Alexander Ivchenko <alexander.ivchenko@intel.com>
454 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
455 Anna Tikhonova <anna.tikhonova@intel.com>
456 Ilya Tocar <ilya.tocar@intel.com>
457 Andrey Turetskiy <andrey.turetskiy@intel.com>
458 Ilya Verbin <ilya.verbin@intel.com>
459 Kirill Yukhin <kirill.yukhin@intel.com>
460 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
461
462 * config/i386/sse.md
463 (define_mode_iterator VI48_AVX2_48_AVX512F): Delete.
464 (define_mode_iterator VI48_AVX512BW): New.
465 (define_insn "<avx2_avx512f>_<shift_insn>v<mode><mask_name>"): Delete.
466 (define_insn "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>"
467 with VI48_AVX2_48_AVX512F): New.
468 (define_insn "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>"
469 with VI2_AVX512VL): Ditto.
470
471 2014-08-27 Richard Biener <rguenther@suse.de>
472
473 PR middle-end/62239
474 * builtins.c (fold_builtin_strcat_chk): Move to gimple-fold.c.
475 (fold_builtin_3): Do not fold strcat_chk here.
476 * gimple-fold.c (gimple_fold_builtin_strcat_chk): Move here
477 from builtins.c.
478 (gimple_fold_builtin): Fold strcat_chk here.
479
480 2014-08-26 Aldy Hernandez <aldyh@redhat.com>
481
482 * dwarf2out.h (dwarf2out_decl): Remove prototype.
483 * dwarf2out.c (dwarf2out_decl): Make static.
484
485 2014-08-26 Joel Sherrill <joel.sherrill@oarcorp.com>
486
487 * doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.
488
489 2014-08-26 David Malcolm <dmalcolm@redhat.com>
490
491 * cselib.h (struct elt_loc_list): Strengthen field "setting_insn"
492 from rtx to rtx_insn *.
493 (cselib_lookup_from_insn): Likewise for final param.
494 (cselib_subst_to_values_from_insn): Likewise.
495 (cselib_add_permanent_equiv): Likewise.
496
497 * cselib.c (cselib_current_insn): Likewise for this variable.
498 (cselib_subst_to_values_from_insn): Likewise for param "insn".
499 (cselib_lookup_from_insn): Likewise.
500 (cselib_add_permanent_equiv): Likewise for param "insn" and local
501 "save_cselib_current_insn".
502 (cselib_process_insn): Replace use of NULL_RTX with NULL.
503
504 * sched-deps.c (add_insn_mem_dependence): Strengthen param "insn"
505 from rtx to rtx_insn *.
506
507 2014-08-26 David Malcolm <dmalcolm@redhat.com>
508
509 * dse.c (dse_step6): Strengthen local "rinsn" from rtx to
510 rtx_insn *.
511
512 2014-08-26 David Malcolm <dmalcolm@redhat.com>
513
514 * df.h (df_dump_insn_problem_function): Strengthen first param of
515 this callback from const_rtx to const rtx_insn *.
516 (struct df_insn_info): Strengthen field "insn" from rtx to
517 rtx_insn *.
518 (DF_REF_INSN): Eliminate this function, reinstating the older
519 macro definition.
520 (df_find_def): Strengthen param 1 from rtx to rtx_insn *.
521 (df_reg_defined): Likewise.
522 (df_find_use): Likewise.
523 (df_reg_used): Likewise.
524 (df_dump_insn_top): Strengthen param 1 from const_rtx to
525 const rtx_insn *.
526 (df_dump_insn_bottom): Likewise.
527 (df_insn_debug): Strengthen param 1 from rtx to rtx_insn *.
528 (df_insn_debug_regno): Likewise.
529 (debug_df_insn): Likewise.
530 (df_rd_simulate_one_insn): Likewise for param 2.
531 (df_word_lr_simulate_defs): Likewise for param 1.
532 (df_word_lr_simulate_uses): Likewise.
533 (df_md_simulate_one_insn): Likewise for param 2.
534 (df_simulate_find_noclobber_defs): Likewise for param 1.
535 (df_simulate_find_defs): Likewise.
536 (df_simulate_defs): Likewise.
537 (df_simulate_uses): Likewise.
538 (df_simulate_one_insn_backwards): Likewise for param 2.
539 (df_simulate_one_insn_forwards): Likewise.
540 (df_uses_create): Likewise for param 2.
541 (df_insn_create_insn_record): Likewise for param 1.
542 (df_insn_delete): Likewise.
543 (df_insn_rescan): Likewise.
544 (df_insn_rescan_debug_internal): Likewise.
545 (df_insn_change_bb): Likewise.
546 (df_notes_rescan): Likewise.
547 * rtl.h (remove_death): Likewise for param 2.
548 (print_rtl_with_bb): Strengthen param 2 from const_rtx to
549 const rtx_insn *.
550 * sched-int.h (reemit_notes): Strengthen param from rtx to
551 rtx_insn *.
552 * valtrack.h (propagate_for_debug): Likewise for param 1.
553
554 * cfgrtl.c (print_rtl_with_bb): Strengthen param "rtx_first" and
555 local "tmp_rtx" from const_rtx to const rtx_insn *.
556 * combine.c (remove_death): Strengthen param "insn" from rtx to
557 rtx_insn *.
558 (move_deaths): Likewise for local "where_dead".
559 * cse.c (delete_trivially_dead_insns): Introduce local
560 "bind_var_loc" so that "bind" can be strengthened to an rtx_insn *.
561 * df-core.c (df_find_def): Strengthen param "insn" from rtx to
562 rtx_insn *.
563 (df_reg_defined): Likewise.
564 (df_find_use): Likewise.
565 (df_reg_used): Likewise.
566 (df_dump_insn_problem_data): Strengthen param "insn" from
567 const_rtx to const rtx_insn *.
568 (df_dump_insn_top): Likewise.
569 (df_dump_insn_bottom): Likewise.
570 (df_insn_debug): Strengthen param "insn" from rtx to rtx_insn *.
571 (df_insn_debug_regno): Likewise.
572 (debug_df_insn): Likewise.
573 (DF_REF_INSN): Delete.
574 * df-problems.c (df_rd_simulate_one_insn): Strengthen param "insn"
575 from rtx to rtx_insn *.
576 (df_chain_insn_top_dump): Strengthen param "insn" from
577 const_rtx to const rtx_insn *.
578 (df_chain_insn_bottom_dump): Likewise.
579 (df_word_lr_simulate_defs): Strengthen param "insn" from rtx to
580 rtx_insn *.
581 (df_word_lr_simulate_uses): Likewise.
582 (df_print_note): Likewise.
583 (df_remove_dead_and_unused_notes): Likewise.
584 (df_set_unused_notes_for_mw): Likewise.
585 (df_set_dead_notes_for_mw): Likewise.
586 (df_create_unused_note): Likewise.
587 (df_simulate_find_defs): Likewise.
588 (df_simulate_find_uses): Likewise.
589 (df_simulate_find_noclobber_defs): Likewise.
590 (df_simulate_defs): Likewise.
591 (df_simulate_uses): Likewise.
592 (df_simulate_one_insn_backwards): Likewise.
593 (df_simulate_one_insn_forwards): Likewise.
594 (df_md_simulate_one_insn): Likewise.
595 * df-scan.c (df_uses_create): Likewise.
596 (df_insn_create_insn_record): Likewise.
597 (df_insn_delete): Likewise.
598 (df_insn_rescan): Likewise.
599 (df_insn_rescan_debug_internal): Likewise.
600 (df_insn_change_bb): Likewise.
601 (df_notes_rescan): Likewise.
602 (df_refs_add_to_chains): Likewise.
603 (df_insn_refs_verify): Likewise.
604 * emit-rtl.c (set_insn_deleted): Add checked cast to rtx_insn *
605 when invoking df_insn_delete.
606 (reorder_insns): Strengthen local "x" from rtx to rtx_insn *.
607 (set_unique_reg_note): Add checked cast.
608 * final.c (cleanup_subreg_operands): Likewise.
609 * gcse.c (update_ld_motion_stores): Likewise, strengthening local
610 "insn" from rtx to rtx_insn *.
611 * haifa-sched.c (reemit_notes): Strengthen param "insn" and local
612 "last" from rtx to rtx_insn *.
613 * ira-emit.c (change_regs_in_insn): New function.
614 (change_loop): Strengthen local "insn" from rtx to rtx_insn *.
615 Invoke change_regs_in_insn rather than change_regs.
616 * ira.c (update_equiv_regs): Strengthen locals "insn",
617 "init_insn", "new_insn" from rtx to rtx_insn *. Invoke
618 for_each_rtx_in_insn rather than for_each_rtx.
619 * recog.c (confirm_change_group): Add checked casts.
620 (peep2_update_life): Strengthen local "x" from rtx to rtx_insn *.
621 Add checked cast.
622 (peep2_fill_buffer): Add checked cast.
623 * rtlanal.c (remove_note): Likewise.
624 * valtrack.c (propagate_for_debug): Strengthen param "insn" and
625 locals "next" "end" from rtx to rtx_insn *.
626
627 2014-08-26 David Malcolm <dmalcolm@redhat.com>
628
629 * sched-int.h (sched_init_insn_luid): Strengthen param 1 from rtx
630 to rtx_insn *.
631 (struct reg_use_data): Likewise for field "insn".
632 (insn_cost): Likewise for param.
633 (real_insn_for_shadow): Likewise for return type and param.
634 (increase_insn_priority): Likewise for param 1.
635 (debug_dependencies): Likewise for both params.
636
637 * haifa-sched.c (insn_delay): Likewise for param "insn".
638 (real_insn_for_shadow): Likewise for return type and param "insn".
639 (update_insn_after_change): Likewise for param "insn".
640 (recompute_todo_spec): Likewise for param "next" and locals "pro",
641 "other".
642 (insn_cost): Likewise for param "insn".
643 (increase_insn_priority): Likewise.
644 (calculate_reg_deaths): Likewise.
645 (setup_insn_reg_pressure_info): Likewise.
646 (model_schedule): Strengthen from vec<rtx> to vec<rtx_insn *>.
647 (model_index): Strengthen param "insn" from rtx to rtx_insn *.
648 (model_recompute): Likewise.
649 (must_restore_pattern_p): Likewise for param "next".
650 (model_excess_cost): Likewise for param "insn".
651 (queue_remove): Likewise.
652 (adjust_priority): Likewise for param "prev".
653 (update_register_pressure): Likewise for param "insn".
654 (setup_insn_max_reg_pressure): Likewise for local "insn".
655 (update_reg_and_insn_max_reg_pressure): Likewise for param "insn".
656 (model_add_to_schedule): Likewise.
657 (model_reset_queue_indices): Likewise for local "insn".
658 (unschedule_insns_until): Strengthen local "recompute_vec" from
659 auto_vec<rtx> to auto_vec<rtx_insn *>. Strengthen locals "last",
660 "con" from rtx to rtx_insn *.
661 (restore_last_backtrack_point): Likewise for both locals "x". Add
662 checked casts.
663 (estimate_insn_tick): Likewise for param "insn".
664 (commit_schedule): Likewise for params "prev_head", "tail" and
665 local "x".
666 (verify_shadows): Likewise for locals "i1", "i2".
667 (dump_insn_stream): Likewise for params "head", "tail" and locals
668 "next_tail", "insn".
669 (schedule_block): Likewise for locals "insn", "x". Add a checked
670 cast.
671 (fix_inter_tick): Likewise for params "head", "tail".
672 (create_check_block_twin): Likewise for local "jump".
673 (haifa_change_pattern): Likewise for param "insn".
674 (haifa_speculate_insn): Likewise.
675 (dump_new_block_header): Likewise for params "head", "tail".
676 (fix_jump_move): Likewise for param "jump".
677 (move_block_after_check): Likewise.
678 (sched_init_insn_luid): Likewise for param "insn".
679 (sched_init_luids): Likewise for local "insn".
680 (insn_luid): Likewise for param "insn".
681 (init_h_i_d): Likewise.
682 (haifa_init_h_i_d): Likewise for local "insn".
683 (haifa_init_insn): Likewise for param "insn".
684 * sched-deps.c (add_dependence): Likewise for local "real_pro",
685 "other".
686 (create_insn_reg_use): Likewise for param "insn".
687 (setup_insn_reg_uses): Likewise. Add a checked cast.
688 * sched-ebb.c (debug_ebb_dependencies): Strengthen params "head",
689 "tail" from rtx to rtx_insn *.
690 * sched-rgn.c (void debug_dependencies): Likewise, also for locals
691 "insn", "next_tail".
692
693 2014-08-26 David Malcolm <dmalcolm@redhat.com>
694
695 * haifa-sched.c (struct model_insn_info): Strengthen field "insn"
696 from rtx to rtx_insn *.
697 (model_add_to_schedule): Likewise for locals "start", "end",
698 "iter".
699
700 2014-08-26 David Malcolm <dmalcolm@redhat.com>
701
702 * rtl.h (duplicate_insn_chain): Strengthen both params from rtx to
703 rtx_insn *.
704 * cfgrtl.c (duplicate_insn_chain): Likewise for params "from",
705 "to" and locals "insn", "next", "copy". Remove now-redundant
706 checked cast.
707
708 2014-08-26 David Malcolm <dmalcolm@redhat.com>
709
710 * rtl.h (canonicalize_condition): Strengthen param 1 from rtx to
711 rtx_insn * and param 4 from rtx * to rtx_insn **.
712 (get_condition): Strengthen param 1 from rtx to rtx_insn * and
713 param 2 from rtx * to rtx_insn **.
714
715 * df.h (can_move_insns_across): Strengthen params 1-4 from rtx to
716 rtx_insn * and final param from rtx * to rtx_insn **.
717
718 * cfgcleanup.c (try_head_merge_bb): Strengthen local "move_before"
719 from rtx to rtx_insn *.
720 (try_head_merge_bb): Likewise for both locals named "move_upto".
721 * df-problems.c (can_move_insns_across): Likewise for params
722 "from", "to", "across_from", "across_to" and locals "insn",
723 "next", "max_to". Strengthen param "pmove_upto" from rtx * to
724 rtx_insn **.
725 * ifcvt.c (struct noce_if_info): Strengthen field "cond_earliest"
726 from rtx to rtx_insn *.
727 (noce_get_alt_condition): Strengthen param "earliest" from rtx *
728 to rtx_insn **. Strengthen local "insn" from rtx to rtx_insn *.
729 (noce_try_minmax): Strengthen locals "earliest", "seq" from rtx to
730 rtx_insn *.
731 (noce_try_abs): Likewise.
732 (noce_get_condition): Likewise for param "jump". Strengthen param
733 "earliest" from rtx * to rtx_insn **.
734 (noce_find_if_block): Strengthen local "cond_earliest" from rtx to
735 rtx_insn *.
736 (find_cond_trap): Likewise.
737 (dead_or_predicable): Likewise for local "earliest".
738 * loop-iv.c (check_simple_exit): Likewise for local "at". Add
739 checked cast.
740 * rtlanal.c (canonicalize_condition): Likewise for param "insn"
741 and local "prev". Strengthen param "earliest" from rtx * to
742 rtx_insn **.
743 (get_condition): Strengthen param "jump" from rtx to rtx_insn *
744 Strengthen param "earliest" from rtx * to rtx_insn **.
745
746 2014-08-26 David Malcolm <dmalcolm@redhat.com>
747
748 * fwprop.c (local_ref_killed_between_p): Strengthen params "from",
749 "to" and local "insn" from rtx to rtx_insn *.
750
751 2014-08-26 David Malcolm <dmalcolm@redhat.com>
752
753 * sel-sched.c (find_place_for_bookkeeping): Strengthen local "insn"
754 from rtx to rtx_insn *.
755 (need_nop_to_preserve_insn_bb): Likewise for param "insn".
756 (code_motion_path_driver): Likewise for local "last_insn".
757 (simplify_changed_insns): Likewise for local "insn".
758
759 2014-08-26 David Malcolm <dmalcolm@redhat.com>
760
761 * rtl.h (push_to_sequence): Strengthen param from rtx to
762 rtx_insn *.
763 (push_to_sequence2): Likewise for both params.
764 (delete_insns_since): Likewise for param.
765 (reorder_insns_nobb): Likewise for all three params.
766 (set_new_first_and_last_insn): Likewise for both params.
767
768 * emit-rtl.h (set_first_insn): Strengthen param "insn" from rtx to
769 rtx_insn *. Remove now-redundant cast.
770 (set_last_insn): Likewise.
771
772 * builtins.c (expand_builtin_return): Strengthen local
773 "call_fusage" from rtx to rtx_insn *.
774 * cfgrtl.c (create_basic_block_structure): Likewise for local
775 "after".
776 * emit-rtl.c (set_new_first_and_last_insn): Likewise for params
777 "first", "last" and local "insn".
778 (delete_insns_since): Likewise for param "from".
779 (reorder_insns_nobb): Likewise for params "from", "to", "after"
780 and local "x".
781 (push_to_sequence): Likewise for param "first" and local "last".
782 (push_to_sequence2): Likewise for params "first" and "last".
783 * lra.c (emit_add3_insn): Likewise for local "last".
784 (lra_emit_add): Likewise.
785 * lra-constraints.c (base_to_reg): Likewise for locals "insn",
786 "last_insn".
787 (process_address_1): Likewise for locals "insn", last".
788 * modulo-sched.c (ps_first_note): Likewise for return type.
789 * optabs.c (expand_binop_directly): Likewise for param "last".
790
791 2014-08-26 David Malcolm <dmalcolm@redhat.com>
792
793 * rtl.h (get_last_insn_anywhere): Strengthen return type from rtx
794 to rtx_insn*.
795 * emit-rtl.c (get_last_insn_anywhere): Likewise.
796
797 2014-08-26 David Malcolm <dmalcolm@redhat.com>
798
799 * function.h (struct sequence_stack): Strengthen fields "first"
800 and "last" from rtx to rtx_insn *.
801 (struct emit_status): Likewise for fields "x_first_insn" and
802 "x_last_insn".
803
804 * emit-rtl.h (get_insns): Remove now-redundant checked cast.
805 (set_first_insn): Add checked cast.
806 (get_last_insn): Remove now-redundant checked cast.
807 (set_last_insn): Add checked cast.
808
809 * config/m32c/m32c.c (m32c_leaf_function_p): Strengthen locals
810 "saved_first" and "saved_last" from rtx to rtx_insn *.
811
812 2014-08-26 David Malcolm <dmalcolm@redhat.com>
813
814 * rtl.h (add_insn): Strengthen param from rtx to rtx_insn *.
815 (unlink_insn_chain): Strengthen both params from rtx to
816 rtx_insn *.
817
818 * cfgrtl.c (cfg_layout_function_header): Likewise for this
819 variable.
820 (unlink_insn_chain): Likewise for params "first" and "last".
821 Remove now-redundant checked cast.
822 (record_effective_endpoints): Replace use of NULL_RTX with NULL.
823 (fixup_reorder_chain): Strengthen local "insn" from rtx to
824 rtx_insn *.
825 * emit-rtl.c (link_insn_into_chain): Likewise for all three
826 params.
827 (add_insn): Likewise for param "insn" and local "prev".
828 (add_insn_after_nobb): Likewise for both params and local "next".
829 (add_insn_before_nobb): Likewise for both params and local "prev".
830 (add_insn_after): Rename param "after" to "uncast_after",
831 introducing local "after" with another checked cast.
832 (add_insn_before): Rename params "insn" and "before", giving them
833 "uncast_" prefixes, adding the old names back using checked casts.
834 (emit_note_after): Likewise for param "after".
835 (emit_note_before): Likewise for param "before".
836 (emit_label): Add a checked cast.
837
838 2014-08-26 David Malcolm <dmalcolm@redhat.com>
839
840 * cselib.h (cselib_record_sets_hook): Strengthen initial param
841 "insn" from rtx to rtx_insn *.
842
843 * cselib.c (cselib_record_sets_hook): Likewise.
844
845 * var-tracking.c (add_with_sets): Likewise, renaming back from
846 "uncast_insn" to "insn" and eliminating the checked cast from rtx
847 to rtx_insn *.
848
849 2014-08-26 David Malcolm <dmalcolm@redhat.com>
850
851 * basic-block.h (struct rtl_bb_info): Strengthen fields "end_"
852 and "header_" from rtx to rtx_insn *.
853 (struct basic_block_d): Likewise for field "head_" within "x"
854 field of union basic_block_il_dependent.
855 (BB_HEAD): Drop function...
856 (SET_BB_HEAD): ...and this function in favor of...
857 (BB_HEAD): ...reinstate macro.
858 (BB_END): Drop function...
859 (SET_BB_END): ...and this function in favor of...
860 (BB_END): ...reinstate macro.
861 (BB_HEADER): Drop function...
862 (SET_BB_HEADER): ...and this function in favor of...
863 (BB_HEADER): ...reinstate macro.
864
865 * bb-reorder.c (add_labels_and_missing_jumps): Drop use of BB_END.
866 (fix_crossing_unconditional_branches): Likewise.
867 * caller-save.c (save_call_clobbered_regs): Likewise.
868 (insert_one_insn): Drop use of SET_BB_HEAD and SET_BB_END.
869 * cfgbuild.c (find_bb_boundaries): Drop use of SET_BB_END.
870 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
871 (merge_blocks_move_successor_nojumps): Likewise.
872 (outgoing_edges_match): Update use of for_each_rtx to
873 for_each_rtx_in_insn.
874 * cfgexpand.c (expand_gimple_cond): Drop use of SET_BB_END.
875 (expand_gimple_cond): Likewise.
876 (expand_gimple_tailcall): Likewise.
877 (expand_gimple_basic_block): Drop use of SET_BB_HEAD and
878 SET_BB_END.
879 (construct_exit_block): Drop use of SET_BB_END.
880 * cfgrtl.c (cfg_layout_function_footer): Strengthen from rtx to
881 rtx_insn *.
882 (delete_insn): Rename param "insn" to "uncast_insn", introducing
883 a new local "insn" with a checked cast to rtx_insn *. Drop use of
884 SET_BB_HEAD and SET_BB_END.
885 (create_basic_block_structure): Drop use of SET_BB_HEAD and
886 SET_BB_END.
887 (rtl_delete_block): Drop use of SET_BB_HEAD.
888 (rtl_split_block): Drop use of SET_BB_END.
889 (emit_nop_for_unique_locus_between): Likewise.
890 (rtl_merge_blocks): Drop use of SET_BB_END and SET_BB_HEAD.
891 (block_label): Drop use of SET_BB_HEAD.
892 (fixup_abnormal_edges): Drop use of SET_BB_END.
893 (record_effective_endpoints): Drop use of SET_BB_HEADER.
894 (relink_block_chain): Likewise.
895 (fixup_reorder_chain): Drop use of SET_BB_END.
896 (cfg_layout_duplicate_bb): Drop use of SET_BB_HEADER.
897 (cfg_layout_delete_block): Strengthen local "to" from rtx * to
898 rtx_insn **. Drop use of SET_BB_HEADER.
899 (cfg_layout_merge_blocks): Drop use of SET_BB_HEADER, SET_BB_END,
900 SET_BB_HEAD.
901 (BB_HEAD): Delete this function.
902 (SET_BB_HEAD): Likewise.
903 (BB_END): Likewise.
904 (SET_BB_END): Likewise.
905 (BB_HEADER): Likewise.
906 (SET_BB_HEADER): Likewise.
907 * emit-rtl.c (add_insn_after): Rename param "insn" to
908 "uncast_insn", adding a new local "insn" and a checked cast to
909 rtx_insn *. Drop use of SET_BB_END.
910 (remove_insn): Strengthen locals "next" and "prev" from rtx to
911 rtx_insn *. Drop use of SET_BB_HEAD and SET_BB_END.
912 (reorder_insns): Drop use of SET_BB_END.
913 (emit_insn_after_1): Strengthen param "first" and locals "last",
914 "after_after" from rtx to rtx_insn *. Drop use of SET_BB_END.
915 (emit_pattern_after_noloc): Add checked cast.
916 * haifa-sched.c (get_ebb_head_tail): Drop use of SET_BB_END.
917 (restore_other_notes): Likewise.
918 (move_insn): Likewise.
919 (sched_extend_bb): Likewise.
920 (fix_jump_move): Likewise.
921 * ifcvt.c (noce_process_if_block): Likewise.
922 (dead_or_predicable): Likewise.
923 * ira.c (update_equiv_regs): Drop use of SET_BB_HEAD.
924 * reg-stack.c (change_stack): Drop use of SET_BB_END.
925 * sel-sched-ir.c (sel_move_insn): Likewise.
926 * sel-sched.c (move_nop_to_previous_block): Likewise.
927
928 * config/c6x/c6x.c (hwloop_optimize): Drop use of SET_BB_HEAD and
929 SET_BB_END.
930 * config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
931
932 2014-08-26 David Malcolm <dmalcolm@redhat.com>
933
934 * basic-block.h (create_basic_block_structure): Strengthen params
935 1 "head" and 2 "end" from rtx to rtx_insn *.
936 * cfgrtl.c (create_basic_block_structure): Likewise.
937 (rtl_create_basic_block): Update casts from void * to rtx to
938 rtx_insn *, so that we can pass them as rtx_insn * to
939 create_basic_block_structure.
940 * sel-sched-ir.c (sel_create_basic_block): Likewise.
941
942 2014-08-26 David Malcolm <dmalcolm@redhat.com>
943
944 * rtl.h (for_each_inc_dec): Strengthen param 1 from rtx * to
945 rtx_insn **.
946 (check_for_inc_dec): Strengthen param "insn" from rtx to
947 rtx_insn *.
948
949 * cselib.h (cselib_process_insn): Likewise.
950
951 * cselib.c (cselib_record_sets): Likewise.
952 (cselib_process_insn): Likewise.
953
954 * dse.c (struct insn_info): Likewise for field "insn".
955 (check_for_inc_dec_1): Likewise for local "insn".
956 (check_for_inc_dec): Likewise for param "insn".
957 (scan_insn): Likewise.
958 (dse_step1): Likewise for local "insn".
959
960 * rtlanal.c (for_each_inc_dec): Strengthen param 1 from rtx * to
961 rtx_insn **. Use for_each_rtx_in_insn rather than for_each_rtx.
962
963 2014-08-26 David Malcolm <dmalcolm@redhat.com>
964
965 * sched-int.h (struct _dep): Strengthen fields "pro" and "con"
966 from rtx to rtx_insn *.
967 (DEP_PRO): Delete this function and...
968 (SET_DEP_PRO): ...this function in favor of...
969 (DEP_PRO): ...reinstate this macro.
970 (DEP_CON): Delete this function and...
971 (SET_DEP_CON): ...this function in favor of...
972 (DEP_CON): ...reinstate this old macro.
973 (init_dep_1): Strengthen params 2 and 3 from rtx to rtx_insn *.
974 (init_dep): Likewise.
975 (set_priorities): Likewise for both params.
976 (sd_copy_back_deps): Likewise for params 1 and 2.
977
978 * haifa-sched.c (priority): Likewise for param "insn" and local
979 "next".
980 (set_priorities): Likewise for params "head" and "tail" and local
981 "insn".
982 (process_insn_forw_deps_be_in_spec): Likewise for param "twin" and
983 local "consumer".
984 (add_to_speculative_block): Add a checked cast.
985 (create_check_block_twin): Drop use of SET_DEP_CON.
986 (add_jump_dependencies): Strengthen params "insn" and "jump" from
987 rtx to rtx_insn *.
988
989 * sched-deps.c (init_dep_1): Likewise for params "pro" and "con".
990 Drop use of SET_DEP_PRO
991 (init_dep): Strengthen params "pro" and "con" from rtx to
992 rtx_insn *.
993 (sd_copy_back_deps): Likewise for params "to" and "from". Drop
994 use of SET_DEP_CON.
995 (DEP_PRO): Delete.
996 (DEP_CON): Delete.
997 (SET_DEP_PRO): Delete.
998 (SET_DEP_CON): Delete.
999
1000 2014-08-26 David Malcolm <dmalcolm@redhat.com>
1001
1002 * sel-sched-ir.h (struct vinsn_def): Strengthen field "insn_rtx"
1003 from rtx to rtx_insn *.
1004 (VINSN_INSN_RTX): Eliminate rvalue function and...
1005 (SET_VINSN_INSN): ...lvalue function in favor of...
1006 (VINSN_INSN_RTX): reinstate this old macro.
1007
1008 * sel-sched-ir.c (vinsn_init): Eliminate use of SET_VINSN_INSN_RTX
1009 in favor of VINSN_INSN_RTX.
1010 (VINSN_INSN_RTX): Delete this function.
1011 (SET_VINSN_INSN_RTX): Likewise.
1012
1013 2014-08-26 David Malcolm <dmalcolm@redhat.com>
1014
1015 * sel-sched-ir.h (insn_t): Strengthen from rtx to rtx_insn *.
1016 (BND_TO): Delete this function and...
1017 (SET_BND_TO): ...this functions in favor of...
1018 (BND_TO): ...reinstating this macro.
1019 (struct _fence): Strengthen field "executing_insns" from
1020 vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *. Strengthen fields
1021 "last_scheduled_insn" and "sched_next" from rtx to rtx_insn *.
1022 (_succ_iter_cond): Update param "succp" from rtx * to insn_t *
1023 and param "insn" from rtx to insn_t.
1024 (create_vinsn_from_insn_rtx): Strengthen first param from rtx to
1025 rtx_insn *.
1026
1027 * sched-int.h (insn_vec_t): Strengthen from vec<rtx> to
1028 vec<rtx_insn *> .
1029 (rtx_vec_t): Likewise.
1030 (struct sched_deps_info_def): Strengthen param of "start_insn"
1031 callback from rtx to rtx_insn *. Likewise for param "insn2" of
1032 "note_mem_dep" callback and first param of "note_dep" callback.
1033
1034 * haifa-sched.c (add_to_speculative_block): Strengthen param
1035 "insn" from rtx to rtx_insn *.
1036 (clear_priorities): Likewise.
1037 (calc_priorities): Likewise for local "insn".
1038
1039 * sched-deps.c (haifa_start_insn): Likewise for param "insn".
1040 Remove redundant checked cast.
1041 (haifa_note_mem_dep): Likewise for param "pending_insn".
1042 (haifa_note_dep): Likewise for param "elem".
1043 (note_mem_dep): Likewise for param "e".
1044 (sched_analyze_1): Add checked casts.
1045 (sched_analyze_2): Likewise.
1046
1047 * sel-sched-dump.c (dump_insn_vector): Strengthen local "succ"
1048 from rtx to rtx_insn *.
1049 (debug): Update param from vec<rtx> & to vec<rtx_insn *>, and
1050 from vec<rtx> * to vec<rtx_insn *> *.
1051
1052 * sel-sched-ir.c (blist_add): Remove use of SET_BND_TO
1053 scaffolding.
1054 (flist_add): Strengthen param "executing_insns" from
1055 vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
1056 (advance_deps_context): Remove now-redundant checked cast.
1057 (init_fences): Replace uses of NULL_RTX with NULL.
1058 (merge_fences): Strengthen params "last_scheduled_insn" and
1059 "sched_next" from rtx to rtx_insn * and "executing_insns" from
1060 vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
1061 (add_clean_fence_to_fences): Replace uses of NULL_RTX with NULL.
1062 (get_nop_from_pool): Add local "nop_pat" so that "nop" can be
1063 an instruction, rather than doing double-duty as a pattern.
1064 (return_nop_to_pool): Update for change of insn_t.
1065 (deps_init_id): Remove now-redundant checked cast.
1066 (struct sched_scan_info_def): Strengthen param of "init_insn"
1067 callback from rtx to insn_t.
1068 (sched_scan): Strengthen local "insn" from rtx to rtx_insn *.
1069 (init_global_and_expr_for_insn): Replace uses of NULL_RTX with
1070 NULL.
1071 (get_seqno_by_succs): Strengthen param "insn" and locals "tmp",
1072 "end" from rtx to rtx_insn *.
1073 (create_vinsn_from_insn_rtx): Likewise for param "insn_rtx".
1074 (rtx insn_rtx, bool force_unique_p)
1075 (BND_TO): Delete function.
1076 (SET_BND_TO): Delete function.
1077
1078 * sel-sched.c (advance_one_cycle): Strengthen local "insn" from
1079 rtx to rtx_insn *.
1080 (extract_new_fences_from): Replace uses of NULL_RTX with NULL.
1081 (replace_dest_with_reg_in_expr): Strengthen local "insn_rtx" from
1082 rtx to rtx_insn *.
1083 (undo_transformations): Likewise for param "insn".
1084 (update_liveness_on_insn): Likewise.
1085 (compute_live_below_insn): Likewise for param "insn" and local
1086 "succ".
1087 (update_data_sets): Likewise for param "insn".
1088 (fill_vec_av_set): Replace uses of NULL_RTX with NULL.
1089 (convert_vec_av_set_to_ready): Drop now-redundant checked cast.
1090 (invoke_aftermath_hooks): Strengthen param "best_insn" from rtx to
1091 rtx_insn *.
1092 (move_cond_jump): Likewise for param "insn".
1093 (move_cond_jump): Drop use of SET_BND_TO.
1094 (compute_av_set_on_boundaries): Likewise.
1095 (update_fence_and_insn): Replace uses of NULL_RTX with NULL.
1096 (update_and_record_unavailable_insns): Strengthen local "bb_end"
1097 from rtx to rtx_insn *.
1098 (maybe_emit_renaming_copy): Likewise for param "insn".
1099 (maybe_emit_speculative_check): Likewise.
1100 (handle_emitting_transformations): Likewise.
1101 (remove_insn_from_stream): Likewise.
1102 (code_motion_process_successors): Strengthen local "succ" from rtx
1103 to insn_t.
1104
1105 2014-08-26 David Malcolm <dmalcolm@redhat.com>
1106
1107 * sel-sched-ir.h (ilist_t): Redefine this typedef in terms of
1108 ilist_t, not _xlist_t;
1109 (ILIST_INSN): Define in terms of new union field "insn".
1110 (ILIST_NEXT): Define in terms of _LIST_NEXT rather than
1111 _XLIST_NEXT.
1112 (struct _list_node): Add new field "insn" to the union, of type
1113 insn_t.
1114 (ilist_add): Replace macro with an inline function, requiring an
1115 insn_t.
1116 (ilist_remove): Define this macro directly in terms of
1117 _list_remove, rather than indirectly via _xlist_remove.
1118 (ilist_clear): Likewise, in terms of _list_clear rather than
1119 _xlist_clear.
1120 (ilist_is_in_p): Replace macro with an inline function, requiring
1121 an insn_t.
1122 (_list_iter_cond_insn): New function.
1123 (ilist_iter_remove): Define this macro directly in terms of
1124 _list_iter_remove, rather than indirectly via _xlist_iter_remove.
1125 (ilist_iterator): Define directly in terms of _list_iterator
1126 rather than indirectly through _xlist_iterator.
1127 (FOR_EACH_INSN): Define in terms of _list_iter_cond_insn rather
1128 than in terms of _FOR_EACH_X.
1129 (FOR_EACH_INSN_1): Likewise.
1130
1131 2014-08-26 Joseph Myers <joseph@codesourcery.com>
1132
1133 PR target/60606
1134 PR target/61330
1135 * varasm.c (make_decl_rtl): Clear DECL_ASSEMBLER_NAME and
1136 DECL_HARD_REGISTER and return for invalid register specifications.
1137 * cfgexpand.c (expand_one_var): If expand_one_hard_reg_var clears
1138 DECL_HARD_REGISTER, call expand_one_error_var.
1139 * config/arm/arm.c (arm_hard_regno_mode_ok): Do not allow
1140 CC_REGNUM with non-MODE_CC modes.
1141 (arm_regno_class): Return NO_REGS for PC_REGNUM.
1142
1143 2014-08-26 Marek Polacek <polacek@redhat.com>
1144
1145 PR c/61271
1146 * sel-sched-ir.c (make_regions_from_the_rest): Fix condition.
1147
1148 2014-08-26 Evandro Menezes <e.menezes@samsung.com>
1149
1150 * config/arm/aarch64/aarch64.c (generic_addrcost_table): Delete
1151 qi cost; add di cost.
1152 (cortexa57_addrcost_table): Likewise.
1153
1154 2014-08-26 Marek Polacek <polacek@redhat.com>
1155
1156 PR c/61271
1157 * expr.c (is_aligning_offset): Remove logical not.
1158
1159 2014-08-26 Marek Polacek <polacek@redhat.com>
1160
1161 PR c/61271
1162 * tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
1163 LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.
1164
1165 2014-08-26 Richard Biener <rguenther@suse.de>
1166
1167 PR tree-optimization/62175
1168 * tree-ssa-loop-niter.c (expand_simple_operations): Do not
1169 expand possibly trapping operations.
1170
1171 2014-08-26 David Malcolm <dmalcolm@redhat.com>
1172
1173 * config/rs6000/rs6000.c (class swap_web_entry): Strengthen field
1174 "insn" from rtx to rtx_insn *.
1175 (permute_load): Likewise for param "insn".
1176 (permute_store): Likewise.
1177 (handle_special_swappables): Likewise for local "insn".
1178 (replace_swap_with_copy): Likewise for locals "insn" and
1179 "new_insn".
1180 (rs6000_analyze_swaps): Likewise for local "insn".
1181
1182 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1183
1184 * regrename.h (struct du_chain): Strengthen field "insn" from rtx
1185 to rtx_insn *.
1186
1187 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1188
1189 * sel-sched-ir.h (struct sel_region_bb_info_def): Strengthen field
1190 "note_list" from rtx to rtx_insn *.
1191 (BB_NOTE_LIST): Replace this function and...
1192 (SET_BB_NOTE_LIST): ...this function with...
1193 (BB_NOTE_LIST): ...the former macro implementation.
1194
1195 * sched-int.h (concat_note_lists): Strengthen param "from_end" and
1196 local "from_start" from rtx to rtx_insn *. Strengthen param
1197 "to_endp" from rtx * to rtx_insn **.
1198
1199 * haifa-sched.c (concat_note_lists): Likewise.
1200 * sel-sched-ir.c (init_bb): Eliminate SET_BB_NOTE_LIST in favor of
1201 BB_NOTE_LIST.
1202 (sel_restore_notes): Likewise.
1203 (move_bb_info): Likewise.
1204 (BB_NOTE_LIST): Delete this function.
1205 (SET_BB_NOTE_LIST): Delete this function.
1206 * sel-sched.c (create_block_for_bookkeeping): Eliminate
1207 SET_BB_NOTE_LIST in favor of BB_NOTE_LIST.
1208
1209 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1210
1211 * target.def (reorder): Strengthen param "ready" of this DEFHOOK
1212 from rtx * to rtx_insn **.
1213 (reorder2): Likewise.
1214 (dependencies_evaluation_hook): Strengthen params "head", "tail"
1215 from rtx to rtx_insn *.
1216
1217 * doc/tm.texi: Update mechanically for above change to target.def.
1218
1219 * sched-int.h (note_list): Strengthen this variable from rtx to
1220 rtx_insn *.
1221 (remove_notes): Likewise for both params.
1222 (restore_other_notes): Likewise for return type and first param.
1223 (struct ready_list): Strengthen field "vec" from rtx * to
1224 rtx_insn **.
1225 (struct dep_replacement): Strenghten field "insn" from rtx to
1226 rtx_insn *.
1227 (struct deps_desc): Likewise for fields "last_debug_insn",
1228 "last_args_size".
1229 (struct haifa_sched_info): Likewise for callback field
1230 "can_schedule_ready_p"'s param, for first param of "new_ready"
1231 callback field, for both params of "rank" callback field, for
1232 first field of "print_insn" callback field (with a const), for
1233 both params of "contributes_to_priority" callback, for param
1234 of "insn_finishes_block_p" callback, for fields "prev_head",
1235 "next_tail", "head", "tail", for first param of "add_remove_insn"
1236 callback, for first param of "begin_schedule_ready" callback, for
1237 both params of "begin_move_insn" callback, and for second param
1238 of "advance_target_bb" callback.
1239 (add_dependence): Likewise for params 1 and 2.
1240 (sched_analyze): Likewise for params 2 and 3.
1241 (deps_analyze_insn): Likewise for param 2.
1242 (ready_element): Likewise for return type.
1243 (ready_lastpos): Strengthen return type from rtx * to rtx_insn **.
1244 (try_ready): Strenghten param from rtx to rtx_insn *.
1245 (sched_emit_insn): Likewise for return type.
1246 (record_delay_slot_pair): Likewise for params 1 and 2.
1247 (add_delay_dependencies): Likewise for param.
1248 (contributes_to_priority): Likewise for both params.
1249 (find_modifiable_mems): Likewise.
1250
1251 * config/arm/arm.c (cortexa7_sched_reorder): Strengthen param
1252 "ready" from rtx * to rtx_insn **. Strengthen locals "insn",
1253 "first_older_only_insn" from rtx to rtx_insn *.
1254 (arm_sched_reorder): Strengthen param "ready" from rtx * to
1255 rtx_insn **.
1256
1257 * config/c6x/c6x.c (struct c6x_sched_context): Strengthen field
1258 "last_scheduled_iter0" from rtx to rtx_insn *.
1259 (init_sched_state): Replace use of NULL_RTX with NULL for insn.
1260 (c6x_sched_reorder_1): Strengthen param "ready" and locals
1261 "e_ready", "insnp" from rtx * to rtx_insn **. Strengthen local
1262 "insn" from rtx to rtx_insn *.
1263 (c6x_sched_reorder): Strengthen param "ready" from rtx * to
1264 rtx_insn **.
1265 (c6x_sched_reorder2): Strengthen param "ready" and locals
1266 "e_ready", "insnp" from rtx * to rtx_insn **. Strengthen local
1267 "insn" from rtx to rtx_insn *.
1268 (c6x_variable_issue): Add a checked cast when assigning from insn
1269 to ss.last_scheduled_iter0.
1270 (split_delayed_branch): Strengthen param "insn" and local "i1"
1271 from rtx to rtx_insn *.
1272 (split_delayed_nonbranch): Likewise.
1273 (undo_split_delayed_nonbranch): Likewise for local "insn".
1274 (hwloop_optimize): Likewise for locals "seq", "insn", "prev",
1275 "entry_after", "end_packet", "head_insn", "tail_insn",
1276 "new_insns", "last_insn", "this_iter", "prev_stage_insn".
1277 Strengthen locals "orig_vec", "copies", "insn_copies" from rtx *
1278 to rtx_insn **. Remove now-redundant checked cast on last_insn,
1279 but add a checked cast on loop->start_label. Consolidate calls to
1280 avoid assigning result of gen_spkernel to "insn", now an
1281 rtx_insn *.
1282
1283 * config/i386/i386.c (do_reorder_for_imul): Strengthen param
1284 "ready" from rtx * to rtx_insn **. Strengthen local "insn" from
1285 rtx to rtx_insn *.
1286 (swap_top_of_ready_list): Strengthen param "ready" from rtx * to
1287 rtx_insn **. Strengthen locals "top", "next" from rtx to
1288 rtx_insn *.
1289 (ix86_sched_reorder): Strengthen param "ready" from rtx * to
1290 rtx_insn **. Strengthen local "insn" from rtx to rtx_insn *.
1291 (add_parameter_dependencies): Strengthen params "call", "head" and
1292 locals "insn", "last", "first_arg" from rtx to rtx_insn *.
1293 (avoid_func_arg_motion): Likewise for params "first_arg", "insn".
1294 (add_dependee_for_func_arg): Likewise for param "arg" and local
1295 "insn".
1296 (ix86_dependencies_evaluation_hook): Likewise for params "head",
1297 "tail" and locals "insn", "first_arg".
1298
1299 * config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Likewise
1300 for params "head", "tail" and locals "insn", "next", "next_tail".
1301 (ia64_dfa_sched_reorder): Strengthen param "ready" and locals
1302 "e_ready", "insnp" from rtx * to rtx_insn **. Strengthen locals
1303 "insn", "lowest", "highest" from rtx to rtx_insn *.
1304 (ia64_sched_reorder): Strengthen param "ready" from rtx * to
1305 rtx_insn **.
1306 (ia64_sched_reorder2): Likewise.
1307
1308 * config/mep/mep.c (mep_find_ready_insn): Strengthen return type
1309 and local "insn" from rtx to rtx_insn *. Strengthen param "ready"
1310 from rtx * to rtx_insn **.
1311 (mep_move_ready_insn): Strengthen param "ready" from rtx * to
1312 rtx_insn **.
1313 (mep_print_sched_insn): Strengthen param "insn" from rtx to
1314 rtx_insn *.
1315 (mep_sched_reorder): Strengthen param "ready" from rtx * to
1316 rtx_insn **. Strengthen locals "core_insn", "cop_insn" from rtx
1317 to rtx_insn *.
1318
1319 * config/mips/mips.c (mips_promote_ready): Strengthen param "ready"
1320 from rtx * to rtx_insn **. Strengthen local "new_head" from rtx
1321 to rtx_insn *.
1322 (mips_maybe_swap_ready): Strengthen param "ready" from rtx * to
1323 rtx_insn **. Strengthen local "temp" from rtx to rtx_insn *.
1324 (mips_macc_chains_reorder): Strengthen param "ready" from rtx * to
1325 rtx_insn **.
1326 (vr4130_reorder): Likewise.
1327 (mips_74k_agen_reorder): Likewise. Strengthen local "insn" from
1328 rtx to rtx_insn *.
1329 (mips_sched_reorder_1): Strengthen param "ready" from rtx * to
1330 rtx_insn **.
1331 (mips_sched_reorder): Likewise.
1332 (mips_sched_reorder2): Likewise.
1333
1334 * config/picochip/picochip.c (picochip_sched_reorder): Likewise.
1335
1336 * config/rs6000/rs6000.c (rs6000_sched_reorder): Likewise.
1337 Strengthen local "tmp" from rtx to rtx_insn *.
1338 (rs6000_sched_reorder2): Likewise.
1339
1340 * config/s390/s390.c (s390_z10_prevent_earlyload_conflicts):
1341 Likewise. Update sizeof(rtx) to sizeof(rtx_insn *) in memmove.
1342 (s390_sched_reorder): Strengthen param "ready" from rtx * to
1343 rtx_insn **. Strengthen local "tmp" from rtx to rtx_insn *.
1344
1345 * config/sh/sh.c (rank_for_reorder): Strengthen locals "tmp",
1346 "tmp2" from rtx to rtx_insn *.
1347 (swap_reorder): Strengthen param "a" from rtx * to rtx_insn **.
1348 Strengthen local "insn" from rtx to rtx_insn *.
1349 (ready_reorder): Strengthen param "ready" from rtx * to
1350 rtx_insn **. Update sizeof(rtx) to sizeof(rtx_insn *) in qsort.
1351 (sh_reorder): Strengthen param "ready" from rtx * to rtx_insn **.
1352 (sh_reorder2): Likewise.
1353
1354 * config/spu/spu.c (spu_sched_reorder): Likewise. Strengthen
1355 local "insn" from rtx to rtx_insn *.
1356
1357 * haifa-sched.c (note_list): Strengthen this variable from rtx to
1358 rtx_insn *.
1359 (scheduled_insns): Strengthen this variable from vec<rtx> to
1360 vec<rtx_insn *>.
1361 (set_modulo_params): Likewise for locals "i1", "i2".
1362 (record_delay_slot_pair): Likewise for params "i1", "i2".
1363 (add_delay_dependencies): Likewise for param "insn".
1364 (cond_clobbered_p): Likewise.
1365 (recompute_todo_spec): Likewise for local "prev".
1366 (last_scheduled_insn): Likewise for this variable.
1367 (nonscheduled_insns_begin): Likewise.
1368 (model_set_excess_costs): Strengthen param "insns" from rtx * to
1369 rtx_insn **.
1370 (rank_for_schedule): Strengthen locals "tmp", "tmp2" from rtx to
1371 rtx_insn *.
1372 (swap_sort): Strengthen param "a" from rtx * to rtx_insn **.
1373 Strengthen local "insn" from rtx to rtx_insn *.
1374 (queue_insn): Strengthen param "insn" from rtx to rtx_insn *.
1375 (ready_lastpos): Strengthen return type from rtx * to rtx_insn **.
1376 (ready_add): Strengthen param "insn" from rtx to rtx_insn *.
1377 (ready_remove_first): Likewise for return type and local "t".
1378 (ready_element): Likewise for return type.
1379 (ready_remove): Likewise for return type and local "t".
1380 (ready_sort): Strengthen local "first" from rtx * to rtx_insn **.
1381 (check_clobbered_conditions): Strengthen local "x" from rtx to
1382 rtx_insn *, adding a checked cast.
1383 (schedule_insn): Likewise for param "insn".
1384 (remove_notes): Likewise for params "head", "tail" and locals
1385 "next_tail", "insn", "next".
1386 (struct haifa_saved_data): Likewise for fields
1387 "last_scheduled_insn", "nonscheduled_insns_begin".
1388 (save_backtrack_point): Update for change to field "vec" of
1389 struct ready_list.
1390 (toggle_cancelled_flags): Strengthen local "first" from rtx * to
1391 rtx_insn **.
1392 (restore_last_backtrack_point): Likewise. Strengthen local "insn"
1393 from rtx to rtx_insn *
1394 (resolve_dependencies): Strengthen param "insn" from rtx to
1395 rtx_insn *
1396 (restore_other_notes): Likewise for return type, for param "head"
1397 and local "note_head".
1398 (undo_all_replacements): Likewise for local "insn".
1399 (first_nonscheduled_insn): Likewise for return type and local "insn".
1400 (queue_to_ready): Likewise for local "insn", adding checked casts.
1401 (early_queue_to_ready): Likewise for local "insn".
1402 (debug_ready_list_1): Strengthen local "p" from rtx * to
1403 rtx_insn **.
1404 (move_insn): Strengthen param "insn" and local "note" from rtx to
1405 rtx_insn *
1406 (insn_finishes_cycle_p): Likewise for param "insn".
1407 (max_issue): Likewise for local "insn".
1408 (choose_ready): Likewise. Strengthen param "insn_ptr" from rtx *
1409 to rtx_insn **.
1410 (commit_schedule): Strengthen param "prev_head" and local "insn"
1411 from rtx to rtx_insn *
1412 (prune_ready_list): Likewise for local "insn".
1413 (schedule_block): Likewise for locals "prev_head", "head", "tail",
1414 "skip_insn", "insn", "failed_insn", "x", adding a checked cast.
1415 (set_priorities): Likewise for local "prev_head".
1416 (try_ready): Likewise for param "next".
1417 (fix_tick_ready): Likewise.
1418 (change_queue_index): Likewise.
1419 (sched_extend_ready_list): Update for change to field "vec" of
1420 struct ready_list.
1421 (generate_recovery_code): Strengthen param "insn" from rtx to
1422 rtx_insn *.
1423 (begin_speculative_block): Likewise.
1424 (create_check_block_twin): Likewise for param "insn" and locals
1425 "label", "check", "twin". Introduce local "check_pat" to avoid
1426 "check" being used as a plain rtx before being used as an insn.
1427 (fix_recovery_deps): Add a checked cast to rtx_insn * when
1428 extracting elements from ready_list.
1429 (sched_remove_insn): Strengthen param "insn" from rtx to
1430 rtx_insn *.
1431 (sched_emit_insn): Likewise for return type.
1432 (ready_remove_first_dispatch): Likewise for return type and local
1433 "insn".
1434
1435 * hw-doloop.c (discover_loop): Add a checked cast to rtx_insn *.
1436
1437 * modulo-sched.c (sms_print_insn): Strengthen from const_rtx to
1438 const rtx_insn *.
1439
1440 * sched-deps.c (add_dependence): Strengthen params "con", "pro"
1441 from rtx to rtx_insn *.
1442 (add_dependence_list): Likewise for param "insn". Add a checked
1443 cast.
1444 (add_dependence_list_and_free): Strengthen param "insn" from rtx
1445 to rtx_insn *. Strengthen param "list_p" from rtx * to
1446 rtx_insn **.
1447 (chain_to_prev_insn): Strengthen param "insn" and locals
1448 "prec_nonnote", "i" from rtx to rtx_insn *.
1449 (flush_pending_lists): Likewise for param "insn".
1450 (cur_insn): Likewise for this variable.
1451 (haifa_start_insn): Add a checked cast.
1452 (note_dep): Strengthen param "e" from rtx to rtx_insn *.
1453 (sched_analyze_reg): Likewise for param "insn".
1454 (sched_analyze_1): Likewise.
1455 (sched_analyze_2): Likewise. Add checked casts.
1456 (sched_analyze_insn): Likewise. Also for local "prev".
1457 (deps_analyze_insn): Likewise for param "insn".
1458 (sched_analyze): Likewise for params "head", "tail" and local "insn".
1459 (add_dependence_1): Likewise for params "insn", "elem".
1460 (struct mem_inc_info): Likewise for fields "inc_insn", "mem_insn".
1461 (parse_add_or_inc): Likewise for param "insn".
1462 (find_inc): Likewise for local "inc_cand".
1463 (find_modifiable_mems): Likewise for params "head", "tail" and
1464 locals "insn", "next_tail".
1465
1466 * sched-ebb.c (init_ready_list): Likewise for local "insn".
1467 (begin_schedule_ready): Likewise for param "insn".
1468 (begin_move_insn): Likewise for params "insn" and "last".
1469 (ebb_print_insn): Strengthen param "insn" from const_rtx to
1470 const rtx_insn *.
1471 (rank): Strengthen params "insn1", "insn2" from rtx to rtx_insn *.
1472 (ebb_contributes_to_priority): Likewise for params "next", "insn".
1473 (ebb_add_remove_insn): Likewise for param "insn".
1474 (advance_target_bb): Likewise.
1475
1476 * sched-rgn.c (rgn_estimate_number_of_insns): Likewise for local
1477 "insn".
1478 (check_live): Likewise for param "insn".
1479 (init_ready_list): Likewise for local "insn".
1480 (can_schedule_ready_p): Likewise for param "insn".
1481 (begin_schedule_ready): Likewise.
1482 (new_ready): Likewise for param "next".
1483 (rgn_print_insn): Likewise for param "insn".
1484 (rgn_rank): Likewise for params "insn1", "insn2".
1485 (contributes_to_priority): Likewise for params "next", "insn".
1486 (rgn_insn_finishes_block_p): Likewise for param "insn".
1487 (add_branch_dependences): Likewise for params "head", "tail" and
1488 locals "insn", "last".
1489 (rgn_add_remove_insn): Likewise for param "insn".
1490 (advance_target_bb): Likewise.
1491
1492 * sel-sched-dump.c (sel_print_insn): Strengthen param "insn" from
1493 const_rtx to const rtx_insn *.
1494
1495 * sel-sched-dump.h (sel_print_insn): Likewise.
1496
1497 * sel-sched-ir.c (advance_deps_context): Add a checked cast.
1498 (deps_init_id): Likewise.
1499
1500 * sel-sched.c (convert_vec_av_set_to_ready): Likewise.
1501 (invoke_reorder_hooks): Strengthen local "arr" from rtx * to
1502 rtx_insn **.
1503
1504 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1505
1506 * output.h (final_start_function): Strengthen param 1 from rtx to
1507 rtx_insn *.
1508
1509 * final.c (final_start_function): Likewise, renaming back from
1510 "uncast_first" to "first", and dropping the checked cast from rtx
1511 to rtx_insn *.
1512
1513 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1514
1515 * output.h (final): Strengthen param 1 from rtx to rtx_insn *.
1516 * final.c (final): Likewise. Rename param back from
1517 "uncast_first" to "first" and eliminate the checked cast from rtx
1518 to rtx_insn *.
1519
1520 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1521
1522 * output.h (shorten_branches): Strengthen param from rtx to
1523 rtx_insn *.
1524
1525 * final.c (shorten_branches): Likewise, renaming param back from
1526 "uncast_first" to "first", and dropping the checked cast from rtx
1527 to rtx_insn *.
1528
1529 * genattr.c (gen_attr): Likewise when writing out the prototype of
1530 shorten_branches.
1531
1532 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1533
1534 * sched-int.h (struct haifa_sched_info): Strengthen fields
1535 "prev_head" and "next_tail" from rtx to rtx_insn *.
1536
1537 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1538
1539 * rtl.h (rtx_jump_table_data::get_labels): New method.
1540 * cfgbuild.c (make_edges): Replace hand-coded lookup of labels
1541 with use of the new rtx_jump_table_data::get_labels method.
1542 (purge_dead_tablejump_edges): Strengthen param "table" from rtx
1543 to rtx_jump_table_data *. Simplify by using get_labels method.
1544 * cfgrtl.c (delete_insn): Replace use of JUMP_TABLE_DATA_P with
1545 a dyn_cast, introducing local "table", using it to replace
1546 label-lookup logic with a get_labels method call.
1547 (patch_jump_insn): Simplify using get_labels method.
1548 * dwarf2cfi.c (create_trace_edges): Likewise.
1549 * rtlanal.c (label_is_jump_target_p): Likewise.
1550
1551 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1552
1553 * rtl.h (unshare_all_rtl_again): Strengthen param "insn" from rtx
1554 to rtx_insn *.
1555
1556 * emit-rtl.c (unshare_all_rtl_1): Likewise.
1557 (unshare_all_rtl_again): Likewise, also for local "p".
1558
1559 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1560
1561 * rtl.h (delete_insn_and_edges): Strengthen param "insn" from rtx
1562 to rtx_insn *.
1563 * cfgrtl.c (delete_insn_and_edges): Likewise.
1564
1565 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1566
1567 * rtl.h (reorder_insns): Strengthen params "from", "to", "after"
1568 from rtx to rtx_insn *.
1569
1570 * emit-rtl.c (reorder_insns): Likewise, also for local "insn".
1571
1572 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1573
1574 * function.c (thread_prologue_and_epilogue_insns): Likewise for
1575 locals "returnjump", "epilogue_end", "insn", "next".
1576
1577 * shrink-wrap.h (get_unconverted_simple_return): Strengthen param
1578 "returnjump" from rtx * to rtx_insn **.
1579 * shrink-wrap.c (get_unconverted_simple_return): Likewise.
1580
1581 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1582
1583 * basic-block.h (struct edge_def). Strengthen "r" within
1584 union edge_def_insns from rtx to rtx_insn *.
1585
1586 * cfgexpand.c (pass_expand::execute): Remove now-redundant cast
1587 from rtx to rtx_insn *. Strengthen local "insns" from rtx to
1588 rtx_insn *.
1589 * cfgrtl.c (commit_one_edge_insertion): Remove now-redundant cast
1590 from rtx to rtx_insn *.
1591 * cprop.c (find_bypass_set): Strengthen local "insn" from rtx to
1592 rtx_insn *.
1593 * postreload-gcse.c (reg_killed_on_edge): Likewise.
1594 (reg_used_on_edge): Likewise.
1595 * tree-cfg.c (gt_ggc_mx): New overload for rtx_insn *&.
1596 (gt_pch_nx): New overload for rtx_insn *&.
1597 * tree-outof-ssa.c (expand_phi_nodes): Strengthen local "insns"
1598 from rtx to rtx_insn *.
1599
1600 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1601
1602 * basic-block.h (struct rtl_bb_info): Strengthen field "footer_"
1603 from rtx to rtx_insn *.
1604 (BB_FOOTER): Replace function with access macro.
1605 (SET_BB_FOOTER): Delete.
1606
1607 * cfgcleanup.c (try_optimize_cfg): Replace uses of SET_BB_FOOTER
1608 with BB_FOOTER.
1609 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
1610 (emit_barrier_after_bb): Likewise.
1611 (record_effective_endpoints): Likewise.
1612 (relink_block_chain): Likewise.
1613 (fixup_fallthru_exit_predecessor): Likewise.
1614 (cfg_layout_duplicate_bb): Likewise.
1615 (cfg_layout_split_block): Likewise.
1616 (cfg_layout_delete_block): Likewise.
1617 (cfg_layout_merge_blocks): Likewise.
1618 (BB_FOOTER): Delete function.
1619 (SET_BB_FOOTER): Delete function.
1620 * combine.c (update_cfg_for_uncondjump): Replace uses of
1621 SET_BB_FOOTER with BB_FOOTER.
1622
1623 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1624
1625 * except.h (struct eh_landing_pad_d): Strengthen field
1626 "landing_pad" from rtx to rtx_code_label *.
1627
1628 * except.c (sjlj_emit_dispatch_table): Likewise for param
1629 "dispatch_label"
1630 (sjlj_build_landing_pads): Likewise for local "dispatch_label".
1631
1632 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1633
1634 * config/xtensa/xtensa-protos.h (xtensa_emit_loop_end): Strengthen
1635 first param from rtx to rtx_insn *.
1636 * config/xtensa/xtensa.c (struct machine_function): Likewise for
1637 field "set_frame_ptr_insn".
1638 (xtensa_expand_compare_and_swap): Strengthen locals "csloop" and
1639 "csend" from rtx to rtx_code_label *.
1640 (xtensa_expand_atomic): Likewise for local "csloop".
1641 (xtensa_emit_loop_end): Strengthen param "insn" from rtx to
1642 rtx_insn *.
1643 (xtensa_call_tls_desc): Likewise for return type and locals
1644 "call_insn", "insns".
1645 (xtensa_legitimize_tls_address): Likewise for local "insns".
1646 (xtensa_expand_prologue): Likewise for locals "insn", "first".
1647
1648 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1649
1650 * config/v850/v850-protos.h (v850_adjust_insn_length): Strengthen
1651 first param from rtx to rtx_insn *.
1652 * config/v850/v850.c (v850_adjust_insn_length): Likewise for param
1653 "insn".
1654
1655 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1656
1657 * config/tilepro/tilepro-protos.h (tilepro_output_cbranch_with_opcode):
1658 Strengthen param 1 from rtx to rtx_insn *.
1659 (tilepro_output_cbranch): Likewise.
1660 (tilepro_adjust_insn_length): Likewise.
1661 (tilepro_final_prescan_insn): Likewise for sole param.
1662
1663 * config/tilepro/tilepro.c (tilepro_legitimize_tls_address):
1664 Likewise for local "last".
1665 (cbranch_predicted_p): Likewise for param "insn".
1666 (tilepro_output_simple_cbranch_with_opcode): Likewise.
1667 (tilepro_output_cbranch_with_opcode): Likewise.
1668 (tilepro_output_cbranch): Likewise.
1669 (frame_emit_load): Likewise for return type and locals "seq",
1670 "insn".
1671 (emit_sp_adjust): Likewise for return type and local "insn".
1672 (tilepro_expand_epilogue): Likewise for locals "last_insn",
1673 "insn".
1674 (tilepro_adjust_insn_length): Likewise for param "insn".
1675 (next_insn_to_bundle): Likewise for return type and params
1676 "r", "end".
1677 (tilepro_gen_bundles): Likewise for locals "insn", "next", "end".
1678 (replace_pc_relative_symbol_ref): Likewise for param "insn" and
1679 local "new_insns".
1680 (match_addli_pcrel): Likewise for param "insn".
1681 (replace_addli_pcrel): Likewise.
1682 (match_auli_pcrel): Likewise.
1683 (replace_auli_pcrel): Likewise.
1684 (tilepro_fixup_pcrel_references): Likewise for locals "insn",
1685 "next_insn".
1686 (reorder_var_tracking_notes): Likewise for locals "insn", "next",
1687 "queue", "next_queue", "prev".
1688 (tilepro_asm_output_mi_thunk): Likewise for local "insn".
1689 (tilepro_final_prescan_insn): Likewise for param "insn".
1690
1691 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1692
1693 * config/tilegx/tilegx-protos.h (tilegx_output_cbranch_with_opcode):
1694 Strengthen param 1 from rtx to rtx_insn *.
1695 (tilegx_output_cbranch): Likewise.
1696 (tilegx_adjust_insn_length): Likewise.
1697 (tilegx_final_prescan_insn): Likewise for sole param.
1698
1699 * config/tilegx/tilegx.c (tilegx_legitimize_tls_address): Likewise
1700 or local "last".
1701 (cbranch_predicted_p): Likewise for param "insn".
1702 (tilegx_output_simple_cbranch_with_opcode): Likewise.
1703 (tilegx_output_cbranch_with_opcode): Likewise.
1704 (tilegx_output_cbranch): Likewise.
1705 (frame_emit_load): Likewise for return type.
1706 (set_frame_related_p): Likewise for locals "seq", "insn".
1707 (emit_sp_adjust): Likewise for return type, and for local "insn".
1708 Introduce local "pat" for use in place of "insn" where the latter
1709 isn't an instruction.
1710 (tilegx_expand_epilogue): Strengthen locals "last_insn", "insn"
1711 from rtx to rtx_insn *.
1712 (tilegx_adjust_insn_length): Likewise for param "insn".
1713 (next_insn_to_bundle): Likewise for return type and params "r" and
1714 "end".
1715 (tilegx_gen_bundles): Likewise for locals "insn", "next", "prev",
1716 "end".
1717 (replace_insns): Likewise for params "old_insn", "new_insns".
1718 (replace_mov_pcrel_step1): Likewise for param "insn" and local
1719 "new_insns".
1720 (replace_mov_pcrel_step2): Likewise.
1721 (replace_mov_pcrel_step3): Likewise.
1722 (tilegx_fixup_pcrel_references): Likewise for locals "insn",
1723 "next_insn".
1724 (reorder_var_tracking_notes): Likewise for locals "insn", "next",
1725 "queue", "next_queue", "prev".
1726 (tilegx_output_mi_thunk): Likewise for local "insn".
1727 (tilegx_final_prescan_insn): Likewise for param "insn".
1728
1729 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1730
1731 * config/spu/spu.c (frame_emit_store): Strengthen return type from
1732 rtx to rtx_insn *.
1733 (frame_emit_load): Likewise.
1734 (frame_emit_add_imm): Likewise, also for local "insn".
1735 (spu_expand_prologue): Likewise for local "insn".
1736 (struct spu_bb_info): Likewise for field "prop_jump".
1737 (emit_nop_for_insn): Likewise for param "insn" and local
1738 "new_insn".
1739 (pad_bb): Likewise for locals "insn", "next_insn", "prev_insn",
1740 "hbr_insn".
1741 (spu_emit_branch_hint): Likewise for params "before", "branch" and
1742 locals "hint", "insn".
1743 (get_branch_target): Likewise for param "branch".
1744 (insn_clobbers_hbr): Likewise for param "insn".
1745 (insert_hbrp_for_ilb_runout): Likewise for param "first" and
1746 locals "insn", "before_4", "before_16".
1747 (insert_hbrp): Likewise for local "insn".
1748 (spu_machine_dependent_reorg): Likewise for locals "branch",
1749 "insn", "next", "bbend".
1750 (uses_ls_unit): Likewise for param "insn".
1751 (get_pipe): Likewise.
1752 (spu_sched_variable_issue): Rename param "insn" to "uncast_insn",
1753 introducing a checked cast.
1754 (spu_sched_adjust_cost): Likewise for params "insn" and
1755 "dep_insn".
1756 (ea_load_store_inline): Strengthen local "insn" from rtx to rtx_insn *.
1757 (spu_sms_res_mii): Likewise.
1758
1759 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1760
1761 * config/sparc/sparc-protos.h (output_ubranch): Strengthen param 2
1762 from rtx to rtx_insn *.
1763 (output_cbranch): Likewise for param 6.
1764 (output_return): Likewise for param 1.
1765 (output_sibcall): Likewise.
1766 (output_v8plus_shift): Likewise.
1767 (output_v8plus_mult): Likewise.
1768 (output_v9branch): Likewise for param 7.
1769 (output_cbcond): Likewise for param 3.
1770
1771 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise
1772 for local "insn".
1773 (sparc_legitimize_pic_address): Likewise.
1774 (sparc_emit_call_insn): Likewise.
1775 (emit_save_or_restore_regs): Likewise.
1776 (emit_window_save): Likewise for return type and local "insn".
1777 (sparc_expand_prologue): Likewise for local "insn".
1778 (sparc_flat_expand_prologue): Likewise.
1779 (output_return): Likewise for param "insn".
1780 (output_sibcall): Likewise for param "insn" and local "delay".
1781 (output_ubranch): Likewise for param "insn".
1782 (output_cbranch): Likewise.
1783 (output_cbcond): Likewise.
1784 (output_v9branch): Likewise.
1785 (output_v8plus_shift): Likewise.
1786 (sparc_output_mi_thunk): Likewise for local "insn".
1787 (get_some_local_dynamic_name): Likewise.
1788 (output_v8plus_mult): Likewise for param "insn".
1789
1790 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1791
1792 * config/sh/sh-protos.h (output_ieee_ccmpeq): Strengthen param 1
1793 from rtx to rtx_insn *.
1794 (output_branchy_insn): Likewise for param 3.
1795 (output_far_jump): Likewise for param 1.
1796 (final_prescan_insn): Likewise.
1797 (sh_insn_length_adjustment): Likewise for sole param.
1798
1799 * config/sh/sh.c (expand_cbranchsi4): Likewise for local "jump".
1800 (expand_cbranchdi4): Strengthen local "skip_label" from rtx to
1801 rtx_code_label *.
1802 (sh_emit_compare_and_set): Likewise for local "lab".
1803 (output_far_jump): Strengthen param "insn" and local "prev" from
1804 rtx to rtx_insn *.
1805 (output_branchy_insn): Likewise for param "insn" and local
1806 "next_insn".
1807 (output_ieee_ccmpeq): Likewise for param "insn".
1808 (struct label_ref_list_d): Strengthen field "label" from rtx to
1809 rtx_code_label *.
1810 (pool_node): Likewise.
1811 (pool_window_label): Likewise for this global.
1812 (add_constant): Likewise for return type and locals "lab", "new_rtx".
1813 (dump_table): Strengthen params "start", "barrier" and local
1814 "scan" from rtx to rtx_insn *.
1815 (broken_move): Likewise for param "insn".
1816 (untangle_mova): Likewise for params "first_mova" and "new_mova".
1817 Strengthen param "first_mova" from rtx * to rtx_insn **.
1818 (mova_p): Likewise for param "insn".
1819 (fixup_mova): Likewise for param "mova".
1820 (find_barrier): Likewise for return type, params "mova" and
1821 "from", and locals "barrier_before_mova", "found_barrier",
1822 "good_barrier", "orig", "last_symoff", "next". Strengthen local
1823 "label" from rtx to rtx_code_label *.
1824 (sh_loop_align): Strengthen locals "first", "insn", "mova" from
1825 rtx to rtx_insn *.
1826 (sh_reorg): Likewise for locals "link", "scan", "barrier".
1827 (split_branches): Likewise for param "first" and local "insn".
1828 (final_prescan_insn): Likewise for param "insn".
1829 (sequence_insn_p): Likewise for locals "prev", "next".
1830 (sh_insn_length_adjustment): Likewise for param "insn".
1831 (sh_can_redirect_branch): Likewise for local "insn".
1832 (find_r0_life_regions): Likewise for locals "end", "insn".
1833 (sh_output_mi_thunk): Likewise for local "insns".
1834
1835 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1836
1837 * config/score/score.c (score_output_mi_thunk): Strengthen local
1838 "insn" from rtx to rtx_insn *.
1839 (score_prologue): Likewise.
1840
1841 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1842
1843 * config/s390/s390-protos.h (s390_match_ccmode): Strengthen param
1844 1 from rtx to rtx_insn *.
1845 (s390_emit_jump): Likewise for return type.
1846 (s390_emit_call): Likewise.
1847 (s390_load_got): Likewise.
1848
1849 * config/s390/s390.c (last_scheduled_insn): Likewise for this
1850 variable.
1851 (s390_match_ccmode): Likewise for param "insn".
1852 (s390_emit_jump): Likewise for return type.
1853 (s390_split_branches): Likewise for local "label".
1854 (struct constant): Strengthen field "label" from rtx to
1855 rtx_code_label *.
1856 (struct constant_pool): Likewise for field "label". Strengthen
1857 fields "first_insn", "pool_insn", "emit_pool_after" from rtx to
1858 rtx_insn *.
1859 (s390_alloc_pool): Replace NULL_RTX with NULL when dealing with
1860 insns.
1861 (s390_start_pool): Strengthen param "insn" from rtx to rtx_insn *.
1862 (s390_end_pool): Likewise.
1863 (s390_dump_pool): Likewise for local "insn".
1864 (s390_mainpool_start): Likewise.
1865 (s390_chunkify_start): Likewise.
1866 (s390_chunkify_start): Replace NULL_RTX with NULL when dealing
1867 with insns. Strengthen locals "label", "jump", "barrier", "next",
1868 "prev", "vec_insn", "insn" from rtx to rtx_insn *.
1869 (s390_chunkify_finish): Strengthen local "insn" from rtx to
1870 rtx_insn *.
1871 (s390_chunkify_cancel): Likewise for locals "insn", "barrier",
1872 "jump", "label", "next_insn".
1873 (s390_regs_ever_clobbered): Likewise for local "cur_insn".
1874 (s390_optimize_nonescaping_tx): Likewise for locals "insn",
1875 "tbegin_insn".
1876 (s390_load_got): Likewise for return type and local "insns".
1877 (s390_save_gprs_to_fprs): Likewise for local "insn".
1878 (s390_restore_gprs_from_fprs): Likewise.
1879 (pass_s390_early_mach::execute): Likewise.
1880 (s390_emit_prologue): Likewise for local "insns".
1881 (s390_expand_tbegin): Strengthen local "leave_label" from rtx to
1882 rtx_code_label *.
1883 (s390_emit_call): Strengthen return type and local "insn" from
1884 rtx to rtx_insn *.
1885 (s390_emit_tpf_eh_return): Likewise for local "insn".
1886 (s390_optimize_prologue): Likewise for locals "insn", "new_insn",
1887 "next_insn", introducing locals "s_pat", "rpat" to allow this.
1888 (s390_fix_long_loop_prediction): Likewise for param "insn" and
1889 local "cur_insn".
1890 (s390_non_addr_reg_read_p): Likewise for param "insn".
1891 (find_cond_jump): Likewise for return type and param "insn".
1892 (s390_swap_cmp): Likewise for param "insn".
1893 (s390_z10_optimize_cmp): Likewise for param "insn" and locals
1894 "prev_insn", "next_insn".
1895 (s390_reorg): Likewise for locals "insn", "target".
1896 (s390_z10_prevent_earlyload_conflicts): Likewise for local "insn".
1897 (s390_sched_variable_issue): For now, rename param "insn" to
1898 "uncast_insn", introducing a checked cast.
1899 (s390_sched_init): Replace NULL_RTX with NULL when dealing with
1900 insn.
1901 (s390_loop_unroll_adjust): Strengthen local "insn" from rtx to
1902 rtx_insn *. Use for_each_rtx_in_insn rather than for_each_rtx.
1903
1904 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1905
1906 * config/rx/rx-protos.h (rx_adjust_insn_length): Strengthen first
1907 param from rtx to rtx_insn *.
1908 * config/rx/rx.c (rx_adjust_insn_length): Likewise for param "insn".
1909
1910 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1911
1912 * config/rs6000/rs6000-protos.h (output_cbranch): Strengthen param
1913 4 from rtx to rtx_insn *.
1914 (rs6000_final_prescan_insn): Likewise for first param.
1915 * config/rs6000/rs6000.c (rs6000_emit_set_const): Likewise for
1916 local "insn".
1917 (rs6000_get_some_local_dynamic_name): Likewise.
1918 (output_cbranch): Likewise for param "insn".
1919 (spe_func_has_64bit_regs_p): Likewise for locals "insns", "insn".
1920 (rs6000_function_ok_for_sibcall): Likewise for locals "top", "insn".
1921 (rs6000_emit_allocate_stack): Likewise for local "insn".
1922 (load_cr_save): Likewise.
1923 (restore_saved_cr): Likewise.
1924 (restore_saved_lr): Likewise.
1925 (emit_cfa_restores): Likewise.
1926 (rs6000_output_function_epilogue): Likewise for locals "insn" and
1927 "deleted_debug_label".
1928 (rs6000_output_mi_thunk): Likewise for local "insn".
1929 (rs6000_final_prescan_insn): Likewise for param "insn".
1930
1931 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1932
1933 * config/picochip/picochip-protos.h (picochip_final_prescan_insn):
1934 Strengthen param "insn" from rtx to rtx_insn *.
1935 * config/picochip/picochip.c (picochip_current_prescan_insn):
1936 Likewise for this variable.
1937 (picochip_final_prescan_insn): Likewise for param "insn".
1938
1939 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1940
1941 * config/pa/pa-protos.h (pa_output_call): Strengthen first param
1942 from rtx to rtx_insn *.
1943 (pa_output_indirect_call): Likewise.
1944 (pa_adjust_insn_length): Likewise.
1945 (pa_attr_length_millicode_call): Likewise.
1946 (pa_attr_length_call): Likewise.
1947 (pa_attr_length_indirect_call): Likewise.
1948
1949 * config/pa/pa.c (pa_adjust_insn_length): Likewise for param
1950 "insn".
1951 (pa_attr_length_millicode_call): Likewise.
1952 (pa_attr_length_call): Likewise.
1953 (pa_output_call): Likewise.
1954 (pa_attr_length_indirect_call): Likewise.
1955 (pa_output_indirect_call): Likewise.
1956
1957 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1958
1959 * config/nds32/nds32-protos.h (nds32_adjust_insn_length):
1960 Strengthen first param from rtx to rtx_insn *.
1961 * config/nds32/nds32.c (nds32_adjust_insn_length): Likewise for
1962 param "insn".
1963
1964 2014-08-25 David Malcolm <dmalcolm@redhat.com>
1965
1966 * config/mips/mips-protos.h (mips_emit_move): Strengthen return
1967 type from rtx to rtx_insn *.
1968 (mips_expand_call): Likewise.
1969 (mips_adjust_insn_length): Likewise for first param.
1970 (mips_output_conditional_branch): Likewise.
1971 (mips_output_order_conditional_branch): Likewise.
1972 (mips_final_prescan_insn): Likewise.
1973
1974 * config/mips/mips.c (SEQ_BEGIN): For now, add checked cast to
1975 rtx_insn * for the SEQUENCE case.
1976 (SEQ_END): Likewise.
1977 (mips_emit_move): Strengthen return type from rtx to rtx_insn *.
1978 (mips_emit_call_insn): Likewise, also for local "insn".
1979 (mips16_gp_pseudo_reg): Likewise for local "scan".
1980 (mips16_build_call_stub): Likewise for return type and for local
1981 "insn". Introduce a new local "pattern" so that "insn" can indeed
1982 be an insn.
1983 (mips_expand_call): Strengthen return type and local "insn" from
1984 rtx to rtx_insn *.
1985 (mips_block_move_loop): Strengthen local "label" from rtx to
1986 rtx_code_label *.
1987 (mips_expand_synci_loop): Likewise for locals "label",
1988 "end_label".
1989 (mips_set_frame_expr): Strengthen local "insn" from rtx to
1990 rtx_insn *.
1991 (mips16e_collect_argument_saves): Likewise for locals "insn",
1992 "next".
1993 (mips_find_gp_ref): Likewise for param of callback for "pred"
1994 param, and for local "insn".
1995 (mips_insn_has_inflexible_gp_ref_p): Likewise for param "insn".
1996 (mips_insn_has_flexible_gp_ref_p): Likewise.
1997 (mips_epilogue_emit_cfa_restores): Likewise for return type and
1998 local "insn".
1999 (mips_epilogue_set_cfa): Likewise for local "insn".
2000 (mips_expand_epilogue): Likewise.
2001 (mips_adjust_insn_length): Likewise for param "insn".
2002 (mips_output_conditional_branch): Likewise.
2003 (mips_output_order_conditional_branch): Likewise.
2004 (struct mips_ls2): Likewise for fields "alu1_turn_enabled_insn",
2005 "alu2_turn_enabled_insn", "falu1_turn_enabled_insn",
2006 "falu2_turn_enabled_insn".
2007 (mips_builtin_branch_and_move): Strengthen locals "true_label",
2008 "done_label" from rtx to rtx_code_label *.
2009 (struct mips16_constant): Likewise for field "label".
2010 (mips16_add_constant): Likewise for return type.
2011 (mips16_emit_constants_1): Strengthen return type and param "insn"
2012 from rtx to rtx_insn *.
2013 (mips16_emit_constants): Likewise for param "insn".
2014 (mips16_insn_length): Likewise.
2015 (mips16_rewrite_pool_constant): Strengthen local "label" from rtx
2016 to rtx_code_label *.
2017 (struct mips16_rewrite_pool_refs_info): Strengthen field "insn"
2018 from rtx to rtx_insn *.
2019 (mips16_lay_out_constants): Likewise for locals "insn", "barrier",
2020 "jump". Strengthen local "label" from rtx to rtx_code_label *.
2021 (r10k_simplify_address): Strengthen param "insn" and local
2022 "def_insn" from rtx to rtx_insn *.
2023 (r10k_safe_address_p): Strengthen param "insn" from rtx to
2024 rtx_insn *.
2025 (r10k_needs_protection_p_1): Update target type of cast of data
2026 from to rtx to rtx_insn *.
2027 (r10k_needs_protection_p_store): Strengthen local "insn_ptr" from
2028 rtx * to rtx_insn **.
2029 (r10k_needs_protection_p): Strengthen param "insn" from rtx to
2030 rtx_insn *.
2031 (r10k_insert_cache_barriers): Likewise for locals "insn", "end".
2032 (mips_call_expr_from_insn): Likewise for param "insn".
2033 (mips_pic_call_symbol_from_set): Likewise for local "def_insn".
2034 (mips_find_pic_call_symbol): Likewise for param "insn".
2035 (mips_annotate_pic_calls): Likewise for local "insn".
2036 (mips_sim_insn): Likewise for this variable.
2037 (struct mips_sim): Likewise for field "insn" within elements of
2038 last_set array.
2039 (mips_sim_wait_reg): Likewise for param "insn".
2040 (mips_sim_wait_regs): Likewise.
2041 (mips_sim_wait_units): Likewise.
2042 (mips_sim_wait_insn): Likewise.
2043 (mips_sim_issue_insn): Likewise.
2044 (mips_sim_finish_insn): Likewise.
2045 (mips_seq_time): Likewise for param "seq" and local "insn".
2046 (vr4130_avoid_branch_rt_conflict): Likewise for param "insn" and
2047 locals "first", "second".
2048 (vr4130_align_insns): Likewise for locals "insn", "subinsn",
2049 "last", "last2", "next".
2050 (mips_avoid_hazard): Likewise for params "after", "insn".
2051 (mips_reorg_process_insns): Likewise for locals "insn",
2052 "last_insn", "subinsn", "next_insn".
2053 (mips_has_long_branch_p): Likewise for locals "insn", "subinsn".
2054 (mips16_split_long_branches): Likewise for locals "insn" "jump",
2055 "jump_sequence".
2056 (mips_output_mi_thunk): Likewise for local "insn".
2057 (mips_final_prescan_insn): Likewise for param "insn".
2058
2059 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2060
2061 * config/microblaze/microblaze.c (microblaze_call_tls_get_addr):
2062 Strengthen return type and local "insns" from rtx to rtx_insn *.
2063 (microblaze_legitimize_tls_address): Likewise for local "insns".
2064 (microblaze_block_move_loop): Strengthen local "label" from rtx
2065 to rtx_code_label *.
2066 (microblaze_expand_prologue): Strengthen two locals named "insn"
2067 from rtx to rtx_insn *.
2068 (microblaze_asm_output_mi_thunk): Likewise for local "insn".
2069 (microblaze_expand_divide): Likewise for locals "jump", "cjump",
2070 "insn". Strengthen locals "div_label", "div_end_label" from rtx
2071 to rtx_code_label *.
2072
2073 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2074
2075 * config/mep/mep-protos.h (mep_mulr_source): Strengthen first
2076 param from rtx to rtx_insn *.
2077 (mep_reuse_lo): Likewise for third param.
2078 (mep_use_post_modify_p): Likewise for first param.
2079 (mep_core_address_length): Likewise.
2080 (mep_cop_address_length): Likewise.
2081 (mep_final_prescan_insn): Likewise.
2082 (mep_store_data_bypass_p): Likewise for both params.
2083 (mep_mul_hilo_bypass_p): Likewise.
2084 (mep_ipipe_ldc_p): Likewise for param.
2085
2086 * config/mep/mep.c (mep_mulr_source): Likewise for param "insn".
2087 (mep_rewrite_mult): Likewise.
2088 (mep_rewrite_mulsi3): Likewise.
2089 (mep_rewrite_maddsi3): Likewise.
2090 (mep_reuse_lo_p_1): Likewise.
2091 (mep_reuse_lo_p): Likewise.
2092 (mep_frame_expr): Likewise.
2093 (mep_make_parallel): Likewise for both params.
2094 (mep_use_post_modify_p_1): Likewise for param "set_insn" and
2095 local "insn".
2096 (mep_use_post_modify_p): Likewise for param "insn".
2097 (mep_core_address_length): Likewise.
2098 (mep_cop_address_length): Likewise.
2099 (mep_reg_set_in_function): Likewise for local "insn".
2100 (mep_asm_without_operands_p): Likewise.
2101 (F): Likewise for return type and param "x".
2102 (add_constant): Likewise for local "insn".
2103 (maybe_dead_move): Likewise for return type and local "insn".
2104 (mep_expand_prologue): Likewise for local "insn".
2105 (mep_final_prescan_insn): Likewise for param "insn".
2106 (mep_reorg_regmove): Likewise for param "insns" and locals "insn",
2107 "next", "follow", "x".
2108 (mep_insert_repeat_label_last): Likewise for return type, param
2109 "last_insn", and locals "next", "prev". Strengthen param "label"
2110 from rtx to rtx_code_label *.
2111 (struct mep_doloop_begin): Strengthen field "insn" from rtx to
2112 rtx_insn *.
2113 (struct mep_doloop_end): Likewise for fields "insn" and
2114 "fallthrough".
2115 (mep_reorg_repeat): Likewise for param "insns" and local "insn".
2116 Strengthen local "repeat_label" from rtx to rtx_code_label *.
2117 (mep_invertable_branch_p): Strengthen param "insn" from rtx to
2118 rtx_insn *.
2119 (mep_invert_branch): Likewise for params "insn" and "after".
2120 (mep_reorg_erepeat): Likewise for param "insns" and locals
2121 "insn", "prev", "new_last", "barrier", "user". Strengthen local
2122 "l" from rtx to rtx_code_label *.
2123 (mep_jmp_return_reorg): Strengthen param "insns" and local "insn"
2124 from rtx to rtx_insn *.
2125 (mep_reorg_addcombine): Likewise for param "insns" and locals
2126 "i", "n".
2127 (add_sp_insn_p): Likewise for param "insn".
2128 (mep_reorg_noframe): Likewise for param "insns" and locals
2129 "start_frame_insn", "end_frame_insn", "next".
2130 (mep_reorg): Likewise for local "insns".
2131 (mep_store_data_bypass_1): Likewise for param "prev". Add checked
2132 cast.
2133 (mep_store_data_bypass_p): Likewise for params "prev", "insn".
2134 (mep_mul_hilo_bypass_p): Likewise.
2135 (mep_ipipe_ldc_p): Likewise for param "insn".
2136 (mep_make_bundle): Likewise for return type, param "cop" and local
2137 "insn", splitting out the latter into a new local "seq" for when it
2138 is a SEQUENCE rather than an insn.
2139 (core_insn_p): Likewise for param "insn".
2140 (mep_bundle_insns): Likewise for param "insns" and locals "insn",
2141 "last", "first", "note", "prev", "core_insn".
2142
2143 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2144
2145 * config/m68k/m68k-protos.h (output_btst): Strengthen param 4 from
2146 rtx to rtx_insn *.
2147 (strict_low_part_peephole_ok): Likewise for param 2 "first_insn".
2148 (m68k_final_prescan_insn): Likewise for first param.
2149
2150 * config/m68k/m68k.c (m68k_emit_movem): Likewise for return type.
2151 (m68k_set_frame_related): Likewise for param "insn".
2152 (output_btst): Likewise for param "insn".
2153 (m68k_final_prescan_insn): Likewise.
2154 (m68k_move_to_reg): Likewise for local "insn".
2155 (m68k_call_tls_get_addr): Likewise for local "insns".
2156 (m68k_call_m68k_read_tp): Likewise.
2157 (strict_low_part_peephole_ok): Likewise for param "first_insn".
2158 (m68k_output_mi_thunk): Likewise for local "insn".
2159
2160 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2161
2162 * config/iq2000/iq2000-protos.h (final_prescan_insn): Strengthen
2163 first param from rtx to rtx_insn *.
2164 (iq2000_adjust_insn_length): Likewise.
2165 (iq2000_output_conditional_branch): Likewise.
2166 * config/iq2000/iq2000.c (final_prescan_insn): Likewise for param
2167 "insn" and local "nop_insn".
2168 (iq2000_annotate_frame_insn): Likewise for param "insn".
2169 (iq2000_expand_prologue): Likewise for both locals "insn".
2170 (iq2000_adjust_insn_length): Likewise for param "insn".
2171 (iq2000_output_conditional_branch): Likewise.
2172
2173 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2174
2175 * config/ia64/ia64.c (ia64_expand_tls_address): Strengthen local
2176 "insns" from rtx to rtx_insn *.
2177 (ia64_emit_cond_move): Likewise for locals "insn", "first".
2178 (struct spill_fill_data): Likewise for field "init_after" and for
2179 elements of array field "prev_insn".
2180 (spill_restore_mem): Likewise for locals "insn", "first".
2181 (do_spill): Likewise for local "insn".
2182 (do_restore): Likewise.
2183 (ia64_expand_prologue): Likewise.
2184 (ia64_expand_epilogue): Likewise.
2185 (emit_insn_group_barriers): Likewise for locals "insn",
2186 "last_label".
2187 (emit_all_insn_group_barriers): Likewise for locals "insn",
2188 "last".
2189 (dfa_stop_insn): Likewise for this global.
2190 (dfa_pre_cycle_insn): Likewise.
2191 (ia64_nop): Likewise.
2192 (final_emit_insn_group_barriers): Likewise for locals "insn",
2193 "last".
2194 (emit_predicate_relation_info): Likewise for locals "head", "n",
2195 "insn", "b", "a".
2196 (ia64_reorg): Likewise for local "insn".
2197 (ia64_output_mi_thunk): Likewise.
2198 (expand_vec_perm_interleave_2): Likewise for local "seq".
2199
2200 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2201
2202 * config/i386/i386-protos.h (ix86_avoid_lea_for_add): Strengthen
2203 param 1 "insn" from rtx to rtx_insn *.
2204 (ix86_use_lea_for_mov): Likewise.
2205 (ix86_avoid_lea_for_addr): Likewise.
2206 (ix86_split_lea_for_addr): Likewise.
2207 (ix86_lea_for_add_ok): Likewise.
2208 (ix86_output_call_insn): Likewise.
2209
2210 * config/i386/i386.c (ix86_va_start): Likewise for local "seq".
2211 (ix86_get_drap_rtx): Likewise for locals "seq", "insn".
2212 (ix86_output_function_epilogue): Likewise for locals "insn",
2213 "deleted_debug_label".
2214 (legitimize_tls_address): Likewise for local "insn".
2215 (get_some_local_dynamic_name): Likewise.
2216 (increase_distance): Likewise for params "prev", "next".
2217 (distance_non_agu_define_in_bb): Likewise for params "insn",
2218 "start" and locals "prev", "next".
2219 (distance_non_agu_define): Likewise for param "insn".
2220 (distance_agu_use_in_bb): Likewise for params "insn", "start" and
2221 locals "next", "prev".
2222 (distance_agu_use): Likewise for param "insn".
2223 (ix86_lea_outperforms): Likewise.
2224 (ix86_ok_to_clobber_flags): Likewise.
2225 (ix86_avoid_lea_for_add): Likewise.
2226 (ix86_use_lea_for_mov): Likewise.
2227 (ix86_avoid_lea_for_addr): Likewise.
2228 (find_nearest_reg_def): Likewise, also for locals "prev", "start".
2229 (ix86_split_lea_for_addr): Likewise for param "insn".
2230 (ix86_lea_for_add_ok): Likewise for param "insn".
2231 (ix86_expand_carry_flag_compare): Likewise for local
2232 "compare_seq".
2233 (ix86_expand_int_movcc): Likewise.
2234 (ix86_output_call_insn): Likewise for param "insn".
2235 (ix86_output_call_insn): Likewise for local "i".
2236 (x86_output_mi_thunk): Introduce local "insn", using it in place
2237 of "tmp" when dealing with insns.
2238 (ix86_avoid_jump_mispredicts): Likewise for locals "insn",
2239 "start".
2240 (ix86_pad_returns): Likewise for locals "ret", "prev".
2241 (ix86_count_insn_bb): Likewise for local "insn".
2242 (ix86_pad_short_function): Likewise for locals "ret", "insn".
2243 (ix86_seh_fixup_eh_fallthru): Likewise for locals "insn", "next".
2244 (ix86_vector_duplicate_value): Likewise for local "insn", "seq".
2245 (expand_vec_perm_interleave2): Likewise for local "seq".
2246 (expand_vec_perm_vperm2f128_vblend): Likewise.
2247 (ix86_loop_unroll_adjust): Likewise for local "insn". Convert
2248 call to for_each_rtx with for_each_rtx_in_insn.
2249
2250 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2251
2252 * config/i386/i386.c (setup_incoming_varargs_64): Strengthen local
2253 "label" from rtx to rtx_code_label *.
2254 (ix86_expand_prologue): Likewise.
2255 (ix86_expand_split_stack_prologue): Likewise for locals "label",
2256 "varargs_label".
2257 (ix86_split_idivmod): Likewise for locals "end_label" and
2258 "qimode_label".
2259 (ix86_expand_branch): Likewise for local "label2".
2260 (ix86_expand_aligntest): Likewise for return type and local "label".
2261 (expand_set_or_movmem_via_loop): Likewise for locals "out_label" and
2262 "top_label".
2263 (expand_movmem_epilogue): Likewise for the various locals named
2264 "label".
2265 (expand_setmem_epilogue): Likewise.
2266 (expand_small_movmem_or_setmem): Likewise for local "label".
2267 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves):
2268 Strengthen param "done_label" from rtx * to rtx_code_label **.
2269 Strengthen locals "loop_label" and "label" from rtx to
2270 rtx_code_label *.
2271 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves):
2272 Likewise for locals "loop_label", "label".
2273 (ix86_expand_set_or_movmem): Likewise for locals "label",
2274 "jump_around_label", "hot_label".
2275 (ix86_expand_strlensi_unroll_1): Likewise for locals
2276 "align_2_label", align_3_label", "align_4_label", "end_0_label",
2277 "end_2_label".
2278 (x86_emit_floatuns): Likewise for locals "neglab", "donelab".
2279 (void ix86_emit_i387_log1p): Likewise for locals "label1",
2280 "label2", "jump_label".
2281 (ix86_expand_sse_compare_and_jump): Likewise for return type and
2282 local "label".
2283 (ix86_expand_lfloorceil): Likewise for local "label".
2284 (ix86_expand_rint): Likewise.
2285 (ix86_expand_floorceildf_32): Likewise.
2286 (ix86_expand_floorceil): Likewise.
2287 (ix86_expand_rounddf_32): Likewise.
2288 (ix86_expand_trunc): Likewise.
2289 (ix86_expand_truncdf_32): Likewise.
2290 (ix86_expand_round): Likewise.
2291
2292 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2293
2294 * config/h8300/h8300-protos.h (final_prescan_insn): Strengthen
2295 first param from rtx to rtx_insn *.
2296 (h8300_insn_length_from_table): Likewise.
2297 * config/h8300/h8300.c (F): Likewise for return type and param
2298 "x".
2299 (Fpa): Add a checked cast to rtx_insn *.
2300 (h8300_emit_stack_adjustment): Strengthen local "x" from rtx to
2301 rtx_insn *.
2302 (final_prescan_insn): Likewise for param "insn".
2303 (h8300_binary_length): Likewise.
2304 (h8300_insn_length_from_table): Likewise.
2305
2306 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2307
2308 * config/epiphany/epiphany-protos.h (epiphany_final_prescan_insn):
2309 Strengthen first param "insn" from rtx to rtx_insn *.
2310
2311 * config/epiphany/epiphany.c (epiphany_final_prescan_insn):
2312 Likewise.
2313 (frame_insn): Likewise for return type. Introduce local "insn"
2314 for use in place of local "x" for use as an rtx_insn *.
2315 (frame_move_insn): Strengthen return type from rtx to rtx_insn *.
2316 (epiphany_expand_prologue): Likewise for local "insn".
2317 * config/epiphany/mode-switch-use.c (insert_uses): Likewise.
2318 * config/epiphany/resolve-sw-modes.c
2319 (pass_resolve_sw_modes::execute): Likewise for locals "insn" and
2320 "seq".
2321
2322 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2323
2324 * config/c6x/c6x-protos.h (c6x_get_unit_specifier): Strengthen
2325 param from rtx to rtx_insn *.
2326 (c6x_final_prescan_insn): Likewise for first param.
2327
2328 * config/c6x/c6x.c (c6x_current_insn): Likewise for this variable.
2329 (c6x_output_mi_thunk): Replace use of NULL_RTX with NULL.
2330 (c6x_expand_compare): Strengthen local "insns" from rtx to
2331 rtx_insn *.
2332 (c6x_get_unit_specifier): Likewise for param "insn".
2333 (c6x_print_unit_specifier_field): Likewise.
2334 (c6x_final_prescan_insn): Likewise.
2335 (emit_add_sp_const): Likewise for local "insn".
2336 (c6x_expand_prologue): Likewise.
2337
2338 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2339
2340 * config/bfin/bfin-protos.h (asm_conditional_branch): Strengthen
2341 param 1 from rtx to rtx_insn *.
2342 * config/bfin/bfin.c (expand_prologue_reg_save): Likewise for
2343 the various locals named "insn".
2344 (expand_epilogue_reg_restore): Likewise.
2345 (frame_related_constant_load): Likewise.
2346 (add_to_reg): Likewise.
2347 (emit_link_insn): Likewise.
2348 (do_link): Likewise.
2349 (expand_interrupt_handler_prologue): Likewise.
2350 (branch_dest): Likewise for param "branch".
2351 (asm_conditional_branch): Likewise for param "insn".
2352 (gen_one_bundle): Likewise for elements of param "slot" and local
2353 "t".
2354 (bfin_gen_bundles): Likewise for locals "insn", "next" and
2355 elements of local "slot".
2356 (reorder_var_tracking_notes): Likewise for locals "insn", "next",
2357 "queue", "next_queue", "prev".
2358 (workaround_rts_anomaly): Likewise for locals "insn", "first_insn".
2359 (add_sched_insns_for_speculation): Likewise for local "insn".
2360
2361 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2362
2363 * config/avr/avr-protos.h (output_movqi): Strengthen first param
2364 from rtx to rtx_insn *.
2365 (output_movhi): Likewise.
2366 (output_movsisf): Likewise.
2367 (avr_out_tstsi): Likewise.
2368 (avr_out_tsthi): Likewise.
2369 (avr_out_tstpsi): Likewise.
2370 (avr_out_compare): Likewise.
2371 (avr_out_compare64): Likewise.
2372 (avr_out_movpsi): Likewise.
2373 (ashlqi3_out): Likewise.
2374 (ashlhi3_out): Likewise.
2375 (ashlsi3_out): Likewise.
2376 (ashrqi3_out): Likewise.
2377 (ashrhi3_out): Likewise.
2378 (ashrsi3_out): Likewise.
2379 (lshrqi3_out): Likewise.
2380 (lshrhi3_out): Likewise.
2381 (lshrsi3_out): Likewise.
2382 (avr_out_ashlpsi3): Likewise.
2383 (avr_out_ashrpsi3): Likewise.
2384 (avr_out_lshrpsi3): Likewise.
2385 (avr_out_fract): Likewise.
2386 (avr_out_sbxx_branch): Likewise.
2387 (avr_out_round): Likewise.
2388 (avr_out_xload): Likewise.
2389 (avr_out_movmem): Likewise.
2390 (adjust_insn_length): Likewise.
2391 (avr_out_lpm): Likewise.
2392 (reg_unused_after): Likewise.
2393 (_reg_unused_after): Likewise.
2394 (avr_jump_mode): Likewise for second param.
2395 (jump_over_one_insn): Likewise for first param.
2396 (avr_final_prescan_insn): Likewise.
2397 (out_shift_with_cnt): Likewise for second param.
2398
2399 * config/avr/avr.c (get_sequence_length): Likewise for param
2400 "insns" and local "insn".
2401 (emit_push_byte): Likewise for local "insn".
2402 (emit_push_sfr): Likewise.
2403 (avr_prologue_setup_frame): Likewise for locals "insn",
2404 "fp_plus_insns", "sp_plus_insns".
2405 (avr_expand_epilogue): Likewise for local "fp_plus_insns",
2406 "sp_plus_insns".
2407 (avr_jump_mode): Likewise for param "insn".
2408 (avr_final_prescan_insn): Likewise.
2409 (avr_find_unused_d_reg): Likewise.
2410 (avr_out_lpm_no_lpmx): Likewise.
2411 (avr_out_lpm): Likewise.
2412 (avr_out_xload): Likewise.
2413 (output_movqi): Likewise.
2414 (output_movhi): Likewise.
2415 (out_movqi_r_mr): Likewise.
2416 (out_movhi_r_mr): Likewise.
2417 (out_movsi_r_mr): Likewise.
2418 (out_movsi_mr_r): Likewise.
2419 (output_movsisf): Likewise.
2420 (avr_out_load_psi): Likewise.
2421 (avr_out_store_psi): Likewise.
2422 (avr_out_movpsi): Likewise.
2423 (out_movqi_mr_r): Likewise.
2424 (avr_out_movhi_mr_r_xmega): Likewise.
2425 (out_movhi_mr_r): Likewise.
2426 (compare_condition): Likewise for param "insn" and local "next".
2427 (compare_sign_p): Likewise for param "insn".
2428 (compare_diff_p): Likewise.
2429 (compare_eq_p): Likewise.
2430 (avr_out_compare): Likewise.
2431 (avr_out_compare64): Likewise.
2432 (avr_out_tsthi): Likewise.
2433 (avr_out_tstpsi): Likewise.
2434 (avr_out_tstsi): Likewise.
2435 (out_shift_with_cnt): Likewise.
2436 (ashlqi3_out): Likewise.
2437 (ashlhi3_out): Likewise.
2438 (avr_out_ashlpsi3): Likewise.
2439 (ashlsi3_out): Likewise.
2440 (ashrqi3_out): Likewise.
2441 (ashrhi3_out): Likewise.
2442 (avr_out_ashrpsi3): Likewise.
2443 (ashrsi3_out): Likewise.
2444 (lshrqi3_out): Likewise.
2445 (lshrhi3_out): Likewise.
2446 (avr_out_lshrpsi3): Likewise.
2447 (lshrsi3_out): Likewise.
2448 (avr_out_fract): Likewise.
2449 (avr_out_round): Likewise.
2450 (avr_adjust_insn_length): Likewise.
2451 (reg_unused_after): Likewise.
2452 (_reg_unused_after): Likewise.
2453 (avr_compare_pattern): Likewise.
2454 (avr_reorg_remove_redundant_compare): Likewise for param "insn1"
2455 and locals "branch1", "branch2", "insn2", "jump".
2456 (avr_reorg): Likewise for local "insn".
2457 (avr_2word_insn_p): Likewise for param "insn".
2458 (jump_over_one_insn_p): Likewise.
2459 (avr_out_sbxx_branch): Likewise.
2460 (avr_out_movmem): Likewise.
2461
2462 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2463
2464 * config/arm/arm-protos.h (arm_final_prescan_insn): Strengthen
2465 param from rtx to rtx_insn *.
2466 (thumb1_final_prescan_insn): Likewise.
2467 (thumb2_final_prescan_insn): Likewise.
2468
2469 * config/arm/arm.c (emit_set_insn): Strengthen return type from
2470 rtx to rtx_insn *.
2471 (struct minipool_node): Likewise for field "insn".
2472 (dump_minipool): Likewise for param "scan".
2473 (create_fix_barrier): Likewise for local "from". Strengthen local
2474 "label" from rtx to rtx_code_label *.
2475 (push_minipool_barrier): Strengthen param "insn" from rtx to
2476 rtx_insn *.
2477 (push_minipool_fix): Likewise.
2478 (note_invalid_constants): Likewise.
2479 (thumb2_reorg): Likewise for local "insn".
2480 (arm_reorg): Likewise.
2481 (thumb2_final_prescan_insn): Likewise for param
2482 "insn" and local "first_insn".
2483 (arm_final_prescan_insn): Likewise for param "insn" and locals
2484 "start_insn", "this_insn".
2485 (arm_debugger_arg_offset): Likewise for param "insn".
2486 (thumb1_emit_multi_reg_push): Likewise for return type and local
2487 "insn".
2488 (thumb1_final_prescan_insn): Likewise for param "insn".
2489 (thumb_far_jump_used_p): Likewise for local "insn".
2490 (thumb1_expand_prologue): Likewise.
2491 (arm_expand_epilogue_apcs_frame): Likewise.
2492 (arm_expand_epilogue): Likewise for locals "insn", "tmp".
2493 (arm_split_compare_and_swap): Strengthen locals "label1", "label2"
2494 from rtx to rtx_code_label *.
2495 (arm_split_atomic_op): Likewise for local "label".
2496 (arm_emit_coreregs_64bit_shift): Likewise for local "done_label".
2497
2498 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2499
2500 * config/arc/arc-protos.h (arc_final_prescan_insn): Strengthen
2501 first param from rtx to rtx_insn *.
2502 (arc_verify_short): Likewise.
2503 (arc_short_long): Likewise.
2504 (arc_need_delay): Likewise.
2505
2506 * config/arc/arc.c (struct arc_ccfsm): Likewise for field
2507 "target_insn".
2508 (arc_ccfsm_advance): Likewise for param "insn" and locals
2509 "start_insn", "this_insn".
2510 (arc_ccfsm_record_condition): Likewise for local "seq_insn".
2511 (arc_ccfsm_post_advance): Likewise for param "insn".
2512 (arc_next_active_insn): Likewise for return type and param "insn".
2513 Convert NULL_RTX to NULL as appropriate. Add a checked cast.
2514 (arc_verify_short): Strengthen param "insn" from rtx to rtx_insn *.
2515 (output_short_suffix): Likewise for local "insn".
2516 (arc_final_prescan_insn): Likewise for param "insn". Remove
2517 now-redundant checked cast.
2518 (arc_reorg): Strengthen locals "insn", "top_label", "lp", "prev",
2519 "lp_simple", "next", "mov", "scan", "link_insn" from rtx to
2520 rtx_insn *. Add a checked cast. Introduce local "lc_set_insn"
2521 for use where lc_set became an insn.
2522 (arc_adjust_insn_length): Strengthen locals "prev", "succ" from
2523 rtx to rtx_insn *.
2524 (arc_get_insn_variants): Likewise for local "prev".
2525 (arc_ifcvt): Likewise for locals "insn", "seq", "prev", "pprev",
2526 "next".
2527 (arc_predicate_delay_insns): Likewise for local "insn".
2528 (arc_pad_return): Likewise for local "prev". For now, add a
2529 checked cast when extracting the insn from "final_sequence".
2530 (arc_short_long): Likewise for param "insn".
2531 (arc_need_delay): Likewise for param "insn" and local "next".
2532 (arc_label_align): Likewise for locals "prev", "next".
2533
2534 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2535
2536 * config/alpha/alpha.c (alpha_emit_set_const): Strengthen local
2537 "insn" from rtx to rtx_insn *.
2538 (alpha_gp_save_rtx): Likewise for local "seq".
2539 (alpha_instantiate_decls): Likewise for local "top".
2540 (get_some_local_dynamic_name): Likewise for local "insn".
2541 (alpha_does_function_need_gp): Likewise.
2542 (set_frame_related_p): Likewise for return type and for locals
2543 "seq" and "insn".
2544 (emit_frame_store_1): Likewise for local "insn".
2545 (alpha_expand_prologue): Likewise for locals "insn", "seq".
2546 (alpha_end_function): Likewise for local "insn".
2547 (alpha_output_mi_thunk_osf): Likewise.
2548 (alphaev4_insn_pipe): Likewise for param "insn".
2549 (alphaev5_insn_pipe): Likewise.
2550 (alphaev4_next_group): Likewise for return type and param 1
2551 "insn".
2552 (alphaev5_next_group): Likewise.
2553 (alpha_align_insns_1): Likewise for return type and param 1 of
2554 callback param "next_group", and for locals "i", "next", "prev",
2555 "where", "where2", "insn".
2556
2557 2014-08-25 Bernd Schmidt <bernds@codesourcery.com>
2558
2559 * tree-nested.c (finalize_nesting_tree_1): Initialize temporary earlier
2560 rather than modifying the stmt.
2561
2562 2014-08-25 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2563
2564 * config/rs6000/rs6000.c (rs6000_return_in_msb): Fix fallout from
2565 cgraph_state conversion.
2566
2567 2014-08-25 David Malcolm <dmalcolm@redhat.com>
2568
2569 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
2570 Strengthen local "insns" from rtx to rtx_insn *.
2571 (aarch64_set_frame_expr): Likewise for local "insn".
2572 (aarch64_save_or_restore_fprs): Likewise.
2573 (aarch64_save_or_restore_callee_save_registers): Likewise.
2574 (aarch64_expand_prologue): Likewise.
2575 (aarch64_expand_epilogue): Likewise.
2576 (aarch64_output_mi_thunk): Likewise.
2577 (aarch64_split_compare_and_swap): Strengthen locals "label1" and
2578 "label2" from rtx to rtx_code_label *.
2579 (aarch64_split_atomic_op): Likewise for local "label".
2580
2581 2014-08-25 Martin Liska <mliska@suse.cz>
2582
2583 * cgraph.h (symtab_node):
2584 (bool needed_p (void)): created from decide_is_symbol_needed
2585 (bool referred_to_p (void)): created from referred_to_p
2586 (static cgraph_node *get_for_asmname (tree asmname)): created from symtab_node_for_asm
2587 * cgraph.h (cgraph_node):
2588 (void assemble_thunks_and_aliases (void)): created from assemble_thunks_and_aliases
2589 (void expand (void)): created from expand_function
2590 (static void finalize_function (tree, bool)): created from cgraph_finalize_function
2591 (static cgraph_local_info *local_info (tree decl)): created from cgraph_local_info
2592 (static cgraph_global_info *global_info (tree)): created from cgraph_global_info
2593 (static cgraph_rtl_info *rtl_info (tree)): created from cgraph_rtl_info
2594 * cgraph.h (varpool_node):
2595 (static void add (tree decl): created from varpool_add_new_variable
2596 * cgraph.h (cgraph_edge):
2597 void remove (void);
2598 (void remove_caller (void)): created from cgraph_edge_remove_caller
2599 (void remove_callee (void)): created from cgraph_edge_remove_callee
2600 (void set_call_stmt (gimple new_stmt, bool update_speculative = true)):
2601 created from cgraph_set_call_stmt
2602 (void redirect_callee (cgraph_node *n)): created from cgraph_redirect_edge_callee
2603 (cgraph_edge *make_direct (cgraph_node *callee)): created from cgraph_make_edge_direct
2604 (cgraph_edge *make_speculative (cgraph_node *n2, gcov_type direct_count,
2605 gimple redirect_call_stmt_to_callee (void)): created from cgraph_turn_edge_to_speculative
2606 (void speculative_call_info (cgraph_edge *&direct, cgraph_edge *&indirect, ipa_ref *&reference)):
2607 created from cgraph_speculative_call_info
2608 (cgraph_edge * clone (cgraph_node *n, gimple call_stmt, unsigned stmt_uid, gcov_type count_scale,
2609 int freq_scale, bool update_original)): created from cgraph_clone_edge
2610 (cgraph_edge *resolve_speculation (tree callee_decl)): created from cgraph_resolve_speculation
2611 (bool cannot_lead_to_return_p (void)): created from cannot_lead_to_return_p
2612 (bool recursive_p (void)): created from cgraph_edge_recursive_p
2613 (bool maybe_hot_p (void)): created from cgraph_maybe_hot_edge_p
2614 (static unsigned int rebuild_edges (void)): created from rebuild_cgraph_edges
2615 (static void rebuild_references (void)): created from cgraph_rebuild_references
2616 * cgraph.h (symbol_table):
2617 (create_reference): renamed from add_reference
2618 (maybe_create_reference): renamed from maybe_add_reference
2619 (void register_symbol (symtab_node *node)): new function
2620 (void clear_asm_symbols (void)): new function
2621 (void unregister (symtab_node *node)): new function
2622 (void release_symbol (cgraph_node *node, int uid)): new function
2623 (cgraph_node * allocate_cgraph_symbol (void)): new function
2624 (void initialize (void)): created from cgraph_init
2625 (symtab_node *first_symbol (void)):new function
2626 (asm_node *first_asm_symbol (void)):new function
2627 (symtab_node *first_defined_symbol (void)):new function
2628 (varpool_node *first_variable (void)):new function
2629 (varpool_node *next_variable (varpool_node *node)):new function
2630 (varpool_node *first_static_initializer (void)):new function
2631 (varpool_node *next_static_initializer (varpool_node *node)):new function
2632 (varpool_node *first_defined_variable (void)):new function
2633 (varpool_node *next_defined_variable (varpool_node *node)):new function
2634 (cgraph_node *first_defined_function (void)):new function
2635 (cgraph_node *next_defined_function (cgraph_node *node)):new function
2636 (cgraph_node *first_function (void)):new function
2637 (cgraph_node *next_function (cgraph_node *node)):new function
2638 (cgraph_node *first_function_with_gimple_body (void)):new function
2639 (asm_node *finalize_toplevel_asm (tree asm_str)): created from add_asm_node
2640 (bool remove_unreachable_nodes (bool before_inlining_p, FILE *file)):
2641 created from symtab_remove_unreachable_nodes
2642 (void remove_unreferenced_decls (void)): created from varpool_remove_unreferenced_decls
2643 (void process_new_functions (void)): created from cgraph_process_new_functions
2644 (void process_same_body_aliases (void)): created from cgraph_process_same_body_aliases
2645 (bool output_variables (void)): created from varpool_node::output_variables
2646 (void output_asm_statements (void)): created from output_asm_statements
2647 (void finalize_compilation_unit (void)): created from finalize_compilation_unit
2648 (void compile (void)): created from compile
2649 (void output_weakrefs (void)): created from output_weakrefs
2650 (cgraph_node *create_empty (void)): created from cgraph_node::create_empty
2651 (cgraph_edge *create_edge (cgraph_node *caller, cgraph_node *callee, gimple call_stmt,
2652 gcov_type count, int freq, bool indir_unknown_callee)): created from cgraph_node::create_edge
2653 (void free_edge (cgraph_edge *e)): created from cgraph_free_edge
2654 (cgraph_node *next_function_with_gimple_body (cgraph_node *node)):
2655 created from cgraph_next_function_with_gimple_body
2656 (void remove_edge_removal_hook (cgraph_edge_hook_list *)):
2657 created from cgraph_remove_edge_removal_hook
2658 (cgraph_node_hook_list *add_cgraph_removal_hook (cgraph_node_hook, void *)):
2659 created from cgraph_add_node_removal_hook
2660 (void remove_cgraph_removal_hook (cgraph_node_hook_list *)):
2661 created from cgraph_remove_node_removal_hook
2662 (varpool_node_hook_list *add_varpool_removal_hook (varpool_node_hook, void *)):
2663 created from varpool_add_node_removal_hook
2664 (void remove_varpool_removal_hook (varpool_node_hook_list *)):
2665 created from varpool_remove_node_removal_hook
2666 (cgraph_node_hook_list *add_cgraph_insertion_hook (cgraph_node_hook, void *)):
2667 created from cgraph_add_function_insertion_hook
2668 (void remove_cgraph_insertion_hook (cgraph_node_hook_list *)):
2669 created from cgraph_remove_function_insertion_hook
2670 (varpool_node_hook_list *add_varpool_insertion_hook (varpool_node_hook, void *)):
2671 created from varpool_add_variable_insertion_hook
2672 (void remove_varpool_insertion_hook (varpool_node_hook_list *)):
2673 created from varpool_remove_variable_insertion_hook
2674 (cgraph_2edge_hook_list *add_edge_duplication_hook (cgraph_2edge_hook, void *)):
2675 created from cgraph_add_edge_duplication_hook
2676 (void remove_edge_duplication_hook (cgraph_2edge_hook_list *)):
2677 created from cgraph_remove_edge_duplication_hook
2678 (cgraph_2node_hook_list *add_cgraph_duplication_hook (cgraph_2node_hook, void *)):
2679 created from cgraph_add_node_duplication_hook
2680 (void remove_cgraph_duplication_hook (cgraph_2node_hook_list *)):
2681 created from cgraph_remove_node_duplication_hook
2682 (void call_edge_removal_hooks (cgraph_edge *e)):
2683 created from cgraph_call_edge_removal_hooks
2684 (void call_cgraph_insertion_hooks (cgraph_node *node)):
2685 created from call_function_insertion_hooks
2686 (void call_cgraph_removal_hooks (cgraph_node *node)):
2687 created from cgraph_call_node_removal_hooks
2688 (void call_cgraph_duplication_hooks (cgraph_node *node, cgraph_node *node2)):
2689 created from cgraph_node::call_duplication_hooks
2690 (void call_edge_duplication_hooks (cgraph_edge *cs1, cgraph_edge *cs2)):
2691 created from cgraph_call_edge_duplication_hooks
2692 (void call_varpool_removal_hooks (varpool_node *node)):
2693 created from varpool_call_node_removal_hooks
2694 (void call_varpool_insertion_hooks (varpool_node *node)):
2695 created from varpool_call_variable_insertion_hooks
2696 (void insert_to_assembler_name_hash (symtab_node *node, bool with_clones)):
2697 created from insert_to_assembler_name_hash
2698 (void unlink_from_assembler_name_hash (symtab_node *node, bool with_clones)):
2699 created from unlink_from_assembler_name_hash
2700 (void symtab_prevail_in_asm_name_hash (symtab_node *node)):
2701 created from symtab_prevail_in_asm_name_hash
2702 (void symtab_initialize_asm_name_hash (void)):
2703 created from symtab_initialize_asm_name_hash
2704 (void change_decl_assembler_name (tree decl, tree name)):
2705 created from change_decl_assembler_name
2706 (void materialize_all_clones (void)): created from cgraph_materialize_all_clones
2707 (static hashval_t decl_assembler_name_hash (const_tree asmname)):
2708 created from decl_assembler_name_hash
2709 (static bool decl_assembler_name_equal (tree decl, const_tree asmname)):
2710 created from decl_assembler_name_equal
2711 (static hashval_t hash_node_by_assembler_name (const void *p)):
2712 created from hash_node_by_assembler_name
2713 (static int eq_assembler_name (const void *p1, const void *p2)):
2714 created from eq_assembler_name
2715
2716 2014-08-25 Marek Polacek <polacek@redhat.com>
2717
2718 * config/i386/i386.md (SWI1248_AVX512BW): Add missing paren.
2719
2720 2014-08-25 Petr Murzin <petr.murzin@intel.com>
2721
2722 * config/i386/i386.md (SWI1248_AVX512BW): New mode iterator.
2723 (*k<logic><mode>): Add *k<logic>qi and *k<logic>hi and use
2724 SWI1248_AVX512BW mode iterator.
2725
2726 2014-08-25 Kaz Kojima <kkojima@gcc.gnu.org>
2727
2728 PR target/62111
2729 * config/sh/predicates.md (general_extend_operand): Disable
2730 TRUNCATE before reload completes.
2731
2732 2014-08-24 Gerald Pfeifer <gerald@pfeifer.com>
2733
2734 * doc/invoke.texi (Optimize Options): Fix markup in two cases.
2735
2736 2014-08-24 Oleg Endo <olegendo@gcc.gnu.org>
2737
2738 PR target/61996
2739 * config/sh/sh.opt (musermode): Allow negative form.
2740 * config/sh/sh.c (sh_option_override): Disable TARGET_USERMODE for
2741 targets that don't support it.
2742 * doc/invoke.texi (SH Options): Rename sh-*-linux* to sh*-*-linux*.
2743 Document -mno-usermode option.
2744
2745 2014-08-24 Kito Cheng <kito@0xlab.org>
2746
2747 * system.h (CALLER_SAVE_PROFITABLE): Poison.
2748 * regs.h (CALLER_SAVE_PROFITABLE): Remove.
2749 * doc/tm.texi.in (CALLER_SAVE_PROFITABLE): Remove.
2750 * doc/tm.texi: Regenerate.
2751
2752 2014-08-24 Kito Cheng <kito@0xlab.org>
2753
2754 * ira.c: Fix typo in comment.
2755
2756 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
2757
2758 * doc/invoke.texi: Change c++1y to c++14 and gnu++1y to gnu++14.
2759 Deprecate c++1y. Change language to reflect greater confidence in C++14.
2760
2761 2014-08-23 John David Anglin <danglin@gcc.gnu.org>
2762
2763 PR target/62038
2764 * config/pa/pa.c (pa_output_function_epilogue): Don't set
2765 last_address when the current function is a thunk.
2766 (pa_asm_output_mi_thunk): When we don't have named sections or they
2767 are not being used, check that thunk can reach the stub table with a
2768 short branch.
2769
2770 2014-08-23 David Malcolm <dmalcolm@redhat.com>
2771
2772 * web.c (union_match_dups): Strengthen param "insn" from rtx to
2773 rtx_insn *.
2774 (pass_web::execute): Likewise for local "insn".
2775
2776 2014-08-23 David Malcolm <dmalcolm@redhat.com>
2777
2778 * var-tracking.c (struct micro_operation_def): Strengthen field
2779 "insn" from rtx to rtx_insn *.
2780 (struct emit_note_data_def): Likewise.
2781 (insn_stack_adjust_offset_pre_post): Likewise for param "insn".
2782 (vt_stack_adjustments): Likewise for local "insn".
2783 (adjust_insn): Likewise for param "insn".
2784 (val_store): Likewise.
2785 (val_resolve): Likewise.
2786 (struct count_use_info): Likewise for field "insn".
2787 (log_op_type): Likewise for param "insn".
2788 (reverse_op): Likewise.
2789 (prepare_call_arguments): Likewise.
2790 (add_with_sets): The initial param takes an insn, but we can't
2791 yet strengthen it from rtx to rtx_insn * since it's used as a
2792 cselib_record_sets_hook callback. For now rename initial param
2793 from "insn" to "uncast_insn", and introduce a local "insn" of
2794 the stronger rtx_insn * type, with a checked cast.
2795 (compute_bb_dataflow): Strengthen local "insn" from rtx to
2796 rtx_insn *.
2797 (emit_note_insn_var_location): Likewise.
2798 (emit_notes_for_changes): Likewise.
2799 (emit_notes_for_differences): Likewise.
2800 (next_non_note_insn_var_location): Likewise for return type and
2801 for param "insn".
2802 (emit_notes_in_bb): Likewise for locals "insn" and "next_insn".
2803 (vt_initialize): Likewise for local "insn".
2804 (delete_debug_insns): Likewise for locals "insn" and "next".
2805
2806 2014-08-23 David Malcolm <dmalcolm@redhat.com>
2807
2808 * varasm.c (mark_constants): Strengthen param "insn" from rtx to
2809 rtx_insn *.
2810 (mark_constant_pool): Likewise for local "insn".
2811
2812 2014-08-23 David Malcolm <dmalcolm@redhat.com>
2813
2814 * valtrack.c (dead_debug_reset_uses): Strengthen local "insn" from
2815 rtx to rtx_insn *.
2816 (dead_debug_promote_uses): Likewise.
2817 (dead_debug_insert_temp): Likewise.
2818
2819 2014-08-23 David Malcolm <dmalcolm@redhat.com>
2820
2821 * store-motion.c (store_killed_in_insn): Strengthen param "insn"
2822 from const_rtx to const rtx_insn *.
2823 (store_killed_after): Likewise. Strengthen locals "last", "act"
2824 from rtx to rtx_insn *.
2825 (store_killed_before): Strengthen param "insn" from const_rtx to
2826 const rtx_insn *. Strengthen local "first" from rtx to rtx_insn *.
2827 (find_moveable_store): Strengthen param "insn" from rtx to
2828 rtx_insn *.
2829 (compute_store_table): Likewise for local "insn".
2830 (insert_insn_start_basic_block): Likewise for param "insn" and
2831 locals "prev", "before", "insn".
2832 (insert_store): For now, add a checked cast to rtx_insn * on the
2833 result of gen_move_insn.
2834 (remove_reachable_equiv_notes): Strengthen local "insn" from rtx
2835 to rtx_insn *.
2836 (replace_store_insn): Likewise. For now, add a checked cast to
2837 rtx_insn * on the result of gen_move_insn.
2838
2839 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2840
2841 * stmt.c (expand_case): Strengthen local "before_case" from rtx to
2842 rtx_insn *.
2843 (expand_sjlj_dispatch_table): Likewise.
2844
2845 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2846
2847 * stack-ptr-mod.c (pass_stack_ptr_mod::execute): Strengthen local
2848 "insn" from rtx to rtx_insn *.
2849
2850 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2851
2852 * shrink-wrap.h (requires_stack_frame_p): Strengthen param 1
2853 "insn" from rtx to rtx_insn *.
2854 (dup_block_and_redirect): Likewise for param 3 "before".
2855
2856 * shrink-wrap.c (requires_stack_frame_p): Strengthen param "insn"
2857 from rtx to rtx_insn *.
2858 (move_insn_for_shrink_wrap): Likewise.
2859 (prepare_shrink_wrap): Likewise for locals "insn", "curr".
2860 (dup_block_and_redirect): Likewise for param "before" and local
2861 "insn".
2862 (try_shrink_wrapping): Likewise for locals "insn", "insert_point",
2863 "end".
2864 (convert_to_simple_return): Likewise for local "start".
2865
2866 * config/i386/i386.c (ix86_finalize_stack_realign_flags):
2867 Strengthen local "insn" from rtx to rtx_insn *, for use when
2868 invoking requires_stack_frame_p.
2869
2870 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2871
2872 * sel-sched-ir.c (vinsn_copy): Strengthen local "copy" from rtx to
2873 rtx_insn *.
2874 (speculate_expr): Likewise for locals "orig_insn_rtx",
2875 "spec_insn_rtx".
2876 (eq_transformed_insns): Likewise for locals "i1", "i2".
2877 (check_for_new_jump): Likewise for return type and local "end".
2878 (find_new_jump): Likewise for return type and local "jump".
2879 (sel_split_edge): Likewise for local "jump".
2880 (sel_create_recovery_block): Likewise.
2881 (sel_redirect_edge_and_branch_force): Likewise.
2882 (sel_redirect_edge_and_branch): Likewise.
2883
2884 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2885
2886 * sel-sched.c (substitute_reg_in_expr): Strengthen local
2887 "new_insn" from rtx to rtx_insn *.
2888 (create_insn_rtx_with_rhs): Likewise for return type and for local
2889 "insn_rtx".
2890 (create_insn_rtx_with_lhs): Likewise.
2891 (create_speculation_check): Likewise for local "insn_rtx".
2892 (implicit_clobber_conflict_p): Likewise for local "insn".
2893 (get_expr_cost): Likewise.
2894 (emit_bookkeeping_insn): Likewise for local "new_insn_rtx".
2895 (move_cond_jump): Likewise for locals "next", "prev", "link",
2896 "head", "from", "to".
2897
2898 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2899
2900 * sched-rgn.c (is_cfg_nonregular): Strengthen locals "insn" and
2901 "next" from rtx to rtx_insn *.
2902 (find_conditional_protection): Likewise for local "next".
2903 (is_conditionally_protected): Likewise for local "insn1".
2904 (is_pfree): Likewise for locals "insn1", "insn2".
2905
2906 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2907
2908 * sched-int.h (schedule_ebb): Strengthen params "head", "tail"
2909 from rtx to rtx_insn *.
2910
2911 * sched-ebb.c (earliest_block_with_similiar_load): Strengthen
2912 locals "insn1", "insn2" from rtx to rtx_insn *.
2913 (add_deps_for_risky_insns): Likewise for params "head", "tail" and
2914 locals "insn", "prev", "last_jump", "next_tail".
2915 (schedule_ebb): Likewise for params "head", "tail".
2916 (schedule_ebbs): Likewise for locals "tail", "head".
2917
2918 * config/c6x/c6x.c (hwloop_optimize): For now, add a checked cast
2919 to rtx_insn on "last_insn" in one of the invocations of
2920 schedule_ebb.
2921
2922 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2923
2924 * sched-deps.c (maybe_add_or_update_dep_1): Strengthen locals
2925 "elem", "insn" from rtx to rtx_insn *.
2926 (change_spec_dep_to_hard): Likewise.
2927 (get_back_and_forw_lists): Likewise for local "con".
2928 (sd_add_dep): Likewise for locals "elem", "insn".
2929 (sd_resolve_dep): Likewise for locals "pro", "con".
2930 (sd_unresolve_dep): Likewise.
2931 (sd_delete_dep): Likewise.
2932 (chain_to_prev_insn): Likewise for local "pro".
2933 (find_inc): Likewise for locals "pro", "con".
2934
2935 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2936
2937 * rtlanal.c (reg_used_between_p): Strengthen local "insn" from rtx
2938 to rtx_insn *.
2939 (reg_set_between_p): Strengthen local "insn" from const_rtx to
2940 const rtx_insn *.
2941 (modified_between_p): Strengthen local "insn" from rtx to
2942 rtx_insn *.
2943 (remove_reg_equal_equiv_notes_for_regno): Likewise.
2944 (keep_with_call_p): Strengthen local "i2" from const_rtx to
2945 const rtx_insn *.
2946
2947 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2948
2949 * resource.c (next_insn_no_annul): Strengthen local "next" from
2950 rtx to rtx_insn *.
2951 (mark_referenced_resources): Likewise for local "insn".
2952
2953 2014-08-22 David Malcolm <dmalcolm@redhat.com>
2954
2955 * reload.h (struct insn_chain): Strengthen field "insn" from rtx
2956 to rtx_insn *.
2957 (find_reloads): Likewise for param 1.
2958 (subst_reloads): Likewise for sole param.
2959 (find_equiv_reg): Likwise for param 2.
2960 (regno_clobbered_p): Likwise for param 2.
2961 (reload): Likewise for param 1.
2962
2963 * caller-save.c (save_call_clobbered_regs): Strengthen local
2964 "insn" from rtx to rtx_insn *.
2965 (insert_one_insn): Likewise for local "insn".
2966
2967 * reload.c (this_insn): Likewise for this global.
2968 (find_reloads): Likewise for param "insn".
2969 (find_reloads_toplev): Likewise.
2970 (find_reloads_address): Likewise.
2971 (subst_reg_equivs): Likewise.
2972 (update_auto_inc_notes): Likewise.
2973 (find_reloads_address_1): Likewise.
2974 (find_reloads_subreg_address): Likewise.
2975 (subst_reloads): Likewise.
2976 (find_equiv_reg): Likewise, also for local "p".
2977 (regno_clobbered_p): Likewise for param "insn".
2978
2979 * reload1.c (reg_reloaded_insn): Likewise for the elements of this
2980 array.
2981 (spill_reg_store): Likewise for the elements of this array.
2982 (remove_init_insns): Likewise for local "equiv_insn".
2983 (will_delete_init_insn_p): Likewise for param "insn".
2984 (reload): Likewise for param ""first" and local "insn".
2985 (calculate_needs_all_insns): Strengthen local "insn" from rtx to
2986 rtx_insn *.
2987 (calculate_elim_costs_all_insns): Likewise.
2988 (delete_caller_save_insns): Likewise.
2989 (spill_failure): Likewise for param "insn".
2990 (delete_dead_insn): Likewise.
2991 (set_label_offsets): Likewise.
2992 (eliminate_regs_in_insn): Likewise, also for locals "base_insn" and
2993 "prev_insn".
2994 (elimination_costs_in_insn): Likewise for param "insn".
2995 (set_initial_eh_label_offset): Replace use of NULL_RTX with NULL
2996 when referring to an insn.
2997 (set_initial_label_offsets): Likewise.
2998 (set_offsets_for_label): Strengthen param "insn" from rtx to
2999 rtx_insn *.
3000 (init_eliminable_invariants): Likewise for param "first" and local
3001 "insn".
3002 (fixup_eh_region_note): Likewise for param "insn".
3003 (reload_as_needed): Likewise for locals "prev", "insn",
3004 "old_next", "old_prev", "next".
3005 (gen_reload_chain_without_interm_reg_p): Likewise for locals "insn",
3006 "last".
3007 (reload_inheritance_insn): Strengthen elements of this array from
3008 rtx to rtx_insn *.
3009 (failed_reload): Likewise for param "insn".
3010 (choose_reload_regs): Likewise for local "insn". Replace use of
3011 NULL_RTX with NULL when referring to an insn.
3012 (input_reload_insns): Strengthen elements of this array from rtx
3013 to rtx_insn *.
3014 (other_input_address_reload_insns): Likewise for this global.
3015 (other_input_reload_insns): Likewise for this global.
3016 (input_address_reload_insns): Likwise for the elements of this
3017 array.
3018 (inpaddr_address_reload_insns): Likwise for the elements of this
3019 array.
3020 (output_reload_insns): Likewise for the elements of this array.
3021 (output_address_reload_insns): Likewise for the elements of this
3022 array.
3023 (outaddr_address_reload_insns): Likewise for the elements of this
3024 array.
3025 (operand_reload_insns): Likewise for this global.
3026 (other_operand_reload_insns): Likewise for this global.
3027 (other_output_reload_insns): Likewise for the elements of this
3028 array.
3029 (new_spill_reg_store): Likewise for the elements of this
3030 array.
3031 (emit_input_reload_insns): Likewise for locals "insn", "temp".
3032 Strengthen local "where" from rtx * to rtx_insn **.
3033 (emit_output_reload_insns): Strengthen locals "insn", "p", "next"
3034 from rtx to rtx_insn *.
3035 (do_input_reload): Likewise for local "insn".
3036 (do_output_reload): Likewise for local "insn".
3037 (emit_reload_insns): Likewise for locals "insn" and "store_insn".
3038 (emit_insn_if_valid_for_reload): Likewise for return type and local
3039 "last". Add checked cast to rtx_insn when returning "insn" since
3040 this has been through emit_insn.
3041 (gen_reload): Strengthen return type and locals "last", "insn", "set"
3042 from rtx to rtx_insn *. Add checked cast to rtx_insn when
3043 returning "insn" since it's been through
3044 emit_insn_if_valid_for_reload at this point.
3045 (delete_output_reload): Strengthen param "insn" and locals
3046 "output_reload_insn", "i2" from rtx to rtx_insn *.
3047 (delete_address_reloads): Likewise for params "dead_insn",
3048 "current_insn" and locals "prev", "next".
3049 (delete_address_reloads_1): Likewise for params "dead_insn",
3050 "current_insn" and locals "prev", "i2".
3051 (inc_for_reload): Likewise for locals "last", "add_insn".
3052 (add_auto_inc_notes): Strengthen param "insn" from rtx to
3053 rtx_insn *.
3054
3055 * config/arc/arc-protos.h (regno_clobbered_p): Likewise for 2nd
3056 param of this duplicate of the prototype from reload.h
3057
3058 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3059
3060 * regstat.c (regstat_bb_compute_ri): Strengthen local "insn" from
3061 rtx to rtx_insn *.
3062 (regstat_bb_compute_calls_crossed): Likewise.
3063
3064 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3065
3066 * regrename.c (create_new_chain): Strengthen param "insn" from rtx
3067 to rtx_insn *.
3068 (init_rename_info): Replace use of NULL_RTX with NULL when dealing
3069 with an insn.
3070 (regrename_analyze): Strengthen local "insn" from rtx to
3071 rtx_insn *.
3072 (scan_rtx_reg): Likewise for param "insn".
3073 (scan_rtx_address): Likewise.
3074 (scan_rtx): Likewise.
3075 (restore_operands): Likewise.
3076 (record_out_operands): Likewise.
3077 (build_def_use): Likewise for local "insn". Replace use of
3078 NULL_RTX with NULL when dealing with an insn.
3079
3080 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3081
3082 * rtl.h (reg_scan): Strengthen param "f" from rtx to rtx_insn *.
3083 * reginfo.c (reg_scan): Likewise, also for local "insn".
3084 (reg_scan_mark_refs): Likewise for param "insn".
3085 (init_subregs_of_mode): Likewise for local "insn".
3086
3087 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3088
3089 * regcprop.c (struct queued_debug_insn_change): Strengthen field
3090 "insn" from rtx to rtx_insn *.
3091 (replace_oldest_value_reg): Likewise for param "insn".
3092 (replace_oldest_value_addr): Likewise.
3093 (replace_oldest_value_mem): Likewise.
3094 (apply_debug_insn_changes): Likewise for local "last_insn".
3095 (copyprop_hardreg_forward_1): Likewise for local "insn".
3096
3097 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3098
3099 * reg-stack.c (next_flags_user): Strengthen return type and param
3100 "insn" from rtx to rtx_insn *.
3101 (straighten_stack): Likewise for param "insn".
3102 (check_asm_stack_operands): Likewise.
3103 (remove_regno_note): Likewise.
3104 (emit_pop_insn): Likewise for return type, param "insn", local
3105 "pop_insn".
3106 (emit_swap_insn): Strengthen param "insn" and locals "i1", "tmp",
3107 "limit" from rtx to rtx_insn *.
3108 (swap_to_top): Likewise for param "insn".
3109 (move_for_stack_reg): Likewise.
3110 (move_nan_for_stack_reg): Likewise.
3111 (swap_rtx_condition): Likewise.
3112 (compare_for_stack_reg): Likewise.
3113 (subst_all_stack_regs_in_debug_insn): Likewise.
3114 (subst_stack_regs_pat): Likewise, and local "insn2".
3115 (subst_asm_stack_regs): Strengthen param "insn" from rtx to
3116 rtx_insn *.
3117 (subst_stack_regs): Likewise.
3118 (change_stack): Likewise.
3119 (convert_regs_1): Likewise for locals "insn", "next".
3120
3121 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3122
3123 * ree.c (struct ext_cand): Strengthen field "insn" from rtx to
3124 rtx_insn *.
3125 (combine_set_extension): Likewise for param "curr_insn".
3126 (transform_ifelse): Likewise for param "def_insn".
3127 (get_defs): Likewise for param "def_insn". Strengthen param "dest"
3128 from vec<rtx> * to vec<rtx_insn *> *.
3129 (is_cond_copy_insn): Likewise for param "insn".
3130 (struct ext_state): Strengthen the four vec fields from vec<rtx>
3131 to vec<rtx_insn *>.
3132 (make_defs_and_copies_lists): Strengthen param "extend_insn" and
3133 local "def_insn" from rtx to rtx_insn *.
3134 (get_sub_rtx): Likewise for param "def_insn".
3135 (merge_def_and_ext): Likewise.
3136 (combine_reaching_defs): Likewise.
3137 (add_removable_extension): Likewise for param "insn".
3138 (find_removable_extensions): Likewise for local "insn".
3139 (find_and_remove_re): Likewise for locals "curr_insn" and
3140 "def_insn". Strengthen locals "reinsn_del_list" and
3141 "reinsn_del_list" from auto_vec<rtx> to auto_vec<rtx_insn *>.
3142
3143 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3144
3145 * recog.c (split_insn): Strengthen param "insn" and locals
3146 "first", "last" from rtx to rtx_insn *.
3147 (split_all_insns): Likewise for locals "insn", "next".
3148 (split_all_insns_noflow): Likewise.
3149
3150 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3151
3152 * rtl.h (debug_rtx_list): Strengthen param 1 "x" from const_rtx to
3153 const rtx_insn *.
3154 (debug_rtx_range): Likewise for params 1 and 2 "start" and "end".
3155 (debug_rtx_find): Likewise for param 1 "x".
3156
3157 * print-rtl.c (debug_rtx_list): Strengthen param 1 "x" from
3158 const_rtx to const rtx_insn *. Likewise for local "insn".
3159 (debug_rtx_range): Likewise for params 1 and 2 "start" and "end".
3160 (debug_rtx_find): Likewise for param 1 "x".
3161 (print_rtl): Likewise for local "tmp_rtx", adding a checked cast
3162 from const_rtx to const rtx_insn * within the appropriate cases of
3163 the switch statement.
3164
3165 * config/rs6000/rs6000.c (rs6000_debug_legitimize_address):
3166 Strengthen local "insns" from rtx to rtx_insn * since this is
3167 passed to a call to debug_rtx_list.
3168
3169 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3170
3171 * predict.h (predict_insn_def): Strengthen param "insn" from rtx
3172 to rtx_insn *.
3173
3174 * function.c (stack_protect_epilogue): Add checked cast to
3175 rtx_insn for now when invoking predict_insn_def.
3176
3177 * predict.c (predict_insn): Strengthen param "insn" from rtx to
3178 rtx_insn *.
3179 (predict_insn_def): Likewise.
3180 (rtl_predict_edge): Likewise for local "last_insn".
3181 (can_predict_insn_p): Strengthen param "insn" from const_rtx to
3182 const rtx_insn *.
3183 (combine_predictions_for_insn): Strengthen param "insn" from rtx
3184 to rtx_insn *.
3185 (bb_estimate_probability_locally): Likewise for local "last_insn".
3186 (expensive_function_p): Likewise for local "insn".
3187
3188 * config/cris/cris.c (cris_emit_trap_for_misalignment): Likewise for
3189 local "jmp", since this is used when invoking predict_insn_def.
3190
3191 2014-08-22 Marek Polacek <polacek@redhat.com>
3192
3193 PR c++/62199
3194 * doc/invoke.texi: Update -Wlogical-not-parentheses description.
3195
3196 2014-08-22 Marek Polacek <polacek@redhat.com>
3197
3198 PR c/61271
3199 * ira-color.c (coalesced_pseudo_reg_slot_compare): Wrap LHS of
3200 a comparison in parens.
3201 * lra-spills.c (pseudo_reg_slot_compare): Wrap LHS of a comparison
3202 in parens.
3203
3204 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3205
3206 * rtl.h (fis_get_condition): Strengthen param "jump" from rtx to
3207 rtx_insn *.
3208
3209 * cprop.c (fis_get_condition): Likewise.
3210
3211 * postreload.c (reload_cse_regs): Likewise for param "first".
3212 (reload_cse_simplify): Likewise for param "insn".
3213 (reload_cse_regs_1): Likewise for local "insn".
3214 (reload_cse_simplify_set): Likewise for param "insn".
3215 (reload_cse_simplify_operands): Likewise.
3216 (struct reg_use): Likewise for field "insn".
3217 (reload_combine_purge_insn_uses): Likewise for param "insn".
3218 (fixup_debug_insns): Likewise for params "from", "to" and local
3219 "insn".
3220 (try_replace_in_use): Likewise for local "use_insn".
3221 (reload_combine_recognize_const_pattern): Likewise for param
3222 "insn" and locals "add_moved_after_insn", "use_insn".
3223 (reload_combine_recognize_pattern): Likewise for param "insn" and
3224 local "prev".
3225 (reload_combine): Likewise for locals "insn", "prev".
3226 (reload_combine_note_use): Likewise for param "insn".
3227 (move2add_use_add2_insn): Likewise.
3228 (move2add_use_add3_insn): Likewise.
3229 (reload_cse_move2add): Likewise, also for local "next".
3230 (move2add_note_store): Likewise for local "insn".
3231
3232 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3233
3234 * postreload-gcse.c (struct occr): Strengthen field "insn" from
3235 rtx to rtx_insn *.
3236 (struct unoccr): Likewise.
3237 (struct modifies_mem): Likewise.
3238 (alloc_mem): Likewise for local "insn".
3239 (insert_expr_in_table): Likewise for param "insn".
3240 (dump_expr_hash_table_entry): Likewise for local "insn".
3241 (oprs_unchanged_p): Likewise for param "insn".
3242 (load_killed_in_block_p): Likewise for local "setter".
3243 (record_last_reg_set_info): Likewise for param "insn".
3244 (record_last_reg_set_info_regno): Likewise.
3245 (record_last_mem_set_info): Likewise.
3246 (record_last_set_info): Likewise for local "last_set_insn".
3247 (record_opr_changes): Likewise for param "insn".
3248 (hash_scan_set): Likewise.
3249 (compute_hash_table): Likewise for local "insn".
3250 (get_avail_load_store_reg): Likewise for param "insn".
3251 (eliminate_partially_redundant_load): Likewise, also for locals
3252 "avail_insn", "next_pred_bb_end". Replace use of NULL_RTX with
3253 RTX for insns.
3254 (eliminate_partially_redundant_loads): Likewise for local "insn".
3255
3256 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3257
3258 * optabs.c (expand_doubleword_shift): Strengthen local "insn" from
3259 rtx to rtx_insn *.
3260 (expand_binop): Likewise for locals "entry_last", "last", "insns"
3261 (expand_twoval_unop): Likewise for locals entry_last", "last".
3262 (expand_twoval_binop): Likewise.
3263 (expand_twoval_binop_libfunc): Likewise for local "insns".
3264 (widen_leading): Likewise for local "last".
3265 (expand_doubleword_clz): Likewise for local "seq". Strengthen
3266 locals "hi0_label", "after_label" from rtx to rtx_code_label *.
3267 (widen_bswap): Strengthen local "last" from rtx to rtx_insn *.
3268 (expand_parity): Likewise for locals "last" and "seq".
3269 (expand_ffs): Likewise for local "seq". Strengthen local
3270 "nonzero_label" from rtx to rtx_code_label *.
3271 (expand_absneg_bit): Strengthen local "insns" from rtx to
3272 rtx_insn *.
3273 (expand_unop_direct): Likewise for local "last".
3274 (expand_unop): Likewise for locals "last", "insns".
3275 (expand_abs_nojump): Likewise for local "last".
3276 (expand_abs): Strengthen local "op1" from rtx to rtx_code_label *.
3277 (expand_one_cmpl_abs_nojump): Strengthen local "last" from rtx to
3278 rtx_insn *.
3279 (expand_copysign_absneg): Strengthen local "label" from rtx to
3280 rtx_code_label *.
3281 (expand_copysign_bit): Strengthen local "insns" from rtx to
3282 rtx_insn *.
3283 (struct no_conflict_data): Likewise for fields "first", "insn".
3284 (emit_libcall_block_1): Likewise for param "insns" and locals
3285 "next", "last", "insn".
3286 (emit_libcall_block): For now, add a checked cast to rtx_insn *
3287 on "insns" when invoking emit_libcall_block_1. Ultimately we
3288 want to strengthen insns itself.
3289 (prepare_cmp_insn): Strengthen local "last" from rtx to
3290 rtx_insn *.
3291 (emit_cmp_and_jump_insn_1): Likewise for local "insn".
3292 (prepare_float_lib_cmp): Likewise for local "insns".
3293 (emit_conditional_move): Likewise for local "last".
3294 (emit_conditional_add): Likewise.
3295 (have_sub2_insn): Likewise for local "seq".
3296 (expand_float): Likewise for local "insns". Strengthen locals
3297 "label", "neglabel" from rtx to rtx_code_label *.
3298 (expand_fix): Likewise for locals "last", "insn", "insns" (to
3299 rtx_insn *) and locals "lab1", "lab2" (to rtx_code_label *).
3300 (expand_fixed_convert): Likewise for local "insns" (to
3301 rtx_insn *).
3302 (expand_sfix_optab): Likewise for local "last".
3303 (expand_compare_and_swap_loop): Strengthen local "label" from rtx
3304 to rtx_code_label *.
3305 (maybe_emit_sync_lock_test_and_set): Strengthen local "last_insn"
3306 from rtx to rtx_insn *.
3307 (expand_atomic_fetch_op): Likewise for local "insn".
3308 (maybe_legitimize_operand_same_code): Likewise for local "last".
3309 (maybe_legitimize_operands): Likewise.
3310
3311 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3312
3313 * modulo-sched.c (struct ps_reg_move_info): Strengthen field
3314 "insn" from rtx to rtx_insn *.
3315 (ps_rtl_insn): Likewise for return type.
3316 (doloop_register_get): Likewise for params "head", "tail" and
3317 locals "insn", "first_insn_not_to_check".
3318 (schedule_reg_move): Likewise for local "this_insn".
3319 (schedule_reg_moves): Add a checked cast to rtx_insn * to result
3320 of gen_move_insn for now.
3321 (reset_sched_times): Strengthen local "insn" from rtx to
3322 rtx_insn *.
3323 (permute_partial_schedule): Likewise.
3324 (duplicate_insns_of_cycles): Likewise for local "u_insn".
3325 (dump_insn_location): Likewise for param "insn".
3326 (loop_canon_p): Likewise for local "insn".
3327 (sms_schedule): Likewise.
3328 (print_partial_schedule): Likewise.
3329 (ps_has_conflicts): Likewise.
3330
3331 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3332
3333 * sched-int.h (get_ebb_head_tail): Strengthen params "headp" and
3334 "tailp" from rtx * to rtx_insn **.
3335
3336 * ddg.c (build_intra_loop_deps): Strengthen locals head", "tail"
3337 from rtx to rtx_insn *.
3338 * haifa-sched.c (get_ebb_head_tail): Strengthen params "headp" and
3339 "tailp" from rtx * to rtx_insn **. Strengthen locals "beg_head",
3340 "beg_tail", "end_head", "end_tail", "note", "next", "prev" from
3341 rtx to rtx_insn *.
3342 * modulo-sched.c (const_iteration_count): Strengthen return type
3343 and locals "insn", "head", "tail" from rtx to rtx_insn *. Replace
3344 use of NULL_RTX with NULL when working with insns.
3345 (loop_single_full_bb_p): Strengthen locals "head", "tail" from rtx
3346 to rtx_insn *.
3347 (sms_schedule): Likewise.
3348 * sched-rgn.c (init_ready_list): Likewise, also for locals
3349 "src_head" and "src_next_tail".
3350 (compute_block_dependences): Likewise.
3351 (free_block_dependencies): Likewise.
3352 (debug_rgn_dependencies): Likewise.
3353 (free_rgn_deps): Likewise.
3354 (compute_priorities): Likewise.
3355 (schedule_region): Likewise.
3356 * sel-sched.c (find_ebb_boundaries): Likewise.
3357
3358 * config/sh/sh.c (find_insn_regmode_weight): Strengthen locals
3359 "insn", "next_tail", "head", "tail" from rtx to rtx_insn *.
3360
3361 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3362
3363 * mode-switching.c (struct seginfo): Strengthen field "insn_ptr"
3364 from rtx to rtx_insn *.
3365 (new_seginfo): Likewise for param "insn".
3366 (create_pre_exit): Likewise for locals "last_insn",
3367 "before_return_copy", "return_copy".
3368 (optimize_mode_switching): Likewise for locals "insn", "ins_pos",
3369 "mode_set".
3370
3371 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3372
3373 * lra-int.h (struct lra_insn_recog_data): Strengthen field "insn"
3374 from rtx to rtx_insn *.
3375 (lra_push_insn): Likewise for 1st param.
3376 (lra_push_insn_and_update_insn_regno_info): Likewise.
3377 (lra_pop_insn): Likewise for return type.
3378 (lra_invalidate_insn_data): Likewise for 1st param.
3379 (lra_set_insn_deleted): Likewise.
3380 (lra_delete_dead_insn): Likewise.
3381 (lra_process_new_insns): Likewise for first 3 params.
3382 (lra_set_insn_recog_data): Likewise for 1st param.
3383 (lra_update_insn_recog_data): Likewise.
3384 (lra_set_used_insn_alternative): Likewise.
3385 (lra_invalidate_insn_regno_info): Likewise.
3386 (lra_update_insn_regno_info): Likewise.
3387 (lra_former_scratch_operand_p): Likewise.
3388 (lra_eliminate_regs_1): Likewise.
3389 (lra_get_insn_recog_data): Likewise.
3390
3391 * lra-assigns.c (assign_by_spills): Strengthen local "insn" from
3392 rtx to rtx_insn *.
3393
3394 * lra-coalesce.c (move_freq_compare_func): Likewise for locals
3395 "mv1" and "mv2".
3396 (substitute_within_insn): New.
3397 (lra_coalesce): Strengthen locals "mv", "insn", "next" from rtx to
3398 rtx_insn *. Strengthen sorted_moves from rtx * to rxt_insn **.
3399 Replace call to "substitute" with call to substitute_within_insn.
3400
3401 * lra-constraints.c (curr_insn): Strengthen from rtx to
3402 rtx_insn *.
3403 (get_equiv_with_elimination): Likewise for param "insn".
3404 (match_reload): Strengthen params "before" and "after" from rtx *
3405 to rtx_insn **.
3406 (emit_spill_move): Likewise for return type. Add a checked cast
3407 to rtx_insn * on result of gen_move_insn for now.
3408 (check_and_process_move): Likewise for local "before". Replace
3409 NULL_RTX with NULL when referring to insns.
3410 (process_addr_reg): Strengthen params "before" and "after" from
3411 rtx * to rtx_insn **.
3412 (insert_move_for_subreg): Likewise.
3413 (simplify_operand_subreg): Strengthen locals "before" and "after"
3414 from rtx to rtx_insn *.
3415 (process_address_1): Strengthen params "before" and "after" from
3416 rtx * to rtx_insn **. Strengthen locals "insns", "last_insn" from
3417 rtx to rtx_insn *.
3418 (process_address): Strengthen params "before" and "after" from
3419 rtx * to rtx_insn **.
3420 (emit_inc): Strengthen local "last" from rtx to rtx_insn *.
3421 (curr_insn_transform): Strengthen locals "before" and "after"
3422 from rtx to rtx_insn *. Replace NULL_RTX with NULL when referring
3423 to insns.
3424 (loc_equivalence_callback): Update cast of "data", changing
3425 resulting type from rtx to rtx_insn *.
3426 (substitute_pseudo_within_insn): New.
3427 (inherit_reload_reg): Strengthen param "insn" from rtx to
3428 rtx_insn *; likewise for local "new_insns". Replace NULL_RTX with
3429 NULL when referring to insns. Add a checked cast to rtx_insn *
3430 when using usage_insn to invoke lra_update_insn_regno_info.
3431 (split_reg): Strengthen param "insn" from rtx to rtx_insn *;
3432 likewise for locals "restore", "save". Add checked casts to
3433 rtx_insn * when using usage_insn to invoke
3434 lra_update_insn_regno_info and lra_process_new_insns. Replace
3435 NULL_RTX with NULL when referring to insns.
3436 (split_if_necessary): Strengthen param "insn" from rtx to
3437 rtx_insn *.
3438 (update_ebb_live_info): Likewise for params "head", "tail" and local
3439 "prev_insn".
3440 (get_last_insertion_point): Likewise for return type and local "insn".
3441 (get_live_on_other_edges): Likewise for local "last".
3442 (inherit_in_ebb): Likewise for params "head", "tail" and locals
3443 "prev_insn", "next_insn", "restore".
3444 (remove_inheritance_pseudos): Likewise for local "prev_insn".
3445 (undo_optional_reloads): Likewise for local "insn".
3446
3447 * lra-eliminations.c (lra_eliminate_regs_1): Likewise for param
3448 "insn".
3449 (lra_eliminate_regs): Replace NULL_RTX with NULL when referring to
3450 insns.
3451 (eliminate_regs_in_insn): Strengthen param "insn" from rtx to
3452 rtx_insn *.
3453 (spill_pseudos): Likewise for local "insn".
3454 (init_elimination): Likewise.
3455 (process_insn_for_elimination): Likewise for param "insn".
3456
3457 * lra-lives.c (curr_insn): Likewise.;
3458
3459 * lra-spills.c (assign_spill_hard_regs): Likewise for local "insn".
3460 (remove_pseudos): Likewise for param "insn".
3461 (spill_pseudos): Likewise for local "insn".
3462 (lra_final_code_change): Likewise for locals "insn", "curr".
3463
3464 * lra.c (lra_invalidate_insn_data): Likewise for param "insn".
3465 (lra_set_insn_deleted): Likewise.
3466 (lra_delete_dead_insn): Likewise, and for local "prev".
3467 (new_insn_reg): Likewise for param "insn".
3468 (lra_set_insn_recog_data): Likewise.
3469 (lra_update_insn_recog_data): Likewise.
3470 (lra_set_used_insn_alternative): Likewise.
3471 (get_insn_freq): Likewise.
3472 (invalidate_insn_data_regno_info): Likewise.
3473 (lra_invalidate_insn_regno_info): Likewise.
3474 (lra_update_insn_regno_info): Likewise.
3475 (lra_constraint_insn_stack): Strengthen from vec<rtx> to
3476 vec<rtx_insn *>.
3477 (lra_push_insn_1): Strengthen param "insn" from rtx to
3478 rtx_insn *.
3479 (lra_push_insn): Likewise.
3480 (lra_push_insn_and_update_insn_regno_info): Likewise.
3481 (lra_pop_insn): Likewise for return type and local "insn".
3482 (push_insns): Likewise for params "from", "to", and local "insn".
3483 (setup_sp_offset): Likewise for params "from", "last" and locals
3484 "before", "insn".
3485 (lra_process_new_insns): Likewise for params "insn", "before",
3486 "after" and local "last".
3487 (struct sloc): Likewise for field "insn".
3488 (lra_former_scratch_operand_p): Likewise for param "insn".
3489 (remove_scratches): Likewise for locals "insn", "last".
3490 (check_rtl): Likewise for local "insn".
3491 (add_auto_inc_notes): Likewise for param "insn".
3492 (update_inc_notes): Likewise for local "insn".
3493 (lra): Replace NULL_RTX with NULL when referring to insn.
3494
3495 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3496
3497 * lower-subreg.c (simple_move): Strengthen param "insn" from rtx
3498 to rtx_insn *.
3499 (resolve_reg_notes): Likewise.
3500 (resolve_simple_move): Likewise for return type, param "insn", and
3501 locals "insns", "minsn".
3502 (resolve_clobber): Strengthen param "insn" from rtx to rtx_insn *.
3503 (resolve_use): Likewise.
3504 (resolve_debug): Likewise.
3505 (find_decomposable_shift_zext): Likewise.
3506 (resolve_shift_zext): Likewise for return type, param "insn", and
3507 locals "insns", "in". Eliminate use of NULL_RTX in favor of NULL.
3508 (decompose_multiword_subregs): Likewise for local "insn",
3509 "orig_insn", "decomposed_shift", "end".
3510
3511 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3512
3513 * basic-block.h (basic_block split_edge_and_insert): Strengthen
3514 param "insns" from rtx to rtx_insn *.
3515
3516 * loop-unroll.c (struct iv_to_split): Strengthen field "insn" from
3517 rtx to rtx_insn *.
3518 (struct iv_to_split): Likewise.
3519 (loop_exit_at_end_p): Likewise for local "insn".
3520 (split_edge_and_insert): Likewise for param "insns".
3521 (compare_and_jump_seq): Likewise for return type, param "cinsn",
3522 and locals "seq", "jump".
3523 (unroll_loop_runtime_iterations): Likewise for locals "init_code",
3524 "branch_code"; update invocations of compare_and_jump_seq to
3525 eliminate NULL_RTX in favor of NULL.
3526 (referenced_in_one_insn_in_loop_p): Strengthen local "insn" from
3527 rtx to rtx_insn *.
3528 (reset_debug_uses_in_loop): Likewise.
3529 (analyze_insn_to_expand_var): Likewise for param "insn".
3530 (analyze_iv_to_split_insn): Likewise.
3531 (analyze_insns_in_loop): Likewise for local "insn".
3532 (insert_base_initialization): Likewise for param
3533 "insn" and local "seq".
3534 (split_iv): Likewise for param "insn" and local "seq".
3535 (expand_var_during_unrolling): Likewise for param "insn".
3536 (insert_var_expansion_initialization): Likewise for local "seq".
3537 (combine_var_copies_in_loop_exit): Likewise.
3538 (combine_var_copies_in_loop_exit): Likewise for locals "seq" and
3539 "insn".
3540 (maybe_strip_eq_note_for_split_iv): Likewise for param "insn".
3541 (apply_opt_in_copies): Likewise for locals "insn", "orig_insn",
3542 "next".
3543
3544 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3545
3546 * cfgloop.h (iv_analyze): Strengthen param 1 "insn" from rtx to
3547 rtx_insn *.
3548 (iv_analyze_result): Likewise.
3549 (iv_analyze_expr): Likewise.
3550 (biv_p): Likewise.
3551
3552 * loop-iv.c (iv_get_reaching_def): Strengthen param "insn" and
3553 local "def_insn" from rtx to rtx_insn *.
3554 (get_biv_step_1): Likewise for local "insn".
3555 (iv_analyze_expr): Likewise for param "insn".
3556 (iv_analyze_def): Likewise for local "insn".
3557 (iv_analyze_op): Likewise for param "insn".
3558 (iv_analyze): Likewise.
3559 (iv_analyze_result): Likewise.
3560 (biv_p): Likewise.
3561 (suitable_set_for_replacement): Likewise.
3562 (simplify_using_initial_values): Likewise for local "insn".
3563 (iv_number_of_iterations): Likewise for param "insn".
3564 (check_simple_exit): Add checked cast to rtx_insn when invoking
3565 iv_number_of_iterations for now (until get_condition is
3566 strengthened).
3567
3568 * loop-unroll.c (analyze_iv_to_split_insn): Strengthen param
3569 "insn" from rtx to rtx_insn *.
3570 (analyze_insns_in_loop): Likewise for local "insn".
3571
3572 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3573
3574 * loop-invariant.c (struct use): Strengthen field "insn" from rtx
3575 to rtx_insn *.
3576 (struct invariant): Likewise.
3577 (hash_invariant_expr_1): Likewise for param "insn".
3578 (invariant_expr_equal_p): Likewise for param "insn1", "insn2".
3579 (find_exits): Likewise for local "insn".
3580 (create_new_invariant): Likewise for param "insn".
3581 (check_dependencies): Likewise.
3582 (find_invariant_insn): Likewise.
3583 (record_uses): Likewise.
3584 (find_invariants_insn): Likewise.
3585 (find_invariants_bb): Likewise for local "insn".
3586 (get_pressure_class_and_nregs): Likewise for param "insn".
3587 (calculate_loop_reg_pressure): Likewise for local "insn".
3588
3589 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3590
3591 * loop-doloop.c (doloop_valid_p): Strengthen local "insn" from rtx
3592 to rtx_insn *.
3593 (add_test): Likewise for locals "seq", "jump".
3594 (doloop_modify): Likewise for locals "sequence", "jump_insn".
3595
3596 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3597
3598 * rtl.h (rebuild_jump_labels): Strengthen param "f" from rtx to
3599 rtx_insn *.
3600 (rebuild_jump_labels_chain): Likewise for param "chain".
3601
3602 * cfgexpand.c (pass_expand::execute): Add checked cast to
3603 rtx_insn * when calling rebuild_jump_labels_chain in region where
3604 we know e->insns.r is non-NULL.
3605
3606 * jump.c (rebuild_jump_labels_1): Strengthen param "f" from rtx to
3607 rtx_insn *.
3608 (rebuild_jump_labels): Likewise.
3609 (rebuild_jump_labels_chain): Likewise for param "chain".
3610 (cleanup_barriers): Likewise for locals "insn", "next", "prev".
3611 (init_label_info): Likewise for param "f".
3612 (maybe_propagate_label_ref): Likewise for params "jump_insn",
3613 "prev_nonjump_insn".
3614 (mark_all_labels): Likewise for param "f" and locals "insn",
3615 "prev_nonjump_insn".
3616
3617 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3618
3619 * ira-int.h (struct ira_allocno_copy): Strengthen field "insn"
3620 from rtx to rtx_insn *insn.
3621 (ira_create_copy): Strengthen param "insn" from rtx to rtx_insn *.
3622 (ira_add_allocno_copy): Likewise.
3623 * ira-build.c (find_allocno_copy): Strengthen param "insn" from
3624 rtx to rtx_insn *.
3625 (ira_create_copy): Likewise.
3626 (ira_add_allocno_copy): Likewise.
3627 (create_bb_allocnos): Likewise for local "insn".
3628 * ira-conflicts.c (process_regs_for_copy): Likewise for param "insn".
3629 (process_reg_shuffles): Update NULL_RTX to NULL in invocation of
3630 process_regs_for_copy for rtx_insn * param.
3631 (add_insn_allocno_copies): Strengthen param "insn" from rtx to
3632 rtx_insn *insn. Update NULL_RTX to NULL in invocation of
3633 process_regs_for_copy for rtx_insn * param.
3634 (add_copies): Strengthen local "insn" from rtx to rtx_insn *insn.
3635 * ira-costs.c (record_reg_classes): Likewise for param "insn".
3636 (record_operand_costs): Likewise.
3637 (scan_one_insn): Likewise for return type, and for param "insn".
3638 (process_bb_for_costs): Likewise for local "insn".
3639 (process_bb_node_for_hard_reg_moves): Likewise.
3640 * ira-emit.c (struct move): Likewise for field "insn".
3641 (create_move): Eliminate use of NULL_RTX when dealing with an
3642 rtx_insn *.
3643 (emit_move_list): Strengthen return type and locals "result",
3644 "insn" from rtx to rtx_insn *insn.
3645 (emit_moves): Likewise for locals "insns", "tmp".
3646 (ira_emit): Likewise for local "insn".
3647 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise for param
3648 "insn".
3649 (find_call_crossed_cheap_reg): Likewise.
3650 (process_bb_node_lives): Likewise for local "insn".
3651 * ira.c (decrease_live_ranges_number): Likewise.
3652 (compute_regs_asm_clobbered): Likewise.
3653 (build_insn_chain): Likewise.
3654 (find_moveable_pseudos): Likewise, also locals "def_insn",
3655 "use_insn", "x". Also strengthen local "closest_uses" from rtx *
3656 to rtx_insn **. Add a checked cast when assigning from
3657 "closest_use" into closest_uses array in a region where we know
3658 it's a non-NULL insn.
3659 (interesting_dest_for_shprep): Strengthen param "insn" from rtx
3660 to rtx_insn *.
3661 (split_live_ranges_for_shrink_wrap): Likewise for locals "insn",
3662 "last_interesting_insn", "uin".
3663 (move_unallocated_pseudos): Likewise for locals "def_insn",
3664 "move_insn", "newinsn".
3665
3666 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3667
3668 * internal-fn.c (ubsan_expand_si_overflow_addsub_check):
3669 Strengthen locals "done_label", "do_error" from rtx to
3670 rtx_code_label *.
3671 (ubsan_expand_si_overflow_addsub_check): Strengthen local "last"
3672 from rtx to rtx_insn *. Strengthen local "sub_check from rtx to
3673 rtx_code_label *.
3674 (ubsan_expand_si_overflow_neg_check): Likewise for locals
3675 "done_label", "do_error" to rtx_code_label * and local "last" to
3676 rtx_insn *.
3677 (ubsan_expand_si_overflow_mul_check): Likewise for locals
3678 "done_label", "do_error", "large_op0", "small_op0_large_op1",
3679 "one_small_one_large", "both_ops_large", "after_hipart_neg",
3680 "after_lopart_neg", "do_overflow", "hipart_different" to
3681 rtx_code_label * and local "last" to rtx_insn *.
3682
3683 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3684
3685 * init-regs.c (initialize_uninitialized_regs): Strengthen locals
3686 "insn" and "move_insn" from rtx to rtx_insn *.
3687
3688 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3689
3690 * ifcvt.c (count_bb_insns): Strengthen local "insn" from rtx to
3691 rtx_insn *.
3692 (cheap_bb_rtx_cost_p): Likewise.
3693 (first_active_insn): Likewise for return type and local "insn".
3694 (last_active_insn): Likewise for return type and locals "insn",
3695 "head".
3696 (struct noce_if_info): Likewise for fields "jump", "insn_a",
3697 "insn_b".
3698 (end_ifcvt_sequence): Likewise for return type and locals "insn",
3699 "seq".
3700 (noce_try_move): Likewise for local "seq".
3701 (noce_try_store_flag): Likewise.
3702 (noce_try_store_flag_constants): Likewise.
3703 (noce_try_addcc): Likewise.
3704 (noce_try_store_flag_mask): Likewise.
3705 (noce_try_cmove): Likewise.
3706 (noce_try_minmax): Likewise.
3707 (noce_try_abs): Likewise.
3708 (noce_try_sign_mask): Likewise.
3709 (noce_try_bitop): Likewise.
3710 (noce_can_store_speculate_p): Likewise for local "insn".
3711 (noce_process_if_block): Likewise for locals "insn_a", "insn_b",
3712 seq".
3713 (check_cond_move_block): Likewise for local "insn".
3714 (cond_move_convert_if_block): Likewise.
3715 (cond_move_process_if_block): Likewise for locals "seq",
3716 "loc_insn".
3717 (noce_find_if_block): Likewise for local "jump".
3718 (merge_if_block): Likewise for local "last".
3719 (block_jumps_and_fallthru_p): Likewise for locals "insn", "end".
3720 (find_cond_trap): Likewise for locals "trap", "jump", "newjump".
3721 (block_has_only_trap): Likewise for return type and local "trap".
3722 (find_if_case_1): Likewise for local "jump".
3723 (dead_or_predicable): Likewise for locals "head", "end", "jump",
3724 "insn".
3725
3726 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3727
3728 * hw-doloop.h (struct hwloop_info_d): Strengthen fields
3729 "last_insn", "loop_end" from rtx to rtx_insn *.
3730
3731 * hw-doloop.c (scan_loop): Likewise for local "insn".
3732 (discover_loop): Likewise for param "tail_insn".
3733 (discover_loops): Likewise for local "tail".
3734
3735 * config/bfin/bfin.c (hwloop_optimize): For now, add a checked
3736 cast to rtx_insn * when assigning from an rtx local to a
3737 hwloop_info's "last_insn" field.
3738
3739 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3740
3741 * haifa-sched.c (bb_header): Strengthen from rtx * to rtx_insn **.
3742 (add_delay_dependencies): Strengthen local "pro" from rtx to
3743 rtx_insn *.
3744 (recompute_todo_spec): Likewise.
3745 (dep_cost_1): Likewise for locals "insn", "used".
3746 (schedule_insn): Likewise for local "dbg".
3747 (schedule_insn): Likewise for locals "pro", "next".
3748 (unschedule_insns_until): Likewise for local "con".
3749 (restore_pattern): Likewise for local "next".
3750 (estimate_insn_tick): Likewise for local "pro".
3751 (resolve_dependencies): Likewise for local "next".
3752 (fix_inter_tick): Likewise.
3753 (fix_tick_ready): Likewise for local "pro".
3754 (add_to_speculative_block): Likewise for locals "check", "twin",
3755 "pro".
3756 (sched_extend_bb): Likewise for locals "end", "insn".
3757 (init_before_recovery): Likewise for local "x".
3758 (sched_create_recovery_block): Likewise for local "barrier".
3759 (create_check_block_twin): Likewise for local "pro".
3760 (fix_recovery_deps): Likewise for locals "note", "insn", "jump",
3761 "consumer".
3762 (unlink_bb_notes): Update for change to type of bb_header.
3763 Strengthen locals "prev", "label", "note", "next" from rtx to
3764 rtx_insn *.
3765 (clear_priorities): Likewise for local "pro".
3766
3767 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3768
3769 * gcse.c (struct occr): Strengthen field "insn" from rtx to
3770 rtx_insn *.
3771 (test_insn): Likewise for this global.
3772 (oprs_unchanged_p): Strengthen param "insn" from const_rtx to
3773 const rtx_insn *.
3774 (oprs_anticipatable_p): Likewise.
3775 (oprs_available_p): Likewise.
3776 (insert_expr_in_table): Strengthen param "insn" from rtx to
3777 rtx_insn *.
3778 (hash_scan_set): Likewise.
3779 (hash_scan_clobber): Likewise.
3780 (hash_scan_call): Likewise.
3781 (hash_scan_insn): Likewise.
3782 (compute_hash_table_work): Likewise for local "insn".
3783 (process_insert_insn): Likewise for return type and local "pat".
3784 (insert_insn_end_basic_block): Likewise for locals "new_insn",
3785 "pat", "pat_end", "maybe_cc0_setter".
3786 (pre_edge_insert): Likewise for local "insn".
3787 (pre_insert_copy_insn): Likewise for param "insn".
3788 (pre_insert_copies): Likewise for local "insn".
3789 (struct set_data): Likewise for field "insn".
3790 (single_set_gcse): Likewise for param "insn".
3791 (gcse_emit_move_after): Likewise.
3792 (pre_delete): Likewise for local "insn".
3793 (update_bb_reg_pressure): Likewise for param "from" and local
3794 "insn".
3795 (should_hoist_expr_to_dom): Likewise for param "from".
3796 (hoist_code): Likewise for local "insn".
3797 (get_pressure_class_and_nregs): Likewise for param "insn".
3798 (calculate_bb_reg_pressure): Likewise for local "insn".
3799 (compute_ld_motion_mems): Likewise.
3800
3801 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3802
3803 * genpeep.c (main): Rename param back from "uncast_ins1" to
3804 "ins1", strengthening from rtx to rtx_insn *. Drop now-redundant
3805 checked cast.
3806
3807 * output.h (peephole): Strengthen param from rtx to rtx_insn *.
3808
3809 2014-08-22 Michael Meissner <meissner@linux.vnet.ibm.com>
3810
3811 PR target/62195
3812 * doc/md.texi (Machine Constraints): Update PowerPC wi constraint
3813 documentation to state it is only for VSX operations.
3814
3815 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
3816 constraint only active if VSX.
3817
3818 * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
3819 wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
3820 (lfiwzx): Likewise.
3821
3822 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3823
3824 * fwprop.c (single_def_use_dom_walker::before_dom_children):
3825 Strengthen local "insn" from rtx to rtx_insn *.
3826 (use_killed_between): Likewise for param "target_insn".
3827 (all_uses_available_at): Likewise for param "target_insn" and
3828 local "next".
3829 (update_df_init): Likewise for params "def_insn", "insn".
3830 (update_df): Likewise for param "insn".
3831 (try_fwprop_subst): Likewise for param "def_insn" and local
3832 "insn".
3833 (free_load_extend): Likewise for param "insn".
3834 (forward_propagate_subreg): Likewise for param "def_insn" and
3835 local "use_insn".
3836 (forward_propagate_asm): Likewise for param "def_insn" and local
3837 "use_insn".
3838 (forward_propagate_and_simplify): Likewise for param "def_insn"
3839 and local "use_insn".
3840 (forward_propagate_into): Likewise for locals "def_insn" and
3841 "use_insn".
3842
3843 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3844
3845 * function.c (emit_initial_value_sets): Strengthen local "seq"
3846 from rtx to rtx_insn *.
3847 (instantiate_virtual_regs_in_insn): Likewise for param "insn" and
3848 local "seq".
3849 (instantiate_virtual_regs): Likewise for local "insn".
3850 (assign_parm_setup_reg): Likewise for locals "linsn", "sinsn".
3851 (reorder_blocks_1): Likewise for param "insns" and local "insn".
3852 (expand_function_end): Likewise for locals "insn" and "seq".
3853 (epilogue_done): Likewise for local "insn".
3854 (thread_prologue_and_epilogue_insns): Likewise for locals "prev",
3855 "last", "trial".
3856 (reposition_prologue_and_epilogue_notes): Likewise for locals
3857 "insn", "last", "note", "first".
3858 (match_asm_constraints_1): Likewise for param "insn" and local "insns".
3859 (pass_match_asm_constraints::execute): Likewise for local "insn".
3860
3861 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3862
3863 * output.h (final_scan_insn): Strengthen return type from rtx to
3864 rtx_insn *.
3865 (final_forward_branch_p): Likewise for param.
3866 (current_output_insn): Likewise for this global.
3867
3868 * final.c (rtx debug_insn): Likewise for this variable.
3869 (current_output_insn): Likewise.
3870 (get_attr_length_1): Rename param "insn" to "uncast_insn",
3871 adding "insn" back in as an rtx_insn * with a checked cast, so
3872 that macro ADJUST_INSN_LENGTH can be passed an rtx_insn * as the
3873 first param.
3874 (compute_alignments): Strengthen local "label" from rtx to
3875 rtx_insn *.
3876 (shorten_branches): Rename param from "first" to "uncast_first",
3877 introducing a new local rtx_insn * "first" using a checked cast to
3878 effectively strengthen "first" from rtx to rtx_insn * without
3879 affecting the type signature. Strengthen locals "insn", "seq",
3880 "next", "label" from rtx to rtx_insn *.
3881 (change_scope): Strengthen param "orig_insn" and local "insn" from
3882 rtx to rtx_insn *.
3883 (final_start_function): Rename param from "first" to "uncast_first",
3884 introducing a new local rtx_insn * "first" using a checked cast to
3885 effectively strengthen "first" from rtx to rtx_insn * without
3886 affecting the type signature. Strengthen local "insn" from rtx to
3887 rtx_insn *.
3888 (dump_basic_block_info): Strengthen param "insn" from rtx to
3889 rtx_insn *.
3890 (final): Rename param from "first" to "uncast_first",
3891 introducing a new local rtx_insn * "first" using a checked cast to
3892 effectively strengthen "first" from rtx to rtx_insn * without
3893 affecting the type signature. Strengthen locals "insn", "next"
3894 from rtx to rtx_insn *.
3895 (output_alternate_entry_point): Strengthen param "insn" from rtx to
3896 rtx_insn *.
3897 (call_from_call_insn): Strengthen param "insn" from rtx to
3898 rtx_call_insn *.
3899 (final_scan_insn): Rename param from "insn" to "uncast_insn",
3900 introducing a new local rtx_insn * "insn" using a checked cast to
3901 effectively strengthen "insn" from rtx to rtx_insn * without
3902 affecting the type signature. Strengthen return type and locals
3903 "next", "note", "prev", "new_rtx" from rtx to rtx_insn *. Remove
3904 now-redundant checked cast to rtx_insn * from both invocations of
3905 debug_hooks->var_location. Convert CALL_P into a dyn_cast,
3906 introducing a local "call_insn" for use when invoking
3907 call_from_call_insn.
3908 (notice_source_line): Strengthen param "insn" from rtx to
3909 rtx_insn *.
3910 (leaf_function_p): Likewise for local "insn".
3911 (final_forward_branch_p): Likewise.
3912 (leaf_renumber_regs): Likewise for param "first".
3913 (rest_of_clean_state): Likewise for locals "insn" and "next".
3914 (self_recursive_call_p): Likewise for param "insn".
3915 (collect_fn_hard_reg_usage): Likewise for local "insn".
3916 (get_call_fndecl): Likewise for param "insn".
3917 (get_call_cgraph_rtl_info): Likewise.
3918 (get_call_reg_set_usage): Rename param from "insn" to "uncast_insn",
3919 introducing a new local rtx_insn * "insn" using a checked cast to
3920 effectively strengthen "insn" from rtx to rtx_insn * without
3921 affecting the type signature.
3922
3923 * config/arc/arc.c (arc_final_prescan_insn): For now, add checked
3924 cast when assigning from param "insn" to current_output_insn.
3925 (arc_pad_return): Strengthen local "insn" from rtx to rtx_insn *
3926 so that we can assign it back to current_output_insn.
3927
3928 2014-08-20 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
3929
3930 * config/avr/avr-mcus.def: Remove atmega26hvg, atmega64rfa2,
3931 atmega48hvf, atxmega32x1, atmxt224, atmxt224e, atmxt336s,
3932 atmxt540s and atmxt540sreva devices.
3933 * config/avr/avr-tables.opt: Regenerate.
3934 * config/avr/t-multilib: Regenerate.
3935 * doc/avr-mmcu.texi: Regenerate.
3936
3937 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3938
3939 * expr.c (convert_move): Strengthen local "insns" from rtx to
3940 rtx_insn *.
3941 (emit_block_move_via_loop): Strengthen locals "cmp_label" and
3942 "top_label" from rtx to rtx_code_label *.
3943 (move_block_to_reg): Strengthen local "insn", "last" from rtx to
3944 rtx_insn *.
3945 (emit_single_push_insn): Likewise for locals "prev", "last".
3946 (store_expr): Strengthen locals "lab1", "lab2", "label" from rtx
3947 to rtx_code_label *.
3948 (store_constructor): Likewise for locals "loop_start", "loop_end".
3949 (expand_cond_expr_using_cmove): Strengthen local "seq" from rtx to
3950 rtx_insn *.
3951 (expand_expr_real_2): Likewise.
3952 (expand_expr_real_1): Strengthen local "label" from rtx to
3953 rtx_code_label *.
3954
3955 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3956
3957 * expmed.c (store_bit_field_using_insv): Strengthen local "last"
3958 from rtx to rtx_insn *.
3959 (store_bit_field_1): Likewise.
3960 (extract_bit_field_1): Likewise.
3961 (expand_mult_const): Likewise for local "insns".
3962 (expmed_mult_highpart): Strengthen local "label" from rtx to
3963 rtx_code_label *.
3964 (expand_smod_pow2): Likewise.
3965 (expand_sdiv_pow2): Likewise.
3966 (expand_divmod): Strengthen locals "last", "insn" from rtx to
3967 rtx_insn *. Strengthen locals "label", "label1", "label2",
3968 "label3", "label4", "label5", "lab" from rtx to rtx_code_label *.
3969 (emit_cstore): Strengthen local "last" from rtx to rtx_insn *.
3970 (emit_store_flag): Likewise.
3971 (emit_store_flag_force): Strengthen local "label" from rtx to
3972 rtx_code_label *.
3973 (do_cmp_and_jump): Likewise for param "label".
3974
3975 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3976
3977 * explow.c (force_reg): Strengthen local "insn" from rtx to
3978 rtx_insn *.
3979 (adjust_stack_1): Likewise.
3980 (allocate_dynamic_stack_space): Likewise. Strengthen locals
3981 "final_label", "available_label", "space_available" from rtx to
3982 rtx_code_label *.
3983 (probe_stack_range): Likewise for locals "loop_lab", "end_lab".
3984 (anti_adjust_stack_and_probe): Likewise.
3985
3986 2014-08-22 David Malcolm <dmalcolm@redhat.com>
3987
3988 * except.h (sjlj_emit_function_exit_after): Strengthen param
3989 "after" from rtx to rtx_insn *. This is only called with
3990 result of get_last_insn (in function.c) so type-change should be
3991 self-contained.
3992
3993 * function.h (struct rtl_eh): Strengthen field "ehr_label" from
3994 rtx to rtx_code_label *, and field "sjlj_exit_after" from rtx
3995 to rtx_insn *. These fields are only used from except.c so this
3996 type-change should be self-contained to this patch.
3997
3998 * except.c (emit_to_new_bb_before): Strengthen param "seq" and
3999 local "last" from rtx to rtx_insn *.
4000 (dw2_build_landing_pads): Likewise for local "seq".
4001 (sjlj_mark_call_sites): Likewise for locals "insn", "before", p".
4002 (sjlj_emit_function_enter): Strengthen param "dispatch_label" from
4003 rtx to rtx_code_label *. Strengthen locals "fn_begin", "seq" from
4004 rtx to rtx_insn *.
4005 (sjlj_emit_function_exit_after): Strengthen param "after" from rtx
4006 to rtx_insn *.
4007 (sjlj_emit_function_exit): Likewise for locals "seq", "insn".
4008 (sjlj_emit_dispatch_table): Likewise for locals "seq", "seq2".
4009 (sjlj_build_landing_pads): Replace NULL_RTX with NULL when
4010 referring to an insn. Strengthen local "dispatch_label" from
4011 rtx to rtx_code_label *.
4012 (set_nothrow_function_flags): Strengthen local "insn" from rtx to
4013 rtx_insn *.
4014 (expand_eh_return): Strengthen local "around_label" from
4015 rtx to rtx_code_label *.
4016 (convert_to_eh_region_ranges): Strengthen locals "iter",
4017 "last_action_insn", "first_no_action_insn",
4018 "first_no_action_insn_before_switch",
4019 "last_no_action_insn_before_switch", from rtx to rtx_insn *.
4020
4021 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4022
4023 * dwarf2out.c (last_var_location_insn): Strengthen this variable
4024 from rtx to rtx_insn *.
4025 (cached_next_real_insn): Likewise.
4026 (dwarf2out_end_epilogue): Replace use of NULL_RTX with NULL when
4027 working with insns.
4028 (dwarf2out_var_location): Strengthen locals "next_real",
4029 "next_note", "expected_next_loc_note", "last_start", "insn" from
4030 rtx to rtx_insn *.
4031
4032 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4033
4034 * dwarf2cfi.c (add_cfis_to_fde): Strengthen locals "insn", "next"
4035 from rtx to rtx_insn *.
4036 (create_pseudo_cfg): Likewise for local "insn".
4037
4038 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4039
4040 * df-core.c (df_bb_regno_first_def_find): Strengthen local "insn"
4041 from rtx to rtx_insn *.
4042 (df_bb_regno_last_def_find): Likewise.
4043
4044 * df-problems.c (df_rd_bb_local_compute): Likewise.
4045 (df_lr_bb_local_compute): Likewise.
4046 (df_live_bb_local_compute): Likewise.
4047 (df_chain_remove_problem): Likewise.
4048 (df_chain_create_bb): Likewise.
4049 (df_word_lr_bb_local_compute): Likewise.
4050 (df_remove_dead_eq_notes): Likewise for param "insn".
4051 (df_note_bb_compute): Likewise for local "insn".
4052 (simulate_backwards_to_point): Likewise.
4053 (df_md_bb_local_compute): Likewise.
4054
4055 * df-scan.c (df_scan_free_bb_info): Likewise.
4056 (df_scan_start_dump): Likewise.
4057 (df_scan_start_block): Likewise.
4058 (df_install_ref_incremental): Likewise for local "insn".
4059 (df_insn_rescan_all): Likewise.
4060 (df_reorganize_refs_by_reg_by_insn): Likewise.
4061 (df_reorganize_refs_by_insn_bb): Likewise.
4062 (df_recompute_luids): Likewise.
4063 (df_bb_refs_record): Likewise.
4064 (df_update_entry_exit_and_calls): Likewise.
4065 (df_bb_verify): Likewise.
4066
4067 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4068
4069 * ddg.h (struct ddg_node): Strengthen fields "insn" and
4070 "first_note" from rtx to rtx_insn *.
4071 (get_node_of_insn): Likewise for param 2 "insn".
4072 (autoinc_var_is_used_p): Likewise for params "def_insn" and "use_insn".
4073
4074 * ddg.c (mem_read_insn_p): Strengthen param "insn" from rtx to
4075 rtx_insn *.
4076 (mem_write_insn_p): Likewise.
4077 (mem_access_insn_p): Likewise.
4078 (autoinc_var_is_used_p): Likewise for params "def_insn" and "use_insn".
4079 (def_has_ccmode_p): Likewise for param "insn".
4080 (add_cross_iteration_register_deps): Likewise for locals
4081 "def_insn" and "use_insn".
4082 (insns_may_alias_p): Likewise for params "insn1" and "insn2".
4083 (build_intra_loop_deps): Likewise for local "src_insn".
4084 (create_ddg): Strengthen locals "insn" and "first_note" from rtx
4085 to rtx_insn *.
4086 (get_node_of_insn): Likewise for param "insn".
4087
4088 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4089
4090 * dce.c (worklist): Strengthen from vec<rtx> to vec<rtx_insn *>.
4091 (deletable_insn_p): Strengthen param "insn" from rtx to
4092 rtx_insn *. Add checked cast to rtx_call_insn when invoking
4093 find_call_stack_args, since this is guarded by CALL_P (insn).
4094 (marked_insn_p): Strengthen param "insn" from rtx to
4095 rtx_insn *.
4096 (mark_insn): Likewise. Add checked cast to rtx_call_insn when
4097 invoking find_call_stack_args, since this is guarded by
4098 CALL_P (insn).
4099 (mark_nonreg_stores_1): Strengthen cast of "data" from rtx to
4100 rtx_insn *; we know this is an insn since this was called by
4101 mark_nonreg_stores.
4102 (mark_nonreg_stores_2): Likewise.
4103 (mark_nonreg_stores): Strengthen param "insn" from rtx to
4104 rtx_insn *.
4105 (find_call_stack_args): Strengthen param "call_insn" from rtx to
4106 rtx_call_insn *; strengthen locals "insn" and "prev_insn" from rtx
4107 to rtx_insn *.
4108 (remove_reg_equal_equiv_notes_for_defs): Strengthen param "insn"
4109 from rtx to rtx_insn *.
4110 (reset_unmarked_insns_debug_uses): Likewise for locals "insn",
4111 "next", "ref_insn".
4112 (delete_unmarked_insns): Likewise for locals "insn", "next".
4113 (prescan_insns_for_dce): Likewise for locals "insn", "prev".
4114 (mark_reg_dependencies): Likewise for param "insn".
4115 (rest_of_handle_ud_dce): Likewise for local "insn".
4116 (word_dce_process_block): Likewise.
4117 (dce_process_block): Likewise.
4118
4119 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4120
4121 * cse.c (struct qty_table_elem): Strengthen field "const_insn"
4122 from rtx to rtx_insn *.
4123 (struct change_cc_mode_args): Likewise for field "insn".
4124 (this_insn): Strengthen from rtx to rtx_insn *.
4125 (make_new_qty): Replace use of NULL_RTX with NULL when dealing
4126 with insn.
4127 (validate_canon_reg): Strengthen param "insn" from rtx to
4128 rtx_insn *.
4129 (canon_reg): Likewise.
4130 (fold_rtx): Likewise. Replace use of NULL_RTX with NULL when
4131 dealing with insn.
4132 (record_jump_equiv): Strengthen param "insn" from rtx to
4133 rtx_insn *.
4134 (try_back_substitute_reg): Likewise, also for locals "prev",
4135 "bb_head".
4136 (find_sets_in_insn): Likewise for param "insn".
4137 (canonicalize_insn): Likewise.
4138 (cse_insn): Likewise. Add a checked cast.
4139 (invalidate_from_clobbers): Likewise for param "insn".
4140 (invalidate_from_sets_and_clobbers): Likewise.
4141 (cse_process_notes_1): Replace use of NULL_RTX with NULL when
4142 dealing with insn.
4143 (cse_prescan_path): Strengthen local "insn" from rtx to
4144 rtx_insn *.
4145 (cse_extended_basic_block): Likewise for locals "insn" and
4146 "prev_insn".
4147 (cse_main): Likewise for param "f".
4148 (check_for_label_ref): Likewise for local "insn".
4149 (set_live_p): Likewise for second param ("insn").
4150 (insn_live_p): Likewise for first param ("insn") and for local
4151 "next".
4152 (cse_change_cc_mode_insn): Likewise for first param "insn".
4153 (cse_change_cc_mode_insns): Likewise for first and second params
4154 "start" and "end".
4155 (cse_cc_succs): Likewise for locals "insns", "last_insns", "insn"
4156 and "end".
4157 (cse_condition_code_reg): Likewise for locals "last_insn", "insn",
4158 "cc_src_insn".
4159
4160 2014-08-22 Alexander Ivchenko <alexander.ivchenko@intel.com>
4161 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
4162 Anna Tikhonova <anna.tikhonova@intel.com>
4163 Ilya Tocar <ilya.tocar@intel.com>
4164 Andrey Turetskiy <andrey.turetskiy@intel.com>
4165 Ilya Verbin <ilya.verbin@intel.com>
4166 Kirill Yukhin <kirill.yukhin@intel.com>
4167 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
4168
4169 * config/i386/subst.md (define_subst_attr "mask_avx512bw_condition"):
4170 New.
4171 * config/i386/sse.md
4172 (define_mode_iterator VI248_AVX2): Delete.
4173 (define_mode_iterator VI2_AVX2_AVX512BW): New.
4174 (define_mode_iterator VI48_AVX2): Ditto.
4175 (define_insn <shift_insn><mode>3): Delete.
4176 (define_insn "<shift_insn><mode>3<mask_name>" with
4177 VI2_AVX2_AVX512BW): New.
4178 (define_insn "<shift_insn><mode>3<mask_name>" with
4179 VI48_AVX2): Ditto.
4180
4181 2014-08-22 Alexander Ivchenko <alexander.ivchenko@intel.com>
4182 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
4183 Anna Tikhonova <anna.tikhonova@intel.com>
4184 Ilya Tocar <ilya.tocar@intel.com>
4185 Andrey Turetskiy <andrey.turetskiy@intel.com>
4186 Ilya Verbin <ilya.verbin@intel.com>
4187 Kirill Yukhin <kirill.yukhin@intel.com>
4188 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
4189
4190 * config/i386/sse.md
4191 (define_mode_iterator VI4F_BRCST32x2): New.
4192 (define_mode_attr 64x2_mode): Ditto.
4193 (define_mode_attr 32x2mode): Ditto.
4194 (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"
4195 with VI4F_BRCST32x2): Ditto.
4196 (define_insn "<mask_codefor>avx512vl_broadcast<mode><mask_name>_1"
4197 with V16FI mode iterator): Ditto.
4198 (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>_1"
4199 with V16FI): Ditto.
4200 (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>_1"
4201 with VI8F_BRCST64x2): Ditto.
4202
4203 2014-08-22 Alexander Ivchenko <alexander.ivchenko@intel.com>
4204 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
4205 Anna Tikhonova <anna.tikhonova@intel.com>
4206 Ilya Tocar <ilya.tocar@intel.com>
4207 Andrey Turetskiy <andrey.turetskiy@intel.com>
4208 Ilya Verbin <ilya.verbin@intel.com>
4209 Kirill Yukhin <kirill.yukhin@intel.com>
4210 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
4211
4212 * config/i386/sse.md
4213 (define_mode_iterator VI8_AVX512VL): New.
4214 (define_insn "avx512cd_maskb_vec_dup<mode>"): Macroize.
4215
4216 2014-08-22 Kirill Yukhin <kirill.yukhin@intel.com>
4217
4218 * gcc/config/i386/sse.md (define_mode_iterator V_AVX512VL): Delete.
4219 (define_mode_iterator V48_AVX512VL): New.
4220 (define_mode_iterator V12_AVX512VL): Ditto.
4221 (define_insn <avx512>_load<mode>_mask): Split into two similar
4222 patterns which use different mode iterators: V48_AVX512VL V12_AVX512VL.
4223 Refactor output template.
4224 (define_insn "<avx512>_store<mode>_mask"): Ditto.
4225
4226 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4227
4228 * cprop.c (struct occr): Strengthen field "insn" from rtx to
4229 rtx_insn *.
4230 (reg_available_p): Likewise for param "insn".
4231 (insert_set_in_table): Likewise.
4232 (hash_scan_set): Likewise.
4233 (hash_scan_insn): Likewise.
4234 (make_set_regs_unavailable): Likewise.
4235 (compute_hash_table_work): Likewise for local "insn".
4236 (reg_not_set_p): Strengthen param "insn" from const_rtx to
4237 const rtx_insn *.
4238 (mark_oprs_set): Strengthen param "insn" from rtx to rtx_insn *.
4239 (try_replace_reg): Likewise.
4240 (find_avail_set): Likewise.
4241 (cprop_jump): Likewise for params "setcc", "jump".
4242 (constprop_register): Likewise for param "insn".
4243 (cprop_insn): Likewise.
4244 (do_local_cprop): Likewise.
4245 (local_cprop_pass): Likewise for local "insn".
4246 (bypass_block): Likewise for params "setcc" and "jump".
4247 (bypass_conditional_jumps): Likewise for locals "setcc" and
4248 "insn".
4249 (one_cprop_pass): Likewise for local "insn".
4250
4251 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4252
4253 * compare-elim.c (struct comparison_use): Strengthen field "insn"
4254 from rtx to rtx_insn *.
4255 (struct comparison): Likewise, also for field "prev_clobber".
4256 (conforming_compare): Likewise for param "insn".
4257 (arithmetic_flags_clobber_p): Likewise.
4258 (find_flags_uses_in_insn): Likewise.
4259 (find_comparison_dom_walker::before_dom_children): Likewise for
4260 locals "insn", "next", "last_clobber".
4261 (try_eliminate_compare): Likewise for locals "insn", "bb_head".
4262
4263 2014-08-22 David Malcolm <dmalcolm@redhat.com>
4264
4265 * combine-stack-adj.c (struct csa_reflist): Strengthen field
4266 "insn" from rtx to rtx_insn *.
4267 (single_set_for_csa): Likewise for param "insn".
4268 (record_one_stack_ref): Likewise.
4269 (try_apply_stack_adjustment): Likewise.
4270 (struct record_stack_refs_data): Likewise for field "insn".
4271 (maybe_move_args_size_note): Likewise for params "last" and "insn".
4272 (prev_active_insn_bb): Likewise for return type and param "insn".
4273 (next_active_insn_bb): Likewise.
4274 (force_move_args_size_note): Likewise for params "prev" and "last"
4275 and locals "test", "next_candidate", "prev_candidate".
4276 (combine_stack_adjustments_for_block): Strengthen locals
4277 "last_sp_set", "last2_sp_set", "insn", "next" from rtx to
4278 rtx_insn *.
4279
4280 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4281
4282 * combine.c (i2mod): Strengthen this variable from rtx to rtx_insn *.
4283 (struct reg_stat_struct): Likewise for fields "last_death", "last_set".
4284 (subst_insn): Likewise for this variable.
4285 (added_links_insn): Likewise.
4286 (struct insn_link): Likewise for field "insn".
4287 (alloc_insn_link): Likewise for param "insn".
4288 (struct undobuf): Likewise for field "other_insn".
4289 (find_single_use): Likewise for param "insn" and local "next".
4290 (combine_validate_cost): Likewise for params "i0", "i1", "i2", "i3".
4291 (delete_noop_moves): Likewise for locals "insn", "next".
4292 (create_log_links): Likewise for locals "insn", "use_insn".
4293 Strengthen local "next_use" from rtx * to rtx_insn **.
4294 (insn_a_feeds_b): Likewise for params "a", "b".
4295 (combine_instructions): Likewise for param "f" and locals "insn",
4296 "next", "prev", "first", "last_combined_insn", "link", "link1",
4297 "temp". Replace use of NULL_RTX with NULL when referring to
4298 insns.
4299 (setup_incoming_promotions): Likewise for param "first"
4300 (set_nonzero_bits_and_sign_copies): Likewise for local "insn".
4301 (can_combine_p): Likewise for params "insn", "i3", "pred",
4302 "pred2", "succ", "succ2" and for local "p".
4303 (combinable_i3pat): Likewise for param "i3".
4304 (cant_combine_insn_p): Likewise for param "insn".
4305 (likely_spilled_retval_p): Likewise.
4306 (adjust_for_new_dest): Likewise.
4307 (update_cfg_for_uncondjump): Likewise, also for local "insn".
4308 (try_combine): Likewise for return type and for params "i3", "i2",
4309 "i1", "i0", "last_combined_insn", and for locals "insn",
4310 "cc_use_insn", "p", "first", "last", "i2_insn", "i1_insn",
4311 "i0_insn". Eliminate local "tem" in favor of new locals
4312 "tem_note" and "tem_insn", the latter being an rtx_insn *. Add a
4313 checked cast for now to rtx_insn * on the return type of
4314 gen_rtx_INSN. Replace use of NULL_RTX with NULL when referring to
4315 insns.
4316 (find_split_point): Strengthen param "insn" from rtx to
4317 rtx_insn *.
4318 (simplify_set): Likewise for local "other_insn".
4319 (recog_for_combine): Likewise for param "insn".
4320 (record_value_for_reg): Likewise.
4321 (record_dead_and_set_regs_1): Likewise for local
4322 "record_dead_insn".
4323 (record_dead_and_set_regs): Likewise for param "insn".
4324 (record_promoted_value): Likewise.
4325 (check_promoted_subreg): Likewise.
4326 (get_last_value_validate): Likewise.
4327 (reg_dead_at_p): Likewise.
4328 (move_deaths): Likewise for param "to_insn".
4329 (distribute_notes): Likewise for params "from_insn", "i3", "i2"
4330 and locals "place", "place2", "cc0_setter". Eliminate local "tem
4331 in favor of new locals "tem_note" and "tem_insn", the latter being
4332 an rtx_insn *.
4333 (distribute_links): Strengthen locals "place", "insn" from rtx to
4334 rtx_insn *.
4335
4336 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4337
4338 * cfgrtl.c (can_delete_note_p): Require a const rtx_note * rather
4339 than a const_rtx.
4340 (can_delete_label_p): Require a const rtx_code_label * rather than
4341 a const_rtx.
4342 (delete_insn): Add checked cast to rtx_code_label * when we know
4343 we're dealing with LABEL_P (insn). Strengthen local "bb_note" from
4344 rtx to rtx_insn *.
4345 (delete_insn_chain): Strengthen locals "prev" and "current" from
4346 rtx to rtx_insn *. Add a checked cast when assigning from
4347 "finish" (strengthening the params will come later). Add a
4348 checked cast to rtx_note * in region where we know
4349 NOTE_P (current).
4350 (rtl_delete_block): Strengthen locals "insn" and "end" from rtx to
4351 rtx_insn *.
4352 (compute_bb_for_insn): Likewise.
4353 (free_bb_for_insn): Likewise for local "insn".
4354 (compute_bb_for_insn): Likewise.
4355 (update_bb_for_insn_chain): Strengthen params "begin", "end" and
4356 local "insn" from rtx to rtx_insn *
4357 (flow_active_insn_p): Require a const rtx_insn * rather than a
4358 const_rtx.
4359 (contains_no_active_insn_p): Strengthen local "insn" from rtx to
4360 rtx_insn *.
4361 (can_fallthru): Likewise for locals "insn" and "insn2".
4362 (bb_note): Likewise for local "note".
4363 (first_insn_after_basic_block_note): Likewise for local "note" and
4364 for return type.
4365 (rtl_split_block): Likewise for locals "insn" and "next".
4366 (unique_locus_on_edge_between_p): Likewise for locals "insn" and
4367 "end".
4368 (rtl_merge_blocks): Likewise for locals "b_head", "b_end",
4369 "a_end", "del_first", "del_last", "b_debug_start", "b_debug_end",
4370 "prev", "tmp".
4371 (try_redirect_by_replacing_jump): Likewise for locals "insn" (both of
4372 them), "kill_from", "barrier", "new_insn".
4373 (patch_jump_insn): Likewise for params "insn", "old_label".
4374 (redirect_branch_edge): Likewise for locals "old_label", "insn".
4375 (force_nonfallthru_and_redirect): Likewise for locals "insn",
4376 "old_label", "new_label".
4377 (rtl_tidy_fallthru_edge): Likewise for local "q".
4378 (rtl_split_edge): Likewise for locals "before", "last".
4379 (commit_one_edge_insertion): Likewise for locals "before",
4380 "after", "insns", "tmp", "last", adding a checked cast where
4381 currently necessary.
4382 (commit_edge_insertions): Likewise.
4383 (rtl_dump_bb): Likewise for locals "insn", "last".
4384 (print_rtl_with_bb): Likewise for local "x".
4385 (rtl_verify_bb_insns): Likewise for local "x".
4386 (rtl_verify_bb_pointers): Likewise for local "insn".
4387 (rtl_verify_bb_insn_chain): Likewise for locals "x", "last_head",
4388 "head", "end".
4389 (rtl_verify_fallthru): Likewise for local "insn".
4390 (rtl_verify_bb_layout): Likewise for locals "x" and "rtx_first".
4391 (purge_dead_edges): Likewise for local "insn".
4392 (fixup_abnormal_edges): Likewise for locals "insn", "stop", "next".
4393 (skip_insns_after_block): Likewise for return type and for locals
4394 "insn", "last_insn", "next_head", "prev".
4395 (record_effective_endpoints): Likewise for locals "next_insn",
4396 "insn", "end".
4397 (fixup_reorder_chain): Likewise for locals "bb_end_insn" and "end".
4398 (verify_insn_chain): Likewise for locals "x", "prevx", "nextx".
4399 (cfg_layout_can_duplicate_bb_p): Likewise for local "insn".
4400 (duplicate_insn_chain): For now, add checked cast from rtx to
4401 rtx_insn * when returning insn.
4402 (cfg_layout_duplicate_bb): Likewise for local "insn".
4403 (cfg_layout_delete_block): Likewise for locals "insn", "next",
4404 "prev", "remaints".
4405 (cfg_layout_merge_blocks): Likewise for local "insn", "last".
4406 (rtl_block_empty_p): Likewise.
4407 (rtl_split_block_before_cond_jump): Likewise for locals "insn",
4408 "split_point", "last".
4409 (rtl_block_ends_with_call_p): Likewise for local "insn".
4410 (need_fake_edge_p): Strengthen param "insn" from const_rtx to
4411 const rtx_insn *.
4412 (rtl_flow_call_edges_add): Strengthen locals "insn", "prev_insn",
4413 "split_at_insn" from rtx to rtx_insn *.
4414 (rtl_lv_add_condition_to_bb): Likewise for locals "seq", "jump".
4415 (rtl_can_remove_branch_p): Strengthen local "insn" from const_rtx
4416 to const rtx_insn *.
4417 (rtl_account_profile_record): Likewise.
4418
4419 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4420
4421 * cfgloopanal.c (num_loop_insns): Strengthen local "insn" from
4422 rtx to rtx_insn *.
4423 (average_num_loop_insns): Likewise.
4424 (init_set_costs): Likewise for local "seq".
4425 (seq_cost): Likewise for param "seq", from const_rtx to const
4426 rtx_insn *.
4427
4428 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4429
4430 * cfgloop.c (loop_exits_from_bb_p): Strengthen local "insn" from
4431 rtx to rtx_insn *.
4432
4433 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4434
4435 * basic-block.h (flow_find_cross_jump): Strengthen params 3 and 4
4436 "f1" and "f2" from rtx * to rtx_insn **.
4437 (flow_find_head_matching_sequence): Likewise.
4438
4439 * cfgcleanup.c (try_simplify_condjump): Strengthen local
4440 "cbranch_insn" from rtx to rtx_insn *.
4441 (thread_jump): Likewise for local "insn".
4442 (try_forward_edges): Likewise for local "last".
4443 (merge_blocks_move_predecessor_nojumps): Likewise for local "barrier".
4444 (merge_blocks_move_successor_nojumps): Likewise for locals "barrier",
4445 "real_b_end".
4446 (can_replace_by): Likewise for params "i1", "i2".
4447 (old_insns_match_p): Likewise.
4448 (merge_notes): Likewise.
4449 (walk_to_nondebug_insn): Likewise for param "i1".
4450 (flow_find_cross_jump): Strengthen params "f1" and "f2" from rtx *
4451 to rtx_insn **. Strengthen locals "i1", "i2", "last1", "last2",
4452 "afterlast1", "afterlast2" from rtx to rtx_insn *.
4453 (flow_find_head_matching_sequence): Strengthen params "f1" and
4454 "f2" from rtx * to rtx_insn **. Strengthen locals "i1", "i2",
4455 "last1", "last2", "beforelast1", "beforelast2" from rtx to
4456 rtx_insn *.
4457 (outgoing_edges_match): Likewise for locals "last1", "last2".
4458 (try_crossjump_to_edge): Likewise for local "insn".
4459 Replace call to for_each_rtx with for_each_rtx_in_insn.
4460
4461 (try_crossjump_to_edge): Likewise for locals "newpos1", "newpos2".
4462 (try_head_merge_bb): Likewise for locals "e0_last_head_, "jump",
4463 "e0_last", "e_last", "head", "curr", "insn". Strengthen locals
4464 "headptr", "currptr", "nextptr" from rtx * to rtx_insn **.
4465 (try_optimize_cfg): Strengthen local "last" from rtx to
4466 rtx_insn *.
4467 (delete_dead_jumptables): Likewise for locals "insn", "next",
4468 "label".
4469
4470 * ifcvt.c (cond_exec_process_if_block): Likewise for locals
4471 "rtx then_last_head", "rtx else_last_head", "rtx then_first_tail",
4472 "rtx else_first_tail", to reflect the basic-block.h changes above.
4473
4474 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4475
4476 * cfgbuild.c (make_edges): Strengthen local "insn" from rtx to
4477 rtx_insn *.
4478 (purge_dead_tablejump_edges): Likewise.
4479 (find_bb_boundaries): Likewise for locals "insn", "end",
4480 "flow_transfer_insn".
4481
4482 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4483
4484 * caller-save.c (save_call_clobbered_regs): Strengthen locals
4485 "ins" and "prev" from rtx to rtx_insn *.
4486
4487 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4488
4489 * calls.c (emit_call_1): Strengthen local "call_insn" from rtx to
4490 rtx_insn *.
4491 (internal_arg_pointer_exp_state): Likewise for field "scan_start".
4492 (internal_arg_pointer_based_exp_scan): Likewise for locals "insn",
4493 "scan_start".
4494 (load_register_parameters): Likewise for local "before_arg".
4495 (check_sibcall_argument_overlap): Likewise for param "insn".
4496 (expand_call): Likewise for locals "normal_call_insns",
4497 "tail_call_insns", "insns", "before_call", "after_args",
4498 "before_arg", "last", "prev". Strengthen one of the "last" from
4499 rtx to rtx_call_insn *.
4500 (fixup_tail_calls): Strengthen local "insn" from rtx to
4501 rtx_insn *.
4502 (emit_library_call_value_1): Likewise for locals "before_call" and
4503 "last".
4504
4505 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4506
4507 * builtins.c (expand_builtin_longjmp): Strengthen locals "insn"
4508 and "last" from rtx to rtx_insn *.
4509 (expand_builtin_nonlocal_goto): Likewise for local "insn".
4510 (expand_builtin_apply): Strengthen local "call_insn" from rtx to
4511 rtx_call_insn *.
4512 (expand_errno_check): Strengthen local "lab" from rtx to
4513 rtx_code_label *.
4514 (expand_builtin_mathfn): Strengthen local "insns" from rtx to
4515 rtx_insn *.
4516 (expand_builtin_mathfn_2): Likewise.
4517 (expand_builtin_mathfn_ternary): Likewise.
4518 (expand_builtin_mathfn_3): Likewise.
4519 (expand_builtin_interclass_mathfn): Likewise for local "last".
4520 (expand_builtin_int_roundingfn): Likewise for local "insns".
4521 (expand_builtin_int_roundingfn_2): Likewise.
4522 (expand_builtin_strlen): Likewise for local "before_strlen".
4523 (expand_builtin_strncmp): Likewise for local "seq".
4524 (expand_builtin_signbit): Likewise for local "last".
4525 (expand_builtin_atomic_compare_exchange): Strengthen local "label"
4526 from rtx to rtx_code_label *.
4527 (expand_stack_restore): Strengthen local "prev" from rtx to
4528 rtx_insn *.
4529
4530 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4531
4532 * bt-load.c (struct btr_user_s): Strengthen field "insn" from rtx
4533 to rtx_insn *.
4534 (struct btr_def_s): Likewise.
4535 (insn_sets_btr_p): Strengthen param "insn" from const_rtx to
4536 const rtx_insn *.
4537 (add_btr_def): Likewise.
4538 (new_btr_user): Likewise.
4539 (compute_defs_uses_and_gen): Strengthen locals "insn", "last" from
4540 rtx to rtx_insn *.
4541 (link_btr_uses): Likewise.
4542 (move_btr_def): Likewise for locals "insp", "old_insn",
4543 "new_insn". Add checked cast to rtx_insn * for now on result of
4544 gen_move_insn.
4545 (can_move_up): Strengthen param "insn" from const_rtx to
4546 const rtx_insn *.
4547
4548 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4549
4550 * bb-reorder.c (copy_bb_p): Strengthen local "insn" from rtx to
4551 rtx_insn *.
4552 (get_uncond_jump_length): Likewise for locals "label", "jump".
4553 (fix_up_crossing_landing_pad): Likewise for locals "new_label",
4554 "jump", "insn".
4555 (add_labels_and_missing_jumps): Likewise for local "new_jump".
4556 (fix_up_fall_thru_edges): Likewise for local "old_jump".
4557 (find_jump_block): Likewise for local "insn".
4558 (fix_crossing_conditional_branches): Likewise for locals
4559 "old_jump", "new_jump".
4560 (fix_crossing_unconditional_branches): Likewise for locals
4561 "last_insn", "indirect_jump_sequence", "jump_insn", "cur_insn".
4562 (pass_duplicate_computed_gotos::execute): Likewise for local "insn".
4563
4564 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4565
4566 * auto-inc-dec.c (struct inc_insn): Strengthen field "insn" from
4567 rtx to rtx_insn *.
4568 (struct mem_insn): Likewise for field "insn".
4569 (reg_next_use): Strengthen from rtx * to rtx_insn **.
4570 (reg_next_inc_use): Likewise.
4571 (reg_next_def): Likewise.
4572 (move_dead_notes): Strengthen params "to_insn" and "from_insn"
4573 from rtx to rtx_insn *.
4574 (move_insn_before): Likewise for param "next_insn" and local "insns".
4575 (attempt_change): Likewise for local "mov_insn".
4576 (try_merge): Likewise for param "last_insn".
4577 (get_next_ref): Likewise for return type and local "insn".
4578 Strengthen param "next_array" from rtx * to rtx_insn **.
4579 (parse_add_or_inc): Strengthen param "insn" from rtx to
4580 rtx_insn *.
4581 (find_inc): Likewise for locals "insn" and "other_insn" (three of
4582 the latter).
4583 (merge_in_block): Likewise for locals "insn", "curr",
4584 "other_insn".
4585 (pass_inc_dec::execute): Update allocations of the arrays to
4586 reflect the stronger types.
4587
4588 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4589
4590 * asan.c (asan_clear_shadow): Strengthen locals "insn", "insns"
4591 and "jump" from rtx to rtx_insn *. Strengthen local "top_label"
4592 from rtx to rtx_code_label *.
4593
4594 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4595
4596 * alias.c (init_alias_analysis): Strengthen local "insn" from rtx
4597 to rtx_insn *.
4598
4599 2014-08-21 Michael Meissner <meissner@linux.vnet.ibm.com>
4600
4601 * config/rs6000/rs6000.c (print_operand, 'y' case): Fix code that
4602 generated a warning and prevented bootstrapping the compiler.
4603
4604 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4605
4606 * rtl.h (delete_related_insns): Strengthen return type from rtx to
4607 rtx_insn *.
4608
4609 * jump.c (delete_related_insns): Likewise, also for locals "next"
4610 and "prev".
4611
4612 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4613
4614 * genautomata.c (output_internal_insn_latency_func): When writing
4615 the function "internal_insn_latency" to insn-automata.c,
4616 strengthen params "insn" and "insn2" from rtx to rtx_insn *, thus
4617 allowing the optional guard function of (define_bypass) clauses to
4618 expect a pair of rtx_insn *, rather than a pair of rtx.
4619 (output_insn_latency_func): When writing the function
4620 "insn_latency", add an "uncast_" prefix to params "insn" and
4621 "insn2", reintroducing "insn" and "insn2" as rtx_insn * locals
4622 using checked casts from the params, thus enabling the above
4623 change to the generated "internal_insn_latency" function.
4624
4625 2014-08-21 Jan Hubicka <hubicka@ucw.cz>
4626
4627 PR tree-optimization/62091
4628 * ipa-devirt.c (ipa_polymorphic_call_context::restrict_to_inner_type):
4629 handle correctly arrays.
4630 (extr_type_from_vtbl_ptr_store): Add debug output; handle multiple
4631 inheritance binfos.
4632 (record_known_type): Walk into inner type.
4633 (ipa_polymorphic_call_context::get_dynamic_type): Likewise; strenghten
4634 condition on no type changes.
4635
4636 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4637
4638 * genattrtab.c (write_attr_get): Within the generated get_attr_
4639 functions, rename param "insn" to "uncast_insn" and reintroduce
4640 "insn" as an local rtx_insn * using a checked cast, so that "insn"
4641 is an rtx_insn * within insn-attrtab.c
4642
4643 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4644
4645 * output.h (peephole): Strengthen return type from rtx to
4646 rtx_insn *.
4647 * rtl.h (delete_for_peephole): Likewise for both params.
4648 * genpeep.c (main): In generated "peephole" function, strengthen
4649 return type and local "insn" from rtx to rtx_insn *. For now,
4650 rename param "ins1" to "uncast_ins1", adding "ins1" back as an
4651 rtx_insn *, with a checked cast.
4652 * jump.c (delete_for_peephole): Strengthen params "from", "to" and
4653 locals "insn", "next", "prev" from rtx to rtx_insn *.
4654
4655 2014-08-21 Marc Glisse <marc.glisse@inria.fr>
4656
4657 PR tree-optimization/62112
4658 * gimple-iterator.c (gsi_replace): Return whether EH cleanup is needed.
4659 * gimple-iterator.h (gsi_replace): Return bool.
4660 * tree-ssa-alias.c (ref_may_alias_global_p_1): New helper, code
4661 moved from ref_may_alias_global_p.
4662 (ref_may_alias_global_p, refs_may_alias_p, ref_maybe_used_by_stmt_p):
4663 New overloads.
4664 (ref_maybe_used_by_call_p): Take ao_ref* instead of tree.
4665 (stmt_kills_ref_p_1): Rename...
4666 (stmt_kills_ref_p): ... to this.
4667 * tree-ssa-alias.h (ref_may_alias_global_p, ref_maybe_used_by_stmt_p,
4668 stmt_kills_ref_p): Declare.
4669 * tree-ssa-dse.c (dse_possible_dead_store_p): New argument, use it.
4670 Move the self-assignment case...
4671 (dse_optimize_stmt): ... here. Handle builtin calls. Remove dead code.
4672
4673 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4674
4675 * rtl.h (try_split): Strengthen return type from rtx to rtx_insn *.
4676
4677 * emit-rtl.c (try_split): Likewise, also for locals "before" and
4678 "after". For now, don't strengthen param "trial", which requires
4679 adding checked casts when returning it.
4680
4681 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4682
4683 * debug.h (struct gcc_debug_hooks): Strengthen param 1 of hook
4684 "label" from rtx to rtx_code_label *. Strengthen param 1 of
4685 "var_location" hook from rtx to rtx_insn *.
4686 (debug_nothing_rtx): Delete in favor of...
4687 (debug_nothing_rtx_code_label): New prototype.
4688 (debug_nothing_rtx_rtx): Delete unused prototype.
4689 (debug_nothing_rtx_insn): New prototype.
4690
4691 * final.c (final_scan_insn): Add checked cast to rtx_insn * when
4692 invoking debug_hooks->var_location (in two places, one in a NOTE
4693 case of a switch statement, the other guarded by a CALL_P
4694 conditional. Add checked cast to rtx_code_label * when invoking
4695 debug_hooks->label (within CODE_LABEL case of switch statement).
4696
4697 * dbxout.c (dbx_debug_hooks): Update "label" hook from
4698 debug_nothing_rtx to debug_nothing_rtx_code_label. Update
4699 "var_location" from debug_nothing_rtx to debug_nothing_rtx_insn.
4700 (xcoff_debug_hooks): Likewise.
4701 * debug.c (do_nothing_debug_hooks): Likewise.
4702 (debug_nothing_rtx): Delete in favor of...
4703 (debug_nothing_rtx_insn): New function.
4704 (debug_nothing_rtx_rtx): Delete unused function.
4705 (debug_nothing_rtx_code_label): New function.
4706 * dwarf2out.c (dwarf2_debug_hooks): Update "label" hook from
4707 debug_nothing_rtx to debug_nothing_rtx_code_label.
4708 (dwarf2out_var_location): Strengthen param "loc_note" from rtx
4709 to rtx_insn *.
4710 * sdbout.c (sdb_debug_hooks): Update "var_location" hook from
4711 debug_nothing_rtx to debug_nothing_rtx_insn.
4712 (sdbout_label): Strengthen param "insn" from rtx to
4713 rtx_code_label *.
4714 * vmsdbgout.c (vmsdbg_debug_hooks): Update "label" hook from
4715 debug_nothing_rtx to debug_nothing_rtx_code_label. Update
4716 "var_location" hook from debug_nothing_rtx to
4717 debug_nothing_rtx_insn.
4718
4719 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4720
4721 * recog.h (insn_output_fn): Update this function typedef to match
4722 the changes below to the generated output functions, strengthening
4723 the 2nd param from rtx to rtx_insn *.
4724
4725 * final.c (get_insn_template): Add a checked cast to rtx_insn * on
4726 insn when invoking an output function, to match the new signature
4727 of insn_output_fn with a stronger second param.
4728
4729 * genconditions.c (write_header): In the generated code for
4730 gencondmd.c, strengthen the global "insn" from rtx to rtx_insn *
4731 to match the other changes in this patch.
4732
4733 * genemit.c (gen_split): Strengthen the 1st param "curr_insn" of
4734 the generated "gen_" functions from rtx to rtx_insn * within their
4735 implementations.
4736
4737 * genrecog.c (write_subroutine): Strengthen the 2nd param "insn" of
4738 the subfunctions within the generated "recog_", "split", "peephole2"
4739 function trees from rtx to rtx_insn *. For now, the top-level
4740 generated functions ("recog", "split", "peephole2") continue to
4741 take a plain rtx for "insn", to avoid introducing dependencies on
4742 other patches. Rename this 2nd param from "insn" to
4743 "uncast_insn", and reintroduce "insn" as a local variable of type
4744 rtx_insn *, initialized at the top of the generated function with
4745 a checked cast on "uncast_insn".
4746 (make_insn_sequence): Strengthen the 1st param "curr_insn" of
4747 the generated "gen_" functions from rtx to rtx_insn * within their
4748 prototypes.
4749
4750 * genoutput.c (process_template): Strengthen the 2nd param within
4751 the generated "output_" functions "insn" from rtx to rtx_insn *.
4752
4753 2014-08-20 Jan Hubicka <hubicka@ucw.cz>
4754
4755 * tree-profile.c (tree_profiling): Skip external functions
4756 when doing coverage instrumentation.
4757 * cgraphunit.c (compile): Do not assert that all nodes are reachable.
4758
4759 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4760
4761 * config/rs6000/altivec.h (vec_cpsgn): New #define.
4762 (vec_mergee): Likewise.
4763 (vec_mergeo): Likewise.
4764 (vec_cntlz): Likewise.
4765 * config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new
4766 entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR,
4767 VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P,
4768 VMRGEW, and VMRGOW.
4769 * doc/extend.texi: Document various forms of vec_cpsgn,
4770 vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor,
4771 vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq,
4772 vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne,
4773 vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt,
4774 vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz.
4775
4776 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4777
4778 * config/rs6000/rs6000.c (context.h): New include.
4779 (tree-pass.h): Likewise.
4780 (make_pass_analyze_swaps): New decl.
4781 (rs6000_option_override): Register pass_analyze_swaps.
4782 (swap_web_entry): New subsclass of web_entry_base (df.h).
4783 (special_handling_values): New enum.
4784 (union_defs): New function.
4785 (union_uses): Likewise.
4786 (insn_is_load_p): Likewise.
4787 (insn_is_store_p): Likewise.
4788 (insn_is_swap_p): Likewise.
4789 (rtx_is_swappable_p): Likewise.
4790 (insn_is_swappable_p): Likewise.
4791 (chain_purpose): New enum.
4792 (chain_contains_only_swaps): New function.
4793 (mark_swaps_for_removal): Likewise.
4794 (swap_const_vector_halves): Likewise.
4795 (adjust_subreg_index): Likewise.
4796 (permute_load): Likewise.
4797 (permute_store): Likewise.
4798 (handle_special_swappables): Likewise.
4799 (replace_swap_with_copy): Likewise.
4800 (dump_swap_insn_table): Likewise.
4801 (rs6000_analyze_swaps): Likewise.
4802 (pass_data_analyze_swaps): New pass_data.
4803 (pass_analyze_swaps): New rtl_opt_pass.
4804 (make_pass_analyze_swaps): New function.
4805 * config/rs6000/rs6000.opt (moptimize-swaps): New option.
4806
4807 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4808
4809 * sel-sched-ir.h (create_insn_rtx_from_pattern): Strengthen return
4810 type from rtx to rtx_insn *.
4811 (create_copy_of_insn_rtx): Likewise.
4812 * sel-sched-ir.c (create_insn_rtx_from_pattern): Likewise.
4813 (create_copy_of_insn_rtx): Likewise, also for local "res".
4814
4815 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4816
4817 * rtl.h (find_first_parameter_load): Strengthen return type from
4818 rtx to rtx_insn *.
4819 * rtlanal.c (find_first_parameter_load): Strengthen return type
4820 from rtx to rtx_insn *. Add checked cast for now, to postpone
4821 strengthening the params.
4822
4823 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4824
4825 PR fortran/44054
4826 * diagnostic.c: Set default caret.
4827 (diagnostic_show_locus): Use it. Tell pretty-printer that a new
4828 line is needed.
4829 * diagnostic.h (struct diagnostic_context):
4830
4831 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4832
4833 * sel-sched-ir.h (exit_insn): Strengthen from rtx to rtx_insn *.
4834 (sel_bb_head): Strengthen return type insn_t (currently just an
4835 rtx) to rtx_insn *.
4836 (sel_bb_end): Likewise.
4837
4838 * sel-sched-ir.c (exit_insn): Strengthen from rtx to rtx_insn *.
4839 (sel_bb_head): Strengthen return type and local "head" from
4840 insn_t (currently just an rtx) to rtx_insn *.
4841 (sel_bb_end): Likewise for return type.
4842 (free_nop_and_exit_insns): Replace use of NULL_RTX with NULL when
4843 working with insn.
4844
4845 2014-08-21 David Malcolm <dmalcolm@redhat.com>
4846
4847 * basic-block.h (get_last_bb_insn): Strengthen return type from
4848 rtx to rtx_insn *.
4849 * cfgrtl.c (get_last_bb_insn): Likewise, and for locals "tmp" and
4850 end".
4851
4852 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4853
4854 PR fortran/44054
4855 * diagnostic.c (default_diagnostic_finalizer): Move caret printing
4856 to here ...
4857 (diagnostic_report_diagnostic): ... from here.
4858 * toplev.c (general_init): Move code to c-family.
4859
4860 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4861
4862 * df.h (web_entry_base): Replace existing struct web_entry with a
4863 new class web_entry_base with only the predecessor member.
4864 (unionfind_root): Remove declaration and move to class member.
4865 (unionfind_union): Remove declaration and move to friend
4866 function.
4867 (union_defs): Remove declaration.
4868 * web.c (web_entry_base::unionfind_root): Modify to be member
4869 function and adjust accessors.
4870 (unionfind_union): Modify to be friend function and adjust
4871 accessors.
4872 (web_entry): New subclass of web_entry_base containing the reg
4873 member.
4874 (union_match_dups): Modify for struct -> class changes.
4875 (union_defs): Likewise.
4876 (entry_register): Likewise.
4877 (pass_web::execute): Likewise.
4878
4879 2014-08-20 Bill Schmidt <wschmidt@vnet.ibm.com>
4880
4881 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Provide
4882 builtin define __VEC_ELEMENT_REG_ORDER__.
4883
4884 2014-08-20 Martin Jambor <mjambor@suse.cz>
4885 Wei Mi <wmi@google.com>
4886
4887 PR ipa/60449
4888 PR middle-end/61776
4889 * tree-ssa-operands.c (update_stmt_operands): Remove
4890 MODIFIED_NORETURN_CALLS.
4891 * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func.
4892 (cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag.
4893 (split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls.
4894 (cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls.
4895 * tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS.
4896 * gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING.
4897 (gimple_call_set_ctrl_altering): New func.
4898 (gimple_call_ctrl_altering_p): Ditto.
4899 * tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto.
4900 (make_blocks): Use gimple_call_initialize_ctrl_altering.
4901 (is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p.
4902 (execute_fixup_cfg): Use gimple_call_ctrl_altering_p and
4903 remove MODIFIED_NORETURN_CALLS.
4904
4905 2014-08-20 Jan Hubicka <hubicka@ucw.cz>
4906
4907 * coverage.c (coverage_compute_profile_id): Return non-0;
4908 also handle symbols with unique name.
4909 (coverage_end_function): Do not skip DECL_EXTERNAL functions.
4910
4911 2014-08-20 Steve Ellcey <sellcey@mips.com>
4912
4913 PR middle-end/49191
4914 * doc/sourcebuild.texi (non_strict_align): New.
4915
4916 2014-08-20 Jan Hubicka <hubicka@ucw.cz>
4917
4918 * cgraphunit.c (ipa_passes, compile): Reshedule
4919 symtab_remove_unreachable_nodes passes; update comments.
4920 * ipa-inline.c (pass_data_ipa_inline): Do not schedule
4921 TODO_remove_functions before the pass; the functions ought to be
4922 already removed.
4923 * ipa.c (pass_data_ipa_free_inline_summary): Enable dump; schedule
4924 TODO_remove_functions.
4925 * passes.c (pass_data_early_local_passes): Do not schedule function
4926 removal.
4927 (execute_one_pass): Fix call of symtab_remove_unreachable_nodes.
4928
4929 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4930
4931 PR c/59304
4932 * opts-common.c (set_option): Call diagnostic_classify_diagnostic
4933 before setting the option.
4934 * diagnostic.c (diagnostic_classify_diagnostic): Record
4935 command-line status.
4936
4937 2014-08-20 Richard Biener <rguenther@suse.de>
4938
4939 PR lto/62190
4940 * tree.c (build_common_tree_nodes): Use make_or_reuse_type
4941 to build uint{16,32,64}_type_node.
4942
4943 2014-08-20 Terry Guo <terry.guo@arm.com>
4944
4945 * config/arm/thumb1.md (64bit splitter): Replace const_double_operand
4946 with immediate_operand.
4947
4948 2014-08-20 David Malcolm <dmalcolm@redhat.com>
4949
4950 * cfgrtl.c (duplicate_insn_chain): Convert the checked cast on
4951 "insn" from an as_a to a safe_as_a, for the case when "insn" is
4952 NULL.
4953
4954 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4955
4956 PR preprocessor/51303
4957 * incpath.c (remove_duplicates): Use cpp_warning.
4958
4959 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4960
4961 PR c/60975
4962 PR c/53063
4963 * doc/options.texi (CPP): Document it.
4964 * doc/invoke.texi (Wvariadic-macros): Fix documentation.
4965 * optc-gen.awk: Handle CPP.
4966 * opth-gen.awk: Likewise.
4967
4968 2014-08-19 David Malcolm <dmalcolm@redhat.com>
4969
4970 * rtl.h (unlink_insn_chain): Strengthen return type from rtx to
4971 rtx_insn *.
4972 (duplicate_insn_chain): Likewise.
4973 * cfgrtl.c (unlink_insn_chain): Strengthen return type from rtx to
4974 rtx_insn *, also for locals "prevfirst" and "nextlast". Add a
4975 checked cast for now (until we can strengthen the params in the
4976 same way).
4977 (duplicate_insn_chain): Likewise.
4978
4979 2014-08-19 David Malcolm <dmalcolm@redhat.com>
4980
4981 * rtl.h (next_cc0_user): Strengthen return type from rtx to
4982 rtx_insn *.
4983 (prev_cc0_setter): Likewise.
4984
4985 * emit-rtl.c (next_cc0_user): Strengthen return type from rtx to
4986 rtx_insn *, adding checked casts for now as necessary.
4987 (prev_cc0_setter): Likewise.
4988
4989 2014-08-19 David Malcolm <dmalcolm@redhat.com>
4990
4991 * expr.h (emit_move_insn): Strengthen return type from rtx to
4992 rtx_insn *.
4993 (emit_move_insn_1): Likewise.
4994 (emit_move_complex_push): Likewise.
4995 (emit_move_complex_parts): Likewise.
4996
4997 * expr.c (emit_move_via_integer): Strengthen return type from rtx
4998 to rtx_insn *. Replace use of NULL_RTX with NULL when working
4999 with insns.
5000 (emit_move_complex_push): Strengthen return type from rtx to
5001 rtx_insn *.
5002 (emit_move_complex): Likewise, also for local "ret".
5003 (emit_move_ccmode): Likewise.
5004 (emit_move_multi_word): Likewise for return type and locals
5005 "last_insn", "seq".
5006 (emit_move_insn_1): Likewise for return type and locals "result",
5007 "ret".
5008 (emit_move_insn): Likewise for return type and local "last_insn".
5009 (compress_float_constant): Likewise.
5010
5011 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5012
5013 * emit-rtl.h (emit_copy_of_insn_after): Strengthen return type
5014 from rtx to rtx_insn *.
5015
5016 * rtl.h (emit_insn_before): Likewise.
5017 (emit_insn_before_noloc): Likewise.
5018 (emit_insn_before_setloc): Likewise.
5019 (emit_jump_insn_before): Likewise.
5020 (emit_jump_insn_before_noloc): Likewise.
5021 (emit_jump_insn_before_setloc): Likewise.
5022 (emit_call_insn_before): Likewise.
5023 (emit_call_insn_before_noloc): Likewise.
5024 (emit_call_insn_before_setloc): Likewise.
5025 (emit_debug_insn_before): Likewise.
5026 (emit_debug_insn_before_noloc): Likewise.
5027 (emit_debug_insn_before_setloc): Likewise.
5028 (emit_label_before): Likewise.
5029 (emit_insn_after): Likewise.
5030 (emit_insn_after_noloc): Likewise.
5031 (emit_insn_after_setloc): Likewise.
5032 (emit_jump_insn_after): Likewise.
5033 (emit_jump_insn_after_noloc): Likewise.
5034 (emit_jump_insn_after_setloc): Likewise.
5035 (emit_call_insn_after): Likewise.
5036 (emit_call_insn_after_noloc): Likewise.
5037 (emit_call_insn_after_setloc): Likewise.
5038 (emit_debug_insn_after): Likewise.
5039 (emit_debug_insn_after_noloc): Likewise.
5040 (emit_debug_insn_after_setloc): Likewise.
5041 (emit_label_after): Likewise.
5042 (emit_insn): Likewise.
5043 (emit_debug_insn): Likewise.
5044 (emit_jump_insn): Likewise.
5045 (emit_call_insn): Likewise.
5046 (emit_label): Likewise.
5047 (gen_clobber): Likewise.
5048 (emit_clobber): Likewise.
5049 (gen_use): Likewise.
5050 (emit_use): Likewise.
5051 (emit): Likewise.
5052
5053 (emit_barrier_before): Strengthen return type from rtx to
5054 rtx_barrier *.
5055 (emit_barrier_after): Likewise.
5056 (emit_barrier): Likewise.
5057
5058 * emit-rtl.c (emit_pattern_before_noloc): Strengthen return type
5059 from rtx to rtx_insn *. Add checked casts for now when converting
5060 "last" from rtx to rtx_insn *.
5061 (emit_insn_before_noloc): Likewise for return type.
5062 (emit_jump_insn_before_noloc): Likewise.
5063 (emit_call_insn_before_noloc): Likewise.
5064 (emit_debug_insn_before_noloc): Likewise.
5065 (emit_barrier_before): Strengthen return type and local "insn"
5066 from rtx to rtx_barrier *.
5067 (emit_label_before): Strengthen return type from rtx to
5068 rtx_insn *. Add checked cast for now when returning param
5069 (emit_pattern_after_noloc): Strengthen return type from rtx to
5070 rtx_insn *. Add checked casts for now when converting "last" from
5071 rtx to rtx_insn *.
5072 (emit_insn_after_noloc): Strengthen return type from rtx to
5073 rtx_insn *.
5074 (emit_jump_insn_after_noloc): Likewise.
5075 (emit_call_insn_after_noloc): Likewise.
5076 (emit_debug_insn_after_noloc): Likewise.
5077 (emit_barrier_after): Strengthen return type from rtx to
5078 rtx_barrier *.
5079 (emit_label_after): Strengthen return type from rtx to rtx_insn *.
5080 Add checked cast for now when converting "label" from rtx to
5081 rtx_insn *.
5082 (emit_pattern_after_setloc): Strengthen return type from rtx to
5083 rtx_insn *. Add checked casts for now when converting "last" from
5084 rtx to rtx_insn *.
5085 (emit_pattern_after): Strengthen return type from rtx to
5086 rtx_insn *.
5087 (emit_insn_after_setloc): Likewise.
5088 (emit_insn_after): Likewise.
5089 (emit_jump_insn_after_setloc): Likewise.
5090 (emit_jump_insn_after): Likewise.
5091 (emit_call_insn_after_setloc): Likewise.
5092 (emit_call_insn_after): Likewise.
5093 (emit_debug_insn_after_setloc): Likewise.
5094 (emit_debug_insn_after): Likewise.
5095 (emit_pattern_before_setloc): Likewise. Add checked casts for now
5096 when converting "last" from rtx to rtx_insn *.
5097 (emit_pattern_before): Strengthen return type from rtx to
5098 rtx_insn *.
5099 (emit_insn_before_setloc): Likewise.
5100 (emit_insn_before): Likewise.
5101 (emit_jump_insn_before_setloc): Likewise.
5102 (emit_jump_insn_before): Likewise.
5103 (emit_call_insn_before_setloc): Likewise.
5104 (emit_call_insn_before): Likewise.
5105 (emit_debug_insn_before_setloc): Likewise.
5106 (emit_debug_insn_before): Likewise.
5107 (emit_insn): Strengthen return type and locals "last", "insn",
5108 "next" from rtx to rtx_insn *. Add checked cast to rtx_insn
5109 within cases where we know we have an insn.
5110 (emit_debug_insn): Likewise.
5111 (emit_jump_insn): Likewise.
5112 (emit_call_insn): Strengthen return type and local "insn" from rtx
5113 to rtx_insn *.
5114 (emit_label): Strengthen return type from rtx to rtx_insn *. Add
5115 a checked cast to rtx_insn * for now on "label".
5116 (emit_barrier): Strengthen return type from rtx to rtx_barrier *.
5117 (emit_clobber): Strengthen return type from rtx to rtx_insn *.
5118 (emit_use): Likewise.
5119 (gen_use): Likewise, also for local "seq".
5120 (emit): Likewise for return type and local "insn".
5121 (rtx_insn): Likewise for return type and local "new_rtx".
5122
5123 * cfgrtl.c (emit_barrier_after_bb): Strengthen local "barrier"
5124 from rtx to rtx_barrier *.
5125
5126 * config/sh/sh.c (output_stack_adjust): Since emit_insn has
5127 changed return type from rtx to rtx_insn *, we must update
5128 "emit_fn" type, and this in turn means updating...
5129 (frame_insn): ...this. Strengthen return type from rtx to
5130 rtx_insn *. Introduce a new local "insn" of the appropriate type.
5131
5132 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5133
5134 * emit-rtl.c (emit_jump_table_data): Strengthen return type from
5135 rtx to rtx_jump_table_data *. Also for local.
5136 * rtl.h (emit_jump_table_data): Likewise.
5137
5138 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5139
5140 * basic-block.h (create_basic_block_structure): Strengthen third
5141 param "bb_note" from rtx to rtx_note *.
5142 * rtl.h (emit_note_before): Strengthen return type from rtx to
5143 rtx_note *.
5144 (emit_note_after): Likewise.
5145 (emit_note): Likewise.
5146 (emit_note_copy): Likewise. Also, strengthen param similarly.
5147 * function.h (struct rtl_data): Strengthen field
5148 "x_stack_check_probe_note" from rtx to rtx_note *.
5149
5150 * cfgexpand.c (expand_gimple_basic_block): Strengthen local "note"
5151 from rtx to rtx_note *.
5152 * cfgrtl.c (create_basic_block_structure): Strengthen third param
5153 "bb_note" from rtx to rtx_note *.
5154 (duplicate_insn_chain): Likewise for local "last". Add a checked cast
5155 when calling emit_note_copy.
5156 * emit-rtl.c (make_note_raw): Strengthen return type from rtx to
5157 rtx_note *.
5158 (emit_note_after): Likewise.
5159 (emit_note_before): Likewise.
5160 (emit_note_copy): Likewise. Also, strengthen param similarly.
5161 (emit_note): Likewise.
5162 * except.c (emit_note_eh_region_end): Likewise for return type.
5163 Strengthen local "next" from rtx to rtx_insn *.
5164 (convert_to_eh_region_ranges): Strengthen local "note"
5165 from rtx to rtx_note *.
5166 * final.c (change_scope): Likewise.
5167 (reemit_insn_block_notes): Likewise, for both locals named "note".
5168 Also, strengthen local "insn" from rtx to rtx_insn *.
5169 * haifa-sched.c (sched_extend_bb): Strengthen local "note" from
5170 rtx to rtx_note *.
5171 * reg-stack.c (compensate_edge): Likewise for local "after". Also,
5172 strengthen local "seq" from rtx to rtx_insn *.
5173 * reload1.c (reload_as_needed): Strengthen local "marker" from rtx
5174 to rtx_note *.
5175 * sel-sched-ir.c (bb_note_pool): Strengthen from rtx_vec_t to
5176 vec<rtx_note *>.
5177 (get_bb_note_from_pool): Strengthen return type from rtx to
5178 rtx_note *.
5179 (sel_create_basic_block): Strengthen local "new_bb_note" from
5180 insn_t to rtx_note *.
5181 * var-tracking.c (emit_note_insn_var_location): Strengthen local
5182 "note" from rtx to rtx_note *.
5183 (emit_notes_in_bb): Likewise.
5184
5185 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5186
5187 * function.h (struct rtl_data): Strengthen field
5188 "x_parm_birth_insn" from rtx to rtx_insn *.
5189 * function.c (struct assign_parm_data_all): Strengthen fields
5190 "first_conversion_insn" and "last_conversion_insn" from rtx to
5191 rtx_insn *.
5192
5193 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5194
5195 * cfgexpand.c (expand_used_vars): Strengthen return type from rtx
5196 to rtx_insn *; also for local "var_end_seq".
5197 (maybe_dump_rtl_for_gimple_stmt): Likewise for param "since".
5198 (maybe_cleanup_end_of_block): Likewise for param "last" and local
5199 "insn".
5200 (expand_gimple_cond): Likewise for locals "last2" and "last".
5201 (mark_transaction_restart_calls): Likewise for local "insn".
5202 (expand_gimple_stmt): Likewise for return type and locals "last"
5203 and "insn".
5204 (expand_gimple_tailcall): Likewise for locals "last2" and "last".
5205 (avoid_complex_debug_insns): Likewise for param "insn".
5206 (expand_debug_locations): Likewise for locals "insn", "last",
5207 "prev_insn" and "insn2".
5208 (expand_gimple_basic_block): Likewise for local "last".
5209 (construct_exit_block): Likewise for locals "head", "end",
5210 "orig_end".
5211 (pass_expand::execute): Likewise for locals "var_seq",
5212 "var_ret_seq", "next".
5213
5214 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5215
5216 * asan.h (asan_emit_stack_protection): Strengthen return type from
5217 rtx to rtx_insn *.
5218 * asan.c (asan_emit_stack_protection): Likewise. Add local
5219 "insns" to hold the return value.
5220
5221 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5222
5223 * basic-block.h (bb_note): Strengthen return type from rtx to
5224 rtx_note *.
5225 * sched-int.h (bb_note): Likewise.
5226 * cfgrtl.c (bb_note): Likewise. Add a checked cast to rtx_note *.
5227
5228 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5229
5230 * rtl.h (make_insn_raw): Strengthen return type from rtx to
5231 rtx_insn *.
5232
5233 * emit-rtl.c (make_insn_raw): Strengthen return type and local
5234 "insn" from rtx to rtx_insn *.
5235 (make_debug_insn_raw): Strengthen return type from rtx to
5236 rtx_insn *; strengthen local "insn" from rtx to rtx_debug_insn *.
5237 (make_jump_insn_raw): Strengthen return type from rtx to
5238 rtx_insn *; strengthen local "insn" from rtx to rtx_jump_insn *.
5239 (make_call_insn_raw): Strengthen return type from rtx to
5240 rtx_insn *; strengthen local "insn" from rtx to rtx_call_insn *.
5241 (emit_pattern_before_noloc): Strengthen return type of "make_raw"
5242 callback from rtx to rtx_insn *; likewise for local "insn" and
5243 "next", adding a checked cast to rtx_insn in the relevant cases of
5244 the switch statement.
5245 (emit_pattern_after_noloc): Strengthen return type of "make_raw"
5246 callback from rtx to rtx_insn *.
5247 (emit_pattern_after_setloc): Likewise.
5248 (emit_pattern_after): Likewise.
5249 (emit_pattern_before_setloc): Likewise.
5250 (emit_pattern_before): Likewise.
5251
5252 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5253
5254 * emit-rtl.c (last_call_insn): Strengthen return type from rtx to
5255 rtx_call_insn *.
5256 * rtl.h (is_a_helper <rtx_call_insn *>::test): New overload,
5257 accepting an rtx_insn *.
5258 (last_call_insn): Strengthen return type from rtx to
5259 rtx_call_insn *.
5260
5261 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5262
5263 * rtl.h (delete_trivially_dead_insns): Strengthen initial param
5264 "insns" from rtx to rtx_insn *.
5265 * cse.c (delete_trivially_dead_insns): Likewise, also do it for
5266 locals "insn" and "prev".
5267
5268 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5269
5270 * rtl.h (tablejump_p): Strengthen third param from rtx * to
5271 rtx_jump_table_data **.
5272
5273 * cfgbuild.c (make_edges): Introduce local "table", using it in
5274 place of "tmp" for jump table data.
5275 (find_bb_boundaries): Strengthen local "table" from rtx to
5276 rtx_jump_table_data *.
5277 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
5278 (outgoing_edges_match): Likewise for locals "table1" and "table2".
5279 (try_crossjump_to_edge): Likewise.
5280 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise for local
5281 "table".
5282 (patch_jump_insn): Introduce local "table", using it in place of
5283 "tmp" for jump table data.
5284 (force_nonfallthru_and_redirect): Introduce local "table", so that
5285 call to tablejump_p can receive an rtx_jump_table_data **. Update
5286 logic around the call to overwrite "note" appropriately if
5287 tablejump_p returns non-zero.
5288 (get_last_bb_insn): Introduce local "table", using it in place of
5289 "tmp" for jump table data.
5290 * dwarf2cfi.c (create_trace_edges): Likewise.
5291
5292 * config/arm/arm.c (get_jump_table_size): Strengthen param "insn"
5293 from rtx to rtx_jump_table_data *.
5294 (create_fix_barrier): Strengthen local "tmp" from rtx to
5295 rtx_jump_table_data *.
5296 (arm_reorg): Likewise for local "table".
5297
5298 * config/s390/s390.c (s390_chunkify_start): Likewise.
5299
5300 * config/spu/spu.c (spu_emit_branch_hint): Likewise.
5301
5302 * jump.c (delete_related_insns): Strengthen local "lab_next" from
5303 rtx to rtx_jump_table_data *.
5304
5305 * rtlanal.c (tablejump_p): Strengthen param "tablep" from rtx * to
5306 rtx_jump_table_data **. Add a checked cast when writing through
5307 the pointer: we know there that local "table" is non-NULL and that
5308 JUMP_TABLE_DATA_P (table) holds.
5309 (label_is_jump_target_p): Introduce local "table", using it in
5310 place of "tmp" for jump table data.
5311
5312 2014-08-19 Marek Polacek <polacek@redhat.com>
5313
5314 PR c++/62153
5315 * doc/invoke.texi: Document -Wbool-compare.
5316
5317 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5318
5319 * rtl.h (entry_of_function): Strengthen return type from rtx to
5320 rtx_insn *.
5321 * cfgrtl.c (entry_of_function): Likewise.
5322
5323 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5324
5325 * emit-rtl.h (get_insns): Strengthen return type from rtx to
5326 rtx_insn *, adding a checked cast for now.
5327 (get_last_insn): Likewise.
5328
5329 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5330
5331 * rtl.h (gen_label_rtx): Strengthen return type from rtx to
5332 rtx_code_label *.
5333
5334 * emit-rtl.c (gen_label_rtx): Likewise.
5335
5336 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5337
5338 * rtl.h (previous_insn): Strengthen return type from rtx to
5339 rtx_insn *.
5340 (next_insn): Likewise.
5341 (prev_nonnote_insn): Likewise.
5342 (prev_nonnote_insn_bb): Likewise.
5343 (next_nonnote_insn): Likewise.
5344 (next_nonnote_insn_bb): Likewise.
5345 (prev_nondebug_insn): Likewise.
5346 (next_nondebug_insn): Likewise.
5347 (prev_nonnote_nondebug_insn): Likewise.
5348 (next_nonnote_nondebug_insn): Likewise.
5349 (prev_real_insn): Likewise.
5350 (next_real_insn): Likewise.
5351 (prev_active_insn): Likewise.
5352 (next_active_insn): Likewise.
5353
5354 * emit-rtl.c (next_insn): Strengthen return type from rtx to
5355 rtx_insn *, adding a checked cast.
5356 (previous_insn): Likewise.
5357 (next_nonnote_insn): Likewise.
5358 (next_nonnote_insn_bb): Likewise.
5359 (prev_nonnote_insn): Likewise.
5360 (prev_nonnote_insn_bb): Likewise.
5361 (next_nondebug_insn): Likewise.
5362 (prev_nondebug_insn): Likewise.
5363 (next_nonnote_nondebug_insn): Likewise.
5364 (prev_nonnote_nondebug_insn): Likewise.
5365 (next_real_insn): Likewise.
5366 (prev_real_insn): Likewise.
5367 (next_active_insn): Likewise.
5368 (prev_active_insn): Likewise.
5369
5370 * config/sh/sh-protos.h (sh_find_set_of_reg): Convert function ptr
5371 param "stepfunc" so that it returns an rtx_insn * rather than an
5372 rtx, to track the change to prev_nonnote_insn_bb, which is the
5373 only function this is called with.
5374 * config/sh/sh.c (sh_find_set_of_reg): Likewise.
5375
5376 2014-08-19 Jan Hubicka <hubicka@ucw.cz>
5377
5378 * ipa-visibility.c (update_visibility_by_resolution_info): Fix
5379 assert.
5380
5381 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5382
5383 * coretypes.h (class rtx_debug_insn): Add forward declaration.
5384 (class rtx_nonjump_insn): Likewise.
5385 (class rtx_jump_insn): Likewise.
5386 (class rtx_call_insn): Likewise.
5387 (class rtx_jump_table_data): Likewise.
5388 (class rtx_barrier): Likewise.
5389 (class rtx_code_label): Likewise.
5390 (class rtx_note): Likewise.
5391
5392 * rtl.h (class rtx_debug_insn): New, a subclass of rtx_insn,
5393 adding the invariant DEBUG_INSN_P (X).
5394 (class rtx_nonjump_insn): New, a subclass of rtx_insn, adding
5395 the invariant NONJUMP_INSN_P (X).
5396 (class rtx_jump_insn): New, a subclass of rtx_insn, adding
5397 the invariant JUMP_P (X).
5398 (class rtx_call_insn): New, a subclass of rtx_insn, adding
5399 the invariant CALL_P (X).
5400 (class rtx_jump_table): New, a subclass of rtx_insn, adding the
5401 invariant JUMP_TABLE_DATA_P (X).
5402 (class rtx_barrier): New, a subclass of rtx_insn, adding the
5403 invariant BARRIER_P (X).
5404 (class rtx_code_label): New, a subclass of rtx_insn, adding
5405 the invariant LABEL_P (X).
5406 (class rtx_note): New, a subclass of rtx_insn, adding
5407 the invariant NOTE_P(X).
5408 (is_a_helper <rtx_debug_insn *>::test): New.
5409 (is_a_helper <rtx_nonjump_insn *>::test): New.
5410 (is_a_helper <rtx_jump_insn *>::test): New.
5411 (is_a_helper <rtx_call_insn *>::test): New.
5412 (is_a_helper <rtx_jump_table_data *>::test): New functions,
5413 overloaded for both rtx and rtx_insn *.
5414 (is_a_helper <rtx_barrier *>::test): New.
5415 (is_a_helper <rtx_code_label *>::test): New functions, overloaded
5416 for both rtx and rtx_insn *.
5417 (is_a_helper <rtx_note *>::test): New.
5418
5419 2014-08-19 Marek Polacek <polacek@redhat.com>
5420
5421 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO,
5422 CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool.
5423 * config/i386/i386.h (CLZ_DEFINED_VALUE_AT_ZERO,
5424 CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool.
5425
5426 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5427
5428 * sel-sched-ir.h (BND_TO): insn_t will eventually be an
5429 rtx_insn *. To help with transition, for now, convert from an
5430 access macro into a pair of functions: BND_TO, returning an
5431 rtx_insn *, and...
5432 (SET_BND_TO): New function, for use where BND_TO is used as an
5433 lvalue.
5434
5435 * sel-sched-ir.c (blist_add): Update lvalue usage of BND_TO to
5436 SET_BND_TO.
5437 (BND_TO): New function, adding a checked cast.
5438 (SET_BND_TO): New function.
5439
5440 * sel-sched.c (move_cond_jump): Update lvalue usage of BND_TO to
5441 SET_BND_TO.
5442 (compute_av_set_on_boundaries): Likewise.
5443
5444 2014-08-19 H.J. Lu <hongjiu.lu@intel.com>
5445
5446 * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
5447 destination if it is used in source.
5448 (*clz<mode>2_lzcnt_falsedep_1): Likewise.
5449 (*popcount<mode>2_falsedep_1): Likewise.
5450
5451 2014-08-19 H.J. Lu <hongjiu.lu@intel.com>
5452
5453 PR other/62168
5454 * configure.ac: Set install_gold_as_default to no first.
5455 * configure: Regenerated.
5456
5457 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5458
5459 * sel-sched-ir.h (BB_NOTE_LIST): struct sel_region_bb_info_def's
5460 "note_list" field will eventually be an rtx_insn *. To help with
5461 transition, for now, convert from an access macro into a pair of
5462 functions: BB_NOTE_LIST, returning an rtx_insn *, and...
5463 (SET_BB_NOTE_LIST): New function, for use where BB_NOTE_LIST is
5464 used as an lvalue.
5465
5466 * sel-sched.c (create_block_for_bookkeeping): Update lvalue usage
5467 of BB_NOTE_LIST to SET_BB_NOTE_LIST.
5468
5469 * sel-sched-ir.c (init_bb): Likewise.
5470 (sel_restore_notes): Likewise.
5471 (move_bb_info): Likewise.
5472 (BB_NOTE_LIST): New function, adding a checked cast to rtx_insn *.
5473 (SET_BB_NOTE_LIST): New function.
5474
5475 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5476
5477 * sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx"
5478 field will eventually be an rtx_insn *. To help with transition,
5479 for now, convert from an access macro into a pair of functions:
5480 VINSN_INSN_RTX, returning an rtx_insn *, and...
5481 (SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX
5482 is used as an lvalue.
5483
5484 * sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with
5485 SET_VINSN_INSN_RTX where it's used as an lvalue.
5486 (VINSN_INSN_RTX): New function.
5487 (SET_VINSN_INSN_RTX): New function.
5488
5489 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5490
5491 * sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will
5492 eventually be rtx_insn *, but to help with transition, for now,
5493 convert from an access macro into a pair of functions: DEP_PRO
5494 returning an rtx_insn * and...
5495 (SET_DEP_PRO): New function, for use where DEP_PRO is used as an
5496 lvalue, returning an rtx&.
5497 (DEP_CON): Analogous changes to DEP_PRO above.
5498 (SET_DEP_CON): Likewise.
5499
5500 * haifa-sched.c (create_check_block_twin): Replace DEP_CON used as
5501 an lvalue to SET_DEP_CON.
5502 * sched-deps.c (init_dep_1): Likewise for DEP_PRO and DEP_CON.
5503 (sd_copy_back_deps): Likewise for DEP_CON.
5504 (DEP_PRO): New function, adding a checked cast for now.
5505 (DEP_CON): Likewise.
5506 (SET_DEP_PRO): New function.
5507 (SET_DEP_CON): Likewise.
5508
5509 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
5510
5511 * config.gcc (*-*-cygwin*): Use __cxa_atexit by default.
5512 (extra_options): Add i386/cygwin.opt.
5513 * config/i386/cygwin.h (STARTFILE_SPEC): Use crtbeginS.o if shared.
5514 (CPP_SPEC): Accept -pthread.
5515 (LINK_SPEC): Ditto.
5516 (GOMP_SELF_SPECS): Update comment.
5517 * config/i386/cygwin.opt: New file for -pthread flag.
5518
5519 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5520
5521 * df-core.c (DF_REF_INSN): New, using a checked cast for now.
5522 * df.h (DF_REF_INSN): Convert from a macro to a function, so
5523 that we can return an rtx_insn *.
5524
5525 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
5526
5527 * config/i386/cygwin.h (LINK_SPEC): Pass --tsaware flag only
5528 when building executables, not DLLs. Add --large-address-aware
5529 under the same conditions.
5530 * config/i386/cygwin-w64.h (LINK_SPEC): Pass --tsaware flag only
5531 when building executables, not DLLs. Add --large-address-aware
5532 under the same conditions when using -m32.
5533
5534 * config/i386/cygwin-stdint.h: Throughout, make type
5535 definitions dependent on target architecture, not host.
5536
5537 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5538
5539 * rtl.h (PREV_INSN): Convert to an inline function. Strengthen
5540 the return type from rtx to rtx_insn *, which will enable various
5541 conversions in followup patches. For now this is is done by a
5542 checked cast.
5543 (NEXT_INSN): Likewise.
5544 (SET_PREV_INSN): Convert to an inline function. This is intended
5545 for use as an lvalue, and so returns an rtx& to allow in-place
5546 modification.
5547 (SET_NEXT_INSN): Likewise.
5548
5549 2014-07-08 Mark Wielaard <mjw@redhat.com>
5550
5551 PR debug/59051
5552 * dwarf2out.c (modified_type_die): Handle TYPE_QUAL_RESTRICT.
5553
5554 2014-08-19 Marek Polacek <polacek@redhat.com>
5555
5556 PR c/61271
5557 * cgraphunit.c (handle_alias_pairs): Fix condition.
5558
5559 2014-08-19 Richard Biener <rguenther@suse.de>
5560
5561 * gimple-fold.c (fold_gimple_assign): Properly build a
5562 null-pointer constant when devirtualizing addresses.
5563
5564 2014-07-07 Mark Wielaard <mjw@redhat.com>
5565
5566 * dwarf2out.c (decl_quals): New function.
5567 (modified_type_die): Take one cv_quals argument instead of two,
5568 one for const and one for volatile.
5569 (add_type_attribute): Likewise.
5570 (generic_parameter_die): Call add_type_attribute with one modifier
5571 argument.
5572 (base_type_for_mode): Likewise.
5573 (add_bounds_info): Likewise.
5574 (add_subscript_info): Likewise.
5575 (gen_array_type_die): Likewise.
5576 (gen_descr_array_type_die): Likewise.
5577 (gen_entry_point_die): Likewise.
5578 (gen_enumeration_type_die): Likewise.
5579 (gen_formal_parameter_die): Likewise.
5580 (gen_subprogram_die): Likewise.
5581 (gen_variable_die): Likewise.
5582 (gen_const_die): Likewise.
5583 (gen_field_die): Likewise.
5584 (gen_pointer_type_die): Likewise.
5585 (gen_reference_type_die): Likewise.
5586 (gen_ptr_to_mbr_type_die): Likewise.
5587 (gen_inheritance_die): Likewise.
5588 (gen_subroutine_type_die): Likewise.
5589 (gen_typedef_die): Likewise.
5590 (force_type_die): Likewise.
5591
5592 2014-08-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5593
5594 * configure.ac (gcc_cv_as_comdat_group_group): Only default to no
5595 if unset.
5596 * configure: Regenerate.
5597
5598 2014-08-19 Richard Biener <rguenther@suse.de>
5599
5600 * lto-streamer-out.c (DFS::DFS_write_tree_body): Stream
5601 DECL_EXTERNALs in BLOCKs as non-references.
5602 * tree-streamer-out.c (streamer_write_chain): Likewise.
5603
5604 2014-08-19 Alexander Ivchenko <alexander.ivchenko@intel.com>
5605 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
5606 Anna Tikhonova <anna.tikhonova@intel.com>
5607 Ilya Tocar <ilya.tocar@intel.com>
5608 Andrey Turetskiy <andrey.turetskiy@intel.com>
5609 Ilya Verbin <ilya.verbin@intel.com>
5610 Kirill Yukhin <kirill.yukhin@intel.com>
5611 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
5612
5613 * config/i386/sse.md
5614 (define_mode_iterator VI48_AVX512F): Delete.
5615 (define_mode_iterator VI48_AVX512F_AVX512VL): New.
5616 (define_mode_iterator VI2_AVX512VL): Ditto.
5617 (define_insn "<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name><round_name>"):
5618 Delete.
5619 (define_insn
5620 ("<mask_codefor><avx512>_ufix_notrunc<sf2simodelower><mode><mask_name><round_name>"):
5621 New.
5622 (define_insn "avx512cd_maskw_vec_dup<mode>"): Macroize.
5623 (define_insn "<avx2_avx512f>_ashrv<mode><mask_name>"): Delete.
5624 (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
5625 with VI48_AVX512F_AVX512VL): New.
5626 (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
5627 with VI2_AVX512VL): Ditto.
5628
5629 2014-08-19 Marek Polacek <polacek@redhat.com>
5630
5631 * doc/invoke.texi: Document -Wc99-c11-compat.
5632
5633 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5634
5635 * rtl.h (PREV_INSN): Split macro in two: the existing one,
5636 for rvalues, and...
5637 (SET_PREV_INSN): New macro, for use as an lvalue.
5638 (NEXT_INSN, SET_NEXT_INSN): Likewise.
5639
5640 * caller-save.c (save_call_clobbered_regs): Convert lvalue use of
5641 PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
5642 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
5643 (fixup_abnormal_edges): Likewise.
5644 (unlink_insn_chain): Likewise.
5645 (fixup_reorder_chain): Likewise.
5646 (cfg_layout_delete_block): Likewise.
5647 (cfg_layout_merge_blocks): Likewise.
5648 * combine.c (update_cfg_for_uncondjump): Likewise.
5649 * emit-rtl.c (link_insn_into_chain): Likewise.
5650 (remove_insn): Likewise.
5651 (delete_insns_since): Likewise.
5652 (reorder_insns_nobb): Likewise.
5653 (emit_insn_after_1): Likewise.
5654 * final.c (rest_of_clean_state): Likewise.
5655 (final_scan_insn): Likewise.
5656 * gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
5657 * haifa-sched.c (concat_note_lists): Likewise.
5658 (remove_notes): Likewise.
5659 (restore_other_notes): Likewise.
5660 (move_insn): Likewise.
5661 (unlink_bb_notes): Likewise.
5662 (restore_bb_notes): Likewise.
5663 * jump.c (delete_for_peephole): Likewise.
5664 * optabs.c (emit_libcall_block_1): Likewise.
5665 * reorg.c (emit_delay_sequence): Likewise.
5666 (fill_simple_delay_slots): Likewise.
5667 * sel-sched-ir.c (sel_move_insn): Likewise.
5668 (sel_remove_insn): Likewise.
5669 (get_bb_note_from_pool): Likewise.
5670 * sel-sched.c (move_nop_to_previous_block): Likewise.
5671
5672 * config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
5673 * config/c6x/c6x.c (gen_one_bundle): Likewise.
5674 (c6x_gen_bundles): Likewise.
5675 (hwloop_optimize): Likewise.
5676 * config/frv/frv.c (frv_function_prologue): Likewise.
5677 (frv_register_nop): Likewise.
5678 * config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
5679 (ia64_reorg): Likewise.
5680 * config/mep/mep.c (mep_reorg_addcombine): Likewise.
5681 (mep_make_bundle): Likewise.
5682 (mep_bundle_insns): Likewise.
5683 * config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
5684 * config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
5685 * config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.
5686
5687 2014-08-19 David Malcolm <dmalcolm@redhat.com>
5688
5689 * basic-block.h (BB_HEAD): Convert to a function. Strengthen the
5690 return type from rtx to rtx_insn *.
5691 (BB_END): Likewise.
5692 (BB_HEADER): Likewise.
5693 (BB_FOOTER): Likewise.
5694 (SET_BB_HEAD): Convert to a function.
5695 (SET_BB_END): Likewise.
5696 (SET_BB_HEADER): Likewise.
5697 (SET_BB_FOOTER): Likewise.
5698
5699 * cfgrtl.c (BB_HEAD): New function, from macro of same name.
5700 Strengthen the return type from rtx to rtx_insn *. For now, this
5701 is done by adding a checked cast, but this will eventually
5702 become a field lookup.
5703 (BB_END): Likewise.
5704 (BB_HEADER): Likewise.
5705 (BB_FOOTER): Likewise.
5706 (SET_BB_HEAD): New function, from macro of same name. This is
5707 intended for use as an lvalue, and so returns an rtx& to allow
5708 in-place modification.
5709 (SET_BB_END): Likewise.
5710 (SET_BB_HEADER): Likewise.
5711 (SET_BB_FOOTER): Likewise.
5712
5713 2014-08-18 David Malcolm <dmalcolm@redhat.com>
5714
5715 * basic-block.h (BB_HEAD): Split macro in two: the existing one,
5716 for rvalues, and...
5717 (SET_BB_HEAD): New macro, for use as a lvalue.
5718 (BB_END, SET_BB_END): Likewise.
5719 (BB_HEADER, SET_BB_HEADER): Likewise.
5720 (BB_FOOTER, SET_BB_FOOTER): Likewise.
5721
5722 * bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
5723 of BB_* macros into SET_BB_* macros.
5724 (fix_crossing_unconditional_branches): Likewise.
5725 * caller-save.c (save_call_clobbered_regs): Likewise.
5726 (insert_one_insn): Likewise.
5727 * cfgbuild.c (find_bb_boundaries): Likewise.
5728 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
5729 (outgoing_edges_match): Likewise.
5730 (try_optimize_cfg): Likewise.
5731 * cfgexpand.c (expand_gimple_cond): Likewise.
5732 (expand_gimple_tailcall): Likewise.
5733 (expand_gimple_basic_block): Likewise.
5734 (construct_exit_block): Likewise.
5735 * cfgrtl.c (delete_insn): Likewise.
5736 (create_basic_block_structure): Likewise.
5737 (rtl_delete_block): Likewise.
5738 (rtl_split_block): Likewise.
5739 (emit_nop_for_unique_locus_between): Likewise.
5740 (rtl_merge_blocks): Likewise.
5741 (block_label): Likewise.
5742 (try_redirect_by_replacing_jump): Likewise.
5743 (emit_barrier_after_bb): Likewise.
5744 (fixup_abnormal_edges): Likewise.
5745 (record_effective_endpoints): Likewise.
5746 (relink_block_chain): Likewise.
5747 (fixup_reorder_chain): Likewise.
5748 (fixup_fallthru_exit_predecessor): Likewise.
5749 (cfg_layout_duplicate_bb): Likewise.
5750 (cfg_layout_split_block): Likewise.
5751 (cfg_layout_delete_block): Likewise.
5752 (cfg_layout_merge_blocks): Likewise.
5753 * combine.c (update_cfg_for_uncondjump): Likewise.
5754 * emit-rtl.c (add_insn_after): Likewise.
5755 (remove_insn): Likewise.
5756 (reorder_insns): Likewise.
5757 (emit_insn_after_1): Likewise.
5758 * haifa-sched.c (get_ebb_head_tail): Likewise.
5759 (restore_other_notes): Likewise.
5760 (move_insn): Likewise.
5761 (sched_extend_bb): Likewise.
5762 (fix_jump_move): Likewise.
5763 * ifcvt.c (noce_process_if_block): Likewise.
5764 (dead_or_predicable): Likewise.
5765 * ira.c (update_equiv_regs): Likewise.
5766 * reg-stack.c (change_stack): Likewise.
5767 * sel-sched-ir.c (sel_move_insn): Likewise.
5768 * sel-sched.c (move_nop_to_previous_block): Likewise.
5769
5770 * config/c6x/c6x.c (hwloop_optimize): Likewise.
5771 * config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
5772
5773 2014-08-18 David Malcolm <dmalcolm@redhat.com>
5774
5775 * rtl.h (for_each_rtx_in_insn): New function.
5776 * rtlanal.c (for_each_rtx_in_insn): Likewise.
5777
5778 2014-08-18 David Malcolm <dmalcolm@redhat.com>
5779
5780 * coretypes.h (class rtx_insn): Add forward declaration.
5781
5782 * rtl.h: Include is-a.h.
5783 (struct rtx_def): Add dummy "desc" and "tag" GTY options as a
5784 workaround to ensure gengtype knows inheritance is occurring,
5785 whilst continuing to use the pre-existing special-casing for
5786 rtx_def.
5787 (class rtx_insn): New subclass of rtx_def, adding the
5788 invariant that we're dealing with something we can sanely use
5789 INSN_UID, NEXT_INSN, PREV_INSN on.
5790 (is_a_helper <rtx_insn *>::test): New.
5791 (is_a_helper <const rtx_insn *>::test): New.
5792
5793 2014-08-18 David Malcolm <dmalcolm@redhat.com>
5794
5795 * is-a.h (template<T, U> safe_as_a <U *p>) New function.
5796
5797 2014-08-18 Jan Hubicka <hubicka@ucw.cz>
5798
5799 * ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
5800 comdats as extern.
5801
5802 2014-08-18 Jan Hubicka <hubicka@ucw.cz>
5803
5804 * gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
5805 to BUILT_IN_UNREACHABLE.
5806
5807 2014-08-18 Uros Bizjak <ubizjak@gmail.com>
5808
5809 PR target/62011
5810 * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
5811 New tune flag.
5812 * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
5813 * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
5814 (ffs<mode>2): Do not expand with tzcnt for
5815 TARGET_AVOID_FALSE_DEP_FOR_BMI.
5816 (ffssi2_no_cmove): Ditto.
5817 (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
5818 (ctz<mode>2): New expander.
5819 (*ctz<mode>2_falsedep_1): New insn_and_split pattern.
5820 (*ctz<mode>2_falsedep): New insn.
5821 (*ctz<mode>2): Rename from ctz<mode>2.
5822 (clz<mode>2_lzcnt): New expander.
5823 (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
5824 (*clz<mode>2_lzcnt_falsedep): New insn.
5825 (*clz<mode>2): Rename from ctz<mode>2.
5826 (popcount<mode>2): New expander.
5827 (*popcount<mode>2_falsedep_1): New insn_and_split pattern.
5828 (*popcount<mode>2_falsedep): New insn.
5829 (*popcount<mode>2): Rename from ctz<mode>2.
5830 (*popcount<mode>2_cmp): Remove.
5831 (*popcountsi2_cmp_zext): Ditto.
5832
5833 2014-08-18 Ajit Agarwal <ajitkum@xilinx.com>
5834
5835 * config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
5836 (microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
5837 * config/microblaze/microblaze.h
5838 (TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.
5839
5840 2014-08-18 H.J. Lu <hongjiu.lu@intel.com>
5841
5842 PR other/62168
5843 * configure.ac: Set install_gold_as_default to no for
5844 --enable-gold=no.
5845 * configure: Regenerated.
5846
5847 2014-08-18 Roman Gareev <gareevroman@gmail.com>
5848
5849 * Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
5850 * config.in: Add undef of HAVE_isl.
5851 * configure: Regenerate.
5852 * configure.ac: Add definition of HAVE_isl.
5853 * graphite-blocking.c: Add checking of HAVE_isl.
5854 * graphite-dependences.c: Likewise.
5855 * graphite-interchange.c: Likewise.
5856 * graphite-isl-ast-to-gimple.c: Likewise.
5857 * graphite-optimize-isl.c: Likewise.
5858 * graphite-poly.c: Likewise.
5859 * graphite-scop-detection.c: Likewise.
5860 * graphite-sese-to-poly.c: Likewise.
5861 * graphite.c: Likewise.
5862 * toplev.c: Replace the checking of HAVE_cloog with the checking
5863 of HAVE_isl.
5864
5865 2014-08-18 Richard Biener <rguenther@suse.de>
5866
5867 PR tree-optimization/62090
5868 * builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
5869 (fold_builtin_3): Do not fold snprintf.
5870 (fold_builtin_4): Likewise.
5871 * gimple-fold.c (gimple_fold_builtin_snprintf): New function
5872 moved from builtins.c.
5873 (gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
5874 (gimple_fold_builtin): Do not fold sprintf here.
5875
5876 2014-08-18 Richard Biener <rguenther@suse.de>
5877
5878 * gimple-fold.c (maybe_fold_reference): Move re-gimplification
5879 code to ...
5880 (maybe_canonicalize_mem_ref_addr): ... this function.
5881 (fold_stmt_1): Apply it here before all simplification.
5882
5883 2014-08-18 Ilya Enkovich <ilya.enkovich@intel.com>
5884
5885 PR ipa/61800
5886 * cgraph.h (cgraph_node::create_indirect_edge): Add
5887 compute_indirect_info param.
5888 * cgraph.c (cgraph_node::create_indirect_edge): Compute
5889 indirect_info only when it is required.
5890 * cgraphclones.c (cgraph_clone_edge): Do not recompute
5891 indirect_info fore cloned indirect edge.
5892
5893 2014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
5894 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
5895 Anna Tikhonova <anna.tikhonova@intel.com>
5896 Ilya Tocar <ilya.tocar@intel.com>
5897 Andrey Turetskiy <andrey.turetskiy@intel.com>
5898 Ilya Verbin <ilya.verbin@intel.com>
5899 Kirill Yukhin <kirill.yukhin@intel.com>
5900 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
5901
5902 * config/i386/sse.md
5903 (define_mode_iterator VI8_AVX2_AVX512BW): New.
5904 (define_insn "<sse2_avx2>_psadbw"): Add evex version.
5905
5906 2014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
5907 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
5908 Anna Tikhonova <anna.tikhonova@intel.com>
5909 Ilya Tocar <ilya.tocar@intel.com>
5910 Andrey Turetskiy <andrey.turetskiy@intel.com>
5911 Ilya Verbin <ilya.verbin@intel.com>
5912 Kirill Yukhin <kirill.yukhin@intel.com>
5913 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
5914
5915 * config/i386/sse.md
5916 (define_mode_iterator VF1_AVX512VL): New.
5917 (define_insn "ufloatv16siv16sf2<mask_name><round_name>"): Delete.
5918 (define_insn "ufloat<sseintvecmodelower><mode>2<mask_name><round_name>"):
5919 New.
5920
5921 2014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
5922 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
5923 Anna Tikhonova <anna.tikhonova@intel.com>
5924 Ilya Tocar <ilya.tocar@intel.com>
5925 Andrey Turetskiy <andrey.turetskiy@intel.com>
5926 Ilya Verbin <ilya.verbin@intel.com>
5927 Kirill Yukhin <kirill.yukhin@intel.com>
5928 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
5929
5930 * config/i386/i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
5931 * config/i386/i386.md
5932 (define_code_iterator any_float): New.
5933 (define_code_attr floatsuffix): New.
5934 * config/i386/sse.md
5935 (define_mode_iterator VF1_128_256VL): New.
5936 (define_mode_iterator VF2_512_256VL): New.
5937 (define_insn "float<si2dfmodelower><mode>2<mask_name>"): Remove unnecessary
5938 TARGET check.
5939 (define_insn "ufloatv8siv8df<mask_name>"): Delete.
5940 (define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"):
5941 New.
5942 (define_mode_attr qq2pssuff): New.
5943 (define_mode_attr sselongvecmode): New.
5944 (define_mode_attr sselongvecmodelower): New.
5945 (define_mode_attr sseintvecmode3): New.
5946 (define_insn "<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>"):
5947 New.
5948 (define_insn "*<floatsuffix>floatv2div2sf2"): New.
5949 (define_insn "<floatsuffix>floatv2div2sf2_mask"): New.
5950 (define_insn "ufloat<si2dfmodelower><mode>2<mask_name>"): New.
5951 (define_insn "ufloatv2siv2df2<mask_name>"): New.
5952
5953 2014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
5954 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
5955 Anna Tikhonova <anna.tikhonova@intel.com>
5956 Ilya Tocar <ilya.tocar@intel.com>
5957 Andrey Turetskiy <andrey.turetskiy@intel.com>
5958 Ilya Verbin <ilya.verbin@intel.com>
5959 Kirill Yukhin <kirill.yukhin@intel.com>
5960 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
5961
5962 * config/i386/sse.md
5963 (define_mode_iterator VF2_AVX512VL): New.
5964 (define_mode_attr sseintvecmode2): New.
5965 (define_insn "ufix_truncv2dfv2si2<mask_name>"): Add masking.
5966 (define_insn "fix_truncv4dfv4si2<mask_name>"): New.
5967 (define_insn "ufix_truncv4dfv4si2<mask_name>"): Ditto.
5968 (define_insn
5969 "<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>"):
5970 Ditto.
5971 (define_insn "fix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
5972 Ditto.
5973 (define_insn "ufix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
5974 Ditto.
5975
5976 2014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
5977 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
5978 Anna Tikhonova <anna.tikhonova@intel.com>
5979 Ilya Tocar <ilya.tocar@intel.com>
5980 Andrey Turetskiy <andrey.turetskiy@intel.com>
5981 Ilya Verbin <ilya.verbin@intel.com>
5982 Kirill Yukhin <kirill.yukhin@intel.com>
5983 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
5984
5985 * config/i386/i386.md
5986 (define_insn "*movoi_internal_avx"): Add evex version.
5987 (define_insn "*movti_internal"): Ditto.
5988
5989 2014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
5990 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
5991 Anna Tikhonova <anna.tikhonova@intel.com>
5992 Ilya Tocar <ilya.tocar@intel.com>
5993 Andrey Turetskiy <andrey.turetskiy@intel.com>
5994 Ilya Verbin <ilya.verbin@intel.com>
5995 Kirill Yukhin <kirill.yukhin@intel.com>
5996 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
5997
5998 * config/i386/i386.md
5999 (define_attr "isa"): Add avx512dq, noavx512dq.
6000 (define_attr "enabled"): Ditto.
6001 * config/i386/sse.md
6002 (define_insn "vec_extract_hi_<mode><mask_name>"): Support masking.
6003
6004 2014-08-18 Alexander Ivchenko <alexander.ivchenko@intel.com>
6005 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6006 Anna Tikhonova <anna.tikhonova@intel.com>
6007 Ilya Tocar <ilya.tocar@intel.com>
6008 Andrey Turetskiy <andrey.turetskiy@intel.com>
6009 Ilya Verbin <ilya.verbin@intel.com>
6010 Kirill Yukhin <kirill.yukhin@intel.com>
6011 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6012
6013 * config/i386/i386.c
6014 (ix86_expand_special_args_builtin): Handle avx512vl_storev8sf_mask,
6015 avx512vl_storev8si_mask, avx512vl_storev4df_mask, avx512vl_storev4di_mask,
6016 avx512vl_storev4sf_mask, avx512vl_storev4si_mask, avx512vl_storev2df_mask,
6017 avx512vl_storev2di_mask, avx512vl_loadv8sf_mask, avx512vl_loadv8si_mask,
6018 avx512vl_loadv4df_mask, avx512vl_loadv4di_mask, avx512vl_loadv4sf_mask,
6019 avx512vl_loadv4si_mask, avx512vl_loadv2df_mask, avx512vl_loadv2di_mask,
6020 avx512bw_loadv64qi_mask, avx512vl_loadv32qi_mask, avx512vl_loadv16qi_mask,
6021 avx512bw_loadv32hi_mask, avx512vl_loadv16hi_mask, avx512vl_loadv8hi_mask.
6022 * config/i386/i386.md (define_mode_attr ssemodesuffix): Allow V32HI mode.
6023 * config/i386/sse.md
6024 (define_mode_iterator VMOVE): Allow V4TI mode.
6025 (define_mode_iterator V_AVX512VL): New.
6026 (define_mode_iterator V): New handling for AVX512VL.
6027 (define_insn "avx512f_load<mode>_mask"): Delete.
6028 (define_insn "<avx512>_load<mode>_mask"): New.
6029 (define_insn "avx512f_store<mode>_mask"): Delete.
6030 (define_insn "<avx512>_store<mode>_mask"): New.
6031
6032
6033 2014-08-18 Yury Gribov <y.gribov@samsung.com>
6034
6035 PR sanitizer/62089
6036 * asan.c (instrument_derefs): Fix bitfield check.
6037
6038 2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
6039
6040 * config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
6041 * config/rs6000/htm.md (ttest): Remove clobber.
6042 * config/rs6000/predicates.md (any_mask_operand): New predicate.
6043 (and_operand): Reformat.
6044 (and_2rld_operand): New predicate.
6045 * config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
6046 parameter.
6047 * config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
6048 parameter. Handle AND directly.
6049 (rs6000_split_logical_di): Remove last parameter.
6050 (rs6000_split_logical): Remove last parameter. Remove obsolete
6051 comment.
6052 * config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
6053 (one_cmpl<mode>2): Adjust call of rs6000_split_logical.
6054 (ctz<mode>2, ffs<mode>2): Delete clobber. Reformat.
6055 (andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
6056 *andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
6057 and 5 anonymous splitters): Delete.
6058 (and<mode>3): New expander.
6059 (*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
6060 (and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
6061 (*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
6062 (ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
6063 (floatdisf2_internal1): Remove clobbers.
6064 (anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
6065 *anddi3_internal3_mc, and 4 anonymous splitters): Delete.
6066 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
6067 (and<mode>3 for BOOL_128): Remove clobber.
6068 (*and<mode>3_internal for BOOL_128): Remove clobber. Adjust call of
6069 rs6000_split_logical.
6070 (*bool<mode>3_internal for BOOL_128): Adjust call of
6071 rs6000_split_logical.
6072 (*boolc<mode>3_internal1 for BOOL_128,
6073 *boolc<mode>3_internal2 for BOOL_128,
6074 *boolcc<mode>3_internal1 for BOOL_128,
6075 *boolcc<mode>3_internal2 for BOOL_128,
6076 *eqv<mode>3_internal1 for BOOL_128,
6077 *eqv<mode>3_internal2 for BOOL_128,
6078 *one_cmpl<mode>3_internal for BOOL_128): Ditto.
6079 * config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
6080 clobber.
6081 (*vec_reload_and_reg_<mptrsize>): Delete.
6082
6083 2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
6084
6085 * config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
6086 and split, *boolccsi3_internal3 and split): Delete.
6087 (*boolccdi3_internal1, *boolccdi3_internal2 and split,
6088 *boolccdi3_internal3 and split): Delete.
6089 (*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
6090 (*eqv<mode>3): Move. Add TODO comment. Fix attributes.
6091
6092 2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
6093
6094 * config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
6095 and split, *boolcsi3_internal3 and split): Delete.
6096 (*boolcdi3_internal1, *boolcdi3_internal2 and split,
6097 *boolcdi3_internal3 and split): Delete.
6098 (*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.
6099
6100 2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
6101
6102 * config/rs6000/rs6000.c (print_operand) <'e'>: New.
6103 <'u'>: Also support printing the low-order 16 bits.
6104 * config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
6105 *boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
6106 (iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
6107 *booldi3_internal3 and split): Delete.
6108 (ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
6109 *bool<mode>3_dot2): New.
6110 (two anonymous define_splits for non_logical_cint_operand): Merge.
6111
6112 2014-08-17 Marek Polacek <polacek@redhat.com>
6113 Manuel López-Ibáñez <manu@gcc.gnu.org>
6114
6115 PR c/62059
6116 * diagnostic.c (adjust_line): Add gcc_checking_assert.
6117 (diagnostic_show_locus): Don't print caret diagnostic
6118 if a column is larger than the line_width.
6119
6120 2014-08-17 Roman Gareev <gareevroman@gmail.com>
6121
6122 * common.opt: Make the ISL AST generator to be the main code generator
6123 of Graphite.
6124
6125 2014-08-16 Gerald Pfeifer <gerald@pfeifer.com>
6126
6127 * wide-int.h (generic_wide_int): Declare as class instead of struct.
6128
6129 2014-08-16 John David Anglin <danglin@gcc.gnu.org>
6130
6131 PR target/61641
6132 * config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
6133 Declare.
6134 * config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
6135 (pa_output_addr_vec, pa_output_addr_diff_vec): New.
6136 * config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
6137 Define.
6138 * config/pa/pa.md (begin_brtab): Delete insn.
6139 (end_brtab): Likewise.
6140
6141 2014-08-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
6142
6143 * doc/cppopts.texi (ftrack-macro-expansion): Add missing @code.
6144
6145 2014-08-15 Jan Hubicka <hubicka@ucw.cz>
6146
6147 * ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
6148 (possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
6149 possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
6150 (get_dynamic_type): Remove.
6151 * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
6152 (clear_speculation): Bring to ipa-deivrt.h
6153 (get_class_context): Rename to ...
6154 (ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
6155 (contains_type_p): Update.
6156 (get_dynamic_type): Rename to ...
6157 ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
6158 (possible_polymorphic_call_targets): UPdate.
6159 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
6160 * ipa-prop.c (ipa_analyze_call_uses): Update.
6161
6162 2014-08-15 Oleg Endo <olegendo@gcc.gnu.org>
6163
6164 * doc/invoke.texi (SH options): Document missing processor variant
6165 options. Remove references to Hitachi. Undocument deprecated mspace
6166 option.
6167
6168 2014-08-15 Jason Merrill <jason@redhat.com>
6169
6170 * tree.c (type_hash_canon): Uncomment assert.
6171
6172 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6173
6174 * input.h (in_system_header_at): Add comment.
6175
6176 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6177
6178 PR fortran/44054
6179 * diagnostic.c (build_message_string): Make it extern.
6180 * diagnostic.h (build_message_string): Make it extern.
6181
6182 2014-08-15 Vladimir Makarov <vmakarov@redhat.com>
6183
6184 * config/rs6000/rs6000.c (rs6000_emit_move): Use SDmode for
6185 load/store from/to non-floating class pseudo.
6186
6187 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6188
6189 * input.c (diagnostic_file_cache_fini): Fix typo in comment.
6190
6191 2014-08-15 Richard Biener <rguenther@suse.de>
6192
6193 * tree-ssa-structalias.c (readonly_id): Rename to string_id.
6194 (get_constraint_for_ssa_var): Remove dead code.
6195 (get_constraint_for_1): Adjust.
6196 (find_what_var_points_to): Likewise.
6197 (init_base_vars): Likewise. STRING_CSTs do not contain pointers.
6198
6199 2014-08-15 Ilya Tocar <tocarip@gmail.com>
6200
6201 PR target/61878
6202 * config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New.
6203 (_mm512_mask_cmpge_epu32_mask): Ditto.
6204 (_mm512_cmpge_epu32_mask): Ditto.
6205 (_mm512_mask_cmpge_epi64_mask): Ditto.
6206 (_mm512_cmpge_epi64_mask): Ditto.
6207 (_mm512_mask_cmpge_epu64_mask): Ditto.
6208 (_mm512_cmpge_epu64_mask): Ditto.
6209 (_mm512_mask_cmple_epi32_mask): Ditto.
6210 (_mm512_cmple_epi32_mask): Ditto.
6211 (_mm512_mask_cmple_epu32_mask): Ditto.
6212 (_mm512_cmple_epu32_mask): Ditto.
6213 (_mm512_mask_cmple_epi64_mask): Ditto.
6214 (_mm512_cmple_epi64_mask): Ditto.
6215 (_mm512_mask_cmple_epu64_mask): Ditto.
6216 (_mm512_cmple_epu64_mask): Ditto.
6217 (_mm512_mask_cmplt_epi32_mask): Ditto.
6218 (_mm512_cmplt_epi32_mask): Ditto.
6219 (_mm512_mask_cmplt_epu32_mask): Ditto.
6220 (_mm512_cmplt_epu32_mask): Ditto.
6221 (_mm512_mask_cmplt_epi64_mask): Ditto.
6222 (_mm512_cmplt_epi64_mask): Ditto.
6223 (_mm512_mask_cmplt_epu64_mask): Ditto.
6224 (_mm512_cmplt_epu64_mask): Ditto.
6225 (_mm512_mask_cmpneq_epi32_mask): Ditto.
6226 (_mm512_mask_cmpneq_epu32_mask): Ditto.
6227 (_mm512_cmpneq_epu32_mask): Ditto.
6228 (_mm512_mask_cmpneq_epi64_mask): Ditto.
6229 (_mm512_cmpneq_epi64_mask): Ditto.
6230 (_mm512_mask_cmpneq_epu64_mask): Ditto.
6231 (_mm512_cmpneq_epu64_mask): Ditto.
6232 (_mm512_castpd_ps): Ditto.
6233 (_mm512_castpd_si512): Ditto.
6234 (_mm512_castps_pd): Ditto.
6235 (_mm512_castps_si512): Ditto.
6236 (_mm512_castsi512_ps): Ditto.
6237 (_mm512_castsi512_pd): Ditto.
6238 (_mm512_castpd512_pd128): Ditto.
6239 (_mm512_castps512_ps128): Ditto.
6240 (_mm512_castsi512_si128): Ditto.
6241 (_mm512_castpd512_pd256): Ditto.
6242 (_mm512_castps512_ps256): Ditto.
6243 (_mm512_castsi512_si256): Ditto.
6244 (_mm512_castpd128_pd512): Ditto.
6245 (_mm512_castps128_ps512): Ditto.
6246 (_mm512_castsi128_si512): Ditto.
6247 (_mm512_castpd256_pd512): Ditto.
6248 (_mm512_castps256_ps512): Ditto.
6249 (_mm512_castsi256_si512): Ditto.
6250 (_mm512_cmpeq_epu32_mask): Ditto.
6251 (_mm512_mask_cmpeq_epu32_mask): Ditto.
6252 (_mm512_mask_cmpeq_epu64_mask): Ditto.
6253 (_mm512_cmpeq_epu64_mask): Ditto.
6254 (_mm512_cmpgt_epu32_mask): Ditto.
6255 (_mm512_mask_cmpgt_epu32_mask): Ditto.
6256 (_mm512_mask_cmpgt_epu64_mask): Ditto.
6257 (_mm512_cmpgt_epu64_mask): Ditto.
6258 * config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF,
6259 V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF.
6260 * config/i386/i386.c (enum ix86_builtins): Add
6261 IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256,
6262 IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI,
6263 IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS.
6264 (bdesc_args): Add __builtin_ia32_si512_256si,
6265 __builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd,
6266 __builtin_ia32_si512_si, __builtin_ia32_ps512_ps,
6267 __builtin_ia32_pd512_pd.
6268 (ix86_expand_args_builtin): Handle new FTYPEs.
6269 * config/i386/sse.md (castmode): Add 512-bit modes.
6270 (AVX512MODE2P): New.
6271 (avx512f_<castmode><avxsizesuffix>_<castmode): New.
6272 (avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto.
6273
6274 2014-08-15 Richard Biener <rguenther@suse.de>
6275
6276 * fold-const.c (tree_swap_operands_p): Put all constants
6277 last, also strip sign-changing NOPs when considering further
6278 canonicalization. Canonicalize also when optimizing for size.
6279
6280 2014-08-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6281
6282 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
6283 one_match > zero_match case to just before simple_sequence.
6284
6285 2014-08-15 Richard Biener <rguenther@suse.de>
6286
6287 * data-streamer.h (streamer_string_index, string_for_index):
6288 Remove.
6289 * data-streamer-out.c (streamer_string_index): Make static.
6290 * data-streamer-in.c (string_for_index): Likewise.
6291 * lto-streamer-out.c (lto_output_location): Use bp_pack_string.
6292 * lto-streamer-in.c (lto_input_location): Use bp_unpack_string.
6293
6294 2014-08-15 Richard Biener <rguenther@suse.de>
6295
6296 PR tree-optimization/62031
6297 * tree-data-ref.c (dr_analyze_indices): Do not set
6298 DR_UNCONSTRAINED_BASE.
6299 (dr_may_alias_p): All indirect accesses have to go the
6300 formerly DR_UNCONSTRAINED_BASE path.
6301 * tree-data-ref.h (struct indices): Remove
6302 unconstrained_base member.
6303 (DR_UNCONSTRAINED_BASE): Remove.
6304
6305 2014-08-15 Jakub Jelinek <jakub@redhat.com>
6306
6307 PR middle-end/62092
6308 * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
6309 OMP_CLAUSE_SHARED for global vars if the global var is mentioned
6310 in OMP_CLAUSE_MAP in some outer target region.
6311
6312 2014-08-15 Bin Cheng <bin.cheng@arm.com>
6313
6314 * tree-ssa-loop-ivopts.c (ivopts_data): New field
6315 name_expansion_cache.
6316 (tree_ssa_iv_optimize_init): Initialize name_expansion_cache.
6317 (tree_ssa_iv_optimize_finalize): Free name_expansion_cache.
6318 (strip_wrap_conserving_type_conversions, expr_equal_p): Delete.
6319 (difference_cannot_overflow_p): New parameter. Use affine
6320 expansion for equality check.
6321 (iv_elimination_compare_lt): Pass new argument.
6322
6323 2014-08-14 DJ Delorie <dj@redhat.com>
6324
6325 * config/rl78/rl78-real.md (addqi3_real): Allow adding global
6326 variables to the accumulator.
6327
6328 * config/rl78/predicates.md (rl78_near_mem_operand): New.
6329 * config/rl78/rl78-virt.md (movqi_virt_mm, movqi_virt)
6330 (movhi_virt_mm): Split out near mem-mem moves to avoid problems
6331 with far-far moves.
6332
6333 * config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
6334 * config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
6335 (umulqihi3_virt): Likewise.
6336 * config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
6337 (umulqihi3_real): Likewise.
6338
6339 * config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.
6340
6341 2014-08-14 Jan Hubicka <hubicka@ucw.cz>
6342
6343 PR tree-optimization/62091
6344 * tree-ssa-alias.c (walk_aliased_vdefs_1): Do not clear
6345 function_entry_reached.
6346 (walk_aliased_vdefs): Clear it here.
6347 * ipa-devirt.c (check_stmt_for_type_change): Handle static storage.
6348
6349 2014-08-14 Jan Hubicka <hubicka@ucw.cz>
6350
6351 * ipa-utils.h (compare_virtual_tables): Declare.
6352 * ipa-devirt.c (odr_subtypes_equivalent_p): New function
6353
6354 2014-08-14 Marek Polacek <polacek@redhat.com>
6355
6356 DR 458
6357 * ginclude/stdatomic.h (__atomic_type_lock_free): Remove.
6358 (ATOMIC_*_LOCK_FREE): Map to __GCC_ATOMIC_*_LOCK_FREE.
6359
6360 2014-08-14 Tom de Vries <tom@codesourcery.com>
6361
6362 * emit-rtl.h (mem_attrs_eq_p): Remove duplicate declaration.
6363
6364 2014-08-14 Tom de Vries <tom@codesourcery.com>
6365
6366 PR rtl-optimization/62004
6367 PR rtl-optimization/62030
6368 * ifcvt.c (rtx_interchangeable_p): New function.
6369 (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
6370 * emit-rtl.h (mem_attrs_eq_p): Declare.
6371
6372 2014-08-14 Roman Gareev <gareevroman@gmail.com>
6373
6374 * graphite-scop-detection.c:
6375 Add inclusion of cp-tree.h.
6376 (graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
6377 in case they are pointers to object types
6378
6379 2014-08-14 Richard Biener <rguenther@suse.de>
6380
6381 * BASE-VER: Change to 5.0.0
6382
6383 2014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
6384 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6385 Anna Tikhonova <anna.tikhonova@intel.com>
6386 Ilya Tocar <ilya.tocar@intel.com>
6387 Andrey Turetskiy <andrey.turetskiy@intel.com>
6388 Ilya Verbin <ilya.verbin@intel.com>
6389 Kirill Yukhin <kirill.yukhin@intel.com>
6390 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6391
6392 * config/i386/sse.md (define_mode_attr avx512): New.
6393 (define_mode_attr sse2_avx_avx512f): Allow V8HI, V16HI, V32HI, V2DI,
6394 V4DI modes.
6395 (define_mode_attr sse2_avx2): Allow V64QI, V32HI, V4TI modes.
6396 (define_mode_attr ssse3_avx2): Ditto.
6397 (define_mode_attr sse4_1_avx2): Allow V64QI, V32HI, V8DI modes.
6398 (define_mode_attr avx2_avx512bw): New.
6399 (define_mode_attr ssedoublemodelower): New.
6400 (define_mode_attr ssedoublemode): Allow V8SF, V8SI, V4DI, V4DF, V4SI,
6401 V32HI, V64QI modes.
6402 (define_mode_attr ssebytemode): Allow V8DI modes.
6403 (define_mode_attr sseinsnmode): Allow V4TI, V32HI, V64QI modes.
6404 (define_mode_attr sseintvecmodelower): Allow V8DF, V4TI modes.
6405 (define_mode_attr ssePSmode2): New.
6406 (define_mode_attr ssescalarsize): Allow V64QI, V32QI, V16QI, V8HI,
6407 V16HI, V32HI modes.
6408 (define_mode_attr dbpsadbwmode): New.
6409 (define_mode_attr bcstscalarsuff): Allow V64QI, V32QI, V16QI, V32HI,
6410 V16HI, V8HI, V8SI, V4SI, V4DI, V2DI, V8SF, V4SF, V4DF, V2DF modes.
6411 (vi8_sse4_1_avx2_avx512): New.
6412 (define_insn <sse4_1_avx2>_movntdqa): Use <vi8_sse4_1_avx2_avx512>
6413 mode attribute.
6414 (define_mode_attr blendbits): Move before its immediate use.
6415
6416 2014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
6417 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6418 Anna Tikhonova <anna.tikhonova@intel.com>
6419 Ilya Tocar <ilya.tocar@intel.com>
6420 Andrey Turetskiy <andrey.turetskiy@intel.com>
6421 Ilya Verbin <ilya.verbin@intel.com>
6422 Kirill Yukhin <kirill.yukhin@intel.com>
6423 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6424
6425 * config/i386/sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
6426 * config/i386/subst.md
6427 (define_mode_iterator SUBST_V): Update.
6428 (define_mode_iterator SUBST_A): Ditto.
6429 (define_subst_attr "mask_operand7"): New.
6430 (define_subst_attr "mask_operand10"): New.
6431 (define_subst_attr "mask_operand_arg34") : New.
6432 (define_subst_attr "mask_expand_op3"): New.
6433 (define_subst_attr "mask_mode512bit_condition"): Handle TARGET_AVX512VL.
6434 (define_subst_attr "sd_mask_mode512bit_condition"): Ditto.
6435 (define_subst_attr "mask_avx512vl_condition"): New.
6436 (define_subst_attr "round_mask_operand4"): Ditto.
6437 (define_subst_attr "round_mask_scalar_op3"): Delete.
6438 (define_subst_attr "round_mask_op4"): New.
6439 (define_subst_attr "round_mode512bit_condition"): Allow V8DImode,
6440 V16SImode.
6441 (define_subst_attr "round_modev8sf_condition"): New.
6442 (define_subst_attr "round_modev4sf_condition"): GET_MODE instead of
6443 <MODE>mode.
6444 (define_subst_attr "round_saeonly_mask_operand4"): New.
6445 (define_subst_attr "round_saeonly_mask_op4"): New.
6446 (define_subst_attr "round_saeonly_mode512bit_condition"): Allow
6447 V8DImode, V16SImode.
6448 (define_subst_attr "round_saeonly_modev8sf_condition"): New.
6449 (define_subst_attr "mask_expand4_name" "mask_expand4"): New.
6450 (define_subst_attr "mask_expand4_args"): New.
6451 (define_subst "mask_expand4"): New.
6452
6453 2014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
6454 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6455 Anna Tikhonova <anna.tikhonova@intel.com>
6456 Ilya Tocar <ilya.tocar@intel.com>
6457 Andrey Turetskiy <andrey.turetskiy@intel.com>
6458 Ilya Verbin <ilya.verbin@intel.com>
6459 Kirill Yukhin <kirill.yukhin@intel.com>
6460 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6461
6462 * config/i386/i386.md
6463 (define_attr "isa"): Add avx512bw,noavx512bw.
6464 (define_attr "enabled"): Ditto.
6465 (define_split): Add 32/64-bit mask logic.
6466 (define_insn "*k<logic>qi"): New.
6467 (define_insn "*k<logic>hi"): New.
6468 (define_insn "*anddi_1"): Add mask version.
6469 (define_insn "*andsi_1"): Ditto.
6470 (define_insn "*<code><mode>_1"): Ditto.
6471 (define_insn "*<code>hi_1"): Ditto.
6472 (define_insn "kxnor<mode>"): New.
6473 (define_insn "kunpcksi"): New.
6474 (define_insn "kunpckdi"): New.
6475 (define_insn "*one_cmpl<mode>2_1"): Add mask version.
6476 (define_insn "*one_cmplhi2_1"): Ditto.
6477
6478 2014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
6479 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6480 Anna Tikhonova <anna.tikhonova@intel.com>
6481 Ilya Tocar <ilya.tocar@intel.com>
6482 Andrey Turetskiy <andrey.turetskiy@intel.com>
6483 Ilya Verbin <ilya.verbin@intel.com>
6484 Kirill Yukhin <kirill.yukhin@intel.com>
6485 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6486
6487 * config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
6488 V32HImode.
6489
6490 2014-08-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
6491 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6492 Anna Tikhonova <anna.tikhonova@intel.com>
6493 Ilya Tocar <ilya.tocar@intel.com>
6494 Andrey Turetskiy <andrey.turetskiy@intel.com>
6495 Ilya Verbin <ilya.verbin@intel.com>
6496 Kirill Yukhin <kirill.yukhin@intel.com>
6497 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6498
6499 * config/i386/i386.c (print_reg): Сorrectly print 64-bit mask
6500 registers.
6501 (inline_secondary_memory_needed): Allow 64 bit wide mask registers.
6502 (ix86_hard_regno_mode_ok): Allow 32/64-bit mask registers and
6503 xmm/ymm16+ when availble.
6504 * config/i386/i386.h
6505 (HARD_REGNO_NREGS): Add mask regs.
6506 (VALID_AVX512F_REG_MODE): Ditto.
6507 (VALID_AVX512F_REG_MODE) : Define.
6508 (VALID_MASK_AVX512BW_MODE): Ditto.
6509 (reg_class) (MASK_REG_P(X)): Define.
6510 * config/i386/i386.md: Do not split long moves with mask register,
6511 use kmovb if avx512bw is availible.
6512 (movdi_internal): Handle mask registers.
6513
6514 2014-08-14 Richard Biener <rguenther@suse.de>
6515
6516 PR tree-optimization/62081
6517 * tree-ssa-loop.c (pass_fix_loops): New pass.
6518 (pass_tree_loop::gate): Do not fixup loops here.
6519 * tree-pass.h (make_pass_fix_loops): Declare.
6520 * passes.def: Schedule pass_fix_loops before GIMPLE loop passes.
6521
6522 2014-08-14 Richard Biener <rguenther@suse.de>
6523
6524 * tree.c (type_hash_lookup, type_hash_add): Merge into ...
6525 (type_hash_canon): ... this and avoid 2nd lookup for the add.
6526
6527 2014-08-14 Richard Biener <rguenther@suse.de>
6528
6529 PR tree-optimization/62090
6530 * builtins.c (fold_builtin_sprintf): Move to gimple-fold.c.
6531 (fold_builtin_2): Do not fold sprintf.
6532 (fold_builtin_3): Likewise.
6533 * gimple-fold.c (gimple_fold_builtin_sprintf): New function
6534 moved from builtins.c.
6535 (gimple_fold_builtin): Fold sprintf.
6536
6537 2014-08-14 Richard Biener <rguenther@suse.de>
6538
6539 PR rtl-optimization/62079
6540 * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
6541 run cleanup_cfg.
6542
6543 2014-08-14 Ilya Enkovich <ilya.enkovich@intel.com>
6544
6545 * ipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of
6546 current_function_decl.
6547
6548 2014-08-14 Ilya Enkovich <ilya.enkovich@intel.com>
6549
6550 * cgraph.c (cgraph_node::function_symbol): Fix wrong
6551 cgraph_function_node to cgraph_node::function_symbol
6552 refactoring.
6553
6554 2014-08-14 Zhenqiang Chen <zhenqiang.chen@arm.com>
6555
6556 * config/arm/arm.c (arm_option_override): Set max_insns_skipped
6557 to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2.
6558
6559 2014-08-13 Chen Gang gang.chen.5i5j@gmail.com
6560
6561 * microblaze/microblaze.md: Remove redundant '@' to avoid compiling
6562 warning.
6563
6564 2014-08-13 Roman Gareev <gareevroman@gmail.com>
6565
6566 * gcc.dg/graphite/pr35356-2.c: Update according to the ISL code
6567 generator.
6568
6569 2014-08-12 Jakub Jelinek <jakub@redhat.com>
6570
6571 PR target/62025
6572 * sched-deps.c (find_inc): Check if inc_insn doesn't clobber
6573 any registers that are used in mem_insn.
6574
6575 2014-08-12 Steve Ellcey <sellcey@mips.com>
6576
6577 * config/mips/mips.h (ASM_SPEC): Pass float options to assembler.
6578
6579 2014-08-12 Steve Ellcey <sellcey@mips.com>
6580
6581 * config/mips/t-mti-elf (MULTILIB_OPTIONS): Remove fp64 multilib.
6582 (MULTILIB_DIRNAMES): Ditto.
6583 * config/mips/t-mti-elf (MULTILIB_OPTIONS): Ditto.
6584 * config/mips/t-mti-elf (MULTILIB_EXCEPTIONS): Ditto.
6585 * config/mips/t-mti-linux (MULTILIB_OPTIONS): Ditto.
6586 * config/mips/t-mti-linux (MULTILIB_DIRNAMES): Ditto.
6587 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Ditto.
6588 * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Ditto.
6589
6590 2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6591
6592 PR target/61413
6593 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
6594 of __ARM_SIZEOF_WCHAR_T.
6595
6596 2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6597
6598 PR target/62098
6599 * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
6600 Remove unnecessary attributes.
6601
6602 2014-08-12 Yury Gribov <y.gribov@samsung.com>
6603
6604 * internal-fn.c (init_internal_fns): Fix off-by-one.
6605
6606 2014-08-12 Alexander Ivchenko <alexander.ivchenko@intel.com>
6607 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6608 Anna Tikhonova <anna.tikhonova@intel.com>
6609 Ilya Tocar <ilya.tocar@intel.com>
6610 Andrey Turetskiy <andrey.turetskiy@intel.com>
6611 Ilya Verbin <ilya.verbin@intel.com>
6612 Kirill Yukhin <kirill.yukhin@intel.com>
6613 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6614
6615 * config/i386/i386.c (standard_sse_constant_opcode): Use
6616 vpxord/vpternlog if avx512 is availible.
6617
6618 2014-08-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
6619
6620 PR middle-end/62103
6621 * gimple-fold.c (fold_ctor_reference): Don't fold in presence of
6622 bitfields, that is when size doesn't match the size of type or the
6623 size of the constructor.
6624
6625 2014-08-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6626
6627 * config/rs6000/constraints.md (wh constraint): New constraint,
6628 for FP registers if direct move is available.
6629 (wi constraint): New constraint, for VSX/FP registers that can
6630 handle 64-bit integers.
6631 (wj constraint): New constraint for VSX/FP registers that can
6632 handle 64-bit integers for direct moves.
6633 (wk constraint): New constraint for VSX/FP registers that can
6634 handle 64-bit doubles for direct moves.
6635 (wy constraint): Make documentation match implementation.
6636
6637 * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
6638 scalar_in_vmx_p field to simplify tests of whether SFmode or
6639 DFmode can go in the Altivec registers.
6640 (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
6641 (rs6000_setup_reg_addr_masks): Likewise.
6642 (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
6643 field, and wh/wi/wj/wk constraints.
6644 (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
6645 the wh/wi/wj/wk constraints.
6646 (rs6000_preferred_reload_class): If SFmode/DFmode can go in the
6647 upper registers, prefer VSX registers unless the operation is a
6648 memory operation with REG+OFFSET addressing.
6649
6650 * config/rs6000/vsx.md (VSr mode attribute): Add support for
6651 DImode. Change SFmode to use ww constraint instead of d to allow
6652 SF registers in the upper registers.
6653 (VSr2): Likewise.
6654 (VSr3): Likewise.
6655 (VSr5): Fix thinko in comment.
6656 (VSa): New mode attribute that is an alternative to wa, that
6657 returns the VSX register class that a mode can go in, but may not
6658 be the preferred register class.
6659 (VS_64dm): New mode attribute for appropriate register classes for
6660 referencing 64-bit elements of vectors for direct moves and normal
6661 moves.
6662 (VS_64reg): Likewise.
6663 (vsx_mov<mode>): Change wa constraint to <VSa> to limit the
6664 register allocator to only registers the data type can handle.
6665 (vsx_le_perm_load_<mode>): Likewise.
6666 (vsx_le_perm_store_<mode>): Likewise.
6667 (vsx_xxpermdi2_le_<mode>): Likewise.
6668 (vsx_xxpermdi4_le_<mode>): Likewise.
6669 (vsx_lxvd2x2_le_<mode>): Likewise.
6670 (vsx_lxvd2x4_le_<mode>): Likewise.
6671 (vsx_stxvd2x2_le_<mode>): Likewise.
6672 (vsx_add<mode>3): Likewise.
6673 (vsx_sub<mode>3): Likewise.
6674 (vsx_mul<mode>3): Likewise.
6675 (vsx_div<mode>3): Likewise.
6676 (vsx_tdiv<mode>3_internal): Likewise.
6677 (vsx_fre<mode>2): Likewise.
6678 (vsx_neg<mode>2): Likewise.
6679 (vsx_abs<mode>2): Likewise.
6680 (vsx_nabs<mode>2): Likewise.
6681 (vsx_smax<mode>3): Likewise.
6682 (vsx_smin<mode>3): Likewise.
6683 (vsx_sqrt<mode>2): Likewise.
6684 (vsx_rsqrte<mode>2): Likewise.
6685 (vsx_tsqrt<mode>2_internal): Likewise.
6686 (vsx_fms<mode>4): Likewise.
6687 (vsx_nfma<mode>4): Likewise.
6688 (vsx_eq<mode>): Likewise.
6689 (vsx_gt<mode>): Likewise.
6690 (vsx_ge<mode>): Likewise.
6691 (vsx_eq<mode>_p): Likewise.
6692 (vsx_gt<mode>_p): Likewise.
6693 (vsx_ge<mode>_p): Likewise.
6694 (vsx_xxsel<mode>): Likewise.
6695 (vsx_xxsel<mode>_uns): Likewise.
6696 (vsx_copysign<mode>3): Likewise.
6697 (vsx_float<VSi><mode>2): Likewise.
6698 (vsx_floatuns<VSi><mode>2): Likewise.
6699 (vsx_fix_trunc<mode><VSi>2): Likewise.
6700 (vsx_fixuns_trunc<mode><VSi>2): Likewise.
6701 (vsx_x<VSv>r<VSs>i): Likewise.
6702 (vsx_x<VSv>r<VSs>ic): Likewise.
6703 (vsx_btrunc<mode>2): Likewise.
6704 (vsx_b2trunc<mode>2): Likewise.
6705 (vsx_floor<mode>2): Likewise.
6706 (vsx_ceil<mode>2): Likewise.
6707 (vsx_<VS_spdp_insn>): Likewise.
6708 (vsx_xscvspdp): Likewise.
6709 (vsx_xvcvspuxds): Likewise.
6710 (vsx_float_fix_<mode>2): Likewise.
6711 (vsx_set_<mode>): Likewise.
6712 (vsx_extract_<mode>_internal1): Likewise.
6713 (vsx_extract_<mode>_internal2): Likewise.
6714 (vsx_extract_<mode>_load): Likewise.
6715 (vsx_extract_<mode>_store): Likewise.
6716 (vsx_splat_<mode>): Likewise.
6717 (vsx_xxspltw_<mode>): Likewise.
6718 (vsx_xxspltw_<mode>_direct): Likewise.
6719 (vsx_xxmrghw_<mode>): Likewise.
6720 (vsx_xxmrglw_<mode>): Likewise.
6721 (vsx_xxsldwi_<mode>): Likewise.
6722 (vsx_xscvdpspn): Tighten constraints to only use register classes
6723 the types use.
6724 (vsx_xscvspdpn): Likewise.
6725 (vsx_xscvdpspn_scalar): Likewise.
6726
6727 * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
6728 wj, and wk constraints.
6729 (GPR_REG_CLASS_P): New helper macro for register classes targeting
6730 general purpose registers.
6731
6732 * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
6733 direct moves.
6734 (zero_extendsidi2_lfiwz): Use wj constraint for direct move of
6735 DImode instead of wm. Use wk constraint for direct move of DFmode
6736 instead of wm.
6737 (extendsidi2_lfiwax): Likewise.
6738 (lfiwax): Likewise.
6739 (lfiwzx): Likewise.
6740 (movdi_internal64): Likewise.
6741
6742 * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
6743 wk constraints. Make the wy constraint documentation match them
6744 implementation.
6745
6746 2014-08-11 Mircea Namolaru <mircea.namolaru@inria.fr>
6747
6748 Replacement of isl_int by isl_val
6749 * graphite-clast-to-gimple.c: include isl/val.h, isl/val_gmp.h
6750 (compute_bounds_for_param): use isl_val instead of isl_int
6751 (compute_bounds_for_loop): likewise
6752 * graphite-interchange.c: include isl/val.h, isl/val_gmp.h
6753 (build_linearized_memory_access): use isl_val instead of isl_int
6754 (pdr_stride_in_loop): likewise
6755 * graphite-optimize-isl.c:
6756 (getPrevectorMap): use isl_val instead of isl_int
6757 * graphite-poly.c:
6758 (pbb_number_of_iterations_at_time): use isl_val instead of isl_int
6759 graphite-sese-to-poly.c: include isl/val.h, isl/val_gmp.h
6760 (extern the_isl_ctx): declare
6761 (build_pbb_scattering_polyhedrons): use isl_val instead of isl_int
6762 (extract_affine_gmp): likewise
6763 (wrap): likewise
6764 (build_loop_iteration_domains): likewise
6765 (add_param_constraints): likewise
6766
6767 2014-08-11 Richard Biener <rguenther@suse.de>
6768
6769 PR tree-optimization/62075
6770 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
6771 handle uses in patterns.
6772
6773 2014-08-11 Alexander Ivchenko <alexander.ivchenko@intel.com>
6774 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6775 Anna Tikhonova <anna.tikhonova@intel.com>
6776 Ilya Tocar <ilya.tocar@intel.com>
6777 Andrey Turetskiy <andrey.turetskiy@intel.com>
6778 Ilya Verbin <ilya.verbin@intel.com>
6779 Kirill Yukhin <kirill.yukhin@intel.com>
6780 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6781
6782 * common/config/i386/i386-common.c
6783 (OPTION_MASK_ISA_AVX512VL_SET): Define.
6784 (OPTION_MASK_ISA_AVX512F_UNSET): Update.
6785 (ix86_handle_option): Handle OPT_mavx512vl.
6786 * config/i386/cpuid.h (bit_AVX512VL): Define.
6787 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vl,
6788 set -mavx512vl accordingly.
6789 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6790 OPTION_MASK_ISA_AVX512VL.
6791 * config/i386/i386.c (ix86_target_string): Handle -mavx512vl.
6792 (ix86_option_override_internal): Define PTA_AVX512VL, handle
6793 PTA_AVX512VL and OPTION_MASK_ISA_AVX512VL.
6794 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512vl.
6795 * config/i386/i386.h (TARGET_AVX512VL): Define.
6796 (TARGET_AVX512VL_P(x)): Ditto.
6797 * config/i386/i386.opt: Add mavx512vl.
6798
6799 2014-08-11 Felix Yang <fei.yang0953@gmail.com>
6800
6801 PR tree-optimization/62073
6802 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
6803 a basic block.
6804
6805 2014-08-11 Alexander Ivchenko <alexander.ivchenko@intel.com>
6806 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6807 Anna Tikhonova <anna.tikhonova@intel.com>
6808 Ilya Tocar <ilya.tocar@intel.com>
6809 Andrey Turetskiy <andrey.turetskiy@intel.com>
6810 Ilya Verbin <ilya.verbin@intel.com>
6811 Kirill Yukhin <kirill.yukhin@intel.com>
6812 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6813
6814 * common/config/i386/i386-common.c
6815 (OPTION_MASK_ISA_AVX512BW_SET) : Define.
6816 (OPTION_MASK_ISA_AVX512BW_UNSET): Ditto.
6817 (OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto.
6818 (ix86_handle_option): Handle OPT_mavx512bw.
6819 * config/i386/cpuid.h (bit_AVX512BW): Define.
6820 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw,
6821 set -mavx512bw accordingly.
6822 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6823 OPTION_MASK_ISA_AVX512BW.
6824 * config/i386/i386.c (ix86_target_string): Handle -mavx512bw.
6825 (ix86_option_override_internal): Define PTA_AVX512BW, handle
6826 PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW.
6827 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw.
6828 * config/i386/i386.h (TARGET_AVX512BW): Define.
6829 (TARGET_AVX512BW_P(x)): Ditto.
6830 * config/i386/i386.opt: Add mavx512bw.
6831
6832 2014-08-11 Richard Biener <rguenther@suse.de>
6833
6834 PR tree-optimization/62070
6835 * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
6836 Remove SSA checking.
6837
6838 2014-08-11 Yury Gribov <y.gribov@samsung.com>
6839
6840 * asan.c (asan_check_flags): New enum.
6841 (build_check_stmt_with_calls): Removed function.
6842 (build_check_stmt): Split inlining logic to
6843 asan_expand_check_ifn.
6844 (instrument_derefs): Rename parameter.
6845 (instrument_mem_region_access): Rename parameter.
6846 (instrument_strlen_call): Likewise.
6847 (asan_expand_check_ifn): New function.
6848 (asan_instrument): Remove old code.
6849 (pass_sanopt::execute): Change handling of
6850 asan-instrumentation-with-call-threshold.
6851 (asan_clear_shadow): Fix formatting.
6852 (asan_function_start): Likewise.
6853 (asan_emit_stack_protection): Likewise.
6854 * doc/invoke.texi (asan-instrumentation-with-call-threshold):
6855 Update description.
6856 * internal-fn.c (expand_ASAN_CHECK): New function.
6857 * internal-fn.def (ASAN_CHECK): New internal function.
6858 * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
6859 Update description.
6860 (PARAM_ASAN_USE_AFTER_RETURN): Likewise.
6861 * tree.c: Small comment fix.
6862
6863 2014-08-11 Yury Gribov <y.gribov@samsung.com>
6864
6865 * gimple.c (gimple_call_fnspec): Support internal functions.
6866 (gimple_call_return_flags): Use const.
6867 * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
6868 * internal-fn.def: Add fnspec information.
6869 * internal-fn.h (internal_fn_fnspec): New function.
6870 (init_internal_fns): Declare new function.
6871 * internal-fn.c (internal_fn_fnspec_array): New global variable.
6872 (init_internal_fns): New function.
6873 * tree-core.h: Update macro call.
6874 * tree.c (build_common_builtin_nodes): Initialize internal fns.
6875
6876 2014-08-10 Gerald Pfeifer <gerald@pfeifer.com>
6877
6878 * lto-streamer.h (struct output_block::symbol): Change from
6879 struct symtab_node to plain symtab_node.
6880 (referenced_from_this_partition_p): Change first parameter
6881 from struct symtab_node to plain symtab_node.
6882
6883 2014-08-10 Marek Polacek <polacek@redhat.com>
6884
6885 PR c/51849
6886 * gcc/doc/invoke.texi: Document -Wc90-c99-compat.
6887
6888 2014-08-09 Jan Hubicka <hubicka@ucw.cz>
6889
6890 * ipa-devirt.c (get_dynamic_type): Handle case when instance is in
6891 DECL correctly; do not give up on types in static storage.
6892
6893 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
6894
6895 * doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11.
6896
6897 2014-08-09 Roman Gareev <gareevroman@gmail.com>
6898
6899 * graphite-isl-ast-to-gimple.c:
6900 (translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.
6901
6902 * gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.
6903
6904 2014-08-08 Guozhi Wei <carrot@google.com>
6905
6906 * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
6907
6908 2014-08-08 Cary Coutant <ccoutant@google.com>
6909
6910 * dwarf2out.c (get_skeleton_type_unit): Remove.
6911 (output_skeleton_debug_sections): Remove skeleton type units.
6912 (output_comdat_type_unit): Likewise.
6913 (dwarf2out_finish): Likewise.
6914
6915 2014-08-07 Yi Yang <ahyangyi@google.com>
6916
6917 * predict.c (expr_expected_value_1): Remove the redundant assignment.
6918
6919 2014-08-08 Richard Biener <rguenther@suse.de>
6920
6921 * lto-streamer.h (struct lto_input_block): Make it a class
6922 with a constructor.
6923 (LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove.
6924 (struct lto_function_header, struct lto_simple_header,
6925 struct lto_simple_header_with_strings,
6926 struct lto_decl_header, struct lto_function_header): Make
6927 a simple inheritance hieararchy. Remove unused fields.
6928 (struct lto_asm_header): Remove.
6929 * lto-streamer-out.c (produce_asm): Adjust.
6930 (lto_output_toplevel_asms): Likewise.
6931 (produce_asm_for_decls): Likewise.
6932 * lto-section-out.c (lto_destroy_simple_output_block): Likewise.
6933 * data-streamer-in.c (string_for_index): Likewise.
6934 * ipa-inline-analysis.c (inline_read_section): Likewise.
6935 * ipa-prop.c (ipa_prop_read_section): Likewise.
6936 (read_replacements_section): Likewise.
6937 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
6938 * lto-section-in.c (lto_create_simple_input_block): Likewise.
6939 (lto_destroy_simple_input_block): Likewise.
6940 * lto-streamer-in.c (lto_read_body_or_constructor): Likewise.
6941 (lto_input_toplevel_asms): Likewise.
6942
6943 2014-08-08 Alexander Ivchenko <alexander.ivchenko@intel.com>
6944 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
6945 Anna Tikhonova <anna.tikhonova@intel.com>
6946 Ilya Tocar <ilya.tocar@intel.com>
6947 Andrey Turetskiy <andrey.turetskiy@intel.com>
6948 Ilya Verbin <ilya.verbin@intel.com>
6949 Kirill Yukhin <kirill.yukhin@intel.com>
6950 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
6951
6952 * common/config/i386/i386-common.c
6953 (OPTION_MASK_ISA_AVX512DQ_SET): Define.
6954 (OPTION_MASK_ISA_AVX512DQ_UNSET): Ditto.
6955 (ix86_handle_option): Handle OPT_mavx512dq.
6956 * config/i386/cpuid.h (bit_AVX512DQ): Define.
6957 * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512dq,
6958 set -mavx512dq accordingly.
6959 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6960 OPTION_MASK_ISA_AVX512DQ.
6961 * config/i386/i386.c (ix86_target_string): Handle -mavx512dq.
6962 (ix86_option_override_internal): Define PTA_AVX512DQ, handle
6963 PTA_AVX512DQ and OPTION_MASK_ISA_AVX512DQ.
6964 (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512dq.
6965 * config/i386/i386.h (TARGET_AVX512DQ): Define.
6966 (TARGET_AVX512DQ_P(x)): Ditto.
6967 * config/i386/i386.opt: Add mavx512dq.
6968
6969 2014-08-08 Richard Biener <rguenther@suse.de>
6970
6971 * builtins.c (c_getstr, readonly_data_expr, init_target_chars,
6972 target_percent, target_percent_s): Export.
6973 (var_decl_component_p, fold_builtin_memory_op, fold_builtin_memset,
6974 fold_builtin_bzero, fold_builtin_strcpy, fold_builtin_strncpy,
6975 fold_builtin_strcat, fold_builtin_fputs, fold_builtin_memory_chk,
6976 fold_builtin_stxcpy_chk, fold_builtin_stxncpy_chk,
6977 fold_builtin_sprintf_chk_1, fold_builtin_snprintf_chk_1):
6978 Move to gimple-fold.c.
6979 (fold_builtin_2): Remove handling of bzero, fputs, fputs_unlocked,
6980 strcat and strcpy.
6981 (fold_builtin_3): Remove handling of memset, bcopy, memcpy,
6982 mempcpy, memmove, strncpy, strcpy_chk and stpcpy_chk.
6983 (fold_builtin_4): Remove handling of memcpy_chk, mempcpy_chk,
6984 memmove_chk, memset_chk, strncpy_chk and stpncpy_chk.
6985 (rewrite_call_expr_array): Remove.
6986 (fold_builtin_sprintf_chk): Likewise.
6987 (fold_builtin_snprintf_chk): Likewise.
6988 (fold_builtin_varargs): Remove handling of sprintf_chk,
6989 vsprintf_chk, snprintf_chk and vsnprintf_chk.
6990 (gimple_fold_builtin_sprintf_chk): Remove.
6991 (gimple_fold_builtin_snprintf_chk): Likewise.
6992 (gimple_fold_builtin_varargs): Likewise.
6993 (fold_call_stmt): Do not call gimple_fold_builtin_varargs.
6994 * predict.c (optimize_bb_for_size_p): Handle NULL bb.
6995 * gimple.c (gimple_seq_add_seq_without_update): New function.
6996 * gimple.h (gimple_seq_add_seq_without_update): Declare.
6997 * gimple-fold.c: Include output.h.
6998 (gsi_replace_with_seq_vops): New function, split out from ...
6999 (gimplify_and_update_call_from_tree): ... here.
7000 (replace_call_with_value): New function.
7001 (replace_call_with_call_and_fold): Likewise.
7002 (var_decl_component_p): Moved from builtins.c.
7003 (gimple_fold_builtin_memory_op): Moved from builtins.c
7004 fold_builtin_memory_op and rewritten to GIMPLE.
7005 (gimple_fold_builtin_memset): Likewise.
7006 (gimple_fold_builtin_strcpy): Likewise.
7007 (gimple_fold_builtin_strncpy): Likewise.
7008 (gimple_fold_builtin_strcat): Likewise.
7009 (gimple_fold_builtin_fputs): Likewise.
7010 (gimple_fold_builtin_memory_chk): Likewise.
7011 (gimple_fold_builtin_stxcpy_chk): Likewise.
7012 (gimple_fold_builtin_stxncpy_chk): Likewise.
7013 (gimple_fold_builtin_snprintf_chk): Likewise.
7014 (gimple_fold_builtin_sprintf_chk): Likewise.
7015 (gimple_fold_builtin_strlen): New function.
7016 (gimple_fold_builtin_with_strlen): New function split out from
7017 gimple_fold_builtin.
7018 (gimple_fold_builtin): Change signature and handle
7019 bzero, memset, bcopy, memcpy, mempcpy and memmove folding
7020 here. Call gimple_fold_builtin_with_strlen.
7021 (gimple_fold_call): Adjust.
7022
7023 2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
7024
7025 * calls.c (precompute_arguments): Check
7026 promoted_for_signed_and_unsigned_p and set the promoted mode.
7027 (promoted_for_signed_and_unsigned_p): New function.
7028 (expand_expr_real_1): Check promoted_for_signed_and_unsigned_p
7029 and set the promoted mode.
7030 * expr.h (promoted_for_signed_and_unsigned_p): New function definition.
7031 * cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if
7032 SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED.
7033
7034
7035 2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
7036
7037 * calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET
7038 instead of SUBREG_PROMOTED_UNSIGNED_SET.
7039 (expand_call): Likewise.
7040 * cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN
7041 to get promoted mode.
7042 * combine.c (record_promoted_value): Skip > 0 comparison with
7043 SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1.
7044 * expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead
7045 of SUBREG_PROMOTED_UNSIGNED_P.
7046 (convert_modes): Likewise.
7047 (store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode.
7048 Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P.
7049 (expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of
7050 SUBREG_PROMOTED_UNSIGNED_SET.
7051 * function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET
7052 instead of SUBREG_PROMOTED_UNSIGNED_SET.
7053 * ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and
7054 SUBREG_PROMOTED_SET.
7055 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Use
7056 SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
7057 * optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead
7058 of SUBREG_PROMOTED_UNSIGNED_P.
7059 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove.
7060 (SUBREG_PROMOTED_SET): New define.
7061 (SUBREG_PROMOTED_GET): Likewise.
7062 (SUBREG_PROMOTED_SIGN): Likewise.
7063 (SUBREG_PROMOTED_SIGNED_P): Likewise.
7064 (SUBREG_CHECK_PROMOTED_SIGN): Likewise.
7065 (SUBREG_PROMOTED_UNSIGNED_P): Updated.
7066 * rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET
7067 instead of SUBREG_PROMOTED_UNSIGNED_GET.
7068 (nonzero_bits1): Skip > 0 comparison with the results as
7069 SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1.
7070 (num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead
7071 of !SUBREG_PROMOTED_UNSIGNED_P.
7072 * simplify-rtx.c (simplify_unary_operation_1): Use new
7073 SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P.
7074 (simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P,
7075 SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of
7076 SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET.
7077
7078 2014-08-07 Jan Hubicka <hubicka@ucw.cz>
7079
7080 * ipa-devirt.c: Include gimple-pretty-print.h
7081 (referenced_from_vtable_p): Exclude DECL_EXTERNAL from
7082 further tests.
7083 (decl_maybe_in_construction_p): Fix conditional on cdtor check
7084 (get_polymorphic_call_info): Fix return value
7085 (type_change_info): New sturcture based on ipa-prop
7086 variant.
7087 (noncall_stmt_may_be_vtbl_ptr_store): New predicate
7088 based on ipa-prop variant.
7089 (extr_type_from_vtbl_ptr_store): New function
7090 based on ipa-prop variant.
7091 (record_known_type): New function.
7092 (check_stmt_for_type_change): New function.
7093 (get_dynamic_type): New function.
7094 * ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
7095 * tree-ssa-pre.c: ipa-utils.h
7096 (eliminate_dom_walker::before_dom_children): Use ipa-devirt
7097 machinery; sanity check with ipa-prop devirtualization.
7098 * trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
7099 polymorphic flag.
7100
7101 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
7102
7103 * Makefile.in: Remove references to pointer-set.c and pointer-set.h.
7104 * alias.c, cfgexpand.c, cgraphbuild.c,
7105 config/aarch64/aarch64-builtins.c, config/aarch64/aarch64.c,
7106 config/alpha/alpha.c, config/darwin.c, config/i386/i386.c,
7107 config/i386/winnt.c, config/ia64/ia64.c, config/m32c/m32c.c,
7108 config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c,
7109 config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c,
7110 config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c,
7111 config/tilepro/tilepro.c, config/xtensa/xtensa.c, dominance.c,
7112 dse.c, except.c, gengtype.c, gimple-expr.c,
7113 gimple-ssa-strength-reduction.c, gimplify.c, ifcvt.c,
7114 ipa-visibility.c, lto-streamer.h, omp-low.c, predict.c, stmt.c,
7115 tree-affine.c, tree-cfg.c, tree-eh.c, tree-inline.c, tree-nested.c,
7116 tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c,
7117 tree-ssa-phiopt.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
7118 tree-ssa.c, tree.c, var-tracking.c, varpool.c: Remove includes of
7119 pointer-set.h.
7120 * pointer-set.c: Remove file.
7121 * pointer-set.h: Remove file.
7122
7123 2014-08-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7124
7125 * config/arm/arm.md (*cmov<mode>): Set type attribute to fcsel.
7126 * config/arm/types.md (f_sels, f_seld): Delete.
7127
7128 2014-08-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7129
7130 * config/aarch64/aarch64.md (absdi2): Set simd attribute.
7131 (aarch64_reload_mov<mode>): Predicate on TARGET_FLOAT.
7132 (aarch64_movdi_<mode>high): Likewise.
7133 (aarch64_mov<mode>high_di): Likewise.
7134 (aarch64_movdi_<mode>low): Likewise.
7135 (aarch64_mov<mode>low_di): Likewise.
7136 (aarch64_movtilow_tilow): Likewise.
7137 Add comment explaining usage of fp,simd attributes and of
7138 TARGET_FLOAT and TARGET_SIMD.
7139
7140 2014-08-07 Ian Bolton <ian.bolton@arm.com>
7141 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7142
7143 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate):
7144 Use MOVN when one of the half-words is 0xffff.
7145
7146 2014-08-07 Marat Zakirov <m.zakirov@samsung.com>
7147
7148 * config/arm/thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.
7149
7150 2014-08-07 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
7151
7152 * haifa-sched.c (SCHED_SORT): Delete. Macro used exactly once.
7153 (enum rfs_decition:RFS_*): New constants wrapped in an enum.
7154 (rfs_str): String corresponding to RFS_* constants.
7155 (rank_for_schedule_stats_t): New typedef.
7156 (rank_for_schedule_stats): New static variable.
7157 (rfs_result): New static function.
7158 (rank_for_schedule): Track statistics for deciding heuristics.
7159 (rank_for_schedule_stats_diff, print_rank_for_schedule_stats): New
7160 static functions.
7161 (ready_sort): Use them for debug printouts.
7162 (schedule_block): Init statistics state. Print statistics on
7163 rank_for_schedule decisions.
7164
7165 2014-08-07 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
7166
7167 * haifa-sched.c (rank_for_schedule): Fix INSN_TICK-based heuristics.
7168
7169 2014-08-07 Ilya Tocar <ilya.tocar@intel.com>
7170
7171 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
7172 constraint.
7173
7174 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
7175
7176 * hash-map.h (default_hashmap_traits): Adjust overloads of hash
7177 function to not conflict.
7178 * alias.c, cfgexpand.c, dse.c, except.h, gimple-expr.c,
7179 gimple-ssa-strength-reduction.c, gimple-ssa.h, ifcvt.c,
7180 lto-streamer-out.c, lto-streamer.h, tree-affine.c, tree-affine.h,
7181 tree-predcom.c, tree-scalar-evolution.c, tree-ssa-loop-im.c,
7182 tree-ssa-loop-niter.c, tree-ssa.c, value-prof.c: Use hash_map instead
7183 of pointer_map.
7184
7185 2014-08-07 Marek Polacek <polacek@redhat.com>
7186
7187 * fold-const.c (fold_binary_loc): Add folding of
7188 (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A.
7189
7190 2013-08-07 Ilya Enkovich <ilya.enkovich@intel.com>
7191
7192 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size
7193 instead of type size.
7194 (ASM_FINISH_DECLARE_OBJECT): Likewise.
7195
7196 2014-08-07 Marat Zakirov <m.zakirov@samsung.com>
7197
7198 * config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer.
7199 (*thumb1_movqi_insn): Likewise.
7200 * config/arm/thumb2.md (*thumb2_movhi_insn): Likewise.
7201
7202 2014-08-07 Tom de Vries <tom@codesourcery.com>
7203
7204 * doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
7205 (glibc_2_11_or_earlier): Remove effective-target keywords.
7206
7207 2014-08-07 Kugan Vivekanandarajah <kuganv@linaro.org>
7208
7209 * config/arm/arm.c (bdesc_2arg): Fix typo.
7210 (arm_atomic_assign_expand_fenv): Remove The default implementation.
7211
7212 2014-08-07 Zhenqiang Chen <zhenqiang.chen@arm.com>
7213
7214 * tree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.
7215
7216 2014-08-06 Vladimir Makarov <vmakarov@redhat.com>
7217
7218 PR debug/61923
7219 * haifa-sched.c (advance_one_cycle): Fix dump.
7220 (schedule_block): Don't advance cycle if we are already at the
7221 beginning of the cycle.
7222
7223 2014-08-06 Martin Jambor <mjambor@suse.cz>
7224
7225 PR ipa/61393
7226 * cgraphclones.c (cgraph_node::create_clone): Also copy tm_clone.
7227
7228 2014-08-06 Richard Biener <rguenther@suse.de>
7229
7230 PR lto/62034
7231 * lto-streamer-in.c (lto_input_tree_1): Assert we do not read
7232 SCCs here.
7233 (lto_input_tree): Pop SCCs here.
7234
7235 2014-08-06 Richard Biener <rguenther@suse.de>
7236
7237 PR tree-optimization/61320
7238 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
7239 handle misaligned loads.
7240
7241 2014-08-06 Alan Lawrence <alan.lawrence@arm.com>
7242
7243 * config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
7244 (aarch64_expand_vec_perm_const): Check for dup before zip.
7245
7246 2014-08-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7247
7248 * config/aarch64/aarch64.c (aarch64_classify_address): Use REG_P and
7249 CONST_INT_P instead of GET_CODE and compare.
7250 (aarch64_select_cc_mode): Likewise.
7251 (aarch64_print_operand): Likewise.
7252 (aarch64_rtx_costs): Likewise.
7253 (aarch64_simd_valid_immediate): Likewise.
7254 (aarch64_simd_check_vect_par_cnst_half): Likewise.
7255 (aarch64_simd_emit_pair_result_insn): Likewise.
7256
7257 2014-08-05 David Malcolm <dmalcolm@redhat.com>
7258
7259 * gdbhooks.py (find_gcc_source_dir): New helper function.
7260 (class PassNames): New class, locating and parsing passes.def.
7261 (class BreakOnPass): New command "break-on-pass".
7262
7263 2014-08-05 Trevor Saunders <tsaunders@mozilla.com>
7264
7265 * tree-ssa.c (redirect_edge_var_map_dup): insert newe before
7266 getting olde.
7267
7268 2014-08-05 Richard Biener <rguenther@suse.de>
7269
7270 PR rtl-optimization/61672
7271 * emit-rtl.h (mem_attrs_eq_p): Declare.
7272 * emit-rtl.c (mem_attrs_eq_p): Export. Handle NULL mem-attrs.
7273 * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
7274 * cfgcleanup.c (merge_memattrs): Likewise.
7275 Include emit-rtl.h.
7276
7277 2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7278
7279 * config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
7280 rather than singleton vectors.
7281 (vqdmlsls_lane_s32): Likewise.
7282
7283 2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7284
7285 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
7286 Use VSDQ_HSI mode iterator.
7287 (aarch64_sqrdmulh_laneq<mode>): Likewise.
7288 (aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn.
7289 * config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq):
7290 Use BUILTIN_VDQHS macro.
7291 (sqrdmulh_laneq): Likewise.
7292 * config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic.
7293 (vqdmlals_laneq_s32): Likewise.
7294 (vqdmlslh_laneq_s16): Likewise.
7295 (vqdmlsls_laneq_s32): Likewise.
7296 (vqdmulhh_laneq_s16): Likewise.
7297 (vqdmulhs_laneq_s32): Likewise.
7298 (vqrdmulhh_laneq_s16): Likewise.
7299 (vqrdmulhs_laneq_s32): Likewise.
7300
7301 2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7302
7303 * config/aarch64/arm_neon.h (vmul_f64): New intrinsic.
7304 (vmuld_laneq_f64): Likewise.
7305 (vmuls_laneq_f32): Likewise.
7306 (vmul_n_f64): Likewise.
7307 (vmuld_lane_f64): Reimplement in C.
7308 (vmuls_lane_f32): Likewise.
7309
7310 2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7311
7312 * config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type
7313 to reservation.
7314 * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
7315
7316 2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7317
7318 * config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
7319 (rbitsi2): Likewise.
7320 (*arm_rev): Set predicable and predicable_short_it attributes.
7321
7322 2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7323
7324 * convert.c (convert_to_integer): Guard transformation to lrint by
7325 -fno-math-errno.
7326
7327 2014-08-05 James Greenhalgh <james.greenhalgh@arm.com>
7328
7329 * config/aarch64/aarch64-builtins.c
7330 (aarch64_simd_builtin_type_mode): Delete.
7331 (v8qi_UP): Remap to V8QImode.
7332 (v4hi_UP): Remap to V4HImode.
7333 (v2si_UP): Remap to V2SImode.
7334 (v2sf_UP): Remap to V2SFmode.
7335 (v1df_UP): Remap to V1DFmode.
7336 (di_UP): Remap to DImode.
7337 (df_UP): Remap to DFmode.
7338 (v16qi_UP):V16QImode.
7339 (v8hi_UP): Remap to V8HImode.
7340 (v4si_UP): Remap to V4SImode.
7341 (v4sf_UP): Remap to V4SFmode.
7342 (v2di_UP): Remap to V2DImode.
7343 (v2df_UP): Remap to V2DFmode.
7344 (ti_UP): Remap to TImode.
7345 (ei_UP): Remap to EImode.
7346 (oi_UP): Remap to OImode.
7347 (ci_UP): Map to CImode.
7348 (xi_UP): Remap to XImode.
7349 (si_UP): Remap to SImode.
7350 (sf_UP): Remap to SFmode.
7351 (hi_UP): Remap to HImode.
7352 (qi_UP): Remap to QImode.
7353 (aarch64_simd_builtin_datum): Make mode a machine_mode.
7354 (VAR1): Build builtin name.
7355 (aarch64_init_simd_builtins): Remove dead code.
7356
7357 2014-08-05 Roman Gareev <gareevroman@gmail.com>
7358
7359 * graphite-isl-ast-to-gimple.c:
7360 (set_options): New function.
7361 (scop_to_isl_ast): Add calling of set_options.
7362
7363 2014-08-05 Jakub Jelinek <jakub@redhat.com>
7364
7365 * loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
7366 (analyze_iv_to_split_insn): Don't initialize them.
7367 (get_ivts_expr): Removed.
7368 (allocate_basic_variable, insert_base_initialization): Use
7369 SET_SRC instead of *get_ivts_expr.
7370 (split_iv): Use &SET_SRC instead of get_ivts_expr.
7371
7372 2014-08-05 Roman Gareev <gareevroman@gmail.com>
7373
7374 * graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
7375 (translate_isl_ast_for_loop): Add checking of the
7376 flag_loop_parallelize_all.
7377 (ast_build_before_for): New function.
7378 (scop_to_isl_ast): Add checking of the
7379 flag_loop_parallelize_all.
7380 * graphite-dependences.c: Move the defenition of the
7381 scop_get_dependences from graphite-optimize-isl.c to this file.
7382 (apply_schedule_on_deps): Add checking of the ux's emptiness.
7383 (carries_deps): Add checking of the x's value.
7384 * graphite-optimize-isl.c: Move the defenition of the
7385 scop_get_dependences to graphite-dependences.c.
7386 * graphite-poly.h: Add declarations of scop_get_dependences
7387 and carries_deps.
7388
7389 2014-08-04 Rohit <rohitarulraj@freescale.com>
7390
7391 PR target/60102
7392 * config/rs6000/rs6000.c (rs6000_reg_names): Add SPE high register
7393 names.
7394 (alt_reg_names): Likewise.
7395 (rs6000_dwarf_register_span): For SPE high registers, replace
7396 dwarf register numbers with GCC hard register numbers.
7397 (rs6000_init_dwarf_reg_sizes_extra): Likewise.
7398 (rs6000_dbx_register_number): For SPE high registers, return dwarf
7399 register number for the corresponding GCC hard register number.
7400 * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Update based on 32
7401 newly added GCC hard register numbers for SPE high registers.
7402 (DWARF_FRAME_REGISTERS): Likewise.
7403 (DWARF_REG_TO_UNWIND_COLUMN): Likewise.
7404 (DWARF_FRAME_REGNUM): Likewise.
7405 (FIXED_REGISTERS): Likewise.
7406 (CALL_USED_REGISTERS): Likewise.
7407 (CALL_REALLY_USED_REGISTERS): Likewise.
7408 (REG_ALLOC_ORDER): Likewise.
7409 (enum reg_class): Likewise.
7410 (REG_CLASS_NAMES): Likewise.
7411 (REG_CLASS_CONTENTS): Likewise.
7412 (SPE_HIGH_REGNO_P): New macro to identify SPE high registers.
7413
7414 2014-08-04 Richard Biener <rguenther@suse.de>
7415
7416 * gimple-fold.h (gimple_fold_builtin): Remove.
7417 * gimple-fold.c (gimple_fold_builtin): Make static.
7418 * tree-ssa-ccp.c (pass_fold_builtins::execute): Use
7419 fold_stmt, not gimple_fold_builtin.
7420
7421 2014-08-04 Martin Liska <mliska@suse.cz>
7422
7423 * cgraph.h (csi_end_p): Removed.
7424 (csi_next): Likewise.
7425 (csi_node): Likewise.
7426 (csi_start): Likewise.
7427 (cgraph_node_in_set_p): Likewise.
7428 (cgraph_node_set_size): Likewise.
7429 (vsi_end_p): Likewise.
7430 (vsi_next): Likewise.
7431 (vsi_node): Likewise.
7432 (vsi_start): Likewise.
7433 (varpool_node_set_size): Likewise.
7434 (cgraph_node_set_nonempty_p): Likewise.
7435 (varpool_node_set_nonempty_p): Likewise.
7436 * cgraphunit.c (cgraph_process_new_functions): vec replaces
7437 cgraph_node_set.
7438 * ipa-inline-transform.c: Likewise.
7439 * ipa-utils.c (cgraph_node_set_new): Removed.
7440 (cgraph_node_set_add): Likewise.
7441 (cgraph_node_set_remove): Likewise.
7442 (cgraph_node_set_find): Likewise.
7443 (dump_cgraph_node_set): Likewise.
7444 (debug_cgraph_node_set): Likewise.
7445 (free_cgraph_node_set): Likewise.
7446 (varpool_node_set_new): Likewise.
7447 (varpool_node_set_add): Likewise.
7448 (varpool_node_set_remove): Likewise.
7449 (varpool_node_set_find): Likewise.
7450 (dump_varpool_node_set): Likewise.
7451 (free_varpool_node_set): Likewise.
7452 (debug_varpool_node_set): Likewise.
7453 * tree-emutls.c (struct tls_var_data):
7454 (emutls_index): Removed.
7455 (emutls_decl): Likewise.
7456 (gen_emutls_addr): Function implementation uses newly added
7457 hash_map<varpool_node *, tls_var_data>.
7458 (clear_access_vars): Likewise.
7459 (create_emultls_var): Likewise.
7460 (ipa_lower_emutls): Likewise.
7461 (reset_access): New function.
7462
7463 2014-08-04 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
7464
7465 * config/i386/i386.c (ix86_option_override_internal): Add
7466 PTA_RDRND and PTA_MOVBE for bdver4.
7467
7468 2014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7469 James Greenhalgh <james.greenhalgh@arm.com>
7470
7471 * doc/md.texi (clrsb): Document.
7472 (clz): Change reference to x into operand 1.
7473 (ctz): Likewise.
7474 (popcount): Likewise.
7475
7476 2014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7477
7478 PR target/61713
7479 * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
7480 move to subtarget in serial version if result is ignored.
7481
7482 2014-08-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7483 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7484
7485 * sched-deps.c (try_group_insn): Generalise macro fusion hook usage
7486 to any two insns. Update comment. Rename to sched_macro_fuse_insns.
7487 (sched_analyze_insn): Update use of try_group_insn to
7488 sched_macro_fuse_insns.
7489 * config/i386/i386.c (ix86_macro_fusion_pair_p): Reject 2nd
7490 arguments that are not conditional jumps.
7491
7492 2014-08-04 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
7493
7494 * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's extended
7495 family information. Handle BTVER2 cpu with cpuid family value.
7496
7497 2014-08-04 Tom de Vries <tom@codesourcery.com>
7498
7499 * doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
7500 (glibc_2_11_or_earlier): Document effective-target keywords.
7501
7502 2014-08-01 Jan Hubicka <hubicka@ucw.cz>
7503
7504 * ipa-devirt.c (odr_type_warn_count): Add type.
7505 (possible_polymorphic_call_targets): Set it.
7506 (ipa_devirt): Use it.
7507
7508 2014-08-01 Jan Hubicka <hubicka@ucw.cz>
7509
7510 * doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods):
7511 Document.
7512 * ipa-devirt.c: Include hash-map.h
7513 (struct polymorphic_call_target_d): Add type_warning and decl_warning.
7514 (clear_speculation): Break out of ...
7515 (get_class_context): ... here; speed up handling obviously useless
7516 speculations.
7517 (odr_type_warn_count, decl_warn_count): New structures.
7518 (final_warning_record): New structure.
7519 (final_warning_records): New static variable.
7520 (possible_polymorphic_call_targets): Cleanup handling of
7521 speculative info; do not build speculation when user do not care;
7522 record info about warnings when asked for.
7523 (add_decl_warning): New function.
7524 (type_warning_cmp): New function.
7525 (decl_warning_cmp): New function.
7526 (ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types.
7527 (gate): Enable pass when warnings are requested.
7528 * common.opt (Wsuggest-final-types, Wsuggest-final-methods): New
7529 options.
7530
7531 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7532
7533 * hash-map.h (default_hashmap_traits::mark_key_deleted):
7534 Fix cast.
7535 (hash_map::remove): New method.
7536 (hash_map::traverse): New method.
7537 * cgraph.h, except.c, except.h, gimple-ssa-strength-reduction.c,
7538 ipa-utils.c, lto-cgraph.c, lto-streamer.h, omp-low.c, predict.c,
7539 tree-cfg.c, tree-cfgcleanup.c, tree-eh.c, tree-eh.h, tree-inline.c,
7540 tree-inline.h, tree-nested.c, tree-sra.c, tree-ssa-loop-im.c,
7541 tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-structalias.c,
7542 tree-ssa.c, tree-ssa.h, var-tracking.c: Use hash_map instead of
7543 pointer_map.
7544
7545 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7546
7547 * hash-set.h: new File.
7548 * cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
7549 cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
7550 ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
7551 lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
7552 tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
7553 tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
7554 tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
7555 varpool.c: Use hash_set instead of pointer_set.
7556
7557 2014-08-01 Alan Lawrence <alan.lawrence@arm.com>
7558
7559 * config/aarch64/aarch64-simd-builtins.def (dup_lane, get_lane): Delete.
7560
7561 2014-08-01 Jiong Wang <jiong.wang@arm.com>
7562
7563 * config/aarch64/aarch64.c (aarch64_classify_address): Accept all offset
7564 for frame access when strict_p is false.
7565
7566 2014-08-01 Renlin Li <renlin.li@arm.com>
7567 2014-08-01 Jiong Wang <jiong.wang@arm.com>
7568
7569 * config/aarch64/aarch64.c (offset_7bit_signed_scaled_p): Rename to
7570 aarch64_offset_7bit_signed_scaled_p, remove static and use it.
7571 * config/aarch64/aarch64-protos.h (aarch64_offset_7bit_signed_scaled_p):
7572 Declaration.
7573 * config/aarch64/predicates.md (aarch64_mem_pair_offset): Define new
7574 predicate.
7575 * config/aarch64/aarch64.md (loadwb_pair, storewb_pair): Use
7576 aarch64_mem_pair_offset.
7577
7578 2014-08-01 Jiong Wang <jiong.wang@arm.com>
7579
7580 * config/aarch64/aarch64.md (loadwb_pair<GPI:mode>_<P:mode>): Fix
7581 offset.
7582 (loadwb_pair<GPI:mode>_<P:mode>): Likewise.
7583 * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): Likewise.
7584
7585 2014-08-01 Matthew Fortune <matthew.fortune@imgtec.com>
7586
7587 * config/mips/mips.h (REGISTER_PREFIX): Define macro.
7588
7589 2014-08-01 James Greenhalgh <james.greenhalgh@arm.com>
7590
7591 PR regression/61510
7592 * cgraphunit.c (analyze_functions): Use get_create rather than get
7593 for decls which are clones of abstract functions.
7594
7595 2014-08-01 Martin Liska <mliska@suse.cz>
7596
7597 * gimple-iterator.h (gsi_next_nonvirtual_phi): New function.
7598 * ipa-prop.h (count_formal_params): Global function created from static.
7599 * ipa-prop.c (count_formal_params): Likewise.
7600 * ipa-utils.c (ipa_merge_profiles): Be more tolerant if we merge
7601 profiles for semantically equivalent functions.
7602 * passes.c (do_per_function): If we load body of a function
7603 during WPA, this condition should behave same.
7604 * varpool.c (ctor_for_folding): More tolerant assert for variable
7605 aliases created during WPA.
7606
7607 2014-08-01 Martin Liska <mliska@suse.cz>
7608
7609 * doc/invoke.texi (Options That Control Optimization): Documentation
7610 for -foptimize-strlen introduced. Optimization levels default options
7611 fixed.
7612
7613 2014-08-01 Jakub Jelinek <jakub@redhat.com>
7614
7615 * opts.c (common_handle_option): Handle -fsanitize=alignment.
7616 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_CTOR_CALL.
7617 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn): Change return
7618 type to bool.
7619 * stor-layout.h (min_align_of_type): New prototype.
7620 * asan.c (pass_sanopt::execute): Don't perform gsi_next if
7621 ubsan_expand* told us not to do it. Remove the extra gsi_end_p
7622 check.
7623 * ubsan.c: Include builtins.h.
7624 (ubsan_expand_bounds_ifn): Change return type to bool,
7625 always return true.
7626 (ubsan_expand_null_ifn): Change return type to bool, change
7627 argument to gimple_stmt_iterator *. Handle both null and alignment
7628 sanitization, take type from ckind argument's type rather than
7629 first argument.
7630 (instrument_member_call): Removed.
7631 (instrument_mem_ref): Remove t argument, add mem and base arguments.
7632 Handle both null and alignment sanitization, don't say whole
7633 struct access is member access. Build 3 argument IFN_UBSAN_NULL
7634 call instead of 2 argument.
7635 (instrument_null): Adjust instrument_mem_ref caller. Don't
7636 instrument calls here.
7637 (pass_ubsan::gate, pass_ubsan::execute): Handle SANITIZE_ALIGNMENT
7638 like SANITIZE_NULL.
7639 * stor-layout.c (min_align_of_type): New function.
7640 * flag-types.h (enum sanitize_code): Add SANITIZE_ALIGNMENT.
7641 Or it into SANITIZE_UNDEFINED.
7642 * doc/invoke.texi (-fsanitize=alignment): Document.
7643
7644 2014-07-31 Andi Kleen <ak@linux.intel.com>
7645
7646 * tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash.
7647
7648 2014-07-31 Andi Kleen <ak@linux.intel.com>
7649
7650 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Convert to
7651 inchash.
7652 (vn_reference_compute_hash): Dito.
7653 (vn_nary_op_compute_hash): Dito.
7654 (vn_phi_compute_hash): Dito.
7655 * tree-ssa-sccvn.h (vn_hash_constant_with_type): Dito.
7656
7657 2014-07-31 Andi Kleen <ak@linux.intel.com>
7658
7659 * tree-ssa-dom.c (iterative_hash_exprs_commutative):
7660 Rename to inchash:add_expr_commutative. Convert to inchash.
7661 (iterative_hash_hashable_expr): Rename to
7662 inchash:add_hashable_expr. Convert to inchash.
7663 (avail_expr_hash): Dito.
7664
7665 2014-07-31 Andi Kleen <ak@linux.intel.com>
7666
7667 * ipa-devirt.c (polymorphic_call_target_hasher::hash):
7668 Convert to inchash.
7669
7670 2014-07-31 Andi Kleen <ak@linux.intel.com>
7671
7672 * asan.c (asan_mem_ref_hasher::hash): Convert to inchash.
7673
7674 2014-07-31 Andi Kleen <ak@linux.intel.com>
7675
7676 * Makefile.in (OBJS): Add rtlhash.o
7677 * dwarf2out.c (addr_table_entry_do_hash): Convert to inchash.
7678 (loc_checksum): Dito.
7679 (loc_checksum_ordered): Dito.
7680 (hash_loc_operands): Dito.
7681 (hash_locs): Dito.
7682 (hash_loc_list): Dito.
7683 * rtl.c (iterative_hash_rtx): Moved to rtlhash.c
7684 * rtl.h (iterative_hash_rtx): Moved to rtlhash.h
7685 * rtlhash.c: New file.
7686 * rtlhash.h: New file.
7687
7688 2014-07-31 Andi Kleen <ak@linux.intel.com>
7689
7690 * inchash.h (inchash): Change inchash class to namespace.
7691 (class hash): ... Rename from inchash.
7692 (add_object): Move from macro to class template.
7693 * lto-streamer-out.c (hash_tree): Change inchash
7694 to inchash::hash.
7695 * tree.c (build_type_attribute_qual_variant): Dito.
7696 (type_hash_list): Dito.
7697 (attribute_hash_list): Dito.
7698 (iterative_hstate_expr): Rename to inchash::add_expr
7699 (build_range_type_1): Change inchash to inchash::hash
7700 and use hash::add_expr.
7701 (build_array_type_1): Dito.
7702 (build_function_type): Dito
7703 (build_method_type_directly): Dito.
7704 (build_offset_type): Dito.
7705 (build_complex_type): Dito.
7706 (make_vector_type): Dito.
7707 * tree.h (iterative_hash_expr): Dito.
7708
7709 2014-07-31 Chen Gang <gang.chen.5i5j@gmail.com>
7710
7711 * gcc.c (do_spec_1): Allocate enough space for saved_suffix.
7712
7713 2014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
7714
7715 * config/aarch64/arm_neon.h (vpadd_<suf><8,16,32,64>): Move to
7716 correct alphabetical position.
7717 (vpaddd_f64): Rewrite using builtins.
7718 (vpaddd_s64): Move to correct alphabetical position.
7719 (vpaddd_u64): New.
7720
7721 2014-07-31 Oleg Endo <olegendo@gcc.gnu.org>
7722
7723 PR target/61844
7724 * config/sh/sh.c (sh_legitimate_address_p,
7725 sh_legitimize_reload_address): Handle reg+reg address modes when
7726 ALLOW_INDEXED_ADDRESS is false.
7727 * config/sh/predicates.md (general_movsrc_operand,
7728 general_movdst_operand): Likewise.
7729
7730 2014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
7731
7732 * config/aarch64/aarch64-builtins.c
7733 (aarch64_gimple_fold_builtin): Don't fold reduction operations for
7734 BYTES_BIG_ENDIAN.
7735
7736 2014-07-31 James Greenhalgh <james.greenhalgh@arm.com>
7737
7738 * config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Vary
7739 the generated mask based on BYTES_BIG_ENDIAN.
7740 (aarch64_simd_check_vect_par_cnst_half): New.
7741 * config/aarch64/aarch64-protos.h
7742 (aarch64_simd_check_vect_par_cnst_half): New.
7743 * config/aarch64/predicates.md (vect_par_cnst_hi_half): Refactor
7744 the check out to aarch64_simd_check_vect_par_cnst_half.
7745 (vect_par_cnst_lo_half): Likewise.
7746 * config/aarch64/aarch64-simd.md
7747 (aarch64_simd_move_hi_quad_<mode>): Always use vec_par_cnst_lo_half.
7748 (move_hi_quad_<mode>): Always generate a low mask.
7749
7750 2014-07-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7751
7752 * doc/invoke.texi (AVR Options): Add documentation about
7753 __AVR_DEVICE_NAME__ built-in macro.
7754
7755 2014-07-31 Charles Baylis <charles.baylis@linaro.org>
7756
7757 PR target/61948
7758 * config/arm/neon.md (ashldi3_neon): Don't emit arm_ashldi3_1bit unless
7759 constraints are satisfied.
7760 (<shift>di3_neon): Likewise.
7761
7762 2014-07-31 Richard Biener <rguenther@suse.de>
7763
7764 PR tree-optimization/61964
7765 * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
7766 by structural equality.
7767
7768 2014-07-31 Yury Gribov <y.gribov@samsung.com>
7769
7770 * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
7771 * doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
7772 * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
7773 New enums.
7774 * gcc.c (sanitize_spec_function): Support new option.
7775 (SANITIZER_SPEC): Remove now redundant check.
7776 * opts.c (common_handle_option): Support new option.
7777 (finish_options): Check for incompatibilities.
7778 * toplev.c (process_options): Split userspace-specific checks.
7779
7780 2014-07-31 Richard Biener <rguenther@suse.de>
7781
7782 * lto-streamer.h (struct output_block): Remove global.
7783 (struct data_in): Remove labels, num_named_labels and
7784 num_unnamed_labels.
7785 * lto-streamer-in.c (lto_data_in_delete): Do not free labels.
7786 * lto-streamer-out.c (produce_asm_for_decls): Do not set global.
7787
7788 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
7789
7790 PR c++/60517
7791 * common.opt (-Wreturn-local-addr): Moved from c.opt.
7792 * gimple-ssa-isolate-paths.c: Include diagnostic-core.h and intl.h.
7793 (isolate_path): New argument to avoid inserting a trap.
7794 (find_implicit_erroneous_behaviour): Handle returning the address
7795 of a local variable.
7796 (find_explicit_erroneous_behaviour): Likewise.
7797
7798 2014-07-31 Bingfeng Mei <bmei@broadcom.com>
7799
7800 PR lto/61868
7801 * toplev.c (init_random_seed): Move piece of code never called to
7802 set_random_seed.
7803 (set_random_seed): see above.
7804
7805 2014-07-31 Tom de Vries <tom@codesourcery.com>
7806
7807 * tree-ssa-loop.c (pass_tree_loop_init::execute): Remove dead code.
7808
7809 2014-07-31 Richard Sandiford <rdsandiford@googlemail.com>
7810
7811 * ira.c (insn_contains_asm_1, insn_contains_asm): Delete.
7812 (compute_regs_asm_clobbered): Use extract_asm_operands instead.
7813
7814 2014-07-31 Richard Biener <rguenther@suse.de>
7815
7816 * data-streamer.h (streamer_write_data_stream): Declare here,
7817 renamed from ...
7818 * lto-streamer.h (lto_output_data_stream): ... this. Remove.
7819 * lto-cgraph.c (lto_output_node): Adjust.
7820 (lto_output_varpool_node): Likewise.
7821 * data-streamer-out.c (streamer_string_index): Likewise.
7822 (streamer_write_data_stream, lto_append_block): Move from ...
7823 * lto-section-out.c (lto_output_data_stream,
7824 lto_append_block): ... here.
7825
7826 2014-07-30 Mike Stump <mikestump@comcast.net>
7827
7828 * configure.ac: Also check for popen.
7829 * tree-loop-distribution.c (dot_rdg): Autoconfize popen use.
7830 * configure: Regenerate.
7831 * config.in: Regenerate.
7832
7833 2014-07-30 Martin Jambor <mjambor@suse.cz>
7834
7835 * tree-sra.c (sra_ipa_modify_assign): Change type of the first
7836 parameter to gimple.
7837
7838 2014-07-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7839
7840 * config/s390/s390.c (s390_emit_tpf_eh_return): Pass original return
7841 address as second parameter to __tpf_eh_return routine.
7842
7843 2014-07-30 Jiong Wang <jiong.wang@arm.com>
7844
7845 * config/arm/arm.c (arm_get_frame_offsets): Adjust condition for
7846 Thumb2.
7847
7848 2014-07-30 Tom Tromey <tromey@redhat.com>
7849
7850 PR c/59855
7851 * doc/invoke.texi (Warning Options): Document -Wdesignated-init.
7852 * doc/extend.texi (Type Attributes): Document designated_init
7853 attribute.
7854
7855 2014-07-30 Roman Gareev <gareevroman@gmail.com>
7856
7857 * graphite-isl-ast-to-gimple.c:
7858 (gcc_expression_from_isl_ast_expr_id): Add calling of fold_convert.
7859 (gcc_expression_from_isl_expression): Pass type to
7860 gcc_expression_from_isl_ast_expr_id.
7861
7862 2014-07-30 Richard Biener <rguenther@suse.de>
7863
7864 * lto-streamer.h (lto_write_data): New function.
7865 * langhooks.c (lhd_append_data): Do not free block.
7866 * lto-section-out.c (lto_write_data): New function writing
7867 raw data to the current section.
7868 (lto_write_stream): Adjust for langhook semantic change.
7869 (lto_destroy_simple_output_block): Write header directly.
7870 * lto-opts.c (lto_write_options): Write options directly.
7871 * lto-streamer-out.c (produce_asm): Write heaeder directly.
7872 (lto_output_toplevel_asms): Likewise.
7873 (copy_function_or_variable): Copy data directly.
7874 (write_global_references): Output index table directly.
7875 (lto_output_decl_state_refs): Likewise.
7876 (write_symbol): Write data directly.
7877 (produce_symtab): Adjust.
7878 (produce_asm_for_decls): Output header and refs directly.
7879
7880 2014-07-29 Jan Hubicka <hubicka@ucw.cz>
7881
7882 * ipa-devirt.c (polymorphic_call_target_d): Rename nonconstruction_targets
7883 to speculative_targets
7884 (get_class_context): Fix handling of contextes without outer type;
7885 avoid matching non-polymorphic types in LTO.
7886 (possible_polymorphic_call_targets): Trun nonconstruction_targetsp
7887 parameter to speculative_targetsp; handle speculation.
7888 (dump_possible_polymorphic_call_targets): Update dumping.
7889
7890 2014-07-29 Jan Hubicka <hubicka@ucw.cz>
7891
7892 * common.opt (Wodr): Enable by default.
7893
7894 2014-07-29 Olivier Hainque <hainque@adacore.com>
7895
7896 * config/vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define.
7897
7898 2014-07-29 H.J. Lu <hongjiu.lu@intel.com>
7899
7900 PR bootstrap/61914
7901 * gengtype.c (strtoken): New function.
7902 (create_user_defined_type): Replace strtok with strtoken.
7903
7904 2014-07-29 Nathan Sidwell <nathan@acm.org>
7905
7906 * gcov-io.c (gcov_var): Make hidden.
7907 * gcov-tool.c (gcov_list, gcov_exit): Remove declarations.
7908 (gcov_do_dump): Declare.
7909 (gcov_output_files): Call gcov_do_dump, not gcov_exit).
7910
7911 2014-07-29 Martin Jambor <mjambor@suse.cz>
7912
7913 * tree-sra.c (sra_modify_constructor_assign): Change type of stmt
7914 parameter to gimple.
7915 (sra_modify_assign): Likewise.
7916
7917 2014-07-29 Richard Biener <rguenther@suse.de>
7918
7919 PR middle-end/52478
7920 * expr.c (expand_expr_real_2): Revert last change.
7921
7922 2014-07-28 Jan Hubicka <hubicka@ucw.cz>
7923
7924 * cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
7925 * cgraph.h (cgraph_indirect_call_info): Add speculative data.
7926 * gimple-fold.c (fold_gimple_assign): Fix check for virtual
7927 call.
7928 * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update
7929 (contains_type_p): Forward declare.
7930 (polymorphic_call_target_hasher::hash): Hash speculative info.
7931 (polymorphic_call_target_hasher::equal): Compare speculative info.
7932 (get_class_context): Handle speuclation.
7933 (contains_type_p): Update.
7934 (get_polymorphic_call_info_for_decl): Update.
7935 (walk_ssa_copies): Break out from ...
7936 (get_polymorphic_call_info): ... here; set speculative context
7937 before giving up.
7938 * ipa-prop.c (ipa_write_indirect_edge_info,
7939 ipa_read_indirect_edge_info): Stream speculative context.
7940 * ipa-utils.h (ipa_polymorphic_call_context): Add speculative info
7941 (SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE,
7942 SPECULATIVE_MAYBE_DERIVED_TYPE).
7943 (possible_polymorphic_call_targets overriders): Update.
7944 (dump_possible_polymorphic_call_targets overriders): Update.
7945 (dump_possible_polymorphic_call_target_p overriders): Update.
7946
7947 2014-07-28 Jan Hubicka <hubicka@ucw.cz>
7948
7949 * gimple-fold.c (fold_gimple_assign): Fix condition guarding
7950 ipa-devirt path; fix thinko there.
7951
7952 2014-07-28 Trevor Saunders <tsaunders@mozilla.com>
7953
7954 * config/i386/i386.c (ix86_return_in_memory): Replace one
7955 ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.
7956
7957 2014-07-28 Marek Polacek <polacek@redhat.com>
7958
7959 * doc/invoke.texi (-Wno-odr): Fix @item entry. Tweak wording.
7960
7961 2014-07-28 Peter Bergner <bergner@vnet.ibm.com>
7962
7963 * config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
7964 * config/rs6000/sysv4.h (CC1_SPEC): Undefine it before defining it.
7965 * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define.
7966 (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
7967 (USE_LD_AS_NEEDED): Likewise.
7968 (ASM_APP_ON): Likewise.
7969 (ASM_APP_OFF): Likewise.
7970 (TARGET_POSIX_IO): Likewise.
7971 * config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise.
7972 (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
7973 (USE_LD_AS_NEEDED): Likewise.
7974 (ASM_APP_ON): Likewise.
7975 (ASM_APP_OFF): Likewise.
7976 (TARGET_POSIX_IO): Likewise.
7977
7978 2014-07-28 Eric Botcazou <ebotcazou@adacore.com>
7979
7980 PR middle-end/61734
7981 * fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for
7982 operators other than the equality operators.
7983
7984 2014-07-28 Richard Biener <rguenther@suse.de>
7985
7986 PR middle-end/52478
7987 * optabs.c (gen_int_libfunc): For -ftrapv libfuncs make
7988 sure to register SImode ones, not only >= word_mode ones.
7989 * expr.c (expand_expr_real_2): When expanding -ftrapv
7990 binops do not use OPTAB_LIB_WIDEN.
7991
7992 2014-07-28 Richard Sandiford <rdsandiford@googlemail.com>
7993
7994 PR middle-end/61919
7995 * tree-outof-ssa.c (insert_partition_copy_on_edge)
7996 (insert_value_copy_on_edge, insert_rtx_to_part_on_edge)
7997 (insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before
7998 inserting them in the insn stream.
7999
8000 2014-07-28 Marek Polacek <polacek@redhat.com>
8001
8002 PR middle-end/61913
8003 * common.opt (Wodr): Add Var.
8004
8005 2014-07-28 Richard Biener <rguenther@suse.de>
8006
8007 PR tree-optimization/61921
8008 * tree-ssa-structalias.c (create_variable_info_for_1): Check
8009 if there is a varpool node before dereferencing it.
8010
8011 2014-07-28 Roman Gareev <gareevroman@gmail.com>
8012
8013 * graphite-sese-to-poly.c:
8014 (new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
8015 id of the pbb), which contains pointer to the pbb1.
8016
8017 * gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.
8018
8019 2014-07-28 Roman Gareev <gareevroman@gmail.com>
8020
8021 * graphite-isl-ast-to-gimple.c:
8022 (graphite_create_new_guard): New function.
8023 (translate_isl_ast_node_if): New function.
8024 (translate_isl_ast): Add calling of translate_isl_ast_node_if.
8025
8026 * gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase.
8027
8028 2014-07-27 Anthony Green <green@moxielogic.com>
8029
8030 * config.gcc: Add moxie-*-moxiebox* configuration.
8031 * config/moxie/moxiebox.h: New file.
8032
8033 2014-07-26 Andrew Pinski <apinski@cavium.com>
8034
8035 * config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove +
8036 from the read only register.
8037
8038 2014-07-26 Richard Sandiford <rdsandiford@googlemail.com>
8039
8040 * ira-costs.c (find_costs_and_classes): For -O0, use the best class
8041 as the allocation class if it isn't likely to be spilled.
8042
8043 2014-07-26 Richard Sandiford <rdsandiford@googlemail.com>
8044
8045 * rtl.h (tls_referenced_p): Declare.
8046 * rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions.
8047 * config/mips/mips.c (mips_tls_symbol_ref_1): Delete.
8048 (mips_cannot_force_const_mem): Use tls_referenced_p.
8049 * config/pa/pa-protos.h (pa_tls_referenced_p): Delete.
8050 * config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p
8051 instead of pa_tls_referenced_p.
8052 * config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem)
8053 (pa_emit_move_sequence, pa_emit_move_sequence): Likewise.
8054 (pa_legitimate_constant_p): Likewise.
8055 (pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete.
8056 * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete.
8057 (rs6000_cannot_force_const_mem, rs6000_emit_move)
8058 (rs6000_address_for_altivec): Use tls_referenced_p instead of
8059 rs6000_tls_referenced_p.
8060 (rs6000_tls_symbol_ref_1): Delete.
8061
8062 2014-07-26 Marc Glisse <marc.glisse@inria.fr>
8063
8064 PR target/44551
8065 * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
8066 Optimize inverse of a VEC_CONCAT.
8067
8068 2014-07-25 Xinliang David Li <davidxl@google.com>
8069
8070 * params.def: New parameter.
8071 * coverage.c (get_coverage_counts): Check new flag.
8072 (coverage_compute_profile_id): Check new flag.
8073 (coverage_begin_function): Check new flag.
8074 (coverage_end_function): Check new flag.
8075 * value-prof.c (coverage_node_map_initialized_p): New function.
8076 (init_node_map): Populate map with all functions.
8077 * doc/invoke.texi: Document new parameter.
8078
8079 2014-07-25 Jan Hubicka <hubicka@ucw.cz>
8080 Richard Biener <rguenther@suse.de>
8081
8082 * lto-streamer-out.c (struct sccs): Turn to ...
8083 (class DFS): ... this one; refactor the DFS walk so it can
8084 be re-done on per-SCC basis.
8085 (DFS::DFS): New constructor.
8086 (DFS::~DFS): New destructor.
8087 (hash_tree): Add new MAP argument holding in-SCC hash values;
8088 remove POINTER_TYPE hashing hack.
8089 (scc_entry_compare): Rename to ...
8090 (DFS::scc_entry_compare): ... this one.
8091 (hash_scc): Rename to ...
8092 (DFS::hash_scc): ... this one; pass output_block instead
8093 of streamer_cache; work harder to get unique and stable SCC
8094 hashes.
8095 (DFS_write_tree): Rename to ...
8096 (DFS::DFS_write_tree): ... this one; add SINGLE_P parameter.
8097 (lto_output_tree): Update.
8098
8099 2014-07-25 Andi Kleen <ak@linux.intel.com>
8100
8101 * lto-streamer-out.c (hash_tree): Convert to inchash.
8102
8103 2014-07-25 Andi Kleen <ak@linux.intel.com>
8104
8105 * tree.c (build_type_attribute_qual_variant): Use inchash.
8106 (type_hash_list): Dito.
8107 (attribute_hash_list): Dito
8108 (iterative_hstate_expr): Dito.
8109 (iterative_hash_expr): Dito.
8110 (build_range_type_1): Dito.
8111 (build_array_type_1): Dito.
8112 (build_function_type): Dito.
8113 (build_method_type_directly): Dito.
8114 (build_offset_type): Dito.
8115 (build_complex_type): Dito.
8116 (make_vector_type): Dito.
8117 * tree.h (iterative_hash_expr): Add compat wrapper.
8118 (iterative_hstate_expr): Add.
8119
8120 2014-07-25 Andi Kleen <ak@linux.intel.com>
8121
8122 * Makefile.in (OBJS): Add inchash.o.
8123 (PLUGIN_HEADERS): Add inchash.h.
8124 * ipa-devirt.c: Include inchash.h.
8125 * lto-streamer-out.c: Dito.
8126 * tree-ssa-dom.c: Dito.
8127 * tree-ssa-pre.c: Dito.
8128 * tree-ssa-sccvn.c: Dito.
8129 * tree-ssa-tail-merge.c: Dito.
8130 * asan.c: Dito.
8131 * tree.c (iterative_hash_hashval_t): Move to ...
8132 (iterative_hash_host_wide_int): Move to ...
8133 * inchash.c: Here. New file.
8134 * tree.h (iterative_hash_hashval_t): Move to ...
8135 (iterative_hash_host_wide_int): Move to ...
8136 * inchash.h: Here. New file.
8137
8138 2014-07-25 Richard Biener <rguenther@suse.de>
8139
8140 PR middle-end/61762
8141 PR middle-end/61894
8142 * fold-const.c (native_encode_int): Add and handle offset
8143 parameter to do partial encodings of expr.
8144 (native_encode_fixed): Likewise.
8145 (native_encode_real): Likewise.
8146 (native_encode_complex): Likewise.
8147 (native_encode_vector): Likewise.
8148 (native_encode_string): Likewise.
8149 (native_encode_expr): Likewise.
8150 * fold-const.c (native_encode_expr): Add offset parameter
8151 defaulting to -1.
8152 * gimple-fold.c (fold_string_cst_ctor_reference): Remove.
8153 (fold_ctor_reference): Handle all reads from tcc_constant
8154 ctors.
8155
8156 2014-07-25 Richard Biener <rguenther@suse.de>
8157
8158 * tree-inline.c (estimate_move_cost): Mark speed_p argument
8159 as possibly unused.
8160
8161 2014-07-23 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8162
8163 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Add __AVR_DEVICE_NAME__.
8164
8165 2014-07-24 Kyle McMartin <kyle@redhat.com>
8166
8167 * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
8168
8169 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8170
8171 * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
8172 Add prototype.
8173 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
8174 function.
8175 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
8176 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
8177 * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
8178
8179 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8180
8181 * config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX
8182 and ELFv2 ABI, do not use the "mode == BLKmode" check to test for
8183 aggregate types. Instead, *all* aggregate types, except for single-
8184 element or homogeneous float/vector aggregates, are quadword-aligned
8185 if required by their type alignment. Issue -Wpsabi note when a type
8186 is now treated differently than before.
8187
8188 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8189
8190 * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
8191 does not fit fully into floating-point registers, and there is still
8192 space in the register parameter area, use GPRs to pass those parts
8193 of the argument. Issue -Wpsabi note if any parameter is now treated
8194 differently than before.
8195 (rs6000_arg_partial_bytes): Update.
8196
8197 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
8198
8199 * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
8200
8201 2014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
8202
8203 * rtl.h (target_rtl): Remove lang_dependent_initialized.
8204 * toplev.c (initialize_rtl): Don't use it. Move previously
8205 "language-dependent" calls to...
8206 (backend_init): ...here.
8207 (lang_dependent_init_target): Don't set lang_dependent_initialized.
8208 Assert that RTL initialization hasn't happend yet.
8209
8210 2014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
8211
8212 PR rtl-optimization/61629
8213 * reginfo.c (reinit_regs): Only call ira_init and recog_init if
8214 they have already been initialized.
8215
8216 2014-07-24 Richard Sandiford <rdsandiford@googlemail.com>
8217
8218 PR middle-end/61268
8219 * function.c (assign_parm_setup_reg): Prevent invalid sharing of
8220 DECL_INCOMING_RTL and entry_parm.
8221 (get_arg_pointer_save_area): Likewise arg_pointer_save_area.
8222 * calls.c (load_register_parameters): Likewise argument values.
8223 (emit_library_call_value_1, store_one_arg): Likewise argument
8224 save areas.
8225 * config/i386/i386.c (assign_386_stack_local): Likewise the local
8226 stack slot.
8227 * explow.c (validize_mem): Modify the argument in-place.
8228
8229 2014-07-24 Jiong Wang <jiong.wang@arm.com>
8230
8231 * config/aarch64/aarch64.c (aarch64_popwb_single_reg): New function.
8232 (aarch64_expand_epilogue): Optimize epilogue when !frame_pointer_needed.
8233
8234 2014-07-24 Jiong Wang <jiong.wang@arm.com>
8235
8236 * config/aarch64/aarch64.c (aarch64_pushwb_single_reg): New function.
8237 (aarch64_expand_prologue): Optimize prologue when !frame_pointer_needed.
8238
8239 2014-07-24 Jiong Wang <jiong.wang@arm.com>
8240
8241 * config/aarch64/aarch64.c (aarch64_restore_callee_saves)
8242 (aarch64_save_callee_saves): New parameter "skip_wb".
8243 (aarch64_expand_prologue, aarch64_expand_epilogue): Update call site.
8244
8245 2014-07-24 Jiong Wang <jiong.wang@arm.com>
8246
8247 * config/aarch64/aarch64.h (frame): New fields "wb_candidate1" and
8248 "wb_candidate2".
8249 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize above.
8250
8251 2014-07-24 Roman Gareev <gareevroman@gmail.com>
8252
8253 * graphite-isl-ast-to-gimple.c:
8254 (graphite_create_new_loop): Add calling of isl_id_free to properly
8255 decrement reference counts.
8256
8257 * gcc.dg/graphite/isl-ast-gen-blocks-4.c: New testcase.
8258
8259 2014-07-24 Martin Liska <mliska@suse.cz>
8260 * config/mips/mips.c (mips_start_unique_function): Correct cgraph_node
8261 function used.
8262 * config/rs6000/rs6000.c (call_ABI_of_interest): Likewise.
8263 (rs6000_code_end): Likewise.
8264
8265 2014-07-24 Martin Liska <mliska@suse.cz>
8266
8267 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): Correct
8268 symtab_node funtion used.
8269 (rs6000_xcoff_declare_object_name): Likewise.
8270
8271 2014-07-24 Martin Liska <mliska@suse.cz>
8272
8273 * cgraphunit.c (compile): Correct function used.
8274
8275 2014-07-24 Jan Hubicka <hubicka@ucw.cz>
8276
8277 * lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL
8278 as non-indexable.
8279
8280 2014-07-24 Jan Hubicka <hubicka@ucw.cz>
8281
8282 PR lto/61802
8283 * varasm.c (bss_initializer_p): Handle offlined ctors.
8284 (align_variable, get_variable_align): Likewise.
8285 (make_decl_one_only): Likewise.
8286 (default_binds_local_p_1): Likewise.
8287 (decl_binds_to_current_def_p): Likewise.
8288 (get_variable_section): Get constructor if it is offlined.
8289 (assemble_variable_contents): Sanity check that the caller
8290 streamed in the ctor in LTO.
8291
8292 2014-07-24 Roman Gareev <gareevroman@gmail.com>
8293
8294 * graphite-isl-ast-to-gimple.c:
8295 (binary_op_to_tree): Add calling of translate_isl_ast_node_block.
8296 (gcc_expression_from_isl_expr_op): Move isl_ast_op_pdiv_q,
8297 isl_ast_op_pdiv_r to the different case.
8298
8299 * gcc.dg/graphite/isl-ast-gen-blocks-3.c: New testcase.
8300
8301 2014-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8302
8303 PR middle-end/61876
8304 * convert.c (convert_to_integer): Do not convert BUILT_IN_ROUND and cast
8305 when flag_errno_math is on.
8306
8307 2014-07-24 Martin Liska <mliska@suse.cz>
8308
8309 * cgraph.h (varpool_node):
8310 (availability get_availability (void)):
8311 created from cgraph_variable_initializer_availability
8312 (inline varpool_node *ultimate_alias_target (availability *availability = NULL)
8313 created from: cgraph_variable_initializer_availability
8314 (inline varpool_node *get_alias_target (void)): created from varpool_alias_target
8315 (void finalize_named_section_flags (void)):
8316 created from varpool_finalize_named_section_flags
8317 (bool assemble_decl (void)): created from varpool_assemble_decl
8318 (void analyze (void)): created from varpool_analyze_node
8319 (bool call_for_node_and_aliases (bool (*callback) (varpool_node *, void *),
8320 void *data, bool include_overwritable)): created fromvarpool_for_node_and_aliases
8321 (void remove_initializer (void)): created from varpool_remove_initializer
8322 (tree get_constructor (void)): created from varpool_get_constructor
8323 (bool externally_visible_p (void)): created from varpool_externally_visible_p
8324 (bool ctor_useable_for_folding_p (void)): created from varpool_ctor_useable_for_folding_p
8325 (inline bool all_refs_explicit_p ()): created from varpool_all_refs_explicit_p
8326 (inline bool can_remove_if_no_refs_p (void)): created from varpool_can_remove_if_no_refs
8327 (static inline varpool_node *get (const_tree decl)): created from varpool_get_node
8328 (static void finalize_decl (tree decl)): created from varpool_finalize_decl
8329 (static bool output_variables (void)): created from varpool_output_variables
8330 (static varpool_node * create_extra_name_alias (tree alias, tree decl)):
8331 created from varpool_extra_name_alias
8332 (static varpool_node * create_alias (tree, tree)): created from varpool_create_variable_alias
8333 (static void dump_varpool (FILE *f)): created from dump_varpool
8334 (static void DEBUG_FUNCTION debug_varpool (void)): created from debug_varpool
8335 (static varpool_node *create_empty (void)): created from varpool_create_empty_node
8336 (static varpool_node *get_create (tree decl)): created from varpool_node_for_decl
8337 (static varpool_node *get_for_asmname (tree asmname)): created from varpool_node_for_asm
8338 (void assemble_aliases (void)): created from assemble_aliases
8339
8340 2014-07-24 Martin Liska <mliska@suse.cz>
8341
8342 * cgraph.h (symtab_node):
8343 (void register_symbol (void)): created from symtab_register_node
8344 (void remove (void)): created from symtab_remove_node
8345 (void dump (FILE *f)): created from dump_symtab_node
8346 (void DEBUG_FUNCTION debug (void)): created from debug_symtab_node
8347 (void DEBUG_FUNCTION verify (void)): created from verify_symtab_node
8348 (struct ipa_ref *add_reference (symtab_node *referred_node,
8349 enum ipa_ref_use use_type)): created from add_reference
8350 (struct ipa_ref *add_reference (symtab_node *referred_node,
8351 enum ipa_ref_use use_type, gimple stmt)): created from add_reference
8352 (struct ipa_ref *maybe_add_reference (tree val, enum ipa_ref_use use_type,
8353 gimple stmt)): created from maybe_add_reference
8354 (bool semantically_equivalent_p (symtab_node *target)): created from
8355 symtab_semantically_equivalent_p
8356 (void remove_from_same_comdat_group (void)): created from
8357 remove_from_same_comdat_group
8358 (void add_to_same_comdat_group (symtab_node *old_node)): created from
8359 symtab_add_to_same_comdat_group
8360 (void dissolve_same_comdat_group_list (void)): created from
8361 symtab_dissolve_same_comdat_group_list
8362 (bool used_from_object_file_p (void)): created from symtab_used_from_object_file_p
8363 (symtab_node *ultimate_alias_target (enum availability *avail = NULL)):
8364 created from symtab_alias_ultimate_target
8365 (inline symtab_node *next_defined_symbol (void)): created from
8366 symtab_next_defined_symbol
8367 (bool resolve_alias (symtab_node *target)): created from
8368 symtab_resolve_alias
8369 (bool call_for_symbol_and_aliases (bool (*callback) (symtab_node *, void *),
8370 void *data, bool include_overwrite)): created from symtab_for_node_and_aliases
8371 (symtab_node *noninterposable_alias (void)): created from symtab_nonoverwritable_alias
8372 (inline symtab_node *get_alias_target (void)): created from symtab_alias_target
8373 (void set_section (const char *section)): created from set_section_1
8374 (enum availability get_availability (void)): created from symtab_node_availability
8375 (void make_decl_local (void)): created from symtab_make_decl_local
8376 (bool real_symbol_p (void)): created from symtab_read_node
8377 (can_be_discarded_p (void)): created from symtab_can_be_discarded
8378 (inline bool comdat_local_p (void)): created from symtab_comdat_local_p
8379 (inline bool in_same_comdat_group_p (symtab_node *target)): created from
8380 symtab_in_same_comdat_p;
8381 (bool address_taken_from_non_vtable_p (void)): created from
8382 address_taken_from_non_vtable_p
8383 (static inline symtab_node *get (const_tree decl)): created from symtab_get_node
8384 (static void dump_table (FILE *)): created from dump_symtab
8385 (static inline DEBUG_FUNCTION void debug_symtab (void)): created from debug_symtab
8386 (static DEBUG_FUNCTION void verify_symtab_nodes (void)): created from verify_symtab
8387 (static bool used_from_object_file_p_worker (symtab_node *node)): created from
8388 symtab_used_from_object_file_p
8389 (void dump_base (FILE *)): created from dump_symtab_base
8390 (bool DEBUG_FUNCTION verify_base (void)): created from verify_symtab_base
8391 (void unregister (void)): created from symtab_unregister_node
8392 (struct symbol_priority_map *priority_info (void)): created from symtab_priority_info
8393 (static bool set_implicit_section (symtab_node *n, void *)): created from set_implicit_section
8394 (static bool noninterposable_alias (symtab_node *node, void *data)): created from
8395 symtab_nonoverwritable_alias_1
8396 * cgraph.h (cgraph_node):
8397 (bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node = NULL)):
8398 created from cgraph_remove_node_and_inline_clones
8399 (void record_stmt_references (gimple stmt)): created from ipa_record_stmt_references
8400 (void set_call_stmt_including_clones (gimple old_stmt, gimple new_stmt,
8401 bool update_speculative = true)): created from cgraph_set_call_stmt_including_clones
8402 (cgraph_node *function_symbol (enum availability *avail = NULL)):
8403 created from cgraph_function_node
8404 (cgraph_node *create_clone (tree decl, gcov_type count, int freq, bool update_original,
8405 vec<cgraph_edge *> redirect_callers, bool call_duplication_hook,
8406 struct cgraph_node *new_inlined_to, bitmap args_to_skip)):
8407 created from cgraph_create_clone
8408 (cgraph_node *create_virtual_clone (vec<cgraph_edge *> redirect_callers,
8409 vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, const char * suffix)):
8410 created from cgraph_create_virtual_clone
8411 (cgraph_node *find_replacement (void)): created from cgraph_find_replacement_node
8412 (cgraph_node *create_version_clone (tree new_decl, vec<cgraph_edge *> redirect_callers,
8413 bitmap bbs_to_copy)): created from cgraph_copy_node_for_versioning
8414 (cgraph_node *create_version_clone_with_body (vec<cgraph_edge *> redirect_callers,
8415 vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, bool skip_return,
8416 bitmap bbs_to_copy, basic_block new_entry_block, const char *clone_name)):
8417 created from cgraph_function_version_info
8418 (struct cgraph_function_version_info *insert_new_function_version (void)):
8419 created from insert_new_cgraph_node_version
8420 (struct cgraph_function_version_info *function_version (void)): created from
8421 get_cgraph_node_version
8422 (void analyze (void)): created from analyze_function
8423 (cgraph_node * create_thunk (tree alias, tree, bool this_adjusting,
8424 HOST_WIDE_INT fixed_offset, HOST_WIDE_INT virtual_value, tree virtual_offset,
8425 tree real_alias) cgraph_add_thunk
8426 (inline cgraph_node *get_alias_target (void)): created from cgraph_alias_target
8427 (cgraph_node *ultimate_alias_target (availability *availability = NULL)):
8428 created from cgraph_function_or_thunk_node
8429 (bool expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)):
8430 created from expand_thunk
8431 (void reset (void)): created from cgraph_reset_node
8432 (void create_wrapper (cgraph_node *target)): created from cgraph_make_wrapper
8433 (void DEBUG_FUNCTION verify_node (void)): created from verify_cgraph_node
8434 (void remove (void)): created from cgraph_remove_node
8435 (void dump (FILE *f)): created from dump_cgraph_node
8436 (void DEBUG_FUNCTION debug (void)): created from debug_cgraph_node
8437 (bool get_body (void)): created from cgraph_get_body
8438 (void release_body (void)): created from cgraph_release_function_body
8439 (void unnest (void)): created from cgraph_unnest_node
8440 (void make_local (void)): created from cgraph_make_node_local
8441 (void mark_address_taken (void)): created from cgraph_mark_address_taken_node
8442 (struct cgraph_edge *create_edge (cgraph_node *callee, gimple call_stmt,
8443 gcov_type count, int freq)): created from cgraph_create_edge
8444 (struct cgraph_edge *create_indirect_edge (gimple call_stmt, int ecf_flags,
8445 gcov_type count, int freq)): created from cgraph_create_indirect_edge
8446 (void create_edge_including_clones (struct cgraph_node *callee, gimple old_stmt,
8447 gimple stmt, gcov_type count, int freq, cgraph_inline_failed_t reason)):
8448 created from cgraph_create_edge_including_clones
8449 (cgraph_edge *get_edge (gimple call_stmt)): created from cgraph_edge
8450 (vec<cgraph_edge *> collect_callers (void)): created from collect_callers_of_node
8451 (void remove_callers (void)): created from cgraph_node_remove_callers
8452 (void remove_callees (void)): created from cgraph_node_remove_callees
8453 (enum availability get_availability (void)): created from cgraph_function_body_availability
8454 (void set_nothrow_flag (bool nothrow)): created from cgraph_set_nothrow_flag
8455 (void set_const_flag (bool readonly, bool looping)): created from cgraph_set_const_flag
8456 (void set_pure_flag (bool pure, bool looping)): created from cgraph_set_pure_flag
8457 (void call_duplication_hooks (cgraph_node *node2)): created from
8458 cgraph_call_node_duplication_hooks
8459 (bool call_for_symbol_and_aliases (bool (*callback) (cgraph_node *, void *),
8460 void *data, bool include_overwritable)): created from cgraph_for_node_and_aliases
8461 (bool call_for_symbol_thunks_and_aliases (bool (*callback) (cgraph_node *node, void *data),
8462 void *data, bool include_overwritable)): created from cgraph_for_node_thunks_and_aliases
8463 (void call_function_insertion_hooks (void)):
8464 created from cgraph_call_function_insertion_hooks
8465 (inline void mark_force_output (void)): created from cgraph_mark_force_output_node
8466 (bool local_p (void)): created from cgraph_local_node
8467 (bool can_be_local_p (void)): created from cgraph_node_can_be_local_p
8468 (bool cannot_return_p (void)): created from cgraph_node_cannot_return
8469 (bool only_called_directly_p (void)): created from cgraph_only_called_directly_p
8470 (inline bool only_called_directly_or_aliased_p (void)):
8471 created from cgraph_only_called_directly_or_aliased_p
8472 (bool will_be_removed_from_program_if_no_direct_calls_p (void)):
8473 created from cgraph_will_be_removed_from_program_if_no_direct_calls
8474 (bool can_remove_if_no_direct_calls_and_refs_p (void)):
8475 created from cgraph_can_remove_if_no_direct_calls_and_refs_p
8476 (bool can_remove_if_no_direct_calls_p (void)):
8477 created from cgraph_can_remove_if_no_direct_calls_p
8478 (inline bool has_gimple_body_p (void)):
8479 created from cgraph_function_with_gimple_body_p
8480 (bool optimize_for_size_p (void)): created from cgraph_optimize_for_size_p
8481 (static void dump_cgraph (FILE *f)): created from dump_cgraph
8482 (static inline void debug_cgraph (void)): created from debug_cgraph
8483 (static void record_function_versions (tree decl1, tree decl2)):
8484 created from record_function_versions
8485 (static void delete_function_version (tree decl)):
8486 created from delete_function_version
8487 (static void add_new_function (tree fndecl, bool lowered)):
8488 created from cgraph_add_new_function
8489 (static inline cgraph_node *get (const_tree decl)): created from cgraph_get_node
8490 (static cgraph_node * create (tree decl)): created from cgraph_create_node
8491 (static cgraph_node * create_empty (void)): created from cgraph_create_empty_node
8492 (static cgraph_node * get_create (tree)): created from cgraph_get_create_node
8493 (static cgraph_node *get_for_asmname (tree asmname)):
8494 created from cgraph_node_for_asm
8495 (static cgraph_node * create_same_body_alias (tree alias, tree decl)):
8496 created from cgraph_same_body_alias
8497 (static bool used_from_object_file_p_worker (cgraph_node *node,
8498 void *): new function
8499 (static bool non_local_p (cgraph_node *node, void *)):
8500 created from cgraph_non_local_node_p_1
8501 (static void DEBUG_FUNCTION verify_cgraph_nodes (void)):
8502 created from verify_cgraph
8503 (static bool make_local (cgraph_node *node, void *)):
8504 created from cgraph_make_node_local
8505 (static cgraph_node *create_alias (tree alias, tree target)):
8506 created from cgraph_create_function_alias
8507 (static cgraph_edge * create_edge (cgraph_node *caller, cgraph_node *callee,
8508 gimple call_stmt, gcov_type count, int freq, bool indir_unknown_callee)):
8509 created from cgraph_create_edge_1
8510 * cgraph.h (varpool_node):
8511 (void remove (void)): created from varpool_remove_node
8512 (void dump (FILE *f)): created from dump_varpool_node
8513
8514 2014-07-24 Richard Biener <rguenther@suse.de>
8515
8516 PR ipa/61823
8517 * tree-ssa-structalias.c (create_variable_info_for_1):
8518 Use varpool_get_constructor.
8519 (create_variable_info_for): Likewise.
8520
8521 2014-07-24 Jiong Wang <jiong.wang@arm.com>
8522
8523 * config/aarch64/aarch64.c (aarch64_expand_epilogue): Don't
8524 subtract outgoing area size when restoring stack_pointer_rtx.
8525
8526 2014-07-24 Nick Clifton <nickc@redhat.com>
8527
8528 * config/rx/rx.md (stack_push): Adjust RTL to account for the fact
8529 that operations are taking place in parallel.
8530 * config/rx.h (FRAME_POINTER_CFA_OFFSET): Delete.
8531
8532 2014-07-24 Thomas Schwinge <thomas@codesourcery.com>
8533
8534 * omp-low.c (extract_omp_for_data): Add missing break statement.
8535
8536 2014-07-24 Richard Biener <rguenther@suse.de>
8537
8538 * tree-inline.h (estimate_move_cost): Add speed_p parameter.
8539 * tree-inline.c (estimate_move_cost): Add speed_p parameter
8540 and adjust MOVE_RATIO query accordingly.
8541 (estimate_num_insns): Adjust callers.
8542 * ipa-prop.c (ipa_populate_param_decls): Likewise.
8543 * ipa-cp.c (gather_context_independent_values,
8544 estimate_local_effects): Likewise.
8545 * ipa-split.c (consider_split): Likewise.
8546
8547 2014-07-24 Trevor Saunders <tsaunders@mozilla.com>
8548
8549 * config/i386/driver-i386.c: Remove names of unused arguments and
8550 unnecessary unused attributes.
8551 * config/i386/host-mingw32.c: Likewise.
8552 * config/i386/i386.c: Likewise.
8553 * config/i386/winnt-stubs.c: Likewise.
8554 * config/i386/winnt.c: Likewise.
8555
8556 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8557
8558 * config/aarch64/aarch64.c (aarch64_popwb_pair_reg)
8559 (aarch64_gen_loadwb_pair): New helper function.
8560 (aarch64_expand_epilogue): Simplify code using new helper functions.
8561 * config/aarch64/aarch64.md (loadwb_pair<GPF:mode>_<P:mode>): Define.
8562
8563 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8564
8565 * config/aarch64/aarch64.c (aarch64_pushwb_pair_reg)
8566 (aarch64_gen_storewb_pair): New helper function.
8567 (aarch64_expand_prologue): Simplify code using new helper functions.
8568 * config/aarch64/aarch64.md (storewb_pair<GPF:mode>_<P:mode>): Define.
8569
8570 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8571
8572 * config/aarch64/aarch64.md: (aarch64_save_or_restore_callee_saves):
8573 Rename to aarch64_save_callee_saves, remove restore code.
8574 (aarch64_restore_callee_saves): New function.
8575
8576 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8577
8578 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Deleted.
8579 (aarch64_save_callee_saves): New function to handle reg save
8580 for both core and vectore regs.
8581
8582 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8583
8584 * config/aarch64/aarch64.c (aarch64_gen_load_pair)
8585 (aarch64_gen_store_pair): New helper function.
8586 (aarch64_save_or_restore_callee_save_registers)
8587 (aarch64_save_or_restore_fprs): Use new helper functions.
8588
8589 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8590
8591 * config/aarch64/aarch64.c (aarch64_next_callee_save): New function.
8592 (aarch64_save_or_restore_callee_save_registers)
8593 (aarch64_save_or_restore_fprs): Use aarch64_next_callee_save.
8594
8595 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8596
8597 * config/aarch64/aarch64.c
8598 (aarch64_save_or_restore_callee_save_registers)
8599 (aarch64_save_or_restore_fprs): Hoist calculation of register rtx.
8600
8601 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8602
8603 * config/aarch64/aarch64.c
8604 (aarch64_save_or_restore_callee_save_registers)
8605 (aarch64_save_or_restore_fprs): Remove 'increment'.
8606
8607 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8608
8609 * config/aarch64/aarch64.c
8610 (aarch64_save_or_restore_callee_save_registers)
8611 (aarch64_save_or_restore_fprs): Use register offset in
8612 cfun->machine->frame.reg_offset.
8613
8614 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8615
8616 * config/aarch64/aarch64.c
8617 (aarch64_save_or_restore_callee_save_registers)
8618 (aarch64_save_or_restore_fprs): Remove base_rtx.
8619
8620 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8621
8622 * config/aarch64/aarch64.c
8623 (aarch64_save_or_restore_callee_save_registers): Rename 'offset'
8624 to 'start_offset'. Remove local variable 'start_offset'.
8625
8626 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8627
8628 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Change
8629 type to HOST_WIDE_INT.
8630
8631 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8632
8633 * config/aarch64/aarch64.c (aarch64_expand_prologue)
8634 (aarch64_save_or_restore_fprs)
8635 (aarch64_save_or_restore_callee_save_registers): GNU-Stylize code.
8636
8637 2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
8638
8639 * config/arm/t-rtems-eabi: Add
8640 mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard,
8641 mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard,
8642 mbig-endian/mthumb/march=armv7-r, and
8643 mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
8644 multilibs.
8645
8646 2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
8647 Chris Johns <chrisj@rtems.org>
8648 Joel Sherrill <joel.sherrill@oarcorp.com>
8649
8650 * config.gcc: Add nios2-*-rtems*.
8651 * config/nios2/rtems.h: New file.
8652 * gcc/config/nios2/t-rtems: New file.
8653
8654 2014-07-23 Segher Boessenkool <segher@kernel.crashing.org>
8655
8656 PR target/61396
8657 * config/rs6000/rs6000.c (paired_expand_vector_init): Only allow
8658 constant numbers, not general constants.
8659 (rs6000_expand_vector_init): Ditto.
8660
8661 2014-07-23 Nathan Sidwell <nathan@acm.org>
8662
8663 * gcov-tool.c (gcov_list): Declare here.
8664 (set_gcov_list): Remove.
8665 (gcov_output_files): Set gcov_list directly.
8666
8667 2014-07-23 Host Schirmeier <horst@schirmeier.com>
8668
8669 * doc/invoke.texi: -O3 enables -ftree-loop-distribute-patterns.
8670
8671 2014-07-23 Jiong Wang <jiong.wang@arm.com>
8672
8673 * config/arm/arm.c (arm_get_frame_offsets): If both r3 and other
8674 callee-saved registers are available for padding purpose
8675 and r3 is not mandatory, then prefer use those callee-saved
8676 instead of r3.
8677
8678 2014-07-23 Richard Biener <rguenther@suse.de>
8679
8680 * params.def (PARAM_MAX_COMBINE_INSNS): New.
8681 * combine.c: Include statistics.h and params.h.
8682 (combine_instructions): Guard three and four insn combines
8683 with max-combine-insns value. Record statistics for combines
8684 performed.
8685 * doc/invoke.texi (max-combine-insns): Document new param.
8686
8687 2014-07-23 Roman Gareev <gareevroman@gmail.com>
8688
8689 * graphite-isl-ast-to-gimple.c:
8690 (translate_isl_ast_node_block): New function.
8691 (translate_isl_ast): Add calling of translate_isl_ast_node_block.
8692
8693 * gcc.dg/graphite/isl-ast-gen-blocks-1.c: New testcase.
8694 * gcc.dg/graphite/isl-ast-gen-blocks-2.c: New testcase.
8695
8696 2014-07-23 Roman Gareev <gareevroman@gmail.com>
8697
8698 * graphite-isl-ast-to-gimple.c:
8699 (get_max_schedule_dimensions): New function.
8700 (extend_schedule): Likewise.
8701 (generate_isl_schedule): Add calling of extend_schedule and
8702 get_max_schedule_dimensions.
8703
8704 2014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8705
8706 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle CLRSB, CLZ.
8707 (case UNSPEC): Handle UNSPEC_RBIT.
8708
8709 2014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8710
8711 * config/aarch64/aarch64.md: Delete UNSPEC_CLS.
8712 (clrsb<mode>2): Use clrsb RTL code instead of UNSPEC_CLS.
8713
8714 2014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8715
8716 * config/aarch64/arm_neon.h (vbsl_f64): New intrinsic.
8717
8718 2014-07-22 Roman Gareev <gareevroman@gmail.com>
8719
8720 * graphite-isl-ast-to-gimple.c:
8721 Add inclusion of gimple-ssa.h, tree-into-ssa.h.
8722 (ivs_params_clear):
8723 (build_iv_mapping): New function.
8724 (translate_isl_ast_node_user): Likewise.
8725 (translate_isl_ast): Add calling of translate_isl_ast_node_user.
8726
8727 * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: New testcase.
8728 * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: New testcase.
8729 * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: New testcase.
8730
8731 2014-07-21 Bin Cheng <bin.cheng@arm.com>
8732
8733 PR target/55701
8734 * config/arm/arm.md (setmem): New pattern.
8735 * config/arm/arm-protos.h (struct tune_params): New fields.
8736 (arm_gen_setmem): New prototype.
8737 * config/arm/arm.c (arm_slowmul_tune): Initialize new fields.
8738 (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
8739 (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
8740 (arm_cortex_a8_tune, arm_cortex_a7_tune): Ditto.
8741 (arm_cortex_a15_tune, arm_cortex_a53_tune): Ditto.
8742 (arm_cortex_a57_tune, arm_cortex_a5_tune): Ditto.
8743 (arm_cortex_a9_tune, arm_cortex_a12_tune): Ditto.
8744 (arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
8745 (arm_const_inline_cost): New function.
8746 (arm_block_set_max_insns): New function.
8747 (arm_block_set_non_vect_profit_p): New function.
8748 (arm_block_set_vect_profit_p): New function.
8749 (arm_block_set_unaligned_vect): New function.
8750 (arm_block_set_aligned_vect): New function.
8751 (arm_block_set_unaligned_non_vect): New function.
8752 (arm_block_set_aligned_non_vect): New function.
8753 (arm_block_set_vect, arm_gen_setmem): New functions.
8754
8755 2014-07-21 Bin Cheng <bin.cheng@arm.com>
8756
8757 * config/arm/arm.c (output_move_neon): Handle REG explicitly.
8758
8759 2014-07-21 Uros Bizjak <ubizjak@gmail.com>
8760
8761 PR target/61855
8762 * config/i386/avx512fintrin.h: Move constants for mantissa extraction
8763 out of #ifdef __OPTIMIZE__.
8764
8765 2014-07-20 Eric Botcazou <ebotcazou@adacore.com>
8766
8767 * cse.c (exp_equiv_p) <MEM>: For GCSE, return 0 for expressions with
8768 different trapping status if -fnon-call-exceptions is enabled.
8769
8770 2014-07-20 Eric Botcazou <ebotcazou@adacore.com>
8771
8772 * expr.c (store_field): Handle VOIDmode for calls that return values
8773 in multiple locations.
8774
8775 2014-07-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8776
8777 * config/rs6000/altivec.md (unspec enum): Fix typo in UNSPEC_VSLDOI.
8778 (altivec_vsldoi_<mode>): Likewise.
8779
8780 2014-07-20 Roman Gareev <gareevroman@gmail.com>
8781
8782 * graphite-isl-ast-to-gimple.c: Fixes a formatting issue related
8783 to the number of characters in the line.
8784
8785 2014-07-20 Roman Gareev <gareevroman@gmail.com>
8786
8787 * graphite-isl-ast-to-gimple.c: Add using of
8788 build_nonstandard_integer_type instead of int128_integer_type_node.
8789
8790 2014-07-19 Eric Botcazou <ebotcazou@adacore.com>
8791
8792 * toplev.c (output_stack_usage): Adjust the location of the warning.
8793
8794 2014-07-19 Daniel Cederman <cederman@gaisler.com>
8795
8796 * config/sparc/sync.md (*membar_storeload_leon3): New insn.
8797 (*membar_storeload): Disable for LEON3.
8798
8799 2014-07-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
8800
8801 PR rtl-optimization/61461
8802 * sched-vis.c (print_pattern) <ADDR_VEC, ADDR_DIFF_VEC>: Fixed.
8803
8804 2014-07-18 Uros Bizjak <ubizjak@gmail.com>
8805
8806 PR target/61794
8807 * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
8808 Fix instruction constraint.
8809 (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
8810
8811 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
8812
8813 * doc/extend.texi (Template Instantiation): Remove stray parenthesis.
8814
8815 2014-07-18 Chung-Ju Wu <jasonwucj@gmail.com>
8816
8817 * config/nds32/nds32.c (nds32_can_eliminate): Follow the
8818 GNU coding standards.
8819 (nds32_register_move_cost): Likewise.
8820 (nds32_memory_move_cost): Likewise.
8821 (nds32_address_cost): Likewise.
8822
8823 2014-07-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8824
8825 * config/mmix/mmix.c (mmix_intval): Drop unused automatic variable.
8826
8827 2014-07-17 John David Anglin <danglin@gcc.gnu.org>
8828
8829 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for
8830 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
8831 and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
8832 (HAVE_sync_compare_and_swapqi): Define.
8833 (HAVE_sync_compare_and_swaphi): Likewise.
8834 (HAVE_sync_compare_and_swapsi): Likewise.
8835
8836 2014-07-17 Richard Sandiford <rdsandiford@googlemail.com>
8837
8838 * config/mips/p5600.md: Add missing cpu tests.
8839
8840 2014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8841
8842 * config/aarch64/arm_neon.h (vfma_f64): New intrinsic.
8843 (vmla_f64): Likewise.
8844 (vfms_f64): Likewise.
8845 (vmls_f64): Likewise.
8846
8847 2014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8848
8849 * config/aarch64/aarch64.c (aarch64_frint_unspec_p): New function.
8850 (aarch64_rtx_costs): Handle FIX, UNSIGNED_FIX, UNSPEC.
8851
8852 2014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8853
8854 * config/aarch64/arm_neon.h (vmlal_high_lane_s16): Fix type.
8855 (vmlal_high_lane_s32): Likewise.
8856 (vmlal_high_lane_u16): Likewise.
8857 (vmlal_high_lane_u32): Likewise.
8858 (vmlsl_high_lane_s16): Likewise.
8859 (vmlsl_high_lane_s32): Likewise.
8860 (vmlsl_high_lane_u16): Likewise.
8861 (vmlsl_high_lane_u32): Likewise.
8862
8863 2014-07-17 Terry Guo <terry.guo@arm.com>
8864
8865 * config/arm/types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg.
8866 (alus_reg): Renamed to alus_sreg.
8867 * config/arm/arm-fixed.md: Change type of non-dsp instructions
8868 from alu_reg to alu_sreg. Change type of dsp instructions from
8869 alu_reg to alu_dsp_reg.
8870 * config/arm/thumb1.md: Likewise.
8871 * config/arm/thumb2.md: Likewise.
8872 * config/arm/arm.c (cortexa7_older_only): Use new ALU type names.
8873 * config/arm/arm1020e.md (1020alu_op): Replace alu_reg and alus_reg
8874 with alu_sreg and alus_sreg.
8875 * config/arm/arm1026ejs.md (alu_op): Likewise.
8876 * config/arm/arm1136jfs.md (11_alu_op): Likewise.
8877 * config/arm/arm926ejs.md (9_alu_op): Likewise.
8878 * config/arm/fa526.md (526_alu_op): Likewise.
8879 * config/arm/fa606te.md (606te_alu_op): Likewise.
8880 * config/arm/fa626te.md (626te_alu_op): Likewise.
8881 * config/arm/fa726te.md (726te_alu_op): Likewise.
8882 * config/arm/fmp626.md (mp626_alu_op): Likewise.
8883 * config/arm/arm.md (core_cycles): Replace alu_reg and alus_reg with
8884 alu_sreg, alu_dsp_reg and alus_sreg.
8885 * config/arm/cortex-a15.md (cortex_a15_alu): Likewise.
8886 * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
8887 * config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
8888 * config/arm/cortex-a7.md (cortex_a7_alu_sreg): Likewise.
8889 * config/arm/cortex-a8.md (cortex_a8_alu): Likewise.
8890 * config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
8891 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
8892 * config/arm/cortex-r4.md (cortex_r4_alu): Likewise.
8893 * config/arm/marvell-pj4.md (pj4_alu, pj4_alu_conds): Likewise.
8894 * config/aarch64/aarch64.md (*addsi3_aarch64, *addsi3_aarch64_uxtw,
8895 subsi3, *adddi3_aarch64, *subsi3_uxtw, subdi3, absdi2, neg<mode>2,
8896 *negsi2_uxtw, tlsle_small_<mode>): Rename type alu_reg to alu_sreg.
8897 (add<mode>3_compare0, *addsi3_compare0_uxtw, *add<mode>3nr_compare0,
8898 sub<mode>3_compare0, *compare_neg<mode>, *neg<mode>2_compare0,
8899 subsi3_compare0_uxtw, *negsi2_compare0_uxtw, *cmp<mode>): Rename type
8900 alus_reg to alus_sreg.
8901
8902 2014-07-17 Andreas Schwab <schwab@linux-m68k.org>
8903
8904 * real.c (encode_ieee_extended_motorola): Clear integer bit in the
8905 infinity format.
8906
8907 2014-07-17 Richard Biener <rguenther@suse.de>
8908
8909 PR rtl-optimization/61801
8910 * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT
8911 don't set reg_pending_barrier if it appears in a debug-insn.
8912
8913 2014-07-16 DJ Delorie <dj@redhat.com>
8914
8915 * config/rx/rx.c (rx_option_override): Fix alignment values.
8916 (rx_align_for_label): Likewise.
8917
8918 2014-07-17 Hans-Peter Nilsson <hp@axis.com>
8919
8920 PR target/61737.
8921 * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
8922 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
8923 (cris_cannot_force_const_mem, cris_legitimate_constant_p): New
8924 functions.
8925 (cris_print_index, cris_print_operand, cris_constant_index_p)
8926 (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
8927 (cris_address_cost): Ditto last CONSTANT_P.
8928 (cris_symbol_type_of): Rename from cris_pic_symbol_type_of. All
8929 callers changed. Yield cris_offsettable_symbol for non-PIC
8930 constant symbolic expressions including labels. Yield cris_unspec
8931 for all unspecs.
8932 (cris_expand_pic_call_address): New parameter MARKERP. Set its
8933 target to pic_offset_table_rtx for calls that will likely go
8934 through PLT, const0_rtx when they can't. All callers changed.
8935 Assert flag_pic. Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
8936 symbolic expressions to be PICified. Remove second, redundant,
8937 assert on can_create_pseudo_p returning non-zero. Use
8938 replace_equiv_address_nv, not replace_equiv_address, for final
8939 operand update.
8940 * config/cris/cris.md ("movsi"): Move variable t to pattern
8941 toplevel. Adjust assert for new cris_symbol_type member. Use
8942 CONSTANT_P instead of CONSTANT_ADDRESS_P.
8943 ("*movsi_internal") <case 9>: Make check for valid unspec operands
8944 for lapc stricter.
8945 <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes.
8946 ("call", "call_value"): Use second incoming operand as a marker
8947 for pic-offset-table-register being used.
8948 ("*expanded_call_non_v32", "*expanded_call_v32")
8949 ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
8950 second incoming operand to CALL, match cris_call_type_marker.
8951 ("*expanded_call_value_side"): Ditto. Disable before reload_completed.
8952 ("*expanded_call_side"): Ditto. Fix typo in comment.
8953 (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
8954 CONSTANT_P.
8955 * config/cris/predicates.md ("cris_call_type_marker"): New predicate.
8956 * config/cris/cris.h (CRIS_CONSTANT_P): New macro.
8957 (enum cris_symbol_type): Rename from cris_pic_symbol_type. All
8958 users changed. Add members cris_offsettable_symbol and cris_unspec.
8959 (cris_symbol_type): Rename from cris_pic_symbol_type.
8960 * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
8961 just CONSTANT_P.
8962 * config/cris/cris-protos.h (cris_symbol_type_of,
8963 cris_expand_pic_call_address): Adjust prototypes.
8964 (cris_legitimate_constant_p): New prototype.
8965
8966 * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
8967 an existing tmake_file. Don't add t-slibgcc and t-linux.
8968
8969 2014-07-17 Jason Merrill <jason@redhat.com>
8970
8971 PR c++/61623
8972 * symtab.c (symtab_remove_from_same_comdat_group): Also
8973 set_comdat_group to NULL_TREE.
8974 (verify_symtab): Fix diagnostic.
8975
8976 2014-07-16 David Wohlferd <dw@LimeGreenSocks.com>
8977
8978 PR target/61662
8979 * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
8980
8981 2014-07-16 Dodji Seketeli <dodji@redhat.com>
8982
8983 Support location tracking for built-in macro tokens
8984 * input.h (is_location_from_builtin_token): New function declaration.
8985 * input.c (is_location_from_builtin_token): New function definition.
8986 * toplev.c (general_init): Tell libcpp what the pre-defined
8987 spelling location for built-in tokens is.
8988
8989 2014-07-16 Jakub Jelinek <jakub@redhat.com>
8990
8991 * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
8992 on the FUNCTION_DECL.
8993
8994 2014-07-16 Richard Biener <rguenther@suse.de>
8995
8996 PR other/61782
8997 * doc/extend.texi (always_inline): Clarify.
8998
8999 2014-07-15 Eric Christopher <echristo@gmail.com>
9000
9001 * doc/invoke.texi (Link Options): Document -z option.
9002
9003 2014-07-15 Uros Bizjak <ubizjak@gmail.com>
9004
9005 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): New.
9006 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
9007
9008 2014-07-15 Jan Hubicka <hubicka@ucw.cz>
9009
9010 * fold-const.c (fold_checksum_tree): Fix typo in previous patch.
9011
9012 2014-07-15 Bernd Schmidt <bernds@codesourcery.com>
9013
9014 * asan.c (asan_finish_file): Use varpool_finalize_decl instead of
9015 varpool_assemble_decl.
9016 * varpool.c (varpool_assemble_decl): Assert that node->definition is
9017 true.
9018
9019 2014-07-15 Michael Matz <matz@suse.de>
9020
9021 PR rtl-optimization/61772
9022 * ifcvt.c (dead_or_predicable): Check jump to be free of side effects.
9023
9024 2014-07-15 Richard Biener <rguenther@suse.de>
9025
9026 * opts.c (default_options_table): Disable bit-ccp at -Og.
9027
9028 2014-07-14 Jan Hubicka <hubicka@ucw.cz>
9029
9030 * fold-const.c (fold_checksum_tree): Move checking of DECL_RESULT.
9031
9032 2014-07-14 Jan Hubicka <hubicka@ucw.cz>
9033
9034 * tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL,
9035 NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL;
9036 call langhook for unknown declaration.
9037 (find_decls_types_r): Do not walk DECL_ARGUMENT_FLD.
9038 * tree.h (DECL_ARGUMENTS): Update.
9039 * print-tree.c (print_node): Update.
9040 * tree-core.h (tree_decl_non_common): Remove arguments.
9041 (tree_function_decl): Add arguments.
9042
9043 2014-07-14 Richard Earnshaw <rearnsha@arm.com>
9044
9045 * aarch64.md (add_losym_<mode>): Set type to alu_imm.
9046
9047 2014-07-14 Richard Biener <rguenther@suse.de>
9048
9049 PR tree-optimization/61779
9050 * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
9051 simplifying a condition.
9052
9053 2014-07-14 Richard Biener <rguenther@suse.de>
9054
9055 * builtins.c (c_strlen): Make only_value == 2 really only
9056 affect warning generation.
9057
9058 2014-07-14 Richard Biener <rguenther@suse.de>
9059
9060 PR tree-optimization/61757
9061 PR tree-optimization/61783
9062 PR tree-optimization/61787
9063 * tree-ssa-dom.c (record_equality): Revert canonicalization
9064 change and add comment.
9065 (propagate_rhs_into_lhs): Revert previous fix, removing
9066 loop depth restriction again.
9067
9068 2014-07-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9069
9070 * config/arm/cortex-a15.md (cortex_a15_alu): Handle clz, rbit.
9071 * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
9072 * config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
9073 * config/arm/cortex-a7.md (cortex_a7_alu_reg): Likewise.
9074 * config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
9075 * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
9076 * config/arm/cortex-r4.md (cortex_r4_alu): Likewise.
9077
9078 2014-07-14 Richard Biener <rguenther@suse.de>
9079
9080 * cgraph.h (decl_in_symtab_p): Make inline.
9081
9082 2014-07-14 Jakub Jelinek <jakub@redhat.com>
9083
9084 PR middle-end/61294
9085 * doc/invoke.texi (-Wmemset-transposed-args): Document.
9086
9087 PR target/61656
9088 * config/i386/i386.c (classify_argument): Don't merge classes above
9089 number of words.
9090
9091 2014-07-13 Jan Hubicka <hubicka@ucw.cz>
9092
9093 * cgraph.h (symtab_node): Add nonzero_address.
9094 (decl_in_symtab_p): Break out from ...
9095 (symtab_get_node): ... here.
9096 * fold-const.c: Include cgraph.h
9097 (tree_single_nonzero_warnv_p): Use symtab to determine
9098 if symbol is non-zero.
9099 * symtab.c (symtab_node::nonzero_address): New method.
9100
9101 2014-07-12 Jan Hubicka <hubicka@ucw.cz>
9102
9103 * ipa-devirt.c (odr_subtypes_equivalent_p): Disable temporary hack
9104 forgotten in previous commit.
9105
9106 2014-07-12 Jan Hubicka <hubicka@ucw.cz>
9107
9108 * tree.c (type_in_anonymous_namespace_p): Ignore TREE_PUBLIC
9109 on builtin types.
9110 * ipa-devirt.c: Include stor-layout.h and intl.h
9111 (odr_subtypes_equivalent_p): New function.
9112 (warn_odr): New function.
9113 (warn_type_mismatch): New function.
9114 (odr_types_equivalent_p): New function.
9115 (add_type_duplicate): Use it.
9116 * common.opt (Wodr): New flag.
9117 * doc/invoke.texi (Wodr): Document new warning.
9118
9119 2014-07-12 Jan Hubicka <hubicka@ucw.cz>
9120
9121 * timevar.def (TV_IPA_LTO_DECL_INIT_IO): Remove.
9122 (TV_IPA_LTO_CTORS_IN, TV_IPA_LTO_CTORS_OUT): New timevar.
9123 * cgraph.c (cgraph_get_body): Push GIMPLE_IN timevar.
9124 (varpool_get_constructor): Push CTORS_IN timevar.
9125 * lto-streamer-out.c (lto_output): Push TV_IPA_LTO_CTORS_OUT timevar.
9126
9127 2014-07-12 Uros Bizjak <ubizjak@gmail.com>
9128
9129 * config/i386/i386-builtin-types.def: Add USHORT_FTYPE_VOID.
9130 Remove VOID_FTYPE_PUSHORT.
9131 * config/i386/i386.c (bdesc_special_args) <__builtin_ia32_fnstsw>:
9132 Change code to USHORT_FTYPE_VOID.
9133 (ix86_expand_special_args_builtin): Handle USHORT_FTYPE_VOID.
9134 (ix86_expand_builtin): Remove IX86_BUILTIN_FNSTSW handling.
9135 (ix86_atomic_assign_expand_fenv): Update for
9136 __builtin_ia32_fnstsw changes.
9137 * config/i386/i386.md (x86_fnstsw_1): Set length unconditionally to 2.
9138 (fnstsw): Change operand 0 to nonimmediate operand.
9139
9140 2014-07-11 Jan Hubicka <hubicka@ucw.cz>
9141
9142 * vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.h
9143 (varpool_get_constructor): New function.
9144 (varpool_ctor_useable_for_folding_p): Break out from ...
9145 (ctor_for_folding): ... here; use varpool_get_constructor.
9146 (varpool_assemble_decl): Likewise.
9147 * lto-streamer.h (struct output_block): Turn cgraph_node
9148 to symbol filed.
9149 (lto_input_variable_constructor): Declare.
9150 * ipa-visibility.c (function_and_variable_visibility): Use
9151 varpool_get_constructor.
9152 * cgraph.h (varpool_get_constructor): Declare.
9153 (varpool_ctor_useable_for_folding_p): New function.
9154 * lto-streamer-out.c (get_symbol_initial_value): Take encoder
9155 parameter; return error_mark_node for non-trivial constructors.
9156 (lto_write_tree_1, DFS_write_tree): Update use of
9157 get_symbol_initial_value.
9158 (output_function): Update initialization of symbol.
9159 (output_constructor): New function.
9160 (copy_function): Rename to ..
9161 (copy_function_or_variable): ... this one; handle vars too.
9162 (lto_output): Output variable sections.
9163 * lto-streamer-in.c (input_constructor): New function.
9164 (lto_read_body): Rename from ...
9165 (lto_read_body_or_constructor): ... this one; handle vars too.
9166 (lto_input_variable_constructor): New function.
9167 * ipa-prop.c (ipa_prop_write_jump_functions,
9168 ipa_prop_write_all_agg_replacement): Update.
9169 * lto-cgraph.c (compute_ltrans_boundary): Use it.
9170 (output_cgraph_opt_summary): Set symbol to NULL.
9171
9172 2014-07-11 Jan Hubicka <hubicka@ucw.cz>
9173
9174 * ipa-prop.c (ipa_binfo_from_known_type_jfunc): In LTO do not walk
9175 non-polymorphic types.
9176 * ipa-cp.c (ipa_get_jf_ancestor_result): Likewise.
9177 * ipa-devirt.c (types_same_for_odr): Do not explode when one
9178 of types is not polymorphic.
9179
9180 2014-07-11 Vladimir Makarov <vmakarov@redhat.com>
9181
9182 * lra-constraints.c (remove_inheritance_pseudos): Process
9183 destination pseudo too.
9184
9185 2014-07-11 Rong Xu <xur@google.com>
9186
9187 * gcov-tool.c (gcov_output_files): Fix build error introduced in
9188 commit r212448.
9189
9190 2014-07-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
9191
9192 * config/avr/avr-arch.h (avr_mcu_t): Add text section start attribute.
9193 * config/avr/avr-devices.c (AVR_MCU): Same.
9194 (avr_mcu_types): add text start value to end of device list.
9195 * config/avr/avr-mcus.def: Add text section start for all devices.
9196 (ata5782): Add new avr5 device.
9197 (ata5831): Same.
9198 * config/avr/avr-tables.opt: Regenerate.
9199 * config/avr/avr.h: Add declaration for text section start handler.
9200 (EXTRA_SPEC_FUNCTIONS): Add text section start handler to
9201 SPEC functions.
9202 (LINK_SPEC): Include text section start handler to linker spec.
9203 * config/avr/driver-avr.c (avr_device_to_text_start): New function to
9204 pass -Ttext option to linker if the text section start for the device
9205 is not zero.
9206 * config/avr/t-multilib: Regenerate.
9207 * doc/avr-mmcu.texi: Regenerate.
9208
9209 2014-07-11 David Edelsohn <dje.gcc@gmail.com>
9210
9211 * config/rs6000/aix51.h (LINK_SPEC): Remove -bnodelcsect.
9212 * config/rs6000/aix52.h (LINK_SPEC): Same.
9213 * config/rs6000/aix53.h (LINK_SPEC): Same.
9214 * config/rs6000/aix61.h (LINK_SPEC): Same.
9215 * config/rs6000/xcoff.h (MAKE_DECL_ONE_ONLY): Define.
9216
9217 2014-07-11 Roman Gareev <gareevroman@gmail.com>
9218
9219 * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): New function.
9220 (graphite_verify): New function.
9221 (ivs_params_clear): New function.
9222 (gcc_expression_from_isl_ast_expr_id): New function.
9223 (gcc_expression_from_isl_expr_int): New function.
9224 (binary_op_to_tree): New function.
9225 (ternary_op_to_tree): New function.
9226 (unary_op_to_tree): New function.
9227 (nary_op_to_tree): New function.
9228 (gcc_expression_from_isl_expr_op): New function.
9229 (gcc_expression_from_isl_expression): New function.
9230 (graphite_create_new_loop): New function.
9231 (translate_isl_ast_for_loop): New function.
9232 (get_upper_bound): New function.
9233 (graphite_create_new_loop_guard): New function.
9234 (translate_isl_ast_node_for): New function.
9235 (translate_isl_ast): New function.
9236 (add_parameters_to_ivs_params): New function.
9237 (scop_to_isl_ast): New parameter ip.
9238 (graphite_regenerate_ast_isl): Add generation of GIMPLE code.
9239
9240 2014-07-11 Jan Hubicka <hubicka@ucw.cz>
9241
9242 * config/xtensa/predicates.md (call expander): Update for
9243 DECL_SECTION_NAME being string.
9244
9245 2014-07-11 Richard Biener <rguenther@suse.de>
9246
9247 PR middle-end/61473
9248 * builtins.c (fold_builtin_memory_op): Inline memory moves that
9249 can be implemented with a single load followed by a single store.
9250 (c_strlen): Only warn when only_value is not 2.
9251
9252 2014-07-11 Evgeny Stupachenko <evstupac@gmail.com>
9253
9254 * config/i386/i386.c (expand_vec_perm_pblendv): Disable for AVX.
9255
9256 2014-07-11 Marat Zakirov <m.zakirov@samsung.com>
9257
9258 PR target/61561
9259 * config/arm/arm.md (*movhi_insn_arch4): Handle stack pointer.
9260 (*movhi_bytes): Likewise.
9261 (*arm_movqi_insn): Likewise.
9262
9263 2014-07-11 Uros Bizjak <ubizjak@gmail.com>
9264
9265 PR target/56858
9266 * config/alpha/alpha.c: Include tree-pass.h, context.h
9267 and pass_manager.h.
9268 (pass_data_handle_trap_shadows): New pass.
9269 (pass_handle_trap_shadows::gate): New pass gate function.
9270 (make_pass_handle_trap_shadows): New function.
9271 (rest_of_handle_trap_shadows): Ditto.
9272
9273 (alpha_align_insns_1): Rename from alpha_align_insns.
9274 (pass_data_align_insns): New pass.
9275 (pass_align_insns::gate): New pass gate function.
9276 (make_pass_aling_insns): New function.
9277 (rest_of_align_insns): Ditto.
9278 (alpha_align_insns): Ditto.
9279
9280 (alpha_option_override): Declare handle_trap_shadows info
9281 and align_insns_info. Register handle_trap_shadows and align_insns
9282 passes here.
9283 (alpha_reorg): Do not call alpha_trap_shadows and
9284 alpha_align_insn from here.
9285
9286 (alpha_pad_function_end): Do not skip BARRIERs.
9287
9288 2014-07-10 Rong Xu <xur@google.com>
9289
9290 Add gcov-tool: an offline gcda profile processing tool support.
9291 * gcov-io.c (gcov_position): Make avaialble to gcov-tool.
9292 (gcov_is_error): Ditto.
9293 (gcov_read_string): Ditto.
9294 (gcov_read_sync): Ditto.
9295 * gcov-io.h: Move counter defines to gcov-counter.def.
9296 * gcov-dump.c (tag_counters): Use gcov-counter.def.
9297 * coverage.c: Ditto.
9298 * gcov-tool.c: Offline gcda profile processing tool.
9299 (unlink_gcda_file): Remove one gcda file.
9300 (unlink_profile_dir): Remove gcda files from the profile path.
9301 (gcov_output_files): Output gcda files to an output dir.
9302 (profile_merge): Merge two profiles in directory.
9303 (print_merge_usage_message): Print merge usage.
9304 (merge_usage): Print merge usage and exit.
9305 (do_merge): Driver for profile merge sub-command.
9306 (profile_rewrite): Rewrite profile.
9307 (print_rewrite_usage_message): Print rewrite usage.
9308 (rewrite_usage): Print rewrite usage and exit.
9309 (do_rewrite): Driver for profile rewrite sub-command.
9310 (print_usage): Print gcov-info usage and exit.
9311 (print_version): Print gcov-info version.
9312 (process_args): Process arguments.
9313 (main): Main routine for gcov-tool.
9314 * Makefile.in: Build and install gcov-tool.
9315 * gcov-counter.def: New file split from gcov-io.h.
9316 * doc/gcc.texi: Include gcov-tool.texi.
9317 * doc/gcov-tool.texi: Document for gcov-tool.
9318
9319 2014-07-10 Richard Biener <rguenther@suse.de>
9320
9321 PR tree-optimization/61757
9322 * tree-ssa-dom.c (loop_depth_of_name): Restore.
9323 (propagate_rhs_into_lhs): Revert part of last change.
9324
9325 2014-07-10 Thomas Schwinge <thomas@codesourcery.com>
9326
9327 * fold-const.c (fold_checksum_tree): Look at DECL_VINDEX only for
9328 FUNCTION_DECLs.
9329
9330 2014-07-10 Eric Botcazou <ebotcazou@adacore.com>
9331
9332 PR middle-end/53590
9333 * function.c (allocate_struct_function): Revert r188667 change.
9334
9335 * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
9336
9337 2014-07-10 Tom G. Christensen <tgc@jupiterrise.com>
9338
9339 * doc/install.texi: Remove links to defunct package providers for
9340 Solaris.
9341
9342 2014-07-09 Tom de Vries <tom@codesourcery.com>
9343
9344 * final.c (get_call_fndecl): Declare.
9345 (self_recursive_call_p): New function.
9346 (collect_fn_hard_reg_usage): Handle self-recursive function calls.
9347
9348 2014-07-08 Jan Hubicka <hubicka@ucw.cz>
9349
9350 * ipa-devirt.c (record_node): Walk through aliases.
9351
9352 2014-07-08 Jan Hubicka <hubicka@ucw.cz>
9353
9354 * lto-streamer-out.c (hash_scc): Avoid quadratic hashing loop.
9355
9356 2014-07-08 Jan Hubicka <hubicka@ucw.cz>
9357
9358 Revert:
9359 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
9360
9361 2014-07-08 Jan Hubicka <hubicka@ucw.cz>
9362
9363 * ipa-visibility.c (function_and_variable_visibility): Remove
9364 temporary hack disabling local aliases on AIX.
9365
9366 2014-07-08 Jan Hubicka <hubicka@ucw.cz>
9367
9368 * ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
9369 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Likewise.
9370
9371 2014-07-08 Jan Hubicka <hubicka@ucw.cz>
9372
9373 * rs6000/rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
9374 * rs6000/rs6000.c: Inline output of .set instruction.
9375 (declare_alias_data): New struct.
9376 (rs6000_declare_alias): New function.
9377 (rs6000_xcoff_declare_function_name): Use it.
9378 (rs6000_xcoff_declare_object_name): New function.
9379 * config/rs6000/xcoff.h: Define ASM_DECLARE_OBJECT_NAME.
9380 (ASM_OUTPUT_DEF): Turn to empty definition.
9381
9382 2014-07-08 Trevor Saunders <tsaunders@mozilla.com>
9383
9384 PR bootstrap/61679
9385 * hash-table.h: use hash_table::value_type instead of
9386 Descriptor::value_type in the return types of several methods.
9387
9388 2014-07-08 Trevor Saunders <tsaunders@mozilla.com>
9389
9390 * tree-pass.h (pass_data): Remove has_execute member.
9391 * passes.c (execute_one_pass): Don't check pass->has_execute.
9392 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
9393 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
9394 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
9395 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
9396 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
9397 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
9398 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
9399 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
9400 gimple-low.c, gimple-ssa-isolate-paths.c,
9401 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
9402 ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
9403 ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
9404 ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
9405 lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
9406 postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
9407 reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
9408 stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
9409 tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
9410 tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
9411 tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
9412 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
9413 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
9414 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
9415 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
9416 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
9417 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
9418 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
9419 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
9420 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
9421 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
9422 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
9423 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
9424 web.c: Remove initializer for pass_data::has_execute.
9425
9426 2014-07-08 Trevor Saunders <tsaunders@mozilla.com>
9427
9428 * graphite-htab.h: Use hash_map instead of hash_table.
9429 * graphite-clast-to-gimple.c: Adjust.
9430 * passes.c: Use hash_map instead of hash_table.
9431 * sese.c: Likewise.
9432 * sese.h: Remove now unused code.
9433
9434 2014-07-08 Sriraman Tallam <tmsriram@google.com>
9435
9436 PR target/61599
9437 * config/i386/i386.c (ix86_in_large_data_p): Check for size less
9438 than zero.
9439
9440 2014-07-08 Jakub Jelinek <jakub@redhat.com>
9441
9442 PR rtl-optimization/61673
9443 * combine.c (simplify_comparison): Test just mode's sign bit
9444 in tmode rather than the sign bit and any bits above it.
9445
9446 2014-07-08 Roman Gareev <gareevroman@gmail.com>
9447
9448 * graphite-isl-ast-to-gimple.c (generate_isl_context):
9449 Add __isl_give to the declaration.
9450 (generate_isl_schedule): Likewise.
9451 (scop_to_isl_ast): Likewise.
9452
9453 2014-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9454
9455 * config/arm/arm.c (cortexa5_extra_costs): New table.
9456 (arm_cortex_a5_tune): Use cortexa5_extra_costs.
9457
9458 2014-07-08 Jakub Jelinek <jakub@redhat.com>
9459
9460 PR tree-optimization/61725
9461 * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
9462 range, use range_includes_zerop_p instead of integer_zerop on
9463 vr0->min, only use log2 of max if min is not negative.
9464
9465 2014-07-08 Richard Biener <rguenther@suse.de>
9466
9467 * tree-ssa-dom.h (loop_depth_of_name): Remove.
9468 * tree-ssa-dom.c (record_equivalences_from_phis): Remove
9469 restriction on loop depth difference.
9470 (record_equality): Likewise.
9471 (propagate_rhs_into_lhs): Likewise. Simplify condition.
9472 (loop_depth_of_name): Remove.
9473 * tree-ssa-copy.c (copy_prop_visit_phi_node): Remove
9474 restriction on loop depth difference.
9475 (init_copy_prop): Likewise.
9476
9477 2014-07-08 Jan Hubicka <hubicka@ucw.cz>
9478
9479 * tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED
9480 parameter.
9481 (walk_aliased_vdefs): Likewise.
9482 * tree-ssa-alias.h (walk_aliased_vdefs): Likewise.
9483 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers
9484 (detect_type_change_from_memory_writes): Check if entry was reached.
9485
9486 2014-07-08 Richard Biener <rguenther@suse.de>
9487
9488 PR tree-optimization/61681
9489 * tree-ssa-structalias.c (find_what_var_points_to): Expand
9490 NONLOCAL inside ESCAPED.
9491
9492 2014-07-08 Richard Biener <rguenther@suse.de>
9493
9494 PR tree-optimization/61680
9495 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
9496 Handle properly all read-write dependences with group accesses.
9497
9498 2014-07-08 Yuri Rumyantsev <ysrumyan@gmail.com>
9499
9500 PR tree-optimization/61576
9501 * tree-if-conv.c (is_cond_scalar_reduction): Add check that basic
9502 block containing reduction statement is predecessor of phi basi block.
9503
9504 2014-07-08 Marek Polacek <polacek@redhat.com>
9505
9506 PR c/60226
9507 * fold-const.c (round_up_loc): Change the parameter type.
9508 Remove assert.
9509 * fold-const.h (round_up_loc): Adjust declaration.
9510 * stor-layout.c (finalize_record_size): Check for too large types.
9511
9512 2014-07-07 Jan Hubicka <hubicka@ucw.cz>
9513
9514 * symtab.c: Include calls.h.
9515 (symtab_nonoverwritable_alias_1): Check sanity of the local alias.
9516
9517 2014-07-07 Maciej W. Rozycki <macro@codesourcery.com>
9518
9519 * config/rs6000/rs6000.c (output_vec_const_move): Handle
9520 little-endian code generation.
9521 * config/rs6000/spe.md (spe_evmergehi): Rename to...
9522 (vec_perm00_v2si): ... this. Handle little-endian code generation.
9523 (spe_evmergehilo): Rename to...
9524 (vec_perm01_v2si): ... this. Handle little-endian code generation.
9525 (spe_evmergelo): Rename to...
9526 (vec_perm11_v2si): ... this. Handle little-endian code generation.
9527 (spe_evmergelohi): Rename to...
9528 (vec_perm10_v2si): ... this. Handle little-endian code generation.
9529 (spe_evmergehi, spe_evmergehilo): New expanders.
9530 (spe_evmergelo, spe_evmergelohi): Likewise.
9531 (*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code generation.
9532 (*frob_tf_ti): Likewise.
9533 (*frob_<mode>_di_2): Likewise.
9534 (*frob_tf_di_8_2): Likewise.
9535 (*frob_di_<mode>): Likewise.
9536 (*frob_ti_tf): Likewise.
9537 (*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
9538 (*frob_ti_<mode>_8_2): Likewise.
9539 (*frob_ti_tf_2): Likewise.
9540 (mov_si<mode>_e500_subreg0): Rename to...
9541 (mov_si<mode>_e500_subreg0_be): ... this. Restrict to the big
9542 endianness only.
9543 (*mov_si<mode>_e500_subreg0_le): New instruction pattern.
9544 (*mov_si<mode>_e500_subreg0_elf_low): Rename to...
9545 (*mov_si<mode>_e500_subreg0_elf_low_be): ... this. Restrict to
9546 the big endianness only.
9547 (*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
9548 (*mov_si<mode>_e500_subreg0_2): Rename to...
9549 (*mov_si<mode>_e500_subreg0_2_be): ... this. Restrict to the
9550 big big endianness only.
9551 (*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
9552 (*mov_si<mode>_e500_subreg4): Rename to...
9553 (*mov_si<mode>_e500_subreg4_be): ... this. Restrict to the big
9554 endianness only.
9555 (mov_si<mode>_e500_subreg4_le): New instruction pattern.
9556 (*mov_si<mode>_e500_subreg4_elf_low): Rename to...
9557 (*mov_si<mode>_e500_subreg4_elf_low_be): ... this. Restrict to
9558 the big endianness only.
9559 (*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
9560 pattern.
9561 (*mov_si<mode>_e500_subreg4_2): Rename to...
9562 (*mov_si<mode>_e500_subreg4_2_be): ... this. Restrict to the big
9563 endianness only.
9564 (*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
9565 (*mov_sitf_e500_subreg8): Rename to...
9566 (*mov_sitf_e500_subreg8_be): ... this. Restrict to the big
9567 endianness only.
9568 (*mov_sitf_e500_subreg8_le): New instruction pattern.
9569 (*mov_sitf_e500_subreg8_2): Rename to...
9570 (*mov_sitf_e500_subreg8_2_be): ... this. Restrict to the big
9571 endianness only.
9572 (*mov_sitf_e500_subreg8_2_le): New instruction pattern.
9573 (*mov_sitf_e500_subreg12): Rename to...
9574 (*mov_sitf_e500_subreg12_be): ... this. Restrict to the big
9575 endianness only.
9576 (*mov_sitf_e500_subreg12_le): New instruction pattern.
9577 (*mov_sitf_e500_subreg12_2): Rename to...
9578 (*mov_sitf_e500_subreg12_2_be): ... this. Restrict to the big
9579 endianness only.
9580 (*mov_sitf_e500_subreg12_2_le): New instruction pattern.
9581
9582 2014-07-07 Max Ostapenko <m.ostapenko@partner.samsung.com>
9583
9584 * asan.c (instrument_strlen_call): Do not instrument first byte
9585 in strlen if already instrumented.
9586
9587 2014-07-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9588
9589 * config/arm/arm.opt (mwords-little-endian): Delete.
9590 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
9591 of TARGET_LITTLE_WORDS.
9592 (WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
9593 * config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
9594 warning.
9595 * doc/invoke.texi: Remove references to -mwords-little-endian.
9596
9597 2014-07-07 Jakub Jelinek <jakub@redhat.com>
9598
9599 * expmed.c (struct init_expmed_rtl): Change all fields but
9600 pow2 and cint from struct rtx_def to rtx.
9601 (init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
9602 (init_expmed): Likewise. Allocate all the 18 rtxes and ggc_free them
9603 at the end again.
9604
9605 2014-07-06 Marek Polacek <polacek@redhat.com>
9606
9607 PR c/6940
9608 * doc/invoke.texi: Document -Wsizeof-array-argument.
9609
9610 2014-07-05 Gerald Pfeifer <gerald@pfeifer.com>
9611
9612 * wide-int.h (wide_int_storage): Change declaration from struct
9613 to class.
9614
9615 2014-07-05 Jan Hubicka <hubicka@ucw.cz>
9616
9617 * cgraph.c (cgraph_create_indirect_edge): Update call of
9618 get_polymorphic_call_info.
9619 * ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
9620 (possible_polymorphic_call_targets): Add parameter call.
9621 (decl_maybe_in_construction_p): New predicate.
9622 (get_polymorphic_call_info): Add parameter call;
9623 use decl_maybe_in_construction_p.
9624 * gimple-fold.c (fold_gimple_assign): Update use of
9625 possible_polymorphic_call_targets.
9626 (gimple_fold_call): Likewise.
9627 * ipa-prop.c: Inlcude calls.h
9628 (ipa_binfo_from_known_type_jfunc): Check that known type is record.
9629 (param_type_may_change_p): New predicate.
9630 (detect_type_change_from_memory_writes): Break out from ...
9631 (detect_type_change): ... this one; use param_type_may_change_p.
9632 (detect_type_change_ssa): Use param_type_may_change_p.
9633 (compute_known_type_jump_func): Use decl_maybe_in_construction_p.
9634
9635 2014-07-05 Charles Baylis <charles.baylis@linaro.org>
9636
9637 PR target/49423
9638 * config/arm/arm-protos.h (arm_legitimate_address_p,
9639 arm_is_constant_pool_ref): Add prototypes.
9640 * config/arm/arm.c (arm_legitimate_address_p): Remove static.
9641 (arm_is_constant_pool_ref) New function.
9642 * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
9643 arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
9644 (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
9645 operand. Remove pool_range and neg_pool_range attributes.
9646 (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
9647 pool_range and neg_pool_range attributes.
9648 * config/arm/constraints.md (Uh): New constraint.
9649 (Uq): Don't allow constant pool references.
9650
9651 2014-07-04 James Greenhalgh <james.greenhalgh@arm.com>
9652
9653 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
9654 (move_lo_quad_internal_be_<mode>): Likewise.
9655 (move_lo_quad_<mode>): Convert to define_expand.
9656 (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
9657 (aarch64_simd_move_hi_quad_be_<mode>): New.
9658 (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
9659 (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
9660 (aarch64_combinez_be<mode>): New.
9661 (aarch64_combine<mode>): Convert to define_expand.
9662 (aarch64_combine_internal<mode>): New.
9663 (aarch64_simd_combine<mode>): Remove bogus RTL description.
9664
9665 2014-07-04 Tom de Vries <tom@codesourcery.com>
9666
9667 * doc/md.texi (@subsection Constraint Modifier Characters): Clarify
9668 combination of earlyclobber and read/write modifiers.
9669
9670 2014-07-04 Tom de Vries <tom@codesourcery.com>
9671
9672 * config/aarch64/aarch64-simd.md
9673 (define_insn "vec_unpack_trunc_<mode>"): Fix constraint.
9674
9675 2014-07-04 Richard Earnshaw <rearnsha@arm.com>
9676
9677 PR target/61714
9678 * config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Define.
9679
9680 2014-07-04 Jakub Jelinek <jakub@redhat.com>
9681
9682 PR middle-end/61654
9683 * cgraphunit.c (expand_thunk): Call free_dominance_info.
9684
9685 PR tree-optimization/61684
9686 * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
9687 rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
9688
9689 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9690 Kito Cheng <kito@0xlab.org>
9691 Monk Chiang <sh.chiang04@gmail.com>
9692
9693 * config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
9694 (nds32_symbol_load_store_p): Move to ...
9695 (nds32_fp_as_gp_check_available): Move to ...
9696 * config/nds32/nds32-fp-as-gp.c: ... here.
9697 * config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
9698 extern declaration.
9699
9700 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9701 Kito Cheng <kito@0xlab.org>
9702 Monk Chiang <sh.chiang04@gmail.com>
9703
9704 * config/nds32/nds32.c (nds32_expand_load_multiple): Move to ...
9705 (nds32_expand_store_multiple): Move to ...
9706 (nds32_expand_movmemqi): Move to ...
9707 * config/nds32/nds32-memory-manipulation.c: ... here.
9708
9709 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9710 Kito Cheng <kito@0xlab.org>
9711 Monk Chiang <sh.chiang04@gmail.com>
9712
9713 * config/nds32/nds32.c (nds32_byte_to_size): Move to ...
9714 (nds32_output_casesi_pc_relative): Move to ...
9715 (nds32_output_casesi): Move to ...
9716 (nds32_mem_format): Move to ...
9717 (nds32_output_16bit_store): Move to ...
9718 (nds32_output_16bit_load): Move to ...
9719 (nds32_output_32bit_store): Move to ...
9720 (nds32_output_32bit_load): Move to ...
9721 (nds32_output_32bit_load_s): Move to ...
9722 (nds32_output_stack_push): Move to ...
9723 (nds32_output_stack_pop): Move to ...
9724 * config/nds32/nds32-md-auxiliary.c: ... here.
9725
9726 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9727 Ling-Hua Tseng <uranus@tinlans.org>
9728
9729 * config/nds32/nds32-pipelines-auxiliary.c: Add comment to describe
9730 the purpose of this file.
9731
9732 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9733 Kito Cheng <kito@0xlab.org>
9734 Monk Chiang <sh.chiang04@gmail.com>
9735
9736 * config/nds32/nds32.c (nds32_rtx_costs): Move implementation to ...
9737 (nds32_address_cost): Move implementation to ...
9738 * config/nds32/nds32-cost.c: ... here.
9739 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Declare.
9740 (nds32_address_cost_impl): Declare.
9741
9742 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9743 Kito Cheng <kito@0xlab.org>
9744 Monk Chiang <sh.chiang04@gmail.com>
9745
9746 * config/nds32/nds32.c
9747 (nds32_consecutive_registers_load_store_p): Move to ...
9748 (nds32_valid_multiple_load_store): Move to ...
9749 (nds32_valid_stack_push_pop): Move to ...
9750 (nds32_can_use_bclr_p): Move to ...
9751 (nds32_can_use_bset_p): Move to ...
9752 (nds32_can_use_btgl_p): Move to ...
9753 (nds32_can_use_bitci_p): Move to ...
9754 * config/nds32/nds32-predicates.c: ... here.
9755
9756 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9757 Kito Cheng <kito@0xlab.org>
9758 Monk Chiang <sh.chiang04@gmail.com>
9759
9760 * config/nds32/nds32.c
9761 (nds32_expand_builtin_null_ftype_reg): Move to ...
9762 (nds32_expand_builtin_reg_ftype_imm): Move to ...
9763 (nds32_expand_builtin_null_ftype_reg_imm): Move to ...
9764 (nds32_init_builtins): Move implementation to ...
9765 (nds32_expand_builtin): Move implementation to ...
9766 * config/nds32/nds32-intrinsic.c: ... here.
9767 * config/nds32/nds32-protos.h (nds32_init_builtins_impl): Declare.
9768 (nds32_expand_builtin_impl): Declare.
9769
9770 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9771 Kito Cheng <kito@0xlab.org>
9772 Monk Chiang <sh.chiang04@gmail.com>
9773
9774 * config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
9775 (nds32_emit_section_tail_template): Move to ...
9776 (nds32_emit_isr_jmptbl_section): Move to ...
9777 (nds32_emit_isr_vector_section): Move to ...
9778 (nds32_emit_isr_reset_conten): Move to ...
9779 (nds32_check_isr_attrs_conflict): Move to ...
9780 (nds32_construct_isr_vectors_information): Move to ...
9781 (nds32_asm_file_start): Move implementation to ...
9782 (nds32_asm_file_end): Move implementation to ...
9783 * config/nds32/nds32-isr.c: ... here.
9784 * config/nds32/nds32-protos.h
9785 (nds32_check_isr_attrs_conflict): Declare.
9786 (nds32_construct_isr_vectors_information): Declare.
9787 (nds32_asm_file_start_for_isr): Declare.
9788 (nds32_asm_file_end_for_isr): Declare.
9789
9790 2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
9791 Kito Cheng <kito@0xlab.org>
9792 Monk Chiang <sh.chiang04@gmail.com>
9793
9794 * config.gcc (nds32*): Add new modules to extra_objs.
9795 (nds32le-*-*): Use t-nds32 makefile fragment for new modules.
9796 (nds32be-*-*): Likewise.
9797 * config/nds32/nds32-cost.c: New file.
9798 * config/nds32/nds32-fp-as-gp.c: New file.
9799 * config/nds32/nds32-intrinsic.c: New file.
9800 * config/nds32/nds32-isr.c: New file.
9801 * config/nds32/nds32-md-auxiliary.c: New file.
9802 * config/nds32/nds32-memory-manipulation.c: New file.
9803 * config/nds32/nds32-pipelines-auxiliary.c: New file.
9804 * config/nds32/nds32-predicates.c: New file.
9805 * config/nds32/t-nds32: New file.
9806
9807 2014-07-03 Jakub Jelinek <jakub@redhat.com>
9808
9809 PR tree-optimization/61682
9810 * wide-int.cc (wi::mul_internal): Handle high correctly for umul_ppmm
9811 using cases and when one of the operands is equal to 1.
9812
9813 2014-07-03 Segher Boessenkool <segher@kernel.crashing.org>
9814
9815 * config/rs6000/rs6000.md (rotl<mode>3, ashl<mode>3, lshr<mode>3,
9816 ashr<mode>3): Correct mode of operands[2].
9817 (rotl<mode>3_dot, rotl<mode>3_dot2, ashl<mode>3_dot, ashl<mode>3_dot2,
9818 lshr<mode>3_dot, lshr<mode>3_dot2, ashr<mode>3_dot, ashr<mode>3_dot2):
9819 Correct mode of operands[2]. Fix split condition.
9820
9821 2014-07-03 Richard Earnshaw <rearnsha@arm.com>
9822
9823 * arm.md (arch): Add armv6_or_vfpv3.
9824 (arch_enabled): Add test for the above.
9825 * vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
9826 on VFP9.
9827 (sqrtsf_vfp, sqrtdf_vfp): Likewise.
9828
9829 2014-07-03 Jakub Jelinek <jakub@redhat.com>
9830
9831 * gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
9832 * data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
9833 HWI 1 and negate the unsigned value.
9834 * expmed.c (expand_sdiv_pow2): For modes wider than word always
9835 use AND instead of shift.
9836 * wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
9837
9838 2014-07-03 Marek Polacek <polacek@redhat.com>
9839
9840 * doc/invoke.texi (-fsanitize=bounds): Tweak wording.
9841 (-fsanitize=float-divide-by-zero): Move to the table with
9842 -fsanitize=undefined suboptions.
9843 (-fsanitize=float-cast-overflow): Likewise.
9844
9845 2014-07-03 Maciej W. Rozycki <macro@codesourcery.com>
9846
9847 * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
9848 BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
9849 endianness.
9850
9851 2014-07-03 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9852
9853 * loop-invariant.c (struct invariant): Add a new member: eqno;
9854 (find_identical_invariants): Update eqno;
9855 (create_new_invariant): Init eqno;
9856 (get_inv_cost): Compute comp_cost with eqno;
9857
9858 2014-07-02 Segher Boessenkool <segher@kernel.crashing.org>
9859
9860 * genconfig.c (have_rotate_flag, have_rotatert_flag): New variables.
9861 (walk_insn_part) <ROTATE, ROTATERT>: New cases.
9862 (main): Conditionally write HAVE_rotate resp. HAVE_rotatert.
9863 * simplify-rtx.c (simplify_binary_operation_1) <ROTATE, ROTATERT>:
9864 Only do the transformation if both HAVE_rotate and HAVE_rotatert.
9865
9866 2014-07-02 Christian Bruel <christian.bruel@st.com>
9867
9868 PR target/29349
9869 PR target/53513
9870 * mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
9871 (make_preds_opaque): Delete.
9872 (clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
9873 (commit_mode_sets): New function.
9874 (optimize_mode_switching): Handle current_mode to mode_switching_emit.
9875 Process all modes at once.
9876 * basic-block.h (pre_edge_lcm_avs): Declare.
9877 * lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
9878 Call clear_aux_for_edges. Fix comments.
9879 (pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
9880 (pre_edge_rev_lcm): Idem.
9881 * config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode
9882 parameter.
9883 * config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
9884 * config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute):
9885 Idem.
9886 * config/i386/i386.c (x96_emit_mode_set): Idem.
9887 * config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
9888 * config/sh/sh.md (toggle_pr): Defined if TARGET_FPU_SINGLE.
9889 (fpscr_toggle) Disallow from delay slot.
9890 * target.def (emit_mode_set): Add prev_mode parameter.
9891 * doc/tm.texi: Regenerate.
9892
9893 2014-07-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9894
9895 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
9896 variable i.
9897
9898 2014-07-01 Jan Hubicka <hubicka@ucw.cz>
9899
9900 * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
9901 vtable_pointer_value_to_vtable): Constify.
9902 (contains_polymorphic_type_p): Declare.
9903 * ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
9904 vtable_pointer_value_to_vtable): Constify.
9905 (contains_polymorphic_type_p): New predicate.
9906 * ipa-prop.c (ipa_set_jf_known_type): Allow types containing
9907 polymorphic types.
9908 (ipa_set_ancestor_jf): Likewise.
9909 (detect_type_change): Return false in easy cases.
9910 (compute_complex_assign_jump_func): Require type to contain
9911 polymorphic type.
9912 (compute_known_type_jump_func): Likewise.
9913
9914 2014-07-01 Jan Hubicka <hubicka@ucw.cz>
9915
9916 * tree.c (decls_same_for_odr, decls_same_for_odr, types_same_for_odr):
9917 Remove.
9918 (type_in_anonymous_namespace_p): Constify argument.
9919 * tree.h (types_same_for_odr, type_in_anonymous_namespace_p): Constify.
9920 * ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
9921 (main_odr_variant): New function.
9922 (hash_type_name): Make static; update assert; do not ICE on
9923 non-records.
9924 (types_same_for_odr): Bring here from tree.c; simplify and remove
9925 old structural comparing code that doesn't work for templates.
9926 (odr_hasher::equal): Update assert.
9927 (add_type_duplicate): Return true when bases should be computed;
9928 replace incomplete loader by complete; do not output duplicated
9929 warnings; do not ICE on non-records; set odr_violated flag.
9930 (get_odr_type): Be ready to replace incomplete type by complete
9931 one; work on ODR variants instead of main variants; reorder item
9932 in array so bases have still smaller indexes.
9933 (dump_type_inheritance_graph): Be ready for holdes in odr_types array.
9934 (possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.
9935
9936 2014-07-01 Cary Coutant <ccoutant@google.com>
9937
9938 * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
9939 lookup.
9940 (resolve_addr_in_expr): When replacing the rtx in a location list
9941 entry, get a new address table entry.
9942 (dwarf2out_finish): Call index_location_lists even if there are no
9943 addr_index_table entries yet.
9944
9945 2014-07-01 Trevor Saunders <tsaunders@mozilla.com>
9946
9947 * config/i386/winnt.c (i386_pe_section_type_flags): Revert previous
9948 change for not being obvious.
9949
9950 2014-07-01 Trevor Saunders <tsaunders@mozilla.com>
9951
9952 * config/i386/winnt.c (i386_pe_section_type_flags): Remove name of
9953 unused argument.
9954
9955 2014-07-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9956
9957 * config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
9958 (vcagt_f64): Likewise.
9959 (vcale_f64): Likewise.
9960 (vcaled_f64): Likewise.
9961 (vcales_f32): Likewise.
9962 (vcalt_f64): Likewise.
9963 (vcaltd_f64): Likewise.
9964 (vcalts_f32): Likewise.
9965
9966 2014-07-01 Marek Polacek <polacek@redhat.com>
9967
9968 * doc/invoke.texi: Document -Wint-conversion.
9969
9970 2014-07-01 Marek Polacek <polacek@redhat.com>
9971
9972 PR c/58286
9973 * doc/invoke.texi: Document -Wincompatible-pointer-types.
9974
9975 2014-07-01 Martin Liska <mliska@suse.cz>
9976
9977 IPA REF alias refactoring
9978 * cgraph.h (iterate_direct_aliases): New function.
9979 (FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
9980 * cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
9981 FOR_EACH_ALIAS added.
9982 (cgraph_for_node_and_aliases): Likewise.
9983 * cgraphunit.c (assemble_thunks_and_aliases): Likewise.
9984 * ipa-inline.c (reset_edge_caches): Likewise.
9985 (update_caller_keys): Likewise.
9986 * trans-mem.c (ipa_tm_execute): Likewise.
9987 *varpool.c (varpool_analyze_node): Likewise.
9988 (varpool_for_node_and_aliases): Likewise.
9989 * ipa-ref.h (first_alias): New function.
9990 (last_alias): Likewise.
9991 (has_aliases_p): Likewise.
9992 * ipa-ref.c (ipa_ref::remove_reference): Removal function
9993 is sensitive to IPA_REF_ALIASes.
9994 * symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
9995 are put at the beginning of the list.
9996 (symtab_node::iterate_direct_aliases): New function.
9997
9998 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
9999
10000 Revert:
10001 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
10002 type is complete.
10003 (write_ts_type_common_tree_pointers): Do not stream fields not set
10004 for incomplete types; do not stream duplicated fields for variants;
10005 sanity check that variant and type match.
10006 (write_ts_type_non_common_tree_pointers): Likewise.
10007 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
10008 TYPE_SIZE whether type is complete.
10009 (lto_input_ts_type_common_tree_pointers): Do same changes as in
10010 write_ts_type_common_tree_pointers
10011 (lto_input_ts_type_non_common_tree_pointers): Likewise.
10012
10013 2014-06-30 Joseph Myers <joseph@codesourcery.com>
10014
10015 * var-tracking.c (add_stores): Return instead of asserting if old
10016 and new values for conditional store are the same.
10017
10018 2014-06-30 Richard Henderson <rth@redhat.com>
10019
10020 PR rtl-opt/61608
10021 PR target/39284
10022 * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
10023 the cfg if there were any changes.
10024 * passes.def: Revert move of peephole2 after reorder_blocks;
10025 move duplicate_computed_gotos before peephole2.
10026
10027 2014-06-30 Uros Bizjak <ubizjak@gmail.com>
10028
10029 * except.c (emit_note_eh_region_end): New helper function.
10030 (convert_to_eh_region_ranges): Use emit_note_eh_region_end to
10031 emit EH_REGION_END note.
10032 * jump.c (cleanup_barriers): Do not split a call and its
10033 corresponding CALL_ARG_LOCATION note.
10034
10035 2014-06-30 Jeff Law <law@redhat.com>
10036
10037 PR tree-optimization/61607
10038 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
10039 deeper into the SSA_NAME_VALUE chain.
10040
10041 2014-06-30 Marek Polacek <polacek@redhat.com>
10042
10043 * convert.c (convert_to_integer): Don't instrument conversions if the
10044 function has no_sanitize_undefined attribute.
10045 * ubsan.c: Don't run the ubsan pass if the function has
10046 no_sanitize_undefined attribute.
10047
10048 2014-06-30 Jakub Jelinek <jakub@redhat.com>
10049
10050 * doc/invoke.texi (-fsanitize=bounds): Move to the table with
10051 -fsanitize=undefined suboptions.
10052
10053 2014-06-30 Alan Lawrence <alan.lawrence@arm.com>
10054
10055 * config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
10056 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
10057 against bigendian and adjust indices.
10058
10059 2014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
10060
10061 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
10062
10063 2014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
10064
10065 PR target/61633
10066 * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
10067 Add alternative; make early clobber. Adjust both split patterns
10068 to use operand 0 as the working register.
10069
10070 2014-06-30 Jakub Jelinek <jakub@redhat.com>
10071
10072 * ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0,
10073 as ira_object_id_map might be NULL, or 1.
10074
10075 2014-06-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10076
10077 * loop-invariant.c (get_inv_cost): Handle register class.
10078 (gain_for_invariant): Check the register pressure of the inv
10079 and its overlapped register class, other than all.
10080
10081 2014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
10082
10083 * doc/invoke.texi (Optimize Options): Fix descriptions of
10084 ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
10085
10086 2014-06-29 David Wohlferd <dw@LimeGreenSocks.com>
10087
10088 * doc/extend.texi (Function Attributes): Update 'naked' attribute
10089 documentation.
10090
10091 2014-06-29 Tobias Grosser <tobias@grosser.es>
10092
10093 PR bootstrap/61650
10094 * graphite-isl-ast-to-gimple.c: Add missing guards.
10095
10096 2014-06-29 Roman Gareev <gareevroman@gmail.com>
10097
10098 * Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
10099 * common.opt: Add new switch fgraphite-code-generator=[isl|cloog].
10100 * flag-types.h: Add new enum fgraphite_generator.
10101 * graphite-isl-ast-to-gimple.c: New.
10102 * graphite-isl-ast-to-gimple.h: New.
10103 * graphite.c (graphite_transform_loops): Add choice of Graphite
10104 code generator, which depends on flag_graphite_code_gen.
10105
10106 2014-06-29 Roman Gareev <gareevroman@gmail.com>
10107
10108 * graphite-dependences.c (subtract_commutative_associative_deps):
10109 Add NULL checking of the following variables: must_raw_no_source,
10110 may_raw_no_source, must_war_no_source, may_war_no_source,
10111 must_waw_no_source, may_waw_no_source, must_raw, may_raw,
10112 must_war, may_war, must_waw, may_waw.
10113
10114 2014-06-29 Roman Gareev <gareevroman@gmail.com>
10115
10116 * graphite-clast-to-gimple.c: gloog is renamed to
10117 graphite_regenerate_ast_cloog. gloog_error is renamed to
10118 graphite_regenerate_error.
10119 * graphite-clast-to-gimple.h: The definition of the struct
10120 bb_pbb_def is moved to graphite-htab.h.
10121 Add inclusion of the hash-table.h.
10122 * graphite-htab.h: The declaration of the function gloog is moved
10123 to graphite-clast-to-gimple.h and renamed to
10124 graphite_regenerate_ast_cloog.
10125 * graphite.c (graphite_transform_loops): gloog is renamed
10126 to graphite_regenerate_ast_cloog.
10127
10128 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
10129
10130 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
10131 type is complete.
10132 (write_ts_type_common_tree_pointers): Do not stream fields not set
10133 for incomplete types; do not stream duplicated fields for variants;
10134 sanity check that variant and type match.
10135 (write_ts_type_non_common_tree_pointers): Likewise.
10136 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
10137 TYPE_SIZE whether type is complete.
10138 (lto_input_ts_type_common_tree_pointers): Do same changes as in
10139 write_ts_type_common_tree_pointers
10140 (lto_input_ts_type_non_common_tree_pointers): Likewise.
10141
10142 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
10143
10144 * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
10145
10146 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
10147
10148 * tree-inline.c (remap_type_1): Do not duplicate fields
10149 that are shared in between type and its main variant.
10150
10151 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
10152
10153 * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
10154 of the type.
10155 (ipa_set_ancestor_jf) Likewise.
10156 (check_stmt_for_type_change): Check that we work on main variant.
10157 (detect_type_change): Look into main variant.
10158 (compute_known_type_jump_func): Check that main variant has BINFO.
10159
10160 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
10161
10162 * ipa-devirt.c (set_type_binfo): New function.
10163 (add_type_duplicate): Use it.
10164 (get_odr_type): Sanity check that binfos points to main variants.
10165 (get_class_context): Be sure the context's outer_type is main variant.
10166 (contains_type_p): Walk main variant.
10167 (get_polymorphic_call_info_for_decl): Set outer_type to be
10168 main variant.
10169 (get_polymorphic_call_info): Likewise.
10170 (possible_polymorphic_call_targets): Sanity check that we operate
10171 on main variant.
10172
10173 2014-06-28 Jan Hubicka <hubicka@ucw.cz>
10174
10175 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
10176
10177 2014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10178
10179 * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
10180 accidental change due to wide-int branch merge.
10181
10182 2014-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10183
10184 * configure.ac (gcc_cv_as_compress_debug): Check for assembler
10185 compressed debug support.
10186 (gcc_cv_ld_compress_debug): Check for linker compressed debug support.
10187 * configure: Regenerate.
10188 * config.in: Regenerate.
10189 * common.opt (compressed_debug_sections): New enum.
10190 (gz, gz=): New options.
10191 * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC): Define.
10192 (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
10193 (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
10194 * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
10195 LINK_COMPRESS_DEBUG_SPEC.
10196 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
10197 * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
10198 * doc/invoke.texi (Option Summary, Debugging Options): Add -gz[=type].
10199 (Debugging Options): Document -gz[=type].
10200
10201 2014-06-27 Martin Jambor <mjambor@suse.cz>
10202
10203 PR ipa/61160
10204 * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
10205 args_to_skip, use those from node instead. Copy args_to_skip and
10206 combined_args_to_skip from node to the new thunk.
10207 (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
10208 (cgraph_create_virtual_clone): Moved computation of
10209 combined_args_to_skip...
10210 (cgraph_clone_node): ...here, simplify it to bitmap_ior..
10211
10212 2014-06-27 trevor Saunders <tsaunders@mozilla.com>
10213
10214 * config/i386/winnt.c (i386_pe_section_type_flags): Remove
10215 redundant diagnostic machinary.
10216
10217 2014-06-27 Richard Biener <rguenther@suse.de>
10218
10219 * tree-ssa-math-opts.c (bswap_replace): Fix
10220 SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
10221
10222 2014-06-27 Martin Liska <mliska@suse.cz>
10223
10224 * gimple.h (gimple_location_safe): New function introduced.
10225 * cgraphunit.c (walk_polymorphic_call_targets): Usage
10226 of gimple_location_safe replaces gimple_location.
10227 (gimple_fold_call): Likewise.
10228 * ipa-devirt.c (ipa_devirt): Likewise.
10229 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
10230 * ipa.c (walk_polymorphic_call_targets): Likewise.
10231 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
10232
10233 2014-06-27 Jakub Jelinek <jakub@redhat.com>
10234
10235 PR tree-optimization/57233
10236 PR tree-optimization/61299
10237 * tree-vect-generic.c (get_compute_type, count_type_subparts): New
10238 functions.
10239 (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
10240 would be lowered to scalar shifts, check if corresponding
10241 shifts and vector BIT_IOR_EXPR are supported and don't lower
10242 or lower just to narrower vector type in that case.
10243 * expmed.c (expand_shift_1): Fix up handling of vector
10244 shifts and rotates.
10245
10246 2014-06-26 Uros Bizjak <ubizjak@gmail.com>
10247
10248 PR target/61586
10249 * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
10250
10251 2014-06-26 Jan Hubicka <hubicka@ucw.cz>
10252
10253 * doc/invoke.texi (-fsemantic-interposition): Document.
10254 * common.opt (fsemantic-interposition): New flag.
10255 * varasm.c (decl_replaceable_p): Use it.
10256
10257 2014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10258
10259 PR target/61542
10260 * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
10261 extraction other than index 3.
10262
10263 2014-06-26 Teresa Johnson <tejohnson@google.com>
10264
10265 * doc/invoke.texi: Fix typo.
10266 * dumpfile.c: Add support for documented -fdump-* options
10267 optimized/missed/note/optall.
10268
10269 2014-06-26 Martin Jambor <mjambor@suse.cz>
10270
10271 * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
10272 (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
10273 (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
10274 (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
10275 * opts.c (default_options_optimization): Set
10276 PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
10277 * doc/invoke.texi (allow-load-data-races)
10278 (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
10279 (allow-store-data-races): Document the new default.
10280
10281 2014-06-26 Martin Jambor <mjambor@suse.cz>
10282
10283 * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
10284 renamed to ipa_impossible_devirt_target. Fix typo.
10285 * ipa-prop.h (ipa_impossible_devirt_target): Declare.
10286 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
10287 ipa_impossible_devirt_target.
10288
10289 2014-06-26 Richard Biener <rguenther@suse.de>
10290
10291 PR tree-optimization/61607
10292 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
10293 explaining why we restrict copies on loop depth.
10294 * tree-ssa-dom.c (cprop_operand): Remove restriction on
10295 on loop depth.
10296 (record_equivalences_from_phis): Instead add it here.
10297
10298 2014-06-26 Bernd Schmidt <bernds@codesourcery.com>
10299
10300 * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
10301 (LTO_WRAPPER_OBJS): New variable.
10302 (lto-wrapper$(exeext)): Use it.
10303 * collect2.c: Include "collect-utils.h".
10304 (verbose, debug): Remove variables.
10305 (at_file_supplied): No longer static.
10306 (tool_name): New variable.
10307 (do_wait, fork_execute, maybe_unlink): Don't declare.
10308 (tool_cleanup): No longer static.
10309 (notice): Remove function.
10310 (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
10311 fork_execute calls.
10312 (collect_wait, do_wait, collect_execute): Remove functions.
10313 (maybe_unlink): No longer static.
10314 * collect2.h (verbose, debug): Don't declare.
10315 (at_file_supplied): Declare.
10316 * collect-utils.c (utils_cleanup): New arg from_signal. All callers
10317 changed.
10318 (collect_execute): Replace with implementation from collect2, plus a
10319 new arg use_atfile. All callers changed.
10320 (collect_wait): Replace with implementation from collect2.
10321 (maybe_unlink_file): Remove function.
10322 (fork_execute): Replace with implementation from collect2, plus a
10323 new arg use_atfile. All callers changed.
10324 (do_wait): Add call to utils_cleanup to the error path.
10325 * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
10326 (tool_cleanup): Adjust declarations.
10327 * lto-wrapper.c (tool_cleanup): Add unused bool argument.
10328 * tlink.c: Include "collect-utils.h".
10329 (tlink_execute): New arg use_atfile. All callers changed.
10330 (tlink_init, tlink_execute): Remove declarations.
10331
10332 * collect-utils.c (save_temps): New variable.
10333 (do_wait): Use it instead of debug. Use fatal_error.
10334 * collect-utils.h (save_temps): Declare.
10335 * collect2.c (verbose): Rename from vflag. All uses changed.
10336 (tool_cleanup): New function, copied from collect_atexit.
10337 (collect_atexit, handler): Just call it.
10338 * collect2.h (verbose): Declaration renamed from vflag.
10339 * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
10340 debug.
10341
10342 * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
10343 (lto-wrapper$(exeext)): Link with collect-utils.o.
10344 * collect-utils.c: New file.
10345 * collect-utils.h: New file.
10346 * lto-wrapper.c: Include "collect-utils.h".
10347 (args_name): Delete variable.
10348 (tool_name): New variable.
10349 (tool_cleanup): New function.
10350 (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
10351 (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
10352 (fork_execute): Remove functions.
10353
10354 2014-06-26 Nick Clifton <nickc@redhat.com>
10355
10356 * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
10357
10358 * doc/extend.texi (Function Attributes): Fix typo in description
10359 of RX vector attribute.
10360
10361 2014-06-26 James Greenhalgh <james.greenhalgh@arm.com>
10362
10363 * config.gcc (supported_defaults): Error when passing either
10364 --with-tune or --with-arch in conjunction with --with-cpu for ARM.
10365
10366 2014-06-26 Richard Biener <rguenther@suse.de>
10367
10368 * tree-ssa-dom.c (cprop_operand): Remove restriction on
10369 propagating volatile pointers.
10370
10371 2014-06-26 Richard Biener <rguenther@suse.de>
10372
10373 PR tree-optimization/61607
10374 * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
10375 loop if we redirected its latch edge.
10376 (thread_block_1): Do not cancel loops prematurely.
10377
10378 2014-06-25 Jan Hubicka <hubicka@ucw.cz>
10379
10380 * toplev.c (backend_init_target): Move init_emit_regs and
10381 init_regs to...
10382 (backend_init) ... here; skip ira_init_once and backend_init_target.
10383 (target_reinit) ... and here; clear
10384 this_target_rtl->lang_dependent_initialized.
10385 (lang_dependent_init_target): Clear
10386 this_target_rtl->lang_dependent_initialized;
10387 break out rtl initialization to ...
10388 (initialize_rtl): ... here; call also backend_init_target
10389 and ira_init_once.
10390 * toplev.h (initialize_rtl): New function.
10391 * function.c: Include toplev.h
10392 (init_function_start): Call initialize_rtl.
10393 * rtl.h (target_rtl): Add target_specific_initialized,
10394 lang_dependent_initialized.
10395
10396 2014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
10397 Jakub Jelinek <jakub@redhat.com>
10398
10399 * gcc.c (set_multilib_dir): Malloc "." pointer as well.
10400
10401 2014-06-25 Tom de Vries <tom@codesourcery.com>
10402
10403 * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
10404
10405 2014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
10406
10407 * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
10408 check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
10409 Issue a strict overflow warning if appropriate.
10410
10411 2014-06-25 Martin Liska <mliska@suse.cz>
10412
10413 IPA REF refactoring
10414 * Makefile.in: Removed header file (ipa-ref-inline.h).
10415 * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
10416 called.
10417 (cgraph_speculative_call_info): Likewise.
10418 (cgraph_for_node_thunks_and_aliases): Likewise.
10419 (cgraph_for_node_and_aliases): Likewise.
10420 (verify_cgraph_node): Likewise.
10421 * cgraph.h: Batch of IPA REF functions become member functions of
10422 symtab_node: add_reference, maybe_add_reference, clone_references,
10423 clone_referring, clone_reference, find_reference,
10424 remove_stmt_references, remove_all_references,
10425 remove_all_referring, dump_references, dump_referring,
10426 has_alias_p, iterate_reference, iterate_referring.
10427 * cgraphbuild.c (record_reference): New IPA REF function used.
10428 (record_type_list): Likewise.
10429 (record_eh_tables): Likewise.
10430 (mark_address): Likewise.
10431 (mark_load): Likewise.
10432 (mark_store): Likewise.
10433 (pass_build_cgraph_edges): Likewise.
10434 (rebuild_cgraph_edge): Likewise.
10435 (cgraph_rebuild_references): Likewise.
10436 (pass_remove_cgraph_callee_edges): Likewise.
10437 * cgraphclones.c (cgraph_clone_node): Likewise.
10438 (cgraph_create_virtual_clone): Likewise.
10439 (cgraph_materialize_clone): Likewise.
10440 (cgraph_materialize_all_clones): Likewise.
10441 * cgraphunit.c (cgraph_reset_node): Likewise.
10442 (cgraph_reset_node): Likewise.
10443 (analyze_function): Likewise.
10444 (assemble_thunks_and_aliases): Likewise.
10445 (expand_function): Likewise.
10446 * ipa-comdats.c (propagate_comdat_group): Likewise.
10447 (enqueue_references): Likewise.
10448 * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
10449 (create_specialized_node): Likewise.
10450 * ipa-devirt.c (referenced_from_vtable_p): Likewise.
10451 * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
10452 * ipa-inline.c (reset_edge_caches): Likewise.
10453 (update_caller_keys): Likewise.
10454 (execute): Likewise.
10455 * ipa-prop.c (remove_described_reference): Likewise.
10456 (propagate_controlled_uses): Likewise.
10457 (ipa_edge_duplication_hook): Likewise.
10458 (ipa_modify_call_arguments): Likewise.
10459 * ipa-pure-const.c (propagate_pure_const): Likewise.
10460 * ipa-ref-inline.h: Header file removed, functions moved
10461 to symtab_node class.
10462 * ipa-ref.c (remove_reference): New class member function.
10463 (cannot_lead_to_return): New class member function.
10464 (referring_ref_list): Likewise.
10465 (referred_ref_list): Likewise.
10466 Rest of functions moved to symtab_node class.
10467 * ipa-ref.h: New member functions remove_reference,
10468 cannot_lead_to_return, referring_ref_list, referred_ref_list added
10469 to ipa_ref class.
10470 ipa_ref_list class has new member functions: first_reference,
10471 first_referring, clear, nreferences.
10472 * ipa-reference.c (analyze_function): New IPA REF function used.
10473 (write_node_summary_p): Likewise.
10474 (ipa_reference_write_optimization_summary): Likewise.
10475 * ipa-split.c (split_function): Likewise.
10476 * ipa-utils.c (ipa_reverse_postorder): Likewise.
10477 * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
10478 (function_and_variable_visibility): Likewise.
10479 * ipa.c (has_addr_references_p): Likewise.
10480 (process_references): Argument type changed.
10481 (symtab_remove_unreachable_nodes): New IPA REF function used.
10482 (process_references): Likewise.
10483 (set_writeonly_bit): Likewise.
10484 * lto-cgraph.c: Implementation of new symtab_node member functions
10485 that uses new IPA REF functions.
10486 * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
10487 function used.
10488 * lto-streamer-out.c (output_symbol_p): Likewise.
10489 * lto-streamer.h (referenced_from_this_partition_p): Argument type
10490 changed.
10491 * symtab.c: Implementation of new IPA REF API.
10492 * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
10493 (ipa_tm_create_version): Likewise.
10494 (ipa_tm_execute): Likewise.
10495 * tree-emutls.c (gen_emutls_addr): Likewise.
10496 * tree-inline.c (copy_bb): Likewise.
10497 (delete_unreachable_blocks_update_callgraph): Likewise.
10498 * varpool.c (varpool_remove_unreferenced_decls): Likewise.
10499 (varpool_for_node_and_aliases): Likewise.
10500
10501 2014-06-25 Trevor Saunders <tsaunders@mozilla.com>
10502
10503 * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
10504
10505 2014-06-25 Trevor Saunders <tsaunders@mozilla.com>
10506
10507 PR bootstrap/61598
10508 * fold-const.c (fold_checksum_tree): Use a hash_table of const
10509 tree_node * instead of tree_node *.
10510 (fold): Adjust.
10511 (print_fold_checksum): Likewise.
10512 (fold_check_failed): Likewise.
10513 (debug_fold_checksum): Likewise.
10514 (fold_build1_stat_loc): Likewise.
10515 (fold_build2_stat_loc): Likewise.
10516 (fold_build3_stat_loc): Likewise.
10517 (fold_build_call_array_loc): Likewise.
10518
10519 2014-06-25 David Edelsohn <dje.gcc@gmail.com>
10520
10521 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
10522 implementation with call to...
10523 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
10524 function.
10525 * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
10526 Declare.
10527
10528 2014-06-25 Marc Glisse <marc.glisse@inria.fr>
10529
10530 PR tree-optimization/57742
10531 * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
10532 after replacing the statement.
10533
10534 2014-06-25 Nick Clifton <nickc@redhat.com>
10535
10536 * config/v850/v850.c (GHS_default_section_names): Change to const
10537 char * type.
10538 (GHS_current_section_names): Likewise.
10539 (v850_insert_attributes): Do not build strings, just assign the
10540 names directly. Change the type of 'chosen_section' to const
10541 char*.
10542 * config/v850/v850-c.c (ghs_pragma_section): Assign the alias
10543 directly to the array entry.
10544 * config/v850/v850.h (GHS_default_section_names): Change to const
10545 char * type.
10546 (GHS_current_section_names): Likewise.
10547
10548 2014-06-25 Jakub Jelinek <jakub@redhat.com>
10549
10550 * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
10551 (LANG_HOOKS_DECLS): Add it.
10552 * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
10553 has correct type.
10554 * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
10555 * langhooks.h (struct lang_hooks_for_decls): Add
10556 omp_clause_linear_ctor hook.
10557 * omp-low.c (lower_rec_input_clauses): Set max_vf even if
10558 OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
10559 OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
10560 combined simd loop use omp_clause_linear_ctor hook.
10561
10562 2014-06-24 Cong Hou <congh@google.com>
10563
10564 * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
10565 pattern recognition.
10566 (type_conversion_p): PROMOTION is true if it's a type promotion
10567 conversion, and false otherwise. Return true if the given expression
10568 is a type conversion one.
10569 * tree-vectorizer.h: Adjust the number of patterns.
10570 * tree.def: Add SAD_EXPR.
10571 * optabs.def: Add sad_optab.
10572 * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
10573 * expr.c (expand_expr_real_2): Likewise.
10574 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
10575 * gimple.c (get_gimple_rhs_num_ops): Likewise.
10576 * optabs.c (optab_for_tree_code): Likewise.
10577 * tree-cfg.c (estimate_operator_cost): Likewise.
10578 * tree-ssa-operands.c (get_expr_operands): Likewise.
10579 * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
10580 * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
10581 * doc/generic.texi: Add document for SAD_EXPR.
10582 * doc/md.texi: Add document for ssad and usad.
10583
10584 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
10585
10586 * config/i386/winnt.c (i386_pe_section_type_flags): Fix const
10587 qualification in cast.
10588
10589 2014-06-24 Jan Hubicka <hubicka@ucw.cz>
10590
10591 * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
10592 * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
10593 * tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
10594 (tree_function_decl): ... here.
10595 * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
10596 streaming of vindex to ...
10597 (write_ts_function_decl_tree_pointers): ... here.
10598 * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
10599 Do not stream DECL_VINDEX.
10600 (lto_input_ts_function_decl_tree_pointers): Stream it here.
10601
10602 2014-06-24 Catherine Moore <clm@codesourcery.com>
10603 Sandra Loosemore <sandra@codesourcery.com>
10604
10605 * config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
10606 * config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
10607 * config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
10608
10609 2014-06-24 Marc Glisse <marc.glisse@inria.fr>
10610
10611 * doc/invoke.texi (Warning Options): Remove duplicated
10612 -Wmaybe-uninitialized.
10613
10614 2014-06-24 Marc Glisse <marc.glisse@inria.fr>
10615
10616 PR tree-optimization/57742
10617 * tree-ssa-strlen.c (get_string_length): Ignore malloc.
10618 (handle_builtin_malloc, handle_builtin_memset): New functions.
10619 (strlen_optimize_stmt): Call them.
10620 * passes.def: Move strlen after loop+dom but before vrp.
10621
10622 2014-06-24 Jakub Jelinek <jakub@redhat.com>
10623
10624 PR target/61570
10625 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
10626 model family 6 CPU with has_longmode never use a CPU without
10627 64-bit support.
10628
10629 2014-06-24 H.J. Lu <hongjiu.lu@intel.com>
10630
10631 PR target/61570
10632 * config/i386/driver-i386.c (host_detect_local_cpu): Revert
10633 the last change.
10634
10635 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
10636
10637 * alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
10638 * dominance.c (iterate_fix_dominators): Use hash_map instead of
10639 pointer_map.
10640 * hash-map.h: New file.
10641 * ipa-comdats.c: Use hash_map instead of pointer_map.
10642 * ipa.c: Likewise.
10643 * lto-section-out.c: Adjust.
10644 * lto-streamer.h: Replace pointer_map with hash_map.
10645 * symtab.c (verify_symtab): Likewise.
10646 * tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
10647 * tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
10648 * tree-streamer.h: Likewise.
10649 * tree-streamer.c: Adjust.
10650 * pointer-set.h: Remove pointer_map.
10651
10652 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
10653
10654 * hash-table.h: Add a template arg to choose between storing values
10655 and storing pointers to values, and then provide partial
10656 specializations for both.
10657 * tree-browser.c (tree_upper_hasher): Provide the type the hash table
10658 should store, not the type values should point to.
10659 * tree-into-ssa.c (var_info_hasher): Likewise.
10660 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
10661 * tree-complex.c: Adjust.
10662 * tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
10663 table instead of int_tree_map *.
10664 * tree-parloops.c: Adjust.
10665 * tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
10666 type is being stored.
10667 * tree-vectorizer.c: Adjust.
10668
10669 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
10670
10671 * hash-table.h: Remove a layer of indirection from hash_table so that
10672 it contains the hash table's data instead of a pointer to the data.
10673 * alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
10674 config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
10675 config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
10676 data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
10677 fold-const.c, gcse.c, ggc-common.c,
10678 gimple-ssa-strength-reduction.c, gimplify.c,
10679 graphite-clast-to-gimple.c, graphite-dependences.c,
10680 graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
10681 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
10682 loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
10683 lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
10684 postreload-gcse.c, sese.c, statistics.c, store-motion.c,
10685 trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
10686 tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
10687 tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
10688 tree-ssa-live.c, tree-ssa-loop-im.c,
10689 tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
10690 tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
10691 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
10692 tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
10693 tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
10694 tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
10695 vtable-verify.c, vtable-verify.h: Adjust.
10696
10697 2014-06-24 Richard Biener <rguenther@suse.de>
10698
10699 PR tree-optimization/61572
10700 * tree-ssa-sink.c (statement_sink_location): Do not sink
10701 loads from hard registers.
10702
10703 2014-06-24 Jakub Jelinek <jakub@redhat.com>
10704
10705 * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
10706 not mentioned in clauses use private clause if the iterator is
10707 declared in #pragma omp for simd, and when adding lastprivate
10708 instead, add it to the outer #pragma omp for too. Diagnose
10709 if the variable is private in outer context. For simd collapse > 1
10710 loops, replace all iterators with temporaries.
10711 * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
10712 same even in collapse > 1 loops.
10713
10714 * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
10715 OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
10716 non-NULL.
10717 <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
10718 (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
10719 non-NULL.
10720 (gimplify_adjust_omp_clauses): Likewise.
10721 * omp-low.c (lower_rec_simd_input_clauses,
10722 lower_rec_input_clauses, expand_omp_simd): Handle non-constant
10723 safelen the same as safelen(1).
10724 * tree-nested.c (convert_nonlocal_omp_clauses,
10725 convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
10726 OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
10727 (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
10728 Fixup handling of GIMPLE_OMP_TARGET.
10729 (convert_tramp_reference_stmt, convert_gimple_call): Handle
10730 GIMPLE_OMP_TARGET.
10731
10732 2014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
10733
10734 PR tree-optimization/61554
10735 * tree-ssa-propagate.c: Include "bitmap.h".
10736 (substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
10737 properly update constructor/destructor.
10738 (substitute_and_fold_dom_walker::before_dom_children):
10739 Remove call to gimple_purge_dead_eh_edges, add bb->index to
10740 need_eh_cleaup instead.
10741 (substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
10742 need_eh_cleanup.
10743
10744 2014-06-23 Jan Hubicka <hubicka@ucw.cz>
10745
10746 * varpool.c (dump_varpool_node): Dump used_by_single_function.
10747 * tree-pass.h (make_pass_ipa_single_use): New pass.
10748 * cgraph.h (used_by_single_function): New flag.
10749 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
10750 Stream it.
10751 * passes.def (pass_ipa_single_use): Scedule.
10752 * ipa.c (BOTTOM): New macro.
10753 (meet): New function
10754 (propagate_single_user): New function.
10755 (ipa_single_use): New function.
10756 (pass_data_ipa_single_use): New pass.
10757 (pass_ipa_single_use): New pass.
10758 (pass_ipa_single_use::gate): New gate.
10759 (make_pass_ipa_single_use): New function.
10760
10761 2014-06-23 Kai Tietz <ktietz@redhat.com>
10762
10763 PR target/39284
10764 * passes.def (peephole2): Move peephole2 pass before sched2 pass.
10765 * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
10766
10767 2014-06-23 Richard Biener <rguenther@suse.de>
10768
10769 * tree-ssa-loop.c (gate_loop): New function.
10770 (pass_tree_loop::gate): Call it.
10771 (pass_data_tree_no_loop, pass_tree_no_loop,
10772 make_pass_tree_no_loop): New.
10773 * tree-vectorizer.c: Include tree-scalar-evolution.c
10774 (pass_slp_vectorize::execute): Initialize loops and SCEV if
10775 required.
10776 (pass_slp_vectorize::clone): New method.
10777 * timevar.def (TV_TREE_NOLOOP): New.
10778 * tree-pass.h (make_pass_tree_no_loop): Declare.
10779 * passes.def (pass_tree_no_loop): New pass group with
10780 SLP vectorizer.
10781
10782 2014-06-23 H.J. Lu <hongjiu.lu@intel.com>
10783
10784 PR target/61570
10785 * config/i386/driver-i386.c (host_detect_local_cpu): Set arch
10786 to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
10787
10788 2014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
10789
10790 * config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
10791 "yes" where needed.
10792
10793 2014-06-23 Alan Modra <amodra@gmail.com>
10794
10795 PR bootstrap/61583
10796 * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
10797 to zero on debug statements.
10798
10799 2014-06-23 Alan Lawrence <alan.lawrence@arm.com>
10800
10801 PR target/60825
10802 * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
10803 Ignore third operand if present by marking qualifier_internal.
10804
10805 * config/aarch64/aarch64-simd-builtins.def (abs): Comment.
10806
10807 * config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
10808 vector extension.
10809 (aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
10810 arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
10811 (vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
10812 vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
10813 vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
10814 vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
10815 vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
10816 vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
10817 vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
10818 vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
10819 vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
10820 vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
10821 vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
10822 vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
10823 vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
10824 vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
10825 logic in GCC vector extensions
10826
10827 (vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
10828 vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
10829 vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
10830 vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
10831 vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
10832 vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
10833 vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
10834 vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
10835 vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
10836 vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.
10837
10838 (vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.
10839
10840 (vget_high_s64, vget_high_u64): Reimplement with GCC vector
10841 extensions.
10842
10843 (__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
10844 (vget_low_s64): Use __GET_LOW macro.
10845 (vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
10846 gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
10847 (vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
10848 (vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
10849 __builtin_aarch64_lane_boundsi, use GCC vector extensions.
10850
10851 (vcombine_s64): Use GCC vector extensions; remove cast.
10852 (vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
10853 vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
10854 vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
10855 Fix type signature; remove cast.
10856
10857 2014-06-23 Alan Lawrence <alan.lawrence@arm.com>
10858
10859 PR target/60825
10860 * config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
10861 V1DFmode.
10862 * config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
10863 add V1DFmode
10864 (BUILTIN_VD1): New.
10865 (BUILTIN_VD_RE): Remove.
10866 (aarch64_init_simd_builtins): Add V1DF to modes/modenames.
10867 (aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
10868 * config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
10869 variant but not df.
10870 (vreinterpretv1df*, vreinterpret*v1df): New.
10871 (vreinterpretdf*, vreinterpret*df): Remove.
10872 * config/aarch64/aarch64-simd.md (aarch64_create,
10873 aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
10874 * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
10875 (VD1): New.
10876 * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
10877 (vcreate_f64): Remove cast, use v1df builtin.
10878 (vcombine_f64): Remove cast, get elements with gcc vector extensions.
10879 (vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
10880 vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
10881 vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
10882 vmov_n_f64, vst1_f64): Use gcc vector extensions.
10883 (vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
10884 add range check using __builtin_aarch64_im_lane_boundsi.
10885 (vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
10886 vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
10887 type signature, use gcc vector extensions.
10888 (vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
10889 vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
10890 vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
10891 vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
10892 vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
10893 vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
10894 vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
10895 vreinterpret_u64_f64): Use v1df builtin not df.
10896
10897 2014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
10898
10899 * config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
10900 vector registers.
10901
10902 2014-06-23 Jan Hubicka <hubicka@ucw.cz>
10903
10904 * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
10905 priority directly.
10906
10907 2014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10908
10909 * loop-invariant.c (pre_check_invariant_p): New function.
10910 (find_invariant_insn): Call pre_check_invariant_p.
10911
10912 2014-06-22 Richard Henderson <rth@redhat.com>
10913
10914 PR target/61565
10915 * compare-elim.c (struct comparison): Add eh_note.
10916 (find_comparison_dom_walker::before_dom_children): Don't eliminate
10917 a redundant comparison in a different EH region. Purge EH edges if
10918 necessary.
10919
10920 2014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
10921
10922 * config/rs6000/rs6000.md (maybe_var_shift): New define_attr.
10923 (var_shift): Use it.
10924 (rotl<mode>3, *rotlsi3_64, *rotl<mode>3_dot, *rotl<mode>3_dot2,
10925 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
10926 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
10927 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
10928 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
10929 *rotlsi3_internal12be, ashl<mode>3, *ashlsi3_64, *ashl<mode>3_dot,
10930 *ashl<mode>3_dot2, lshr<mode>3, *lshrsi3_64, *lshr<mode>3_dot,
10931 *lshr<mode>3_dot2, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot,
10932 *ashr<mode>3_dot2, *rotldi3_internal4, *rotldi3_internal5,
10933 *rotldi3_internal6, *rotldi3_internal7le, *rotldi3_internal7be,
10934 *rotldi3_internal8le, *rotldi3_internal8be, *rotldi3_internal9le,
10935 *rotldi3_internal9be, *rotldi3_internal10le, *rotldi3_internal10be,
10936 *rotldi3_internal11le, *rotldi3_internal11be, *rotldi3_internal12le,
10937 *rotldi3_internal12be, *rotldi3_internal13le, *rotldi3_internal13be,
10938 *rotldi3_internal14le, *rotldi3_internal14be, *rotldi3_internal15le,
10939 *rotldi3_internal15be): Use the new attribute. Merge register and
10940 integer alternatives.
10941
10942 2014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
10943
10944 * config/rs6000/rs6000.md (ashrsi3, two anonymous define_insns and
10945 define_splits, ashrdi3, *ashrdi3_internal1, *ashrdi3_internal2 and
10946 split, *ashrdi3_internal3 and split): Delete, merge into...
10947 (ashr<mode>3): New expander.
10948 (*ashr<mode>3, ashr<mode>3_dot, ashr<mode>3_dot2): New.
10949 (*ashrsi3_64): Fix formatting. Replace "i" by "n".
10950
10951 2014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
10952
10953 * config/rs6000/rs6000.md (rotlsi3, *rotlsi3_internal2 and split,
10954 *rotlsi3_internal3 and split, rotldi3, *rotldi3_internal2 and split,
10955 *rotldi3_internal3 and split): Delete, merge into...
10956 (rotl<mode>3, rotl<mode>3_dot, rotl<mode>3_dot2): New.
10957 (*rotlsi3_64): Fix formatting. Fix condition. Replace "i" by "n".
10958 Use "rotlw" extended mnemonic.
10959
10960 2014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
10961
10962 * config/rs6000/rs6000.md (ashlsi3, two anonymous define_insns
10963 and define_splits, ashldi3, *ashldi3_internal1, *ashldi3_internal2
10964 and split, *ashldi3_internal3 and split): Delete, merge into...
10965 (ashl<mode>3, ashl<mode>3_dot, ashl<mode>3_dot2): New.
10966 (*ashlsi3_64): Fix formatting. Replace "i" by "n".
10967
10968 2014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
10969
10970 * config/rs6000/rs6000.md ("hH"): New define_mode_attr.
10971 (lshrsi3, two anonymous define_insns and define_splits,
10972 lshrdi3, *lshrdi3_internal1, *lshrdi3_internal2 and split,
10973 *lshrdi3_internal3 and split): Delete, merge into...
10974 (lshr<mode>3, lshr<mode>3_dot, lshr<mode>3_dot2): New.
10975 (*lshrsi3_64): Fix formatting. Replace "i" by "n".
10976
10977 2014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
10978
10979 * config/rs6000/rs6000.md (lshrsi3, and its two dot patterns):
10980 Remove "O" alternative.
10981
10982 2014-06-22 Richard Sandiford <rdsandiford@googlemail.com>
10983
10984 * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
10985 (mips_move_from_gpr_cost): Likewise.
10986 (mips_register_move_cost): Update accordingly.
10987 (mips_secondary_reload_class): Remove name of in_p.
10988
10989 2014-06-22 Marc Glisse <marc.glisse@inria.fr>
10990
10991 PR target/61503
10992 * config/i386/i386.md (x86_64_shrd, x86_shrd,
10993 ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
10994
10995 2014-06-21 Jan-Benedict Glaw <jbglaw@lug-owl.de>
10996
10997 * config/nios2/nios2.c: Include "builtins.h".
10998
10999 2014-06-20 Jan Hubicka <hubicka@ucw.cz>
11000
11001 * cgraph.h (tls_model_names): New variable.
11002 * print-tree.c (print_node): Simplify.
11003 * varpool.c (tls_model_names): New variable.
11004 (dump_varpool_node): Output tls model.
11005
11006 2014-06-20 Jan Hubicka <hubicka@ucw.cz>
11007
11008 * ipa-visibility.c (function_and_variable_visibility): Disable
11009 temporarily local aliases for some targets.
11010
11011 2014-06-20 Marek Polacek <polacek@redhat.com>
11012
11013 * asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
11014 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
11015 into SANITIZE_UNDEFINED.
11016 * doc/invoke.texi: Describe -fsanitize=bounds.
11017 * gimplify.c (gimplify_call_expr): Add gimplification of internal
11018 functions created in the FEs.
11019 * internal-fn.c: Move "internal-fn.h" after "tree.h".
11020 (expand_UBSAN_BOUNDS): New function.
11021 * internal-fn.def (UBSAN_BOUNDS): New internal function.
11022 * internal-fn.h: Don't define internal functions here.
11023 * opts.c (common_handle_option): Add -fsanitize=bounds.
11024 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
11025 BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
11026 * tree-core.h: Define internal functions here.
11027 (struct tree_base): Add ifn field.
11028 * tree-pretty-print.c: Include "internal-fn.h".
11029 (dump_generic_node): Handle functions without CALL_EXPR_FN.
11030 * tree.c (get_callee_fndecl): Likewise.
11031 (build_call_expr_internal_loc): New function.
11032 * tree.def (CALL_EXPR): Update description.
11033 * tree.h (CALL_EXPR_IFN): Define.
11034 (build_call_expr_internal_loc): Declare.
11035 * ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
11036 types.
11037 (ubsan_type_descriptor): Change bool parameter to enum
11038 ubsan_print_style. Adjust the code. Add handling of
11039 UBSAN_PRINT_ARRAY.
11040 (ubsan_expand_bounds_ifn): New function.
11041 (ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
11042 (ubsan_build_overflow_builtin): Likewise.
11043 (instrument_bool_enum_load): Likewise.
11044 (ubsan_instrument_float_cast): Likewise.
11045 * ubsan.h (enum ubsan_print_style): New enum.
11046 (ubsan_expand_bounds_ifn): Declare.
11047 (ubsan_type_descriptor): Adjust declaration. Use a default parameter.
11048
11049 2014-06-20 Maciej W. Rozycki <macro@codesourcery.com>
11050
11051 * config/rs6000/rs6000.md: Append `DONE' to preparation
11052 statements of `bswap' pattern splitters.
11053
11054 2014-06-20 Tom de Vries <tom@codesourcery.com>
11055
11056 * target.def (call_fusage_contains_non_callee_clobbers): Update
11057 definition.
11058 * doc/tm.texi: Regenerate.
11059
11060 2014-06-20 Yury Gribov <y.gribov@samsung.com>
11061 Max Ostapenko <m.ostapenko@partner.samsung.com>
11062
11063 PR sanitizer/61547
11064 * asan.c (instrument_strlen_call): Fixed instrumentation of
11065 trailing byte.
11066
11067 2014-06-20 Martin Jambor <mjambor@suse.cz>
11068
11069 PR ipa/61540
11070 * ipa-prop.c (impossible_devirt_target): New function.
11071 (try_make_edge_direct_virtual_call): Use it, also instead of
11072 asserting.
11073
11074 2014-06-20 Yury Gribov <y.gribov@samsung.com>
11075 Max Ostapenko <m.ostapenko@partner.samsung.com>
11076
11077 PR sanitizer/61530
11078 * asan.c (build_check_stmt): Add condition.
11079
11080 2014-06-20 Martin Jambor <mjambor@suse.cz>
11081
11082 PR ipa/61211
11083 * cgraph.c (clone_of_p): Allow skipped_branch to deal with
11084 expanded clones.
11085
11086 2014-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11087
11088 * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
11089 Update comments.
11090 (VCONQ): Make comment more helpful.
11091 (VCON): Delete.
11092 * config/aarch64/aarch64-simd.md
11093 (aarch64_sqdmulh_lane<mode>):
11094 Use VCOND for operands 2. Update lane checking and flipping logic.
11095 (aarch64_sqrdmulh_lane<mode>): Likewise.
11096 (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
11097 (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
11098 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
11099 attribute of operand 3 to VCOND.
11100 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
11101 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
11102 (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
11103 (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
11104 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
11105 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
11106 define_insn.
11107 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
11108 (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
11109 (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
11110 (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
11111 (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
11112 (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
11113 operand to VCOND. Update lane flipping and bounds checking logic.
11114 (aarch64_sqdmlal2_lane<mode>): Likewise.
11115 (aarch64_sqdmlsl_lane<mode>): Likewise.
11116 (aarch64_sqdmull_lane<mode>): Likewise.
11117 (aarch64_sqdmull2_lane<mode>): Likewise.
11118 (aarch64_sqdmlal_laneq<mode>):
11119 Replace VCON usage with VCONQ.
11120 Emit aarch64_sqdmlal_laneq<mode>_internal insn.
11121 (aarch64_sqdmlal2_laneq<mode>): Emit
11122 aarch64_sqdmlal2_laneq<mode>_internal insn.
11123 Replace VCON with VCONQ.
11124 (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
11125 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
11126 (aarch64_sqdmull_laneq<mode>): Emit
11127 aarch64_sqdmull_laneq<mode>_internal insn.
11128 Replace VCON with VCONQ.
11129 (aarch64_sqdmull2_laneq<mode>): Emit
11130 aarch64_sqdmull2_laneq<mode>_internal insn.
11131 (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
11132 * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
11133 of 3rd argument to int16x4_t.
11134 (vqdmlalh_lane_s16): Likewise.
11135 (vqdmlslh_lane_s16): Likewise.
11136 (vqdmull_high_lane_s16): Likewise.
11137 (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
11138 (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
11139 (vqdmlsl_lane_s16): Likewise.
11140 (vqdmull_lane_s16): Don't create temporary int16x8_t value.
11141 (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
11142 (vqdmlals_lane_s32): Likewise.
11143 (vqdmlsls_lane_s32): Likewise.
11144 (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
11145 (vqdmulls_lane_s32): Likewise.
11146 (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
11147 (vqdmlsl_lane_s32): Likewise.
11148 (vqdmull_lane_s32): Don't create temporary int32x4_t value.
11149 (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
11150 (vqrdmulhh_lane_s16): Likewise.
11151 (vqdmlsl_high_lane_s16): Likewise.
11152 (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
11153 (vqdmlsl_high_lane_s32): Likewise.
11154 (vqrdmulhs_lane_s32): Likewise.
11155
11156 2014-06-20 Tom de Vries <tom@codesourcery.com>
11157
11158 * final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
11159 get_call_reg_set_usage.
11160
11161 2014-06-20 Tom de Vries <tom@codesourcery.com>
11162
11163 * final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
11164 it contains all call_used_regs.
11165
11166 2014-06-20 Tom de Vries <tom@codesourcery.com>
11167
11168 * final.c (collect_fn_hard_reg_usage): Add and use variable
11169 function_used_regs.
11170
11171 2014-06-20 Jan Hubicka <hubicka@ucw.cz>
11172
11173 * cgraph.h (struct symtab_node): Add field in_init_priority_hash
11174 (set_init_priority, get_init_priority, set_fini_priority,
11175 get_fini_priority): New methods.
11176 * tree.c (init_priority_for_decl): Remove.
11177 (init_ttree): Do not initialize init priority.
11178 (decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
11179 (decl_priority_info): Remove.
11180 (decl_init_priority_insert): Rewrite.
11181 (decl_fini_priority_insert): Rewrite.
11182 * tree.h (tree_priority_map_eq, tree_priority_map_hash,
11183 tree_priority_map_marked_p): Remove.
11184 * lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
11185 * lto-streamer-out.c (hash_tree): Do not hash priorities.
11186 * tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
11187 not output priorities.
11188 (pack_ts_function_decl_value_fields): Likewise.
11189 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
11190 not input priorities.
11191 (unpack_ts_function_decl_value_fields): Likewise.
11192 * symtab.c (symbol_priority_map): Declare.
11193 (init_priority_hash): Declare.
11194 (symtab_unregister_node): Unregister from priority hash, too.
11195 (symtab_node::get_init_priority, cgraph_node::get_fini_priority):
11196 New methods.
11197 (symbol_priority_map_eq, symbol_priority_map_hash): New functions.
11198 (symbol_priority_info): New function.
11199 (symtab_node::set_init_priority, cgraph_node::set_fini_priority):
11200 New methods.
11201 * tree-core.h (tree_priority_map): Remove.
11202
11203 2014-06-20 Jakub Jelinek <jakub@redhat.com>
11204
11205 * tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
11206 0xff to uint64_t before shifting it up.
11207
11208 2014-06-20 Julian Brown <julian@codesourcery.com>
11209 Chung-Lin Tang <cltang@codesourcery.com>
11210
11211 * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
11212 TARGET_THUMB1_ONLY. Add comments.
11213
11214 2014-06-19 Tom de Vries <tom@codesourcery.com>
11215
11216 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
11217 return type to void.
11218 * config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.
11219
11220 2014-06-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
11221
11222 * loop-invariant.c (get_inv_cost): Skip invariants, which are marked
11223 as "move", from depends_on.
11224
11225 2014-06-19 Terry Guo <terry.guo@arm.com>
11226
11227 * config/arm/thumb1.md (define_split): Split 64bit constant in earlier
11228 stage.
11229
11230 2014-06-18 Segher Boessenkool <segher@kernel.crashing.org>
11231
11232 * config/rs6000/rs6000.h (FIXED_REGISTERS): Update comment.
11233 Remove cr5.
11234 (REG_ALLOC_ORDER): Update comment. Move cr5 earlier.
11235
11236 2014-06-18 Kaz Kojima <kkojima@gcc.gnu.org>
11237
11238 PR target/61550
11239 * config/sh/sh.c (prepare_move_operands): Don't process TLS
11240 addresses here if reload in progress or completed.
11241
11242 2014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
11243
11244 * config/mips/constraints.md ("d"): BASE_REG_CLASS replaced by
11245 "TARGET_MIPS16 ? M16_REGS : GR_REGS".
11246 * config/mips/mips.c (mips_regno_to_class): Update for M16_SP_REGS.
11247 (mips_regno_mode_ok_for_base_p): Remove use of !strict_p for MIPS16.
11248 (mips_register_priority): New function that implements the target
11249 hook TARGET_REGISTER_PRIORITY.
11250 (mips_spill_class): Likewise for TARGET_SPILL_CLASS.
11251 (mips_lra_p): Likewise for TARGET_LRA_P.
11252 (TARGET_REGISTER_PRIORITY): Define macro.
11253 (TARGET_SPILL_CLASS): Likewise.
11254 (TARGET_LRA_P): Likewise.
11255 * config/mips/mips.h (reg_class): Add M16_SP_REGS and SPILL_REGS
11256 classes.
11257 (REG_CLASS_NAMES): Likewise.
11258 (REG_CLASS_CONTENTS): Likewise.
11259 (BASE_REG_CLASS): Use M16_SP_REGS.
11260 * config/mips/mips.md (*mul_acc_si): Add alternative tuned for LRA.
11261 New set attribute to enable alternatives depending on the register
11262 allocator used.
11263 (*mul_acc_si_r3900, *mul_sub_si): Likewise.
11264 (*lea64): Disable pattern for MIPS16.
11265 * config/mips/mips.opt (mlra): New option.
11266
11267 2014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
11268
11269 * lra-constraints.c (base_to_reg): New function.
11270 (process_address): Use new function.
11271
11272 2014-06-18 Tom de Vries <tom@codesourcery.com>
11273
11274 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
11275 * config/aarch64/aarch64.c
11276 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
11277 (aarch64_emit_call_insn): New function.
11278 (aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
11279 of emit_call_insn.
11280 * config/aarch64/aarch64.md (define_expand "call_internal")
11281 (define_expand "call_value_internal", define_expand "sibcall_internal")
11282 (define_expand "sibcall_value_internal"): New.
11283 (define_expand "call", define_expand "call_value")
11284 (define_expand "sibcall", define_expand "sibcall_value"): Use internal
11285 expand variant and aarch64_emit_call_insn.
11286
11287 2014-06-18 Radovan Obradovic <robradovic@mips.com>
11288 Tom de Vries <tom@codesourcery.com>
11289
11290 * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
11291 * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
11292 Redefine to true.
11293 (arm_emit_call_insn): Add and use sibcall parameter. Add IP and CC
11294 clobbers to CALL_INSN_FUNCTION_USAGE.
11295 (define_expand "sibcall_internal")
11296 (define_expand "sibcall_value_internal"): New.
11297 (define_expand "call", define_expand "call_value"): Add argument to
11298 arm_emit_call_insn.
11299 (define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
11300 (define_expand "sibcall_value"): Use sibcall_value_internal and
11301 arm_emit_call_insn.
11302
11303 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11304
11305 * config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.
11306
11307 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11308
11309 * config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
11310 __udivmoddi4.
11311
11312 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11313
11314 * config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
11315 push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
11316 annotations. Fix DWARF information.
11317
11318 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11319
11320 * config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
11321 __udivmoddi4, and fixups for negative operands.
11322
11323 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11324
11325 * config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
11326
11327 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11328
11329 * config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
11330 to __udivmoddi4.
11331
11332 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11333
11334 * config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
11335 manipulation.
11336
11337 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11338
11339 * config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
11340 describing register usage on function entry and exit.
11341
11342 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11343
11344 * config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
11345 (__aeabi_ldivmod): Fix whitespace.
11346
11347 2014-06-18 Andreas Schwab <schwab@suse.de>
11348
11349 * doc/md.texi (Standard Names): Use @itemx for grouped items.
11350 Remove blank line after @item.
11351
11352 2014-06-18 Richard Henderson <rth@redhat.com>
11353
11354 PR target/61545
11355 * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.
11356
11357 2014-06-18 Charles Baylis <charles.baylis@linaro.org>
11358
11359 * config/arm/arm.c (neon_vector_mem_operand): Allow register
11360 POST_MODIFY for neon loads and stores.
11361 (arm_print_operand): Output post-index register for neon loads and
11362 stores.
11363
11364 2014-06-18 Richard Biener <rguenther@suse.de>
11365
11366 * tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.
11367
11368 2014-06-18 Richard Biener <rguenther@suse.de>
11369
11370 * tree-pass.h (make_pass_dce_loop): Remove.
11371 * passes.def: Replace pass_dce_loop with pass_dce.
11372 * tree-ssa-dce.c (perform_tree_ssa_dce): If something
11373 changed free niter estimates and reset the scev cache.
11374 (tree_ssa_dce_loop, pass_data_dce_loop, pass_dce_loop,
11375 make_pass_dce_loop): Remove.
11376 * tree-ssa-copy.c: Include tree-ssa-loop-niter.h.
11377 (fini_copy_prop): Return whether something changed. Always
11378 let substitute_and_fold perform DCE and free niter estimates
11379 and reset the scev cache if so.
11380 (execute_copy_prop): If sth changed schedule cleanup-cfg.
11381 (pass_data_copy_prop): Do not unconditionally schedule
11382 cleanup-cfg or update-ssa.
11383
11384 2014-06-18 Yuri Rumyantsev <ysrumyan@gmail.com>
11385
11386 PR tree-optimization/61518
11387 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
11388 reduction var is used in reduction stmt or phi-function only.
11389
11390 2014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11391
11392 * config/arm/arm_neon.h (vadd_f32): Change #ifdef to __FAST_MATH.
11393
11394 2014-06-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
11395
11396 PR tree-optimization/61517
11397 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt
11398 whose rhs's first tree is the source expression instead of the
11399 expression itself.
11400 (find_bswap_or_nop): Likewise.
11401 (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a
11402 gimple stmt whose rhs's first tree is the source. In the memory source
11403 case, move the stmt to be replaced close to one of the original load to
11404 avoid the problem of a store between the load and the stmt's original
11405 location.
11406 (pass_optimize_bswap::execute): Adapt to change in bswap_replace's
11407 signature.
11408
11409 2014-06-18 Andreas Schwab <schwab@suse.de>
11410
11411 PR rtl-optimization/54555
11412 * postreload.c (move2add_use_add2_insn): Substitute
11413 STRICT_LOW_PART only if it is cheaper.
11414
11415 2014-06-18 Uros Bizjak <ubizjak@gmail.com>
11416
11417 * config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern.
11418 Do not use unspec as call operand. Use memory_operand instead of
11419 memory_nox32_operand and add "m" operand constraint. Disable
11420 pattern for TARGET_X32.
11421 (*sibcall_pop_memory): Ditto.
11422 (*sibcall_value_memory): Ditto.
11423 (*sibcall_value_pop_memory): Ditto.
11424 (sibcall peepholes): Merge SImode and DImode patterns using
11425 W mode iterator. Use memory_operand instead of memory_nox32_operand.
11426 Disable pattern for TARGET_X32. Check if eliminated register is
11427 really dead after call insn. Generate call RTX without unspec operand.
11428 (sibcall_value peepholes): Ditto.
11429 (sibcall_pop peepholes): Fix call insn RTXes. Use memory_operand
11430 instead of memory_nox32_operand. Check if eliminated register is
11431 really dead after call insn. Generate call RTX without unspec operand.
11432 (sibcall_value_pop peepholes): Ditto.
11433 * config/i386/predicates.md (memory_nox32_operand): Remove predicate.
11434
11435 2014-06-18 Terry Guo <terry.guo@arm.com>
11436
11437 PR target/61544
11438 * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
11439 reach the head.
11440
11441 2014-06-18 Olivier Hainque <hainque@adacore.com>
11442
11443 * tree-core.h (tree_block): Add an "end_locus" field, allowing
11444 memorization of the end of block source location.
11445 * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
11446 * gimplify.c (gimplify_bind_expr): Propagate the block start and
11447 end source location info we have on the block entry/exit code we
11448 generate.
11449
11450 2014-06-18 Richard Biener <rguenther@suse.de>
11451
11452 * common.opt (fssa-phiopt): New option.
11453 * opts.c (default_options_table): Enable -fssa-phiopt with -O1+
11454 but not with -Og.
11455 * tree-ssa-phiopt.c (pass_phiopt): Add gate method.
11456 * doc/invoke.texi (-fssa-phiopt): Document.
11457
11458 2014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11459
11460 * genattrtab.c (n_bypassed): New variable.
11461 (process_bypasses): Initialise n_bypassed.
11462 Count number of bypassed reservations.
11463 (make_automaton_attrs): Allocate space for bypassed reservations
11464 rather than number of bypasses.
11465
11466 2014-06-18 Richard Biener <rguenther@suse.de>
11467
11468 * tree-ssa-propagate.c (replace_phi_args_in): Return whether
11469 we propagated anything.
11470 (substitute_and_fold_dom_walker::before_dom_children): Something
11471 changed if we propagated into PHI arguments.
11472 * tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
11473 we removed a stmt.
11474
11475 2014-06-18 Evgeny Stupachenko <evstupac@gmail.com>
11476
11477 * config/i386/i386.c (ix86_reassociation_width): Add alternative for
11478 vector case.
11479 * config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
11480 * config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
11481 * tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
11482 Introduces alternative way of loads group permutaions.
11483 (vect_transform_grouped_load): Try alternative way of permutations.
11484
11485 2014-06-18 Jakub Jelinek <jakub@redhat.com>
11486
11487 * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
11488 changed in ORT_TARGET region, don't jump to do_outer.
11489 (struct gimplify_adjust_omp_clauses_data): New type.
11490 (gimplify_adjust_omp_clauses_1): Adjust for data being
11491 a struct gimplify_adjust_omp_clauses_data pointer instead
11492 of tree *. Pass pre_p as a new argument to
11493 lang_hooks.decls.omp_finish_clause hook.
11494 (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
11495 splay_tree_foreach to pass both list_p and pre_p.
11496 (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
11497 gimplify_omp_workshare, gimplify_omp_target_update): Adjust
11498 gimplify_adjust_omp_clauses callers.
11499 * langhooks.c (lhd_omp_finish_clause): New function.
11500 * langhooks-def.h (lhd_omp_finish_clause): New prototype.
11501 (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
11502 * langhooks.h (struct lang_hooks_for_decls): Add a new
11503 gimple_seq * argument to omp_finish_clause hook.
11504 * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
11505 non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
11506 (scan_omp_parallel, lower_omp_for): When adding
11507 _LOOPTEMP_ clause var, add it to outer ctx's decl_map as identity.
11508 * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
11509 * tree-nested.c (convert_nonlocal_omp_clauses,
11510 convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
11511 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
11512
11513 2014-06-17 Andrew MacLeod <amacleod@redhat.com>
11514
11515 * tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
11516 * tree-dfa.c (get_addr_base_and_unit_offset_1): To here.
11517
11518 2014-06-17 Xinliang David Li <davidxl@google.com>
11519
11520 * tree-pretty-print.c (dump_function_header): Print cgraph uid.
11521 * passes.c (pass_init_dump_file): Do not set initialize
11522 flag to false unconditionally.
11523
11524 2014-06-17 Richard Biener <rguenther@suse.de>
11525
11526 * genopinit.c (main): Use vec<>::qsort method.
11527 * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
11528 Likewise.
11529 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
11530
11531 2014-06-17 Matthew Fortune <matthew.fortune@imgtec.com>
11532
11533 * config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
11534 * config/mips/mips.c (mips_expand_fcc_reload): Remove.
11535 (mips_move_to_gpr_cost): Remove ST_REGS case.
11536 (mips_move_from_gpr_cost): Likewise.
11537 (mips_register_move_cost): Likewise.
11538 (mips_secondary_reload_class): Likewise.
11539
11540 2014-06-17 Richard Biener <rguenther@suse.de>
11541
11542 * passes.def (pass_all_early_optimizations): Remove copy-prop pass.
11543 (pass_all_optimizations): Move 3rd copy-prop pass from after
11544 fre to before ifcombine/phiopt.
11545
11546 2014-06-17 Richard Biener <rguenther@suse.de>
11547
11548 * tree-switch-conversion.c (collect_switch_conv_info): Simplify
11549 and allow all blocks to be forwarders.
11550
11551 2014-06-17 Yufeng Zhang <yufeng.zhang@arm.com>
11552
11553 PR target/61483
11554 * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
11555 variable 'size'; calculate 'size' right in the front; use
11556 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
11557 pcum->aapcs_stack_words.
11558
11559 2014-06-17 Nick Clifton <nickc@redhat.com>
11560
11561 * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
11562 (umulhi3, mulsidi3, umulsidi3): Likewise.
11563
11564 2014-06-17 Thomas Schwinge <thomas@codesourcery.com>
11565
11566 PR middle-end/61508
11567 * fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
11568 check for section name.
11569
11570 2014-06-17 Richard Biener <rguenther@suse.de>
11571
11572 * tree-ssa-propagate.c: Include domwalk.h.
11573 (substitute_and_fold): Outline main worker into a domwalker ...
11574 (substitute_and_fold_dom_walker::before_dom_children): ... here.
11575 Schedule stmts we can fully propagate for removal. Remove
11576 poor-mans DCE.
11577 (substitute_and_fold): Apply a dominator walk to perform
11578 substitution. Process stmts scheduled for removal here.
11579
11580 2014-06-17 Richard Biener <rguenther@suse.de>
11581
11582 * tree-ssa-loop-im.c (determine_max_movement): Adjust cost
11583 of PHI node moving.
11584
11585 2014-06-17 Kugan Vivekanandarajah <kuganv@linaro.org>
11586
11587 * config/arm/arm.c (arm_atomic_assign_expand_fenv): call
11588 default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
11589 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
11590 __builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
11591 * config/arm/vfp.md (set_fpscr): Make pattern conditional on
11592 TARGET_HARD_FLOAT.
11593 (get_fpscr) : Likewise.
11594
11595 2014-06-16 Vladimir Makarov <vmakarov@redhat.com>
11596
11597 PR rtl-optimization/61325
11598 * lra-constraints.c (valid_address_p): Add forward declaration.
11599 (simplify_operand_subreg): Check address validity before and after
11600 alter_reg of memory subreg.
11601
11602 2014-06-16 Uros Bizjak <ubizjak@gmail.com>
11603
11604 * config/i386/i386.c (decide_alg): Correctly handle
11605 maximum size of stringop algorithm.
11606
11607 2014-06-16 Yury Gribov <y.gribov@samsung.com>
11608
11609 * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
11610
11611 2014-06-16 Vladimir Makarov <vmakarov@redhat.com>
11612
11613 PR rtl-optimization/61522
11614 * lra-assigns.c (assign_by_spills): Check null targetm.spill_class.
11615
11616 2014-06-16 Jan Hubicka <hubicka@ucw.cz>
11617
11618 Revert:
11619 * symtab.c (symtab_node::reset_section): New method.
11620 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
11621 for localization.
11622 * cgraph.h (reset_section): Declare.
11623 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
11624 do not consider comdat locals.
11625 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
11626 for new symbol.
11627 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
11628 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
11629 reset sections of symbols dragged out of the comdats.
11630 (function_and_variable_visibility): Reset sections of
11631 localized symbols.
11632
11633 2014-06-16 Richard Biener <rguenther@suse.de>
11634
11635 PR tree-optimization/61482
11636 * tree-vrp.c (adjust_range_with_scev): Avoid setting of
11637 [-INF(OVF), +INF(OVF)] range.
11638
11639 2014-06-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
11640
11641 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
11642 instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
11643 handling 32-bit multiplication.
11644
11645 2014-06-16 Chung-Lin Tang <cltang@codesourcery.com>
11646
11647 PR middle-end/61430
11648 * lra-lives.c (process_bb_lives): Skip creating copy during
11649 insn scan when src/dest has constrained to same regno.
11650
11651 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
11652
11653 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
11654 DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
11655
11656 2014-06-16 Yury Gribov <y.gribov@samsung.com>
11657
11658 * asan.c (check_func): New function.
11659 (maybe_create_ssa_name): Likewise.
11660 (build_check_stmt_with_calls): Likewise.
11661 (use_calls_p): Likewise.
11662 (report_error_func): Change interface.
11663 (build_check_stmt): Allow non-integer lengths; add support
11664 for new parameter.
11665 (asan_instrument): Likewise.
11666 (instrument_mem_region_access): Moved code to build_check_stmt.
11667 (instrument_derefs): Likewise.
11668 (instrument_strlen_call): Likewise.
11669 * cfgcleanup.c (old_insns_match_p): Add support for new functions.
11670 * doc/invoke.texi: Describe new parameter.
11671 * params.def: Define new parameter.
11672 * params.h: Likewise.
11673 * sanitizer.def: Describe new builtins.
11674
11675 2014-06-16 Richard Biener <rguenther@suse.de>
11676
11677 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
11678 Make all defs available at the end.
11679 (eliminate): If we remove a PHI node schedule cfg-cleanup.
11680
11681 2014-06-18 Jakub Jelinek <jakub@redhat.com>
11682
11683 PR plugins/45078
11684 * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
11685
11686 2014-06-16 Richard Sandiford <rdsandiford@googlemail.com>
11687
11688 PR bootstrap/61516
11689 * auto-inc-dec.c (merge_in_block): Fix location of insn_info
11690 initialization. Replace remaining use of uid.
11691
11692 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
11693
11694 * c-family/c-common.c (handle_tls_model_attribute): Use
11695 set_decl_tls_model.
11696 * c-family/c-common.c (handle_tls_model_attribute): Use
11697 set_decl_tls_model.
11698 * cgraph.h (struct varpool_node): Add tls_model.
11699 * tree.c (decl_tls_model, set_decl_tls_model): New functions.
11700 * tree.h (DECL_TLS_MODEL): Update.
11701 (DECL_THREAD_LOCAL_P): Check that variable is static.
11702 (decl_tls_model): Declare.
11703 (set_decl_tls_model): Declare.
11704 * tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
11705 set symbol prorperties.
11706 (get_emutls_init_templ_addr): Cleanup.
11707 (new_emutls_decl): Update.
11708 * lto-cgraph.c (lto_output_varpool_node): Stream TLS model
11709 (lto_input_varpool_node): Likewise.
11710 * lto-streamer-out.c (hash_tree): Likewise.
11711 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
11712 not stream DECL_TLS_MODEL.
11713 * tree-profile.c (init_ic_make_global_vars): Use set_decl_tls_model.
11714 * tree-core.h (tree_decl_with_vis): Remove tls_model; update comments.
11715
11716 2014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
11717
11718 * df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
11719
11720 2014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
11721
11722 * df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
11723 (df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
11724 lists.
11725 (df_scan_bb_info): Likewise artificial_defs and artificial_uses.
11726 (DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
11727 (FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
11728 (FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
11729 (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
11730 (df_get_artificial_defs, df_get_artificial_uses)
11731 (df_single_def, df_single_use): Update accordingly.
11732 (df_refs_chain_dump): Take the first element in a linked list as
11733 parameter, rather than a pointer to an array of pointers.
11734 * df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
11735 * df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
11736 (df_chain_create_bb_process_use): Likewise.
11737 (df_md_bb_local_compute_process_def): Likewise.
11738 * fwprop.c (process_defs, process_uses): Likewise.
11739 (register_active_defs, update_uses): Likewise.
11740 (forward_propagate_asm): Update for new df_ref linking.
11741 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
11742 (df_null_ref_rec, df_null_mw_rec): Likewise.
11743 (df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
11744 explicitly.
11745 (df_scan_free_bb_info): Remove check for null artificial_defs.
11746 (df_install_ref_incremental): Adjust for new df_ref linking.
11747 Use a single-element insertion rather than a full sort.
11748 (df_ref_chain_delete_du_chain): Take the first element
11749 in a linked list as parameter, rather than a pointer to an array of
11750 pointers.
11751 (df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
11752 (df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
11753 (df_insn_info_delete): Remove check for null defs and call to
11754 df_scan_free_mws_vec.
11755 (df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
11756 null rather than df_null_*_rec.
11757 (df_insn_rescan_debug_internal): Likewise, and update null
11758 checks in the same way. Remove check for null defs.
11759 (df_ref_change_reg_with_loc_1): Fix choice of list for defs.
11760 Move a single element rather doing a full sort.
11761 (df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
11762 linking.
11763 (df_notes_rescan): Likewise. Use a merge rather than a full sort.
11764 Initialize df_ref and df_mw_hardreg lists to null rather than
11765 df_null_*_rec.
11766 (df_ref_compare): Take df_refs as parameter, transferring the
11767 old interface to...
11768 (df_ref_ptr_compare): ...this new function.
11769 (df_sort_and_compress_refs): Update accordingly.
11770 (df_mw_compare): Take df_mw_hardregs as parameter, transferring the
11771 old interface to...
11772 (df_mw_ptr_compare): ...this new function.
11773 (df_sort_and_compress_mws): Update accordingly.
11774 (df_install_refs, df_install_mws): Return a linked list rather than
11775 an array of pointers.
11776 (df_refs_add_to_chains): Assert that old lists are empty rather
11777 than freeing them.
11778 (df_insn_refs_verify): Don't handle null defs speciailly.
11779 * web.c (union_match_dups): Update for new df_ref linking.
11780
11781 2014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
11782
11783 * df.h (df_ref_create, df_ref_remove): Delete.
11784 * df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
11785 (df_ref_remove): Likewise.
11786
11787 2014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
11788
11789 * df.h (df_single_def, df_single_use): New functions.
11790 * ira.c (find_moveable_pseudos): Use them.
11791
11792 2014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
11793
11794 * df.h (FOR_EACH_INSN_INFO_MW): New macro.
11795 * df-problems.c (df_note_bb_compute): Use it.
11796 * regstat.c (regstat_bb_compute_ri): Likewise.
11797
11798 2014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
11799
11800 * df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
11801 * cse.c (cse_extended_basic_block): Use them.
11802 * dce.c (mark_artificial_use): Likewise.
11803 * df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
11804 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
11805 (df_chain_remove_problem, df_chain_bb_dump): Likewise.
11806 (df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
11807 (df_simulate_initialize_backwards): Likewise.
11808 (df_simulate_finalize_backwards): Likewise.
11809 (df_simulate_initialize_forwards): Likewise.
11810 (df_md_simulate_artificial_defs_at_top): Likewise.
11811 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
11812 * regrename.c (init_rename_info): Likewise.
11813 * regstat.c (regstat_bb_compute_ri): Likewise.
11814 (regstat_bb_compute_calls_crossed): Likewise.
11815
11816 2014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
11817
11818 * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
11819 (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
11820 (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
11821 * auto-inc-dec.c (find_inc, merge_in_block): Use them.
11822 * combine.c (create_log_links): Likewise.
11823 * compare-elim.c (find_flags_uses_in_insn): Likewise.
11824 (try_eliminate_compare): Likewise.
11825 * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
11826 * dce.c (deletable_insn_p, find_call_stack_args): Likewise.
11827 (remove_reg_equal_equiv_notes_for_defs): Likewise.
11828 (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
11829 (word_dce_process_block, dce_process_block): Likewise.
11830 * ddg.c (def_has_ccmode_p): Likewise.
11831 * df-core.c (df_bb_regno_first_def_find): Likewise.
11832 (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
11833 * df-problems.c (df_rd_simulate_one_insn): Likewise.
11834 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
11835 (df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
11836 (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
11837 (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
11838 (df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
11839 (df_simulate_find_defs, df_simulate_find_uses): Likewise.
11840 (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
11841 (df_simulate_uses, df_md_simulate_one_insn): Likewise.
11842 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
11843 * fwprop.c (local_ref_killed_between_p): Likewise.
11844 (all_uses_available_at, free_load_extend): Likewise.
11845 * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
11846 * hw-doloop.c (scan_loop): Likewise.
11847 * ifcvt.c (dead_or_predicable): Likewise.
11848 * init-regs.c (initialize_uninitialized_regs): Likewise.
11849 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
11850 (process_bb_node_lives): Likewise.
11851 * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
11852 (find_moveable_pseudos): Likewise.
11853 * loop-invariant.c (check_dependencies, record_uses): Likewise.
11854 * recog.c (peep2_find_free_register): Likewise.
11855 * ree.c (get_defs): Likewise.
11856 * regstat.c (regstat_bb_compute_ri): Likewise.
11857 (regstat_bb_compute_calls_crossed): Likewise.
11858 * sched-deps.c (find_inc, find_mem): Likewise.
11859 * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
11860 (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
11861 * shrink-wrap.c (requires_stack_frame_p): Likewise.
11862 (prepare_shrink_wrap): Likewise.
11863 * store-motion.c (compute_store_table, build_store_vectors): Likewise.
11864 * web.c (union_defs, pass_web::execute): Likewise.
11865 * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
11866 (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
11867
11868 2014-06-13 Vladimir Makarov <vmakarov@redhat.com>
11869
11870 * lra-assign.c (assign_by_spills): Add code to assign vector regs
11871 to inheritance pseudos.
11872 * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
11873
11874 2014-06-13 Peter Bergner <bergner@vnet.ibm.com>
11875
11876 PR target/61415
11877 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
11878 (BU_MISC_2): Rename to ...
11879 (BU_LDBL128_2): ... this.
11880 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
11881 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
11882 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
11883 RS6000_BTM_LDBL128.
11884 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
11885 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
11886 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
11887 (unpacktf_1): Likewise.
11888 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
11889 (__builtin_longdouble_dw1): Likewise.
11890 * doc/sourcebuild.texi (longdouble128): Document.
11891
11892 2014-06-13 Jeff Law <law@redhat.com>
11893
11894 PR rtl-optimization/61094
11895 PR rtl-optimization/61446
11896 * ree.c (combine_reaching_defs): Get the mode for the copy from
11897 the extension insn rather than the defining insn.
11898
11899 2014-06-13 Dehao Chen <dehao@google.com>
11900
11901 * dwarf2out.c (add_linkage_name): Emit more linkage name.
11902
11903 2014-06-13 Thomas Schwinge <thomas@codesourcery.com>
11904
11905 * doc/install.texi (--enable-linker-plugin-configure-flags)
11906 (--enable-linker-plugin-flags): Document new flags.
11907
11908 2014-06-13 Martin Jambor <mjambor@suse.cz>
11909
11910 PR ipa/61186
11911 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
11912 cache_token if returning early.
11913
11914 2014-06-13 Nick Clifton <nickc@redhat.com>
11915
11916 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
11917 requested alignment is active.
11918 (LABEL_ALIGN): Likewise.
11919 (LOOP_ALIGN): Likewise.
11920
11921 2014-06-13 Richard Biener <rguenther@suse.de>
11922
11923 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
11924 Rewrite to propagate the VN result into all uses where
11925 possible and to remove stmts becoming dead because of that.
11926 (eliminate): Generalize stmt removal handling, remove in
11927 reverse dominator order to support proper debug stmt
11928 generation. Update stmts before removing stmts.
11929 * tree-ssa-propagate.c (propagate_tree_value): Remove bogus assert.
11930
11931 2014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
11932
11933 PR tree-optimization/61375
11934 * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
11935 symbolic number cannot be represented in an uint64_t.
11936 (find_bswap_or_nop_1): Likewise.
11937
11938 2014-06-12 Jan Hubicka <hubicka@ucw.cz>
11939
11940 * symtab.c (symtab_node::reset_section): New method.
11941 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
11942 for localization.
11943 * cgraph.h (reset_section): Declare.
11944 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
11945 do not consider comdat locals.
11946 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
11947 for new symbol.
11948 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
11949 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
11950 reset sections of symbols dragged out of the comdats.
11951 (function_and_variable_visibility): Reset sections of
11952 localized symbols.
11953
11954 2014-06-12 Jan Hubicka <hubicka@ucw.cz>
11955
11956 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
11957 to use symtab and decl_binds_to_current_def_p
11958 * tree-vectorizer.c (increase_alignment): Increase alignment
11959 of alias target, too.
11960
11961 2014-06-12 Jakub Jelinek <jakub@redhat.com>
11962
11963 PR middle-end/61486
11964 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
11965 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
11966 if outer combined construct is distribute.
11967 (gimplify_omp_for): For OMP_DISTRIBUTE set
11968 gimplify_omp_ctxp->distribute.
11969 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
11970 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
11971 mapping into decl map.
11972
11973 2014-06-12 Jason Merrill <jason@redhat.com>
11974
11975 * common.opt (fabi-version): Change default to 0.
11976
11977 2014-06-12 Jason Merrill <jason@redhat.com>
11978
11979 * toplev.c (process_options): Reject -fabi-version=1.
11980
11981 2014-06-12 Jeff Law <law@redhat.com>
11982
11983 PR tree-optimization/61009
11984 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
11985 value when we stop processing a block due to problematic PHIs.
11986
11987 2014-06-12 Alan Lawrence <alan.lawrence@arm.com>
11988
11989 * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
11990 vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
11991 vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
11992 vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
11993 vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
11994 vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
11995 vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they
11996 are not in the spec.
11997
11998 2014-06-10 Alan Lawrence <alan.lawrence@arm.com>
11999
12000 PR target/59843
12001 * config/aarch64/aarch64-modes.def: Add V1DFmode.
12002 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
12003 Support V1DFmode.
12004
12005 2014-06-12 Eric Botcazou <ebotcazou@adacore.com>
12006
12007 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
12008
12009 2014-06-12 Georg-Johann Lay <avr@gjlay.de>
12010
12011 PR target/61443
12012 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
12013 loading from address spaces.
12014
12015 2014-06-12 Martin Liska <mliska@suse.cz>
12016
12017 PR ipa/61462
12018 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
12019 statement is reachable.
12020
12021 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
12022
12023 * symtab.c (section_hash): New hash.
12024 (symtab_unregister_node): Clear section before freeing.
12025 (hash_section_hash_entry): New haser.
12026 (eq_sections): New function.
12027 (symtab_node::set_section_for_node): New method.
12028 (set_section_1): Update.
12029 (symtab_node::set_section): Take string instead of tree as parameter.
12030 (symtab_resolve_alias): Update.
12031 * cgraph.h (section_hash_entry_d): New structure.
12032 (section_hash_entry): New typedef.
12033 (cgraph_node): Change comdat_group_ to x_comdat_group,
12034 change section_ to x_section and turn into section_hash_entry;
12035 update accestors; put set_section_for_node offline.
12036 * tree.c (decl_section_name): Turn into string.
12037 (set_decl_section_name): Change parameter to be string.
12038 * tree.h (decl_section_name, set_decl_section_name): Update prototypes.
12039 * sdbout.c (sdbout_one_type): Update.
12040 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
12041 * varasm.c (IN_NAMED_SECTION, get_named_section,
12042 resolve_unique_section, hot_function_section, get_named_text_section,
12043 USE_SELECT_SECTION_FOR_FUNCTIONS, default_function_rodata_section,
12044 make_decl_rtl, default_unique_section): Update.
12045 * config/c6x/c6x.c (c6x_in_small_data_p): Update.
12046 (c6x_elf_unique_section): Update.
12047 * config/nios2/nios2.c (nios2_in_small_data_p): Update.
12048 * config/pa/pa.c (pa_function_section): Update.
12049 * config/pa/pa.h (IN_NAMED_SECTION_P): Update.
12050 * config/ia64/ia64.c (ia64_in_small_data_p): Update.
12051 * config/arc/arc.c (arc_in_small_data_p): Update.
12052 * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
12053 * config/mcore/mcore.c (mcore_unique_section): Update.
12054 * config/mips/mips.c (mips16_build_function_stub): Update.
12055 (mips16_build_call_stub): Update.
12056 (mips_function_rodata_section): Update.
12057 (mips_in_small_data_p): Update.
12058 * config/score/score.c (score_in_small_data_p): Update.
12059 * config/rx/rx.c (rx_in_small_data): Update.
12060 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
12061 (rs6000_xcoff_asm_named_section): Update.
12062 (rs6000_xcoff_unique_section): Update.
12063 * config/frv/frv.c (frv_string_begins_with): Update.
12064 (frv_in_small_data_p): Update.
12065 * config/v850/v850.c (v850_encode_data_area): Update.
12066 * config/bfin/bfin.c (DECL_SECTION_NAME): Update.
12067 (bfin_handle_l1_data_attribute): Update.
12068 (bfin_handle_l2_attribute): Update.
12069 * config/mep/mep.c (mep_unique_section): Update.
12070 * config/microblaze/microblaze.c (microblaze_elf_in_small_data_p):
12071 Update.
12072 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
12073 (h8300_handle_tiny_data_attribute): Update.
12074 * config/m32r/m32r.c (m32r_in_small_data_p): Update.
12075 (m32r_in_small_data_p): Update.
12076 * config/alpha/alpha.c (alpha_in_small_data_p): Update.
12077 * config/i386/i386.c (ix86_in_large_data_p): Update.
12078 * config/i386/winnt.c (i386_pe_unique_section): Update.
12079 * config/darwin.c (darwin_function_section): Update.
12080 * config/lm32/lm32.c (lm32_in_small_data_p): Update.
12081 * tree-emutls.c (get_emutls_init_templ_addr): Update.
12082 (new_emutls_decl): Update.
12083 * lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
12084 input_varpool_node): Update.
12085 (ead_string_cst): Turn to ...
12086 (read_string): ... this one.
12087 * dwarf2out.c (secname_for_decl): Update.
12088 * asan.c (asan_protect_global): Update.
12089
12090 2014-06-11 DJ Delorie <dj@redhat.com>
12091
12092 * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
12093 cache lines.
12094 * config/rx/rx.c (rx_option_override): Likewise.
12095 (rx_align_for_label): Likewise.
12096
12097 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
12098
12099 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
12100
12101 * config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
12102 prototype.
12103
12104 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12105
12106 * common.md: New file.
12107 * doc/md.texi: Update description of generic, machine-independent
12108 constraints.
12109 * config/s390/constraints.md (e): Delete.
12110 * Makefile.in (md_file): Include common.md.
12111 * config/m32c/t-m32c (md_file): Likewise.
12112 * genpreds.c (general_mem): New array.
12113 (generic_constraint_letters): Remove constraints now defined by
12114 common.md.
12115 (add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
12116 Allow the first character to be '<' or '>' as well.
12117 * genoutput.c (general_mem): New array.
12118 (indep_constraints): Remove constraints now defined by common.md.
12119 (note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
12120 Remove special handling of 'm'.
12121 * ira-costs.c (record_reg_classes): Remove special handling of
12122 constraints now defined by common.md.
12123 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
12124 * ira-lives.c (single_reg_class): Likewise.
12125 (ira_implicitly_set_insn_hard_regs): Likewise.
12126 * lra-constraints.c (reg_class_from_constraints): Likewise.
12127 (process_alt_operands, process_address, curr_insn_transform): Likewise.
12128 * postreload.c (reload_cse_simplify_operands): Likewise.
12129 * reload.c (push_secondary_reload, scratch_reload_class)
12130 (find_reloads, alternative_allows_const_pool_ref): Likewise.
12131 * reload1.c (maybe_fix_stack_asms): Likewise.
12132 * targhooks.c (default_secondary_reload): Likewise.
12133 * stmt.c (parse_output_constraint): Likewise.
12134 * recog.c (preprocess_constraints): Likewise.
12135 (constrain_operands, peep2_find_free_register): Likewise.
12136 (asm_operand_ok): Likewise, but add a comment saying why 'o'
12137 must be handled specially.
12138
12139 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12140
12141 * system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
12142 * genpreds.c (have_const_dbl_constraints): Delete.
12143 (add_constraint): Don't set it.
12144 (write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
12145 * ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
12146 constraints using the lookup_constraint logic.
12147 * ira-lives.c (single_reg_class): Likewise.
12148 * ira.c (ira_setup_alts): Likewise.
12149 * lra-constraints.c (process_alt_operands): Likewise.
12150 * recog.c (asm_operand_ok, constrain_operands): Likewise.
12151 * reload.c (find_reloads): Likewise.
12152
12153 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12154
12155 * genpreds.c (const_int_start, const_int_end): New variables.
12156 (choose_enum_order): Output CONST_INT constraints before memory
12157 constraints.
12158 (write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
12159 Add CT_CONST_INT.
12160 * ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
12161 * ira.c (ira_setup_alts): Likewise.
12162 * lra-constraints.c (process_alt_operands): Likewise.
12163 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
12164 * reload.c (find_reloads): Likewise.
12165
12166 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12167
12168 * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
12169 decmem_ok and incmem_ok. Reformat other bitfields for consistency.
12170 * recog.c (preprocess_constraints): Update accordingly.
12171
12172 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12173
12174 * system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
12175 (REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
12176 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
12177 * genpreds.c (print_type_tree): New function.
12178 (write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
12179 REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
12180 EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
12181 Write out enum constraint_type and get_constraint_type.
12182 * lra-constraints.c (satisfies_memory_constraint_p): Take a
12183 constraint_num rather than a constraint string.
12184 (satisfies_address_constraint_p): Likewise.
12185 (reg_class_from_constraints): Avoid old constraint macros.
12186 (process_alt_operands, process_address_1): Likewise.
12187 (curr_insn_transform): Likewise.
12188 * ira-costs.c (record_reg_classes): Likewise.
12189 (record_operand_costs): Likewise.
12190 * ira-lives.c (single_reg_class): Likewise.
12191 (ira_implicitly_set_insn_hard_regs): Likewise.
12192 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
12193 * postreload.c (reload_cse_simplify_operands): Likewise.
12194 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
12195 (constrain_operands, peep2_find_free_register): Likewise.
12196 * reload.c (push_secondary_reload, scratch_reload_class): Likewise.
12197 (find_reloads, alternative_allows_const_pool_ref): Likewise.
12198 * reload1.c (maybe_fix_stack_asms): Likewise.
12199 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12200 * targhooks.c (default_secondary_reload): Likewise.
12201 * config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
12202 to EXTRA_CONSTRAINT_STR.
12203 * config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
12204
12205 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12206
12207 * genpreds.c (write_constraint_satisfied_p_1): Replace with...
12208 (write_constraint_satisfied_p_array): ...this new function.
12209 (write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
12210 an array.
12211 (write_insn_preds_c): Update accordingly.
12212
12213 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12214
12215 * genpreds.c (write_lookup_constraint): Rename to...
12216 (write_lookup_constraint_1): ...this.
12217 (write_lookup_constraint_array): New function.
12218 (write_tm_preds_h): Define lookup_constraint as an inline function
12219 that uses write_lookup_constraint_array where possible.
12220 (write_insn_preds_c): Update for the changes above.
12221
12222 2014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
12223
12224 * doc/md.texi (regclass_for_constraint): Rename to...
12225 (reg_class_for_constraint): ...this.
12226 * genpreds.c (num_constraints, enum_order, register_start)
12227 (register_end, satisfied_start, memory_start, memory_end)
12228 (address_start, address_end): New variables.
12229 (add_constraint): Count the number of constraints.
12230 (choose_enum_order): New function.
12231 (write_enum_constraint_num): Iterate over enum_order.
12232 (write_regclass_for_constraint): Rename to...
12233 (write_reg_class_for_constraint_1): ...this and update output
12234 accordingly.
12235 (write_constraint_satisfied_p): Rename to...
12236 (write_constraint_satisfied_p_1): ...this and update output
12237 accordingly. Do nothing if all extra constraints are register
12238 constraints.
12239 (write_insn_extra_memory_constraint): Delete.
12240 (write_insn_extra_address_constraint): Delete.
12241 (write_range_function): New function.
12242 (write_tm_preds_h): Define constraint_satisfied_p and
12243 reg_class_for_constraint as inline functions that do a range check
12244 before calling the out-of-line function. Use write_range_function
12245 to implement insn_extra_{register,memory,address}_constraint,
12246 the first of which is new.
12247 (write_insn_preds_c): Update after above changes to write_* functions.
12248 (main): Call choose_enum_order.
12249
12250 2014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
12251
12252 PR tree-optimization/61306
12253 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
12254 expression instead of its size.
12255 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
12256 false to prevent optimization when the result is unpredictable due to
12257 arithmetic right shift of signed type with highest byte is set.
12258 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
12259 (init_symbolic_number): Likewise.
12260 (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
12261 when the result is unpredictable due to sign extension.
12262
12263 2014-06-11 Terry Guo <terry.guo@arm.com>
12264
12265 * config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
12266 (*thumb1_addsi3): Ditto.
12267 (*thumb_subdi3): Ditto.
12268 (thumb1_subsi3_insn): Ditto.
12269 (*thumb_mulsi3): Ditto.
12270 (*thumb_mulsi3_v6): Ditto.
12271 (*thumb1_andsi3_insn): Ditto.
12272 (thumb1_bicsi3): Ditto.
12273 (*thumb1_iorsi3_insn): Ditto.
12274 (*thumb1_xorsi3_insn): Ditto.
12275 (*thumb1_ashlsi3): Ditto.
12276 (*thumb1_ashrsi3): Ditto.
12277 (*thumb1_lshrsi3): Ditto.
12278 (*thumb1_rotrsi3): Ditto.
12279 (*thumb1_negdi2): Ditto.
12280 (*thumb1_negsi2): Ditto.
12281 (*thumb1_abssi2): Ditto.
12282 (*thumb1_neg_abssi2): Ditto.
12283 (*thumb1_one_cmplsi2): Ditto.
12284 (*thumb1_zero_extendhisi2): Ditto.
12285 (*thumb1_zero_extendqisi2): Ditto.
12286 (*thumb1_zero_extendqisi2_v6): Ditto.
12287 (thumb1_extendhisi2): Ditto.
12288 (thumb1_extendqisi2): Ditto.
12289 (*thumb1_movdi_insn): Ditto.
12290 (*thumb1_movsi_insn): Ditto.
12291 (*thumb1_movhi_insn): Ditto.
12292 (thumb_movhi_clobber): Ditto.
12293 (*thumb1_movqi_insn): Ditto.
12294 (*thumb1_movhf): Ditto.
12295 (*thumb1_movsf_insn): Ditto.
12296 (*thumb_movdf_insn): Ditto.
12297 (movmem12b): Ditto.
12298 (movmem8b): Ditto.
12299 (cbranchqi4): Ditto.
12300 (cbranchsi4_insn): Ditto.
12301 (cbranchsi4_scratch): Ditto.
12302 (*negated_cbranchsi4): Ditto.
12303 (*tbit_cbranch): Ditto.
12304 (*tlobits_cbranch): Ditto.
12305 (*tstsi3_cbranch): Ditto.
12306 (*cbranchne_decr1): Ditto.
12307 (*addsi3_cbranch): Ditto.
12308 (*addsi3_cbranch_scratch): Ditto.
12309 (*thumb_cmpdi_zero): Ditto.
12310 (cstoresi_eq0_thumb1): Ditto.
12311 (cstoresi_ne0_thumb1): Ditto.
12312 (*cstoresi_eq0_thumb1_insn): Ditto.
12313 (*cstoresi_ne0_thumb1_insn): Ditto.
12314 (cstoresi_nltu_thumb1): Ditto.
12315 (cstoresi_ltu_thumb1): Ditto.
12316 (thumb1_addsi3_addgeu): Ditto.
12317 (*thumb_jump): Ditto.
12318 (*call_reg_thumb1_v5): Ditto.
12319 (*call_reg_thumb1): Ditto.
12320 (*call_value_reg_thumb1_v5): Ditto.
12321 (*call_value_reg_thumb1): Ditto.
12322 (*call_insn): Ditto.
12323 (*call_value_insn): Ditto.
12324 (thumb1_casesi_internal_pic): Ditto.
12325 (thumb1_casesi_dispatch): Ditto.
12326 (*thumb1_indirect_jump): Ditto.
12327 (prologue_thumb1_interwork): Ditto.
12328 (*epilogue_insns): Ditto.
12329 (consttable_1): Ditto.
12330 (consttable_2): Ditto.
12331 (tablejump): Ditto.
12332 (*thumb1_tablejump): Ditto.
12333 (thumb_eh_return): Ditto.
12334 (define_peephole2): Two of them are thumb1 only and got moved into
12335 new file thumb1.md.
12336 (define_split): Six of them are thumb1 only and got moved into new
12337 file thumb1.md.
12338 * config/arm/thumb1.md: New file comprised of above thumb1 only
12339 patterns.
12340
12341 2014-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12342
12343 * config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
12344 * Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
12345 dependencies.
12346 * config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
12347 (aarch64_crc_builtin_datum): New struct.
12348 (aarch64_crc_builtin_data): New.
12349 (aarch64_init_crc32_builtins): New function.
12350 (aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
12351 (aarch64_crc32_expand_builtin): New.
12352 (aarch64_expand_builtin): Add CRC32 builtin expansion case.
12353 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
12354 __ARM_FEATURE_CRC32 when appropriate.
12355 (TARGET_CRC32): Define.
12356 * config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
12357 UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
12358 UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
12359 (aarch64_<crc_variant>): New pattern.
12360 * config/aarch64/arm_acle.h: New file.
12361 * config/aarch64/iterators.md (CRC): New int iterator.
12362 (crc_variant, crc_mode): New int attributes.
12363 * doc/aarch64-acle-intrinsics.texi: New file.
12364 * doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
12365 Include aarch64-acle-intrinsics.texi.
12366
12367 2014-06-11 Evgeny Stupachenko <evstupac@gmail.com>
12368
12369 * tree-vect-data-refs.c (vect_grouped_store_supported): New
12370 check for stores group of length 3.
12371 (vect_permute_store_chain): New permutations for stores group of
12372 length 3.
12373 * tree-vect-stmts.c (vect_model_store_cost): Change cost
12374 of vec_perm_shuffle for the new permutations.
12375
12376 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
12377
12378 * ipa-visibility.c (function_and_variable_visibility): Disable virtual
12379 table rewriting temporarily on targets not supporting ONE_ONLY.
12380
12381 2014-06-11 Richard Biener <rguenther@suse.de>
12382
12383 PR middle-end/61437
12384 Revert
12385 2014-06-04 Richard Biener <rguenther@suse.de>
12386
12387 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
12388 TREE_PUBLIC and DECL_EXTERNAL decls.
12389
12390 2014-06-10 Jan Hubicka <hubicka@ucw.cz>
12391
12392 * varasm.c (set_implicit_section): New function.
12393 (resolve_unique_section): Use it to set implicit section
12394 for aliases, too.
12395 (get_named_text_section): Use symtab_get_node (decl)->implicit_section
12396 (default_function_section): Likewise.
12397 (decl_binds_to_current_def_p): Constify argument.
12398 * varasm.h (decl_binds_to_current_def_p): Update prototype.
12399 * asan.c (asan_protect_global): Use
12400 symtab_get_node (decl)->implicit_section.
12401 * symtab.c (dump_symtab_base): Dump implicit sections.
12402 (verify_symtab_base): Verify sanity of sectoins and comdats.
12403 (symtab_resolve_alias): Alias share the section of its target.
12404 (set_section_1): New function.
12405 (symtab_node::set_section): Move here, recurse to aliases.
12406 (verify_symtab): Check for duplicated symtab lists.
12407 * tree-core.h (implicit_section_name_p): Remove.
12408 * tree-vect-data-refs.c: Include varasm.h.
12409 (vect_can_force_dr_alignment_p): Fix conditional on when
12410 decl bints to current definition; use
12411 symtab_get_node (decl)->implicit_section.
12412 * cgraph.c (cgraph_make_node_local_1): Fix section set.
12413 * cgraph.h (struct symtab_node): Add implicit_section.
12414 (set_section): Rename to ...
12415 (set_section_for_node): ... this one.
12416 (set_section): Declare.
12417 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
12418 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
12419 input_overwrite_node, input_varpool_node): Stream implicit_section.
12420 * ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
12421 removal; it will fail in LTO.
12422
12423 2014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12424
12425 * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
12426 Change second alternative type to f_mcr.
12427 * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
12428 and 12th alternatives' types to f_mcr and f_mrc.
12429 (*movdi_aarch64): Same for 12th and 13th alternatives.
12430 (*movsf_aarch64): Change 9th alternatives' type to mov_reg.
12431 (aarch64_movtilow_tilow): Change type to fmov.
12432
12433 2014-06-10 Jiong Wang <jiong.wang@arm.com>
12434
12435 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
12436 (aarch64_save_or_restore_callee_save_registers): Fix layout.
12437
12438 2014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12439
12440 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
12441 New expander.
12442 (aarch64_sqrdmulh_lane<mode>): Likewise.
12443 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
12444 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
12445 (aarch64_sqdmulh_laneq<mode>): New expander.
12446 (aarch64_sqrdmulh_laneq<mode>): Likewise.
12447 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
12448 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
12449 (aarch64_sqdmulh_lane<mode>): New expander.
12450 (aarch64_sqrdmulh_lane<mode>): Likewise.
12451 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
12452 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
12453 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
12454 (aarch64_sqdmlal_laneq<mode>): Likewise.
12455 (aarch64_sqdmlsl_lane<mode>): Likewise.
12456 (aarch64_sqdmlsl_laneq<mode>): Likewise.
12457 (aarch64_sqdmlal2_lane<mode>): Likewise.
12458 (aarch64_sqdmlal2_laneq<mode>): Likewise.
12459 (aarch64_sqdmlsl2_lane<mode>): Likewise.
12460 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
12461 (aarch64_sqdmull_lane<mode>): Likewise.
12462 (aarch64_sqdmull_laneq<mode>): Likewise.
12463 (aarch64_sqdmull2_lane<mode>): Likewise.
12464 (aarch64_sqdmull2_laneq<mode>): Likewise.
12465
12466 2014-06-10 Richard Biener <rguenther@suse.de>
12467
12468 PR tree-optimization/61438
12469 * tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
12470 (eliminate_dom_walker::before_dom_children): Only try to inhibit
12471 insertion of IVs if running PRE.
12472 (eliminate): Adjust.
12473 (pass_pre::execute): Likewise.
12474 (pass_fre::execute): Likewise.
12475
12476 2014-06-10 Richard Biener <rguenther@suse.de>
12477
12478 PR middle-end/61456
12479 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
12480 Do not use the main variant for the type comparison.
12481 (ncr_compar): Likewise.
12482 (nonoverlapping_component_refs_p): Likewise.
12483
12484 2014-06-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
12485
12486 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
12487 REG_CFA_RESTORE mode.
12488
12489 2014-06-10 Evgeny Stupachenko <evstupac@gmail.com>
12490
12491 * config/i386/i386.c (expand_vec_perm_pblendv): New.
12492 * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
12493 expand_vec_perm_pblendv.
12494
12495 2014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12496
12497 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
12498 available.
12499 Simplify description of __crc32d and __crc32cd intrinsics.
12500 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
12501 availability.
12502
12503 2014-06-10 Thomas Schwinge <thomas@codesourcery.com>
12504
12505 PR lto/61334
12506 * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype.
12507 * config.in: Regenerate.
12508 * configure: Likewise.
12509
12510 2014-06-10 Jan Hubicka <hubicka@ucw.cz>
12511
12512 * ipa-reference.c (is_proper_for_analysis): Exclude addressable
12513 and public vars.
12514 (intersect_static_var_sets): Remove.
12515 (propagate): Do not prune local statics.
12516
12517 2014-06-10 Jakub Jelinek <jakub@redhat.com>
12518
12519 PR fortran/60928
12520 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
12521 Set lastprivate_firstprivate even if omp_private_outer_ref
12522 langhook returns true.
12523 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
12524 langhook, call unshare_expr on new_var and call
12525 build_outer_var_ref to get the last argument.
12526
12527 2014-06-10 Marek Polacek <polacek@redhat.com>
12528
12529 PR c/60988
12530 * doc/extend.texi: Add cindex for transparent_union.
12531
12532 2014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
12533
12534 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
12535 init_symbolic_number ().
12536
12537 2014-05-18 John David Anglin <danglin@gcc.gnu.org>
12538
12539 PR middle-end/61141
12540 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
12541 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
12542 (verify_rtl_sharing): Likewise.
12543
12544 2014-06-09 Marc Glisse <marc.glisse@inria.fr>
12545
12546 PR c++/54442
12547 * tree.c (build_qualified_type): Use a canonical type for
12548 TYPE_CANONICAL.
12549
12550 2014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12551
12552 * config/arm/arm-modes.def: Remove XFmode.
12553
12554 2014-06-09 Alan Lawrence <alan.lawrence@arm.com>
12555
12556 PR target/61062
12557 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
12558 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
12559 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
12560 vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
12561 vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
12562 vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
12563 vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
12564 vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
12565 vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
12566
12567 2014-06-09 Jan Hubicka <hubicka@ucw.cz>
12568
12569 * tree-core.h (tree_decl_with_vis): Remove section_name.
12570
12571 2014-06-09 Kito Cheng <kito@0xlab.org>
12572
12573 * ira.c (ira): Don't call init_caller_save if LRA enabled
12574 since LRA use its own infrastructure to handle that.
12575
12576 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
12577
12578 * symtab.c (dump_symtab_base): Update dumping.
12579 (symtab_make_decl_local): Clear only DECL_COMDAT.
12580 * tree-vect-data-refs.c (Check that variable is static before
12581 tampering with sections.
12582 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
12583 (cgraph_create_virtual_clone): Likewise.
12584 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
12585 (decl_section_name, set_decl_section_name): New accessors.
12586 (find_decls_types_r): Do not walk section name
12587 * tree.h (DECL_SECTION_NAME): Implement using decl_section_name.
12588 (decl_comdat_group, decl_comdat_group_id): Constify.
12589 (decl_section_name, set_decl_section_name): Update.
12590 * varpool.c (varpool_finalize_named_section_flags): Use get_section.
12591 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
12592 (cgraph_make_node_local_1): Clear section and comdat group.
12593 * cgraph.h (set_comdat_group): Sanity check.
12594 (get_section, set_section): New.
12595 * ipa-comdats.c (ipa_comdats): Use get_section.
12596 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
12597 * lto-streamer-out.c: Do not follow section names.
12598 * c-family/c-common.c (handle_section_attribute): Update.
12599 * lto-cgraph.c (lto_output_node): Output section.
12600 (lto_output_varpool_node): Likewise.
12601 (read_comdat_group): Rename to ...
12602 (read_identifier): ... this one.
12603 (read_string_cst): New function.
12604 (input_node, input_varpool_node): Input section names.
12605 * tree-emutls.c (get_emutls_init_templ_addr): Update.
12606 (new_emutls_decl): Update.
12607 (secname_for_decl): Check section names only of static vars.
12608 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
12609 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
12610 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
12611 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
12612 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
12613 * config/mcore/mcore.c (mcore_unique_section): Likewise.
12614 * config/mips/mips.c (mips16_build_function_stub): Likewise.
12615 * config/v850/v850.c (v850_insert_attributes): Likewise.
12616 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
12617 Likewise.
12618 (h8300_handle_tiny_data_attribute): Likewise.
12619 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
12620 (bfin_handle_l2_attribute): Likewise.
12621
12622 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
12623
12624 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
12625 remove static initializer.
12626
12627 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
12628
12629 * varasm.c (use_blocks_for_decl_p): Check symbol table
12630 instead of alias attribute.
12631 (place_block_symbol): Recurse on aliases.
12632
12633 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
12634
12635 * ipa-visibility.c: Include varasm.h
12636 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
12637
12638 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
12639
12640 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
12641 outputting aliases.
12642
12643 2014-06-07 Steven Bosscher <steven@gcc.gnu.org>
12644
12645 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
12646 from test_insn into GGC space escape via SET_SRC.
12647
12648 2014-06-07 Eric Botcazou <ebotcazou@adacore.com>
12649
12650 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
12651 call statement, if any.
12652 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
12653 statements, if any. Tidy up.
12654
12655 2014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
12656
12657 PR target/61431
12658 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
12659 iterators, VSX_D that handles 64-bit types, and VSX_LE that
12660 handles swapping the two 64-bit double words on little endian
12661 systems. Include V1TImode and optionally TImode in VSX_LE so that
12662 these types are properly swapped. Change all of the insns and
12663 splits that do the 64-bit swaps to use VSX_LE.
12664 (vsx_le_perm_load_<mode>): Likewise.
12665 (vsx_le_perm_store_<mode>): Likewise.
12666 (splitters for little endian memory operations): Likewise.
12667 (vsx_xxpermdi2_le_<mode>): Likewise.
12668 (vsx_lxvd2x2_le_<mode>): Likewise.
12669 (vsx_stxvd2x2_le_<mode>): Likewise.
12670
12671 2014-06-06 Uros Bizjak <ubizjak@gmail.com>
12672
12673 PR target/61423
12674 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
12675 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
12676 and corresponding splitters. Zero extend general register
12677 or memory input operand to XMM temporary. Enable for
12678 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
12679 (floatunssi<mode>2): Update expander predicate.
12680
12681 2014-06-06 Vladimir Makarov <vmakarov@redhat.com>
12682
12683 PR rtl-optimization/61325
12684 * lra-constraints.c (process_address_1): Check scale equal to one
12685 to prevent transformation: base + scale * index => base + new_reg.
12686
12687 2014-06-06 Richard Biener <rguenther@suse.de>
12688
12689 PR tree-optimization/59299
12690 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
12691 a def operand.
12692 (nearest_common_dominator_of_uses): Likewise.
12693 (statement_sink_location): Adjust. Support sinking loads.
12694
12695 2014-06-06 Martin Jambor <mjambor@suse.cz>
12696
12697 * ipa-prop.c (get_place_in_agg_contents_list): New function.
12698 (build_agg_jump_func_from_list): Likewise.
12699 (determine_known_aggregate_parts): Renamed to
12700 determine_locally_known_aggregate_parts. Moved some functionality
12701 to the two functions above, removed bound checks.
12702
12703 2014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
12704
12705 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
12706 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
12707 (aarch64_progress_pointer): Likewise.
12708 (aarch64_copy_one_part_and_move_pointers): Likewise.
12709 (aarch64_expand_movmen): Likewise.
12710 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
12711 * config/aarch64/aarch64.md (movmem<mode>): New.
12712
12713 2014-06-06 Bingfeng Mei <bmei@broadcom.com>
12714
12715 * targhooks.c (default_add_stmt_cost): Call target specific
12716 hook instead of default one.
12717
12718 2014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
12719
12720 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
12721 endianness instead of host endianness.
12722 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
12723 comments.
12724
12725 2014-06-06 Eric Botcazou <ebotcazou@adacore.com>
12726
12727 PR debug/53927
12728 * function.c (instantiate_decls): Process the saved static chain.
12729 (expand_function_start): If not optimizing, save the static chain
12730 onto the stack.
12731 * tree-nested.c (convert_all_function_calls): Always create the static
12732 chain for nested functions if not optimizing.
12733
12734 2014-06-06 Eric Botcazou <ebotcazou@adacore.com>
12735
12736 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
12737
12738 2014-06-06 Richard Biener <rguenther@suse.de>
12739
12740 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
12741 (construct_init_block): Likewise.
12742 (construct_exit_block): Likewise.
12743 (pass_expand::execute): Likewise.
12744 * graphite.c (graphite_transforms): Replace check for current_loops
12745 with a check for > 1 loops.
12746 (pass_graphite_transforms::execute): Adjust.
12747 * ipa-split.c (split_function): Remove check for current_loops.
12748 * omp-low.c (expand_parallel_call): Likewise.
12749 (expand_omp_for_init_counts): Likewise.
12750 (extract_omp_for_update_vars): Likewise.
12751 (expand_omp_for_generic): Likewise.
12752 (expand_omp_sections): Likewise.
12753 (expand_omp_target): Likewise.
12754 * tracer.c (tail_duplicate): Likewise.
12755 (pass_tracer::execute): Likewise.
12756 * trans-mem.c (expand_transaction): Likewise.
12757 * tree-complex.c (expand_complex_div_wide): Likewise.
12758 * tree-eh.c (lower_resx): Likewise.
12759 (cleanup_empty_eh_merge_phis): Likewise.
12760 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
12761 current_loops with a check for > 1 loops.
12762 (pass_predcom::execute): Adjust.
12763 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
12764 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
12765 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
12766 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
12767 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
12768 * tree-switch-conversion.c (process_switch): Likewise.
12769 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
12770 * tree-vrp.c (vrp_visit_phi_node): Likewise.
12771 (execute_vrp): Likewise.
12772 * ubsan.c (ubsan_expand_null_ifn): Likewise.
12773
12774 2014-06-06 Eric Botcazou <ebotcazou@adacore.com>
12775
12776 * rtl.h (insn_location): Declare.
12777 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
12778 with UNKNOWN_LOCATION.
12779 * emit-rtl.c (insn_location): New function.
12780 * final.c (notice_source_line): Check that the instruction has a
12781 location before retrieving it and use insn_location.
12782 * modulo-sched.c (loop_single_full_bb_p): Likewise.
12783 * print-rtl.c (print_rtx): Likewise.
12784
12785 2014-06-06 Richard Biener <rguenther@suse.de>
12786
12787 * passes.def: Move 2nd VRP pass before phi-only-cprop.
12788
12789 2014-06-06 Christian Bruel <christian.bruel@st.com>
12790
12791 PR tree-optimization/43934
12792 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
12793 cost.
12794
12795 2014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
12796
12797 * ira-lives.c (single_reg_class): Add missing break. Explicitly
12798 return NO_REGS for extra address and memory constraints. Handle
12799 operands that match (or are equivalent to something that matches)
12800 extra constant constraints. Ignore other non-register operands.
12801
12802 2014-06-06 Alan Modra <amodra@gmail.com>
12803
12804 PR target/61300
12805 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
12806 * doc/tm.texi: Regenerate.
12807 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
12808 Use throughout in place of REG_PARM_STACK_SPACE.
12809 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
12810 "incoming" param. Pass to rs6000_function_parms_need_stack.
12811 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
12812 prototype_p when incoming. Use function decl when incoming
12813 to handle K&R style functions.
12814 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
12815 (INCOMING_REG_PARM_STACK_SPACE): Define.
12816
12817 2014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
12818
12819 PR target/52472
12820 * cfgexpand.c (expand_debug_expr): Use address space of nested
12821 TREE_TYPE for ADDR_EXPR and MEM_REF.
12822
12823 2014-06-05 Jeff Law <law@redhat.com>
12824
12825 PR tree-optimization/61289
12826 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
12827 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
12828 looking for those which match LHS. All callers changed.
12829 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
12830 parameters and code which manipulated them. All callers changed.
12831 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
12832 and DST_MAP parameters. Simplify invalidation code by just calling
12833 invalidate_equivalences. All callers changed.
12834 (thread_across_edge): Simplify now that we don't need to maintain
12835 the map of equivalences to invalidate.
12836
12837 2014-06-05 Kai Tietz <ktietz@redhat.com>
12838 Richard Henderson <rth@redhat.com>
12839
12840 PR target/46219
12841 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
12842 checking for !TARGET_X32.
12843 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
12844 (sibcall_intern): New define_insn, plus required peepholes.
12845 (sibcall_pop_intern): Likewise.
12846 (sibcall_value_intern): Likewise.
12847 (sibcall_value_pop_intern): Likewise.
12848
12849 2014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
12850
12851 * tree-inline.c (tree_function_versioning): Check DF info existence
12852 before accessing it.
12853
12854 2014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
12855
12856 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
12857 frame_size.
12858 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
12859 aarch64_frame hard_fp_offset and frame_size.
12860 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
12861 frame_size; remove original_frame_size.
12862 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
12863 (aarch64_initial_elimination_offset): Remove frame_size and
12864 offset. Use aarch64_frame frame_size.
12865
12866 2014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
12867 Jiong Wang <jiong.wang@arm.com>
12868 Renlin <renlin.li@arm.com>
12869
12870 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
12871 initialization of R30 offset. Update offset. Iterate core
12872 regisers upto X30. Remove X29, X30 specific code.
12873
12874 2014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
12875 Jiong Wang <jiong.wang@arm.com>
12876
12877 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
12878 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
12879 (aarch64_register_saved_on_entry): Adjust test.
12880
12881 2014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
12882
12883 * config/aarch64/aarch64.h (machine_function): Move
12884 saved_varargs_size from here...
12885 (aarch64_frame): ... to here.
12886
12887 * config/aarch64/aarch64.c (aarch64_expand_prologue)
12888 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
12889 (aarch64_initial_elimination_offset)
12890 (aarch64_setup_incoming_varargs): Adjust location of
12891 saved_varargs_size.
12892
12893 2014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
12894
12895 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
12896 layout comment.
12897
12898 2014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
12899 Prachi Godbole <Prachi.Godbole@imgtec.com>
12900
12901 * config/mips/mips-cpus.def: Add definition for p5600. Updated
12902 mips32r5 entry to use PROCESSOR_P5600.
12903 * config/mips/mips-tables.opt: Regenerate.
12904 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
12905 * config/mips/mips.c (mips_fmadd_bypass): New function.
12906 (mips_rtx_cost_data): Add costs for p5600.
12907 (mips_issue_rate): Add support for p5600.
12908 (mips_multipass_dfa_lookahead): Likewise.
12909 * config/mips/mips.h (TUNE_P5600): New define.
12910 (TUNE_MACC_CHAINS): Add TUNE_P5600.
12911 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
12912 * config/mips/mips.md: Include p5600.md.
12913 (processor): Add p5600.
12914 * config/mips/p5600.md: New file.
12915
12916 2014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
12917
12918 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
12919 * config/i386/predicates.md (palignr_operand): New.
12920 Indicates if permutation is suitable for palignr instruction.
12921
12922 2014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
12923
12924 PR tree-optimization/61319
12925 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
12926 stmt belongs to loop.
12927
12928 2014-06-05 Richard Biener <rguenther@suse.de>
12929
12930 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
12931 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
12932 (lookup_tmp_var): Adjust.
12933 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
12934
12935 2014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12936
12937 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
12938
12939 2014-06-05 Marek Polacek <polacek@redhat.com>
12940
12941 PR c/49706
12942 * doc/invoke.texi: Document -Wlogical-not-parentheses.
12943
12944 2014-06-04 Tom de Vries <tom@codesourcery.com>
12945
12946 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
12947 CONST_INT.
12948
12949 2014-06-04 Marc Glisse <marc.glisse@inria.fr>
12950
12951 PR tree-optimization/61385
12952 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
12953
12954 2014-06-04 Bernd Schmidt <bernds@codesourcery.com>
12955
12956 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
12957 changed to use fatal_error.
12958 (main): Ensure lto_wrapper_cleanup is run atexit.
12959
12960 2014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
12961
12962 * lra-constraints.c (valid_address_p): Move earlier in file.
12963 (address_eliminator): New structure.
12964 (satisfies_memory_constraint_p): New function.
12965 (satisfies_address_constraint_p): Likewise.
12966 (process_alt_operands, process_address, curr_insn_transform): Use them.
12967
12968 2014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
12969
12970 * lra-int.h (lra_static_insn_data): Make operand_alternative a
12971 const pointer.
12972 (target_lra_int, default_target_lra_int, this_target_lra_int)
12973 (op_alt_data): Delete.
12974 * lra.h (lra_init): Delete.
12975 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
12976 (init_insn_code_data_once): Remove op_alt_data handling.
12977 (finish_insn_code_data_once): Likewise.
12978 (init_op_alt_data): Delete.
12979 (get_static_insn_data): Initialize operand_alternative to null.
12980 (free_insn_recog_data): Cast operand_alternative before freeing it.
12981 (setup_operand_alternative): Take the operand_alternative as
12982 parameter and assume it isn't already cached in the static
12983 insn data.
12984 (lra_set_insn_recog_data): Update accordingly.
12985 (lra_init): Delete.
12986 * ira.c (ira_init): Don't call lra_init.
12987 * target-globals.h (this_target_lra_int): Declare.
12988 (target_globals): Remove lra_int.
12989 (restore_target_globals): Update accordingly.
12990 * target-globals.c: Don't include lra-int.h.
12991 (default_target_globals, save_target_globals): Remove lra_int.
12992
12993 2014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
12994
12995 * recog.h (operand_alternative): Convert reg_class, reject,
12996 matched and matches into bitfields.
12997 (preprocess_constraints): New overload.
12998 (preprocess_insn_constraints): New function.
12999 (preprocess_constraints): Take the insn as parameter.
13000 (recog_op_alt): Change into a pointer.
13001 (target_recog): Add x_op_alt.
13002 * recog.c (asm_op_alt): New variable.
13003 (recog_op_alt): Change into a pointer.
13004 (preprocess_constraints): New overload, replacing the old function
13005 definition with one that doesn't use global state.
13006 (preprocess_insn_constraints): New function.
13007 (preprocess_constraints): Use them. Take the insn as parameter.
13008 Use asm_op_alt for asms.
13009 (recog_init): Free existing x_op_alt entries.
13010 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
13011 pointer const.
13012 (make_early_clobber_and_input_conflicts): Likewise.
13013 (process_bb_node_lives): Pass the insn to process_constraints.
13014 * reg-stack.c (check_asm_stack_operands): Likewise.
13015 (subst_asm_stack_regs): Likewise.
13016 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
13017 * regrename.c (build_def_use): Likewise.
13018 * sched-deps.c (sched_analyze_insn): Likewise.
13019 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
13020 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
13021 (note_invalid_constants): Likewise.
13022 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
13023 (ix86_legitimate_combined_insn): Make operand_alternative pointer
13024 const.
13025
13026 2014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
13027
13028 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
13029 * ira-lives.c (check_and_make_def_conflict): Check for disabled
13030 alternatives.
13031 (make_early_clobber_and_input_conflicts): Likewise.
13032 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
13033
13034 2014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
13035
13036 * recog.h (alternative_class): New function.
13037 (which_op_alt): Return a const recog_op_alt.
13038 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
13039 (subst_asm_stack_regs): Likewise.
13040 * config/arm/arm.c (note_invalid_constants): Likewise.
13041 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
13042 the operand_alternative; use alternative class instead.
13043 * sel-sched.c (get_reg_class): Likewise.
13044 * regrename.c (build_def_use): Likewise.
13045 (hide_operands, restore_operands, record_out_operands): Update type
13046 accordingly.
13047
13048 2014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
13049
13050 * recog.h (recog_op_alt): Convert to a flat array.
13051 (which_op_alt): New function.
13052 * recog.c (recog_op_alt): Convert to a flat array.
13053 (preprocess_constraints): Update accordingly, grouping all
13054 operands of the same alternative together, rather than the
13055 other way around.
13056 * ira-lives.c (check_and_make_def_conflict): Likewise.
13057 (make_early_clobber_and_input_conflicts): Likewise.
13058 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
13059 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
13060 (subst_asm_stack_regs): Likewise.
13061 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
13062 * regrename.c (hide_operands, record_out_operands): Likewise.
13063 (build_def_use): Likewise.
13064 * sel-sched.c (get_reg_class): Likewise.
13065 * config/arm/arm.c (note_invalid_constants): Likewise.
13066
13067 2014-06-04 Jason Merrill <jason@redhat.com>
13068
13069 PR c++/51253
13070 PR c++/61382
13071 * gimplify.c (gimplify_arg): Non-static.
13072 * gimplify.h: Declare it.
13073
13074 2014-06-04 Richard Biener <rguenther@suse.de>
13075
13076 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
13077 TREE_PUBLIC and DECL_EXTERNAL decls.
13078
13079 2014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
13080
13081 * regcprop.c (copyprop_hardreg_forward_1): Account for
13082 HARD_REGNO_CALL_PART_CLOBBERED.
13083
13084 2014-06-04 Richard Biener <rguenther@suse.de>
13085
13086 * configure.ac: Check whether the underlying type of int64_t
13087 is long or long long.
13088 * configure: Regenerate.
13089 * config.in: Likewise.
13090 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
13091 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
13092
13093 2014-06-04 Richard Biener <rguenther@suse.de>
13094
13095 PR tree-optimization/60098
13096 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
13097 we hit a kill.
13098 (dse_optimize_stmt): Simplify, now that we found a kill
13099 earlier.
13100
13101 2014-06-04 Richard Biener <rguenther@suse.de>
13102
13103 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
13104 of accesses with non-invariant address.
13105
13106 2014-06-04 Martin Liska <mliska@suse.cz>
13107
13108 * cgraph.h (cgraph_make_wrapper): New function introduced.
13109 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
13110 * ipa-inline.h (inline_analyze_function): The function is global.
13111 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
13112
13113 2014-06-04 Martin Liska <mliska@suse.cz>
13114
13115 * tree.h (private_lookup_attribute_starting): New function.
13116 (lookup_attribute_starting): Likewise.
13117 * tree.c (private_lookup_attribute_starting): Likewise.
13118
13119 2014-06-04 Martin Liska <mliska@suse.cz>
13120
13121 * cgraph.h (expand_thunk): New argument added.
13122 (address_taken_from_non_vtable_p): New global function.
13123 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
13124 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
13125 * cgraphunit.c (analyze_function): Likewise.
13126 (assemble_thunks_and_aliases): Argument added to call.
13127 (expand_thunk): New argument forces to produce GIMPLE thunk.
13128
13129 2014-06-04 Martin Liska <mliska@suse.cz>
13130
13131 * coverage.h (coverage_compute_cfg_checksum): Argument added.
13132 * coverage.c (coverage_compute_cfg_checksum): Likewise.
13133 * profile.c (branch_prob): Likewise.
13134
13135 2014-06-04 Martin Jambor <mjambor@suse.cz>
13136
13137 PR ipa/61340
13138 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
13139 handler for switch on an ipa_ref_use enum.
13140 * ipa-reference.c (analyze_function): Likewise.
13141
13142 2014-06-04 Kai Tietz <ktietz@redhat.com>
13143
13144 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
13145 from old call-instruction.
13146
13147 2014-06-04 Bin Cheng <bin.cheng@arm.com>
13148
13149 * config/aarch64/aarch64.c (aarch64_classify_address)
13150 (aarch64_legitimize_reload_address): Support full addressing modes
13151 for vector modes.
13152 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
13153 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
13154
13155 2014-06-03 Andrew Pinski <apinski@cavium.com>
13156
13157 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
13158 for OP0.
13159
13160 2014-06-03 Andrew Pinski <apinski@cavium.com>
13161
13162 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
13163 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
13164
13165 2014-06-03 Kai Tietz <ktietz@redhat.com>
13166
13167 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
13168 for 64-bit ms-abi.
13169
13170 2014-06-03 Dehao Chen <dehao@google.com>
13171
13172 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
13173 the same loop.
13174
13175 2014-06-03 Marek Polacek <polacek@redhat.com>
13176
13177 PR c/60439
13178 * doc/invoke.texi: Document -Wswitch-bool.
13179 * function.c (stack_protect_epilogue): Cast controlling expression of
13180 the switch to int.
13181 * gengtype.c (walk_type): Generate switch expression with its
13182 controlling expression cast to int.
13183
13184 2014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
13185
13186 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
13187 and attiny841.
13188 * config/avr/avr-tables.opt: Regenerate.
13189 * config/avr/t-multilib: Regenerate.
13190 * doc/avr-mmcu.texi: Regenerate.
13191
13192 2014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
13193 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
13194
13195 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
13196 (ata6617c, ata664251): Add new avr35 devices.
13197 (ata6612c): Add new avr4 device.
13198 (ata6613c, ata6614q): Add new avr5 devices.
13199 * config/avr/avr-tables.opt: Regenerate.
13200 * config/avr/t-multilib: Regenerate.
13201 * doc/avr-mmcu.texi: Regenerate.
13202
13203 2014-06-03 Alan Lawrence <alan.lawrence@arm.com>
13204
13205 * gcc/config/aarch64/aarch64-builtins.c
13206 (aarch64_types_binop_ssu_qualifiers): New static data.
13207 (TYPES_BINOP_SSU): Define.
13208 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
13209 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
13210 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
13211 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
13212 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
13213 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
13214 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
13215 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
13216 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
13217 suffix to builtin function name, remove cast.
13218 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
13219 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
13220 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
13221
13222 2014-06-03 Alan Lawrence <alan.lawrence@arm.com>
13223
13224 * gcc/config/aarch64/aarch64-builtins.c
13225 (aarch64_types_binop_uus_qualifiers,
13226 aarch64_types_shift_to_unsigned_qualifiers,
13227 aarch64_types_unsigned_shiftacc_qualifiers): Define.
13228 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
13229 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
13230 sqshlu_n, uqshl_n): Update qualifiers.
13231 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
13232 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
13233 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
13234 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
13235 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
13236 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
13237 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
13238 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
13239 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
13240 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
13241 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
13242 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
13243 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
13244 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
13245 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
13246 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
13247 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
13248 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
13249 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
13250 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
13251 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
13252 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
13253 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
13254 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
13255 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
13256 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
13257 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
13258
13259 2014-06-03 Teresa Johnson <tejohnson@google.com>
13260
13261 * tree-sra.c (modify_function): Record caller nodes after rebuild.
13262
13263 2014-06-02 Jason Merrill <jason@redhat.com>
13264
13265 PR c++/61020
13266 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
13267
13268 2014-06-03 Alan Lawrence <alan.lawrence@arm.com>
13269
13270 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
13271 location == 0.
13272
13273 2014-06-03 Alan Lawrence <alan.lawrence@arm.com>
13274
13275 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
13276 New pattern.
13277 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
13278 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
13279 * config/aarch64/iterators.md (REVERSE): New iterator.
13280 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
13281 (rev_op): New int_attribute.
13282 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
13283 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
13284 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
13285 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
13286 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
13287 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
13288 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
13289 Replace temporary __asm__ with __builtin_shuffle.
13290
13291 2014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
13292
13293 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
13294 mips64r5.
13295 * config/mips/mips-tables.opt: Regenerate.
13296 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
13297 to use mips_isa_rev rather than ISA_MIPS32R2.
13298 * config/mips/mips.h (ISA_MIPS32R3): New define.
13299 (ISA_MIPS32R5): New define.
13300 (ISA_MIPS64R3): New define.
13301 (ISA_MIPS64R5): New define.
13302 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
13303 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
13304 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
13305 and mips64r5.
13306 (MIPS_ISA_SYNCI_SPEC): Likewise.
13307 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
13308 (LINK_SPEC): Added mips32r3 and mips32r5.
13309 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
13310 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
13311 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
13312 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
13313 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
13314 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
13315 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
13316
13317 2014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
13318
13319 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
13320 options.
13321 * config/mips/mips.opt (mxpa): New option.
13322 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
13323 assembler.
13324
13325 2014-06-03 Martin Jambor <mjambor@suse.cz>
13326
13327 PR ipa/61160
13328 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
13329 thunks.
13330
13331 2014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
13332
13333 PR tree-optimization/61328
13334 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
13335 initialization from find_bswap_or_nop_1.
13336 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
13337 in source_expr2 before using the size value the function sets. Also
13338 make use of init_symbolic_number () in both the old place and
13339 find_bswap_or_nop_load () to avoid reading uninitialized memory when
13340 doing recursion in the GIMPLE_BINARY_RHS case.
13341
13342 2014-06-03 Richard Biener <rguenther@suse.de>
13343
13344 PR tree-optimization/61383
13345 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
13346 stmts can't trap.
13347
13348 2014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
13349
13350 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
13351 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
13352 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
13353 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
13354 in this file.
13355 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
13356 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
13357 * system.h: ...here and make it unconditional.
13358 * target.def (conditional_register_usage): Mention
13359 define_register_constraint instead of old-style constraint macros.
13360 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
13361 * doc/tm.texi: Regenerate.
13362 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
13363 protected by !USE_MD_CONSTRAINTS.
13364 * config/frv/frv.md: Remove quote from old version of documentation.
13365 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
13366 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
13367 CONST_DOUBLE_OK_FOR_LETTER.
13368 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
13369
13370 2014-06-02 Andrew Pinski <apinski@cavium.com>
13371
13372 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
13373 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
13374 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
13375 file whose name depends on -mabi= and -mbig-endian.
13376 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
13377 Handle LP64 better and handle ilp32 too.
13378 (MULTILIB_OPTIONS): Delete.
13379 (MULTILIB_DIRNAMES): Delete.
13380
13381 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
13382
13383 * expr.h: Remove prototypes of functions defined in builtins.c.
13384 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
13385 Remove prototypes of functions defined in builtins.c.
13386 * builtins.h: Update prototype list to include all exported functions.
13387 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
13388 no_c99_libc_has_function): Move to targhooks.c
13389 (build_string_literal, build_call_expr_loc_array,
13390 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
13391 to tree.c.
13392 (expand_builtin_object_size, fold_builtin_object_size): Make static.
13393 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
13394 no_c99_libc_has_function): Relocate from builtins.c.
13395 * tree.c: Include builtins.h.
13396 (build_call_expr_loc_array, build_call_expr_loc_vec,
13397 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
13398 from builtins.c.
13399 * fold-const.h (fold_fma): Move prototype to builtins.h.
13400 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
13401 * asan.c: Include builtins.h.
13402 * cfgexpand.c: Likewise.
13403 * convert.c: Likewise.
13404 * emit-rtl.c: Likewise.
13405 * except.c: Likewise.
13406 * expr.c: Likewise.
13407 * fold-const.c: Likewise.
13408 * gimple-fold.c: Likewise.
13409 * gimple-ssa-strength-reduction.c: Likewise.
13410 * gimplify.c: Likewise.
13411 * ipa-inline.c: Likewise.
13412 * ipa-prop.c: Likewise.
13413 * lto-streamer-out.c: Likewise.
13414 * stmt.c: Likewise.
13415 * tree-inline.c: Likewise.
13416 * tree-object-size.c: Likewise.
13417 * tree-sra.c: Likewise.
13418 * tree-ssa-ccp.c: Likewise.
13419 * tree-ssa-forwprop.c: Likewise.
13420 * tree-ssa-loop-ivcanon.c: Likewise.
13421 * tree-ssa-loop-ivopts.c: Likewise.
13422 * tree-ssa-math-opts.c: Likewise.
13423 * tree-ssa-reassoc.c: Likewise.
13424 * tree-ssa-threadedge.c: Likewise.
13425 * tree-streamer-in.c: Likewise.
13426 * tree-vect-data-refs.c: Likewise.
13427 * tree-vect-patterns.c: Likewise.
13428 * tree-vect-stmts.c: Likewise.
13429 * config/aarch64/aarch64.c: Likewise.
13430 * config/alpha/alpha.c: Likewise.
13431 * config/arc/arc.c: Likewise.
13432 * config/arm/arm.c: Likewise.
13433 * config/avr/avr.c: Likewise.
13434 * config/bfin/bfin.c: Likewise.
13435 * config/c6x/c6x.c: Likewise.
13436 * config/cr16/cr16.c: Likewise.
13437 * config/cris/cris.c: Likewise.
13438 * config/epiphany/epiphany.c: Likewise.
13439 * config/fr30/fr30.c: Likewise.
13440 * config/frv/frv.c: Likewise.
13441 * config/h8300/h8300.c: Likewise.
13442 * config/i386/i386.c: Likewise.
13443 * config/i386/winnt.c: Likewise.
13444 * config/ia64/ia64.c: Likewise.
13445 * config/iq2000/iq2000.c: Likewise.
13446 * config/lm32/lm32.c: Likewise.
13447 * config/m32c/m32c.c: Likewise.
13448 * config/m32r/m32r.c: Likewise.
13449 * config/m68k/m68k.c: Likewise.
13450 * config/mcore/mcore.c: Likewise.
13451 * config/mep/mep.c: Likewise.
13452 * config/microblaze/microblaze.c: Likewise.
13453 * config/mips/mips.c: Likewise.
13454 * config/mmix/mmix.c: Likewise.
13455 * config/mn10300/mn10300.c: Likewise.
13456 * config/moxie/moxie.c: Likewise.
13457 * config/msp430/msp430.c: Likewise.
13458 * config/nds32/nds32.c: Likewise.
13459 * config/pa/pa.c: Likewise.
13460 * config/pdp11/pdp11.c: Likewise.
13461 * config/picochip/picochip.c: Likewise.
13462 * config/rl78/rl78.c: Likewise.
13463 * config/rs6000/rs6000.c: Likewise.
13464 * config/rx/rx.c: Likewise.
13465 * config/s390/s390.c: Likewise.
13466 * config/score/score.c: Likewise.
13467 * config/sh/sh.c: Likewise.
13468 * config/sparc/sparc.c: Likewise.
13469 * config/spu/spu.c: Likewise.
13470 * config/stormy16/stormy16.c: Likewise.
13471 * config/tilegx/tilegx.c: Likewise.
13472 * config/tilepro/tilepro.c: Likewise.
13473 * config/v850/v850.c: Likewise.
13474 * config/vax/vax.c: Likewise.
13475 * config/xtensa/xtensa.c: Likewise.
13476
13477 2014-06-02 Jeff Law <law@redhat.com>
13478
13479 PR rtl-optimization/61094
13480 * ree.c (combine_reaching_defs): Do not reextend an insn if it
13481 was marked as do_no_reextend. If a copy is needed to eliminate
13482 an extension, then mark it as do_not_reextend.
13483
13484 2014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
13485
13486 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
13487
13488 2014-06-02 Richard Henderson <rth@redhat.com>
13489
13490 PR target/61336
13491 * config/alpha/alpha.c (print_operand_address): Allow symbolic
13492 addresses inside asms. Use output_operand_lossage instead of
13493 gcc_unreachable.
13494
13495 2014-06-02 Uros Bizjak <ubizjak@gmail.com>
13496
13497 PR target/61239
13498 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
13499 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
13500
13501 2014-06-02 Tom de Vries <tom@codesourcery.com>
13502
13503 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
13504 case that x has VOIDmode.
13505
13506 2014-06-02 Bernd Schmidt <bernds@codesourcery.com>
13507
13508 * varasm.c (copy_constant): Delete function.
13509 (build_constant_desc): Don't call it.
13510
13511 2014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13512
13513 PR target/61154
13514 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
13515 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
13516 with immediate_operand.
13517
13518 2014-06-02 Andreas Schwab <schwab@suse.de>
13519
13520 * config/ia64/ia64.c
13521 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
13522 pending_data_specs first.
13523
13524 2014-06-02 Richard Biener <rguenther@suse.de>
13525
13526 PR tree-optimization/61378
13527 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
13528 valueized_anything.
13529
13530 2014-06-01 Uros Bizjak <ubizjak@gmail.com>
13531
13532 * config/i386/constraints.md (Bw): Rename from 'w'.
13533 (Bz): Rename from 'z'.
13534 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
13535
13536 2014-06-01 Kai Tietz <ktietz@redhat.com>
13537
13538 PR target/61377
13539 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
13540 * config/i386/i386.md (sibcall_insn_operand): Use Bs
13541 instead of m constraint.
13542
13543 2014-05-31 Andreas Schwab <schwab@linux-m68k.org>
13544
13545 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
13546 a separate alternative where the scratch operand 2 is marked as
13547 early clobber.
13548
13549 2014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
13550
13551 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
13552 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
13553 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
13554 and __builtins_arm_get_fpscr.
13555 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
13556 __builtins_arm_get_fpscr.
13557 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
13558 __builtins_arm_ldfpscr.
13559 (arm_atomic_assign_expand_fenv): New function.
13560 * config/arm/vfp.md (set_fpscr): New pattern.
13561 (get_fpscr) : Likewise.
13562 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
13563 VUNSPEC_SET_FPSCR.
13564 * doc/extend.texi (AARCH64 Built-in Functions) : Document
13565 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
13566
13567 2014-05-30 Jakub Jelinek <jakub@redhat.com>
13568
13569 * asan.c (report_error_func): Add SLOW_P argument, use
13570 BUILT_IN_ASAN_*_N if set.
13571 (build_check_stmt): Likewise.
13572 (instrument_derefs): If T has insufficient alignment,
13573 force same handling as for odd sizes.
13574
13575 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
13576 BUILT_IN_ASAN_REPORT_STORE_N): New.
13577 * asan.c (struct asan_mem_ref): Change access_size type to
13578 HOST_WIDE_INT.
13579 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
13580 update_mem_ref_hash_table): Likewise.
13581 (asan_mem_ref_hasher::hash): Hash in a HWI.
13582 (report_error_func): Change size_in_bytes argument to HWI.
13583 Use *_N builtins if size_in_bytes is larger than 16 or not power of
13584 two.
13585 (build_shadow_mem_access): New function.
13586 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
13587 Handle size_in_bytes not power of two or larger than 16.
13588 (instrument_derefs): Don't give up if size_in_bytes is not
13589 power of two or is larger than 16.
13590
13591 2014-05-30 Kai Tietz <ktietz@redhat.com>
13592
13593 PR target/60104
13594 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
13595 for sibling-tail-calls.
13596 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
13597 to its use.
13598 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
13599 (sibcall_insn_operand): Add check for sibcall_memory_operand.
13600
13601 2014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
13602
13603 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
13604 * config/avr/avr-tables.opt: Regenerate.
13605 * config/avr/t-multilib: Regenerate.
13606 * doc/avr-mmcu.texi: Regenerate.
13607
13608 2014-05-30 Ian Lance Taylor <iant@google.com>
13609
13610 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
13611 target("sse").
13612
13613 2014-05-30 Tom de Vries <tom@codesourcery.com>
13614
13615 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
13616 Redefine as true.
13617
13618 2014-05-30 Tom de Vries <tom@codesourcery.com>
13619
13620 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
13621 * lra.c (initialize_lra_reg_info_element): Add init of
13622 actual_call_used_reg_set field.
13623 (lra): Call lra_create_live_ranges before lra_inheritance for
13624 -fuse-caller-save.
13625 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
13626 -fuse-caller-save.
13627 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
13628 instead of call_used_reg_set for -fuse-caller-save.
13629 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
13630
13631 2014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13632
13633 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
13634 to mov_imm.
13635 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
13636
13637 2014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
13638
13639 * ira.c (ira_get_dup_out_num): Check for output operands at
13640 the start of the loop. Handle cases where an included alternative
13641 follows an excluded one.
13642
13643 2014-05-29 Mike Stump <mikestump@comcast.net>
13644
13645 PR debug/61352
13646 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
13647 post ld passes when lto is used.
13648
13649 2014-05-29 Vladimir Makarov <vmakarov@redhat.com>
13650
13651 PR rtl-optimization/61325
13652 * lra-constraints.c (process_address): Rename to process_address_1.
13653 (process_address): New function.
13654
13655 2014-05-29 Alan Lawrence <alan.lawrence@arm.com>
13656
13657 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
13658 TYPES_BINOPV): New static data.
13659 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
13660 New builtin.
13661 * config/aarch64/aarch64-simd.md (aarch64_ext,
13662 aarch64_im_lane_boundsi): New patterns.
13663 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
13664 patterns for EXT.
13665 (aarch64_evpc_ext): New function.
13666
13667 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
13668
13669 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
13670 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
13671 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
13672 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
13673 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
13674
13675 2014-05-29 Tom de Vries <tom@codesourcery.com>
13676
13677 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
13678
13679 2014-05-29 Richard Earnshaw <rearnsha@arm.com>
13680 Richard Sandiford <rdsandiford@googlemail.com>
13681
13682 * arm/iterators.md (shiftable_ops): New code iterator.
13683 (t2_binop0, arith_shift_insn): New code attributes.
13684 * arm/predicates.md (shift_nomul_operator): New predicate.
13685 * arm/arm.md (insn_enabled): Delete.
13686 (enabled): Remove insn_enabled test.
13687 (*arith_shiftsi): Delete. Replace with ...
13688 (*<arith_shift_insn>_multsi): ... new pattern.
13689 (*<arith_shift_insn>_shiftsi): ... new pattern.
13690 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
13691
13692 2014-05-29 Radovan Obradovic <robradovic@mips.com>
13693 Tom de Vries <tom@codesourcery.com>
13694
13695 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
13696 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
13697 clobber.
13698 (mips_split_call): Use POST_CALL_TMP_REG.
13699 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
13700
13701 2014-05-29 Tom de Vries <tom@codesourcery.com>
13702
13703 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
13704 with #ifdef STACK_REGS.
13705
13706 2014-05-28 Jan Hubicka <hubicka@ucw.cz>
13707
13708 * varasm.c (get_variable_section): Walk aliases.
13709 (place_block_symbol): Walk aliases.
13710
13711 2014-05-28 Tom de Vries <tom@codesourcery.com>
13712
13713 Revert:
13714 2014-05-28 Tom de Vries <tom@codesourcery.com>
13715
13716 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
13717 * lra.c (initialize_lra_reg_info_element): Add init of
13718 actual_call_used_reg_set field.
13719 (lra): Call lra_create_live_ranges before lra_inheritance for
13720 -fuse-caller-save.
13721 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
13722 -fuse-caller-save.
13723 * lra-constraints.c (need_for_call_save_p): Use
13724 actual_call_used_reg_set instead of call_used_reg_set for
13725 -fuse-caller-save.
13726 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
13727
13728 2014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
13729
13730 * doc/md.texi: Document that the % constraint character must
13731 be at the beginning of the string.
13732 * genoutput.c (validate_insn_alternatives): Check that '=',
13733 '+' and '%' only appear at the beginning of a constraint.
13734 * ira.c (commutative_constraint_p): Delete.
13735 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
13736 at the start of the string.
13737 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
13738 duplicate '='s.
13739 * config/arm/neon.md (bicdi3_neon): Likewise.
13740 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
13741 (slt_si, sltu_si): Likewise.
13742 * config/vax/vax.md (sbcdi3): Likewise.
13743 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
13744 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
13745 (mul64): Move '%' to beginning of constraint.
13746 * config/arm/arm.md (*xordi3_insn): Likewise.
13747 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
13748 (xorsi3): Likewise.
13749
13750 2014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
13751
13752 * doc/md.texi: Document the restrictions on the "enabled" attribute.
13753
13754 2014-05-28 Jason Merrill <jason@redhat.com>
13755
13756 PR c++/47202
13757 * cgraph.h (symtab_node::get_comdat_group_id): New.
13758 * cgraphunit.c (analyze_functions): Call it.
13759 * symtab.c (dump_symtab_node): Likewise.
13760 * tree.c (decl_comdat_group_id): New.
13761 * tree.h: Declare it.
13762 * lto-streamer-out.c (write_symbol): Use it.
13763 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
13764
13765 2014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13766
13767 PR bootstrap/PR61146
13768 * wide-int.cc: Do not include longlong.h when compiling with clang.
13769
13770 2014-05-28 Richard Biener <rguenther@suse.de>
13771
13772 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
13773 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
13774 (vrp_visit_assignment_or_call): Print less vertical space.
13775 (vrp_visit_stmt): Likewise.
13776 (vrp_visit_phi_node): Likewise. For a PHI argument with
13777 VR_VARYING range consider recording it as copy.
13778
13779 2014-05-28 Richard Biener <rguenther@suse.de>
13780
13781 Revert
13782 2014-05-28 Richard Biener <rguenther@suse.de>
13783
13784 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
13785
13786 2014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
13787
13788 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
13789 sufficiently aligned and an offset is used at the same time.
13790 (expand_expr_real_1): Likewise.
13791
13792 2014-05-28 Richard Biener <rguenther@suse.de>
13793
13794 PR middle-end/61045
13795 * fold-const.c (fold_comparison): When folding
13796 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
13797 the sign of the remaining constant operand stays the same.
13798
13799 2014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
13800
13801 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
13802 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
13803 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
13804 to the assembler.
13805 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
13806 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
13807 (m32bit-doubles) Likewise.
13808 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
13809 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
13810 option for RL78.
13811
13812 2014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13813
13814 * configure.ac ($gcc_cv_ld_clearcap): New test.
13815 * configure: Regenerate.
13816 * config.in: Regenerate.
13817 * config/sol2.opt (mclear-hwcap): New option.
13818 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
13819 * config/sol2-clearcap.map: Moved here from
13820 testsuite/gcc.target/i386/clearcap.map.
13821 * config/sol2-clearcapv2.map: Move here from
13822 gcc.target/i386/clearcapv2.map.
13823 * config/t-sol2 (install): Depend on install-clearcap-map.
13824 (install-clearcap-map): New target.
13825 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
13826 -mclear-hwcap.
13827
13828 2014-05-28 Richard Biener <rguenther@suse.de>
13829
13830 * hwint.h (*_HALF_WIDE_INT*): Move to ...
13831 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
13832 ... here and remove the rest.
13833 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
13834
13835 2014-05-28 Richard Biener <rguenther@suse.de>
13836
13837 PR tree-optimization/61335
13838 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
13839 new range fails, drop to varying.
13840
13841 2014-05-28 Olivier Hainque <hainque@adacore.com>
13842
13843 * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
13844 (CPP_SPEC): Add entry for -mcpu=8548.
13845 * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
13846 * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
13847
13848 2014-05-28 Tom de Vries <tom@codesourcery.com>
13849
13850 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
13851 * lra.c (initialize_lra_reg_info_element): Add init of
13852 actual_call_used_reg_set field.
13853 (lra): Call lra_create_live_ranges before lra_inheritance for
13854 -fuse-caller-save.
13855 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
13856 -fuse-caller-save.
13857 * lra-constraints.c (need_for_call_save_p): Use
13858 actual_call_used_reg_set instead of call_used_reg_set for
13859 -fuse-caller-save.
13860 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
13861
13862 2014-05-28 Radovan Obradovic <robradovic@mips.com>
13863 Tom de Vries <tom@codesourcery.com>
13864
13865 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
13866 to gccoptlist.
13867 (@item -fuse-caller-save): New item.
13868
13869 2014-05-28 Radovan Obradovic <robradovic@mips.com>
13870 Tom de Vries <tom@codesourcery.com>
13871
13872 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
13873 OPT_fuse_caller_save.
13874
13875 2014-05-28 Radovan Obradovic <robradovic@mips.com>
13876 Tom de Vries <tom@codesourcery.com>
13877
13878 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
13879 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
13880 get_call_reg_set_usage.
13881 * resource.c (mark_set_resources, mark_target_live_regs): Use
13882 get_call_reg_set_usage.
13883 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
13884 field.
13885 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
13886 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
13887 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
13888 * ira-build.c (ira_create_allocno): Init
13889 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
13890 (create_cap_allocno, propagate_allocno_info)
13891 (propagate_some_info_from_allocno)
13892 (copy_info_to_removed_store_destinations): Handle
13893 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
13894 * ira-costs.c (ira_tune_allocno_costs): Use
13895 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
13896
13897 2014-05-28 Radovan Obradovic <robradovic@mips.com>
13898 Tom de Vries <tom@codesourcery.com>
13899
13900 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
13901 and function_used_regs_valid fields.
13902 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
13903 find_all_hard_reg_sets.
13904 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
13905 (get_call_reg_set_usage): New function.
13906 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
13907 * regs.h (get_call_reg_set_usage): Declare.
13908
13909 2014-05-28 Georg-Johann Lay <avr@gjlay.de>
13910
13911 PR libgcc/61152
13912 * config/dbx.h (License): Add Runtime Library Exception.
13913 * config/newlib-stdint.h (License): Same.
13914 * config/rtems.h (License): Same
13915 * config/initfini-array.h (License): Same
13916 * config/v850/v850.h (License): Same.
13917 * config/v850/v850-opts.h (License): Same
13918 * config/v850/rtems.h (License): Same.
13919
13920 2014-05-28 Georg-Johann Lay <avr@gjlay.de>
13921
13922 PR target/61044
13923 * doc/extend.texi (Local Labels): Note that label differences are
13924 not supported for AVR.
13925
13926 2014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
13927 Olivier Hainque <hainque@adacore.com>
13928
13929 * rtl.h (set_for_reg_notes): Declare.
13930 * emit-rtl.c (set_for_reg_notes): New function.
13931 (set_unique_reg_note): Use it.
13932 * optabs.c (add_equal_note): Likewise
13933
13934 2014-05-27 Andrew Pinski <apinski@cavium.com>
13935
13936 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
13937 Use <w> for the register in assembly template.
13938 (stack_protect_test): Use the mode of operands[0] for the result.
13939 (stack_protect_test_<mode>): Use <w> for the register
13940 in assembly template.
13941
13942 2014-05-27 DJ Delorie <dj@redhat.com>
13943
13944 * config/rx/rx.c (add_vector_labels): New.
13945 (rx_output_function_prologue): Call it.
13946 (rx_handle_func_attribute): Don't require empty arguments.
13947 (rx_handle_vector_attribute): New.
13948 (rx_attribute_table): Add "vector" attribute.
13949 * doc/extend.texi (interrupt, vector): Document new/changed
13950 RX-specific attributes.
13951
13952 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
13953
13954 2014-05-27 Eric Botcazou <ebotcazou@adacore.com>
13955
13956 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
13957 predicate to detect a negative quotient.
13958
13959 2014-05-27 Eric Botcazou <ebotcazou@adacore.com>
13960
13961 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
13962 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
13963 Add X - Y CMP 0 to X CMP Y transformation.
13964 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
13965
13966 2014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
13967
13968 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
13969 before printing.
13970
13971 2014-05-27 Steve Ellcey <sellcey@mips.com>
13972
13973 * config/mips/mips.c: Add include of cgraph.h.
13974
13975 2014-05-27 Richard Biener <rguenther@suse.de>
13976
13977 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
13978
13979 2014-05-27 Georg-Johann Lay <avr@gjlay.de>
13980
13981 PR libgcc/61152
13982 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
13983 * config/arm/arm-cores.def (License): Same.
13984 * config/arm/arm-opts.h (License): Same.
13985 * config/arm/aout.h (License): Same.
13986 * config/arm/bpabi.h (License): Same.
13987 * config/arm/elf.h (License): Same.
13988 * config/arm/linux-elf.h (License): Same.
13989 * config/arm/linux-gas.h (License): Same.
13990 * config/arm/netbsd-elf.h (License): Same.
13991 * config/arm/uclinux-eabi.h (License): Same.
13992 * config/arm/uclinux-elf.h (License): Same.
13993 * config/arm/vxworks.h (License): Same.
13994
13995 2014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13996
13997 * config/arm/neon.md (neon_bswap<mode>): New pattern.
13998 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
13999 (arm_init_neon_builtins): Handle NEON_BSWAP.
14000 Define required type nodes.
14001 (arm_expand_neon_builtin): Handle NEON_BSWAP.
14002 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
14003 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
14004 * config/arm/iterators.md (VDQHSD): New mode iterator.
14005
14006 2014-05-27 Richard Biener <rguenther@suse.de>
14007
14008 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
14009 Try using literal operands when comparing value-ranges failed.
14010
14011 2014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
14012
14013 * ira.c (commutative_operand): Adjust for change to recog_data.
14014 [Missing from previous commit.]
14015
14016 2014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
14017
14018 * system.h (TEST_BIT): New macro.
14019 * recog.h (alternative_mask): New type.
14020 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
14021 (recog_data_d): Replace alternative_enabled_p array with
14022 enabled_alternatives.
14023 (target_recog): New structure.
14024 (default_target_recog, this_target_recog): Declare.
14025 (get_enabled_alternatives, recog_init): Likewise.
14026 * recog.c (default_target_recog, this_target_recog): New variables.
14027 (get_enabled_alternatives): New function.
14028 (extract_insn): Use it.
14029 (recog_init): New function.
14030 (preprocess_constraints, constrain_operands): Adjust for change to
14031 recog_data.
14032 * postreload.c (reload_cse_simplify_operands): Likewise.
14033 * reload.c (find_reloads): Likewise.
14034 * ira-costs.c (record_reg_classes): Likewise.
14035 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
14036 all alternatives after a disabled one would be skipped.
14037 (ira_implicitly_set_insn_hard_regs): Likewise.
14038 * ira.c (ira_setup_alts): Adjust for change to recog_data.
14039 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
14040 with enabled_alternatives.
14041 * lra.c (free_insn_recog_data): Update accordingly.
14042 (lra_update_insn_recog_data): Likewise.
14043 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
14044 * lra-constraints.c (process_alt_operands): Likewise. Handle
14045 only_alternative as part of the enabled mask.
14046 * target-globals.h (this_target_recog): Declare.
14047 (target_globals): Add a recog field.
14048 (restore_target_globals): Restore this_target_recog.
14049 * target-globals.c: Include recog.h.
14050 (default_target_globals): Initialize recog field.
14051 (save_target_globals): Likewise.
14052 * reginfo.c (reinit_regs): Call recog_init.
14053 * toplev.c (backend_init_target): Likewise.
14054
14055 2014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
14056
14057 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
14058 rather than any named insn's code.
14059
14060 2014-05-27 Georg-Johann Lay <avr@gjlay.de>
14061
14062 PR libgcc/61152
14063 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
14064 * config/arm/arm-cores.def (License): Same.
14065
14066 2014-05-26 Jan Hubicka <hubicka@ucw.cz>
14067
14068 * tree.h (decl_comdat_group): Declare.
14069 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
14070 * tree.c (decl_comdat_group): Here.
14071
14072 2014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
14073
14074 PR rtl-optimization/61222
14075 * combine.c (simplify_shift_const_1): When moving a PLUS outside
14076 the shift, truncate the PLUS operand to the result mode.
14077
14078 2014-05-26 Uros Bizjak <ubizjak@gmail.com>
14079
14080 PR target/61271
14081 * config/i386/i386.c (ix86_rtx_costs)
14082 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
14083 Fix condition.
14084
14085 2014-05-26 Martin Jambor <mjambor@suse.cz>
14086
14087 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
14088 subreg uses.
14089
14090 2014-05-26 Richard Biener <rguenther@suse.de>
14091
14092 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
14093 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
14094 Provide specializations.
14095 (wi::int_traits <HOST_WIDE_INT>,
14096 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
14097
14098 2014-05-26 Alan Modra <amodra@gmail.com>
14099
14100 PR target/61098
14101 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
14102 params and return a bool. Remove dead code. Update comment.
14103 Assert we have a const_int source. Remove bogus code from
14104 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
14105 handling of constants > 2G and reg_equal note, from..
14106 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
14107 return value. Update comment. If we can, use a new pseudo
14108 for intermediate calculations.
14109 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
14110 prototype.
14111 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
14112 call to rs6000_emit_set_const in splitter.
14113 (movdi_internal64+2, +3): Likewise.
14114
14115 2014-05-26 Richard Biener <rguenther@suse.de>
14116
14117 * system.h: Define __STDC_FORMAT_MACROS before
14118 including inttypes.h.
14119 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
14120 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
14121 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
14122 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
14123 HOST_WIDEST_INT_C): Remove.
14124 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
14125 if C99 inttypes.h is not available.
14126 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
14127 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
14128 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
14129 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
14130 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
14131 (struct output_info): Likewise.
14132 (print_statistics): Adjust.
14133 (dump_bitmap_statistics): Likewise.
14134 * bt-load.c (migrate_btr_defs): Print with PRId64.
14135 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
14136 (MAX_SAFE_MULTIPLIER): Adjust.
14137 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
14138 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
14139 dump_cgraph_node): Likewise.
14140 * final.c (dump_basic_block_info): Likewise.
14141 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
14142 * gcov.c (format_gcov): Likewise.
14143 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
14144 for calculation.
14145 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
14146 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
14147 (inline_small_functions, dump_overall_stats, dump_inline_stats):
14148 Use PRId64 for dumping.
14149 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
14150 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
14151 (add_allocno_hard_regs): Adjust.
14152 * loop-doloop.c (doloop_modify): Print using PRId64.
14153 * loop-iv.c (inverse): Compute in uint64_t.
14154 (determine_max_iter, iv_number_of_iterations): Likewise.
14155 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
14156 Print using PRId64.
14157 * lto-streamer-out.c (write_symbol): Use uint64_t.
14158 * mcf.c (CAP_INFINITY): Use int64_t maximum.
14159 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
14160 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
14161 * modulo-sched.c (const_iteration_count): Use int64_t.
14162 (sms_schedule): Dump using PRId64.
14163 * predict.c (dump_prediction): Likewise.
14164 * pretty-print.h (pp_widest_integer): Remove.
14165 * profile.c (get_working_sets, is_edge_inconsistent,
14166 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
14167 * tree-pretty-print.c (pp_double_int): Remove case handling
14168 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
14169 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
14170 and adjust users.
14171 (pass_optimize_bswap::execute): Remove restriction on hosts.
14172 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
14173 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
14174 * tree.c (widest_int_cst_value): Remove.
14175 * tree.h (widest_int_cst_value): Likewise.
14176 * value-prof.c (dump_histogram_value): Print using PRId64.
14177 * gengtype.c (main): Also inject int64_t.
14178 * ggc-page.c (struct max_alignment): Use int64_t.
14179 * alloc-pool.c (struct allocation_object_def): Likewise.
14180 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
14181 for computation.
14182 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
14183 * doc/tm.texi: Regenerated.
14184 * gengtype-lex.l (IWORD): Handle [u]int64_t.
14185 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
14186 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
14187 mmix_output_register_setting): Use [u]int64_t in prototypes.
14188 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
14189 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
14190 mmix_output_octa, mmix_output_shifted_value): Adjust.
14191 (mmix_intval): Adjust. Remove unreachable case.
14192 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
14193
14194 2014-05-26 Richard Biener <rguenther@suse.de>
14195
14196 * configure.ac: Drop __int64 type check. Insist that we
14197 found uint64_t and int64_t.
14198 * hwint.h (HOST_BITS_PER___INT64): Remove.
14199 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
14200 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
14201 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
14202 (HOST_WIDEST_FAST_INT): Remove __int64 case.
14203 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
14204 for dst_q_src_df_rms_cdt.
14205 * configure: Regenerate.
14206 * config.in: Likewise.
14207
14208 2014-05-26 Michael Tautschnig <mt@debian.org>
14209
14210 PR target/61249
14211 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
14212 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
14213
14214 2014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
14215
14216 PR rtl-optimization/61278
14217 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
14218
14219 2014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
14220
14221 PR rtl-optimization/61220
14222 Part of PR rtl-optimization/61225
14223 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
14224 insn; skip split_edge for a block with only one successor.
14225
14226 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14227
14228 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
14229 for variables.
14230
14231 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14232
14233 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
14234 (update_vtable_references): New function.
14235 (function_and_variable_visibility): Rewrite also vtable initializers.
14236 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
14237
14238 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14239
14240 * ggc.h (ggc_grow): New function.
14241 * ggc-none.c (ggc_grow): New function.
14242 * ggc-page.c (ggc_grow): Likewise.
14243
14244 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14245
14246 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
14247 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
14248 comdat_can_be_unshared_p, cgraph_externally_visible_p,
14249 varpool_externally_visible_p, can_replace_by_local_alias,
14250 update_visibility_by_resolution_info, function_and_variable_visibility,
14251 pass_data_ipa_function_and_variable_visibility,
14252 make_pass_ipa_function_and_variable_visibility,
14253 whole_program_function_and_variable_visibility,
14254 pass_data_ipa_whole_program_visibility,
14255 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
14256 * cgraph.h (cgraph_local_node_p): Declare.
14257 * ipa-visibility.c: New file.
14258 * Makefile.in (OBJS): Add ipa-visiblity.o
14259
14260 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14261
14262 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
14263 that var decl is available.
14264
14265 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14266
14267 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
14268 symtab_node pointer.
14269 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
14270 (find_decls_types_r): Do not walk COMDAT_GROUP.
14271 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
14272 * varasm.c (make_decl_one_only): Use set_comdat_group;
14273 create node if needed.
14274 * ipa-inline-transform.c (save_inline_function_body): Update
14275 way we decl->symtab mapping.
14276 * symtab.c (symtab_hash, hash_node, eq_node
14277 symtab_insert_node_to_hashtable): Remove.
14278 (symtab_register_node): Update.
14279 (symtab_unregister_node): Update.
14280 (symtab_get_node): Reimplement as inline function.
14281 (symtab_add_to_same_comdat_group): Update.
14282 (symtab_dissolve_same_comdat_group_list): Update.
14283 (dump_symtab_base): Update.
14284 (verify_symtab_base): Update.
14285 (symtab_make_decl_local): Update.
14286 (fixup_same_cpp_alias_visibility): Update.
14287 (symtab_nonoverwritable_alias): Update.
14288 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
14289 * ipa.c (update_visibility_by_resolution_info): UPdate.
14290 * bb-reorder.c: Include cgraph.h
14291 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
14292 with comdat groups.
14293 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
14294 * cgraph.c (cgraph_get_create_node): Update.
14295 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
14296 and comdat_group_.
14297 (symtab_get_node): Make inline.
14298 (symtab_insert_node_to_hashtable): Remove.
14299 (symtab_can_be_discarded): Update.
14300 (decl_comdat_group): New function.
14301 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
14302 Update.
14303 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
14304 comdat group name.
14305 (read_comdat_group): New function.
14306 (input_node, input_varpool_node): Use it.
14307 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
14308 comdat groups.
14309 * mips.c (mips_start_unique_function): Likewise.
14310 (ix86_code_end): Likewise.
14311 (rs6000_code_end): Likweise.
14312 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
14313
14314 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14315
14316 * gengtype-state.c (fatal_reading_state): Bring offline.
14317 * optabs.c (widening_optab_handler): Bring offline.
14318 * optabs.h (widening_optab_handler): Likewise.
14319 * final.c (get_attr_length_1): Likewise.
14320
14321 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
14322
14323 * sched-int.h (sd_iterator_cond): Manually tail recurse.
14324
14325 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14326
14327 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
14328 (ppc440-compare): Include shift with dot.
14329 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
14330 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
14331 without dot.
14332 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
14333 without dot.
14334 (e6500_sfx2): Include it.
14335 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
14336 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
14337 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
14338 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
14339 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
14340 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
14341 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
14342 *lshiftrt_internal1le, *lshiftrt_internal1be,
14343 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
14344 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
14345 *rotldi3_internal10le, *rotldi3_internal10be,
14346 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
14347 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
14348 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
14349 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
14350 define_insns): Use type "shift" in the appropriate alternatives.
14351
14352 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14353
14354 * config/rs6000/rs6000.md (type): Add "logical". Delete
14355 "fast_compare".
14356 (dot): Adjust comment.
14357 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
14358 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
14359 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
14360 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
14361 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
14362 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
14363 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
14364 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
14365
14366 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
14367 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
14368 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
14369 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
14370 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
14371 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
14372 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
14373 * config/rs6000/8540.md (ppc8540_su): Adjust.
14374 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
14375 cell-cmp-microcoded): Adjust.
14376 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
14377 * config/rs6000/e500mc.md (e500mc_su): Adjust.
14378 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
14379 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
14380 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
14381 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
14382 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
14383 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
14384 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
14385 Adjust.
14386 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
14387 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
14388 Adjust. Adjust comment.
14389 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
14390 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
14391
14392 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14393
14394 * config/rs6000/rs6000.md (type): Add "add".
14395 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
14396 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
14397 define_insns): Use it.
14398 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
14399
14400 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
14401 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
14402 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
14403 * config/rs6000/601.md (ppc601-integer): Adjust.
14404 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
14405 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
14406 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
14407 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
14408 * config/rs6000/8540.md (ppc8540_su): Adjust.
14409 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
14410 cell-cmp-microcoded): Adjust.
14411 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
14412 * config/rs6000/e500mc.md (e500mc_su): Adjust.
14413 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
14414 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
14415 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
14416 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
14417 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
14418 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
14419 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
14420 Adjust.
14421 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
14422 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
14423 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
14424 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
14425
14426 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14427
14428 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
14429 "delayed_compare", "var_delayed_compare".
14430 (var_shift): New attribute.
14431 (cell_micro): Adjust.
14432 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
14433 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
14434 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
14435 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
14436 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
14437 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
14438 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
14439 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
14440 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
14441 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
14442 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
14443 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
14444 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
14445 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
14446 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
14447 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
14448 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
14449 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
14450 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
14451 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
14452 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
14453 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
14454 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
14455 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
14456 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
14457
14458 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
14459 * config/rs6000/440.md (ppc440-integer): Adjust.
14460 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
14461 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
14462 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
14463 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
14464 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
14465 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
14466 * config/rs6000/8540.md (ppc8540_su): Adjust.
14467 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
14468 cell-cmp-microcoded): Adjust.
14469 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
14470 * config/rs6000/e500mc.md (e500mc_su): Adjust.
14471 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
14472 e500mc64_delayed): Adjust.
14473 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
14474 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
14475 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
14476 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
14477 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
14478 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
14479 power6-delayed-compare, power6-var-delayed-compare): Adjust.
14480 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
14481 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
14482 Adjust comment.
14483 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
14484 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
14485
14486 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14487
14488 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
14489 (bits): New mode_attr.
14490 (idiv_ldiv): Delete mode_attr.
14491 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
14492 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
14493 rs6000_adjust_priority, is_nonpipeline_insn,
14494 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
14495
14496 * config/rs6000/40x.md (ppc403-idiv): Adjust.
14497 * config/rs6000/440.md (ppc440-idiv): Adjust.
14498 * config/rs6000/476.md (ppc476-idiv): Adjust.
14499 * config/rs6000/601.md (ppc601-idiv): Adjust.
14500 * config/rs6000/603.md (ppc603-idiv): Adjust.
14501 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
14502 ppc620-ldiv): Adjust.
14503 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
14504 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
14505 * config/rs6000/8540.md (ppc8540_divide): Adjust.
14506 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
14507 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
14508 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
14509 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
14510 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
14511 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
14512 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
14513 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
14514 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
14515 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
14516 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
14517 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
14518 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
14519 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
14520 * config/rs6000/titan.md (titan_fxu_div): Adjust.
14521
14522 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14523
14524 * config/rs6000/rs6000.md (type): Delete "insert_word",
14525 "insert_dword". Add "insert".
14526 (size): Update comment.
14527 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
14528 insn_must_be_first_in_group): Adjust.
14529 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
14530 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
14531 *insvsi_internal6, insvdi_internal): Adjust.
14532
14533 * config/rs6000/40x.md (ppc403-integer): Adjust.
14534 * config/rs6000/440.md (ppc440-integer): Adjust.
14535 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
14536 * config/rs6000/601.md (ppc601-integer): Adjust.
14537 * config/rs6000/603.md (ppc603-integer): Adjust.
14538 * config/rs6000/6xx.md (ppc604-integer): Adjust.
14539 * config/rs6000/7450.md (ppc7450-integer): Adjust.
14540 * config/rs6000/7xx.md (ppc750-integer): Adjust.
14541 * config/rs6000/8540.md (ppc8540_su): Adjust.
14542 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
14543 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
14544 * config/rs6000/e500mc.md (e500mc_su): Adjust.
14545 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
14546 * config/rs6000/e5500.md (e5500_sfx): Adjust.
14547 * config/rs6000/e6500.md (e6500_sfx): Adjust.
14548 * config/rs6000/mpc.md (mpccore-integer): Adjust.
14549 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
14550 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
14551 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
14552 * config/rs6000/power7.md (power7-integer): Adjust.
14553 * config/rs6000/power8.md (power8-1cyc): Adjust.
14554 * config/rs6000/rs64.md (rs64a-integer): Adjust.
14555 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
14556
14557 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14558
14559 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
14560 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
14561 (size): New attribute.
14562 (dot): New attribute.
14563 (cell_micro): Adjust.
14564 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
14565 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
14566 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
14567 umuldi3_highpart): Adjust.
14568 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
14569 rs6000_adjust_priority, is_nonpipeline_insn,
14570 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
14571
14572 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
14573 ppc405-imul3): Adjust.
14574 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
14575 * config/rs6000/476.md (ppc476-imul): Adjust.
14576 * config/rs6000/601.md (ppc601-imul): Adjust.
14577 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
14578 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
14579 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
14580 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
14581 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
14582 Adjust.
14583 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
14584 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
14585 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
14586 cell-imul): Adjust.
14587 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
14588 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
14589 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
14590 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
14591 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
14592 * config/rs6000/mpc.md (mpccore-imul): Adjust.
14593 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
14594 power4-lmul, power4-imul, power4-imul3): Adjust.
14595 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
14596 power5-lmul, power5-imul, power5-imul3): Adjust.
14597 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
14598 power6-lmul, power6-imul, power6-imul3): Adjust.
14599 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
14600 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
14601
14602 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
14603 rs64a-lmul): Adjust.
14604 * config/rs6000/titan.md (titan_imul): Adjust.
14605
14606 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14607
14608 * config/rs6000/rs6000.md (type): Add new value "halfmul".
14609 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
14610 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
14611 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
14612 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
14613 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
14614 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
14615 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
14616 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
14617 * config/rs6000/titan.md: Delete nonsensical comment.
14618 (titan_imul): Add type imul3.
14619 (titan_mulhw): Remove type imul3; add type halfmul.
14620
14621 2014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
14622
14623 * config/rs6000/rs6000.md (type): Reorder, reformat.
14624
14625 2014-05-23 Martin Jambor <mjambor@suse.cz>
14626
14627 PR tree-optimization/53787
14628 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
14629 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
14630 analysis_done, update all uses.
14631 * ipa-prop.c: Include domwalk.h
14632 (param_analysis_info): Removed.
14633 (param_aa_status): New type.
14634 (ipa_bb_info): Likewise.
14635 (func_body_info): Likewise.
14636 (ipa_get_bb_info): New function.
14637 (aa_overwalked): Likewise.
14638 (find_dominating_aa_status): Likewise.
14639 (parm_bb_aa_status_for_bb): Likewise.
14640 (parm_preserved_before_stmt_p): Changed to use new param AA info.
14641 (load_from_unmodified_param): Accept func_body_info as a parameter
14642 instead of parms_ainfo.
14643 (parm_ref_data_preserved_p): Changed to use new param AA info.
14644 (parm_ref_data_pass_through_p): Likewise.
14645 (ipa_load_from_parm_agg_1): Likewise. Update callers.
14646 (compute_complex_assign_jump_func): Changed to use new param AA info.
14647 (compute_complex_ancestor_jump_func): Likewise.
14648 (ipa_compute_jump_functions_for_edge): Likewise.
14649 (ipa_compute_jump_functions): Removed.
14650 (ipa_compute_jump_functions_for_bb): New function.
14651 (ipa_analyze_indirect_call_uses): Likewise, moved variable
14652 declarations down.
14653 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
14654 and info, moved variable declarations down.
14655 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
14656 node and info.
14657 (ipa_analyze_stmt_uses): Likewise.
14658 (ipa_analyze_params_uses): Removed.
14659 (ipa_analyze_params_uses_in_bb): New function.
14660 (ipa_analyze_controlled_uses): Likewise.
14661 (free_ipa_bb_info): Likewise.
14662 (analysis_dom_walker): New class.
14663 (ipa_analyze_node): Handle node-specific forbidden analysis,
14664 initialize and free func_body_info, use dominator walker.
14665 (ipcp_modif_dom_walker): New class.
14666 (ipcp_transform_function): Create and free func_body_info, use
14667 ipcp_modif_dom_walker, moved a lot of functionality there.
14668
14669 2014-05-23 Marek Polacek <polacek@redhat.com>
14670 Jakub Jelinek <jakub@redhat.com>
14671
14672 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
14673 * gcc.c (sanitize_spec_function): Likewise.
14674 * convert.c (convert_to_integer): Include "ubsan.h". Add
14675 floating-point to integer instrumentation.
14676 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
14677 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
14678 SANITIZE_NONDEFAULT.
14679 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
14680 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
14681 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
14682 * ubsan.c: Include "realmpfr.h" and "dfp.h".
14683 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
14684 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
14685 float/double/long double.
14686 (ubsan_instrument_float_cast): New function.
14687 * ubsan.h (ubsan_instrument_float_cast): Declare.
14688
14689 2014-05-23 Jiong Wang <jiong.wang@arm.com>
14690
14691 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
14692 predicate.
14693 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
14694 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
14695 Adjust for tailcalling through registers.
14696 * config/aarch64/aarch64.h (enum reg_class): New caller save
14697 register class.
14698 (REG_CLASS_NAMES): Likewise.
14699 (REG_CLASS_CONTENTS): Likewise.
14700 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
14701 Allow tailcalling without decls.
14702
14703 2014-05-23 Thomas Schwinge <thomas@codesourcery.com>
14704
14705 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
14706 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
14707
14708 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
14709 gsi, and variables v_* to v*.
14710
14711 2014-05-23 Eric Botcazou <ebotcazou@adacore.com>
14712
14713 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
14714
14715 2014-05-23 Thomas Schwinge <thomas@codesourcery.com>
14716
14717 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
14718 * omp-low.c: Update accordingly.
14719
14720 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
14721 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
14722 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
14723 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
14724 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
14725 GF_OMP_TARGET_KIND_UPDATE.
14726
14727 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
14728 Explicitly enumerate the expected region types.
14729
14730 2014-05-23 Paul Eggert <eggert@cs.ucla.edu>
14731
14732 PR other/56955
14733 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
14734 documentation; the old documentation didn't clearly state the
14735 constraints on the contents of the pointed-to storage.
14736
14737 2014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14738
14739 Fix bootstrap error on ia64
14740 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
14741 Return default value.
14742
14743 2014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
14744
14745 PR tree-optimization/54733
14746 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
14747 (CMPNOP): Define.
14748 (find_bswap_or_nop_load): New.
14749 (find_bswap_1): Renamed to ...
14750 (find_bswap_or_nop_1): This. Also add support for memory source.
14751 (find_bswap): Renamed to ...
14752 (find_bswap_or_nop): This. Also add support for memory source and
14753 detection of bitwise operations equivalent to load in target
14754 endianness.
14755 (execute_optimize_bswap): Likewise. Also move its leading comment back
14756 in place and split statement transformation into ...
14757 (bswap_replace): This.
14758
14759 2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
14760
14761 PR rtl-optimization/61215
14762 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
14763 simplify_gen_subreg until final substitution.
14764
14765 2014-05-23 Alan Modra <amodra@gmail.com>
14766
14767 PR target/61231
14768 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
14769 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
14770 Use "Y" constraint rather than "m".
14771
14772 2014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
14773
14774 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
14775 define.
14776 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
14777 New function declaration.
14778 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
14779 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
14780 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
14781 (aarch64_init_builtins) : Initialize builtins
14782 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
14783 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
14784 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
14785 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
14786 and __builtins_aarch64_set_fpsr.
14787 (aarch64_atomic_assign_expand_fenv): New function.
14788 * config/aarch64/aarch64.md (set_fpcr): New pattern.
14789 (get_fpcr) : Likewise.
14790 (set_fpsr) : Likewise.
14791 (get_fpsr) : Likewise.
14792 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
14793 and UNSPECV_SET_FPSR.
14794 * doc/extend.texi (AARCH64 Built-in Functions) : Document
14795 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
14796 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
14797
14798 2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
14799
14800 PR rtl-optimization/60969
14801 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
14802 constraints. Set up mem cost for NO_REGS case.
14803
14804 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
14805
14806 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
14807
14808 2012-05-22 Bernd Schmidt <bernds@codesourcery.com>
14809
14810 * config/darwin.c: Include "lto-section-names.h".
14811 (LTO_SEGMENT_NAME): Don't define.
14812 * config/i386/winnt.c: Include "lto-section-names.h".
14813 * lto-streamer.c: Include "lto-section-names.h".
14814 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
14815 * lto-wrapper.c: Include "lto-section-names.h".
14816 (LTO_SECTION_NAME_PREFIX): Don't define.
14817 * lto-section-names.h: New file.
14818 * cgraphunit.c: Include "lto-section-names.h".
14819
14820 2014-05-22 Peter Bergner <bergner@vnet.ibm.com>
14821
14822 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
14823
14824 2014-05-22 Richard Earnshaw <rearnsha@arm.com>
14825
14826 PR target/61208
14827 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
14828
14829 2014-05-22 Nick Clifton <nickc@redhat.com>
14830
14831 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
14832
14833 2014-05-22 Eric Botcazou <ebotcazou@adacore.com>
14834
14835 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
14836 -> (T)A transformation to integer types.
14837
14838 2014-05-22 Teresa Johnson <tejohnson@google.com>
14839
14840 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
14841 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
14842 (gcov_rewrite): Use gcov_nonruntime_assert.
14843 (gcov_open): Ditto.
14844 (gcov_write_words): Ditto.
14845 (gcov_write_length): Ditto.
14846 (gcov_read_words): Use gcov_nonruntime_assert, and remove
14847 gcc_assert from IN_LIBGCOV code.
14848 (gcov_read_summary): Use gcov_error to flag profile corruption.
14849 (gcov_sync): Use gcov_nonruntime_assert.
14850 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
14851 (gcov_histo_index): Use gcov_nonruntime_assert.
14852 (static void gcov_histogram_merge): Ditto.
14853 (compute_working_sets): Ditto.
14854 * gcov-io.h (gcov_nonruntime_assert): Define.
14855 (gcov_error): Define for !IN_LIBGCOV
14856
14857 2014-05-22 Richard Biener <rguenther@suse.de>
14858
14859 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
14860 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
14861 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
14862 and deallocation site.
14863 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
14864 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
14865 passing through the incoming points-to set.
14866 (handle_lhs_call): Use flags argument instead of recomputing it.
14867 (find_func_aliases_for_call): Call handle_lhs_call with proper
14868 call return flags.
14869
14870 2014-05-22 Jakub Jelinek <jakub@redhat.com>
14871
14872 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
14873 all padding bits in REAL_VALUE_TYPE are cleared.
14874
14875 2014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14876
14877 Cleanup and improve multipass_dfa_lookahead_guard
14878 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
14879 (core2i7_first_cycle_multipass_begin,)
14880 (core2i7_first_cycle_multipass_issue,)
14881 (core2i7_first_cycle_multipass_backtrack): Update signature.
14882 * config/ia64/ia64.c
14883 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
14884 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
14885 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
14886 hook definition.
14887 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
14888 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
14889 values.
14890 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
14891 return values.
14892 * doc/tm.texi: Regenerate.
14893 * doc/tm.texi.in
14894 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
14895 * haifa-sched.c (ready_try): Make signed to allow negative values.
14896 (rebug_ready_list_1): Update.
14897 (choose_ready): Simplify.
14898 (sched_extend_ready_list): Update.
14899
14900 2014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14901
14902 Remove IA64 speculation tweaking flags
14903 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
14904 speculation tuning flags.
14905 (msched-prefer-non-data-spec-insns,)
14906 (msched-prefer-non-control-spec-insns): Obsolete options.
14907 * haifa-sched.c (choose_ready): Remove handling of
14908 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
14909 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
14910 and PREFER_NON_DATA_SPEC.
14911 * sel-sched.c (process_spec_exprs): Remove handling of
14912 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
14913
14914 2014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14915
14916 Improve scheduling debug output
14917 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
14918 (advance_one_cycle): Update.
14919 (schedule_insn, queue_to_ready): Add debug printouts.
14920 (debug_ready_list_1): New static function.
14921 (debug_ready_list): Update.
14922 (max_issue): Add debug printouts.
14923 (dump_insn_stream): New static function.
14924 (schedule_block): Use it. Also better indent printouts.
14925
14926 2014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14927
14928 Fix sched_insn debug counter
14929 * haifa-sched.c (schedule_insn): Update.
14930 (struct haifa_saved_data): Add nonscheduled_insns_begin.
14931 (save_backtrack_point, restore_backtrack_point): Update.
14932 (first_nonscheduled_insn): New static function.
14933 (queue_to_ready, choose_ready): Use it.
14934 (schedule_block): Init nonscheduled_insns_begin.
14935 (sched_emit_insn): Update.
14936
14937
14938 2014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
14939
14940 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
14941 to GENERAL_REGS.
14942 (aarch64_secondary_reload) : LikeWise.
14943 (aarch64_class_max_nregs) : Remove CORE_REGS.
14944 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
14945 (REG_CLASS_NAMES) : Likewise.
14946 (REG_CLASS_CONTENTS) : LikeWise.
14947 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
14948
14949 2014-05-21 Guozhi Wei <carrot@google.com>
14950
14951 PR target/61202
14952 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
14953 constraint.
14954 (vqdmulhq_n_s16): Likewise.
14955
14956 2014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
14957
14958 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
14959
14960 2014-05-21 Marek Polacek <polacek@redhat.com>
14961
14962 PR sanitizer/61272
14963 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
14964
14965 2014-05-21 Martin Jambor <mjambor@suse.cz>
14966
14967 * doc/invoke.texi (Optimize Options): Document parameters
14968 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
14969 ipa-cp-array-index-hint-bonus.
14970
14971 2014-05-21 Mark Wielaard <mjw@redhat.com>
14972
14973 PR debug/16063
14974 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
14975 version >= 3 or not strict DWARF.
14976 * langhooks.h (struct lang_hooks_for_types): Add
14977 enum_underlying_base_type.
14978 * langhooks.c (lhd_enum_underlying_base_type): New function.
14979 * gcc/langhooks.h (struct lang_hooks_for_types): Add
14980 enum_underlying_base_type.
14981 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
14982 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
14983 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
14984
14985 2014-05-21 Richard Biener <rguenther@suse.de>
14986
14987 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
14988
14989 2014-05-21 John Marino <gnugcc@marino.st>
14990
14991 * config.gcc (*-*-dragonfly*): New target.
14992 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
14993 * configure: Regenerate.
14994 * config/dragonfly-stdint.h: New.
14995 * config/dragonfly.h: New.
14996 * config/dragonfly.opt: New.
14997 * config/i386/dragonfly.h: New.
14998 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
14999
15000 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
15001
15002 * tree.def (VOID_CST): New.
15003 * tree-core.h (TI_VOID): New.
15004 * tree.h (void_node): New.
15005 * tree.c (tree_node_structure_for_code, tree_code_size)
15006 (iterative_hash_expr): Handle VOID_CST.
15007 (build_common_tree_nodes): Initialize void_node.
15008
15009 2014-05-21 Bernd Schmidt <bernds@codesourcery.com>
15010
15011 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
15012 functions.
15013 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
15014
15015 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
15016 more places.
15017
15018 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
15019 flag_reorder_blocks_and_partition.
15020 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
15021
15022 2014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
15023
15024 PR target/54236
15025 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
15026 constraints.
15027 (*addc_r_t): Add new insn_and_split.
15028
15029 2014-05-21 Jakub Jelinek <jakub@redhat.com>
15030
15031 PR middle-end/61252
15032 * omp-low.c (handle_simd_reference): New function.
15033 (lower_rec_input_clauses): Use it. Defer adding reference
15034 initialization even for reduction without placeholder if in simd,
15035 handle it properly later on.
15036
15037 2014-05-20 Jan Hubicka <hubicka@ucw.cz>
15038
15039 PR tree-optimization/60899
15040 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
15041 assume all static symbols will have definition wile parsing and
15042 check the do have definition later in compilation; check that
15043 variable referring symbol will be output before concluding that
15044 reference is safe; be conservative for referring local statics;
15045 be more precise about when comdat is output in other partition.
15046
15047 2014-05-20 Jan Hubicka <hubicka@ucw.cz>
15048
15049 PR bootstrap/60984
15050 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
15051 parameter.
15052 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
15053 (ipa_inline): Loop inline_to_all_callers until no more aliases
15054 are removed.
15055
15056 2014-05-20 Jan Hubicka <hubicka@ucw.cz>
15057
15058 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
15059 set writeonly flag only for vars actually written to.
15060
15061 2014-05-20 Dehao Chen <dehao@google.com>
15062
15063 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
15064 and callee count to get clone count.
15065 * tree-inline.c (expand_call_inline): Use callee count instead of bb
15066 count in copy_body.
15067
15068 2014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
15069
15070 PR rtl-optimization/61243
15071 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
15072
15073 2014-05-20 Xinliang David Li <davidxl@google.com>
15074
15075 * cgraphunit.c (walk_polymorphic_call_targets): Add
15076 dbgcnt and fopt-info support.
15077 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
15078 * ipa-devirt.c (ipa_devirt): Ditto.
15079 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
15080 * ipa.c (walk_polymorphic_call_targets): Ditto.
15081 * gimple-fold.c (fold_gimple_assign): Ditto.
15082 (gimple_fold_call): Ditto.
15083 * dbgcnt.def: New counter.
15084
15085 2014-05-20 DJ Delorie <dj@redhat.com>
15086
15087 * config/msp430/msp430.md (split): Don't allow subregs when
15088 splitting SImode adds.
15089 (andneghi): Fix subtraction logic.
15090 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
15091
15092 2014-05-20 Jan Hubicka <hubicka@ucw.cz>
15093
15094 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
15095 symbols.
15096 * except.c (switch_to_exception_section, resolve_unique_section,
15097 get_named_text_section, default_function_rodata_section,
15098 align_variable, get_block_for_decl, default_section_type_flags):
15099 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
15100 * symtab.c (symtab_add_to_same_comdat_group,
15101 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
15102 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
15103 Likewise.
15104 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
15105 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
15106 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
15107 (c6x_function_in_section_p): Likewise.
15108 * config/darwin.c (machopic_select_section): Likewise.
15109 * config/arm/arm.c (arm_function_in_section_p): Likewise.
15110 * config/mips/mips.c (mips_function_rodata_section): Likewise.
15111 * config/mep/mep.c (mep_select_section): LIkewise.
15112 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
15113
15114 2014-05-20 Eric Botcazou <ebotcazou@adacore.com>
15115
15116 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
15117 EH region of calls to pure functions that can throw an exception.
15118 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
15119 (copy_reference_ops_from_call): Also copy the EH region of the call if
15120 it can throw an exception.
15121
15122 2014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15123
15124 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
15125 nested VEC_SELECTs that are inverses of each other.
15126
15127 2014-05-20 Richard Biener <rguenther@suse.de>
15128
15129 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
15130 (extract_and_process_scc_for_name): not here.
15131 (cond_dom_walker::before_dom_children): Only process
15132 stmts that end the BB in interesting ways.
15133 (run_scc_vn): Mark param uses as visited.
15134
15135 2014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15136
15137 * config/arm/arm.md (arith_shiftsi): Do not predicate for
15138 arm_restrict_it.
15139
15140 2014-05-20 Nick Clifton <nickc@redhat.com>
15141
15142 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
15143 (msp430_gimplify_va_arg_expr): New function.
15144 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
15145
15146 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
15147 operand 0 in order to prevent confusion about the number of
15148 registers involved.
15149
15150 2014-05-20 Richard Biener <rguenther@suse.de>
15151
15152 PR tree-optimization/61221
15153 * tree-ssa-pre.c (el_to_update): Remove.
15154 (eliminate_dom_walker::before_dom_children): Handle released
15155 VDEFs by value-numbering them to the associated VUSE. Update
15156 stmt immediately for substituted call address.
15157 (eliminate): Remove delayed stmt updating code.
15158 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
15159 possibly late re-numbered vuses.
15160 (vn_reference_lookup_2): Adjust.
15161 (vn_reference_lookup_pieces): Likewise.
15162 (vn_reference_lookup): Likewise.
15163
15164 2014-05-20 Richard Biener <rguenther@suse.de>
15165
15166 * config.gcc: Remove need_64bit_hwint.
15167 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
15168 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
15169 it to be true.
15170 * config.in: Regenerate.
15171 * configure: Likewise.
15172
15173 2014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
15174
15175 * doc/extend.texi: Create Label Attributes section,
15176 move all label attributes into it and reference it.
15177
15178 2014-05-19 Richard Earnshaw <rearnsha@arm.com>
15179
15180 * arm.c (thumb1_reorg): When scanning backwards skip anything
15181 that's not a proper insn.
15182
15183 2014-05-19 Richard Biener <rguenther@suse.de>
15184
15185 PR tree-optimization/61221
15186 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
15187 Do nothing for unreachable blocks.
15188 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
15189 Improve unreachability detection.
15190
15191 2014-05-19 Richard Biener <rguenther@suse.de>
15192
15193 PR tree-optimization/61209
15194 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
15195
15196 2014-05-19 Nick Clifton <nickc@redhat.com>
15197
15198 * except.c (init_eh): Fix computation of builtin setjmp buffer
15199 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
15200
15201 2014-05-19 Richard Biener <rguenther@suse.de>
15202
15203 PR tree-optimization/61184
15204 * tree-vrp.c (is_negative_overflow_infinity): Use
15205 TREE_OVERFLOW_P and do that check first.
15206 (is_positive_overflow_infinity): Likewise.
15207 (is_overflow_infinity): Likewise.
15208 (vrp_operand_equal_p): Properly treat operands with
15209 differing overflow as not equal.
15210
15211 2014-05-19 Bernd Schmidt <bernds@codesourcery.com>
15212
15213 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
15214 shift simplification where it was intended.
15215
15216 2014-05-19 Christian Bruel <christian.bruel@st.com>
15217
15218 PR target/61195
15219 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
15220
15221 2014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
15222
15223 PR target/61084
15224 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
15225 than wide_int.
15226
15227 2014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
15228
15229 * reg-notes.def (CROSSING_JUMP): Likewise.
15230 * rtl.h (rtx_def): Update comment for jump flag.
15231 (CROSSING_JUMP_P): Define.
15232 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
15233 of a REG_CROSSING_JUMP note.
15234 * cfghooks.c (tidy_fallthru_edges): Likewise.
15235 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
15236 * emit-rtl.c (try_split): Likewise.
15237 * haifa-sched.c (sched_create_recovery_edges): Likewise.
15238 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
15239 * jump.c (redirect_jump_2): Likewise.
15240 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
15241 (relax_delay_slots): Likewise.
15242 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
15243 (bbit_di): Likewise.
15244 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
15245 * config/sh/sh.md (jump_compact): Likewise.
15246 * bb-reorder.c (rotate_loop): Likewise.
15247 (pass_duplicate_computed_gotos::execute): Likewise.
15248 (add_reg_crossing_jump_notes): Rename to...
15249 (update_crossing_jump_flags): ...this.
15250 (pass_partition_blocks::execute): Update accordingly.
15251
15252 2014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
15253
15254 * tree.h: Remove extraneous template <>.
15255
15256 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
15257
15258 * ipa.c (symtab_remove_unreachable_nodes): Remove
15259 symbol from comdat group if its body was eliminated.
15260 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
15261 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
15262 (symtab_unregister_node): ... this one.
15263 (verify_symtab_base): More strict checking of comdats.
15264 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
15265
15266 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
15267
15268 * tree-pass.h (make_pass_ipa_comdats): New pass.
15269 * timevar.def (TV_IPA_COMDATS): New timevar.
15270 * passes.def (pass_ipa_comdats): Add.
15271 * Makefile.in (OBJS): Add ipa-comdats.o
15272 * ipa-comdats.c: New file.
15273
15274 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
15275
15276 * ipa.c (update_visibility_by_resolution_info): New function.
15277 (function_and_variable_visibility): Use it.
15278
15279 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
15280
15281 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
15282 New functions.
15283 (FOR_EACH_DEFINED_SYMBOL): New macro.
15284 (varpool_first_static_initializer, varpool_next_static_initializer,
15285 varpool_first_defined_variable, varpool_next_defined_variable):
15286 Fix comments.
15287 (symtab_in_same_comdat_p): Correctly deal with inline functions.
15288
15289 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
15290
15291 * ggc-page.c (ggc_handle_finalizers): Add comment.
15292
15293 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
15294
15295 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
15296 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
15297 (ggc_internal_cleared_alloc): Likewise.
15298 * ggc-page.c (finalizer): New class.
15299 (vec_finalizer): Likewise.
15300 (globals::finalizers): New member.
15301 (globals::vec_finalizers): Likewise.
15302 (ggc_internal_alloc): Record the finalizer if any for the block being
15303 allocated.
15304 (ggc_handle_finalizers): New function.
15305 (ggc_collect): Call ggc_handle_finalizers.
15306 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
15307 finalizer.
15308 (ggc_internal_cleared_alloc): Likewise.
15309 (finalize): New function.
15310 (need_finalization_p): Likewise.
15311 (ggc_alloc): Install the type's destructor as the finalizer if it
15312 might do something.
15313 (ggc_cleared_alloc): Likewise.
15314 (ggc_vec_alloc): Likewise.
15315 (ggc_cleared_vec_alloc): Likewise.
15316
15317 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
15318
15319 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
15320
15321 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
15322
15323 * alias.c (record_alias_subset): Adjust.
15324 * bitmap.c (bitmap_element_allocate): Likewise.
15325 (bitmap_gc_alloc_stat): Likewise.
15326 * cfg.c (init_flow): Likewise.
15327 (alloc_block): Likewise.
15328 (unchecked_make_edge): Likewise.
15329 * cfgloop.c (alloc_loop): Likewise.
15330 (flow_loops_find): Likewise.
15331 (rescan_loop_exit): Likewise.
15332 * cfgrtl.c (init_rtl_bb_info): Likewise.
15333 * cgraph.c (insert_new_cgraph_node_version): Likewise.
15334 (cgraph_allocate_node): Likewise.
15335 (cgraph_create_edge_1): Likewise.
15336 (cgraph_allocate_init_indirect_info): Likewise.
15337 * cgraphclones.c (cgraph_clone_edge): Likewise.
15338 * cgraphunit.c (add_asm_node): Likewise.
15339 (init_lowered_empty_function): Likewise.
15340 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
15341 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
15342 (alpha_use_linkage): Likewise.
15343 * config/arc/arc.c (arc_init_machine_status): Likewise.
15344 * config/arm/arm.c (arm_init_machine_status): Likewise.
15345 * config/avr/avr.c (avr_init_machine_status): Likewise.
15346 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
15347 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
15348 * config/cris/cris.c (cris_init_machine_status): Likewise.
15349 * config/darwin.c (machopic_indirection_name): Likewise.
15350 (darwin_build_constant_cfstring): Likewise.
15351 (darwin_enter_string_into_cfstring_table): Likewise.
15352 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
15353 * config/frv/frv.c (frv_init_machine_status): Likewise.
15354 * config/i386/i386.c (get_dllimport_decl): Likewise.
15355 (ix86_init_machine_status): Likewise.
15356 (assign_386_stack_local): Likewise.
15357 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
15358 (i386_pe_maybe_record_exported_symbol): Likewise.
15359 (i386_pe_record_stub): Likewise.
15360 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
15361 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
15362 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
15363 (m32c_note_pragma_address): Likewise.
15364 * config/mep/mep.c (mep_init_machine_status): Likewise.
15365 (mep_note_pragma_flag): Likewise.
15366 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
15367 (mips16_local_alias): Likewise.
15368 (mips_init_machine_status): Likewise.
15369 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
15370 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
15371 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
15372 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
15373 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
15374 * config/pa/pa.c (pa_init_machine_status): Likewise.
15375 (pa_get_deferred_plabel): Likewise.
15376 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
15377 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
15378 (rs6000_init_machine_status): Likewise.
15379 (output_toc): Likewise.
15380 * config/s390/s390.c (s390_init_machine_status): Likewise.
15381 * config/score/score.c (score_output_external): Likewise.
15382 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
15383 * config/spu/spu.c (spu_init_machine_status): Likewise.
15384 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
15385 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
15386 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
15387 * coverage.c (coverage_end_function): Likewise.
15388 * dbxout.c (dbxout_init): Likewise.
15389 * doc/gty.texi: Don't mention variable_size attribute.
15390 * dwarf2cfi.c (new_cfi): Adjust.
15391 (new_cfi_row): Likewise.
15392 (copy_cfi_row): Likewise.
15393 (create_cie_data): Likewise.
15394 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
15395 (new_loc_descr): Likewise.
15396 (find_AT_string_in_table): Likewise.
15397 (add_addr_table_entry): Likewise.
15398 (new_die): Likewise.
15399 (add_var_loc_to_decl): Likewise.
15400 (clone_die): Likewise.
15401 (clone_as_declaration): Likewise.
15402 (break_out_comdat_types): Likewise.
15403 (new_loc_list): Likewise.
15404 (add_loc_descr_to_each): Likewise.
15405 (add_location_or_const_value_attribute): Likewise.
15406 (add_linkage_name): Likewise.
15407 (lookup_filename): Likewise.
15408 (dwarf2out_var_location): Likewise.
15409 (new_line_info_table): Likewise.
15410 (dwarf2out_init): Likewise.
15411 (mem_loc_descriptor): Likewise.
15412 (loc_descriptor): Likewise.
15413 (add_const_value_attribute): Likewise.
15414 (tree_add_const_value_attribute): Likewise.
15415 (comp_dir_string): Likewise.
15416 (dwarf2out_vms_debug_main_pointer): Likewise.
15417 (string_cst_pool_decl): Likewise.
15418 * emit-rtl.c (set_mem_attrs): Likewise.
15419 (get_reg_attrs): Likewise.
15420 (start_sequence): Likewise.
15421 (init_emit): Likewise.
15422 (init_emit_regs): Likewise.
15423 * except.c (init_eh_for_function): Likewise.
15424 (gen_eh_region): Likewise.
15425 (gen_eh_region_catch): Likewise.
15426 (gen_eh_landing_pad): Likewise.
15427 (add_call_site): Likewise.
15428 * function.c (add_frame_space): Likewise.
15429 (insert_temp_slot_address): Likewise.
15430 (assign_stack_temp_for_type): Likewise.
15431 (get_hard_reg_initial_val): Likewise.
15432 (allocate_struct_function): Likewise.
15433 (prepare_function_start): Likewise.
15434 (types_used_by_var_decl_insert): Likewise.
15435 * gengtype.c (variable_size_p): Remove function.
15436 (enum alloc_quantity): Remove enum.
15437 (write_typed_alloc_def): Remove function.
15438 (write_typed_struct_alloc_def): Likewise.
15439 (write_typed_typedef_alloc_def): Likewise.
15440 (write_typed_alloc_defns): Likewise.
15441 (main): Adjust.
15442 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
15443 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
15444 * ggc.h (ggc_alloc): new function.
15445 (ggc_cleared_alloc): Likewise.
15446 (ggc_vec_alloc): Template on type of vector element, and remove
15447 element size argument.
15448 (ggc_cleared_vec_alloc): Likewise.
15449 * gimple.c (gimple_build_omp_for): Adjust.
15450 (gimple_copy): Likewise.
15451 * ipa-cp.c (get_replacement_map): Likewise.
15452 (find_aggregate_values_for_callers_subset): Likewise.
15453 (known_aggs_to_agg_replacement_list): Likewise.
15454 * ipa-devirt.c (get_odr_type): Likewise.
15455 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
15456 (read_agg_replacement_chain): Likewise.
15457 * loop-iv.c (get_simple_loop_desc): Likewise.
15458 * lto-cgraph.c (input_node_opt_summary): Likewise.
15459 * lto-section-in.c (lto_new_in_decl_state): Likewise.
15460 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
15461 (input_eh_region): Likewise.
15462 (input_eh_lp): Likewise.
15463 (input_cfg): Likewise.
15464 * optabs.c (set_optab_libfunc): Likewise.
15465 (init_tree_optimization_optabs): Likewise.
15466 (set_conv_libfunc): Likewise.
15467 * passes.c (do_per_function_toporder): Likewise.
15468 * rtl.h: Don't use variable_size gty attribute.
15469 * sese.c (if_region_set_false_region): Adjust.
15470 * stringpool.c (gt_pch_save_stringpool): Likewise.
15471 * target-globals.c (save_target_globals): Likewise.
15472 * toplev.c (general_init): Likewise.
15473 * trans-mem.c (record_tm_replacement): Likewise.
15474 (split_bb_make_tm_edge): Likewise.
15475 * tree-cfg.c (move_sese_region_to_fn): Likewise.
15476 * tree-data-ref.h (lambda_vector_new): Likewise.
15477 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
15478 * tree-iterator.c (tsi_link_before): Likewise.
15479 (tsi_link_after): Likewise.
15480 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
15481 * tree-ssa-loop-niter.c (record_estimate): Likewise.
15482 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
15483 * tree-ssa-operands.h: Don't use variable_size gty attribute.
15484 * tree-ssa.c (init_tree_ssa): Adjust.
15485 * tree-ssanames.c (set_range_info): Likewise.
15486 (get_ptr_info): Likewise.
15487 (duplicate_ssa_name_ptr_info): Likewise.
15488 (duplicate_ssa_name_range_info): Likewise.
15489 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
15490 (unpack_ts_fixed_cst_value_fields): Likewise.
15491 * tree.c (build_fixed): Likewise.
15492 (build_real): Likewise.
15493 (build_string): Likewise.
15494 (decl_priority_info): Likewise.
15495 (decl_debug_expr_insert): Likewise.
15496 (decl_value_expr_insert): Likewise.
15497 (decl_debug_args_insert): Likewise.
15498 (type_hash_add): Likewise.
15499 (build_omp_clause): Likewise.
15500 * ubsan.c (decl_for_type_insert): Likewise.
15501 * varasm.c (get_unnamed_section): Likewise.
15502 (get_noswitch_section): Likewise.
15503 (get_section): Likewise.
15504 (get_block_for_section): Likewise.
15505 (create_block_symbol): Likewise.
15506 (build_constant_desc): Likewise.
15507 (create_constant_pool): Likewise.
15508 (force_const_mem): Likewise.
15509 (record_tm_clone_pair): Likewise.
15510 * varpool.c (varpool_create_empty_node): Likewise.
15511
15512 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
15513
15514 * dwarf2out.c (tree_add_const_value_attribute): Call
15515 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
15516 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
15517 instead of ggc_internal_<x>alloc_stat.
15518 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
15519 (ggc_realloc): Likewise.
15520 * ggc-none.c (ggc_internal_alloc): Likewise.
15521 (ggc_internal_cleared_alloc): Likewise.
15522 * ggc-page.c: Likewise.
15523 * ggc.h (ggc_internal_alloc_stat): Likewise.
15524 (ggc_internal_alloc): Remove macro.
15525 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
15526 (ggc_internal_cleared_alloc): Remove macro.
15527 (GGC_RESIZEVEC): Adjust.
15528 (ggc_resizevar): Remove macro.
15529 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
15530 (ggc_internal_cleared_vec_alloc_stat): Likewise.
15531 (ggc_internal_vec_cleared_alloc): Remove macro.
15532 (ggc_alloc_atomic_stat): Drop _stat suffix.
15533 (ggc_alloc_atomic): Remove macro.
15534 (ggc_alloc_cleared_atomic): Remove macro.
15535 (ggc_alloc_string_stat): Drop _stat suffix.
15536 (ggc_alloc_string): Remove macro.
15537 (ggc_alloc_rtx_def_stat): Adjust.
15538 (ggc_alloc_tree_node_stat): Likewise.
15539 (ggc_alloc_cleared_tree_node_stat): Likewise.
15540 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
15541 (ggc_alloc_cleared_simd_clone_stat): Likewise.
15542 * gimple.c (gimple_build_omp_for): Likewise.
15543 (gimple_copy): Likewise.
15544 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
15545 * toplev.c (realloc_for_line_map): Adjust.
15546 * tree-data-ref.h (lambda_vector_new): Likewise.
15547 * tree-phinodes.c (allocate_phi_node): Likewise.
15548 * tree.c (grow_tree_vec_stat): Likewise.
15549 * vec.h (va_gc::reserve): Adjust.
15550
15551 2014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
15552
15553 * config/microblaze/microblaze.c (break_handler): New Declaration.
15554 (microblaze_break_function_p,microblaze_is_break_handler): New.
15555 (compute_frame_size): Use microblaze_break_function_p.
15556 Add the test of break_handler.
15557 (microblaze_function_prologue) : Add the test of variable
15558 break_handler. Check the fnname by BREAK_HANDLER_NAME.
15559 (microblaze_function_epilogue) : Add the test of break_handler.
15560 (microblaze_globalize_label) : Add the test of break_handler.
15561 Check the name by BREAK_HANDLER_NAME.
15562
15563 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
15564
15565 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
15566 microblaze_is_break_handler test.
15567 (call_internal1,call_value_intern): Use microblaze_break_function_p.
15568 Use SYMBOL_REF_DECL.
15569
15570 * config/microblaze/microblaze-protos.h
15571 (microblaze_break_function_p,microblaze_is_break_handler):
15572 New Declaration.
15573
15574 * doc/extend.texi (MicroBlaze break_handler Functions): Document
15575 new MicroBlaze break_handler functions.
15576
15577 2014-05-17 Uros Bizjak <ubizjak@gmail.com>
15578
15579 * doc/extend.texi (Size of an asm): Move node text according
15580 to its @menu entry position.
15581
15582 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
15583
15584 PR tree-optimization/61140
15585 PR tree-optimization/61150
15586 PR tree-optimization/61197
15587 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
15588
15589 2014-05-17 Uros Bizjak <ubizjak@gmail.com>
15590
15591 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
15592
15593 2014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
15594
15595 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
15596 __SIZEOF_INT128__ is defined.
15597
15598 2014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
15599
15600 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
15601 (rs6000_delegitimize_address): Use it.
15602
15603 2014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
15604
15605 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
15606 inplace argument. Store the new address in the original MEM when true.
15607 * emit-rtl.c (change_address_1): Likewise.
15608 (adjust_address_1, adjust_automodify_address_1, offset_address):
15609 Update accordingly.
15610 * rtl.h (plus_constant): Add an inplace argument.
15611 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
15612 when true. Avoid generating (plus X (const_int 0)).
15613 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
15614 in-place. Pass true to plus_constant.
15615 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
15616
15617 2014-05-16 Dehao Chen <dehao@google.com>
15618
15619 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
15620
15621 2014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
15622
15623 PR target/54089
15624 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
15625 patterns.
15626 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
15627
15628 2014-05-16 Dehao Chen <dehao@google.com>
15629
15630 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
15631 optimize_function_for_size_p.
15632 * regs.h (REG_FREQ_FROM_BB): Likewise.
15633
15634 2014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
15635
15636 PR target/51244
15637 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
15638 negt_reg_operand cases.
15639 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
15640 predicate.
15641 * config/sh/predicates.md (cbranch_treg_value): Simplify.
15642
15643 2014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
15644
15645 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
15646 target variants.
15647
15648 2014-05-16 David Malcolm <dmalcolm@redhat.com>
15649
15650 Revert:
15651 2014-04-29 David Malcolm <dmalcolm@redhat.com>
15652
15653 * tree-cfg.c (dump_function_to_file): Dump the return type of
15654 functions, in a line to itself before the function body, mimicking
15655 the layout of a C function.
15656
15657 2014-05-16 Dehao Chen <dehao@google.com>
15658
15659 * cfghooks.c (make_forwarder_block): Use direct computation to
15660 get fall-through edge's count and frequency.
15661
15662 2014-05-16 Benno Schulenberg <bensberg@justemail.net>
15663
15664 * config/arc/arc.c (arc_init): Fix typo in error message.
15665 * config/i386/i386.c (ix86_expand_builtin): Likewise.
15666 (split_stack_prologue_scratch_regno): Likewise.
15667 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
15668 word from error message.
15669
15670 2014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
15671
15672 * ira-costs.c: Fix typo in comment.
15673
15674 2014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
15675
15676 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
15677
15678 2014-05-16 Jan Hubicka <hubicka@ucw.cz>
15679
15680 * varpool.c (dump_varpool_node): Dump write-only flag.
15681 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
15682 write-only flag.
15683 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
15684 write-only variables.
15685 * ipa.c (process_references): New function.
15686 (set_readonly_bit): New function.
15687 (set_writeonly_bit): New function.
15688 (clear_addressable_bit): New function.
15689 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
15690 fix handling of aliases.
15691 * cgraph.h (struct varpool_node): Add writeonly flag.
15692
15693 2014-05-16 Vladimir Makarov <vmakarov@redhat.com>
15694
15695 PR rtl-optimization/60969
15696 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
15697 Calculate costs for this case.
15698
15699 2014-05-16 Eric Botcazou <ebotcazou@adacore.com>
15700
15701 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
15702 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
15703
15704 2014-05-16 Richard Biener <rguenther@suse.de>
15705
15706 PR tree-optimization/61194
15707 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
15708 bool patterns ending in a COND_EXPR.
15709
15710 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15711
15712 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
15713
15714 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15715
15716 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
15717 where we were unable to cost an RTX.
15718
15719 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15720
15721 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
15722 HIGH, LO_SUM.
15723
15724 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15725 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15726
15727 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
15728
15729 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15730 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15731
15732 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
15733 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
15734
15735 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15736 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15737
15738 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
15739 operators.
15740
15741 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15742 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15743
15744 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
15745 DIV/MOD.
15746
15747 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15748 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15749
15750 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
15751 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
15752
15753 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15754 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15755
15756 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
15757 rotates and shifts.
15758
15759 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15760 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15761
15762 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
15763 ZERO_EXTEND and SIGN_EXTEND better.
15764
15765 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15766 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15767
15768 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
15769 logical operations.
15770
15771 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15772 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15773
15774 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
15775 costs when costing loads and stores to memory.
15776
15777 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15778 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
15779
15780 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
15781 for SET RTX.
15782
15783 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15784
15785 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
15786
15787 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15788 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15789
15790 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
15791 to...
15792 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
15793 well formed.
15794 (aarch64_rtx_mult_cost): New.
15795 (aarch64_rtx_costs): Use it, refactor as appropriate.
15796
15797 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15798 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15799
15800 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
15801 emit instructions, return number of instructions which would
15802 be emitted.
15803 (aarch64_add_constant): Update call to aarch64_build_constant.
15804 (aarch64_output_mi_thunk): Likewise.
15805 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
15806 a CONST_DOUBLE.
15807
15808 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15809
15810 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
15811 (TARGET_RTX_COSTS): Call it.
15812
15813 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15814
15815 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
15816 (cortexa57_vector_cost): Likewise.
15817 (cortexa57_tunings): Use them.
15818
15819 2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
15820
15821 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
15822 (cpu_addrcost_table): Use it.
15823 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
15824 (aarch64_address_cost): Rewrite using aarch64_classify_address,
15825 move it.
15826
15827 2014-05-16 Richard Biener <rguenther@suse.de>
15828
15829 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
15830 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
15831 (visit_phi): Ignore edges marked as not executable.
15832 (class cond_dom_walker): New.
15833 (cond_dom_walker::before_dom_children): Value-number
15834 control statements and mark successor edges as not
15835 executable if possible.
15836 (run_scc_vn): First walk all control statements in
15837 dominator order, marking edges as not executable.
15838 * tree-inline.c (copy_edges_for_bb): Be not confused
15839 about random edge flags.
15840
15841 2014-05-16 Richard Biener <rguenther@suse.de>
15842
15843 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
15844
15845 2014-05-15 Peter Bergner <bergner@vnet.ibm.com>
15846
15847 PR target/61193
15848 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
15849 (__TM_simple_begin): Use it.
15850 (__TM_begin): Likewise.
15851
15852 2014-05-15 Martin Jambor <mjambor@suse.cz>
15853
15854 PR ipa/61085
15855 * ipa-prop.c (update_indirect_edges_after_inlining): Check
15856 type_preserved flag when the indirect edge is polymorphic.
15857
15858 2014-05-15 Martin Jambor <mjambor@suse.cz>
15859
15860 PR tree-optimization/61090
15861 * tree-sra.c (sra_modify_expr): Pass the current gsi to
15862 build_ref_for_model.
15863
15864 2014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15865
15866 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
15867 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
15868
15869 2014-05-15 Jakub Jelinek <jakub@redhat.com>
15870
15871 PR tree-optimization/61158
15872 * fold-const.c (fold_binary_loc): If X is zero-extended and
15873 shiftc >= prec, make sure zerobits is all ones instead of
15874 invoking undefined behavior.
15875
15876 2014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
15877
15878 * regcprop.h: New file.
15879 * regcprop.c (skip_debug_insn_p): New decl.
15880 (replace_oldest_value_reg): Check skip_debug_insn_p.
15881 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
15882 * shrink-wrap.c: Include regcprop.h.
15883 (prepare_shrink_wrap): Call
15884 copyprop_hardreg_forward_bb_without_debug_insn.
15885
15886 2014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
15887
15888 * shrink-wrap.h: Update comment.
15889 * shrink-wrap.c: Update comment.
15890 (next_block_for_reg): Rename to live_edge_for_reg.
15891 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
15892 (move_insn_for_shrink_wrap): Split live_edge.
15893 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
15894
15895 2014-05-14 Eric Botcazou <ebotcazou@adacore.com>
15896
15897 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
15898 Delete.
15899 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
15900 * config/sparc/sparc.md (fptype_ut699): New attribute.
15901 (in_branch_delay): Return false if -mfix-ut699 is specified and
15902 fptype_ut699 is set to single.
15903 (truncdfsf2): Add fptype_ut699 attribute.
15904 (fix_truncdfsi2): Likewise.
15905 (floatsisf2): Change fptype attribute.
15906 (fix_truncsfsi2): Likewise.
15907 (negtf2_notv9): Delete.
15908 (negtf2_v9): Likewise.
15909 (negtf2_hq): New instruction.
15910 (negtf2): New instruction and splitter.
15911 (negdf2_notv9): Rewrite.
15912 (abstf2_notv9): Delete.
15913 (abstf2_hq_v9): Likewise.
15914 (abstf2_v9): Likewise.
15915 (abstf2_hq): New instruction.
15916 (abstf2): New instruction and splitter.
15917 (absdf2_notv9): Rewrite.
15918
15919 2014-05-14 Cary Coutant <ccoutant@google.com>
15920
15921 PR debug/61013
15922 * opts.c (common_handle_option): Don't special-case "-g".
15923 (set_debug_level): Default to at least level 2 with "-g".
15924
15925 2014-05-14 DJ Delorie <dj@redhat.com>
15926
15927 * config/msp430/msp430.c (msp430_builtin): Add
15928 MSP430_BUILTIN_DELAY_CYCLES.
15929 (msp430_init_builtins): Register void __delay_cycles(long long).
15930 (msp430_builtin_decl): Add it.
15931 (cg_magic_constant): New.
15932 (msp430_expand_delay_cycles): New.
15933 (msp430_expand_builtin): Call it.
15934 (msp430_print_operand_raw): Change integer printing from "int" to
15935 HOST_WIDE_INT.
15936 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
15937 (delay_cycles_start): New.
15938 (delay_cycles_end): New.
15939 (delay_cycles_32): New.
15940 (delay_cycles_32x): New.
15941 (delay_cycles_16): New.
15942 (delay_cycles_16x): New.
15943 (delay_cycles_2): New.
15944 (delay_cycles_1): New.
15945 * doc/extend.texi: Document __delay_cycles().
15946
15947 2014-05-14 Sandra Loosemore <sandra@codesourcery.com>
15948
15949 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
15950 length attribute computation.
15951
15952 2014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
15953
15954 PR debug/61188
15955 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
15956
15957 2014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
15958
15959 PR target/61084
15960 * config/sparc/sparc.md: Fix types of low and high in DI constant
15961 splitter. Use gen_int_mode in some other splitters.
15962
15963 2014-05-14 Martin Jambor <mjambor@suse.cz>
15964
15965 PR ipa/60897
15966 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
15967
15968 2014-05-14 James Norris <jnorris@codesourcery.com>
15969
15970 * omp-low.c (expand_parallel_call): Remove shadow variable.
15971 (expand_omp_taskreg): Likewise.
15972
15973 2014-05-14 Ilya Tocar <ilya.tocar@intel.com>
15974
15975 * common/config/i386/i386-common.c
15976 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
15977 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
15978 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
15979 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
15980 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
15981 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
15982 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
15983 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
15984 xsavecintrin.h, xsavesintrin.h.
15985 (x86_64-*-*): Ditto.
15986 * config/i386/clflushoptintrin.h: New.
15987 * config/i386/xsavecintrin.h: Ditto.
15988 * config/i386/xsavesintrin.h: Ditto.
15989 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
15990 (bit_XSAVES): Ditto.
15991 (bit_XSAVES): Ditto.
15992 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
15993 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
15994 -mno-clflushopt.
15995 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
15996 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
15997 OPTION_MASK_ISA_XSAVES.
15998 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
15999 -mxsavec, -mxsaves.
16000 (PTA_CLFLUSHOPT) Define.
16001 (PTA_XSAVEC): Ditto.
16002 (PTA_XSAVES): Ditto.
16003 (ix86_option_override_internal): Handle new options.
16004 (ix86_valid_target_attribute_inner_p): Ditto.
16005 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
16006 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
16007 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
16008 (bdesc_special_args): Add __builtin_ia32_xsaves,
16009 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
16010 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
16011 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
16012 (ix86_expand_builtin): Handle new builtins.
16013 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
16014 (TARGET_CLFLUSHOPT_P): Ditto.
16015 (TARGET_XSAVEC): Ditto.
16016 (TARGET_XSAVEC_P): Ditto.
16017 (TARGET_XSAVES): Ditto.
16018 (TARGET_XSAVES_P): Ditto.
16019 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
16020 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
16021 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
16022 (ANY_XRSTOR): New.
16023 (ANY_XRSTOR64): Ditto.
16024 (xrstor): Ditto.
16025 (xrstor): Change into <xrstor>.
16026 (xrstor_rex64): Change into <xrstor>_rex64.
16027 (xrstor64): Change into <xrstor>64
16028 (clflushopt): New.
16029 * config/i386/i386.opt (mclflushopt): New.
16030 (mxsavec): Ditto.
16031 (mxsaves): Ditto.
16032 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
16033 xsavecintrin.h.
16034 * doc/invoke.texi: Document new options.
16035
16036 2014-05-14 Andrey Belevantsev <abel@ispras.ru>
16037
16038 PR rtl-optimization/60866
16039 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
16040 Default it to -1. Pass it down to init_simplejump_data.
16041 (init_simplejump_data): New parameter old_seqno. Pass it down
16042 to get_seqno_for_a_jump.
16043 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
16044 initializing new jump seqno as a last resort. Add comment.
16045 (sel_redirect_edge_and_branch): Save old seqno of the conditional
16046 jump and pass it down to sel_init_new_insn.
16047 (sel_redirect_edge_and_branch_force): Likewise.
16048
16049 2014-05-14 Georg-Johann Lay <avr@gjlay.de>
16050
16051 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
16052 shifted values to avoid build warning.
16053
16054 2014-05-14 Eric Botcazou <ebotcazou@adacore.com>
16055
16056 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
16057 * cfgrtl.c (rtl_merge_blocks): Fix comment.
16058 (cfg_layout_merge_blocks): Likewise.
16059 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
16060
16061 2014-05-14 Andrey Belevantsev <abel@ispras.ru>
16062
16063 PR rtl-optimization/60901
16064 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
16065 bb predecessor belongs to the same scheduling region. Adjust comment.
16066
16067 2014-05-13 Peter Bergner <bergner@vnet.ibm.com>
16068
16069 * doc/sourcebuild.texi: (dfp_hw): Document.
16070 (p8vector_hw): Likewise.
16071 (powerpc_eabi_ok): Likewise.
16072 (powerpc_elfv2): Likewise.
16073 (powerpc_htm_ok): Likewise.
16074 (ppc_recip_hw): Likewise.
16075 (vsx_hw): Likewise.
16076
16077 2014-05-13 Cary Coutant <ccoutant@google.com>
16078
16079 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
16080
16081 2014-05-13 David Malcolm <dmalcolm@redhat.com>
16082
16083 * gengtype-parse.c (require3): Eliminate in favor of...
16084 (require4): New.
16085 (require_template_declaration): Update to support optional single *
16086 on a type.
16087
16088 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
16089 (create_user_defined_type): Handle a single level of explicit
16090 pointerness within template arguments.
16091 (struct write_types_data): Add field "kind".
16092 (filter_type_name): Handle "*" character.
16093 (write_user_func_for_structure_ptr): Require a write_types_data
16094 rather than just a prefix string, so that we can look up the kind
16095 of the wtd and use it as an index into wrote_user_func_for_ptr,
16096 ensuring that such functions are written at most once. Support
16097 subclasses by invoking the marking function of the ultimate base class.
16098 (write_user_func_for_structure_body): Require a write_types_data
16099 rather than just a prefix string, so that we can pass this to
16100 write_user_func_for_structure_ptr.
16101 (write_func_for_structure): Likewise.
16102 (ggc_wtd): Add initializer of new "kind" field.
16103 (pch_wtd): Likewise.
16104
16105 * gengtype.h (enum write_types_kinds): New.
16106 (struct type): Add field wrote_user_func_for_ptr to the "s"
16107 union member.
16108
16109 2014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
16110
16111 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
16112 instead of const_binop.
16113 (fold_binary_loc): Likewise.
16114
16115 2014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
16116
16117 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
16118 calculation to match get_ref_base_and_extent.
16119
16120 2014-05-13 Catherine Moore <clm@codesourcery.com>
16121 Sandra Loosemore <sandra@codesourcery.com>
16122
16123 * configure.ac: Fix assembly for explicit JALR relocation check.
16124 * configure: Regenerate.
16125
16126 2014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16127
16128 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
16129 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
16130 Remove associated type declarations and initialisations.
16131 (arm_expand_neon_builtin): Likewise.
16132 (neon_emit_pair_result_insn): Delete.
16133 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
16134 * config/arm/neon.md (neon_vtrn<mode>): Delete.
16135 (neon_vzip<mode>): Likewise.
16136 (neon_vuzp<mode>): Likewise.
16137
16138 2014-05-13 Richard Biener <rguenther@suse.de>
16139
16140 PR ipa/60973
16141 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
16142 it needs revisiting whether the call still may be tail-called.
16143
16144 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
16145
16146 * rtl.def (SYMBOL_REF): Remove middle "0" field.
16147 * rtl.h (block_symbol): Reduce number of fields to 2.
16148 (rtx_def): Add u2.symbol_ref_flags.
16149 (SYMBOL_REF_FLAGS): Use it.
16150 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
16151 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
16152 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
16153 Lower index of SYMBOL_REF_DATA.
16154 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
16155 Print SYMBOL_REF_FLAGS at the same time.
16156 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
16157
16158 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
16159
16160 * rtl.def (VAR_LOCATION): Remove "i" field.
16161 * rtl.h (rtx_def): Add u2.var_location_status.
16162 (PAT_VAR_LOCATION_STATUS): Use it.
16163 (gen_rtx_VAR_LOCATION): Declare.
16164 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
16165 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
16166 * var-tracking.c (emit_note_insn_var_location): Remove casts.
16167
16168 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
16169
16170 * rtl.def (scratch): Fix outdated comment and remove "0" field.
16171 * gengtype.c (adjust_field_rtx_def): Update accordingly.
16172
16173 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
16174
16175 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
16176 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
16177 * rtl.h (rtx_def): Add insn_uid to u2 field.
16178 (RTX_FLAG_CHECK8): Delete in favor of...
16179 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
16180 (INSN_DELETED_P): Update accordingly.
16181 (INSN_UID): Use u2.insn_uid.
16182 (INSN_CHAIN_CODE_P): Define.
16183 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
16184 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
16185 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
16186 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
16187 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
16188 indices accordingly.
16189 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
16190 Update indices for insn-chain rtxes.
16191 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
16192 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
16193 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
16194 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
16195 * combine.c (try_combine): Likewise.
16196 * ira.c (setup_prohibited_mode_move_regs): Likewise.
16197
16198 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
16199
16200 * rtl.def (REG): Remove middle field.
16201 * rtl.h (rtx_def): Add orignal_regno to u2.
16202 (ORIGINAL_REGNO): Use it instead of field 1.
16203 (REG_ATTRS): Lower field index accordingly.
16204 * gengtype.c (adjust_field_rtx_def): Remove handling of
16205 ORIGINAL_REGNO. Move REG_ATTRS index down.
16206 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
16207 code that prints the REGNO.
16208
16209 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
16210
16211 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
16212 GENERATOR_FILE.
16213
16214 2014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
16215
16216 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
16217
16218 2014-05-13 Bin Cheng <bin.cheng@arm.com>
16219
16220 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
16221 (alloc_iv): Lower base expressions containing ADDR_EXPR.
16222
16223 2014-05-13 Ian Bolton <ian.bolton@arm.com>
16224
16225 * config/aarch64/aarch64-protos.h
16226 (aarch64_hard_regno_caller_save_mode): New prototype.
16227 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
16228 New function.
16229 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
16230
16231 2014-05-13 Christian Bruel <christian.bruel@st.com>
16232
16233 * target.def (mode_switching): New hook vector.
16234 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
16235 (mode_exit, modepriority_to_mode): Likewise.
16236 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
16237 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
16238 * target.h: Include tm.h and hard-reg-set.h.
16239 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
16240 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
16241 * doc/tm.texi Regenerate.
16242 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
16243 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
16244 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
16245 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
16246 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
16247 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
16248 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
16249 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
16250 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
16251 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
16252 (ix86_emit_mode_set): Hookify.
16253 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
16254 Delete.
16255 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
16256 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
16257 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
16258 (epiphany_mode_priority_to_mode): Remove declaration.
16259 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
16260 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
16261 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
16262 Likewise.
16263 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
16264 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
16265 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
16266
16267 2014-05-13 Jakub Jelinek <jakub@redhat.com>
16268
16269 PR target/61060
16270 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
16271 is const0_rtx, return immediately. Don't test count == 0 when
16272 it is always true.
16273
16274 2014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
16275
16276 * Makefile.in: add shrink-wrap.o.
16277 * config/i386/i386.c: include "shrink-wrap.h"
16278 * function.c: Likewise.
16279 (requires_stack_frame_p, next_block_for_reg,
16280 move_insn_for_shrink_wrap, prepare_shrink_wrap,
16281 dup_block_and_redirect): Move to shrink-wrap.c
16282 (thread_prologue_and_epilogue_insns): Extract three code segments
16283 as functions in shrink-wrap.c
16284 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
16285 shrink-wrap.h
16286 * shrink-wrap.c: New file.
16287 * shrink-wrap.h: New file.
16288
16289 2014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
16290
16291 * doc/extend.texi: Reflect current numbers of pragmas. Remove
16292 reference to Solaris.
16293
16294 2014-05-12 Mike Stump <mikestump@comcast.net>
16295
16296 PR other/31778
16297 * genattrtab.c (filename): Add.
16298 (convert_set_attr_alternative): Improve error message.
16299 (check_defs): Restore read_md_filename for error messages.
16300 (gen_insn): Save filename.
16301
16302 2014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
16303
16304 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
16305 -fno-local-ivars and -fivar-visibility.
16306 * c-family/c.opt: Make -Wshadow also implicitly enable
16307 -Wshadow-ivar.
16308
16309 2014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
16310
16311 * doc/tm.texi: Remove reference to deleted macro.
16312 * doc/tm.texi.in: Likewise.
16313
16314 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
16315
16316 PR target/60991
16317 * config/avr/avr.c (avr_out_store_psi): Use correct constant
16318 to restore Y.
16319
16320 2014-05-12 Georg-Johann Lay <avr@gjlay.de>
16321
16322 PR libgcc/61152
16323 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
16324 * config/arm/aout.h (License): Same.
16325 * config/arm/bpabi.h (License): Same.
16326 * config/arm/elf.h (License): Same.
16327 * config/arm/linux-elf.h (License): Same.
16328 * config/arm/linux-gas.h (License): Same.
16329 * config/arm/netbsd-elf.h (License): Same.
16330 * config/arm/uclinux-eabi.h (License): Same.
16331 * config/arm/uclinux-elf.h (License): Same.
16332 * config/arm/vxworks.h (License): Same.
16333
16334 2014-05-11 Jakub Jelinek <jakub@redhat.com>
16335
16336 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
16337 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
16338 number of operands to 3.
16339 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
16340 * tree-nested.c (convert_nonlocal_omp_clauses,
16341 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
16342 * gimplify.c (gimplify_scan_omp_clauses): Handle
16343 OMP_CLAUSE_LINEAR_STMT.
16344 * omp-low.c (lower_rec_input_clauses): Fix typo.
16345 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
16346 cast between Fortran boolean_type_node and C _Bool if
16347 needed.
16348
16349 2014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
16350
16351 PR tree-optimization/61136
16352 * wide-int.h (multiple_of_p): Define a version that doesn't return
16353 the quotient.
16354 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
16355 integer_zerop/const_binop pair.
16356 (multiple_of_p): Likewise, converting both operands to widest_int
16357 precision.
16358
16359 2014-05-09 Teresa Johnson <tejohnson@google.com>
16360
16361 * cgraphunit.c (analyze_functions): Use correct dump file.
16362
16363 2014-05-09 Florian Weimer <fweimer@redhat.com>
16364
16365 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
16366 expand_used_vars.
16367 (stack_protect_return_slot_p): New function.
16368 (expand_used_vars): Call stack_protect_decl_p and
16369 stack_protect_return_slot_p for -fstack-protector-strong.
16370
16371 2014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
16372 Andrew Haley <aph@redhat.com>
16373 Richard Sandiford <rdsandiford@googlemail.com>
16374
16375 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
16376 pages.
16377
16378 2014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
16379
16380 PR middle-end/61111
16381 * fold-const.c (fold_binary_loc): Changed width of mask.
16382
16383 2014-05-09 Georg-Johann Lay <avr@gjlay.de>
16384
16385 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
16386 unsigned int initializers for regno_in, regno_out.
16387
16388 2014-05-09 Georg-Johann Lay <avr@gjlay.de>
16389
16390 PR target/61055
16391 * config/avr/avr.md (cc): Add new attribute set_vzn.
16392 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
16393 Set cc insn attribute to set_vzn instead of set_zn for alternatives
16394 with INC, DEC or NEG.
16395 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
16396 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
16397 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
16398
16399 2014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16400
16401 Revert:
16402 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16403
16404 * wide-int.cc (UTItype): Define.
16405 (UDWtype): Define for appropriate W_TYPE_SIZE.
16406
16407 2014-05-09 Richard Biener <rguenther@suse.de>
16408
16409 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
16410 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
16411 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
16412 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
16413 ssa_propagate): Adjust.
16414
16415 2014-05-08 Jeff Law <law@redhat.com>
16416
16417 PR tree-optimization/61009
16418 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
16419 tri-state rather than a boolean. When a block is too big to
16420 thread through, inform caller via negative return value.
16421 (thread_across_edge): If a block was too big for normal threading,
16422 then it's too big for a joiner too, so remove temporary equivalences
16423 and return immediately.
16424
16425 2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
16426 Matthias Klose <doko@ubuntu.com>
16427
16428 PR driver/61106
16429 * optc-gen.awk: Fix option handling for -Wunused-parameter.
16430
16431 2014-05-08 Uros Bizjak <ubizjak@gmail.com>
16432
16433 PR target/59952
16434 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
16435
16436 2014-05-08 Uros Bizjak <ubizjak@gmail.com>
16437
16438 PR target/61092
16439 * config/alpha/alpha.c: Include gimple-iterator.h.
16440 (alpha_gimple_fold_builtin): New function. Move
16441 ALPHA_BUILTIN_UMULH folding from ...
16442 (alpha_fold_builtin): ... here.
16443 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
16444
16445 2014-05-08 Wei Mi <wmi@google.com>
16446
16447 PR target/58066
16448 * config/i386/i386.c (ix86_compute_frame_layout): Update
16449 preferred_stack_boundary for call, expanded from tls descriptor.
16450 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
16451 to depend on SP register.
16452 (*tls_local_dynamic_base_32_gnu): Ditto.
16453 (*tls_local_dynamic_32_once): Ditto.
16454 (tls_global_dynamic_64_<mode>): Set
16455 ix86_tls_descriptor_calls_expanded_in_cfun.
16456 (tls_local_dynamic_base_64_<mode>): Ditto.
16457 (tls_global_dynamic_32): Set
16458 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
16459 to depend on SP register.
16460 (tls_local_dynamic_base_32): Ditto.
16461
16462 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16463
16464 * config/arm/arm_neon.h: Update comment.
16465 * config/arm/neon-docgen.ml: Delete.
16466 * config/arm/neon-gen.ml: Delete.
16467 * doc/arm-neon-intrinsics.texi: Update comment.
16468
16469 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16470
16471 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
16472 and v4sf versions.
16473 (vand, vorr, veor, vorn, vbic): Remove.
16474 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
16475 iterator.
16476 (neon_vsub_unspec): Likewise.
16477 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
16478
16479 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16480
16481 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
16482 (vadd_s16): Likewise.
16483 (vadd_s32): Likewise.
16484 (vadd_f32): Likewise.
16485 (vadd_u8): Likewise.
16486 (vadd_u16): Likewise.
16487 (vadd_u32): Likewise.
16488 (vadd_s64): Likewise.
16489 (vadd_u64): Likewise.
16490 (vaddq_s8): Likewise.
16491 (vaddq_s16): Likewise.
16492 (vaddq_s32): Likewise.
16493 (vaddq_s64): Likewise.
16494 (vaddq_f32): Likewise.
16495 (vaddq_u8): Likewise.
16496 (vaddq_u16): Likewise.
16497 (vaddq_u32): Likewise.
16498 (vaddq_u64): Likewise.
16499 (vmul_s8): Likewise.
16500 (vmul_s16): Likewise.
16501 (vmul_s32): Likewise.
16502 (vmul_f32): Likewise.
16503 (vmul_u8): Likewise.
16504 (vmul_u16): Likewise.
16505 (vmul_u32): Likewise.
16506 (vmul_p8): Likewise.
16507 (vmulq_s8): Likewise.
16508 (vmulq_s16): Likewise.
16509 (vmulq_s32): Likewise.
16510 (vmulq_f32): Likewise.
16511 (vmulq_u8): Likewise.
16512 (vmulq_u16): Likewise.
16513 (vmulq_u32): Likewise.
16514 (vsub_s8): Likewise.
16515 (vsub_s16): Likewise.
16516 (vsub_s32): Likewise.
16517 (vsub_f32): Likewise.
16518 (vsub_u8): Likewise.
16519 (vsub_u16): Likewise.
16520 (vsub_u32): Likewise.
16521 (vsub_s64): Likewise.
16522 (vsub_u64): Likewise.
16523 (vsubq_s8): Likewise.
16524 (vsubq_s16): Likewise.
16525 (vsubq_s32): Likewise.
16526 (vsubq_s64): Likewise.
16527 (vsubq_f32): Likewise.
16528 (vsubq_u8): Likewise.
16529 (vsubq_u16): Likewise.
16530 (vsubq_u32): Likewise.
16531 (vsubq_u64): Likewise.
16532 (vand_s8): Likewise.
16533 (vand_s16): Likewise.
16534 (vand_s32): Likewise.
16535 (vand_u8): Likewise.
16536 (vand_u16): Likewise.
16537 (vand_u32): Likewise.
16538 (vand_s64): Likewise.
16539 (vand_u64): Likewise.
16540 (vandq_s8): Likewise.
16541 (vandq_s16): Likewise.
16542 (vandq_s32): Likewise.
16543 (vandq_s64): Likewise.
16544 (vandq_u8): Likewise.
16545 (vandq_u16): Likewise.
16546 (vandq_u32): Likewise.
16547 (vandq_u64): Likewise.
16548 (vorr_s8): Likewise.
16549 (vorr_s16): Likewise.
16550 (vorr_s32): Likewise.
16551 (vorr_u8): Likewise.
16552 (vorr_u16): Likewise.
16553 (vorr_u32): Likewise.
16554 (vorr_s64): Likewise.
16555 (vorr_u64): Likewise.
16556 (vorrq_s8): Likewise.
16557 (vorrq_s16): Likewise.
16558 (vorrq_s32): Likewise.
16559 (vorrq_s64): Likewise.
16560 (vorrq_u8): Likewise.
16561 (vorrq_u16): Likewise.
16562 (vorrq_u32): Likewise.
16563 (vorrq_u64): Likewise.
16564 (veor_s8): Likewise.
16565 (veor_s16): Likewise.
16566 (veor_s32): Likewise.
16567 (veor_u8): Likewise.
16568 (veor_u16): Likewise.
16569 (veor_u32): Likewise.
16570 (veor_s64): Likewise.
16571 (veor_u64): Likewise.
16572 (veorq_s8): Likewise.
16573 (veorq_s16): Likewise.
16574 (veorq_s32): Likewise.
16575 (veorq_s64): Likewise.
16576 (veorq_u8): Likewise.
16577 (veorq_u16): Likewise.
16578 (veorq_u32): Likewise.
16579 (veorq_u64): Likewise.
16580 (vbic_s8): Likewise.
16581 (vbic_s16): Likewise.
16582 (vbic_s32): Likewise.
16583 (vbic_u8): Likewise.
16584 (vbic_u16): Likewise.
16585 (vbic_u32): Likewise.
16586 (vbic_s64): Likewise.
16587 (vbic_u64): Likewise.
16588 (vbicq_s8): Likewise.
16589 (vbicq_s16): Likewise.
16590 (vbicq_s32): Likewise.
16591 (vbicq_s64): Likewise.
16592 (vbicq_u8): Likewise.
16593 (vbicq_u16): Likewise.
16594 (vbicq_u32): Likewise.
16595 (vbicq_u64): Likewise.
16596 (vorn_s8): Likewise.
16597 (vorn_s16): Likewise.
16598 (vorn_s32): Likewise.
16599 (vorn_u8): Likewise.
16600 (vorn_u16): Likewise.
16601 (vorn_u32): Likewise.
16602 (vorn_s64): Likewise.
16603 (vorn_u64): Likewise.
16604 (vornq_s8): Likewise.
16605 (vornq_s16): Likewise.
16606 (vornq_s32): Likewise.
16607 (vornq_s64): Likewise.
16608 (vornq_u8): Likewise.
16609 (vornq_u16): Likewise.
16610 (vornq_u32): Likewise.
16611 (vornq_u64): Likewise.
16612
16613 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16614
16615 * wide-int.cc (UTItype): Define.
16616 (UDWtype): Define for appropriate W_TYPE_SIZE.
16617
16618 2014-05-08 Marc Glisse <marc.glisse@inria.fr>
16619
16620 PR tree-optimization/59100
16621 * tree-ssa-phiopt.c: Include tree-inline.h.
16622 (neutral_element_p, absorbing_element_p): New functions.
16623 (value_replacement): Handle conditional binary operations with a
16624 neutral or absorbing element.
16625
16626 2014-05-08 Richard Biener <rguenther@suse.de>
16627
16628 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
16629 folding the expression.
16630 (valueize_expr): Remove.
16631 (visit_reference_op_load): Do not valueize the result of
16632 vn_get_expr_for.
16633 (simplify_binary_expression): Likewise.
16634 (simplify_unary_expression): Likewise.
16635
16636 2014-05-08 Richard Biener <rguenther@suse.de>
16637
16638 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
16639 looking at TYPE_ARG_TYPES.
16640
16641 2014-05-08 Richard Biener <rguenther@suse.de>
16642
16643 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
16644 pointer propagation special-case.
16645
16646 2014-05-08 Bin Cheng <bin.cheng@arm.com>
16647
16648 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
16649 core part of address expressions.
16650
16651 2014-05-08 Alan Modra <amodra@gmail.com>
16652
16653 PR target/60737
16654 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
16655 loads and stores when -mno-strict-align at any alignment.
16656 (expand_block_clear): Similarly. Also correct calculation of
16657 instruction count.
16658
16659 2014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
16660
16661 PR middle-end/39246
16662 * tree-complex.c (expand_complex_move): Keep line info when expanding
16663 complex move.
16664 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
16665 of complex expression. Use new argument to display correct location
16666 for values coming from phi statement.
16667 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
16668 (warn_uninitialized_phi): Pass location of phi argument to
16669 warn_uninit.
16670 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
16671 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
16672
16673 2014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
16674
16675 * config/rs6000/predicates.md (indexed_address_mem): New.
16676 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
16677 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
16678 fpstore_ux, fpstore_u.
16679 (sign_extend, indexed, update): New.
16680 (cell_micro): Adjust.
16681 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
16682 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
16683 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
16684 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
16685 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
16686 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
16687 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
16688 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
16689 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
16690 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
16691 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
16692 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
16693 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
16694 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
16695 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
16696
16697 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
16698 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
16699 *vsx_extract_<mode>_store): Adjust.
16700 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
16701 is_cracked_insn, insn_must_be_first_in_group,
16702 insn_must_be_last_in_group): Adjust.
16703
16704 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
16705 Adjust.
16706 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
16707 ppc440-fpstore): Adjust.
16708 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
16709 ppc476-fpstore): Adjust.
16710 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
16711 ppc601-fpstore): Adjust.
16712 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
16713 Adjust.
16714 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
16715 Adjust.
16716 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
16717 ppc7450-fpstore): Adjust.
16718 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
16719 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
16720 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
16721 Adjust.
16722 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
16723 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
16724 cell-fpstore, cell-fpstore-update): Adjust.
16725 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
16726 ppce300c3_store, ppce300c3_fpstore): Adjust.
16727 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
16728 e500mc_fpstore): Adjust.
16729 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
16730 e500mc64_store, e500mc64_fpstore): Adjust.
16731 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
16732 e5500_fpstore): Adjust.
16733 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
16734 e6500_fpstore): Adjust.
16735 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
16736 Adjust.
16737 * config/rs6000/power4.md (power4-load, power4-load-ext,
16738 power4-load-ext-update, power4-load-ext-update-indexed,
16739 power4-load-update-indexed, power4-load-update, power4-fpload,
16740 power4-fpload-update, power4-store, power4-store-update,
16741 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
16742 Adjust.
16743 * config/rs6000/power5.md (power5-load, power5-load-ext,
16744 power5-load-ext-update, power5-load-ext-update-indexed,
16745 power5-load-update-indexed, power5-load-update, power5-fpload,
16746 power5-fpload-update, power5-store, power5-store-update,
16747 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
16748 Adjust.
16749 * config/rs6000/power6.md (power6-load, power6-load-ext,
16750 power6-load-update, power6-load-update-indexed,
16751 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
16752 power6-fpload-update, power6-store, power6-store-update,
16753 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
16754 Adjust.
16755 * config/rs6000/power7.md (power7-load, power7-load-ext,
16756 power7-load-update, power7-load-update-indexed,
16757 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
16758 power7-fpload-update, power7-store, power7-store-update,
16759 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
16760 Adjust.
16761 * config/rs6000/power8.md (power8-load, power8-load-update,
16762 power8-load-ext, power8-load-ext-update, power8-fpload,
16763 power8-fpload-update, power8-store, power8-store-update-indexed,
16764 power8-fpstore, power8-fpstore-update): Adjust.
16765 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
16766 Adjust.
16767 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
16768 titan_lsu_store, titan_lsu_fpstore): Adjust.
16769 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
16770
16771 2014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
16772
16773 PR target/60884
16774 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
16775 unrolled byte insns. Emit address increments after move insns.
16776
16777 2014-05-07 David Malcolm <dmalcolm@redhat.com>
16778
16779 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
16780 const_gimple, rather than a gimple.
16781 (gimple_call_builtin_p): Likewise, for the three variants.
16782
16783 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
16784 (gimple_call_builtin_p): Likewise, for the three variants.
16785
16786 2014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
16787
16788 PR tree-optimization/61095
16789 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
16790
16791 2014-05-07 Richard Biener <rguenther@suse.de>
16792
16793 PR tree-optimization/61034
16794 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
16795 (maybe_skip_until): Use translate to take into account
16796 lattices when trying to do disambiguations.
16797 (get_continuation_for_phi_1): Likewise.
16798 (get_continuation_for_phi): Adjust for added translate arguments.
16799 (walk_non_aliased_vuses): Likewise.
16800 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
16801 (walk_non_aliased_vuses): Likewise.
16802 (call_may_clobber_ref_p_1): Declare.
16803 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
16804 calls. Stop early if we are only supposed to disambiguate.
16805 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
16806
16807 2014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
16808
16809 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
16810 Emit an error when the function has arguments.
16811
16812 2014-05-07 Thomas Schwinge <thomas@codesourcery.com>
16813
16814 * cfgloop.h (unswitch_loops): Remove.
16815 * doc/passes.texi: Remove references to loop-unswitch.c
16816 * timevar.def (TV_LOOP_UNSWITCH): Remove.
16817
16818 2014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
16819
16820 * tree-vect-data-refs.c (vect_grouped_load_supported): New
16821 check for loads group of length 3.
16822 (vect_permute_load_chain): New permutations for loads group of
16823 length 3.
16824 * tree-vect-stmts.c (vect_model_load_cost): Change cost
16825 of vec_perm_shuffle for the new permutations.
16826
16827 2014-05-07 Alan Lawrence <alan.lawrence@arm.com>
16828
16829 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
16830 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
16831 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
16832 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
16833 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
16834 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
16835 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
16836 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
16837
16838 2014-05-07 Thomas Schwinge <thomas@codesourcery.com>
16839
16840 * loop-unswitch.c: Delete.
16841
16842 2014-05-07 Richard Biener <rguenther@suse.de>
16843
16844 * config.gcc: Always set need_64bit_hwint to yes.
16845
16846 2014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
16847
16848 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
16849 of using optimize_size.
16850
16851 2014-05-06 Mike Stump <mikestump@comcast.net>
16852
16853 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
16854
16855 2014-05-06 Joseph Myers <joseph@codesourcery.com>
16856
16857 * config/i386/sse.md (*mov<mode>_internal)
16858 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
16859 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
16860 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
16861 (*<code><mode>3, *andnot<mode>3<mask_name>)
16862 (<mask_codefor><code><mode>3<mask_name>): Only consider
16863 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
16864
16865 2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
16866
16867 Revert:
16868 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
16869
16870 * lra-constraints.c (valid_address_p): Move earlier in file.
16871 Add a constraint argument to the address_info version.
16872 (satisfies_memory_constraint_p): New function.
16873 (satisfies_address_constraint_p): Likewise.
16874 (process_alt_operands, curr_insn_transform): Use them.
16875 (process_address): Pass the constraint to valid_address_p when
16876 checking address operands.
16877
16878 2014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
16879
16880 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
16881 to their respective blocks. Fix inadvertent use of "node".
16882
16883 2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
16884
16885 * emit-rtl.c (init_derived_machine_modes): New functionm, split
16886 out from...
16887 (init_emit_once): ...here.
16888 * rtl.h (init_derived_machine_modes): Declare.
16889 * toplev.c (do_compile): Call it even if no_backend.
16890
16891 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
16892 Mike Stump <mikestump@comcast.net>
16893 Richard Sandiford <rdsandiford@googlemail.com>
16894 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16895
16896 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
16897 (rtx_equal_for_memref_p): Update comment.
16898 (adjust_offset_for_component_ref): Use wide-int interfaces.
16899 * builtins.c (get_object_alignment_2): Likewise.
16900 (c_readstr): Likewise.
16901 (target_char_cast): Add comment.
16902 (determine_block_size): Use wide-int interfaces.
16903 (expand_builtin_signbit): Likewise.
16904 (fold_builtin_int_roundingfn): Likewise.
16905 (fold_builtin_bitop): Likewise.
16906 (fold_builtin_bswap): Likewise.
16907 (fold_builtin_logarithm): Use signop.
16908 (fold_builtin_pow): Likewise.
16909 (fold_builtin_memory_op): Use wide-int interfaces.
16910 (fold_builtin_object_size): Likewise.
16911 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
16912 nb_iterations_estimate.
16913 (record_niter_bound): Use wide-int interfaces.
16914 (get_estimated_loop_iterations_int): Likewise.
16915 (get_estimated_loop_iterations): Likewise.
16916 (get_max_loop_iterations): Likewise.
16917 * cfgloop.h: Include wide-int.h.
16918 (struct nb_iter_bound): Change bound to widest_int.
16919 (struct loop): Change nb_iterations_upper_bound and
16920 nb_iterations_estimate to widest_int.
16921 (record_niter_bound): Switch to use widest_int.
16922 (get_estimated_loop_iterations): Likewise.
16923 (get_max_loop_iterations): Likewise.
16924 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
16925 update for wide-int.
16926 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
16927 * combine.c (try_combine): Likewise.
16928 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
16929 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
16930 interfaces.
16931 (aarch64_float_const_representable_p): Likewise.
16932 * config/arc/arc.c: Include wide-int.h.
16933 (arc_can_use_doloop_p): Use wide-int interfaces.
16934 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
16935 (vfp3_const_double_index): Likewise.
16936 * config/avr/avr.c (avr_out_round): Likewise.
16937 (avr_fold_builtin): Likewise.
16938 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
16939 (bfin_can_use_doloop_p): Likewise.
16940 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
16941 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
16942 * config/i386/i386.c: Include wide-int.h.
16943 (ix86_data_alignment): Use wide-int interfaces.
16944 (ix86_local_alignment): Likewise.
16945 (ix86_emit_swsqrtsf): Update real_from_integer.
16946 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
16947 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
16948 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
16949 (zero_constant): Likewise.
16950 (input_operand): Likewise.
16951 (splat_input_operand): Likewise.
16952 (non_logical_cint_operand): Change const_double to const_wide_int.
16953 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
16954 (easy_altivec_constant): Remove comment.
16955 (paired_expand_vector_init): Use CONSTANT_P.
16956 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
16957 (rs6000_emit_move): Update checks.
16958 (rs6000_aggregate_candidate): Use wide-int interfaces.
16959 (rs6000_expand_ternop_builtin): Likewise.
16960 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
16961 (rs6000_assemble_integer): Likewise.
16962 (rs6000_hash_constant): Likewise.
16963 (output_toc): Likewise.
16964 (rs6000_rtx_costs): Likewise.
16965 (rs6000_emit_swrsqrt); Update call to real_from_integer.
16966 * config/rs6000/rs6000-c.c: Include wide-int.h.
16967 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
16968 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
16969 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
16970 Handle CONST_WIDE_INT.
16971 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
16972 Use tree_fits_uhwi_p.
16973 * config/sparc/sparc.c: Include wide-int.h.
16974 (sparc_fold_builtin): Use wide-int interfaces.
16975 * config/vax/vax.c: Include wide-int.h.
16976 (vax_float_literal): Use real_from_integer.
16977 * coretypes.h (struct hwivec_def): New.
16978 (hwivec): New.
16979 (const_hwivec): New.
16980 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
16981 (equiv_constant): Handle CONST_WIDE_INT.
16982 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
16983 (cselib_hash_rtx): Handle CONST_WIDE_INT.
16984 * dbxout.c (stabstr_U): Use wide-int interfaces.
16985 (dbxout_type): Update to use cst_fits_shwi_p.
16986 * defaults.h (LOG2_BITS_PER_UNIT): Define.
16987 (TARGET_SUPPORTS_WIDE_INT): Add default.
16988 * dfp.c: Include wide-int.h.
16989 (decimal_real_to_integer2): Use wide-int interfaces and rename to
16990 decimal_real_to_integer.
16991 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
16992 decimal_real_to_integer.
16993 * doc/generic.texi (Constant expressions): Update for wide_int.
16994 * doc/rtl.texi (const_double): Likewise.
16995 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
16996 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
16997 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
16998 (REAL_VALUE_FROM_INT): Remove.
16999 (TARGET_SUPPORTS_WIDE_INT): New.
17000 * doc/tm.texi: Regenerate.
17001 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
17002 * double-int.h: Include wide-int.h.
17003 (struct wi::int_traits): New.
17004 * dwarf2out.c (get_full_len): New.
17005 (dw_val_equal_p): Add case dw_val_class_wide_int.
17006 (size_of_loc_descr): Likewise.
17007 (output_loc_operands): Likewise.
17008 (insert_double): Remove.
17009 (insert_wide_int): New.
17010 (add_AT_wide): New.
17011 (print_die): Add case dw_val_class_wide_int.
17012 (attr_checksum): Likewise.
17013 (attr_checksum_ordered): Likewise.
17014 (same_dw_val_p): Likewise.
17015 (size_of_die): Likewise.
17016 (value_format): Likewise.
17017 (output_die): Likewise.
17018 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
17019 Use wide-int.
17020 (clz_loc_descriptor): Use wide-int interfaces.
17021 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
17022 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
17023 (round_up_to_align): Use wide-int interfaces.
17024 (field_byte_offset): Likewise.
17025 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
17026 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
17027 CONST_DOUBLE handling. Use wide-int interfaces.
17028 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
17029 (gen_enumeration_type_die): Use add_AT_wide.
17030 (hash_loc_operands): Add case dw_val_class_wide_int.
17031 (compare_loc_operands): Likewise.
17032 * dwarf2out.h: Include wide-int.h.
17033 (wide_int_ptr): New.
17034 (enum dw_val_class): Add dw_val_class_wide_int.
17035 (struct dw_val_struct): Add val_wide.
17036 * emit-rtl.c (const_wide_int_htab): New.
17037 (const_wide_int_htab_hash): New.
17038 (const_wide_int_htab_eq): New.
17039 (lookup_const_wide_int): New.
17040 (const_double_htab_hash): Use wide-int interfaces.
17041 (const_double_htab_eq): Likewise.
17042 (rtx_to_double_int): Conditionally compile for wide-int.
17043 (immed_double_int_const): Rename to immed_wide_int_const and
17044 update for wide-int.
17045 (immed_double_const): Conditionally compile for wide-int.
17046 (init_emit_once): Use wide-int interfaces.
17047 * explow.c (plus_constant): Likewise.
17048 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
17049 (lshift_value): Use wide-int interfaces.
17050 (expand_mult): Likewise.
17051 (choose_multiplier): Likewise.
17052 (expand_smod_pow2): Likewise.
17053 (make_tree): Likewise.
17054 * expr.c (convert_modes): Consolidate handling of constants.
17055 Use wide-int interfaces.
17056 (emit_group_load_1): Add note.
17057 (store_expr): Update comment.
17058 (get_inner_reference): Use wide-int interfaces.
17059 (expand_constructor): Update comment.
17060 (expand_expr_real_2): Use wide-int interfaces.
17061 (expand_expr_real_1): Likewise.
17062 (reduce_to_bit_field_precision): Likewise.
17063 (const_vector_from_tree): Likewise.
17064 * final.c: Include wide-int-print.h.
17065 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
17066 * fixed-value.c: Include wide-int.h.
17067 (fixed_from_string): Use wide-int interfaces.
17068 (fixed_to_decimal): Likewise.
17069 (fixed_convert_from_real): Likewise.
17070 (real_convert_from_fixed): Likewise.
17071 * fold-const.h (mem_ref_offset): Return an offset_int.
17072 (div_if_zero_remainder): Remove code parameter.
17073 * fold-const.c (div_if_zero_remainder): Remove code parameter.
17074 Use wide-int interfaces.
17075 (may_negate_without_overflow_p): Use wide-int interfaces.
17076 (negate_expr_p): Likewise.
17077 (fold_negate_expr): Likewise.
17078 (int_const_binop_1): Likewise.
17079 (const_binop): Likewise.
17080 (fold_convert_const_int_from_int): Likewise.
17081 (fold_convert_const_int_from_real): Likewise.
17082 (fold_convert_const_int_from_fixed): Likewise.
17083 (fold_convert_const_fixed_from_int): Likewise.
17084 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
17085 (sign_bit_p): Use wide-int interfaces.
17086 (make_range_step): Likewise.
17087 (build_range_check): Likewise. Pass an integer of the correct type
17088 instead of using integer_one_node.
17089 (range_predecessor): Pass an integer of the correct type instead
17090 of using integer_one_node.
17091 (range_successor): Likewise.
17092 (merge_ranges): Likewise.
17093 (unextend): Use wide-int interfaces.
17094 (extract_muldiv_1): Likewise.
17095 (fold_div_compare): Likewise.
17096 (fold_single_bit_test): Likewise.
17097 (fold_sign_changed_comparison): Likewise.
17098 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
17099 (fold_plusminus_mult_expr): Use wide-int interfaces.
17100 (native_encode_int): Likewise.
17101 (native_interpret_int): Likewise.
17102 (fold_unary_loc): Likewise.
17103 (pointer_may_wrap_p): Likewise.
17104 (size_low_cst): Likewise.
17105 (mask_with_tz): Likewise.
17106 (fold_binary_loc): Likewise.
17107 (fold_ternary_loc): Likewise.
17108 (multiple_of_p): Likewise.
17109 (tree_call_nonnegative_warnv_p): Update calls to
17110 tree_int_cst_min_precision and real_from_integer.
17111 (fold_negate_const): Use wide-int interfaces.
17112 (fold_abs_const): Likewise.
17113 (fold_relational_const): Use tree_int_cst_lt.
17114 (round_up_loc): Use wide-int interfaces.
17115 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
17116 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
17117 * gengtype.c: Remove include of double-int.h.
17118 (do_typedef): Use wide-int interfaces.
17119 (open_base_files): Add wide-int.h.
17120 (main): Add offset_int and widest_int typedefs.
17121 * gengtype-lex.l: Handle "^".
17122 (CXX_KEYWORD): Add "static".
17123 * gengtype-parse.c (require3): New.
17124 (require_template_declaration): Handle constant template arguments
17125 and nested templates.
17126 * gengtype-state.c: Don't include "double-int.h".
17127 * genpreds.c (write_one_predicate_function): Update comment.
17128 (write_tm_constrs_h): Add check for hval and lval use in
17129 CONST_WIDE_INT.
17130 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
17131 (add_to_sequence): Likewise.
17132 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
17133 and const_double_operand.
17134 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
17135 interfaces.
17136 * gimple-fold.c (get_base_constructor): Likewise.
17137 (fold_array_ctor_reference): Likewise.
17138 (fold_nonarray_ctor_reference): Likewise.
17139 (fold_const_aggregate_ref_1): Likewise.
17140 (gimple_val_nonnegative_real_p): Likewise.
17141 (gimple_fold_indirect_ref): Likewise.
17142 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
17143 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
17144 (struct slsr_cand_d): Change index to be widest_int.
17145 (struct incr_info_d): Change incr to be widest_int.
17146 (alloc_cand_and_find_basis): Use wide-int interfaces.
17147 (slsr_process_phi): Likewise.
17148 (backtrace_base_for_ref): Likewise. Return a widest_int.
17149 (restructure_reference): Take a widest_int instead of a double_int.
17150 (slsr_process_ref): Use wide-int interfaces.
17151 (create_mul_ssa_cand): Likewise.
17152 (create_mul_imm_cand): Likewise.
17153 (create_add_ssa_cand): Likewise.
17154 (create_add_imm_cand): Take a widest_int instead of a double_int.
17155 (slsr_process_add): Use wide-int interfaces.
17156 (slsr_process_cast): Likewise.
17157 (slsr_process_copy): Likewise.
17158 (dump_candidate): Likewise.
17159 (dump_incr_vec): Likewise.
17160 (replace_ref): Likewise.
17161 (cand_increment): Likewise. Return a widest_int.
17162 (cand_abs_increment): Likewise.
17163 (replace_mult_candidate): Take a widest_int instead of a double_int.
17164 (replace_unconditional_candidate): Use wide-int interfaces.
17165 (incr_vec_index): Take a widest_int instead of a double_int.
17166 (create_add_on_incoming_edge): Likewise.
17167 (create_phi_basis): Use wide-int interfaces.
17168 (replace_conditional_candidate): Likewise.
17169 (record_increment): Take a widest_int instead of a double_int.
17170 (record_phi_increments): Use wide-int interfaces.
17171 (phi_incr_cost): Take a widest_int instead of a double_int.
17172 (lowest_cost_path): Likewise.
17173 (total_savings): Likewise.
17174 (analyze_increments): Use wide-int interfaces.
17175 (ncd_with_phi): Take a widest_int instead of a double_int.
17176 (ncd_of_cand_and_phis): Likewise.
17177 (nearest_common_dominator_for_cands): Likewise.
17178 (insert_initializers): Use wide-int interfaces.
17179 (all_phi_incrs_profitable): Likewise.
17180 (replace_one_candidate): Likewise.
17181 (replace_profitable_candidates): Likewise.
17182 * godump.c: Include wide-int-print.h.
17183 (go_output_typedef): Use wide-int interfaces.
17184 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
17185 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
17186 (build_loop_iteration_domains): Likewise.
17187 * hooks.h: Include wide-int.h rather than double-int.h.
17188 (hook_bool_dint_dint_uint_bool_true): Delete.
17189 (hook_bool_wint_wint_uint_bool_true): Declare.
17190 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
17191 (hook_bool_wint_wint_uint_bool_true): New.
17192 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
17193 interfaces.
17194 (ubsan_expand_si_overflow_mul_check): Likewise.
17195 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
17196 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
17197 (get_ancestor_addr_info): Likewise.
17198 (ipa_modify_call_arguments): Likewise.
17199 * loop-doloop.c (doloop_modify): Likewise.
17200 (doloop_optimize): Likewise.
17201 * loop-iv.c (iv_number_of_iterations): Likewise.
17202 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
17203 (unroll_loop_constant_iterations): Likewise.
17204 (decide_unroll_runtime_iterations): Likewise.
17205 (unroll_loop_runtime_iterations): Likewise.
17206 (decide_peel_simple): Likewise.
17207 (decide_unroll_stupid): Likewise.
17208 * lto-streamer-in.c (streamer_read_wi): Add.
17209 (input_cfg): Use wide-int interfaces.
17210 (lto_input_tree_1): Likewise.
17211 * lto-streamer-out.c (streamer_write_wi): Add.
17212 (hash_tree): Use wide-int interfaces.
17213 (output_cfg): Likewise.
17214 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
17215 (GTFILES): Add wide-int.h and signop.h.
17216 (TAGS): Look for .cc files too.
17217 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
17218 * optabs.c (expand_subword_shift): Likewise.
17219 (expand_doubleword_shift): Likewise.
17220 (expand_absneg_bit): Likewise.
17221 (expand_copysign_absneg): Likewise.
17222 (expand_copysign_bit): Likewise.
17223 * postreload.c (reload_cse_simplify_set): Likewise.
17224 * predict.c (predict_iv_comparison): Likewise.
17225 * pretty-print.h: Include wide-int-print.h.
17226 (pp_wide_int) New.
17227 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
17228 * print-tree.c: Include wide-int-print.h.
17229 (print_node_brief): Use wide-int interfaces.
17230 (print_node): Likewise.
17231 * read-rtl.c (validate_const_wide_int): New.
17232 (read_rtx_code): Add CONST_WIDE_INT case.
17233 * real.c: Include wide-int.h.
17234 (real_to_integer2): Delete.
17235 (real_to_integer): New function, returning a wide_int.
17236 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
17237 (ten_to_ptwo): Update call to real_from_integer.
17238 (real_digit): Likewise.
17239 * real.h: Include signop.h, wide-int.h and insn-modes.h.
17240 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
17241 (REAL_VALUE_TO_INT): Delete.
17242 (real_to_integer): Declare a wide-int form.
17243 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
17244 * recog.c (const_int_operand): Improve comment.
17245 (const_scalar_int_operand): New.
17246 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
17247 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
17248 (split_double): Likewise.
17249 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
17250 (rtx_size): Likewise.
17251 (rtx_alloc_stat_v): New.
17252 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
17253 (cwi_output_hex): New.
17254 (iterative_hash_rtx): Handle CONST_WIDE_INT.
17255 (cwi_check_failed_bounds): New.
17256 * rtl.def (CONST_WIDE_INT): New.
17257 * rtl.h: Include <utility> and wide-int.h.
17258 (struct hwivec_def): New.
17259 (CWI_GET_NUM_ELEM): New.
17260 (CWI_PUT_NUM_ELEM): New.
17261 (struct rtx_def): Add num_elem and hwiv.
17262 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
17263 (CASE_CONST_UNIQUE): Likewise.
17264 (CASE_CONST_ANY): Likewise.
17265 (CONST_SCALAR_INT_P): Likewise.
17266 (CONST_WIDE_INT_P): New.
17267 (CWI_ELT): New.
17268 (HWIVEC_CHECK): New.
17269 (cwi_check_failed_bounds): New.
17270 (CWI_ELT): New.
17271 (HWIVEC_CHECK): New.
17272 (CONST_WIDE_INT_VEC) New.
17273 (CONST_WIDE_INT_NUNITS) New.
17274 (CONST_WIDE_INT_ELT) New.
17275 (rtx_mode_t): New type.
17276 (wi::int_traits <rtx_mode_t>): New.
17277 (wi::shwi): New.
17278 (wi::min_value): New.
17279 (wi::max_value): New.
17280 (rtx_alloc_v) New.
17281 (const_wide_int_alloc): New.
17282 (immed_wide_int_const): New.
17283 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
17284 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
17285 * signop.h: New file.
17286 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
17287 (simplify_const_unary_operation): Use wide-int interfaces.
17288 (simplify_binary_operation_1): Likewise.
17289 (simplify_const_binary_operation): Likewise.
17290 (simplify_const_relational_operation): Likewise.
17291 (simplify_immed_subreg): Likewise.
17292 * stmt.c (expand_case): Likewise.
17293 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
17294 signop rather than a bool.
17295 * stor-layout.c (layout_type): Use wide-int interfaces.
17296 (initialize_sizetypes): Update calls to
17297 set_min_and_max_values_for_integral_type.
17298 (set_min_and_max_values_for_integral_type): Take a signop rather
17299 than a bool. Use wide-int interfaces.
17300 (fixup_signed_type): Update accordingly. Remove
17301 HOST_BITS_PER_DOUBLE_INT limit.
17302 (fixup_unsigned_type): Likewise.
17303 * system.h (STATIC_CONSTANT_P): New.
17304 (STATIC_ASSERT): New.
17305 * target.def (can_use_doloop_p): Take widest_ints rather than
17306 double_ints.
17307 * target.h: Include wide-int.h rather than double-int.h.
17308 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
17309 than double_ints.
17310 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
17311 rather than INT_CST_LT_UNSIGNED.
17312 (can_use_doloop_if_innermost): Take widest_ints rather than
17313 double_ints.
17314 * tree-affine.c: Include wide-int-print.h.
17315 (double_int_ext_for_comb): Delete.
17316 (wide_int_ext_for_comb): New.
17317 (aff_combination_zero): Use wide-int interfaces.
17318 (aff_combination_const): Take a widest_int instead of a double_int.
17319 (aff_combination_elt): Use wide-int interfaces.
17320 (aff_combination_scale): Take a widest_int instead of a double_int.
17321 (aff_combination_add_elt): Likewise.
17322 (aff_combination_add_cst): Likewise.
17323 (aff_combination_add): Use wide-int interfaces.
17324 (aff_combination_convert): Likewise.
17325 (tree_to_aff_combination): Likewise.
17326 (add_elt_to_tree): Take a widest_int instead of a double_int.
17327 (aff_combination_to_tree): Use wide-int interfaces.
17328 (aff_combination_remove_elt): Likewise.
17329 (aff_combination_add_product): Take a widest_int instead of
17330 a double_int.
17331 (aff_combination_mult): Use wide-int interfaces.
17332 (aff_combination_expand): Likewise.
17333 (double_int_constant_multiple_p): Delete.
17334 (wide_int_constant_multiple_p): New.
17335 (aff_combination_constant_multiple_p): Take a widest_int pointer
17336 instead of a double_int pointer.
17337 (print_aff): Use wide-int interfaces.
17338 (get_inner_reference_aff): Take a widest_int pointer
17339 instead of a double_int pointer.
17340 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
17341 * tree-affine.h: Include wide-int.h.
17342 (struct aff_comb_elt): Change type of coef to widest_int.
17343 (struct affine_tree_combination): Change type of offset to widest_int.
17344 (double_int_ext_for_comb): Delete.
17345 (wide_int_ext_for_comb): New.
17346 (aff_combination_const): Use widest_int instead of double_int.
17347 (aff_combination_scale): Likewise.
17348 (aff_combination_add_elt): Likewise.
17349 (aff_combination_constant_multiple_p): Likewise.
17350 (get_inner_reference_aff): Likewise.
17351 (aff_comb_cannot_overlap_p): Likewise.
17352 (aff_combination_zero_p): Use wide-int interfaces.
17353 * tree.c: Include tree.h.
17354 (init_ttree): Use make_int_cst.
17355 (tree_code_size): Removed code for INTEGER_CST case.
17356 (tree_size): Add INTEGER_CST case.
17357 (make_node_stat): Update comment.
17358 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
17359 (build_int_cst_type): Use wide-int interfaces.
17360 (double_int_to_tree): Likewise.
17361 (double_int_fits_to_tree_p): Delete.
17362 (force_fit_type_double): Delete.
17363 (force_fit_type): New.
17364 (int_cst_hash_hash): Use wide-int interfaces.
17365 (int_cst_hash_eq): Likewise.
17366 (build_int_cst_wide): Delete.
17367 (wide_int_to_tree): New.
17368 (cache_integer_cst): Use wide-int interfaces.
17369 (build_low_bits_mask): Likewise.
17370 (cst_and_fits_in_hwi): Likewise.
17371 (real_value_from_int_cst): Likewise.
17372 (make_int_cst_stat): New.
17373 (integer_zerop): Use wide_int interfaces.
17374 (integer_onep): Likewise.
17375 (integer_all_onesp): Likewise.
17376 (integer_pow2p): Likewise.
17377 (integer_nonzerop): Likewise.
17378 (tree_log2): Likewise.
17379 (tree_floor_log2): Likewise.
17380 (tree_ctz): Likewise.
17381 (int_size_in_bytes): Likewise.
17382 (mem_ref_offset): Return an offset_int rather than a double_int.
17383 (build_type_attribute_qual_variant): Use wide_int interfaces.
17384 (type_hash_eq): Likewise
17385 (tree_int_cst_equal): Likewise.
17386 (tree_int_cst_lt): Delete.
17387 (tree_int_cst_compare): Likewise.
17388 (tree_fits_shwi_p): Use wide_int interfaces.
17389 (tree_fits_uhwi_p): Likewise.
17390 (tree_int_cst_sign_bit): Likewise.
17391 (tree_int_cst_sgn): Likewise.
17392 (tree_int_cst_min_precision): Take a signop rather than a bool.
17393 (simple_cst_equal): Use wide_int interfaces.
17394 (compare_tree_int): Likewise.
17395 (iterative_hash_expr): Likewise.
17396 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
17397 INT_CST_LT.
17398 (get_type_static_bounds): Use wide_int interfaces.
17399 (tree_int_cst_elt_check_failed): New.
17400 (build_common_tree_nodes): Reordered to set prec before filling in
17401 value.
17402 (int_cst_value): Check cst_and_fits_in_hwi.
17403 (widest_int_cst_value): Use wide_int interfaces.
17404 (upper_bound_in_type): Likewise.
17405 (lower_bound_in_type): Likewise.
17406 (num_ending_zeros): Likewise.
17407 (drop_tree_overflow): Likewise.
17408 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
17409 (gen_conditions_for_pow_cst_base): Likewise.
17410 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
17411 (group_case_labels_stmt): Use wide-int interfaces.
17412 (verify_gimple_assign_binary): Likewise.
17413 (print_loop): Likewise.
17414 * tree-chrec.c (tree_fold_binomial): Likewise.
17415 * tree-core.h (struct tree_base): Add int_length.
17416 (struct tree_int_cst): Change rep of value.
17417 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
17418 (dr_may_alias_p): Likewise.
17419 (max_stmt_executions_tree): Likewise.
17420 * tree.def (INTEGER_CST): Update comment.
17421 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
17422 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
17423 * tree-dump.c: Include wide-int.h and wide-int-print.h.
17424 (dequeue_and_dump): Use wide-int interfaces.
17425 * tree.h: Include wide-int.h.
17426 (NULL_TREE): Moved to earlier loc in file.
17427 (TREE_INT_CST_ELT_CHECK): New.
17428 (tree_int_cst_elt_check_failed): New.
17429 (TYPE_SIGN): New.
17430 (TREE_INT_CST): Delete.
17431 (TREE_INT_CST_LOW): Use wide-int interfaces.
17432 (TREE_INT_CST_HIGH): Delete.
17433 (TREE_INT_CST_NUNITS): New.
17434 (TREE_INT_CST_EXT_NUNITS): Likewise.
17435 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
17436 (TREE_INT_CST_ELT): Likewise.
17437 (INT_CST_LT): Delete.
17438 (tree_int_cst_elt_check): New (two forms).
17439 (type_code_size): Update comment.
17440 (make_int_cst_stat, make_int_cst): New.
17441 (tree_to_double_int): Delete.
17442 (double_int_fits_to_tree_p): Delete.
17443 (force_fit_type_double): Delete.
17444 (build_int_cstu): Replace with out-of-line function.
17445 (build_int_cst_wide): Delete.
17446 (tree_int_cst_lt): Define inline.
17447 (tree_int_cst_le): New.
17448 (tree_int_cst_compare): Define inline.
17449 (tree_int_cst_min_precision): Take a signop rather than a bool.
17450 (wi::int_traits <const_tree>): New.
17451 (wi::int_traits <tree>): New.
17452 (wi::extended_tree): New.
17453 (wi::int_traits <wi::extended_tree>): New.
17454 (wi::to_widest): New.
17455 (wi::to_offset): New.
17456 (wi::fits_to_tree_p): New.
17457 (wi::min_value): New.
17458 (wi::max_value): New.
17459 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
17460 (copy_tree_body_r): Likewise.
17461 * tree-object-size.c (compute_object_offset): Likewise.
17462 (addr_object_size): Likewise.
17463 * tree-predcom.c: Include wide-int-print.h.
17464 (struct dref_d): Change type of offset to widest_int.
17465 (dump_dref): Call wide-int printer.
17466 (aff_combination_dr_offset): Use wide-int interfaces.
17467 (determine_offset): Take a widest_int pointer rather than a
17468 double_int pointer.
17469 (split_data_refs_to_components): Use wide-int interfaces.
17470 (suitable_component_p): Likewise.
17471 (order_drefs): Likewise.
17472 (add_ref_to_chain): Likewise.
17473 (valid_initializer_p): Likewise.
17474 (determine_roots_comp): Likewise.
17475 * tree-pretty-print.c: Include wide-int-print.h.
17476 (dump_generic_node): Use wide-int interfaces.
17477 * tree-sra.c (sra_ipa_modify_expr): Likewise.
17478 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
17479 (move_fixed_address_to_symbol): Likewise.
17480 (move_hint_to_base): Likewise.
17481 (move_pointer_to_base): Likewise.
17482 (move_variant_to_index): Likewise.
17483 (most_expensive_mult_to_index): Likewise.
17484 (addr_to_parts): Likewise.
17485 (copy_ref_info): Likewise.
17486 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
17487 (indirect_refs_may_alias_p): Likewise.
17488 (stmt_kills_ref_p_1): Likewise.
17489 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
17490 * tree-ssa-ccp.c: Update comment at top of file. Include
17491 wide-int-print.h.
17492 (struct prop_value_d): Change type of mask to widest_int.
17493 (extend_mask): New function.
17494 (dump_lattice_value): Use wide-int interfaces.
17495 (get_default_value): Likewise.
17496 (set_constant_value): Likewise.
17497 (set_value_varying): Likewise.
17498 (valid_lattice_transition): Likewise.
17499 (set_lattice_value): Likewise.
17500 (value_to_double_int): Delete.
17501 (value_to_wide_int): New.
17502 (get_value_from_alignment): Use wide-int interfaces.
17503 (get_value_for_expr): Likewise.
17504 (do_dbg_cnt): Likewise.
17505 (ccp_finalize): Likewise.
17506 (ccp_lattice_meet): Likewise.
17507 (bit_value_unop_1): Use widest_ints rather than double_ints.
17508 (bit_value_binop_1): Likewise.
17509 (bit_value_unop): Use wide-int interfaces.
17510 (bit_value_binop): Likewise.
17511 (bit_value_assume_aligned): Likewise.
17512 (evaluate_stmt): Likewise.
17513 (ccp_fold_stmt): Likewise.
17514 (visit_cond_stmt): Likewise.
17515 (ccp_visit_stmt): Likewise.
17516 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
17517 (constant_pointer_difference): Likewise.
17518 (associate_pointerplus): Likewise.
17519 (combine_conversions): Likewise.
17520 * tree-ssa-loop.h: Include wide-int.h.
17521 (struct tree_niter_desc): Change type of max to widest_int.
17522 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
17523 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
17524 (remove_redundant_iv_tests): Likewise.
17525 (canonicalize_loop_induction_variables): Likewise.
17526 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
17527 (constant_multiple_of): Take a widest_int pointer instead of
17528 a double_int pointer.
17529 (get_computation_aff): Use wide-int interfaces.
17530 (ptr_difference_cost): Likewise.
17531 (difference_cost): Likewise.
17532 (get_loop_invariant_expr_id): Likewise.
17533 (get_computation_cost_at): Likewise.
17534 (iv_elimination_compare_lt): Likewise.
17535 (may_eliminate_iv): Likewise.
17536 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
17537 instead of double_int.
17538 (max_loop_iterations): Likewise.
17539 (max_stmt_executions): Likewise.
17540 (estimated_stmt_executions): Likewise.
17541 * tree-ssa-loop-niter.c: Include wide-int-print.h.
17542 (split_to_var_and_offset): Use wide-int interfaces.
17543 (determine_value_range): Likewise.
17544 (bound_difference_of_offsetted_base): Likewise.
17545 (bounds_add): Take a widest_int instead of a double_int.
17546 (number_of_iterations_ne_max): Use wide-int interfaces.
17547 (number_of_iterations_ne): Likewise.
17548 (number_of_iterations_lt_to_ne): Likewise.
17549 (assert_loop_rolls_lt): Likewise.
17550 (number_of_iterations_lt): Likewise.
17551 (number_of_iterations_le): Likewise.
17552 (number_of_iterations_cond): Likewise.
17553 (number_of_iterations_exit): Likewise.
17554 (finite_loop_p): Likewise.
17555 (derive_constant_upper_bound_assign): Likewise.
17556 (derive_constant_upper_bound): Return a widest_int.
17557 (derive_constant_upper_bound_ops): Likewise.
17558 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
17559 (record_estimate): Take a widest_int rather than a double_int.
17560 (record_nonwrapping_iv): Use wide-int interfaces.
17561 (double_int_cmp): Delete.
17562 (wide_int_cmp): New.
17563 (bound_index): Take a widest_int rather than a double_int.
17564 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
17565 (maybe_lower_iteration_bound): Likewise.
17566 (estimate_numbers_of_iterations_loop): Likewise.
17567 (estimated_loop_iterations): Take a widest_int pointer than than
17568 a double_int pointer.
17569 (estimated_loop_iterations_int): Use wide-int interfaces.
17570 (max_loop_iterations): Take a widest_int pointer than than
17571 a double_int pointer.
17572 (max_loop_iterations_int): Use wide-int interfaces.
17573 (max_stmt_executions): Take a widest_int pointer than than
17574 a double_int pointer.
17575 (estimated_stmt_executions): Likewise.
17576 (n_of_executions_at_most): Use wide-int interfaces.
17577 (scev_probably_wraps_p): Likewise.
17578 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
17579 to real_to_integer.
17580 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
17581 interfaces.
17582 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
17583 double_ints. Adjust for trailing_wide_ints <3> representation.
17584 (set_nonzero_bits): Likewise.
17585 (get_range_info): Return wide_ints rather than double_ints.
17586 Adjust for trailing_wide_ints <3> representation.
17587 (get_nonzero_bits): Likewise.
17588 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
17589 representation.
17590 * tree-ssanames.h (struct range_info_def): Replace min, max and
17591 nonzero_bits with a trailing_wide_ints <3>.
17592 (set_range_info): Use wide_int_refs rather than double_ints.
17593 (set_nonzero_bits): Likewise.
17594 (get_range_info): Return wide_ints rather than double_ints.
17595 (get_nonzero_bits): Likewise.
17596 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
17597 * tree-ssa-pre.c (phi_translate_1): Likewise.
17598 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
17599 (acceptable_pow_call): Likewise.
17600 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
17601 interfaces.
17602 (vn_reference_fold_indirect): Likewise.
17603 (vn_reference_maybe_forwprop_address): Likewise.
17604 (valueize_refs_1): Likewise.
17605 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
17606 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
17607 tree_int_cst_lt and tree_int_cst_le.
17608 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
17609 interfaces.
17610 (streamer_alloc_tree): Likewise.
17611 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
17612 (streamer_write_tree_header): Likewise.
17613 (streamer_write_integer_cst): Likewise.
17614 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
17615 (build_constructors): Likewise.
17616 (array_value_type): Likewise.
17617 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
17618 (vect_check_gather): Likewise.
17619 * tree-vect-generic.c (build_replicated_const): Likewise.
17620 (expand_vector_divmod): Likewise.
17621 * tree-vect-loop.c (vect_transform_loop): Likewise.
17622 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
17623 (vect_do_peeling_for_alignment): Likewise.
17624 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
17625 * tree-vrp.c: Include wide-int.h.
17626 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
17627 (extract_range_from_assert): Use wide-int interfaces.
17628 (vrp_int_const_binop): Likewise.
17629 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
17630 double_int pointers.
17631 (ranges_from_anti_range): Use wide-int interfaces.
17632 (quad_int_cmp): Delete.
17633 (quad_int_pair_sort): Likewise.
17634 (extract_range_from_binary_expr_1): Use wide-int interfaces.
17635 (extract_range_from_unary_expr_1): Likewise.
17636 (adjust_range_with_scev): Likewise.
17637 (masked_increment): Take and return wide_ints rather than double_ints.
17638 (register_edge_assert_for_2): Use wide-int interfaces.
17639 (check_array_ref): Likewise.
17640 (search_for_addr_array): Likewise.
17641 (maybe_set_nonzero_bits): Likewise.
17642 (union_ranges): Pass an integer of the correct type instead of
17643 using integer_one_node.
17644 (intersect_ranges): Likewise.
17645 (simplify_truth_ops_using_ranges): Likewise.
17646 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
17647 (range_fits_type_p): Likewise.
17648 (simplify_cond_using_ranges): Likewise. Take a signop rather than
17649 a bool.
17650 (simplify_conversion_using_ranges): Use wide-int interfaces.
17651 (simplify_float_conversion_using_ranges): Likewise.
17652 (vrp_finalize): Likewise.
17653 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
17654 (gimple_stringops_transform): Likewise.
17655 * varasm.c (decode_addr_const): Likewise.
17656 (const_hash_1): Likewise.
17657 (const_rtx_hash_1): Likewise
17658 (output_constant): Likewise.
17659 (array_size_for_constructor): Likewise.
17660 (output_constructor_regular_field): Likewise.
17661 (output_constructor_bitfield): Likewise.
17662 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
17663 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
17664 GENERATOR_FILEs.
17665 * gencheck.c: Define BITS_PER_UNIT.
17666 * wide-int.cc: New.
17667 * wide-int.h: New.
17668 * wide-int-print.cc: New.
17669 * wide-int-print.h: New.
17670
17671 2014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
17672
17673 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
17674
17675 2014-05-06 Richard Biener <rguenther@suse.de>
17676
17677 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
17678 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
17679 (TODO_verify_all): Adjust.
17680 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
17681 TODO_verify_stmts and TODO_verify_rtl_sharing.
17682 * bb-reorder.c: Likewise.
17683 * cfgexpand.c: Likewise.
17684 * cprop.c: Likewise.
17685 * cse.c: Likewise.
17686 * function.c: Likewise.
17687 * fwprop.c: Likewise.
17688 * gcse.c: Likewise.
17689 * gimple-ssa-isolate-paths.c: Likewise.
17690 * gimple-ssa-strength-reduction.c: Likewise.
17691 * ipa-split.c: Likewise.
17692 * loop-init.c: Likewise.
17693 * loop-unroll.c: Likewise.
17694 * lower-subreg.c: Likewise.
17695 * modulo-sched.c: Likewise.
17696 * postreload-gcse.c: Likewise.
17697 * predict.c: Likewise.
17698 * recog.c: Likewise.
17699 * sched-rgn.c: Likewise.
17700 * store-motion.c: Likewise.
17701 * tracer.c: Likewise.
17702 * trans-mem.c: Likewise.
17703 * tree-call-cdce.c: Likewise.
17704 * tree-cfg.c: Likewise.
17705 * tree-cfgcleanup.c: Likewise.
17706 * tree-complex.c: Likewise.
17707 * tree-eh.c: Likewise.
17708 * tree-emutls.c: Likewise.
17709 * tree-if-conv.c: Likewise.
17710 * tree-into-ssa.c: Likewise.
17711 * tree-loop-distribution.c: Likewise.
17712 * tree-object-size.c: Likewise.
17713 * tree-parloops.c: Likewise.
17714 * tree-pass.h: Likewise.
17715 * tree-sra.c: Likewise.
17716 * tree-ssa-ccp.c: Likewise.
17717 * tree-ssa-copy.c: Likewise.
17718 * tree-ssa-copyrename.c: Likewise.
17719 * tree-ssa-dce.c: Likewise.
17720 * tree-ssa-dom.c: Likewise.
17721 * tree-ssa-dse.c: Likewise.
17722 * tree-ssa-forwprop.c: Likewise.
17723 * tree-ssa-ifcombine.c: Likewise.
17724 * tree-ssa-loop-ch.c: Likewise.
17725 * tree-ssa-loop-ivcanon.c: Likewise.
17726 * tree-ssa-loop.c: Likewise.
17727 * tree-ssa-math-opts.c: Likewise.
17728 * tree-ssa-phiopt.c: Likewise.
17729 * tree-ssa-phiprop.c: Likewise.
17730 * tree-ssa-pre.c: Likewise.
17731 * tree-ssa-reassoc.c: Likewise.
17732 * tree-ssa-sink.c: Likewise.
17733 * tree-ssa-strlen.c: Likewise.
17734 * tree-ssa-tail-merge.c: Likewise.
17735 * tree-ssa-uncprop.c: Likewise.
17736 * tree-switch-conversion.c: Likewise.
17737 * tree-tailcall.c: Likewise.
17738 * tree-vect-generic.c: Likewise.
17739 * tree-vectorizer.c: Likewise.
17740 * tree-vrp.c: Likewise.
17741 * tsan.c: Likewise.
17742 * var-tracking.c: Likewise.
17743 * bt-load.c: Likewise.
17744 * cfgcleanup.c: Likewise.
17745 * combine-stack-adj.c: Likewise.
17746 * combine.c: Likewise.
17747 * compare-elim.c: Likewise.
17748 * config/epiphany/resolve-sw-modes.c: Likewise.
17749 * config/i386/i386.c: Likewise.
17750 * config/mips/mips.c: Likewise.
17751 * config/s390/s390.c: Likewise.
17752 * config/sh/sh_treg_combine.cc: Likewise.
17753 * config/sparc/sparc.c: Likewise.
17754 * dce.c: Likewise.
17755 * dse.c: Likewise.
17756 * final.c: Likewise.
17757 * ifcvt.c: Likewise.
17758 * mode-switching.c: Likewise.
17759 * passes.c: Likewise.
17760 * postreload.c: Likewise.
17761 * ree.c: Likewise.
17762 * reg-stack.c: Likewise.
17763 * regcprop.c: Likewise.
17764 * regrename.c: Likewise.
17765 * web.c: Likewise.
17766
17767 2014-05-06 Richard Biener <rguenther@suse.de>
17768
17769 PR middle-end/61070
17770 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
17771 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
17772
17773 2014-05-05 Jan Hubicka <hubicka@ucw.cz>
17774
17775 PR ipa/60965
17776 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
17777
17778 2014-05-05 Radovan Obradovic <robradovic@mips.com>
17779 Tom de Vries <tom@codesourcery.com>
17780
17781 * target.def (call_fusage_contains_non_callee_clobbers): New
17782 DEFHOOKPOD.
17783 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
17784 Hooks to @menu.
17785 (@node Miscellaneous Register Hooks): New node.
17786 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
17787 * doc/tm.texi: Regenerate.
17788
17789 2014-05-05 Marek Polacek <polacek@redhat.com>
17790
17791 PR driver/61065
17792 * opts.c (common_handle_option): Call error_at instead of warning_at.
17793
17794 2014-05-05 Richard Biener <rguenther@suse.de>
17795
17796 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
17797 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
17798 under the TODO_verify_il umbrella.
17799
17800 2014-05-05 Richard Biener <rguenther@suse.de>
17801
17802 * passes.c (execute_function_todo): Move TODO_verify_flow under
17803 the TODO_verify_ul umbrella.
17804
17805 2014-05-05 Richard Biener <rguenther@suse.de>
17806
17807 PR middle-end/61010
17808 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
17809 X & CST away from a CST that is the mask of a mode.
17810
17811 2014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
17812
17813 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
17814 int argument to enum machine_mode.
17815 (picochip_class_max_nregs): Ditto.
17816 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
17817 (picochip_class_max_nregs): Ditto.
17818
17819 2014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17820
17821 * target.def: Add new target hook.
17822 * doc/tm.texi: Regenerate.
17823 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
17824 * targhooks.c (default_keep_leaf_when_profiled): New function.
17825
17826 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
17827 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
17828
17829 2014-05-05 Bin Cheng <bin.cheng@arm.com>
17830
17831 PR tree-optimization/60363
17832 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
17833 (copy_phi_args): New parameters. Call get_value_locus_in_path.
17834 (update_destination_phis): New parameter.
17835 (create_edge_and_update_destination_phis): Ditto.
17836 (ssa_fix_duplicate_block_edges): Pass new arguments.
17837 (thread_single_edge): Ditto.
17838
17839 2014-05-04 Peter Bergner <bergner@vnet.ibm.com>
17840
17841 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
17842 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
17843 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
17844 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
17845 Use RS6000_BTM_HARD_FLOAT.
17846 (BU_MISC_2): Likewise.
17847 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
17848 RS6000_BTM_HARD_FLOAT.
17849 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
17850 is explicitly used.
17851 (rs6000_invalid_builtin): Add hard floating builtin support.
17852 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
17853 hard float builtins.
17854 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
17855
17856 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
17857
17858 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
17859 Add missing function* argument.
17860
17861 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
17862
17863 * lra-constraints.c (valid_address_p): Move earlier in file.
17864 Add a constraint argument to the address_info version.
17865 (satisfies_memory_constraint_p): New function.
17866 (satisfies_address_constraint_p): Likewise.
17867 (process_alt_operands, curr_insn_transform): Use them.
17868 (process_address): Pass the constraint to valid_address_p when
17869 checking address operands.
17870
17871 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
17872
17873 * config/mips/mips.c (mips_isa_rev): New variable.
17874 (mips_set_architecture): Set it.
17875 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
17876 from mips_isa_rev.
17877 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
17878 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
17879 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
17880 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
17881 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
17882 conditions in terms of mips_isa_rev.
17883 (mips_isa_rev): Declare.
17884
17885 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
17886
17887 * config/sh/sh-mem.cc: Use tabs instead of spaces.
17888 (prob_unlikely, prob_likely): Make variables const.
17889
17890 2014-05-03 Denis Chertykov <chertykov@gmail.com>
17891
17892 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
17893
17894 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
17895
17896 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
17897
17898 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
17899
17900 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
17901 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
17902 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
17903 functions.
17904 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
17905 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
17906 sh_pass_in_reg_p.
17907 Replace usage of ROUND_REG with sh_round_reg.
17908 Use CEIL instead of ROUND_ADVANCE.
17909
17910 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
17911
17912 PR target/61026
17913 * config/sh/sh.c: Include stdlib headers before everything else.
17914
17915 2014-05-02 Jakub Jelinek <jakub@redhat.com>
17916
17917 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
17918 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
17919 (gimplify_adjust_omp_clauses): Simd region is never
17920 directly nested in combined parallel. Instead, for linear
17921 with copyin/copyout, if in combined for simd loop, make decl
17922 firstprivate/lastprivate on OMP_FOR.
17923 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
17924 expand_omp_for_static_chunk): When setting endvar, also set
17925 fd->loop.v to the same value.
17926
17927 2014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
17928
17929 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
17930
17931 2014-05-02 Alan Lawrence <alan.lawrence@arm.com>
17932
17933 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
17934 expression.
17935
17936 2014-05-02 Marek Polacek <polacek@redhat.com>
17937
17938 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
17939
17940 2014-05-02 Kito Cheng <kito@0xlab.org>
17941
17942 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
17943 to a C expression marco.
17944 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
17945 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
17946 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
17947 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
17948 HONOR_REG_ALLOC_ORDER.
17949 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
17950
17951 2014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
17952
17953 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
17954
17955 2014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
17956
17957 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
17958
17959 2014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
17960
17961 * tree-if-conv.c (is_cond_scalar_reduction): New function.
17962 (convert_scalar_cond_reduction): Likewise.
17963 (predicate_scalar_phi): Add recognition and transformation
17964 of simple conditioanl reduction to be vectorizable.
17965
17966 2014-05-01 Marek Polacek <polacek@redhat.com>
17967
17968 PR c/43245
17969 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
17970
17971 2014-04-30 Alan Lawrence <alan.lawrence@arm.com>
17972
17973 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
17974 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
17975 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
17976 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
17977 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
17978 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
17979 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
17980 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
17981
17982 2014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
17983
17984 * config/arc/arc.opt (mlra): Move comment above option name
17985 to avoid mis-parsing as language options.
17986
17987 2014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17988
17989 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
17990 * config/sol2.h: ... here.
17991 * config/sol2-10.h: Remove.
17992
17993 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
17994 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
17995 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
17996 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
17997 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
17998 * config/sol2.h: ... here.
17999 (SECTION_NAME_FORMAT): Don't redefine.
18000 (STARTFILE_ARCH32_SPEC): Rename to ...
18001 (STARTFILE_ARCH_SPEC): ... this.
18002 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
18003 * config/sparc/sol2.h: ... here.
18004 (SECTION_NAME_FORMAT): Don't undef.
18005 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
18006 (SUBTARGET_EXTRA_SPECS): Remove.
18007 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
18008
18009 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
18010 (MD_STARTFILE_PREFIX): Remove.
18011 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
18012 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
18013 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
18014 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
18015 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
18016 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
18017 * config/i386/sol2.h: ... here.
18018 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
18019 * config/i386/sol2-bi.h: Remove.
18020 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
18021 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
18022
18023 * config/i386/t-sol2-64: Rename to ...
18024 * config/i386/t-sol2: ... this.
18025 * config/sparc/t-sol2-64: Rename to ...
18026 * config/sparc/t-sol2: ... this.
18027
18028 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
18029 sol2_tm_file_head, sol2_tm_file_tail.
18030 Include ${cpu_type}/sol2.h before sol2.h.
18031 Remove sol2-10.h.
18032 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
18033 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
18034 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
18035 Reflect i386/t-sol2-64 renaming.
18036 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
18037 Reflect sparc/t-sol2-64 renaming.
18038
18039 2014-04-30 Richard Biener <rguenther@suse.de>
18040
18041 * passes.c (execute_function_todo): Move TODO_verify_stmts
18042 and TODO_verify_ssa under the TODO_verify_il umbrella.
18043 * tree-ssa.h (verify_ssa): Adjust prototype.
18044 * tree-ssa.c (verify_ssa): Add parameter to tell whether
18045 we should verify SSA operands.
18046 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
18047 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
18048 whether we should verify whether not throwing stmts have EH info.
18049 * graphite-scop-detection.c (create_sese_edges): Adjust.
18050 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
18051 * tree-eh.c (lower_try_finally_switch): Do not add the
18052 default case label twice.
18053
18054 2014-04-30 Marek Polacek <polacek@redhat.com>
18055
18056 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
18057 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
18058 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
18059 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
18060
18061 2014-04-29 Alan Lawrence <alan.lawrence@arm.com>
18062
18063 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
18064 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
18065 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
18066 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
18067 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
18068 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
18069 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
18070 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
18071
18072 2014-04-29 David Malcolm <dmalcolm@redhat.com>
18073
18074 * tree-cfg.c (dump_function_to_file): Dump the return type of
18075 functions, in a line to itself before the function body, mimicking
18076 the layout of a C function.
18077
18078 2014-04-29 Jakub Jelinek <jakub@redhat.com>
18079
18080 PR tree-optimization/60971
18081 * tree-tailcall.c (process_assignment): Reject conversions which
18082 reduce precision.
18083
18084 2014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
18085
18086 * calls.c (initialize_argument_information): Always treat
18087 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
18088 (expand_call): Likewise.
18089 (emit_library_call_calue_1): Likewise.
18090 * expr.c (PUSH_ARGS_REVERSED): Do not define.
18091 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
18092 code accordingly.
18093
18094 2014-04-29 Nick Clifton <nickc@redhat.com>
18095
18096 * config/msp430/msp430.md (umulsidi): Fix typo.
18097 (mulhisi3): Enable even inside interrupt handlers.
18098 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
18099 bigger return address pushed in large mode.
18100
18101 2014-04-29 Nick Clifton <nickc@redhat.com>
18102
18103 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
18104 (arc_init_reg_tables): Use a machine_mode enum to iterate over
18105 available modes.
18106 * config/m32r/m32r.c (init_reg_tables): Likewise.
18107 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
18108 enum to hold the modes.
18109
18110 2014-04-29 Richard Biener <rguenther@suse.de>
18111
18112 * dominance.c (free_dominance_info): Add overload with
18113 function parameter.
18114 (dom_info_state): Likewise.
18115 (dom_info_available_p): Likewise.
18116 * basic-block.h (free_dominance_info, dom_info_state,
18117 dom_info_available_p): Declare overloads.
18118 * passes.c (execute_function_todo): Verify that verifiers
18119 don't change dominator info state. Drop dominator info
18120 for IPA pass invocations.
18121 * cgraph.c (release_function_body): Restore asserts that
18122 dominator information is released.
18123
18124 2014-04-29 Patrick Palka <patrick@parcs.ath.cx>
18125
18126 * doc/invoke.texi: Fix typo.
18127 * tree-vrp.c: Fix typos.
18128 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
18129
18130 2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
18131
18132 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
18133
18134 2014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
18135
18136 * config/aarch64/aarch64-builtins.c
18137 (aarch64_types_storestruct_lane_qualifiers): New.
18138 (TYPES_STORESTRUCT_LANE): Likewise.
18139 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
18140 (st3_lane): Likewise.
18141 (st4_lane): Likewise.
18142 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
18143 (vec_store_lanesci_lane<mode>): Likewise.
18144 (vec_store_lanesxi_lane<mode>): Likewise.
18145 (aarch64_st2_lane<VQ:mode>): Likewise.
18146 (aarch64_st3_lane<VQ:mode>): Likewise.
18147 (aarch64_st4_lane<VQ:mode>): Likewise.
18148 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
18149 * config/aarch64/arm_neon.h
18150 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
18151 use new macro arguments.
18152 (__ST3_LANE_FUNC): Likewise.
18153 (__ST4_LANE_FUNC): Likewise.
18154 * config/aarch64/iterators.md (V_TWO_ELEM): New.
18155 (V_THREE_ELEM): Likewise.
18156 (V_FOUR_ELEM): Likewise.
18157
18158 2014-04-28 David Malcolm <dmalcolm@redhat.com>
18159
18160 * doc/gimple.texi: Replace the description of the now-defunct
18161 union gimple_statement_d with a diagram showing the
18162 gimple_statement_base class hierarchy and its relationships to
18163 the GSS_ and GIMPLE_ enums.
18164
18165 2014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
18166
18167 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
18168 * config/aarch64/aarch64.c
18169 (aarch64_cannot_change_mode_class): Weaken conditions.
18170 (aarch64_modes_tieable_p): New.
18171 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
18172
18173 2014-04-28 Pat Haugen <pthaugen@us.ibm.com>
18174
18175 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
18176 (loadsync_<mode>): Change mode.
18177 (load_quadpti, store_quadpti): New.
18178 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
18179 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
18180
18181 2014-04-28 Martin Jambor <mjambor@suse.cz>
18182
18183 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
18184 same alias type as the original statement.
18185 (subreplacement_assignment_data): New type.
18186 (handle_unscalarized_data_in_subtree): New type of parameter,
18187 generate new memory accesses with same alias type as the original
18188 statement.
18189 (load_assign_lhs_subreplacements): Likewise.
18190 (sra_modify_constructor_assign): Generate new memory accesses with
18191 same alias type as the original statement.
18192
18193 2014-04-28 Richard Biener <rguenther@suse.de>
18194
18195 * tree-pass.h (TODO_verify_il): Define.
18196 (TODO_verify_all): Complete properly.
18197 * passes.c (execute_function_todo): Move existing loop-closed
18198 SSA verification under TODO_verify_il.
18199 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
18200 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
18201 Fix tree sharing issue.
18202
18203 2014-04-28 Richard Biener <rguenther@suse.de>
18204
18205 PR middle-end/60092
18206 * builtins.def (DEF_C11_BUILTIN): Add.
18207 (BUILT_IN_ALIGNED_ALLOC): Likewise.
18208 * coretypes.h (enum function_class): Add function_c11_misc.
18209 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
18210 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
18211 (call_may_clobber_ref_p_1): Likewise.
18212 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
18213 (mark_all_reaching_defs_necessary_1): Likewise.
18214 (propagate_necessity): Likewise.
18215 (eliminate_unnecessary_stmts): Likewise.
18216 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
18217
18218 2014-04-28 Richard Biener <rguenther@suse.de>
18219
18220 * tree-vrp.c (vrp_var_may_overflow): Remove.
18221 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
18222 with overflow immediately bump to one before that value and
18223 let iteration figure out overflow status.
18224
18225 2014-04-28 Richard Biener <rguenther@suse.de>
18226
18227 * configure.ac: Do valgrind header checks unconditionally.
18228 Add --enable-valgrind-annotations.
18229 * system.h: Guard valgrind header inclusion with
18230 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
18231 * alloc-pool.c (pool_alloc, pool_free): Use
18232 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
18233 to guard possibly dead code.
18234 * config.in: Regenerated.
18235 * configure: Likewise.
18236
18237 2014-04-28 Jeff Law <law@redhat.com>
18238
18239 PR tree-optimization/60902
18240 * tree-ssa-threadedge.c
18241 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
18242 over real defs when invalidating outputs from statements that do not
18243 produce useful outputs for threading.
18244
18245 2014-04-28 Richard Biener <rguenther@suse.de>
18246
18247 PR tree-optimization/60979
18248 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
18249 SCOPs that end in a block with a successor with abnormal
18250 predecessors.
18251
18252 2014-04-28 Richard Biener <rguenther@suse.de>
18253
18254 * tree-pass.h (execute_pass_list): Adjust prototype.
18255 * passes.c (pass_manager::execute_early_local_passes): Adjust.
18256 (do_per_function): Change callback signature, push all actual
18257 work to the callbals.
18258 (do_per_function_toporder): Likewise.
18259 (execute_function_dump): Adjust.
18260 (execute_function_todo): Likewise.
18261 (clear_last_verified): Likewise.
18262 (verify_curr_properties): Likewise.
18263 (update_properties_after_pass): Likewise.
18264 (execute_pass_list_1): Split out from ...
18265 (execute_pass_list): ... here. Adjust.
18266 (execute_ipa_pass_list): Likewise.
18267 * cgraphunit.c (cgraph_add_new_function): Adjust.
18268 (analyze_function): Likewise.
18269 (expand_function): Likewise.
18270 * cgraph.c (release_function_body): Free dominance info
18271 here instead of asserting it was magically freed elsewhere.
18272
18273 2014-04-28 Eric Botcazou <ebotcazou@adacore.com>
18274
18275 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
18276 * configure: Regenerate.
18277 * config/sparc/sparc.opt (muser-mode): New option.
18278 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
18279 for LEON3.
18280 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
18281 * doc/invoke.texi (SPARC options): Document -muser-mode.
18282
18283 2014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
18284
18285 * cselib.c (find_slot_memmode): Delete.
18286 (cselib_hasher): Change compare_type to a struct.
18287 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
18288 constants.
18289 (preserve_constants_and_equivs): Adjust for new compare_type.
18290 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
18291 (wrap_constant): Delete.
18292 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
18293
18294 2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
18295
18296 * doc/install.texi (Building with profile feedback): Remove
18297 outdated sentence.
18298
18299 2014-04-26 Tom de Vries <tom@codesourcery.com>
18300
18301 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
18302 array accesses.
18303
18304 2014-04-25 Cary Coutant <ccoutant@google.com>
18305
18306 PR debug/60929
18307 * dwarf2out.c (should_move_die_to_comdat): A type definition
18308 can contain a subprogram definition, but don't move it to a
18309 comdat unit.
18310 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
18311 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
18312 from original DIE.
18313 (clone_tree_hash): Rename to...
18314 (clone_tree_partial): ...this; change callers. Copy
18315 DW_TAG_subprogram DIEs as declarations.
18316 (copy_decls_walk): Don't copy children of a declaration into a
18317 type unit.
18318
18319 2014-04-25 H.J. Lu <hongjiu.lu@intel.com>
18320
18321 PR target/60969
18322 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
18323 alternative 12.
18324
18325 2014-04-25 Jiong Wang <jiong.wang@arm.com>
18326
18327 * config/arm/predicates.md (call_insn_operand): Add long_call check.
18328 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
18329 reg for long_call.
18330 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
18331 restriction.
18332
18333 2014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18334
18335 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
18336
18337 2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18338
18339 PR tree-optimization/60930
18340 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
18341 creating a multiply candidate by folding two constant
18342 multiplicands when the result overflows.
18343
18344 2014-04-25 Jakub Jelinek <jakub@redhat.com>
18345
18346 PR tree-optimization/60960
18347 * tree-vect-generic.c (expand_vector_operation): Only call
18348 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
18349
18350 2014-04-25 Tom de Vries <tom@codesourcery.com>
18351
18352 * expr.c (clobber_reg_mode): New function.
18353 * expr.h (clobber_reg): New function.
18354
18355 2014-04-25 Tom de Vries <tom@codesourcery.com>
18356
18357 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
18358 clobbers.
18359
18360 2014-04-25 Radovan Obradovic <robradovic@mips.com>
18361 Tom de Vries <tom@codesourcery.com>
18362
18363 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
18364 handle.
18365 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
18366 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
18367 new argument to find_all_hard_reg_sets call.
18368
18369 2014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18370
18371 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
18372 Use HOST_WIDE_INT_C for mask literal.
18373 (aarch_rev16_shleft_mask_imm_p): Likewise.
18374
18375 2014-04-25 Eric Botcazou <ebotcazou@adacore.com>
18376
18377 PR target/60941
18378 * config/sparc/sparc.md (ashlsi3_extend): Delete.
18379
18380 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
18381
18382 PR preprocessor/56540
18383 * config/i386/i386-c.c (ix86_target_macros): Define
18384 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
18385
18386 2014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18387
18388 * configure.ac (tga_func): Remove.
18389 (LIB_TLS_SPEC): Remove.
18390 * configure: Regenerate.
18391 * config.in: Regenerate.
18392 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
18393
18394 2014-04-25 Richard Biener <rguenther@suse.de>
18395
18396 PR ipa/60912
18397 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
18398 call stmt use/clobber sets during stmt walk instead of
18399 walking the possibly incomplete set of caller edges.
18400
18401 2014-04-25 Richard Biener <rguenther@suse.de>
18402
18403 PR ipa/60911
18404 * passes.c (apply_ipa_transforms): Inline into only caller ...
18405 (execute_one_pass): ... here. Properly bring in function
18406 bodies for nodes we want to apply IPA transforms to.
18407
18408 2014-04-24 Cong Hou <congh@google.com>
18409
18410 PR tree-optimization/60896
18411 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
18412 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
18413 (vect_mark_pattern_stmts): Set the def type of all statements in
18414 PATTERN_DEF_SEQ as vect_internal_def.
18415
18416 2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
18417
18418 * doc/extend.texi (PowerPC Built-in Functions): Document new
18419 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
18420 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
18421
18422 * config/rs6000/predicates.md (const_0_to_3_operand): New
18423 predicate to match 0..3 integer constants.
18424
18425 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
18426 to support adding miscellaneous builtin functions.
18427 (BU_DFP_MISC_2): Likewise.
18428 (BU_P7_MISC_1): Likewise.
18429 (BU_P7_MISC_2): Likewise.
18430 (BU_P8V_MISC_3): Likewise.
18431 (BU_MISC_1): Likewise.
18432 (BU_MISC_2): Likewise.
18433 (DIVWE): Add extended divide builtin functions.
18434 (DIVWEO): Likewise.
18435 (DIVWEU): Likewise.
18436 (DIVWEUO): Likewise.
18437 (DIVDE): Likewise.
18438 (DIVDEO): Likewise.
18439 (DIVDEU): Likewise.
18440 (DIVDEUO): Likewise.
18441 (DXEX): Add decimal floating-point builtin functions.
18442 (DXEXQ): Likewise.
18443 (DDEDPD): Likewise.
18444 (DDEDPDQ): Likewise.
18445 (DENBCD): Likewise.
18446 (DENBCDQ): Likewise.
18447 (DIEX): Likewise.
18448 (DIEXQ): Likewise.
18449 (DSCLI): Likewise.
18450 (DSCLIQ): Likewise.
18451 (DSCRI): Likewise.
18452 (DSCRIQ): Likewise.
18453 (CDTBCD): Add new BCD builtin functions.
18454 (CBCDTD): Likewise.
18455 (ADDG6S): Likewise.
18456 (BCDADD): Likewise.
18457 (BCDADD_LT): Likewise.
18458 (BCDADD_EQ): Likewise.
18459 (BCDADD_GT): Likewise.
18460 (BCDADD_OV): Likewise.
18461 (BCDSUB): Likewise.
18462 (BCDSUB_LT): Likewise.
18463 (BCDSUB_EQ): Likewise.
18464 (BCDSUB_GT): Likewise.
18465 (BCDSUB_OV): Likewise.
18466 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
18467 (UNPACK_TD): Likewise.
18468 (PACK_TF): Likewise.
18469 (UNPACK_TF): Likewise.
18470 (UNPACK_TF_0): Likewise.
18471 (UNPACK_TF_1): Likewise.
18472 (PACK_V1TI): Likewise.
18473 (UNPACK_V1TI): Likewise.
18474
18475 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
18476 support for decimal floating point builtin functions.
18477 (rs6000_expand_ternop_builtin): Add checks for the new builtin
18478 functions that take constant arguments.
18479 (rs6000_invalid_builtin): Add decimal floating point builtin support.
18480 (rs6000_init_builtins): Setup long double, _Decimal64, and
18481 _Decimal128 types for new builtin functions.
18482 (builtin_function_type): Set the unsigned flags appropriately for
18483 the new builtin functions.
18484 (rs6000_opt_masks): Add support for decimal floating point builtin
18485 functions.
18486
18487 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
18488 floating point builtin functions.
18489 (RS6000_BTM_COMMON): Likewise.
18490 (RS6000_BTI_long_double): Likewise.
18491 (RS6000_BTI_dfloat64): Likewise.
18492 (RS6000_BTI_dfloat128): Likewise.
18493 (long_double_type_internal_node): Likewise.
18494 (dfloat64_type_internal_node): Likewise.
18495 (dfloat128_type_internal_node): Likewise.
18496
18497 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
18498 2.07 bcd arithmetic instructions.
18499 (UNSPEC_BCDSUB): Likewise.
18500 (UNSPEC_BCD_OVERFLOW): Likewise.
18501 (UNSPEC_BCD_ADD_SUB): Likewise.
18502 (bcd_add_sub): Likewise.
18503 (BCD_TEST): Likewise.
18504 (bcd<bcd_add_sub>): Likewise.
18505 (bcd<bcd_add_sub>_test): Likewise.
18506 (bcd<bcd_add_sub>_test2): Likewise.
18507 (bcd<bcd_add_sub>_<code>): Likewise.
18508 (peephole2 for combined bcd ops): Likewise.
18509
18510 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
18511 decimal floating point builtin functions.
18512 (UNSPEC_DENBCD): Likewise.
18513 (UNSPEC_DXEX): Likewise.
18514 (UNSPEC_DIEX): Likewise.
18515 (UNSPEC_DSCLI): Likewise.
18516 (UNSPEC_DSCRI): Likewise.
18517 (D64_D128): Likewise.
18518 (dfp_suffix): Likewise.
18519 (dfp_ddedpd_<mode>): Likewise.
18520 (dfp_denbcd_<mode>): Likewise.
18521 (dfp_dxex_<mode>): Likewise.
18522 (dfp_diex_<mode>): Likewise.
18523 (dfp_dscli_<mode>): Likewise.
18524 (dfp_dscri_<mode>): Likewise.
18525
18526 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
18527 builtin functions.
18528 (UNSPEC_CDTBCD): Likewise.
18529 (UNSPEC_CBCDTD): Likewise.
18530 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
18531 (UNSPEC_DIVEO): Likewise.
18532 (UNSPEC_DIVEU): Likewise.
18533 (UNSPEC_DIVEUO): Likewise.
18534 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
18535 pack/unpack 128-bit types.
18536 (UNSPEC_PACK_128BIT): Likewise.
18537 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
18538 (udiv<mode>3): Use idiv_ldiv mode attribute.
18539 (div<mode>3): Likewise.
18540 (addg6s): Add new BCD builtin functions.
18541 (cdtbcd): Likewise.
18542 (cbcdtd): Likewise.
18543 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
18544 (div_extend): Likewise.
18545 (div<div_extend>_<mode>"): Likewise.
18546 (FP128_64): Add support for new builtin functions to pack/unpack
18547 128-bit types.
18548 (unpack<mode>): Likewise.
18549 (unpacktf_0): Likewise.
18550 (unpacktf_1): Likewise.
18551 (unpack<mode>_dm): Likewise.
18552 (unpack<mode>_nodm): Likewise.
18553 (pack<mode>): Likewise.
18554 (unpackv1ti): Likewise.
18555 (packv1ti): Likewise.
18556
18557 2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
18558
18559 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
18560 is disabled.
18561
18562 2014-04-24 Jakub Jelinek <jakub@redhat.com>
18563
18564 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
18565 * gimplify.c (omp_is_private): Change last argument's type to int.
18566 Only diagnose lastprivate if the simd argument is 1, only diagnose
18567 linear if the simd argument is 2.
18568 (gimplify_omp_for): Adjust omp_is_private callers. When adding
18569 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
18570 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
18571 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
18572 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
18573 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
18574 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
18575 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
18576 * tree-nested.c (convert_nonlocal_omp_clauses,
18577 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
18578
18579 2014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
18580
18581 PR target/60822
18582 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
18583 operand 1.
18584
18585 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
18586
18587 * flag-types.h (enum ivar_visibility): Add.
18588
18589 2014-04-24 Trevor Saunders <tsaunders@mozilla.com>
18590
18591 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
18592 function * argument.
18593
18594 2014-04-24 Alan Lawrence <alan.lawrence@arm.com>
18595
18596 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
18597
18598 2014-04-24 Radovan Obradovic <robradovic@mips.com>
18599 Tom de Vries <tom@codesourcery.com>
18600
18601 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
18602 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
18603 reg-note.
18604 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
18605 * emit-rtl.c (try_split): Same.
18606
18607 2014-04-24 Radovan Obradovic <robradovic@mips.com>
18608 Tom de Vries <tom@codesourcery.com>
18609
18610 * common.opt (fuse-caller-save): New option.
18611
18612 2014-04-24 Tejas Belagod <tejas.belagod@arm.com>
18613
18614 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
18615 elements for big-endian.
18616
18617 2014-04-24 Richard Biener <rguenther@suse.de>
18618
18619 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
18620 during TER and instead use the sepops interface for expanding
18621 non-GIMPLE_SINGLE_RHS.
18622
18623 2014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18624
18625 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
18626 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
18627
18628 2014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18629
18630 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
18631 assembler 64-bit option.
18632 * configure: Regenerate.
18633
18634 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18635
18636 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
18637 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
18638 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
18639 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
18640 (TARGET_CRYPTO): Take TARGET_SIMD into account.
18641
18642 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18643
18644 * config/aarch64/aarch64-builtins.c
18645 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
18646 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
18647 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
18648 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
18649 builtins.
18650 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
18651 (Vrevsuff): New mode attribute.
18652
18653 2014-04-24 Terry Guo <terry.guo@arm.com>
18654
18655 * config/arm/arm.h (machine_function): Define variable
18656 after_arm_reorg here.
18657 * config/arm/arm.c (after_arm_reorg): Remove the definition.
18658 (arm_split_constant): Update the way to access variable
18659 after_arm_reorg.
18660 (arm_reorg): Ditto.
18661 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
18662
18663 2014-04-23 Tom de Vries <tom@codesourcery.com>
18664
18665 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
18666
18667 2014-04-23 David Malcolm <dmalcolm@redhat.com>
18668
18669 * is-a.h: Update comments to reflect the following changes to the
18670 "pointerness" of the API, making the template parameter match the
18671 return type, allowing use of is-a.h with typedefs of pointers.
18672 (is_a_helper::cast): Return a T rather then a pointer to a T, so
18673 that the return type matches the parameter to the is_a_helper.
18674 (as_a): Likewise.
18675 (dyn_cast): Likewise.
18676
18677 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
18678 pointer from the is-a.h API.
18679
18680 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
18681 (is_a_helper <cgraph_node *>::test): ...this, matching change to
18682 is-a.h API.
18683 (is_a_helper <varpool_node>::test): Likewise, convert to...
18684 (is_a_helper <varpool_node *>::test): ...this.
18685
18686 (varpool_first_variable): Update for removal of implicit pointer
18687 from the is-a.h API.
18688 (varpool_next_variable): Likewise.
18689 (varpool_first_static_initializer): Likewise.
18690 (varpool_next_static_initializer): Likewise.
18691 (varpool_first_defined_variable): Likewise.
18692 (varpool_next_defined_variable): Likewise.
18693 (cgraph_first_defined_function): Likewise.
18694 (cgraph_next_defined_function): Likewise.
18695 (cgraph_first_function): Likewise.
18696 (cgraph_next_function): Likewise.
18697 (cgraph_first_function_with_gimple_body): Likewise.
18698 (cgraph_next_function_with_gimple_body): Likewise.
18699 (cgraph_alias_target): Likewise.
18700 (varpool_alias_target): Likewise.
18701 (cgraph_function_or_thunk_node): Likewise.
18702 (varpool_variable_node): Likewise.
18703 (symtab_real_symbol_p): Likewise.
18704 * cgraphunit.c (referred_to_p): Likewise.
18705 (analyze_functions): Likewise.
18706 (handle_alias_pairs): Likewise.
18707 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
18708 * gimple-ssa.h (gimple_vuse_op): Likewise.
18709 (gimple_vdef_op): Likewise.
18710 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
18711 * gimple.c (gimple_build_asm_1): Likewise.
18712 (gimple_build_try): Likewise.
18713 (gimple_build_resx): Likewise.
18714 (gimple_build_eh_dispatch): Likewise.
18715 (gimple_build_omp_for): Likewise.
18716 (gimple_omp_for_set_clauses): Likewise.
18717
18718 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
18719 (is_a_helper <gimple_statement_asm *>::test): ...this.
18720 (is_a_helper <gimple_statement_bind>::test): Convert to...
18721 (is_a_helper <gimple_statement_bind *>::test): ...this.
18722 (is_a_helper <gimple_statement_call>::test): Convert to...
18723 (is_a_helper <gimple_statement_call *>::test): ...this.
18724 (is_a_helper <gimple_statement_catch>::test): Convert to...
18725 (is_a_helper <gimple_statement_catch *>::test): ...this.
18726 (is_a_helper <gimple_statement_resx>::test): Convert to...
18727 (is_a_helper <gimple_statement_resx *>::test): ...this.
18728 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
18729 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
18730 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
18731 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
18732 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
18733 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
18734 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
18735 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
18736 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
18737 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
18738 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
18739 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
18740 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
18741 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
18742 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
18743 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
18744 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
18745 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
18746 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
18747 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
18748 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
18749 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
18750 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
18751 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
18752 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
18753 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
18754 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
18755 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
18756 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
18757 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
18758 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
18759 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
18760 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
18761 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
18762 (is_a_helper <gimple_statement_phi>::test): Convert to...
18763 (is_a_helper <gimple_statement_phi *>::test): ...this.
18764 (is_a_helper <gimple_statement_transaction>::test): Convert to...
18765 (is_a_helper <gimple_statement_transaction *>::test): ...this.
18766 (is_a_helper <gimple_statement_try>::test): Convert to...
18767 (is_a_helper <gimple_statement_try *>::test): ...this.
18768 (is_a_helper <gimple_statement_wce>::test): Convert to...
18769 (is_a_helper <gimple_statement_wce *>::test): ...this.
18770 (is_a_helper <const gimple_statement_asm>::test): Convert to...
18771 (is_a_helper <const gimple_statement_asm *>::test): ...this.
18772 (is_a_helper <const gimple_statement_bind>::test): Convert to...
18773 (is_a_helper <const gimple_statement_bind *>::test): ...this.
18774 (is_a_helper <const gimple_statement_call>::test): Convert to...
18775 (is_a_helper <const gimple_statement_call *>::test): ...this.
18776 (is_a_helper <const gimple_statement_catch>::test): Convert to...
18777 (is_a_helper <const gimple_statement_catch *>::test): ...this.
18778 (is_a_helper <const gimple_statement_resx>::test): Convert to...
18779 (is_a_helper <const gimple_statement_resx *>::test): ...this.
18780 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
18781 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
18782 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
18783 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
18784 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
18785 Convert to...
18786 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
18787 ...this.
18788 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
18789 Convert to...
18790 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
18791 ...this.
18792 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
18793 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
18794 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
18795 to...
18796 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
18797 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
18798 to...
18799 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
18800 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
18801 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
18802 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
18803 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
18804 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
18805 to...
18806 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
18807 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
18808 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
18809 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
18810 to...
18811 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
18812 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
18813 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
18814 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
18815 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
18816 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
18817 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
18818 (is_a_helper <const gimple_statement_phi>::test): Convert to...
18819 (is_a_helper <const gimple_statement_phi *>::test): ...this.
18820 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
18821 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
18822 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
18823 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
18824 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
18825 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
18826 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
18827 to...
18828 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
18829 ...this.
18830 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
18831 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
18832
18833 (gimple_use_ops): Update for removal of implicit pointer from the
18834 is-a.h API.
18835 (gimple_set_use_ops): Likewise.
18836 (gimple_vuse): Likewise.
18837 (gimple_vdef): Likewise.
18838 (gimple_vuse_ptr): Likewise.
18839 (gimple_vdef_ptr): Likewise.
18840 (gimple_set_vuse): Likewise.
18841 (gimple_set_vdef): Likewise.
18842 (gimple_omp_return_set_lhs): Likewise.
18843 (gimple_omp_return_lhs): Likewise.
18844 (gimple_omp_return_lhs_ptr): Likewise.
18845 (gimple_call_fntype): Likewise.
18846 (gimple_call_set_fntype): Likewise.
18847 (gimple_call_set_internal_fn): Likewise.
18848 (gimple_call_use_set): Likewise.
18849 (gimple_call_clobber_set): Likewise.
18850 (gimple_bind_vars): Likewise.
18851 (gimple_bind_set_vars): Likewise.
18852 (gimple_bind_body_ptr): Likewise.
18853 (gimple_bind_set_body): Likewise.
18854 (gimple_bind_add_stmt): Likewise.
18855 (gimple_bind_block): Likewise.
18856 (gimple_bind_set_block): Likewise.
18857 (gimple_asm_ninputs): Likewise.
18858 (gimple_asm_noutputs): Likewise.
18859 (gimple_asm_nclobbers): Likewise.
18860 (gimple_asm_nlabels): Likewise.
18861 (gimple_asm_input_op): Likewise.
18862 (gimple_asm_input_op_ptr): Likewise.
18863 (gimple_asm_output_op): Likewise.
18864 (gimple_asm_output_op_ptr): Likewise.
18865 (gimple_asm_set_output_op): Likewise.
18866 (gimple_asm_clobber_op): Likewise.
18867 (gimple_asm_set_clobber_op): Likewise.
18868 (gimple_asm_label_op): Likewise.
18869 (gimple_asm_set_label_op): Likewise.
18870 (gimple_asm_string): Likewise.
18871 (gimple_catch_types): Likewise.
18872 (gimple_catch_types_ptr): Likewise.
18873 (gimple_catch_handler_ptr): Likewise.
18874 (gimple_catch_set_types): Likewise.
18875 (gimple_catch_set_handler): Likewise.
18876 (gimple_eh_filter_types): Likewise.
18877 (gimple_eh_filter_types_ptr): Likewise.
18878 (gimple_eh_filter_failure_ptr): Likewise.
18879 (gimple_eh_filter_set_types): Likewise.
18880 (gimple_eh_filter_set_failure): Likewise.
18881 (gimple_eh_must_not_throw_fndecl): Likewise.
18882 (gimple_eh_must_not_throw_set_fndecl): Likewise.
18883 (gimple_eh_else_n_body_ptr): Likewise.
18884 (gimple_eh_else_e_body_ptr): Likewise.
18885 (gimple_eh_else_set_n_body): Likewise.
18886 (gimple_eh_else_set_e_body): Likewise.
18887 (gimple_try_eval_ptr): Likewise.
18888 (gimple_try_cleanup_ptr): Likewise.
18889 (gimple_try_set_eval): Likewise.
18890 (gimple_try_set_cleanup): Likewise.
18891 (gimple_wce_cleanup_ptr): Likewise.
18892 (gimple_wce_set_cleanup): Likewise.
18893 (gimple_phi_capacity): Likewise.
18894 (gimple_phi_num_args): Likewise.
18895 (gimple_phi_result): Likewise.
18896 (gimple_phi_result_ptr): Likewise.
18897 (gimple_phi_set_result): Likewise.
18898 (gimple_phi_arg): Likewise.
18899 (gimple_phi_set_arg): Likewise.
18900 (gimple_resx_region): Likewise.
18901 (gimple_resx_set_region): Likewise.
18902 (gimple_eh_dispatch_region): Likewise.
18903 (gimple_eh_dispatch_set_region): Likewise.
18904 (gimple_omp_critical_name): Likewise.
18905 (gimple_omp_critical_name_ptr): Likewise.
18906 (gimple_omp_critical_set_name): Likewise.
18907 (gimple_omp_for_clauses): Likewise.
18908 (gimple_omp_for_clauses_ptr): Likewise.
18909 (gimple_omp_for_set_clauses): Likewise.
18910 (gimple_omp_for_collapse): Likewise.
18911 (gimple_omp_for_index): Likewise.
18912 (gimple_omp_for_index_ptr): Likewise.
18913 (gimple_omp_for_set_index): Likewise.
18914 (gimple_omp_for_initial): Likewise.
18915 (gimple_omp_for_initial_ptr): Likewise.
18916 (gimple_omp_for_set_initial): Likewise.
18917 (gimple_omp_for_final): Likewise.
18918 (gimple_omp_for_final_ptr): Likewise.
18919 (gimple_omp_for_set_final): Likewise.
18920 (gimple_omp_for_incr): Likewise.
18921 (gimple_omp_for_incr_ptr): Likewise.
18922 (gimple_omp_for_set_incr): Likewise.
18923 (gimple_omp_for_pre_body_ptr): Likewise.
18924 (gimple_omp_for_set_pre_body): Likewise.
18925 (gimple_omp_parallel_clauses): Likewise.
18926 (gimple_omp_parallel_clauses_ptr): Likewise.
18927 (gimple_omp_parallel_set_clauses): Likewise.
18928 (gimple_omp_parallel_child_fn): Likewise.
18929 (gimple_omp_parallel_child_fn_ptr): Likewise.
18930 (gimple_omp_parallel_set_child_fn): Likewise.
18931 (gimple_omp_parallel_data_arg): Likewise.
18932 (gimple_omp_parallel_data_arg_ptr): Likewise.
18933 (gimple_omp_parallel_set_data_arg): Likewise.
18934 (gimple_omp_task_clauses): Likewise.
18935 (gimple_omp_task_clauses_ptr): Likewise.
18936 (gimple_omp_task_set_clauses): Likewise.
18937 (gimple_omp_task_child_fn): Likewise.
18938 (gimple_omp_task_child_fn_ptr): Likewise.
18939 (gimple_omp_task_set_child_fn): Likewise.
18940 (gimple_omp_task_data_arg): Likewise.
18941 (gimple_omp_task_data_arg_ptr): Likewise.
18942 (gimple_omp_task_set_data_arg): Likewise.
18943 (gimple_omp_taskreg_clauses): Likewise.
18944 (gimple_omp_taskreg_clauses_ptr): Likewise.
18945 (gimple_omp_taskreg_set_clauses): Likewise.
18946 (gimple_omp_taskreg_child_fn): Likewise.
18947 (gimple_omp_taskreg_child_fn_ptr): Likewise.
18948 (gimple_omp_taskreg_set_child_fn): Likewise.
18949 (gimple_omp_taskreg_data_arg): Likewise.
18950 (gimple_omp_taskreg_data_arg_ptr): Likewise.
18951 (gimple_omp_taskreg_set_data_arg): Likewise.
18952 (gimple_omp_task_copy_fn): Likewise.
18953 (gimple_omp_task_copy_fn_ptr): Likewise.
18954 (gimple_omp_task_set_copy_fn): Likewise.
18955 (gimple_omp_task_arg_size): Likewise.
18956 (gimple_omp_task_arg_size_ptr): Likewise.
18957 (gimple_omp_task_set_arg_size): Likewise.
18958 (gimple_omp_task_arg_align): Likewise.
18959 (gimple_omp_task_arg_align_ptr): Likewise.
18960 (gimple_omp_task_set_arg_align): Likewise.
18961 (gimple_omp_single_clauses): Likewise.
18962 (gimple_omp_single_clauses_ptr): Likewise.
18963 (gimple_omp_single_set_clauses): Likewise.
18964 (gimple_omp_target_clauses): Likewise.
18965 (gimple_omp_target_clauses_ptr): Likewise.
18966 (gimple_omp_target_set_clauses): Likewise.
18967 (gimple_omp_target_child_fn): Likewise.
18968 (gimple_omp_target_child_fn_ptr): Likewise.
18969 (gimple_omp_target_set_child_fn): Likewise.
18970 (gimple_omp_target_data_arg): Likewise.
18971 (gimple_omp_target_data_arg_ptr): Likewise.
18972 (gimple_omp_target_set_data_arg): Likewise.
18973 (gimple_omp_teams_clauses): Likewise.
18974 (gimple_omp_teams_clauses_ptr): Likewise.
18975 (gimple_omp_teams_set_clauses): Likewise.
18976 (gimple_omp_sections_clauses): Likewise.
18977 (gimple_omp_sections_clauses_ptr): Likewise.
18978 (gimple_omp_sections_set_clauses): Likewise.
18979 (gimple_omp_sections_control): Likewise.
18980 (gimple_omp_sections_control_ptr): Likewise.
18981 (gimple_omp_sections_set_control): Likewise.
18982 (gimple_omp_for_set_cond): Likewise.
18983 (gimple_omp_for_cond): Likewise.
18984 (gimple_omp_atomic_store_set_val): Likewise.
18985 (gimple_omp_atomic_store_val): Likewise.
18986 (gimple_omp_atomic_store_val_ptr): Likewise.
18987 (gimple_omp_atomic_load_set_lhs): Likewise.
18988 (gimple_omp_atomic_load_lhs): Likewise.
18989 (gimple_omp_atomic_load_lhs_ptr): Likewise.
18990 (gimple_omp_atomic_load_set_rhs): Likewise.
18991 (gimple_omp_atomic_load_rhs): Likewise.
18992 (gimple_omp_atomic_load_rhs_ptr): Likewise.
18993 (gimple_omp_continue_control_def): Likewise.
18994 (gimple_omp_continue_control_def_ptr): Likewise.
18995 (gimple_omp_continue_set_control_def): Likewise.
18996 (gimple_omp_continue_control_use): Likewise.
18997 (gimple_omp_continue_control_use_ptr): Likewise.
18998 (gimple_omp_continue_set_control_use): Likewise.
18999 (gimple_transaction_body_ptr): Likewise.
19000 (gimple_transaction_label): Likewise.
19001 (gimple_transaction_label_ptr): Likewise.
19002 (gimple_transaction_set_body): Likewise.
19003 (gimple_transaction_set_label): Likewise.
19004
19005 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
19006 * ipa-inline-analysis.c (inline_write_summary): Likewise.
19007 * ipa-ref.c (ipa_record_reference): Likewise.
19008 * ipa-reference.c (analyze_function): Likewise.
19009 (ipa_reference_write_optimization_summary): Likewise.
19010 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
19011 (address_taken_from_non_vtable_p): Likewise.
19012 (comdat_can_be_unshared_p_1): Likewise.
19013 * lto-cgraph.c (lto_output_ref): Likewise.
19014 (add_references): Likewise.
19015 (compute_ltrans_boundary): Likewise.
19016 (output_symtab): Likewise.
19017 (input_ref): Likewise.
19018 (input_cgraph_1): Likewise.
19019 (output_cgraph_opt_summary): Likewise.
19020 * lto-streamer-out.c (lto_output): Likewise.
19021 (output_symbol_p): Likewise.
19022 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
19023 (lsei_start_function_in_partition): Likewise.
19024 (lsei_next_variable_in_partition): Likewise.
19025 (lsei_start_variable_in_partition): Likewise.
19026 * symtab.c (insert_to_assembler_name_hash): Likewise.
19027 (unlink_from_assembler_name_hash): Likewise.
19028 (symtab_unregister_node): Likewise.
19029 (symtab_remove_node): Likewise.
19030 (dump_symtab_node): Likewise.
19031 (verify_symtab_base): Likewise.
19032 (verify_symtab_node): Likewise.
19033 (symtab_make_decl_local): Likewise.
19034 (symtab_alias_ultimate_target): Likewise.
19035 (symtab_resolve_alias): Likewise.
19036 (symtab_get_symbol_partitioning_class): Likewise.
19037 * tree-phinodes.c (allocate_phi_node): Likewise.
19038 (reserve_phi_args_for_new_edge): Likewise.
19039 (remove_phi_args): Likewise.
19040 * varpool.c (varpool_node_for_asm): Likewise.
19041 (varpool_remove_unreferenced_decls): Likewise.
19042
19043 2014-04-23 Jeff Law <law@redhat.com>
19044
19045 PR tree-optimization/60902
19046 * tree-ssa-threadedge.c
19047 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
19048 invalidate outputs from statements that do not produce useful
19049 outputs for threading.
19050
19051 2014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
19052
19053 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
19054 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
19055 machine descriptions for Stack Smashing Protector.
19056
19057 2014-04-23 Richard Earnshaw <rearnsha@arm.com>
19058
19059 * aarch64.md (<optab>_rol<mode>3): New pattern.
19060 (<optab>_rolsi3_uxtw): Likewise.
19061 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
19062
19063 2014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
19064
19065 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
19066 (arm_cortex_a12_tune): Likewise.
19067
19068 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19069
19070 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
19071
19072 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19073
19074 * config/arm/arm.md (arm_rev16si2): New pattern.
19075 (arm_rev16si2_alt): Likewise.
19076 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
19077
19078 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19079
19080 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
19081 (rev16<mode>2_alt): Likewise.
19082 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
19083 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
19084 (aarch_rev16_shleft_mask_imm_p): Likewise.
19085 (aarch_rev16_p_1): Likewise.
19086 (aarch_rev16_p): Likewise.
19087 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
19088 (aarch_rev16_shright_mask_imm_p): Likewise.
19089 (aarch_rev16_shleft_mask_imm_p): Likewise.
19090
19091 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19092
19093 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
19094 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
19095 rev cost.
19096 (cortex_a53_extra_costs): Likewise.
19097 (cortex_a57_extra_costs): Likewise.
19098 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
19099 (cortexa7_extra_costs): Likewise.
19100 (cortexa8_extra_costs): Likewise.
19101 (cortexa12_extra_costs): Likewise.
19102 (cortexa15_extra_costs): Likewise.
19103 (v7m_extra_costs): Likewise.
19104 (arm_new_rtx_costs): Handle BSWAP.
19105
19106 2013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19107
19108 * config/arm/arm.c (cortexa8_extra_costs): New table.
19109 (arm_cortex_a8_tune): New tuning struct.
19110 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
19111
19112 2014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19113
19114 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
19115
19116 2014-04-23 Richard Biener <rguenther@suse.de>
19117
19118 * Makefile.in (OBJS): Remove loop-unswitch.o.
19119 * tree-pass.h (make_pass_rtl_unswitch): Remove.
19120 * passes.def (pass_rtl_unswitch): Likewise.
19121 * loop-init.c (gate_rtl_unswitch): Likewise.
19122 (rtl_unswitch): Likewise.
19123 (pass_data_rtl_unswitch): Likewise.
19124 (pass_rtl_unswitch): Likewise.
19125 (make_pass_rtl_unswitch): Likewise.
19126 * rtl.h (reversed_condition): Likewise.
19127 (compare_and_jump_seq): Likewise.
19128 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
19129 and make static.
19130 * loop-unroll.c (compare_and_jump_seq): Likewise.
19131
19132 2014-04-23 Richard Biener <rguenther@suse.de>
19133
19134 PR tree-optimization/60903
19135 * tree-ssa-loop-im.c (analyze_memory_references): Remove
19136 commented code block.
19137 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
19138 loop flags to newly created BBs and edges.
19139
19140 2014-04-23 Nick Clifton <nickc@redhat.com>
19141
19142 * config/msp430/msp430.c (msp430_handle_option): Move function
19143 to msp430-common.c
19144 (msp430_option_override): Simplify mcu and mcpu option handling.
19145 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
19146 support for -mhwmult command line option.
19147 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
19148 -mhwmult command line option.
19149 (msp430_hwmult_enabled): Delete.
19150 (msp43o_output_labelref): Add support for -mhwmult command line option.
19151 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
19152 (umulsidi3): Likewise.
19153 * config/msp430/msp430.opt (mmcu): Add Report attribute.
19154 (mcpu, mlarge, msmall): Likewise.
19155 (mhwmult): New option.
19156 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
19157 prototype.
19158 (msp430_is_f5_mcu): Remove prototype.
19159 (msp430_use_f5_series_hwmult): Add prototype.
19160 * config/msp430/msp430-opts.h: New file.
19161 * common/config/msp430: New directory.
19162 * common/config/msp430/msp430-common.c: New file.
19163 * config.gcc (msp430): Remove target_has_targetm_common.
19164 * doc/invoke.texi: Document -mhwmult command line option.
19165
19166 2014-04-23 Nick Clifton <nickc@redhat.com>
19167
19168 * config/i386/cygwin.h (ENDFILE_SPEC): Include
19169 default-manifest.o if it can be found in the search path.
19170 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
19171
19172 2014-04-23 Terry Guo <terry.guo@arm.com>
19173
19174 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
19175
19176 2014-04-23 Richard Biener <rguenther@suse.de>
19177
19178 PR middle-end/60895
19179 * tree-inline.c (declare_return_variable): Use mark_addressable.
19180
19181 2014-04-23 Richard Biener <rguenther@suse.de>
19182
19183 PR middle-end/60891
19184 * loop-init.c (loop_optimizer_init): Make sure to apply
19185 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
19186
19187 2014-04-22 Jakub Jelinek <jakub@redhat.com>
19188
19189 PR sanitizer/60275
19190 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
19191 New options.
19192 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
19193 if flag_sanitize_undefined_trap_on_error.
19194 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
19195 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
19196 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
19197 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
19198 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
19199 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
19200 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
19201 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
19202 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
19203 * ubsan.c (ubsan_instrument_unreachable): Return
19204 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
19205 (ubsan_expand_null_ifn): Emit __builtin_trap ()
19206 if flag_sanitize_undefined_trap_on_error and
19207 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
19208 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
19209 instrument_bool_enum_load): Emit __builtin_trap () if
19210 flag_sanitize_undefined_trap_on_error and
19211 __builtin_handle_*_abort () if !flag_sanitize_recover.
19212 * doc/invoke.texi (-fsanitize-recover,
19213 -fsanitize-undefined-trap-on-error): Document.
19214
19215 2014-04-22 Christian Bruel <christian.bruel@st.com>
19216
19217 * config/sh/sh.md (mov<mode>): Replace movQIHI.
19218 Force immediates to SImode.
19219
19220 2014-04-22 Sandra Loosemore <sandra@codesourcery.com>
19221
19222 * config/nios2/nios2.md (UNSPEC_ROUND): New.
19223 (lroundsfsi2): New.
19224 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
19225 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
19226 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
19227 (nios2_fpu_insn): Add entry for round.
19228 (N2FPU_NO_ERRNO_P): Define.
19229 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
19230 flag_errno_math.
19231 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
19232
19233 2014-04-22 Richard Henderson <rth@redhat.com>
19234
19235 * config/aarch64/aarch64 (addti3, subti3): New expanders.
19236 (add<GPI>3_compare0): Remove leading * from name.
19237 (add<GPI>3_carryin): Likewise.
19238 (sub<GPI>3_compare0): Likewise.
19239 (sub<GPI>3_carryin): Likewise.
19240 (<su_optab>mulditi3): New expander.
19241 (multi3): New expander.
19242 (madd<GPI>): Remove leading * from name.
19243
19244 2014-04-22 Martin Jambor <mjambor@suse.cz>
19245
19246 * cgraphclones.c (cgraph_function_versioning): Copy
19247 ipa_transforms_to_apply instead of asserting it is empty.
19248
19249 2014-04-22 H.J. Lu <hongjiu.lu@intel.com>
19250
19251 PR target/60868
19252 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
19253 on count_exp to get mode.
19254
19255 2014-04-22 Andrew Pinski <apinski@cavium.com>
19256
19257 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
19258 Handle TLS for ILP32.
19259 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
19260 (tlsie_small_<mode>): this and handle PTR.
19261 (tlsie_small_sidi): New pattern.
19262 (tlsle_small): Change to an expand to handle ILP32.
19263 (tlsle_small_<mode>): New pattern.
19264 (tlsdesc_small): Rename to ...
19265 (tlsdesc_small_<mode>): this and handle PTR.
19266
19267 2014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19268
19269 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
19270
19271 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
19272
19273 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
19274 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
19275 (aarch64_types_signed_poly_qualifiers): Likewise.
19276 (aarch64_types_unsigned_signed_qualifiers): Likewise.
19277 (aarch64_types_poly_signed_qualifiers): Likewise.
19278 (TYPES_REINTERP_SS): Type macro added.
19279 (TYPES_REINTERP_SU): Likewise.
19280 (TYPES_REINTERP_SP): Likewise.
19281 (TYPES_REINTERP_US): Likewise.
19282 (TYPES_REINTERP_PS): Likewise.
19283 (aarch64_fold_builtin): New expression folding added.
19284 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
19285 Declarations removed.
19286 (REINTERP_SS): Declarations added.
19287 (REINTERP_US): Likewise.
19288 (REINTERP_PS): Likewise.
19289 (REINTERP_SU): Likewise.
19290 (REINTERP_SP): Likewise.
19291 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
19292 (vreinterpretq_p8_f64): Likewise.
19293 (vreinterpret_p16_f64): Likewise.
19294 (vreinterpretq_p16_f64): Likewise.
19295 (vreinterpret_f32_f64): Likewise.
19296 (vreinterpretq_f32_f64): Likewise.
19297 (vreinterpret_f64_f32): Likewise.
19298 (vreinterpret_f64_p8): Likewise.
19299 (vreinterpret_f64_p16): Likewise.
19300 (vreinterpret_f64_s8): Likewise.
19301 (vreinterpret_f64_s16): Likewise.
19302 (vreinterpret_f64_s32): Likewise.
19303 (vreinterpret_f64_s64): Likewise.
19304 (vreinterpret_f64_u8): Likewise.
19305 (vreinterpret_f64_u16): Likewise.
19306 (vreinterpret_f64_u32): Likewise.
19307 (vreinterpret_f64_u64): Likewise.
19308 (vreinterpretq_f64_f32): Likewise.
19309 (vreinterpretq_f64_p8): Likewise.
19310 (vreinterpretq_f64_p16): Likewise.
19311 (vreinterpretq_f64_s8): Likewise.
19312 (vreinterpretq_f64_s16): Likewise.
19313 (vreinterpretq_f64_s32): Likewise.
19314 (vreinterpretq_f64_s64): Likewise.
19315 (vreinterpretq_f64_u8): Likewise.
19316 (vreinterpretq_f64_u16): Likewise.
19317 (vreinterpretq_f64_u32): Likewise.
19318 (vreinterpretq_f64_u64): Likewise.
19319 (vreinterpret_s64_f64): Likewise.
19320 (vreinterpretq_s64_f64): Likewise.
19321 (vreinterpret_u64_f64): Likewise.
19322 (vreinterpretq_u64_f64): Likewise.
19323 (vreinterpret_s8_f64): Likewise.
19324 (vreinterpretq_s8_f64): Likewise.
19325 (vreinterpret_s16_f64): Likewise.
19326 (vreinterpretq_s16_f64): Likewise.
19327 (vreinterpret_s32_f64): Likewise.
19328 (vreinterpretq_s32_f64): Likewise.
19329 (vreinterpret_u8_f64): Likewise.
19330 (vreinterpretq_u8_f64): Likewise.
19331 (vreinterpret_u16_f64): Likewise.
19332 (vreinterpretq_u16_f64): Likewise.
19333 (vreinterpret_u32_f64): Likewise.
19334 (vreinterpretq_u32_f64): Likewise.
19335
19336 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
19337
19338 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
19339 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
19340 (vreinterpret_p8_s8): Likewise.
19341 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
19342 (vreinterpret_p8_s16): Likewise.
19343 (vreinterpret_p8_s32): Likewise.
19344 (vreinterpret_p8_s64): Likewise.
19345 (vreinterpret_p8_f32): Likewise.
19346 (vreinterpret_p8_u8): Likewise.
19347 (vreinterpret_p8_u16): Likewise.
19348 (vreinterpret_p8_u32): Likewise.
19349 (vreinterpret_p8_u64): Likewise.
19350 (vreinterpret_p8_p16): Likewise.
19351 (vreinterpretq_p8_s8): Likewise.
19352 (vreinterpretq_p8_s16): Likewise.
19353 (vreinterpretq_p8_s32): Likewise.
19354 (vreinterpretq_p8_s64): Likewise.
19355 (vreinterpretq_p8_f32): Likewise.
19356 (vreinterpretq_p8_u8): Likewise.
19357 (vreinterpretq_p8_u16): Likewise.
19358 (vreinterpretq_p8_u32): Likewise.
19359 (vreinterpretq_p8_u64): Likewise.
19360 (vreinterpretq_p8_p16): Likewise.
19361 (vreinterpret_p16_s8): Likewise.
19362 (vreinterpret_p16_s16): Likewise.
19363 (vreinterpret_p16_s32): Likewise.
19364 (vreinterpret_p16_s64): Likewise.
19365 (vreinterpret_p16_f32): Likewise.
19366 (vreinterpret_p16_u8): Likewise.
19367 (vreinterpret_p16_u16): Likewise.
19368 (vreinterpret_p16_u32): Likewise.
19369 (vreinterpret_p16_u64): Likewise.
19370 (vreinterpret_p16_p8): Likewise.
19371 (vreinterpretq_p16_s8): Likewise.
19372 (vreinterpretq_p16_s16): Likewise.
19373 (vreinterpretq_p16_s32): Likewise.
19374 (vreinterpretq_p16_s64): Likewise.
19375 (vreinterpretq_p16_f32): Likewise.
19376 (vreinterpretq_p16_u8): Likewise.
19377 (vreinterpretq_p16_u16): Likewise.
19378 (vreinterpretq_p16_u32): Likewise.
19379 (vreinterpretq_p16_u64): Likewise.
19380 (vreinterpretq_p16_p8): Likewise.
19381 (vreinterpret_f32_s8): Likewise.
19382 (vreinterpret_f32_s16): Likewise.
19383 (vreinterpret_f32_s32): Likewise.
19384 (vreinterpret_f32_s64): Likewise.
19385 (vreinterpret_f32_u8): Likewise.
19386 (vreinterpret_f32_u16): Likewise.
19387 (vreinterpret_f32_u32): Likewise.
19388 (vreinterpret_f32_u64): Likewise.
19389 (vreinterpret_f32_p8): Likewise.
19390 (vreinterpret_f32_p16): Likewise.
19391 (vreinterpretq_f32_s8): Likewise.
19392 (vreinterpretq_f32_s16): Likewise.
19393 (vreinterpretq_f32_s32): Likewise.
19394 (vreinterpretq_f32_s64): Likewise.
19395 (vreinterpretq_f32_u8): Likewise.
19396 (vreinterpretq_f32_u16): Likewise.
19397 (vreinterpretq_f32_u32): Likewise.
19398 (vreinterpretq_f32_u64): Likewise.
19399 (vreinterpretq_f32_p8): Likewise.
19400 (vreinterpretq_f32_p16): Likewise.
19401 (vreinterpret_s64_s8): Likewise.
19402 (vreinterpret_s64_s16): Likewise.
19403 (vreinterpret_s64_s32): Likewise.
19404 (vreinterpret_s64_f32): Likewise.
19405 (vreinterpret_s64_u8): Likewise.
19406 (vreinterpret_s64_u16): Likewise.
19407 (vreinterpret_s64_u32): Likewise.
19408 (vreinterpret_s64_u64): Likewise.
19409 (vreinterpret_s64_p8): Likewise.
19410 (vreinterpret_s64_p16): Likewise.
19411 (vreinterpretq_s64_s8): Likewise.
19412 (vreinterpretq_s64_s16): Likewise.
19413 (vreinterpretq_s64_s32): Likewise.
19414 (vreinterpretq_s64_f32): Likewise.
19415 (vreinterpretq_s64_u8): Likewise.
19416 (vreinterpretq_s64_u16): Likewise.
19417 (vreinterpretq_s64_u32): Likewise.
19418 (vreinterpretq_s64_u64): Likewise.
19419 (vreinterpretq_s64_p8): Likewise.
19420 (vreinterpretq_s64_p16): Likewise.
19421 (vreinterpret_u64_s8): Likewise.
19422 (vreinterpret_u64_s16): Likewise.
19423 (vreinterpret_u64_s32): Likewise.
19424 (vreinterpret_u64_s64): Likewise.
19425 (vreinterpret_u64_f32): Likewise.
19426 (vreinterpret_u64_u8): Likewise.
19427 (vreinterpret_u64_u16): Likewise.
19428 (vreinterpret_u64_u32): Likewise.
19429 (vreinterpret_u64_p8): Likewise.
19430 (vreinterpret_u64_p16): Likewise.
19431 (vreinterpretq_u64_s8): Likewise.
19432 (vreinterpretq_u64_s16): Likewise.
19433 (vreinterpretq_u64_s32): Likewise.
19434 (vreinterpretq_u64_s64): Likewise.
19435 (vreinterpretq_u64_f32): Likewise.
19436 (vreinterpretq_u64_u8): Likewise.
19437 (vreinterpretq_u64_u16): Likewise.
19438 (vreinterpretq_u64_u32): Likewise.
19439 (vreinterpretq_u64_p8): Likewise.
19440 (vreinterpretq_u64_p16): Likewise.
19441 (vreinterpret_s8_s16): Likewise.
19442 (vreinterpret_s8_s32): Likewise.
19443 (vreinterpret_s8_s64): Likewise.
19444 (vreinterpret_s8_f32): Likewise.
19445 (vreinterpret_s8_u8): Likewise.
19446 (vreinterpret_s8_u16): Likewise.
19447 (vreinterpret_s8_u32): Likewise.
19448 (vreinterpret_s8_u64): Likewise.
19449 (vreinterpret_s8_p8): Likewise.
19450 (vreinterpret_s8_p16): Likewise.
19451 (vreinterpretq_s8_s16): Likewise.
19452 (vreinterpretq_s8_s32): Likewise.
19453 (vreinterpretq_s8_s64): Likewise.
19454 (vreinterpretq_s8_f32): Likewise.
19455 (vreinterpretq_s8_u8): Likewise.
19456 (vreinterpretq_s8_u16): Likewise.
19457 (vreinterpretq_s8_u32): Likewise.
19458 (vreinterpretq_s8_u64): Likewise.
19459 (vreinterpretq_s8_p8): Likewise.
19460 (vreinterpretq_s8_p16): Likewise.
19461 (vreinterpret_s16_s8): Likewise.
19462 (vreinterpret_s16_s32): Likewise.
19463 (vreinterpret_s16_s64): Likewise.
19464 (vreinterpret_s16_f32): Likewise.
19465 (vreinterpret_s16_u8): Likewise.
19466 (vreinterpret_s16_u16): Likewise.
19467 (vreinterpret_s16_u32): Likewise.
19468 (vreinterpret_s16_u64): Likewise.
19469 (vreinterpret_s16_p8): Likewise.
19470 (vreinterpret_s16_p16): Likewise.
19471 (vreinterpretq_s16_s8): Likewise.
19472 (vreinterpretq_s16_s32): Likewise.
19473 (vreinterpretq_s16_s64): Likewise.
19474 (vreinterpretq_s16_f32): Likewise.
19475 (vreinterpretq_s16_u8): Likewise.
19476 (vreinterpretq_s16_u16): Likewise.
19477 (vreinterpretq_s16_u32): Likewise.
19478 (vreinterpretq_s16_u64): Likewise.
19479 (vreinterpretq_s16_p8): Likewise.
19480 (vreinterpretq_s16_p16): Likewise.
19481 (vreinterpret_s32_s8): Likewise.
19482 (vreinterpret_s32_s16): Likewise.
19483 (vreinterpret_s32_s64): Likewise.
19484 (vreinterpret_s32_f32): Likewise.
19485 (vreinterpret_s32_u8): Likewise.
19486 (vreinterpret_s32_u16): Likewise.
19487 (vreinterpret_s32_u32): Likewise.
19488 (vreinterpret_s32_u64): Likewise.
19489 (vreinterpret_s32_p8): Likewise.
19490 (vreinterpret_s32_p16): Likewise.
19491 (vreinterpretq_s32_s8): Likewise.
19492 (vreinterpretq_s32_s16): Likewise.
19493 (vreinterpretq_s32_s64): Likewise.
19494 (vreinterpretq_s32_f32): Likewise.
19495 (vreinterpretq_s32_u8): Likewise.
19496 (vreinterpretq_s32_u16): Likewise.
19497 (vreinterpretq_s32_u32): Likewise.
19498 (vreinterpretq_s32_u64): Likewise.
19499 (vreinterpretq_s32_p8): Likewise.
19500 (vreinterpretq_s32_p16): Likewise.
19501 (vreinterpret_u8_s8): Likewise.
19502 (vreinterpret_u8_s16): Likewise.
19503 (vreinterpret_u8_s32): Likewise.
19504 (vreinterpret_u8_s64): Likewise.
19505 (vreinterpret_u8_f32): Likewise.
19506 (vreinterpret_u8_u16): Likewise.
19507 (vreinterpret_u8_u32): Likewise.
19508 (vreinterpret_u8_u64): Likewise.
19509 (vreinterpret_u8_p8): Likewise.
19510 (vreinterpret_u8_p16): Likewise.
19511 (vreinterpretq_u8_s8): Likewise.
19512 (vreinterpretq_u8_s16): Likewise.
19513 (vreinterpretq_u8_s32): Likewise.
19514 (vreinterpretq_u8_s64): Likewise.
19515 (vreinterpretq_u8_f32): Likewise.
19516 (vreinterpretq_u8_u16): Likewise.
19517 (vreinterpretq_u8_u32): Likewise.
19518 (vreinterpretq_u8_u64): Likewise.
19519 (vreinterpretq_u8_p8): Likewise.
19520 (vreinterpretq_u8_p16): Likewise.
19521 (vreinterpret_u16_s8): Likewise.
19522 (vreinterpret_u16_s16): Likewise.
19523 (vreinterpret_u16_s32): Likewise.
19524 (vreinterpret_u16_s64): Likewise.
19525 (vreinterpret_u16_f32): Likewise.
19526 (vreinterpret_u16_u8): Likewise.
19527 (vreinterpret_u16_u32): Likewise.
19528 (vreinterpret_u16_u64): Likewise.
19529 (vreinterpret_u16_p8): Likewise.
19530 (vreinterpret_u16_p16): Likewise.
19531 (vreinterpretq_u16_s8): Likewise.
19532 (vreinterpretq_u16_s16): Likewise.
19533 (vreinterpretq_u16_s32): Likewise.
19534 (vreinterpretq_u16_s64): Likewise.
19535 (vreinterpretq_u16_f32): Likewise.
19536 (vreinterpretq_u16_u8): Likewise.
19537 (vreinterpretq_u16_u32): Likewise.
19538 (vreinterpretq_u16_u64): Likewise.
19539 (vreinterpretq_u16_p8): Likewise.
19540 (vreinterpretq_u16_p16): Likewise.
19541 (vreinterpret_u32_s8): Likewise.
19542 (vreinterpret_u32_s16): Likewise.
19543 (vreinterpret_u32_s32): Likewise.
19544 (vreinterpret_u32_s64): Likewise.
19545 (vreinterpret_u32_f32): Likewise.
19546 (vreinterpret_u32_u8): Likewise.
19547 (vreinterpret_u32_u16): Likewise.
19548 (vreinterpret_u32_u64): Likewise.
19549 (vreinterpret_u32_p8): Likewise.
19550 (vreinterpret_u32_p16): Likewise.
19551 (vreinterpretq_u32_s8): Likewise.
19552 (vreinterpretq_u32_s16): Likewise.
19553 (vreinterpretq_u32_s32): Likewise.
19554 (vreinterpretq_u32_s64): Likewise.
19555 (vreinterpretq_u32_f32): Likewise.
19556 (vreinterpretq_u32_u8): Likewise.
19557 (vreinterpretq_u32_u16): Likewise.
19558 (vreinterpretq_u32_u64): Likewise.
19559 (vreinterpretq_u32_p8): Likewise.
19560 (vreinterpretq_u32_p16): Likewise.
19561
19562 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
19563
19564 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
19565 Pattern extended.
19566 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
19567 (sqabs): Likewise.
19568 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
19569 (vqnegd_s64): Likewise.
19570 (vqabs_s64): Likewise.
19571 (vqabsd_s64): Likewise.
19572
19573 2014-04-22 Richard Henderson <rth@redhat.com>
19574
19575 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
19576 computation to the top of the loop.
19577
19578 2014-04-22 Renlin <renlin.li@arm.com>
19579 Jiong Wang <jiong.wang@arm.com>
19580
19581 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
19582 * config/aarch64/aarch64.c (aarch64_layout_frame)
19583 (aarch64_initial_elimination_offset): Likewise.
19584
19585 2014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
19586
19587 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
19588 Fix indentation.
19589
19590 2014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
19591
19592 * machmode.h (bitwise_mode_for_mode): Declare.
19593 * stor-layout.h (bitwise_type_for_mode): Likewise.
19594 * stor-layout.c (bitwise_mode_for_mode): New function.
19595 (bitwise_type_for_mode): Likewise.
19596 * builtins.c (fold_builtin_memory_op): Use it instead of
19597 int_mode_for_mode and build_nonstandard_integer_type.
19598
19599 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19600
19601 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
19602 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
19603 (*-*-solaris2*): Simplify.
19604 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
19605 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
19606 *-*-solaris2.9* handling.
19607
19608 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
19609 as bug.
19610 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
19611 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
19612 handling, simplify.
19613 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
19614 * configure: Regenerate.
19615
19616 * config/i386/sol2-9.h: Remove.
19617
19618 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
19619 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
19620 Remove Solaris 9 references.
19621
19622 2014-04-22 Vidya Praveen <vidyapraveen@arm.com>
19623
19624 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
19625 (floatuns<GPI:mode><GPF:mode>2): Remove.
19626 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
19627 and floatuns conversions.
19628 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
19629 and floatuns conversions.
19630 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
19631 (w1,w2): New mode attributes for inequal width conversions.
19632
19633 2014-04-22 Renlin Li <Renlin.Li@arm.com>
19634
19635 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
19636 the output asm format.
19637
19638 2014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
19639
19640 * config/aarch64/aarch64-simd.md
19641 (aarch64_cm<optab>di): Always split.
19642 (*aarch64_cm<optab>di): New.
19643 (aarch64_cmtstdi): Always split.
19644 (*aarch64_cmtstdi): New.
19645
19646 2014-04-22 Jakub Jelinek <jakub@redhat.com>
19647
19648 PR tree-optimization/60823
19649 * omp-low.c (ipa_simd_modify_function_body): Go through
19650 all SSA_NAMEs and for those refering to vector arguments
19651 which are going to be replaced adjust SSA_NAME_VAR and,
19652 if it is a default definition, change it into a non-default
19653 definition assigned at the beginning of function from new_decl.
19654 (ipa_simd_modify_stmt_ops): Rewritten.
19655 * tree-dfa.c (set_ssa_default_def): When removing default def,
19656 check for NULL loc instead of NULL *loc.
19657
19658 2014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19659
19660 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
19661 restrictions on core registers for DImode values in Thumb2.
19662
19663 2014-04-22 Ian Bolton <ian.bolton@arm.com>
19664
19665 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
19666 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
19667
19668 2014-04-22 Ian Bolton <ian.bolton@arm.com>
19669
19670 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
19671 (*iordi_notzesidi_di): Likewise.
19672 (*iordi_notsesidi_di): Likewise.
19673
19674 2014-04-22 Ian Bolton <ian.bolton@arm.com>
19675
19676 * config/arm/arm-protos.h (tune_params): New struct members.
19677 * config/arm/arm.c: Initialise tune_params per processor.
19678 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
19679 for speed, based on new tune_params.
19680
19681 2014-04-22 Alex Velenko <Alex.Velenko@arm.com>
19682
19683 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
19684 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
19685 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
19686 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
19687 * config/aarch64/arm_neon.h (vrnd_f64): Added.
19688 (vrnda_f64): Likewise.
19689 (vrndi_f64): Likewise.
19690 (vrndm_f64): Likewise.
19691 (vrndn_f64): Likewise.
19692 (vrndp_f64): Likewise.
19693 (vrndx_f64): Likewise.
19694
19695 2014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
19696
19697 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
19698 GET_MODE_SIZE argument is enum machine_mode.
19699
19700 2014-04-22 Jakub Jelinek <jakub@redhat.com>
19701
19702 PR target/60910
19703 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
19704 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
19705
19706 2014-04-22 Lin Zuojian <manjian2006@gmail.com>
19707
19708 PR middle-end/60281
19709 * asan.c (asan_emit_stack_protection): Force the base to align to
19710 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
19711 appropriate bits if STRICT_ALIGNMENT.
19712 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
19713 when asan is on.
19714 (expand_used_vars): Leave a space in the stack frame for alignment
19715 if STRICT_ALIGNMENT.
19716
19717 2014-04-21 David Malcolm <dmalcolm@redhat.com>
19718
19719 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
19720 than a gimple.
19721 (gimple_store_p): Likewise.
19722 (gimple_assign_load_p): Likewise.
19723 (gimple_assign_cast_p): Likewise.
19724 (gimple_clobber_p): Likewise.
19725
19726 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
19727 rather than a gimple.
19728 (gimple_assign_cast_p): Likewise.
19729
19730 2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
19731
19732 PR target/60735
19733 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
19734 If mode is DDmode and TARGET_E500_DOUBLE allow move.
19735
19736 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
19737 more debug information for E500 if -mdebug=reg.
19738
19739 2014-04-21 Uros Bizjak <ubizjak@gmail.com>
19740
19741 PR target/60909
19742 * config/i386/i386.c (ix86_expand_builtin)
19743 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
19744 register for target RTX.
19745 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
19746
19747 2014-04-18 Cong Hou <congh@google.com>
19748
19749 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
19750 the widen-mult pattern by handling two operands with different sizes,
19751 and operands whose size is smaller than half of the result type.
19752
19753 2014-04-18 Jan Hubicka <hubicka@ucw.cz>
19754
19755 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
19756 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
19757 (do_estimate_edge_time): Compute it.
19758 * ipa-inline.c (want_inline_small_function_p): Bypass
19759 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
19760
19761 2014-04-18 Jan Hubicka <hubicka@ucw.cz>
19762
19763 * ipa-inline.c (spec_rem): New static variable.
19764 (dump_overall_stats): New function.
19765 (dump_inline_stats): New function.
19766
19767 2014-04-18 Richard Henderson <rth@redhat.com>
19768
19769 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
19770 to GET_MODE_SIZE, not a reg_class_t.
19771
19772 2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19773
19774 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
19775 (vsx_xxmrglw_<mode>): Likewise.
19776
19777 2014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
19778
19779 PR target/60876
19780 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
19781 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
19782 (rs6000_init_hard_regno_mode_ok): Likewise.
19783
19784 2014-04-17 Jan Hubicka <hubicka@ucw.cz>
19785
19786 * ipa-inline.c (inline_small_functions): Account only non-cold
19787 functions.
19788 * doc/invoke.texi (inline-unit-growth): Update documentation.
19789
19790 2014-04-17 Pat Haugen <pthaugen@us.ibm.com>
19791
19792 * config/rs6000/rs6000.md (addti3, subti3): New.
19793
19794 2014-04-17 H.J. Lu <hongjiu.lu@intel.com>
19795
19796 PR target/60863
19797 * config/i386/i386.c (ix86_expand_clear): Remove outdated
19798 comment. Check optimize_insn_for_size_p instead of
19799 optimize_insn_for_speed_p.
19800
19801 2014-04-17 Martin Jambor <mjambor@suse.cz>
19802
19803 * gimple-iterator.c (gsi_start_edge): New function.
19804 * gimple-iterator.h (gsi_start_edge): Declare.
19805 * tree-sra.c (single_non_eh_succ): New function.
19806 (disqualify_ops_if_throwing_stmt): Renamed to
19807 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
19808 having one non-EH successor BB.
19809 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
19810 generate loads into replacements.
19811 (sra_modify_assign): Likewise and and also use the simple path for
19812 such statements.
19813 (sra_modify_function_body): Commit statements on edges.
19814
19815 2014-04-17 Richard Biener <rguenther@suse.de>
19816
19817 PR middle-end/60849
19818 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
19819 comparison results and add clarifying comment.
19820
19821 2014-04-17 Jakub Jelinek <jakub@redhat.com>
19822
19823 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
19824 (blank_mode): Initialize it.
19825 (emit_mode_size_inline, emit_mode_nunits_inline,
19826 emit_mode_inner_inline): New functions.
19827 (emit_insn_modes_h): Call them and surround their output with
19828 #if GCC_VERSION >= 4001 ... #endif.
19829 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
19830 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
19831 mode_* arrays if the argument is __builtin_constant_p.
19832 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
19833 is enum machine_mode.
19834
19835 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
19836
19837 * passes.c (opt_pass::execute): Adjust.
19838 (pass_manager::execute_pass_mode_switching): Likewise.
19839 (early_local_passes::execute): Likewise.
19840 (execute_one_pass): Pass cfun to the pass's execute method.
19841 * tree-pass.h (opt_pass::execute): Add function * argument.
19842 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
19843 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
19844 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
19845 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
19846 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
19847 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
19848 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
19849 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
19850 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
19851 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
19852 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
19853 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
19854 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
19855 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
19856 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
19857 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
19858 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
19859 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
19860 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
19861 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
19862 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
19863 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
19864 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
19865 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
19866 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
19867 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
19868 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
19869 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
19870 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
19871 Adjust.
19872
19873 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
19874
19875 * passes.c (opt_pass::gate): Take function * argument.
19876 (gate_all_early_local_passes): Merge into
19877 (early_local_passes::gate): this.
19878 (gate_all_early_optimizations): Merge into
19879 (all_early_optimizations::gate): this.
19880 (gate_all_optimizations): Mege into
19881 (all_optimizations::gate): this.
19882 (gate_all_optimizations_g): Merge into
19883 (all_optimizations_g::gate): this.
19884 (gate_rest_of_compilation): Mege into
19885 (rest_of_compilation::gate): this.
19886 (gate_postreload): Merge into
19887 (postreload::gate): this.
19888 (dump_one_pass): Pass cfun to the pass's gate method.
19889 (execute_ipa_summary_passes): Likewise.
19890 (execute_one_pass): Likewise.
19891 (ipa_write_summaries_2): Likewise.
19892 (ipa_write_optimization_summaries_1): Likewise.
19893 (ipa_read_summaries_1): Likewise.
19894 (ipa_read_optimization_summaries_1): Likewise.
19895 (execute_ipa_stmt_fixups): Likewise.
19896 * tree-pass.h (opt_pass::gate): Add function * argument.
19897 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
19898 combine-stack-adj.c, combine.c, compare-elim.c,
19899 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
19900 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
19901 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
19902 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
19903 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
19904 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
19905 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
19906 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
19907 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
19908 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
19909 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
19910 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
19911 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
19912 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
19913 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
19914 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
19915 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
19916 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
19917 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
19918 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
19919 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
19920 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
19921 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
19922 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
19923 var-tracking.c, vtable-verify.c, web.c: Adjust.
19924
19925 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
19926
19927 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
19928 * configure: Regenerate.
19929
19930 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
19931
19932 * passes.c (dump_one_pass): don't check pass->has_gate.
19933 (execute_ipa_summary_passes): Likewise.
19934 (execute_one_pass): Likewise.
19935 (ipa_write_summaries_2): Likewise.
19936 (ipa_write_optimization_summaries_1): Likewise.
19937 (ipa_read_optimization_summaries_1): Likewise.
19938 (execute_ipa_stmt_fixups): Likewise.
19939 * tree-pass.h (pass_data::has_gate): Remove.
19940 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
19941 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
19942 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
19943 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
19944 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
19945 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
19946 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
19947 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
19948 gimple-low.c, gimple-ssa-isolate-paths.c,
19949 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
19950 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
19951 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
19952 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
19953 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
19954 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
19955 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
19956 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
19957 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
19958 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
19959 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
19960 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
19961 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
19962 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
19963 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
19964 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
19965 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
19966 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
19967 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
19968 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
19969 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
19970 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
19971 Adjust.
19972
19973 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
19974
19975 * pass_manager.h (pass_manager::register_dump_files_1): Remove
19976 declaration.
19977 * passes.c (pass_manager::register_dump_files_1): Merge into
19978 (pass_manager::register_dump_files): this, and remove its handling of
19979 properties since the pass always has the properties anyway.
19980 (pass_manager::pass_manager): Adjust.
19981
19982 2014-04-17 Trevor Saunders <tsaunders@mozilla.com>
19983
19984 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
19985 * passes.c (pass_manager::register_dump_files_1): Remove dead code
19986 dealing with properties.
19987 (pass_manager::register_dump_files): Adjust.
19988
19989 2014-03-20 Mark Wielaard <mjw@redhat.com>
19990
19991 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
19992 then represent the bound as normal constant value.
19993
19994 2014-04-17 Jakub Jelinek <jakub@redhat.com>
19995
19996 PR target/60847
19997 Forward port from 4.8 branch
19998 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
19999
20000 * config/i386/bmiintrin.h (_blsi_u32): New.
20001 (_blsi_u64): Ditto.
20002 (_blsr_u32): Ditto.
20003 (_blsr_u64): Ditto.
20004 (_blsmsk_u32): Ditto.
20005 (_blsmsk_u64): Ditto.
20006 (_tzcnt_u32): Ditto.
20007 (_tzcnt_u64): Ditto.
20008
20009 2014-04-17 Kito Cheng <kito@0xlab.org>
20010
20011 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
20012
20013 2014-04-17 Richard Biener <rguenther@suse.de>
20014
20015 PR middle-end/60849
20016 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
20017 boolean results for comparisons.
20018
20019 2014-04-17 Richard Biener <rguenther@suse.de>
20020
20021 PR tree-optimization/60836
20022 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
20023 initial PHI args to be gimple values.
20024
20025 2014-04-17 Richard Biener <rguenther@suse.de>
20026
20027 PR tree-optimization/60841
20028 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
20029 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
20030 of stmts to SLP build.
20031 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
20032 (vect_analyze_slp): Likewise.
20033 (vect_analyze_slp_instance): Likewise.
20034 (vect_build_slp_tree): Limit overall SLP tree growth.
20035 * tree-vectorizer.h (vect_analyze_data_refs,
20036 vect_analyze_slp): Adjust prototypes.
20037
20038 2014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
20039
20040 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
20041 Silvermont.
20042
20043 2014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
20044
20045 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
20046 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
20047 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
20048 for TARGET_SLOW_PSHUFB
20049
20050 2014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
20051
20052 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
20053 * config/i386/i386.c (intel_cost): Ditto.
20054
20055 2014-04-17 Joey Ye <joey.ye@arm.com>
20056
20057 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
20058
20059 2014-04-16 Jan Hubicka <hubicka@ucw.cz>
20060
20061 * opts.c (common_handle_option): Disable -fipa-reference coorectly
20062 with -fuse-profile.
20063
20064 2014-04-16 Jan Hubicka <hubicka@ucw.cz>
20065
20066 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
20067 (type_all_derivations_known_p): New predicate.
20068 (type_all_ctors_visible_p): New predicate.
20069 (type_possibly_instantiated_p): New predicate.
20070 (get_odr_type): Compute all_derivations_known.
20071 (dump_odr_type): Dump the flag.
20072 (maybe_record_type): Cleanup.
20073 (record_target_from_binfo): Add bases_to_consider array;
20074 record bases for types w/o instances and skip CXX destructor.
20075 (possible_polymorphic_call_targets_1): Add bases_to_consider
20076 and consider_construction parameters; check if type may have instance.
20077 (get_polymorphic_call_info): Set maybe_in_construction to true
20078 when we know nothing.
20079 (record_targets_from_bases): Skip CXX destructors; they are
20080 never called for types in construction.
20081 (possible_polymorphic_call_targets): Do not record target when
20082 type may not have instance.
20083
20084 2014-04-16 Jan Hubicka <hubicka@ucw.cz>
20085
20086 PR ipa/60854
20087 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
20088 external aliases alive, too.
20089
20090 2014-04-16 Andrew Pinski <apinski@cavium.com>
20091
20092 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
20093 definition.
20094
20095 2014-04-16 Eric Botcazou <ebotcazou@adacore.com>
20096
20097 * final.c (compute_alignments): Do not apply loop alignment to a block
20098 falling through to the exit.
20099
20100 2014-04-16 Catherine Moore <clm@codesourcery.com>
20101
20102 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
20103 Adjust constraints for microMIPS store patterns.
20104
20105 2014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
20106
20107 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
20108
20109 2014-04-16 Eric Botcazou <ebotcazou@adacore.com>
20110
20111 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
20112 (append_use): Run at -O0.
20113 (append_vdef): Likewise.
20114 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
20115 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
20116
20117 2014-04-16 Jakub Jelinek <jakub@redhat.com>
20118
20119 PR tree-optimization/60844
20120 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
20121 (propagate_op_to_single_use, remove_visited_stmt_chain,
20122 linearize_expr, repropagate_negates, reassociate_bb): Use it
20123 instead of gsi_remove.
20124
20125 2014-04-16 Martin Jambor <mjambor@suse.cz>
20126
20127 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
20128 ipa_transforms_to_apply.
20129 (cgraph_function_versioning): Assert that old_node has empty
20130 ipa_transforms_to_apply.
20131 * trans-mem.c (ipa_tm_create_version): Likewise.
20132 * tree-inline.c (tree_function_versioning): Do not duplicate
20133 ipa_transforms_to_apply.
20134
20135 2014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20136
20137 PR target/60817
20138 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
20139 x86_64-*-* cases.
20140 Pass necessary as flags on 64-bit Solaris/x86.
20141 Use lowercase relocs for x86_64-*-*.
20142 * configure: Regenerate.
20143
20144 2014-04-15 Jan Hubicka <jh@suse.cz>
20145
20146 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
20147 (maybe_record_node, likely_target_p): Use it.
20148
20149 2014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20150
20151 PR target/60839
20152 Revert following patch
20153
20154 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
20155
20156 PR target/60735
20157 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
20158 software floating point or no floating point registers, do not
20159 allow any type in the FPRs. Eliminate a test for SPE SIMD types
20160 in GPRs that occurs after we tested for GPRs that would never be
20161 true.
20162
20163 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
20164 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
20165 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
20166 specifically allow DDmode, since that does not use the SPE SIMD
20167 instructions.
20168
20169 2014-03-21 Mark Wielaard <mjw@redhat.com>
20170
20171 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
20172 as unsigned or int depending on type and value used.
20173
20174 2014-04-15 Richard Biener <rguenther@suse.de>
20175
20176 PR rtl-optimization/56965
20177 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
20178 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
20179 ... here.
20180 * alias.c (true_dependence_1): Do not call
20181 nonoverlapping_component_refs_p.
20182 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
20183 nonoverlapping_component_refs_p.
20184 (indirect_refs_may_alias_p): Likewise.
20185
20186 2014-04-15 Teresa Johnson <tejohnson@google.com>
20187
20188 * cfg.c (dump_bb_info): Fix flags check.
20189 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
20190
20191 2014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20192
20193 PR rtl-optimization/60663
20194 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
20195 avoid 0 cost.
20196
20197 2014-04-15 Richard Biener <rguenther@suse.de>
20198
20199 * lto-streamer.h (LTO_major_version): Bump to 4.
20200
20201 2014-04-15 Richard Biener <rguenther@suse.de>
20202
20203 * common.opt (lto_partition_model): New enum.
20204 (flto-partition=): Merge separate options with a single with argument,
20205 add -flto-partition=one support.
20206 * flag-types.h (enum lto_partition_model): Declare.
20207 * opts.c (finish_options): Remove duplicate -flto-partition=
20208 option check.
20209 * lto-wrapper.c (run_gcc): Adjust.
20210
20211 2014-04-15 Richard Biener <rguenther@suse.de>
20212
20213 * alias.c (ncr_compar): New function.
20214 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
20215
20216 2014-04-15 Richard Biener <rguenther@suse.de>
20217
20218 * alias.c (record_component_aliases): Do not walk BINFOs.
20219
20220 2014-04-15 Richard Biener <rguenther@suse.de>
20221
20222 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
20223 Add struct function argument and adjust.
20224 (find_func_aliases_for_call): Likewise.
20225 (find_func_aliases): Likewise.
20226 (find_func_clobbers): Likewise.
20227 (intra_create_variable_infos): Likewise.
20228 (compute_points_to_sets): Likewise.
20229 (ipa_pta_execute): Adjust. Do not push/pop cfun.
20230
20231 2014-04-15 Richard Biener <rguenther@suse.de>
20232
20233 * tree.c (iterative_hash_expr): Use enum tree_code_class
20234 to store TREE_CODE_CLASS.
20235 (tree_block): Likewise.
20236 (tree_set_block): Likewise.
20237 * tree.h (fold_build_pointer_plus_loc): Use
20238 convert_to_ptrofftype_loc.
20239
20240 2014-04-15 Jakub Jelinek <jakub@redhat.com>
20241
20242 PR plugins/59335
20243 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
20244 added in 4.9.
20245
20246 2014-04-15 Eric Botcazou <ebotcazou@adacore.com>
20247
20248 * cfgloop.h (struct loop): Move force_vectorize down.
20249 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
20250 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
20251 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
20252 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
20253 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
20254 * tree-core.h (enum annot_expr_kind): Add new kind values.
20255 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
20256 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
20257 kinds.
20258 * tree.def (ANNOTATE_EXPR): Tweak comment.
20259
20260 2014-04-14 Jan Hubicka <hubicka@ucw.cz>
20261
20262 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
20263 cxa_pure_virtual).
20264
20265 2014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
20266
20267 * tree.h (TYPE_IDENTIFIER): Declare.
20268 * tree.c (subrange_type_for_debug_p): Use it.
20269 * godump.c (go_format_type): Likewise.
20270 * dwarf2out.c (is_cxx_auto, modified_type_die,
20271 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
20272 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
20273
20274 2014-04-14 Jan Hubicka <hubicka@ucw.cz>
20275
20276 PR lto/60820
20277 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
20278
20279 2014-04-14 Uros Bizjak <ubizjak@gmail.com>
20280
20281 * config/i386/i386.c (examine_argument): Return bool. Return true if
20282 parameter should be passed in memory.
20283 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
20284 (construct_container): Update calls to examine_argument.
20285 (function_arg_advance_64): Ditto.
20286 (return_in_memory_32): Merge with ix86_return_in_memory.
20287 (return_in_memory_64): Ditto.
20288 (return_in_memory_ms_64): Ditto.
20289
20290 2014-04-14 Jan Hubicka <hubicka@ucw.cz>
20291
20292 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
20293 * coverage.c (coverage_compute_profile_id): Handle externally visible
20294 symbols.
20295
20296 2014-04-14 Martin Jambor <mjambor@suse.cz>
20297
20298 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
20299 DECL_DISREGARD_INLINE_LIMITS functions.
20300
20301 2014-04-14 H.J. Lu <hongjiu.lu@intel.com>
20302
20303 PR target/60827
20304 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
20305
20306 2014-04-14 H.J. Lu <hongjiu.lu@intel.com>
20307
20308 PR target/60827
20309 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
20310 optimize_insn_for_speed_p instead of
20311 optimize_function_for_speed_p.
20312
20313 2014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
20314
20315 * doc/invoke.texi (free): Document AArch64.
20316
20317 2014-04-14 Richard Biener <rguenther@suse.de>
20318
20319 PR tree-optimization/60042
20320 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
20321 (insert_into_preds_of_block): Do not prevent PHI insertion
20322 for REFERENCE exprs here ...
20323 (eliminate_dom_walker::before_dom_children): ... but prevent
20324 their use here under similar conditions when applied to the
20325 IL after PRE optimizations.
20326
20327 2014-04-14 Richard Biener <rguenther@suse.de>
20328
20329 * passes.def: Move early points-to after early SRA.
20330
20331 2014-04-14 Richard Biener <rguenther@suse.de>
20332
20333 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
20334 check for which sign-changes we allow when forwarding
20335 a converted value into a switch.
20336
20337 2014-04-14 Eric Botcazou <ebotcazou@adacore.com>
20338
20339 * stor-layout.c (place_field): Finalize non-constant offset for the
20340 field, if any.
20341
20342 2014-04-14 Richard Biener <rguenther@suse.de>
20343
20344 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
20345 as argument.
20346 (expand_switch_using_bit_tests_p): Likewise.
20347 (process_switch): Compute and pass on speed_p based on the
20348 switch stmt.
20349 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
20350 optimize_bb_for_speed_p.
20351
20352 2014-04-14 Eric Botcazou <ebotcazou@adacore.com>
20353
20354 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
20355 * function.h (struct function): Rename has_force_vect_loops into
20356 has_force_vectorize_loops.
20357 * lto-streamer-in.c (input_cfg): Adjust for renaming.
20358 (input_struct_function_base): Likewise.
20359 * lto-streamer-out.c (output_cfg): Likewise.
20360 (output_struct_function_base): Likewise.
20361 * omp-low.c (expand_omp_simd): Likewise.
20362 * tree-cfg.c (move_sese_region_to_fn): Likewise.
20363 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
20364 (version_loop_for_if_conversion): Likewise.
20365 (tree_if_conversion): Likewise.
20366 (main_tree_if_conversion): Likewise.
20367 (gate_tree_if_conversion): Likewise.
20368 * tree-inline.c (copy_loops): Likewise.
20369 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
20370 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
20371 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
20372 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
20373 * tree-vectorizer.c (vectorize_loops): Likewise.
20374 * tree-vectorizer.h (unlimited_cost_model): Likewise.
20375
20376 2014-04-14 Richard Biener <rguenther@suse.de>
20377
20378 PR lto/60720
20379 * lto-streamer-out.c (wrap_refs): New function.
20380 (lto_output): Wrap symbol references in global initializes in
20381 type-preserving MEM_REFs.
20382
20383 2014-04-14 Christian Bruel <christian.bruel@st.com>
20384
20385 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
20386
20387 2014-04-14 Christian Bruel <christian.bruel@st.com>
20388
20389 * config/sh/sh.md (setmemqi): New expand pattern.
20390 * config/sh/sh.h (CLEAR_RATIO): Define.
20391 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
20392 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
20393
20394 2014-04-14 Richard Biener <rguenther@suse.de>
20395
20396 PR middle-end/55022
20397 * fold-const.c (negate_expr_p): Don't negate directional rounding
20398 division.
20399 (fold_negate_expr): Likewise.
20400
20401 2014-04-14 Richard Biener <rguenther@suse.de>
20402
20403 PR tree-optimization/59817
20404 PR tree-optimization/60453
20405 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
20406 recursion to catch all CHRECs in the scalar evolution and restrict
20407 the predicate for the remains appropriately.
20408
20409 2014-04-12 Catherine Moore <clm@codesourcery.com>
20410
20411 * config/mips/constraints.md: Add new register constraint "kb".
20412 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
20413 (*movhi_internal): Likewise.
20414 (*movqi_internal): Likewise.
20415 * config/mips/mips.h (M16_STORE_REGS): New register class.
20416 (REG_CLASS_NAMES): Add M16_STORE_REGS.
20417 (REG_CLASS_CONTENTS): Likewise.
20418 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
20419
20420 2014-04-11 Tobias Burnus <burnus@net-b.de>
20421
20422 PR c/60194
20423 * doc/invoke.texi (-Wformat-signedness): Document it.
20424 (Wformat=2): Mention that this enables -Wformat-signedness.
20425
20426 2014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
20427
20428 * common/config/epiphany/epiphany-common.c
20429 (epiphany_option_optimization_table): Enable section anchors by
20430 default at -O1 or higher.
20431 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
20432 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
20433 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
20434 carries no extra cost.
20435 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
20436 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
20437 * config/epiphany/predicates.md (memclob_operand): New predicate.
20438 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
20439 Use memclob_operand predicate and X constraint for operand 3.
20440
20441 2014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
20442
20443 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
20444 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
20445 its operands.
20446
20447 2014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
20448
20449 PR rtl-optimization/60651
20450 * mode-switching.c (optimize_mode_switching): Make sure to emit
20451 sets of a lower numbered entity before sets of a higher numbered
20452 entity to a mode of the same or lower priority.
20453 When creating a seginfo for a basic block that starts with a code
20454 label, move the insertion point past the code label.
20455 (new_seginfo): Document and enforce requirement that
20456 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
20457 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
20458 * doc/tm.texi: Regenerate.
20459
20460 2014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
20461
20462 PR target/60811
20463 * config/arc/arc.c (arc_save_restore): Fix assert typo.
20464
20465 2013-04-11 Jakub Jelinek <jakub@redhat.com>
20466
20467 * BASE-VER: Set to 4.10.0.
20468
20469 2014-04-11 Tobias Burnus <burnus@net-b.de>
20470
20471 PR other/59055
20472 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
20473 * doc/gcc.texi (Service): Update description in the @menu
20474 * doc/invoke.texi (Option Summary): Remove misplaced and
20475 duplicated @menu.
20476
20477 2014-04-11 Steve Ellcey <sellcey@mips.com>
20478 Jakub Jelinek <jakub@redhat.com>
20479
20480 PR middle-end/60556
20481 * expr.c (convert_move): Use emit_store_flag_force instead of
20482 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
20483 argument to it.
20484
20485 2014-04-11 Richard Biener <rguenther@suse.de>
20486
20487 PR middle-end/60797
20488 * varasm.c (assemble_alias): Avoid endless error reporting
20489 recursion by setting TREE_ASM_WRITTEN.
20490
20491 2014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
20492
20493 * config/s390/s390.md: Add a splitter for NOT rtx.
20494
20495 2014-04-11 Jakub Jelinek <jakub@redhat.com>
20496
20497 PR rtl-optimization/60663
20498 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
20499
20500 2014-04-10 Jan Hubicka <hubicka@ucw.cz>
20501 Jakub Jelinek <jakub@redhat.com>
20502
20503 PR lto/60567
20504 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
20505 flag from decl_node to node.
20506
20507 2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20508
20509 PR debug/60655
20510 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
20511 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
20512 ameliorating the cases where it can be.
20513
20514 2014-04-09 David Edelsohn <dje.gcc@gmail.com>
20515
20516 Revert
20517 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
20518
20519 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
20520 (loadsync_<mode>): Change mode.
20521 (load_quadpti, store_quadpti): New.
20522 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
20523 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
20524 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
20525
20526 2014-04-09 Cong Hou <congh@google.com>
20527
20528 PR testsuite/60773
20529 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
20530 documentation.
20531
20532 2014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20533
20534 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
20535 instead of vnor to exploit possible fusion opportunity in the
20536 future.
20537 (altivec_expand_vec_perm_const_le): Likewise.
20538
20539 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
20540
20541 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
20542 (loadsync_<mode>): Change mode.
20543 (load_quadpti, store_quadpti): New.
20544 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
20545 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
20546
20547 2014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
20548
20549 PR target/60763
20550 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
20551 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
20552 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
20553
20554 2014-04-08 Richard Biener <rguenther@suse.de>
20555
20556 PR middle-end/60706
20557 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
20558 a 64bit widest int print double-int similar to on HWI64 hosts.
20559
20560 2014-04-08 Richard Biener <rguenther@suse.de>
20561
20562 PR tree-optimization/60785
20563 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
20564 default defs properly.
20565
20566 2014-04-08 Nathan Sidwell <nathan@codesourcery.com>
20567
20568 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
20569 (Weffc++): Likewise.
20570
20571 2014-04-07 Jan Hubicka <hubcika@ucw.cz>
20572
20573 * ipa-devirt.c (maybe_record_node): When node is not recorded,
20574 set completep to false rather than true.
20575
20576 2014-04-07 Douglas B Rupp <rupp@adacore.com>
20577
20578 PR target/60504
20579 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
20580 ARM_TARGET2_DWARF_FORMAT.
20581
20582 2014-04-07 Charles Baylis <charles.baylis@linaro.org>
20583
20584 PR target/60609
20585 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
20586 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
20587 ADDR_DIFF_VEC.
20588
20589 2014-04-07 Richard Biener <rguenther@suse.de>
20590
20591 PR tree-optimization/60766
20592 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
20593 (may_eliminate_iv): Convert cand_value_at result to desired type.
20594
20595 2014-04-07 Jason Merrill <jason@redhat.com>
20596
20597 PR c++/60731
20598 * common.opt (-fno-gnu-unique): Add.
20599 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
20600
20601 2014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20602
20603 * haifa-sched.c: Fix outdated function reference and minor
20604 grammar errors in introductory comment.
20605
20606 2014-04-07 Richard Biener <rguenther@suse.de>
20607
20608 PR middle-end/60750
20609 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
20610 for noreturn calls.
20611 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
20612
20613 2014-04-06 John David Anglin <danglin@gcc.gnu.org>
20614
20615 PR debug/55794
20616 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
20617 size accounting for thunks.
20618 (pa_asm_output_mi_thunk): Use final_start_function() and
20619 final_end_function() to output function start and end directives.
20620
20621 2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
20622
20623 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
20624 device specific ISA/ feature information. Remove short_sp and
20625 errata_skip ds. Add avr_device_specific_features enum to have device
20626 specific info.
20627 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
20628 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
20629 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
20630 updated device specific info.
20631 * config/avr/avr-mcus.def: Merge device specific details to
20632 dev_attribute field.
20633 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
20634 errata_skip.
20635 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
20636 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
20637 assembler if RMW isa supported by current device.
20638 * config/avr/genmultilib.awk: Update as device info structure changed.
20639 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
20640
20641 2014-04-04 Cong Hou <congh@google.com>
20642
20643 PR tree-optimization/60656
20644 * tree-vect-stmts.c (supportable_widening_operation):
20645 Fix a bug that elements in a vector with vect_used_by_reduction
20646 property are incorrectly reordered when the operation on it is not
20647 consistant with the one in reduction operation.
20648
20649 2014-04-04 John David Anglin <danglin@gcc.gnu.org>
20650
20651 PR rtl-optimization/60155
20652 * gcse.c (record_set_data): New function.
20653 (single_set_gcse): New function.
20654 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
20655 (hoist_code): Likewise.
20656 (get_pressure_class_and_nregs): Likewise.
20657
20658 2014-04-04 Eric Botcazou <ebotcazou@adacore.com>
20659
20660 * explow.c (probe_stack_range): Emit a final optimization blockage.
20661
20662 2014-04-04 Anthony Green <green@moxielogic.com>
20663
20664 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
20665 typos.
20666
20667 2014-04-04 Jan Hubicka <hubicka@ucw.cz>
20668
20669 PR ipa/59626
20670 * lto-cgraph.c (input_overwrite_node): Check that partitioning
20671 flags are set only during streaming.
20672 * ipa.c (process_references, walk_polymorphic_call_targets,
20673 symtab_remove_unreachable_nodes): Drop bodies of always inline
20674 after early inlining.
20675 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
20676
20677 2014-04-04 Jakub Jelinek <jakub@redhat.com>
20678 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20679
20680 PR debug/60655
20681 * dwarf2out.c (const_ok_for_output_1): Reject expressions
20682 containing a NOT.
20683
20684 2014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20685
20686 PR bootstrap/60743
20687 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
20688 duration.
20689 (cortex_a53_fdivd): Likewise.
20690
20691 2014-04-04 Martin Jambor <mjambor@suse.cz>
20692
20693 PR ipa/60640
20694 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
20695 Adjust all callers.
20696 * cgraph.c (clone_of_p): Also return true if thunks match.
20697 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
20698 cgraph_function_or_thunk_node and an obsolete comment.
20699 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
20700 file.
20701 (build_function_decl_skip_args): Likewise.
20702 (set_new_clone_decl_and_node_flags): New function.
20703 (duplicate_thunk_for_node): Likewise.
20704 (redirect_edge_duplicating_thunks): Likewise.
20705 (cgraph_clone_node): New parameter args_to_skip, pass it to
20706 redirect_edge_duplicating_thunks which is called instead of
20707 cgraph_redirect_edge_callee.
20708 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
20709 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
20710
20711 2014-04-04 Jeff Law <law@redhat.com>
20712
20713 PR target/60657
20714 * config/arm/predicates.md (const_int_I_operand): New predicate.
20715 (const_int_M_operand): Similarly.
20716 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
20717 const_int_operand.
20718 (insv_t2, extv_reg, extzv_t2): Likewise.
20719 (load_multiple_with_writeback): Similarly for const_int_I_operand.
20720 (pop_multiple_with_writeback_and_return): Likewise.
20721 (vfp_pop_multiple_with_writeback): Likewise
20722
20723 2014-04-04 Richard Biener <rguenther@suse.de>
20724
20725 PR ipa/60746
20726 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
20727 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
20728 non-GIMPLE_LABELs.
20729 * gimplify.h (gimple_add_tmp_var_fn): Declare.
20730 * gimplify.c (gimple_add_tmp_var_fn): New function.
20731 * gimple-expr.h (create_tmp_reg_fn): Declare.
20732 * gimple-expr.c (create_tmp_reg_fn): New function.
20733 * gimple-low.c (record_vars_into): Don't change cfun.
20734 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
20735 code generation without cfun.
20736
20737 2014-04-04 Thomas Schwinge <thomas@codesourcery.com>
20738
20739 PR bootstrap/60719
20740 * Makefile.in (install-driver): Fix shell scripting.
20741
20742 2014-04-03 Cong Hou <congh@google.com>
20743
20744 PR tree-optimization/60505
20745 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
20746 threshold of number of iterations below which no vectorization
20747 will be done.
20748 * tree-vect-loop.c (new_loop_vec_info):
20749 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
20750 * tree-vect-loop.c (vect_analyze_loop_operations):
20751 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
20752 * tree-vect-loop.c (vect_transform_loop):
20753 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
20754 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
20755 of iterations of the loop and see if we should build the epilogue.
20756
20757 2014-04-03 Richard Biener <rguenther@suse.de>
20758
20759 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
20760 (streamer_tree_cache_create): Adjust.
20761 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
20762 to allow optional nodes array.
20763 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
20764 (streamer_tree_cache_append): Likewise.
20765 (streamer_tree_cache_create): Create nodes array optionally
20766 as specified by parameter.
20767 * lto-streamer-out.c (create_output_block): Avoid maintaining
20768 the node array in the writer cache.
20769 (DFS_write_tree): Remove assertion.
20770 (produce_asm_for_decls): Free the out decl state hash table early.
20771 * lto-streamer-in.c (lto_data_in_create): Adjust for
20772 streamer_tree_cache_create prototype change.
20773
20774 2014-04-03 Richard Biener <rguenther@suse.de>
20775
20776 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
20777 set TREE_CHAIN to NULL_TREE.
20778
20779 2014-04-03 Richard Biener <rguenther@suse.de>
20780
20781 PR tree-optimization/60740
20782 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
20783 over all GIMPLE_COND operands.
20784
20785 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
20786
20787 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
20788 (Weffc++): Remove Scott's numbering, merge lists and reference
20789 Wnon-virtual-dtor.
20790
20791 2014-04-03 Nick Clifton <nickc@redhat.com>
20792
20793 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
20794 properly.
20795
20796 2014-04-03 Martin Jambor <mjambor@suse.cz>
20797
20798 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
20799 mention gcc_unreachable before failing.
20800 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
20801 removed symbols.
20802
20803 2014-04-02 Jan Hubicka <hubicka@ucw.cz>
20804
20805 PR ipa/60659
20806 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
20807 inconsistent code and instead mark the context inconsistent.
20808 (possible_polymorphic_call_targets): For inconsistent contexts
20809 return empty complete list.
20810
20811 2014-04-02 Anthony Green <green@moxielogic.com>
20812
20813 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
20814 (extendqisi2, extendhisi2): Define.
20815 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
20816 (WCHAR_TYPE): Change to unsigned int.
20817
20818 2014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20819
20820 PR tree-optimization/60733
20821 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
20822 insertion point for PHI candidates to be the end of the feeding
20823 block for the PHI argument.
20824
20825 2014-04-02 Vladimir Makarov <vmakarov@redhat.com>
20826
20827 PR rtl-optimization/60650
20828 * lra-constraints.c (process_alt_operands): Decrease reject for
20829 earlyclobber matching.
20830
20831 2014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
20832
20833 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
20834
20835 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20836
20837 * config/spu/spu.c (pad_bb): Do not crash when the last
20838 insn is CODE_FOR_blockage.
20839
20840 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20841
20842 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
20843 lies outside the target mode.
20844
20845 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
20846
20847 PR target/60735
20848 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
20849 software floating point or no floating point registers, do not
20850 allow any type in the FPRs. Eliminate a test for SPE SIMD types
20851 in GPRs that occurs after we tested for GPRs that would never be
20852 true.
20853
20854 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
20855 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
20856 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
20857 specifically allow DDmode, since that does not use the SPE SIMD
20858 instructions.
20859
20860 2014-04-02 Richard Biener <rguenther@suse.de>
20861
20862 PR middle-end/60729
20863 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
20864 MODE_INTs. Properly use negv_optab.
20865 (expand_abs): Likewise.
20866
20867 2014-04-02 Richard Biener <rguenther@suse.de>
20868
20869 PR bootstrap/60719
20870 * Makefile.in (install-driver): Guard extra installs with special
20871 names properly.
20872
20873 2014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
20874
20875 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
20876 Document vec_vgbbd.
20877
20878 2014-04-01 Richard Henderson <rth@redhat.com>
20879
20880 PR target/60704
20881 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
20882 alternative enabled before register allocation.
20883
20884 2014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
20885
20886 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
20887 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
20888 typo.
20889 (nios2_large_got_address): Remove unneeded 'sym' parameter.
20890 (nios2_got_address): Update nios2_large_got_address call site.
20891 (nios2_delegitimize_address): New function.
20892 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
20893 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
20894 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
20895
20896 2014-04-01 Martin Husemann <martin@duskware.de>
20897
20898 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
20899 for -mabi=32.
20900
20901 2014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
20902
20903 PR rtl-optimization/60604
20904 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
20905 check from register_operand.
20906 (register_operand): Redefine in terms of general_operand.
20907 (nonmemory_operand): Use register_operand for the non-constant cases.
20908
20909 2014-04-01 Richard Biener <rguenther@suse.de>
20910
20911 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
20912
20913 2014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
20914
20915 * doc/invoke.texi (mapp-regs): Clarify.
20916
20917 2014-03-31 Ulrich Drepper <drepper@gmail.com>
20918
20919 * config/i386/avx512fintrin.h (__v32hi): Define type.
20920 (__v64qi): Likewise.
20921 (_mm512_set1_epi8): Define.
20922 (_mm512_set1_epi16): Define.
20923 (_mm512_set4_epi32): Define.
20924 (_mm512_set4_epi64): Define.
20925 (_mm512_set4_pd): Define.
20926 (_mm512_set4_ps): Define.
20927 (_mm512_setr4_epi64): Define.
20928 (_mm512_setr4_epi32): Define.
20929 (_mm512_setr4_pd): Define.
20930 (_mm512_setr4_ps): Define.
20931 (_mm512_setzero_epi32): Define.
20932
20933 2014-03-31 Martin Jambor <mjambor@suse.cz>
20934
20935 PR middle-end/60647
20936 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
20937 callsite_arguments_match_p. Updated all callers. Also check types of
20938 corresponding formal parameters and actual arguments.
20939 (not_all_callers_have_enough_arguments_p) Renamed to
20940 some_callers_have_mismatched_arguments_p.
20941
20942 2014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
20943
20944 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
20945
20946 2014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
20947
20948 PR target/60034
20949 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
20950 section anchor.
20951
20952 2014-03-30 Uros Bizjak <ubizjak@gmail.com>
20953
20954 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
20955 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
20956 Split out
20957 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
20958 Use FMAMODE_NOVF512 mode iterator.
20959 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
20960 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
20961 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
20962 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
20963 Split out
20964 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
20965 Use VF_128_256 mode iterator.
20966 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
20967 Ditto.
20968
20969 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
20970
20971 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
20972 static chain if needed.
20973
20974 2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
20975
20976 PR target/60697
20977 * lra-constraints.c (index_part_to_reg): New.
20978 (process_address): Use it.
20979
20980 2014-03-27 Jeff Law <law@redhat.com>
20981 Jakub Jelinek <jakub@redhat.com>
20982
20983 PR target/60648
20984 * expr.c (do_tablejump): Use simplify_gen_binary rather than
20985 gen_rtx_{PLUS,MULT} to build up the address expression.
20986
20987 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
20988 creating non-canonical RTL.
20989
20990 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
20991
20992 PR ipa/60243
20993 * ipa-inline.c (want_inline_small_function_p): Short circuit large
20994 functions; reorganize to make cheap checks first.
20995 (inline_small_functions): Do not estimate growth when dumping;
20996 it is expensive.
20997 * ipa-inline.h (inline_summary): Add min_size.
20998 (growth_likely_positive): New function.
20999 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
21000 (set_cond_stmt_execution_predicate): Cleanup.
21001 (estimate_edge_size_and_time): Compute min_size.
21002 (estimate_calls_size_and_time): Likewise.
21003 (estimate_node_size_and_time): Likewise.
21004 (inline_update_overall_summary): Update min_size.
21005 (do_estimate_edge_time): Likewise.
21006 (do_estimate_edge_size): Update.
21007 (do_estimate_edge_hints): Update.
21008 (growth_likely_positive): New function.
21009
21010 2014-03-28 Jakub Jelinek <jakub@redhat.com>
21011
21012 PR target/60693
21013 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
21014 also if addr has VOIDmode.
21015
21016 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21017
21018 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
21019 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
21020 Declare extern.
21021 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
21022 instructions as well as AdvancedSIMD loads.
21023
21024 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21025
21026 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
21027 Use crypto_aese type.
21028 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
21029 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
21030 crypto_aese, crypto_aesmc. Move to types.md.
21031 * config/arm/types.md (crypto_aes): Split into crypto_aese,
21032 crypto_aesmc.
21033 * config/arm/iterators.md (crypto_type): Likewise.
21034
21035 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
21036
21037 * cgraph.c: Include expr.h and tree-dfa.h.
21038 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
21039 remove LHS.
21040
21041 2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
21042
21043 PR target/60675
21044 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
21045 regs from checking multi-reg pseudos.
21046
21047 2014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
21048
21049 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
21050
21051 2014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
21052
21053 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
21054 if it would clobber the stack pointer, even temporarily.
21055
21056 2014-03-28 Eric Botcazou <ebotcazou@adacore.com>
21057
21058 * mode-switching.c: Make small adjustments to the top comment.
21059
21060 2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
21061
21062 * config/rs6000/constraints.md (wD constraint): New constraint to
21063 match the constant integer to get the top DImode/DFmode out of a
21064 vector in a VSX register.
21065
21066 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
21067 match the constant integer to get the top DImode/DFmode out of a
21068 vector in a VSX register.
21069
21070 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
21071 for ISA 2.07.
21072
21073 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
21074 vbpermq builtins.
21075
21076 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
21077 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
21078
21079 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
21080 Optimize vec_extract of 64-bit values, where the value being
21081 extracted is in the top word, where we can use scalar
21082 instructions. Add direct move and store support. Combine the big
21083 endian/little endian vector select load support into a single insn.
21084 (vsx_extract_<mode>_internal1): Likewise.
21085 (vsx_extract_<mode>_internal2): Likewise.
21086 (vsx_extract_<mode>_load): Likewise.
21087 (vsx_extract_<mode>_store): Likewise.
21088 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
21089 combined into vsx_extract_<mode>_load.
21090 (vsx_extract_<mode>_one_le): Likewise.
21091
21092 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
21093 define the top 64-bit vector element.
21094
21095 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
21096 constraint.
21097
21098 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
21099 Document vec_vbpermq builtin.
21100
21101 PR target/60672
21102 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
21103 enable use of xxsldwi and xxpermdi builtin functions.
21104 (vec_xxpermdi): Likewise.
21105
21106 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
21107 Document use of vec_xxsldwi and vec_xxpermdi builtins.
21108
21109 2014-03-27 Vladimir Makarov <vmakarov@redhat.com>
21110
21111 PR rtl-optimization/60650
21112 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
21113 first_p. Use it.
21114 (find_spills_for): New.
21115 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
21116 Spill all pseudos on the second iteration.
21117
21118 2014-03-27 Marek Polacek <polacek@redhat.com>
21119
21120 PR c/50347
21121 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
21122 types.
21123
21124 2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
21125
21126 * config/s390/s390.c (s390_can_use_return_insn): Check for
21127 call-saved FPRs on 31 bit.
21128
21129 2014-03-27 Jakub Jelinek <jakub@redhat.com>
21130
21131 PR middle-end/60682
21132 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
21133 if they need regimplification, just drop them instead of
21134 calling gimple_regimplify_operands on them.
21135
21136 2014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
21137
21138 PR target/60580
21139 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
21140 (aarch64_frame_pointer_required): Adjust logic.
21141 (aarch64_can_eliminate): Adjust logic.
21142 (aarch64_override_options_after_change): Adjust logic.
21143
21144 2014-03-27 Dehao Chen <dehao@google.com>
21145
21146 * ipa-inline.c (early_inliner): Update node's inline info.
21147
21148 2014-03-26 Dehao Chen <dehao@google.com>
21149
21150 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
21151 compiler inserted conditional jumps for NAN float check.
21152
21153 2014-03-26 Jakub Jelinek <jakub@redhat.com>
21154
21155 * ubsan.h (ubsan_create_data): Change second argument's type
21156 to const location_t *.
21157 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
21158 _("<unknown>").
21159 (ubsan_create_data): Change second argument to const location_t *PLOC.
21160 Create Loc field whenever PLOC is non-NULL.
21161 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
21162 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
21163 callers.
21164
21165 PR other/59545
21166 * real.c (real_to_integer2): Change type of low to UHWI.
21167
21168 2014-03-26 Tobias Burnus <burnus@net-b.de>
21169
21170 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
21171 (CILK_SELF_SPECS): New define.
21172 (driver_self_specs): Use it.
21173
21174 2014-03-26 Richard Biener <rguenther@suse.de>
21175
21176 * tree-pretty-print.c (percent_K_format): Implement special
21177 case for LTO and its stripped down BLOCK tree.
21178
21179 2014-03-26 Jakub Jelinek <jakub@redhat.com>
21180
21181 PR sanitizer/60636
21182 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
21183
21184 * tree-vrp.c (simplify_internal_call_using_ranges): If only
21185 one range is range_int_cst_p, but not both, at least optimize
21186 addition/subtraction of 0 and multiplication by 0 or 1.
21187 * gimple-fold.c (gimple_fold_call): Fold
21188 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
21189 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
21190 INTEGER_CSTs, try to fold at least x * 0 and y - y.
21191
21192 2014-03-26 Eric Botcazou <ebotcazou@adacore.com>
21193
21194 PR rtl-optimization/60452
21195 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
21196 <case REG>: Return 1 for invalid offsets from the frame pointer.
21197
21198 2014-03-26 Marek Polacek <polacek@redhat.com>
21199
21200 PR c/37428
21201 * doc/extend.texi (C Extensions): Mention variable-length arrays in
21202 a structure/union.
21203
21204 2014-03-26 Marek Polacek <polacek@redhat.com>
21205
21206 PR c/39525
21207 * doc/extend.texi (Designated Inits): Describe what happens to omitted
21208 field members.
21209
21210 2014-03-26 Marek Polacek <polacek@redhat.com>
21211
21212 PR other/59545
21213 * ira-color.c (update_conflict_hard_regno_costs): Perform the
21214 multiplication in unsigned type.
21215
21216 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
21217
21218 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
21219
21220 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
21221
21222 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
21223
21224 2014-03-25 Jan Hubicka <hubicka@ucw.cz>
21225
21226 PR ipa/60315
21227 * cif-code.def (UNREACHABLE) New code.
21228 * ipa-inline.c (inline_small_functions): Skip edges to
21229 __builtlin_unreachable.
21230 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
21231 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
21232 predicate to __bulitin_unreachable.
21233 (set_cond_stmt_execution_predicate): Fix issue when
21234 invert_tree_comparison returns ERROR_MARK.
21235 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
21236 propagate to inline clones.
21237 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
21238 to unreachable.
21239 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
21240 * cgraphclones.c (cgraph_clone_node): If call destination is already
21241 ureachable, do not redirect it back.
21242 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
21243 unreachable.
21244
21245 2014-03-25 Jan Hubicka <hubicka@ucw.cz>
21246
21247 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
21248 Do not modify inline clones.
21249
21250 2014-03-25 Jakub Jelinek <jakub@redhat.com>
21251
21252 * config/i386/i386.md (general_sext_operand): New mode attr.
21253 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
21254 don't generate (sign_extend (const_int)).
21255 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
21256 operands[2]. Use We constraint instead of <i> and
21257 <general_sext_operand> predicate instead of <general_operand>.
21258 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
21259 * config/i386/constraints.md (We): New constraint.
21260 * config/i386/predicates.md (x86_64_sext_operand,
21261 sext_operand): New predicates.
21262
21263 2014-03-25 Martin Jambor <mjambor@suse.cz>
21264
21265 PR ipa/60600
21266 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
21267 inconsistent devirtualizations to __builtin_unreachable.
21268
21269 2014-03-25 Marek Polacek <polacek@redhat.com>
21270
21271 PR c/35449
21272 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
21273
21274 2014-03-25 Alan Lawrence <alan.lawrence@arm.com>
21275
21276 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
21277 order of elements for big-endian.
21278
21279 2014-03-25 Richard Biener <rguenther@suse.de>
21280
21281 PR middle-end/60635
21282 * gimplify-me.c (gimple_regimplify_operands): Update the
21283 re-gimplifed stmt.
21284
21285 2014-03-25 Martin Jambor <mjambor@suse.cz>
21286
21287 PR ipa/59176
21288 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
21289 (lto_output_varpool_node): Likewise.
21290 (input_overwrite_node): Likewise.
21291 (input_varpool_node): Likewise.
21292
21293 2014-03-25 Richard Biener <rguenther@suse.de>
21294
21295 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
21296 (run_gcc): Likewise.
21297
21298 2014-03-25 Jakub Jelinek <jakub@redhat.com>
21299
21300 * combine.c (simplify_compare_const): Add MODE argument.
21301 Handle mode_width 0 as very large mode_width.
21302 (try_combine, simplify_comparison): Adjust callers.
21303
21304 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
21305 type to avoid signed integer overflow.
21306 * explow.c (plus_constant): Likewise.
21307
21308 2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
21309
21310 * doc/generic.texi: Correct typos.
21311
21312 2014-03-24 Tobias Burnus <burnus@net-b.de>
21313
21314 * doc/invoke.texi (-flto): Expand section about
21315 using static libraries with LTO.
21316
21317 2014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
21318
21319 PR rtl-optimization/60501
21320 * optabs.def (addptr3_optab): New optab.
21321 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
21322 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
21323 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
21324
21325 * lra.c (emit_add3_insn): Use the addptr pattern if available.
21326
21327 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
21328
21329 2014-03-24 Ulrich Drepper <drepper@gmail.com>
21330
21331 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
21332 _mm512_set1_pd.
21333
21334 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
21335 (_mm256_undefined_ps): Define.
21336 (_mm256_undefined_pd): Define.
21337 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
21338 (_mm_undefined_pd): Define.
21339 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
21340 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
21341 (_mm512_undefined_ps): Define.
21342 (_mm512_undefined_pd): Define.
21343 Use _mm*_undefined_*.
21344 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
21345
21346 2014-03-24 Alex Velenko <Alex.Velenko@arm.com>
21347
21348 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
21349 (lshr_simd): DI mode added.
21350 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
21351 (aarch64_ushr_simddi): Likewise.
21352 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
21353 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
21354 (vshrd_n_u64): Likewise.
21355
21356 2014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21357
21358 * Makefile.in (s-macro_list): Depend on cc1.
21359
21360 2014-03-23 Teresa Johnson <tejohnson@google.com>
21361
21362 * ipa-utils.c (ipa_print_order): Use specified dump file.
21363
21364 2014-03-23 Eric Botcazou <ebotcazou@adacore.com>
21365
21366 PR rtl-optimization/60601
21367 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
21368
21369 * gcc.c (eval_spec_function): Initialize save_growing_value.
21370
21371 2014-03-22 Jakub Jelinek <jakub@redhat.com>
21372
21373 PR sanitizer/60613
21374 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
21375 code == MINUS_EXPR, never swap op0 with op1.
21376
21377 * toplev.c (init_local_tick): Avoid signed integer multiplication
21378 overflow.
21379 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
21380 shift by first operand's bitsize.
21381
21382 2014-03-21 Jakub Jelinek <jakub@redhat.com>
21383
21384 PR target/60610
21385 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
21386 redefine to 1 or 0.
21387 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
21388 TARGET_ISA_64BIT_P(x).
21389
21390 2014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21391
21392 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
21393 pattern for vector nor instead of subtract from splat(-1).
21394 (altivec_expand_vec_perm_const_le): Likewise.
21395
21396 2014-03-21 Richard Henderson <rth@twiddle.net>
21397
21398 PR target/60598
21399 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
21400 related insns after epilogue_completed.
21401
21402 2014-03-21 Martin Jambor <mjambor@suse.cz>
21403
21404 PR ipa/59176
21405 * cgraph.h (symtab_node): New flag body_removed.
21406 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
21407 when removing bodies.
21408 * symtab.c (dump_symtab_base): Dump body_removed flag.
21409 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
21410 had their bodies removed.
21411
21412 2014-03-21 Martin Jambor <mjambor@suse.cz>
21413
21414 PR ipa/60419
21415 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
21416 in the border.
21417
21418 2014-03-21 Richard Biener <rguenther@suse.de>
21419
21420 PR tree-optimization/60577
21421 * tree-core.h (struct tree_base): Document nothrow_flag use
21422 in DECL_NONALIASED.
21423 * tree.h (DECL_NONALIASED): New.
21424 (may_be_aliased): Adjust.
21425 * coverage.c (build_var): Set DECL_NONALIASED.
21426
21427 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
21428
21429 * expr.c (expand_expr_real_1): Remove outdated comment.
21430
21431 2014-03-20 Jakub Jelinek <jakub@redhat.com>
21432
21433 PR middle-end/60597
21434 * ira.c (adjust_cleared_regs): Call copy_rtx on
21435 *reg_equiv[REGNO (loc)].src_p before passing it to
21436 simplify_replace_fn_rtx.
21437
21438 PR target/60568
21439 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
21440 into CONST, put pic register as first operand of PLUS. Use
21441 gen_const_mem for both 32-bit and 64-bit PIC got loads.
21442
21443 2014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
21444
21445 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
21446
21447 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
21448
21449 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
21450 around for store forwarding issue in the FPU on the UT699.
21451 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
21452 loads and operations if -mfix-ut699 is specified.
21453 (divtf3_hq): Tweak attribute.
21454 (sqrttf2_hq): Likewise.
21455
21456 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
21457
21458 * calls.c (store_one_arg): Remove incorrect const qualification on the
21459 type of the temporary.
21460 * cfgexpand.c (expand_return): Likewise.
21461 * expr.c (expand_constructor): Likewise.
21462 (expand_expr_real_1): Likewise.
21463
21464 2014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
21465
21466 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
21467 of parts.
21468
21469 2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
21470
21471 PR target/60039
21472 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
21473
21474 2014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
21475
21476 * config/arm/aarch-common-protos.h
21477 (alu_cost_table): Fix spelling of "extend".
21478 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
21479
21480 2014-03-19 Richard Biener <rguenther@suse.de>
21481
21482 PR middle-end/60553
21483 * tree-core.h (tree_type_common): Re-order pointer members
21484 to reduce recursion depth during GC walks.
21485
21486 2014-03-19 Marek Polacek <polacek@redhat.com>
21487
21488 PR sanitizer/60569
21489 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
21490 before accessing it.
21491
21492 2014-03-19 Richard Biener <rguenther@suse.de>
21493
21494 PR lto/59543
21495 * lto-streamer-in.c (input_function): In WPA stage do not drop
21496 debug stmts.
21497
21498 2014-03-19 Jakub Jelinek <jakub@redhat.com>
21499
21500 PR tree-optimization/60559
21501 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
21502 with build_zero_cst assignment.
21503
21504 2014-03-18 Kai Tietz <ktietz@redhat.com>
21505
21506 PR rtl-optimization/56356
21507 * sdbout.c (sdbout_parms): Verify that parms'
21508 incoming argument is valid.
21509 (sdbout_reg_parms): Likewise.
21510
21511 2014-03-18 Richard Henderson <rth@redhat.com>
21512
21513 PR target/60562
21514 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
21515 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
21516 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
21517
21518 2014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
21519
21520 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
21521 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
21522 Italicize plugin event names in description. Explain that
21523 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
21524 Remind that no GCC functions should be called after PLUGIN_FINISH.
21525 Explain what pragmas with expansion are.
21526
21527 2014-03-18 Martin Liska <mliska@suse.cz>
21528
21529 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
21530 gimple call statement is update.
21531 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
21532 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
21533
21534 2014-03-18 Jakub Jelinek <jakub@redhat.com>
21535
21536 PR sanitizer/60557
21537 * ubsan.c (ubsan_instrument_unreachable): Call
21538 initialize_sanitizer_builtins.
21539 (ubsan_pass): Likewise.
21540
21541 PR sanitizer/60535
21542 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
21543 varpool_finalize_decl instead of rest_of_decl_compilation.
21544
21545 2014-03-18 Richard Biener <rguenther@suse.de>
21546
21547 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
21548 by using bitmap_and_compl instead of bitmap_and_compl_into.
21549 (df_rd_transfer_function): Likewise.
21550
21551 2014-03-18 Richard Biener <rguenther@suse.de>
21552
21553 * doc/lto.texi (fresolution): Fix typo.
21554
21555 2014-03-18 Richard Biener <rguenther@suse.de>
21556
21557 * doc/invoke.texi (flto): Update for changes in 4.9.
21558
21559 2014-03-18 Richard Biener <rguenther@suse.de>
21560
21561 * doc/loop.texi: Remove section on the removed lambda framework.
21562 Update loop docs with recent changes in preserving loop structure.
21563
21564 2014-03-18 Richard Biener <rguenther@suse.de>
21565
21566 * doc/lto.texi (-fresolution): Document.
21567
21568 2014-03-18 Richard Biener <rguenther@suse.de>
21569
21570 * doc/contrib.texi: Adjust my name.
21571
21572 2014-03-18 Jakub Jelinek <jakub@redhat.com>
21573
21574 PR ipa/58721
21575 * internal-fn.c: Include diagnostic-core.h.
21576 (expand_BUILTIN_EXPECT): New function.
21577 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
21578 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
21579 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
21580 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
21581 IFN_BUILTIN_EXPECT.
21582 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
21583 Revert 3 argument __builtin_expect code.
21584 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
21585 * gimple-fold.c (gimple_fold_call): Likewise.
21586 * tree.h (fold_builtin_expect): New prototype.
21587 * builtins.c (build_builtin_expect_predicate): Add predictor
21588 argument, if non-NULL, create 3 argument __builtin_expect.
21589 (fold_builtin_expect): No longer static. Add ARG2 argument,
21590 pass it through to build_builtin_expect_predicate.
21591 (fold_builtin_2): Adjust caller.
21592 (fold_builtin_3): Handle BUILT_IN_EXPECT.
21593 * internal-fn.def (BUILTIN_EXPECT): New.
21594
21595 2014-03-18 Tobias Burnus <burnus@net-b.de>
21596
21597 PR ipa/58721
21598 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
21599 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
21600 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
21601
21602 2014-03-18 Jan Hubicka <hubicka@ucw.cz>
21603
21604 PR ipa/58721
21605 * predict.c (combine_predictions_for_bb): Fix up formatting.
21606 (expr_expected_value_1, expr_expected_value): Add predictor argument,
21607 fill what it points to if non-NULL.
21608 (tree_predict_by_opcode): Adjust caller, use the predictor.
21609 * predict.def (PRED_COMPARE_AND_SWAP): Add.
21610
21611 2014-03-18 Eric Botcazou <ebotcazou@adacore.com>
21612
21613 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
21614 proper constant for the store mode.
21615
21616 2014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
21617
21618 * symtab.c (change_decl_assembler_name): Fix transparent alias
21619 chain construction.
21620
21621 2014-03-16 Renlin Li <Renlin.Li@arm.com>
21622
21623 * config/aarch64/aarch64.c: Correct the comments about the
21624 aarch64 stack layout.
21625
21626 2014-03-18 Thomas Schwinge <thomas@codesourcery.com>
21627
21628 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
21629 check for GF_OMP_FOR_KIND_FOR.
21630
21631 2013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
21632
21633 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
21634 ymm and zmm register names.
21635
21636 2014-03-17 Jakub Jelinek <jakub@redhat.com>
21637
21638 PR target/60516
21639 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
21640 note creation for the 2010-08-31 changes.
21641
21642 2014-03-17 Marek Polacek <polacek@redhat.com>
21643
21644 PR middle-end/60534
21645 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
21646 as -fno-tree-loop-vectorize.
21647 (expand_omp_simd): Likewise.
21648
21649 2014-03-15 Eric Botcazou <ebotcazou@adacore.com>
21650
21651 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
21652 (eligible_for_call_delay): New prototype.
21653 * config/sparc/sparc.c (tls_call_delay): Rename into...
21654 (eligible_for_call_delay): ...this. Return false if the instruction
21655 cannot be put in the delay slot of a branch.
21656 (eligible_for_restore_insn): Simplify.
21657 (eligible_for_return_delay): Return false if the instruction cannot be
21658 put in the delay slot of a branch and simplify.
21659 (eligible_for_sibcall_delay): Return false if the instruction cannot be
21660 put in the delay slot of a branch.
21661 * config/sparc/sparc.md (fix_ut699): New attribute.
21662 (tls_call_delay): Delete.
21663 (in_call_delay): Reimplement.
21664 (eligible_for_sibcall_delay): Rename into...
21665 (in_sibcall_delay): ...this.
21666 (eligible_for_return_delay): Rename into...
21667 (in_return_delay): ...this.
21668 (in_branch_delay): Reimplement.
21669 (in_uncond_branch_delay): Delete.
21670 (in_annul_branch_delay): Delete.
21671
21672 2014-03-14 Richard Henderson <rth@redhat.com>
21673
21674 PR target/60525
21675 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
21676 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
21677 (*floathi<X87MODEF>2_i387_with_temp): Remove.
21678 (floathi splitters): Remove.
21679 (float<SWI48x>xf2): New pattern.
21680 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
21681 code that tried to handle DImode for 32-bit, but which was excluded
21682 by the pattern's condition. Drop allocation of stack temporary.
21683 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
21684 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
21685 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
21686 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
21687 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
21688 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
21689 (*float<SWI48><MODEF>2_sse_interunit): Remove.
21690 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
21691 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
21692 (*float<SWI48x><X87MODEF>2_i387): Remove.
21693 (all float _with_temp splitters): Remove.
21694 (*float<SWI48x><MODEF>2_i387): New pattern.
21695 (*float<SWI48><MODEF>2_sse): New pattern.
21696 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
21697 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
21698
21699 2014-03-14 Jakub Jelinek <jakub@redhat.com>
21700 Marek Polacek <polacek@redhat.com>
21701
21702 PR middle-end/60484
21703 * common.opt (dump_base_name_prefixed): New Variable.
21704 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
21705 if x_dump_base_name_prefixed is already set, set it at the end.
21706
21707 2014-03-14 Vladimir Makarov <vmakarov@redhat.com>
21708
21709 PR rtl-optimization/60508
21710 * lra-constraints.c (get_reload_reg): Add new parameter
21711 in_subreg_p.
21712 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
21713 Pass the new parameter values.
21714
21715 2014-03-14 Richard Biener <rguenther@suse.de>
21716
21717 * common.opt: Revert unintented changes from r205065.
21718 * opts.c: Likewise.
21719
21720 2014-03-14 Richard Biener <rguenther@suse.de>
21721
21722 PR middle-end/60518
21723 * cfghooks.c (split_block): Properly adjust all loops the
21724 block was a latch of.
21725
21726 2014-03-14 Martin Jambor <mjambor@suse.cz>
21727
21728 PR lto/60461
21729 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
21730 and simplify it.
21731
21732 2014-03-14 Georg-Johann Lay <avr@gjlay.de>
21733
21734 PR target/59396
21735 * config/avr/avr.c (avr_set_current_function): Pass function name
21736 through default_strip_name_encoding before sanity checking instead
21737 of skipping the first char of the assembler name.
21738
21739 2014-03-13 Richard Henderson <rth@redhat.com>
21740
21741 PR debug/60438
21742 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
21743 (ix86_force_to_memory, ix86_free_from_memory): Remove.
21744 * config/i386/i386-protos.h: Likewise.
21745 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
21746 in the expander instead of a splitter.
21747 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
21748 any possibility of requiring a memory.
21749 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
21750 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
21751 (fp branch splitters): Update for ix86_split_fp_branch.
21752 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
21753 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
21754 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
21755 (*fop_<MODEF>_2_i387): Remove f/r alternative.
21756 (*fop_<MODEF>_3_i387): Likewise.
21757 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
21758 (splitters for the fop_* register patterns): Remove.
21759 (fscalexf4_i387): Rename from *fscalexf4_i387.
21760 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
21761
21762 2014-03-13 Jakub Jelinek <jakub@redhat.com>
21763
21764 PR tree-optimization/59779
21765 * tree-dfa.c (get_ref_base_and_extent): Use double_int
21766 type for bitsize and maxsize instead of HOST_WIDE_INT.
21767
21768 2014-03-13 Steven Bosscher <steven@gcc.gnu.org>
21769
21770 PR rtl-optimization/57320
21771 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
21772 the CFG after thread_prologue_and_epilogue_insns.
21773
21774 2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
21775
21776 PR rtl-optimization/57189
21777 * lra-constraints.c (process_alt_operands): Disfavor spilling
21778 vector pseudos.
21779
21780 2014-03-13 Cesar Philippidis <cesar@codesourcery.com>
21781
21782 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
21783
21784 2014-03-13 Jakub Jelinek <jakub@redhat.com>
21785
21786 PR tree-optimization/59025
21787 PR middle-end/60418
21788 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
21789 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
21790
21791 2014-03-13 Georg-Johann Lay <avr@gjlay.de>
21792
21793 PR target/60486
21794 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
21795 calls of avr_out_plus_1.
21796
21797 2014-03-13 Bin Cheng <bin.cheng@arm.com>
21798
21799 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
21800 BB's single pred and update the father loop's latch info later.
21801
21802 2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
21803
21804 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
21805 (VEC_M): Likewise.
21806 (VEC_N): Likewise.
21807 (VEC_R): Likewise.
21808 (VEC_base): Likewise.
21809 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
21810 registers, we need to swap double words in little endian mode.
21811
21812 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
21813 to be a container mode for 128-bit integer operations added in ISA
21814 2.07. Unlike TImode and PTImode, the preferred register set is
21815 the Altivec/VMX registers for the 128-bit operations.
21816
21817 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
21818 declarations.
21819 (rs6000_split_128bit_ok_p): Likewise.
21820
21821 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
21822 macros for creating ISA 2.07 normal and overloaded builtin
21823 functions with 3 arguments.
21824 (BU_P8V_OVERLOAD_3): Likewise.
21825 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
21826 for use as overloaded functions.
21827 (VPERM_1TI_UNS): Likewise.
21828 (VSEL_1TI): Likewise.
21829 (VSEL_1TI_UNS): Likewise.
21830 (ST_INTERNAL_1ti): Likewise.
21831 (LD_INTERNAL_1ti): Likewise.
21832 (XXSEL_1TI): Likewise.
21833 (XXSEL_1TI_UNS): Likewise.
21834 (VPERM_1TI): Likewise.
21835 (VPERM_1TI_UNS): Likewise.
21836 (XXPERMDI_1TI): Likewise.
21837 (SET_1TI): Likewise.
21838 (LXVD2X_V1TI): Likewise.
21839 (STXVD2X_V1TI): Likewise.
21840 (VEC_INIT_V1TI): Likewise.
21841 (VEC_SET_V1TI): Likewise.
21842 (VEC_EXT_V1TI): Likewise.
21843 (EQV_V1TI): Likewise.
21844 (NAND_V1TI): Likewise.
21845 (ORC_V1TI): Likewise.
21846 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
21847 added in ISA 2.07. Add both normal 'altivec' builtins, and the
21848 overloaded builtin.
21849 (VADDUQM): Likewise.
21850 (VSUBCUQ): Likewise.
21851 (VADDEUQM): Likewise.
21852 (VADDECUQ): Likewise.
21853 (VSUBEUQM): Likewise.
21854 (VSUBECUQ): Likewise.
21855
21856 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
21857 __int128_t and __uint128_t types.
21858 (__uint128_type): Likewise.
21859 (altivec_categorize_keyword): Add support for vector __int128_t,
21860 vector __uint128_t, vector __int128, and vector unsigned __int128
21861 as a container type for TImode operations that need to be done in
21862 VSX/Altivec registers.
21863 (rs6000_macro_to_expand): Likewise.
21864 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
21865 to support 128-bit integer instructions vaddcuq, vadduqm,
21866 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
21867 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
21868
21869 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
21870 for V1TImode, and set up preferences to use VSX/Altivec registers.
21871 Setup VSX reload handlers.
21872 (rs6000_debug_reg_global): Likewise.
21873 (rs6000_init_hard_regno_mode_ok): Likewise.
21874 (rs6000_preferred_simd_mode): Likewise.
21875 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
21876 (easy_altivec_constant): Likewise.
21877 (output_vec_const_move): Likewise.
21878 (rs6000_expand_vector_set): Convert V1TImode set and extract to
21879 simple move.
21880 (rs6000_expand_vector_extract): Likewise.
21881 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
21882 addressing.
21883 (rs6000_const_vec): Add support for V1TImode.
21884 (rs6000_emit_le_vsx_load): Swap double words when loading or
21885 storing TImode/V1TImode.
21886 (rs6000_emit_le_vsx_store): Likewise.
21887 (rs6000_emit_le_vsx_move): Likewise.
21888 (rs6000_emit_move): Add support for V1TImode.
21889 (altivec_expand_ld_builtin): Likewise.
21890 (altivec_expand_st_builtin): Likewise.
21891 (altivec_expand_vec_init_builtin): Likewise.
21892 (altivec_expand_builtin): Likewise.
21893 (rs6000_init_builtins): Add support for V1TImode type. Add
21894 support for ISA 2.07 128-bit integer builtins. Define type names
21895 for the VSX/Altivec vector types.
21896 (altivec_init_builtins): Add support for overloaded vector
21897 functions with V1TImode type.
21898 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
21899 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
21900 external function.
21901 (rs6000_split_128bit_ok_p): Likewise.
21902 (rs6000_handle_altivec_attribute): Create V1TImode from vector
21903 __int128_t and vector __uint128_t.
21904
21905 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
21906 and mode attributes.
21907 (VSX_M): Likewise.
21908 (VSX_M2): Likewise.
21909 (VSm): Likewise.
21910 (VSs): Likewise.
21911 (VSr): Likewise.
21912 (VSv): Likewise.
21913 (VS_scalar): Likewise.
21914 (VS_double): Likewise.
21915 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
21916
21917 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
21918 we support the ISA 2.07 128-bit integer arithmetic instructions.
21919 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
21920 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
21921 and TImode types for use with the builtin functions.
21922 (V1TI_type_node): Likewise.
21923 (unsigned_V1TI_type_node): Likewise.
21924 (intTI_type_internal_node): Likewise.
21925 (uintTI_type_internal_node): Likewise.
21926
21927 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
21928 128-bit builtin functions.
21929 (UNSPEC_VADDEUQM): Likewise.
21930 (UNSPEC_VADDECUQ): Likewise.
21931 (UNSPEC_VSUBCUQ): Likewise.
21932 (UNSPEC_VSUBEUQM): Likewise.
21933 (UNSPEC_VSUBECUQ): Likewise.
21934 (VM): Add V1TImode to vector mode iterators.
21935 (VM2): Likewise.
21936 (VI_unit): Likewise.
21937 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
21938 (altivec_vaddcuq): Likewise.
21939 (altivec_vsubuqm): Likewise.
21940 (altivec_vsubcuq): Likewise.
21941 (altivec_vaddeuqm): Likewise.
21942 (altivec_vaddecuq): Likewise.
21943 (altivec_vsubeuqm): Likewise.
21944 (altivec_vsubecuq): Likewise.
21945
21946 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
21947 mode iterators.
21948 (BOOL_128): Likewise.
21949 (BOOL_REGS_OUTPUT): Likewise.
21950 (BOOL_REGS_OP1): Likewise.
21951 (BOOL_REGS_OP2): Likewise.
21952 (BOOL_REGS_UNARY): Likewise.
21953 (BOOL_REGS_AND_CR0): Likewise.
21954
21955 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
21956 128-bit integer builtin support.
21957 (vec_vadduqm): Likewise.
21958 (vec_vaddecuq): Likewise.
21959 (vec_vaddeuqm): Likewise.
21960 (vec_vsubecuq): Likewise.
21961 (vec_vsubeuqm): Likewise.
21962 (vec_vsubcuq): Likewise.
21963 (vec_vsubuqm): Likewise.
21964
21965 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
21966 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
21967 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
21968 128-bit integer add/subtract to ISA 2.07.
21969
21970 2014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
21971
21972 * config/arc/arc.c (arc_predicate_delay_insns):
21973 Fix third argument passed to conditionalize_nonjump.
21974
21975 2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
21976
21977 * config/aarch64/aarch64-builtins.c
21978 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
21979 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
21980 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
21981 instead of __builtin_lfloor.
21982 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
21983
21984 2014-03-12 Jakub Jelinek <jakub@redhat.com>
21985
21986 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
21987 (tree_ssa_ifcombine_bb_1): New function.
21988 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
21989 is an empty forwarder block to then_bb or vice versa and then_bb
21990 and else_bb are effectively swapped.
21991
21992 2014-03-12 Christian Bruel <christian.bruel@st.com>
21993
21994 PR target/60264
21995 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
21996 REG_CFA_DEF_CFA note.
21997 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
21998 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
21999
22000 2014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
22001
22002 PR tree-optimization/60454
22003 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
22004
22005 2014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22006
22007 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
22008 Do not define target_cpu_default2 to generic.
22009 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
22010 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
22011 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
22012
22013 2014-03-12 Jakub Jelinek <jakub@redhat.com>
22014 Marc Glisse <marc.glisse@inria.fr>
22015
22016 PR tree-optimization/60502
22017 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
22018 instead of build_low_bits_mask.
22019
22020 2014-03-12 Jakub Jelinek <jakub@redhat.com>
22021
22022 PR middle-end/60482
22023 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
22024 if there are multiple uses, but op doesn't live on E edge.
22025 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
22026 clobber stmts before __builtin_unreachable.
22027
22028 2014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
22029
22030 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
22031 hard_frame_pointer_rtx.
22032 * cse.c (cse_insn): Remove volatile check.
22033 * cselib.c (cselib_process_insn): Likewise.
22034 * dse.c (scan_insn): Likewise.
22035
22036 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
22037
22038 * config/arc/arc.c (conditionalize_nonjump): New function,
22039 broken out of ...
22040 (arc_ifcvt): ... this.
22041 (arc_predicate_delay_insns): Use it.
22042
22043 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
22044
22045 * config/arc/predicates.md (extend_operand): During/after reload,
22046 allow const_int_operand.
22047 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
22048 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
22049 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
22050 to "i".
22051 (umulsi3_highpart_i): Likewise.
22052
22053 2014-03-11 Richard Biener <rguenther@suse.de>
22054
22055 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
22056 Add asserts to guard possible wrong-code bugs.
22057
22058 2014-03-11 Richard Biener <rguenther@suse.de>
22059
22060 PR tree-optimization/60429
22061 PR tree-optimization/60485
22062 * tree-ssa-structalias.c (set_union_with_increment): Properly
22063 take into account all fields that overlap the shifted vars.
22064 (do_sd_constraint): Likewise.
22065 (do_ds_constraint): Likewise.
22066 (get_constraint_for_ptr_offset): Likewise.
22067
22068 2014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
22069
22070 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
22071 (nios2_compute_frame_layout):
22072 Add calculation of cfun->machine->fp_save_offset.
22073 (nios2_expand_prologue): Correct setting of frame pointer register
22074 in prologue.
22075 (nios2_expand_epilogue): Update recovery of stack pointer from
22076 frame pointer accordingly.
22077 (nios2_initial_elimination_offset): Update calculation of offset
22078 for eliminating to HARD_FRAME_POINTER_REGNUM.
22079
22080 2014-03-10 Jakub Jelinek <jakub@redhat.com>
22081
22082 PR ipa/60457
22083 * ipa.c (symtab_remove_unreachable_nodes): Don't call
22084 cgraph_get_create_node on VAR_DECLs.
22085
22086 2014-03-10 Richard Biener <rguenther@suse.de>
22087
22088 PR middle-end/60474
22089 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
22090
22091 2014-03-08 Douglas B Rupp <rupp@gnat.com>
22092
22093 * config/vms/vms.opt (vms_float_format): New variable.
22094
22095 2014-03-08 Tobias Burnus <burnus@net-b.de>
22096
22097 * doc/invoke.texi (-fcilkplus): Update implementation status.
22098
22099 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
22100 Richard Biener <rguenther@suse.de>
22101
22102 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
22103 consistently accross all TUs.
22104 (run_gcc): Enable -fshort-double automatically at link at link-time
22105 and disallow override.
22106
22107 2014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
22108
22109 PR target/58271
22110 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
22111 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
22112 if they can't be used.
22113
22114 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22115
22116 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
22117 for Solaris 11/x86 ld.
22118 * configure: Regenerate.
22119
22120 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22121
22122 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
22123 (LIB_TLS_SPEC): Save as ld_tls_libs.
22124 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
22125 (HAVE_AS_IX86_TLSLDM): New test.
22126 * configure, config.in: Regenerate.
22127 * config/i386/i386.c (legitimize_tls_address): Fall back to
22128 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
22129 cannot support TLS_MODEL_LOCAL_DYNAMIC.
22130 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
22131 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
22132
22133 2014-03-07 Paulo Matos <paulo@matos-sorge.com>
22134
22135 * common.opt (fira-loop-pressure): Mark as optimization.
22136
22137 2014-03-07 Thomas Schwinge <thomas@codesourcery.com>
22138
22139 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
22140 an OpenMP mappable type.
22141
22142 2014-03-06 Matthias Klose <doko@ubuntu.com>
22143
22144 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
22145 MULTILIB_OSDIRNAMES is not defined.
22146
22147 2014-03-06 Jakub Jelinek <jakub@redhat.com>
22148 Meador Inge <meadori@codesourcery.com>
22149
22150 PR target/58595
22151 * config/arm/arm.c (arm_tls_symbol_p): Remove.
22152 (arm_legitimize_address): Call legitimize_tls_address for any
22153 arm_tls_referenced_p expression, handle constant addend. Call it
22154 before testing for !TARGET_ARM.
22155 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
22156
22157 2014-03-06 Richard Biener <rguenther@suse.de>
22158
22159 PR middle-end/60445
22160 PR lto/60424
22161 PR lto/60427
22162 Revert
22163 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
22164
22165 * tree-streamer.c (record_common_node): Assert we don't record
22166 nodes with type double.
22167 (preload_common_node): Skip type double, complex double and double
22168 pointer since it is now frontend dependent due to fshort-double option.
22169
22170 2014-03-06 Richard Biener <rguenther@suse.de>
22171
22172 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
22173 or -fno-lto is specified and the linker has full plugin support.
22174 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
22175 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
22176 * lto-wrapper.c (merge_and_complain): Merge compile-time
22177 optimization levels.
22178 (run_gcc): And pass it through to the link options.
22179
22180 2014-03-06 Alexandre Oliva <aoliva@redhat.com>
22181
22182 PR debug/60381
22183 Revert:
22184 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
22185 PR debug/59992
22186 * cselib.c (remove_useless_values): Skip to avoid quadratic
22187 behavior if the condition moved from...
22188 (cselib_process_insn): ... here holds.
22189
22190 2014-03-05 Jakub Jelinek <jakub@redhat.com>
22191
22192 PR plugins/59335
22193 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
22194 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
22195
22196 PR plugins/59335
22197 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
22198 (TM_H): Add x86-tune.def.
22199
22200 2014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22201
22202 * config/aarch64/aarch64.c (generic_tunings):
22203 Use cortexa57_extra_costs.
22204
22205 2014-03-05 Jakub Jelinek <jakub@redhat.com>
22206
22207 PR lto/60404
22208 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
22209 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
22210 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
22211 cost for in_lto_p.
22212
22213 2014-03-04 Heiher <r@hev.cc>
22214
22215 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
22216 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
22217
22218 2014-03-04 Uros Bizjak <ubizjak@gmail.com>
22219
22220 * config/i386/predicates.md (const2356_operand): Change to ...
22221 (const2367_operand): ... this.
22222 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
22223 const2367_operand.
22224 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
22225 (*avx512pf_scatterpf<mode>sf): Ditto.
22226 (avx512pf_scatterpf<mode>df): Ditto.
22227 (*avx512pf_scatterpf<mode>df_mask): Ditto.
22228 (*avx512pf_scatterpf<mode>df): Ditto.
22229 * config/i386/i386.c (ix86_expand_builtin): Update
22230 incorrect hint operand error message.
22231
22232 2014-03-04 Richard Biener <rguenther@suse.de>
22233
22234 * lto-section-in.c (lto_get_section_data): Fix const cast.
22235
22236 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
22237
22238 * tree-streamer.c (record_common_node): Assert we don't record
22239 nodes with type double.
22240 (preload_common_node): Skip type double, complex double and double
22241 pointer since it is now frontend dependent due to fshort-double option.
22242
22243 2014-03-04 Richard Biener <rguenther@suse.de>
22244
22245 PR lto/60405
22246 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
22247 (lto_input_toplevel_asms): Likewise.
22248 * lto-section-in.c (lto_get_section_data): Instead do it here
22249 for every section.
22250
22251 2014-03-04 Richard Biener <rguenther@suse.de>
22252
22253 PR tree-optimization/60382
22254 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
22255 dead PHIs a reduction.
22256
22257 2014-03-03 Uros Bizjak <ubizjak@gmail.com>
22258
22259 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
22260 hint value.
22261 (_mm_prefetch): Move out of GCC target("sse") pragma.
22262 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
22263 GCC target("prfchw") pragma.
22264 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
22265 for locality <= 2.
22266 * config/i386/i386.c (ix86_option_override_internal): Enable
22267 -mprfchw with -mprefetchwt1.
22268
22269 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
22270
22271 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
22272 Mark as varying.
22273
22274 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
22275
22276 * opts.h (CL_PCH_IGNORE): Define.
22277 * targhooks.c (option_affects_pch_p):
22278 Return false for options that have CL_PCH_IGNORE set.
22279 * opt-functions.awk: Process PchIgnore.
22280 * doc/options.texi: Document PchIgnore.
22281
22282 * config/arc/arc.opt (misize): Add PchIgnore property.
22283
22284 2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22285
22286 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
22287 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
22288 constraint on constants to permit them being loaded into
22289 GENERAL_REGS or BASE_REGS.
22290
22291 2014-03-03 Nick Clifton <nickc@redhat.com>
22292
22293 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
22294 anti-cacnonical alternatives.
22295 (negandhi3_real): New pattern.
22296 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
22297
22298 2014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
22299
22300 * config/avr/avr-mcus.def: Remove atxmega16x1.
22301 * config/avr/avr-tables.opt: Regenerate.
22302 * config/avr/t-multilib: Regenerate.
22303 * doc/avr-mmcu.texi: Regenerate.
22304
22305 2014-03-03 Tobias Grosser <tobias@grosser.es>
22306 Mircea Namolaru <mircea.namolaru@inria.fr>
22307
22308 PR tree-optimization/58028
22309 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
22310 scalar dimensions.
22311
22312 2014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
22313
22314 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
22315 not handled by recognizers.
22316
22317 2014-03-03 Jakub Jelinek <jakub@redhat.com>
22318
22319 PR middle-end/60175
22320 * function.c (expand_function_end): Don't emit
22321 clobber_return_register sequence if clobber_after is a BARRIER.
22322 * cfgexpand.c (construct_exit_block): Append instructions before
22323 return_label to prev_bb.
22324
22325 2014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22326
22327 * config/rs6000/constraints.md: Document reserved use of "wc".
22328
22329 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
22330
22331 PR ipa/60150
22332 * ipa.c (function_and_variable_visibility): When dissolving comdat
22333 group, also set all symbols to local.
22334
22335 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
22336
22337 PR ipa/60306
22338
22339 Revert:
22340 2013-12-14 Jan Hubicka <jh@suse.cz>
22341 PR middle-end/58477
22342 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
22343
22344 2014-03-02 Jon Beniston <jon@beniston.com>
22345
22346 PR bootstrap/48230
22347 PR bootstrap/50927
22348 PR bootstrap/52466
22349 PR target/46898
22350 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
22351 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
22352 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
22353 (simple_return, *simple_return): New patterns
22354 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
22355 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
22356
22357 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
22358
22359 * dwarf2out.c (gen_subprogram_die): Tidy.
22360
22361 2014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
22362
22363 PR target/60071
22364 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
22365 (*mov_t_msb_neg_negc): ... this new insn.
22366
22367 2014-02-28 Jason Merrill <jason@redhat.com>
22368
22369 PR c++/58678
22370 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
22371 function.
22372
22373 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
22374
22375 PR c++/60314
22376 * dwarf2out.c (decltype_auto_die): New static.
22377 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
22378 (gen_type_die_with_usage): Handle 'decltype(auto)'.
22379 (is_cxx_auto): Likewise.
22380
22381 2014-02-28 Ian Bolton <ian.bolton@arm.com>
22382
22383 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
22384 we are not using general regs only.
22385
22386 2014-02-28 Richard Biener <rguenther@suse.de>
22387
22388 PR target/60280
22389 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
22390 previous fix and only allow to remove trivial pre-headers
22391 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
22392 (remove_forwarder_block): Properly update the latch of a loop.
22393
22394 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
22395
22396 PR debug/59992
22397 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
22398 (cselib_preserved_hash_table): New.
22399 (preserve_constants_and_equivs): Move preserved vals to it.
22400 (cselib_find_slot): Look it up first.
22401 (cselib_init): Initialize it.
22402 (cselib_finish): Release it.
22403 (dump_cselib_table): Dump it.
22404
22405 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
22406
22407 PR debug/59992
22408 * cselib.c (remove_useless_values): Skip to avoid quadratic
22409 behavior if the condition moved from...
22410 (cselib_process_insn): ... here holds.
22411
22412 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
22413
22414 PR debug/57232
22415 * var-tracking.c (vt_initialize): Apply the same condition to
22416 preserve the CFA base value.
22417
22418 2014-02-28 Joey Ye <joey.ye@arm.com>
22419
22420 PR target/PR60169
22421 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
22422 if reload in progress or completed.
22423
22424 2014-02-28 Tobias Burnus <burnus@net-b.de>
22425
22426 PR middle-end/60147
22427 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
22428 NAMELIST_DECL.
22429
22430 2014-02-27 H.J. Lu <hongjiu.lu@intel.com>
22431
22432 * doc/tm.texi.in (Condition Code Status): Update documention for
22433 relative locations of cc0-setter and cc0-user.
22434
22435 2014-02-27 Jeff Law <law@redhat.com>
22436
22437 PR rtl-optimization/52714
22438 * combine.c (try_combine): When splitting an unrecognized PARALLEL
22439 into two independent simple sets, if I3 is a jump, ensure the
22440 pattern we place into I3 is a (set (pc) ...).
22441
22442 2014-02-27 Mikael Pettersson <mikpe@it.uu.se>
22443 Jeff Law <law@redhat.com>
22444
22445 PR rtl-optimization/49847
22446 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
22447 are in different blocks.
22448 * doc/tm.texi (Condition Code Status): Update documention for
22449 relative locations of cc0-setter and cc0-user.
22450
22451 2014-02-27 Vladimir Makarov <vmakarov@redhat.com>
22452
22453 PR target/59222
22454 * lra.c (lra_emit_add): Check SUBREG too.
22455
22456 2014-02-27 Andreas Schwab <schwab@suse.de>
22457
22458 * config/m68k/m68k.c (m68k_option_override): Disable
22459 -flive-range-shrinkage for classic m68k.
22460 (m68k_override_options_after_change): Likewise.
22461
22462 2014-02-27 Marek Polacek <polacek@redhat.com>
22463
22464 PR middle-end/59223
22465 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
22466 -Wmaybe-uninitialized.
22467
22468 2014-02-27 Alan Modra <amodra@gmail.com>
22469
22470 PR target/57936
22471 * reload1.c (emit_input_reload_insns): When reload_override_in,
22472 set old to rl->in_reg when rl->in_reg is a subreg.
22473
22474 2014-02-26 Richard Biener <rguenther@suse.de>
22475
22476 PR bootstrap/60343
22477 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
22478
22479 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
22480
22481 * common/config/i386/predicates.md (const1256_operand): Remove.
22482 (const2356_operand): New.
22483 (const_1_to_2_operand): Remove.
22484 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
22485 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
22486 (*avx512pf_gatherpf<mode>sf): Ditto.
22487 (avx512pf_gatherpf<mode>df): Ditto.
22488 (*avx512pf_gatherpf<mode>df_mask): Ditto.
22489 (*avx512pf_gatherpf<mode>df): Ditto.
22490 (avx512pf_scatterpf<mode>sf): Ditto.
22491 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
22492 (*avx512pf_scatterpf<mode>sf): Ditto.
22493 (avx512pf_scatterpf<mode>df): Ditto.
22494 (*avx512pf_scatterpf<mode>df_mask): Ditto.
22495 (*avx512pf_scatterpf<mode>df): Ditto.
22496 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
22497
22498 2014-02-26 Ilya Tocar <ilya.tocar@intel.com>
22499
22500 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
22501 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
22502 (_mm512_mask_testn_epi64_mask): Move to ...
22503 * config/i386/avx512cdintrin.h: Here.
22504 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
22505 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
22506 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
22507 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
22508 TARGET_AVX512F from TARGET_AVX512CD.
22509
22510 2014-02-26 Richard Biener <rguenther@suse.de>
22511
22512 PR ipa/60327
22513 * ipa.c (walk_polymorphic_call_targets): Properly guard
22514 call to inline_update_overall_summary.
22515
22516 2014-02-26 Bin Cheng <bin.cheng@arm.com>
22517
22518 PR target/60280
22519 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
22520 and latches only if requested. Fix latch if it is removed.
22521 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
22522 LOOPS_HAVE_PREHEADERS.
22523
22524 2014-02-25 Andrew Pinski <apinski@cavium.com>
22525
22526 * builtins.c (expand_builtin_thread_pointer): Create a new target
22527 when the target is NULL.
22528
22529 2014-02-25 Vladimir Makarov <vmakarov@redhat.com>
22530
22531 PR rtl-optimization/60317
22532 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
22533 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
22534 * lra-assigns.c: Include params.h.
22535 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
22536 other reload pseudos considerations.
22537
22538 2014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22539
22540 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
22541 to use canonical form for nor<mode>3.
22542
22543 2014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22544
22545 PR target/55426
22546 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
22547 conversions.
22548
22549 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
22550
22551 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
22552 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
22553 (ix86_handle_option): Handle OPT_mprefetchwt1.
22554 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
22555 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
22556 PREFETCHWT1 CPUID.
22557 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
22558 OPTION_MASK_ISA_PREFETCHWT1.
22559 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
22560 (PTA_PREFETCHWT1): New.
22561 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
22562 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
22563 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
22564 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
22565 (*prefetch_avx512pf_<mode>_: Change into ...
22566 (*prefetch_prefetchwt1_<mode>: This.
22567 * config/i386/i386.opt (mprefetchwt1): New.
22568 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
22569 (_mm_prefetch): Handle intent to write.
22570 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
22571
22572 2014-02-25 Richard Biener <rguenther@suse.de>
22573
22574 PR middle-end/60291
22575 * emit-rtl.c (mem_attrs_htab): Remove.
22576 (mem_attrs_htab_hash): Likewise.
22577 (mem_attrs_htab_eq): Likewise.
22578 (set_mem_attrs): Always allocate new mem-attrs when something changed.
22579 (init_emit_once): Do not allocate mem_attrs_htab.
22580
22581 2014-02-25 Richard Biener <rguenther@suse.de>
22582
22583 PR lto/60319
22584 * lto-opts.c (lto_write_options): Output non-explicit conservative
22585 -fwrapv, -fno-trapv and -fno-strict-overflow.
22586 * lto-wrapper.c (merge_and_complain): Handle merging those options.
22587 (run_gcc): And pass them through.
22588
22589 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
22590
22591 * sel-sched.c (calculate_new_fences): New parameter ptime.
22592 Calculate it as a maximum over all fence cycles.
22593 (sel_sched_region_2): Adjust the call to calculate_new_fences.
22594 Print the final schedule timing when sched_verbose.
22595
22596 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
22597
22598 PR rtl-optimization/60292
22599 * sel-sched.c (fill_vec_av_set): Do not reset target availability
22600 bit fot the fence instruction.
22601
22602 2014-02-24 Alangi Derick <alangiderick@gmail.com>
22603
22604 * calls.h: Fix typo in comment.
22605
22606 2014-02-24 John David Anglin <danglin@gcc.gnu.org>
22607
22608 * config/pa/pa.c (pa_output_move_double): Don't valididate when
22609 adjusting offsetable addresses.
22610
22611 2014-02-24 Guozhi Wei <carrot@google.com>
22612
22613 * sparseset.h (sparseset_pop): Fix the wrong index.
22614
22615 2014-02-24 Walter Lee <walt@tilera.com>
22616
22617 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
22618 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
22619 triplet.
22620 * common/config/tilegx/tilegx-common.c
22621 (TARGET_DEFAULT_TARGET_FLAGS): Define.
22622 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
22623 (LINK_SPEC): Ditto.
22624 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
22625 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
22626 (tilegx_gimplify_va_arg_expr): Handle big endian.
22627 (tilegx_expand_unaligned_load): Ditto.
22628 (tilegx_expand_unaligned_store): Ditto.
22629 (TARGET_RETURN_IN_MSB): New.
22630 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
22631 (TARGET_ENDIAN_DEFAULT): New.
22632 (TARGET_BIG_ENDIAN): Handle big endian.
22633 (BYTES_BIG_ENDIAN): Ditto.
22634 (WORDS_BIG_ENDIAN): Ditto.
22635 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
22636 (ENDIAN_SPEC): New.
22637 (EXTRA_SPECS): New.
22638 * config/tilegx/tilegx.md (extv): Handle big endian.
22639 (extzv): Ditto.
22640 (insn_st<n>): Ditto.
22641 (insn_st<n>_add<bitsuffix>): Ditto.
22642 (insn_stnt<n>): Ditto.
22643 (insn_stnt<n>_add<bitsuffix>):Ditto.
22644 (vec_interleave_highv8qi): Handle big endian.
22645 (vec_interleave_highv8qi_be): New.
22646 (vec_interleave_highv8qi_le): New.
22647 (insn_v1int_h): Handle big endian.
22648 (vec_interleave_lowv8qi): Handle big endian.
22649 (vec_interleave_lowv8qi_be): New.
22650 (vec_interleave_lowv8qi_le): New.
22651 (insn_v1int_l): Handle big endian.
22652 (vec_interleave_highv4hi): Handle big endian.
22653 (vec_interleave_highv4hi_be): New.
22654 (vec_interleave_highv4hi_le): New.
22655 (insn_v2int_h): Handle big endian.
22656 (vec_interleave_lowv4hi): Handle big endian.
22657 (vec_interleave_lowv4hi_be): New.
22658 (vec_interleave_lowv4hi_le): New.
22659 (insn_v2int_l): Handle big endian.
22660 (vec_interleave_highv2si): Handle big endian.
22661 (vec_interleave_highv2si_be): New.
22662 (vec_interleave_highv2si_le): New.
22663 (insn_v4int_h): Handle big endian.
22664 (vec_interleave_lowv2si): Handle big endian.
22665 (vec_interleave_lowv2si_be): New.
22666 (vec_interleave_lowv2si_le): New.
22667 (insn_v4int_l): Handle big endian.
22668 * config/tilegx/tilegx.opt (mbig-endian): New option.
22669 (mlittle-endian): New option.
22670 * doc/install.texi: Document tilegxbe-linux.
22671 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
22672
22673 2014-02-24 Martin Jambor <mjambor@suse.cz>
22674
22675 PR ipa/60266
22676 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
22677 there are no parameter descriptors.
22678
22679 2014-02-24 Andrey Belevantsev <abel@ispras.ru>
22680
22681 PR rtl-optimization/60268
22682 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
22683 initialization to ...
22684 (sched_rgn_init): ... here.
22685 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
22686
22687 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
22688
22689 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
22690 names.
22691
22692 2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
22693
22694 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
22695 definition.
22696
22697 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
22698
22699 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
22700 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
22701
22702 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
22703
22704 * config/microblaze/predicates.md: Add cmp_op predicate.
22705 * config/microblaze/microblaze.md: Add branch_compare instruction
22706 which uses cmp_op predicate and emits cmp insn before branch.
22707 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
22708 to microblaze_expand_conditional_branch and consolidate logic.
22709 (microblaze_expand_conditional_branch): emit branch_compare
22710 insn instead of handling cmp op separate from branch insn.
22711
22712 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22713
22714 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
22715 to permit subregs.
22716
22717 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22718
22719 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
22720 define_insn with define_expand and new define_insn
22721 *altivec_lve<VI_char>x_internal.
22722 (altivec_stve<VI_char>x): Replace define_insn with define_expand
22723 and new define_insn *altivec_stve<VI_char>x_internal.
22724 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
22725 prototype.
22726 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
22727 lve*x built-ins.
22728 (altivec_expand_stvex_be): New function.
22729
22730 2014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
22731
22732 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
22733 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
22734 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
22735 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
22736
22737 2014-02-21 Vladimir Makarov <vmakarov@redhat.com>
22738
22739 PR target/60298
22740 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
22741 instead of emit_move_insn.
22742
22743 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22744
22745 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
22746 vspltw with vsldoi.
22747 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
22748 gen_altivec_vsumsws.
22749
22750 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22751
22752 * config/rs6000/altivec.md (altivec_lvxl): Rename as
22753 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
22754 (altivec_lvxl_<mode>): New define_expand incorporating
22755 -maltivec=be semantics where needed.
22756 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
22757 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
22758 semantics where needed.
22759 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
22760 (altivec_stvx_<mode>): New define_expand incorporating
22761 -maltivec=be semantics where needed.
22762 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
22763 VM2 iterator instead of V4SI.
22764 (altivec_stvxl_<mode>): New define_expand incorporating
22765 -maltivec=be semantics where needed.
22766 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
22767 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
22768 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
22769 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
22770 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
22771 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
22772 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
22773 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
22774 ALTIVEC_BUILTIN_STVXL.
22775 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
22776 (altivec_expand_stvx_be): Likewise.
22777 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
22778 (altivec_expand_lvx_be): Likewise.
22779 (altivec_expand_stvx_be): Likewise.
22780 (altivec_expand_builtin): Add cases for
22781 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
22782 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
22783 (altivec_init_builtins): Add definitions for
22784 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
22785 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
22786
22787 2014-02-21 Catherine Moore <clm@codesourcery.com>
22788
22789 * doc/invoke.texi (mvirt, mno-virt): Document.
22790 * config/mips/mips.opt (mvirt): New option.
22791 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
22792
22793 2014-02-21 Richard Biener <rguenther@suse.de>
22794
22795 PR tree-optimization/60276
22796 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
22797 (STMT_VINFO_MIN_NEG_DIST): New macro.
22798 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
22799 STMT_VINFO_MIN_NEG_DIST.
22800 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
22801 made for negative dependence distances still hold.
22802
22803 2014-02-21 Richard Biener <rguenther@suse.de>
22804
22805 PR middle-end/60291
22806 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
22807 DECL_INITIAL for globals not in the current function context.
22808
22809 2014-02-21 Jakub Jelinek <jakub@redhat.com>
22810
22811 PR tree-optimization/56490
22812 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
22813 * tree-ssa-uninit.c: Include params.h.
22814 (compute_control_dep_chain): Add num_calls argument, return false
22815 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
22816 num_calls to recursive call.
22817 (find_predicates): Change dep_chain into normal array,
22818 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
22819 variable and adjust compute_control_dep_chain caller.
22820 (find_def_preds): Likewise.
22821
22822 2014-02-21 Thomas Schwinge <thomas@codesourcery.com>
22823
22824 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
22825 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
22826
22827 2014-02-21 Nick Clifton <nickc@redhat.com>
22828
22829 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
22830 (pushhi1): Likewise.
22831 (popqi1): Add mode to pre_dec.
22832 (pophi1): Likewise.
22833
22834 2014-02-21 Jakub Jelinek <jakub@redhat.com>
22835
22836 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
22837 mode for mask of V8SFmode permutation.
22838
22839 2014-02-20 Richard Henderson <rth@redhat.com>
22840
22841 PR c++/60272
22842 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
22843 a new pseudo for OLDVAL.
22844
22845 2014-02-20 Jakub Jelinek <jakub@redhat.com>
22846
22847 PR target/57896
22848 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
22849 gen_reg_rtx if d->testing_p.
22850 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
22851 if d->testing_p and we will certainly return true.
22852 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
22853 if d->testing_p.
22854
22855 2014-02-20 Uros Bizjak <ubizjak@gmail.com>
22856
22857 * emit-rtl.c (gen_reg_rtx): Assert that
22858 crtl->emit.regno_pointer_align_length is non-zero.
22859
22860 2014-02-20 Richard Henderson <rth@redhat.com>
22861
22862 PR c++/60272
22863 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
22864 on failure the store back into EXPECT.
22865
22866 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
22867 Sandra Loosemore <sandra@codesourcery.com>
22868
22869 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
22870 * config/nios2/nios2.c (nios2_function_profiler): Add
22871 -fPIC (flag_pic == 2) support.
22872 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
22873 (nios2_large_offset_p): New function.
22874 (nios2_unspec_reloc_p): Move up position, update to use
22875 nios2_large_offset_p.
22876 (nios2_unspec_address): Remove function.
22877 (nios2_unspec_offset): New function.
22878 (nios2_large_got_address): New function.
22879 (nios2_got_address): Add large offset support.
22880 (nios2_legitimize_tls_address): Update usage of removed and new
22881 functions.
22882 (nios2_symbol_binds_local_p): New function.
22883 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
22884 (nios2_legitimize_address): Update to use nios2_large_offset_p.
22885 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
22886 (nios2_print_operand): Merge H/L processing, add hiadj/lo
22887 processing for (const (unspec ...)).
22888 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
22889
22890 2014-02-20 Richard Biener <rguenther@suse.de>
22891
22892 * tree-cfg.c (replace_uses_by): Mark altered BBs before
22893 doing the substitution.
22894 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
22895
22896 2014-02-20 Martin Jambor <mjambor@suse.cz>
22897
22898 PR ipa/55260
22899 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
22900 info when checking whether lattices are bottom.
22901
22902 2014-02-20 Richard Biener <rguenther@suse.de>
22903
22904 PR middle-end/60221
22905 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
22906 regions at -O0.
22907
22908 2014-02-20 Jan Hubicka <hubicka@ucw.cz>
22909
22910 PR ipa/58555
22911 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
22912 parameter specifying the scaling.
22913 (inline_call): Update.
22914 (want_inline_recursively): Guard division by zero.
22915 (recursive_inlining): Update.
22916 * ipa-inline.h (clone_inlined_nodes): Update.
22917
22918 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
22919
22920 PR target/60204
22921 * config/i386/i386.c (classify_argument): Pass structures of size
22922 64 bytes or less in register.
22923
22924 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
22925 Kirill Yukhin <kirill.yukhin@intel.com>
22926
22927 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
22928 (_mm_rcp28_round_ss): Ditto.
22929 (_mm_rsqrt28_round_sd): Ditto.
22930 (_mm_rsqrt28_round_ss): Ditto.
22931 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
22932 (_mm_rcp14_round_ss): Ditto.
22933 (_mm_rsqrt14_round_sd): Ditto.
22934 (_mm_rsqrt14_round_ss): Ditto.
22935 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
22936 the first input operand, get rid of match_dup.
22937 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
22938 attribute to sse.
22939 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
22940 Ditto.
22941 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
22942 operand as the first input operand, set type attribute.
22943 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
22944 Set type attribute.
22945 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
22946 operand as the first input operand, set type attribute.
22947
22948 2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22949
22950 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
22951 bit of zero.
22952
22953 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
22954
22955 PR target/60207
22956 * config/i386/i386.c (construct_container): Remove TFmode check
22957 for X86_64_INTEGER_CLASS.
22958
22959 2014-02-19 Uros Bizjak <ubizjak@gmail.com>
22960
22961 PR target/59794
22962 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
22963 only when -Wpsabi is enabled.
22964
22965 2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
22966
22967 PR target/59799
22968 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
22969 passing arrays in registers are the same as for structs, so remove the
22970 special case for them.
22971
22972 2014-02-19 Eric Botcazou <ebotcazou@adacore.com>
22973
22974 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
22975 destination type, extract only the valid bits if the source type is not
22976 integral and has a different mode.
22977
22978 2014-02-19 Richard Biener <rguenther@suse.de>
22979
22980 PR ipa/60243
22981 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
22982 for all calls.
22983
22984 2014-02-19 Richard Biener <rguenther@suse.de>
22985
22986 PR ipa/60243
22987 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
22988 (ipa_modify_call_arguments): Emit an argument load explicitely and
22989 preserve virtual SSA form there and for the replacement call.
22990 Do not update SSA form nor free dominance info.
22991
22992 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
22993
22994 * ipa.c (function_and_variable_visibility): Also clear WEAK
22995 flag when disolving COMDAT_GROUP.
22996
22997 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
22998
22999 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
23000 * ipa-prop.c (ipa_set_jf_known_type): Return early when
23001 not devirtualizing.
23002 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
23003 do more sanity checks.
23004 (detect_type_change): Return true when giving up early.
23005 (compute_complex_assign_jump_func): Fix type parameter of
23006 ipa_set_ancestor_jf.
23007 (compute_complex_ancestor_jump_func): Likewise.
23008 (update_jump_functions_after_inlining): Fix updating of
23009 ancestor function.
23010 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
23011
23012 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
23013
23014 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
23015 inline clones when edge disappears.
23016
23017 2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
23018
23019 PR target/60203
23020 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
23021 Split 64-bit moves into 2 patterns. Do not allow the use of
23022 direct move for TDmode in little endian, since the decimal value
23023 has little endian bytes within a word, but the 64-bit pieces are
23024 ordered in a big endian fashion, and normal subreg's of TDmode are
23025 not allowed.
23026 (mov<mode>_64bit_dm): Likewise.
23027 (movtd_64bit_nodm): Likewise.
23028
23029 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
23030
23031 PR tree-optimization/60174
23032 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
23033 statement of an SSA_NAME that occurs in an abnormal PHI node.
23034
23035 2014-02-18 Jakub Jelinek <jakub@redhat.com>
23036
23037 PR sanitizer/60142
23038 * final.c (SEEN_BB): Remove.
23039 (SEEN_NOTE, SEEN_EMITTED): Renumber.
23040 (final_scan_insn): Don't force_source_line on second
23041 NOTE_INSN_BASIC_BLOCK.
23042
23043 2014-02-18 Uros Bizjak <ubizjak@gmail.com>
23044
23045 PR target/60205
23046 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
23047 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
23048 (type_natural_mode): Warn ABI change when %zmm register is not
23049 available for AVX512F vector value passing.
23050
23051 2014-02-18 Kai Tietz <ktietz@redhat.com>
23052
23053 PR target/60193
23054 * config/i386/i386.c (ix86_expand_prologue): Use value in
23055 rax register as displacement when restoring %r10 or %rax.
23056 Fix wrong offset when restoring both registers.
23057
23058 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
23059
23060 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
23061 assertion with conditional return.
23062
23063 2014-02-18 Jakub Jelinek <jakub@redhat.com>
23064 Uros Bizjak <ubizjak@gmail.com>
23065
23066 PR driver/60233
23067 * config/i386/driver-i386.c (host_detect_local_cpu): If
23068 YMM state is not saved by the OS, also clear has_f16c. Move
23069 CPUID 0x80000001 handling before YMM state saving checking.
23070
23071 2014-02-18 Andrey Belevantsev <abel@ispras.ru>
23072
23073 PR rtl-optimization/58960
23074 * haifa-sched.c (alloc_global_sched_pressure_data): New,
23075 factored out from ...
23076 (sched_init): ... here.
23077 (free_global_sched_pressure_data): New, factored out from ...
23078 (sched_finish): ... here.
23079 * sched-int.h (free_global_sched_pressure_data): Declare.
23080 * sched-rgn.c (nr_regions_initial): New static global.
23081 (haifa_find_rgns): Initialize it.
23082 (schedule_region): Disable sched-pressure for the newly
23083 generated regions.
23084
23085 2014-02-17 Richard Biener <rguenther@suse.de>
23086
23087 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
23088 release SSA defs of pattern stmts.
23089
23090 2014-02-17 Richard Biener <rguenther@suse.de>
23091
23092 * tree-inline.c (expand_call_inline): Release the virtual
23093 operand defined by the call we are about to inline.
23094
23095 2014-02-17 Richard Biener <rguenther@suse.de>
23096
23097 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
23098
23099 2014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
23100 Ilya Tocar <ilya.tocar@intel.com>
23101
23102 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
23103 arguments order in builtin.
23104 (_mm512_permutexvar_epi64): Ditto.
23105 (_mm512_mask_permutexvar_epi64): Ditto
23106 (_mm512_maskz_permutexvar_epi32): Ditto
23107 (_mm512_permutexvar_epi32): Ditto
23108 (_mm512_mask_permutexvar_epi32): Ditto
23109
23110 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
23111
23112 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
23113 (p8_vmrgow): Likewise.
23114
23115 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
23116
23117 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
23118 endian targets.
23119
23120 2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
23121
23122 PR target/60203
23123 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
23124 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
23125 into 64-bit and 32-bit moves. On 64-bit moves, add support for
23126 using direct move instructions on ISA 2.07. Also adjust
23127 instruction length for 64-bit.
23128 (mov<mode>_64bit, TFmode/TDmode): Likewise.
23129 (mov<mode>_32bit, TFmode/TDmode): Likewise.
23130
23131 2014-02-15 Alan Modra <amodra@gmail.com>
23132
23133 PR target/58675
23134 PR target/57935
23135 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
23136 find_replacement on parts of insn rtl that might be reloaded.
23137
23138 2014-02-15 Richard Biener <rguenther@suse.de>
23139
23140 PR tree-optimization/60183
23141 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
23142 (tree_ssa_phiprop): Calculate and free post-dominators.
23143
23144 2014-02-14 Jeff Law <law@redhat.com>
23145
23146 PR rtl-optimization/60131
23147 * ree.c (get_extended_src_reg): New function.
23148 (combine_reaching_defs): Use it rather than assuming location of REG.
23149 (find_and_remove_re): Verify first operand of extension is
23150 a REG before adding the insns to the copy list.
23151
23152 2014-02-14 Roland McGrath <mcgrathr@google.com>
23153
23154 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
23155 * configure: Regenerated.
23156 * config.in: Regenerated.
23157 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
23158 instead of ASM_SHORT.
23159
23160 2014-02-14 Vladimir Makarov <vmakarov@redhat.com>
23161 Richard Earnshaw <rearnsha@arm.com>
23162
23163 PR rtl-optimization/59535
23164 * lra-constraints.c (process_alt_operands): Encourage alternative
23165 when unassigned pseudo class is superset of the alternative class.
23166 (inherit_reload_reg): Don't inherit when optimizing for code size.
23167 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
23168 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
23169 modes not less than 4 for Thumb1.
23170
23171 2014-02-14 Kyle McMartin <kyle@redhat.com>
23172
23173 PR pch/60010
23174 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
23175
23176 2014-02-14 Richard Biener <rguenther@suse.de>
23177
23178 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
23179 (get_frame_arg): Drop the assert with langhook types_compatible_p.
23180 Do not strip INDIRECT_REFs.
23181
23182 2014-02-14 Richard Biener <rguenther@suse.de>
23183
23184 PR lto/60179
23185 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
23186 DECL_FUNCTION_SPECIFIC_TARGET.
23187 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
23188 * tree-streamer-out.c (pack_ts_target_option): Remove.
23189 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
23190 (write_ts_function_decl_tree_pointers): Do not stream
23191 DECL_FUNCTION_SPECIFIC_TARGET.
23192 * tree-streamer-in.c (unpack_ts_target_option): Remove.
23193 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
23194 (lto_input_ts_function_decl_tree_pointers): Do not stream
23195 DECL_FUNCTION_SPECIFIC_TARGET.
23196
23197 2014-02-14 Jakub Jelinek <jakub@redhat.com>
23198
23199 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
23200 (get_initial_def_for_induction, vectorizable_induction): Ignore
23201 debug stmts when looking for exit_phi.
23202 (vectorizable_live_operation): Fix up condition.
23203
23204 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
23205
23206 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
23207 nreverse() because it changes the content of original tree list.
23208
23209 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
23210
23211 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
23212 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
23213
23214 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
23215
23216 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
23217 GNU coding standards.
23218
23219 2014-02-13 Jakub Jelinek <jakub@redhat.com>
23220
23221 PR debug/60152
23222 * dwarf2out.c (gen_subprogram_die): Don't call
23223 add_calling_convention_attribute if subr_die is old_die.
23224
23225 2014-02-13 Sharad Singhai <singhai@google.com>
23226
23227 * doc/optinfo.texi: Fix order of nodes.
23228
23229 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
23230
23231 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
23232 operands[2], not operands[3].
23233
23234 2014-02-13 Richard Biener <rguenther@suse.de>
23235
23236 PR bootstrap/59878
23237 * doc/install.texi (ISL): Update recommended version to 0.12.2,
23238 mention the possibility of an in-tree build.
23239 (CLooG): Update recommended version to 0.18.1, mention the
23240 possibility of an in-tree build and clarify that the ISL
23241 bundled with CLooG does not work.
23242
23243 2014-02-13 Jakub Jelinek <jakub@redhat.com>
23244
23245 PR target/43546
23246 * expr.c (compress_float_constant): If x is a hard register,
23247 extend into a pseudo and then move to x.
23248
23249 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
23250
23251 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
23252 caused by bad second argument to warning_at() with -mhotpatch and
23253 nested functions (e.g. with gfortran).
23254
23255 2014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
23256
23257 * opts.c (option_name): Remove "enabled by default" rider.
23258
23259 2014-02-12 John David Anglin <danglin@gcc.gnu.org>
23260
23261 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
23262
23263 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
23264 Uros Bizjak <ubizjak@gmail.com>
23265
23266 PR target/60151
23267 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
23268 * configure: Regenerated.
23269
23270 2014-02-12 Richard Biener <rguenther@suse.de>
23271
23272 * vec.c (vec_prefix::calculate_allocation): Move as
23273 inline variant to vec.h.
23274 (vec_prefix::calculate_allocation_1): New out-of-line version.
23275 * vec.h (vec_prefix::calculate_allocation_1): Declare.
23276 (vec_prefix::m_has_auto_buf): Rename to ...
23277 (vec_prefix::m_using_auto_storage): ... this.
23278 (vec_prefix::calculate_allocation): Inline the easy cases
23279 and dispatch to calculate_allocation_1 which doesn't need the
23280 prefix address.
23281 (va_heap::reserve): Use gcc_checking_assert.
23282 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
23283 m_using_auto_storage.
23284 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
23285 member and adjust.
23286 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
23287 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
23288 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
23289
23290 2014-02-12 Richard Biener <rguenther@suse.de>
23291
23292 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
23293 when we found a dependence.
23294
23295 2014-02-12 Thomas Schwinge <thomas@codesourcery.com>
23296
23297 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
23298 common code...
23299 (maybe_fold_stmt): ... into this new function.
23300 * omp-low.c (lower_omp): Update comment.
23301
23302 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
23303 last use.
23304
23305 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
23306 dereference.
23307
23308 2014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
23309
23310 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
23311 identifiers in comments.
23312 (cortexa53_extra_costs): Likewise.
23313 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
23314 (cortexa7_extra_costs): Likewise.
23315 (cortexa12_extra_costs): Likewise.
23316 (cortexa15_extra_costs): Likewise.
23317 (v7m_extra_costs): Likewise.
23318
23319 2014-02-12 Richard Biener <rguenther@suse.de>
23320
23321 PR middle-end/60092
23322 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
23323 of posix_memalign being successful.
23324 (lower_stmt): Restrict lowering of posix_memalign to when
23325 -ftree-bit-ccp is enabled.
23326
23327 2014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
23328
23329 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
23330 arg_loc.
23331 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
23332
23333 2014-02-12 Eric Botcazou <ebotcazou@adacore.com>
23334
23335 PR rtl-optimization/60116
23336 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
23337 other_insn once the combination has been validated.
23338
23339 2014-02-11 Jan Hubicka <hubicka@ucw.cz>
23340
23341 PR lto/59468
23342 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
23343 and wrapper.
23344 * ipa-devirt.c: Include demangle.h
23345 (odr_violation_reported): New static variable.
23346 (add_type_duplicate): Update odr_violations.
23347 (maybe_record_node): Add completep parameter; update it.
23348 (record_target_from_binfo): Add COMPLETEP parameter;
23349 update it as needed.
23350 (possible_polymorphic_call_targets_1): Likewise.
23351 (struct polymorphic_call_target_d): Add nonconstruction_targets;
23352 rename FINAL to COMPLETE.
23353 (record_targets_from_bases): Sanity check we found the binfo;
23354 fix COMPLETEP updating.
23355 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
23356 parameter, fix computing of COMPLETEP.
23357 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
23358 at LTO time do demangling.
23359 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
23360 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
23361 parameter.
23362 (gimple_get_virt_method_for_binfo): Likewise.
23363 * gimple-fold.h (gimple_get_virt_method_for_binfo,
23364 gimple_get_virt_method_for_vtable): Update prototypes.
23365
23366 2014-02-11 Vladimir Makarov <vmakarov@redhat.com>
23367
23368 PR target/49008
23369 * genautomata.c (add_presence_absence): Fix typo with
23370 {final_}presence_list.
23371
23372 2014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
23373
23374 PR target/60137
23375 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
23376 for VSX/Altivec vectors that land in GPR registers.
23377
23378 2014-02-11 Richard Henderson <rth@redhat.com>
23379 Jakub Jelinek <jakub@redhat.com>
23380
23381 PR debug/59776
23382 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
23383 around drhs if type conversion to lacc->type is not useless.
23384
23385 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23386
23387 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
23388 tuning struct.
23389 (cortex-a57.cortex-a53): Likewise.
23390 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
23391
23392 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23393
23394 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
23395 arm_restrict_it.
23396
23397 2014-02-11 Renlin Li <Renlin.Li@arm.com>
23398
23399 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
23400 add_options_for_arm_vfp3.
23401
23402 2014-02-11 Jeff Law <law@redhat.com>
23403
23404 PR middle-end/54041
23405 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
23406 object with an undesirable mode.
23407
23408 2014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
23409
23410 PR libgomp/60107
23411 * config/i386/sol2-9.h: New file.
23412 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
23413 *-*-solaris2.9*): Use it.
23414
23415 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
23416
23417 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
23418 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
23419
23420 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
23421
23422 * config/microblaze/microblaze.c: Extend mcpu version format
23423
23424 2014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
23425
23426 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
23427
23428 2014-02-10 Richard Henderson <rth@redhat.com>
23429
23430 PR target/59927
23431 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
23432 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
23433 ms-abi vs -mno-accumulate-outgoing-args.
23434 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
23435 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
23436 respect to ms-abi.
23437
23438 2014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
23439
23440 PR middle-end/60080
23441 * cfgexpand.c (expand_asm_operands): Attach source location to
23442 ASM_INPUT rtx objects.
23443 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
23444
23445 2014-02-10 Nick Clifton <nickc@redhat.com>
23446
23447 * config/mn10300/mn10300.c (popcount): New function.
23448 (mn10300_expand_prologue): Include saved registers in stack usage
23449 count.
23450
23451 2014-02-10 Jeff Law <law@redhat.com>
23452
23453 PR middle-end/52306
23454 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
23455 when changing the SET_DEST of a prior insn to avoid an input reload.
23456
23457 2014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
23458
23459 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
23460 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
23461 -mcall-openbsd, or -mcall-linux.
23462 (CC1_ENDIAN_BIG_SPEC): Remove.
23463 (CC1_ENDIAN_LITTLE_SPEC): Remove.
23464 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
23465 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
23466 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
23467 and %cc1_endian_default.
23468 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
23469
23470 2014-02-10 Richard Biener <rguenther@suse.de>
23471
23472 PR tree-optimization/60115
23473 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
23474 MEM_REF handling. Properly verify that the accesses are not
23475 out of the objects bound.
23476
23477 2014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23478
23479 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
23480 coretex to cortex.
23481
23482 2014-02-10 Eric Botcazou <ebotcazou@adacore.com>
23483
23484 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
23485 proper constants and fix formatting.
23486 (possible_polymorphic_call_targets): Fix formatting.
23487
23488 2014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
23489 Ilya Tocar <ilya.tocar@intel.com>
23490
23491 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
23492 (_mm512_loadu_epi32): Renamed into...
23493 (_mm512_loadu_si512): This.
23494 (_mm512_storeu_epi32): Renamed into...
23495 (_mm512_storeu_si512): This.
23496 (_mm512_maskz_ceil_ps): Removed.
23497 (_mm512_maskz_ceil_pd): Ditto.
23498 (_mm512_maskz_floor_ps): Ditto.
23499 (_mm512_maskz_floor_pd): Ditto.
23500 (_mm512_floor_round_ps): Ditto.
23501 (_mm512_floor_round_pd): Ditto.
23502 (_mm512_ceil_round_ps): Ditto.
23503 (_mm512_ceil_round_pd): Ditto.
23504 (_mm512_mask_floor_round_ps): Ditto.
23505 (_mm512_mask_floor_round_pd): Ditto.
23506 (_mm512_mask_ceil_round_ps): Ditto.
23507 (_mm512_mask_ceil_round_pd): Ditto.
23508 (_mm512_maskz_floor_round_ps): Ditto.
23509 (_mm512_maskz_floor_round_pd): Ditto.
23510 (_mm512_maskz_ceil_round_ps): Ditto.
23511 (_mm512_maskz_ceil_round_pd): Ditto.
23512 (_mm512_expand_pd): Ditto.
23513 (_mm512_expand_ps): Ditto.
23514 * config/i386/i386.c (ix86_builtins): Remove
23515 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
23516 (bdesc_args): Ditto.
23517 * config/i386/predicates.md (const1256_operand): New.
23518 (const_1_to_2_operand): Ditto.
23519 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
23520 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
23521 (*avx512pf_gatherpf<mode>sf): Ditto.
23522 (avx512pf_gatherpf<mode>df): Ditto.
23523 (*avx512pf_gatherpf<mode>df_mask): Ditto.
23524 (*avx512pf_gatherpf<mode>df): Ditto.
23525 (avx512pf_scatterpf<mode>sf): Ditto.
23526 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
23527 (*avx512pf_scatterpf<mode>sf): Ditto.
23528 (avx512pf_scatterpf<mode>df): Ditto.
23529 (*avx512pf_scatterpf<mode>df_mask): Ditto.
23530 (*avx512pf_scatterpf<mode>df): Ditto.
23531 (avx512f_expand<mode>): Removed.
23532 (<shift_insn><mode>3<mask_name>): Change predicate type.
23533
23534 2014-02-08 Jakub Jelinek <jakub@redhat.com>
23535
23536 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
23537 not at the end of datarefs vector use ordered_remove to avoid
23538 reordering datarefs vector.
23539
23540 PR c/59984
23541 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
23542 mark local addressable non-static vars as GOVD_PRIVATE
23543 instead of GOVD_LOCAL.
23544 * omp-low.c (lower_omp_for): Move gimple_bind_vars
23545 and BLOCK_VARS of gimple_bind_block to new_stmt rather
23546 than copying them.
23547
23548 PR middle-end/60092
23549 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
23550 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
23551 assume_aligned or alloc_align attributes.
23552 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
23553 arguments. Handle also assume_aligned and alloc_align attributes.
23554 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
23555 calls to functions with assume_aligned or alloc_align attributes.
23556 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
23557
23558 2014-02-08 Terry Guo <terry.guo@arm.com>
23559
23560 * doc/invoke.texi: Document ARM -march=armv7e-m.
23561
23562 2014-02-08 Jakub Jelinek <jakub@redhat.com>
23563
23564 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
23565 flag on __cilkrts_rethrow builtin.
23566
23567 PR ipa/60026
23568 * ipa-cp.c (determine_versionability): Fail at -O0
23569 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
23570 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
23571
23572 Revert:
23573 2014-02-04 Jakub Jelinek <jakub@redhat.com>
23574
23575 PR ipa/60026
23576 * tree-inline.c (copy_forbidden): Fail for
23577 __attribute__((optimize (0))) functions.
23578
23579 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
23580
23581 * varpool.c: Include pointer-set.h.
23582 (varpool_remove_unreferenced_decls): Variables in other partitions
23583 will not be output; be however careful to not lose information
23584 about partitioning.
23585
23586 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
23587
23588 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
23589 lookup in the vtable constructor.
23590
23591 2014-02-07 Jeff Law <law@redhat.com>
23592
23593 PR target/40977
23594 * config/m68k/m68k.md (ashldi_extsi): Turn into a
23595 define_insn_and_split.
23596
23597 * ipa-inline.c (inline_small_functions): Fix typos.
23598
23599 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
23600
23601 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
23602 (s390_can_use_return_insn): Declare.
23603 * config/s390/s390.h (EPILOGUE_USES): Define.
23604 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
23605 instructions.
23606 (s390_chunkify_start): Handle return JUMP_LABELs.
23607 (s390_early_mach): Emit a main_pool instruction on the entry edge.
23608 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
23609 (s390_can_use_return_insn): New functions.
23610 (s390_fix_long_loop_prediction): Handle conditional returns.
23611 (TARGET_SET_UP_BY_PROLOGUE): Define.
23612 * config/s390/s390.md (ANY_RETURN): New code iterator.
23613 (*creturn, *csimple_return, return, simple_return): New patterns.
23614
23615 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
23616
23617 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
23618 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
23619 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
23620 REG_CFA_RESTORE list when deciding not to restore a register.
23621
23622 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
23623
23624 * config/s390/s390.c: Include tree-pass.h and context.h.
23625 (s390_early_mach): New function, split out from...
23626 (s390_emit_prologue): ...here.
23627 (pass_data_s390_early_mach): New pass structure.
23628 (pass_s390_early_mach): New class.
23629 (s390_option_override): Create and register early_mach pass.
23630 Move to end of file.
23631
23632 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
23633
23634 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
23635 to match for the exit block.
23636
23637 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23638
23639 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
23640 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
23641 Reject misaligned operands.
23642
23643 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23644
23645 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
23646
23647 2014-02-07 Richard Biener <rguenther@suse.de>
23648
23649 PR middle-end/60092
23650 * gimple-low.c (lower_builtin_posix_memalign): New function.
23651 (lower_stmt): Call it to lower posix_memalign in a way
23652 to make alignment info accessible.
23653
23654 2014-02-07 Jakub Jelinek <jakub@redhat.com>
23655
23656 PR c++/60082
23657 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
23658 __builtin_setjmp_receiver.
23659
23660 2014-02-07 Richard Biener <rguenther@suse.de>
23661
23662 PR middle-end/60092
23663 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
23664 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
23665 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
23666 Handle BUILT_IN_POSIX_MEMALIGN.
23667 (find_func_clobbers): Likewise.
23668 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
23669 (call_may_clobber_ref_p_1): Likewise.
23670
23671 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
23672
23673 PR ipa/59918
23674 * ipa-devirt.c (record_target_from_binfo): Remove overactive
23675 sanity check.
23676
23677 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
23678
23679 PR ipa/59469
23680 * lto-cgraph.c (lto_output_node): Use
23681 symtab_get_symbol_partitioning_class.
23682 (lto_output_varpool_node): likewise.
23683 (symtab_get_symbol_partitioning_class): Move here from
23684 lto/lto-partition.c
23685 * cgraph.h (symbol_partitioning_class): Likewise.
23686 (symtab_get_symbol_partitioning_class): Declare.
23687
23688 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
23689
23690 * ggc.h (ggc_internal_cleared_alloc): New macro.
23691 * vec.h (vec_safe_copy): Handle memory stats.
23692 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
23693 * target-globals.c (save_target_globals): Likewise.
23694
23695 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
23696
23697 PR target/60077
23698 * expr.c (emit_move_resolve_push): Export; be bit more selective
23699 on when to clear alias set.
23700 * expr.h (emit_move_resolve_push): Declare.
23701 * function.h (struct function): Add tail_call_marked.
23702 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
23703 * config/i386/i386-protos.h (ix86_expand_push): Remove.
23704 * config/i386/i386.md (TImode move expander): De not call
23705 ix86_expand_push.
23706 (FP push expanders): Preserve memory attributes.
23707 * config/i386/sse.md (push<mode>1): Remove.
23708 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
23709 (ix86_expand_push): Remove.
23710 * config/i386/mmx.md (push<mode>1): Remove.
23711
23712 2014-02-06 Jakub Jelinek <jakub@redhat.com>
23713
23714 PR rtl-optimization/60030
23715 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
23716 lopart with paradoxical subreg before shifting it up by hprec.
23717
23718 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23719
23720 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
23721 Remove extra newline at end of file.
23722 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
23723 (arm_issue_rate): Handle cortexa57.
23724 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
23725 (cortex-a57.cortex-a53): Likewise.
23726
23727 2014-02-06 Jakub Jelinek <jakub@redhat.com>
23728
23729 PR target/59575
23730 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
23731 don't record in REG_FRAME_RELATED_EXPR registers not set in that
23732 bitmask.
23733 (arm_expand_prologue): Adjust all callers.
23734 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
23735 info, registers also at the lowest numbered registers side. Use
23736 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
23737 XEXP.
23738
23739 PR debug/59992
23740 * var-tracking.c (adjust_mems): Before adding a SET to
23741 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
23742
23743 2014-02-06 Alan Modra <amodra@gmail.com>
23744
23745 PR target/60032
23746 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
23747 change SDmode to DDmode when lra_in_progress.
23748
23749 2014-02-06 Jakub Jelinek <jakub@redhat.com>
23750
23751 PR middle-end/59150
23752 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
23753 free_data_ref on the dr first, and before goto again also set dr
23754 to the next dr. For simd_lane_access, free old datarefs[i] before
23755 overwriting it. For get_vectype_for_scalar_type failure, don't
23756 free_data_ref if simd_lane_access.
23757
23758 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
23759
23760 PR target/60062
23761 * tree.h (opts_for_fn): New inline function.
23762 (opt_for_fn): Define.
23763 * config/i386/i386.c (ix86_function_regparm): Use
23764 opt_for_fn (decl, optimize) instead of optimize.
23765
23766 2014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
23767
23768 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
23769 for SYMBOL_REF in large memory model.
23770
23771 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23772
23773 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
23774 and crypto support.
23775 (cortex-a57): Likewise.
23776 (cortex-a57.cortex-a53): Likewise.
23777
23778 2014-02-06 Yury Gribov <y.gribov@samsung.com>
23779 Kugan Vivekanandarajah <kuganv@linaro.org>
23780
23781 * config/arm/arm.c (arm_vector_alignment_reachable): Check
23782 unaligned_access.
23783 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
23784
23785 2014-02-06 Richard Biener <rguenther@suse.de>
23786
23787 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
23788 set_loop_copy and initialize_original_copy_tables.
23789
23790 2014-02-06 Alex Velenko <Alex.Velenko@arm.com>
23791
23792 * config/aarch64/aarch64-simd.md
23793 (aarch64_ashr_simddi): Change QI to SI.
23794
23795 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
23796 Jakub Jelinek <jakub@redhat.com>
23797
23798 PR middle-end/60013
23799 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
23800 of the dataflow.
23801
23802 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
23803
23804 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
23805 CODE_FOR_altivec_vpku[hw]um to
23806 CODE_FOR_altivec_vpku[hw]um_direct.
23807 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
23808 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
23809 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
23810 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
23811
23812 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
23813
23814 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
23815 generation for -maltivec=be.
23816 (altivec_vsumsws): Simplify redundant test.
23817
23818 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
23819
23820 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
23821 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
23822 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
23823 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
23824 gen_altivec_vpkuwum.
23825 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
23826 BYTES_BIG_ENDIAN.
23827 (altivec_vpks<VI_char>ss): Likewise.
23828 (altivec_vpks<VI_char>us): Likewise.
23829 (altivec_vpku<VI_char>us): Likewise.
23830 (altivec_vpku<VI_char>um): Likewise.
23831 (altivec_vpku<VI_char>um_direct): New (copy of
23832 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
23833 internal use).
23834 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
23835 target is little endian and -maltivec=be is not specified.
23836 (*altivec_vupkhs<VU_char>_direct): New (copy of
23837 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
23838 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
23839 target is little endian and -maltivec=be is not specified.
23840 (*altivec_vupkls<VU_char>_direct): New (copy of
23841 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
23842 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
23843 little endian and -maltivec=be is not specified.
23844 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
23845 little endian and -maltivec=be is not specified.
23846
23847 2014-02-05 Richard Henderson <rth@redhat.com>
23848
23849 PR debug/52727
23850 * combine-stack-adj.c: Revert r206943.
23851 * sched-int.h (struct deps_desc): Add last_args_size.
23852 * sched-deps.c (init_deps): Initialize it.
23853 (sched_analyze_insn): Add OUTPUT dependencies between insns that
23854 contain REG_ARGS_SIZE notes.
23855
23856 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
23857
23858 * lto-cgraph.c (asm_nodes_output): Make global.
23859 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
23860 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
23861 (driver_handle_option): Handle OPT_fwpa.
23862
23863 2014-02-05 Jakub Jelinek <jakub@redhat.com>
23864
23865 PR ipa/59947
23866 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
23867 a comment typo and formatting issue. If odr_hash hasn't been
23868 created, return vNULL and set *completep to false.
23869
23870 PR middle-end/57499
23871 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
23872 bb with no successors.
23873
23874 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
23875
23876 PR target/59718
23877 * doc/invoke.texi (-march): Clarify documentation for ARM.
23878 (-mtune): Likewise.
23879 (-mcpu): Likewise.
23880
23881 2014-02-05 Richard Biener <rguenther@suse.de>
23882
23883 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
23884 when not vectorizing because of too many alias checks.
23885 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
23886 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
23887
23888 2014-02-05 Nick Clifton <nickc@redhat.com>
23889
23890 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
23891 accept extended registers in any mode when compiling for the MN10300.
23892
23893 2014-02-05 Yury Gribov <y.gribov@samsung.com>
23894
23895 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
23896 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
23897 sanitization attributes.
23898 (can_inline_edge_p): Likewise.
23899 (sanitize_attrs_match_for_inline_p): New function.
23900
23901 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
23902
23903 * ipa-prop.c (detect_type_change): Shor circuit testing of
23904 type changes on THIS pointer.
23905
23906 2014-02-04 John David Anglin <danglin@gcc.gnu.org>
23907
23908 PR target/59777
23909 * config/pa/pa.c (legitimize_tls_address): Return original address
23910 if not passed a SYMBOL_REF rtx.
23911 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
23912 addresses.
23913 (pa_emit_move_sequence): Simplify TLS source operands.
23914 (pa_legitimate_constant_p): Reject all TLS constants.
23915 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
23916 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
23917
23918 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
23919
23920 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
23921 groups when we know they are controlled by LTO.
23922 * varasm.c (default_binds_local_p_1): If object is in other partition,
23923 it will be resolved locally.
23924
23925 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
23926
23927 * config/host-linux.c (linux_gt_pch_use_address): Don't
23928 use SSIZE_MAX because it is not always defined.
23929
23930 2014-02-04 Vladimir Makarov <vmakarov@redhat.com>
23931
23932 PR bootstrap/59913
23933 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
23934 threshold for pseudo splitting.
23935 (update_ebb_live_info): Process call argument hard registers and
23936 hard registers from insn definition too.
23937 (max_small_class_regs_num): New constant.
23938 (inherit_in_ebb): Update live hard regs through EBBs. Update
23939 reloads_num only for small register classes. Don't split for
23940 outputs of jumps.
23941
23942 2014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
23943
23944 PR ipa/60058
23945 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
23946 is non-null.
23947
23948 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
23949
23950 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
23951 visibility is safe.
23952
23953 2014-02-04 Marek Polacek <polacek@redhat.com>
23954
23955 * gdbinit.in (pel): Define.
23956
23957 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
23958
23959 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
23960 behavior.
23961
23962 2014-02-04 Richard Biener <rguenther@suse.de>
23963
23964 PR lto/59723
23965 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
23966 in function context local.
23967 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
23968 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
23969 similar to LTO_imported_decl_ref.
23970
23971 2014-02-04 Jakub Jelinek <jakub@redhat.com>
23972
23973 PR tree-optimization/60002
23974 * cgraphclones.c (build_function_decl_skip_args): Clear
23975 DECL_LANG_SPECIFIC.
23976
23977 PR tree-optimization/60023
23978 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
23979 false to gsi_replace.
23980 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
23981 has been in some EH region and vec_stmt could throw, add
23982 vec_stmt into the same EH region.
23983 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
23984 has no lhs, ignore it.
23985 * internal-fn.c (expand_MASK_LOAD): Likewise.
23986
23987 PR ipa/60026
23988 * tree-inline.c (copy_forbidden): Fail for
23989 __attribute__((optimize (0))) functions.
23990
23991 PR other/58712
23992 * omp-low.c (simd_clone_struct_copy): If from->inbranch
23993 is set, copy one less argument.
23994 (expand_simd_clones): Don't subtract clone_info->inbranch
23995 from simd_clone_struct_alloc argument.
23996
23997 PR rtl-optimization/57915
23998 * recog.c (simplify_while_replacing): If all unary/binary/relational
23999 operation arguments are constant, attempt to simplify those.
24000
24001 PR middle-end/59261
24002 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
24003 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
24004
24005 2014-02-04 Richard Biener <rguenther@suse.de>
24006
24007 PR tree-optimization/60012
24008 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
24009 TBAA disambiguation to all DDRs.
24010
24011 2014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24012
24013 PR target/59788
24014 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
24015 (LINK_SPEC): Use it for -shared, -shared-libgcc.
24016
24017 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
24018
24019 PR ipa/59882
24020 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
24021
24022 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
24023
24024 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
24025 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
24026
24027 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
24028
24029 PR ipa/59831
24030 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
24031 to figure out targets of polymorphic calls with known decl.
24032 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
24033 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
24034 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
24035 (get_polymorphic_call_info): ... here.
24036 (get_polymorphic_call_info_from_invariant): New function.
24037
24038 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
24039
24040 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
24041 lookup via vtable pointer; check for type consistency
24042 and turn inconsitent facts into UNREACHABLE.
24043 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
24044 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
24045 type inconsistent querries; return UNREACHABLE instead.
24046
24047 2014-02-03 Richard Henderson <rth@twiddle.net>
24048
24049 PR tree-opt/59924
24050 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
24051 already processed this node.
24052 (normalize_one_pred_1): Pass along mark_set.
24053 (normalize_one_pred): Create and destroy a pointer_set_t.
24054 (normalize_one_pred_chain): Likewise.
24055
24056 2014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
24057
24058 PR gcov-profile/58602
24059 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
24060
24061 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
24062
24063 PR ipa/59831
24064 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
24065 -fno-devirtualize; try to devirtualize by the knowledge of
24066 virtual table pointer given by aggregate propagation.
24067 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
24068 (ipa_print_node_jump_functions): Dump also offset that
24069 is relevant for polymorphic calls.
24070 (determine_known_aggregate_parts): Add arg_type parameter; use it
24071 instead of determining the type from pointer type.
24072 (ipa_compute_jump_functions_for_edge): Update call of
24073 determine_known_aggregate_parts.
24074 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
24075 (gimple_get_virt_method_for_binfo): ... here; simplify using
24076 vtable_pointer_value_to_vtable.
24077 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
24078 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
24079 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
24080 (vtable_pointer_value_to_vtable): Break out from ...; handle also
24081 POINTER_PLUS_EXPR.
24082 (vtable_pointer_value_to_binfo): ... here.
24083 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
24084
24085 2014-02-03 Teresa Johnson <tejohnson@google.com>
24086
24087 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
24088 redef of outer loop index variable.
24089
24090 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
24091
24092 PR c++/53017
24093 PR c++/59211
24094 * doc/extend.texi (Function Attributes): Typo.
24095
24096 2014-02-03 Cong Hou <congh@google.com>
24097
24098 PR tree-optimization/60000
24099 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
24100 if the vectorized statement is a store. A store statement can only
24101 appear at the end of pattern statements.
24102
24103 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
24104
24105 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
24106 (ix86_option_override_internal): Default long double to 64-bit for
24107 32-bit Bionic and to 128-bit for 64-bit Bionic.
24108
24109 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
24110 TARGET_LONG_DOUBLE_128 is true.
24111 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
24112
24113 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
24114 (mlong-double-64): Negate -mlong-double-128.
24115 (mlong-double-128): New option.
24116
24117 * config/i386/i386-c.c (ix86_target_macros): Define
24118 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
24119
24120 * doc/invoke.texi: Document -mlong-double-128.
24121
24122 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
24123
24124 PR rtl-optimization/60024
24125 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
24126
24127 2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
24128
24129 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
24130
24131 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
24132
24133 PR rtl-optimization/57662
24134 * sel-sched.c (code_motion_path_driver): Do not mark already not
24135 existing blocks in the visiting bitmap.
24136
24137 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
24138
24139 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
24140 on the insn being emitted.
24141
24142 2014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
24143 Will Deacon <will.deacon@arm.com>
24144
24145 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
24146
24147 2014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24148
24149 * config/arm/arm-tables.opt: Regenerate.
24150
24151 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24152
24153 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
24154 for vector types other than V16QImode.
24155 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
24156 define_expand, and call altivec_expand_vec_perm_le when producing
24157 code with little endian element order.
24158 (*altivec_vperm_<mode>_internal): New insn having previous
24159 behavior of altivec_vperm_<mode>.
24160 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
24161 altivec_expand_vec_perm_le when producing code with little endian
24162 element order.
24163 (*altivec_vperm_<mode>_uns_internal): New insn having previous
24164 behavior of altivec_vperm_<mode>_uns.
24165
24166 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24167
24168 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
24169 (altivec_vsumsws): Add handling for -maltivec=be with a little
24170 endian target.
24171 (altivec_vsumsws_direct): New.
24172 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
24173 gen_altivec_vsumsws.
24174
24175 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
24176
24177 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
24178 vtable_pointer_value_to_binfo): New functions.
24179 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
24180 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
24181
24182 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
24183
24184 * config/nios2/nios2.md (load_got_register): Initialize GOT
24185 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
24186 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
24187
24188 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
24189
24190 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
24191 preserverd by passthrough, do not propagate the type.
24192
24193 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
24194
24195 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
24196 (mips_atomic_assign_expand_fenv): New function.
24197 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
24198
24199 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
24200
24201 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
24202 (__builtin_mips_set_fcsr): Likewise.
24203 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
24204 MIPS_USI_FTYPE_VOID.
24205 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
24206 (mips16_expand_set_fcsr): Likewise.
24207 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
24208 (mips16_set_fcsr_stub): Likewise.
24209 (mips16_get_fcsr_one_only_stub): New class.
24210 (mips16_set_fcsr_one_only_stub): Likewise.
24211 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
24212 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
24213 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
24214 (hard_float): New availability predicate.
24215 (mips_builtins): Add get_fcsr and set_fcsr.
24216 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
24217 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
24218 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
24219 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
24220 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
24221 patterns.
24222
24223 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
24224
24225 * config/mips/mips.c (mips_one_only_stub): New class.
24226 (mips_need_mips16_rdhwr_p): Replace with...
24227 (mips16_rdhwr_stub): ...this new variable.
24228 (mips16_stub_call_address): New function.
24229 (mips16_rdhwr_one_only_stub): New class.
24230 (mips_expand_thread_pointer): Use mips16_stub_call_address.
24231 (mips_output_mips16_rdhwr): Delete.
24232 (mips_finish_stub): New function.
24233 (mips_code_end): Use it to handle rdhwr stubs.
24234
24235 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
24236
24237 PR target/60017
24238 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
24239 when calculating size of integer atomic types.
24240
24241 2014-02-02 H.J. Lu <hongjiu.lu@intel.com>
24242
24243 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
24244
24245 2014-02-01 Jakub Jelinek <jakub@redhat.com>
24246
24247 PR tree-optimization/60003
24248 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
24249 * profile.c (branch_prob): Use gimple_call_builtin_p
24250 to check for BUILT_IN_SETJMP_RECEIVER.
24251 * tree-inline.c (copy_bb): Call notice_special_calls.
24252
24253 2014-01-31 Vladimir Makarov <vmakarov@redhat.com>
24254
24255 PR bootstrap/59985
24256 * lra-constraints.c (process_alt_operands): Update reload_sum only
24257 on the first pass.
24258
24259 2014-01-31 Richard Henderson <rth@redhat.com>
24260
24261 PR middle-end/60004
24262 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
24263 until after else_eh is processed.
24264
24265 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
24266
24267 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
24268 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
24269 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
24270 in smmintrin.h, remove them.
24271 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
24272 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
24273 * config/i386/i386.md (ROUND_SAE): Fix value.
24274 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
24275 (const48_operand): New.
24276 * config/i386/subst.md (round), (round_expand): Use
24277 const_4_or_8_to_11_operand.
24278 (round_saeonly), (round_saeonly_expand): Use const48_operand.
24279
24280 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
24281
24282 * config/i386/constraints.md (Yk): Swap meaning with k.
24283 * config/i386/i386.md (movhi_internal): Change Yk to k.
24284 (movqi_internal): Ditto.
24285 (*k<logic><mode>): Ditto.
24286 (*andhi_1): Ditto.
24287 (*andqi_1): Ditto.
24288 (kandn<mode>): Ditto.
24289 (*<code>hi_1): Ditto.
24290 (*<code>qi_1): Ditto.
24291 (kxnor<mode>): Ditto.
24292 (kortestzhi): Ditto.
24293 (kortestchi): Ditto.
24294 (kunpckhi): Ditto.
24295 (*one_cmplhi2_1): Ditto.
24296 (*one_cmplqi2_1): Ditto.
24297 * config/i386/sse.md (): Change k to Yk.
24298 (avx512f_load<mode>_mask): Ditto.
24299 (avx512f_blendm<mode>): Ditto.
24300 (avx512f_store<mode>_mask): Ditto.
24301 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
24302 (avx512f_storedqu<mode>_mask): Ditto.
24303 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
24304 Ditto.
24305 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
24306 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
24307 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
24308 (avx512f_maskcmp<mode>3): Ditto.
24309 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
24310 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
24311 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
24312 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
24313 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
24314 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
24315 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
24316 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
24317 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
24318 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
24319 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
24320 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
24321 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
24322 (vec_extract_lo_<mode>_maskm): Ditto.
24323 (vec_extract_hi_<mode>_maskm): Ditto.
24324 (avx512f_vternlog<mode>_mask): Ditto.
24325 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
24326 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
24327 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
24328 (avx512f_<code>v8div16qi2_mask): Ditto.
24329 (avx512f_<code>v8div16qi2_mask_store): Ditto.
24330 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
24331 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
24332 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
24333 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
24334 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
24335 (*avx512pf_gatherpf<mode>df_mask): Ditto.
24336 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
24337 (*avx512pf_scatterpf<mode>df_mask): Ditto.
24338 (avx512cd_maskb_vec_dupv8di): Ditto.
24339 (avx512cd_maskw_vec_dupv16si): Ditto.
24340 (avx512f_vpermi2var<mode>3_maskz): Ditto.
24341 (avx512f_vpermi2var<mode>3_mask): Ditto.
24342 (avx512f_vpermi2var<mode>3_mask): Ditto.
24343 (avx512f_vpermt2var<mode>3_maskz): Ditto.
24344 (*avx512f_gathersi<mode>): Ditto.
24345 (*avx512f_gathersi<mode>_2): Ditto.
24346 (*avx512f_gatherdi<mode>): Ditto.
24347 (*avx512f_gatherdi<mode>_2): Ditto.
24348 (*avx512f_scattersi<mode>): Ditto.
24349 (*avx512f_scatterdi<mode>): Ditto.
24350 (avx512f_compress<mode>_mask): Ditto.
24351 (avx512f_compressstore<mode>_mask): Ditto.
24352 (avx512f_expand<mode>_mask): Ditto.
24353 * config/i386/subst.md (mask): Change k to Yk.
24354 (mask_scalar_merge): Ditto.
24355 (sd): Ditto.
24356
24357 2014-01-31 Marc Glisse <marc.glisse@inria.fr>
24358
24359 * doc/extend.texi (Vector Extensions): Document ?: in C++.
24360
24361 2014-01-31 Richard Biener <rguenther@suse.de>
24362
24363 PR middle-end/59990
24364 * builtins.c (fold_builtin_memory_op): Make sure to not
24365 use a floating-point mode or a boolean or enumeral type for
24366 the copy operation.
24367
24368 2014-01-30 DJ Delorie <dj@redhat.com>
24369
24370 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
24371 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
24372 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
24373 whenever main() has an epilogue.
24374
24375 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24376
24377 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
24378 unused variable "field".
24379 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
24380 (vsx_mergeh_<mode>): Likewise.
24381 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
24382 (altivec_vmrghh): Likewise.
24383 (altivec_vmrghw): Likewise.
24384 (altivec_vmrglb): Likewise.
24385 (altivec_vmrglh): Likewise.
24386 (altivec_vmrglw): Likewise.
24387 (altivec_vspltb): Add missing uses.
24388 (altivec_vsplth): Likewise.
24389 (altivec_vspltw): Likewise.
24390 (altivec_vspltsf): Likewise.
24391
24392 2014-01-30 Jakub Jelinek <jakub@redhat.com>
24393
24394 PR target/59923
24395 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
24396 frame related instructions.
24397
24398 2014-01-30 Vladimir Makarov <vmakarov@redhat.com>
24399
24400 PR rtl-optimization/59959
24401 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
24402 any reload of register whose subreg is invalid.
24403
24404 2014-01-30 Jakub Jelinek <jakub@redhat.com>
24405
24406 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
24407 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
24408 Add missing return type - void.
24409
24410 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24411
24412 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
24413 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
24414 remove element index adjustment for endian (now handled in vsx.md
24415 and altivec.md).
24416 (altivec_expand_vec_perm_const): Use
24417 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
24418 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
24419 (vsx_xxspltw_<mode>): Adjust element index for little endian.
24420 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
24421 define_expand and a new define_insn *altivec_vspltb_internal;
24422 adjust for -maltivec=be on a little endian target.
24423 (altivec_vspltb_direct): New.
24424 (altivec_vsplth): Divide into a define_expand and a new
24425 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
24426 little endian target.
24427 (altivec_vsplth_direct): New.
24428 (altivec_vspltw): Divide into a define_expand and a new
24429 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
24430 little endian target.
24431 (altivec_vspltw_direct): New.
24432 (altivec_vspltsf): Divide into a define_expand and a new
24433 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
24434 a little endian target.
24435
24436 2014-01-30 Richard Biener <rguenther@suse.de>
24437
24438 PR tree-optimization/59993
24439 * tree-ssa-forwprop.c (associate_pointerplus): Check we
24440 can propagate form the earlier stmt and avoid the transform
24441 when the intermediate result is needed.
24442
24443 2014-01-30 Alangi Derick <alangiderick@gmail.com>
24444
24445 * README.Portability: Fix typo.
24446
24447 2014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
24448
24449 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
24450 comparison_operator with ordered_comparison_operator.
24451
24452 2014-01-30 Nick Clifton <nickc@redhat.com>
24453
24454 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
24455 Rename to mn10300_store_multiple_regs.
24456 * config/mn10300/mn10300.c: Likewise.
24457 * config/mn10300/mn10300.md (store_movm): Fix typo: call
24458 store_multiple_regs.
24459 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
24460 Call mn10300_store_multiple_regs.
24461
24462 2014-01-30 Nick Clifton <nickc@redhat.com>
24463 DJ Delorie <dj@redhat.com>
24464
24465 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
24466 %fp 2 to keep registers after it properly word-aligned.
24467 (rl78_alloc_physical_registers_umul): Handle the case where both
24468 input operands are the same.
24469
24470 2014-01-30 Richard Biener <rguenther@suse.de>
24471
24472 PR tree-optimization/59903
24473 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
24474 check properly.
24475
24476 2014-01-30 Jason Merrill <jason@redhat.com>
24477
24478 PR c++/59633
24479 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
24480
24481 PR c++/59645
24482 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
24483
24484 2014-01-30 Richard Biener <rguenther@suse.de>
24485
24486 PR tree-optimization/59951
24487 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
24488
24489 2014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
24490
24491 PR target/59784
24492 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
24493 SFmode to DFmode case.
24494
24495 2014-01-29 DJ Delorie <dj@redhat.com>
24496
24497 * config/msp430/msp430.opt (-minrt): New.
24498 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
24499 if -minrt given.
24500 (ENDFILE_SPEC): Likewise.
24501
24502 2014-01-29 Jan Hubicka <hubicka@ucw.cz>
24503
24504 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
24505 (estimate_function_body_sizes): Use it.
24506
24507 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
24508
24509 PR c++/58561
24510 * dwarf2out.c (is_cxx_auto): New.
24511 (is_base_type): Use it.
24512 (gen_type_die_with_usage): Likewise.
24513
24514 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24515
24516 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
24517 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
24518 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
24519 -maltivec=be with LE targets.
24520 (vsx_mergeh_<mode>): Likewise.
24521 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
24522 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
24523 (altivec_vmrghb): Replace with define_expand and new
24524 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
24525 (altivec_vmrghb_direct): New define_insn.
24526 (altivec_vmrghh): Replace with define_expand and new
24527 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
24528 (altivec_vmrghh_direct): New define_insn.
24529 (altivec_vmrghw): Replace with define_expand and new
24530 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
24531 (altivec_vmrghw_direct): New define_insn.
24532 (*altivec_vmrghsf): Adjust for endianness.
24533 (altivec_vmrglb): Replace with define_expand and new
24534 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
24535 (altivec_vmrglb_direct): New define_insn.
24536 (altivec_vmrglh): Replace with define_expand and new
24537 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
24538 (altivec_vmrglh_direct): New define_insn.
24539 (altivec_vmrglw): Replace with define_expand and new
24540 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
24541 (altivec_vmrglw_direct): New define_insn.
24542 (*altivec_vmrglsf): Adjust for endianness.
24543 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
24544 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
24545 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
24546 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
24547 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
24548 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
24549 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
24550 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
24551
24552 2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
24553
24554 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
24555 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
24556 whitespace.
24557
24558 2014-01-29 Richard Biener <rguenther@suse.de>
24559
24560 PR tree-optimization/58742
24561 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
24562 associate_pointerplus_align.
24563 (associate_pointerplus_diff): New function.
24564 (associate_pointerplus): Likewise. Call associate_pointerplus_align
24565 and associate_pointerplus_diff.
24566
24567 2014-01-29 Richard Biener <rguenther@suse.de>
24568
24569 * lto-streamer.h (LTO_major_version): Bump to 3.
24570 (LTO_minor_version): Reset to 0.
24571
24572 2014-01-29 Renlin Li <Renlin.Li@arm.com>
24573
24574 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
24575 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
24576 (arm_file_start): Generate correct asm header for armv7ve.
24577 * config/arm/bpabi.h: Add multilib support for armv7ve.
24578 * config/arm/driver-arm.c: Change the architectures of cortex-a7
24579 and cortex-a15 to armv7ve.
24580 * config/arm/t-aprofile: Add multilib support for armv7ve.
24581 * doc/invoke.texi: Document -march=armv7ve.
24582
24583 2014-01-29 Richard Biener <rguenther@suse.de>
24584
24585 PR tree-optimization/58742
24586 * tree-ssa-forwprop.c (associate_plusminus): Return true
24587 if we changed sth, defer EH cleanup to ...
24588 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
24589 (simplify_mult): New function.
24590
24591 2014-01-29 Jakub Jelinek <jakub@redhat.com>
24592
24593 PR middle-end/59917
24594 PR tree-optimization/59920
24595 * tree.c (build_common_builtin_nodes): Remove
24596 __builtin_setjmp_dispatcher initialization.
24597 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
24598 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
24599 instead of gsi_after_labels + manually skipping debug stmts.
24600 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
24601 ignore bbs with IFN_ABNORMAL_DISPATCHER.
24602 * tree-inline.c (copy_edges_for_bb): Remove
24603 can_make_abnormal_goto argument, instead add abnormal_goto_dest
24604 argument. Ignore computed_goto_p stmts. Don't call
24605 make_abnormal_goto_edges. If a call might need abnormal edges
24606 for non-local gotos, see if it already has an edge to
24607 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
24608 with true argument, don't do anything then, otherwise add
24609 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
24610 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
24611 caller.
24612 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
24613 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
24614 (lower_stmt): Don't set data->calls_builtin_setjmp.
24615 (lower_builtin_setjmp): Adjust comment.
24616 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
24617 * tree-cfg.c (found_computed_goto): Remove.
24618 (factor_computed_gotos): Remove.
24619 (make_goto_expr_edges): Return bool, true for computed gotos.
24620 Don't call make_abnormal_goto_edges.
24621 (build_gimple_cfg): Don't set found_computed_goto, don't call
24622 factor_computed_gotos.
24623 (computed_goto_p): No longer static.
24624 (make_blocks): Don't set found_computed_goto.
24625 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
24626 (make_edges): If make_goto_expr_edges returns true, push bb
24627 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
24628 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
24629 vector. Record mapping between bbs and OpenMP regions if there
24630 are any, adjust make_gimple_omp_edges caller. Call
24631 handle_abnormal_edges.
24632 (make_abnormal_goto_edges): Remove.
24633 * tree-cfg.h (make_abnormal_goto_edges): Remove.
24634 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
24635 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
24636 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
24637 * internal-fn.def (ABNORMAL_DISPATCHER): New.
24638 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
24639 filling *region also set *region_idx to (*region)->entry->index.
24640
24641 PR other/58712
24642 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
24643 For REGs set ORIGINAL_REGNO.
24644
24645 2014-01-29 Bingfeng Mei <bmei@broadcom.com>
24646
24647 * doc/md.texi: Mention that a target shouldn't implement
24648 vec_widen_(s|u)mul_even/odd pair if it is less efficient
24649 than hi/lo pair.
24650
24651 2014-01-29 Jakub Jelinek <jakub@redhat.com>
24652
24653 PR tree-optimization/59594
24654 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
24655 a copy of the datarefs vector rather than the vector itself.
24656
24657 2014-01-28 Jason Merrill <jason@redhat.com>
24658
24659 PR c++/53756
24660 * dwarf2out.c (auto_die): New static.
24661 (gen_type_die_with_usage): Handle C++1y 'auto'.
24662 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
24663 on definition.
24664
24665 2014-01-28 H.J. Lu <hongjiu.lu@intel.com>
24666
24667 PR target/59672
24668 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
24669 (SPEC_X32): Likewise.
24670 (SPEC_64): Likewise.
24671 * config/i386/i386.c (ix86_option_override_internal): Turn off
24672 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
24673 for TARGET_16BIT.
24674 (x86_file_start): Output .code16gcc for TARGET_16BIT.
24675 * config/i386/i386.h (TARGET_16BIT): New macro.
24676 (TARGET_16BIT_P): Likewise.
24677 * config/i386/i386.opt: Add m16.
24678 * doc/invoke.texi: Document -m16.
24679
24680 2014-01-28 Jakub Jelinek <jakub@redhat.com>
24681
24682 PR preprocessor/59935
24683 * input.c (location_get_source_line): Bail out on when line number
24684 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
24685
24686 2014-01-28 Richard Biener <rguenther@suse.de>
24687
24688 PR tree-optimization/58742
24689 * tree-ssa-forwprop.c (associate_plusminus): Handle
24690 pointer subtraction of the form (T)(P + A) - (T)P.
24691
24692 2014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24693
24694 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
24695 at const_int_cost.
24696
24697 2014-01-28 Richard Biener <rguenther@suse.de>
24698
24699 Revert
24700 2014-01-28 Richard Biener <rguenther@suse.de>
24701
24702 PR rtl-optimization/45364
24703 PR rtl-optimization/59890
24704 * var-tracking.c (local_get_addr_clear_given_value): Handle
24705 already cleared slot.
24706 (val_reset): Handle not allocated local_get_addr_cache.
24707 (vt_find_locations): Use post-order on the inverted CFG.
24708
24709 2014-01-28 Richard Biener <rguenther@suse.de>
24710
24711 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
24712
24713 2014-01-28 Richard Biener <rguenther@suse.de>
24714
24715 PR rtl-optimization/45364
24716 PR rtl-optimization/59890
24717 * var-tracking.c (local_get_addr_clear_given_value): Handle
24718 already cleared slot.
24719 (val_reset): Handle not allocated local_get_addr_cache.
24720 (vt_find_locations): Use post-order on the inverted CFG.
24721
24722 2014-01-28 Alan Modra <amodra@gmail.com>
24723
24724 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
24725 * configure.ac <recursive call for build != host>: Define
24726 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
24727 and LD_FOR_BUILD too.
24728 * configure: Regenerate.
24729
24730 2014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
24731
24732 * config/i386/i386.c (get_builtin_code_for_version): Separate
24733 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
24734 Broadwell from Haswell.
24735
24736 2014-01-27 Steve Ellcey <sellcey@mips.com>
24737
24738 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
24739 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
24740 * config/mips/mips.c (mips_option_override): Change setting
24741 of TARGET_DSP.
24742 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
24743 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
24744 Change from Mask to Var.
24745
24746 2014-01-27 Jeff Law <law@redhat.com>
24747
24748 * ipa-inline.c (inline_small_functions): Fix typo.
24749
24750 2014-01-27 Ilya Tocar <ilya.tocar@intel.com>
24751
24752 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
24753 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
24754 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
24755 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
24756 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
24757 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
24758 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
24759 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
24760 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
24761 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
24762 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
24763 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
24764 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
24765 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
24766 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
24767 (_mm512_storeu_epi64): Ditto.
24768 (_mm512_cmpge_epi32_mask): Ditto.
24769 (_mm512_cmpge_epu32_mask): Ditto.
24770 (_mm512_cmpge_epi64_mask): Ditto.
24771 (_mm512_cmpge_epu64_mask): Ditto.
24772 (_mm512_cmple_epi32_mask): Ditto.
24773 (_mm512_cmple_epu32_mask): Ditto.
24774 (_mm512_cmple_epi64_mask): Ditto.
24775 (_mm512_cmple_epu64_mask): Ditto.
24776 (_mm512_cmplt_epi32_mask): Ditto.
24777 (_mm512_cmplt_epu32_mask): Ditto.
24778 (_mm512_cmplt_epi64_mask): Ditto.
24779 (_mm512_cmplt_epu64_mask): Ditto.
24780 (_mm512_cmpneq_epi32_mask): Ditto.
24781 (_mm512_cmpneq_epu32_mask): Ditto.
24782 (_mm512_cmpneq_epi64_mask): Ditto.
24783 (_mm512_cmpneq_epu64_mask): Ditto.
24784 (_mm512_expand_pd): Ditto.
24785 (_mm512_expand_ps): Ditto.
24786 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
24787 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
24788 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
24789 * config/i386/i386.c (ix86_builtins): Add
24790 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
24791 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
24792 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
24793 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
24794 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
24795 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
24796 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
24797 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
24798 IX86_BUILTIN_PMOVUSQW512_MEM.
24799 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
24800 __builtin_ia32_pmovsqd512mem_mask,
24801 __builtin_ia32_pmovqd512mem_mask,
24802 __builtin_ia32_pmovusqw512mem_mask,
24803 __builtin_ia32_pmovsqw512mem_mask,
24804 __builtin_ia32_pmovqw512mem_mask,
24805 __builtin_ia32_pmovusdw512mem_mask,
24806 __builtin_ia32_pmovsdw512mem_mask,
24807 __builtin_ia32_pmovdw512mem_mask,
24808 __builtin_ia32_pmovqb512mem_mask,
24809 __builtin_ia32_pmovusqb512mem_mask,
24810 __builtin_ia32_pmovsqb512mem_mask,
24811 __builtin_ia32_pmovusdb512mem_mask,
24812 __builtin_ia32_pmovsdb512mem_mask,
24813 __builtin_ia32_pmovdb512mem_mask.
24814 (bdesc_args): Add __builtin_ia32_expanddf512,
24815 __builtin_ia32_expandsf512.
24816 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
24817 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
24818 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
24819 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
24820 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
24821 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
24822 (avx512f_<code>v8div16qi2_mask_store): This.
24823 (avx512f_expand<mode>): New.
24824
24825 2014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
24826
24827 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
24828 New.
24829 (_mm512_mask_prefetch_i64gather_pd): Ditto.
24830 (_mm512_prefetch_i32scatter_pd): Ditto.
24831 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
24832 (_mm512_prefetch_i64scatter_pd): Ditto.
24833 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
24834 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
24835 (_mm512_mask_prefetch_i64gather_ps): Ditto.
24836 (_mm512_prefetch_i32scatter_ps): Ditto.
24837 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
24838 (_mm512_prefetch_i64scatter_ps): Ditto.
24839 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
24840 * config/i386/i386-builtin-types.def: Define
24841 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
24842 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
24843 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
24844 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
24845 IX86_BUILTIN_SCATTERPFQPD.
24846 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
24847 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
24848 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
24849 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
24850 __builtin_ia32_scatterpfqps.
24851 (ix86_expand_builtin): Expand new built-ins.
24852 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
24853 fix memory access data type.
24854 (*avx512pf_gatherpf<mode>_mask): Ditto.
24855 (*avx512pf_gatherpf<mode>): Ditto.
24856 (avx512pf_scatterpf<mode>): Ditto.
24857 (*avx512pf_scatterpf<mode>_mask): Ditto.
24858 (*avx512pf_scatterpf<mode>): Ditto.
24859 (GATHER_SCATTER_SF_MEM_MODE): New.
24860 (avx512pf_gatherpf<mode>df): Ditto.
24861 (*avx512pf_gatherpf<mode>df_mask): Ditto.
24862 (*avx512pf_scatterpf<mode>df): Ditto.
24863
24864 2014-01-27 Jakub Jelinek <jakub@redhat.com>
24865
24866 PR bootstrap/59934
24867 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
24868 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
24869 reached.
24870
24871 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
24872
24873 * common/config/arm/arm-common.c
24874 (arm_rewrite_mcpu): Handle multiple names.
24875 * config/arm/arm.h
24876 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
24877
24878 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
24879
24880 * gimple-builder.h (create_gimple_tmp): Delete.
24881
24882 2014-01-27 Christian Bruel <christian.bruel@st.com>
24883
24884 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
24885 words comparisons.
24886
24887 2014-01-26 John David Anglin <danglin@gcc.gnu.org>
24888
24889 * config/pa/pa.md (call): Generate indirect long calls to non-local
24890 functions when outputing 32-bit code.
24891 (call_value): Likewise except for special call to buggy powf function.
24892
24893 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
24894 portable runtime and PIC indirect calls.
24895 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
24896 and PIC call sequences. Use ldo instead of blr to set return register
24897 in PIC call sequence.
24898
24899 2014-01-25 Walter Lee <walt@tilera.com>
24900
24901 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
24902 avoid clobbering a live register.
24903
24904 2014-01-25 Walter Lee <walt@tilera.com>
24905
24906 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
24907 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
24908 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
24909 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
24910
24911 2014-01-25 Walter Lee <walt@tilera.com>
24912
24913 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
24914 arguments on even registers.
24915 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
24916 STACK_BOUNDARY.
24917 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
24918 (BIGGEST_ALIGNMENT): Ditto.
24919 (BIGGEST_FIELD_ALIGNMENT): Ditto.
24920
24921 2014-01-25 Walter Lee <walt@tilera.com>
24922
24923 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
24924 insns before bundling.
24925 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
24926
24927 2014-01-25 Walter Lee <walt@tilera.com>
24928
24929 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
24930 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
24931 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
24932
24933 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
24934
24935 * config/mips/constraints.md (kl): Delete.
24936 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
24937 define expands, using...
24938 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
24939 instructions for MIPS16.
24940 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
24941 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
24942
24943 2014-01-25 Walter Lee <walt@tilera.com>
24944
24945 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
24946 (clzdi2): Ditto.
24947 (ffsdi2): Ditto.
24948
24949 2014-01-25 Walter Lee <walt@tilera.com>
24950
24951 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
24952 (TARGET_EXPAND_TO_RTL_HOOK): Define.
24953
24954 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
24955
24956 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
24957 Handle XOR.
24958
24959 2014-01-25 Jakub Jelinek <jakub@redhat.com>
24960
24961 * print-rtl.c (in_call_function_usage): New var.
24962 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
24963 EXPR_LIST mode as mode and not as reg note name.
24964
24965 PR middle-end/59561
24966 * cfgloopmanip.c (copy_loop_info): If
24967 loop->warned_aggressive_loop_optimizations, make sure
24968 the flag is set in target loop too.
24969
24970 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
24971
24972 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
24973 flag_cilkplus.
24974 * builtins.def: Likewise.
24975 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
24976 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
24977 * ira.c (ira_setup_eliminable_regset): Likewise.
24978 * omp-low.c (gate_expand_omp): Likewise.
24979 (execute_lower_omp): Likewise.
24980 (diagnose_sb_0): Likewise.
24981 (gate_diagnose_omp_blocks): Likewise.
24982 (simd_clone_clauses_extract): Likewise.
24983 (gate): Likewise.
24984
24985 2014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24986
24987 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
24988 correction for little endian...
24989 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
24990 here.
24991
24992 2014-01-24 Jeff Law <law@redhat.com>
24993
24994 PR tree-optimization/59919
24995 * tree-vrp.c (find_assert_locations_1): Do not register asserts
24996 for non-returning calls.
24997
24998 2014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
24999
25000 * common/config/aarch64/aarch64-common.c
25001 (aarch64_rewrite_mcpu): Handle multiple names.
25002 * config/aarch64/aarch64.h
25003 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
25004
25005 2014-01-24 Dodji Seketeli <dodji@redhat.com>
25006
25007 * input.c (add_file_to_cache_tab): Handle the case where fopen
25008 returns NULL.
25009
25010 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
25011
25012 PR target/59929
25013 * config/i386/i386.md (pushsf splitter): Get stack adjustment
25014 from push operand if code of push isn't PRE_DEC.
25015
25016 2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
25017
25018 PR target/59909
25019 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
25020 -mquad-memory-atomic. Update -mquad-memory documentation to say
25021 it is only used for non-atomic loads/stores.
25022
25023 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
25024 -mquad-memory or -mquad-memory-atomic switches.
25025
25026 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
25027 -mquad-memory-atomic to ISA 2.07 support.
25028
25029 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
25030 to separate support of normal quad word memory operations (ldq, stq)
25031 from the atomic quad word memory operations.
25032
25033 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
25034 support to separate non-atomic quad word operations from atomic
25035 quad word operations. Disable non-atomic quad word operations in
25036 little endian mode so that we don't have to swap words after the
25037 load and before the store.
25038 (quad_load_store_p): Add comment about atomic quad word support.
25039 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
25040 options printed with -mdebug=reg.
25041
25042 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
25043 -mquad-memory-atomic as the test for whether we have quad word
25044 atomic instructions.
25045 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
25046 or -mp8-vector are used, allow byte/half-word atomic operations.
25047
25048 * config/rs6000/sync.md (load_lockedti): Insure that the address
25049 is a proper indexed or indirect address for the lqarx instruction.
25050 On little endian systems, swap the hi/lo registers after the lqarx
25051 instruction.
25052 (load_lockedpti): Use indexed_or_indirect_operand predicate to
25053 insure the address is valid for the lqarx instruction.
25054 (store_conditionalti): Insure that the address is a proper indexed
25055 or indirect address for the stqcrx. instruction. On little endian
25056 systems, swap the hi/lo registers before doing the stqcrx.
25057 instruction.
25058 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
25059 insure the address is valid for the stqcrx. instruction.
25060
25061 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
25062 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
25063 type of quad memory support is available.
25064
25065 2014-01-23 Vladimir Makarov <vmakarov@redhat.com>
25066
25067 PR regression/59915
25068 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
25069 there is a danger of looping.
25070
25071 2014-01-23 Pat Haugen <pthaugen@us.ibm.com>
25072
25073 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
25074 force flag_ira_loop_pressure if set via command line.
25075
25076 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
25077
25078 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
25079 (ashr_simd): New builtin handling DI mode.
25080 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
25081 (aarch64_sshr_simddi): New match pattern.
25082 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
25083 (vshrd_n_s64): Likewise.
25084 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
25085
25086 2014-01-23 Nick Clifton <nickc@redhat.com>
25087
25088 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
25089 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
25090 favour of mcu specific scripts.
25091 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
25092 430x multilibs.
25093
25094 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
25095 Alex Velenko <Alex.Velenko@arm.com>
25096
25097 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
25098 (vaddv_s16): Likewise.
25099 (vaddv_s32): Likewise.
25100 (vaddv_u8): Likewise.
25101 (vaddv_u16): Likewise.
25102 (vaddv_u32): Likewise.
25103 (vaddvq_s8): Likewise.
25104 (vaddvq_s16): Likewise.
25105 (vaddvq_s32): Likewise.
25106 (vaddvq_s64): Likewise.
25107 (vaddvq_u8): Likewise.
25108 (vaddvq_u16): Likewise.
25109 (vaddvq_u32): Likewise.
25110 (vaddvq_u64): Likewise.
25111 (vaddv_f32): Likewise.
25112 (vaddvq_f32): Likewise.
25113 (vaddvq_f64): Likewise.
25114 (vmaxv_f32): Likewise.
25115 (vmaxv_s8): Likewise.
25116 (vmaxv_s16): Likewise.
25117 (vmaxv_s32): Likewise.
25118 (vmaxv_u8): Likewise.
25119 (vmaxv_u16): Likewise.
25120 (vmaxv_u32): Likewise.
25121 (vmaxvq_f32): Likewise.
25122 (vmaxvq_f64): Likewise.
25123 (vmaxvq_s8): Likewise.
25124 (vmaxvq_s16): Likewise.
25125 (vmaxvq_s32): Likewise.
25126 (vmaxvq_u8): Likewise.
25127 (vmaxvq_u16): Likewise.
25128 (vmaxvq_u32): Likewise.
25129 (vmaxnmv_f32): Likewise.
25130 (vmaxnmvq_f32): Likewise.
25131 (vmaxnmvq_f64): Likewise.
25132 (vminv_f32): Likewise.
25133 (vminv_s8): Likewise.
25134 (vminv_s16): Likewise.
25135 (vminv_s32): Likewise.
25136 (vminv_u8): Likewise.
25137 (vminv_u16): Likewise.
25138 (vminv_u32): Likewise.
25139 (vminvq_f32): Likewise.
25140 (vminvq_f64): Likewise.
25141 (vminvq_s8): Likewise.
25142 (vminvq_s16): Likewise.
25143 (vminvq_s32): Likewise.
25144 (vminvq_u8): Likewise.
25145 (vminvq_u16): Likewise.
25146 (vminvq_u32): Likewise.
25147 (vminnmv_f32): Likewise.
25148 (vminnmvq_f32): Likewise.
25149 (vminnmvq_f64): Likewise.
25150
25151 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
25152
25153 * config/aarch64/aarch64-simd.md
25154 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
25155 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
25156 (*aarch64_mul3_elt<mode>): Likewise.
25157 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
25158 (*aarch64_mul3_elt_to_64v2df): Likewise.
25159 (*aarch64_mla_elt<mode>): Likewise.
25160 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
25161 (*aarch64_mls_elt<mode>): Likewise.
25162 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
25163 (*aarch64_fma4_elt<mode>): Likewise.
25164 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
25165 (*aarch64_fma4_elt_to_64v2df): Likewise.
25166 (*aarch64_fnma4_elt<mode>): Likewise.
25167 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
25168 (*aarch64_fnma4_elt_to_64v2df): Likewise.
25169 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
25170 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
25171 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
25172 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
25173 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
25174 (aarch64_sqdmull_lane<mode>_internal): Likewise.
25175 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
25176
25177 2013-01-23 Alex Velenko <Alex.Velenko@arm.com>
25178
25179 * config/aarch64/aarch64-simd.md
25180 (aarch64_be_checked_get_lane<mode>): New define_expand.
25181 * config/aarch64/aarch64-simd-builtins.def
25182 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
25183 New builtin definition.
25184 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
25185 Use new safe be builtin.
25186
25187 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
25188
25189 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
25190 New define_insn.
25191 (aarch64_be_st1<mode>): Likewise.
25192 (aarch_ld1<VALL:mode>): Define_expand modified.
25193 (aarch_st1<VALL:mode>): Likewise.
25194 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
25195 (UNSPEC_ST1): Likewise.
25196
25197 2014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
25198
25199 * config/microblaze/microblaze.md: Add trap insn and attribute
25200
25201 2014-01-23 Dodji Seketeli <dodji@redhat.com>
25202
25203 PR preprocessor/58580
25204 * input.h (location_get_source_line): Take an additional line_size
25205 parameter.
25206 (void diagnostics_file_cache_fini): Declare new function.
25207 * input.c (struct fcache): New type.
25208 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
25209 New static constants.
25210 (diagnostic_file_cache_init, total_lines_num)
25211 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
25212 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
25213 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
25214 (get_next_line, read_next_line, goto_next_line, read_line_num):
25215 New static function definitions.
25216 (diagnostic_file_cache_fini): New function.
25217 (location_get_source_line): Take an additional output line_len
25218 parameter. Re-write using lookup_or_add_file_to_cache_tab and
25219 read_line_num.
25220 * diagnostic.c (diagnostic_finish): Call
25221 diagnostic_file_cache_fini.
25222 (adjust_line): Take an additional input parameter for the length
25223 of the line, rather than calculating it with strlen.
25224 (diagnostic_show_locus): Adjust the use of
25225 location_get_source_line and adjust_line with respect to their new
25226 signature. While displaying a line now, do not stop at the first
25227 null byte. Rather, display the zero byte as a space and keep
25228 going until we reach the size of the line.
25229 * Makefile.in: Add vec.o to OBJS-libcommon
25230
25231 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
25232 Ilya Tocar <ilya.tocar@intel.com>
25233
25234 * config/i386/avx512fintrin.h (_mm512_kmov): New.
25235 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
25236 (__builtin_ia32_kmov16): Ditto.
25237 * config/i386/i386.md (UNSPEC_KMOV): New.
25238 (kmovw): Ditto.
25239
25240 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
25241
25242 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
25243 (_mm512_storeu_si512): Ditto.
25244
25245 2014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
25246
25247 PR target/52125
25248 * rtl.h (get_referenced_operands): Declare.
25249 * recog.c (get_referenced_operands): New function.
25250 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
25251 operands have been referenced when recording LO_SUM references.
25252
25253 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
25254
25255 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
25256
25257 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
25258
25259 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
25260 Enable for generic and recent AMD targets.
25261
25262 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
25263
25264 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
25265 ARG_SIZE note when adjustment was eliminated.
25266
25267 2014-01-22 Jeff Law <law@redhat.com>
25268
25269 PR tree-optimization/59597
25270 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
25271 in file. Accept new argument REGISTERING and use it to modify
25272 dump output appropriately.
25273 (register_jump_thread): Corresponding changes.
25274 (mark_threaded_blocks): Reinstate code to cancel unprofitable
25275 thread paths involving joiner blocks. Add code to dump cancelled
25276 jump threading paths.
25277
25278 2014-01-22 Vladimir Makarov <vmakarov@redhat.com>
25279
25280 PR rtl-optimization/59477
25281 * lra-constraints.c (inherit_in_ebb): Process call for living hard
25282 regs. Update reloads_num and potential_reload_hard_regs for all insns.
25283
25284 2014-01-22 Tom Tromey <tromey@redhat.com>
25285
25286 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
25287 PARAMS.
25288 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
25289
25290 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
25291
25292 PR rtl-optimization/59896
25293 * lra-constraints.c (process_alt_operands): Check unused note for
25294 matched operands of insn with no output reloads.
25295
25296 2014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
25297
25298 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
25299 (mips_move_from_gpr_cost): Likewise.
25300
25301 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
25302
25303 PR rtl-optimization/59858
25304 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
25305 ira_class_hard_regs_num.
25306 (process_alt_operands): Increase reject for dying matched operand.
25307
25308 2014-01-21 Jakub Jelinek <jakub@redhat.com>
25309
25310 PR target/59003
25311 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
25312 smaller than size, perform several stores or loads and stores
25313 at dst + count - size to store or copy all of size bytes, rather
25314 than just last modesize bytes.
25315
25316 2014-01-20 DJ Delorie <dj@redhat.com>
25317
25318 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
25319 that CLOBBERs are REGs before propogating their values.
25320
25321 2014-01-20 H.J. Lu <hongjiu.lu@intel.com>
25322
25323 PR middle-end/59789
25324 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
25325 (cgraph_inline_failed_type): New function.
25326 * cgraph.h (DEFCIFCODE): Add type.
25327 (cgraph_inline_failed_type_t): New enum.
25328 (cgraph_inline_failed_type): New prototype.
25329 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
25330 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
25331 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
25332 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
25333 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
25334 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
25335 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
25336 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
25337 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
25338 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
25339 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
25340 OPTIMIZATION_MISMATCH.
25341 * tree-inline.c (expand_call_inline): Emit errors during
25342 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
25343
25344 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
25345
25346 PR target/59685
25347 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
25348 mode attribute in insn output.
25349
25350 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
25351
25352 * output.h (output_constant): Delete.
25353 * varasm.c (output_constant): Make private.
25354
25355 2014-01-20 Alex Velenko <Alex.Velenko@arm.com>
25356
25357 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
25358
25359 2014-01-20 Jakub Jelinek <jakub@redhat.com>
25360
25361 PR middle-end/59860
25362 * tree.h (fold_builtin_strcat): New prototype.
25363 * builtins.c (fold_builtin_strcat): No longer static. Add len
25364 argument, if non-NULL, don't call c_strlen. Optimize
25365 directly into __builtin_memcpy instead of __builtin_strcpy.
25366 (fold_builtin_2): Adjust fold_builtin_strcat caller.
25367 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
25368
25369 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
25370
25371 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
25372 for SImode_address_operand operands, having only a REG argument.
25373
25374 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
25375
25376 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
25377 loader name using mbig-endian.
25378 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
25379
25380 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
25381
25382 * doc/invoke.texi (-march): Clarify documentation for AArch64.
25383 (-mtune): Likewise.
25384 (-mcpu): Likewise.
25385
25386 2014-01-20 Tejas Belagod <tejas.belagod@arm.com>
25387
25388 * config/aarch64/aarch64-protos.h
25389 (aarch64_cannot_change_mode_class_ptr): Declare.
25390 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
25391 aarch64_cannot_change_mode_class_ptr): New.
25392 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
25393 backend hook aarch64_cannot_change_mode_class.
25394
25395 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
25396
25397 * common/config/aarch64/aarch64-common.c
25398 (aarch64_handle_option): Don't handle any option order logic here.
25399 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
25400 selected_cpu, warn on architecture version mismatch.
25401 (aarch64_override_options): Fix parsing order for option strings.
25402
25403 2014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
25404 Iain Sandoe <iain@codesourcery.com>
25405
25406 PR bootstrap/59496
25407 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
25408 warning. Amend comment to reflect current functionality.
25409
25410 2014-01-20 Richard Biener <rguenther@suse.de>
25411
25412 PR middle-end/59860
25413 * builtins.c (fold_builtin_strcat): Remove case better handled
25414 by tree-ssa-strlen.c.
25415
25416 2014-01-20 Alan Lawrence <alan.lawrence@arm.com>
25417
25418 * config/aarch64/aarch64.opt
25419 (mcpu, march, mtune): Make case-insensitive.
25420
25421 2014-01-20 Jakub Jelinek <jakub@redhat.com>
25422
25423 PR target/59880
25424 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
25425 if operands[1] is a REG or ZERO_EXTEND of a REG.
25426
25427 2014-01-19 Jan Hubicka <hubicka@ucw.cz>
25428
25429 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
25430
25431 2014-01-19 John David Anglin <danglin@gcc.gnu.org>
25432
25433 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
25434 long non-pic millicode calls.
25435
25436 2014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
25437
25438 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
25439
25440 2014-01-19 Kito Cheng <kito@0xlab.org>
25441
25442 * builtins.c (expand_movstr): Check movstr expand done or fail.
25443
25444 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
25445 H.J. Lu <hongjiu.lu@intel.com>
25446
25447 PR target/59379
25448 * config/i386/i386.md (*lea<mode>): Zero-extend return register
25449 to DImode for zero-extended addresses.
25450
25451 2014-01-19 Jakub Jelinek <jakub@redhat.com>
25452
25453 PR rtl-optimization/57763
25454 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
25455 on the new indirect jump_insn and increment LABEL_NUSES (label).
25456
25457 2014-01-18 H.J. Lu <hongjiu.lu@intel.com>
25458
25459 PR bootstrap/59580
25460 PR bootstrap/59583
25461 * config.gcc (x86_archs): New variable.
25462 (x86_64_archs): Likewise.
25463 (x86_cpus): Likewise.
25464 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
25465 --with-arch/--with-cpu= options.
25466 Support --with-arch=/--with-cpu={nehalem,westmere,
25467 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
25468
25469 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
25470
25471 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
25472 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
25473
25474 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
25475
25476 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
25477
25478 2014-01-18 Jakub Jelinek <jakub@redhat.com>
25479
25480 PR target/58944
25481 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
25482 clear cpp_get_options (parse_in)->warn_unused_macros for
25483 ix86_target_macros_internal with cpp_define.
25484
25485 2014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
25486
25487 * jump.c (delete_related_insns): Keep (use (insn))s.
25488 * reorg.c (redundant_insn): Check for barriers too.
25489
25490 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
25491
25492 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
25493
25494 2014-01-17 John David Anglin <danglin@gcc.gnu.org>
25495
25496 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
25497 call to $$dyncall when TARGET_LONG_CALLS is true.
25498
25499 2014-01-17 Jeff Law <law@redhat.com>
25500
25501 * ree.c (combine_set_extension): Temporarily disable test for
25502 changing number of hard registers.
25503
25504 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
25505
25506 PR middle-end/58125
25507 * ipa-inline-analysis.c (inline_free_summary):
25508 Do not free summary of aliases.
25509
25510 2014-01-17 Jakub Jelinek <jakub@redhat.com>
25511
25512 PR middle-end/59706
25513 * gimplify.c (gimplify_expr): Use create_tmp_var
25514 instead of create_tmp_var_raw. If cond doesn't have
25515 integral type, don't add the IFN_ANNOTATE builtin at all.
25516
25517 2014-01-17 Martin Jambor <mjambor@suse.cz>
25518
25519 PR ipa/59736
25520 * ipa-cp.c (prev_edge_clone): New variable.
25521 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
25522 Also resize prev_edge_clone vector.
25523 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
25524 (ipcp_edge_removal_hook): New function.
25525 (ipcp_driver): Register ipcp_edge_removal_hook.
25526
25527 2014-01-17 Andrew Pinski <apinski@cavium.com>
25528 Steve Ellcey <sellcey@mips.com>
25529
25530 PR target/59462
25531 * config/mips/mips.c (mips_print_operand): Check operand mode instead
25532 of operator mode.
25533
25534 2014-01-17 Jeff Law <law@redhat.com>
25535
25536 PR middle-end/57904
25537 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
25538 so that pass_ccp runs first.
25539
25540 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
25541
25542 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
25543 (ix86_adjust_cost): Use !TARGET_XXX.
25544 (do_reorder_for_imul): Likewise.
25545 (swap_top_of_ready_list): Likewise.
25546 (ix86_sched_reorder): Likewise.
25547
25548 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
25549
25550 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
25551 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
25552 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
25553 (intel_memset): New. Duplicate slm_memset.
25554 (intel_cost): New. Duplicate slm_cost.
25555 (m_INTEL): New macro.
25556 (processor_target_table): Add "intel".
25557 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
25558 with PROCESSOR_INTEL for "intel".
25559 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
25560 PROCESSOR_SILVERMONT.
25561 (ix86_issue_rate): Likewise.
25562 (ix86_adjust_cost): Likewise.
25563 (ia32_multipass_dfa_lookahead): Likewise.
25564 (swap_top_of_ready_list): Likewise.
25565 (ix86_sched_reorder): Likewise.
25566 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
25567 instead of TARGET_OPT_AGU.
25568 * config/i386/i386.h (TARGET_INTEL): New.
25569 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
25570 (processor_type): Add PROCESSOR_INTEL.
25571 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
25572 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
25573
25574 2014-01-17 Marek Polacek <polacek@redhat.com>
25575
25576 PR c/58346
25577 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
25578 size is zero.
25579
25580 2014-01-17 Richard Biener <rguenther@suse.de>
25581
25582 PR tree-optimization/46590
25583 * opts.c (default_options_table): Add entries for
25584 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
25585 all enabled at -O1 but not for -Og.
25586 * common.opt (fbranch-count-reg): Remove Init(1).
25587 (fmove-loop-invariants): Likewise.
25588 (ftree-pta): Likewise.
25589
25590 2014-01-17 Jakub Jelinek <jakub@redhat.com>
25591
25592 * config/i386/i386.c (ix86_data_alignment): For compatibility with
25593 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
25594 decls to at least the GCC 4.8 used alignments.
25595
25596 PR fortran/59440
25597 * tree-nested.c (convert_nonlocal_reference_stmt,
25598 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
25599 of GIMPLE_BIND stmts, adjust associated decls.
25600
25601 2014-01-17 Richard Biener <rguenther@suse.de>
25602
25603 PR tree-optimization/46590
25604 * vec.h (vec<>::bseach): New member function implementing
25605 binary search according to C89 bsearch.
25606 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
25607 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
25608 bitmap pointer again. Make accesses_in_loop a flat array.
25609 (mem_ref_obstack): New global.
25610 (outermost_indep_loop): Adjust for mem_ref->stored changes.
25611 (mark_ref_stored): Likewise.
25612 (ref_indep_loop_p_2): Likewise.
25613 (set_ref_stored_in_loop): New helper function.
25614 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
25615 (memref_free): Adjust.
25616 (record_mem_ref_loc): Simplify.
25617 (gather_mem_refs_stmt): Adjust.
25618 (sort_locs_in_loop_postorder_cmp): New function.
25619 (analyze_memory_references): Sort accesses_in_loop after
25620 loop postorder number.
25621 (find_ref_loc_in_loop_cmp): New function.
25622 (for_all_locs_in_loop): Find relevant cluster of locs in
25623 accesses_in_loop and iterate without recursion.
25624 (execute_sm): Avoid uninit warning.
25625 (struct ref_always_accessed): Simplify.
25626 (ref_always_accessed::operator ()): Likewise.
25627 (ref_always_accessed_p): Likewise.
25628 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
25629 loop postorder numbers here.
25630 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
25631 numbers.
25632
25633 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
25634
25635 PR c++/57945
25636 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
25637 on decls for which assemble_alias has been called.
25638
25639 2014-01-17 Nick Clifton <nickc@redhat.com>
25640
25641 * config/msp430/msp430.opt: (mcpu): New option.
25642 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
25643 (msp430_option_override): Parse target_cpu. If the MCU name
25644 matches a generic string, clear target_mcu.
25645 (msp430_attr): Allow numeric interrupt values up to 63.
25646 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
25647 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
25648 option.
25649 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
25650 Add mcpu matches.
25651 * config/msp430/msp430.md (popm): Use %J rather than %I.
25652 (addsi3): Use msp430_nonimmediate_operand for operand 2.
25653 (addhi_cy_i): Use immediate_operand for operand 2.
25654 * doc/invoke.texi: Document -mcpu option.
25655
25656 2014-01-17 Richard Biener <rguenther@suse.de>
25657
25658 PR rtl-optimization/38518
25659 * df.h (df_analyze_loop): Declare.
25660 * df-core.c: Include cfgloop.h.
25661 (df_analyze_1): Split out main part of df_analyze.
25662 (df_analyze): Adjust.
25663 (loop_inverted_post_order_compute): New function.
25664 (loop_post_order_compute): Likewise.
25665 (df_analyze_loop): New function avoiding whole-function
25666 postorder computes.
25667 * loop-invariant.c (find_defs): Use df_analyze_loop.
25668 (find_invariants): Adjust.
25669 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
25670
25671 2014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
25672
25673 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
25674 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
25675
25676 2014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
25677
25678 * ipa-ref.c (ipa_remove_stmt_references): Fix references
25679 traversal when removing references.
25680
25681 2014-01-16 Jan Hubicka <hubicka@ucw.cz>
25682
25683 PR ipa/59775
25684 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
25685
25686 2014-01-16 Bernd Schmidt <bernds@codesourcery.com>
25687
25688 PR middle-end/56791
25689 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
25690 pushing a reload for an autoinc when we had previously reloaded an
25691 inner part of the address.
25692
25693 2014-01-16 Jakub Jelinek <jakub@redhat.com>
25694
25695 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
25696 field.
25697 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
25698 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
25699 when not giving up or versioning for alias only because of
25700 loop->safelen.
25701 (vect_analyze_data_ref_dependences): Set to true.
25702 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
25703 is a GIMPLE_PHI.
25704 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
25705 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
25706 to the condition.
25707
25708 PR middle-end/58344
25709 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
25710
25711 PR target/59839
25712 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
25713 operand 0 predicate for gathers, use a new pseudo as subtarget.
25714
25715 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
25716
25717 PR middle-end/59609
25718 * lra-constraints.c (process_alt_operands): Add printing debug info.
25719 Check absence of input/output reloads for matched operands too.
25720
25721 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
25722
25723 PR rtl-optimization/59835
25724 * ira.c (ira_init_register_move_cost): Increase cost for
25725 impossible modes.
25726
25727 2014-01-16 Alan Lawrence <alan.lawrence@arm.com>
25728
25729 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
25730
25731 2014-01-16 Richard Earnshaw <rearnsha@arm.com>
25732
25733 PR target/59780
25734 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
25735 non-register objects. Use gen_(high/low)part more consistently.
25736 Fix assertions.
25737
25738 2014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
25739
25740 PR target/59844
25741 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
25742 endian support, remove tests for WORDS_BIG_ENDIAN.
25743 (p8_mfvsrd_3_<mode>): Likewise.
25744 (reload_gpr_from_vsx<mode>): Likewise.
25745 (reload_gpr_from_vsxsf): Likewise.
25746 (p8_mfvsrd_4_disf): Likewise.
25747
25748 2014-01-16 Richard Biener <rguenther@suse.de>
25749
25750 PR rtl-optimization/46590
25751 * lcm.c (compute_antinout_edge): Use postorder iteration.
25752 (compute_laterin): Use inverted postorder iteration.
25753
25754 2014-01-16 Nick Clifton <nickc@redhat.com>
25755
25756 PR middle-end/28865
25757 * varasm.c (output_constant): Return the number of bytes actually
25758 emitted.
25759 (output_constructor_array_range): Update the field size with the
25760 number of bytes emitted by output_constant.
25761 (output_constructor_regular_field): Likewise. Also do not
25762 complain if the total number of bytes emitted is now greater
25763 than the expected fieldpos.
25764 * output.h (output_constant): Update prototype and descriptive comment.
25765
25766 2014-01-16 Marek Polacek <polacek@redhat.com>
25767
25768 PR middle-end/59827
25769 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
25770 it is error_mark_node.
25771
25772 2014-01-15 Uros Bizjak <ubizjak@gmail.com>
25773
25774 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
25775 VALID_AVX256_REG_OR_OI_MODE.
25776
25777 2014-01-15 Pat Haugen <pthaugen@us.ibm.com>
25778
25779 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
25780 current procedure should be profiled.
25781
25782 2014-01-15 Andrew Pinski <apinski@cavium.com>
25783
25784 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
25785 of moving from/to the STACK_REG register class.
25786
25787 2014-01-15 Richard Henderson <rth@redhat.com>
25788
25789 PR debug/54694
25790 * reginfo.c (global_regs_decl): Globalize.
25791 * rtl.h (global_regs_decl): Declare.
25792 * ira.c (do_reload): Diagnose frame_pointer_needed and it
25793 reserved via global_regs.
25794
25795 2014-01-15 Teresa Johnson <tejohnson@google.com>
25796
25797 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
25798
25799 2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
25800
25801 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
25802 and vmulosh rather than call gen_vec_widen_smult_*.
25803 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
25804 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
25805 (vec_widen_smult_even_v16qi): Likewise.
25806 (vec_widen_umult_even_v8hi): Likewise.
25807 (vec_widen_smult_even_v8hi): Likewise.
25808 (vec_widen_umult_odd_v16qi): Likewise.
25809 (vec_widen_smult_odd_v16qi): Likewise.
25810 (vec_widen_umult_odd_v8hi): Likewise.
25811 (vec_widen_smult_odd_v8hi): Likewise.
25812 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
25813 vmuloub rather than call gen_vec_widen_umult_*.
25814 (vec_widen_umult_lo_v16qi): Likewise.
25815 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
25816 vmulosb rather than call gen_vec_widen_smult_*.
25817 (vec_widen_smult_lo_v16qi): Likewise.
25818 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
25819 rather than call gen_vec_widen_umult_*.
25820 (vec_widen_umult_lo_v8hi): Likewise.
25821 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
25822 rather than call gen_vec_widen_smult_*.
25823 (vec_widen_smult_lo_v8hi): Likewise.
25824
25825 2014-01-15 Jeff Law <law@redhat.com>
25826
25827 PR tree-optimization/59747
25828 * ree.c (find_and_remove_re): Properly handle case where a second
25829 eliminated extension requires widening a copy created for elimination
25830 of a prior extension.
25831 (combine_set_extension): Ensure that the number of hard regs needed
25832 for a destination register does not change when we widen it.
25833
25834 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
25835
25836 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
25837 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
25838 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
25839 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
25840 (avr-*-rtems*): Likewise.
25841 (bfin*-rtems*): Likewise.
25842 (moxie-*-rtems*): Likewise.
25843 (h8300-*-rtems*): Likewise.
25844 (i[34567]86-*-rtems*): Likewise.
25845 (lm32-*-rtems*): Likewise.
25846 (m32r-*-rtems*): Likewise.
25847 (m68k-*-rtems*): Likewise.
25848 (microblaze*-*-rtems*): Likewise.
25849 (mips*-*-rtems*): Likewise.
25850 (powerpc-*-rtems*): Likewise.
25851 (sh-*-rtems*): Likewise.
25852 (sparc-*-rtems*): Likewise.
25853 (sparc64-*-rtems*): Likewise.
25854 (v850-*-rtems*): Likewise.
25855 (m32c-*-rtems*): Likewise.
25856
25857 2014-01-15 Vladimir Makarov <vmakarov@redhat.com>
25858
25859 PR rtl-optimization/59511
25860 * ira.c (ira_init_register_move_cost): Use memory costs for some
25861 cases of register move cost calculations.
25862 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
25863 instead of BB frequency.
25864 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
25865 * lra-assigns.c (find_hard_regno_for): Ditto.
25866
25867 2014-01-15 Richard Biener <rguenther@suse.de>
25868
25869 PR tree-optimization/59822
25870 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
25871 (vectorizable_load): Use it to hoist defs of uses of invariant
25872 loads out of the loop.
25873
25874 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
25875 Kugan Vivekanandarajah <kuganv@linaro.org>
25876
25877 PR target/59695
25878 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
25879 truncation.
25880
25881 2014-01-15 Richard Biener <rguenther@suse.de>
25882
25883 PR rtl-optimization/59802
25884 * lcm.c (compute_available): Use inverted postorder to seed
25885 the initial worklist.
25886
25887 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
25888
25889 PR target/59803
25890 * config/s390/s390.c (s390_preferred_reload_class): Don't return
25891 ADDR_REGS for invalid symrefs in non-PIC code.
25892
25893 2014-01-15 Jakub Jelinek <jakub@redhat.com>
25894
25895 PR other/58712
25896 * builtins.c (determine_block_size): Initialize *probable_max_size
25897 even if len_rtx is CONST_INT.
25898
25899 2014-01-14 Andrew Pinski <apinski@cavium.com>
25900
25901 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
25902 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
25903 (cortexa53_tunings): Likewise.
25904 (aarch64_sched_issue_rate): New function.
25905 (TARGET_SCHED_ISSUE_RATE): Define.
25906
25907 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
25908
25909 * ira-costs.c (find_costs_and_classes): Add missed
25910 ira_init_register_move_cost_if_necessary.
25911
25912 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
25913
25914 PR target/59787
25915 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
25916
25917 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
25918
25919 PR target/59794
25920 * config/i386/i386.c (type_natural_mode): Add a bool parameter
25921 to indicate if type is used for function return value. Warn ABI
25922 change if the vector mode isn't available for function return value.
25923 (ix86_function_arg_advance): Pass false to type_natural_mode.
25924 (ix86_function_arg): Likewise.
25925 (ix86_gimplify_va_arg): Likewise.
25926 (function_arg_32): Don't warn ABI change.
25927 (ix86_function_value): Pass true to type_natural_mode.
25928 (ix86_return_in_memory): Likewise.
25929 (ix86_struct_value_rtx): Removed.
25930 (TARGET_STRUCT_VALUE_RTX): Likewise.
25931
25932 2014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
25933
25934 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
25935 converting a conditional jump into a conditional return.
25936
25937 2014-01-14 Richard Biener <rguenther@suse.de>
25938
25939 PR tree-optimization/58921
25940 PR tree-optimization/59006
25941 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
25942 hoisting invariant stmts.
25943 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
25944 invariant loads on the preheader edge if possible.
25945
25946 2014-01-14 Joey Ye <joey.ye@arm.com>
25947
25948 * doc/plugin.texi (Building GCC plugins): Update to C++.
25949
25950 2014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
25951
25952 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
25953 (_mm_rcp28_round_ss): Ditto.
25954 (_mm_rsqrt28_round_sd): Ditto.
25955 (_mm_rsqrt28_round_ss): Ditto.
25956 (_mm_rcp28_sd): Ditto.
25957 (_mm_rcp28_ss): Ditto.
25958 (_mm_rsqrt28_sd): Ditto.
25959 (_mm_rsqrt28_ss): Ditto.
25960 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
25961 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
25962 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
25963 (IX86_BUILTIN_RCP28SD): Ditto.
25964 (IX86_BUILTIN_RCP28SS): Ditto.
25965 (IX86_BUILTIN_RSQRT28SD): Ditto.
25966 (IX86_BUILTIN_RSQRT28SS): Ditto.
25967 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
25968 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
25969 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
25970 (ix86_expand_special_args_builtin): Expand new FTYPE.
25971 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
25972 (srcp14<mode>): Make insn unary.
25973 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
25974 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
25975 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
25976 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
25977 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
25978 Fix rounding: make it SAE only.
25979 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
25980 Ditto.
25981 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
25982 Ditto.
25983 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
25984 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
25985 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
25986 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
25987 (round_saeonly_mask_scalar_operand4): Ditto.
25988 (round_saeonly_mask_scalar_op3): Ditto.
25989 (round_saeonly_mask_scalar_op4): Ditto.
25990
25991 2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
25992
25993 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
25994 Implement -maltivec=be for vec_insert and vec_extract.
25995
25996 2014-01-10 DJ Delorie <dj@redhat.com>
25997
25998 * config/msp430/msp430.md (call_internal): Don't allow memory
25999 references with SP as the base register.
26000 (call_value_internal): Likewise.
26001 * config/msp430/constraints.md (Yc): New. For memory references
26002 that don't use SP as a base register.
26003
26004 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
26005 "an integer without a # prefix"
26006 * config/msp430/msp430.md (epilogue_helper): Use it.
26007
26008 2014-01-13 Jakub Jelinek <jakub@redhat.com>
26009
26010 PR target/59617
26011 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
26012 AVX512F gather builtins.
26013 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
26014 on gather decls with INTEGER_TYPE masktype.
26015 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
26016 directly into the builtin rather than hoisting it before loop.
26017
26018 PR tree-optimization/59387
26019 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
26020 (scev_const_prop): If folded_casts and type has undefined overflow,
26021 use force_gimple_operand instead of force_gimple_operand_gsi and
26022 for each added stmt if it is assign with
26023 arith_code_with_undefined_signed_overflow, call
26024 rewrite_to_defined_overflow.
26025 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
26026 gimple-fold.h instead.
26027 (arith_code_with_undefined_signed_overflow,
26028 rewrite_to_defined_overflow): Moved to ...
26029 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
26030 rewrite_to_defined_overflow): ... here. No longer static.
26031 Include gimplify-me.h.
26032 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
26033 rewrite_to_defined_overflow): New prototypes.
26034
26035 2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26036
26037 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
26038
26039 2014-01-13 Eric Botcazou <ebotcazou@adacore.com>
26040
26041 * builtins.c (get_object_alignment_2): Minor tweak.
26042 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
26043
26044 2014-01-13 Christian Bruel <christian.bruel@st.com>
26045
26046 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
26047 optimized non constant lengths.
26048
26049 2014-01-13 Jakub Jelinek <jakub@redhat.com>
26050
26051 PR libgomp/59194
26052 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
26053 load as __atomic_load_N if possible.
26054
26055 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
26056
26057 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
26058 target parameter.
26059 (rs6000_expand_builtin): Adjust call.
26060
26061 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
26062
26063 PR target/58115
26064 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
26065 * config/rs6000/rs6000.c: Include target-globals.h.
26066 (rs6000_set_current_function): Instead of doing target_reinit
26067 unconditionally, use save_target_globals_default_opts and
26068 restore_target_globals.
26069
26070 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
26071 FPSCR.
26072 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
26073 (rs6000_expand_builtin): Handle mffs and mtfsf.
26074 (rs6000_init_builtins): Define mffs and mtfsf.
26075 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
26076 (rs6000_mffs): New pattern.
26077 (rs6000_mtfsf): New pattern.
26078
26079 2014-01-11 Bin Cheng <bin.cheng@arm.com>
26080
26081 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
26082 Start narrowing with START. Apply candidate-use pair
26083 and check overall cost in narrowing.
26084 (iv_ca_prune): Pass new argument.
26085
26086 2014-01-10 Jeff Law <law@redhat.com>
26087
26088 PR middle-end/59743
26089 * ree.c (combine_reaching_defs): Ensure the defining statement
26090 occurs before the extension when optimizing extensions with
26091 different source and destination hard registers.
26092
26093 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
26094
26095 PR ipa/58585
26096 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
26097 vtables into the type inheritance graph.
26098
26099 2014-01-10 Jakub Jelinek <jakub@redhat.com>
26100
26101 PR rtl-optimization/59754
26102 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
26103 modes in the REGNO != REGNO case.
26104
26105 2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
26106
26107 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
26108
26109 2014-01-10 Jakub Jelinek <jakub@redhat.com>
26110
26111 PR tree-optimization/59745
26112 * tree-predcom.c (tree_predictive_commoning_loop): Call
26113 free_affine_expand_cache if giving up because components is NULL.
26114
26115 * target-globals.c (save_target_globals): Allocate < 4KB structs using
26116 GC in payload of target_globals struct instead of allocating them on
26117 the heap and the larger structs separately using GC.
26118 * target-globals.h (struct target_globals): Make regs, hard_regs,
26119 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
26120 of GTY((skip)) and change type to void *.
26121 (reset_target_globals): Cast loads from those fields to corresponding
26122 types.
26123
26124 2014-01-10 Steve Ellcey <sellcey@mips.com>
26125
26126 PR plugins/59335
26127 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
26128 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
26129 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
26130
26131 2014-01-10 Richard Earnshaw <rearnsha@arm.com>
26132
26133 PR target/59744
26134 * aarch64-modes.def (CC_Zmode): New flags mode.
26135 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
26136 represents an equality.
26137 (aarch64_get_condition_code): Handle CC_Zmode.
26138 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
26139
26140 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
26141
26142 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
26143 extraction in good case.
26144
26145 2014-01-10 Richard Biener <rguenther@suse.de>
26146
26147 PR tree-optimization/59374
26148 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
26149 checking after SLP discovery. Mark stmts not participating
26150 in any SLP instance properly.
26151
26152 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26153
26154 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
26155 when handling a SET rtx.
26156
26157 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26158
26159 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
26160 (cortex-a57): Likewise.
26161 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
26162
26163 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26164
26165 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
26166 non-iwmmxt builtins.
26167
26168 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
26169
26170 PR ipa/58252
26171 PR ipa/59226
26172 * ipa-devirt.c record_target_from_binfo): Take as argument
26173 stack of binfos and lookup matching one for virtual inheritance.
26174 (possible_polymorphic_call_targets_1): Update.
26175
26176 2014-01-10 Huacai Chen <chenhc@lemote.com>
26177
26178 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
26179 kernel strings for Loongson-2E/2F/3A.
26180
26181 2014-01-10 Jakub Jelinek <jakub@redhat.com>
26182
26183 PR middle-end/59670
26184 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
26185 is_gimple_call before calling gimple_call_internal_p.
26186
26187 2014-01-09 Steve Ellcey <sellcey@mips.com>
26188
26189 * Makefile.in (TREE_FLOW_H): Remove.
26190 (TREE_SSA_H): Add file names from tree-flow.h.
26191 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
26192 * tree.h: Remove tree-flow.h reference.
26193 * hash-table.h: Remove tree-flow.h reference.
26194 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
26195 reference with tree-ssa-loop.h.
26196
26197 2014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
26198
26199 * doc/invoke.texi: Add -maltivec={be,le} options, and document
26200 default element-order behavior for -maltivec.
26201 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
26202 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
26203 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
26204 when targeting big endian, at least for now.
26205 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
26206
26207 2014-01-09 Jakub Jelinek <jakub@redhat.com>
26208
26209 PR middle-end/47735
26210 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
26211 var satisfies use_register_for_decl, just take into account type
26212 alignment, rather than decl alignment.
26213
26214 PR tree-optimization/59622
26215 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
26216 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
26217 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
26218 Don't devirtualize for inplace at all. For targets.length () == 1,
26219 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
26220
26221 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
26222
26223 * config/i386/i386.md (cpu): Remove the unused btver1.
26224
26225 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
26226
26227 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
26228
26229 2014-01-09 Jakub Jelinek <jakub@redhat.com>
26230
26231 PR target/58115
26232 * tree-core.h (struct target_globals): New forward declaration.
26233 (struct tree_target_option): Add globals field.
26234 * tree.h (TREE_TARGET_GLOBALS): Define.
26235 (prepare_target_option_nodes_for_pch): New prototype.
26236 * target-globals.h (struct target_globals): Define even if
26237 !SWITCHABLE_TARGET.
26238 * tree.c (prepare_target_option_node_for_pch,
26239 prepare_target_option_nodes_for_pch): New functions.
26240 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
26241 * config/i386/i386.c: Include target-globals.h.
26242 (ix86_set_current_function): Instead of doing target_reinit
26243 unconditionally, use save_target_globals_default_opts and
26244 restore_target_globals.
26245
26246 2014-01-09 Richard Biener <rguenther@suse.de>
26247
26248 PR tree-optimization/59715
26249 * tree-cfg.h (split_critical_edges): Declare.
26250 * tree-cfg.c (split_critical_edges): Export.
26251 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
26252
26253 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
26254
26255 * cfgexpand.c (expand_stack_vars): Optionally disable
26256 asan stack protection.
26257 (expand_used_vars): Likewise.
26258 (partition_stack_vars): Likewise.
26259 * asan.c (asan_emit_stack_protection): Optionally disable
26260 after return stack usage.
26261 (instrument_derefs): Optionally disable memory access instrumentation.
26262 (instrument_builtin_call): Likewise.
26263 (instrument_strlen_call): Likewise.
26264 (asan_protect_global): Optionally disable global variables protection.
26265 * doc/invoke.texi: Added doc for new options.
26266 * params.def: Added new options.
26267 * params.h: Likewise.
26268
26269 2014-01-09 Jakub Jelinek <jakub@redhat.com>
26270
26271 PR rtl-optimization/59724
26272 * ifcvt.c (cond_exec_process_if_block): Don't call
26273 flow_find_head_matching_sequence with 0 longest_match.
26274 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
26275 non-active insns if !stop_after.
26276 (try_head_merge_bb): Revert 2014-01-07 changes.
26277
26278 2014-01-08 Jeff Law <law@redhat.com>
26279
26280 * ree.c (get_sub_rtx): New function, extracted from...
26281 (merge_def_and_ext): Here.
26282 (combine_reaching_defs): Use get_sub_rtx.
26283
26284 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
26285
26286 * cgraph.h (varpool_variable_node): Do not choke on null node.
26287
26288 2014-01-08 Catherine Moore <clm@codesourcery.com>
26289
26290 * config/mips/mips.md (simple_return): Attempt to use JRC
26291 for microMIPS.
26292 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
26293
26294 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
26295
26296 PR rtl-optimization/59137
26297 * reorg.c (steal_delay_list_from_target): Call update_block for
26298 elided insns.
26299 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
26300
26301 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
26302
26303 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
26304 two duplicate entries.
26305
26306 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
26307
26308 Revert:
26309 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
26310
26311 * config/mips/mips.c (mips_truncated_op_cost): New function.
26312 (mips_rtx_costs): Adjust test for BADDU.
26313 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
26314
26315 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
26316
26317 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
26318 (*baddu_si): ...this new pattern.
26319
26320 2014-01-08 Jakub Jelinek <jakub@redhat.com>
26321
26322 PR ipa/59722
26323 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
26324
26325 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
26326
26327 PR middle-end/57748
26328 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
26329 inner_reference_p.
26330 (expand_expr, expand_normal): Adjust.
26331 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
26332 inner_reference_p. Use inner_reference_p to expand inner references.
26333 (store_expr): Adjust.
26334 * cfgexpand.c (expand_call_stmt): Adjust.
26335
26336 2014-01-08 Rong Xu <xur@google.com>
26337
26338 * gcov-io.c (gcov_var): Move from gcov-io.h.
26339 (gcov_position): Ditto.
26340 (gcov_is_error): Ditto.
26341 (gcov_rewrite): Ditto.
26342 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
26343 only part to libgcc/libgcov.h.
26344
26345 2014-01-08 Marek Polacek <polacek@redhat.com>
26346
26347 PR middle-end/59669
26348 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
26349
26350 2014-01-08 Marek Polacek <polacek@redhat.com>
26351
26352 PR sanitizer/59667
26353 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
26354
26355 2014-01-08 Jakub Jelinek <jakub@redhat.com>
26356
26357 PR rtl-optimization/59649
26358 * stor-layout.c (get_mode_bounds): For BImode return
26359 0 and STORE_FLAG_VALUE.
26360
26361 2014-01-08 Richard Biener <rguenther@suse.de>
26362
26363 PR middle-end/59630
26364 * gimple.h (is_gimple_builtin_call): Remove.
26365 (gimple_builtin_call_types_compatible_p): New.
26366 (gimple_call_builtin_p): New overload.
26367 * gimple.c (is_gimple_builtin_call): Remove.
26368 (validate_call): Rename to ...
26369 (gimple_builtin_call_types_compatible_p): ... this and export. Also
26370 check return types.
26371 (validate_type): New static function.
26372 (gimple_call_builtin_p): New overload and adjust.
26373 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
26374 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
26375 (gimple_fold_stmt_to_constant_1): Likewise.
26376 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
26377
26378 2014-01-08 Richard Biener <rguenther@suse.de>
26379
26380 PR middle-end/59471
26381 * gimplify.c (gimplify_expr): Gimplify register-register type
26382 VIEW_CONVERT_EXPRs to separate stmts.
26383
26384 2014-01-07 Jeff Law <law@redhat.com>
26385
26386 PR middle-end/53623
26387 * ree.c (combine_set_extension): Handle case where source
26388 and destination registers in an extension insn are different.
26389 (combine_reaching_defs): Allow source and destination registers
26390 in extension to be different under limited circumstances.
26391 (add_removable_extension): Remove restriction that the
26392 source and destination registers in the extension are the same.
26393 (find_and_remove_re): Emit a copy from the extension's
26394 destination to its source after the defining insn if
26395 the source and destination registers are different.
26396
26397 PR middle-end/59285
26398 * ifcvt.c (merge_if_block): If we are merging a block with more than
26399 one successor with a block with no successors, remove any BARRIER
26400 after the second block.
26401
26402 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
26403
26404 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
26405
26406 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
26407
26408 PR target/59652
26409 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
26410 for 14-bit register offsets when INT14_OK_STRICT is false.
26411
26412 2014-01-07 Roland Stigge <stigge@antcom.de>
26413 Michael Meissner <meissner@linux.vnet.ibm.com>
26414
26415 PR 57386/target
26416 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
26417 Only check TFmode for SPE constants. Don't check TImode or TDmode.
26418
26419 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
26420
26421 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
26422 -mcpu.
26423
26424 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
26425
26426 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
26427 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
26428 rtx is const0_rtx or not.
26429
26430 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
26431
26432 PR target/58115
26433 * target-globals.c (save_target_globals): Remove this_fn_optab
26434 handling.
26435 * toplev.c: Include optabs.h.
26436 (target_reinit): Temporarily restore the global options if another
26437 set of options are in force.
26438
26439 2014-01-07 Jakub Jelinek <jakub@redhat.com>
26440
26441 PR rtl-optimization/58668
26442 * cfgcleanup.c (flow_find_cross_jump): Don't count
26443 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
26444 to determine what is counted.
26445 (flow_find_head_matching_sequence): Use active_insn_p to determine
26446 what is counted.
26447 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
26448 counting change.
26449 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
26450 determine what is counted.
26451
26452 PR tree-optimization/59643
26453 * tree-predcom.c (split_data_refs_to_components): If one dr is
26454 read and one write, determine_offset fails and the write isn't
26455 in the bad component, just put the read into the bad component.
26456
26457 2014-01-07 Mike Stump <mikestump@comcast.net>
26458 Jakub Jelinek <jakub@redhat.com>
26459
26460 PR pch/59436
26461 * tree-core.h (struct tree_optimization_option): Change optabs
26462 type from unsigned char * to void *.
26463 * optabs.c (init_tree_optimization_optabs): Adjust
26464 TREE_OPTIMIZATION_OPTABS initialization.
26465
26466 2014-01-06 Jakub Jelinek <jakub@redhat.com>
26467
26468 PR target/59644
26469 * config/i386/i386.h (struct machine_function): Add
26470 no_drap_save_restore field.
26471 * config/i386/i386.c (ix86_save_reg): Use
26472 !cfun->machine->no_drap_save_restore instead of
26473 crtl->stack_realign_needed.
26474 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
26475 this function clears frame_pointer_needed. Set
26476 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
26477 and DRAP reg is needed.
26478
26479 2014-01-06 Marek Polacek <polacek@redhat.com>
26480
26481 PR c/57773
26482 * doc/implement-c.texi: Mention that other integer types are
26483 permitted as bit-field types in strictly conforming mode.
26484
26485 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
26486
26487 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
26488 is newly allocated.
26489
26490 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
26491
26492 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
26493
26494 2014-01-06 Martin Jambor <mjambor@suse.cz>
26495
26496 PR ipa/59008
26497 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
26498 to int.
26499 * ipa-prop.c (ipa_print_node_params): Fix indentation.
26500
26501 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
26502
26503 PR debug/59350
26504 PR debug/59510
26505 * var-tracking.c (add_stores): Preserve the value of the source even if
26506 we don't record the store.
26507
26508 2014-01-06 Terry Guo <terry.guo@arm.com>
26509
26510 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
26511
26512 2014-01-05 Iain Sandoe <iain@codesourcery.com>
26513
26514 PR bootstrap/59541
26515 * config/darwin.c (darwin_function_section): Adjust return values to
26516 correspond to optimisation changes made in r206070.
26517
26518 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
26519
26520 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
26521 from prefetch_block tune setting.
26522 (nocona_cost): Correct size of prefetch block to 64.
26523
26524 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
26525
26526 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
26527 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
26528 used to save the static chain register in the computation of the offset
26529 from which the FP registers need to be restored.
26530
26531 2014-01-04 Jakub Jelinek <jakub@redhat.com>
26532
26533 PR tree-optimization/59519
26534 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
26535 ICE if get_current_def (current_new_name) is already non-NULL, as long
26536 as it is a phi result of some other phi in *new_exit_bb that has
26537 the same argument.
26538
26539 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
26540 or vmovdqu* for misaligned_operand.
26541 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
26542 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
26543 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
26544 aligned_mem for AVX512F masked aligned load and store builtins and for
26545 non-temporal moves.
26546
26547 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
26548
26549 PR tree-optimization/59651
26550 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
26551 Address range for negative step should be added by TYPE_SIZE_UNIT.
26552
26553 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
26554
26555 * config/m68k/m68k.c (handle_move_double): Handle pushes with
26556 overlapping registers also for registers other than the stack pointer.
26557
26558 2014-01-03 Marek Polacek <polacek@redhat.com>
26559
26560 PR other/59661
26561 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
26562 __builtin_FILE.
26563
26564 2014-01-03 Jakub Jelinek <jakub@redhat.com>
26565
26566 PR target/59625
26567 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
26568 asm goto as jump.
26569
26570 * config/i386/i386.md (MODE_SIZE): New mode attribute.
26571 (push splitter): Use <P:MODE_SIZE> instead of
26572 GET_MODE_SIZE (<P:MODE>mode).
26573 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
26574 (mov -1, reg peephole2): Likewise.
26575 * config/i386/sse.md (*mov<mode>_internal,
26576 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
26577 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
26578 *<code><mode>3, *andnot<mode>3<mask_name>,
26579 <mask_codefor><code><mode>3<mask_name>): Likewise.
26580 * config/i386/subst.md (mask_mode512bit_condition,
26581 sd_mask_mode512bit_condition): Likewise.
26582
26583 2014-01-02 Xinliang David Li <davidxl@google.com>
26584
26585 PR tree-optimization/59303
26586 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
26587 (dump_predicates): Better output format.
26588 (pred_equal_p): New function.
26589 (is_neq_relop_p): Ditto.
26590 (is_neq_zero_form_p): Ditto.
26591 (pred_expr_equal_p): Ditto.
26592 (pred_neg_p): Ditto.
26593 (simplify_pred): Ditto.
26594 (simplify_preds_2): Ditto.
26595 (simplify_preds_3): Ditto.
26596 (simplify_preds_4): Ditto.
26597 (simplify_preds): Ditto.
26598 (push_pred): Ditto.
26599 (push_to_worklist): Ditto.
26600 (get_pred_info_from_cmp): Ditto.
26601 (is_degenerated_phi): Ditto.
26602 (normalize_one_pred_1): Ditto.
26603 (normalize_one_pred): Ditto.
26604 (normalize_one_pred_chain): Ditto.
26605 (normalize_preds): Ditto.
26606 (normalize_cond_1): Remove function.
26607 (normalize_cond): Ditto.
26608 (is_gcond_subset_of): Ditto.
26609 (is_subset_of_any): Ditto.
26610 (is_or_set_subset_of): Ditto.
26611 (is_and_set_subset_of): Ditto.
26612 (is_norm_cond_subset_of): Ditto.
26613 (pred_chain_length_cmp): Ditto.
26614 (convert_control_dep_chain_into_preds): Type change.
26615 (find_predicates): Ditto.
26616 (find_def_preds): Ditto.
26617 (destroy_predicates_vecs): Ditto.
26618 (find_matching_predicates_in_rest_chains): Ditto.
26619 (use_pred_not_overlap_with_undef_path_pred): Ditto.
26620 (is_pred_expr_subset): Ditto.
26621 (is_pred_chain_subset_of): Ditto.
26622 (is_included_in): Ditto.
26623 (is_superset_of): Ditto.
26624
26625 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
26626
26627 Update copyright years.
26628
26629 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
26630
26631 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
26632 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
26633 config/arc/arc.md, config/arc/arc.opt,
26634 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
26635 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
26636 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
26637 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
26638 config/linux-protos.h, config/linux.c, config/winnt-c.c,
26639 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
26640 vtable-verify.c, vtable-verify.h: Use the standard form for the
26641 copyright notice.
26642
26643 2014-01-02 Tobias Burnus <burnus@net-b.de>
26644
26645 * gcc.c (process_command): Update copyright notice dates.
26646 * gcov-dump.c: Ditto.
26647 * gcov.c: Ditto.
26648 * doc/cpp.texi: Bump @copying's copyright year.
26649 * doc/cppinternals.texi: Ditto.
26650 * doc/gcc.texi: Ditto.
26651 * doc/gccint.texi: Ditto.
26652 * doc/gcov.texi: Ditto.
26653 * doc/install.texi: Ditto.
26654 * doc/invoke.texi: Ditto.
26655
26656 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
26657
26658 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
26659
26660 2014-01-01 Jakub Jelinek <jakub@redhat.com>
26661
26662 * config/i386/sse.md (*mov<mode>_internal): Guard
26663 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
26664
26665 PR rtl-optimization/59647
26666 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
26667 new_rtx into UNSIGNED_FLOAT rtxes.
26668 \f
26669 Copyright (C) 2014 Free Software Foundation, Inc.
26670
26671 Copying and distribution of this file, with or without modification,
26672 are permitted in any medium without royalty provided the copyright
26673 notice and this notice are preserved.