]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
hash-traits.h (ggc_hasher::remove): Take a reference parameter.
[gcc.git] / gcc / ChangeLog
CommitLineData
5ac6389b
RS
12015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2
3 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
4 (ggc_hasher::ggc_mx): Likewise.
5 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
6 that duplicate ggc_hasher ones.
7
08ec2754
RS
82015-06-25 Richard Sandiford <richard.sandiford@arm.com>
9
10 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
11 (gt_cleare_cache): Check here for deleted and empty entries.
12 Replace handle_cache_entry with a call to keep_cache_entry.
13 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
14 (ggc_cache_hasher::keep_cache_entry): New function.
15 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
16 (tm_wrapper_hasher::keep_cache_entry): New function.
17 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
18 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
19 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
20 (type_cache_hasher::keep_cache_entry): New function.
21 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
22 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
23 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
24 (tree_type_map_cache_hasher::keep_cache_entry): New function.
25 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
26 (tm_clone_hasher::keep_cache_entry): New function.
27 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
28 (dllimport_hasher::keep_cache_entry): New function.
29
f11c3779
RS
302015-06-25 Richard Sandiford <richard.sandiford@arm.com>
31
32 * hash-table.h: Include hash-traits.h.
33 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
34 (ggc_cache_hasher): Move to...
35 * hash-traits.h: ...this new file.
36
fbf196a2
AM
372015-06-25 Andrew MacLeod <amacleod@redhat.com>
38
39 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
40 struct cl_optimization.
41 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
42 * tree.c (make_node_stat): Allocate cl_optimization struct.
43 (copy_node_stat): Allocate and copy cl_optimization struct.
44
16a16ec7
AM
452015-06-25 Andrew MacLeod <amacleod@redhat.com>
46
47 * function.h (struct incoming_args): Move struct.
48 (pass_by_reference, reference_callee_copied): Remove prototypes.
49 * emit-rtl.h (struct incoming_args): Relocate struct here.
50 * calls.h (pass_by_reference, reference_callee_copied): Relocate
51 prototypes here.
52 * function.c (pass_by_reference, reference_callee_copied): Move.
53 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
54 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
55 * ipa-chkp.c: Include calls.h.
56
eee33510
AM
572015-06-25 Andrew Macleod <amacleod@redhat.com>
58
59 * alias.h (alias_set_type): Move typedef.
60 * coretypes.h (alias_set_type): Relocate typedef here.
61 * rtl.h: Don't include alias.h.
eee33510 62
88f554b4
AM
632015-06-25 Andrew MacLeod <amacleod@redhat.com>
64
65 * cgraph.h (cgraph_rtl_info): Move to rtl.h
66 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
67 and instance.
68 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
69 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
70 doesn't exist.
71 * calls.c: Include hard-reg-set.h before rtl.h.
72 * ira.c: Likewise.
73
06fbce66
ZZ
742015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
75 Vladimir Makarov <vmakarov@redhat.com>
76
77 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
78 Add assert.
79
1ffbaa3f
RB
802015-06-25 Richard Biener <rguenther@suse.de>
81
82 * fold-const.c (fold_binary_loc): Move simplification of
83 (X <<>> C1) & C2 ...
84 * match.pd: ... here.
85
0cf094c0
EB
862015-06-25 Eric Botcazou <ebotcazou@adacore.com>
87
88 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
89
f43d102e
RS
902015-06-25 Richard Sandiford <richard.sandiford@arm.com>
91
92 * match.pd: Add patterns for vec_conds between 1 and 0.
93
225ce44b
RB
942015-06-25 Richard Biener <rguenther@suse.de>
95
96 * tree-vect-stmts.c (vectorizable_conversion): Do not set
97 STMT_VINFO_VEC_STMT for SLP.
98 (vectorizable_store): Likewise.
99 (vectorizable_load): Likewise.
100 (vect_transform_stmt): Catch SLP vectorization clobbering
101 STMT_VINFO_VEC_STMT.
102
502f0263
RB
1032015-06-25 Richard Biener <rguenther@suse.de>
104
105 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
106 dumping.
107 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
108 cleanup resulting dead code and parameters.
109 (vect_transform_slp_perm_load): Adjust.
110
ed1332ee
NC
1112015-06-25 Nick Clifton <nickc@redhat.com>
112
113 * config/bfin/bfin.c (bfin_expand_prologue): Set
114 current_function_static_stack_size if flag_stack_usage_info is
115 set.
116 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
117 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
118 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
119 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
120
b092fe39
TV
1212015-06-25 Tom de Vries <tom@codesourcery.com>
122
123 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
124 comment that the generated IV is unsigned.
125
238a4dba
RR
1262015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
127
128 PR target/29693
129 * config/arm/arm.c (arm_dbx_register_number): Return
130 DWARF_FRAME_REGISTERS by default.
131
4081bdd2
TV
1322015-06-25 Tom de Vries <tom@codesourcery.com>
133
134 * dominance.c (calculate_dominance_info): Fix verify_dominators call
135 argument. Call verify_dominator when reusing dominator info.
136
b6d10e0b
KK
1372015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
138
139 PR target/66563
140 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
141 an additional element of the unspec vector. Modify indices
142 of operands.
143 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
144 * config/sh/sh.c (prepare_move_operands): Pass incremented
145 const_int to gen_GOTaddr2picreg.
146 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
147
31ca7cba
AL
1482015-06-24 Alan Lawrence <alan.lawrence@arm.com>
149
150 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
151 Condition on TARGET_FLOAT.
152
a591e1d1
AL
1532015-06-24 Alan Lawrence <alan.lawrence@arm.com>
154
155 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
156 and (no)crypto.
157
261fb553
AL
1582015-06-24 Alan Lawrence <alan.lawrence@arm.com>
159
160 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
161
162 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
163 aarch64_err_no_fpadvsimd.
164
165 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
166 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
167 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
168 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
169 Turn error into assert, test TARGET_FLOAT.
170 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
171 TARGET_FLOAT.
172
4ca1ca5b
AH
1732015-06-24 Aldy Hernandez <aldyh@redhat.com>
174
175 PR debug/66482
176 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
177
e00cdb8a
IE
1782015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
179
180 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
181
b6aada16
RL
1822015-06-24 Renlin Li <renlin.li@arm.com>
183
184 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
185 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
186
39791822
RB
1872015-06-24 Richard Biener <rguenther@suse.de>
188
189 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
190 (main): Likewise.
191 (lower_opt_convert): Support lowering of conditional view_convert.
192 (parser::parse_operation): Likewise.
193 (parser::parse_for): Likewise.
194
61c580ea
RL
1952015-06-24 Renlin Li <renlin.li@arm.com>
196
197 * varasm.c (emit_local): Use unsigned int for align variable.
198
ce72a3c9
RR
1992015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
200
201 PR target/63408
202 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
203 for negative numbers.
204
f303100b
AK
2052015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
206
207 PR rtl-optimization/66306
208 * reload.c (find_reloads): Swap the match_dup info for
209 commutative operands.
210
af77d1df
AK
2112015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
212
213 * config/s390/vx-builtins.md
214 ("vec_scatter_element<mode>_<non_vec_int>")
215 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
216 attribute with bhfgq.
217
70216eba
AK
2182015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
219
220 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
221
f4d28290
AK
2222015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
223
224 * config/s390/s390-builtin-types.def: Add flag to indicate the
225 options under which the function type is needed.
226 * config/s390/s390-builtins.def: Add flag to indicate the options
227 under which the builtin is enabled.
228 * config/s390/s390-builtins.h: Add flags parameter to macro
229 definitions.
230 (bflags_for_builtin): New function.
231 (flags_for_builtin): Renamed to ...
232 (opflags_for_builtin): ... this.
233 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
234 flags_for_builtin to bflags_for_builtin and
235 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
236 * config/s390/s390.c: Add initialization of bflags_builtin and
237 opflags_builtin arrays.
238 Remove code for flags_builtin.
239 (s390_init_builtins): Only create builtin function types if one of
240 their flags is active.
241 Only create builtins if all of their flags are active.
242 (s390_expand_builtin): Rename flags_for_builtin to
243 opflags_for_builtin.
244
f1497499
AK
2452015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
246
247 * config/s390/vecintrin.h: Remove internal builtins.
248
996fcca1
AK
2492015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
250
251 * config/s390/s390.c (s390_secondary_reload): Fix check for
252 GENERAL_REGS register class.
253
920cc696
AK
2542015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
255
256 * config/s390/s390.c (s390_support_vector_misalignment): Call
257 default implementation for !TARGET_VX.
258
0600d22c
AK
2592015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
260
261 * config/s390/s390.c (s390_legitimate_constant_p): Add
262 TARGET_VX check.
263
45901378
AK
2642015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
265
266 * config/s390/s390.c (s390_vector_abi): New variable definition.
267 (s390_check_type_for_vector_abi): New function.
268 (TARGET_ASM_FILE_END): New macro definition.
269 (s390_asm_file_end): New function.
270 (s390_function_arg): Call s390_check_type_for_vector_abi.
271 (s390_gimplify_va_arg): Likewise.
272 * configure: Regenerate.
273 * configure.ac: Check for .gnu_attribute Binutils feature.
274
5a5c3deb
CG
2752015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
276
277 PR target/65803
278 * config/bfin/bfin.c (hwloop_optimize): Initialize
279 JUMP_LABEL for newly created jump.
280
8289f048
TG
2812015-06-23 Tristan Gingold <gingold@adacore.com>
282
283 * collect-utils.c (collect_wait): Unlink the response file here
284 instead of...
285 (do_wait): ...here.
286 (utils_cleanup): ...and here.
287
0fa16060
RS
2882015-06-23 Richard Sandiford <richard.sandiford@arm.com>
289
290 * df-scan.c: Don't include target-def.h.
291 * targhooks.c: Likewise.
292 * config/arm/arm-c.c: Likewise.
293 * config/i386/i386-c.c: Likewise.
294 * config/nds32/nds32-cost.c: Likewise.
295 * config/nds32/nds32-fp-as-gp.c: Likewise.
296 * config/nds32/nds32-intrinsic.c: Likewise.
297 * config/nds32/nds32-isr.c: Likewise.
298 * config/nds32/nds32-md-auxiliary.c: Likewise.
299 * config/nds32/nds32-memory-manipulation.c: Likewise.
300 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
301 * config/nds32/nds32-predicates.c: Likewise.
302
c079cbac
RB
3032015-06-23 Richard Biener <rguenther@suse.de>
304
305 PR tree-optimization/66636
306 * tree-vect-stmts.c (vectorizable_store): Properly compute the
307 def type for further defs for strided stores.
308
224b491b
NS
3092015-06-23 Nathan Sidwell <nathan@codesourcery.com>
310
311 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
312 conditional selects.
313 (setcc_int<mode>, setcc_float<mode>): Reformat.
314
9737efaf
MP
3152015-06-23 Marek Polacek <polacek@redhat.com>
316
317 * match.pd ((x + y) - (x | y) -> x & y,
318 (x + y) - (x & y) -> x | y): New patterns.
319
bcd119b7
LC
3202015-06-23 Ludovic Courtès <ludo@gnu.org>
321
322 PR 65711
323 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
324 '-dynamic-linker' within %{!shared: ...}.
325
7121e32b
UB
3262015-06-23 Uros Bizjak <ubizjak@gmail.com>
327
328 PR target/66560
329 * config/i386/predicates.md (addsub_vm_operator): New predicate.
330 (addsub_vs_operator): Ditto.
331 (addsub_vs_parallel): Ditto.
332 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
333 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
334 Put minus RTX before plus and adjust vec_merge selector.
335 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
336 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
337 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
338 (addsub vec_merge splitters): New combiner splitters.
339 (addsub vec_select/vec_concat splitters): Ditto.
340
109bd2e6
BC
3412015-06-23 Bin Cheng <bin.cheng@arm.com>
342
343 PR tree-optimization/66449
344 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
345 POINTER_PLUS_EXPR for pointers.
346
350911e6
AM
3472015-06-23 Alan Modra <amodra@gmail.com>
348
349 * rtlanal.c (commutative_operand_precedence): Correct comments.
350 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
351 declaration. Return an int. Distinguish REG,REG return from
352 others.
353 (struct simplify_plus_minus_op_data): Make local to function.
354 (simplify_plus_minus): Don't set canonicalized if merely sorting
355 registers. Avoid packing ops if nothing changes. White space fixes.
356
6935a923
PMR
3572015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
358
359 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
360 -fdump-ada-spec is passed but not if -fsyntax-only is.
361
a42e72d1
VM
3622015-06-22 Vladimir Makarov <vmakarov@redhat.com>
363
364 PR bootstrap/63740
365 * lra-lives.c (process_bb_lives): Check insn copying the same
366 reload pseudo and don't create a copy for it.
367
5a5fd951
TV
3682015-06-22 Tom de Vries <tom@codesourcery.com>
369
370 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
371 for cond_stmt.
372
2b9f69fd
TV
3732015-06-22 Tom de Vries <tom@codesourcery.com>
374
375 * builtins.def (DEF_GOMP_BUILTIN): Test
376 'flag_tree_parallelize_loops > 1' instead of
377 'flag_tree_parallelize_loops'. Test flag_cilkplus.
378
f3c676e1
TV
3792015-06-22 Tom de Vries <tom@codesourcery.com>
380
381 * dominance.c (calculate_dominance_info): Verify dominators if
382 early-out.
383
9ea65ca6
MP
3842015-06-22 Marek Polacek <polacek@redhat.com>
385
386 * match.pd ((x ^ y) ^ (x | y) -> x & y,
387 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
388 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
389 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
390
1ea0e674
UB
3912015-06-22 Uros Bizjak <ubizjak@gmail.com>
392
393 PR target/65871
394 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
395 cost of embedded comparison.
396
8f77aa90
BS
3972015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
398
399 PR target/65914
400 * config/rs6000/predicates.md (altivec_register_operand): Permit
401 virtual stack registers.
402 (vsx_register_operand): Likewise.
403 (vfloat_operand): Likewise.
404 (vint_operand): Likewise.
405 (vlogical_operand): Likewise.
406
6d098c57
RB
4072015-06-22 Richard Biener <rguenther@suse.de>
408
409 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
410 and single_scalar_iteration_cost members.
411 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
412 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
413 (vect_get_single_scalar_iteration_cost): Remove.
414 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
415 Use LOOP_VINFO_SCALAR_ITERATION_COST.
416 * tree-vect-loop.c (destroy_loop_vec_info): Free
417 scalar_cost_vec.
418 (vect_get_single_scalar_iteration_cost): Compute result into
419 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
420 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
421 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
422 (vect_estimate_min_profitable_iters): Use them.
423
e6553050
CB
4242015-06-22 Christian Bruel <christian.bruel@st.com>
425
606e3099 426 PR target/52144
e6553050
CB
427 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
428 (TARGET_INSERT_ATTRIBUTES): Define.
429 (thumb_flipper): New var.
430 * config/arm/arm.opt (-mflip-thumb): New switch.
431
1628e36b
JH
4322015-06-22 Jan Hubicka <hubicka@ucw.cz>
433 Martin Liska <mliska@suse.cz>
434
435 PR ipa/65908
436 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
437 construction of arg_types.
438 (sem_function::sem_function): Likewise.
439 (sem_function::~sem_function): Remove destruction of arg_types.
440 (sem_function::compatible_parm_types_p): New function.
441 (sem_function::equals_wpa): Reorg matching of return values
442 and parameter types.
443 (sem_function::equals_private): Reorg mathcing of argument types.
444 (sem_function::parse_tree_args): Remove.
445 * ipa-icf.h (init_wpa): Do not call it.
446 (parse_tree_args): Remove.
447 (compatible_parm_types_p): Declare.
448 (result_type): Remove.
449 (arg_types): Remove.
450
7083621f
JH
4512015-06-22 Jan Hubicka <hubicka@ucw.cz>
452
453 PR ipa/66351
454 * ipa-polymorphic-call.c
455 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
456 initializing alias oracle; fix formating; set base_alias_set if it
457 is known.
458
6b4db501
MM
4592015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
460
461 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
462 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
463 (find_inc): Likewise.
464 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
465 swapping.
466 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
467 * df-scan.c (df_swap_refs): Remove.
468 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
469 * dominance.c (link_roots): Use std::swap instead of manually swapping.
470 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
471 * fold-const.c (fold_relational_const): Likewise.
472 * genattrtab.c (simplify_test_exp): Likewise.
473 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
474 gimple_simplify): Likewise.
475 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
476 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
477 * ipa-devirt.c (add_type_duplicate): Likewise.
478 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
479 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
480 * lra.c (lra_create_copy): Likewise.
481 * lto-streamer-out.c (DFS::DFS): Likewise.
482 * modulo-sched.c (get_sched_window): Likewise.
483 * omega.c (omega_pretty_print_problem): Likewise.
484 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
485 * reload1.c (reloads_unique_chain_p): Likewise.
486 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
487 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
488 use std::swap.
489 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
490 manually swapping.
491 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
492 predicate_mem_writes): Likewise.
493 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
494 * tree-predcom.c (combine_chains): Likewise.
495 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
496 refs_may_alias_p_1): Likewise.
497 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
498 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
499 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
500 number_of_iterations_cond): Likewise.
501 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
502 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
503 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
504 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
505 * tree-vrp.c (extract_range_from_binary_expr_1,
506 extract_range_from_unary_expr_1): Likewise.
507
0115b91d
MP
5082015-06-20 Marek Polacek <polacek@redhat.com>
509
510 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
511
3cad5f64
KK
5122015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
513
514 PR target/66591
515 * config/sh/sh.c (prepare_move_operands): Replace subreg
516 index term with R0 for base and index addressing.
517
490948ca
JW
5182015-06-19 Jim Wilson <jim.wilson@linaro.org>
519
520 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
521 op1 is an fp zero.
522 (movsf_aarch64): Change condition from register_operand to
523 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
524 load1. Change type for alternative 7 to store1.
525 (movdf_aarch64): Likewise.
526
590f5d51
JG
5272015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
528
529 * config/vax/vax.md: Adjust sign/zero extend patterns to
530 handle SUBREGs in operands[1].
531
3fc4f5cd
KT
5322015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
533
534 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
535 of manually swapping.
536 (expand_vec_perm_interleave2): Likewise.
537
b1668acb
IE
5382015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
539
540 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
541 reuse bounds created for abnormal ssa names.
542
9faf9a56
JJ
5432015-06-19 Jakub Jelinek <jakub@redhat.com>
544
545 * config/nvptx/nvptx.md (allocate_stack): Rename to...
546 (allocate_stack_<mode>): ... this, and add :P on both
547 match_operand and unspec.
548 (allocate_stack): New expander.
549
a19d9c69
CB
5502015-06-19 Christian Bruel <christian.bruel@st.com>
551
552 PR target/66541
553 PR target/52144
554 * config/arm/arm.c (arm_set_current_function): Handle
555 explicit default options.
556
a5224bb7
UB
5572015-06-18 Uros Bizjak <ubizjak@gmail.com>
558
559 * config/i386/i386.md (*movsicc_noc_zext): New insn.
560 (zero-extended cmove with mem peephole2): New pattern.
561 (cmove with mem peephole2): Merge patterns.
562
861b6407
SB
5632015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
564
565 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
566
9ebfea12
SE
5672015-06-18 Steve Ellcey <sellcey@imgtec.com>
568
569 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
570 * config/mips/mips.md (*madd4<mode>): Ditto.
571 (*nmadd3<mode>) Ditto.
572 (*nmadd4<mode>_fastmath): Ditto.
573 (*nmadd3<mode>_fastmath): Ditto.
574 (*nmsub4<mode>): Ditto.
575 (*nmsub3<mode>): Ditto.
576 (*nmsub4<mode>_fastmath): Ditto.
577 (*nmsub3<mode>_fastmath): Ditto.
578
f502d50e
MM
5792015-06-18 Michael Matz <matz@suse.de>
580
581 PR middle-end/66253
582 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
583 grouped strided stores.
584 (vectorizable_load): Don't use the DR from first_stmt in
585 the non-SLP grouped strided case.
586
55429190
IE
5872015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
588
589 PR target/66569
590 * function.c (assign_bounds): Add arguments assign_regs,
591 assign_special, assign_bt.
592 (assign_parms): For vararg functions handle bounds in BT
593 and special slots after incoming vararg bounds.
594
855f036d
IE
5952015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
596
597 PR middle-end/66568
598 * cfgexpand.c (expand_return): Handle missing bounds.
599 (expand_gimple_stmt_1): Likewise.
600 * tree-chkp.c (chkp_expand_zero_bounds): New.
601 * tree-chkp.h (chkp_expand_zero_bounds): New.
602
847ffe17
IE
6032015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
604
605 PR middle-end/66567
606 * ipa-chkp.c (chkp_maybe_create_clone): Require
607 functions to be instrumentable.
608 * tree-chkp.c (chkp_replace_function_pointer): Use
609 chkp_instrumentable_p instead of attribute check.
610
91ff1504
RB
6112015-06-18 Richard Biener <rguenther@suse.de>
612
613 PR tree-optimization/66510
614 * tree-vect-stmts.c (vectorizable_load): Properly compute the
615 number of vector loads for SLP permuted loads.
616 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
617 check the stride for loop vectorization.
618 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
619 vectorization factor.
620 (vect_analyze_group_access): If the group size is not a power
621 of two require a epilogue loop.
622 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
623 compute and optimizing and alias test pruning after final
624 vectorization factor computation.
625 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
626 vector alignment.
627 (vect_transform_slp_perm_load): Properly compute the original
628 number of vector load stmts.
629
d38052e0
UB
6302015-06-18 Uros Bizjak <ubizjak@gmail.com>
631
632 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
633 "unlikely character , in @var" warning.
634
341d2da3
UB
6352015-06-17 Uros Bizjak <ubizjak@gmail.com>
636
637 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
638 (ix86_function_arg_advance): Ditto.
639 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
640
2bb8cb58
AM
6412015-06-17 Andrew MacLeod <amacleod@redhat.com>
642
643 * function.h (struct rtl_data): Remove struct and accessor macros.
644 * emit-rtl.h (struct rtl_data): Relocate to here.
645 * Makefile.in (GTFILES): Add emit-rtl.h.
646 * df-core.c: Include emit-rtl.h.
647 * genattrtab.c: Likewise.
648 * genconditions.c: Likewise.
649 * genpreds.c: Likewise.
650 * genrecog.c: Likewise.
651 * regcprop.c: Likewise.
652 * resource.c: Likewise.
653 * sched-rgn.c: Likewise.
654 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
655 * config/i386/winnt.c: Likewise.
656
8c8b9f32
JJ
6572015-06-17 Jakub Jelinek <jakub@redhat.com>
658
659 PR middle-end/66429
a1ceb604
JJ
660 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
661 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
8c8b9f32
JJ
662 and has_force_vectorize_loops flags from cfun into
663 child_cfun.
664 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
665 if simduid is non-NULL.
666 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
667 * passes.def (pass_simduid_cleanup): Add new pass after loop
668 passes.
669 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
670 indirection from htab argument's type.
671 (shrink_simd_arrays): New function.
672 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
673 Don't call adjust_simduid_builtins if there are no loops.
674 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
675 (pass_simduid_cleanup::execute): New method.
676 (make_pass_simduid_cleanup): New function.
677
f6e3667f
AM
6782017-06-17 Andrew MacLeod <amacleod@redhat.com>
679
341d2da3 680 * tree-core.h (tree_target_option): Make opts field a pointer to a
f6e3667f
AM
681 cl_target_option instead of an instance of the struct.
682 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
683 the structure.
341d2da3 684 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
f6e3667f
AM
685 TARGET_OPTION_NODE.
686 (copy_node_stat): Allocate and copy struct cl_target_option.
687
ee47f74e
AM
6882015-06-17 Andrew MacLeod <amacleod@redhat.com>
689
690 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
691 Remove conditional exposure of prototypes.
692 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
693 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
694 definitions in tree.h with functions.
695 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
696 anon_aggrname_p.
697 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
698
82ba6a8e
SB
6992015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
700
701 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
702 (*cmp<mode>_signed): ... this.
703 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
704 (*cmp<mode>_unsigned): ... this. Remove %b.
705
abb226c9
AM
7062015-06-17 Andrew MacLeod <amacleod@redhat.com>
707
708 * coretypes.h: Include input.h and as-a.h.
709 * rtl.h: Include input.h and as-a.h for generator files.
710 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
711 * vec.c: Don't include diagnostic-core.h.
712 * alias.c: Do not include input.h, line-map.h or is-a.h.
713 * asan.c: Likewise.
714 * attribs.c: Likewise.
715 * auto-inc-dec.c: Likewise.
716 * auto-profile.c: Likewise.
717 * bb-reorder.c: Likewise.
718 * bt-load.c: Likewise.
719 * builtins.c: Likewise.
720 * caller-save.c: Likewise.
721 * calls.c: Likewise.
722 * ccmp.c: Likewise.
723 * cfg.c: Likewise.
724 * cfganal.c: Likewise.
725 * cfgbuild.c: Likewise.
726 * cfgcleanup.c: Likewise.
727 * cfgexpand.c: Likewise.
728 * cfghooks.c: Likewise.
729 * cfgloop.c: Likewise.
730 * cfgloop.h: Likewise.
731 * cfgloopanal.c: Likewise.
732 * cfgloopmanip.c: Likewise.
733 * cfgrtl.c: Likewise.
734 * cgraph.c: Likewise.
735 * cgraphbuild.c: Likewise.
736 * cgraphclones.c: Likewise.
737 * cgraphunit.c: Likewise.
738 * cilk-common.c: Likewise.
739 * combine-stack-adj.c: Likewise.
740 * combine.c: Likewise.
741 * compare-elim.c: Likewise.
742 * convert.c: Likewise.
743 * coverage.c: Likewise.
744 * cppbuiltin.c: Likewise.
745 * cprop.c: Likewise.
746 * cse.c: Likewise.
747 * cselib.c: Likewise.
748 * data-streamer-in.c: Likewise.
749 * data-streamer-out.c: Likewise.
750 * data-streamer.c: Likewise.
751 * dbxout.c: Likewise.
752 * dce.c: Likewise.
753 * ddg.c: Likewise.
754 * debug.c: Likewise.
755 * df-core.c: Likewise.
756 * df-problems.c: Likewise.
757 * df-scan.c: Likewise.
758 * df.h: Likewise.
759 * dfp.c: Likewise.
760 * diagnostic-core.h: Likewise.
761 * diagnostic.c: Likewise.
762 * dojump.c: Likewise.
763 * dominance.c: Likewise.
764 * domwalk.c: Likewise.
765 * double-int.c: Likewise.
766 * dse.c: Likewise.
767 * dumpfile.c: Likewise.
768 * dumpfile.h: Likewise.
769 * dwarf2asm.c: Likewise.
770 * dwarf2cfi.c: Likewise.
771 * dwarf2out.c: Likewise.
772 * emit-rtl.c: Likewise.
773 * et-forest.c: Likewise.
774 * except.c: Likewise.
775 * explow.c: Likewise.
776 * expmed.c: Likewise.
777 * expr.c: Likewise.
778 * final.c: Likewise.
779 * fixed-value.c: Likewise.
780 * fold-const.c: Likewise.
781 * function.c: Likewise.
782 * fwprop.c: Likewise.
783 * gcc-plugin.h: Likewise.
784 * gcse.c: Likewise.
785 * generic-match-head.c: Likewise.
786 * ggc-page.c: Likewise.
787 * gimple-builder.c: Likewise.
788 * gimple-expr.c: Likewise.
789 * gimple-fold.c: Likewise.
790 * gimple-iterator.c: Likewise.
791 * gimple-low.c: Likewise.
792 * gimple-match-head.c: Likewise.
793 * gimple-pretty-print.c: Likewise.
794 * gimple-ssa-isolate-paths.c: Likewise.
795 * gimple-ssa-strength-reduction.c: Likewise.
796 * gimple-streamer-in.c: Likewise.
797 * gimple-streamer-out.c: Likewise.
798 * gimple-streamer.h: Likewise.
799 * gimple-walk.c: Likewise.
800 * gimple.c: Likewise.
801 * gimplify-me.c: Likewise.
802 * gimplify.c: Likewise.
803 * godump.c: Likewise.
804 * graph.c: Likewise.
805 * graphite-blocking.c: Likewise.
806 * graphite-dependences.c: Likewise.
807 * graphite-interchange.c: Likewise.
808 * graphite-isl-ast-to-gimple.c: Likewise.
809 * graphite-optimize-isl.c: Likewise.
810 * graphite-poly.c: Likewise.
811 * graphite-scop-detection.c: Likewise.
812 * graphite-sese-to-poly.c: Likewise.
813 * graphite.c: Likewise.
814 * haifa-sched.c: Likewise.
815 * hw-doloop.c: Likewise.
816 * ifcvt.c: Likewise.
817 * init-regs.c: Likewise.
818 * input.c: Likewise.
819 * internal-fn.c: Likewise.
820 * ipa-chkp.c: Likewise.
821 * ipa-comdats.c: Likewise.
822 * ipa-cp.c: Likewise.
823 * ipa-devirt.c: Likewise.
824 * ipa-icf-gimple.c: Likewise.
825 * ipa-icf.c: Likewise.
826 * ipa-inline-analysis.c: Likewise.
827 * ipa-inline-transform.c: Likewise.
828 * ipa-inline.c: Likewise.
829 * ipa-polymorphic-call.c: Likewise.
830 * ipa-profile.c: Likewise.
831 * ipa-prop.c: Likewise.
832 * ipa-pure-const.c: Likewise.
833 * ipa-ref.c: Likewise.
834 * ipa-reference.c: Likewise.
835 * ipa-split.c: Likewise.
836 * ipa-utils.c: Likewise.
837 * ipa-visibility.c: Likewise.
838 * ipa.c: Likewise.
839 * ira-build.c: Likewise.
840 * ira-color.c: Likewise.
841 * ira-conflicts.c: Likewise.
842 * ira-costs.c: Likewise.
843 * ira-emit.c: Likewise.
844 * ira-lives.c: Likewise.
845 * ira.c: Likewise.
846 * jump.c: Likewise.
847 * langhooks.c: Likewise.
848 * lcm.c: Likewise.
849 * loop-doloop.c: Likewise.
850 * loop-init.c: Likewise.
851 * loop-invariant.c: Likewise.
852 * loop-iv.c: Likewise.
853 * loop-unroll.c: Likewise.
854 * lower-subreg.c: Likewise.
855 * lra-assigns.c: Likewise.
856 * lra-coalesce.c: Likewise.
857 * lra-constraints.c: Likewise.
858 * lra-eliminations.c: Likewise.
859 * lra-lives.c: Likewise.
860 * lra-remat.c: Likewise.
861 * lra-spills.c: Likewise.
862 * lra.c: Likewise.
863 * lto-cgraph.c: Likewise.
864 * lto-compress.c: Likewise.
865 * lto-opts.c: Likewise.
866 * lto-section-in.c: Likewise.
867 * lto-section-out.c: Likewise.
868 * lto-streamer-in.c: Likewise.
869 * lto-streamer-out.c: Likewise.
870 * lto-streamer.c: Likewise.
871 * mcf.c: Likewise.
872 * mode-switching.c: Likewise.
873 * modulo-sched.c: Likewise.
874 * omega.c: Likewise.
875 * omp-low.c: Likewise.
876 * optabs.c: Likewise.
877 * opts-global.c: Likewise.
878 * opts.h: Likewise.
879 * passes.c: Likewise.
880 * plugin.c: Likewise.
881 * postreload-gcse.c: Likewise.
882 * postreload.c: Likewise.
883 * predict.c: Likewise.
884 * pretty-print.h: Likewise.
885 * print-rtl.c: Likewise.
886 * print-tree.c: Likewise.
887 * profile.c: Likewise.
888 * real.c: Likewise.
889 * realmpfr.c: Likewise.
890 * recog.c: Likewise.
891 * ree.c: Likewise.
892 * reg-stack.c: Likewise.
893 * regcprop.c: Likewise.
894 * reginfo.c: Likewise.
895 * regrename.c: Likewise.
896 * regstat.c: Likewise.
897 * reload.c: Likewise.
898 * reload1.c: Likewise.
899 * reorg.c: Likewise.
900 * resource.c: Likewise.
901 * rtl-chkp.c: Likewise.
902 * rtl-error.c: Likewise.
903 * rtlanal.c: Likewise.
904 * rtlhooks.c: Likewise.
905 * sanopt.c: Likewise.
906 * sched-deps.c: Likewise.
907 * sched-ebb.c: Likewise.
908 * sched-rgn.c: Likewise.
909 * sched-vis.c: Likewise.
910 * sdbout.c: Likewise.
911 * sel-sched-dump.c: Likewise.
912 * sel-sched-ir.c: Likewise.
913 * sel-sched.c: Likewise.
914 * sese.c: Likewise.
915 * shrink-wrap.c: Likewise.
916 * simplify-rtx.c: Likewise.
917 * stack-ptr-mod.c: Likewise.
918 * statistics.c: Likewise.
919 * stmt.c: Likewise.
920 * stor-layout.c: Likewise.
921 * store-motion.c: Likewise.
922 * streamer-hooks.c: Likewise.
923 * stringpool.c: Likewise.
924 * symtab.c: Likewise.
925 * target-globals.c: Likewise.
926 * targhooks.c: Likewise.
927 * toplev.c: Likewise.
928 * tracer.c: Likewise.
929 * trans-mem.c: Likewise.
930 * tree-affine.c: Likewise.
931 * tree-browser.c: Likewise.
932 * tree-call-cdce.c: Likewise.
933 * tree-cfg.c: Likewise.
934 * tree-cfgcleanup.c: Likewise.
935 * tree-chkp-opt.c: Likewise.
936 * tree-chkp.c: Likewise.
937 * tree-chrec.c: Likewise.
938 * tree-complex.c: Likewise.
939 * tree-data-ref.c: Likewise.
940 * tree-dfa.c: Likewise.
941 * tree-diagnostic.c: Likewise.
942 * tree-dump.c: Likewise.
943 * tree-eh.c: Likewise.
944 * tree-emutls.c: Likewise.
945 * tree-if-conv.c: Likewise.
946 * tree-inline.c: Likewise.
947 * tree-into-ssa.c: Likewise.
948 * tree-iterator.c: Likewise.
949 * tree-loop-distribution.c: Likewise.
950 * tree-nested.c: Likewise.
951 * tree-nrv.c: Likewise.
952 * tree-object-size.c: Likewise.
953 * tree-outof-ssa.c: Likewise.
954 * tree-parloops.c: Likewise.
955 * tree-phinodes.c: Likewise.
956 * tree-predcom.c: Likewise.
957 * tree-pretty-print.c: Likewise.
958 * tree-profile.c: Likewise.
959 * tree-scalar-evolution.c: Likewise.
960 * tree-sra.c: Likewise.
961 * tree-ssa-address.c: Likewise.
962 * tree-ssa-alias.c: Likewise.
963 * tree-ssa-ccp.c: Likewise.
964 * tree-ssa-coalesce.c: Likewise.
965 * tree-ssa-copy.c: Likewise.
966 * tree-ssa-copyrename.c: Likewise.
967 * tree-ssa-dce.c: Likewise.
968 * tree-ssa-dom.c: Likewise.
969 * tree-ssa-dse.c: Likewise.
970 * tree-ssa-forwprop.c: Likewise.
971 * tree-ssa-ifcombine.c: Likewise.
972 * tree-ssa-live.c: Likewise.
973 * tree-ssa-loop-ch.c: Likewise.
974 * tree-ssa-loop-im.c: Likewise.
975 * tree-ssa-loop-ivcanon.c: Likewise.
976 * tree-ssa-loop-ivopts.c: Likewise.
977 * tree-ssa-loop-manip.c: Likewise.
978 * tree-ssa-loop-niter.c: Likewise.
979 * tree-ssa-loop-prefetch.c: Likewise.
980 * tree-ssa-loop-unswitch.c: Likewise.
981 * tree-ssa-loop.c: Likewise.
982 * tree-ssa-math-opts.c: Likewise.
983 * tree-ssa-operands.c: Likewise.
984 * tree-ssa-phiopt.c: Likewise.
985 * tree-ssa-phiprop.c: Likewise.
986 * tree-ssa-pre.c: Likewise.
987 * tree-ssa-propagate.c: Likewise.
988 * tree-ssa-reassoc.c: Likewise.
989 * tree-ssa-sccvn.c: Likewise.
990 * tree-ssa-scopedtables.c: Likewise.
991 * tree-ssa-sink.c: Likewise.
992 * tree-ssa-strlen.c: Likewise.
993 * tree-ssa-structalias.c: Likewise.
994 * tree-ssa-tail-merge.c: Likewise.
995 * tree-ssa-ter.c: Likewise.
996 * tree-ssa-threadedge.c: Likewise.
997 * tree-ssa-threadupdate.c: Likewise.
998 * tree-ssa-uncprop.c: Likewise.
999 * tree-ssa-uninit.c: Likewise.
1000 * tree-ssa.c: Likewise.
1001 * tree-ssanames.c: Likewise.
1002 * tree-stdarg.c: Likewise.
1003 * tree-streamer-in.c: Likewise.
1004 * tree-streamer-out.c: Likewise.
1005 * tree-streamer.c: Likewise.
1006 * tree-switch-conversion.c: Likewise.
1007 * tree-tailcall.c: Likewise.
1008 * tree-vect-data-refs.c: Likewise.
1009 * tree-vect-generic.c: Likewise.
1010 * tree-vect-loop-manip.c: Likewise.
1011 * tree-vect-loop.c: Likewise.
1012 * tree-vect-patterns.c: Likewise.
1013 * tree-vect-slp.c: Likewise.
1014 * tree-vect-stmts.c: Likewise.
1015 * tree-vectorizer.c: Likewise.
1016 * tree-vrp.c: Likewise.
1017 * tree.c: Likewise.
1018 * tsan.c: Likewise.
1019 * ubsan.c: Likewise.
1020 * valtrack.c: Likewise.
1021 * value-prof.c: Likewise.
1022 * var-tracking.c: Likewise.
1023 * varasm.c: Likewise.
1024 * varpool.c: Likewise.
1025 * vmsdbgout.c: Likewise.
1026 * vtable-verify.c: Likewise.
1027 * web.c: Likewise.
1028 * wide-int.cc: Likewise.
1029 * xcoffout.c: Likewise.
1030 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
1031 * common/common-targhooks.c: Likewise.
1032 * config/aarch64/aarch64-builtins.c: Likewise.
1033 * config/aarch64/aarch64.c: Likewise.
1034 * config/alpha/alpha.c: Likewise.
1035 * config/arc/arc.c: Likewise.
1036 * config/arm/aarch-common.c: Likewise.
1037 * config/arm/arm-builtins.c: Likewise.
1038 * config/arm/arm-c.c: Likewise.
1039 * config/arm/arm.c: Likewise.
1040 * config/avr/avr-c.c: Likewise.
1041 * config/avr/avr-log.c: Likewise.
1042 * config/avr/avr.c: Likewise.
1043 * config/bfin/bfin.c: Likewise.
1044 * config/c6x/c6x.c: Likewise.
1045 * config/cr16/cr16.c: Likewise.
1046 * config/cris/cris.c: Likewise.
1047 * config/darwin-c.c: Likewise.
1048 * config/darwin.c: Likewise.
1049 * config/default-c.c: Likewise.
1050 * config/epiphany/epiphany.c: Likewise.
1051 * config/epiphany/mode-switch-use.c: Likewise.
1052 * config/epiphany/resolve-sw-modes.c: Likewise.
1053 * config/fr30/fr30.c: Likewise.
1054 * config/frv/frv.c: Likewise.
1055 * config/ft32/ft32.c: Likewise.
1056 * config/glibc-c.c: Likewise.
1057 * config/h8300/h8300.c: Likewise.
1058 * config/i386/i386-c.c: Likewise.
1059 * config/i386/i386.c: Likewise.
1060 * config/i386/msformat-c.c: Likewise.
1061 * config/i386/winnt-cxx.c: Likewise.
1062 * config/i386/winnt-stubs.c: Likewise.
1063 * config/i386/winnt.c: Likewise.
1064 * config/ia64/ia64-c.c: Likewise.
1065 * config/ia64/ia64.c: Likewise.
1066 * config/iq2000/iq2000.c: Likewise.
1067 * config/lm32/lm32.c: Likewise.
1068 * config/m32c/m32c-pragma.c: Likewise.
1069 * config/m32c/m32c.c: Likewise.
1070 * config/m32r/m32r.c: Likewise.
1071 * config/m68k/m68k.c: Likewise.
1072 * config/mcore/mcore.c: Likewise.
1073 * config/mep/mep-pragma.c: Likewise.
1074 * config/mep/mep.c: Likewise.
1075 * config/microblaze/microblaze-c.c: Likewise.
1076 * config/microblaze/microblaze.c: Likewise.
1077 * config/mips/mips.c: Likewise.
1078 * config/mmix/mmix.c: Likewise.
1079 * config/mn10300/mn10300.c: Likewise.
1080 * config/moxie/moxie.c: Likewise.
1081 * config/msp430/msp430-c.c: Likewise.
1082 * config/msp430/msp430.c: Likewise.
1083 * config/nds32/nds32-cost.c: Likewise.
1084 * config/nds32/nds32-fp-as-gp.c: Likewise.
1085 * config/nds32/nds32-intrinsic.c: Likewise.
1086 * config/nds32/nds32-isr.c: Likewise.
1087 * config/nds32/nds32-md-auxiliary.c: Likewise.
1088 * config/nds32/nds32-memory-manipulation.c: Likewise.
1089 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
1090 * config/nds32/nds32-predicates.c: Likewise.
1091 * config/nds32/nds32.c: Likewise.
1092 * config/nios2/nios2.c: Likewise.
1093 * config/nvptx/nvptx.c: Likewise.
1094 * config/pa/pa.c: Likewise.
1095 * config/pdp11/pdp11.c: Likewise.
1096 * config/rl78/rl78-c.c: Likewise.
1097 * config/rl78/rl78.c: Likewise.
1098 * config/rs6000/rs6000-c.c: Likewise.
1099 * config/rs6000/rs6000.c: Likewise.
1100 * config/rx/rx.c: Likewise.
1101 * config/s390/s390-c.c: Likewise.
1102 * config/s390/s390.c: Likewise.
1103 * config/sh/sh-c.c: Likewise.
1104 * config/sh/sh-mem.cc: Likewise.
1105 * config/sh/sh.c: Likewise.
1106 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
1107 * config/sh/sh_treg_combine.cc: Likewise.
1108 * config/sol2-c.c: Likewise.
1109 * config/sol2-cxx.c: Likewise.
1110 * config/sol2-stubs.c: Likewise.
1111 * config/sol2.c: Likewise.
1112 * config/sparc/sparc-c.c: Likewise.
1113 * config/sparc/sparc.c: Likewise.
1114 * config/spu/spu-c.c: Likewise.
1115 * config/spu/spu.c: Likewise.
1116 * config/stormy16/stormy16.c: Likewise.
1117 * config/tilegx/mul-tables.c: Likewise.
1118 * config/tilegx/tilegx-c.c: Likewise.
1119 * config/tilegx/tilegx.c: Likewise.
1120 * config/tilepro/mul-tables.c: Likewise.
1121 * config/tilepro/tilepro-c.c: Likewise.
1122 * config/tilepro/tilepro.c: Likewise.
1123 * config/v850/v850-c.c: Likewise.
1124 * config/v850/v850.c: Likewise.
1125 * config/vax/vax.c: Likewise.
1126 * config/visium/visium.c: Likewise.
1127 * config/vms/vms-c.c: Likewise.
1128 * config/vms/vms.c: Likewise.
1129 * config/vxworks.c: Likewise.
1130 * config/winnt-c.c: Likewise.
1131 * config/xtensa/xtensa.c: Likewise.
1132
1a4115ae
RS
11332015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
1134
1135 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
1136 function.
1137 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
1138
c689ce1e
RB
11392015-06-17 Richard Biener <rguenther@suse.de>
1140
1141 PR tree-optimization/66251
1142 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
1143 stmts for SLP strided stores.
1144
1145 Revert
1146 2015-05-22 Richard Biener <rguenther@suse.de>
1147
1148 PR tree-optimization/66251
1149 * tree-vect-stmts.c (vectorizable_conversion): Properly
1150 set STMT_VINFO_VEC_STMT even for the SLP case.
1151
1152 2015-05-26 Michael Matz <matz@suse.de>
1153
1154 PR middle-end/66251
1155 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
1156 STMT_VINFO_VEC_STMT, also with SLP.
1157
61b72061
UB
11582015-06-16 Uros Bizjak <ubizjak@gmail.com>
1159
b2c15a77 1160 PR target/56766
61b72061
UB
1161 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
1162 (*avx_addsubv4df3_1s): Ditto.
1163 (*sse3_addsubv2df3_1): Ditto.
1164 (*sse3_addsubv2df3_1s): Ditto.
1165 (*avx_addsubv8sf3_1): Ditto.
1166 (*avx_addsubv8sf3_1s): Ditto.
1167 (*sse3_addsubv4sf3_1): Ditto.
1168 (*sse3_addsubv4sf3_1s): Ditto.
1169
c04f999f
SE
11702015-06-16 Steve Ellcey <sellcey@imgtec.com>
1171
1172 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
1173 (SYSROOT_SUFFIX_SPEC): Update.
1174 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
1175 (STARTFILE_PREFIX_SPEC): Update.
1176 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
1177 (MULTILIB_REQUIRED): New.
1178 (MULTILIB_OSDIRNAMES): New.
1179 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
1180 (MULTILIB_REQUIRED): New.
1181 (MULTILIB_OSDIRNAMES): New.
1182
ff09c88d
MW
11832015-06-16 Matthew Wahab <matthew.wahab@arm.com>
1184
1185 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
1186 * config/aarch64/aarch64-options-extensions.def: Update "fP",
1187 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
1188 * gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
1189 (AARCH64_FL_PAN): New.
1190 (AARCH64_FL_LOR): New.
1191 (AARCH64_FL_RDMA): New.
1192 (AARCH64_FL_FOR_ARCH8_1): New.
1193 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
1194 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
1195
ca30789c
ML
11962015-06-16 Martin Liska <mliska@suse.cz>
1197
1198 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
1199 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
1200 guard.
1201
aed93b23
RB
12022015-06-16 Richard Biener <rguenther@suse.de>
1203
1204 * tree-vect-stmts.c (vectorizable_store): Adjust.
1205 (vectorizable_load): Likewise.
1206 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
1207 Simplify.
1208 (vect_create_data_ref_ptr): Likewise.
1209 (bump_vector_ptr): Adjust.
1210
ab313a8c
RB
12112015-06-16 Richard Biener <rguenther@suse.de>
1212
1213 * tree-vect-stmts.c (vectorizable_load): Properly start loads
1214 with the first element if this is grouped loads.
1215
ffa7068e
JG
12162015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
1217
1218 * config/arm/arm-protos.h (struct tune_params): Rename
1219 log_op_non_sc to log_op_non_short_circuit, and rename enum
1220 values to expand SC to SHORT_CIRCUIT.
1221 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
1222 to LOG_OP_NON_SHORT_CIRCUIT.
1223 (arm_fastmul_tune):Likewise
1224 (arm_strongarm_tune): Likewise.
1225 (arm_xscale_tune): Likewise.
1226 (arm_9e_tune): Likewise.
1227 (arm_marvell_pj4_tune): Likewise.
1228 (arm_v6t2_tune): Likewise.
1229 (arm_cortex_tune): Likewise.
1230 (arm_cortex_a8_tune): Likewise.
1231 (arm_cortex_a7_tune): Likewise.
1232 (arm_cortex_a15_tune): Likewise.
1233 (arm_cortex_a53_tune): Likewise.
1234 (arm_cortex_a57_tune): Likewise.
1235 (arm_xgene1_tune): Likewise.
1236 (arm_cortex_a5_tune): Likewise.
1237 (arm_cortex_a9_tune): Likewise.
1238 (arm_cortex_a12_tune): Likewise.
1239 (arm_v7m_tune): Likewise.
1240 (arm_cortex_m7_tune): Likewise.
1241 (arm_v6m_tune): Likewise.
1242 (arm_fa726te_tune): Likewise.
1243
7faaf44a
DE
12442015-06-15 David Edelsohn <dje.gcc@gmail.com>
1245
1246 * altivec.md: Delete UNSPEC_VMLADDUHM.
1247 (mulv4si3_p8): New pattern.
1248 (mulv4si3): Use it for POWER8.
1249 (mulv8hi3): Use vmladduhm with zero addend.
1250 (altivec_vmladduhm): Descriptive RTL.
1251
6a0f8c01
JW
12522015-06-15 Jim Wilson <jim.wilson@linaro.org>
1253
1254 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
1255 to use neon_move instead of mov_imm.
1256 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
1257 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
1258
1259 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
1260 aarch64_float_const_zero_rtx_p check before TFmode check.
1261 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
1262 an fp zero.
1263 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
1264 code and attributes to match. Change condition from register_operand
1265 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
1266 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
1267 to store2.
1268
8e6dce3d
AH
12692015-06-15 Aldy Hernandez <aldyh@redhat.com>
1270
1271 PR debug/66535
1272 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
1273 there is no parent.
1274
cf0c27ef
SC
12752015-06-14 Shiva Chen <shiva0217@gmail.com>
1276
1277 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
1278 HOST_WIDE_INT parameter.
1279
351d90f4
JH
12802015-06-14 Jan Hubicka <hubicka@ucw.cz>
1281
1282 PR ipa/66181
1283 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
1284 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
1285 TYPE_NO_FORCE_BLK.
1286 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
1287
3beaff21
RS
12882015-06-14 Richard Sandiford <richard.sandiford@arm.com>
1289
1290 * rtl.h (classify_insn): Declare.
1291 * emit-rtl.c (classify_insn): Move to...
1292 * rtl.c: ...here and add generator support.
1293 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
1294 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
1295 * genemit.c (gen_emit_seq): New function.
1296 (gen_expand, gen_split): Use it.
1297
34a6a466
PP
12982015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
1299
1300 * tree.c (make_vector_stat): Fix comment to state that the
1301 function returns a VECTOR_CST.
1302
313d38e3
RS
13032015-06-13 Richard Sandiford <richard.sandiford@arm.com>
1304
1305 * gensupport.h (add_implicit_parallel): Declare.
1306 * genrecog.c (add_implicit_parallel): Move to...
1307 * gensupport.c (add_implicit_parallel): ...here.
1308 (process_one_cond_exec): Use it.
1309 * genemit.c (gen_insn): Likewise.
1310
522b7b88
IS
13112015-06-13 Iain Sandoe <iain@codesourcery.com>
1312
1313 PR bootstrap/66448
1314 * passes.c (rest_of_decl_compilation): Do not register globals for
1315 early debug if they are declared in built-ins.
1316
df649a1c
AH
13172015-06-12 Aldy Hernandez <aldyh@redhat.com>
1318
1319 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
1320
d8204b12
KT
13212015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1322
1323 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
1324 manually swapping.
1325 (noce_try_cmove_arith): Likewise.
1326 (noce_get_alt_condition): Likewise.
1327
500a08b2
VK
13282015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1329
1330 * common/config/i386/i386-common.c
1331 (OPTION_MASK_ISA_MWAITX_SET): New.
1332 (ix86_handle_option): Handle mwaitx.
1333 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
1334 (x86_64-*-*): Likewise.
1335 * config/i386/mwaitxintrin.h: New header.
1336 * config/i386/cpuid.h (bit_MWAITX): Define.
1337 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
1338 MWAITX support.
1339 * config/i386/i386.opt (mwaitx): New.
1340 * config/i386/i386-builtin-types.def
1341 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
1342 * config/i386/i386-c.c: Define __MWAITX__ if needed.
1343 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
1344 (PTA_MWAITX): New.
1345 (ix86_option_override_internal): Handle new option.
1346 (processor_alias_table): Added PTA_MWAITX.
1347 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
1348 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
1349 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
1350 IX86_BUILTIN_MONITORX built-ins.
1351 * config/i386/i386.h (TARGET_MWAITX): New.
1352 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
1353 UNSPEC_MONITORX.
1354 (mwaitx): New pattern.
1355 (monitorx_<mode>): New pattern.
1356 * config/i386/x86intrin.h: Include mwaitxintrin.h.
1357 * doc/extend.texi: Document monitorx and mwaitx builtins.
1358 * doc/invoke.texi: Document -mmwaitx option.
1359
40ad260d
UB
13602015-06-12 Uros Bizjak <ubizjak@gmail.com>
1361
1362 * emit-rtl.c (need_atomic_barrier_p): Mask model with
1363 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
1364
1b926144
DE
13652015-06-11 David Edelsohn <dje.gcc@gmail.com>
1366
1367 * dbxout.c (xcoff_debug_hooks): Provide a function for
1368 register_main_translation_unit hook.
1369
39e150e8
DE
13702015-06-11 David Edelsohn <dje.gcc@gmail.com>
1371
1372 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
1373 variants cases from switch.
1374 (rs6000_post_atomic_barrier): Same.
1375 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
1376 (rs6000_expand_atomic_exchange): Same.
1377 (rs6000_expand_atomic_op): Same.
1378 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
1379 SYNC variants cases from switch.
1380 (atomic_load): Same.
1381 (atomic_store): Same.
1382
3ab604d5
JDA
13832015-06-11 John David Anglin <danglin@gcc.gnu.org>
1384
1385 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
1386 CONST_INT for goto.
1387
27022459
AH
13882015-06-11 Aldy Hernandez <aldyh@redhat.com>
1389
1390 PR bootstrap/66448
1391 * dwarf2out.c (check_die): Check for common duplicate attributes.
1392 (add_location_or_const_value_attribute): Do not add duplicate
1393 attributes.
1394 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
1395 time around.
1396 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
1397 (gen_type_die_with_usage): Call check_die.
1398 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
1399
1eb231ed
JM
14002015-06-11 Jason Merrill <jason@redhat.com>
1401
1402 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
1403 dies.
1404
2d6f2dce
MP
14052015-06-11 Marek Polacek <polacek@redhat.com>
1406
1407 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
1408
ca3e6775
EB
14092015-06-11 Eric Botcazou <ebotcazou@adacore.com>
1410
1411 PR bootstrap/66252
1412 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
1413 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
1414 (*addx_extend_sp32): Fix pasto.
1415 (*subx_extend): Rename into...
1416 (*subx_extend_sp32): ...this.
1417 (*adddi3_extend_sp32): Add earlyclobber.
1418 (*subdi3_insn_sp32): Likewise.
1419 (*subdi3_extend_sp32): Likewise.
1420 (*and_not_di_sp32): Likewise.
1421 (*or_not_di_sp32): Likewise.
1422 (*xor_not_di_sp32): Likewise.
1423 (*negdi2_sp32): Likewise.
1424 (*one_cmpldi2_sp32): Likewise.
1425
881a5e60
PMR
14262015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
1427
1428 * debug.h (struct gcc_debug_hooks): Add a
1429 register_main_translation_unit hook.
1430 * debug.c (do_nothing_debug_hooks): Provide a function for this
1431 new hook.
1432 * dbxout.c (dbx_debug_hooks): Likewise.
1433 * sdbout.c (sdb_debug_hooks): Likewise.
1434 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
1435 * dwarf2out.c (main_translation_unit): New global variable.
1436 (dwarf2out_register_main_translation_unit): New function
1437 implementing the new hook.
1438 (dwarf2_debug_hooks): Assign
1439 dwarf2out_register_main_translation_unit to this new hook.
1440 (dwarf2out_init): Associate any main translation unit to
1441 comp_unit_die ().
881a5e60 1442
f13c4673
MP
14432015-06-11 Marek Polacek <polacek@redhat.com>
1444
1445 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
1446
6e28e516
MP
14472015-06-11 Marek Polacek <polacek@redhat.com>
1448
1449 * match.pd: Use single_use throughout.
1450
06b8f7ac
KT
14512015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1452
1453 * config/arm/arm.c (arm_option_params_internal): When optimising
1454 for speed set max_insns_skipped when arm_restrict_it.
1455
c84f825c
CB
14562015-06-11 Christian Bruel <christian.bruel@st.com>
1457
1458 PR target/52144
1459 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
1460 macros in ...
1461 (arm_cpu_builtins): New function.
1462 (arm_pragma_target_parse): Call arm_cpu_builtins.
1463 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
1464 (arm_register_target_pragmas): Likewise.
1465 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
1466 Call arm_register_target_pragmas.
1467 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
1468 (arm_pragma_target_parse): Likewise.
1469
0fbeccea
KK
14702015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
1471
1472 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
1473 of the second operand.
1474
ea0cf502
UB
14752015-06-10 Uros Bizjak <ubizjak@gmail.com>
1476
1477 PR target/66473
1478 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
1479 to prepare mask operand for AVX512 modes.
1480
6a116f14
MM
14812015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
1482
1483 PR target/66474
1484 * doc/md.texi (Machine Constraints): Document that on the PowerPC
1485 if you use a constraint that targets a VSX register, you must use
1486 %x<n> in the template.
1487
768b6664
MF
14882015-06-10 Max Filippov <jcmvbkbc@gmail.com>
1489
1490 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
1491 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
1492 (define_insn "trap"): New definition.
1493
b266b968
RB
14942015-06-10 Richard Biener <rguenther@suse.de>
1495
1496 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
1497 out from ...
1498 (vect_supported_load_permutation_p): ... here. Handle
1499 supportable permutations in reductions.
1500 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
1501 for vectorizing strided group loads.
1502
8ffd51d2
JJ
15032015-06-10 Jakub Jelinek <jakub@redhat.com>
1504
1505 PR target/66470
1506 * config/i386/i386.c (ix86_split_long_move): For collisions
1507 involving direct tls segment refs, move the UNSPEC_TP possibly
1508 wrapped in ZERO_EXTEND out of the address for lea, to each of
1509 the memory loads.
1510
b2095240
RR
15112015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1512
1513 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
1514 dmb sy. Adjust tabs.
1515
68706112
TV
15162015-06-10 Tom de Vries <tom@codesourcery.com>
1517
1518 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
1519
643e0a30
ML
15202015-06-10 Martin Liska <mliska@suse.cz>
1521
1522 PR bootstrap/66471
1523 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
1524 all enum values in mem_alloc_origin.
1525 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
1526 name.
1527 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
1528 * bitmap.c (bitmap_register): Likewise.
1529 (dump_bitmap_statistics): Likewise.
1530 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
1531 (ggc_record_overhead): Likewise.
1532 * hash-map.h: Likewise.
1533 * hash-set.h: Likewise.
1534 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
1535 * hash-table.h: Likewise.
1536 * vec.c (vec_prefix::register_overhead): Likewise.
1537 (vec_prefix::release_overhead): Likewise.
1538 (dump_vec_loc_statistics): Likewise.
1539
d5524d52
CB
15402015-06-09 Christian Bruel <christian.bruel@st.com>
1541
1542 PR target/52144
1543 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
1544 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
1545 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
1546 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
1547 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
1548 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
1549 (arm_valid_target_attribute_p): Likewise.
1550 (arm_set_current_function, arm_can_inline_p): Likewise.
1551 (arm_valid_target_attribute_rec): Likewise.
1552 (arm_previous_fndecl): New variable.
1553 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
1554 (TARGET_CAN_INLINE_P): Define.
1555 (arm_asm_trampoline_template): Emit mode.
1556 (arm_file_start): Don't set unified syntax.
1557 (arm_declare_function_name): Set unified syntax and mode.
1558 (arm_option_override): Init target_option_default_node.
1559 and target_option_current_node.
1560 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
1561 (*call_symbol): Likewise.
1562 * doc/extend.texi: Document ARM/Thumb target attribute.
1563 * doc/invoke.texi: Likewise.
1564
0f9f9784
AO
15652015-06-09 Alexandre Oliva <aoliva@redhat.com>
1566
1567 Revert:
1568 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
1569 PR rtl-optimization/64164
1570 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
1571 * tree-ssa-copyrename.c: Removed.
1572 * opts.c (default_options_table): Drop -ftree-copyrename. Add
1573 -ftree-coalesce-vars.
1574 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
1575 * common.opt (ftree-copyrename): Ignore.
1576 (ftree-coalesce-inlined-vars): Likewise.
1577 * doc/invoke.texi: Remove the ignored options above.
1578 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
1579 * tree-ssa-coalesce.h: ... here.
1580 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
1581 headers required by it.
1582 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
1583 across variables when flag_tree_coalesce_vars. Check register
1584 use and promoted modes to allow coalescing. Moved to
1585 tree-ssa-coalesce.c.
1586 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
1587 with its member functions to tree-ssa-coalesce.c.
1588 (var_map_base_init): Likewise. Renamed to
1589 compute_samebase_partition_bases.
1590 (partition_view_normal): Drop want_bases parameter.
1591 (partition_view_bitmap): Likewise.
1592 * tree-ssa-live.h: Adjust declarations.
1593 * tree-ssa-coalesce.c: Include explow.h.
1594 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
1595 default defs at the entry point.
1596 (dump_part_var_map): New.
1597 (compute_optimized_partition_bases): New, called by...
1598 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
1599 of compute_samebase_partition_bases. Adjust.
1600 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
1601 * cfgexpand.c (leader_merge): New.
1602 (get_rtl_for_parm_ssa_default_def): New.
1603 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
1604 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
1605 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
1606 redundant MEM attr setting.
1607 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
1608 from...
1609 (expand_one_stack_var): ... this. New wrapper to check and
1610 skip already expanded SSA partitions.
1611 (record_alignment_for_reg_var): New, factored out of...
1612 (expand_one_var): ... this.
1613 (expand_one_ssa_partition): New.
1614 (adjust_one_expanded_partition_var): New.
1615 (expand_one_register_var): Check and skip already expanded SSA
1616 partitions.
1617 (expand_used_vars): Don't create DECLs for anonymous SSA
1618 names. Expand all SSA partitions, then adjust all SSA names.
1619 (pass::execute): Replace the loops that set
1620 SA.partition_to_pseudo from partition leaders and cleared
1621 DECL_RTL for multi-location variables, and that which used to
1622 rename vars and set attrs, with one that clears DECL_RTL and
1623 checks that PARMs and RESULTs default_defs match DECL_RTL.
1624 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
1625 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
1626 * explow.c (promote_ssa_mode): New.
1627 * explow.h (promote_ssa_mode): Declare.
1628 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
1629 * function.c: Include cfgexpand.h.
1630 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
1631 (use_register_for_parm_decl): Wrapper for the above to
1632 special-case the result_ptr.
1633 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
1634 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
1635 multiple locations.
1636 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
1637 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
1638 (assign_parm_setup_block): Prefer SSA-assigned location.
1639 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
1640 if stack_parm is NULL.
1641 (assign_parm_setup_stack): Prefer SSA-assigned location.
1642 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
1643 rtl before testing for pointer bounds. Special-case result_ptr.
1644 (expand_function_start): Maybe reset DECL_RTL of result.
1645 Prefer SSA-assigned location for result and static chain.
1646 Factor out DECL_RESULT and SET_DECL_RTL.
1647 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
1648 anonymous SSA names. Use promote_ssa_mode.
1649 (get_temp_reg): Likewise.
1650 (remove_ssa_form): Adjust.
1651 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
1652 and get its reg_usage for reg invalidation.
1653 (compute_bb_dataflow): Pass it insn.
1654 (emit_notes_in_bb): Likewise.
1655 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
1656 fail assert on conversion between unsigned types.
1657
c2f57691
TV
16582015-06-09 Tom de Vries <tom@codesourcery.com>
1659
1660 PR tree-optimization/65460
1661 * omp-low.c (expand_omp_target): Set parallelized_function on
1662 cgraph_node for child_fn.
1663
edafad14
TV
16642015-06-09 Tom de Vries <tom@codesourcery.com>
1665
1666 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
1667 parallelized_function before add_new_function.
1668
e677a9d4
AM
16692015-06-09 Andrew MacLeod <amacleod@redhat.com>
1670
1671 * gcc-plugin.h: Move decls to plugin.h and include it.
1672 * plugin.h: Relocate decls from gcc-plugin.h
1673 * ggc-page.c: Include required header files.
1674 * passes.c: Likewise.
1675 * cgraphunit.c: Likewise.
1676
86b76c20
TV
16772015-06-09 Tom de Vries <tom@codesourcery.com>
1678
1679 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
1680
a0e4b207
JM
16812015-06-09 Jason Merrill <jason@redhat.com>
1682
1683 PR bootstrap/66448
1684 * toplev.c (check_global_declaration): Don't warn about a clone.
1685
f2e609c3
MP
16862015-06-09 Marek Polacek <polacek@redhat.com>
1687
1688 PR tree-optimization/66299
1689 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
1690 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
1691 patterns.
1692
fe2bef71
RB
16932015-06-09 Richard Biener <rguenther@suse.de>
1694
1695 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
1696 (vect_analyze_slp_instance): Instead do not falsely drop
1697 load permutations.
1698
4ab1e111
RB
16992015-06-09 Richard Biener <rguenther@suse.de>
1700
1701 PR middle-end/66423
1702 * match.pd: Handle A % (unsigned)(1 << B).
1703
9aa5f7ec
AH
17042015-06-09 Aldy Hernandez <aldyh@redhat.com>
1705
1706 * varasm.c (output_object_block_htab): Remove.
1707 (output_object_block_compare): New.
1708 (output_object_blocks): Sort named object_blocks before outputting
1709 them.
1710
5b5826c4
RB
17112015-06-09 Richard Biener <rguenther@suse.de>
1712
1713 PR tree-optimization/66419
1714 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
1715 consider GROUP_GAP when detecting a perfect subchain.
1716
0a210a19
NC
17172015-06-09 Nick Clifton <nickc@redhat.com>
1718
1719 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
1720 place read only data in the .frodata section.
1721
99e9cec8
SC
17222015-06-09 Shiva Chen <shiva0217@gmail.com>
1723
1724 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
1725 (atomic_store<mode>): Likewise.
1726
d9c16ed2
RB
17272015-06-09 Richard Biener <rguenther@suse.de>
1728
1729 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
1730
2bdb7f56
RB
17312015-06-09 Richard Biener <rguenther@suse.de>
1732
1733 PR middle-end/66413
1734 * tree-inline.c (insert_init_debug_bind): Unshare value.
1735
d819fedb
RB
17362015-06-09 Richard Biener <rguenther@suse.de>
1737
1738 PR tree-optimization/66396
1739 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
1740 Rename virtual operands.
1741
e92e61a7
TV
17422015-06-09 Tom de Vries <tom@codesourcery.com>
1743
1744 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
1745 always return false.
1746
7b337d20
AO
17472015-06-09 Alexandre Oliva <aoliva@redhat.com>
1748
1749 PR rtl-optimization/64164
1750 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
1751 * tree-ssa-copyrename.c: Removed.
1752 * opts.c (default_options_table): Drop -ftree-copyrename. Add
1753 -ftree-coalesce-vars.
1754 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
1755 * common.opt (ftree-copyrename): Ignore.
1756 (ftree-coalesce-inlined-vars): Likewise.
1757 * doc/invoke.texi: Remove the ignored options above.
1758 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
1759 * tree-ssa-coalesce.h: ... here.
1760 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
1761 headers required by it.
1762 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
1763 across variables when flag_tree_coalesce_vars. Check register
1764 use and promoted modes to allow coalescing. Moved to
1765 tree-ssa-coalesce.c.
1766 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
1767 with its member functions to tree-ssa-coalesce.c.
1768 (var_map_base_init): Likewise. Renamed to
1769 compute_samebase_partition_bases.
1770 (partition_view_normal): Drop want_bases parameter.
1771 (partition_view_bitmap): Likewise.
1772 * tree-ssa-live.h: Adjust declarations.
1773 * tree-ssa-coalesce.c: Include explow.h.
1774 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
1775 default defs at the entry point.
1776 (dump_part_var_map): New.
1777 (compute_optimized_partition_bases): New, called by...
1778 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
1779 of compute_samebase_partition_bases. Adjust.
1780 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
1781 * cfgexpand.c (leader_merge): New.
1782 (get_rtl_for_parm_ssa_default_def): New.
1783 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
1784 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
1785 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
1786 redundant MEM attr setting.
1787 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
1788 from...
1789 (expand_one_stack_var): ... this. New wrapper to check and
1790 skip already expanded SSA partitions.
1791 (record_alignment_for_reg_var): New, factored out of...
1792 (expand_one_var): ... this.
1793 (expand_one_ssa_partition): New.
1794 (adjust_one_expanded_partition_var): New.
1795 (expand_one_register_var): Check and skip already expanded SSA
1796 partitions.
1797 (expand_used_vars): Don't create DECLs for anonymous SSA
1798 names. Expand all SSA partitions, then adjust all SSA names.
1799 (pass::execute): Replace the loops that set
1800 SA.partition_to_pseudo from partition leaders and cleared
1801 DECL_RTL for multi-location variables, and that which used to
1802 rename vars and set attrs, with one that clears DECL_RTL and
1803 checks that PARMs and RESULTs default_defs match DECL_RTL.
1804 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
1805 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
1806 * explow.c (promote_ssa_mode): New.
1807 * explow.h (promote_ssa_mode): Declare.
1808 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
1809 * function.c: Include cfgexpand.h.
1810 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
1811 (use_register_for_parm_decl): Wrapper for the above to
1812 special-case the result_ptr.
1813 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
1814 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
1815 multiple locations.
1816 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
1817 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
1818 (assign_parm_setup_block): Prefer SSA-assigned location.
1819 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
1820 if stack_parm is NULL.
1821 (assign_parm_setup_stack): Prefer SSA-assigned location.
1822 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
1823 rtl before testing for pointer bounds. Special-case result_ptr.
1824 (expand_function_start): Maybe reset DECL_RTL of result.
1825 Prefer SSA-assigned location for result and static chain.
1826 Factor out DECL_RESULT and SET_DECL_RTL.
1827 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
1828 anonymous SSA names. Use promote_ssa_mode.
1829 (get_temp_reg): Likewise.
1830 (remove_ssa_form): Adjust.
1831 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
1832 and get its reg_usage for reg invalidation.
1833 (compute_bb_dataflow): Pass it insn.
1834 (emit_notes_in_bb): Likewise.
1835 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
1836 fail assert on conversion between unsigned types.
1837
f79c81b9
AO
18382015-06-09 Alexandre Oliva <aoliva@redhat.com>
1839
1840 PR debug/58315
1841 * tree-inline.c (reset_debug_binding): New.
1842 (reset_debug_bindings): Likewise.
1843 (expand_call_inline): Call it.
1844
64578d98
JH
18452015-06-08 Jan Hubicka <hubicka@ucw.cz>
1846
1847 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
1848 TYPE_STRING_FLAG.
1849
44433db0
JH
18502015-06-08 Jan Hubicka <hubicka@ucw.cz>
1851
1852 * lto-streamer-out.c (lto_output_location): Stream
1853 reserved locations correctly.
1854 * lto-streamer-in.c (lto_output_location): Likewise.
1855
13fdf2e2
AM
18562015-06-08 Andrew MacLeod <amacleod@redhat.com>
1857
1858 * coretypes.h: Include hash-table.h and hash-set.h for host files.
1859 * ggc.h: Don't include statistics.h>
1860 * hash-map.h: Remove all includes.
1861 * hash-set.h: Likewise.
1862 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
1863 the include list. Remove <new>.
1864 * inchash.h: Remove all includes.
1865 * mem-stats.h: Likewise.
1866 * vec.h: No special processing for generators or ggc.
1867 * alias.c : Adjust include files.
1868 * alloc-pool.c : Likewise.
1869 * alloc-pool.h : Likewise.
1870 * asan.c : Likewise.
1871 * attribs.c : Likewise.
1872 * auto-inc-dec.c : Likewise.
1873 * auto-profile.c : Likewise.
1874 * bb-reorder.c : Likewise.
1875 * bitmap.c : Likewise.
1876 * bitmap.h : Likewise.
1877 * bt-load.c : Likewise.
1878 * builtins.c : Likewise.
1879 * caller-save.c : Likewise.
1880 * calls.c : Likewise.
1881 * ccmp.c : Likewise.
1882 * cfg.c : Likewise.
1883 * cfganal.c : Likewise.
1884 * cfgbuild.c : Likewise.
1885 * cfgcleanup.c : Likewise.
1886 * cfgexpand.c : Likewise.
1887 * cfghooks.c : Likewise.
1888 * cfgloop.c : Likewise.
1889 * cfgloop.h : Likewise.
1890 * cfgloopanal.c : Likewise.
1891 * cfgloopmanip.c : Likewise.
1892 * cfgrtl.c : Likewise.
1893 * cgraph.c : Likewise.
1894 * cgraphbuild.c : Likewise.
1895 * cgraphclones.c : Likewise.
1896 * cgraphunit.c : Likewise.
1897 * cilk-common.c : Likewise.
1898 * combine-stack-adj.c : Likewise.
1899 * combine.c : Likewise.
1900 * compare-elim.c : Likewise.
1901 * context.c : Likewise.
1902 * convert.c : Likewise.
1903 * coverage.c : Likewise.
1904 * cppbuiltin.c : Likewise.
1905 * cprop.c : Likewise.
1906 * cse.c : Likewise.
1907 * cselib.c : Likewise.
1908 * data-streamer-in.c : Likewise.
1909 * data-streamer-out.c : Likewise.
1910 * data-streamer.c : Likewise.
1911 * data-streamer.h : Likewise.
1912 * dbxout.c : Likewise.
1913 * dce.c : Likewise.
1914 * ddg.c : Likewise.
1915 * debug.c : Likewise.
1916 * df-core.c : Likewise.
1917 * df-problems.c : Likewise.
1918 * df-scan.c : Likewise.
1919 * df.h : Likewise.
1920 * dfp.c : Likewise.
1921 * dojump.c : Likewise.
1922 * dominance.c : Likewise.
1923 * domwalk.c : Likewise.
1924 * double-int.c : Likewise.
1925 * dse.c : Likewise.
1926 * dumpfile.c : Likewise.
1927 * dwarf2asm.c : Likewise.
1928 * dwarf2cfi.c : Likewise.
1929 * dwarf2out.c : Likewise.
1930 * emit-rtl.c : Likewise.
1931 * et-forest.c : Likewise.
1932 * except.c : Likewise.
1933 * except.h : Likewise.
1934 * explow.c : Likewise.
1935 * expmed.c : Likewise.
1936 * expr.c : Likewise.
1937 * final.c : Likewise.
1938 * fixed-value.c : Likewise.
1939 * fold-const.c : Likewise.
1940 * function.c : Likewise.
1941 * fwprop.c : Likewise.
1942 * gcc-plugin.h : Likewise.
1943 * gcc.c : Likewise.
1944 * gcse-common.c : Likewise.
1945 * gcse.c : Likewise.
1946 * genattrtab.c : Likewise.
1947 * genautomata.c : Likewise.
1948 * genconditions.c : Likewise.
1949 * genemit.c : Likewise.
1950 * generic-match-head.c : Likewise.
1951 * genextract.c : Likewise.
1952 * gengtype-state.c : Likewise.
1953 * gengtype.c : Likewise.
1954 * genhooks.c : Likewise.
1955 * genmatch.c : Likewise.
1956 * genmodes.c : Likewise.
1957 * genrecog.c : Likewise.
1958 * gensupport.c : Likewise.
1959 * ggc-common.c : Likewise.
1960 * ggc-internal.h : Likewise.
1961 * ggc-none.c : Likewise.
1962 * ggc-page.c : Likewise.
1963 * gimple-builder.c : Likewise.
1964 * gimple-expr.c : Likewise.
1965 * gimple-fold.c : Likewise.
1966 * gimple-iterator.c : Likewise.
1967 * gimple-low.c : Likewise.
1968 * gimple-match-head.c : Likewise.
1969 * gimple-pretty-print.c : Likewise.
1970 * gimple-ssa-isolate-paths.c : Likewise.
1971 * gimple-ssa-strength-reduction.c : Likewise.
1972 * gimple-ssa.h : Likewise.
1973 * gimple-streamer-in.c : Likewise.
1974 * gimple-streamer-out.c : Likewise.
1975 * gimple-streamer.h : Likewise.
1976 * gimple-walk.c : Likewise.
1977 * gimple.c : Likewise.
1978 * gimplify-me.c : Likewise.
1979 * gimplify.c : Likewise.
1980 * godump.c : Likewise.
1981 * graph.c : Likewise.
1982 * graphds.c : Likewise.
1983 * graphite-blocking.c : Likewise.
1984 * graphite-dependences.c : Likewise.
1985 * graphite-interchange.c : Likewise.
1986 * graphite-isl-ast-to-gimple.c : Likewise.
1987 * graphite-optimize-isl.c : Likewise.
1988 * graphite-poly.c : Likewise.
1989 * graphite-scop-detection.c : Likewise.
1990 * graphite-sese-to-poly.c : Likewise.
1991 * graphite.c : Likewise.
1992 * haifa-sched.c : Likewise.
1993 * hard-reg-set.h : Likewise.
1994 * hw-doloop.c : Likewise.
1995 * ifcvt.c : Likewise.
1996 * inchash.c : Likewise.
1997 * incpath.c : Likewise.
1998 * init-regs.c : Likewise.
1999 * input.c : Likewise.
2000 * internal-fn.c : Likewise.
2001 * ipa-chkp.c : Likewise.
2002 * ipa-comdats.c : Likewise.
2003 * ipa-cp.c : Likewise.
2004 * ipa-devirt.c : Likewise.
2005 * ipa-icf-gimple.c : Likewise.
2006 * ipa-icf.c : Likewise.
2007 * ipa-inline-analysis.c : Likewise.
2008 * ipa-inline-transform.c : Likewise.
2009 * ipa-inline.c : Likewise.
2010 * ipa-polymorphic-call.c : Likewise.
2011 * ipa-profile.c : Likewise.
2012 * ipa-prop.c : Likewise.
2013 * ipa-pure-const.c : Likewise.
2014 * ipa-ref.c : Likewise.
2015 * ipa-reference.c : Likewise.
2016 * ipa-split.c : Likewise.
2017 * ipa-utils.c : Likewise.
2018 * ipa-visibility.c : Likewise.
2019 * ipa.c : Likewise.
2020 * ira-build.c : Likewise.
2021 * ira-color.c : Likewise.
2022 * ira-conflicts.c : Likewise.
2023 * ira-costs.c : Likewise.
2024 * ira-emit.c : Likewise.
2025 * ira-lives.c : Likewise.
2026 * ira.c : Likewise.
2027 * jump.c : Likewise.
2028 * langhooks.c : Likewise.
2029 * lcm.c : Likewise.
2030 * libfuncs.h : Likewise.
2031 * lists.c : Likewise.
2032 * loop-doloop.c : Likewise.
2033 * loop-init.c : Likewise.
2034 * loop-invariant.c : Likewise.
2035 * loop-iv.c : Likewise.
2036 * loop-unroll.c : Likewise.
2037 * lower-subreg.c : Likewise.
2038 * lra-assigns.c : Likewise.
2039 * lra-coalesce.c : Likewise.
2040 * lra-constraints.c : Likewise.
2041 * lra-eliminations.c : Likewise.
2042 * lra-lives.c : Likewise.
2043 * lra-remat.c : Likewise.
2044 * lra-spills.c : Likewise.
2045 * lra.c : Likewise.
2046 * lto-cgraph.c : Likewise.
2047 * lto-compress.c : Likewise.
2048 * lto-opts.c : Likewise.
2049 * lto-section-in.c : Likewise.
2050 * lto-section-out.c : Likewise.
2051 * lto-streamer-in.c : Likewise.
2052 * lto-streamer-out.c : Likewise.
2053 * lto-streamer.c : Likewise.
2054 * lto-streamer.h : Likewise.
2055 * mcf.c : Likewise.
2056 * mode-switching.c : Likewise.
2057 * modulo-sched.c : Likewise.
2058 * omega.c : Likewise.
2059 * omp-low.c : Likewise.
2060 * optabs.c : Likewise.
2061 * opts-global.c : Likewise.
2062 * opts.h : Likewise.
2063 * passes.c : Likewise.
2064 * plugin.c : Likewise.
2065 * postreload-gcse.c : Likewise.
2066 * postreload.c : Likewise.
2067 * predict.c : Likewise.
2068 * print-rtl.c : Likewise.
2069 * print-tree.c : Likewise.
2070 * profile.c : Likewise.
2071 * read-md.c : Likewise.
2072 * read-md.h : Likewise.
2073 * read-rtl.c : Likewise.
2074 * real.c : Likewise.
2075 * realmpfr.c : Likewise.
2076 * recog.c : Likewise.
2077 * ree.c : Likewise.
2078 * reg-stack.c : Likewise.
2079 * regcprop.c : Likewise.
2080 * reginfo.c : Likewise.
2081 * regrename.c : Likewise.
2082 * regstat.c : Likewise.
2083 * reload.c : Likewise.
2084 * reload1.c : Likewise.
2085 * reorg.c : Likewise.
2086 * resource.c : Likewise.
2087 * rtl-chkp.c : Likewise.
2088 * rtl.c : Likewise.
2089 * rtl.h : Likewise.
2090 * rtlanal.c : Likewise.
2091 * rtlhash.c : Likewise.
2092 * rtlhash.h : Likewise.
2093 * rtlhooks.c : Likewise.
2094 * sanopt.c : Likewise.
2095 * sched-deps.c : Likewise.
2096 * sched-ebb.c : Likewise.
2097 * sched-rgn.c : Likewise.
2098 * sched-vis.c : Likewise.
2099 * sdbout.c : Likewise.
2100 * sel-sched-dump.c : Likewise.
2101 * sel-sched-ir.c : Likewise.
2102 * sel-sched-ir.h : Likewise.
2103 * sel-sched.c : Likewise.
2104 * sese.c : Likewise.
2105 * shrink-wrap.c : Likewise.
2106 * shrink-wrap.h : Likewise.
2107 * simplify-rtx.c : Likewise.
2108 * stack-ptr-mod.c : Likewise.
2109 * statistics.c : Likewise.
2110 * stmt.c : Likewise.
2111 * stor-layout.c : Likewise.
2112 * store-motion.c : Likewise.
2113 * stringpool.c : Likewise.
2114 * symtab.c : Likewise.
2115 * target-globals.c : Likewise.
2116 * targhooks.c : Likewise.
2117 * tlink.c : Likewise.
2118 * toplev.c : Likewise.
2119 * tracer.c : Likewise.
2120 * trans-mem.c : Likewise.
2121 * tree-affine.c : Likewise.
2122 * tree-affine.h : Likewise.
2123 * tree-browser.c : Likewise.
2124 * tree-call-cdce.c : Likewise.
2125 * tree-cfg.c : Likewise.
2126 * tree-cfgcleanup.c : Likewise.
2127 * tree-chkp-opt.c : Likewise.
2128 * tree-chkp.c : Likewise.
2129 * tree-chrec.c : Likewise.
2130 * tree-complex.c : Likewise.
2131 * tree-data-ref.c : Likewise.
2132 * tree-dfa.c : Likewise.
2133 * tree-diagnostic.c : Likewise.
2134 * tree-dump.c : Likewise.
2135 * tree-eh.c : Likewise.
2136 * tree-eh.h : Likewise.
2137 * tree-emutls.c : Likewise.
2138 * tree-hasher.h : Likewise.
2139 * tree-if-conv.c : Likewise.
2140 * tree-inline.c : Likewise.
2141 * tree-inline.h : Likewise.
2142 * tree-into-ssa.c : Likewise.
2143 * tree-iterator.c : Likewise.
2144 * tree-loop-distribution.c : Likewise.
2145 * tree-nested.c : Likewise.
2146 * tree-nrv.c : Likewise.
2147 * tree-object-size.c : Likewise.
2148 * tree-outof-ssa.c : Likewise.
2149 * tree-parloops.c : Likewise.
2150 * tree-phinodes.c : Likewise.
2151 * tree-predcom.c : Likewise.
2152 * tree-pretty-print.c : Likewise.
2153 * tree-profile.c : Likewise.
2154 * tree-scalar-evolution.c : Likewise.
2155 * tree-sra.c : Likewise.
2156 * tree-ssa-address.c : Likewise.
2157 * tree-ssa-alias.c : Likewise.
2158 * tree-ssa-ccp.c : Likewise.
2159 * tree-ssa-coalesce.c : Likewise.
2160 * tree-ssa-copy.c : Likewise.
2161 * tree-ssa-copyrename.c : Likewise.
2162 * tree-ssa-dce.c : Likewise.
2163 * tree-ssa-dom.c : Likewise.
2164 * tree-ssa-dse.c : Likewise.
2165 * tree-ssa-forwprop.c : Likewise.
2166 * tree-ssa-ifcombine.c : Likewise.
2167 * tree-ssa-live.c : Likewise.
2168 * tree-ssa-loop-ch.c : Likewise.
2169 * tree-ssa-loop-im.c : Likewise.
2170 * tree-ssa-loop-ivcanon.c : Likewise.
2171 * tree-ssa-loop-ivopts.c : Likewise.
2172 * tree-ssa-loop-manip.c : Likewise.
2173 * tree-ssa-loop-niter.c : Likewise.
2174 * tree-ssa-loop-prefetch.c : Likewise.
2175 * tree-ssa-loop-unswitch.c : Likewise.
2176 * tree-ssa-loop.c : Likewise.
2177 * tree-ssa-math-opts.c : Likewise.
2178 * tree-ssa-operands.c : Likewise.
2179 * tree-ssa-phiopt.c : Likewise.
2180 * tree-ssa-phiprop.c : Likewise.
2181 * tree-ssa-pre.c : Likewise.
2182 * tree-ssa-propagate.c : Likewise.
2183 * tree-ssa-reassoc.c : Likewise.
2184 * tree-ssa-sccvn.c : Likewise.
2185 * tree-ssa-scopedtables.c : Likewise.
2186 * tree-ssa-sink.c : Likewise.
2187 * tree-ssa-strlen.c : Likewise.
2188 * tree-ssa-structalias.c : Likewise.
2189 * tree-ssa-tail-merge.c : Likewise.
2190 * tree-ssa-ter.c : Likewise.
2191 * tree-ssa-threadedge.c : Likewise.
2192 * tree-ssa-threadupdate.c : Likewise.
2193 * tree-ssa-uncprop.c : Likewise.
2194 * tree-ssa-uninit.c : Likewise.
2195 * tree-ssa.c : Likewise.
2196 * tree-ssanames.c : Likewise.
2197 * tree-stdarg.c : Likewise.
2198 * tree-streamer-in.c : Likewise.
2199 * tree-streamer-out.c : Likewise.
2200 * tree-streamer.c : Likewise.
2201 * tree-streamer.h : Likewise.
2202 * tree-switch-conversion.c : Likewise.
2203 * tree-tailcall.c : Likewise.
2204 * tree-vect-data-refs.c : Likewise.
2205 * tree-vect-generic.c : Likewise.
2206 * tree-vect-loop-manip.c : Likewise.
2207 * tree-vect-loop.c : Likewise.
2208 * tree-vect-patterns.c : Likewise.
2209 * tree-vect-slp.c : Likewise.
2210 * tree-vect-stmts.c : Likewise.
2211 * tree-vectorizer.c : Likewise.
2212 * tree-vectorizer.h : Likewise.
2213 * tree-vrp.c : Likewise.
2214 * tree.c : Likewise.
2215 * tsan.c : Likewise.
2216 * ubsan.c : Likewise.
2217 * valtrack.c : Likewise.
2218 * valtrack.h : Likewise.
2219 * value-prof.c : Likewise.
2220 * var-tracking.c : Likewise.
2221 * varasm.c : Likewise.
2222 * varpool.c : Likewise.
2223 * vec.c: Likewise.
2224 * vmsdbgout.c : Likewise.
2225 * vtable-verify.c : Likewise.
2226 * vtable-verify.h : Likewise.
2227 * web.c : Likewise.
2228 * wide-int.cc : Likewise.
2229 * xcoffout.c : Likewise.
2230 * config/aarch64/aarch64-builtins.c : Likewise.
2231 * config/aarch64/aarch64.c : Likewise.
2232 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
2233 * config/alpha/alpha.c : Likewise.
2234 * config/arc/arc.c : Likewise.
2235 * config/arm/aarch-common.c : Likewise.
2236 * config/arm/arm-builtins.c : Likewise.
2237 * config/arm/arm-c.c : Likewise.
2238 * config/arm/arm.c : Likewise.
2239 * config/avr/avr-c.c : Likewise.
2240 * config/avr/avr-log.c : Likewise.
2241 * config/avr/avr.c : Likewise.
2242 * config/bfin/bfin.c : Likewise.
2243 * config/c6x/c6x.c : Likewise.
2244 * config/cr16/cr16.c : Likewise.
2245 * config/cris/cris.c : Likewise.
2246 * config/darwin-c.c : Likewise.
2247 * config/darwin.c : Likewise.
2248 * config/default-c.c : Likewise.
2249 * config/epiphany/epiphany.c : Likewise.
2250 * config/epiphany/mode-switch-use.c : Likewise.
2251 * config/epiphany/resolve-sw-modes.c : Likewise.
2252 * config/fr30/fr30.c : Likewise.
2253 * config/frv/frv.c : Likewise.
2254 * config/ft32/ft32.c : Likewise.
2255 * config/glibc-c.c : Likewise.
2256 * config/h8300/h8300.c : Likewise.
2257 * config/i386/i386-c.c : Likewise.
2258 * config/i386/i386.c : Likewise.
2259 * config/i386/msformat-c.c : Likewise.
2260 * config/i386/winnt-cxx.c : Likewise.
2261 * config/i386/winnt-stubs.c : Likewise.
2262 * config/i386/winnt.c : Likewise.
2263 * config/ia64/ia64-c.c : Likewise.
2264 * config/ia64/ia64.c : Likewise.
2265 * config/iq2000/iq2000.c : Likewise.
2266 * config/lm32/lm32.c : Likewise.
2267 * config/m32c/m32c-pragma.c : Likewise.
2268 * config/m32c/m32c.c : Likewise.
2269 * config/m32r/m32r.c : Likewise.
2270 * config/m68k/m68k.c : Likewise.
2271 * config/mcore/mcore.c : Likewise.
2272 * config/mep/mep-pragma.c : Likewise.
2273 * config/mep/mep.c : Likewise.
2274 * config/microblaze/microblaze-c.c : Likewise.
2275 * config/microblaze/microblaze.c : Likewise.
2276 * config/mips/mips.c : Likewise.
2277 * config/mmix/mmix.c : Likewise.
2278 * config/mn10300/mn10300.c : Likewise.
2279 * config/moxie/moxie.c : Likewise.
2280 * config/msp430/msp430-c.c : Likewise.
2281 * config/msp430/msp430.c : Likewise.
2282 * config/nds32/nds32-cost.c : Likewise.
2283 * config/nds32/nds32-fp-as-gp.c : Likewise.
2284 * config/nds32/nds32-intrinsic.c : Likewise.
2285 * config/nds32/nds32-isr.c : Likewise.
2286 * config/nds32/nds32-md-auxiliary.c : Likewise.
2287 * config/nds32/nds32-memory-manipulation.c : Likewise.
2288 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
2289 * config/nds32/nds32-predicates.c : Likewise.
2290 * config/nds32/nds32.c : Likewise.
2291 * config/nios2/nios2.c : Likewise.
2292 * config/nvptx/nvptx.c : Likewise.
2293 * config/pa/pa.c : Likewise.
2294 * config/pdp11/pdp11.c : Likewise.
2295 * config/rl78/rl78-c.c : Likewise.
2296 * config/rl78/rl78.c : Likewise.
2297 * config/rs6000/rs6000-c.c : Likewise.
2298 * config/rs6000/rs6000.c : Likewise.
2299 * config/rx/rx.c : Likewise.
2300 * config/s390/s390-c.c : Likewise.
2301 * config/s390/s390.c : Likewise.
2302 * config/sh/sh-c.c : Likewise.
2303 * config/sh/sh-mem.cc : Likewise.
2304 * config/sh/sh.c : Likewise.
2305 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
2306 * config/sh/sh_treg_combine.cc : Likewise.
2307 * config/sol2-c.c : Likewise.
2308 * config/sol2-cxx.c : Likewise.
2309 * config/sol2-stubs.c : Likewise.
2310 * config/sol2.c : Likewise.
2311 * config/sparc/sparc-c.c : Likewise.
2312 * config/sparc/sparc.c : Likewise.
2313 * config/spu/spu-c.c : Likewise.
2314 * config/spu/spu.c : Likewise.
2315 * config/stormy16/stormy16.c : Likewise.
2316 * config/tilegx/mul-tables.c : Likewise.
2317 * config/tilegx/tilegx-c.c : Likewise.
2318 * config/tilegx/tilegx.c : Likewise.
2319 * config/tilepro/mul-tables.c : Likewise.
2320 * config/tilepro/tilepro-c.c : Likewise.
2321 * config/tilepro/tilepro.c : Likewise.
2322 * config/v850/v850-c.c : Likewise.
2323 * config/v850/v850.c : Likewise.
2324 * config/vax/vax.c : Likewise.
2325 * config/visium/visium.c : Likewise.
2326 * config/vms/vms-c.c : Likewise.
2327 * config/vms/vms.c : Likewise.
2328 * config/vxworks.c : Likewise.
2329 * config/winnt-c.c : Likewise.
2330 * config/xtensa/xtensa.c : Likewise.
2331
6542950e
JH
23322015-06-08 Jan Hubicka <hubicka@ucw.cz>
2333
2334 PR lto/65378
2335 * ipa-utils.h (warn_types_mismatch): Update prototype.
2336 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
2337 parameters.
2338 (type_mismatch_p): New function.
2339 (warn_types_mismatch): Reorg to work better on non-C++ types.
2340 (odr_types_equivalent_p): Add loc1/loc2 parameters.
2341 (add_type_duplicate): Update.
2342
97ded4cd
TV
23432015-06-08 Tom de Vries <tom@codesourcery.com>
2344
2345 PR rtl-optimization/66444
2346 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
2347 call_used_regs.
2348
ad3e2ba0
RB
23492015-06-08 Richard Biener <rguenther@suse.de>
2350
2351 PR tree-optimization/66422
2352 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
2353 block after inserted gcc_unreachable.
2354
e50869f7
NC
23552015-06-08 Nick Clifton <nickc@redhat.com>
2356
2357 * config/rx/rx.c (rx_function_value): Do not promote vector types.
2358 (rx_promote_function_mode): Likewise.
2359 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
2360
66c277f1
JJ
23612015-06-08 Jakub Jelinek <jakub@redhat.com>
2362
2363 * genattrtab.c (insn_alternatives): Change type from int *
2364 to uint64_t *.
2365 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
2366 (get_attr_value): Change type of num_alt to uint64_t.
2367 (compute_alternative_mask): Change return type from
2368 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
2369 (make_alternative_compare, mk_attr_alt): Change argument type
2370 from int to uint64_t.
2371 (simplify_test_exp): Change type of i from int to uint64_t.
2372 Shift ((uint64_t) 1) instead of 1 up.
2373 (main): Adjust oballocvec first argument from int to uint64_t.
2374 Shift ((uint64_t) 1) instead of 1 up.
2375
74103219
JK
23762015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
2377
2378 PR other/65366
2379 * gdbhooks.py: Import sys.
2380 (intptr): New function. Replace int(...) by intptr(...).
2381
9b999e8c
RB
23822015-06-08 Richard Biener <rguenther@suse.de>
2383
2384 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
2385 adjustment for gaps at the end of a SLP load group properly.
2386 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
2387 all permutations we can generate.
2388 (vect_transform_slp_perm_load): Use the correct group-size.
2389
7026b8df
MG
23902015-06-08 Marc Glisse <marc.glisse@inria.fr>
2391
2392 * genmatch.c (expr::gen_transform): For conditions, guess the type
2393 from the second operand.
2394
1b7f61eb
TV
23952015-06-08 Tom de Vries <tom@codesourcery.com>
2396
2397 PR tree-optimization/66442
2398 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
2399 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
2400 if the loop latch is not a singleton. Use
2401 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
2402
d216b2e0
MP
24032015-06-08 Marek Polacek <polacek@redhat.com>
2404
2405 PR sanitizer/66452
2406 * toplev.c (check_global_declaration): Don't warn about artificial
2407 decls.
2408
88d91afd
TV
24092015-06-08 Tom de Vries <tom@codesourcery.com>
2410
2411 PR tree-optimization/66436
2412 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
2413 dump file.
2414 * gimplify.c: Add tree-dump.h include.
2415 (gimplify_function_tree): Dump function to gimple dump file.
2416 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
2417 dump file.
2418
9452ef06
TV
24192015-06-08 Tom de Vries <tom@codesourcery.com>
2420
2421 PR tree-optimization/66435
2422 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
2423 function.
2424
ccb5ad37
JH
24252015-06-06 Jan Hubicka <hubicka@ucw.cz>
2426
2427 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
2428 of ptr_type_node to not be ptr_to_node.
2429 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
2430 TREE_TYPE of pointers.
2431 * gimple-expr.c (useless_type_conversion): Reorder the check for
2432 function pointers and TYPE_CANONICAL.
2433
08b5b29e
JDA
24342015-06-06 John David Anglin <danglin@gcc.gnu.org>
2435
2436 PR bootstrap/66319
2437 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
2438 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
2439 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
2440 later.
2441 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
2442 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
2443 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
2444 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
2445 and non iso if unix2003.
2446
5a7929c8
AH
24472015-06-06 Aldy Hernandez <aldyh@redhat.com>
2448
2449 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
2450
e67d1102
RS
24512015-06-06 Richard Sandiford <richard.sandiford@arm.com>
2452
2453 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
2454 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
2455 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
2456 except.c, final.c, function.c, gcse-common.c, genemit.c,
2457 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
2458 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
2459 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
2460 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
2461 more derived ones.
2462
bb5c4956
MM
24632015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
2464
2465 * combine.c (combine_split_insns): Remove cast.
2466 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
2467 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
2468 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
2469 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
2470 * genemit.c (gen_split): Change return type of generated functions to
2471 rtx_insn.
2472 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
2473 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
2474 gen_peephole2_* functions.
2475 (print_subroutine, main): Likewise.
2476 * recog.c (peephole2_optimize): Remove cast.
2477 (peep2_next_insn): Promote return type to rtx_insn.
2478 * recog.h (peep2_next_insn): Fix prototype.
2479 * rtl.h (try_split, split_insns): Likewise.
2480
2bc43588
DD
24812015-06-06 DJ Delorie <dj@redhat.com>
2482
2483 * config/msp430/msp430.c (msp430_asm_integer): Support addition
2484 and subtraction too.
2485
852776b3
KK
24862015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
2487
2488 PR target/66410
2489 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
2490 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
2491 instead of Snd. Disparage Sid/z alternative with '^'.
2492
d7438551
AH
24932015-06-05 Aldy Hernandez <aldyh@redhat.com>
2494
2495 * dwarf2out.c: Remove deferred_locations*.
2496 (dwarf2_debug_hooks): Add early_finish hook.
2497 Remove global_decl hook.
2498 Add early_global_decl and late_global_decl hook.
2499 New global early_dwarf.
2500 New structure set_early_dwarf.
2501 (output_die): Indicate whether a DIE was generated early
2502 when generating assembly with -dA.
2503 (struct limbo_die_struct): Document created_for field.
2504 Remove file_table_last_lookup.
2505 (remove_AT): Return TRUE if successful.
2506 (remove_child_TAG): Clear die_parent.
2507 (reparent_child): New function abstracted from...
2508 (splice_child_die): ...here.
2509 (new_die): ICE if a DIE ends up in limbo too late.
2510 (check_die): New.
2511 (defer_location): Remove.
2512 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
2513 (fill_variable_array_bounds): New.
2514 (decl_start_label): Call fill_variable_array_bounds.
2515 (gen_formal_parameter_die): Rewrite to reuse previously generated
2516 DIEs.
2517 (gen_subprogram_die): Same.
2518 (gen_variable_die): Same.
2519 (gen_const_die): Same.
2520 (gen_label_die): Same.
2521 (gen_lexical_block_die): Same.
2522 (decl_will_get_specification_p): New.
2523 (local_function_static): New.
2524 (gen_struct_or_union_type_die): Fill in variable-length fields.
2525 (gen_typedef_die): Fill in variable-length typedefs.
2526 (gen_tagged_type_die): Gracefully return on error_mark_node.
2527 Handle re-entrancy.
2528 (gen_type_die_with_usage): Handle variable-length types.
2529 Remove duplicate code for ARRAY_TYPE case.
2530 (process_scope_var): Only process imported modules during early
2531 dwarf.
2532 (dwarf2out_early_global_decl): New.
2533 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
2534 (dwarf2out_type_decl): Set early_dwarf while calling
2535 dwarf2out_decl.
2536 (dwarf2out_decl): Verify that we did not recreate a previously
2537 generated DIE.
2538 Do not return on DECL_EXTERNALs in VAR_DECLs.
2539 Abstract some code to local_function_static.
2540 (lookup_filename): Remove use of file_table_last_lookup.
2541 Gracefully exit on missing file_name.
2542 (dwarf2out_finish): Verify limbo list.
2543 Remove deferred_locations_list use.
2544 Move deferred_asm_name and limbo flushing to...
2545 (dwarf2out_early_finish): ...here. New.
2546 (dwarf2out_c_finalize): Remove set of deferred_location_list,
2547 deferred_asm_name, and file_table_last_lookup.
2548 * cgraph.h (referred_to_p): Add default argument.
2549 * cgraphunit.c (referred_to_p): Add and handle include_self
2550 argument.
2551 (analyze_functions): Add first_time argument.
2552 Call check_global_declaration for all symbols.
2553 Call late_global_decl for nodes for moribund nodes.
2554 (finalize_compilation_unit): Add new argument to
2555 analyze_functions.
2556 Call early_global_decl for functions.
2557 Call early_finish debug hook.
2558 * dbxout.c (dbxout_early_global_decl): New.
2559 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
2560 (dbx_debug_hooks): Add new hooks.
2561 (xcoff_debug_hooks): Same.
2562 * debug.c (do_nothing_debug_hooks): Add early_finish field.
2563 Add early and late debug hooks.
2564 Remove global_decl hook.
2565 * debug.h (struct gcc_debug_hooks): Add early_finish,
2566 early_global_decl, and late_global_decl fields.
2567 Remove global_decl field.
2568 Document gcc_debug_hooks.
2569 * gengtype.c (output_typename): Remove.
2570 * godump.c (go_early_global_decl): New.
2571 (go_late_global_decl): New.
2572 (go_global_decl): Remove.
2573 (dump_go_spec_init): Remove global_decl. Add
2574 {early,late}_global_decl.
2575 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
2576 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
2577 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
2578 (write_global_declarations): Remove.
2579 (global_decl_processing): New.
2580 * langhooks.h (struct lang_hooks_for_decls): Remove
2581 final_write_globals field.
2582 Add post_compilation_parsing_cleanups field.
2583 * passes.c (rest_of_decl_compilation): Call early_global_decl.
2584 * sdbout.c: Add early and late_global_decl hooks. Remove
2585 sdbout_global_decl hook.
2586 Add early_finish field for sdb_debug_hooks.
2587 (sdbout_global_decl): Remove.
2588 (sdbout_early_global_decl): New.
2589 (sdbout_late_global_decl): New.
2590 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
2591 * toplev.c (check_global_declaration): Rename from
2592 check_global_declaration_1.
2593 Adapt to use symtab infrastructure.
2594 (check_global_declarations): Remove.
2595 (emit_debug_global_declarations): Remove.
2596 (compile_file): Remove call to final_write_globals langhook.
2597 Run the actual compilation process.
2598 Perform any post compilation parser cleanups.
2599 Generate late debug info.
2600 * toplev.h (check_global_declaration): New.
2601 (check_global_declaration_1): Remove.
2602 (check_global_declarations): Remove.
2603 (write_global_declarations): Remove.
2604 (emit_debug_global_declarations): Remove.
2605 (global_decl_processing): New.
2606 * tree-core.h (struct tree_block): Add DIE field.
2607 * tree.h (BLOCK_DIE): New.
2608 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
2609 throughout.
2610 (vmsdbgout_early_global_decl): New.
2611 (vmsdbgout_late_global_decl): New.
2612 Add early_finish debug hook field to vmsdbg_debug_hooks.
2613 Remove vmsdbgout_decl to vmsdbgout_function_decl.
2614 Add early and late_global_decl debug hooks.
2615
e918809c
JB
26162015-06-05 Julian Brown <julian@codesourcery.com>
2617 Sandra Loosemore <sandra@codesourcery.com>
2618
2619 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
2620 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
2621 to print-sysroot-suffix.sh script.
2622
7c82d827
TV
26232015-06-05 Tom de Vries <tom@codesourcery.com>
2624
2625 merge from gomp4 branch:
2626 2015-05-28 Tom de Vries <tom@codesourcery.com>
2627
2628 PR tree-optimization/65443
2629 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
2630 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
2631 (try_transform_to_exit_first_loop_alt): New function.
2632 (transform_to_exit_first_loop): Use
2633 try_transform_to_exit_first_loop_alt.
2634
f8940d4a
JG
26352015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
2636
2637 * builtins.c (expand_builtin_atomic_compare_exchange): Call
2638 emit_cmp_and_jump_insns with the mode of target.
2639
edf1fd6d
VK
26402015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2641
2642 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
2643
14ae1d88
DD
26442015-06-04 DJ Delorie <dj@redhat.com>
2645
2646 * config/msp430/msp430.md (movsi_s): New. Special case for
2647 storing a 20-bit symbol into a 32-bit register.
2648 * config/msp430/msp430.c (msp430_subreg): Add support for it.
2649 * config/msp430/predicates.md (msp430_symbol_operand): New.
2650
4bb794e2
ST
26512015-06-04 Sriraman Tallam <tmsriram@google.com>
2652
2653 * c-family/c-common.c (noplt): New attribute.
2654 (handle_noplt_attribute): New handler.
2655 * calls.c (prepare_call_address): Check for noplt
2656 attribute.
2657 * config/i386/i386.c (ix86_expand_call): Check
2658 for noplt attribute.
2659 (ix86_nopic_noplt_attribute_p): New function.
2660 (ix86_output_call_insn): Output indirect call for non-pic
2661 no plt calls.
2662 * doc/extend.texi (noplt): Document new attribute.
2663 * doc/invoke.texi: Document new attribute.
2664
ecb9f223
AM
26652015-06-04 Andrew MacLeod <amacleod@redhat.com>
2666
2667 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
2668 real.h, and fixed-value.h when included in host source files.
2669 * double-int.h: Remove redundant #includes listed above.
2670 * fixed-value.h: Likewise.
2671 * real.h: Likewise.
2672 * wide-int.h: Likewise.
2673 * inchash.h: Likewise.
2674 * rtl.h: Add some include files When included from a generator file.
2675 * target.h: Remove wide-int.h and insn-modes.h from the include list.
2676 * internal-fn.h: Don't include coretypes.h.
2677 * alias.c: Adjust includes for restructured coretypes.h.
2678 * asan.c: Likewise.
2679 * attribs.c: Likewise.
2680 * auto-inc-dec.c: Likewise.
2681 * auto-profile.c: Likewise.
2682 * bb-reorder.c: Likewise.
2683 * bt-load.c: Likewise.
2684 * builtins.c: Likewise.
2685 * caller-save.c: Likewise.
2686 * calls.c: Likewise.
2687 * ccmp.c: Likewise.
2688 * cfg.c: Likewise.
2689 * cfganal.c: Likewise.
2690 * cfgbuild.c: Likewise.
2691 * cfgcleanup.c: Likewise.
2692 * cfgexpand.c: Likewise.
2693 * cfghooks.c: Likewise.
2694 * cfgloop.c: Likewise.
2695 * cfgloop.h: Likewise.
2696 * cfgloopanal.c: Likewise.
2697 * cfgloopmanip.c: Likewise.
2698 * cfgrtl.c: Likewise.
2699 * cgraph.c: Likewise.
2700 * cgraphbuild.c: Likewise.
2701 * cgraphclones.c: Likewise.
2702 * cgraphunit.c: Likewise.
2703 * cilk-common.c: Likewise.
2704 * combine-stack-adj.c: Likewise.
2705 * combine.c: Likewise.
2706 * compare-elim.c: Likewise.
2707 * convert.c: Likewise.
2708 * coverage.c: Likewise.
2709 * cppbuiltin.c: Likewise.
2710 * cprop.c: Likewise.
2711 * cse.c: Likewise.
2712 * cselib.c: Likewise.
2713 * data-streamer-in.c: Likewise.
2714 * data-streamer-out.c: Likewise.
2715 * data-streamer.c: Likewise.
2716 * dbxout.c: Likewise.
2717 * dce.c: Likewise.
2718 * ddg.c: Likewise.
2719 * debug.c: Likewise.
2720 * df-core.c: Likewise.
2721 * df-problems.c: Likewise.
2722 * df-scan.c: Likewise.
2723 * df.h: Likewise.
2724 * dfp.c: Likewise.
2725 * dojump.c: Likewise.
2726 * dominance.c: Likewise.
2727 * domwalk.c: Likewise.
2728 * double-int.c: Likewise.
2729 * dse.c: Likewise.
2730 * dumpfile.c: Likewise.
2731 * dwarf2asm.c: Likewise.
2732 * dwarf2cfi.c: Likewise.
2733 * dwarf2out.c: Likewise.
2734 * dwarf2out.h: Likewise.
2735 * emit-rtl.c: Likewise.
2736 * et-forest.c: Likewise.
2737 * except.c: Likewise.
2738 * explow.c: Likewise.
2739 * expmed.c: Likewise.
2740 * expr.c: Likewise.
2741 * final.c: Likewise.
2742 * fixed-value.c: Likewise.
2743 * fold-const.c: Likewise.
2744 * function.c: Likewise.
2745 * fwprop.c: Likewise.
2746 * gcc-plugin.h: Likewise.
2747 * gcse.c: Likewise.
2748 * generic-match-head.c: Likewise.
2749 * ggc-page.c: Likewise.
2750 * gimple-builder.c: Likewise.
2751 * gimple-expr.c: Likewise.
2752 * gimple-fold.c: Likewise.
2753 * gimple-iterator.c: Likewise.
2754 * gimple-low.c: Likewise.
2755 * gimple-match-head.c: Likewise.
2756 * gimple-pretty-print.c: Likewise.
2757 * gimple-ssa-isolate-paths.c: Likewise.
2758 * gimple-ssa-strength-reduction.c: Likewise.
2759 * gimple-streamer-in.c: Likewise.
2760 * gimple-streamer-out.c: Likewise.
2761 * gimple-streamer.h: Likewise.
2762 * gimple-walk.c: Likewise.
2763 * gimple.c: Likewise.
2764 * gimplify-me.c: Likewise.
2765 * gimplify.c: Likewise.
2766 * godump.c: Likewise.
2767 * graph.c: Likewise.
2768 * graphite-blocking.c: Likewise.
2769 * graphite-dependences.c: Likewise.
2770 * graphite-interchange.c: Likewise.
2771 * graphite-isl-ast-to-gimple.c: Likewise.
2772 * graphite-optimize-isl.c: Likewise.
2773 * graphite-poly.c: Likewise.
2774 * graphite-scop-detection.c: Likewise.
2775 * graphite-sese-to-poly.c: Likewise.
2776 * graphite.c: Likewise.
2777 * haifa-sched.c: Likewise.
2778 * hooks.h: Likewise.
2779 * hw-doloop.c: Likewise.
2780 * ifcvt.c: Likewise.
2781 * incpath.c: Likewise.
2782 * init-regs.c: Likewise.
2783 * internal-fn.c: Likewise.
2784 * ipa-chkp.c: Likewise.
2785 * ipa-comdats.c: Likewise.
2786 * ipa-cp.c: Likewise.
2787 * ipa-devirt.c: Likewise.
2788 * ipa-icf-gimple.c: Likewise.
2789 * ipa-icf.c: Likewise.
2790 * ipa-inline-analysis.c: Likewise.
2791 * ipa-inline-transform.c: Likewise.
2792 * ipa-inline.c: Likewise.
2793 * ipa-polymorphic-call.c: Likewise.
2794 * ipa-profile.c: Likewise.
2795 * ipa-prop.c: Likewise.
2796 * ipa-pure-const.c: Likewise.
2797 * ipa-ref.c: Likewise.
2798 * ipa-reference.c: Likewise.
2799 * ipa-split.c: Likewise.
2800 * ipa-utils.c: Likewise.
2801 * ipa-visibility.c: Likewise.
2802 * ipa.c: Likewise.
2803 * ira-build.c: Likewise.
2804 * ira-color.c: Likewise.
2805 * ira-conflicts.c: Likewise.
2806 * ira-costs.c: Likewise.
2807 * ira-emit.c: Likewise.
2808 * ira-lives.c: Likewise.
2809 * ira.c: Likewise.
2810 * jump.c: Likewise.
2811 * langhooks.c: Likewise.
2812 * lcm.c: Likewise.
2813 * loop-doloop.c: Likewise.
2814 * loop-init.c: Likewise.
2815 * loop-invariant.c: Likewise.
2816 * loop-iv.c: Likewise.
2817 * loop-unroll.c: Likewise.
2818 * lower-subreg.c: Likewise.
2819 * lra-assigns.c: Likewise.
2820 * lra-coalesce.c: Likewise.
2821 * lra-constraints.c: Likewise.
2822 * lra-eliminations.c: Likewise.
2823 * lra-lives.c: Likewise.
2824 * lra-remat.c: Likewise.
2825 * lra-spills.c: Likewise.
2826 * lra.c: Likewise.
2827 * lto-cgraph.c: Likewise.
2828 * lto-compress.c: Likewise.
2829 * lto-opts.c: Likewise.
2830 * lto-section-in.c: Likewise.
2831 * lto-section-out.c: Likewise.
2832 * lto-streamer-in.c: Likewise.
2833 * lto-streamer-out.c: Likewise.
2834 * lto-streamer.c: Likewise.
2835 * mcf.c: Likewise.
2836 * mode-switching.c: Likewise.
2837 * modulo-sched.c: Likewise.
2838 * omega.c: Likewise.
2839 * omp-low.c: Likewise.
2840 * optabs.c: Likewise.
2841 * opts-global.c: Likewise.
2842 * passes.c: Likewise.
2843 * plugin.c: Likewise.
2844 * postreload-gcse.c: Likewise.
2845 * postreload.c: Likewise.
2846 * predict.c: Likewise.
2847 * print-rtl.c: Likewise.
2848 * print-tree.c: Likewise.
2849 * profile.c: Likewise.
2850 * real.c: Likewise.
2851 * realmpfr.c: Likewise.
2852 * realmpfr.h: Likewise.
2853 * recog.c: Likewise.
2854 * ree.c: Likewise.
2855 * reg-stack.c: Likewise.
2856 * regcprop.c: Likewise.
2857 * reginfo.c: Likewise.
2858 * regrename.c: Likewise.
2859 * regs.h: Likewise.
2860 * regstat.c: Likewise.
2861 * reload.c: Likewise.
2862 * reload1.c: Likewise.
2863 * reorg.c: Likewise.
2864 * resource.c: Likewise.
2865 * rtl-chkp.c: Likewise.
2866 * rtlanal.c: Likewise.
2867 * rtlhooks.c: Likewise.
2868 * sanopt.c: Likewise.
2869 * sched-deps.c: Likewise.
2870 * sched-ebb.c: Likewise.
2871 * sched-rgn.c: Likewise.
2872 * sched-vis.c: Likewise.
2873 * sdbout.c: Likewise.
2874 * sel-sched-dump.c: Likewise.
2875 * sel-sched-ir.c: Likewise.
2876 * sel-sched.c: Likewise.
2877 * sese.c: Likewise.
2878 * shrink-wrap.c: Likewise.
2879 * shrink-wrap.h: Likewise.
2880 * simplify-rtx.c: Likewise.
2881 * stack-ptr-mod.c: Likewise.
2882 * statistics.c: Likewise.
2883 * stmt.c: Likewise.
2884 * stor-layout.c: Likewise.
2885 * store-motion.c: Likewise.
2886 * stringpool.c: Likewise.
2887 * symtab.c: Likewise.
2888 * target-globals.c: Likewise.
2889 * targhooks.c: Likewise.
2890 * toplev.c: Likewise.
2891 * tracer.c: Likewise.
2892 * trans-mem.c: Likewise.
2893 * tree-affine.c: Likewise.
2894 * tree-affine.h: Likewise.
2895 * tree-browser.c: Likewise.
2896 * tree-call-cdce.c: Likewise.
2897 * tree-cfg.c: Likewise.
2898 * tree-cfgcleanup.c: Likewise.
2899 * tree-chkp-opt.c: Likewise.
2900 * tree-chkp.c: Likewise.
2901 * tree-chrec.c: Likewise.
2902 * tree-complex.c: Likewise.
2903 * tree-data-ref.c: Likewise.
2904 * tree-dfa.c: Likewise.
2905 * tree-diagnostic.c: Likewise.
2906 * tree-dump.c: Likewise.
2907 * tree-eh.c: Likewise.
2908 * tree-emutls.c: Likewise.
2909 * tree-if-conv.c: Likewise.
2910 * tree-inline.c: Likewise.
2911 * tree-into-ssa.c: Likewise.
2912 * tree-iterator.c: Likewise.
2913 * tree-loop-distribution.c: Likewise.
2914 * tree-nested.c: Likewise.
2915 * tree-nrv.c: Likewise.
2916 * tree-object-size.c: Likewise.
2917 * tree-outof-ssa.c: Likewise.
2918 * tree-parloops.c: Likewise.
2919 * tree-phinodes.c: Likewise.
2920 * tree-predcom.c: Likewise.
2921 * tree-pretty-print.c: Likewise.
2922 * tree-pretty-print.h: Likewise.
2923 * tree-profile.c: Likewise.
2924 * tree-scalar-evolution.c: Likewise.
2925 * tree-sra.c: Likewise.
2926 * tree-ssa-address.c: Likewise.
2927 * tree-ssa-alias.c: Likewise.
2928 * tree-ssa-ccp.c: Likewise.
2929 * tree-ssa-coalesce.c: Likewise.
2930 * tree-ssa-copy.c: Likewise.
2931 * tree-ssa-copyrename.c: Likewise.
2932 * tree-ssa-dce.c: Likewise.
2933 * tree-ssa-dom.c: Likewise.
2934 * tree-ssa-dse.c: Likewise.
2935 * tree-ssa-forwprop.c: Likewise.
2936 * tree-ssa-ifcombine.c: Likewise.
2937 * tree-ssa-live.c: Likewise.
2938 * tree-ssa-loop-ch.c: Likewise.
2939 * tree-ssa-loop-im.c: Likewise.
2940 * tree-ssa-loop-ivcanon.c: Likewise.
2941 * tree-ssa-loop-ivopts.c: Likewise.
2942 * tree-ssa-loop-manip.c: Likewise.
2943 * tree-ssa-loop-niter.c: Likewise.
2944 * tree-ssa-loop-prefetch.c: Likewise.
2945 * tree-ssa-loop-unswitch.c: Likewise.
2946 * tree-ssa-loop.c: Likewise.
2947 * tree-ssa-loop.h: Likewise.
2948 * tree-ssa-math-opts.c: Likewise.
2949 * tree-ssa-operands.c: Likewise.
2950 * tree-ssa-phiopt.c: Likewise.
2951 * tree-ssa-phiprop.c: Likewise.
2952 * tree-ssa-pre.c: Likewise.
2953 * tree-ssa-propagate.c: Likewise.
2954 * tree-ssa-reassoc.c: Likewise.
2955 * tree-ssa-sccvn.c: Likewise.
2956 * tree-ssa-scopedtables.c: Likewise.
2957 * tree-ssa-sink.c: Likewise.
2958 * tree-ssa-strlen.c: Likewise.
2959 * tree-ssa-structalias.c: Likewise.
2960 * tree-ssa-tail-merge.c: Likewise.
2961 * tree-ssa-ter.c: Likewise.
2962 * tree-ssa-threadedge.c: Likewise.
2963 * tree-ssa-threadupdate.c: Likewise.
2964 * tree-ssa-uncprop.c: Likewise.
2965 * tree-ssa-uninit.c: Likewise.
2966 * tree-ssa.c: Likewise.
2967 * tree-ssanames.c: Likewise.
2968 * tree-stdarg.c: Likewise.
2969 * tree-streamer-in.c: Likewise.
2970 * tree-streamer-out.c: Likewise.
2971 * tree-streamer.c: Likewise.
2972 * tree-switch-conversion.c: Likewise.
2973 * tree-tailcall.c: Likewise.
2974 * tree-vect-data-refs.c: Likewise.
2975 * tree-vect-generic.c: Likewise.
2976 * tree-vect-loop-manip.c: Likewise.
2977 * tree-vect-loop.c: Likewise.
2978 * tree-vect-patterns.c: Likewise.
2979 * tree-vect-slp.c: Likewise.
2980 * tree-vect-stmts.c: Likewise.
2981 * tree-vectorizer.c: Likewise.
2982 * tree-vrp.c: Likewise.
2983 * tree.c: Likewise.
2984 * tsan.c: Likewise.
2985 * ubsan.c: Likewise.
2986 * valtrack.c: Likewise.
2987 * value-prof.c: Likewise.
2988 * var-tracking.c: Likewise.
2989 * varasm.c: Likewise.
2990 * varpool.c: Likewise.
2991 * vmsdbgout.c: Likewise.
2992 * vtable-verify.c: Likewise.
2993 * web.c: Likewise.
2994 * wide-int-print.cc: Likewise.
2995 * wide-int-print.h: Likewise.
2996 * wide-int.cc: Likewise.
2997 * xcoffout.c: Likewise.
2998 * config/aarch64/aarch64-builtins.c: Likewise.
2999 * config/aarch64/aarch64.c: Likewise.
3000 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
3001 * config/alpha/alpha.c: Likewise.
3002 * config/arc/arc.c: Likewise.
3003 * config/arm/aarch-common.c: Likewise.
3004 * config/arm/arm-builtins.c: Likewise.
3005 * config/arm/arm-c.c: Likewise.
3006 * config/arm/arm.c: Likewise.
3007 * config/avr/avr-c.c: Likewise.
3008 * config/avr/avr-log.c: Likewise.
3009 * config/avr/avr.c: Likewise.
3010 * config/bfin/bfin.c: Likewise.
3011 * config/c6x/c6x.c: Likewise.
3012 * config/cr16/cr16.c: Likewise.
3013 * config/cris/cris.c: Likewise.
3014 * config/darwin-c.c: Likewise.
3015 * config/darwin.c: Likewise.
3016 * config/default-c.c: Likewise.
3017 * config/epiphany/epiphany.c: Likewise.
3018 * config/epiphany/mode-switch-use.c: Likewise.
3019 * config/epiphany/resolve-sw-modes.c: Likewise.
3020 * config/fr30/fr30.c: Likewise.
3021 * config/frv/frv.c: Likewise.
3022 * config/ft32/ft32.c: Likewise.
3023 * config/glibc-c.c: Likewise.
3024 * config/h8300/h8300.c: Likewise.
3025 * config/i386/i386-c.c: Likewise.
3026 * config/i386/i386.c: Likewise.
3027 * config/i386/msformat-c.c: Likewise.
3028 * config/i386/winnt-cxx.c: Likewise.
3029 * config/i386/winnt-stubs.c: Likewise.
3030 * config/i386/winnt.c: Likewise.
3031 * config/ia64/ia64-c.c: Likewise.
3032 * config/ia64/ia64.c: Likewise.
3033 * config/iq2000/iq2000.c: Likewise.
3034 * config/lm32/lm32.c: Likewise.
3035 * config/m32c/m32c-pragma.c: Likewise.
3036 * config/m32c/m32c.c: Likewise.
3037 * config/m32r/m32r.c: Likewise.
3038 * config/m68k/m68k.c: Likewise.
3039 * config/mcore/mcore.c: Likewise.
3040 * config/mep/mep-pragma.c: Likewise.
3041 * config/mep/mep.c: Likewise.
3042 * config/microblaze/microblaze-c.c: Likewise.
3043 * config/microblaze/microblaze.c: Likewise.
3044 * config/mips/mips.c: Likewise.
3045 * config/mmix/mmix.c: Likewise.
3046 * config/mn10300/mn10300.c: Likewise.
3047 * config/moxie/moxie.c: Likewise.
3048 * config/msp430/msp430-c.c: Likewise.
3049 * config/msp430/msp430.c: Likewise.
3050 * config/nds32/nds32-cost.c: Likewise.
3051 * config/nds32/nds32-fp-as-gp.c: Likewise.
3052 * config/nds32/nds32-intrinsic.c: Likewise.
3053 * config/nds32/nds32-isr.c: Likewise.
3054 * config/nds32/nds32-md-auxiliary.c: Likewise.
3055 * config/nds32/nds32-memory-manipulation.c: Likewise.
3056 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
3057 * config/nds32/nds32-predicates.c: Likewise.
3058 * config/nds32/nds32.c: Likewise.
3059 * config/nios2/nios2.c: Likewise.
3060 * config/nvptx/nvptx.c: Likewise.
3061 * config/pa/pa.c: Likewise.
3062 * config/pdp11/pdp11.c: Likewise.
3063 * config/rl78/rl78-c.c: Likewise.
3064 * config/rl78/rl78.c: Likewise.
3065 * config/rs6000/rs6000-c.c: Likewise.
3066 * config/rs6000/rs6000.c: Likewise.
3067 * config/rx/rx.c: Likewise.
3068 * config/s390/s390-c.c: Likewise.
3069 * config/s390/s390.c: Likewise.
3070 * config/sh/sh-c.c: Likewise.
3071 * config/sh/sh-mem.cc: Likewise.
3072 * config/sh/sh.c: Likewise.
3073 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
3074 * config/sh/sh_treg_combine.cc: Likewise.
3075 * config/sol2-c.c: Likewise.
3076 * config/sol2-cxx.c: Likewise.
3077 * config/sol2-stubs.c: Likewise.
3078 * config/sol2.c: Likewise.
3079 * config/sparc/sparc-c.c: Likewise.
3080 * config/sparc/sparc.c: Likewise.
3081 * config/spu/spu-c.c: Likewise.
3082 * config/spu/spu.c: Likewise.
3083 * config/stormy16/stormy16.c: Likewise.
3084 * config/tilegx/mul-tables.c: Likewise.
3085 * config/tilegx/tilegx-c.c: Likewise.
3086 * config/tilegx/tilegx.c: Likewise.
3087 * config/tilepro/mul-tables.c: Likewise.
3088 * config/tilepro/tilepro-c.c: Likewise.
3089 * config/tilepro/tilepro.c: Likewise.
3090 * config/v850/v850-c.c: Likewise.
3091 * config/v850/v850.c: Likewise.
3092 * config/vax/vax.c: Likewise.
3093 * config/visium/visium.c: Likewise.
3094 * config/vms/vms-c.c: Likewise.
3095 * config/vms/vms.c: Likewise.
3096 * config/vxworks.c: Likewise.
3097 * config/winnt-c.c: Likewise.
3098 * config/xtensa/xtensa.c: Likewise.
3099 * common/config/bfin/bfin-common.c: Likewise.
3100
9cb9b937
JH
31012015-06-04 Jan Hubicka <hubicka@ucw.cz>
3102
3103 * tree.h (tree_code_for_canonical_type_merging): New function.
3104 * tree.c (gimple_canonical_types_compatible_p): Use
3105 tree_code_for_canonical_type_merging..
3106
e93ca5ca
RR
31072015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3108
3109 PR c++/66192
3110 PR target/66200
3111 * doc/tm.texi: Regenerate.
3112 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
3113 * target.def (TARGET_RELAXED_ORDERING): Likewise.
3114 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
3115 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
3116 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
3117 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
3118 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
3119 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
3120 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
3121
e2fc7193
KT
31222015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3123
3124 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
3125 register fma steering pass.
3126 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
3127 AARCH64_TUNE_FMA_STEERING.
3128
93e2aa6d
JH
31292015-06-03 Jan Hubicka <hubicka@ucw.cz>
3130
3131 * tree.c (verify_type_variant): Verify that type and variant is
3132 compatible.
3133 (gimple_canonical_types_compatible_p): Look for main variants.
3134
5123acd2
MM
31352015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
3136
3137 * config.gcc (powerpc*-*-*): Add support for a new configure
3138 option --with-advance-toolchain=<xxx> which overrides using the
3139 default header files, libraries and dynamic linker.
3140
3141 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
3142 specs to support the configure --with-advance-toolchain=<xxx>
3143 option.
3144 (INCLUDE_EXTRA_SPEC): Likewise.
3145 (LINK_OS_EXTRA_SPEC32): Likewise.
3146 (LINK_OK_EXTRA_SPEC64): Likewise.
3147 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
3148 (DYNAMIC_LINKER_PREFIX): Likewise.
3149 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
3150 toolchain support.
3151 (GLIBC_DYNAMIC_LINKER32): Likewise.
3152 (GLIBC_DYNAMIC_LINKER64): Likewise.
3153 (LINK_OS_LINUX_SPEC32): Likewise.
3154 (LINK_OS_LINUX_SPEC64): Likewise.
3155
3156 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
3157 configuration option.
3158
27a0b7f2
UB
31592015-06-03 Uros Bizjak <ubizjak@gmail.com>
3160
3161 PR target/66275
3162 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
3163 to determine current function ABI.
3164 (ix86_function_value_regno_p): Ditto.
3165
80a4fe78
ML
31662015-06-03 Martin Liska <mliska@suse.cz>
3167
3168 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
3169 * bitmap.h (struct bitmap_usage): Likewise.
3170 * ggc-common.c (struct ggc_usage): Likewise.
3171 * mem-stats.h (struct mem_location): Likewise.
3172 (struct mem_usage): Likewise.
3173 * vec.c (struct vec_usage): Likewise.
3174
12a87083
BJ
31752015-06-03 Benigno B. Junior <bbj@gentoo.org>
3176
3177 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
3178 -Bsymbolic.
3179
ea5b45b6 31802015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
27a0b7f2 3181
ea5b45b6
AT
3182 * doc/plugins.texi (enum plugin_event): New event.
3183 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
3184 and PLUGIN_FINISH_FUNCTION.
3185 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
3186 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
3187
e004aa11
RB
31882015-06-03 Richard Biener <rguenther@suse.de>
3189
3190 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
3191 compute GROUP_GAP for the first element.
3192 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
3193 on in-group gaps.
3194
fddde8d3
NC
31952015-06-03 Nick Clifton <nickc@redhat.com>
3196
3197 * config/rl78/rl78-real.md: Add peepholes to avoid a register
3198 copy when calling a function.
3199 * config/rl78/rl78.c (need_to_save): Do not push the frame
3200 pointer in an interrupt handler prologue if it is never used.
3201
9ce3eaa4
KT
32022015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3203
3204 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
3205
67321dcf
IE
32062015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
3207
3208 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
3209 reference when cloning alias node.
3210
b2b43e33
ML
32112015-06-03 Martin Liska <mliska@suse.cz>
3212
3213 * alloc-pool.h (struct pool_usage): Correct space padding.
3214 * ggc-page.c (ggc_print_statistics): Align columns in a report.
3215 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
3216 * tree.c (dump_tree_statistics): Align columns in a report.
3217
ac059261
ML
32182015-06-03 Martin Liska <mliska@suse.cz>
3219
3220 * alloc-pool.c (allocate_pool_descriptor): Remove.
3221 (struct pool_output_info): Likewise.
3222 (print_alloc_pool_statistics): Likewise.
3223 (dump_alloc_pool_statistics): Likewise.
3224 * alloc-pool.h (struct pool_usage): New struct.
3225 (pool_allocator::initialize): Change usage of memory statistics
3226 to a new interface.
3227 (pool_allocator::release): Likewise.
3228 (pool_allocator::allocate): Likewise.
3229 (pool_allocator::remove): Likewise.
3230 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
3231 for a pool allocator.
3232 * mem-stats.h (struct mem_location): Add new ctor.
3233 (struct mem_usage): Add counter for number of
3234 instances.
3235 (mem_alloc_description::register_descriptor): New overload of
3236 * mem-stats.h (mem_location::to_string): New function.
3237 * bitmap.h (struct bitmap_usage): Use this new function.
3238 * ggc-common.c (struct ggc_usage): Likewise.
3239 the function.
3240
8a810680
RS
32412015-06-03 Richard Sandiford <richard.sandiford@arm.com>
3242
3243 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
3244 of GCC_INSN_FLAGS_H block.
3245
2c19378b
AB
32462015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
3247
fddde8d3 3248 * explow.c (plus_constant): Update check after force_const_mem call
2c19378b
AB
3249 to see if the value returned is not a NULL_RTX.
3250
48de5d37
IE
32512015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
3252
3253 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
3254 remove instumentation thunks calling reachable functions.
3255 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
3256 * lto/lto-partition.c (privatize_symbol_name_1): New.
3257 (privatize_symbol_name): Privatize both decl and orig_decl
3258 names for instrumented functions.
3259 * cgraph.c (cgraph_node::verify_node): Add transparent
3260 alias chain check for instrumented node.
3261
b2858c9f
MP
32622015-06-03 Marek Polacek <polacek@redhat.com>
3263
3264 PR c/64223
3265 PR c/29358
3266 * tree.c (attribute_value_equal): Handle attribute format.
3267 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
3268
4da60082
RB
32692015-06-03 Richard Biener <rguenther@suse.de>
3270
3271 PR tree-optimization/63916
3272 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
3273 Forward-propagate non-invariant addresses by splicing their
3274 reference ops if the result isn't going to be used by PRE.
3275 (vn_reference_lookup_3): Remove pointless assert.
3276
b9b79ba4
RB
32772015-06-03 Richard Biener <rguenther@suse.de>
3278
3279 PR tree-optimization/66375
3280 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
3281 add to the evolution before following SSA edges.
3282
e185f450
BC
32832015-06-03 Bin Cheng <bin.cheng@arm.com>
3284
3285 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
3286 (dump_use, dump_cand, find_induction_variables): Pass new argument
3287 to dump_iv.
3288 (record_use): Preserve the ssa name information in IV.
3289
40130403
RS
32902015-06-03 Richard Sandiford <richard.sandiford@arm.com>
3291
3292 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
3293 NO_MODE_TEST.
3294 (add_mode_tests): Don't add mode tests if the predicate only
3295 accepts scalar constant integers. Otherwise, allow the mode
3296 of "op" to be VOIDmode if the predicate does accept such integers.
3297
d5726973
JW
32982015-06-02 Jim Wilson <jim.wilson@linaro.org>
3299
3300 PR target/66258
3301 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
3302 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
3303 (aarch64_secondary_reload): Likewise
3304 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
3305 to !TARGET_FLOAT.
3306 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
3307 Likewise.
3308
32e0a7d9
KV
33092015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
3310 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3311
3312 PR target/65768
3313 * cprop.c (try_replace_reg): Check cost of constants before propagating.
3314
6712d6fd
MM
33152015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
3316
3317 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
3318 provide access to the IBM extended double floating point mode if
3319 long double is IEEE 128-bit floating point.
3320 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
3321 point if long double is the IBM extended double type.
3322
3323 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
3324 enable adding IEEE 128-bit floating point support.
3325 (-mfloat128-software): Likewise.
3326 (-mfloat128-sw): Likewise.
3327
3328 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
3329 128-bit floating point types to occupy any register if
3330 -mlong-double-64. Do not allow use of IFmode/KFmode unless
3331 -mfloat128-software is enabled.
3332 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
3333 support.
3334 (rs6000_option_override_internal): Add -mfloat128-* support.
3335 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
3336
3337 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
3338 and float128 type nodes.
3339 (ieee128_float_type_node): Likewise.
3340 (ibm128_float_type_node): Likewise.
3341
ddda0598
SN
33422015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
3343
3344 PR target/66136
3345 * config/aarch64/geniterators.sh: Rewrite in awk.
3346
755afe2e
ML
33472015-06-02 Martin Liska <mliska@suse.cz>
3348
3349 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
3350 values to avoid -Wmaybe-uninitialized errors.
3351
71fa02e0
RB
33522015-06-02 Richard Biener <rguenther@suse.de>
3353
3354 PR debug/65549
3355 * dwarf2out.c (lookup_context_die): New function.
3356 (resolve_addr): Avoid forcing a full DIE for the
3357 target of a DW_TAG_GNU_call_site during late compilation.
3358 Instead create a stub DIE without a type if we have a
3359 context DIE present.
3360
b4147b63
UB
33612015-06-02 Uros Bizjak <ubizjak@gmail.com>
3362
3363 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
3364
2f07b722
BC
33652015-06-02 Bin Cheng <bin.cheng@arm.com>
3366
3367 PR tree-optimization/48052
3368 * cfgloop.h (struct control_iv): New.
3369 (struct loop): New field control_ivs.
3370 * tree-ssa-loop-niter.c : Include "stor-layout.h".
3371 (number_of_iterations_lt): Set no_overflow information.
3372 (number_of_iterations_exit): Init control iv in niter struct.
3373 (record_control_iv): New.
3374 (estimate_numbers_of_iterations_loop): Call record_control_iv.
3375 (loop_exits_before_overflow): New. Interface factored out of
3376 scev_probably_wraps_p.
3377 (scev_probably_wraps_p): Factor loop niter related code into
3378 loop_exits_before_overflow.
3379 (free_numbers_of_iterations_estimates_loop): Free control ivs.
3380 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
3381
b4771722
EB
33822015-06-02 Eric Botcazou <ebotcazou@adacore.com>
3383
3384 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
3385 the target doesn't belong to the current function.
3386
af9db3a7
MP
33872015-06-02 Marek Polacek <polacek@redhat.com>
3388
3389 PR middle-end/66345
3390 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
3391 get_maxval_strlen does not produce an INTEGER_CST.
3392
8da140e0
RS
33932015-06-02 Richard Sandiford <richard.sandiford@arm.com>
3394
3395 * config/arc/constraints.md: Use lower-case names in match_code.
3396 * config/mmix/constraints.md: Likewise.
3397
3fc356dc
RB
33982015-06-02 Richard Biener <rguenther@suse.de>
3399
3400 PR tree-optimization/65961
3401 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
3402 check and clarify dump message.
3403 (vect_build_slp_tree): If all children are built up from scalars
3404 build up the parent from scalars instead.
3405 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
3406
4c50b221
JK
34072015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
3408
3409 PR other/65366
3410 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
3411 instead of print ... .
3412
ae2bb6da
AM
34132015-06-02 Alan Modra <amodra@gmail.com>
3414
3415 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
3416 2014-08-11 change.
3417
c70ed622
BC
34182015-06-02 Bin Cheng <bin.cheng@arm.com>
3419
3420 PR tree-optimization/52563
3421 PR tree-optimization/62173
3422 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
3423 (alloc_iv, set_iv): New parameter.
3424 (determine_biv_step): Delete.
3425 (find_bivs): Inline original determine_biv_step. Pass new
3426 argument to set_iv.
3427 (idx_find_step): Use no_overflow information for conversion.
3428 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
3429 resolve_mixers handle folded_casts.
3430 (instantiate_scev_name): Change bool parameter to bool pointer.
3431 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
3432 (instantiate_array_ref, instantiate_scev_not): Ditto.
3433 (instantiate_scev_3, instantiate_scev_2): Ditto.
3434 (instantiate_scev_1, instantiate_scev_r): Ditto.
3435 (instantiate_scev_convert, ): Change parameter. Pass argument
3436 to chrec_convert_aggressive.
3437 (instantiate_scev): Change argument.
3438 (resolve_mixers): New parameter and set it.
3439 (scev_const_prop): New argument.
3440 * tree-scalar-evolution.h (resolve_mixers): New parameter.
3441 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
3442 of chrec_conert_1.
3443 (chrec_convert): New parameter. Move definition below.
3444 (chrec_convert_aggressive): New parameter and set it. Call
3445 convert_affine_scev.
3446 * tree-chrec.h (chrec_convert): New parameter.
3447 (chrec_convert_aggressive): Ditto.
3448
e6a54b01
EB
34492015-06-01 Eric Botcazou <ebotcazou@adacore.com>
3450
3451 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
3452 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
3453 the LHS of a no-return call if its type has variable size.
3454 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
3455 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
3456
418dd5ce
AT
34572015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
3458
3459 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
3460 * config.in: Regenerate.
3461
c134cf2a
YR
34622015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
3463
3464 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
3465 consecutive accesses within outer-loop with force_vectorize
3466 for references with zero step in inner-loop.
3467
f17339ce
VP
34682015-06-01 Vidya Praveen <vidyapraveen@arm.com>
3469
3470 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
3471 rather than from gcc/build directory.
3472
ab876106
MW
34732015-06-01 Matthew Wahab <matthew.wahab@arm.com>
3474
3475 PR target/65697
3476 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
3477 for __sync memory models, emit initial loads and final barriers as
3478 appropriate.
3479
f70fb3b6
MW
34802015-06-01 Matthew Wahab <matthew.wahab@arm.com>
3481
ae2bb6da 3482 PR target/65697
f70fb3b6
MW
3483 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
3484 (aarch64_split_atomic_op): Check for __sync memory models, emit
3485 appropriate initial loads and final barriers.
3486
1277f838 34872015-06-01 Vidya Praveen <vidyapraveen@arm.com>
003f2d34
VP
3488
3489 * Makefile.in: Fix gcov dependencies that should
3490 not point to a build folder.
3491
96a956b6
RB
34922015-06-01 Richard Biener <rguenther@suse.de>
3493
3494 Revert
3495 2015-05-29 Richard Biener <rguenther@suse.de>
3496
3497 PR tree-optimization/66314
3498 * tree-ssa-threadupdate.c (create_block_for_threading): Add
3499 parameter that says which loop the new block belongs to.
3500 (ssa_create_duplicates): Blocks duplicated for the threaded
3501 path belong to the loop of the thread destination.
3502
d88e64a6
ML
35032015-06-01 Martin Liska <mliska@suse.cz>
3504
3505 * sched-deps.c: Include pool-alloc.h before
3506 cselib.h header file is included.
3507
4b1db766
RB
35082015-06-01 Richard Biener <rguenther@suse.de>
3509
3510 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
3511 functions.
3512
c547dbce
ML
35132015-06-01 Martin Liska <mliska@suse.cz>
3514
3515 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
ae2bb6da 3516 a function local variable.
c547dbce 3517
fdc5c392
ML
35182015-06-01 Martin Liska <mliska@suse.cz>
3519
3520 * alloc-pool.c (create_alloc_pool): Remove.
3521 (empty_alloc_pool): Likewise.
3522 (free_alloc_pool): Likewise.
3523 (free_alloc_pool_if_empty): Likewise.
3524 (pool_alloc): Likewise.
3525 (pool_free): Likewise.
3526 * alloc-pool.h: Remove old declarations.
3527
0b470bae
ML
35282015-06-01 Martin Liska <mliska@suse.cz>
3529
3530 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
3531 (ira_create_object): Likewise.
3532 (ira_create_allocno): Likewise.
3533 (ira_create_live_range): Likewise.
3534 (copy_live_range): Likewise.
3535 (ira_finish_live_range): Likewise.
3536 (ira_free_allocno_costs): Likewise.
3537 (finish_allocno): Likewise.
3538 (finish_allocnos): Likewise.
3539 (initiate_prefs): Likewise.
3540 (ira_create_pref): Likewise.
3541 (finish_pref): Likewise.
3542 (finish_prefs): Likewise.
3543 (initiate_copies): Likewise.
3544 (ira_create_copy): Likewise.
3545 (finish_copy): Likewise.
3546 (finish_copies): Likewise.
3547 (finish_prefs): Likewise.
3548
2651e637
ML
35492015-06-01 Martin Liska <mliska@suse.cz>
3550
3551 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
3552 (allocate_and_init_ipcp_value): Likewise.
3553 (ipcp_lattice::add_value): Likewise.
3554 (merge_agg_lats_step): Likewise.
3555 (ipcp_driver): Likewise.
3556 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
3557 (ipa_free_all_structures_after_iinln): Likewise.
3558 * ipa-prop.h: Likewise.
3559
50a41d64
ML
35602015-06-01 Martin Liska <mliska@suse.cz>
3561
b4147b63
UB
3562 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
3563 pool allocator.
50a41d64
ML
3564 (set_hint_predicate): Likewise.
3565 (inline_summary_alloc): Likewise.
3566 (reset_inline_edge_summary): Likewise.
3567 (reset_inline_summary): Likewise.
3568 (set_cond_stmt_execution_predicate): Likewise.
3569 (set_switch_stmt_execution_predicate): Likewise.
3570 (compute_bb_predicates): Likewise.
3571 (estimate_function_body_sizes): Likewise.
3572 (inline_free_summary): Likewise.
3573
601f3293
ML
35742015-06-01 Martin Liska <mliska@suse.cz>
3575
3576 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
3577 (ipa_edge_duplication_hook): Likewise.
3578 (ipa_free_all_structures_after_ipa_cp): Likewise.
3579 (ipa_free_all_structures_after_iinln): Likewise.
3580
d7809518
ML
35812015-06-01 Martin Liska <mliska@suse.cz>
3582
3583 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
3584 (ipa_profile_generate_summary): Likewise.
3585 (ipa_profile_read_summary): Likewise.
3586 (ipa_profile): Likewise.
3587
dc5667a3
ML
35882015-06-01 Martin Liska <mliska@suse.cz>
3589
b4147b63
UB
3590 * tree-ssa-structalias.c (new_var_info): Use new type-based
3591 pool allocator.
dc5667a3
ML
3592 (new_constraint): Likewise.
3593 (init_alias_vars): Likewise.
3594 (delete_points_to_sets): Likewise.
3595
33e7d32e
ML
35962015-06-01 Martin Liska <mliska@suse.cz>
3597
3598 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
3599 (free_strinfo): Likewise.
3600 (pass_strlen::execute): Likewise.
3601
af6a6eec
ML
36022015-06-01 Martin Liska <mliska@suse.cz>
3603
b4147b63
UB
3604 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
3605 pool allocator.
af6a6eec
ML
3606 (vn_reference_insert_pieces): Likewise.
3607 (vn_phi_insert): Likewise.
3608 (visit_reference_op_call): Likewise.
3609 (copy_phi): Likewise.
3610 (copy_reference): Likewise.
3611 (process_scc): Likewise.
3612 (allocate_vn_table): Likewise.
3613 (free_vn_table): Likewise.
3614
153e4228
ML
36152015-06-01 Martin Liska <mliska@suse.cz>
3616
b4147b63
UB
3617 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
3618 pool allocator.
153e4228
ML
3619 (add_repeat_to_ops_vec): Likewise.
3620 (get_ops): Likewise.
3621 (maybe_optimize_range_tests): Likewise.
3622 (init_reassoc): Likewise.
3623 (fini_reassoc): Likewise.
3624
971540bd
ML
36252015-06-01 Martin Liska <mliska@suse.cz>
3626
b4147b63
UB
3627 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
3628 pool allocator.
971540bd
ML
3629 (bitmap_set_new): Likewise.
3630 (get_or_alloc_expr_for_constant): Likewise.
3631 (get_or_alloc_expr_for): Likewise.
3632 (phi_translate_1): Likewise.
3633 (compute_avail): Likewise.
3634 (init_pre): Likewise.
3635 (fini_pre): Likewise.
3636
973004cb
ML
36372015-06-01 Martin Liska <mliska@suse.cz>
3638
3639 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
3640 (delete_dep_node): Likewise.
3641 (create_deps_list): Likewise.
3642 (free_deps_list): Likewise.
3643 (sched_deps_init): Likewise.
3644 (sched_deps_finish): Likewise.
3645
5c7337c5
ML
36462015-06-01 Martin Liska <mliska@suse.cz>
3647
b4147b63
UB
3648 * regcprop.c (free_debug_insn_changes): Use new type-based
3649 pool allocator.
5c7337c5
ML
3650 (replace_oldest_value_reg): Likewise.
3651 (pass_cprop_hardreg::execute): Likewise.
3652
3599f64a
ML
36532015-06-01 Martin Liska <mliska@suse.cz>
3654
b4147b63
UB
3655 * ira-build.c (initiate_cost_vectors): Use new type-based
3656 pool allocator.
3599f64a
ML
3657 (ira_allocate_cost_vector): Likewise.
3658 (ira_free_cost_vector): Likewise.
3659 (finish_cost_vectors): Likewise.
3660
8bb6373a
ML
36612015-06-01 Martin Liska <mliska@suse.cz>
3662
b4147b63
UB
3663 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
3664 pool allocator.
8bb6373a
ML
3665 (free_sched_pools): Likewise.
3666 * sel-sched-ir.h (_list_alloc): Likewise.
3667 (_list_remove): Likewise.
3668
5f844697
ML
36692015-06-01 Martin Liska <mliska@suse.cz>
3670
3671 * stmt.c (add_case_node): Use new type-based pool allocator.
3672 (expand_case): Likewise.
3673 (expand_sjlj_dispatch_table): Likewise.
3674
2cc777fb
ML
36752015-06-01 Martin Liska <mliska@suse.cz>
3676
3677 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
3678 (free_bb): Likewise.
3679 (pass_cse_reciprocals::execute): Likewise.
3680
bc2c893b
ML
36812015-06-01 Martin Liska <mliska@suse.cz>
3682
3683 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
3684 (sra_deinitialize) Likewise.
3685 (create_access_1) Likewise.
3686 (build_accesses_from_assign) Likewise.
3687 (create_artificial_child_access) Likewise.
3688
da6603c6
ML
36892015-06-01 Martin Liska <mliska@suse.cz>
3690
3691 * dse.c (get_group_info):Use new type-based pool allocator.
3692 (dse_step0) Likewise.
3693 (free_store_info) Likewise.
3694 (delete_dead_store_insn) Likewise.
3695 (free_read_records) Likewise.
3696 (record_store) Likewise.
3697 (replace_read) Likewise.
3698 (check_mem_read_rtx) Likewise.
3699 (scan_insn) Likewise.
3700 (dse_step1) Likewise.
3701 (dse_step7) Likewise.
3702
e956943e
ML
37032015-06-01 Martin Liska <mliska@suse.cz>
3704
b4147b63
UB
3705 * df-scan.c (struct df_scan_problem_data):Use new type-based
3706 pool allocator.
e956943e
ML
3707 (df_scan_free_internal) Likewise.
3708 (df_scan_alloc) Likewise.
3709 (df_grow_reg_info) Likewise.
3710 (df_free_ref) Likewise.
3711 (df_insn_create_insn_record) Likewise.
3712 (df_mw_hardreg_chain_delete) Likewise.
3713 (df_insn_info_delete) Likewise.
3714 (df_free_collection_rec) Likewise.
3715 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
3716 (df_sort_and_compress_mws) Likewise.
3717 (df_ref_create_structure) Likewise.
3718 (df_ref_record) Likewise.
3719
295e7047
ML
37202015-06-01 Martin Liska <mliska@suse.cz>
3721
3722 * df-problems.c (df_chain_create):Use new type-based pool allocator.
3723 (df_chain_unlink_1) Likewise.
3724 (df_chain_unlink) Likewise.
3725 (df_chain_remove_problem) Likewise.
3726 (df_chain_alloc) Likewise.
3727 (df_chain_free) Likewise.
3728 * df.h (struct dataflow) Likewise.
3729
a78a26f1
ML
37302015-06-01 Martin Liska <mliska@suse.cz>
3731
3732 * cselib.c (new_elt_list):Use new type-based pool allocator.
3733 (new_elt_loc_list) Likewise.
3734 (unchain_one_elt_list) Likewise.
3735 (unchain_one_elt_loc_list) Likewise.
3736 (unchain_one_value) Likewise.
3737 (new_cselib_val) Likewise.
3738 (cselib_init) Likewise.
3739 (cselib_finish) Likewise.
3740
533ab6c4
ML
37412015-06-01 Martin Liska <mliska@suse.cz>
3742
3743 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
3744 (sh_reorg) Likewise.
3745
ac0539d7
ML
37462015-06-01 Martin Liska <mliska@suse.cz>
3747
b4147b63
UB
3748 * cfg.c (initialize_original_copy_tables):Use new type-based
3749 pool allocator.
ac0539d7
ML
3750 (free_original_copy_tables) Likewise.
3751 (copy_original_table_clear) Likewise.
3752 (copy_original_table_set) Likewise.
3753
c1f5ce48
ML
37542015-06-01 Martin Liska <mliska@suse.cz>
3755
b4147b63
UB
3756 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
3757 pool allocator.
c1f5ce48
ML
3758 (asan_mem_ref_new) Likewise.
3759 (free_mem_ref_resources) Likewise.
3760
7e46899d
ML
37612015-06-01 Martin Liska <mliska@suse.cz>
3762
b4147b63
UB
3763 * var-tracking.c (variable_htab_free):Use new type-based
3764 pool allocator.
7e46899d
ML
3765 (attrs_list_clear) Likewise.
3766 (attrs_list_insert) Likewise.
3767 (attrs_list_copy) Likewise.
3768 (shared_hash_unshare) Likewise.
3769 (shared_hash_destroy) Likewise.
3770 (unshare_variable) Likewise.
3771 (var_reg_delete_and_set) Likewise.
3772 (var_reg_delete) Likewise.
3773 (var_regno_delete) Likewise.
3774 (drop_overlapping_mem_locs) Likewise.
3775 (variable_union) Likewise.
3776 (insert_into_intersection) Likewise.
3777 (canonicalize_values_star) Likewise.
3778 (variable_merge_over_cur) Likewise.
3779 (dataflow_set_merge) Likewise.
3780 (remove_duplicate_values) Likewise.
3781 (variable_post_merge_new_vals) Likewise.
3782 (dataflow_set_preserve_mem_locs) Likewise.
3783 (dataflow_set_remove_mem_locs) Likewise.
3784 (variable_from_dropped) Likewise.
3785 (variable_was_changed) Likewise.
3786 (set_slot_part) Likewise.
3787 (clobber_slot_part) Likewise.
3788 (delete_slot_part) Likewise.
3789 (loc_exp_insert_dep) Likewise.
3790 (notify_dependents_of_changed_value) Likewise.
3791 (emit_notes_for_differences_1) Likewise.
3792 (vt_emit_notes) Likewise.
3793 (vt_initialize) Likewise.
3794 (vt_finalize) Likewise.
3795
8b17d27f
ML
37962015-06-01 Martin Liska <mliska@suse.cz>
3797
b4147b63
UB
3798 * ira-color.c (init_update_cost_records):Use new type-based
3799 pool allocator.
8b17d27f
ML
3800 (get_update_cost_record) Likewise.
3801 (free_update_cost_record_list) Likewise.
3802 (finish_update_cost_records) Likewise.
3803 (initiate_cost_update) Likewise.
3804
2f77a607
ML
38052015-06-01 Martin Liska <mliska@suse.cz>
3806
3807 * lra.c (init_insn_regs): Use new type-based pool allocator.
3808 (new_insn_reg) Likewise.
3809 (free_insn_reg) Likewise.
3810 (free_insn_regs) Likewise.
3811 (finish_insn_regs) Likewise.
3812 (init_insn_recog_data) Likewise.
3813 (init_reg_info) Likewise.
3814 (finish_reg_info) Likewise.
3815 (lra_free_copies) Likewise.
3816 (lra_create_copy) Likewise.
3817 (invalidate_insn_data_regno_info) Likewise.
3818
cb8abb1c
ML
38192015-06-01 Martin Liska <mliska@suse.cz>
3820
3821 * lra-lives.c (free_live_range): Use new type-based pool allocator.
3822 (free_live_range_list) Likewise.
3823 (create_live_range) Likewise.
3824 (copy_live_range) Likewise.
3825 (lra_merge_live_ranges) Likewise.
3826 (remove_some_program_points_and_update_live_ranges) Likewise.
3827 (lra_live_ranges_init) Likewise.
3828 (lra_live_ranges_finish) Likewise.
3829
64afff5b
ML
38302015-06-01 Martin Liska <mliska@suse.cz>
3831
3832 * et-forest.c (et_new_occ): Use new type-based pool allocator.
3833 (et_new_tree): Likewise.
3834 (et_free_tree): Likewise.
3835 (et_free_tree_force): Likewise.
3836 (et_free_pools): Likewise.
3837 (et_split): Likewise.
3838
7d50111b
ML
38392015-06-01 Martin Liska <mliska@suse.cz>
3840
3841 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
3842 to header file.
3843 * alloc-pool.h (pool_allocator::pool_allocator): New function.
3844 (pool_allocator::release): Likewise.
3845 (inline pool_allocator::release_if_empty): Likewise.
3846 (inline pool_allocator::~pool_allocator): Likewise.
3847 (pool_allocator::allocate): Likewise.
3848 (pool_allocator::remove): Likewise.
3849
32d48af5
JG
38502015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
3851
3852 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
3853 in comment.
3854
fe0b29c7
JG
38552015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
3856
3857 * gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
3858 to fusible_ops.
3859 * gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
3860 (arm_macro_fusion_p): Likewise.
3861 (arm_macro_fusion_pair_p): Likewise.
3862
e9a3a175
JG
38632015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
3864
3865 * config/aarch64/aarch64-protos.h (tune_params): Rename
3866 fuseable_ops to fusible_ops.
3867 * config/aarch64/aarch64.c (generic_tunings): Rename
3868 fuseable_ops to fusible_ops.
3869 (cortexa53_tunings): Likewise.
3870 (cortexa57_tunings): Likewise.
3871 (thunderx_tunings): Likewise.
3872 (xgene1_tunings): Likewise.
3873 (aarch64_macro_fusion_p): Likewise.
3874 (aarch64_macro_fusion_pair_p): Likewise.
3875
cb0edc39
DV
38762015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
3877
3878 * config/s390/driver-native.c: New file.
3879 * config/s390/x-native: New file.
3880 * config.host: Add new files for s390.
3881 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
3882 and -march=native
3883 * config.gcc: Likewise.
3884 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
3885 * config/s390/s390-opts.h (enum processor_type): Ditto.
3886 * config/s390/s390.c (s390_option_override): Catch unhandled
3887 PROCESSOR_NATIVE
3888
8e9b2773
IE
38892015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
3890
3891 PR target/65527
3892 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
3893 redirection for instrumented calls.
3894 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
3895 (append_compiler_options): Append -fcheck-pointer-bounds.
3896 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
3897 (chkp_redirect_edge): New.
3898 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
3899 (chkp_redirect_edge): New.
3900
29764870
RB
39012015-06-01 Richard Biener <rguenther@suse.de>
3902
3903 PR tree-optimization/66280
3904 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
3905 def-use walking.
3906
dba606bf
KT
39072015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3908
3909 * config/aarch64/aarch64.md
3910 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
3911 logic_shift_imm.
3912
2b50232a
EB
39132015-06-01 Eric Botcazou <ebotcazou@adacore.com>
3914
3915 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
3916 Remove obsolete kludge.
3917
44eff886
RB
39182015-06-01 Richard Biener <rguenther@suse.de>
3919
3920 * tree-ssa-reassoc.c (get_rank): Simplify.
3921
fee22a80
L
39222015-05-31 H.J. Lu <hongjiu.lu@intel.com>
3923
3924 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
3925 * configure: Regenerated.
3926
60b92097
MM
39272015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
3928
3929 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
3930 issue (add space between string literal and macro).
3931 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
3932
c67e8801
AS
39332015-05-30 Andreas Schwab <schwab@linux-m68k.org>
3934
3935 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
3936 implict or explicit -fPIE or -fpie.
3937
98ca38bf
MF
39382015-05-30 Mike Frysinger <vapier@gentoo.org>
3939
3940 * gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
3941
7d21a61e
DD
39422015-05-28 DJ Delorie <dj@redhat.com>
3943
3944 * expmed.c (extract_bit_field_1): Avoid clobbering a
3945 yet-to-be-used base/index register.
3946
6e042ef4
JH
39472015-05-30 Jan Hubicka <hubicka@ucw.cz>
3948
3949 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
3950 (alias_stats): Add num_universal.
3951 (alias_set_subset_of): Special case pointers; be ready for NULL
3952 children.
3953 (alias_sets_conflict_p): Special case pointers; be ready for NULL
3954 children.
3955 (init_alias_set_entry): Break out from ...
3956 (record_alias_subset): ... here; propagate new fields;
3957 allocate children only when really needed.
3958 (get_alias_set): Do less generous pointer globbing.
3959 (dump_alias_stats_in_alias_c): Update statistics.
3960
43f7e3fe
AM
39612015-05-30 Alan Modra <amodra@gmail.com>
3962
3963 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
3964 correct block for use of r12.
3965 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
3966
1f8d3e42
DV
39672015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3968
3969 PR target/66215
3970 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
3971 with -mhotpatch=.
3972
2395a8ea
JJ
39732015-05-29 Jakub Jelinek <jakub@redhat.com>
3974
3975 PR tree-optimization/66142
3976 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
3977 virtual phis that feed themselves.
3978
52fc6859
RB
39792015-05-29 Richard Biener <rguenther@suse.de>
3980
3981 PR tree-optimization/66314
3982 * tree-ssa-threadupdate.c (create_block_for_threading): Add
3983 parameter that says which loop the new block belongs to.
3984 (ssa_create_duplicates): Blocks duplicated for the threaded
3985 path belong to the loop of the thread destination.
3986
c469078d
BRF
39872015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3988
3989 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
3990 to cleanup-saved-temps.
3991 * doc/sourcebuild.texi (Clean up generated test files): Expand
3992 introduction.
3993 (dg-keep-saved-temps): Document new proc.
3994 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
3995 cleanup-saved-temps): Remove.
3996
384d8786
AT
39972015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
3998
3999 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
4000 gcc_AC_CHECK_DECLS.
4001 * configure: Regenerate.
4002
52d0089e
MF
40032015-05-28 Mike Frysinger <vapier@gentoo.org>
4004
4005 * config/nios2/linux.h (CPP_SPEC): Define.
4006
148f65a3
MF
40072015-05-28 Mike Frysinger <vapier@gentoo.org>
4008
4009 * config/microblaze/linux.h (CPP_SPEC): Define.
4010
de0e921c
MF
40112015-05-28 Mike Frysinger <vapier@gentoo.org>
4012
4013 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
4014 -pthread is specified.
4015
14a61437
RB
40162015-05-28 Richard Biener <rguenther@suse.de>
4017
4018 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
4019 (vect_fixup_scalar_cycles_with_patterns): Likewise.
4020 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
4021 after pattern recog.
4022 (vect_create_epilog_for_reduction): Properly handle reductions
4023 with patterns.
4024 (vectorizable_reduction): Likewise.
4025 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
4026 reduction chains.
4027 (vect_get_constant_vectors): Create the correct number of
4028 initial values for reductions.
4029 (vect_schedule_slp_instance): Handle reduction chains that are
4030 type changing properly.
4031 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
4032
e65757f3
RB
40332015-05-28 Richard Biener <rguenther@suse.de>
4034
4035 PR tree-optimization/66142
4036 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
4037 values better in memcpy destination handling. Handle non-aliasing
4038 we discover here.
4039
98fc3d49
LV
40402015-05-28 Lawrence Velázquez <vq@larryv.me>
4041
4042 PR target/63810
4043 * config/darwin-c.c (version_components): New global enum.
4044 (parse_version, version_as_legacy_macro)
4045 (version_as_modern_macro, macosx_version_as_macro): New functions.
4046 (version_as_macro): Remove.
4047 (darwin_cpp_builtins): Use new function.
4048
f093f5a6
L
40492015-05-28 H.J. Lu <hongjiu.lu@intel.com>
4050
4051 * builtins.c (expand_builtin_acc_on_device): Mark parameters
4052 with ATTRIBUTE_UNUSED.
4053
32eaed93
JB
40542015-05-28 Julian Brown <julian@codesourcery.com>
4055
4056 PR libgomp/65742
4057
4058 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
4059 sequence for !ACCEL_COMPILER.
4060
55ffa756
NC
40612015-05-28 Nick Clifton <nickc@redhat.com>
4062
4063 * config/rx/rx.c (push_regs): New function. Extracts code from...
4064 (rx_expand_prologue): ... here. Use push_regs to push even small
4065 spans of registers.
4066 (pop_regs): New function.
4067 (rx_expand_epilogue): Use pop_regs to pop even small spans of
4068 registers.
4069
1a4b99c1
RB
40702015-05-28 Richard Biener <rguenther@suse.de>
4071
4072 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
4073 member.
4074 (SLP_INSTANCE_BODY_COST_VEC): Remove.
4075 (vect_update_slp_costs_according_to_vf): Likewise.
4076 (vect_slp_analyze_operations): Update prototype.
4077 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
4078 vect_update_slp_costs_according_to_vf, adjust.
4079 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
4080 (vect_analyze_slp_cost_1): Likewise.
4081 (vect_analyze_slp_cost): Likewise. Properly deal with
4082 widening reduction ops. Commit body costs.
4083 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
4084 cost for loops from here.
4085 (vect_slp_analyze_operations): But do it from here when
4086 the vectorization factor is known and stmts are analyzed.
4087 (vect_bb_vectorization_profitable_p): Simplify.
4088 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
4089 (vect_update_slp_costs_according_to_vf): Remove.
4090
428b3812
L
40912015-05-27 Magnus Granberg <zorry@gentoo.org>
4092 H.J. Lu <hongjiu.lu@intel.com>
4093
4094 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
4095 (BUILD_CFLAGS): Likewise.
4096 (BUILD_CXXFLAGS): Likewise.
4097 (LINKER): Add @NO_PIE_FLAG@.
4098 (BUILD_LDFLAGS): Likewise.
4099 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
4100 --enable-default-pie.
4101 * common.opt (fPIE): Initialize to -1.
4102 (fpie): Likewise.
4103 (no-pie): New option.
4104 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
4105 * configure.ac: Add --enable-default-pie.
4106 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
4107 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
4108 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
4109 * gcc.c (NO_PIE_SPEC): New.
4110 (PIE_SPEC): Likewise.
4111 (NO_FPIE1_SPEC): Likewise.
4112 (FPIE1_SPEC): Likewise.
4113 (NO_FPIE2_SPEC): Likewise.
4114 (FPIE2_SPEC): Likewise.
4115 (NO_FPIE2_SPEC): Likewise.
4116 (FPIE_SPEC): Likewise.
4117 (NO_FPIE_SPEC): Likewise.
4118 (NO_FPIC1_SPEC): Likewise.
4119 (FPIC1_SPEC): Likewise.
4120 (NO_FPIC2_SPEC): Likewise.
4121 (FPIC2_SPEC): Likewise.
4122 (NO_FPIC2_SPEC): Likewise.
4123 (FPIC_SPEC): Likewise.
4124 (NO_FPIC_SPEC): Likewise.
4125 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
4126 (FPIE1_OR_FPIC1_SPEC): Likewise.
4127 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
4128 (FPIE2_OR_FPIC2_SPEC): Likewise.
4129 (NO_FPIE_AND_FPIC_SPEC): Likewise.
4130 (FPIE_OR_FPIC_SPEC): Likewise.
4131 (LD_PIE_SPEC): Likewise.
4132 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
4133 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
4134 * config/darwin.h (PIE_SPEC): Renamed to ...
4135 (DARWIN_PIE_SPEC): This.
4136 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
4137 * config/darwin9.h (PIE_SPEC): Renamed to ...
4138 (DARWIN_PIE_SPEC): This.
4139 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
4140 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
4141 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
4142 FPIE2_OR_FPIC2_SPEC.
4143 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
4144 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
4145 * gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
4146 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4147 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4148 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4149 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
4150 * config/m32r/m32r.h (ASM_SPEC): Likewise.
4151 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
4152 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
4153 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
4154 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
4155 * config/sparc/linux.h (ASM_SPEC): Likewise.
4156 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4157 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
4158 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
4159 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4160 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
4161 * config/sparc/sparc.h (ASM_SPEC): Likewise.
4162 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
4163 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
4164 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
4165 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
4166 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
4167 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
4168 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
4169 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
b4147b63
UB
4170 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
4171 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
428b3812
L
4172 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
4173 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
4174 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4175 * config/vax/linux.h (ASM_SPEC): Likewise.
4176 * doc/install.texi: Document --enable-default-pie.
4177 * doc/invoke.texi: Document -no-pie.
4178 * config.in: Regenerated.
4179 * configure: Likewise.
4180
ddd93587
TP
41812015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
4182
4183 PR rtl-optimization/66168
4184 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
4185 can_move_invariant_reg.
4186
34319f9a
JDA
41872015-05-27 John David Anglin <danglin@gcc.gnu.org>
4188
225f4747
JDA
4189 PR target/66148
4190 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
4191 REG_EQUAL note when doing insert.
4192
34319f9a
JDA
4193 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
4194 instead of "%d" for 'o' operand.
4195
929614bf
NS
41962015-05-27 Nathan Sidwell <nathan@acm.org>
4197
4198 PR c++/66270
4199 * tree.c (build_pointer_type_for_mode): Canonical type does not
4200 inherit can_alias_all.
4201 (build_reference_type_for_mode): Likewise.
4202
8974754f
EB
42032015-05-27 Eric Botcazou <ebotcazou@adacore.com>
4204
4205 * expr.h (array_at_struct_end_p): Move to...
4206 (array_ref_element_size): Likewise.
4207 (component_ref_field_offset): Likewise.
4208 * tree.h (array_ref_element_size): ...here.
4209 (array_at_struct_end_p): Likewise.
4210 (component_ref_field_offset): Likewise.
4211 * expr.c (array_ref_element_size): Move to...
4212 (array_ref_low_bound): Likewise.
4213 (array_at_struct_end_p): Likewise.
4214 (array_ref_up_bound): Likewise.
4215 (component_ref_field_offset): Likewise.
4216 * tree.c (array_ref_element_size): ...here.
4217 (array_ref_low_bound): Likewise.
4218 (array_ref_up_bound): Likewise.
4219 (array_at_struct_end_p): Likewise.
4220 (component_ref_field_offset): Likewise.
4221
b6840fb7
GR
42222015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
4223 Szabolcs Nagy <szabolcs.nagy@arm.com>
4224
4225 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
4226
ff771de3
JM
42272015-05-27 Jason Merrill <jason@redhat.com>
4228
4229 PR bootstrap/66304
4230 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
4231 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
4232 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
4233
e7f40208 42342015-05-22 Aditya Kumar <hiraditya@msn.com>
ec09a694 4235
650a202b
AK
4236 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
4237 is true.
4238
ec09a694
AK
4239 * statistics.c (statistics_fini_pass): Print pass name.
4240
f3ae4add
RB
42412015-05-27 Richard Biener <rguenther@suse.de>
4242
4243 PR tree-optimization/66272
4244 Revert parts of
4245 2014-08-15 Richard Biener <rguenther@suse.de>
4246
4247 PR tree-optimization/62031
4248 * tree-data-ref.c (dr_analyze_indices): Do not set
4249 DR_UNCONSTRAINED_BASE.
4250 (dr_may_alias_p): All indirect accesses have to go the
4251 formerly DR_UNCONSTRAINED_BASE path.
4252 * tree-data-ref.h (struct indices): Remove
4253 unconstrained_base member.
4254 (DR_UNCONSTRAINED_BASE): Remove.
4255
70660539
AH
42562015-05-27 Aldy Hernandez <aldyh@redhat.com>
4257
4258 * dwarf2out.c: Remove block_map.
4259 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
4260 (gen_lexical_block_die): Same.
4261 (dwarf2out_function_decl): Remove block_map use.
4262 (dwarf2out_c_finalize): Same.
4263 * tree-core.h (struct tree_block): Add die field.
4264 * tree.h (BLOCK_DIE): New.
4265
99206968
KT
42662015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4267
4268 PR target/65358
4269 * expr.c (memory_load_overlap): New function.
4270 (emit_push_insn): When pushing partial args to the stack would
4271 clobber the register part load the overlapping part into a pseudo
4272 and put it into the hard reg after pushing. Change return type
4273 to bool. Add bool argument.
4274 * expr.h (emit_push_insn): Change return type to bool.
4275 Add bool argument.
4276 * calls.c (expand_call): Cancel sibcall optimization when encountering
4277 partial argument on targets with ARGS_GROW_DOWNWARD and
4278 !STACK_GROWS_DOWNWARD.
4279 (emit_library_call_value_1): Update callsite of emit_push_insn.
ae2bb6da 4280 (store_one_arg): Likewise.
99206968 4281
4d45be53
GR
42822015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
4283
4284 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
4285
2d44c7de
ML
42862015-05-27 Martin Liska <mliska@suse.cz>
4287
4288 * Makefile.in: Add additional dependencies related to memory report
4289 enhancement.
4290 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
4291 * bitmap.c (struct bitmap_descriptor_d): Remove.
4292 (struct loc): Likewise.
4293 (struct bitmap_desc_hasher): Likewise.
4294 (bitmap_desc_hasher::hash): Likewise.
4295 (bitmap_desc_hasher::equal): Likewise.
4296 (get_bitmap_descriptor): Likewise.
4297 (bitmap_register): User new memory descriptor API.
4298 (register_overhead): Likewise.
4299 (bitmap_find_bit): Register nsearches and search_iter statistics.
4300 (struct bitmap_output_info): Remove.
4301 (print_statistics): Likewise.
4302 (dump_bitmap_statistics): Use new memory descriptor.
4303 * bitmap.h (struct bitmap_usage): New class.
4304 * genmatch.c: Extend header file inclusion.
4305 * genpreds.c: Likewise.
4306 * ggc-common.c (struct ggc_usage): New class.
4307 (struct ggc_loc_desc_hasher): Remove.
4308 (ggc_loc_desc_hasher::hash): Likewise.
4309 (ggc_loc_desc_hasher::equal): Likewise.
4310 (struct ggc_ptr_hash_entry): Likewise.
4311 (struct ptr_hash_hasher): Likewise.
4312 (ptr_hash_hasher::hash): Likewise.
4313 (ptr_hash_hasher::equal): Likewise.
4314 (make_loc_descriptor): Likewise.
4315 (ggc_prune_ptr): Likewise.
4316 (dump_ggc_loc_statistics): Use new memory descriptor.
4317 (ggc_record_overhead): Likewise.
4318 (ggc_free_overhead): Likewise.
4319 (final_cmp_statistic): Remove.
4320 (cmp_statistic): Likewise.
4321 (ggc_add_statistics): Liekwise.
4322 (ggc_prune_overhead_list): Likewise.
4323 * hash-map-traits.h: New file.
4324 * hash-map.h (struct default_hashmap_traits): Move the traits to a
4325 separate header file.
4326 * hash-set.h: Pass memory statistics info to ctor.
4327 * hash-table.c (void dump_hash_table_loc_statistics): New function.
4328 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
4329 (hash_table::~hash_table): Register memory release operation.
4330 (hash_table::alloc_entries): Handle memory allocation operation.
4331 (hash_table::expand): Likewise.
4332 * inchash.c (iterative_hash_hashval_t): Move implementation to header
4333 file.
4334 (iterative_hash_host_wide_int): Likewise.
4335 * inchash.h (class hash): Likewise.
4336 * mem-stats-traits.h: New file.
4337 * mem-stats.h: New file.
4338 (mem_location): Add new class.
4339 (mem_usage): Likewise.
4340 (mem_alloc_description): Likewise.
4341 * sese.c: Add new header file inclusision.
4342 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
4343 and hash_set.
4344 * tree-sra.c: Add new header file inclusision.
4345 * vec.c (struct vec_descriptor): Remove.
4346 (hash_descriptor): Likewise.
4347 (struct vec_usage): Likewise.
4348 (struct ptr_hash_entry): Likewise.
4349 (hash_ptr): Likewise.
4350 (eq_ptr): Likewise.
4351 (vec_prefix::register_overhead): Use new memory descriptor API.
4352 (vec_prefix::release_overhead): Likewise.
4353 (add_statistics): Remove.
4354 (dump_vec_loc_statistics): Use new memory descriptor API.
4355 * vec.h (struct vec_prefix): Likewise.
4356 (va_heap::reserve): Likewise.
4357 (va_heap::release): Likewise.
4358 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
4359
b1af7da6
RB
43602015-05-27 Richard Biener <rguenther@suse.de>
4361
4362 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
4363 earlier and remove ??? comment.
4364 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
4365 and got called from loop analysis bail out. Always pass the SLP
4366 node to the vectorizable_* functions.
4367 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
4368 the premature SLP check here.
4369 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
4370 detected SLP stmts.
4371 (vect_detect_hybrid_slp_1): Likewise.
4372
7499cd25
JL
43732015-05-26 Jeff Law <law@redhat.com>
4374
7553271e
JL
4375 * combine.c (find_split_point): Verify that the shift count is a
4376 constant when choosing (plus (ashift ...)) as a split point.
4377
7499cd25
JL
4378 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
4379 No functional changes.
4380
6acd8c92
JH
43812015-05-26 Jan Hubicka <hubicka@ucw.cz>
4382
4383 * ipa-polymorphic-call.c
4384 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
4385 case when call target is already known.
4386
afa5920a
OE
43872015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
4388
4389 PR target/65979
4390 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
4391 take into account the case that operands[1] and operands[2]
4392 are the same register.
4393
cee62fee
MM
43942015-05-26 Michael Matz <matz@suse.de>
4395
4396 PR middle-end/66251
4397
4398 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
4399 stores.
4400 (vect_create_vectorized_demotion_stmts): Always set
4401 STMT_VINFO_VEC_STMT, also with SLP.
4402 (vectorizable_store): Handle strided group stores.
4403
dd1bdce4
VK
44042015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
4405
4406 PR target/66049
4407 * config/aarch64/aarch64.md
4408 (*adds_shift_imm_<mode>): New pattern.
4409 (*subs_shift_imm_<mode>): Likewise.
4410 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
4411 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
4412 (*add_uxt<mode>_shift2): Likewise.
4413 (*add_uxtsi_shift2_uxtw): Likewise.
4414 (*sub_uxt<mode>_shift2): Likewise.
4415 (*sub_uxtsi_shift2_uxtw): Likewise.
4416
efac9d45
DE
44172015-05-26 David Edelsohn <dje.gcc@gmail.com>
4418
4419 * config/rs6000/constraints.md (Y, U): Use match_test.
4420
28c206e1 44212015-05-26 Christian Bruel <christian.bruel@st.com>
08793a38
CB
4422
4423 PR target/52144
4424 * config/arm/arm.c (arm_option_check_internal)
4425 (arm_option_params_internal): Check opts->target_flags to set macros.
4426 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
4427 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
4428 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
4429 (builtin_define): Replaced with def_or_undef_macro.
4430 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
4431 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
4432 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
4433 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
4434 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
4435 (TARGET_ARM_FEATURE_LDREX_P)
4436 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
b1d11d62
CB
4437 * config/arm/arm-c.c (def_or_undef_macro): New function.
4438 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
08793a38 4439
7049e4eb
CB
44402015-05-26 Christian Bruel <christian.bruel@st.com>
4441
4442 * c-common.h (builtin_define_with_int_value)
4443 (builtin_define_type_sizeof): Declare.
4444 * c-cppbuiltin.c (builtin_define_with_int_value)
4445 (builtin_define_type_sizeof): Externalize.
4446 (builtin_define_std): Cleanup declaration.
4447 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
4448 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
4449 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
4450 (builtin_define, builtin_assert): New macros.
4451
ea3eac3a
RB
44522015-05-26 Richard Biener <rguenther@suse.de>
4453
4454 PR tree-optimization/66142
4455 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
4456 MEM_REFs for the same base address.
4457
70c3fcfc
RR
44582015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4459
4460 PR ipa/66181
4461 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
4462
13ccfea8
JM
44632015-05-26 Jason Merrill <jason@redhat.com>
4464
a4716210
JM
4465 * configure.ac: Set CXXFLAGS for ISL test.
4466 * configure: Regenerate.
4467
13ccfea8
JM
4468 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
4469 strstr and basename.
4470 * configure: Regenerate.
4471
8f0c696a
RB
44722015-05-26 Richard Biener <rguenther@suse.de>
4473
4474 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
4475 X % C -> X & (C - 1) for C being a power-of two to ...
4476 * match.pd: ... patterns.
4477
534bd33b
MG
44782015-05-26 Marc Glisse <marc.glisse@inria.fr>
4479
4480 * match.pd (swapped_tcc_comparison): New operator list.
4481 (-A CMP -B): New simplification.
4482 * fold-const.c (fold_comparison): Remove corresponding code.
4483
c3dc5e66
RS
44842015-05-26 Richard Sandiford <richard.sandiford@arm.com>
4485
4486 * caller-save.c (init_caller_save): Base temporary register numbers
4487 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
4488 * cfgloopanal.c (init_set_costs): Likewise.
4489 * dojump.c (prefer_and_bit_test): Likewise.
4490 * expr.c (init_expr_target): Likewise.
4491 * ira.c (setup_prohibited_mode_move_regs): Likewise.
4492 * lower-subreg.c (init_lower_subreg): Likewise.
4493 * postreload.c (reload_cse_regs_1): Likewise.
4494
851ee5f4
RS
44952015-05-26 Richard Sandiford <richard.sandiford@arm.com>
4496
4497 * gensupport.h (compute_test_codes): Declare.
4498 * gensupport.c (compute_predicate_codes): Rename to...
4499 (compute_test_codes): ...this. Generalize error message.
4500 (process_define_predicate): Update accordingly.
4501 * genpreds.c (compute_maybe_allows): Delete.
4502 (add_constraint): Use compute_test_codes to determine whether
4503 something can accept a SUBREG, REG or MEM.
4504
138cac64
TR
45052015-05-26 Torvald Riegel <triegel@redhat.com>
4506
4507 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
4508 'memory model' to align with C++11; fix description of memory orders;
4509 fix a few typos.
4510
a12e42fc
RB
45112015-05-26 Richard Biener <rguenther@suse.de>
4512
4513 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
4514 (vect_analyze_loop_operations): ... here. Remove slp parameter,
4515 detect whether we apply SLP. Remove call to
4516 vect_update_slp_costs_according_to_vf.
4517 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
4518 vect_update_slp_costs_according_to_vf from here. Dispatch
4519 to vect_slp_analyze_operations to analyze SLP stmts.
4520 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
4521 unused bb_vec_info parameter, adjust assert.
4522 (vect_slp_analyze_operations): Pass in the slp instance tree
4523 instead of bb_vec_info.
4524 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
4525 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
4526
2e24efd3
AM
45272015-05-25 Alexander Monakov <amonakov@ispras.ru>
4528
4529 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
4530 Q_REGS. Expand comment.
4531 (REG_CLASS_NAMES): Ditto.
4532 (REG_CLASS_CONTENTS): Ditto.
4533
979455ea
UB
45342015-05-25 Uros Bizjak <ubizjak@gmail.com>
4535
4536 PR target/66274
4537 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
4538 when LEGACY_INT_REGNO_P is processed.
4539
4ea9e6c7
AM
45402015-05-25 Alexander Monakov <amonakov@ispras.ru>
4541
4542 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
4543
9e46366d
PS
45442015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
4545
4546 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
4547 register if not marked dead/unused, before return.
4548
4ea9e6c7 45492015-05-24 Jan Hubicka <hubicka@ucw.cz>
233ce289
JH
4550
4551 PR lto/66180
4552 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
4553 is set; check for assembler name at LTO time.
4554 (type_in_anonymous_namespace): Remove hacks, check that all
4555 anonymous types are called "<anon>"
4556 (odr_type_p): Simplify; add check for "<anon>"
4557 (odr_subtypes_equivalent): Add odr_type_p check.
4558 * tree.c (need_assembler_name_p): Even anonymous namespace needs
4559 assembler name.
4560
4ea9e6c7 45612015-05-24 Jan Hubicka <hubicka@ucw.cz>
70e7f2a2
JH
4562
4563 * ipa-utils.h (method_class_type): Remove.
98ce5ba5
UB
4564 * cgraphunit.c (walk_polymorphic_call_targets): Use
4565 TYPE_METHOD_BASETYPE.
70e7f2a2
JH
4566 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
4567 on main variants only.
4568 (method_class_type): Remove.
4569 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
4570 (build_type_inheritance_graph): Likewise.
4571 * ipa-icf.c (sem_function::equals_wpa): Likewise.
98ce5ba5 4572 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
70e7f2a2
JH
4573 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
4574
4ea9e6c7 45752015-05-24 Jan Hubicka <hubicka@ucw.cz>
66f0bbd5
JH
4576
4577 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
4578 is_typedef_decl, typedef_variant_p): Constify.
4579 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
4580 is_typedef_decl, typedef_variant_p): Constify.
4581
0e5f14d4
TS
45822015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4583
4584 * defaults.h (gen_tablejump): New function.
4585 (HAVE_tablejump): Add default value.
4586 * expr.c: Adjust.
4587 * stmt.c: Likewise.
4588
b77eb5eb
TS
45892015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4590
4591 * defaults.h (gen_store_multiple): New function.
4592 (HAVE_store_multiple): Add default value.
4593 * expr.c (move_block_from_reg): Adjust.
4594
e51f0f4f
TS
45952015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4596
4597 * defaults.h (gen_load_multiple): New function.
4598 (HAVE_load_multiple): Add default value.
4599 * expr.c (move_block_to_reg): Adjust.
4600
15469812
TS
46012015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4602
4603 * defaults.h (gen_mem_signal_fence): New function.
4604 (HAVE_mem_signal_fence): Add default value.
4605 * optabs.c: Adjust.
4606
c76a4610
TS
46072015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4608
4609 * defaults.h (gen_memory_barrier): New function.
4610 (HAVE_memory_barrier): Add default value.
4611 * optabs.c: Adjust.
4612
fcb922a9
TS
46132015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4614
4615 * defaults.h (gen_mem_thread_fence): New function.
4616 (HAVE_mem_thread_fence): Add default definition.
4617 * optabs.c: Adjust.
4618
d0b2266a
TS
46192015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4620
4621 * combine.c (find_split_point): Check the value of HAVE_lo_sum
4622 instead of if it is defined.
4623 (combine_simplify_rtx): Likewise.
4624 * lra-constraints.c (process_address_1): Likewise.
4625 * config/darwin.c: Adjust.
4626 * genconfig.c (main): Always define HAVE_lo_sum.
4627
94cbafd1
PK
46282015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4629
98ce5ba5
UB
4630 * genmatch.c (parser::parse_operation): Reject expanding
4631 operator-list inside 'for'.
94cbafd1 4632
7f0c6bad 46332015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
7523ca9b 4634
98ce5ba5
UB
4635 * genmatch.c (parser::parse_for): Reject iterator if used as
4636 operator-list.
7523ca9b 4637
b78be014
PK
46382015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4639
98ce5ba5
UB
4640 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
4641 after end of id-list.
b78be014 4642
b727ba74
JH
46432015-05-22 Jan Hubicka <hubicka@ucw.cz>
4644
4645 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
4646 we do not try to compute canonical type for type that does not need
4647 alias set.
4648 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
4649 FUNCITON_TYPE.
4650 * tree.h (type_with_alias_set_p): New.
4651
14e40d7e
JH
46522015-05-22 Jan Hubicka <hubicka@ucw.cz>
4653
4654 * tree.c (gimple_canonical_types_compatible_p): Do not compare
4655 function attributes.
4656 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
4657
a95492ab
JW
46582015-05-22 Jim Wilson <jim.wilson@linaro.org>
4659
4660 * Makefile.in (check_gcc_parallelize): Delete.
4661 (lang_checks_parallelized): Update comment.
4662
d08093db
MM
46632015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
4664
4665 PR rtl-optimization/66237
4666 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
4667 location of an "as_a" cast.
4668
3b0244cc
JL
46692015-05-22 Jeff Law <law@redhat.com>
4670
4671 * config/pa/pa.md (non-canonical shift-add insns): Remove.
4672 (peepholes with non-canonical RTL sources): Remove.
4673 (peepholes for indexed stores of FP regs in integer modes): Match and
4674 generate canonical RTL.
4675
257b01ba
MG
46762015-05-22 Marc Glisse <marc.glisse@inria.fr>
4677
4678 PR tree-optimization/63387
4679 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
4680 ((x ord x) & (y ord y) -> (x ord y),
4681 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
4682 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
4683 vectors like scalars.
4684
b8f75b8c
MG
46852015-05-22 Marc Glisse <marc.glisse@inria.fr>
4686
4687 * convert.c (convert_to_integer, convert_to_vector): Include the
4688 types in the error message.
4689
af563d4b
MG
46902015-05-22 Marc Glisse <marc.glisse@inria.fr>
4691
4692 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
4693 simplifications.
4694
92d0b058
JL
46952015-05-22 Jeff Law <law@redhat.com>
4696
ddc75e8b
JL
4697 * config/pa/pa.md (integer_indexed_store splitters): Use
4698 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
4699 insns -- adjusting the constant 2nd operand accordingly.
4700
cc55969d
JL
4701 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
4702 (plus (ashift X log2) Y) if it is a split point.
4703
3b0244cc
JL
4704 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
4705 out of hppa_legitimize_address to handle both forms of a multiply
92d0b058 4706 by 2, 4 or 8.
98ce5ba5 4707 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
92d0b058
JL
4708 Always generate the ASHIFT variant as the result is not directly
4709 used in a MEM. Update comments and refactor slightly to improve
4710 readability.
4711
b6ec6215
KT
47122015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4713
4714 PR target/65491
4715 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
4716 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
4717 (aarch64_composite_type_p): Return false if given type and mode are
4718 for a short vector.
4719
effb52da
RB
47202015-05-22 Richard Biener <rguenther@suse.de>
4721
4722 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
4723 member.
4724 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
4725 patterns when determining whether SLP is pure.
4726 (vect_is_slp_reduction): Remove check for pattern stmts.
4727 (vect_is_simple_reduction_1): Remove dead code.
4728 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
4729 (vect_get_and_check_slp_defs): Pass in the stmt number.
4730 Allow the first def in a reduction to be not a pattern stmt when
4731 the rest of the stmts def are patterns.
4732 (vect_build_slp_tree_1): Allow tcc_expression codes like
4733 SAD_EXPR and DOT_PROD_EXPR.
4734 (vect_build_slp_tree): Adjust.
4735 (vect_analyze_slp): Refactor and move BB vect error message ...
4736 (vect_slp_analyze_bb_1): ... here.
4737
f8d851c6
AH
47382015-05-22 Aldy Hernandez <aldyh@redhat.com>
4739
4740 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
4741 for CSWTCH temporary.
4742
64a40a7b
KT
47432015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4744
4745 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
4746 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
4747 unknown unspecs.
4748
7ac5a140
RB
47492015-05-22 Richard Biener <rguenther@suse.de>
4750
4751 PR tree-optimization/66251
4752 * tree-vect-stmts.c (vectorizable_conversion): Properly
4753 set STMT_VINFO_VEC_STMT even for the SLP case.
4754
b7f016cb
MP
47552015-05-22 Marek Polacek <polacek@redhat.com>
4756
4757 * doc/extend.texi: Use @pxref instead of @xref.
4758
9dbe0d83
AK
47592015-05-22 hiraditya <hiraditya@msn.com>
4760
4761 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
4762 redundant if.
4763
476c1280
RB
47642015-05-22 Richard Biener <rguenther@suse.de>
4765
4766 PR tree-optimization/65701
4767 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
4768 Move peeling cost models into one place. Peel for alignment
4769 for single loads only if an aligned load is cheaper than
4770 an unaligned load.
4771
fd5c817a
MP
47722015-05-22 Marek Polacek <polacek@redhat.com>
4773
4774 PR c/47043
4775 * doc/extend.texi (Enumerator Attributes): New section.
4776 Document syntax of enumerator attributes.
4777
afbe6325
RB
47782015-05-22 Richard Biener <rguenther@suse.de>
4779
4780 * tree-vect-loop.c (get_reduction_op): New function.
4781 (vect_model_reduction_cost): Use it, add reduc_index parameter.
4782 Make ready for BB reductions.
4783 (vect_create_epilog_for_reduction): Use get_reduction_op.
4784 (vectorizable_reduction): Init reduc_index to a valid value.
4785 Adjust vect_model_reduction_cost call.
4786 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
4787 operand for reduction defaults. Add SAD_EXPR support.
4788 Assert we have a neutral op for SLP reductions.
4789 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
4790 walking pattern stmt ops only recurse to SSA names.
4791
328dc477
RB
47922015-05-22 Richard Biener <rguenther@suse.de>
4793
4794 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
4795 assert with guard, remove check on detected reduction.
4796 (vect_recog_sad_pattern): Likewise.
4797 (vect_recog_widen_sum_pattern): Likewise.
4798
44ae5cd2
KT
47992015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4800
4801 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
4802 __always_inline__ attribute.
4803 (vaesdq_u8): Likewise.
4804 (vaesmcq_u8): Likewise.
4805 (vaesimcq_u8): Likewise.
4806 (vsha1cq_u32): Likewise.
4807 (vsha1mq_u32): Likewise.
4808 (vsha1pq_u32): Likewise.
4809 (vsha1h_u32): Likewise.
4810 (vsha1su0q_u32): Likewise.
4811 (vsha1su1q_u32): Likewise.
4812 (vsha256hq_u32): Likewise.
4813 (vsha256h2q_u32): Likewise.
4814 (vsha256su0q_u32): Likewise.
4815 (vsha256su1q_u32): Likewise.
4816 (vmull_p64): Likewise.
4817 (vmull_high_p64): Likewise.
4818
a2f45fe6 48192015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
d87834de
TS
4820
4821 * final.c (final_scan_insn): Don't check HAVE_peephole with the
4822 preprocessor.
4823 * output.h: Likewise.
4824 * genconfig.c (main): Alwways define HAVE_peephole.
4825 * genpeep.c: Don't emit checks of HAVE_peephole.
4826
a2f45fe6 48272015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
692e0312
TS
4828
4829 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
4830 check HAVE_conditional_move with the preprocessor.
4831
a2f45fe6 48322015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
759df569
TS
4833
4834 * genconfig.c (main): Always define HAVE_conditional_move.
4835 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
4836 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
4837 is defined.
4838
a2f45fe6 48392015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3f393fc6
TS
4840
4841 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
4842 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
4843 and FRAME_POINTER_REGNUM with the preprocessor.
4844
a2f45fe6 48452015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
dfed6961
TS
4846
4847 * defaults.h: Add default for STACK_PUSH_CODE.
4848 * expr.c: Don't redefine STACK_PUSH_CODE.
4849 * recog.c: Likewise.
4850
a2f45fe6 48512015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
4852
4853 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
4854 sched-deps.c: Use if instead of preprocessor checks with
4855 STACK_GROWS_DOWNWARD.
4856
a2f45fe6 48572015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
4858
4859 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
4860 is defined.
4861 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
4862 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
4863 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
4864 * doc/tm.texi: Regenerate.
4865
f70d27e0
L
48662015-05-21 H.J. Lu <hongjiu.lu@intel.com>
4867
4868 PR target/66232
4869 * config/i386/constraints.md (Bg): New constraint for GOT memory
4870 operand.
4871 * config/i386/i386.md (*call_got_x32): New pattern.
4872 (*call_value_got_x32): Likewise.
4873 * config/i386/predicates.md (GOT_memory_operand): New predicate.
4874
d51a6714
JJ
48752015-05-21 Jakub Jelinek <jakub@redhat.com>
4876
4877 PR tree-optimization/66233
4878 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
4879 Simplify.
4880
f3da5375
JL
48812015-05-21 Jeff Law <law@redhat.com>
4882
4883 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
4884 than MULT for shadd sequences.
4885
3ecf9d13
JH
48862015-05-08 Jan Hubicka <hubicka@ucw.cz>
4887
98ce5ba5 4888 * alias.c (alias_stats): New static var.
3ecf9d13
JH
4889 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
4890 (dump_alias_stats_in_alias_c): New function.
4891 * alias.h (dump_alias_stats_in_alias_c): Declare.
4892 * tree-ssa-alias.c (dump_alias_stats): Call it.
4893
f2e2a985
MM
48942015-05-08 Michael Matz <matz@suse.de>
4895
4896 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
4897 to strided_p.
4898 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
4899 (STMT_VINFO_STRIDED_P): ... this.
4900 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
4901 (vect_verify_datarefs_alignment): Likewise.
4902 (vect_enhance_data_refs_alignment): Likewise.
4903 (vect_analyze_data_ref_access): Likewise.
4904 (vect_analyze_data_refs): Accept strided stores.
4905 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
4906 (vect_model_load_cost): Adjust for macro rename.
4907 (vectorizable_mask_load_store): Likewise.
4908 (vectorizable_load): Likewise.
4909 (vectorizable_store): Open code strided stores.
4910
1e43cc94
KT
49112015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4912
4913 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
4914 Document sqrt_insn.
4915
5ba3ae6d
RB
49162015-05-21 Richard Biener <rguenther@suse.de>
4917
4918 PR c++/66211
4919 * match.pd: Guard pattern optimzing (int)(float)int
4920 conversions to apply only on GIMPLE.
4921
a7a629d7
JL
49222015-05-21 Jeff Law <law@redhat.com>
4923
4924 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
4925 multiply-accumulate/shift-add insn generation.
4926
0daff5e0
OE
49272015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
4928
4929 PR target/54236
4930 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
4931 operands[1] are the same.
4932
551dc300
IE
49332015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
4934
4935 PR middle-end/66221
4936 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
4937 build_distinct_type_copy to copy bounds.
4938
a4f238b6
TS
49392015-05-21 Thomas Schwinge <thomas@codesourcery.com>
4940
4941 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
4942 Change to unsigned int.
4943
b47fbc53
JL
49442015-05-20 Jeff Law <law@redhat.com>
4945
4946 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
4947 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
4948 (pa_shadd_constant_p): Allow constants for shadd insns rather
4949 than valid scaling constants for memory addresses.
4950 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
4951 * config/pa/predicates.md (mem_shadd_operand): New predicate.
4952 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
4953 (shift-add insns using ASHIFT): New patterns.
4954
1476d1bd
MM
49552015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
4956
4957 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
4958 feasible.
4959 (fix_up_fall_thru_edges): Likewise.
4960 (fix_crossing_conditional_branches): Likewise. Promote jump targets
4961 from to rtx_insn to rtx_code_label where feasible.
4962 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
4963 gen_move_insn (returned type changed to rtx_insn).
4964 * builtins.c (expand_errno_check): Fix arguments of
4965 do_compare_rtx_and_jump (now expects rtx_code_label).
4966 (expand_builtin_acc_on_device): Likewise.
4967 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
4968 invert_jump (now exprects rtx_jump_insn).
4969 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
4970 (construct_init_block): Use rtx_code_label.
4971 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
4972 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
4973 calling redirect_jump.
4974 (patch_jump_insn): Likewise.
4975 (redirect_branch_edge): Likewise.
4976 (force_nonfallthru_and_redirect): Likewise.
4977 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
4978 when suitable.
4979 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
4980 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
4981 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
4982 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
4983 to store the value retured by gen_label_rtx.
4984 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
4985 rtx_jump_insn.
4986 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
4987 (split_branches): Fix calls of redirect_jump.
98ce5ba5
UB
4988 * dojump.c (jumpifnot): Promote argument type from rtx to
4989 rtx_code_label.
1476d1bd
MM
4990 (jumpifnot_1): Likewise.
4991 (jumpif): Likewise.
4992 (jumpif_1): Likewise.
4993 (do_jump_1): Likewise.
4994 (do_jump): Likewise. Use rtx_code_label when feasible.
4995 (do_jump_by_parts_greater_rtx): Likewise.
4996 (do_jump_by_parts_zero_rtx): Likewise.
4997 (do_jump_by_parts_equality_rtx): Likewise.
4998 (do_compare_rtx_and_jump): Likewise.
4999 * dojump.h: Update function prototypes.
5000 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
5001 returns rtx_insn).
5002 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
5003 rtx_jump_insn.
5004 (emit_label_before): Likewise.
5005 (emit_jump_insn_after_noloc): Likewise.
5006 (emit_jump_insn_after_setloc): Likewise.
5007 (emit_jump_insn_after): Likewise
5008 (emit_jump_insn_before_setloc): Likewise.
5009 (emit_jump_insn_before): Likewise.
5010 (emit_label_before): Promote return type to rtx_code_label.
5011 (emit_label): Likewise.
5012 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
5013 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
5014 gen_move_insn.
5015 (emit_stack_restore): Likewise.
5016 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
5017 (do_cmp_and_jump): Likewise.
5018 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
5019 from rtx to rtx_code_label.
5020 (gen_move_insn_uncast): New function.
5021 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
5022 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
5023 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
5024 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
5025 invert_jump_1 and redirect_jump_1.
5026 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
5027 do_compare_rtx_and_jump.
5028 (expand_addsub_overflow): Likewise.
5029 (expand_neg_overflow): Likewise.
5030 (expand_mul_overflow): Likewise.
5031 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
5032 return value of gen_move_insn.
5033 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
5034 * loop-doloop.c (add_test): Use rtx_code_label.
5035 (doloop_modify): Likewise.
5036 (doloop_optimize): Likewise.
5037 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
5038 * lra-constraints.c (emit_spill_move): Remove cast of value returned
5039 by gen_move_insn.
5040 (inherit_reload_reg): Add cast when calling dump_insn_slim.
5041 (split_reg): Likewise.
5042 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
5043 gen_move_insn.
5044 * optabs.c (expand_binop_directly): Remove casts of values returned by
5045 maybe_gen_insn.
5046 (expand_unop_direct): Likewise.
5047 (expand_abs): Likewise.
5048 (maybe_emit_unop_insn): Likewise.
5049 (maybe_gen_insn): Promote return type to rtx_insn.
5050 * optabs.h: Update prototype of maybe_gen_insn.
5051 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
5052 redundant cast.
5053 * recog.c (struct peep2_insn_data): Promote type of insn field to
5054 rtx_insn.
5055 (peep2_reinit_state): Use NULL instead of NULL_RTX.
5056 (peep2_attempt): Remove casts of insn in peep2_insn_data.
5057 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
5058 * recog.h (struct insn_gen_fn): Promote return types of function
5059 pointers and operator ().from rtx to rtx_insn.
5060 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
5061 (fill_eager_delay_slots): Likewise.
5062 (relax_delay_slots): Likewise.
5063 (make_return_insns): Likewise.
5064 (dbr_schedule): Likewise.
5065 (optimize_skips): Likewise.
5066 (reorg_redirect_jump): Likewise.
5067 (fill_slots_from_thread): Likewise.
5068 * reorg.h: Update prototypes.
5069 * resource.c (find_dead_or_set_registers): Use dyn_cast to
5070 rtx_jump_insn instead of check. Use it's jump_target method.
5071 * rtl.h (rtx_jump_insn::jump_label): Define new method.
5072 (rtx_jump_insn::jump_target): Define new method.
5073 (rtx_jump_insn::set_jump_target): Define new method.
5074 * rtlanal.c (tablejump_p): Promote type of one local variable.
5075 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
5076 (sched_analyze_insn): Likewise.
5077 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
5078 (print_insn): Likewise.
5079 * stmt.c (label_rtx): Promote return type to rtx_insn.
5080 (force_label_rtx): Likewise.
5081 (jump_target_rtx): Define new function.
5082 (expand_label): Use it, get rid of one cast.
5083 (expand_naked_return): Promote rtx to rtx_code_label.
5084 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
5085 (expand_case): Use rtx_code_label instread of rtx where feasible.
5086 (expand_sjlj_dispatch_table): Likewise.
5087 (emit_case_nodes): Likewise.
5088 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
5089 * store-motion.c (insert_store): Make use of new return type of
5090 gen_move_insn and remove a cast.
5091 (replace_store_insn): Likewise.
5092
91767ed1
MF
50932015-05-20 Max Filippov <jcmvbkbc@gmail.com>
5094
5095 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
5096 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
5097
2b3ac48e
JL
50982015-05-20 Jeff Law <law@redhat.com>
5099
5100 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
5101 dispose of the jump thread path when the jump threading
5102 opportunity is cancelled.
5103
e4129dd0
MLI
51042015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5105
5106 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
5107 when printing the caret character.
5108
cf4ef6f7
MP
51092015-05-20 Marek Polacek <polacek@redhat.com>
5110
5111 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
5112
98209db3
MP
51132015-05-20 Marek Polacek <polacek@redhat.com>
5114
5115 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
5116 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
5117 * gimple-fold.c (canonicalize_bool): Likewise.
5118 (same_bool_result_p): Likewise.
5119 * tree-if-conv.c (parse_predicate): Likewise.
5120
3a65ee74
MP
51212015-05-20 Marek Polacek <polacek@redhat.com>
5122
5123 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
5124 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
5125
7bd11911
KT
51262015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5127
5128 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
5129 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
5130 values.
5131
ba57dd12
RS
51322015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
5133
5134 * config/mips/mips.h (micromips_globals): Declare.
5135
42242005
DM
51362015-05-20 David Malcolm <dmalcolm@redhat.com>
5137
5138 * timevar.def (TV_INITIALIZE_RTL): New.
5139 * toplev.c (initialize_rtl): Use an auto_timevar to account this
5140 function's time to TV_INITIALIZE_RTL.
5141
0ff4ddeb
IE
51422015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
5143
5144 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
5145 gimple_build_nop calls.
5146 (chkp_find_bounds_for_elem): Likewise.
5147 (chkp_get_zero_bounds): Likewise.
5148 (chkp_get_none_bounds): Likewise.
5149 (chkp_get_bounds_by_definition): Likewise.
5150 (chkp_generate_extern_var_bounds): Likewise.
5151 (chkp_get_bounds_for_decl_addr): Likewise.
5152 (chkp_get_bounds_for_string_cst): Likewise.
5153
a7e43c57
BC
51542015-05-20 Bin Cheng <bin.cheng@arm.com>
5155
5156 PR tree-optimization/65447
5157 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
5158 (dump_use, dump_uses): Support to dump sub use.
5159 (record_use): New parameters to support sub use. Remove call to
5160 dump_use.
5161 (record_sub_use, record_group_use): New functions.
5162 (compute_max_addr_offset, split_all_small_groups): New functions.
5163 (group_address_uses, rewrite_use_address): New functions.
5164 (strip_offset): New declaration.
5165 (find_interesting_uses_address): Call record_group_use.
5166 (add_candidate): New assertion.
5167 (infinite_cost_p): Move definition forward.
5168 (add_costs): Check INFTY cost and return immediately.
5169 (get_computation_cost_at): Clear setup cost and dependent bitmap
5170 for sub uses.
5171 (determine_use_iv_cost_address): Compute cost for sub uses.
5172 (rewrite_use_address_1): Rename from old rewrite_use_address.
5173 (free_loop_data): Free sub uses.
5174 (tree_ssa_iv_optimize_loop): Call group_address_uses.
5175
b6875aac
KV
51762015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
5177 Jim Wilson <jim.wilson@linaro.org>
5178
5179 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
5180 new fields loadv and storev.
5181 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
5182 Initialize loadv and storev.
5183 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
5184 (cortexa53_extra_costs): Likewise.
5185 (cortexa57_extra_costs): Likewise.
5186 (xgene1_extra_costs): Likewise.
5187 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
5188 rtx_costs.
5189
51902015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
5191
5192 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
5193 storev.
5194 (cortexa8_extra_costs): Likewise.
5195 (cortexa5_extra_costs): Likewise.
5196 (cortexa7_extra_costs): Likewise.
5197 (cortexa12_extra_costs): Likewise.
5198 (cortexa15_extra_costs): Likewise.
5199 (v7m_extra_costs): Likewise.
5200
c725e7f8
JL
52012015-05-20 Jeff Law <law@redhat.com>
5202
5203 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
5204 instead of open-coded version. Also delete the jump thread created
5205 within this function.
5206
261640d5
AM
52072015-05-20 Alan Modra <amodra@gmail.com>
5208
5209 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
5210 stack adjusting insn. Formatting.
5211 (rs6000_emit_prologue): Track stack adjusting insn, and use of
5212 r12. If possible, emit first -fsplit-stack arg pointer insn
5213 before stack adjust. Don't use r12 to save cr if split-stack.
5214
0f0fd745
AM
52152015-05-20 Alan Modra <amodra@gmail.com>
5216
5217 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
5218 Define.
5219 (rs6000_supports_split_stack): New function.
5220 * gcc/config/rs6000/rs6000.c (machine_function): Add
5221 split_stack_arg_pointer.
5222 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
5223 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
5224 rather than virtual_incoming_args_rtx.
5225 (rs6000_va_start): Likewise.
5226 (split_stack_arg_pointer_used_p): New function.
5227 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
5228 (morestack_ref): New var.
5229 (gen_add3_const, rs6000_expand_split_stack_prologue,
5230 rs6000_internal_arg_pointer, rs6000_live_on_entry,
5231 rs6000_split_stack_space_check): New functions.
5232 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
5233 * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
5234 (UNSPECV_SPLIT_STACK_RETURN): Define.
5235 (split_stack_prologue, load_split_stack_limit,
5236 load_split_stack_limit_di, load_split_stack_limit_si,
5237 split_stack_return, split_stack_space_check): New expands and insns.
5238 * gcc/config/rs6000/rs6000-protos.h
5239 (rs6000_expand_split_stack_prologue): Declare.
5240 (rs6000_split_stack_space_check): Declare.
5241
8a03f869
AM
52422015-05-20 Alan Modra <amodra@gmail.com>
5243
5244 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
5245 (rs6000_stack_info): Don't zero offsets when not saving registers.
5246 (debug_stack_info): Adjust to omit printing unused offsets,
5247 as before.
5248 (direct_return): Test vrsave_size rather than vrsave_mask.
5249 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
5250 (rs6000_emit_epilogue): Likewise.
5251
8b07bbe7
AM
52522015-05-20 Alan Modra <amodra@gmail.com>
5253
5254 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
5255 when not saving registers.
5256 (debug_stack_info): Adjust to omit printing unused offsets,
5257 as before.
5258 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
5259 expression.
5260
ca5db45b
TS
52612015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5262
5263 PR c++/65835
5264 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
5265 value_type to const char *.
5266
b9b1573b
SL
52672015-05-19 Sandra Loosemore <sandra@codesourcery.com>
5268
5269 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
5270 to build a biarch toolchain again.
5271
4d6eb35a
JH
52722015-05-19 Jan Hubicka <hubicka@ucw.cz>
5273
5274 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
5275 or implicit declarations.
5276 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
5277 into it.
5278 (get_odr_type): Check type has linkage before adding bases.
5279 (register_odr_type): Check that type has linkage before adding it.
5280 (type_known_to_have_no_deriavations_p): Rename to ..
5281 (type_known_to_have_no_derivations_p): This one.
5282 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
5283 (type_known_to_have_no_derivations_p): This one.
5284 * ipa-polymorphic-call.c
5285 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
5286 type has linkage.
5287
f819300f
EB
52882015-05-19 Eric Botcazou <ebotcazou@adacore.com>
5289
5290 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
5291 (layout_type): Use RECORD_OR_UNION_TYPE_P.
5292
cb4c41dd
AK
52932015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5294
5295 * config/s390/s390.c (s390_vector_bool_type_p): New function.
5296 (s390_invalid_binary_op): New function.
5297 (TARGET_INVALID_BINARY_OP): Define macro.
5298
315a349c
DS
52992015-05-19 David Sherwood <david.sherwood@arm.com>
5300
5301 * loop-invariant.c (create_new_invariant): Don't calculate address cost
5302 if mode is not a scalar integer.
5303 (get_inv_cost): Increase computational cost for unused invariants.
5304
2f8fda12
AK
53052015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5306
5307 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
5308 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
5309 * config/s390/s390-builtin-types.def: New file.
5310 * config/s390/s390-builtins.def: New file.
5311 * config/s390/s390-builtins.h: New file.
5312 * config/s390/s390-c.c: New file.
5313 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
5314 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
5315 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
5316 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
5317 prototypes.
5318 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
5319 Include.
5320 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
5321 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
5322 variable definitions.
5323 (s390_const_operand_ok): New function.
5324 (s390_expand_builtin): Rewrite.
5325 (s390_init_builtins): New function.
5326 (s390_handle_vectorbool_attribute): New function.
5327 (s390_attribute_table): Add s390_vector_bool attribute.
5328 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
5329 (s390_branch_condition_mask): Generate masks for new modes.
5330 (s390_expand_vec_compare_cc): New function.
5331 (s390_mangle_type): Add mangling for vector bool types.
5332 (enum s390_builtin): Remove.
5333 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
5334 efpc builtins.
5335 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
5336 s390_cpu_cpp_builtins.
5337 (REGISTER_TARGET_PRAGMAS): New macro.
5338 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
5339 (insn_cmp mode attribute): Add new CC modes.
5340 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
5341 (lcbb): New pattern definition.
5342 * config/s390/s390intrin.h: Include vecintrin.h.
5343 * config/s390/t-s390: New file.
5344 * config/s390/vecintrin.h: New file.
5345 * config/s390/vector.md: Include vx-builtins.md.
5346 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
5347 support.
5348
6e5b5de8
AK
53492015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5350
5351 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
5352 CCVFHE.
5353 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
5354 (s390_select_ccmode): Likewise.
5355 (s390_canonicalize_comparison): Swap operands if necessary.
5356 (s390_expand_vec_compare_scalar): Expand DFmode compare using
5357 single element vector instructions.
5358 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
5359 (s390_branch_condition_mask): Generate CC masks for the new modes.
5360 * config/s390/s390.md (v0, vf, vd): New mode attributes.
5361 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
5362 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
5363 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
5364 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
5365 (*extend<DSF:mode><BFP:mode>2): New insn definition.
5366 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
5367 (extend<DSF:mode><BFP:mode>2): Turn into expander.
5368 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
5369 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
5370 (sqrt<mode>2): Add vector instruction.
5371
085261c8
AK
53722015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5373
5374 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
5375 constraints.
5376 * config/s390/predicates.md (const0_operand, constm1_operand)
5377 (constable_operand): Accept vector operands.
5378 * config/s390/s390-modes.def: Add supported vector modes.
5379 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
5380 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
5381 (s390_bytemask_vector_p, s390_expand_vec_strlen)
5382 (s390_expand_vec_compare, s390_expand_vcond)
5383 (s390_expand_vec_init): Add prototypes.
5384 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
5385 (s390_vector_mode_supported_p): New function.
5386 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
5387 (s390_contiguous_bitmask_vector_p): New function.
5388 (s390_bytemask_vector_p): New function.
5389 (s390_split_ok_p): Vector regs don't work either.
5390 (regclass_map): Add VEC_REGS.
5391 (s390_legitimate_constant_p): Handle vector constants.
5392 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
5393 (legitimate_reload_vector_constant_p): New function.
5394 (s390_preferred_reload_class): Handle CONST_VECTOR.
5395 (s390_reload_symref_address): Likewise.
5396 (s390_secondary_reload): Vector memory instructions only support
5397 short displacements. Rename reload*_nonoffmem* to reload*_la*.
5398 (s390_emit_ccraw_jump): New function.
5399 (s390_expand_vec_strlen): New function.
5400 (s390_expand_vec_compare): New function.
5401 (s390_expand_vcond): New function.
5402 (s390_expand_vec_init): New function.
5403 (s390_dwarf_frame_reg_mode): New function.
5404 (print_operand): Handle addresses with 'O' and 'R' constraints.
5405 (NR_C_MODES, constant_modes): Add vector modes.
5406 (s390_output_pool_entry): Handle vector constants.
5407 (s390_hard_regno_mode_ok): Handle vector registers.
5408 (s390_class_max_nregs): Likewise.
5409 (s390_cannot_change_mode_class): New function.
5410 (s390_invalid_arg_for_unprototyped_fn): New function.
5411 (s390_function_arg_vector): New function.
5412 (s390_function_arg_float): Remove size variable.
5413 (s390_pass_by_reference): Handle vector arguments.
5414 (s390_function_arg_advance): Likewise.
5415 (s390_function_arg): Likewise.
5416 (s390_return_in_memory): Vector values are returned in a VR if
5417 possible.
5418 (s390_function_and_libcall_value): Handle vector arguments.
5419 (s390_gimplify_va_arg): Likewise.
5420 (s390_call_saved_register_used): Consider the arguments named.
5421 (s390_conditional_register_usage): Disable v16-v31 for non-vec
5422 targets.
5423 (s390_preferred_simd_mode): New function.
5424 (s390_support_vector_misalignment): New function.
5425 (s390_vector_alignment): New function.
5426 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
5427 (TARGET_VECTOR_MODE_SUPPORTED_P)
5428 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
5429 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
5430 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
5431 (TARGET_VECTOR_ALIGNMENT): Define target macro.
5432 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
5433 (FIRST_PSEUDO_REGISTER): Increase value.
5434 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
5435 (VECTOR_REG_P): Define macros.
5436 (FIXED_REGISTERS, CALL_USED_REGISTERS)
5437 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
5438 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
5439 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
5440 Add vector registers.
5441 (CANNOT_CHANGE_MODE_CLASS): Call C function.
5442 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
5443 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
5444 memory.
5445 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
5446 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
5447 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
5448 (VR*_REGNUM): New constants.
5449 (ALL): New mode iterator.
5450 (INTALL): Remove mode iterator.
5451 Include vector.md.
5452 (movti): Implement TImode moves for VRs.
5453 Disable TImode splitter for VR targets.
5454 Implement splitting TImode GPR<->VR moves.
5455 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
5456 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
5457 reload<mode>_la_in, reload<mode>_la_out.
5458 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
5459 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
5460 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
5461 (mov<mode> SF SD): Prefer lder, lde for loading.
5462 Add lrl and strl instructions.
5463 Add vector instructions.
5464 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
5465 Call s390_expand_vec_strlen on z13.
5466 (*cc_to_int): Change predicate to nonimmediate_operand.
5467 (addti3): Rename to *addti3. New expander.
5468 (subti3): Rename to *subti3. New expander.
5469 * config/s390/vector.md: New file.
5470
55ac540c
AK
54712015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5472
5473 * common/config/s390/s390-common.c (processor_flags_table): Add
5474 z13.
5475 * config.gcc: Add z13.
5476 * config/s390/s390-opts.h (enum processor_type): Add
5477 PROCESSOR_2964_Z13.
5478 * config/s390/s390.c (s390_adjust_priority): Check for
5479 PROCESSOR_2964_Z13.
5480 (s390_reorg): Likewise.
5481 (s390_sched_reorder): Likewise.
5482 (s390_sched_variable_issue): Likewise.
5483 (s390_loop_unroll_adjust): Likewise.
5484 (s390_option_override): Likewise. Default to -mvx when available.
5485 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
5486 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
5487 (TARGET_VX_ABI): Define macros.
5488 macros.
5489 (TARGET_DEFAULT): Add MASK_OPT_VX.
5490 * config/s390/s390.md ("cpu" attribute): Add z13.
5491 ("cpu_facility" attribute): Add vec.
5492 * config/s390/s390.opt (processor_type): Add z13.
5493 (mvx): New options.
5494 * doc/invoke.texi: Add z13 option for -march.
5495
9e8ea2fc
AK
54962015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5497
5498 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
5499 mode check to make sure that only scalar integer values are
5500 accepted.
5501
872d5034
JH
55022015-05-19 Jan Hubicka <hubicka@ucw.cz>
5503
5504 * tree.c (verify_type_variant): Fix #undef.
5505 (gimple_canonical_types_compatible_p): Move here from lto.c
5506 (verify_type): Verify TYPE_CANONICAL compatibility.
5507 * tree.h (gimple_canonical_types_compatible_p): Declare.
5508
41b37d5e
JJ
55092015-05-19 Jakub Jelinek <jakub@redhat.com>
5510
5511 PR middle-end/66199
5512 * tree.h (OMP_TEAMS_COMBINED): Define.
5513 * gimplify.c (enum gimplify_omp_var_data): Add
5514 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
5515 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
5516 (omp_notice_variable): Accept both ORT_TEAMS
5517 and ORT_COMBINED_TEAMS. Don't recurse if
5518 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
5519 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
5520 GOVD_FIRSTPRIVATE.
5521 (omp_no_lastprivate): New function.
5522 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
5523 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
5524 notice_outer and set appropriate bits, otherwise make
5525 sure default(none) combined constructs won't complain.
5526 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
5527 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
5528 omp_no_lastprivate either remove the clause or turn it
5529 into OMP_CLAUSE_PRIVATE.
5530 (gimplify_omp_for): Fix up handling of implicit
5531 lastprivate or linear iterators.
5532 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
5533 ORT_COMBINED_TEAMS.
5534 * omp-low.c (lower_omp_for_lastprivate): For combined
5535 for simd use fd.loop.n2 from the for rather than simd.
5536
e5561c83
RS
55372015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5538
5539 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
5540 instead of gen_rtx_raw_REG.
5541 (cris_expand_epilogue): Likewise.
5542 * config/microblaze/microblaze.c (microblaze_classify_address):
5543 Likewise.
5544 * config/sparc/sparc.md: Likewise.
5545
c799797d
UB
55462015-05-19 Uros Bizjak <ubizjak@gmail.com>
5547
5548 * config/alpha/alpha.c (alpha_legitimize_reload_address)
5549 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
5550 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
5551 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
5552 Use CASE_CONST_SCALAR_INT.
5553 (print_operand) <case 'M'>: Use mode_width_operand to check the
5554 value of the constant.
5555 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
5556 * config/alpha/predicates.md (input_operand): Use general_operand
5557 instead of match_code as operand check.
5558 (symbolic_operand): Use match_code with subexpression digits.
5559 * config/alpha/constraints.md (Q): Ditto.
5560
a2780ddb
AK
55612015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5562
5563 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
5564
05702110
AK
55652015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5566
5567 * config/s390/s390.c (s390_secondary_reload): Fix check for
5568 load/store relative.
5569
376ee136
AK
55702015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5571
5572 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
5573 alternative_mask to uint64_t.
5574
a60c51fe
JJ
55752015-05-19 Jakub Jelinek <jakub@redhat.com>
5576
5577 PR tree-optimization/66187
5578 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
5579 Pass TYPE_SIGN to tree_int_cst_min_precision. If
5580 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
5581
0e50b624
DM
55822015-05-19 David Malcolm <dmalcolm@redhat.com>
5583
5584 * diagnostic.c (diagnostic_report_current_module): Strengthen
5585 local "new_map" from const line_map * to
5586 const line_map_ordinary *.
5587 * genmatch.c (error_cb): Likewise for local "map".
5588 (output_line_directive): Likewise for local "map".
5589 * input.c (expand_location_1): Likewise for local "map".
5590 Pass NULL rather than &map to
5591 linemap_unwind_to_first_non_reserved_loc, since the value is never
5592 read from there, and the value written back not read from here.
5593 (is_location_from_builtin_token): Strengthen local "map" from
5594 const line_map * to const line_map_ordinary *.
5595 (dump_location_info): Strengthen locals "map" from
5596 line_map *, one to const line_map_ordinary *, the other
5597 to const line_map_macro *.
5598 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
5599 const line_map * to const line_map_macro *.
5600 (maybe_unwind_expanded_macro_loc): Add a call to
5601 linemap_check_macro when writing to the "map" field of the
5602 loc_map_pair.
5603 Introduce local const line_map_ordinary * "ord_map", using it in
5604 place of "map" in the part of the function where we know we have
5605 an ordinary map. Strengthen local "m" from const line_map * to
5606 const line_map_ordinary *.
5607
bdafd679
NC
56082015-05-19 Nick Clifton <nickc@redhat.com>
5609
5610 PR target/66156
5611 * config/msp430/msp430.md (zero_extendhisi2): Add support for
5612 separate source and destination registers.
5613
9626d143
RB
56142015-05-19 Richard Biener <rguenther@suse.de>
5615
5616 PR tree-optimization/66165
5617 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
5618 for no load permutation.
5619
5620 PR tree-optimization/66185
5621 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
5622 when building the SLP node from scalars.
5623
d33606c3
EB
56242015-05-19 Eric Botcazou <ebotcazou@adacore.com>
5625 Tristan Gingold <gingold@adacore.com>
5626
5627 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
5628 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
5629 (expand_stack_restore): Call record_new_stack_level.
5630 (expand_stack_save): Do not call do_pending_stack_adjust.
5631 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
5632 * calls.c (expand_call): Call record_new_stack_level for alloca.
5633 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
5634 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
5635 (update_sjlj_context): New global function.
5636 * except.h (update_sjlj_context): Declare.
5637 * explow.c (record_new_stack_level): New global function.
5638 (allocate_dynamic_stack_space): Call record_new_stack_level.
5639 * explow.h (record_new_stack_level): Declare.
5640 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
5641 * cfgrtl.c (duplicate_insn_chain): Likewise.
5642
76e048a8
KT
56432015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5644
5645 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
5646 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
5647 STACK_GROWS_DOWNWARD as normal if.
bdafd679 5648 (expand_call): Likewise.
76e048a8 5649
d0ae0f51
OE
56502015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
5651
5652 PR target/54236
5653 * config/sh/sh.md (*round_int_even): New insn_and_split and
5654 accompanying new unnamed split.
5655
07a737f3
RS
56562015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5657
5658 * bitmap.c (bitmap_set_range): Handle count==1 specially.
5659 (bitmap_clear_range): Likewise.
5660 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
5661 bitmap_set_range unconditionally.
5662 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
5663 * df-scan.c (df_mark_reg): Likewise.
5664 * haifa-sched.c (setup_ref_regs): Likewise.
5665 * sched-rgn.c (update_live_1): Likewise.
5666
72d19505
RS
56672015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5668
5669 * regs.h (END_HARD_REGNO): Delete.
5670 (END_REGNO): Move to...
5671 * rtl.h: ...here.
5672 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
5673 * caller-save.c (mark_set_regs): Likewise.
5674 * combine.c (move_deaths, distribute_notes): Likewise.
5675 * cse.c (invalidate, invalidate_for_call): Likewise.
5676 * df-scan.c (df_ref_record): Likewise.
5677 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
5678 (record_last_reg_set_info): Likewise.
5679 * reg-stack.c (convert_regs_exit): Likewise.
5680 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
5681 * resource.c (update_live_status): Likewise.
5682 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
5683
9188b286
RS
56842015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5685
5686 * rtl.h (reg_info): Add an nregs field.
5687 (REG_NREGS): Use it.
5688 (SET_REGNO_RAW): Delete.
5689 (set_regno_raw): New function.
5690 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
5691 (END_REGNO): Redefine in terms of REG_NREGS.
5692 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
5693 SET_REGNO_RAW.
5694 * emit-rtl.c (set_mode_and_regno): Likewise.
5695 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
5696 instead of SET_REGNO_RAW.
5697
8deccbb7
RS
56982015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5699
5700 * rtl.h (PUT_MODE_RAW): New macro.
5701 (PUT_REG_NOTE_KIND): Use it.
5702 (set_mode_and_regno): Declare.
5703 (gen_raw_REG): Change regno to "unsigned int".
5704 (gen_rtx_REG): Change "unsigned" to "unsigned int".
5705 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
5706 use set_mode_and_regno to change the mode of registers.
5707 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
5708 * emit-rtl.c (set_mode_and_regno): New function.
5709 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
5710 * caller-save.c (reg_save_code): Use set_mode_and_regno.
5711 * expr.c (init_expr_target): Likewise.
5712 * ira.c (setup_prohibited_mode_move_regs): Likewise.
5713 * postreload.c (reload_cse_simplify_operands): Likewise.
5714
5d2446b1
RS
57152015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5716
5717 * caller-save.c (init_caller_save): Use word_mode and
5718 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
5719 * expr.c (init_expr_target): Likewise.
5720 * ira.c (setup_prohibited_mode_move_regs): Likewise.
5721 * postreload.c (reload_cse_regs_1): Likewise.
5722
9fccb335
RS
57232015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5724
5725 * rtl.def (REG): Change format to "r".
5726 * rtl.h (rtunion): Remove rt_reg.
5727 (reg_info): New structure.
5728 (rtx_def): Add reg field to main union.
5729 (X0REGATTR): Delete.
5730 (REG_CHECK): New macro.
5731 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
5732 * rtl.c (rtx_format): Document "r".
5733 (rtx_code_size): Handle REG specially.
5734 * gengenrtl.c (special_format): Return true for formats
5735 that include 'r'.
5736 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
5737 Deal with REG_ATTRS after the field loop.
5738 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
5739 * expmed.c (init_expmed): Call gen_raw_REG instead of
5740 gen_rtx_raw_REG.
5741 * expr.c (init_expr_target): Likewise.
5742 * regcprop.c (maybe_mode_change): Likewise.
5743 * varasm.c (make_decl_rtl): Likewise.
5744 * final.c (leaf_renumber_regs_insn): Return early after
5745 handling REGs.
5746 * genemit.c (gen_exp): Handle 'r' fields.
5747 * genpeep.c (match_rtx): Likewise.
5748 * gensupport.c (subst_pattern_match): Likewise.
5749 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
5750 (alter_constraints, subst_dup): Likewise.
5751 * read-rtl.c (read_rtx_code): Likewise.
5752 * print-rtl.c (print_rtx): Likewise.
5753 * genrecog.c (find_operand, find_matching_operand): Likewise.
5754 (validate_pattern, match_pattern_2): Likewise.
5755 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
5756 (rtx_test::regno_field): New function.
5757 (operator ==, safe_to_hoist_p, transition_parameter_type)
5758 (parameter_type_string, print_parameter_value)
5759 (print_nonbool_test, print_test): Handle new enum values.
5760 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
5761 * lra-constraints.c (operands_match_p): Likewise.
5762
e1a2b021
RS
57632015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5764
5765 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
5766 Change type of new_regno to unsigned int.
5767 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
5768 new_regno to unsigned int.
5769 (df_ref_change_reg_with_loc): Remove old_regno parameter.
5770 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
5771 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
5772 (SET_REGNO_RAW): Add space after ",".
5773
dc8afb70
RS
57742015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5775
5776 * rtl.h (REG_NREGS): New macro
5777 * alias.c (record_set): Use it.
5778 * cfgcleanup.c (mark_effect): Likewise.
5779 * combine.c (likely_spilled_retval_1): Likewise.
5780 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
5781 (move_deaths, distribute_notes): Likewise.
5782 * cselib.c (cselib_record_set): Likewise.
5783 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
5784 * df-scan.c (df_mark_reg): Likewise.
5785 * dse.c (look_for_hardregs): Likewise.
5786 * dwarf2out.c (reg_loc_descriptor): Likewise.
5787 (multiple_reg_loc_descriptor): Likewise.
5788 * expr.c (write_complex_part, read_complex_part): Likewise.
5789 (emit_move_complex): Likewise.
5790 * haifa-sched.c (setup_ref_regs): Likewise.
5791 * ira-lives.c (mark_hard_reg_live): Likewise.
5792 * lra.c (lra_set_insn_recog_data): Likewise.
5793 * mode-switching.c (create_pre_exit): Likewise.
5794 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
5795 (reload_combine_recognize_pattern): Likewise.
5796 (reload_combine_note_use, move2add_record_mode): Likewise.
5797 (reload_cse_move2add): Likewise.
5798 * reg-stack.c (subst_stack_regs_pat): Likewise.
5799 * regcprop.c (kill_value, copy_value): Likewise.
5800 (copyprop_hardreg_forward_1): Likewise.
5801 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
5802 (build_def_use): Likewise.
5803 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
5804 (deps_analyze_insn): Likewise.
5805 * sched-rgn.c (check_live_1, update_live_1): Likewise.
5806 * sel-sched.c (count_occurrences_equiv): Likewise.
5807 * valtrack.c (dead_debug_insert_temp): Likewise.
5808
53d1bae9
RS
58092015-05-19 Richard Sandiford <richard.sandiford@arm.com>
5810
5811 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
5812 * dse.c (note_add_store): Likewise.
5813 * ira-lives.c (mark_hard_reg_dead): Likewise.
5814 * loop-invariant.c (mark_reg_store): Likewise.
5815 (mark_reg_death): Likewise.
5816 * postreload.c (reload_combine): Likewise.
5817 (reload_combine_note_store): Likewise.
5818 (reload_combine_note_use): Likewise.
5819 * recog.c (peep2_reg_dead_p): Likewise.
5820
8a480dc3
AM
58212015-05-19 Alan Modra <amodra@gmail.com>
5822
5823 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
5824 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
5825 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
5826 unused predicates.
5827 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
5828 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
5829 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
5830 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
5831
abf96035
PG
58322015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
5833
5834 * config/mips/mips.md (JOIN_MODE): New mode iterator.
5835 (join2_load_Store<JOIN_MODE:mode>): New pattern.
5836 (join2_loadhi): Likewise.
5837 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
5838 load-load and store-stores.
5839 * config/mips/mips.opt (mload-store-pairs): New option.
5840 (TARGET_LOAD_STORE_PAIRS): New macro.
5841 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
5842 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
5843 * config/mips/mips.c (mips_load_store_bonding_p): New function.
5844
fab27f52
MM
58452015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5846
5847 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
5848 explicit swaps.
5849 * dojump.c (do_compare_rtx_and_jump): Likewise.
5850 * expmed.c (emit_store_flag_1): Likewise.
5851 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
5852 * final.c (sprint_ul): Use std::reverse for reversing a string.
5853 * fold-const.c (extract_muldiv_1): Use std::swap.
5854 * genmodes.c (emit_mode_int_n): Likewise.
5855 * ifcvt.c (dead_or_predicable): Likewise.
5856 * ira-build.c (ira_merge_live_ranges): Likewise.
5857 (swap_allocno_copy_ends_if_necessary): Likewise.
5858 * ira.c (ira_setup_alts): Likewise.
5859 * loop-iv.c (iv_analyze_expr): Likewise.
5860 (implies_p): Likewise.
5861 (canon_condition): Likewise.
5862 * lra-constraints.c (swap_operands): Likewise.
5863 * lra-lives.c (lra_merge_live_ranges): Likewise.
5864 * omega.c (swap): Remove.
5865 (bswap): Remove.
5866 (omega_unprotect_1): Use std::swap.
5867 (omega_solve_geq): Likewise.
5868 * optabs.c (expand_binop_directly): Likewise.
5869 (expand_binop): Likewise.
5870 (emit_conditional_move): Likewise.
5871 (emit_conditional_add): Likewise.
5872 * postreload.c (reload_cse_simplify_operands): Likewise.
5873 * reg-stack.c (emit_swap_insn): Likewise.
5874 (swap_to_top): Likewise.
5875 (compare_for_stack_reg): Likewise.
5876 (subst_asm_stack_regs): Likewise.
5877 * reload.c (find_reloads): Likewise.
5878 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
5879 * sel-sched.c (invoke_reorder_hooks): Likewise.
5880 (create_block_for_bookkeeping): Likewise.
5881 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
5882 (lambda_matrix_right_hermite): Use std::swap.
5883 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
5884 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
5885 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
5886 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
5887 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
5888 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
5889 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
5890 * tree-vrp.c (compare_ranges): Likewise.
5891 * var-tracking.c (add_with_sets): Likewise.
5892 (vt_find_locations): Likewise.
5893
8ea0dcb9
AT
58942015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
5895
5896 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
5897 pie executables.
5898 (FBSD_ENDFILE_SPEC): Likewise.
5899 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
5900 config/freebsd-spec.h.
5901 (ENDFILE_SPEC): Likewise.
5902
6f2ac360
UB
59032015-05-18 Uros Bizjak <ubizjak@gmail.com>
5904 Richard Henderson <rth@redhat.com>
5905
5906 PR target/57032
5907 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
5908 Check for a memory location that is not a reference (using an AND)
5909 to an unaligned location here.
5910 * config/alpha/predicates.md (normal_memory_operand): Remove.
5911
0454e698
AV
59122015-05-18 Alex Velenko <Alex.Velenko@arm.com>
5913
5914 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
5915 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
5916
fb05f2e4
RS
59172015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
5918
5919 * config/mips/mips.c (micromips_globals): New variable.
5920 (mips_set_compression_mode): Save and reinitialize target-dependent
5921 state for microMIPS.
5922
7aeb92b4
ML
59232015-05-18 Martin Liska <mliska@suse.cz>
5924
5925 * dbgcnt.def: Add new counter.
c799797d 5926 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
7aeb92b4 5927
68d070ac
ML
59282015-05-18 Martin Liska <mliska@suse.cz>
5929
5930 * dbgcnt.def: Sort counters.
5931 * opts.c (common_handle_option): Do not compile if
5932 -fdbg-cnt-list is enabled.
5933
2fe1d762
TV
59342015-05-18 Tom de Vries <tom@codesourcery.com>
5935
5936 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
5937 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
5938 address operator to va_list operand.
5939 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
5940 unconditionally.
5941 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
5942 operand.
5943 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
5944 * config/s390/s390.c (s390_gimplify_va_arg): Same.
5945 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
5946
daf347dd
TV
59472015-05-18 Tom de Vries <tom@codesourcery.com>
5948
5949 * tree-ssa-tail-merge.c: Fix whitespace.
5950
ff10afd3
JW
59512015-05-17 Jim Wilson <jim.wilson@linaro.org>
5952
5953 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
5954 cortex-a17, and cortex-a17.cortex-a7.
5955
f5a64dbf
OE
59562015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
5957
5958 PR target/54236
5959 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
5960
8c7bcf95
UB
59612015-05-17 Uros Bizjak <ubizjak@gmail.com>
5962
5963 PR target/66174
5964 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
5965 QImode inner modes for TARGET_AVX512BW. Force mask operand
5966 to a register for AVX512F modes.
5967
59682015-05-16 Jan Hubicka <hubicka@ucw.cz>
9261aa43
JH
5969
5970 * toplev.c (emit_debug_global_declarations): Do not output debug info
5971 when doing slim LTO objects.
5972
8c7bcf95 59732015-05-16 Jan Hubicka <hubicka@ucw.cz>
499568ed
JH
5974
5975 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
5976 odr_types_equivalent_p): Declare.
5977 (odr_type_p): Use gcc_checking_assert.
5978 (type_in_anonymous_namespace_p) Declare.
5979 (type_with_linkage_p): Declare.
5980 * common.opt (Wlto-type-mismatch): New warning.
5981 * ipa-devirt.c (compound_type_base): New function.
5982 (odr_or_derived_type_p): New function.
5983 (odr_types_equivalent_p): New function.
5984 (add_type_duplicate): Simplify.
5985 (type_with_linkage_p): Add hack to prevent false positives on C types
5986 (type_in_anonymous_namespace_p): Likewise.
5987 * tree.c (need_assembler_name_p): Use type_with_linkage.
5988 * tree.h (type_in_anonymous_namespace_p): Remove.
5989 * doc/invoke.texi (-Wlto-type-mismatch): Document
5990
8c7bcf95 59912015-05-16 Jan Hubicka <hubicka@ucw.cz>
4d259d33
JH
5992
5993 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
5994 (verify_type): Verify STRING_FLAG.
5995
40de31cf
MLI
59962015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5997
5998 PR fortran/44054
5999 * tree-pretty-print.c (percent_K_format): Replace locus pointer
6000 with accessor function.
6001 * tree-diagnostic.c (diagnostic_report_current_function): Use
6002 diagnostic_location function.
6003 (maybe_unwind_expanded_macro_loc): Likewise.
6004 (virt_loc_aware_diagnostic_finalizer): Likewise.
6005 (default_tree_printer): Replace locus pointer with accessor function.
6006 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
6007 (diagnostic_set_info_translated): Initialize second location.
6008 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
6009 (diagnostic_show_locus): Handle two locations. Call
6010 diagnostic_print_caret_line.
6011 (diagnostic_print_caret_line): New.
6012 (default_diagnostic_starter): Use diagnostic_location function.
6013 (diagnostic_report_diagnostic): Use diagnostic_location function.
6014 (verbatim): Do not set text.locus.
6015 * diagnostic.h (struct diagnostic_info): Remove location field.
6016 (struct diagnostic_context): Make caret_chars an array of two.
6017 (diagnostic_location): New inline.
6018 (diagnostic_expand_location): Handle two locations.
6019 (diagnostic_same_line): New inline.
6020 (diagnostic_print_caret_line): Declare.
6021 (CARET_LINE_MARGIN): New constant.
6022 * pretty-print.c (pp_printf): Do not set text.locus.
6023 (pp_verbatim): Do not set text.locus.
6024 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
6025 (struct text_info): Replace locus pointer with locations
6026 array. Add accessor functions.
6027
26c66656
KV
60282015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
6029 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6030
6031 PR target/65768
6032 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
6033 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
6034 large constants in register instead of splitting them.
6035
30a5d3e6
UB
60362015-05-16 Uros Bizjak <ubizjak@gmail.com>
6037
6038 PR target/66140
6039 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
6040 replacements in memory addresses.
6041 (get_unaligned_address): Ditto.
6042
36805406
JL
60432015-05-16 James Bowman <james.bowman@ftdichip.com>
6044
6045 * config/ft32/*: New files for FT32 port.
6046 * doc/install.texi: Add FT32 information.
6047 * doc/invoke.texi: Add FT32 information.
6048 * doc/md.texi: Add FT32 information.
6049 * doc/contrib.texi: Self added.
6050
bc4315fb
MG
60512015-05-15 Marc Glisse <marc.glisse@inria.fr>
6052
6053 PR tree-optimization/64454
6054 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
6055 (-1 - A -> ~A): Remove unnecessary condition.
6056
cf57e993
GR
60572015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
6058
6059 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
6060 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
6061 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
6062
26625161
IE
60632015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
6064
6065 * ipa-chkp.h (chkp_wrap_function): New.
6066 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
6067 (chkp_wrap_function_name): New.
6068 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
6069 to get wrapper name.
6070 * lto-cgraph.c: Include ipa-chkp.h.
6071 (input_cgraph_1): Avoid alias chain for wrappers.
6072
2c1f37b5
IE
60732015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6074
6075 PR middle-end/66134
6076 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
6077 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
6078
95f99170
KT
60792015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6080
6081 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
6082 (AARCH64_FL_SLOWMUL): Delete.
6083 (AARCH64_FL_CRC): Redefine to 1<<3.
6084 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
6085
291e9784
RR
60862015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6087
6088 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
6089 casting.
6090
944ce678
UB
60912015-05-15 Uros Bizjak <ubizjak@gmail.com>
6092
6093 * config/alpha/alpha.md (extendqidi2): Use general_operand
6094 instead of some_operand for operand[1] predicate.
6095 (extendhidi2): Ditto.
6096 (cbranchdi4): Use general_operand instead of some_operand
6097 for operand[1] and operands[2] predicates.
6098 (cstoredi4): Ditto.
6099 * config/alpha/predicates.md (some_operand): Remove unused predicate.
6100 (some_ni_operand): Ditto.
6101
7eb05850
UB
61022015-05-15 Uros Bizjak <ubizjak@gmail.com>
6103
6104 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
6105 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
6106 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
6107 low part of the constant using alpha_emit_set_const_1.
6108 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
6109
06e7e318
RAR
61102015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
6111
6112 * varasm.c (output_constant_pool_1): Pass down alignment from
6113 constant pool entry's descriptor to output_constant_pool_2.
6114 (output_object_block): Add comment prior to call to
6115 output_constant_pool_1.
6116
5074a1f8
VM
61172015-05-14 Vladimir Makarov <vmakarov@redhat.com>
6118
6119 PR rtl-optimization/65862
6120 * target.def (ira_change_pseudo_allocno_class): New hook.
6121 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
6122 value of the hook.
7eb05850 6123 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
5074a1f8
VM
6124 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
6125 hook.
6126 * ira-costs.c (find_costs_and_classes): Call the hook and change
6127 classes when it is necessary.
6128 * doc/tm.texi: Update.
6129
f226d229
AM
61302015-05-14 Alexander Monakov <amonakov@ispras.ru>
6131
6132 * config/i386/i386.md (sibcall_memory): Check that register with
6133 callee address is not also used as one of the arguments, instead
6134 of checking that it is not live after the sibcall.
6135 (sibcall_pop_memory): Ditto.
6136 (sibcall_value_memory): Ditto.
7eb05850 6137 (sibcall_value_pop_memory): Ditto.
f226d229 6138
aea417d7
MG
61392015-05-14 Marc Glisse <marc.glisse@inria.fr>
6140
6141 * generic-match-head.c (types_match): Handle non-types.
6142 * gimple-match-head.c (types_match): Likewise.
6143 * match.pd: Remove unnecessary TREE_TYPE for types_match.
6144
fc8b587d
WD
61452015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
6146
6147 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
6148 (csneg3<mode>_insn): Enable expansion of pattern.
6149
12b3286d
NC
61502015-05-14 Nick Clifton <nickc@redhat.com>
6151
6152 * config/rl78/rl78.c (rl78_select_section): Select the correct
6153 default section based upon the category of the decl.
6154
7893307b
SB
61552015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
6156
6157 PR rtl-optimization/30967
6158 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
6159 destination mode for the cost of scc patterns.
6160
1c08a677
UB
61612015-05-13 Uros Bizjak <ubizjak@gmail.com>
6162
6163 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
6164 using SWIM248 mode iterator.
6165 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
6166 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
6167 for operand[2] constraint.
6168 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
6169
b37dddbc
JJ
61702015-05-13 Jakub Jelinek <jakub@redhat.com>
6171
6172 PR middle-end/66133
6173 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
6174 make sure it is never noreturn, even when the task body does not
6175 return.
6176 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
6177 right before GIMPLE_OMP_RETURN.
6178 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
6179 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
6180 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
6181
b7dce216
KT
61822015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6183
6184 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
6185 * tree-ssa-math-opts.c: Include params.h
6186 (pow_synth_sqrt_info): New struct.
6187 (representable_as_half_series_p): New function.
6188 (get_fn_chain): Likewise.
6189 (print_nested_fn): Likewise.
6190 (dump_fractional_sqrt_sequence): Likewise.
6191 (dump_integer_part): Likewise.
6192 (expand_pow_as_sqrts): Likewise.
6193 (gimple_expand_builtin_pow): Use above to attempt to expand
6194 pow as series of square roots. Removed now unused variables.
6195
da80c6b8
UB
61962015-05-13 Uros Bizjak <ubizjak@gmail.com>
6197
6198 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
6199 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
6200 Remove *p0 and *p1 arguments. Rewrite function.
6201 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
6202 (alpha_split_const_mov): Update calls to alpha_extract_integer and
6203 alpha_emit_set_long_const.
6204 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
6205 (alpha_output_mi_thunk_osf): Ditto.
6206 * config/alpha/alpha.md (movti): Do not check operands[1]
6207 for CONST_DOUBLE.
6208
1ece8d4c
RB
62092015-05-13 Richard Biener <rguenther@suse.de>
6210
6211 PR tree-optimization/66129
6212 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
6213 commutative.
6214 (vect_schedule_slp_instance): Fix typo.
6215
ba4ad400
DM
62162015-05-13 David Malcolm <dmalcolm@redhat.com>
6217
6218 * common.opt (fdump-internal-locations): New option.
6219 * input.c: Include diagnostic-core.h.
6220 (get_end_location): New function.
6221 (write_digit): New function.
6222 (write_digit_row): New function.
6223 (dump_location_range): New function.
6224 (dump_labelled_location_range): New function.
6225 (dump_location_info): New function.
6226 * input.h (dump_location_info): New prototype.
6227 * toplev.c (compile_file): Handle flag_dump_locations.
6228
681a3d86
EB
62292015-05-13 Eric Botcazou <ebotcazou@adacore.com>
6230
6231 * gimple-expr.h (is_gimple_constant): Reorder.
6232 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
6233
313b2cc0
SB
62342015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
6235
6236 * combine.c (simplify_set): When generating a CC set, if the
6237 source already is in the correct mode, do not wrap it in a
6238 compare. Simplify the rest of that code.
6239
b56b040c
RB
62402015-05-13 Richard Biener <rguenther@suse.de>
6241
6242 PR tree-optimization/66123
6243 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
6244 a taken edge.
6245
2ae1d1b8
RB
62462015-05-13 Richard Biener <rguenther@suse.de>
6247
6248 PR middle-end/66110
6249 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
6250 specially.
6251 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
6252
29910c86
MH
62532015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6254
6255 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
6256 * aclocal.m4: Regenerated with automake-1.11.6.
6257
fcd424ce
TV
62582015-05-13 Tom de Vries <tom@codesourcery.com>
6259
6260 PR tree-optimization/66010
6261 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
6262 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
6263 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
6264 and rval based on do_deref.
6265
7947dd0b
IE
62662015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
6267
6268 PR target/65103
6269 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
6270 link time constants into adress expressions and therefore set
6271 their cost to 0.
6272
c1ee2e62
JJ
62732015-05-13 Jakub Jelinek <jakub@redhat.com>
6274
3d2def23
JJ
6275 PR target/66112
6276 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
6277 Use SWI248 iterator instead of SWI.
6278 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
6279 Use eq_attr "alternative" "0" instead of match_test in
6280 length_immediate attribute computation.
6281 (*mulvhi4, *mulvhi4_1): New define_insns.
6282
c1ee2e62
JJ
6283 PR target/66112
6284 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
6285 SIGNED to get precision of non-negative value.
6286
e9ae68af
IE
62872015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
6288
6289 PR target/66048
6290 * function.c (diddle_return_value_1): Process bounds first.
6291 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
6292 register.
6293
aa953e2f
TP
62942015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
6295
6296 PR rtl-optimization/64616
6297 * loop-invariant.c (can_move_invariant_reg): New.
6298 (move_invariant_reg): Call above new function to decide whether
6299 instruction can just be moved, skipping creation of temporary
6300 register.
6301
e66fc623
JH
63022015-05-12 Jan Hubicka <hubicka@ucw.cz>
6303
6304 PR target/pr66047.c
6305 * i386.c (ix86_function_sseregparm): Only return -1 if local function
6306 with implied regparm is called from -mno-sse function.
6307 (init_cumulative_args): Output error if ix86_function_sseregparm
6308 return -1 and SSE register would be needed.
6309 (function_arg_advance_32): Likewise.
6310 (function_arg_32): Likewise.
6311 * i386.h (ix86_args): Add decl field.
6312
ddb3773a
JH
63132015-05-12 Jan Hubicka <hubicka@ucw.cz>
6314
6315 PR ipa/65873
6316 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
6317 inlines across optimization boundary.
6318
fe1814cf
JM
63192015-05-12 Jason Merrill <jason@redhat.com>
6320
6321 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
6322 string literal and macro name.
6323
70a6fed8
SE
63242015-05-12 Steve Ellcey <sellcey@imgtec.com>
6325
6326 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
6327 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
6328 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
6329
c3388e62
DM
63302015-05-12 David Malcolm <dmalcolm@redhat.com>
6331
6332 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
6333 (-Wmisleading-indentation): New option.
6334 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
6335
f06ed650
UB
63362015-05-12 Uros Bizjak <ubizjak@gmail.com>
6337
6338 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
6339 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
6340 (alpha_extract_integer): Ditto.
6341 (alpha_legitimate_constant_p): Ditto.
6342 (alpha_split_tmode_pair): Ditto.
6343 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
6344 (alpha_expand_mov): Ditto.
6345 (print_operand): Remove handling of 'H' modifier.
6346 <case 'm'>: Remove CONST_DOUBLE handling.
6347 (summarize_insn): Handle CONST_WIDE_INT.
6348 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
6349 (anddi3): Ditto.
6350 (movti): Handle CONST_WIDE_INT.
6351 * config/alpha/constraints.md ('H'): Remove constraint definition.
6352 ('G'): Do not match MODE_FLOAT class.
6353 * config/alpha/predicates.md (const0_operand): Also match
6354 const_wide_int.
6355 (non_add_const_operand): Ditto.
6356 (non_zero_const_operand): Ditto.
6357 (some_operand): Ditto.
6358 (input_operand): Ditto. Handle CONST_WIDE_INT.
6359 (and_operand): Do not match const_double.
6360 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
6361
46b35980
AM
63622015-05-12 Andrew MacLeod <amacleod@redhat.com>
6363
6364 PR target/65697
6365 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
6366 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
6367 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
6368 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
6369 is_mm_seq_cst, is_mm_sync): New accessor functions.
6370 * builtins.c (expand_builtin_sync_operation,
6371 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
6372 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
6373 (get_memmodel, expand_builtin_atomic_compare_exchange,
6374 expand_builtin_atomic_load, expand_builtin_atomic_store,
6375 expand_builtin_atomic_clear): Use new accessor routines.
6376 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
6377 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
6378 (maybe_emit_sync_lock_test_and_set): Use new accessors and
6379 MEMMODEL_SYNC_ACQUIRE.
6380 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
6381 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
6382 expand_atomic_store): Use new accessors.
6383 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
6384 * tsan.c (instrument_builtin_call): Update check for memory model beyond
6385 final enum to use MEMMODEL_LAST.
6386 * c-family/c-common.c: Use new accessor for memmodel_base.
6387 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
6388 accessors.
6389 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
6390 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
6391 mem_thread_fence, *dmb): Likewise.
6392 * config/alpha/alpha.c (alpha_split_compare_and_swap,
6393 alpha_split_compare_and_swap_12): Likewise.
6394 * config/arm/arm.c (arm_expand_compare_and_swap,
6395 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
6396 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
6397 atomic_loaddi): Likewise.
6398 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
6399 Likewise.
6400 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
6401 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
6402 use new accessors.
6403 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
6404 atomic_store<mode>, atomic_compare_and_swap<mode>,
6405 atomic_exchange<mode>): Use new accessors.
6406 * config/mips/mips.c (mips_process_sync_loop): Likewise.
6407 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
6408 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
6409 rs6000_post_atomic_barrier): Add new cases.
6410 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
6411 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
6412 (atomic_load<mode>): Add new cases and use new accessors.
6413 (store_quadpti): Add new cases.
6414 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
6415 accessors.
6416 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
6417 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
6418 model, not 8.
6419
e7a677ca
JH
64202015-05-12 Jan Hubicka <hubicka@ucw.cz>
6421
6422 * ipa-devirt.c (type_with_linkage_p): New function.
6423 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
6424 type has linkage.
6425 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
6426 (can_be_name_hashed_p): Simplify.
6427 (hash_odr_name): Check that type has linkage before checking if it is
6428 anonymous.
6429 (types_same_for_odr): Likewise.
6430 (odr_name_hasher::equal): Likewise.
6431 (odr_subtypes_equivalent_p): Likewise.
6432 (warn_types_mismatch): Likewise.
6433 (get_odr_type): Likewise.
6434 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
6435 * ipa-utils.h (odr_type_p): Move offline.
6436 * tree.c (need_assembler_name_p): Fix handling of types
6437 without linkages.
6438 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
6439
2162235e
DM
64402015-05-12 David Malcolm <dmalcolm@redhat.com>
6441
6442 * timevar.c (timevar_enable): Delete in favor of...
6443 (g_timer): New global.
6444 (struct timevar_def): Move to timevar.h inside class timer.
6445 (struct timevar_stack_def): Likewise.
6446 (timevars): Delete global in favor of field "m_timevars" within
6447 class timer in timevar.h
6448 (stack): Likewise, in favor of field "m_stack".
6449 (unused_stack_instances): Likewise, in favor of field
6450 "m_unused_stack_instances".
6451 (start_time): Likewise, in favor of field "m_start_time".
6452 (get_time): Eliminate check for timevar_enable.
6453 (timer::timer): New function, built from part of timevar_init.
6454 (timevar_init): Rewrite idempotency test from using
6455 "timevar_enable" bool to using dynamic allocation of "g_timer".
6456 Move rest of implementation into timer's constructor.
6457 (timevar_push_1): Rename to...
6458 (timer::push): ...this, adding "m_" prefixes to variables that
6459 are now fields of timer.
6460 (timevar_pop_1): Likewise, rename to...
6461 (timer::pop): ...this, and add "m_" prefixes.
6462 (timevar_start): Replace test for "timevar_enable" with one for
6463 "g_timer", and move bulk of implementation to...
6464 (timer::start): ...here, adding "m_" prefixes.
6465 (timevar_stop): Likewise, from here...
6466 (timer::stop): ...to here.
6467 (timevar_cond_start): Likewise, from here...
6468 (timer::cond_start): ...to here.
6469 (timevar_cond_stop): Likewise, from here...
6470 (timer::cond_stop): ...to here.
6471 (validate_phases): Rename to...
6472 (timer::validate_phases): ...this, and add "m_" prefixes. Make
6473 locals "total" and "tv" const.
6474 (timevar_print): Rename to...
6475 (timer::print): ...this, and add "m_" prefixes. Make locals
6476 "total" and "tv" const. Eliminate test for timevar_enable.
6477 * timevar.h (timevar_enable): Eliminate.
6478 (g_timer): New declaration.
6479 (timevar_push_1): Eliminate.
6480 (timevar_pop_1): Eliminate.
6481 (timevar_print): Eliminate.
6482 (class timer): New class.
6483 (timevar_push): Rewrite to use g_timer.
6484 (timevar_pop): Likewise.
6485 * toplev.c (toplev::~toplev): Likewise.
6486
52c266ba
RE
64872015-05-12 Richard Earnshaw <rearnsha@arm.com>
6488
6489 * arm-protos.h (arm_sched_autopref): Delete.
6490 (tune_params): Re-organize, use enums for flag values.
6491 (FUSE_OPS): New macro.
6492 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
6493 (ARM_PREFETCH_BENEFICIAL): Likewise.
6494 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
6495 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
6496 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
6497 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
6498 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
6499 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
6500 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
6501 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
6502 format.
6503 (arm_option_override, thumb2_reorg, arm_print_tune_info)
6504 (aarch_macro_fusion_pair_p): Update uses of current_tune.
291e9784 6505 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
52c266ba 6506
e7f40208 65072015-05-12 Sandra Loosemore <sandra@codesourcery.com>
eb2f4e86
SL
6508
6509 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
6510 "break".
6511
3c8c9f0d
CLT
65122015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
6513 Sandra Loosemore <sandra@codesourcery.com>
6514
6515 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
6516 value.
6517 (REG_CLASS_NAMES): Add "IJMP_REGS".
6518 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
6519 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
6520 use new "c" register constraint.
6521 * config/nios2/constraint.md (c): New register constraint
6522 corresponding to IJMP_REGS.
6523
de065fbf
SB
65242015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
6525
6526 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
6527 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
6528 define_splits): Delete, revamp, transmogrify into ...
6529 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
6530 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
6531 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
6532 New.
6533
1a93ca86
SB
65342015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
6535
6536 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
6537 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
6538
52a680ce
SB
65392015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
6540
6541 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
6542 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
6543 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
6544 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
6545 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
6546 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
6547 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
6548 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
6549 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
6550 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
6551 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
6552 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
6553 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
6554 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
6555 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
6556 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
6557 and 30 corresponding splitters): Delete.
6558
f369372b
SB
65592015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
6560
6561 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
6562 zero_extract.
6563
45ce0f05
SB
65642015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
6565
6566 * combine.c (recog_for_combine_1): New function, factored out
6567 from recog_for_combine.
6568 (change_zero_ext): New function.
6569 (recog_for_combine): If recog fails, try again with the pattern
6570 modified by change_zero_ext; if that still fails, restore the
6571 pattern.
6572
1bcc1e41
SB
65732015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
6574
6575 * combine.c (get_undo_marker): New function.
6576 (undo_to_marker): New function, largely factored out from ...
6577 (undo_all): ... this. Adjust.
6578
7e37fe6f
RB
65792015-05-12 Richard Biener <rguenther@suse.de>
6580
6581 PR tree-optimization/66101
6582 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
6583 fixup if we turn a loop exit edge to a fallthru edge.
6584
6876e5bc
RB
65852015-05-12 Richard Biener <rguenther@suse.de>
6586
6587 PR tree-optimization/37021
6588 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
6589 (SLP_TREE_TWO_OPERATORS): New define.
6590 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
6591 SLP_TREE_TWO_OPERATORS.
6592 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
6593 SLP node.
6594 (vect_build_slp_tree): Adjust.
6595 (vect_analyze_slp_cost_1): Likewise.
6596 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
6597 emitting two vector stmts and mixing the results.
6598
eed4068d
DV
65992015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
6600
6601 * call.c (print_z_candidates): Remove dead code.
6602
ff39d72a
AK
66032015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6604
6605 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
6606 and zEC12_simple_fp.
6607 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
6608 to 1.
6609
c7b38fd5
TV
66102015-05-12 Tom de Vries <tom@codesourcery.com>
6611
6612 PR tree-optimization/66010
6613 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
6614 ifn_va_arg.
6615 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
6616 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
6617 va_lists are passed, and remove corresponding handling.
6618 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
6619 do_deref argument to ifn_va_arg.
6620 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
6621 ifn_va_arg.
6622
0d780006
KT
66232015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6624
6625 PR target/65955
6626 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
6627 REG before taking its REGNO.
6628
3a857fd0
TP
66292015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
6630
6631 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
6632 rsp->sign_bit_copies and rsp->nonzero_bits into ...
6633 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
6634 present to get more accurate information about the number of sign bit
6635 copies and non zero bits.
6636
dfc55d30
RB
66372015-05-12 Richard Biener <rguenther@suse.de>
6638
6639 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
6640 do not allow unrolling.
6641
afc1c5fa
RH
66422015-05-11 Richard Henderson <rth@redhat.com>
6643
6644 * config/i386/i386-modes.def (CCP): New.
6645 * config/i386/i386.c (put_condition_code): Handle it.
6646 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
6647
7ca35180
RH
66482015-05-11 Richard Henderson <rth@redhat.com>
6649
6650 * target.def (md_asm_clobbers): Replace with...
6651 (md_asm_adjust): this.
6652 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
6653 (TARGET_MD_ASM_ADJUST): New.
6654 * tm.texi: Rebuild.
6655 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
6656 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
6657 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
6658
6659 * cfgexpand.c (check_operand_nalternatives): Accept vector of
6660 constraints instead of lists of outputs and inputs.
6661 (expand_asm_stmt): Save and restore input_location around the
6662 body of the function. Move asm data into vectors instead of
6663 building tree lists. Generate cleanup sequences as needed,
6664 rather than waiting til the end. Use new md_asm_adjust hook.
6665
6666 * config/vxworks.c: Include vec.h before target.h.
6667 * gimple.c: Likewise.
6668 * incpath.c: Likewise.
6669 * mode-switching.c: Likewise.
6670
6671 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
6672 (cris_md_asm_adjust): this.
6673 (TARGET_MD_ASM_CLOBBERS): Remove.
6674 (TARGET_MD_ASM_ADJUST): New.
6675 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
6676 (ix86_md_asm_adjust): this.
6677 (TARGET_MD_ASM_CLOBBERS): Remove.
6678 (TARGET_MD_ASM_ADJUST): New.
6679 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
6680 (mn10300_md_asm_adjust): this.
6681 (TARGET_MD_ASM_CLOBBERS): Remove.
6682 (TARGET_MD_ASM_ADJUST): New.
6683 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
6684 (rs6000_md_asm_adjust): this.
6685 (TARGET_MD_ASM_CLOBBERS): Remove.
6686 (TARGET_MD_ASM_ADJUST): New.
6687 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
6688 (visium_md_asm_adjust): this.
6689 (TARGET_MD_ASM_CLOBBERS): Remove.
6690 (TARGET_MD_ASM_ADJUST): New.
6691
5570ddd5
RH
66922015-05-11 Richard Henderson <rth@redhat.com>
6693
15a85b05
RH
6694 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
6695 if noutputs is zero.
6696 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
6697
6476a8fd
RH
6698 * cfgexpand.c (expand_asm_operands): Merge into...
6699 (expand_asm_stmt): ... here.
6700
5570ddd5
RH
6701 * cfgexpand.c (expand_asm_operands): Don't call
6702 resolve_asm_operand_names.
6703 * stmt.c (resolve_asm_operand_names): Clarify block comment.
6704
5ce039df
JH
67052015-05-11 Jan Hubicka <hubicka@ucw.cz>
6706
6707 * dwarf2out.c (gen_member_die): Sanity check that we access
6708 TYPE_MAIN_VARIANT for TYPE_METHODS.
6709 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
6710 checking TYPE_METHODS.
6711 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
6712 if non-null.
6713 (build_distinct_type_copy): Clear TYPE_METHODS.
6714 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
6715 (verify_type): Allow TYPE_METHODS to be error_mark_node.
6716 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
6717
20d4397a
EB
67182015-05-11 Eric Botcazou <ebotcazou@adacore.com>
6719
6720 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
6721 (emit_pattern_before_setloc): Likewise.
6722
182b8b69
RS
67232015-05-11 Richard Sandiford <richard.sandiford@arm.com>
6724
6725 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
6726 for define_peephole2s.
6727 (get_peephole2_pattern): New function.
6728 (main): Use it. Call validate_pattern.
6729
4e2c881f
PS
67302015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
6731
6732 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
6733 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
6734 (Last callee saved reg is different for AVR_TINY architecture)
6735
bdfdc7da
UB
67362015-05-11 Uros Bizjak <ubizjak@gmail.com>
6737
6738 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
6739 when looking for memory references.
6740
f1ed9790
AM
67412015-05-11 Alexander Monakov <amonakov@ispras.ru>
6742
6743 PR target/65753
6744 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
6745 via function pointers.
6746
b91fd3c7
AM
67472015-05-11 Alexander Monakov <amonakov@ispras.ru>
6748
6749 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
6750 indirect call by forcing address into a pseudo with -fno-plt.
6751 * common.opt (flag_plt): New option.
6752 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
6753 ([-fno-plt]): Document.
6754
9e4b3dd6 67552015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
bdfdc7da 6756
9e4b3dd6
MT
6757 PR bootstrap/66105
6758 * config/rs6000/option-defaults.h: Add space between string literal
6759 and macro name.
6760
95cfc335
TP
67612015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
6762
6763 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
6764 accross ARM targets.
6765
625ffab6
CB
67662015-05-11 Christian Bruel <christian.bruel@st.com>
6767
6768 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
6769 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
6770
cb6f4591
RS
67712015-05-11 Richard Sandiford <richard.sandiford@arm.com>
6772
6773 PR rtl-optimization/66076
6774 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
6775 Don't grow the heap array if it is already big enough from a
6776 previous iteration.
6777
258619bb
CB
67782015-05-11 Christian Bruel <christian.bruel@st.com>
6779
6780 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
6781 (is_called_in_ARM_mode): Remove.
6782 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
6783 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
6784 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
6785 arm_declare_function_name.
6786
d7f3cf03 67872015-05-11 Christian Bruel <christian.bruel@st.com>
1a7ae4ce
CB
6788
6789 * config/arm/arm.c (arm_option_override): Reoganized and split into :
6790 (arm_option_params_internal); New function.
6791 (arm_option_check_internal): New function.
6792 (arm_option_override_internal): New function.
6793 (thumb_code, thumb1_code): Remove.
6794 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
6795 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
6796 (thumb_code, thumb1_code): Remove.
6797 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
6798
c37aa43b
UB
67992015-05-11 Uros Bizjak <ubizjak@gmail.com>
6800
6801 * config/alpha/alpha.c (alpha_emit_set_const_1)
6802 (alpha_emit_set_long_const, alpha_extract_integer)
6803 (alpha_legitimate_constant_p, alpha_split_const_mov)
6804 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
6805 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
6806 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
6807 HOST_WIDE_INT_1U.
6808 * config/alpha/predicates.md (mode_mask_operand): Do not match
6809 const_double RTX.
6810 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
6811 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
6812 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
6813 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
6814 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
6815
cbddf64c
JJ
68162015-05-11 Jakub Jelinek <jakub@redhat.com>
6817
6818 PR target/65780
6819 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
6820 default_binds_local_p_2.
6821 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
6822 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
6823
3eb92a3d
JH
68242015-05-09 Jan Hubicka <hubicka@ucw.cz>
6825
6826 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
6827
dafb7b56
JH
68282015-05-09 Jan Hubicka <hubicka@ucw.cz>
6829
6830 Patch by Richard Biener
6831 * coverage.c (coverage_obj_init): Delay building of type variant
6832 until the type is finished.
6833
ad5bc324
JH
68342015-05-09 Jan Hubicka <hubicka@ucw.cz>
6835
6836 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
6837 mismatch between C and C++ type; compoare correctly ARG_TYPES
6838 for non-prototypes and output correctly parameter index for METHOD_TYPE.
6839 (odr_types_equivalent_p): Fix wording of warning about attributes;
6840 it is OK to match prototype and non-prototype.
6841
15296d46
JH
68422015-05-09 Jan Hubicka <hubicka@ucw.cz>
6843
6844 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
6845 TYPE_ARG_TYPES list.
6846 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
6847 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
6848
9a22098d
JH
68492015-05-09 Jan Hubicka <hubicka@ucw.cz>
6850
6851 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
e3855ed2 6852 * tree.h (is_lang_specific): Constify.
9a22098d 6853
441898b2
MG
68542015-05-09 Marc Glisse <marc.glisse@inria.fr>
6855
6856 PR tree-optimization/64454
6857 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
6858 Rewrite.
6859
16998094
JM
68602015-05-08 Jason Merrill <jason@redhat.com>
6861
6862 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
6863 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
6864 config/darwin.h, config/darwin9.h, config/elfos.h,
6865 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
6866 config/microblaze/microblaze.h, config/mips/mips.h,
6867 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
6868 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
6869 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
6870 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
6871 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
6872 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
6873 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
6874 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
6875 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
6876 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
6877 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
6878 between string literal and macro name.
6879
5c8d98af
TS
68802015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6881
6882 * jump.c: Change argument types to rtx_insn *.
6883 * rtl.h: Adjust.
6884
743b410d
TS
68852015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6886
6887 * lra-constraints.c: Change argument type to rtx_insn *.
6888
537469f6
TS
68892015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6890
6891 * df-problems.c: Change argument type to rtx_insn *.
6892
203933e1
TS
68932015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6894
6895 * combine.c: Change argument type to rtx_insn *.
6896
fd769c94
TS
68972015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6898
6899 * rtl.h: Adjust.
6900 * rtlanal.c: Change argument type to rtx_insn *.
6901
df8379e7
TS
69022015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6903
6904 * sched-deps.c: Change argument types to rtx_insn *.
6905 * sched-int.h: Adjust.
6906
23f57f5a
TS
69072015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6908
6909 * dwarf2cfi.c: Change argument type to rtx_insn *.
6910
7da26277
TS
69112015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6912
6913 * ira.c (decrease_live_ranges_number): Changetype of local
6914 variable to rtx_insn *.
6915 * recog.c: Change argument types to rtx_insn *.
6916 * recog.h: Adjust.
6917
1d415e65
TS
69182015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6919
6920 * reorg.c: Change argument types to rtx_insn *.
6921
8c797f81
TS
69222015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6923
6924 * ira-color.c: Change argument types to rtx_insn *.
6925 * lra-eliminations.c: Likewise.
6926 * ira.h: Adjust.
6927
170065c9
TS
69282015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6929
6930 * gcse.c: Change argument types to rtx_insn *.
6931
88bdcd3d
TS
69322015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6933
6934 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
6935
3a6216b0
TS
69362015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6937
6938 * emit-rtl.c (emit_debug_insn_before): Change argument type to
6939 rtx_insn *.
6940 * rtl.h: Adjust.
6941
89b6250d
TS
69422015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6943
6944 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
6945 * rtl.h: Adjust.
6946
589e43f9
TS
69472015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6948
6949 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
6950 * rtl.h: Adjust.
6951
5c8db5b4
TS
69522015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6953
6954 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
6955 * rtl.h: Adjust.
6956
8a1b6388
TS
69572015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6958
6959 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
6960 * rtl.h: Adjust.
6961
9b8d3c60
TS
69622015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6963
6964 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
6965 to rtx_insn *.
6966 * rtl.h: Adjust.
6967
43534595
TS
69682015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6969
6970 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
6971 to rtx_insn *.
6972 * rtl.h: Likewise.
6973
d8c1e9b6
TS
69742015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6975
6976 * except.c (can_nonlocal_goto): Change type of argument to
6977 rtx_insn *.
6978 * rtl.h: Adjust.
6979
63bd6324
TS
69802015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6981
6982 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
6983 * rtl.h: Adjust.
6984
0d53e74e
TS
69852015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6986
6987 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
6988 * cfgrtl.c (can_delete_label_p): Adjust.
6989 * rtl.h: likewise.
6990
ecb44bc9
TS
69912015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6992
6993 * reorg.c (stop_search_p): Change argument to rtx_insn *.
6994
84f16edb
TS
69952015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6996
6997 * except.c (make_reg_eh_region_note): Change argument to
6998 rtx_insn *.
6999 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
7000 * except.h: Adjust.
7001
f4701c96
TS
70022015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7003
7004 * mode-switching.c (commit_mode_sets): Change type of local
7005 variable from rtx to rtx_insn *.
7006
6fedd529
JW
70072015-05-08 Jim Wilson <jim.wilson@linaro.org>
7008
7009 * doc/install.texi (--enable-languages): Add missing jit and lto info.
7010 Add ^ to grep command.
7011 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
7012 arg to last gimple_simplify declaration. Add missing gimple_build
7013 declaration for built-in function case with four tree args.
7014
6bc59493
GR
70152015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
7016 Szabolcs Nagy <szabolcs.nagy@arm.com>
7017
7018 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
7019 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
7020 (GNU_USER_DYNAMIC_LINKERN32): Update.
7021
7b5fc413
RB
70222015-05-08 Richard Biener <rguenther@suse.de>
7023
7024 PR tree-optimization/66036
7025 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
7026 Handle strided group loads.
7027 (vect_verify_datarefs_alignment): Likewise.
7028 (vect_enhance_data_refs_alignment): Likewise.
7029 (vect_analyze_group_access): Likewise.
7030 (vect_analyze_data_ref_access): Likewise.
7031 (vect_analyze_data_ref_accesses): Likewise.
7032 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
7033 (vectorizable_load): Likewise.
7034
2a812183
SB
70352015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
7036
7037 * config/rs6000/rs6000.md: Require operand inequality in one
7038 of the peepholes.
7039
7d54bea5
RS
70402015-05-08 Richard Sandiford <richard.sandiford@arm.com>
7041 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7042
7043 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
7044 from (set ...).
7045 * config/rx/rx.md (movdi, movdf): Likewise.
7046 Likewise for define_peephole2s.
7047
a8105959
AL
70482015-05-08 Alan Lawrence <alan.lawrence@arm.com>
7049
7050 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
7051 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
7052 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
7053 vtst_u64): Rewrite using gcc vector extensions.
7054
8b5190ab
AL
70552015-05-08 Alan Lawrence <alan.lawrence@arm.com>
7056
7057 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
7058 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
7059
938fb83d
AL
70602015-05-08 Alan Lawrence <alan.lawrence@arm.com>
7061
7062 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
7063
07ad804b
SN
70642015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
7065
7066 * config/glibc-stdint.h (OPTION_MUSL): Define.
7067 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
7068 Change the definition based on OPTION_MUSL for 64 bit targets.
7069 * config/linux.h (OPTION_MUSL): Redefine.
7070 * config/alpha/linux.h (OPTION_MUSL): Redefine.
7071 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
7072 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
7073
755658a5
GR
70742015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
7075 Szabolcs Nagy <szabolcs.nagy@arm.com>
7076
7077 * config.gcc (LIBC_MUSL): New tm_defines macro.
7078 * config/linux.h (OPTION_MUSL): Define.
7079 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
7080 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
7081 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
7082 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
7083 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
7084 * config/linux.opt (mmusl): New option.
7085 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
7086 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
7087 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
7088 * configure: Regenerate.
7089
2a0e43c2
L
70902015-05-08 H.J. Lu <hongjiu.lu@intel.com>
7091 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7092
7093 PR target/48904
7094 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
7095 * config/i386/knetbsd-gnu64.h: New file.
7096
755e528f
MP
70972015-05-08 Marek Polacek <polacek@redhat.com>
7098
7099 PR c/64918
7100 * doc/invoke.texi: Document -Woverride-init-side-effects.
7101
0173bd2a
MP
71022015-05-07 Marek Polacek <polacek@redhat.com>
7103
7104 PR c/65179
7105 * doc/invoke.texi: Document -Wshift-negative-value.
7106
d57c9945
AK
71072015-05-06 Aditya Kumar <hiraditya@msn.com>
7108
7109 * gcov-tool.c (do_merge): Refactore to remove int ret.
7110 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
7111 !type == FUNC to type != FUNC.
7112 * reload.h (struct target_reload): Changee to type of
7113 x_spill_indirect_levels from bool to unsigned char.
7114
f7df4a84
RS
71152015-05-07 Richard Sandiford <richard.sandiford@arm.com>
7116
7117 * rtl.h (always_void_p): New function.
7118 * gengenrtl.c (always_void_p): Likewise.
7119 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
7120 with code foo are always VOIDmode.
7121 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
7122 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
7123 compare-elim.c, config/aarch64/aarch64.c,
7124 config/aarch64/aarch64.md, config/alpha/alpha.c,
7125 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
7126 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
7127 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
7128 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
7129 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
7130 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
7131 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
7132 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
7133 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
7134 config/ia64/vect.md, config/iq2000/iq2000.c,
7135 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
7136 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
7137 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
7138 config/mep/mep.c, config/microblaze/microblaze.c,
7139 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
7140 config/mn10300/mn10300.c, config/msp430/msp430.c,
7141 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
7142 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
7143 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
7144 config/rs6000/altivec.md, config/rs6000/rs6000.c,
7145 config/rs6000/rs6000.md, config/rs6000/vector.md,
7146 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
7147 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
7148 config/sh/sh.md, config/sh/sh_treg_combine.cc,
7149 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
7150 config/spu/spu.md, config/stormy16/stormy16.c,
7151 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
7152 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
7153 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
7154 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
7155 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
7156 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
7157 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
7158 var-tracking.c: Update calls accordingly.
7159
a3facd7c
SB
71602015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
7161
7162 PR middle-end/192
7163 PR middle-end/54303
7164 * varasm.c (function_mergeable_rodata_prefix): New function.
7165 (mergeable_string_section): Use it.
7166 (mergeable_constant_section): Use it.
7167
48451e8f
JL
71682015-05-07 Jeff Law <law@redhat.com>
7169
b60685a3 7170 PR target/39726
48451e8f
JL
7171 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
7172 simplifier to narrow arithmetic.
7173 * generic-match-head.c: (types_match, single_use): New functions.
7174 * gimple-match-head.c: (types_match, single_use): New functions.
7175
963ba1b2
VK
71762015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7177
7178 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
7179 rtx type.
7180
465770e4
RB
71812015-05-07 Richard Biener <rguenther@suse.de>
7182
7183 PR tree-optimization/66002
7184 * passes.def: Schedule another pass_merge_phi after ifcombine, right
7185 before phiopt.
7186
e0f0d3b9
MP
71872015-05-07 Marek Polacek <polacek@redhat.com>
7188 Martin Uecker <uecker@eecs.berkeley.edu>
7189
7190 * doc/invoke.texi: Document -fsanitize=bounds-strict.
7191 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
7192 into SANITIZE_NONDEFAULT.
7193 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
7194
ad2c39af
UB
71952015-05-07 Uros Bizjak <ubizjak@gmail.com>
7196
7197 PR target/66015
7198 * config/alpha/alpha.c (alpha_override_options_after_change): New.
7199 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
7200 (alpha_override_options): Move align_loops, align_jumps and
7201 align_functions handling into alpha_override_options_after_change.
7202
5a0ff57c
SL
72032015-05-06 Sandra Loosemore <sandra@codesourcery.com>
7204 Chris Jones <chrisj@nvidia.com>
7205 Joshua Conner <jconner@nvidia.com>
7206
7207 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
7208 linking of crtfastmath.o.
7209 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
7210
29e597d0
SB
72112015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
7212
7213 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
7214 (cstore<mode>4_unsigned_imm): New expander.
7215 (cstore<mode>4): Remove empty constraint strings. Use the new
7216 expanders.
7217
93e95616
YR
72182015-05-06 Yvan Roux <yvan.roux@linaro.org>
7219
7220 PR target/64208
7221 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
7222 alternatives.
7223
2149da1b
SN
72242015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
7225
7226 * config/aarch64/geniterators.sh: Use standard BRE in sed.
7227
d5e6e133
AM
72282015-05-06 Alan Modra <amodra@gmail.com>
7229
7230 PR target/66033
7231 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
7232 (UNSPEC_NOP): Define.
7233 (reload_vsx_from_gpr<mode>): Add missing DONE.
7234 (reload_gpr_from_vsx<mode>): Likewise.
7235 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
7236 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
7237
487edc87
CB
72382015-05-06 Christian Bruel <christian.bruel@st.com>
7239
7240 PR target/66015
7241 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
7242 align_jumps, align_functions into aarch64_override_options_after_change.
7243
240a94da
RB
72442015-05-06 Richard Biener <rguenther@suse.de>
7245
7246 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
7247 vect_transform_slp_perm_load to check if we support a permutation
7248 for basic-block vectorization.
7249
edbb33c7
NC
72502015-05-06 Nick Clifton <nickc@redhat.com>
7251
7252 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
7253 used, even if it is not being used as a frame pointer.
7254
15ed2619
JM
72552015-05-05 Jason Merrill <jason@redhat.com>
7256
7257 * dwarf2out.c (gen_member_die): Don't emit anything for an
7258 anonymous class constructor.
7259
21c0a521
DM
72602015-05-05 David Malcolm <dmalcolm@redhat.com>
7261
7262 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
7263 that it reflects the block structure.
7264 (afdo_propagate_edge): Likewise.
7265 (afdo_calculate_branch_prob): Likewise.
7266 (afdo_annotate_cfg): Likewise.
7267 * cfgcleanup.c (equal_different_set_p): Likewise.
7268 (try_crossjump_to_edge): Likewise.
7269 * cgraph.c (cgraph_node::verify_node): Likewise.
7270 * cgraphunit.c (expand_all_functions): Likewise.
7271 * config/i386/i386.c (ix86_expand_copysign): Likewise.
7272 (exact_dependency_1): Likewise.
7273 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
7274 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
7275 * gensupport.c (process_define_subst): Likewise.
7276 * lto-wrapper.c (merge_and_complain): Likewise.
7277 * tree-if-conv.c (if_convertible_bb_p): Likewise.
7278 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
7279 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
7280 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
7281 * tree-vect-loop.c (vectorizable_reduction): Likewise.
7282 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
7283 * tree-vect-stmts.c (vectorizable_shift): Likewise.
7284 * tree-vrp.c (vrp_finalize): Likewise.
7285 * tree.c (variably_modified_type_p): Likewise.
7286
0674c9de
JH
72872015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
7288
7289 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
7290 on darwin12 and later.
7291 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
7292 file to pass -rdynamic on darwin12 and later.
7293 * config/darwin.opt (rdynamic): Add.
7294
3836ac7c
UB
72952015-05-05 Uros Bizjak <ubizjak@gmail.com>
7296
7297 * doc/extend.texi (C Extensions): Update menu for moved Variable
7298 Attributes and Type Attributes sections.
7299
588823d2
UB
73002015-05-05 Uros Bizjak <ubizjak@gmail.com>
7301
7302 PR target/65990
7303 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
7304 if rep_8byte stringop strategy was specified for 32-bit target.
7305
460f31ee
IT
73062015-05-05 Ilya Tocar <ilya.tocar@intel.com>
7307
7308 PR target/65915
7309 * config/i386/i386.md (vector convert to float spltiter): Check for
7310 xmm16+, when splitting scalar float conversion.
7311 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
7312
d7edde11
NC
73132015-05-05 Nick Clifton <nickc@redhat.com>
7314
7315 * config/msp430/msp430-opts.h (enum msp430_regions): New.
7316 * config/msp430/msp430.c (msp430_override_options): Complain if
7317 -mcode-region or -mdata-region is used on a non MSP430X.
7318 (msp430_section_attr): New function. Checks lower, upper and
7319 either attributes.
7320 (msp430_attribute_table): Add lower, upper and either.
7321 (gen_prefix): New function. Generates a prefix for a section
7322 name.
7323 (msp430_select_section): New function - handles the choice of
7324 section for an object. Takes into account memory region
7325 attributes and options.
7326 (msp430_function_section): Use gen_prefix.
7327 (TARGET_SECTION_TYPE_FLAGS): Define.
7328 (msp430_section_type_flags): New function.
7329 (TARGET_ASM_UNIQUE_SECTION): Define.
7330 (msp430_unique_section): New function.
7331 (msp430_output_aligned_decl_common): New function.
7332 (msp430_do_not_relax_short_jumps): New function.
7333 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
7334 Define.
7335 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
7336 * config/msp430/msp430-protos.h
7337 (msp430_do_not_relax_short_jumps): New prototype.
7338 (msp430_output_aligned_decl_common): New prototype.
7339 * config/msp430/msp430.md (length): New attribute.
7340 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
7341 then use a long code sequence for short jumps.
7342 * config/msp430/msp430.opt (mcode-region): New.
7343 (mdata-region): New.
7344 * doc/invoke.texi: Document new options.
7345 * doc/extend.texi: Document new attributes.
7346
b9066f5a
MW
73472015-05-05 Matthew Wahab <matthew.wahab@arm.com>
7348
7349 * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
bdfdc7da 7350 (tune_params): Add field branch_costs.
b9066f5a
MW
7351 (aarch64_branch_cost): Declare.
7352 * gcc/config/aarch64.c (generic_branch_cost): New.
7353 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
7354 (cortexa53_tunings): Likewise.
7355 (cortexa57_tunings): Likewise.
7356 (thunderx_tunings): Likewise.
7357 (xgene1_tunings): Likewise.
7358 (aarch64_branch_cost): Define.
7359 * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
7360
6987c384
UB
73612015-05-05 Uros Bizjak <ubizjak@gmail.com>
7362
7363 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
7364 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
7365 * config/i386/i386.md: Ditto.
7366 * config/i386/winnt.c: Ditto.
7367
78b1add9
MW
73682015-05-05 Matthew Wahab <matthew.wahab@arm.com>
7369
7370 * doc/extend.texi (__atomic Builtins): Move implementation details
7371 to the end of the description, rewrite opening paragraphs, state
7372 difference with __sync builtins, state C11/C++11 assumptions,
7373 weaken itemized descriptions, add explanation of memory model
7374 behaviour, expand description of compare-exchange, simplify text.
7375
53e38f02
RL
73762015-05-05 Renlin Li <renlin.li@arm.com>
7377
7378 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
7379
bf05ef76
YR
73802015-05-05 Yvan Roux <yvan.roux@linaro.org>
7381
7382 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
7383 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
7384 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
7385 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
7386 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
7387 * configure: Regenerate.
7388 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
7389 * doc/install.texi (aarch64*-*-*): Document new
7390 --enable-fix-cortex-a53-843419 option.
7391 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
7392 and -mno-fix-cortex-a53-843419 options.
7393
a42de35f
UB
73942015-05-05 Uros Bizjak <ubizjak@gmail.com>
7395
7396 PR target/65871
7397 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
7398
73992015-05-04 Jan Hubicka <hubicka@ucw.cz>
417402b8
JH
7400
7401 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
7402 fix overactive TYPE_MIN_VALUE check and add FIXME for type
7403 compatibility problems.
7404
2bdf1dd5
AA
74052015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
7406
7407 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
7408 constraints.
7409 (cbranchsi4_reg): New.
7410 * config/microblaze/microblaze.c
7411 (microblaze_expand_conditional_branch_reg): New.
7412 * config/microblaze/microblaze-protos.h
7413 (microblaze_expand_conditional_branch_reg): New prototype.
7414
0bb87e8a
AA
74152015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
7416
7417 * config/microblaze/microblaze.md (peephole2): New.
7418
319dcdd8
JL
74192015-05-04 Jeff Law <law@redhat.com>
7420
7421 Revert:
7422 2015-05-04 Jeff Law <law@redhat.com>
7423
0bb87e8a
AA
7424 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
7425 simplifier to narrow arithmetic.
7426 * generic-match-head.c: (types_match, single_use): New functions.
7427 * gimple-match-head.c: (types_match, single_use): New functions.
319dcdd8 7428
4e417af3
KK
74292015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
7430
7431 PR target/65987
7432 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
7433 (split_branches): Likewise.
7434
467d8d51
SL
74352015-05-04 Sandra Loosemore <sandra@codesourcery.com>
7436
7437 * common.opt (fdelete-null-pointer-checks): Init to -1.
7438 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
7439 override flag_delete_null_pointer_checks default.
7440 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
7441 behavior re address zero. Better document target-specific behavior.
7442 (-fisolate-errneous-paths-dereference): Mention relationship to
7443 -fdelete-null-pointer-checks.
7444
100c8e9e
JJ
74452015-05-04 Jakub Jelinek <jakub@redhat.com>
7446
7447 PR tree-optimization/65984
7448 * ubsan.c: Include tree-cfg.h.
7449 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
7450 stmt_could_throw_p test, rename can_throw variable to ends_bb.
7451
2f4eb706
UB
74522015-05-04 Uros Bizjak <ubizjak@gmail.com>
7453
7454 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
7455 to CONST_DOUBLE_P predicate.
7456 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
7457 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
7458 allow only operands that satisfy standard_sse_constant_p predicate.
7459 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
7460 to CONST_DOUBLE_P predicate.
7461
383be4a8
JL
74622015-05-04 Jeff Law <law@redhat.com>
7463
7464 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
7465 simplifier to narrow arithmetic.
7466 * generic-match-head.c: (types_match, single_use): New functions.
7467 * gimple-match-head.c: (types_match, single_use): New functions.
7468
e2bbbfbc
AT
74692015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
7470
7471 * config/arm/arm.c: Restore bootstrap.
7472
44d0de8d
UB
74732015-05-04 Uros Bizjak <ubizjak@gmail.com>
7474
7475 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
7476 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
7477 as CONST_WIDE_INT, not CONST_DOUBLE.
7478 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
7479 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
7480 (ix86_find_base_term): Do not check for CONST_DOUBLE.
7481 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
7482 (ix86_build_signbit_mask): Rewrite using wide ints.
7483 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
7484 (ix86_rtx_costs): Handle CONST_WIDE_INT.
7485 (find_constant): Ditto.
7486 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
7487 using gen_int_mode.
7488 * config/i386/predicates.md (x86_64_immediate_operand)
7489 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
7490 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
7491 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
7492 (const0_operand): Also match const_wide_int.
7493 (constm1_operand): Ditto.
7494 (const1_operand): Ditto.
7495
78a8b26c
RB
74962015-05-04 Richard Biener <rguenther@suse.de>
7497
7498 PR tree-optimization/65965
7499 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
7500 store groups at gaps.
7501
74574669
RB
75022015-05-04 Richard Biener <rguenther@suse.de>
7503
7504 PR tree-optimization/65935
7505 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
7506 then make sure to apply that swapping to the IL.
7507
a6c014db
JJ
75082015-05-04 Jakub Jelinek <jakub@redhat.com>
7509
7510 * Makefile.in (PATCHLEVEL_c): New variable.
7511 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
7512 expand the same way as if DEVPHASE_c was non-empty.
7513
1473ab9a
KT
75142015-05-04 Kai Tietz <ktietz@redhat.com>
7515
7516 PR target/65559
7517 * lto-wrapper.c (run_gcc): Open filename
237c7252 7518 in binary-mode.
1473ab9a 7519
6cefc504
SL
75202015-05-03 Sandra Loosemore <sandra@codesourcery.com>
7521
7522 * doc/extend.texi (Variable Attributes, Type Attributes): Move
7523 sections up in file, to immediately after the Function Attributes
7524 section.
7525
30a9f69b
JH
75262015-05-02 Jan Hubicka <hubicka@ucw.cz>
7527
7528 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
7529
ec0c6743
TS
75302015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7531
7532 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
7533 (insert_partition_copy_on_edge): Adjust.
7534 (insert_rtx_to_part_on_edge): Likewise.
7535 (insert_part_to_rtx_on_edge): Likewise.
7536
d38ff8dd
TS
75372015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7538
7539 * function.c (set_return_jump_label): Change type of argument to
7540 rtx_insn *.
7541 * function.h (set_return_jump_label): Adjust.
7542
618bccf9
TS
75432015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7544
7545 * reload.h (struct reg_equivs_t): Change type of init to
7546 rtx_insn *.
7547 * ira.c (fix_reg_equiv_init): Adjust.
7548 * reload1.c (eliminate_regs_1): Likewise.
7549 (init_eliminable_invariants): Likewise.
7550
8df68a82
TS
75512015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7552
7553 * cselib.c (fp_setter_insn): Take a rtx_insn *.
7554 * cselib.h (fp_setter_insn): Adjust.
7555
df167cbe
TS
75562015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7557
7558 * recog.c (struct validate_replace_src_data): Change type of
7559 insn field to rtx_insn *.
7560 (validate_replace_src_group): Change type of argument to rtx_insn *.
7561 * recog.h (validate_replace_src_group): Adjust.
7562
90831096
TS
75632015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7564
7565 * haifa-sched.c: Change the type of some variables to rtx_insn *.
7566 * sched-deps.c: Likewise.
7567 * sched-int.h: Likewise.
7568 * sched-rgn.c: Likewise.
7569 * sel-sched.c: Likewise.
7570
0bd5850c
TS
75712015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7572
7573 to rtx_insn *.
7574 * config/i386/i386.c: Change the type of some arguments to
7575 rtx_insn *.
7576 * config/arm/arm.c: Likewise.
7577
605780f6
TS
75782015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7579
7580 * lra-constraints.c: Change type of some arguments to rtx_insn *.
7581
15cd50fb
TS
75822015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7583
7584 * regcprop.c (kill_autoinc_value): Change type of argument to
7585 rtx_insn *.
7586
bddee3fc
TS
75872015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7588
7589 * genrecog.c (print_subroutine): Adjust.
7590 * recog.c (get_bool_attr_mask_uncached): Likewise.
7591 * recog.h (struct recog_data_d): Change the type of insn to
7592 rtx_insn *.
7593
15f63a9a
TS
75942015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7595
7596 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
7597
0f0446b5
TS
75982015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7599
7600 * df-problems.c (df_set_note): Change type of argument to
7601 rtx_insn *.
7602
21afc57d
TS
76032015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7604
7605 * builtins.c (expand_builtin_trap): Change type of local
7606 variable to rtx_insn *.
7607 (add_sched_insns_for_speculation): Likewise.
7608 (ix86_emit_save_regs): Likewise.
7609 (get_scratch_register_on_entry): Likewise.
7610 (ix86_emit_restore_reg_using_pop): Likewise.
7611 (ix86_emit_leave): Likewise.
7612 (ix86_emit_restore_regs_using_mov): Likewise.
7613 (ix86_expand_epilogue): Likewise.
7614 Likewise.
7615 (rl78_alloc_physical_registers_umul): Likewise.
7616 * cselib.c (discard_useless_locs): Likewise.
7617 (cselib_invalidate_regno): Likewise.
7618 (cselib_invalidate_mem): Likewise.
7619 * function.c (expand_function_start): Likewise.
7620 (emit_use_return_register_into_block): Likewise.
7621 * gcse.c: Likewise.
7622 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
7623 * ifcvt.c (noce_get_alt_condition): Likewise.
7624 * loop-doloop.c (doloop_condition_get): Likewise.
7625 * lra-constraints.c (inherit_in_ebb): Likewise.
7626 * modulo-sched.c (sms_schedule_by_order): Likewise.
7627 * recog.c (next_insn_tests_no_inequality): Likewise.
7628 * reorg.c (emit_delay_sequence): Likewise.
7629 (update_reg_dead_notes): Likewise.
7630 (fix_reg_dead_note): Likewise.
7631 (fill_slots_from_thread): Likewise.
7632 (delete_computation): Likewise.
7633
90eb63a3
SL
76342015-05-01 Sandra Loosemore <sandra@codesourcery.com>
7635
7636 * doc/extend.texi (Variable Attributes): Add menu and proper
7637 @nodes to subsections. Move Microsoft Windows attributes to
7638 their own subsection.
7639 (Type Attributes): Reorganize introduction to remove duplicate
7640 list of attributes. Add menu and proper @nodes to subsections.
7641 Alphabetize the main table of common attributes.
7642
0f770b01
RV
76432015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
7644
7645 * match.pd: New simplification patterns.
7646 (x + (x & 1)) -> ((x + 1) & ~1)
7647 (x & ~(x & y)) -> ((x & ~y))
7648 (x | ~(x | y)) -> ((x | ~y))
7649
15ab4e1e
KT
76502015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7651
7652 * target.def (attribute_table): Mention that struct attribute_spec
7653 is defined in tree-core.h rather than tree.h
7654 * doc/tm.texi: Regenerate.
7655
fdae5092
RS
76562015-05-01 Richard Sandiford <richard.sandiford@arm.com>
7657
7658 * genrecog.c (test): Rename to rtx_test. Update rest of file
7659 accordingly.
7660
ab528787
AS
76612015-05-01 Andreas Schwab <schwab@linux-m68k.org>
7662
7663 PR translation/65959
7664 * params.h (DEFPARAM): Rename msgid to nocmsgid.
7665
50093a33
WD
76662015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
7667
7668 * gcc/config/aarch64/aarch64-protos.h (tune_params):
7669 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
7670 * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
7671 Return value depending on target.
7672 (generic_tunings): Initialize new target settings.
7673 (cortexa53_tunings): Likewise.
7674 (cortexa57_tunings): Likewise.
7675 (thunderx_tunings): Likewise.
7676 (xgene1_tunings): Likewise.
7677
e8b91382
WD
76782015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
7679
7680 * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
7681 Make Cortex-A53 shift costs more accurate.
7682
5e2a765b
KT
76832015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7684
7685 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
7686 UNSIGNED_FLOAT.
7687
23cb6618
WD
76882015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
7689
7690 * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
7691 Calculate cost of op0 and op1 in PLUS and MINUS cases.
7692
ad88bedb
KT
76932015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7694
7695 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
7696 Add cost of op0 in the compare-with-fpzero case.
7697
6f3d1a5e
DM
76982015-04-30 David Malcolm <dmalcolm@redhat.com>
7699
7700 * builtins.c (fold_builtin_1): Remove spurious second
7701 semicolon.
7702 * cgraph.h (symtab_node::get_availability): Likewise.
7703 * opts.c (common_handle_option): Remove spurious second semicolon.
7704 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
7705 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
7706
11c3d071
CT
77072015-04-30 Caroline Tice <cmtice@google.com>
7708
bdfdc7da 7709 PR gcov-profile/65929
11c3d071
CT
7710 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
7711 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
7712 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
7713 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
81ccb752 7714 * doc/tm.texi: Regenerate.
11c3d071
CT
7715 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
7716 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
7717 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
7718 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
7719
1c3289cd
MP
77202015-04-30 Marek Polacek <polacek@redhat.com>
7721
7722 * varasm.c (handle_cache_entry): Fix logic.
7723
fb0cb7fa
KT
77242015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7725
7726 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
7727 (*extrsi5_insn_uxtw_alt): Likewise.
7728 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
7729 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
7730 operations.
7731
19261b99
KT
77322015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7733
7734 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
7735 fabd in ABS case.
7736
6365da9e
KT
77372015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7738
7739 * config/aarch64/aarch64.md
7740 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
7741 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
7742 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
7743 appropriately. Handle alternative EON form.
7744
9c004c58
RL
77452015-04-30 Renlin Li <renlin.li@arm.com>
7746
7747 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
7748 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
7749
e2165bd7
JH
77502015-04-30 Jan Hubicka <hubicka@ucw.cz>
7751
7752 PR ipa/65873
7753 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
7754 -fstrict-aliasing boundaries.
7755
d2ac256b
KT
77562015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7757
7758 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
7759 and [SU]MNEGL patterns.
7760
0a78ebe4
KT
77612015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7762
7763 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
7764 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
7765 combined arithmetic-shift ops. Properly handle all shift and extend
7766 operations that can occur in combination with PLUS/MINUS.
7767 Rename maybe_fma to compound_p.
7768 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
7769 arithmetic and shift operations.
7770
2533c820
KT
77712015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7772
7773 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
7774 rather than arith_shift cost when costing ADD/MINUS of an
7775 extended value.
7776
bb83a43d
JH
77772015-04-30 Jan Hubicka <hubicka@ucw.cz>
7778
7779 PR lto/65948
7780 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
7781 to itself.
7782
cebe850d
RS
77832015-04-30 Richard Sandiford <richard.sandiford@arm.com>
7784
7785 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
7786 are for the same position.
7787
2fc3c9a5
AK
77882015-04-29 Aditya Kumar <hiraditya@hotmail.com>
7789
7790 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
7791 vectorize_loops.
7792 (vectorize_loops): Use it.
7793
32496fdd
JH
77942015-04-29 Jan Hubicka <hubicka@ucw.cz>
7795
7796 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
7797 for aggregate types.
7798 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
7799 type to be non_ODR.
7800 * tree.c (need_assembler_name_p): Compute mangled name for
7801 non-fundamental types and integer types.
7802
00c1cf38
MM
78032015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
7804
7805 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
7806 manual swaps.
7807 * expr.c (expand_expr_real_2): Likewise.
7808
fd2bbdfd
JH
78092015-04-29 Jan Hubicka <hubicka@ucw.cz>
7810
7811 * tree.c (build_common_builtin_nodes): Do not build
7812 __builtin_alloca_with_align as equivalent of library alloca.
7813
b0845a1e
JH
78142015-04-29 Jan Hubicka <hubicka@ucw.cz>
7815
7816 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
7817 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
7818 bugus variants.
7819 * tree.c: Include print-tree.h and ipa-utils.h
7820 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
7821 (free_lang_data_in_cgraph): Call verify_type.
7822 (verify_type_variant): New function.
7823 (verify_type): New function.
7824 * tree.h (verify_type): Declare.
7825
2f79da78
SE
78262015-04-29 Steve Ellcey <sellcey@imgtec.com>
7827
7828 * config/mips/mips-cpus.def: (mips4): Change default processor
7829 from PROCESSOR_R8000 to PROCESSOR_R10000.
7830
8d92d274
PJ
78312015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
7832
7833 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
7834 la/jalr instead of jal.
7835
3c908a5b
UB
78362015-04-29 Uros Bizjak <ubizjak@gmail.com>
7837
7838 PR target/65871
a42de35f
UB
7839 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
7840 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
ec4c68c8
UB
7841 (setcc+movzbl peephole2): Check also clobbered reg.
7842 (setcc+andl peephole2): Ditto.
3c908a5b 7843
f82a9d90
TS
78442015-04-29 Thomas Schwinge <thomas@codesourcery.com>
7845
7846 PR libgomp/65099
7847 * config/nvptx/mkoffload.c (target_ilp32): New variable.
7848 (main): Set it depending on "-foffload-abi=[...]".
7849 (compile_native, main): Use it to pass "-m32" or "-m64" to the
7850 compiler.
7851
aaf3de7a
AL
78522015-04-29 Alan Lawrence <alan.lawrence@arm.com>
7853
7854 PR target/65770
7855 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
7856 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
7857 Flip lane index back at assembly time for bigendian.
7858
b811915d
TS
78592015-04-29 Thomas Schwinge <thomas@codesourcery.com>
7860
7861 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
7862 * gimplify.c (gimplify_omp_workshare): Use it.
7863
72d33bd3
RS
78642015-04-29 Richard Sandiford <richard.sandiford@arm.com>
7865
7866 * Makefile.in (build/genrecog.o): Depend on inchash.h.
7867 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
7868 build/inchash.o
7869 * genrecog.c: Rewrite most of the code except for the third page.
7870
34ba5aff
RS
78712015-04-29 Richard Sandiford <richard.sandiford@arm.com>
7872
7873 * inchash.h, inchash.c: Include bconfig.h for build objects.
7874 * Makefile.in (build/inchash.o): New rule.
7875
b43482db
YR
78762015-04-29 Yvan Roux <yvan.roux@linaro.org>
7877
7878 PR target/65924
7879 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
7880 number in type attribute expression.
7881
674dd710
RS
78822015-04-29 Richard Sandiford <richard.sandiford@arm.com>
7883
7884 * loop-iv.c (canon_condition): Generalize to all types of integer
7885 constant.
7886
917c68f5
BRF
78872015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
7888
7889 * gimple-walk.c: Prune duplicate or unneeded includes.
7890 (walk_gimple_asm): Only call parse_input_constraint or
7891 parse_output_constraint if their findings are used.
7892 Honour parse_input_constraint and parse_output_constraint
7893 result.
7894
ee9da432
AL
78952015-04-29 Alan Lawrence <alan.lawrence@arm.com>
7896
7897 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
7898
32966af8
TV
78992015-04-29 Tom de Vries <tom@codesourcery.com>
7900
7901 PR tree-optimization/65893
7902 * passes.def (pass_all_optimizations): Move pass_stdarg to after
7903 pass_dce.
7904
c8047699
RB
79052015-04-29 Richard Biener <rguenther@suse.de>
7906
7907 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
7908 compute GROUP_SIZE for basic-block SLP.
7909 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
7910 take into account gaps.
7911 (vect_get_mask_element): Properly reject references to previous
7912 vectors.
7913 (vect_transform_slp_perm_load): Likewise.
7914
b4d1725b
CB
79152015-04-29 Christian Bruel <christian.bruel@st.com>
7916
7917 PR target/64835
7918 * config/i386/i386.c (ix86_default_align): New function.
7919 (ix86_override_options_after_change): Call ix86_default_align.
7920 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
7921 (ix86_override_options_after_change): New function.
7922
11da52a9
JL
79232015-04-28 Jeff Law <law@redhat.com>
7924
7925 * tree-ssa-dom.c (record_equality); Fix comment typos.
7926
ecd0e562
TV
79272015-04-28 Tom de Vries <tom@codesourcery.com>
7928
7929 PR tree-optimization/65887
7930 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
7931
2a26eef8
SL
79322015-04-28 Sandra Loosemore <sandra@codesourcery.com>
7933
7934 * doc/extend.texi (Declaring Attributes of Functions): Split into
7935 subsections by target. Alphabetize the table of common attributes.
7936 Rewrite some of the introductory text to reflect the new structure.
7937 Update some cross-references to point to the new subsections.
7938 (Attribute Syntax): Put paragraph about "__" naming here. Remove
7939 duplicate copies in the discussion of function, label, and type
7940 attributes.
7941
68d15e8c
DH
79422015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
7943
7944 PR bootstrap/65910
7945 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
7946
7bfc5ada
JM
79472015-04-28 Jason Merrill <jason@redhat.com>
7948
7949 PR c++/65734
7950 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
7951 (finalize_type_size): Respect TYPE_USER_ALIGN.
7952 (layout_type) [ARRAY_TYPE]: Likewise.
7953
544f7fc8
YR
79542015-04-28 Yvan Roux <yvan.roux@linaro.org>
7955
7956 * config/arm/arm.md (*arm_movt): Fix type attribute.
7957 (*cmpsi_shiftsi): Likewise.
7958 (*cmpsi_shiftsi_swp): Likewise.
7959 (*movsicc_insn): Likewise.
7960 (*cond_move): Likewise.
7961 (*if_plus_move): Likewise.
7962 (*if_move_plus): Likewise.
7963 (*if_arith_move): Likewise.
7964 (*if_move_arith): Likewise.
7965 (*if_shift_move): Likewise.
7966 (*if_move_shift): Likewise.
7967 (*arm_movtas_ze): Likewise.
7968 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
7969 redundancy and type attribute.
7970 (*thumb2_movsi_insn): Fix type attribute.
7971 (*thumb2_addsi_short): Likewise.
7972 (thumb2_addsi3_compare0): Likewise.
7973 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
7974 attributes accordingly.
7975
6b241bd1
MT
79762015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
7977
7978 PR other/65911
7979 * function.c (pad_to_arg_alignment): Add parentheses.
7980
cc86234f
UB
79812015-04-28 Uros Bizjak <ubizjak@gmail.com>
7982
7983 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
7984 libgcc/config/frv/elf-lib.h.
7985
0e8623e9
TV
79862015-04-28 Tom de Vries <tom@codesourcery.com>
7987
7988 * tree-call-cdce.c: Fix example in header comment.
7989
90dd6e3d
RB
79902015-04-28 Richard Biener <rguenther@suse.de>
7991
7992 PR tree-optimization/62283
7993 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
7994 fails fatally and we are vectorizing a basic-block simply
7995 cause the child to be constructed piecewise.
7996 (vect_analyze_slp_cost_1): Adjust.
7997 (vect_detect_hybrid_slp_stmts): Likewise.
7998 (vect_bb_slp_scalar_cost): Likewise.
7999 (vect_get_constant_vectors): For piecewise constructed
8000 constants place them after the last def.
8001 (vect_get_slp_defs): Adjust.
8002 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
8003 externals for basic-block vectorization.
8004
fde9b31b
TP
80052015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
8006
8007 PR target/63503
8008 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
8009 aarch64-*-*.
8010 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
8011 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
8012 (AARCH64_TUNE_FMA_STEERING): Likewise.
8013 * config/aarch64/aarch64-cores.def: Set
8014 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
8015 FMUL/FMADD instructions.
8016 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
8017 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
8018 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
8019 * config/aarch64/cortex-a57-fma-steering.h: New file.
8020 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
8021
0060d7d7
RS
80222015-04-28 Richard Sandiford <richard.sandiford@arm.com>
8023
8024 * gensupport.c (std_preds): Add missing codes to address_operand entry.
8025
85ebc193
RB
80262015-04-28 Richard Biener <rguenther@suse.de>
8027
8028 PR tree-optimization/65851
8029 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
8030 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
8031 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
8032 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
8033 (ccp_visit_phi_node): Adjust.
8034 (evaluate_stmt): For simplifications to SSA names return its
8035 lattice value if that isn't VARYING. Return immediately when
8036 simplified to a constant.
8037 (visit_assignment): Adjust.
8038 (ccp_visit_stmt): Likewise.
8039
a66dfffd
TV
80402015-04-28 Tom de Vries <tom@codesourcery.com>
8041
8042 PR tree-optimization/65818
8043 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
8044 evaluated.
8045
6dad9361
TS
80462015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8047
8048 * calls.c (save_fixed_argument_area): Don't check
8049 ARGS_GROW_DOWNWARD with the preprocessor.
8050 (restore_fixed_argument_area): Likewise.
8051 (mem_overlaps_already_clobbered_arg_p): Likewise.
8052 (check_sibcall_argument_overlap): Likewise.
8053 (expand_call): Likewise.
8054 (emit_library_call_value_1): Likewise.
8055 (store_one_arg): Likewise.
8056 * function.c (assign_parms): Likewise.
8057 (locate_and_pad_parm): Likewise.
8058 (pad_to_arg_alignment): Likewise.
8059 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
8060
376bddab
TS
80612015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8062
8063 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
8064 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
8065 * calls.c (save_fixed_argument_area): Don't chekc if
8066 ARGS_GROW_DOWNWARD is defined.
8067 (restore_fixed_argument_area): Likewise.
8068 (mem_overlaps_already_clobbered_arg_p): Likewise.
8069 (check_sibcall_argument_overlap): Likewise.
8070 (expand_call): Likewise.
8071 (emit_library_call_value_1): Likewise.
8072 (store_one_arg): Likewise.
8073 * function.c (assign_parms): Likewise.
8074 (locate_and_pad_parm): Likewise.
8075 (pad_to_arg_alignment): Likewise.
8076 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
8077
5251b8b3
TS
80782015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8079
8080 * defaults.h (gen_epilogue): New function.
8081 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
8082 defined.
8083 * cfgrtl.c (cfg_layout_finalize): Likewise.
8084 * df-scan.c: Likewise.
8085 * function.c (thread_prologue_and_epilogue_insns): Likewise.
8086 (reposition_prologue_and_epilogue_notes): Likewise.
8087 * reorg.c (find_end_label): Likewise.
8088 * toplev.c: Likewise.
8089
08b7ff1e
TS
80902015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8091
8092 * bb-reorder.c (HAVE_return): Don't check if its undefined.
8093 * defaults.h (gen_simple_return): New function.
8094 (gen_simple_return): Likewise.
8095 (HAVE_return): Add default definition to false.
8096 (HAVE_simple_return): Likewise.
8097 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
8098 HAVE_return and HAVE_simple_return are defined.
8099 * function.c (gen_return_pattern): Likewise.
8100 (convert_jumps_to_returns): Likewise.
8101 (thread_prologue_and_epilogue_insns): Likewise.
8102 * reorg.c (find_end_label): Likewise.
8103 (dbr_schedule): Likewise.
8104 * shrink-wrap.c: Likewise.
8105 * shrink-wrap.h: Likewise.
8106
a3699d66
TS
81072015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8108
8109 * defaults.h (EPILOGUE_USES): Add default definition of false.
8110 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
8111 * resource.c (init_resource_info): Likewise.
8112
1d0275e2
TS
81132015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8114
8115 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
8116 to false.
8117 * dwarf2out.c (field_byte_offset): REmove check if
8118 PCC_BITFIELD_TYPE_MATTERS is defined.
8119 * stor-layout.c (layout_decl): Likewise.
8120 (update_alignment_for_field): Likewise.
8121 (place_field): Likewise.
8122
aedf2c02
TS
81232015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8124
8125 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
8126 true.
8127 * regrename.c (check_new_reg_p): Remove check if
8128 HARD_REGNO_RENAME_OK is defined.
8129 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
8130
1e8552c2
TS
81312015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8132
8133 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
8134 * cse.c (fold_rtx): Likewise.
8135 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
8136 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
8137 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
8138 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
8139 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
8140 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
8141 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
8142 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
8143 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
8144 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
8145 * Likewise.
8146 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
8147 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
8148 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
8149 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
8150 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
8151 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
8152 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
8153 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
8154 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
8155 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
8156 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
8157 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
8158 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
8159 * doc/tm.texi: Regenerate.
8160 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
8161 either true or false.
8162
009b7fc1
JL
81632015-04-27 Jeff Law <law@redhat.com>
8164
8165 PR tree-optimization/65217
8166 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
8167 of them has a single use, make sure it is the LHS of the implied
8168 copy.
8169
3954ead0
AM
81702015-04-28 Alan Modra <amodra@gmail.com>
8171
8172 PR target/65810
8173 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
8174 (offsettable_ok_by_alignment): Use minimum of decl and toc
8175 pointer alignment. Replace dead code with assertion.
8176 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
8177 case if size exceeds toc pointer alignment.
8178 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
8179 (rs6000_emit_move): Likewise.
8180 * configure.ac: Add linker toc pointer alignment check.
8181 * configure: Regenerate.
8182 * config.in: Regenerate.
8183
2f6bd6eb
YS
81842015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
8185
8186 * config.gcc: Add h8300-*-linux.
8187 * config/h8300/linux.h: New.
8188 * config/h8300/t-linux: New.
8189 * config/h8300/h8300.c (h8300_option_override): Normal mode
8190 is not supported for h8300-*-linux.
8191 (h8300_file_start): Target priority change.
8192 (get_shift_alg): Likewise.
8193 (h8300_shift_need_scratch_p): Likewise.
8194 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
8195 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
8196
16d710b1
CT
81972015-04-27 Caroline Tice <cmtice@google.com>
8198
f11fcf6a 8199 * final.c (final_scan_insn): Output cold_function_name as function
16d710b1 8200 type.
f11fcf6a 8201 * varasm.c (cold_function_name): Make global.
16d710b1
CT
8202 (assemble_start_function): Re-set cold_function_name.
8203 (assemble_end_function): Output cold partition size.
f11fcf6a 8204 * varasm.h (cold_function_name): Declare global.
16d710b1 8205
0a48088a
IT
82062015-04-27 Ilya Tocar <ilya.tocar@intel.com>
8207
8208 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
8209 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
8210 constraint.
8211 (*movxi_internal_avx512f): Ditto.
8212 (define_split): Check for xmm16+, when splitting scalar float_extend.
8213 (*extendsfdf2_mixed): Use "v" constraint.
8214 (define_split): Check for xmm16+, when splitting scalar float_truncate.
8215 (*truncdfsf_fast_sse): Use "v" constraint.
8216 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
8217 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
8218 (define_peephole2): Check for xmm16+, when converting scalar
8219 float_truncate.
8220 (define_peephole2): Check for xmm16+, when converting scalar
8221 float_extend.
8222 (*fop_<mode>_comm_mixed): Use "v" constraint.
8223 (*fop_<mode>_comm_sse): Ditto.
8224 (*fop_<mode>_1_mixed): Ditto.
8225 (*sqrt<mode>2_sse): Ditto.
8226 (*ieee_s<ieee_maxmin><mode>3): Ditto.
8227
fefcf532
KT
82282015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8229
8230 * combine.c (simplify_if_then_else): Use std::swap instead
8231 of manually swapping.
8232 (known_cond): Likewise.
8233 (simplify_comparison): Likewise.
8234
01f61a78
PB
82352015-04-27 Peter Bergner <bergner@vnet.ibm.com>
8236
8237 PR target/64579
8238 * config/rs6000/htm.md: Remove all define_expands.
8239 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
8240 UNSPECV_HTM_TABORTWCI): Remove.
8241 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
8242 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
8243 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
8244 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
8245 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
8246 tabortwci_internal): Remove define_insns.
8247 (tabort<wd>c, tabort<wd>ci): New define_insns.
8248 (tabort): Use gpc_reg_operand.
8249 (tcheck): Remove operand.
8250 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
8251 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
8252 expected value.
8253 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
8254 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
8255 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
8256 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
8257 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
8258 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
8259 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
8260 (tcheck): Remove builtin argument.
8261 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
8262 not TARGET_64BIT.
8263 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
8264 tabortdc and tabortdci builtins when not in 64-bit mode.
8265 Modify code to handle the loss of the HTM define_expands.
8266 Emit code to copy the CR register to TARGET.
8267 (htm_init_builtins): Modify code to handle the loss of the HTM
8268 define_expands.
8269 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
8270 (RS6000_BTC_64BIT): Likewise.
8271 (RS6000_BTC_CR): New macro.
8272 * doc/extend.texi: Update documentation for htm builtins.
8273
e2be0590
KT
82742015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8275
8276 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
8277 of manually swapping.
8278 (simplify_associative_operation): Likewise.
8279 (simplify_binary_operation): Likewise.
8280 (simplify_plus_minus): Likewise.
8281 (simplify_relational_operation): Likewise.
8282 (simplify_ternary_operation): Likewise.
8283
60a4dfd6
RS
82842015-04-27 Richard Sandiford <richard.sandiford@arm.com>
8285
8286 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
8287 (xs_hi_nonmemory_operand): Remove error.
8288 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
8289 general_operand rather than xs_hi_general_operand.
8290
05b7b5a4
RB
82912015-04-27 Richard Biener <rguenther@suse.de>
8292
8293 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
8294 (record_equivalences_from_stmt): Valueize rhs.
8295 (record_equality): Canonicalize x and y order via
8296 tree_swap_operands_p. Do not swap operands for same loop depth.
8297
2e3a3cc8
GJL
82982015-04-27 Georg-Johann Lay <avr@gjlay.de>
8299
8300 PR target/65296
8301 PR target/65895
8302 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
8303 Add hint how to use own spec file.
8304
9c3cb360
JJ
83052015-04-27 Jakub Jelinek <jakub@redhat.com>
8306
8307 PR tree-optimization/65875
8308 * tree-vrp.c (update_value_range): If in is_new case setting
8309 old_vr to VR_VARYING, also set new_vr to it. Remove
8310 old_vr->type == VR_VARYING test.
8311 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
8312 SSA_PROP_INTERESTING if update_value_range returned true,
8313 but new range is VR_VARYING.
8314
97d87f75
TP
83152015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
8316
8317 * combine.c (sign_extend_short_imm): New.
8318 (set_nonzero_bits_and_sign_copies): Use above new function for sign
8319 extension of src short immediate.
8320 (reg_nonzero_bits_for_combine): Likewise for tem.
8321
232f1f97
EB
83222015-04-27 Eric Botcazou <ebotcazou@adacore.com>
8323
8324 * stor-layout.c (self_referential_component_ref_p): New predicate.
8325 (copy_self_referential_tree_r): Use it.
8326 (self_referential_size): Punt for simple operations directly involving
8327 self-referential component references.
8328 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
8329
e5115cf9
EB
83302015-04-27 Eric Botcazou <ebotcazou@adacore.com>
8331
8332 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
8333
9e3a5131
RS
83342015-04-27 Richard Sandiford <richard.sandiford@arm.com>
8335
8336 * vec.h (vec): Make splice arguments const. Update definitions
8337 accordingly.
8338
c55d8b0b
YR
83392015-04-27 Yvan Roux <yvan.roux@linaro.org>
8340
8341 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
8342 alternatives.
8343
b8b2ab06
TV
83442015-04-26 Tom de Vries <tom@codesourcery.com>
8345
8346 PR tree-optimization/65826
8347 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
8348
7f8dede8
SE
83492015-04-24 Steve Ellcey <sellcey@imgtec.com>
8350
8351 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
8352 (*madd3<mode>): Ditto.
8353 (*msub4<mode>): Ditto.
8354 (*msub3<mode>): Ditto.
8355 (*nmadd4<mode>): Ditto.
8356 (*nmadd3<mode>): Ditto.
8357 (*nmadd4<mode>_fastmath): Ditto.
8358 (*nmadd3<mode>_fastmath): Ditto.
8359 (*nmsub4<mode>): Ditto.
8360 (*nmsub3<mode>): Ditto.
8361 (*nmsub4<mode>_fastmath): Ditto.
8362 (*nmsub3<mode>_fastmath): Ditto.
8363
c6f044f7
JM
83642015-04-24 Jason Merrill <jason@redhat.com>
8365
8366 PR c++/50800
8367 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
8368 down when building TYPE_CANONICAL.
8369 (build_pointer_type_for_mode): Likewise.
8370
6f96dceb
CG
83712015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
8372
8373 * genrecog.c (validate_pattern): Check matching constraint refers
8374 to a lower numbered operand.
8375
6d7d9f0e
MM
83762015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
8377
8378 PR target/65849
8379 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
8380 save to independent variables use the Save attribute. This will
8381 allow these options to be modified with the #pragma/attribute
8382 target support.
8383 (-mallow-movmisalign): Likewise.
8384 (-mallow-df-permute): Likewise.
8385 (-msched-groups): Likewise.
8386 (-malways-hint): Likewise.
8387 (-malign-branch-targets): Likewise.
8388 (-mvectorize-builtins): Likewise.
8389 (-msave-toc-indirect): Likewise.
8390
8391 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
8392 can be set via the #pragma/attribute target support.
8393 (rs6000_opt_vars): Likewise.
8394 (rs6000_inner_target_options): If VSX was set, also set
8395 -mno-avoid-indexed-addresses.
8396
728dc153
KT
83972015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8398
8399 * config/arm/iterators.md (shiftable_ops): Rename to...
8400 (SHIFTABLE_OPS): ... This. Update use in comments.
8401 (ior_xor): Rename to...
8402 (IOR_XOR): ... This.
8403 (vqh_ops): Rename to...
8404 (VQH_OPS): ... This.
8405 (vqhs_ops): Rename to...
8406 (VQHS_OPS): ... This.
8407 (rshifts): Rename to...
8408 (RSHIFTS): ... This.
8409 (returns): Rename to...
8410 (RETURNS): ... This.
8411 * config/arm/arm.md: Update uses of the above.
8412 * config/arm/neon.md: Likewise.
8413
7e1bcce3
KT
84142014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8415
8416 * config.host (case ${host}): Add aarch64*-*-linux case.
8417 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
8418 fields to all the cores.
8419 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
8420 Add MCPU_MTUNE_NATIVE_SPECS.
8421 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
8422 field to all extensions.
8423 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
8424 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
8425 Adjust definition of AARCH64_OPT_EXTENSION.
8426 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
8427 (MCPU_MTUNE_NATIVE_SPECS): Define.
8428 * config/aarch64/driver-aarch64.c: New file.
8429 * config/aarch64/x-arch64: New file.
8430 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
8431 -mtune and -march.
8432
97afef00
UB
84332015-04-24 Uros Bizjak <ubizjak@gmail.com>
8434 Wei Mi <wmi@google.com>
8435
8436 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
8437 * config/i386/i386.c (extract_base_offset_in_addr): New function.
8438 (ix86_operands_ok_for_move_multiple): Ditto.
8439 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
8440 (movlpd/movhpd to movupd peephole2): Ditto.
8441
b8787813
MP
84422015-04-24 Marek Polacek <polacek@redhat.com>
8443
8444 PR c/61534
8445 * input.h (from_macro_expansion_at): Define.
8c2b7f79
MP
8446
8447 PR c/63357
8448 * doc/invoke.texi: Update description of -Wlogical-op.
b8787813 8449
6a61f9bf
TP
84502015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
8451
8452 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
8453 ternary operator in fprintf and harmonize spacing.
8454
841e9801
UB
84552015-04-24 Uros Bizjak <ubizjak@gmail.com>
8456
8457 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
8458 Mark operand1 commutative.
8459
ee768d85
UB
84602015-04-24 Uros Bizjak <ubizjak@gmail.com>
8461
8462 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
8463 input operands in memory.
8464 (*vec_concatv2si_sse4_1): Ditto.
8465 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
8466 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
8467 register_operand.
8468 (vec_extract_hi_v32hi): Ditto.
8469 (vec_extract_hi_v64hi): Ditto.
8470 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
8471
8fceae61
TP
84722015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
8473 Steven Bosscher <steven@gcc.gnu.org>
8474
8475 PR rtl-optimization/34503
8476 * cprop.c (cprop_reg_p): New.
8477 (hash_scan_set): Use above function to check if register can be
8478 propagated.
8479 (find_avail_set): Return up to two sets, one whose source is a
8480 register and one whose source is a constant. Sets are returned in an
8481 array passed as parameter rather than as a return value.
8482 (cprop_insn): Use a do while loop rather than a goto. Try each of the
8483 sets returned by find_avail_set, starting with the one whose source is
8484 a constant. Use cprop_reg_p to check if register can be propagated.
8485 (do_local_cprop): Use cprop_reg_p to check if register can be
8486 propagated.
8487 (implicit_set_cond_p): Likewise.
8488
fb5c322e
JH
84892015-04-23 Jan Hubicka <hubicka@ucw.cz>
8490
8491 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
8492 (sem_function::equals): IGNORED_NODES parameter is now unused;
8493 update call of equals_private.
8494 (sem_function::equals_private): Do not call equals_wpa; skip
8495 gimple body matching if there is no body.
8496 (sem_function::init): Add logic to hash tthunk info.
8497 (sem_function::parse): Also parse thunks.
8498 * ipa-icf.h (equals_private): Update declaration.
8499
b9e2e732
BS
85002015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8501
8502 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
8503 asterisk from name so this can be generated directly.
8504 (*altivec_stvx_<mode>_internal): Likewise.
8505 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
8506 that this is never called during or after reload/lra.
8507 (rs6000_frame_related): Remove split_reg
8508 argument and logic that references it.
8509 (emit_frame_save): Remove last parameter from call to
8510 rs6000_frame_related.
8511 (rs6000_emit_prologue): Remove last parameter from eight calls to
8512 rs6000_frame_related. Force generation of stvx instruction for
8513 Altivec register saves. Remove split_reg handling, which is no
8514 longer needed.
8515 (rs6000_emit_epilogue): Force generation of lvx instruction for
8516 Altivec register restores.
8517
532ac1c1
BS
85182015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8519
8520 * config/rs6000/rs6000.opt (mcrypto): Change option description to
8521 match category changes in ISA 2.07B.
8522
381811fa
KT
85232015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8524
8525 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
8526 iterators.
8527 (cmp_op, cmp_type): New code attributes.
8528 (NEON_VCMP, NEON_VACMP): New int iterators.
8529 (cmp_op_unsp): New int attribute.
8530 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
8531 (neon_vceq<mode>): Delete.
8532 (neon_vc<cmp_op><mode>_insn): New pattern.
8533 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
8534 (neon_vcgeu<mode>): Delete.
8535 (neon_vcle<mode>): Likewise.
8536 (neon_vclt<mode>: Likewise.
8537 (neon_vcage<mode>): Likewise.
8538 (neon_vcagt<mode>): Likewise.
8539 (neon_vca<cmp_op><mode>): New define_expand.
8540 (neon_vca<cmp_op><mode>_insn): New pattern.
8541 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
8542
0b5751c2
JH
85432015-04-23 Jan Hubicka <hubicka@ucw.cz>
8544
8545 * tree.h (attribute_value_equal): Declare.
8546 * tree.c (attribute_value_equal): Export.
8547
b3587b99
JH
85482015-04-23 Jan Hubicka <hubicka@ucw.cz>
8549
8550 * ipa-icf.c (sem_item::compare_attributes): New function.
8551 (sem_item::compare_referenced_symbol_properties): Compare variable
8552 attributes.
8553 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
8554 (sem_function::param_used_p): New function.
8555 (sem_function::equals_wpa): Fix attribute comparsion; match
8556 parameter type codes; do not compare paremter flags when
8557 they are not used; compare edge flags; compare indirect calls.
8558 (sem_item::update_hash_by_addr_refs): Hash reference type.
8559 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
8560 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
8561 reference use type.
8562 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
8563 * ipa-icf.h (compare_attributes, param_used_p): Declare.
8564
977b01e3
JH
85652015-04-23 Jan Hubicka <hubicka@ucw.cz>
8566
8567 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
8568 cleanup.
8569 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
8570 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
8571 (sem_item::compare_referenced_symbol_properties): New.
8572 (sem_item::hash_referenced_symbol_properties): New.
8573 (sem_item::compare_cgraph_references): Rename to ...
8574 (sem_item::compare_symbol_references): ... this one; use
8575 compare_referenced_symbol_properties.
8576 (sem_function::equals_wpa): Do not compare
8577 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
8578 DECL_IS_OPERATOR_NEW; compare pointer sizes.
8579 (sem_item::update_hash_by_addr_refs): Call
8580 hash_referenced_symbol_properties.
8581 (sem_item::update_hash_by_local_refs): Cleanup.
8582 (sem_function::merge): Do not mix up symbol properties.
8583 (sem_variable::equals_wpa): Use compare_symbol_references.
8584 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
8585 (sem_item::hash_referenced_symbol_properties): New.
8586 (sem_item::compare_symbol_references): New.
8587 (sem_item::compare_cgraph_references): Remove.
8588
4cf02238
RR
85892015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
8590
8591 PR target/26702
8592 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
8593 Emit size of local.
8594
0f9b95df
NC
85952015-04-23 Nick Clifton <nickc@redhat.com>
8596
8597 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
8598 ATTRIBUTE_UNUSED to x parameter.
8599 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
8600
6895fffb
BS
86012015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8602
8603 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
8604 TARGET_CRYPTO to TARGET_P8_VECTOR>
8605 (crypto_vpermxor_<mode>): Likewise.
8606 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
8607 (BU_CRYPTO_3A): Likewise.
8608 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
8609 (BU_CRYPTO_OVERLOAD_3A): New #define.
8610 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
8611 (VPMSUMH): Likewise.
8612 (VPMSUMW): Likewise.
8613 (VPMSUMD): Likewise.
8614 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
8615 (VPERMXOR_V4SI): Likewise.
8616 (VPERMXOR_V8HI): Likewise.
8617 (VPERMXOR_V16QI): Likewise.
8618 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
8619 BU_CRYPTO_OVERLOAD_2A.
8620 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
8621 BU_CRYPTO_OVERLOAD_3A.
8622 * config/rs6000/rs6000.opt (mcrypto): Change description of
8623 option.
8624
eff973a2
RB
86252015-04-23 Richard Biener <rguenther@suse.de>
8626
8627 * passes.def: Remove copy propagation passes run directly after CCP.
8628 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
8629 SSA names.
8630 (ccp_visit_phi_node): Rework to handle first executable edge
8631 specially.
8632
e4949e1d
MW
86332015-04-23 Matthew Wahab <matthew.wahab@arm.com>
8634
8635 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
8636 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
8637 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
8638 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
8639 (thumb_legimitimize_reload_address): Remove.
8640 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
8641 Remove.
8642 (thumb_legimitimize_reload_address): Remove.
8643
8778aed7
KT
86442015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8645
8646 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
8647
f5ee50a5
KT
86482015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8649
8650 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
8651 MAX_LDM_STM_OPS.
8652 (store_multiple): Likewise.
8653
dbb2d725
KT
86542015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8655
8656 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
8657 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
8658 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
8659 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
8660 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
8661 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
8662 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
8663 Specify issue_rate value.
8664 (arm_issue_rate): Look up issue rate from tuning structs. Remove
8665 large switch statement.
8666 (arm_marvell_pj4_tune): New struct.
8667 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
8668 struct.
8669
2e8ab70c
RB
86702015-04-23 Richard Biener <rguenther@suse.de>
8671
8672 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
8673 (vect_find_last_store_in_slp_instance): Rename to ...
8674 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
8675 (vect_analyze_slp_cost_1): Use vector_load for constant defs
8676 and vec_construct for external defs when estimating prologue cost.
8677 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
8678 Compute costs here only when vectorizing loops.
8679 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
8680 have been determined.
8681 (vect_schedule_slp_instance): Simplify vectorized code placement
8682 and prepare for in-BB external defs.
8683 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
8684 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
8685 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
8686 guard.
8687 (vect_model_load_cost): Likewise.
8688 (vectorizable_store): Instead add it here.
8689 (vectorizable_load): Likewise.
8690 (vect_is_simple_use): Dump def type textually.
8691
b0dd8c90
RB
86922015-04-23 Richard Biener <rguenther@suse.de>
8693
8694 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
8695 * cfgloop.c (verify_loop_structure): Verify the root loop node.
8696 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
8697 instead of get_eh_region_from_lp_number.
8698 * loop-init.c (fix_loop_structure): If we removed a loop, reset
8699 the SCEV cache.
8700
905bcb98
AB
87012015-04-23 Anton Blanchard <anton@samba.org>
8702
8703 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
8704 need for -mprofile-kernel to save LR to stack.
8705
30821df7
BS
87062015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8707
8708 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
8709 adjustments.
8710 (insn_is_swappable_p): Return 1 for a convert from double to
8711 single precision when all of its uses are splats of BE element
8712 zero.
8713
ed023537
KV
87142015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
8715
8716 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
8717
047b83ff
BS
87182015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8719
8720 PR target/65456
8721 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
8722 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
8723 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
8724 option.
8725 (rs6000_builtin_mask_for_load): Return 0 for targets with
8726 efficient unaligned VSX accesses so that the vectorizer will use
8727 direct unaligned loads.
8728 (rs6000_builtin_support_vector_misalignment): Always return true
8729 for targets with efficient unaligned VSX accesses.
8730 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
8731 stores on targets with efficient unaligned VSX accesses is almost
8732 always the same as the cost of an aligned load or store, so model
8733 it that way.
8734 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
8735 unaligned vectors if we have efficient unaligned VSX accesses.
8736 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
8737 undocumented option.
8738
cbea306a
KT
87392015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8740
8741 Revert:
8742 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
8743
8744 * config.gcc (LIBC_MUSL): New tm_defines macro.
8745 * config/linux.h (OPTION_MUSL): Define.
8746 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
8747 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
8748 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
8749
8750 * config/linux.opt (mmusl): New option.
8751 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
8752 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
8753
8754 * configure: Regenerate.
8755
513686a6
GR
87562015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
8757
8758 * config.gcc (LIBC_MUSL): New tm_defines macro.
8759 * config/linux.h (OPTION_MUSL): Define.
8760 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
8761 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
8762 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
8763
8764 * config/linux.opt (mmusl): New option.
8765 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
8766 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
8767
8768 * configure: Regenerate.
8769
860503d8
YG
87702015-04-22 Yury Gribov <y.gribov@samsung.com>
8771
8772 * doc/invoke.texi (-fsanitize-sections): Update description.
8773 * asan.c (set_sanitized_sections): Parse incoming arg.
8774 (section_sanitized_p): Support wildcards.
8775
5cf36292
TV
87762015-04-22 Tom de Vries <tom@codesourcery.com>
8777
8778 PR tree-optimization/65823
8779 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
8780 equality between ap_copy and ap.
8781
2aa84d43
BRF
87822015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8783
8784 PR target/47098
8785 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
8786
a42014a3
BRF
87872015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8788
8789 PR target/47122
8790 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
8791
e08cf345
BRF
87922015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8793
8794 PR target/55144
8795 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
8796 remove already contained t-files.
8797
07cb4ee6
BRF
87982015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8799
8800 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
8801 Remove unneeded forward declarations.
8802 (suitable_for_tail_call_opt_p): Commentary typo fix.
8803
38b7a8df
BRF
88042015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8805
8806 * varasm.c (emit_bss): Remove redundant guard.
8807
baa59cde
BRF
88082015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8809
8810 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
8811
0828c47b
BRF
88122015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8813
8814 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
8815
eefe4e49
HW
88162015-04-22 Hale Wang <hale.wang@arm.com>
8817 Terry Guo <terry.guo@arm.com>
8818
8819 PR rtl-optimization/64818
8820 * combine.c (can_combine_p): Don't combine user-specified
8821 register if it is in an asm input.
8822
5a33401e
JH
88232015-04-21 Jan Hubicka <hubicka@ucw.cz>
8824
8825 PR ipa/65076
8826 * passes.def (early_optimizations): Add pass_dse.
8827
6e37129a
TS
88282015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8829
8830 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
8831 * reorg.c (redundant_insn): Remove ifdef
8832 INSN_REFERENCES_ARE_DELAYED.
8833 * resource.c (mark_referenced_resources): Likewise.
8834
0923e946
TS
88352015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8836
8837 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
8838 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
8839 * resource.c (mark_set_resources): Likewise.
8840
618f4073
TS
88412015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8842
8843 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
8844 * cfgcleanup.c (flow_find_cross_jump): Likewise.
8845 (flow_find_head_matching_sequence): Likewise.
8846 (try_head_merge_bb): Likewise.
8847 * combine.c (can_combine_p): Likewise.
8848 (try_combine): Likewise.
8849 (distribute_notes): Likewise.
8850 * df-problems.c (can_move_insns_across): Likewise.
8851 * final.c (final): Likewise.
8852 * gcse.c (insert_insn_end_basic_block): Likewise.
8853 * ira.c (find_moveable_pseudos): Likewise.
8854 * reorg.c (try_merge_delay_insns): Likewise.
8855 (fill_simple_delay_slots): Likewise.
8856 (fill_slots_from_thread): Likewise.
8857 * sched-deps.c (sched_analyze_2): Likewise.
8858
faa7b0de
TS
88592015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8860
8861 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
8862 PIC_OFFSET_TABLE_REGNUM.
8863
c3e08036
TS
88642015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8865
8866 * alias.c (init_alias_target): Remove ifdef
8867 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
8868 * df-scan.c (df_insn_refs_collect): Likewise.
8869 (df_get_regular_block_artificial_uses): Likewise.
8870 (df_get_eh_block_artificial_uses): Likewise.
8871 (df_get_entry_block_def_set): Likewise.
8872 (df_get_exit_block_use_set): Likewise.
8873 * emit-rtl.c (gen_rtx_REG): Likewise.
8874 * ira.c (ira_setup_eliminable_regset): Likewise.
8875 * reginfo.c (init_reg_sets_1): Likewise.
8876 * regrename.c (rename_chains): Likewise.
8877 * reload1.c (reload): Likewise.
8878 (eliminate_regs_in_insn): Likewise.
8879 * resource.c (mark_referenced_resources): Likewise.
8880 (init_resource_info): Likewise.
8881
cbc7d031
TS
88822015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8883
8884 * defaults.h (MASK_RETURN_ADDR): New definition.
8885 * except.c (expand_builtin_extract_return_addr): Remove ifdef
8886 MASK_RETURN_ADDR.
8887
a8a6b3df
TS
88882015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8889
8890 * defaults.h (RETURN_ADDR_OFFSET): New definition.
8891 * except.c (expand_builtin_extract_return_addr): Remove ifdef
8892 RETURN_ADDR_OFFSET.
8893 (expand_builtin_frob_return_addr): Likewise.
8894
058eb3b0
TS
88952015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8896
8897 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
8898 (try_redirect_by_replacing_jump): Likewise.
8899 (rtl_tidy_fallthru_edge): Likewise.
8900 * combine.c (insn_a_feeds_b): Likewise.
8901 (find_split_point): Likewise.
8902 (simplify_set): Likewise.
8903 * cprop.c (cprop_jump): Likewise.
8904 * cse.c (cse_extended_basic_block): Likewise.
8905 * df-problems.c (can_move_insns_across): Likewise.
8906 * function.c (emit_use_return_register_into_block): Likewise.
8907 * haifa-sched.c (sched_init): Likewise.
8908 * ira.c (find_moveable_pseudos): Likewise.
8909 * loop-invariant.c (find_invariant_insn): Likewise.
8910 * lra-constraints.c (curr_insn_transform): Likewise.
8911 * postreload.c (reload_combine_recognize_const_pattern):
8912 * Likewise.
8913 * reload.c (find_reloads): Likewise.
8914 * reorg.c (delete_scheduled_jump): Likewise.
8915 (steal_delay_list_from_target): Likewise.
8916 (steal_delay_list_from_fallthrough): Likewise.
8917 (redundant_insn): Likewise.
8918 (fill_simple_delay_slots): Likewise.
8919 (fill_slots_from_thread): Likewise.
8920 (delete_computation): Likewise.
8921 * sched-rgn.c (add_branch_dependences): Likewise.
8922
f1e52ed6
TS
89232015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8924
8925 * genconfig.c (main): Always define HAVE_cc0.
8926 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
8927 HAVE_cc0.
8928 * cfgcleanup.c (flow_find_cross_jump): Likewise.
8929 (flow_find_head_matching_sequence): Likewise.
8930 (try_head_merge_bb): Likewise.
8931 * cfgrtl.c (rtl_merge_blocks): Likewise.
8932 (try_redirect_by_replacing_jump): Likewise.
8933 (rtl_tidy_fallthru_edge): Likewise.
8934 * combine.c (do_SUBST_MODE): Likewise.
8935 (insn_a_feeds_b): Likewise.
8936 (combine_instructions): Likewise.
8937 (can_combine_p): Likewise.
8938 (try_combine): Likewise.
8939 (find_split_point): Likewise.
8940 (subst): Likewise.
8941 (simplify_set): Likewise.
8942 (distribute_notes): Likewise.
8943 * cprop.c (cprop_jump): Likewise.
8944 * cse.c (cse_extended_basic_block): Likewise.
8945 * df-problems.c (can_move_insns_across): Likewise.
8946 * final.c (final): Likewise.
8947 (final_scan_insn): Likewise.
8948 * function.c (emit_use_return_register_into_block): Likewise.
8949 * gcse.c (insert_insn_end_basic_block): Likewise.
8950 * haifa-sched.c (sched_init): Likewise.
8951 * ira.c (find_moveable_pseudos): Likewise.
8952 * loop-invariant.c (find_invariant_insn): Likewise.
8953 * lra-constraints.c (curr_insn_transform): Likewise.
8954 * optabs.c (prepare_cmp_insn): Likewise.
8955 * postreload.c (reload_combine_recognize_const_pattern):
8956 * Likewise.
8957 * reload.c (find_reloads): Likewise.
8958 (find_reloads_address_1): Likewise.
8959 * reorg.c (delete_scheduled_jump): Likewise.
8960 (steal_delay_list_from_target): Likewise.
8961 (steal_delay_list_from_fallthrough): Likewise.
8962 (try_merge_delay_insns): Likewise.
8963 (redundant_insn): Likewise.
8964 (fill_simple_delay_slots): Likewise.
8965 (fill_slots_from_thread): Likewise.
8966 (delete_computation): Likewise.
8967 (relax_delay_slots): Likewise.
8968 * sched-deps.c (sched_analyze_2): Likewise.
8969 * sched-rgn.c (add_branch_dependences): Likewise.
8970
176cb568
TS
89712015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8972
8973 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
8974 that is trivially ded on non cc0 targets.
8975 (simplify_set): Likewise.
8976 (mark_used_regs_combine): Likewise.
8977 * cse.c (new_basic_block): Likewise.
8978 (fold_rtx): Likewise.
8979 (cse_insn): Likewise.
8980 (cse_extended_basic_block): Likewise.
8981 (set_live_p): Likewise.
8982 * rtlanal.c (canonicalize_condition): Likewise.
8983 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
8984
8a90eeb6
TS
89852015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8986
8987 * conditions.h: Define macros even if HAVE_cc0 is undefined.
8988 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
8989 * final.c: Likewise.
8990 * jump.c: Likewise.
8991 * recog.c: Likewise.
8992 * recog.h: Declare functions even when HAVE_cc0 is undefined.
8993 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
8994
9a522505
TS
89952015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8996
8997 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
8998 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
8999 * builtins.c (expand_builtin): Remove check if
9000 EH_RETURN_DATA_REGNO is defined.
9001 * df-scan.c (df_bb_refs_collect): Likewise.
9002 (df_get_exit_block_use_set): Likewise.
9003 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
9004 * ira-lives.c (process_bb_node_lives): Likewise.
9005 * lra-lives.c (process_bb_lives): Likewise.
9006
05416670
UB
90072015-04-21 Uros Bizjak <ubizjak@gmail.com>
9008
9009 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
9010 FIRST_PSEUDO_REG): New.
9011 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
9012 (ARG_POINTER_REGNUM): Define to ARGP_REG.
9013 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
9014 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
9015 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
9016 (FIRST_INT_REG): New.
9017 (LAST_INT_REG): New.
9018 (FIRST_*_REG): Define using *_REG.
9019 (LAST_*_REG): Ditto.
9020 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
9021 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
9022 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
9023
35430ca0
KT
90242015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9025
9026 * expmed.c: (synth_mult): Only assume overlapping
9027 shift with previous steps in alg_sub_t_m2 case.
9028
0ff093d8
RB
90292015-04-21 Richard Biener <rguenther@suse.de>
9030
9031 PR tree-optimization/65650
9032 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
9033 transitions involving copies.
9034 (set_lattice_value): Adjust for copy lattice state.
9035 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
9036 if that doesn't dominate the merge point.
9037 (bit_value_unop): Adjust what we treat as varying mask.
9038 (bit_value_binop): Likewise.
9039 (bit_value_assume_aligned): Likewise.
9040 (evaluate_stmt): When we simplified to a SSA name record a copy
9041 instead of dropping to varying.
9042 (visit_assignment): Simplify.
9043
9044 * gimple-match.h (gimple_simplify): Add another callback.
9045 * gimple-fold.c (fold_stmt_1): Adjust caller.
9046 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
9047 for the 2nd callback.
9048 * gimple-match-head.c (gimple_simplify): Add a callback that is
9049 used to valueize the stmt operands and use it that way.
9050
9588d248
RB
90512015-04-21 Richard Biener <rguenther@suse.de>
9052
9053 PR tree-optimization/65788
9054 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
9055
908c55f1
RB
90562015-04-21 Richard Biener <rguenther@suse.de>
9057
9058 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
9059 vec_construct cost by vec_stmt_cost.
9060
c4d281b2
RB
90612015-04-21 Richard Biener <rguenther@suse.de>
9062
9063 * cfghooks.h (create_basic_block): Replace with two overloads
9064 for RTL and GIMPLE.
9065 (split_block): Likewise.
9066 * cfghooks.c (split_block): Rename to ...
9067 (split_block_1): ... this.
9068 (split_block): Add two type-safe overloads for RTL and GIMPLE.
9069 (split_block_after_labels): Call split_block_1.
9070 (create_basic_block): Rename to ...
9071 (create_basic_block_1): ... this.
9072 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
9073 (create_empty_bb): Call create_basic_block_1.
9074 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
9075 split_block_after_labels.
9076 * omp-low.c (expand_parallel_call): Likewise.
9077 (expand_omp_target): Likewise.
9078 (simd_clone_adjust): Likewise.
9079 * tree-chkp.c (chkp_get_entry_block): Likewise.
9080 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
9081 create_basic_block overload.
9082 (cgraph_node::expand_thunk): Likewise.
9083 * tree-cfg.c (make_blocks): Likewise.
9084 (handle_abnormal_edges): Likewise.
9085 * tree-inline.c (copy_bb): Likewise.
9086
8409e468
KT
90872015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9088
9089 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
9090 New pattern.
9091 (*xor_one_cmplsidi3_ze): Likewise.
9092
8f252203
TP
90932015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
9094
9095 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
9096 use df_remove_problem rather than manually removing problems, leaving
9097 holes in df->problems_in_order[].
9098
22fe969f
TV
90992015-04-21 Tom de Vries <tom@codesourcery.com>
9100
9101 PR tree-optimization/65802
9102 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
9103
efb25f54
KT
91042015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9105
9106 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
9107 Increase to 128.
9108 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
9109 at '.'. Assert that there's enough space for everything.
9110
d60dbb52
UB
91112015-04-21 Uros Bizjak <ubizjak@gmail.com>
9112
9113 PR tree-optimization/64950
9114 Revert:
9115 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
9116
9117 PR target/41089
9118 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
9119 as volatile.
9120
3e87f2d6
SC
91212015-04-20 Shiva Chen <shiva0217@gmail.com>
9122
9123 PR rtl-optimization/64916
9124 * cfgcleanup.c (values_equal_p): New function.
9125 (can_replace_by): Use it.
9126
2821fc6b
PC
91272015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
9128
9129 PR c++/65801
9130 * doc/invoke.texi ([-Wnarrowing]): Update.
9131
cb864fbc
JL
91322015-04-20 Jeff Law <law@redhat.com>
9133
9134 PR tree-optimization/65658
9135 * tree-ssa-threadupdate.c (redirection_block_p): Remove
9136 redundant test for GIMPLE_ASSIGN in last change.
9137
d60dbb52 91382015-04-20 Uros Bizjak <ubizjak@gmail.com>
1e7e62b1
UB
9139
9140 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
9141 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
9142 (legitimize_tls_address): Ditto.
9143 (ix86_expand_move): Ditto.
9144 (ix86_expand_binary_operator): Remove reload_in_progress checks.
9145 (ix86_expand_unary_operator): Ditto.
9146 * config/i386/predicates.md (index_register_operand): Ditto.
9147
87e0ceb7
SB
91482015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
9149
9150 * reorg.c (try_merge_delay_insns): Improve correctness checking
9151 for targets with multiple delay slots.
9152
6581c1cf
JL
91532015-04-20 Jeff Law <law@redhat.com>
9154
9155 PR tree-optimization/65658
9156 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
9157 statements too.
9158
69aec552
AL
91592015-04-20 Alan Lawrence <alan.lawrence@arm.com>
9160
9161 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
9162 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
9163 Delete.
9164
38a4960f
JJ
91652015-04-20 Jakub Jelinek <jakub@redhat.com>
9166
9167 PR debug/65807
9168 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
9169
c26de36d
RB
91702015-04-20 Richard Biener <rguenther@suse.de>
9171
9172 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
9173 * gimple-fold.c (gimple_build_valueize): New function.
9174 (gimple_build): Always use gimple_build_valueize as valueize hook.
9175
8b66a2d4
AL
91762015-04-20 Alan Lawrence <alan.lawrence@arm.com>
9177
9178 PR target/64134
9179 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
9180 and overwrite variable parts if <= 1/2 the elements are variable.
9181
a6af1bf9
VM
91822015-04-19 Vladimir Makarov <vmakarov@redhat.com>
9183
9184 PR rtl-optimization/65805
9185 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
9186 Don't use difference of offset and previous offset if
9187 update_sp_offset is non-zero.
9188 (eliminate_regs_in_insn): Ditto.
9189 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
9190 lra_eliminate_regs_1 call.
9191 * lra-constraints.c (get_equiv_with_elimination): Ditto.
9192
67f58944
TS
91932015-04-18 Trevor Saunders <tsaunders@mozilla.com>
9194
9195 * hash-table.h: Remove version of hash_table that stored value_type *.
9196 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
9197 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
9198 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
9199 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
9200 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
9201 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
9202 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
9203 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
9204 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
9205 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
9206 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
9207 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
9208 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
9209 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
9210 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
9211 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
9212
67e6c405 92132015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
037524d6 9214 Jakub Jelinek <jakub@redhat.com>
67e6c405
BS
9215
9216 PR target/65787
9217 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
9218 subsequent SH_NONE operand does not overwrite an existing *special
9219 value.
9220 (adjust_extract): Handle case where a vec_extract operation is
9221 wrapped in a PARALLEL.
9222
759fde68
L
92232015-04-17 H.J. Lu <hongjiu.lu@intel.com>
9224
9225 PR target/65780
9226 * config/i386/i386.c (ix86_binds_local_p): Define only if
9227 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
9228
f6c72af4
JL
92292015-04-17 Jeff Law <law@redhat.com>
9230
9231 PR tree-optimization/47679
9232 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
9233 * tree-ssa-scopedtables.c: New file.
9234 * tree-ssa-scopedtables.h: New file.
9235 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
9236 (const_and_copies): Change name/type.
9237 (record_const_or_copy): Move into tree-ssa-scopedtables.c
9238 (record_const_or_copy_1): Similarly.
9239 (restore_vars_to_original_value): Similarly.
9240 (pass_dominator::execute): Create and destroy const_and_copies table.
9241 (thread_across_edge): Update passing of const_and_copies.
9242 (record_temporary_equivalence): Use method calls rather than
9243 manipulating const_and_copies directly.
9244 (record_equality, cprop_into_successor_phis): Similarly.
9245 (dom_opt_dom_walker::before_dom_children): Similarly.
9246 (dom_opt_dom_walker::after_dom_children): Similarly.
9247 (eliminate_redundant_computations): Similarly.
9248 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
9249 (record_temporary_equivalence): Likewise.
9250 (invalidate_equivalences): Likewise.
9251 (record_temporary_equivalences_from_phis): Update due to type
9252 change of const_and_copies. Use method calls rather than
9253 manipulating the stack directly.
9254 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
9255 (thread_through_normal_block, thread_across_edge): Likewise.
9256 (thread_across_edge): Likewise.
9257 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
9258 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
9259 of equiv_stack.
9260 (identify_jump_threads): Update due to type change of equiv_stack.
9261 (finalize_jump_threads): Delete the equiv_stack when complete.
9262
fdce7c12
UB
92632015-04-17 Uros Bizjak <ubizjak@gmail.com>
9264
9265 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
9266 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
9267 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
9268
faabf788
AT
92692015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
9270
9271 PR target/65535
9272 * config.gcc: Exit with a comment when we do not have a major version
9273 number for the FreeBSD target.
9274
98c1627c
JJ
92752015-04-17 Jakub Jelinek <jakub@redhat.com>
9276
9277 PR target/65689
9278 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
9279 maybe_allows_mem bitfields.
9280 (maybe_allows_none_start, maybe_allows_none_end,
9281 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
9282 maybe_allows_mem_end): New variables.
9283 (compute_maybe_allows): New function.
9284 (add_constraint): Use it to initialize maybe_allows_reg and
9285 maybe_allows_mem fields.
9286 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
9287 is_address constraints such that those that allow neither mem nor
9288 reg come first, then those that only allow reg but not mem, then
9289 those that only allow mem but not reg, then the rest.
9290 (write_allows_reg_mem_function): New function.
9291 (write_tm_preds_h): Call it.
9292 * stmt.c (parse_output_constraint, parse_input_constraint): Use
9293 the generated insn_extra_constraint_allows_reg_mem function
9294 instead of always setting *allows_reg = true; *allows_mem = true;
9295 for unknown extra constraints.
9296
96583f22
L
92972015-04-17 H.J. Lu <hongjiu.lu@intel.com>
9298
9299 PR target/65780
9300 * output.h (default_binds_local_p_3): New.
9301 * varasm.c (default_binds_local_p_3): Make it public. Take an
9302 argument to indicate if common symbol may be local. If common
9303 symbol may be local, treat non-external variable as defined
9304 locally.
9305 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
9306 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
9307 * config/i386/i386.c (ix86_binds_local_p): New.
9308 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
9309 ix86_binds_local_p.
9310
aeebf48a
JJ
93112015-04-17 Jakub Jelinek <jakub@redhat.com>
9312
9313 PR debug/65771
9314 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
9315 trying mem_loc_descriptor on XEXP (rtl, 0).
9316
bbd08a5d
ML
93172015-04-17 Martin Liska <mliska@suse.cz>
9318
9319 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
9320 Release symbol_compare_collection.
9321 * ipa-reference.c: Add TODO that a vector should be released.
9322
c11cdefb
SP
93232015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
9324
9325 PR target/65296
9326 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
9327 to new AVR-LibC file layout (bug #44574).
9328 (*avrlibc_devicelib): Same.
9329 * config/avr/avr-mcus.def: Adjust comments.
9330 * config/avr/avr.opt (nodevicelib): Adjust help.
9331
05b1fb22
AL
93322015-04-17 Alan Lawrence <alan.lawrence@arm.com>
9333
9334 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
9335
2234a9cb
PP
93362015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
9337
9338 PR c++/64527
9339 * gimplify.c (gimplify_init_constructor): Always emit a
9340 side-effecting constructor.
9341
d67cb100
TV
93422015-04-17 Tom de Vries <tom@codesourcery.com>
9343
3f6a2f9e 9344 PR tree-optimization/64950
d67cb100
TV
9345 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
9346 in cfun->curr_properties.
9347 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
9348 if we generate an IFN_VA_ARG.
9349 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
9350 function if PROP_gimple_lva is not set in src function.
9351
f8e89441
TV
93522015-04-17 Tom de Vries <tom@codesourcery.com>
9353 Michael Matz <matz@suse.de>
9354
3f6a2f9e 9355 PR tree-optimization/64950
f8e89441
TV
9356 * gimple-iterator.c (update_modified_stmts): Remove static.
9357 * gimple-iterator.h (update_modified_stmts): Declare.
9358 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
9359 (gimplify_va_arg_internal): New function.
9360 (gimplify_va_arg_expr): Use IFN_VA_ARG.
9361 * gimplify.h (gimplify_va_arg_internal): Declare.
9362 * internal-fn.c (expand_VA_ARG): New unreachable function.
9363 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
9364 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
9365 (expand_ifn_va_arg): New function.
9366 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
9367 (pass_stdarg::execute): Call expand_ifn_va_arg.
9368 (pass_data_lower_vaarg): New pass_data.
9369 (pass_lower_vaarg): New gimple_opt_pass.
9370 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
9371 (make_pass_lower_vaarg): New function.
9372 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
9373 properties_required field.
9374 * passes.def (all_passes): Add pass_lower_vaarg.
9375 * tree-pass.h (PROP_gimple_lva): Add define.
9376 (make_pass_lower_vaarg): Declare.
9377
1691b2e1
TV
93782015-04-17 Tom de Vries <tom@codesourcery.com>
9379
9380 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
9381 * calls.c (call_expr_flags): Same.
9382
302f0807
TV
93832015-04-17 Tom de Vries <tom@codesourcery.com>
9384
9385 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
9386 (pass_stdarg::execute): ... here.
9387
8926e325
TV
93882015-04-17 Tom de Vries <tom@codesourcery.com>
9389 Michael Matz <matz@suse.de>
9390
9391 * tree-cfg.c (make_blocks_1): Factor out of ...
9392 (make_blocks): ... here.
9393 (make_edges_bb): Factor out of ...
9394 (make_edges): ... here.
9395 (gimple_find_sub_bbs): New function.
9396 * tree-cfg.h (gimple_find_sub_bbs): Declare.
9397
cef3bed6
TV
93982015-04-17 Tom de Vries <tom@codesourcery.com>
9399
9400 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
9401
18af8d16
YG
94022015-04-17 Yury Gribov <y.gribov@samsung.com>
9403
9404 * asan.c (set_sanitized_sections): New function.
9405 (section_sanitized_p): Ditto.
9406 (asan_protect_global): Optionally sanitize user-defined
9407 sections.
9408 * asan.h (set_sanitized_sections): Declare new function.
9409 * common.opt (fsanitize-sections): New option.
9410 * doc/invoke.texi (-fsanitize-sections): Document new option.
9411 * opts-global.c (handle_common_deferred_options): Handle new
9412 option.
9413
d7cb230a
JJ
94142015-04-17 Jakub Jelinek <jakub@redhat.com>
9415
9416 PR debug/65771
9417 * dwarf2out.c (loc_list_from_tree): Return NULL
9418 for DEBUG_EXPR_DECL.
9419
86f46e39
CB
94202015-04-17 Christian Bruel <christian.bruel@st.com>
9421
9422 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
9423 same attributes.
9424
94252015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
6e3957da
ZZ
9426
9427 * ira-color.c (setup_left_conflict_sizes_p): Do not process
9428 node itself when computing left conflict subnode size.
9429
8c292b10
UB
94302015-04-16 Uros Bizjak <ubizjak@gmail.com>
9431
9432 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
9433 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
9434 *fop_<mode>_1_sse using enabled attribute. Use
9435 register_mixssei387nonimm_operand operand 1 predicate. Change
9436 alternative 3 constraints from "x" to "v".
9437
b9334e4c
RB
94382015-04-16 Richard Biener <rguenther@suse.de>
9439
9440 PR tree-optimization/65774
9441 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
9442 bit-value tracking on.
9443
f8269ad4
RB
94442015-04-16 Richard Biener <rguenther@suse.de>
9445
9446 PR tree-optimization/64277
9447 * tree-vrp.c (check_array_ref): Fix anti-range handling,
9448 simplify upper bound handling.
9449 (search_for_addr_array): Simplify.
9450 (check_array_bounds): Handle ADDR_EXPRs here.
9451 (check_all_array_refs): Simplify.
9452
579cef8f
UB
94532015-04-16 Uros Bizjak <ubizjak@gmail.com>
9454
9455 * config/i386/i386.c (print_reg): Rewrite function.
9456
dba0dd68
AK
94572015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9458
9459 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
9460 Invert the condition.
9461
76978b21
RL
94622015-04-16 Renlin Li <renlin.li@arm.com>
9463
9464 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
9465 simplifications for UNSIGNED_FLOAT.
9466
72ed1126
NC
94672015-04-16 Nick Clifton <nickc@redhat.com>
9468
9469 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
9470 MUL_UNINIT.
9471 (enum rl78_cpu_type): New.
9472 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
9473 (umulhi3_shift_virt): Remove m constraint from operand 1.
9474 (umulqihi3_virt): Likewise.
9475 * config/rl78/rl78.c (rl78_option_override): Add code to process
9476 -mcpu and -mmul options.
9477 (rl78_alloc_physical_registers): Add code to handle divhi and
9478 divsi valloc attributes.
9479 (set_origin): Likewise.
9480 * config/rl78/rl78.h (RL78_MUL_G14): Define.
9481 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
9482 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
9483 __RL78_Gxx__.
9484 (ASM_SPEC): Pass -mcpu on to assembler.
9485 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
9486 (mulqi3_rl78): Likewise.
9487 (mulhi3_g13): Likewise.
9488 (mulhi3): Generate the G13 or G14 versions of the insn directly.
9489 (mulsi3): Likewise.
9490 (mulhi3_g14): Add clobbers of AX and BC.
9491 (mulsi3_g14): Likewise.
9492 (mulsi3_g13): Likewise.
9493 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
9494 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
9495 * config/rl78/rl78.opt (mmul): Initialise value to
9496 RL78_MUL_UNINIT.
9497 (mcpu): New option.
9498 (m13, m14, mrl78): New option aliases.
9499 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
9500 (MULTILIB_DIRNAMES): Add g13 and g14.
9501 * doc/invoke.texi: Document -mcpu and -mmul options.
9502
8a474dc5
RB
95032015-04-16 Richard Biener <rguenther@suse.de>
9504
9505 * tree-ssa-ccp.c (likely_value): See if we have operands that
9506 are marked as never simulate again and return CONSTANT in this
9507 case.
9508 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
9509 not have any operands that will be simulated again as
9510 not being simulated again.
9511
cf0ed95b
UB
95122015-04-15 Uros Bizjak <ubizjak@gmail.com>
9513
9514 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
9515 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
9516 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
9517 attribute.
9518 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
9519 enabled attribute.
9520 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
9521 *float<SWI48:mode><MODEF:mode>2_sse.
9522 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
9523 enabled attribute.
9524 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
9525 enabled attribute.
9526
5283d1ec
TV
95272015-04-15 Tom de Vries <tom@codesourcery.com>
9528
9529 PR other/65487
9530 * function.c (push_dummy_function): New function.
9531 (init_dummy_function_start): Use push_dummy_function.
9532 (pop_dummy_function): New function. Factored out of ...
9533 (expand_dummy_function_end): ... here.
9534 * function.h (push_dummy_function, pop_dummy_function): Declare.
9535 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
9536 pop_dummy_function.
9537 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
9538
5141ed42
JL
95392015-04-15 Jeff Law <law@redhat.com>
9540
20e38fcf
JL
9541 PR tree-optimization/47679
9542 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
9543 need for forward declaration in upcoming changes.
9544 (record_conditions, record_edge_info): Likewise.
9545
5141ed42
JL
9546 PR rtl-optimization/42522
9547 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
9548 SIGN_EXTRACT as a whole object rather than simplifying
9549 its operand.
9550
366ee94b
JJ
95512015-04-15 Jakub Jelinek <jakub@redhat.com>
9552
9553 PR ipa/65765
9554 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
9555 and GIMPLE_PREDICT use break instead of return true. For
9556 GIMPLE_EH_DISPATCH, compare dispatch region.
9557
a1e25839
MW
95582015-04-14 Matthew Wahab <matthew.wahab@arm.com>
9559
9560 * doc/extend.texi (__sync Builtins): Simplify some text. Update
9561 details about the implementation. Make clear preference for
9562 __atomic builtins. Reduce possibility of future change.
9563
e4614c18
NC
95642015-04-15 Nick Clifton <nickc@redhat.com>
9565
9566 * config/rx/rx.opt (mallow-string-insns): New option.
9567 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
9568 builtin if string instructions are denied.
9569 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
9570 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
9571 appropriate.
9572 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
9573 * config/rx/rx.md (movstr): Enable pattern only if string
9574 instructions are allowed.
9575 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
9576 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
9577 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
9578 (MULTILIB_DIRNAMES): Add no-strings.
9579 * doc/invoke.texi: Document -mno-allow-string-insns.
72ed1126 9580
984b2054
AM
95812015-04-15 Alan Modra <amodra@gmail.com>
9582
9583 PR target/65408
9584 PR target/58744
9585 PR middle-end/36043
9586 * calls.c (load_register_parameters): Don't load past end of
9587 mem unless suitably aligned.
9588
93684323
NC
95892015-04-15 Nick Clifton <nickc@redhat.com>
9590
9591 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
9592 decrement instruction as being frame related.
9593 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
9594 based addresses.
9595 If zero extending a function address enclose the operation in
9596 %code(...).
9597 (rl78_preferred_reload_class): New function.
9598 (TARGET_PREFERRED_RELOAD_CLASS): Define.
9599 * config/rl78/rl78.md: Remove useless constraints in expanders.
9600 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
9601 (mulhi3_rl78): Likewise.
9602 (mulhi3_g13): Likewise.
9603 (mulsi3_rl78): Likewise.
9604 (es_addr): Move to before the multiply patterns.
9605
614d5bd8
AM
96062015-04-15 Alan Modra <amodra@gmail.com>
9607
9608 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
9609 and sequence_stack. Add seq.
9610 (seq_stack): Delete.
9611 * function.c (prepare_function_start): Don't access x_last_insn.
9612 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
9613 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
9614 * emit_rtl.c (start_sequence, push_topmost_sequence,
9615 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
9616 sequence accessors.
9617 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
9618 remove_insn): Likewise. Simplify.
9619 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
9620 and pop_topmost_sequence.
9621 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
9622 debug insns.
9623 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
9624
c07ad89a
YR
96252015-04-14 Yvan Roux <yvan.roux@linaro.org>
9626
9627 PR target/65729
9628 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
9629 the assertiion.
9630
58b0b34c
UB
96312015-04-14 Uros Bizjak <ubizjak@gmail.com>
9632
9633 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
9634 (LEGACY_INT_REGNO_P): Ditto.
9635 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
9636 (ANY_MASK_REG_P): Remove.
9637 (BND_REG_P): Rename from ANY_BND_REG_P.
9638 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
9639 legacy integer registers. Do not handle MMX_REG_P in a special way.
9640 Merge 64byte and 32byte SSE handling.
9641
5751fb33
NC
96422015-04-14 Nick Clifton <nickc@redhat.com>
9643
9644 * expr.c (expand_assignment): Force an address offset computation
9645 into a register before changing its mode.
9646 (expand_expr_real_1): Likewise.
9647
5543f941
AL
96482015-04-14 Alan Lawrence <alan.lawrence@arm.com>
9649
9650 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
9651 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
9652 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
9653 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
9654 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
9655 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
9656 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
9657 and __aarch64_vget_lane_any.
9658
b3a3ae09
JJ
96592015-04-14 Jakub Jelinek <jakub@redhat.com>
9660
9661 PR rtl-optimization/65761
9662 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
9663 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
9664
6f72f143
RB
96652015-04-14 Richard Biener <rguenther@suse.de>
9666
9667 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
9668 (graphite_can_represent_scev): Use POINTER_TYPE_P.
9669
ab05af62
RB
96702015-04-14 Richard Biener <rguenther@suse.de>
9671
9672 PR tree-optimization/65758
9673 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
9674 against -1.
9675 (ccp_lattice_meet): Likewise.
9676 (bit_value_unop): Likewise.
9677 (bit_value_binop): Likewise.
9678 (bit_value_assume_aligned): Likewise.
9679
703fa2e6
CB
96802015-04-14 Christian Bruel <christian.bruel@st.com>
9681
9682 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
9683 function.
9684
cfdc4f33
MG
96852015-04-14 Marc Glisse <marc.glisse@inria.fr>
9686
9687 PR tree-optimization/63387
9688 * match.pd ((x unord x) | (y unord y) -> (x unord y),
9689 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
9690
55d2ee57
UB
96912015-04-14 Uros Bizjak <ubizjak@gmail.com>
9692
9693 * config/i386/predicates.md (any_QIreg_operand): Rename from
9694 q_regs_operand. Do not process subregs.
9695 (QIreg_operand): Use QI_REGNO_P predicate.
9696 (ext_QIreg_operand): Ditto.
9697 (ext_register_operand): Ditto.
9698 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
9699 (AND splitters): Ditto.
9700 (AND with -65536 splitter): Add SWI48 mode for operand 0.
9701 (AND with -256 splitter): Use any_QIreg_operand predicate and
9702 SWI248 mode for operand 0.
9703 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
9704 mode for operand 0.
9705 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
9706
da3831fd
GP
97072015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
9708
9709 * doc/plugins.texi: Rewrite first introductory paragraph.
9710
10706779
JH
97112015-04-12 Jan Hubicka <hubicka@ucw.cz>
9712
9713 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
9714 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
9715
95d81ba5
JH
97162015-04-12 Jan Hubicka <hubicka@ucw.cz>
9717
9718 * ipa-profie.c (ipa_profile): Check number of parameters
9719 and possible polymorphic call targets before
9720 devirtualizing.
9721
9586973b
UB
97222015-04-13 Uros Bizjak <ubizjak@gmail.com>
9723
9724 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
9725 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
9726
c4ef2f86
RB
97272015-04-13 Richard Biener <rguenther@suse.de>
9728
9729 PR tree-optimization/65204
9730 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
9731 takens for bit-CCP.
9732
c5faf03d
RB
97332015-04-13 Richard Biener <rguenther@suse.de>
9734
9735 PR target/65660
9736 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
9737 and cond_not_taken_branch_cost to 4 and 2.
9738 (bdver2_cost): Likewise.
9739 (bdver3_cost): Likewise.
9740 (bdver4_cost): Likewise.
9741
61ebff31
JH
97422015-04-12 Jan Hubicka <hubicka@ucw.cz>
9743
9744 * hash-table.h (hash_table constructor): Add mem stats.
9745 (alloc_entries): Likewise.
9746
31b27938
JH
97472015-04-12 Jan Hubicka <hubicka@ucw.cz>
9748
9749 * ipa-cp.c (ipcp_driver): Relase prev_edge.
9750 * passes.c (execute_one_pass): Only add transform if pass has one.
9751
0b4a769e
JM
97522015-04-12 Joseph Myers <joseph@codesourcery.com>
9753
9754 * config/i386/i386.c (ix86_option_override_internal): Don't set
9755 -fprefetch-loop-arrays if optimizing for size.
9756
7d83fb55
JH
97572015-04-12 Jan Hubicka <hubicka@ucw.cz>
9758 Gerald Pfeifer <gerald@pfeifer.com>
9759
9760 * doc/contrib.texi (Contributors): Add Martin Jambor and
9761 Michael Matz.
9762
b6e55e48
JJ
97632015-04-12 Jakub Jelinek <jakub@redhat.com>
9764
1a46d358
JJ
9765 * BASE-VER: Set to 6.0.0.
9766
b6e55e48
JJ
9767 PR tree-optimization/65747
9768 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
9769 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
9770
7d9ea335
GP
97712015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
9772
9773 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
9774 sentence. Improve grammar.
9775
04ebb119
GP
97762015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
9777
9778 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
9779
6338536c 97802015-04-11 Jan Hubicka <hubicka@ucw.cz>
db66bf68
JH
9781
9782 PR ipa/65743
9783 * ipa-inline-transform.c (speculation_removed): Remove static var.
9784 (check_speculations): New function.
9785 (clone_inlined_nodes): Do not check spculations.
9786 (inline_call): Call check_speculations.
9787 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
9788 consider non-invariants.
9789
6338536c
JJ
97902015-04-11 Jan Hubicka <hubicka@ucw.cz>
9791 Martin Liska <mliska@suse.cz>
523f0450
JH
9792
9793 PR ipa/65722
9794 * ipa-icf.c (sem_item::compare_cgraph_references): function and
9795 variable can not match.
9796 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
9797 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
9798
e9329eb5
JJ
97992015-04-11 Jakub Jelinek <jakub@redhat.com>
9800
9801 PR tree-optimization/65735
9802 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
9803 Remove visited_phis argument, add visited_bbs, avoid recursing into the
9804 same bb rather than just into the same phi node.
9805 (thread_through_normal_block): Adjust caller.
9806
bc7e7ed3
GP
98072015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
9808
9809 * doc/contrib.texi (Contributors): Add Ira Rosen.
9810
7106478c
BS
98112015-04-11 Benno Schulenberg <bensberg@justemail.net>
9812
9813 * gcov.c (find_source): Fix miswording in error message.
9814 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
9815 (ix86_expand_sse_comi_round): Fix typo in error message.
9816
b025e292
GP
98172015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
9818
9819 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
9820
8892d7ec
GP
98212015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
9822
9823 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
9824
54e915b3
VM
98252015-04-10 Vladimir Makarov <vmakarov@redhat.com>
9826
9827 PR target/65710
9828 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
9829 Print bad_spills_num and insn_pseudos_num.
9830
95487347
KT
98312015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9832
9833 PR target/65694
9834 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
9835 when creating +1 values for SImode.
9836
6a65cb99
VM
98372015-04-10 Vladimir Makarov <vmakarov@redhat.com>
9838
9839 PR target/65729
9840 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
9841 assert.
9842
cacf1f59
JJ
98432015-04-10 Jakub Jelinek <jakub@redhat.com>
9844 Iain Sandoe <iain@codesourcery.com>
9845
9846 PR target/65351
9847 * configure: Regenerate.
9848
7f664e31
KY
98492015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
9850
9851 PR target/65671
dccd8858 9852 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
7f664e31 9853
d1074796
GP
98542015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
9855
9856 * doc/contrib.texi (Contributors): Add John Marino.
9857
f66d8ec8
JJ
98582015-04-09 Jakub Jelinek <jakub@redhat.com>
9859
9860 PR tree-optimization/65709
9861 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
9862 TREE_TYPE (TREE_TYPE (t)).
9863
8fd827b8
VM
98642015-04-09 Vladimir Makarov <vmakarov@redhat.com>
9865
9866 PR target/65710
9867 * lra-int.h (lra_bad_spill_regno_start): New.
9868 * lra.c (lra_bad_spill_regno_start): New.
9869 (lra): Set up lra_bad_spill_regno_start. Set up
9870 lra_constraint_new_regno_start unconditionally.
9871 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
9872 spill preferences.
9873
86c5a5c3
MP
98742015-04-09 Marek Polacek <polacek@redhat.com>
9875 Jakub Jelinek <jakub@redhat.com>
9876
9877 PR middle-end/65554
9878 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
9879 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
9880 of STRIP_NOPS.
9881
fb728653
SB
98822015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
9883
9884 PR rtl-optimization/65693
9885 * combine.c (is_parallel_of_n_reg_sets): Move outside of
9886 #ifndef HAVE_cc0.
9887
3184f36f
GJL
98882015-04-09 Georg-Johann Lay <avr@gjlay.de>
9889
9890 PR target/65296
9891 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
9892 device specs file if "device-specs%s" didn't resolve to a path.
9893
54414978
KY
98942015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
9895
9896 PR target/65676
9897 * config/i386/i386.c (fixup_modeless_constant): New.
9898 (ix86_expand_args_builtin): Fixup modeless constant operand.
9899 (ix86_expand_round_builtin): Ditto.
9900 (ix86_expand_special_args_builtin): Ditto.
9901 (ix86_expand_builtin): Ditto.
9902
da0b9df9
JJ
99032015-04-09 Jakub Jelinek <jakub@redhat.com>
9904
9905 PR target/65693
9906 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
9907 any pow2 integer in between 2 and 0x80000000U inclusive.
9908
4673a218
SB
99092015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
9910
9911 PR rtl-optimization/65693
9912 * combine.c (is_parallel_of_n_reg_sets): Change first argument
9913 from an rtx_insn * to an rtx.
9914 (try_combine): Adjust both callers. Use it once more.
9915
36f371de
IE
99162015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
9917
9918 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
9919 (chkp_make_static_const_bounds): Search existing
9920 symbol by assembler name. Use make_decl_one_only.
9921 (chkp_get_zero_bounds_var): Remove node search which
9922 is now performed in chkp_make_static_const_bounds.
9923 (chkp_get_none_bounds_var): Likewise.
9924
469f062e
MW
99252015-04-08 Michael Witten <mfwitten@gmail.com>
9926
9927 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
9928 to an example.
9929
5884a1a8
BRF
99302015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9931
9932 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
9933
8de4dd05
GP
99342015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
9935
9936 * doc/extend.texi (__sync Builtins): Fix grammar.
9937
5817d9f9
BRF
99382015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9939
9940 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
9941
a876b410
BRF
99422015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9943
9944 * varasm.c (emit_local): Move definition of align.
9945
d93bdab5
JB
99462015-04-08 Julian Brown <julian@codesourcery.com>
9947
9948 * config/nvptx/mkoffload.c (process): Support variable mapping.
9949
a6330e85
TS
99502015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
9951
9952 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
9953 alpha_links **.
9954 (alpha_write_one_linkage): Correct typo.
9955
930ee116
IE
99562015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
9957
9958 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
9959
47eec994
GP
99602015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
9961
dccd8858 9962 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
47eec994 9963
4f5a53cc
IE
99642015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
9965
9966 * tree-chkp.h (chkp_insert_retbnd_call): New.
9967 * tree-chkp.c (chkp_insert_retbnd_call): New.
9968 * ipa-split.c (insert_bndret_call_after): Remove.
9969 (split_function): Use chkp_insert_retbnd_call.
9970 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
9971 bounds for instrumented functions.
9972
006e317a
JH
99732015-04-07 Jan Hubicka <hubicka@ucw.cz>
9974
9975 PR ipa/65540
9976 * calls.c (initialize_argument_information): When producing tail
9977 call also turn SSA_NAMES passed by references to original PARM_DECLs
9978
218823d7
VM
99792015-04-07 Vladimir Makarov <vmakarov@redhat.com>
9980
a9d13adf 9981 PR target/65648
218823d7
VM
9982 * lra-remat.c (do_remat): Process input and non-input insn
9983 registers separately.
9984
dcc72b9e
JJ
99852015-04-07 Jakub Jelinek <jakub@redhat.com>
9986
e488c24e
JJ
9987 PR debug/65678
9988 * valtrack.c (debug_lowpart_subreg): New function.
9989 (dead_debug_insert_temp): Use it.
9990
dcc72b9e
JJ
9991 PR middle-end/65680
9992 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
9993 into signed HOST_WIDE_INT the same as negative bit_offset.
9994
0e081bde
IE
99952015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
9996
9997 * ipa-comdats.c (ipa_comdats): Visit all thunks
9998 to set proper comdat group.
9999
b7c43e24
KT
100002015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10001
10002 PR target/65489
10003 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
10004 on constants for NEON VSTRUCT modes.
10005
e8a4ed3b
JJ
100062015-04-07 Jakub Jelinek <jakub@redhat.com>
10007 Iain Sandoe <iain@codesourcery.com>
10008
10009 PR target/65351
10010 * configure: Regenerate.
10011
90e0a702
MM
100122015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
10013
10014 PR target/65614
10015 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
10016 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
10017 that LFD is used to load double constants instead of LFS. Add
10018 defaults for all costs structures. Add comments for missing
10019 initialization fields.
10020 (size32_cost): Likewise.
10021 (size64_cost): Likewise.
10022 (rs64a_cost): Likewise.
10023 (mpccore_cost): Likewise.
10024 (ppc403_cost): Likewise.
10025 (ppc405_cost): Likewise.
10026 (ppc440_cost): Likewise.
10027 (ppc476_cost): Likewise.
10028 (ppc601_cost): Likewise.
10029 (ppc603_cost): Likewise.
10030 (ppc604_cost): Likewise.
10031 (ppc604e_cost): Likewise.
10032 (ppc620_cost): Likewise.
10033 (ppc630_cost): Likewise.
10034 (ppccell_cost): Likewise.
10035 (ppc750_cost): Likewise.
10036 (ppc7450_cost): Likewise.
10037 (ppc8540_cost): Likewise.
10038 (ppce300c2c3_cost): Likewise.
10039 (ppce500mc_cost): Likewise.
10040 (ppce500mc64_cost): Likewise.
10041 (ppce5500_cost): Likewise.
10042 (ppce6500_cost): Likewise.
10043 (titan_cost): Likewise.
10044 (power4_cost): Likewise.
10045 (power6_cost): Likewise.
10046 (power7_cost): Likewise.
10047 (power8_cost): Likewise.
10048 (ppca2_cost): Likewise.
10049 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
10050
10051 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
10052 instead of XXLOR to copy SFmode to clear out dirty bits created
10053 when SFmode denormals are generated.
10054 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
10055 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
10056
85bb7f7f
EM
100572015-04-06 Evandro Menezes <e.menezes@samsung.com>
10058
10059 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
10060 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
10061 * config/aarch64/aarch64-tune.md: Regenerate.
10062
e278ae6f
EM
100632015-04-06 Evandro Menezes <e.menezes@samsung.com>
10064
10065 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
10066 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
10067 * config/arm/arm-cores.def (exynos-m1): New core.
10068 * config/arm/arm-tune.md: Regenerate.
10069 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
10070 * config/arm/bpabi.h: Likewise.
10071
6f025043
IE
100722015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
10073
10074 * ipa-cp (set_single_call_flag): Remove too
10075 restrictive assert.
10076
a51df54e
IV
100772015-04-06 Ilya Verbin <ilya.verbin@intel.com>
10078
10079 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
10080 GOMP_offload_unregister from the destructor.
10081
71671f5d
IE
100822015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
10083
10084 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
10085 flags for instrumentation thunk.
10086 (chkp_produce_thunks): Likewise.
10087
8fc8c7e7
ML
100882015-04-05 Martin Liska <mliska@suse.cz>
10089
10090 PR ipa/65665
10091 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
10092 has computed data structure.
10093 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
10094
9a820e84
JH
100952015-04-04 Jan Hubicka <hubicka@ucw.cz>
10096
10097 * invoke.texi (inline-unit-growth): Increase growth to 20%
10098 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
10099
94446928
VM
101002015-04-04 Vladimir Makarov <vmakarov@redhat.com>
10101
10102 PR target/65647
10103 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
10104 value checking.
10105 (lra_rematerialization_iter): New.
10106 * lra.c (lra): Initialize lra_rematerialization_iter.
10107 Stop updating lra_constraint_new_regno_start after switching of
10108 inheritance and rematerialization.
10109 * lra-remat.c (lra_rematerialization_iter): New.
10110 (lra_remat): Add printing pass iteration. Do rematerialization
10111 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
10112
30c5a937
RB
101132015-04-04 Richard Biener <rguenther@suse.de>
10114
10115 PR tree-optimization/64909
10116 PR tree-optimization/65660
10117 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
10118 to take a cost vector for scalar iteration cost.
10119 (vect_get_single_scalar_iteration_cost): Likewise.
10120 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
10121 Compute the scalar iteration cost into a cost vector.
10122 (vect_get_known_peeling_cost): Use the scalar cost vector to
10123 account for the cost of the peeled iterations.
10124 (vect_estimate_min_profitable_iters): Likewise.
10125 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
10126 Likewise.
10127
69223fae
AM
101282015-04-04 Alan Modra <amodra@gmail.com>
10129
10130 PR target/65576
10131 PR target/65240
10132 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
10133 0.0 constant unless TARGET_VSX.
10134 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
10135 alternative.
10136
f107227b
JH
101372015-04-03 Jan Hubicka <hubicka@ucw.cz>
10138
a9d13adf 10139 PR ipa/65654
f107227b
JH
10140 * ipa-inline-transform.c (inline_call): Skip sanity check to work
10141 around the ICE
10142
872ceb28
JH
101432015-04-03 Jan Hubicka <hubicka@ucw.cz>
10144
10145 PR ipa/65655
10146 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
10147 speculative indirect edges to avoid ordering issue.
10148
133a84ab
JH
101492015-04-03 Jan Hubicka <hubicka@ucw.cz>
10150
10151 PR ipa/65076
10152 * ipa-inline.c (edge_badness): Add combined size to the denominator.
10153
f7484978
JJ
101542015-04-03 Jakub Jelinek <jakub@redhat.com>
10155
10156 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
10157 TYPE_ARTIFICIAL on the .omp_data* types.
10158
a115251c
IE
101592015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10160
10161 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
10162 instrumentation thunks.
10163
fad71ff5
IE
101642015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10165
10166 * config/i386/i386.c (ix86_expand_call): Avoid nested
10167 PARALLEL in returned call value.
10168
a3d72251
IE
101692015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10170
10171 * lto-cgraph.c (input_cgraph_1): Always link instrumented
10172 assembler name with original one.
10173
fcb8e429
UB
101742015-04-02 Uros Bizjak <ubizjak@gmail.com>
10175
10176 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
10177
287044d9
UB
101782015-04-02 Uros Bizjak <ubizjak@gmail.com>
10179
10180 Revert parts of r216820.
10181 * config/i386/i386.md (movqi_internal): Correct type calculation
10182 for alternatives 3 and 5.
10183
860f8be4
JJ
101842015-04-02 Jakub Jelinek <jakub@redhat.com>
10185
10186 PR preprocessor/61977
10187 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
10188 predefine __vector/__bool/__pixel macros nor context sensitive
10189 macros for CLK_ASM.
10190 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
10191
166d826f
JDA
101922015-04-02 John David Anglin <danglin@gcc.gnu.org>
10193
10194 * config/pa/pa.c (pa_output_move_double): Directly handle register
10195 indexed memory operand. Simplify handling of scaled register indexed
10196 memory operands.
10197
512470bb
IE
101982015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
10199
10200 PR driver/65444
10201 * config/i386/linux-common.h (MPX_SPEC): New.
10202 (CHKP_SPEC): Add MPX_SPEC.
10203 * doc/invoke.texi (-fcheck-pointer-boudns): Document
10204 possible issues with '-z bndplt' support in linker.
10205
a8caf351
UB
102062015-04-02 Uros Bizjak <ubizjak@gmail.com>
10207
10208 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
10209 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
10210 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
10211 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
10212 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
10213
35238bb5
UB
102142015-04-01 Uros Bizjak <ubizjak@gmail.com>
10215
10216 * config/i386/sync.md (UNSPEC_MOVA): Remove.
10217 (atomic_load<mode>): Change operand 0 predicate to
10218 nonimmediate_operand and fix up the destination when needed.
10219 Use UNSPEC_LDA.
10220 (atomic_loaddi_fpu): Use UNSPEC_LDA.
10221 (atomic_store<mode>): Change operand 1 predicate to
10222 nonimmendate_operand and move the source to register when needed.
10223 Use UNSPEC_STA.
10224 (atomic_store<mode>_1): Use UNSPEC_STA.
10225 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
10226 Fix moves from memory operand. Use UNSPEC_STA.
10227
b6dd42a9
BE
102282015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
10229
10230 * expmed.c (strict_volatile_bitfield_p): Check that the access will
10231 not cross a MODESIZE boundary.
10232 (store_bit_field, extract_bit_field): Added assertions in the
10233 strict volatile bitfields code path.
10234
0ff2bf46
MO
102352015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
10236
10237 PR target/65624
35238bb5
UB
10238 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
10239 Increase args array size by one to avoid buffer overflow.
0ff2bf46 10240
41f669d8
JH
102412015-03-31 Jan Hubicka <hubicka@ucw.cz>
10242
10243 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
10244 split_part.
10245 * ipa-inline.c (edge_badness): Add wrapper penalty.
10246 (sum_callers): Move up.
10247 (inline_small_functions): Set single_caller.
10248 * ipa-inline.h (inline_summary): Add single_caller.
10249 * ipa-split.c (split_function): Set split_part.
10250 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
10251 * cgraph.h (cgraph_node): Add split_part.
10252
9e91e2cd 102532015-03-31 Uros Bizjak <ubizjak@gmail.com>
36ceb0e3 10254
9e91e2cd
UB
10255 PR target/58945
10256 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
10257 Do not split operands 0 and operands 2 to halfmode.
10258 (atomic_compare_and_swap<mode>): Update for
10259 atomic_compare_and_swap<dwi>_doubleword changes.
10260
102612015-03-31 Jan Hubicka <hubicka@ucw.cz>
10262
10263 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
36ceb0e3
JH
10264 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
10265 no caching is done.
10266
12cc8c72
ML
102672015-03-31 Martin Liska <mliska@suse.cz>
10268
10269 PR ipa/65557
10270 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
10271 has already filled up function summary.
10272 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
10273
78f1b523
RB
102742015-03-31 Richard Biener <rguenther@suse.de>
10275
10276 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
10277 of types.
10278
2d38d809
DV
102792015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
10280
10281 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
10282 nested functions.
10283 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
10284 (s390_asm_output_function_label): Adapt to new signature of
10285 s390_function_num_hotpatch_hw
10286 Optimise the code generating assembler output.
10287 Add comments to assembler file.
10288
bed18fbd
RB
102892015-03-31 Richard Biener <rguenther@suse.de>
10290
10291 PR middle-end/65626
10292 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
10293 of the noreturn call so it is last and cleanup_control_flow_bb
10294 can do the CFG part.
10295
b7e85ee1
IE
102962015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
10297
10298 PR target/65531
10299 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
10300 same_comdat_group for external symbols.
10301 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
10302 infinite same_comdat_group traversal loop.
10303
b626318e
JJ
103042015-03-31 Jakub Jelinek <jakub@redhat.com>
10305
10306 PR plugins/61176
10307 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
10308 automatically to $headers.
10309
00a0ea64
JJ
103102015-03-30 Jakub Jelinek <jakub@redhat.com>
10311
10312 PR ipa/65610
10313 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
10314 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
10315 function.
10316 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
10317 Use it.
10318 * ipa-prop.c (param_type_may_change_p): Likewise.
10319 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
10320 (remove_unused_scope_block_p): Add in_ctor_dtor_block
10321 argument. Before inlining, preserve
10322 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
10323 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
10324 recursive calls.
10325 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
10326
12daa22a
JH
103272015-03-27 Jan Hubicka <hubicka@ucw.cz>
10328
10329 PR ipa/65076
10330 * ipa-inline.c (edge_badness): Base denominator on callee's
10331 grwoth squared.
10332
af21714c
MJ
103332015-03-27 Martin Jambor <mjambor@suse.cz>
10334
10335 PR ipa/65478
10336 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
10337 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
10338 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
10339 node_calling_single_call.
10340 * ipa-cp.c (count_callers): New function.
10341 (set_single_call_flag): Likewise.
10342 (initialize_node_lattices): Count callers and set single_flag_call if
10343 necessary.
10344 (incorporate_penalties): New function.
10345 (good_cloning_opportunity_p): Use it, dump new flags.
10346 (propagate_constants_topo): Set node_within_scc flag if appropriate.
10347 * doc/invoke.texi (ipa-cp-recursion-penalty,
10348 ipa-cp-single-call-pentalty): Document.
10349
c97de764
JH
103502015-03-27 Jan Hubicka <hubicka@ucw.cz>
10351
10352 PR ipa/65588
10353 * symtab.c (symtab_node::get_partitioning_class): Register vars
10354 are duplicated.
10355 * varpool.c (symbol_table::output_variables) Do not assemble unefined
10356 decls for non-symbols.
10357
a5eef8e9
L
103582015-03-27 H.J. Lu <hongjiu.lu@intel.com>
10359
10360 PR target/65248
10361 * output.h (default_binds_local_p_2): New.
10362 * varasm.c (default_binds_local_p_2): Renamed to ...
10363 (default_binds_local_p_3): This. Don't return true on protected
10364 data symbol if protected data may be external.
10365 (default_binds_local_p): Use default_binds_local_p_3.
10366 (default_binds_local_p_1): Likewise.
10367 (default_binds_local_p_2): New.
10368 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
10369 default_binds_local_p_2 if TARGET_MACHO is undefined.
10370
f21a5899
JJ
103712015-03-27 Jakub Jelinek <jakub@redhat.com>
10372
10373 PR target/65593
10374 * config/i386/i386.c (legitimize_pic_address): If base
10375 is SYMBOL_REF or LABEL_REF using %rip addressing, force
10376 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
10377
6e85fbaa
JH
103782015-03-27 Jan Hubicka <hubicka@ucw.cz>
10379
10380 PR target/65531
10381 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
10382 comdat groups.
10383
931c8e9a
JH
103842015-03-27 Jan Hubicka <hubicka@ucw.cz>
10385
10386 PR ipa/65600
10387 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
10388 of optimized out indirect call.
10389 (redirect_to_unreachable): Always build symbol table node for
10390 BUILT_IN_UNREACHABLE
10391
d81c5030
VM
103922015-03-27 Vladimir Makarov <vmakarov@redhat.com>
10393
10394 PR target/65407
10395 * ira-costs.c (record_reg_classes): Process all constraint string
10396 containing 0-9.
10397
f50e5fcc
BS
103982015-03-27 Bernd Schmidt <bernds@codesourcery.com>
10399
2166d2a1
BS
10400 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
10401 memory_operand.
10402
f50e5fcc 10403 PR target/65052
dccd8858
UB
10404 * config/c6x/constraints.md (S3): New constraint.
10405 * config/c6x/c6x.md (real_jump): Use it.
f50e5fcc 10406
88e7d85f
JH
104072015-03-26 Jan Hubicka <hubicka@ucw.cz>
10408
10409 PR middle-end/65595
10410 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
10411 do redirection if the call is not optimized out.
10412
79d64904
IE
104132015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
10414
10415 PR target/65495
10416 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
10417 (fchkp-check-incomplete-type): Add LTO.
10418 (fchkp-zero-input-bounds-for-main): Likewise.
10419 (fchkp-first-field-has-own-bounds): Likewise.
10420 (fchkp-narrow-bounds): Likewise.
10421 (fchkp-narrow-to-innermost-array): Likewise.
10422 (fchkp-use-static-bounds): Likewise.
10423 (fchkp-use-static-const-bounds): Likewise.
10424 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
10425
7d1ff6f0
MP
104262015-03-27 Marek Polacek <polacek@redhat.com>
10427
10428 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
10429
27674ca6
MP
104302015-03-27 Marek Polacek <polacek@redhat.com>
10431
10432 PR sanitizer/65583
10433 * ubsan.c (ubsan_create_edge): New function.
10434 (instrument_bool_enum_load): Call it.
10435 (instrument_nonnull_arg): Likewise.
10436 (instrument_nonnull_return): Likewise.
10437 (instrument_object_size): Likewise.
10438
50cfd44e
JH
104392015-03-26 Jan Hubicka <hubicka@ucw.cz>
10440
10441 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
10442 auto_vec.
10443
c3d11ebe
JH
104442015-03-26 Jan Hubicka <hubicka@ucw.cz>
10445
10446 PR lto/65536
10447 * lto-streamer.h (class lto_location_cache): New.
10448 (struct data_in): Add location_cache.
10449 (lto_input_location): Update prototype.
10450 (stream_input_location_now): New.
10451 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
10452 pointer to location.
10453 (stream_input_location): Update.
10454 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
10455 (warn_odr): Apply location cache before warning.
10456 (lto_input_location): Update prototype.
10457 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
10458 Use stream_input_location_now.
10459 * lto-streamer-in.c (lto_location_cache::current_cache): New static
10460 variable.
10461 (lto_location_cache::cmp_loc): New function.
10462 (lto_location_cache::apply_location_cache): New function.
10463 (lto_location_cache::accept_location_cache): New function.
10464 (lto_location_cache::revert_location_cache): New function.
10465 (lto_location_cache::input_location): New function.
10466 (lto_input_location): Do location caching.
10467 (stream_input_location_now): New function.
10468 (input_eh_region, input_struct_function_base): Use
10469 stream_input_location_now.
10470 (lto_data_in_create): use new.
10471 (lto_data_in_delete): Use delete.
10472 * tree-streamer-in.c (unpack_ts_block_value_fields,
10473 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
10474 lto_input_ts_exp_tree_pointers): Update for cached location api.
10475
38147a2a
JH
104762015-03-26 Jan Hubicka <hubicka@ucw.cz>
10477
10478 PR ipa/65076
10479 * passes.def: Add pass_nothrow.
10480 * ipa-pure-const.c: (pass_data_nothrow): New.
10481 (pass_nothrow): New.
10482 (pass_nothrow::execute): New.
10483 (make_pass_nothrow): New.
10484 * tree-pass.h (make_pass_nothrow): Declare.
10485
a21065ca
JH
104862015-03-26 Jan Hubicka <hubicka@ucw.cz>
10487
10488 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
10489 edge to change by speculation resolution or redirection.
10490 (edge_set_predicate): Likewise.
10491 (inline_summary_t::duplicate): Likewise.
10492 (remap_edge_summaries): Likewise.
10493
8e926cb1
JH
104942015-03-26 Jan Hubicka <hubicka@ucw.cz>
10495
10496 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
10497 New macros.
10498 (can_inline_edge_p): Relax option matching for always inline functions.
10499
bf3b2de7
UB
105002015-03-26 Uros Bizjak <ubizjak@gmail.com>
10501
10502 PR target/65561
10503 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
10504 Check operand 4 and operand 0 for equality.
10505 (avx512f_vextract<shuffletype>32x4_1_maskm):
10506 Check operand 6 and operand 0 for equality.
10507 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
10508 for equality.
10509 (vec_extract_hi_<mode>_maskm): Ditto.
10510
1f4eb0e9
JH
105112015-03-26 Jan Hubicka <hubicka@ucw.cz>
10512
10513 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
10514 dead calls back to live.
10515 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
10516 cross check to ...
10517 (cgraph_node::verify_node): ... here; verify only callee edges,
10518 not caller.
f809d213 10519 * cif-code.def (CILK_SPAWN): New code.
1f4eb0e9 10520
5058c037
JH
105212015-03-26 Jan Hubicka <hubicka@ucw.cz>
10522
10523 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
10524 (edge_set_predicate): Use it to mark unreachable edges.
10525 (inline_summary_t::duplicate): Remove unnecesary code.
10526 (remap_edge_summaries): Likewise.
10527 (dump_inline_summary): Report contains_cilk_spawn.
10528 (compute_inline_parameters): Compute contains_cilk_spawn.
10529 (inline_read_section, inline_write_summary): Stream
10530 contains_cilk_spawn.
bf3b2de7 10531 * ipa-inline.c (can_inline_edge_p): Do not touch
5058c037
JH
10532 DECL_STRUCT_FUNCTION that may not be available;
10533 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
10534 remove check for callee_fun->can_throw_non_call_exceptions and
10535 replace it by optimization attribute check; check for flag_exceptions.
10536 * ipa-inline-transform.c (inline_call): Maintain
10537 DECL_FUNCTION_PERSONALITY
10538 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
10539
552b2afe
JJ
105402015-03-26 Jakub Jelinek <jakub@redhat.com>
10541
10542 PR tree-optimization/65551
10543 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
10544 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
10545
fd0c2f00
RB
105462015-03-26 Richard Biener <rguenther@suse.de>
10547
10548 PR middle-end/65555
10549 * tree-cfg.c (verify_gimple_call): Do not require a call to
10550 have no LHS if it wasn't recognized as control altering yet.
10551
d00dce27
JJ
105522015-03-26 Jakub Jelinek <jakub@redhat.com>
10553
672ff0b6 10554 PR tree-optimization/64715
bf3b2de7 10555 * passes.def: Add another instance of pass_object_sizes before ccp1.
672ff0b6
JJ
10556 * tree-object-size.c (pass_object_sizes::execute): In
10557 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
10558 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
10559 __bos result and the computed constant. Remove redundant
10560 checks, obsoleted by gimple_call_builtin_p test.
10561
d00dce27
JJ
10562 * var-tracking.c (variable_tracking_main_1): Don't track
10563 variables for targetm.no_register_allocation targets.
10564
8ed7e5f1
OE
105652015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
10566
10567 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
10568 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
10569
ee8c0889
MM
105702015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
10571
10572 PR target/65569
10573 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
10574 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
10575 0.0 is correctly setup.
10576 (extenddftf2_internal): Likewise.
10577
71e3f77e
SP
105782015-03-25 Sebastian Pop <s.pop@samsung.com>
10579
10580 PR tree-optimization/65177
10581 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
10582 (bb_in_bbs): New.
10583 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
10584 edges not adjacent on the path to the original code.
10585
871fe673
UB
105862015-03-25 Uros Bizjak <ubizjak@gmail.com>
10587
10588 PR bootstrap/65537
10589 * doc/install.texi (Building a native compiler): Document new
10590 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
10591 configuration assumes that the host supports the linker plugin.
10592
b2953ba0
IE
105932015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
10594
10595 PR target/65508
10596 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
10597 chain for generated call.
10598
2bb9e67f
RB
105992015-03-25 Richard Biener <rguenther@suse.de>
10600
10601 * passes.c (pass_manager::execute_early_local_passes): Guard
10602 execution of pass_chkp_instrumentation_passes with
10603 flag_check_pointer_bounds.
10604 (pass_chkp_instrumentation_passes::gate): Likewise.
10605
fdbdc4b5
ML
106062015-03-25 Martin Liska <mliska@suse.cz>
10607
10608 PR tree-optimization/65538
10609 * symbol-summary.h (function_summary::~function_summary):
10610 Relese memory for allocated summaries.
10611 (function_summary::release): New function.
10612
bbf043c2
JJ
106132015-03-25 Jakub Jelinek <jakub@redhat.com>
10614
10615 PR lto/65515
10616 * lto-streamer-out.c (DFS::worklist): New struct.
10617 (DFS::worklist_vec): New data member.
10618 (DFS::next_dfs_num): Remove.
10619 (DFS::DFS): Rewritten using worklist instead of recursion,
10620 using most of code from DFS::DFS_write_tree.
10621 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
10622 pass it to DFS_write_tree calls.
10623 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
10624 quick initial checks push it into worklist_vec and return.
10625
c09a3914
RB
106262015-03-25 Richard Biener <rguenther@suse.de>
10627
10628 PR middle-end/65519
10629 * genmatch.c (expr::gen_transform): Re-write to avoid
10630 using gimple_build.
10631
d45c2a1b
BC
106322015-03-25 Bin Cheng <bin.cheng@arm.com>
10633
10634 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
10635
2301ca74
BC
106362015-03-25 Bin Cheng <bin.cheng@arm.com>
10637
10638 * config/arm/arm.opt (print_tune_info): New option.
10639 * config/arm/arm.c (arm_print_tune_info): New function.
10640 (arm_file_start): Call arm_print_tune_info.
10641 * config/arm/arm-protos.h (struct tune_params): Add comment.
10642 * doc/invoke.texi (@item -mprint-tune-info): New item.
10643 (-mtune): mention it in ARM Option Summary.
10644
fae00b3e
DD
106452015-03-25 DJ Delorie <dj@redhat.com>
10646
10647 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
10648 correct clause.
10649
69f6b1f4
JH
106502015-03-24 Jan Hubicka <hubicka@ucw.cz>
10651 Martin Liska <mliska@suse.cz>
10652
10653 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
10654 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
10655 (sem_item::add_type): New function.
10656 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
10657 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
10658 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
10659 (sem_function::equals_wpa): Fix typo.
10660 * ipa-icf.h (sem_item::add_type): New function.
10661 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
10662 order.
10663
e72baed7
JJ
106642015-03-24 Jakub Jelinek <jakub@redhat.com>
10665
10666 PR tree-optimization/65533
10667 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
10668 with swapped operands, call vect_free_slp_tree on
10669 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
10670 vector.
10671
bdb37448
RB
106722015-03-24 Richard Biener <rguenther@suse.de>
10673
10674 PR middle-end/65517
10675 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
10676 for fixup if necessary.
10677
0c0f9f31
SL
106782015-03-23 Sandra Loosemore <sandra@codesourcery.com>
10679
10680 * doc/extend.texi (Function Attributes): Add @cindex entries
10681 for all attributes and regularize their format. Delete text
10682 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
10683 information about "eightbit_data", "tiny_data", and "model"
10684 variable attributes to the Variable Attributes section. Fix
10685 some obvious typos and copy-editing issues.
10686 (Variable Attributes, Type Attributes): Likewise add/fix
10687 @cindex entries for all attributes.
10688
fc6a2c5d
JJ
106892015-03-23 Jakub Jelinek <jakub@redhat.com>
10690
10691 PR target/65523
10692 * tree-chkp.c (chkp_build_returned_bound): Ignore
10693 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
10694
21f65dc8
OE
106952015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
10696
10697 PR target/65505
10698 * config/sh/predicates.md (simple_mem_operand,
10699 displacement_mem_operand): Add test for reg.
10700 (short_displacement_mem_operand): Test for displacement_mem_operand
10701 before invoking sh_disp_addr_displacement.
10702 * config/sh/constraints.md (Sdd, Sra): Simplify.
10703 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
10704 Remove redundant displacement_mem_operand tests.
10705
ed137300
GJL
107062015-03-23 Georg-Johann Lay <avr@gjlay.de>
10707
10708 PR target/65296
10709 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
10710 the same -mmcu=MCU more than once.
10711
404b86ed
JJ
107122015-03-23 Jakub Jelinek <jakub@redhat.com>
10713
46848948
JJ
10714 PR bootstrap/65522
10715 * ipa-devirt.c: Remove duplicate demangle.h include.
10716
404b86ed
JJ
10717 PR target/65504
10718 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
10719 on the pseudo.
10720 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
10721 REG_POINTER on *destptr after adjusting it for prologue size.
f45be077
JJ
10722
10723 PR ipa/65521
10724 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
10725 ultimate_alias_target ()->order ints instead of
10726 ultimate_alias_target () pointers.
10727
d5f035ea
RB
107282015-03-23 Richard Biener <rguenther@suse.de>
10729
10730 PR tree-optimization/65518
10731 * tree-vect-stmts.c (vectorizable_load): Reject single-element
10732 interleaving cases we generate absymal code for.
10733
89d390e5
RB
107342015-03-23 Richard Biener <rguenther@suse.de>
10735
10736 PR tree-optimization/65494
10737 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
10738 matches here.
10739 (vect_analyze_slp_instance): But do that here, always and once.
10740
c61928d0
KT
107412015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10742
10743 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
10744 adding T or multiplying by T+1 and subracting T.
10745
af3eb110
JL
107462015-03-22 Jeff Law <law@redhat.com>
10747
10748 PR rtl-optimization/64317
10749 * Makefile.in (OBJS): Add gcse-common.c
10750 * gcse.c: Include gcse-common.h
10751 (struct modify_pair_s): Move structure definition to gcse-common.h
10752 (compute_transp): Move function to gcse-common.c.
10753 (canon_list_insert): Similarly.
10754 (record_last_mem_set_info): Break out some code and put it into
10755 gcse-common.c. Call into the new common code.
10756 (compute_local_properties): Pass additional arguments to compute_transp.
10757 * postreload-gcse.c: Include gcse-common.h and df.h
10758 (modify_mem_list_set, blocks_with_calls): New variables.
10759 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
10760 (get_bb_avail_insn): Pass in the expression index too.
10761 (alloc_mem): Allocate memory for the new bitmaps and lists.
10762 (free_mem): Free memory for the new bitmaps and lists.
10763 (insert_expr_in_table): Record a bitmap index for each entry we
10764 add to the table.
10765 (record_last_mem_set_info): Call into common code in gcse-common.c.
10766 (get_bb_avail_insn): If no available insn was found in the requested
10767 BB. If BB has a single predecessor, see if the expression is
10768 transparent in BB and available in that single predecessor.
10769 (compute_expr_transp): New wrapper for compute_transp.
10770 (eliminate_partially_redundant_load): Pass expression's bitmap_index
10771 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
10772 (gcse_after_reload_main): If there are elements in the hash table,
10773 then compute transparency for all the elements in the hash table.
10774 * gcse-common.h: New file.
10775 * gcse-common.c: New file.
10776
4460b2dc
SL
107772015-03-22 Sandra Loosemore <sandra@codesourcery.com>
10778
10779 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
10780 as an adjective.
10781 (System Headers): Likewise.
10782 (Ifdef): Likewise.
10783 (Traditional macros): Likewise.
10784 (Invocation): Likewise.
10785 (Option Index): Likewise.
10786 * doc/cppopts.texi (-M): Likewise.
10787 (-finput-charset): Likewise.
10788 (--help): Likewise.
10789 * doc.invoke.texi (AVR Options): Likewise.
10790 (V850 Options): Likewise.
e5215d07 10791
b1905808
JH
107922015-03-22 Jan Hubicka <hubicka@ucw.cz>
10793
10794 PR ipa/65475
10795 * ipa-devirt.c: Include demangle.h
10796 (odr_type_d): Add field rtti_broken.
10797 (odr_subtypes_equivalent_p): Do not require name to match.
10798 (compare_virtual_tables): Fix typo; if type already has ODR violation,
10799 bypass the tests; be ready for function referneces in vtables that are
10800 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
10801 (warn_odr): Give up for nameless types.
10802 (warn_types_mismatch): Report mismatch in mangled names;
10803 report mismatch in anonymous namespaces; look into component types to
10804 give useful error; report when mismatch is dragged in from other ODR
10805 type.
10806 (odr_types_equivalent_p): Match types for being polymorphic; avoid
10807 duplicated diagnostics.
10808 (add_type_duplicate): Reorder checks so more informative ones come
10809 first; fix typo; do not output "the extra base is defined here" when
10810 we did not warn.
10811 (BINFO_N_BASE_BINFOS): Relax sanity check.
ff2362eb 10812
b1905808 108132015-03-22 Martin Liska <mliska@suse.cz>
ff2362eb
ML
10814 Jakub Jelinek <jakub@redhat.com>
10815
10816 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
10817 masks that can potentially include a builtin.
10818 (ix86_add_new_builtins): Introduce fast filter for isa values
10819 that cannot trigger builtin inclusion.
10820
3ab93359
ML
108212015-03-22 Martin Liska <mliska@suse.cz>
10822
10823 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
10824 (sem_item::update_hash_by_local_refs): Likewise.
10825 (sem_variable::get_hash): Empty line is fixed.
10826 (sem_item_optimizer::execute): Include adding of hash references.
10827 (sem_item_optimizer::update_hash_by_addr_refs): New function.
10828 (sem_item_optimizer::build_hash_based_classes): Use local hash.
10829 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
10830 (sem_item::update_hash_by_local_refs): Likewise.
10831
dcbde1f8
JH
108322015-03-20 Jan Hubicka <hubicka@ucw.cz>
10833
10834 PR ipa/65502
10835 * ipa-comdats.c (enqueue_references): Walk through thunks.
10836 (ipa_comdats): Likewise.
10837 (set_comdat_group_1): New function.
10838
a6bfa7c7
JH
108392015-03-20 Jan Hubicka <hubicka@ucw.cz>
10840
10841 PR ipa/65475
10842 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
10843 non-polymorphic
10844
ac48a1ba
DK
108452015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
10846 Gerald Pfeifer <gerald@pfeifer.com>
10847
10848 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
10849
a866d527
CLT
108502015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
10851 Sandra Loosemore <sandra@codesourcery.com>
10852
10853 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
10854 function parameter declaration.
10855 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
10856 Update arguments to nios2_adjust_call_address().
10857 (sibcall_internal): Rename from *sibcall.
10858 (sibcall_value_internal): Rename from *sibcall_value.
10859 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
10860 (nios2_large_got_address): Add target temp reg parameter.
10861 (nios2_got_address): Adjust call to nios2_large_got_address, add
10862 force_reg around it.
10863 (nios2_load_pic_address): Add target temp reg parameter, replace call
10864 to nios2_got_address with corresponding code.
10865 (nios2_legitimize_constant_address): Update call to
10866 nios2_load_pic_address.
10867 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
10868 to use temp reg for PIC loading purposes.
10869 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
10870 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
10871 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
10872
6d5c05f0
SL
108732015-03-21 Sandra Loosemore <sandra@codesourcery.com>
10874
10875 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
10876 usage of "the @option{...}".
10877 (-Wopenmp-simd): Likewise.
10878 (-fsanitize-recover): Likewise.
10879 (-fsanitize-undefined-trap-on-error): Likewise.
10880 (-flto): Likewise.
10881 (tracer-dynamic-coverage-feedback): Likewise.
10882 (reorder-block-duplicate-feedback): Likewise.
10883 (loop-unroll-jam-size): Likewise.
10884 (-B): Likewise.
10885 (-I-): Likewise.
10886 (-mabs=legacy): Likewise.
10887 (-mupper-regs-df): Likewise.
10888 (-mupper-regs-sf): Likewise.
10889 (-mpointers-to-nested-functions): Likewise.
10890
ce805a8d
SL
108912015-03-21 Sandra Loosemore <sandra@codesourcery.com>
10892
10893 * doc/extend.texi (Cilk Plus Builtins): Add markup.
10894
7651042e
SL
108952015-03-21 Sandra Loosemore <sandra@codesourcery.com>
10896
10897 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
10898 additional index entries and cross-references.
10899 (-fchkp-check-incomplete-type): Likewise.
10900 (-fchkp-first-field-has-own-bounds): Likewise.
10901 (-fchkp-narrow-to-innermost-array): Likewise.
10902 (-fchkp-use-fast-string-functions): Likewise.
10903 (-fchkp-use-nochk-string-functions): Likewise.
10904 (-fchkp-use-static-const-bounds): Likewise.
10905 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
10906 (-fchkp-instrument-marked-only): Likewise.
10907 (-fchkp-use-wrappers): Likewise.
10908 (-static-libmpx): Likewise.
10909 (-static-libmpxwrappers): Likewise.
10910 * doc/extend.texi (bnd_legacy): Likewise.
10911 (bnd_instrument): Likewise.
10912 (bnd_variable_size): Likewise.
10913 (Pointer Bounds Checker builtins): Likewise.
10914
a79b7ec5
TV
109152015-03-21 Tom de Vries <tom@codesourcery.com>
10916
10917 PR tree-optimization/65458
10918 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
10919 * cgraph.h (cgraph_node): Add parallelized_function field.
10920 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
10921 (input_overwrite_node): Read parallelized_function field.
10922 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
10923 parallelized_function on cgraph_node for child_fn.
10924 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
10925 Remove include of gt-tree-parloops.h.
10926 (parallelized_functions): Remove static variable.
10927 (parallelized_function_p): Rewrite using parallelized_function field of
10928 cgraph_node.
10929 (create_loop_fn): Remove adding to parallelized_functions.
10930 * Makefile.in (GTFILES): Remove tree-parloops.c
10931
05f23918
VM
109322015-03-20 Vladimir Makarov <vmakarov@redhat.com>
10933
10934 PR rtl-optimization/64366
10935 * lra.c (lra_update_insn_regno_info): Consider regs in
10936 CALL_INSN_FUNCTION_USAGE memory.
10937
3da3ff4e
RB
109382015-03-20 Richard Biener <rguenther@suse.de>
10939
10940 PR middle-end/64715
10941 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
10942 for type comparison and gcc_checking_assert.
10943 (chrec_fold_plus_poly_poly): Likewise.
10944 (chrec_fold_multiply_poly_poly): Likewise.
10945 (chrec_convert_1): Likewise.
10946 * gimplify.c (gimplify_expr): Remove premature folding of
10947 &X + CST to &MEM[&X, CST].
10948
7ce7e4d4
JH
109492015-03-20 Jan Hubicka <hubicka@ucw.cz>
10950
10951 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
10952 already is final.
10953 (ipa_inline): Recompute inline_failed codes.
10954 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
e5215d07 10955 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
7ce7e4d4
JH
10956 CIF_FINAL_ERROR.
10957
21e357f1
UB
109582015-03-20 Uros Bizjak <ubizjak@gmail.com>
10959
10960 PR rtl-optimization/60851
10961 * recog.c (constrain_operands): Accept a pseudo register before reload
10962 for LRA enabled targets.
10963
8d9fb9bb
MM
109642015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
10965
10966 PR target/65240
10967 * config/rs6000/predicates.md (easy_fp_constant): Remove special
10968 -ffast-math handling that kept non-0 constants live in the RTL
10969 until reload. Remove logic testing the number of instructions it
10970 took to create a constant in a GPR that was never used, due to a
10971 test for soft-float earlier.
10972 (memory_fp_constant): Delete, no longer used.
10973
10974 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
10975 alternatives for loading non-0 constants into GPRs for hard
10976 floating point that is no longer needed due to changes in
10977 easy_fp_constant. Add support for loading 0.0 into GPRs.
10978 (mov<mode>_hardfloat32): Likewise.
10979 (mov<mode>_hardfloat64): Likewise.
10980 (mov<mode>_64bit_dm): Likewise.
10981 (movtd_64bit_nodm): Likewise.
10982 (pre-reload move FP constant define_split): Delete define_split,
10983 since it is no longer used.
10984 (extenddftf2_internal): Remove GHF constraints that are not valid
10985 for extenddftf2.
10986
5a59d54e
VM
109872015-03-19 Vladimir Makarov <vmakarov@redhat.com>
10988
10989 PR rtl-optimization/63491
10990 * lra-constraints.c (check_and_process_move): Use src instead of
10991 sreg. Remove some dead code.
10992
257291fc
JH
109932015-03-19 Jan Hubicka <hubicka@ucw.cz>
10994
10995 PR ipa/65380
10996 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
10997 (sem_variable::merge): Likewise.
10998
e68287df
ML
109992015-03-19 Martin Liska <mliska@suse.cz>
11000
11001 PR ipa/65465
11002 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
11003 all fields of cgraph_thunk_info.
11004
5cdd35db
IE
110052015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
11006
11007 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
11008 clone instrumented thunks.
11009
8cf0fb5c
RB
110102015-03-19 Richard Biener <rguenther@suse.de>
11011
11012 Revert
11013 2015-03-10 Richard Biener <rguenther@suse.de>
11014
11015 PR middle-end/63155
11016 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
11017 * tree-ssa-coalesce.c: Include timevar.h.
11018 (attempt_coalesce): Handle graph being NULL.
11019 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
11020 Split out abnormal coalescing to ...
11021 (perform_abnormal_coalescing): ... this function.
11022 (coalesce_ssa_name): Perform abnormal coalescing without computing
11023 live/conflict.
11024 (verify_ssa_coalescing_worker): New function.
11025 (verify_ssa_coalescing): Likewise.
11026
a3f94967
JJ
110272015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
11028 Jakub Jelinek <jakub@redhat.com>
11029
11030 PR sanitizer/65400
11031 * tsan.c (instrument_gimple): Clear tail call flag on
11032 calls.
11033
bfd71482
JJ
110342015-03-19 Jakub Jelinek <jakub@redhat.com>
11035
11036 PR sanitizer/65400
11037 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
11038 call in the return bb.
11039 (find_split_points): Add RETURN_BB argument, don't call
11040 find_return_bb.
11041 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
11042 if true append TSAN_FUNC_EXIT internal call after the call to
11043 the split off function.
11044 (execute_split_functions): Call find_return_bb here.
11045 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
11046 Adjust find_split_points and split_function calls.
11047
995332ca 110482015-03-18 DJ Delorie <dj@redhat.com>
5a59d54e 11049
995332ca
DD
11050 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
11051 (iorqi3_virt): Likewise.
11052
09489eb8
TV
110532015-03-18 Tom de Vries <tom@codesourcery.com>
11054
11055 * tree-parloops.c (parallelize_loops): Make static.
11056 * tree-parloops.h (parallelize_loops): Remove extern declaration.
11057
b4f3051a
AS
110582015-03-18 Andrew Stubbs <ams@codesourcery.com>
11059
11060 PR middle-end/64491
11061 Revert:
11062 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
11063
11064 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
11065 condition would be removed due to undefined behaviour.
11066
1aec2ecc
ML
110672015-03-18 Martin Liska <mliska@suse.cz>
11068
11069 PR ipa/65432
11070 * cgraph.c (cgraph_node::get_create): Remove unnecessary
11071 xstrdup_for_dump wrapper.
11072 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
11073 sem_item::name.
11074 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
11075 with xstrdup_for_dump.
11076 (sem_variable::equals): Likewise.
11077 (sem_item_optimizer::read_section): Use symtab_node::name instead of
11078 sem_item::name.
11079 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
11080 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
11081 symtab_node::asm_name with xstrdup_for_dump.
11082 (congruence_class::dump): Use symtab_node::name instead of
11083 sem_item::name.
11084 * ipa-icf.h (symtab_node::name): Remove.
11085 (symtab_node::asm_name): Likewise.
11086
43939937
JJ
110872015-03-18 Jakub Jelinek <jakub@redhat.com>
11088
faf4220c
JJ
11089 PR tree-optimization/65450
11090 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
11091 function.
11092 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
11093 it instead of duplicate_ssa_name_ptr_info.
11094
43939937
JJ
11095 PR target/65222
11096 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
11097
6f4f1a50
RB
110982015-03-18 Richard Biener <rguenther@suse.de>
11099
11100 * tree-data-ref.h (struct access_matrix): Remove.
11101 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
11102 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
11103 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
11104 (am_vector_index_for_loop): Likewise.
11105 (struct data_reference): Remove access_matrix member.
11106 (DR_ACCESS_MATRIX): Remove.
11107 (lambda_vector_new): Add comment.
11108 (lambda_matrix_new): Use XOBNEWVEC.
11109
9538c95b
RB
111102015-03-18 Richard Biener <rguenther@suse.de>
11111
11112 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
11113 (pass_ch::execute): Cleanup the CFG only if we did sth.
11114 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
11115
076701b6
KT
111162015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11117
11118 * expmed.c (synth_mult): Use std::swap instead of manually
11119 swapping algorithms.
11120
fbf524de
JJ
111212015-03-18 Jakub Jelinek <jakub@redhat.com>
11122
11123 PR target/65078
11124 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
11125
076d86f3
GJL
111262015-03-16 Georg-Johann Lay <avr@gjlay.de>
11127
11128 PR target/65296
11129 * config/avr/avr.opt (-nodevicelib): New option.
11130 * doc/invoke.texi (AVR Options): Document it.
11131 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
11132 libgcc.a, libc.a, libm.a.
11133 * config/avr/specs.h: Same.
11134 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
11135 which don't (directly) depend on the device. Print more help.
11136 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
11137 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
11138 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
11139 case of an error.
11140 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
11141 for specs file name.
11142 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
11143 * config/avr/avr-mcus.def: Adjust initializers and comments.
11144
7a161d5b
JH
111452015-03-16 Jan Hubicka <hubicka@ucw.cz>
11146
11147 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
11148 DECL_ONE_ONLY to check if decl is one only.
11149 * ipa-split.c (consider_split): Limit splitt of one only functions.
11150
f8c29d98
JJ
111512015-03-16 Jakub Jelinek <jakub@redhat.com>
11152
11153 PR tree-optimization/65427
11154 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
11155 functions.
11156 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
11157
de6d3593
MP
111582015-03-16 Marek Polacek <polacek@redhat.com>
11159
11160 * cgraph.h (add_new_static_var): Remove declaration.
11161 * varpool.c (add_new_static_var): Remove function.
11162
3713412b
JJ
111632015-03-16 Jakub Jelinek <jakub@redhat.com>
11164
9410d9b2
JJ
11165 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
11166 instead of vec<tree> * with vec_alloc and release for args.
11167 Adjust all users.
11168
3713412b
JJ
11169 PR middle-end/65431
11170 * omp-low.c (delete_omp_context): Only splay_tree_delete
11171 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
11172 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
11173
435be747
MO
111742015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
11175
11176 PR sanitizer/64820
11177 * cfgexpand.c (align_base): New function.
11178 (alloc_stack_frame_space): Call it.
11179 (expand_stack_vars): Align prev_frame to be sure
11180 data->asan_vec elements aligned properly.
11181
9e25209f
EB
111822015-03-16 Eric Botcazou <ebotcazou@adacore.com>
11183
11184 PR middle-end/65409
11185 * expr.c (store_field): Do not do a direct block copy if the source is
11186 a PARALLEL with BLKmode.
11187
261cb0d3
TV
111882015-03-16 Tom de Vries <tom@codesourcery.com>
11189
11190 PR middle-end/65414
11191 Revert:
11192 2015-03-12 Tom de Vries <tom@codesourcery.com>
11193
11194 PR rtl-optimization/64895
11195 * lra-lives.c (check_pseudos_live_through_calls): Use
11196 actual_call_used_reg_set instead of call_used_reg_set, if available.
11197
e1be83ca
AM
111982015-03-16 Alan Modra <amodra@gmail.com>
11199
11200 PR target/63150
11201 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
11202 Modify Z->r bswapdi splitter to use dest in place of scratch.
11203 In r->Z and Z->r bswapdi splitter rename word_high, word_low
11204 to word1, word2 and rearrange logic to suit.
11205 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
11206 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
11207 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
11208 Add one '?' on r->r. Modify Z->r splitter to avoid need for
11209 early clobber.
11210
a4b55f2a
JJ
112112015-03-14 Jakub Jelinek <jakub@redhat.com>
11212
d88981fc
JJ
11213 PR tree-optimization/65369
11214 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
11215 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
11216 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
11217
c2f41ffd
JJ
11218 PR tree-optimization/65418
11219 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
11220 are casts in the first PLUS_EXPR operand, ensure tbias and
11221 *totallowp are in the inner type.
11222
a4b55f2a
JJ
11223 PR rtl-optimization/65401
11224 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
11225 argument. If true, adjust_address_nv of x with big-endian
11226 correction for the mode widening to GET_MODE (y).
11227 (make_field_assignment): Don't do MEM mode widening here.
11228 Use MEM_P instead of GET_CODE == MEM.
11229
db397e2e
IV
112302015-03-13 Ilya Verbin <ilya.verbin@intel.com>
11231
11232 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
11233 the external decls.
11234
34f1d426
KT
112352015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11236
11237 PR target/64600
11238 * config/arm/arm.c (arm_gen_constant, AND case): Use
11239 ARM_SIGN_EXTEND when constructing AND mask.
11240
7088e2b0
TP
112412015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
11242
11243 * graph.c (print_graph_cfg): Make function names visible and append
11244 parenthesis to it. Also make groups of basic blocks belonging to the
11245 same function visible.
11246
2aa26a55
RB
112472015-03-12 Richard Biener <rguenther@suse.de>
11248
11249 PR middle-end/44563
11250 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
11251 to avoid quadratic behavior with inline expansion splitting blocks.
11252 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
11253 with the successor if the predecessor will be merged with it.
11254 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
11255 entry block with its successor.
11256
2a5671ee
RB
112572015-03-13 Richard Biener <rguenther@suse.de>
11258
11259 PR middle-end/44563
11260 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
11261 (cleanup_tree_cfg_1): Do not call it.
11262 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
11263 (fixup_noreturn_call): Mark the stmt as control altering.
11264 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
11265 here.
11266 (pass_data_fixup_cfg): Produce a dump file.
11267 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
11268 (need_noreturn_fixup): New global.
11269 (pass_dominator::execute): Fixup queued noreturn calls.
11270 (optimize_stmt): Queue calls that became noreturn for fixup.
11271 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
11272 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
11273 (el_to_fixup): New global.
11274 (eliminate_dom_walker::before_dom_childre): Queue calls that
11275 became noreturn for fixup.
11276 (eliminate): Fixup queued noreturn calls.
11277 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
11278 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
11279 (substitute_and_fold_dom_walker::before_dom_children): Queue
11280 alls that became noreturn for fixup.
11281 (substitute_and_fold): Fixup queued noreturn calls.
11282
060cfff4
JH
112832015-03-12 Jan Hubicka <hubicka@ucw.cz>
11284
11285 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
11286 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
11287 are building; for methods check ODR type of class they belong to if
11288 they may lead to a polymorphic call.
11289 (sem_function::compare_polymorphic_p): Be bit smarter about testing
11290 when function may lead to a polymorphic call.
11291 (sem_function::compare_type_list): Remove.
11292 (sem_variable::equals): Update use of compatible_types_p.
11293 (sem_variable::parse_tree_refs): Remove.
11294 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
11295 cdtor.
11296 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
11297 matching here.
11298 (func_checker::compatible_polymorphic_types_p): Break out from ...
11299 (unc_checker::compatible_types_p): ... here.
11300 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
11301 Declare.
11302 (unc_checker::compatible_types_p): Update.
11303 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
11304 Remove.
11305
644f6fd8
KT
113062015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11307
ad1cabfc 11308 PR rtl-optimization/65235
644f6fd8
KT
11309 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
11310 When first element of vec_concat is const_int, calculate its size
11311 using second element.
11312
6899585a
RB
113132015-03-12 Richard Biener <rguenther@suse.de>
11314
11315 PR middle-end/65270
11316 * fold-const.c (operand_equal_p): Fix ordering of resetting
11317 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
11318
f8af0e30
DV
113192015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
11320
11321 * config/s390/s390.c (s390_reorg): Move code to output nops after label
11322 to s390_reorg ().
11323 (s390_asm_output_function_label): Likewise.
11324 * config/s390/s390.c (s390_asm_output_function_label):
11325 Fix function label alignment with -mhtopatch.
11326 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
11327 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
11328 ("nop_2_byte"): New define_insn.
11329 ("nop_4_byte"): Likewise.
11330 ("nop_6_byte"): Likewise.
11331 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
11332 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
11333
58b387e6
IE
113342015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
11335
11336 PR target/65103
11337 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
11338 register.
11339
1b89b8f0
IE
113402015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
11341
11342 PR target/65044
11343 * toplev.c (process_options): Restrict Pointer Bounds Checker
11344 usage with Address Sanitizer.
11345
b13c907a
RB
113462015-03-12 Richard Biener <rguenther@suse.de>
11347
11348 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
11349 to split on.
11350 * omp-low.c (expand_omp_taskreg): Split block before removing
11351 the stmt.
11352 (expand_omp_target): Likewise.
11353 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
11354 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
11355 stmt to split_block.
11356
13d29cb0
TV
113572015-03-12 Tom de Vries <tom@codesourcery.com>
11358
da312b6e 11359 PR rtl-optimization/64895
13d29cb0
TV
11360 * lra-lives.c (check_pseudos_live_through_calls): Use
11361 actual_call_used_reg_set instead of call_used_reg_set, if available.
11362
1c4db829
JH
113632015-03-10 Jan Hubicka <hubicka@ucw.cz>
11364
11365 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
11366 (cgraph_node::remove): Likewise.
11367 (cgraph_node::get_untransformed_body): Likewise.
11368 * varpool.c (varpool_node::remove): Likewise.
11369 (varpool_node::get_constructor): Add sanity check.
11370
8648c55f
SL
113712015-03-11 Sandra Loosemore <sandra@codesourcery.com>
11372
10ac6596 11373 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
8648c55f
SL
11374 old GCC versions.
11375 (-fabi-compat-version): Likewise.
11376 (-ffriend-injection): Likewise.
11377 (-Wdeclaration-after-statement): Likewise.
11378 (-fomit-frame-pointer): Likewise.
11379 (-ftree-coalesce-inlined-vars): Likewise.
11380 (-fvisibility=): Likewise.
11381 * doc/extend.texi (Typeof): Likewise.
11382 (Zero Length): Likewise.
11383 (Escaped Newlines): Likewise.
11384 (Compound Literals): Likewise.
11385 (Function Attributes): Likewise.
11386 (Label Attributes): Likewise.
11387 (Type Attributes): Likewise.
11388 (Function Names): Likewise.
11389 (Other Builtins): Likewise.
11390 (Function Specific Option Pragmas): Likewise.
11391 (C++ Interface): Likewise.
11392
d94fae04
TS
113932015-03-11 Thomas Schwinge <thomas@codesourcery.com>
11394
11395 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
11396
707550e4
MP
113972015-03-11 Marek Polacek <polacek@redhat.com>
11398
11399 PR tree-optimization/65388
11400 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
11401
0c9dc4ae
GJL
114022015-03-10 Georg-Johann Lay <avr@gjlay.de>
11403
11404 PR target/65296
11405 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
11406 * configure: Regenerate.
11407 * config.in: Regenerate.
11408 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
11409 [-mn-flash]: Document it.
11410 [__AVR_ARCH__]: Document avrtiny.
11411
11412 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
11413 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
11414 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
11415
91d4a5ea
AK
114162015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11417
11418 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
11419
befe1997
MM
114202015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11421
11422 PR target/65242
11423 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
11424 allow reloads of PLUS in floating point/VSX registers.
11425
4c3e13df
JP
114262015-03-11 Junmo Park <junmoz.park@samsung.com>
11427
10ac6596
UB
11428 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
11429 crypto_sha256_fast.
4c3e13df
JP
11430 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
11431
474b3a7c
RB
114322015-03-11 Richard Biener <rguenther@suse.de>
11433
11434 PR tree-optimization/65310
11435 * tree-sra.c (build_ref_for_offset): Also preserve larger
11436 alignment.
11437
6b98fab5
MZ
114382015-03-11 Marat Zakirov <m.zakirov@samsung.com>
11439
11440 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
11441
2d977ff9
JJ
114422015-03-10 Jakub Jelinek <jakub@redhat.com>
11443
11444 PR target/65368
11445 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
11446 new define_expand.
11447 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
11448
c4234544
JH
114492015-03-10 Jan Hubicka <hubicka@ucw.cz>
11450
10ac6596 11451 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
c4234544
JH
11452 (sem_function::equals_wpa): ... here.
11453
0757674c
MP
114542015-03-10 Marek Polacek <polacek@redhat.com>
11455 Jakub Jelinek <jakub@redhat.com>
11456
11457 PR sanitizer/65367
11458 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
11459 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
11460 separately.
11461
dac2639d
JJ
114622015-03-10 Jakub Jelinek <jakub@redhat.com>
11463
11464 PR target/65286
11465 * config/rs6000/t-linux: For powerpc64* target set
11466 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
11467
c6927859
RB
114682015-03-10 Richard Biener <rguenther@suse.de>
11469
11470 PR middle-end/44563
11471 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
11472 for redirect_all_calls.
11473
2e1a9cdb
MP
114742015-03-10 Marek Polacek <polacek@redhat.com>
11475
11476 * gdbinit.in (pcfun): Define and document.
11477
30094344
IV
114782015-03-10 Ilya Verbin <ilya.verbin@intel.com>
11479
11480 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
11481 of libgomp-plugin.h.
10ac6596
UB
11482 (find_target_compiler): Support a case when the path to gcc is
11483 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
30094344
IV
11484 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
11485 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
11486 libgomp-plugin.h.
11487 (main): Use GCC_INSTALL_NAME as target_driver_name.
11488 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
11489 define.
11490 (mkoffload.o): Remove obsolete include path and defines.
11491 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
11492
a563c286
RB
114932015-03-10 Richard Biener <rguenther@suse.de>
11494
11495 PR middle-end/63155
11496 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
11497 * tree-ssa-coalesce.c: Include timevar.h.
11498 (attempt_coalesce): Handle graph being NULL.
11499 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
11500 Split out abnormal coalescing to ...
11501 (perform_abnormal_coalescing): ... this function.
11502 (coalesce_ssa_name): Perform abnormal coalescing without computing
11503 live/conflict.
11504 (verify_ssa_coalescing_worker): New function.
11505 (verify_ssa_coalescing): Likewise.
11506
4a2caf6c
GJL
115072015-03-10 Georg-Johann Lay <avr@gjlay.de>
11508
11509 PR target/65296
11510 * config.gcc (extra_options) [avr]: Remove.
11511 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
11512 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
11513 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
11514
11515 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
11516 (-mmcu=): Add Var and MissingArgError properties.
11517 (-march=): Remove.
11518 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
11519 * config/avr/t-multilib: Regenerate.
11520 * config/avr/specs.h: New file.
11521 * config/avr/driver-avr.c: New file.
11522 * config/avr/genopt.sh: Remove file.
11523 * config/avr/avr-tables.opt: Remove file.
11524 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
11525 * config/avr/avr-c.c: Same.
11526 * avr-arch.h: Same.
11527 (avr_current_device): Remove proto.
11528 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
11529 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
11530 (EXTRA_SPEC_FUNCTIONS): Define.
11531 (avr_devicespecs_file): New specs function proto.
11532 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
11533 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
77d68d97 11534 (avr_current_device): Remove definition and usage.
4a2caf6c
GJL
11535 (avr_set_core_architecture): New static function.
11536 (avr_option_override): Use it.
11537 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
11538 (mcu_name): New static array.
11539 (comparator, avr_archs_str, avr_mcus_str): New static functions.
11540 (avr_inform_devices, avr_inform_core_architectures): New functions.
11541 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
11542 (avrlibc.h) [WITH_AVRLIBC]: Include.
11543 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
11544 (print_mcu): Rewrite from scratch.
11545 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
11546 Forward to avr-specific specs defined in device-specs file.
11547 * config/avr/t-avr (driver-avr.o): New rule.
11548 (avr-devices.o): Depend on avr-arch.h.
11549 (avr-mcus): No more depend on avr-tables.opt.
11550 (avr-tables.opt): Remove rule.
11551 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
11552
226d62d2
IE
115532015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
11554
11555 * c-family/c.opt (fchkp-use-wrappers): New.
11556 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
11557 (chkp_wrap_function): New.
11558 (chkp_build_instrumented_fndecl): Support wrapped
11559 functions.
11560 * doc/invoke.texi (-fcheck-pointer-bounds): New.
11561 (-fchkp-check-incomplete-type): New.
11562 (-fchkp-first-field-has-own-bounds): New.
11563 (-fchkp-narrow-bounds): New.
11564 (-fchkp-narrow-to-innermost-array): New.
11565 (-fchkp-optimize): New.
11566 (-fchkp-use-fast-string-functions): New.
11567 (-fchkp-use-nochk-string-functions): New.
11568 (-fchkp-use-static-bounds): New.
11569 (-fchkp-use-static-const-bounds): New.
11570 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
11571 (-fchkp-check-read): New.
11572 (-fchkp-check-write): New.
11573 (-fchkp-store-bounds): New.
11574 (-fchkp-instrument-calls): New.
11575 (-fchkp-instrument-marked-only): New.
11576 (-fchkp-use-wrappers): New.
11577 (-static-libmpx): New.
11578 (-static-libmpxwrappers): New.
11579
d2d7e672
IE
115802015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
11581
11582 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
11583 (CHKP_SPEC): Add wrappers library.
11584 * c-family/c.opt (static-libmpxwrappers): New.
11585
5373cd33
IE
115862015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
11587
11588 * config/i386/linux-common.h (LIBMPX_LIBS): New.
11589 (LIBMPX_SPEC): New.
11590 (CHKP_SPEC): New.
11591 * gcc.c (CHKP_SPEC): New.
11592 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
11593 * c-family/c.opt (static-libmpx): New.
11594
40ff1364
RB
115952015-03-10 Richard Biener <rguenther@suse.de>
11596
11597 PR middle-end/44563
11598 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
11599 for compare_type.
11600 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
11601 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
11602 (cgraph_add_edge_to_call_site_hash): Likewise.
11603 (cgraph_node::get_edge): Likewise.
11604 (cgraph_edge::set_call_stmt): Likewise.
11605 (cgraph_edge::remove_caller): Likewise.
11606
c457f751
CJW
116072015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
11608
11609 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
11610 (callee_saved_gpr_regs_size): ... this.
11611 (callee_saved_regs_first_regno): Rename to ...
11612 (callee_saved_first_gpr_regno): ... this.
11613 (callee_saved_regs_last_regno) Rename to ...
11614 (callee_saved_last_gpr_regno): ... this.
11615 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
11616 variables.
11617 (nds32_initial_elimination_offset): Likewise.
11618 (nds32_expand_prologue): Likewise.
11619 (nds32_expand_epilogue): Likewise.
11620 (nds32_expand_prologue_v3push): Likewise.
11621 (nds32_expand_epilogue_v3pop): Likewise.
11622 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
11623 Adjust renamed variables.
11624 (nds32_output_stack_pop): Likewise.
11625
048f1a9c
TP
116262015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
11627
11628 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
11629 code in comment.
11630
26d83bcc
JJ
116312015-03-10 Jakub Jelinek <jakub@redhat.com>
11632
11633 PR rtl-optimization/65321
11634 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
11635 than shift mode.
11636 * var-tracking.c (use_narrower_mode): Likewise.
11637
caf2df93
JH
116382015-03-10 Jan Hubicka <hubicka@ucw.cz>
11639
11640 PR tree-optimization/65355
11641 * varasm.c (notice_global_symbol): Do not produce RTL.
11642 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
11643 anchor.
11644 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
11645 check for section anchors.
11646
864396ff
AM
116472015-03-10 Alan Modra <amodra@gmail.com>
11648
11649 PR target/65286
11650 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
11651 to be single-arch by default. Set cpu_is_64bit for powerpc64
11652 given --with-cpu=native.
11653 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
11654 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
11655 and powerpc64le.
11656 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
11657 rs6000_isa_flags rather than TARGET_64BIT.
11658
711d91e1
YS
116592015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
11660 Kaz Kojima <kkojima@gcc.gnu.org>
11661
11662 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
11663
9112885a
JJ
116642015-03-09 Jakub Jelinek <jakub@redhat.com>
11665
11666 PR lto/65361
11667 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
11668 on a TREE_BINFO, instead use BINFO_TYPE.
11669
e0808638
RB
116702015-03-09 Richard Biener <rguenther@suse.de>
11671
11672 PR middle-end/65270
11673 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
11674 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
11675 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
11676 of that. When comparing dereferences compare alignment.
11677 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
11678
e0d514da
JH
116792015-03-08 Jan Hubicka <hubicka@ucw.cz>
11680
11681 * ipa-inline-analysis.c (check_callers): Check
11682 node->can_remove_if_no_direct_calls_and_refs_p.
11683 (growth_likely_positive): Reorganize to call
11684 can_remove_if_no_direct_calls_p later.
11685 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
10ac6596 11686 will_be_removed_from_program_if_no_direct_calls_p): Add
e0d514da
JH
11687 will_inline parameter.
11688 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
11689 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
11690 Handle inliner case correctly.
11691
68ca4ac9
TP
116922015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
11693
11694 PR tree-optimization/63743
11695 * cfgexpand.c (reorder_operands): Also reorder if only second operand
11696 had its definition forwarded by TER.
11697
609570b4
JH
116982015-03-08 Jan Hubicka <hubicka@ucw.cz>
11699
11700 PR lto/65316
11701 * ipa-utils.h (types_odr_comparable): Add strict argument.
11702 * ipa-devirt.c: Fix whitespace;
11703 (odr_hasher): Remove.
11704 (odr_name_hasher, odr_vtable_hasher): New hashers.
11705 (can_be_name_hashed_p): New predicate.
11706 (hash_type_name): remove.
11707 (hash_odr_name): New.
11708 (odr_name_hasher::hash): new.
11709 (can_be_vtable_hashed_p): New.
11710 (hash_odr_vtable): New.
11711 (odr_vtable_hasher::hash): New.
11712 (types_same_for_odr): Add strict parameter.
11713 (types_odr_comparable): Likewise.
11714 (odr_name_hasher::equal): New.
11715 (odr_vtable_hasher::equal): New.
11716 (odr_name_hasher::remove): New.
11717 (odr_hash_type): Change to hash_table<odr_name_hasher>.
11718 (odr_vtable_hash_type): New.
11719 (odr_vtable_hash): New.
11720 (odr_subtypes_equivalent_p): Do strict comparsion.
11721 (add_type_duplicate): Merge type names; cleanup; avoid type
11722 duplicates.
11723 (register_odr_type): Initialize vtable hash.
11724 (build_type_inheritance_graph): Likewise
11725 (get_odr_type): Reorg to use two hashes.
11726 (dump_possible_polymorphic_call_targets): Move sanity check after debug
11727 output.
11728 (ipa_devirt): Dump type_inheritance_graph.
11729 (types_same_for_odr): Add strict mode.
11730
428f0c67
JH
117312015-03-05 Jan Hubicka <hubicka@ucw.cz>
11732
11733 PR ipa/65334
11734 * cgraph.h (symtab_node): Add definition_alignment,
11735 can_increase_alignment_p and increase_alignment.
11736 * symtab.c (symtab_node::can_increase_alignment_p,
11737 increase_alignment_1, symtab_node::increase_alignment,
11738 symtab_node::definition_alignment): New.
11739 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
11740 can_increase_alignment_p.
11741 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
11742 * tree-vect-stmts.c (ensure_base_align): Likewise.
7185ec2c
JH
11743 * varasm.c (function_section_1): Use definition_alignment.
11744 (assemble_start_function): Likewise.
11745 (emit_local): likewise.
11746 (build_constant_desc): Likewsie.
11747 (output_constant_def_contents): Likewise.
11748 (place_block_symbol): Likewise.
11749 (output_object_block): Likewise.
428f0c67 11750
a7384b1b
JH
117512015-03-05 Jan Hubicka <hubicka@ucw.cz>
11752
11753 PR ipa/65316
11754 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
11755 when outputting debug.
11756
04fd785e
MP
117572015-03-07 Marek Polacek <polacek@redhat.com>
11758 Martin Uecker <uecker@eecs.berkeley.edu>
11759
11760 PR sanitizer/65280
11761 * doc/invoke.texi: Update description of -fsanitize=bounds.
11762
268cb4b3
WD
117632015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
11764
11765 * tree-ssa-phiopt.c (neg_replacement): Remove.
11766 (tree_ssa_phiopt_worker): Remove negate optimization.
11767
81b0d906
JH
117682015-03-05 Jan Hubicka <hubicka@ucw.cz>
11769
11770 PR ipa/65302
11771 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
11772
87d0d6c4
RB
117732015-03-06 Richard Biener <rguenther@suse.de>
11774
11775 PR middle-end/64928
11776 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
11777 and liveout_obstack members.
11778 (calculate_live_on_exit): Remove.
11779 (calculate_live_ranges): Change declaration.
11780 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
11781 (new_tree_live_info): Adjust.
11782 (calculate_live_ranges): Delete livein when not wanted.
11783 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
11784 Deal with partly deleted live info.
11785 (loe_visit_block): Remove temporary bitmap by using
11786 bitmap_ior_and_compl_into.
11787 (live_worklist): Adjust accordingly.
11788 (calculate_live_on_exit): Make static.
11789 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
11790 we do not need livein.
11791
7bfa4bc5
JW
117922015-03-06 Jonathan Wakely <jwakely@redhat.com>
11793
11794 * real.c (real_from_string): Fix typo in assertion.
11795
1dfc8b24
AV
117962015-03-06 Alex Velenko <alex.velenko@arm.com>
11797
11798 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
11799 the patch.
11800
ab038a80
JH
118012015-03-05 Jan Hubicka <hubicka@ucw.cz>
11802
11803 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
11804
34349d55
VM
118052015-03-05 Vladimir Makarov <vmakarov@redhat.com>
11806
11807 PR target/64342
11808 * lra-assigns.c (find_hard_regno_for): Rename to
11809 find_hard_regno_for_1. Add a new parameter.
11810 (find_hard_regno_for): New function using find_hard_regno_for_1.
11811
53c615a2
BE
118122015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
11813
11814 PR rtl-optimization/65067
11815 * expmed.c (store_bit_field, extract_bit_field): Reworked the
11816 strict volatile bitfield handling.
11817
9374ef82
ML
118182015-03-05 Martin Liska <mliska@suse.cz>
11819
11820 PR ipa/65318
11821 * ipa-icf.c (sem_variable::equals): Compare variables types.
11822
1dfc8b24 118232015-03-05 Richard Henderson <rth@redhat.com>
2755b64e 11824
578c2339 11825 PR target/65121
2755b64e
AV
11826 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
11827 correctly check weak symbol binding.
11828
a8eeec27
SE
118292015-03-05 Steve Ellcey <sellcey@imgtec.com>
11830
11831 PR middle-end/65315
11832 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
11833 needed alignment.
11834
bcda57c1
ML
118352015-03-05 Martin Liska <mliska@suse.cz>
11836
11837 * ipa-inline.c (inline_small_functions): Set default value to
11838 prevent warning during bootstrap.
11839 * tree.h: Add pragma guard that ignores false positives during
11840 bootstrap.
11841
b162e1e7
RB
118422015-03-05 Richard Biener <rguenther@suse.de>
11843
11844 PR tree-optimization/65310
11845 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
11846 Properly preserve alignment of the base of the access.
11847
58ed456c
RB
118482015-03-05 Richard Biener <rguenther@suse.de>
11849
11850 PR ipa/65270
11851 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
11852 Compare dependence info.
11853
b3406fa0
RB
118542015-03-05 Richard Biener <rguenther@suse.de>
11855
11856 PR middle-end/65233
11857 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
11858 tree-into-ssa.h.
11859 (walk_ssa_copies): Revert last chage. Instead do not walk
11860 SSA names registered for SSA update.
11861
fe75bd20
JH
118622015-03-03 Jan Hubicka <hubicka@ucw.cz>
11863
e5215d07 11864 PR ipa/65270
fe75bd20
JH
11865 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
11866 vtable references for their containing type.
11867 (sem_function::equals_wpa): Compare TYPE_RESTRICT
11868 and type attributes.
11869
d10a61fb
EB
118702015-03-04 Eric Botcazou <ebotcazou@adacore.com>
11871
11872 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
11873 before negating it.
11874 * stor-layout.c (finalize_record_size): Revert latest change.
11875
8ed4390c
AT
118762015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
11877
11878 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
11879
a6a543bf
JH
118802015-03-03 Jan Hubicka <hubicka@ucw.cz>
11881
11882 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
11883 for correct comdat handling.
11884 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
11885 Likewise.
11886 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
11887 (used_from_object_file_p_worker): Remove.
11888 (cgraph_node::only_called_directly_or_alised): Add
11889 used_from_object_file_p.
11890 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
11891 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
11892 can_remove_if_no_direct_calls_and_refs_p.
11893
b68686bf
NC
118942015-03-04 Nick Clifton <nickc@redhat.com>
11895
11896 * config/rl78/rl78.h (enum reg_class): Remove real registers from
11897 General register class.
11898 * config/rl78/rl78-real.md: Replace general register constraints
11899 with real+virtual register constraints.
11900
4b9f07eb
AK
119012015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11902
d10a61fb
EB
11903 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
11904 from checking for -mhtm option.
4b9f07eb 11905
670654ef
JH
119062015-03-03 Jan Hubicka <hubicka@ucw.cz>
11907
11908 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
11909 (struct ipa_sra_check_caller_data): Add has_thunk field.
11910 (ipa_sra_check_caller): Check for thunk.
11911 (ipa_sra_preliminary_function_checks): Give up on function with
11912 thunks.
11913 (ipa_early_sra): Use call_for_symbol_and_aliases.
11914
ac841cf7
KK
119152015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
11916
11917 PR target/65249
11918 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
11919 called for __stack_chk_guard symbol.
11920
f6115d44
DD
119212015-03-03 DJ Delorie <dj@redhat.com>
11922
11923 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
11924 inc/dec.
11925 (*addhi3_real): Likewise.
11926 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
11927 pattern to match incrementing memory.
11928 * config/rl78/predicates.md (rl78_1_2_operand): New.
11929 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
11930 it's the same and only mem.
11931 (rl78_alloc_physical_registers_op2): If there's effectively only
11932 one MEM, transcode it into HL.
11933 (rl78_far_p): Reject addresses that aren't legitimate.
11934
3a5c579a
EB
119352015-03-03 Eric Botcazou <ebotcazou@adacore.com>
11936
11937 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
11938 negating it.
11939
11940 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
11941
590e2636
MF
119422015-03-03 Max Filippov <jcmvbkbc@gmail.com>
11943
11944 Implement call0 ABI for xtensa
11945 * config/xtensa/constraints.md ("a" constraint): Include stack
11946 pointer in case of call0 ABI.
11947 ("q" constraint): Make empty in case of call0 ABI.
11948 ("D" constraint): Include stack pointer in case of call0 ABI.
11949 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
11950 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
11951 prototypes.
11952 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
11953 variable.
11954 (xtensa_regno_to_class): Make it a local variable in the
11955 function xtensa_regno_to_class.
11956 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
11957 macro, function prototype and implementation.
11958 (reg_nonleaf_alloc_order): Make it a local variable in the
11959 function order_regs_for_local_alloc.
11960 (xtensa_conditional_register_usage): New function.
11961 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
11962 (xtensa_valid_move): Allow direct moves to stack pointer
11963 register in call0 ABI.
11964 (xtensa_setup_frame_addresses): Only spill register windows in
11965 windowed ABI.
11966 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
11967 call0 ABI respectively.
11968 (xtensa_function_arg_1): Only mark a7 register for copying in
11969 windowed ABI.
11970 (xtensa_call_save_reg): New function.
11971 (compute_frame_size): Add space for callee saved register
11972 storage to the frame size in call0 ABI.
11973 (xtensa_expand_prologue): Generate code to set up stack frame
11974 and save callee-saved registers in call0 ABI.
11975 (xtensa_expand_epilogue): New function.
11976 (xtensa_set_return_address): New function.
11977 (xtensa_return_addr): Calculate return address in call0 ABI.
11978 (xtensa_builtin_saveregs): Only mark a7 register for copying and
11979 emit copying code in windowed ABI.
11980 (order_regs_for_local_alloc): Add preferred register allocation
11981 order for non-leaf function in call0 ABI.
11982 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
11983 (xtensa_asm_trampoline_template): Add trampoline generation for
11984 call0 ABI.
11985 (xtensa_trampoline_init): Add trampoline initialization for
11986 call0 ABI.
11987 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
11988 functions.
11989 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
11990 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
11991 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
11992 ABI call-used registers.
11993 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
11994 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
11995 call0 ABI.
11996 (REG_CLASS_CONTENTS): Include all registers into the preferred
11997 reload registers set, adjust the set in the
11998 xtensa_conditional_register_usage.
11999 (xtensa_regno_to_class): Drop variable declaration.
12000 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
12001 function.
12002 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
12003 respectively.
12004 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
12005 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
12006 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
12007 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
12008 location in call0 ABI.
12009 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
12010 stack adjustment size when handling exception.
12011 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
12012 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
12013 definitions.
12014 ("return" pattern): Generate ret.n/ret in call0 ABI.
12015 ("epilogue" pattern): Expand epilogue.
12016 ("nonlocal_goto" pattern): Use default in call0 ABI.
12017 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
12018 emit eh_set_a0_* depending on ABI.
12019 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
12020 ("eh_set_a0_call0", "blockage"): New patterns.
12021
6fb12821
ML
120222015-03-03 Martin Liska <mliska@suse.cz>
12023
12024 PR ipa/65287
12025 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
12026
a6a62c01
MM
120272015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
12028
12029 PR 65138/target
12030 * config/rs6000/rs6000-tables.opt: Regenerate table.
12031
0ab9eed6
RL
120322015-03-03 Renlin Li <renlin.li@arm.com>
12033
12034 * doc/md.texi (@item ^): Change ? into ^.
12035
a55bbe13
L
120362015-03-03 H.J. Lu <hongjiu.lu@intel.com>
12037
12038 * doc/tm.texi: Regenerated.
12039
2e612c47
MF
120402015-03-03 Max Filippov <jcmvbkbc@gmail.com>
12041
12042 * builtins.c (expand_builtin_return_addr): Add
12043 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
12044 surrounding #ifdef.
12045 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
12046 definition to 1.
12047 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
12048 Likewise.
12049 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
12050 undefined.
12051 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
12052 paragraph.
12053
ebde4f8e 120542015-03-03 Martin Jambor <mjambor@suse.cz>
10ac6596 12055 Eric Botcazou <ebotcazou@adacore.com>
ebde4f8e
MJ
12056
12057 * tree-sra.c (ipa_sra_check_caller_data): New type.
12058 (has_caller_p): Removed.
12059 (ipa_sra_check_caller): New function.
12060 (ipa_sra_preliminary_function_checks): Use it.
12061
21ce14d3
ML
120622015-03-03 Martin Liska <mliska@suse.cz>
12063
12064 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
12065 instead of if branch.
12066
3c031cbe
ML
120672015-03-03 Martin Liska <mliska@suse.cz>
12068
12069 PR ipa/65282
12070 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
12071
2f159d9f
JL
120722015-03-23 Jeff Law <law@redhat.com>
12073
12074 PR tree-optimization/65241
12075 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
12076 hash table if INSERT is true.
12077
5cb8b86e
GJL
120782015-03-03 Georg-Johann Lay <avr@gjlay.de>
12079
12080 PR target/65296
12081 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
12082
2b4293a3
GJL
120832015-03-03 Georg-Johann Lay <avr@gjlay.de>
12084
12085 PR target/64331
12086 * config/avr/avr.c (context.h, tree-pass.h): Include them.
12087 (avr_pass_data_recompute_notes): New static variable.
12088 (avr_pass_recompute_notes): New class.
12089 (avr_register_passes): New static function.
12090 (avr_option_override): Call it.
12091
38822076
GJL
120922015-03-03 Georg-Johann Lay <avr@gjlay.de>
12093
12094 Fix various problems with specs file generation.
12095
12096 PR target/65296
12097 * config.gcc (extra_gcc_objs) [avr]: Remove.
12098 * config/avr/driver-avr.c: Remove file.
12099 * config/avr/t-avr (driver-avr.o): Remove rule.
12100 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
12101 INCLUDES to build. Depend on TM_H.
12102 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
12103 build warnings. Fix non-matching types and non-existing %-codes.
12104 (tm.h): Include.
12105 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
12106 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
12107 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
12108 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
12109 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
12110 (LIBGCC_SPEC): Remove definitions.
12111
b4b78e2d
EB
121122015-03-03 Eric Botcazou <ebotcazou@adacore.com>
12113
12114 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
12115 to create a register in testing mode.
12116
17d1bf76 121172015-03-03 Martin Liska <mliska@suse.cz>
e5215d07 12118 Jan Hubicka <hubicka@ucw.cz>
17d1bf76
ML
12119
12120 PR ipa/65263
12121 * cgraph.c (cgraph_node::has_thunk_p): New function.
12122 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
12123 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
12124 (sem_function::merge): Assert is changed.
12125
bd31fe14
ML
121262015-03-03 Martin Liska <mliska@suse.cz>
12127 Martin Jambor <mjambor@suse.cz>
12128
12129 PR ipa/65087
12130 * ipa-icf.c (sem_item_optimizer::execute): Change function
12131 return value to boolean.
12132 (sem_item_optimizer::merge_classes): Likewise.
12133 (ipa_icf_driver): Return TODO_remove_functions in case there's
12134 a merge operation processed.
12135 * ipa-icf.h: Change function return value to boolean.
12136
0eef284e
MM
121372015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
12138
12139 PR 65138/target
12140 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
12141 processor type for 64-bit little endian PowerPC.
12142
12143 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
12144 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
12145 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
12146 printing built-in mask so it does not pass NULL pointers.
12147
12148 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
12149 -mcpu=powerpc64le.
12150
7096a068
SE
121512015-03-02 Steve Ellcey <sellcey@imgtec.com>
12152
12153 PR target/58158
12154 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
12155 !ISA_HAS_FP_CONDMOVE.
12156
29e27c0b
AH
121572015-03-02 Aldy Hernandez <aldyh@redhat.com>
12158
12159 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
12160 reload_completed.
12161
0ce03965
UD
121622015-03-02 Ulrich Drepper <drepper@gmail.com>
12163
12164 * doc/invoke.texi (Options for Code Generation Conventions):
12165 Fix URL of DSO paper.
0eef284e 12166
10ac6596 121672015-03-02 Jan Hubicka <hubicka@ucw.cz>
1af8bfe5
JH
12168
12169 PR ipa/65130
12170 * ipa-inline.c (check_callers): Looks for recursion.
12171 (inline_to_all_callers): Give up on uninlinable or recursive edges.
12172 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
12173 summary of inline clones.
12174 (do_estimate_growth_1): Fix recursion check.
12175
10ac6596 121762015-03-02 Jan Hubicka <hubicka@ucw.cz>
b91b562c
JH
12177
12178 PR ipa/64988
12179 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
12180 comdat groups.
12181
af5513e9
JH
121822015-03-02 Jan Hubicka <hubicka@ucw.cz>
12183 Aldy Hernandez <aldyh@redhat.com>
12184
12185 PR lto/65276
12186 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
12187 when checking TYPE_BINFO.
12188
d366a1a7
RB
121892015-03-02 Richard Biener <rguenther@suse.de>
12190
12191 PR ipa/65270
12192 * ipa-icf-gimple.c: Include builtins.h.
12193 (func_checker::compare_memory_operand): Compare base alignment.
12194
df265bd2
IE
121952015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
12196
12197 PR target/65184
12198 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
12199 are never passed by reference.
12200
321a5ceb
IE
122012015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
12202
12203 PR target/65183
12204 * tree-chkp.c (chkp_check_lower): Don't check against
12205 zero bounds for already instrumented functions.
12206 (chkp_check_upper): Likewise.
12207 (chkp_fini): Clean pass local data to avoid wrong reusage.
12208
c4c0f336 122092015-02-28 Martin Liska <mliska@suse.cz>
10ac6596 12210 Jan Hubicka <hubicka@ucw.cz>
c4c0f336
ML
12211
12212 * ipa-icf.c (sem_variable::equals): Improve debug output;
12213 get variable constructor.
12214 (sem_variable::parse): Do not filter out too early; give up on
12215 volatile and register vars.
12216 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
12217 variables.
12218 * ipa-icf.h (sem_variable::init): Do not set ctor.
12219 (sem_variable::ctor): Remove.
12220
34a108c8
AH
122212015-03-01 Aldy Hernandez <aldyh@redhat.com>
12222
12223 PR middle-end/65233
12224 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
12225
46305737
JH
122262015-02-28 Jan Hubicka <hubicka@ucw.cz>
12227
12228 * ipa-icf.c: Include stor-layout.h
12229 (sem_function::compare_cgraph_references): Rename to ...
12230 (sem_item::compare_cgraph_references): ... this one.
12231 (sem_variable::equals_wpa): New function
12232 (sem_variable::equals): Do not check stuff already verified by
12233 equals_wpa.
12234 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
12235 * ipa-icf.h (sem_item): Add compare_cgraph_references.
12236 (sem_function): Remove compare_cgraph_references.
12237 (sem_variable): Turns equals_wpa into non-inline.
12238
a8d93817
JH
122392015-02-28 Jan Hubicka <hubicka@ucw.cz>
12240
12241 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
12242 (sem_item::add_expr): New function.
12243 (sem_function::hash_stmt): Handle operands of most statements.
12244 (sem_variable::get_hash): Hash the actual constructor.
12245 * ipa-icf.h (sem_item): Add add_expr.
12246 (sem_function): Update prototype of hash_stmt
12247
b6cddc7f 122482015-02-28 Martin Liska <mliska@suse.cz>
10ac6596 12249 Jan Hubicka <hubicka@ucw.cz>
b6cddc7f
ML
12250
12251 PR ipa/65245
12252 * ipa-icf-gimple.c (func_checker::compare_function_decl):
12253 Remove.
12254 (func_checker::compare_variable_decl): Skip symtab vars.
12255 (func_checker::compare_cst_or_decl): Update.
12256 * ipa-icf.c (sem_function::parse): Do not consider aliases.
12257 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
12258 use correct symtab predicates.
12259 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
12260 (sem_variable::parse): Update comment.
12261 (sem_item_optimizer::build_graph): Consider ultimate aliases
12262 for references.
12263
4bd5f767
JH
122642015-02-28 Jan Hubicka <hubicka@ucw.cz>
12265
12266 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
12267 of OBJ_TYPE_REF.
12268
c7a06bc1
JH
122692015-02-28 Jan Hubicka <hubicka@ucw.cz>
12270
12271 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
12272 (sem_variable::merge) Likewise.
12273
eb140ba0 122742015-02-28 Jan Hubicka <hubicka@ucw.cz>
e8fb91a8 12275
eb140ba0
JH
12276 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
12277 target; also match flag_ipa_devirt.
12278
122792015-03-01 Martin Liska <mliska@suse.cz>
10ac6596 12280 Jan Hubicka <hubicka@ucw.cz>
e8fb91a8
ML
12281
12282 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
12283 Validate variable alignment.
12284 * ipa-icf.c (sem_function::equals_private): Be more precise
12285 about non-common function attributes.
12286 (sem_variable::equals): Likewise.
12287
bbcdfb93
JH
122882015-02-28 Jan Hubicka <hubicka@ucw.cz>
12289
12290 PR ipa/65237
12291 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
12292 across COMDAT group boundary.
12293
412049de
JH
122942015-02-28 Jan Hubicka <hubicka@ucw.cz>
12295
12296 PR ipa/65232
12297 * ipa-icf.c (clear_decl_rtl): New function.
12298 (sem_function::merge): Clear RTL before forming alias.
12299 (sem_variable::merge): Clear RTL before forming alias.
12300
b7aa4a3a
JH
123012015-02-28 Jan Hubicka <hubicka@ucw.cz>
12302
12303 PR ipa/65236
10ac6596 12304 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
b7aa4a3a 12305
116a394e
XP
123062015-02-28 Xingxing Pan <xxingpan@marvell.com>
12307
12308 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
12309 to neon_to_gp<q>.
12310
9bc163e3
VM
123112015-02-27 Vladimir Makarov <vmakarov@redhat.com>
12312
12313 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
12314 a typo in the description.
12315
fb8a0e40
VM
123162015-02-27 Vladimir Makarov <vmakarov@redhat.com>
12317
12318 PR target/64317
12319 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
12320 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
12321 * lra-constraints.c: Include "params.h".
12322 (EBB_PROBABILITY_CUTOFF): Use
12323 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
12324 (lra_inheritance): Use '<' instead of '<=' for
12325 EBB_PROBABILITY_CUTOFF.
12326 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
12327 Document change.
12328
b94097dc
ML
123292015-02-27 Martin Liska <mliska@suse.cz>
12330
12331 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
12332 vector length condition.
12333
8eba66e8
SL
123342015-02-27 Sandra Loosemore <sandra@codesourcery.com>
12335
12336 * doc/extend.texi (x86 transactional memory intrinsics):
12337 Reorganize discussion of _xbegin. Clarify that the return
12338 value is a bit mask. Expand example and move to end of section.
12339
395df65e
JJ
123402015-02-26 Jakub Jelinek <jakub@redhat.com>
12341 Aldy Hernandez <aldyh@redhat.com>
12342
12343 PR rtl-optimization/65220
12344 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
12345
892927b7
VM
123462015-02-27 Vladimir Makarov <vmakarov@redhat.com>
12347
12348 PR target/65032
12349 * lra-remat.c (update_scratch_ops): New.
12350 (do_remat): Call it.
12351 * lra.c (lra_register_new_scratch_op): New. Take code from ...
12352 (remove_scratches): ... here.
12353 * lra-int.h (lra_register_new_scratch_op): New prototype.
12354
7631f0e2
MP
123552015-02-27 Marek Polacek <polacek@redhat.com>
12356
12357 PR c/65040
12358 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
12359 -Wformat-signedness anymore.
12360
35bc11c3
AK
123612015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12362
12363 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
12364 function.
12365 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
12366
004f64e1
AK
123672015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12368
12369 * config/s390/s390.c (enum s390_builtin):
12370 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
12371 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
12372 (s390_init_builtins): Generate new builtin functions.
12373 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
12374 (s390_sfpc, s390_efpc): New pattern definitions.
12375
9b80b7bc
AK
123762015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12377
12378 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
12379 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
12380 (s390_builtin_decls): New array.
12381 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
12382 (s390_builtin_decl): New function.
12383 (TARGET_BUILTIN_DECL): Define macro.
12384
4ceae7e9
RB
123852015-02-27 Richard Biener <rguenther@suse.de>
12386
12387 PR middle-end/63175
12388 * builtins.c (get_object_alignment_2): Make sure to re-apply
12389 the ANDed mask after recursing to its operand gets us a new
12390 misalignment bit position.
12391
0a7246ee
JH
123922015-02-26 Jan Hubicka <hubicka@ucw.cz>
12393 Martin Liska <mliska@suse.cz>
12394
12395 PR bootstrap/65150
12396 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
12397 Use address_matters_p.
12398 (redirect_all_callers, set_addressable): New functions.
12399 (sem_function::merge): Reorganize and fix merging issues.
12400 (sem_variable::merge): Likewise.
12401 (sem_variable::compare_sections): Remove.
12402 * common.opt (fmerge-all-constants, fmerge-constants): Remove
12403 Optimization flag.
12404 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
12405 redirect them.
12406 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
12407 decl is used.
12408 (address_matters_1): New function.
12409 (symtab_node::address_matters_p): New function.
12410 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
12411 check for merged flag.
12412 * cgraph.h (address_matters_p): Declare.
12413 (symtab_node::address_taken_from_non_vtable_p): Remove.
12414 (symtab_node::address_can_be_compared_p): New method.
12415 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
12416 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
12417 Remove.
12418 (comdat_can_be_unshared_p_1) Use address_matters_p.
12419 (update_vtable_references): Fix formating.
12420 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
12421 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
12422 * cgraphclones.c: Preserve merged and icf_merged flags.
12423
6fb04b89
SL
124242015-02-26 Sandra Loosemore <sandra@codesourcery.com>
12425
12426 * doc/extend.texi (Function Attributes): Fix spelling and typos.
12427 (Label Attributes): Likewise.
12428 (Cilk Plus Builtins): Likewise.
12429 (ARC SIMD Built-in Functions): Likewise.
12430 (ARM C Language Extensions (ACLE)): Likewise.
12431 (PowerPC Built-in Functions): Likewise.
12432 (PowerPC Hardware Transactional Memory Built-in Functions):
12433 Likewise.
12434
5c2766c1
JJ
124352015-02-26 Jakub Jelinek <jakub@redhat.com>
12436
d288c0ab
JJ
12437 PR tree-optimization/65216
12438 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
12439 new stmt and new SSA_NAME for lhs whenever the arguments have
12440 changed and weren't just swapped. Fix comment typo.
12441
5c2766c1
JJ
12442 PR tree-optimization/65215
12443 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
12444 for PDP endian targets.
12445 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
12446 Fix up formatting issues.
12447 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
12448 size is smaller than the original, adjust MEM_REF offset by the
12449 difference of sizes. Use is_gimple_mem_ref_addr instead of
12450 is_gimple_min_invariant test to avoid adding address temporaries.
12451
5ebd0e61
ML
124522015-02-26 Martin Liska <mliska@suse.cz>
12453 Jan Hubicka <hubicka@ucw.cz>
12454
12455 PR ipa/64693
12456 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
12457 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
12458 (sem_item_optimizer::process_cong_reduction): Include division by
12459 sensitive references.
12460 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
12461 * ipa-ref.c (ipa_ref::address_matters_p): New function.
12462 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
12463
d713426e
GJL
124642015-02-26 Georg-Johann Lay <avr@gjlay.de>
12465
12466 PR target/65192
12467 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
12468 Remove.
12469 * config/avr/avr.c: Same.
12470 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
12471 Refuse any constant address not in 0..0xbf.
12472 * config/avr/avr.md (*mov<mode>, *movsf): Remove
12473 tiny_valid_direct_memory_access_range from insn conditions.
12474 (mov<mode>): Don't special-case expansion of avrtiny addresses.
12475
dac2637b
OE
124762015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
12477
12478 PR target/61142
12479 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
12480 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
12481 * config/sh/predicates.md (const_logical_operand): New predicate.
12482 * config/sh/sh.md: Add new peephole2 patterns.
12483
1cf06f1e
MP
124842015-02-26 Marek Polacek <polacek@redhat.com>
12485
12486 PR ipa/65008
12487 * ipa-inline.c (early_inliner): Recompute inline parameters.
12488
197bd30f
BS
124892015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12490
12491 PR target/65171
12492 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
12493 instructions with TImode operands are included in the analysis.
12494
a99c3d70
SP
124952015-02-26 Sebastian Pop <s.pop@samsung.com>
12496
12497 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
12498 of an EDGE_FSM_THREAD.
12499
b5f0a062
PB
125002015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
12501
12502 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
12503
b33da0c7
AH
125042015-02-25 Aldy Hernandez <aldyh@redhat.com>
12505
12506 PR debug/46102
12507 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
12508
ae762b31
SP
125092015-02-26 Sebastian Pop <s.pop@samsung.com>
12510
12511 PR tree-optimization/65048
12512 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
12513 (thread_through_all_blocks): Call valid_jump_thread_path.
12514 Remove invalid FSM jump-thread paths.
12515
db847fa8
JJ
125162015-02-26 Jakub Jelinek <jakub@redhat.com>
12517
12518 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
12519 (ipa_write_optimization_summaries): Likewise.
12520 * tree-streamer.h: Include data-streamer.h.
12521 (streamer_mode_table): Declare extern variable.
12522 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
12523 * lto-streamer-out.c (lto_output_init_mode_table,
12524 lto_write_mode_table): New functions.
12525 (produce_asm_for_decls): Call lto_write_mode_table when streaming
12526 offloading LTO.
12527 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
12528 (lto_create_simple_input_block): Add mode_table argument to the
12529 lto_input_block constructors.
12530 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
12531 Likewise.
12532 * data-streamer-in.c (string_for_index): Likewise.
12533 * ipa-inline-analysis.c (inline_read_section): Likewise.
12534 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
12535 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
12536 * lto-streamer-in.c (lto_read_body_or_constructor,
12537 lto_input_toplevel_asms): Likewise.
12538 (lto_input_mode_table): New function.
12539 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
12540 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
12541 Use bp_pack_machine_mode.
12542 * real.h (struct real_format): Add name field.
12543 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
12544 (class lto_input_block): Add mode_table member.
12545 (lto_input_block::lto_input_block): Add mode_table_ argument,
12546 initialize mode_table.
12547 (struct lto_file_decl_data): Add mode_table field.
12548 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
12549 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
12550 unpack_ts_decl_common_value_fields,
12551 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
12552 * tree-streamer.c (streamer_mode_table): New variable.
12553 * real.c (ieee_single_format, mips_single_format,
12554 motorola_single_format, spu_single_format, ieee_double_format,
12555 mips_double_format, motorola_double_format,
12556 ieee_extended_motorola_format, ieee_extended_intel_96_format,
12557 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
12558 ibm_extended_format, mips_extended_format, ieee_quad_format,
12559 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
12560 decimal_single_format, decimal_double_format, decimal_quad_format,
12561 ieee_half_format, arm_half_format, real_internal_format): Add name
12562 field.
12563 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
12564
b24b3262
YR
125652015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
12566
12567 PR target/65161
12568 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
12569 reordering for selective scheduling.
12570
afe006ad
TG
125712015-02-26 Terry Guo <terry.guo@arm.com>
12572
12573 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
12574 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
12575 (arm_arch_no_volatile_ce): Declare new global variable.
12576 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
12577 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
12578 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
12579 (TARGET_NO_VOLATILE_CE): New macro.
12580 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
12581 volatile memory access in IT block
12582
f5fd5773
KT
125832015-02-25 Kai Tietz <ktietz@redhat.com>
12584
12585 PR tree-optimization/61917
12586 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
12587 that reduc_def_stmt is null.
12588
b4f26d91
ML
125892015-02-25 Martin Liska <mliska@suse.cz>
12590
12591 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
12592 hard register variables.
12593
feeca9cc
KT
125942015-02-25 Kai Tietz <ktietz@redhat.com>
12595
12596 PR target/64212
12597 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
12598 (symtab::noninterposable_alias): Likewise.
12599
a2273e72
IE
126002015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
12601
12602 PR target/65167
12603 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
12604 bounds registers.
12605 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
12606
eeaccc07
AL
126072015-02-25 Alan Lawrence <alan.lawrence@arm.com>
12608
12609 PR target/64997
12610 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
12611 as split condition; force split via '#' in output pattern.
12612
3d9bab5a 126132015-02-25 Richard Biener <rguenther@suse.de>
10ac6596 12614 Kai Tietz <ktietz@redhat.com>
3d9bab5a
RB
12615
12616 PR tree-optimization/61917
12617 * tree-vect-loop.c (vectorizable_reduction): Allow
12618 vect_internal_def without reduction to exit graceful.
12619
94ba1bd5
GJL
126202015-02-25 Georg-Johann Lay <avr@gjlay.de>
12621
12622 PR target/65196
12623 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
12624 only with NONDEBUG_INSN_P.
12625
10fbfd1b
GJL
126262015-02-25 Georg-Johann Lay <avr@gjlay.de>
12627
12628 Use variadic macros with avr-log.c.
12629
12630 * config/avr/avr-protos.h (avr_vdump): New prototype.
12631 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
12632 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
12633 * config/avr/avr-log.c: Adjust comments.
12634 (avr_vdump): New function.
12635 (avr_vadump): Pass caller as 2nd argument instead of format string.
12636 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
12637 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
12638
59913123
JJ
126392015-02-25 Jakub Jelinek <jakub@redhat.com>
12640
12641 PR lto/64374
12642 * target.def (target_option_stream_in): New target hook.
12643 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
12644 targetm.target_option.post_stream_in if non-NULL.
12645 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
12646 * doc/tm.texi: Updated.
12647 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
12648 function.
12649 (TARGET_OPTION_POST_STREAM_IN): Redefine.
12650
48c55a0a
JL
126512015-02-24 Jeff Law <law@redhat.com>
12652
12653 PR target/65117
12654 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
12655 of operand 0 and operand 2.
12656 (zero_cost_loop_end, loop_end): Similarly.
10fbfd1b 12657
5c925255
AH
126582015-02-24 Aldy Hernandez <aldyh@redhat.com>
12659
12660 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
12661 CXX_MEM_STAT_INFO.
12662
28497f3b
DD
126632015-02-24 DJ Delorie <dj@redhat.com>
12664
10ac6596 12665 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
28497f3b
DD
12666 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
12667 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
12668 instead of hardcoding SImode.
12669
d7823208
BS
126702015-02-24 Bernd Schmidt <bernds@codesourcery.com>
12671
12672 * omp-low.c (create_omp_child_function): Tag entrypoint
12673 functions with a special attribute.
12674
f8571677
MH
126752015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12676
12677 PR target/65058
12678 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
12679
51753c14
VM
126802015-02-24 Vladimir Makarov <vmakarov@redhat.com>
12681
12682 PR rtl-optimization/65123
12683 * lra-remat.c (operand_to_remat): Check hard regs in insn
12684 definition too.
12685
ff544f6b
NC
126862015-02-24 Nick Clifton <nickc@redhat.com>
12687
12688 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
12689 to the assembler.
12690
56a9f6bc
TS
126912015-02-24 Thomas Schwinge <thomas@codesourcery.com>
12692
12693 PR libgomp/64625
12694 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
12695 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
12696 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
12697 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
12698 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
12699 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
12700 (BUILT_IN_GOACC_PARALLEL): Specify as
12701 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
12702 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
12703 * builtin-types.def
12704 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
12705 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
12706 Remove function types.
12707 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
12708 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
12709 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
12710 New function types.
12711
dd07a06f
GJL
127122015-02-24 Georg-Johann Lay <avr@gjlay.de>
12713
12714 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
12715
09901e8a
JJ
127162015-02-24 Jakub Jelinek <jakub@redhat.com>
12717
12718 PR tree-optimization/65170
12719 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
12720 if val[1] < 0, clear also val[2] and return 3.
12721
2397d13c
AM
127222015-02-24 Alan Modra <amodra@gmail.com>
12723
d07ee5ba 12724 PR target/65172
2397d13c
AM
12725 * config/rs6000/rs6000.c (get_memref_parts): Only return true
12726 when *base is a reg. Handle nested plus addresses. Simplify
12727 pre_modify test.
12728
637ece3f
MF
127292015-02-22 Max Filippov <jcmvbkbc@gmail.com>
12730
12731 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
12732 use natural alignment when optimizing for size.
12733
708c7f7f
KK
127342015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
12735
12736 PR target/65153
12737 * config/sh/sh.md (movsicc_true+3): Remove peephole.
12738 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
12739 * config/sh/sh.c (replace_n_hard_rtx): Remove.
12740
025e5647
RS
127412015-02-23 Richard Sandiford <richard.sandiford@arm.com>
12742
12743 PR fortran/63427
12744 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
12745 too big for a wide_int. Implement missing wrapping operation.
12746
2c6a427f
OE
127472015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
12748
12749 PR target/65163
12750 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
12751 instead of const_int 4294901760.
12752
b0eb429d
GJL
127532015-02-23 Georg-Johann Lay <avr@gjlay.de>
12754
12755 * config/avr/t-avr: Fix typo in comment.
12756
0cf5e9df
RS
127572015-02-21 Richard Sandiford <richard.sandiford@arm.com>
12758
12759 * doc/rtl.texi (fma): Clarify documentation.
12760
220d905f
AH
127612015-02-20 Aldy Hernandez <aldyh@redhat.com>
12762
12763 PR debug/58123
12764 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
12765 over input_location.
12766
6d2b7199
BS
127672015-02-20 Bernd Schmidt <bernds@codesourcery.com>
12768
12769 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
12770 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
12771 restrict alignments to absolute_biggest_alignment.
12772 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
12773 Define.
12774 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
12775 * doc/tm.texi: Regenerate.
12776 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
12777
3c20c9bc
VM
127782015-02-20 Vladimir Makarov <vmakarov@redhat.com>
12779
12780 PR target/64172
10ac6596 12781 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
3c20c9bc 12782
31935398
RB
127832015-02-20 Richard Biener <rguenther@suse.de>
12784
12785 PR tree-optimization/65136
12786 * tree-ssa-propagate.c: Include cfgloop.h.
12787 (replace_phi_args_in): Avoid replacing loop latch edge PHI
12788 arguments with constants.
12789
8b048701
JJ
127902015-02-20 Jakub Jelinek <jakub@redhat.com>
12791 Martin Liska <mliska@suse.cz>
12792
12793 PR target/63892
12794 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
12795 don't try to create_thunk if stdarg_p. If
12796 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
12797 redirect_callers if possible.
12798 (sem_item_optimizer::execute): Call unregister_hooks here...
12799 (ipa_icf_driver): ... instead of here.
12800
498b13e2
KT
128012015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12802
12803 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
12804 Mark operand 0 as earlyclobber in 2nd alternative.
12805 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
12806 Write negated shift amount into QI lowpart operand 0 and use it
12807 in the shift step.
12808 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
12809
9816367c
BS
128102015-02-20 Bernd Schmidt <bernds@codesourcery.com>
12811
10ac6596
UB
12812 * cgraph.h (clone_function_name_1): Declare.
12813 * cgraphclones.c (clone_function_name_1): New function.
12814 (clone_function_name): Use it.
12815 * lto-partition.c: Include "stringpool.h".
12816 (must_not_rename, maybe_rewrite_identifier)
12817 (validize_symbol_for_target): New static functions.
12818 (privatize_symbol_name): Use must_not_rename.
12819 (promote_symbol): Call validize_symbol_for_target.
12820 (lto_promote_cross_file_statics): Likewise.
12821 (lto_promote_statics_nonwpa): Likewise.
9816367c 12822
6b9861b1
GJL
128232015-02-20 Georg-Johann Lay <avr@gjlay.de>
12824
12825 PR target/64452
12826 * config/avr/avr.md (pushhi_insn): New insn.
12827 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
12828
db3267c6
BS
128292015-02-20 Bernd Schmidt <bernds@codesourcery.com>
12830 Jakub Jelinek <jakub@redhat.com>
12831
12832 * tree-streamer.c (preload_common_nodes): Don't preload
12833 TI_VA_LIST* for offloading.
12834 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
12835 in_lto_p.
12836
283b768c
JDA
128372015-02-19 John David Anglin <danlgin@gcc.gnu.org>
12838
12839 * config/pa/pa.c (pa_emit_move_sequence): Always force
12840 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
12841 note on insn.
f258111a
JDA
12842
12843 * config/pa/pa.c (pa_reloc_rw_mask): New function.
12844 (TARGET_ASM_RELOC_RW_MASK): Define.
12845 (pa_cannot_force_const_mem): Revert previous change.
12846
81d43c6b
MJ
128472015-02-19 Martin Jambor <mjmabor@suse.cz>
12848 Jan Hubicka <hubicka@ucw.cz>
12849
12850 PR ipa/65028
12851 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
12852 across jump functions.
12853
dcdeca7a
UB
128542015-02-19 Uros Bizjak <ubizjak@gmail.com>
12855
12856 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
12857
33e1f2e6
SL
128582015-02-19 Sandra Loosemore <sandra@codesourcery.com>
12859
dcdeca7a 12860 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
33e1f2e6 12861
0ff5fade
RH
128622015-02-19 Richard Henderson <rth@redhat.com>
12863
12864 PR middle-end/65074
12865 * varasm.c (default_binds_local_p_2): Don't test node->definition;
12866 test DECL_EXTERNAL independent of symtab_node.
12867
176ca71c
JJ
128682015-02-19 Jakub Jelinek <jakub@redhat.com>
12869
12870 PR lto/65012
12871 * varpool.c (varpool_node::get_constructor): Return early
12872 if this->lto_file_data is NULL.
12873
696d5fa1
MK
128742015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
12875
dcdeca7a
UB
12876 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
12877 (rank_for_schedule_debug): Update.
12878 (ready_sort): Make static. Move sorting logic to ...
12879 (ready_sort_debug, ready_sort_real): New static functions.
12880 (schedule_block): Sort both debug insns and real insns in preparation
12881 for ready list trimming. Improve debug output.
12882 * sched-int.h (ready_sort): Remove global declaration.
696d5fa1 12883
1216ea72
TS
128842015-02-18 Trevor Saunders <tsaunders@mozilla.com>
12885
12886 * ipa-icf.c (sem_function::equals_private): Adjust.
12887 (sem_function::bb_dict_test): Take a vec<int> * instead of
12888 auto_vec<int>.
12889 * ipa-icf.h (bb_dict_test): Likewise.
12890
3b445b24
JJ
128912015-02-18 Jakub Jelinek <jakub@redhat.com>
12892
12893 PR gcov-profile/64634
12894 * tree-eh.c (frob_into_branch_around): Fix up typos
12895 in function comment.
12896 (lower_catch): Put eh_seq resulting from EH lowering of
76fabbf4 12897 the cleanup sequence after the cleanup rather than before it.
3b445b24 12898
98ce9490
TV
128992015-02-18 Tom de Vries <tom@codesourcery.com>
12900
12901 * common.opt (fstdarg-opt): New option.
12902 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
12903 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
12904 (@item -fstdarg-opt): New item.
12905
b0ddb385
L
129062015-02-18 H.J. Lu <hongjiu.lu@intel.com>
12907
12908 PR target/65064
12909 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
12910 for common symbols.
12911
2d64d38c
JJ
129122015-02-18 Jakub Jelinek <jakub@redhat.com>
12913
12914 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
12915 insn-modes.h.
12916 (ALL_HOST_OBJS): Add mkoffload.o.
12917 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
12918
88b16508
JH
129192015-02-18 Jan Hubicka <hubicka@ucw.cz>
12920
12921 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
12922 (compare_virtual_tables): Be smarter about skipping typeinfos;
12923 do sane output on virtual table table mismatch.
12924 (warn_odr): Be ready for forward declarations of enums;
12925 output sane info on base mismatch and virtual table mismatch.
12926 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
12927 when only one type is polymorphic.
12928 (get_odr_type): Fix hashtable corruption.
12929 (dump_odr_type): Dump mangled names.
12930
8039a35d
RB
129312015-02-18 Richard Biener <rguenther@suse.de>
12932
12933 PR tree-optimization/65063
12934 * tree-predcom.c (determine_unroll_factor): Return 1 if we
12935 have replaced looparound PHIs.
12936
0c28944f
ML
129372015-02-18 Martin Liska <mliska@suse.cz>
12938
12939 * lto-streamer.c (lto_streamer_init): Encapsulate
12940 streamer_check_handled_ts_structures with checking macro.
12941
4ab26ee0
JJ
129422015-02-18 Jakub Jelinek <jakub@redhat.com>
12943
12944 PR ipa/65087
12945 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
12946 section if !implicit_section.
12947 (cgraph_node::create_version_clone_with_body): Likewise.
12948 * trans-mem.c (ipa_tm_create_version): Likewise.
12949
6f423f4c
RB
129502015-02-18 Richard Biener <rguenther@suse.de>
12951
12952 PR tree-optimization/62217
12953 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
12954 into BIVs.
12955
c7400e2f
MP
129562015-02-18 Marek Polacek <polacek@redhat.com>
12957
12958 PR sanitizer/65081
12959 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
12960 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
12961 is in range [-16K, -1]. Don't issue run-time error if
12962 (ptr > ptr + offset).
12963
8747dd6e
TS
129642015-02-18 Thomas Schwinge <thomas@codesourcery.com>
12965
d7705288
TS
12966 * doc/install.texi (nvptx-*-none): New section.
12967 * doc/invoke.texi (Nvidia PTX Options): Likewise.
12968 * config/nvptx/nvptx.opt: Update.
12969
865fc32a
TS
12970 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
12971 (access_check): New functions, copied from
12972 config/i386/intelmic-mkoffload.c.
12973 (main): For non-installed testing, look in all COMPILER_PATHs for
12974 GCC_INSTALL_NAME.
12975
8747dd6e
TS
12976 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
12977
e6f7f0e9
AP
129782015-02-18 Andrew Pinski <apinski@cavium.com>
12979 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
12980
12981 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
12982 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
12983
1ede94c5
JH
129842015-02-17 Jan Hubicka <hubicka@ucw.cz>
12985
12986 * ipa-visibility.c (function_and_variable_visibility): Only
12987 check locality if node is not already local.
12988 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
12989 call_for_symbol_and_aliases instead of
12990 call_for_symbol_thunks_and_aliases.
12991 (ipa_inline): Likewise.
12992 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
12993 first walk aliases.
12994 * ipa.c (symbol_table::remove_unreachable_nodes): Use
12995 call_for_symbol_and_aliases.
12996 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
12997 (ipa_propagate_frequency_1): Use it; use opt_for_fn
12998 (ipa_propagate_frequency): Update.
12999 (ipa_profile): Add opt_for_fn gueards.
13000
f05911fb
OE
130012015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
13002
13003 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
13004 * doc/invoke.texi (SH options): Document it.
13005 * config/sh/sh.c (sh_insn_length_adjustment): Check
13006 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
13007
3c99176a
L
130082015-02-17 H.J. Lu <hongjiu.lu@intel.com>
13009
13010 * common.opt (fipa-cp-alignment): New.
13011 * ipa-cp.c (ipcp_store_alignment_results): Check
13012 flag_ipa_cp_alignment.
13013 * opts.c (default_options_table): Enable -fipa-cp-alignment for
13014 -O2.
13015 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
13016 * doc/invoke.texi: Document -fipa-cp-alignment.
13017
d420206e
OE
130182015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
13019
13020 PR target/64793
13021 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
13022 to nil. Adjust comments.
13023
1379ce8f
JH
130242015-02-17 Jan Hubicka <hubicka@ucw.cz>
13025
13026 * ipa-visibility.c (function_and_variable_visibility): Only
13027 check locality if node is not already local.
13028 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
13029 call_for_symbol_and_aliases instead of
13030 call_for_symbol_thunks_and_aliases.
13031 (ipa_inline): Likewise.
13032 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
13033 first walk aliases.
13034 * ipa.c (symbol_table::remove_unreachable_nodes): Use
13035 call_for_symbol_and_aliases.
13036 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
13037 (ipa_propagate_frequency_1): Use it; use opt_for_fn
13038 (ipa_propagate_frequency): Update.
13039 (ipa_profile): Add opt_for_fn guards.
13040
6f3c1d38
TS
130412015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13042
13043 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
13044 skipping of "strange" tokens.
13045
1d93fa5c
JL
130462015-02-17 Jeff Law <law@redhat.com>
13047
13048 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
13049 obsolete comment.
13050
61a17dca
JG
130512015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
13052
13053 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
13054 as forcing a HARD_DEP between instructions, thereby
13055 disallowing rewriting to break dependencies.
13056
87be7f0c
JH
130572015-02-16 Jan Hubicka <hubicka@ucw.cz>
13058
13059 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
13060 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
13061 variables in boundary that have no inlitalizer encoded and are
13062 not aliases.
13063 * varasm.c (default_binds_local_p_2): External definitions do not
13064 count as definitions here.
13065
215f8d9e
JL
130662015-02-16 Jeff Law <law@redhat.com>
13067
13068 PR tree-optimization/64823
13069 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
13070 statements.
13071 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
13072 threading through blocks with PHIs, but no statements.
13073 (thread_through_normal_block): Distinguish between blocks where
13074 we did not process all the statements and blocks with no statements.
13075
ed89033d
JJ
130762015-02-16 Jakub Jelinek <jakub@redhat.com>
13077 James Greenhalgh <james.greenhalgh@arm.com>
13078
13079 PR ipa/64963
13080 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
13081 section if not linkonce. Fix up formatting.
13082 (cgraph_node::create_version_clone_with_body): Copy section.
13083 * trans-mem.c (ipa_tm_create_version): Likewise.
13084
7b909872
RB
130852015-02-16 Richard Biener <rguenther@suse.de>
13086
13087 PR tree-optimization/65077
13088 * tree-ssa-structalias.c (get_constraint_for_1): Handle
13089 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
13090 (find_func_aliases): Allow float values to carry pointers again.
13091
4fb1c8f9
JG
130922015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
13093
13094 * doc/install.texi (Specific): Reorder targets list to put
13095 aarch64 in alphabetical order. Add a link to aarch64*-*-*
13096 from the top menu.
13097
403697ab
DE
130982015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
13099 David Edelsohn <dje.gcc@gmail.com>
13100
13101 PR target/65058
13102 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
13103 mapping class to external variable or function reference.
13104 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
13105 mapping class.
13106
131072015-02-16 David Eelsohn <dje.gcc@gmail.com>
13108
13109 PR target/53348
13110 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
13111 ASM_WEAKEN_DECL if defined.
13112
2d4df883
RB
131132015-02-16 Richard Biener <rguenther@suse.de>
13114
13115 PR lto/65015
13116 * varasm.c (default_file_start): For LTO produced units
13117 emit <artificial> as file directive.
13118
a933d47f
RB
131192015-02-16 Richard Biener <rguenther@suse.de>
13120
13121 PR tree-optimization/63593
13122 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
13123 stmts and releasing SSA names until...
13124 (execute_pred_commoning): ... after processing all chains.
13125
62991c35
JH
131262015-02-16 Jan Hubicka <hubicka@ucw.cz>
13127
13128 PR ipa/65059
13129 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
13130 external functions.
13131
e6f3f526
SL
131322015-02-15 Sandra Loosemore <sandra@codesourcery.com>
13133
13134 * doc/bugreport.texi: Adjust section titles throughout the file
13135 to use "Title Case".
13136 * doc/extend.texi: Likewise.
13137 * doc/gcov.texi: Likewise.
13138 * doc/implement-c.texi: Likewise.
13139 * doc/implement-cxx.texi: Likewise.
13140 * doc/invoke.texi: Likewise.
13141 * doc/objc.texi: Likewise.
13142 * doc/standards.texi: Likewise.
13143 * doc/trouble.texi: Likewise.
13144
190bbd0b
JH
131452015-02-15 Jan Hubicka <hubicka@ucw.cz>
13146
13147 * cgraph.h (symtab_node::has_aliases_p): Simplify.
13148 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
13149 * tree.c (lookup_binfo_at_offset): Make static.
13150 (get_binfo_at_offset): Do not shadow offset; add explanatory
13151 comment.
13152
feb675e4
JDA
131532015-02-15 John David Anglin <danglin@gcc.gnu.org>
13154
13155 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
13156 for all floading point loads and stores except those using a register
13157 index address.
13158 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
13159 to a register.
13160
cf3648f2
JH
131612015-02-14 Jan Hubicka <hubicka@ucw.cz>
13162
13163 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
13164 (do_estimate_growth_1): Record if any uninlinable edge was seen.
13165 (estimate_growth): Handle uninlinable edges correctly.
13166 (check_callers): New.
13167 (growth_likely_positive): Handle aliases correctly.
13168
31de7606
JH
131692015-02-14 Jan Hubicka <hubicka@ucw.cz>
13170
13171 * ipa-chkp.c: Use iterate_direct_aliases.
13172 * symtab.c (resolution_used_from_other_file_p): Move inline.
13173 (symtab_node::create_reference): Fix formating.
13174 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
13175 (symtab_node::iterate_reference): Move inline.
13176 (symtab_node::iterate_referring): Move inline.
13177 (symtab_node::iterate_direct_aliases): Move inline.
13178 (symtab_node::used_from_object_file_p_worker): Inline into ...
13179 (symtab_node::used_from_object_file_p): ... this one; move inline.
13180 (symtab_node::call_for_symbol_and_aliases): Move inline;
13181 use iterate_direct_aliases.
13182 (symtab_node::call_for_symbol_and_aliases_1): New method.
13183 (cgraph_node::call_for_symbol_and_aliases): Move inline;
13184 use iterate_direct_aliases.
13185 (cgraph_node::call_for_symbol_and_aliases_1): New method.
13186 (varpool_node::call_for_node_and_aliases): Rename to ...
13187 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
13188 use iterate_direct_aliases.
13189 (varpool_node::call_for_symbol_and_aliases_1): New method.
13190 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
13191 (ipa_discover_readonly_nonaddressable_var): Update.
13192 * ipa-devirt.c: Fix formating.
13193 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
13194 Move inline.
13195 (cgraph_node::call_for_symbol_and_aliases): Move inline.
13196 (cgraph_node::call_for_symbol_and_aliases_1): New function..
13197 * cgraph.h (used_from_object_file_p_worker): Remove.
13198 (resolution_used_from_other_file_p): Move inline.
13199 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
13200 (symtab_node::iterate_reference): Move inline.
13201 (symtab_node::iterate_referring): Move inline.
13202 (symtab_node::iterate_direct_aliases): Move inline.
13203 (symtab_node::used_from_object_file_p_worker): Inline into ...
13204 (symtab_node::used_from_object_file_p): Move inline.
13205 * tree-emutls.c (ipa_lower_emutls): Update.
13206 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
13207 (varpool_node::call_for_node_and_aliases): Remove.
13208
952e216e
JJ
132092015-02-14 Jakub Jelinek <jakub@redhat.com>
13210
13211 PR tree-optimization/62209
13212 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
13213 op == range->exp, insert seq and gimplified code after labels
13214 instead of after the phi.
13215
c7a28c1b
JL
132162015-02-13 Jeff Law <law@redhat.com>
13217
13218 PR bootstrap/65060
13219 Revert my change for tree-optimization/64823.
13220
f7a0790f
JJ
132212015-02-13 Jakub Jelinek <jakub@redhat.com>
13222
13223 PR tree-optimization/65053
13224 * tree-ssa-phiopt.c (value_replacement): When moving assign before
13225 cond, either reset VR on lhs or set it to phi result VR.
13226
be144838
JL
132272015-02-13 Jeff Law <law@redhat.com>
13228
8f895cf1
JL
13229 PR tree-optimization/64823
13230 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
13231 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
13232 threading through blocks with PHIs, but no statements.
13233 (thread_through_normal_block): Distinguish between blocks where
13234 we did not process all the statements and blocks with no statements.
13235
be144838
JL
13236 PR rtl-optimization/47477
13237 * match.pd (convert (plus/minus (convert @0) (convert @1): New
13238 simplifier to narrow arithmetic.
13239
d0502276
JH
132402015-02-13 Jan Hubicka <hubicka@ucw.cz>
13241
13242 PR ipa/65028
13243 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
13244 polymorphic call info when type is not known to be preserved.
13245
4fd94d1e
MJ
132462015-02-13 Maritn Jambor <mjambor@suse.cz>
13247
13248 PR ipa/65028
13249 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
13250 (inline_call): Use it.
dcdeca7a 13251
1f261e64
TS
132522015-02-13 Thomas Schwinge <thomas@codesourcery.com>
13253
13254 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
13255 GOMP_DEVICE_NVIDIA_PTX.
13256
730f474b
JJ
132572015-02-13 Jakub Jelinek <jakub@redhat.com>
13258
13259 PR ipa/65034
13260 * stmt.c (emit_case_nodes): Use void_type_node instead of
13261 NULL_TREE as LABEL_DECL type.
13262
98056c54
JDA
132632015-02-13 John David Anglin <danglin@gcc.gnu.org>
13264
13265 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
13266 constraints.
13267 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
13268 symbolic references to data to be forced to constant memory on the
13269 SOM target.
13270
fb0653ab
IE
132712015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
13272
13273 PR tree-optimization/65002
13274 * tree-cfg.c (pass_data_fixup_cfg): Don't update
13275 SSA on start.
13276 * tree-sra.c (some_callers_have_no_vuse_p): New.
13277 (ipa_early_sra): Reject functions whose callers
13278 assume function is read only.
13279
3c780bb2
RB
132802015-02-13 Richard Biener <rguenther@suse.de>
13281
13282 PR lto/65015
13283 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
13284 for LTO produced CUs.
13285
fc06280e
BC
132862015-02-13 Bin Cheng <bin.cheng@arm.com>
13287
13288 PR tree-optimization/64705
13289 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
13290 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
13291 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
13292 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
13293 expand_simple_operations.
13294
132952015-02-13 H.J. Lu <hongjiu.lu@intel.com>
6a1e352e
L
13296 Richard Henderson <rth@redhat.com>
13297
13298 PR rtl/32219
13299 * cgraphunit.c (cgraph_node::finalize_function): Set definition
13300 before notice_global_symbol.
13301 (varpool_node::finalize_decl): Likewise.
13302 * varasm.c (default_binds_local_p_2): Rename from
13303 default_binds_local_p_1, add weak_dominate argument. Use direct
13304 returns instead of assigning to local variable. Unify varpool and
13305 cgraph paths via symtab_node. Reject undef weak variables before
13306 testing visibility. Reorder tests for simplicity.
13307 (default_binds_local_p): Use default_binds_local_p_2.
13308 (default_binds_local_p_1): Likewise.
13309 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
13310 via symtab_node.
13311 (default_elf_asm_output_external): Emit visibility when specified.
13312
5f2fa78a
AM
133132015-02-13 Alan Modra <amodra@gmail.com>
13314
13315 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
13316 code setting up r11 for out-of-line fp restore.
13317
fc06280e 133182015-02-13 Eric Botcazou <ebotcazou@adacore.com>
dfc61f1f
EB
13319
13320 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
13321 (muser-mode): Likewise.
13322
8ae6ac51
AM
133232015-02-13 Alan Modra <amodra@gmail.com>
13324
13325 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
13326 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
13327
81018dcf
DH
133282015-02-12 David Howells <dhowells@redhat.com>
13329
13330 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
13331 warning.
13332 * tree-ssa-uninit.c (dump_predicates): Likewise.
13333 * opts.c (print_filtered_help): Likewise.
13334
2cea0398
JJ
133352015-02-12 Jakub Jelinek <jakub@redhat.com>
13336
2f13a42d
JJ
13337 * dwarf2out.c (output_die): Use "%s", name instead of name to
13338 avoid -Wformat-security warning.
13339
2cea0398
JJ
13340 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
13341 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
13342 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
13343 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
13344
f522930c
JM
133452015-02-12 Jason Merrill <jason@redhat.com>
13346
13347 * common.opt (-flifetime-dse): New.
13348
01f834e3
JJ
133492015-02-12 Jakub Jelinek <jakub@redhat.com>
13350
ed5a5b38
JJ
13351 PR sanitizer/65019
13352 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
13353
01f834e3
JJ
13354 PR tree-optimization/65014
13355 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
13356 use original second operand of arg0 or arg1 instead of
13357 that adjusted by STRIP_NOPS.
13358
3f9b5ffb
JL
133592015-02-11 Jeff Law <law@redhat.com>
13360
13361 PR target/63347
13362 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
13363 that needs to be queued, just queue it for a single cycle.
13364
d3f2e41e
JH
133652015-02-11 Jan Hubicka <hubicka@ucw.cz>
13366
13367 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
13368 bodies of thunks; comment on why.
13369 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
13370 symbols are extern.
13371
5b1441be
RH
133722015-02-11 Richard Henderson <rth@redhat.com>
13373
13374 PR sanitize/65000
13375 * tree-eh.c (mark_reachable_handlers): Mark source and destination
13376 regions of __builtin_eh_copy_values.
13377
3292dd40
JJ
133782015-02-11 Jakub Jelinek <jakub@redhat.com>
13379
13380 PR middle-end/65003
13381 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
13382 ultimate alias is MEM with SYMBOL_REF satisfying
13383 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
13384 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
13385
e6f229ca
TS
133862015-02-11 Thomas Schwinge <thomas@codesourcery.com>
13387
ce888a99
TS
13388 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
13389 "diagnostic-core.h".
13390 (main): Initialize progname, and call diagnostic_initialize.
13391
9584e638
TS
13392 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
13393 instead of __OPENMP_TARGET__.
13394
e6f229ca
TS
13395 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
13396 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
13397 hard-coding PTX_ID.
13398
a8d790df
L
133992015-02-11 H.J. Lu <hongjiu.lu@intel.com>
13400
13401 * doc/sourcebuild.texi (pie_enabled): Document.
13402
c43ade80
ML
134032015-02-11 Martin Liska <mliska@suse.cz>
13404
13405 PR ipa/64813
13406 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
13407 a return value for call to a function that is noreturn.
13408
ece70d33
RB
134092015-02-11 Richard Biener <rguenther@suse.de>
13410
13411 PR lto/65015
13412 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
13413 and -fresolution.
13414
9c4f25cc
AP
134152015-02-11 Andrew Pinski <apinski@cavium.com>
13416
13417 PR target/64893
13418 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
13419 Change the first argument type to size_type_node and add another
13420 size_type_node.
13421 (aarch64_simd_expand_builtin): Handle the new argument to
13422 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
13423 print an out when the first two arguments are not
13424 nonzero integer constants.
13425 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
13426 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
13427
386f7cae
JJ
134282015-02-11 Jakub Jelinek <jakub@redhat.com>
13429
13430 PR target/61925
13431 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
13432 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
13433 (ix86_set_current_function): Rewritten.
13434 (ix86_add_new_builtins): Temporarily clear current_target_pragma
13435 when creating builtin fndecls.
13436
4bd019b8
JH
134372015-02-10 Jan Hubicka <hubicka@ucw.cz>
13438
13439 PR ipa/65005
13440 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
13441 function.
13442 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
13443 have no comdat group.
13444 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
13445 (lto_output_varpool_node): Always output alias info.
13446 (output_refs): Output refs of boundary aliases, too.
13447 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
13448 (output_symtab): Output call eges in thunks in boundary.
13449 (get_alias_symbol): Remove.
13450 (input_node, input_varpool_node): Do not special case weakrefs.
13451 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
13452 alias and thunks targets in the boundary; do not take removed symbols
13453 from their comdat groups.
13454 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
13455 (cgraph_node::global_info): Remove.
13456 (cgraph_node::rtl_info): Look through aliases and thunks.
13457 * cgrpah.h (global_info): Remove.
13458 (non_local_p): Remove.
13459
6dc6e7d0
DW
134602015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
13461 Sandra Loosemore <sandra@codesourcery.com>
13462
13463 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
13464 to inline asm. List dialects in proper order.
13465
78f76f2f
DW
134662015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
13467 Sandra Loosemore <sandra@codesourcery.com>
13468
13469 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
13470
c09d6901
DW
134712015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
13472
13473 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
dcdeca7a 13474 modified) reference to Solaris.
c09d6901 13475
f9911556
SL
134762015-02-10 Sandra Loosemore <sandra@codesourcery.com>
13477
13478 * doc/extend.texi (Extended Asm): Fix typos.
13479
c8aa1929
JJ
134802015-02-10 Jakub Jelinek <jakub@redhat.com>
13481
13482 PR sanitizer/65004
13483 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
13484
2fdc0399
OE
134852015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
13486
13487 PR target/64661
13488 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
13489 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
13490 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
13491 * config/sh/constraints.md (Ara, Add): New constraints.
13492 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
13493 predicates.
13494 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
13495 atomic_mem_operand_0. Don't use force_reg on the memory address.
13496 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
13497 Sra constraint. Convert to insn_and_split. Add workaround for
13498 PR 64974.
13499 (atomic_compare_and_swap<mode>_hard): Copy to
13500 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
13501 Use atomic_mem_operand_0 predicate.
13502 (atomic_compare_and_swap<mode>_soft_gusa,
13503 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
13504 AraAdd constraints.
13505 (atomic_compare_and_swap<mode>_soft_tcb,
13506 atomic_compare_and_swap<mode>_soft_imask,
13507 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
13508 atomic_mem_operand_0 predicate and SraSdd constraints.
13509 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
13510 constraint.
13511 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
13512 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
13513 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
13514 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
13515 force_reg on the memory address.
13516 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
13517 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
13518 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
13519 atomic_mem_operand_1 predicate and Sra constraint.
13520 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
13521 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
13522 Use atomic_mem_operand_1 predicate.
13523 (atomic_<fetchop_name><mode>_hard): Copy to
13524 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
13525 Use atomic_mem_operand_1 predicate.
13526 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
13527 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
13528 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
13529 insn_and_split. Use atomic_mem_operand_1 predicate.
13530 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
13531 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
13532 Use atomic_mem_operand_1 predicate.
13533 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
13534 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
13535 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
13536 in generated insn with original mem operand before emitting the insn.
13537 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
13538 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
13539 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
13540 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
13541 Use atomic_mem_operand_1 predicate and AraAdd constraints.
13542 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
13543 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
13544 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
13545 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
13546 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
13547 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
13548 atomic_not_fetch<mode>_soft_tcb,
13549 atomic_<fetchop_name>_fetch<mode>_soft_imask,
13550 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
13551 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
13552 Use atomic_mem_operand_1 predicate and SraSdd constraints.
13553
afa20874
UB
135542015-02-10 Uros Bizjak <ubizjak@gmail.com>
13555
13556 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
13557 and 3 earlyclobber operands.
13558
082908e3
JH
135592015-02-10 Jan Hubicka <hubicka@ucw.cz>
13560
13561 * common.opt (fstack-reuse): Mark as optimization.
13562
d90cae08
JH
135632015-02-10 Jan Hubicka <hubicka@ucw.cz>
13564
13565 PR ipa/64982
afa20874 13566 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
d90cae08 13567
11f3ac49
TS
135682015-02-10 Trevor Saunders <tsaunders@mozilla.com>
13569
13570 PR tree-optimization/64326
13571 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
13572
e4c2ac36
RE
135732015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
13574
13575 PR gcov-profile/61889
13576 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
13577
703c9ccd
RB
135782015-02-10 Richard Biener <rguenther@suse.de>
13579
13580 PR tree-optimization/64995
13581 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
13582 value we use is final.
13583 (visit_reference_op_store): Always valueize op.
13584 (visit_use): Properly valueize vuses.
13585
696814ed
RB
135862015-02-10 Richard Biener <rguenther@suse.de>
13587
13588 PR tree-optimization/64909
13589 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
13590 pass a scalar-stmt count estimate to the cost model.
13591 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
13592
644a4761
AM
135932015-02-10 Alexander Monakov <amonakov@ispras.ru>
13594
13595 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
13596 enabled by default together with var-tracking.
13597
7299e9f1
NC
135982015-02-10 Nick Clifton <nickc@redhat.com>
13599
13600 * config/rl78/rl78.c: Remove DIV attribute code accidentally
13601 included in previous rl78 commit.
13602
bab4f4e3
RB
136032015-02-10 Richard Biener <rguenther@suse.de>
13604
13605 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
13606 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
13607 return the bitpack.
13608
37050045
TS
136092015-02-09 Trevor Saunders <tsaunders@mozilla.com>
13610
13611 PR gcov-profile/61889
13612 * config.in: regenerate.
13613 * configure.in: Likewise.
13614 * configure.ac: Check for ftw.h.
13615 * gcov-tool.c: Check for ftw.h before using nftw.
13616
a9e083cc
TS
136172015-02-09 Trevor Saunders <tsaunders@mozilla.com>
13618
13619 PR lto/64076
13620 * ipa-visibility.c (update_visibility_by_resolution_info): Only
13621 assert when not in lto mode.
13622
10ac6596 136232015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
32721b2c
ZZ
13624
13625 * ira-color.c (setup_left_conflict_sizes_p): Simplify
13626 initialization/assignment of conflict_size.
13627
94a2f772
JH
136282015-02-09 Jan Hubicka <hubicka@ucw.cz>
13629
13630 PR ipa/64978
13631 * ipa-cp.c (gather_caller_stats): Skip thunks.
13632 (propagate_constants_topo): Skip aliases.
13633
d808ecdd
KK
136342015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
13635
13636 PR target/64761
13637 * config/sh/sh.c (sh_option_override): Don't change
13638 -freorder-blocks-and-partition to -freorder-blocks even when
13639 unwinding is enabled.
13640 (sh_can_follow_jump): Return false if the followee jump is
13641 a crossing jump when -freorder-blocks-and-partition is specified.
13642 * config/sh/sh.md (*jump_compact_crossing): New insn.
13643
cf6186e9
JR
136442015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
13645 Kaz Kojima <kkojima@gcc.gnu.org>
13646
13647 PR target/64761
13648 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
13649 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
13650 (sh_can_redirect_branch): Rename to ...
13651 (sh_can_follow_jump): ... this. Constify argument types.
13652 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
13653 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
13654 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
13655 * doc/tm.texi: Regenerate.
13656
d51151b2
JJ
136572015-02-09 Jakub Jelinek <jakub@redhat.com>
13658
13659 PR sanitizer/64981
13660 * builtins.c (expand_builtin): Call targetm.expand_builtin
13661 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
13662
62484417
JH
136632015-02-08 Jan Hubicka <hubicka@ucw.cz>
13664
13665 PR ipa/61548
13666 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
13667
106b5466
JH
136682015-02-08 Jan Hubicka <hubicka@ucw.cz>
13669
7299e9f1 13670 PR ipa/63566
106b5466
JH
13671 * ipa-icf.c (set_local): New function.
13672 (sem_function::merge): Use it.
13673
7d8adcba
JH
136742015-02-08 Jan Hubicka <hubicka@ucw.cz>
13675
13676 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
13677 (add_type_duplicate): Fix comparison of BINFOs.
13678
62c7e4b7
JH
136792015-02-08 Jan Hubicka <hubicka@ucw.cz>
13680
13681 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
13682 on getting VOID pointer.
13683
21c0137a
JJ
136842015-02-09 Jakub Jelinek <jakub@redhat.com>
13685
13686 PR target/64979
13687 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
13688 va_list escapes.
13689
434fa903
RB
136902015-02-09 Richard Biener <rguenther@suse.de>
13691
13692 * genmatch.c (replace_id): Copy expr_type.
13693
b6bf201e
RB
136942015-02-09 Richard Biener <rguenther@suse.de>
13695
13696 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
13697 (streamer_write_tree_bitfields): Declare.
13698 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
13699 properly unpack padding.
13700 (unpack_value_fields): Inline ...
13701 (streamer_read_tree_bitfields): ... here.
13702 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
13703 and properly add padding bits.
13704 (streamer_pack_tree_bitfields): Fold into ...
13705 (streamer_write_tree_bitfields): ... this new function,
13706 exposing the bitpack object.
13707 * lto-streamer-out.c (lto_write_tree_1): Call
13708 streamer_write_tree_bitfields.
13709
28002f1a
RB
137102015-02-09 Richard Biener <rguenther@suse.de>
13711
13712 PR tree-optimization/54000
13713 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
13714 (struct ivopts_data): Add loop_loc member.
13715 (tree_ssa_iv_optimize_loop): Dump loop location.
13716 (create_new_ivs): Likewise, also dump number of IVs generated.
13717
e3e968e9
ML
137182015-02-09 Martin Liska <mliska@suse.cz>
13719
13720 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
13721 just if not yet registered.
13722 (ipa_icf_generate_summary): Register callgraph hooks.
13723
8276bf92
AP
137242015-02-08 Andrew Pinski <apinski@cavium.com>
13725
13726 * config/aarch64/aarch64.c (gty_dummy): Delete.
13727
953aad61
JH
137282015-02-08 Jan Hubicka <hubicka@ucw.cz>
13729
7299e9f1 13730 PR ipa/63566
953aad61
JH
13731 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
13732 (cgraph_node::local_p): Remove thunk related FIXME.
13733
ead0ba57
JH
137342015-02-08 Jan Hubicka <hubicka@ucw.cz>
13735
7299e9f1 13736 PR ipa/63566
ead0ba57
JH
13737 * i386.c (ix86_function_regparm): Look through aliases to see if callee
13738 is local and optimized.
13739 (ix86_function_sseregparm): Likewise; also use target's SSE math
13740 settings; error out instead of silently generating wrong code
13741 on mismatches.
13742 (init_cumulative_args): Look through aliases.
13743
42685f72
JH
137442015-02-08 Jan Hubicka <hubicka@ucw.cz>
13745
7299e9f1 13746 PR ipa/63566
42685f72
JH
13747 * ipa-split.c (execute_split_functions): Split if function has aliases.
13748
9641fab3
JH
137492015-02-08 Jan Hubicka <hubicka@ucw.cz>
13750
7299e9f1 13751 PR ipa/63566
9641fab3
JH
13752 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
13753 aliases before trying to expand it.
13754 (cgraph_node::expand_thunk): Fix formating.
13755
d719aff9
SL
137562015-02-07 Sandra Loosemore <sandra@codesourcery.com>
13757
13758 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
13759 (Using Assembly Language with C): Expand introduction.
13760 (Basic Asm): Copy-edit. Add more information about uses of
13761 basic asm.
13762 (Extended Asm): Copy-edit. Document new escape syntax and
13763 %l[label] syntax.
13764 (Global Reg Vars): Copy-edit.
13765 (Local Reg Vars): Likewise.
13766
0f32bcbd
DE
137672015-02-06 David Edelsohn <dje.gcc@gmail.com>
13768
13769 PR debug/2714
13770 PR bootstrap/64256
13771 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
13772 (DBX_CONTIN_CHAR): Define.
13773
45beb02e
SP
137742015-02-06 Sebastian Pop <s.pop@samsung.com>
13775 Brian Rzycki <b.rzycki@samsung.com>
13776
13777 PR tree-optimization/64878
13778 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
13779 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
13780 Stop recursion at loop phi nodes after having visited a loop phi node.
13781
bbd1bae2
JJ
137822015-02-06 Jakub Jelinek <jakub@redhat.com>
13783
f3ab4eed
JJ
13784 * toplev.c (process_options): Change flag_ipa_ra before creating
13785 optimization_{default,current}_node.
13786
bbd1bae2
JJ
13787 PR ipa/64896
13788 * cgraphunit.c (cgraph_node::expand_thunk): If
13789 restype is not is_gimple_reg_type nor the thunk_fndecl
13790 returns aggregate_value_p, set restmp to a temporary variable
13791 instead of resdecl.
13792
091790a7
VM
137932015-02-06 Vladimir Makarov <vmakarov@redhat.com>
13794
13795 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
13796
46290aa8
MM
137972015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
13798
13799 PR target/64205
13800 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
13801 add a general secondary reload handler for SDmode, unless we have
13802 both read/write support for SDmode.
13803
62276744
JJ
138042015-02-06 Jakub Jelinek <jakub@redhat.com>
13805
13806 PR middle-end/64937
13807 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
13808 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
13809 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
13810 1 before, push it to abstract_vec.
13811 (dwarf2out_abstract_function): Adjust caller. Don't call
13812 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
13813 DECL_ABSTRACT_P flags for all abstract_vec elts.
13814
f376994a
RL
138152015-02-06 Renlin Li <renlin.li@arm.com>
13816
13817 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
13818 complex gimple.
13819 * tree-ssa.c (execute_update_addresses_taken): Likewise.
13820
1901e8d6
JL
138212015-02-06 Jeff Law <law@redhat.com>
13822
13823 PR target/64889
13824 * config/h8300/h8300.c (push): New argument "in_prologue".
13825 Pass "in_prologue" along to "F".
13826 (h8300_push_pop): Corresponding changes.
13827 (h8300_expand_prologue): Likewise.
13828 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
46290aa8 13829
d26ac279
JJ
138302015-02-06 Jakub Jelinek <jakub@redhat.com>
13831
13832 PR rtl-optimization/64957
13833 PR debug/64817
13834 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
13835 IOR rather than for AND.
13836
9fb87eb0
EB
138372015-02-06 Eric Botcazou <ebotcazou@adacore.com>
13838
13839 PR target/62631
13840 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
13841 of shift-add and (add + shift) operations. Rename local variable.
13842
d00f6ca6
JL
138432015-02-05 Jeff Law <law@redhat.com>
13844
9f9ab303
JL
13845 PR target/17306
13846 * config/h8300/constraints.md (U): Correctly dectect
13847 "eightbit_data" memory addresses.
13848 * config/h8300/h8300.c (eightbit_constant_address_p): Also
13849 handle (const (plus (symbol_ref (x)))) where x is declared
13850 as an 8-bit data memory address.
13851 * config/h8300/h8300.md (call, call_value): Correctly detect
13852 "funcvec" functions.
13853
d00f6ca6
JL
13854 PR target/43264
13855 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
13856 24 to 28 bits for the H8/300.
13857
b871a06f
AM
138582015-02-06 Alan Modra <amodra@gmail.com>
13859
13860 PR target/64876
13861 * config/rs6000/rs6000.c (chain_already_loaded): New function.
13862 (rs6000_call_aix): Use it.
13863
370a7814
JH
138642015-02-05 Jan Hubicka <hubicka@ucw.cz>
13865
13866 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
13867 check.
13868
b291a202
JL
138692015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
13870
13871 * config/h8300/constraints.md ("U" constraint): Use strict
13872 variant of REG_OK_FOR_BASE_P after reload has started.
13873
29e1d31b
MM
138742015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
13875
13876 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
13877 define to zero if !TARGET_NEON.
09008d80 13878 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
29e1d31b 13879
a0cbab4a
JH
138802015-02-04 Jan Hubicka <hubicka@ucw.cz>
13881 Trevor Saunders <tsaunders@mozilla.com>
13882
13883 PR ipa/61548
13884 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
13885
d2b35c04
JH
138862015-02-04 Jan Hubicka <hubicka@ucw.cz>
13887
13888 PR ipa/61548
13889 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
13890 when removing varpool nodes.
13891
65a428db
JH
138922015-02-04 Jan Hubicka <hubicka@ucw.cz>
13893
13894 PR ipa/61548
13895 * varpool.c (varpool_node::remove): Fix order of variables.
13896
c1eed5a1
JH
138972015-02-04 Jan Hubicka <hubicka@ucw.cz>
13898
13899 PR ipa/64686
13900 * ipa-inline.c (inline_small_functions): Fix ordering issue between
13901 speculation resolution and key updates.
13902
73d098df
JH
139032015-02-04 Jan Hubicka <hubicka@ucw.cz>
13904
13905 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
13906 about not letting any speculative edges unupdated.
13907
88d67744
JH
139082015-02-04 Jan Hubicka <hubicka@ucw.cz>
13909
13910 PR gcov/64123
13911 * gcov-io.c (gcov_var): Export.
13912
3ff29913
JH
139132015-02-04 Jan Hubicka <hubicka@ucw.cz>
13914
13915 PR middle-end/64922
13916 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
13917 edges that become speculative.
13918
de3aebff
JJ
139192015-02-04 Jakub Jelinek <jakub@redhat.com>
13920
13921 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
13922 or DW_LANG_Fortran08.
13923 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
13924 DW_LANG_Fortran08.
13925 (gen_compile_unit_die): Handle "GNU Fortran2003" and
13926 "GNU Fortran2008" language strings.
13927 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
13928 * langhooks.h (lang_GNU_Fortran): New prototype.
13929 * langhooks.c (lang_GNU_Fortran): New function.
13930 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
13931 lang_GNU_Fortran.
13932
a6bc87d3
EB
139332015-02-04 Eric Botcazou <ebotcazou@adacore.com>
13934
13935 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
13936 (RTX_OK_FOR_OLO10_P): Likewise.
13937
5a33f47d
EB
139382015-02-04 Eric Botcazou <ebotcazou@adacore.com>
13939
13940 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
13941
0b986c6a
JH
139422015-02-04 Jan Hubicka <hubicka@ucw.cz>
13943
13944 PR middle-end/64922
13945 * gimple.c: Include gimple-ssa.h.
13946 (maybe_remove_unused_call_args): New function.
13947 * gimple.h (maybe_remove_unused_call_args): Declare.
13948 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
13949 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
13950 * gimple-fold.c (gimple_fold_call): Likewise.
13951
7489140d
L
139522015-02-04 H.J. Lu <hongjiu.lu@intel.com>
13953
13954 PR rtl-optimization/64905
13955 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
13956 pointer alignment if it isn't needed.
13957
d8f70d78
MW
139582015-02-04 Matthew Wahab <matthew.wahab@arm.com>
13959
13960 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
13961 cortex-a72.cortex-a53.
13962 * config/aarch64/aarch64-tune.md: Regenerate.
13963 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
13964
771bef14
NC
139652015-02-04 Nick Clifton <nickc@redhat.com>
13966
13967 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
13968 inside a MEM.
13969
e3bc4a35
JJ
139702015-02-04 Jakub Jelinek <jakub@redhat.com>
13971
13972 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
13973 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
13974 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
13975 of DEF_BUILTIN.
13976 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
13977 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
13978 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
13979 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
13980 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
13981 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
13982 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
13983 * tree-core.h (enum built_in_function): In between
13984 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
13985 for builtins that use DEF_BUILTIN_CHKP macro.
13986
a720f0ef
AO
139872015-02-04 Alexandre Oliva <aoliva@redhat.com>
13988
871dae34
AO
13989 PR debug/64817
13990 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
13991 operands for tcc_comparison exprs. Fix typos.
13992
af9f5d95
AO
13993 PR debug/64817
13994 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
13995 of two XORs that have an intervening AND or IOR.
13996
a720f0ef
AO
13997 PR debug/64817
13998 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
13999 simplification of XOR of AND to not allocate new rtx before
14000 committing to a simplification.
14001
a1ac8050
KT
140022015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14003
14004 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
14005 manual swaps in all peepholes.
14006
cb5c6c29
KT
140072015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14008
14009 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
14010 of manual swapping implementation.
14011 (aarch64_expand_vec_perm_const_1): Likewise.
14012
bd95e655
JG
140132015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
14014
14015 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
14016 (generic_addrcost_table): Remove NAMED_PARAM.
14017 (cortexa57_addrcost_table): Likewise.
14018 (xgene1_addrcost_table): Likewise.
14019 (generic_regmove_table): Likewise.
14020 (cortexa53_regmove_table): Likewise.
14021 (xgene1_regmove_table): Likewise.
14022 (generic_vector_table): Likewise.
14023 (cortexa57_vector_table): Likewise.
14024 (xgene1_vector_table): Likewise.
14025 (generic_tunings): Likewise.
14026 (cortexa53_tunings): Likewise.
14027 (cortexa57_tunings): Likewise.
14028 (xgene1_tunings): Likewise.
14029
4f2ab1e6
MW
140302015-02-04 Matthew Wahab <matthew.wahab@arm.com>
14031
14032 * config/arm/arm-cores.def: Add cortex-a72 and
14033 cortex-a72.cortex-a53.
14034 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
14035 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
14036 * config/arm/arm-tune.md: Regenerate.
14037 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
14038 "cortex-a72.cortex-a53".
14039 * doc/invoke.texi (ARM Options/-mtune): Likewise.
14040
6f56da5d
NC
140412015-02-04 Nick Clifton <nickc@redhat.com>
14042
20693e97
NC
14043 PR target/64408
14044 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
14045 of accepted codes.
14046 (nonimmediate_di_operand): Likewise.
14047
6f56da5d
NC
14048 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
14049 prefixes of known F5 using MSP430 MCUs.
14050
151ac6e2
KT
140512015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14052
14053 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
14054 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
14055 instead of __builtin_sqrt.
14056
283b44f9
IE
140572015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
14058
14059 * varasm.c (do_assemble_alias): Follow transparent alias
14060 chain for target.
14061 (default_assemble_visibility): Follow transparent alias
14062 chain for decl name.
14063
cc9ef6a6
TP
140642015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
14065
14066 PR middle-end/62103
14067 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
14068 to compute size of referenced value in the constant case.
14069
2a1d78d8
JJ
140702015-02-03 Jakub Jelinek <jakub@redhat.com>
14071
14072 PR rtl-optimization/64756
14073 * cse.c (invalidate_dest): New function.
14074 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
14075 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
14076 invalidate and do not record it.
14077
3548abca
OE
140782015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
14079
14080 PR target/64660
14081 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
14082 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
14083 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
14084 atomic_nand<mode>_soft_tcb): New insns.
14085 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
14086 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
14087 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
14088 Split into atomic_not_fetchsi_hard if operands[0] is unused.
14089 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
14090 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
14091 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
14092 atomic_not<mode>_hard if operands[0] is unused.
14093 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
14094 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
14095 if operands[0] is unused.
14096 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
14097 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
14098 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
14099 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
14100 unused.
14101 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
14102 into atomic_not<mode>_soft_tcb if operands[0] is unused.
14103 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
14104 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
14105 if operands[0] is unused.
14106 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
14107 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
14108 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
14109 atomic_nand_fetchsi_hard if operands[0] is unused.
14110 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
14111 atomic_nand<mode>_hard if operands[0] is unused.
14112 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
14113 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
14114 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
14115 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
14116 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
14117 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
14118 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
14119 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
14120 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
14121 atomic_not<mode>_hard if operands[0] is unused.
14122 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
14123 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
14124 unused.
14125 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
14126 into atomic_not<mode>_soft_tcb if operands[0] is unused.
14127 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
14128 atomic_nand<mode>_hard if operands[0] is unused.
14129 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
14130 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
14131
2cb844ce
DM
141322015-02-03 David Malcolm <dmalcolm@redhat.com>
14133
14134 PR jit/64810
14135 * Makefile.in (GCC_OBJS): Add gcc-main.o.
14136 * gcc-main.c: New file, containing "main" taken from gcc.c.
14137 * gcc.c (do_self_spec): Free decoded_options.
14138 (class driver): Move declaration to gcc.h.
14139 (main): Move declaration and implementation to new file
14140 gcc-main.c.
14141 (driver_get_configure_time_options): New function.
14142 * gcc.h (class driver): Move this declaration here, from
14143 gcc.c.
14144 (driver_get_configure_time_options): New declaration.
14145
ebc8f0bb
JH
141462015-02-03 Jan Hubicka <hubicka@ucw.cz>
14147
14148 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
14149 cross-module inlining.
14150 * cgraph.h (cgraph_node): Add flag merged.
14151 * ipa-icf.c (sem_function::merge): Maintain it.
14152
901e59b2
RS
141532015-02-03 Richard Sandiford <richard.sandiford@arm.com>
14154
14155 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
14156 instead of OBJECT_P.
14157
aa47faf0
EB
141582015-02-03 Eric Botcazou <ebotcazou@adacore.com>
14159
14160 PR target/62631
14161 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
14162 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
14163 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
14164 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
14165
76f0aa6c
JJ
141662015-02-03 Jakub Jelinek <jakub@redhat.com>
14167
14168 PR other/63504
14169 * combine.c (reg_n_sets_max): New variable.
14170 (can_change_dest_mode, reg_nonzero_bits_for_combine,
14171 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
14172 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
14173 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
14174 (rest_of_handle_combine): Initialize reg_n_sets_max.
14175
d67bce7c
JH
141762015-02-02 Jan Hubicka <hubicka@ucw.cz>
14177
14178 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
14179 if some always_inline was inlined, apply changes before inlining
14180 heuristically.
14181
c58bfead
DM
141822015-02-02 David Malcolm <dmalcolm@redhat.com>
14183
14184 PR jit/64810
14185 * config/arm/arm.c (arm_option_override): Set
14186 arm_selected_arch/cpu/tune to NULL on entry.
14187
3ff5d1f0
TB
141882015-02-02 Tejas Belagod <tejas.belagod@arm.com>
14189 Andrew Pinski <pinskia@gcc.gnu.org>
14190 Jakub Jelinek <jakub@gcc.gnu.org>
14191
14192 PR target/64231
14193 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
14194 integer typing for small model. Use IN_RANGE.
14195
7dd1f7ac
RB
141962015-02-02 Richard Biener <rguenther@suse.de>
14197
14198 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
14199 * tree-vrp.c (vrp_valueize_1): Likewise.
14200
e404a667
AM
142012015-02-02 Alan Modra <amodra@gmail.com>
14202
14203 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
14204 than mem for toc_restore.
14205 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
14206 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
14207 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
14208
353f8ac5
DE
142092015-02-01 David Edelsohn <dje.gcc@gmail.com>
14210
14211 PR target/64047
14212 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
14213 explicit default options.
14214
142152015-02-01 Jan Hubicka <hubicka@ucw.cz>
b730d1c9
JH
14216
14217 PR ipa/64872
14218 * ipa-utils.c (ipa_merge_profiles): Add release argument.
14219 * ipa-icf.c (sem_function::merge): Do not release body when merging.
14220 * ipa-utils.h (ipa_merge_profiles): Update prototype.
14221
dfde35b3
JJ
142222015-02-01 Jakub Jelinek <jakub@redhat.com>
14223
14224 PR debug/64817
14225 * cfgexpand.c (deep_ter_debug_map): New variable.
14226 (avoid_deep_ter_for_debug): New function.
14227 (expand_debug_expr): If TERed SSA_NAME is in
14228 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
14229 instead of trying to expand SSA_NAME's def stmt.
14230 (expand_debug_locations): When expanding debug bind
14231 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
14232 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
14233 value.
14234 (pass_expand::execute): Call avoid_deep_ter_for_debug on
14235 all debug bind stmts. Delete deep_ter_debug_map after
14236 expand_debug_location if non-NULL and clear it.
14237
2b8427ca
OE
142382015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
14239
14240 PR target/64851
14241 * config/sh/sync.md (atomic_fetch_notsi_hard,
14242 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
14243 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
14244 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
14245 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
14246 atomic_not_fetch<mode>_soft_imask): New insns.
14247
63387a85
MK
142482015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14249
14250 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
14251 (rank_for_schedule_debug): Split from ...
14252 (rank_for_schedule): ... this.
14253 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
14254 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
14255
b4fbcb1b
SL
142562015-01-31 Sandra Loosemore <sandra@codesourcery.com>
14257
14258 * doc/md.texi (Machine Constraints): Alphabetize table by target.
14259 * doc/extend.texi (x86 Variable Attributes): Move section to
14260 correct alphabetization after renaming.
14261 (x86 Type Attributes): Likewise.
14262 (Target Builtins): Re-alphabetize menu.
14263 (x86 Built-in Functions): Move section to correct alphabetization
14264 after renaming.
14265 (x86 transactional memory intrinsics): Likewise.
14266 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
14267 and x86 Windows Options in table and menu.
14268 (x86 Options): Move section to correct alphabetization after
14269 renaming.
14270 (x86 Windows Options): Likewise.
14271
0353c564
SL
142722015-01-31 Sandra Loosemore <sandra@codesourcery.com>
14273
14274 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
14275 preferred names of the architecture and its 32- and 64-bit
14276 variants.
14277 * doc/invoke.texi: Likewise.
14278 * doc/md.texi: Likewise.
14279
0d9a5f8a
UB
142802015-01-31 Uros Bizjak <ubizjak@gmail.com>
14281
2b8427ca 14282 PR target/64882
0d9a5f8a
UB
14283 * config/i386/predicates.md (address_no_seg_operand): Reject
14284 non-CONST_INT_P operands in invalid mode.
14285
142862015-01-31 Uros Bizjak <ubizjak@gmail.com>
14287
14288 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
14289 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
14290 * config/i386/predicates.md (address_no_seg_operand): Call
14291 address_operand with VOIDmode.
14292 (vsib_address_operand): Ditto.
14293 (address_mpx_no_base_operand): Ditto.
14294 (address_mpx_no_index_operand): Ditto.
14295
895ff86f
VM
142962015-01-30 Vladimir Makarov <vmakarov@redhat.com>
14297
14298 PR target/64688
14299 * lra-constraints.c (original_subreg_reg_mode): New.
14300 (simplify_operand_subreg): Try to simplify subreg of const. Use
14301 original_subreg_reg_mode for it.
14302 (swap_operands): Update original_subreg_reg_mode.
14303 (curr_insn_transform): Set up original_subreg_reg_mode.
14304
3c954213
VM
143052015-01-30 Vladimir Makarov <vmakarov@redhat.com>
14306
14307 PR target/64617
14308 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
14309 function.
14310 (process_alt_operands): Use it.
14311 (curr_insn_transform): Check the optional reload pseudo class is
14312 ok for the mode.
14313
40fecdd6
JM
143142015-01-30 Joseph Myers <joseph@codesourcery.com>
14315
14316 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
14317 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
14318 prototype.
14319 * toplev.h (init_asm_output): Update comment on use of
14320 UNKNOWN_LOCATION with fatal_error.
14321 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
14322 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
14323 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
14324 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
14325 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
14326 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
14327 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
14328 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
14329 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
14330 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
14331 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
14332 fatal_error changed to pass input_location as first argument.
14333
168be70b
ML
143342015-01-30 Martin Liska <mliska@suse.cz>
14335
14336 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
14337 in #pragma GCC diagnostic guards.
14338
566d377a
RB
143392015-01-30 Richard Biener <rguenther@suse.de>
14340
14341 PR tree-optimization/64829
14342 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
14343 not add a widening conversion pattern but hand off extra
14344 widenings to callers.
14345 (vect_recog_widen_mult_pattern): Handle extra widening produced
14346 by vect_handle_widen_op_by_const.
14347 (vect_recog_widen_shift_pattern): Likewise.
14348 (vect_pattern_recog_1): Remove excess vertical space in dumping.
14349 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
14350 (vect_init_vector_1): Likewise.
14351 (vect_get_vec_def_for_operand): Likewise.
14352 (vect_finish_stmt_generation): Likewise.
14353 (vectorizable_load): Likewise.
14354 (vect_analyze_stmt): Likewise.
14355 (vect_is_simple_use): Likewise.
14356
8ec350ed
JL
143572015-01-29 Jeff Law <law@redhat.com>
14358
14359 * combine.c (try_combine): Fix typo in comment.
14360
dd1c1f8c
SB
143612015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
14362
14363 PR target/64580
14364 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
14365 (rs6000_stack_info): Add assert.
14366 (rs6000_output_savres_externs): New function, split off from...
14367 (rs6000_output_function_prologue): ... here. Do not call it for
14368 thunks.
14369
52d28530
JL
143702015-01-29 Jeff Law <law@redhat.com>
14371
dd1c1f8c 14372 PR target/15184
52d28530
JL
14373 * combine.c (try_combine): If I0 is a memory load and I3 a store
14374 to a related address, increase the "goodness" of doing a 4-insn
14375 combination with I0-I3.
14376 (make_field_assignment): Handle SUBREGs in the ior+and case.
14377
b8aa7083
YR
143782015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
14379
14380 PR tree-optimization/64746
14381 * tree-if-conv.c (mask_exists): New function.
14382 (predicate_mem_writes): Save created mask with given size for further
14383 use.
14384 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
14385 (ifcvt_repair_bool_pattern): Collect all statements that are root
14386 of bool pattern and use iterative algorithm to remove multiple uses
14387 of predicates, display number of required iterations.
14388
d94e3e75
RB
143892015-01-29 Richard Biener <rguenther@suse.de>
14390
14391 PR tree-optimization/64853
14392 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
14393 stmt will get simulated again.
14394 * tree-ssa-ccp.c (valueize_op_1): Likewise.
14395
16277100
KT
143962015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14397
14398 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
14399 return_in_pc. Remove redundant assignments.
14400 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
14401 (arm_expand_epilogue): Don't compare boolean with true in if condition.
14402
f84b87aa
UB
144032015-01-29 Uros Bizjak <ubizjak@gmail.com>
14404
14405 * config/i386/i386.c (ix86_mode_after): Make static.
14406
62c00445
RB
144072015-01-29 Richard Biener <rguenther@suse.de>
14408
14409 PR tree-optimization/64844
14410 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
14411 dump cost model analysis.
14412 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
14413 Do not register adjusted load/store costs here.
14414
d290bb1d
IE
144152015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
14416 Uros Bizjak <ubizjak@gmail.com>
14417
14418 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
14419 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
14420 using x86_use_pseudo_pic_reg.
14421 * config/i386/i386.c (ix86_conditional_register_usage): Remove
14422 support for fixed PIC register.
14423 (ix86_use_pseudo_pic_reg): Not static any more.
14424
c291690e
IE
144252015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
14426
14427 PR middle-end/64805
14428 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
14429 to avoid error in cgraph node verification.
14430
2d48baf0
MP
144312015-01-29 Marek Polacek <polacek@redhat.com>
14432
14433 * doc/standards.texi: Reflect that the default for C is gnu11.
14434
4897b529
KK
144352015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
14436
14437 PR target/64761
14438 * reorg.c (switch_text_sections_between_p): New function.
14439 (relax_delay_slots): Call it when testing if the jump insn
14440 is removable. Use targetm.can_follow_jump when testing if
14441 the conditional branch can follow an unconditional jump.
14442
f7f049fa
CT
144432015-01-27 Caroline Tice <cmtice@google.com>
14444
14445 Committing VTV Cywin/Ming patch for Patrick Wollgast
14446 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
14447 if -fvtable-verify=preinit/std is used.
14448 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
14449 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
14450 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
14451 if -fvtable-verify=preinit/std is used.
14452 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
14453 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
14454 if -fvtable-verify=preinit/std is used.
14455 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
14456 * config/i386/mingw32.h (LIB_SPEC): Likewise.
14457 * varasm.c (assemble_variable): Add code to properly set the comdat
14458 section and name for the .vtable_map_vars section in case the
14459 target is PE or COFF.
14460
10881cff
JH
144612015-01-29 Jan Hubicka <hubicka@ucw.cz>
14462
14463 PR ipa/64801
14464 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
14465 make sane BB profile.
14466 (cgraph_node::expand_thunk): Make sane BB profile.
14467 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
14468 * cgraph.h (init_lowered_empty_function): Update prototype.
14469 * config/i386/i386.c (make_resolver_func): Update call.
14470 * predict.c (gate): Disable branch prediction pass if
14471 profile is already there.
14472
bea30e0d
JH
144732015-01-29 Jan Hubicka <hubicka@ucw.cz>
14474
14475 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
14476 * opth-gen.awk: Likewise.
14477 * common.opt: Mark flag_fp_contract_mode as Optimization.
14478
5fa25adb
BE
144792015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
14480
14481 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
14482 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
14483
c761dca1
OE
144842015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
14485
14486 PR target/64659
14487 * config/sh/predicates.md (atomic_arith_operand,
14488 atomic_logical_operand): Remove.
14489 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
14490 (atomic_arith_operand_0): New predicate.
14491 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
14492 Use atomic_arith_operand_0 for input values.
14493 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
14494 atomic_compare_and_swap<mode>_soft_gusa,
14495 atomic_compare_and_swap<mode>_soft_tcb,
14496 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
14497 arith_reg_operand instead of register_operand.
14498 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
14499 atomic_arith_operand_0 for newval input.
14500 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
14501 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
14502 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
14503 arith_reg_operand instead of register_operand.
14504 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
14505 fetchop_predicate_1, fetchop_constraint_1_llcs,
14506 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
14507 fetchop_constraint_1_imask): New code iterator attributes.
14508 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
14509 register_operand. Use fetchop_predicate_1.
14510 (atomic_fetch_<fetchop_name>si_hard,
14511 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
14512 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
14513 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
14514 and arith_reg_operand instead of register_operand. Use
14515 fetchop_predicate_1, fetchop_constraint_1_gusa.
14516 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
14517 and arith_reg_operand instead of register_operand. Use
14518 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
14519 to allow R0 usage.
14520 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
14521 and arith_reg_operand instead of register_operand. Use
14522 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
14523 to allow R0 usage.
14524 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
14525 register_operand. Use atomic_logical_operand_1.
14526 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
14527 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
14528 arith_reg_operand instead of register_operand.
14529 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
14530 Use arith_reg_dest and arith_reg_operand instead of register_operand.
14531 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
14532 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
14533 register_operand. Use fetchop_predicate_1.
14534 (atomic_<fetchop_name>_fetchsi_hard,
14535 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
14536 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
14537 fetchop_constraint_1_llcs.
14538 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
14539 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
14540 fetchop_constraint_1_gusa.
14541 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
14542 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
14543 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
14544 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
14545 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
14546 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
14547 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
14548 register_operand. Use atomic_logical_operand_1.
14549 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
14550 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
14551 arith_reg_operand instead of register_operand.
14552 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
14553 arith_reg_operand instead of register_operand. Use logical_operand
14554 and K08. Adjust asm sequence to allow R0 usage.
14555 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
14556 arith_reg_operand instead of register_operand. Use logical_operand
14557 and K08.
14558
13a48f37
JJ
145592015-01-28 Jakub Jelinek <jakub@redhat.com>
14560
14561 PR other/63504
14562 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
14563 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
14564 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
14565 only get_full_len HOST_WIDE_INTs from get_val () array rather than
14566 all bits in *val_wide.
14567
b1474d30
JH
145682015-01-28 Jan Hubicka <hubicka@ucw.cz>
14569
14570 * varpool.c (tls_model_names): Fix names.
14571 (varpool_node::dump): Dump tls- prefix for tls models.
14572
1f83528e
TS
145732015-01-28 Thomas Schwinge <thomas@codesourcery.com>
14574 Bernd Schmidt <bernds@codesourcery.com>
14575 Nathan Sidwell <nathan@codesourcery.com>
14576
14577 * config/nvptx/mkoffload.c: New file.
14578 * config/nvptx/t-nvptx: Add build rules for it.
14579 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
14580 (extra_programs): Add mkoffload.
14581 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
14582 function.
14583 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
14584
090238ee
YR
145852015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
14586
14587 PR middle-end/64809
14588 * cfgexpand.c (reorder_operands): Skip debug gimples.
14589
fa8e5051
IE
145902015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
14591
14592 PR tree-optimization/64277
14593 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
14594 range info when possible to refine estimation.
14595
8447859b
TP
145962015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
14597
14598 PR tree-optimization/64718
14599 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
14600 be a 16bit unsigned integer when n->range is 16.
14601 (bswap_replace): Convert src to that type if necessary for all bswap
14602 sizes. Fix rotation right notation in nearby comment. Use bswap_type
14603 set in pass_optimize_bswap::execute ().
14604
285398d2
JG
146052015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
14606
14607 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
14608 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
14609 integer and floating point variants.
14610 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
14611
de5bcff3
RS
146122015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
14613
14614 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
14615 for all vector modes.
14616
813ba013
JJ
146172015-01-28 Jakub Jelinek <jakub@redhat.com>
14618
14619 PR bootstrap/64612
14620 * doc/sourcebuild.texi (comdat_group): Document.
14621
5ea22cfc
TG
146222015-01-28 Terry Guo <terry.guo@arm.com>
14623
14624 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
14625
53c04ec9
DM
146262015-01-27 David Malcolm <dmalcolm@redhat.com>
14627
14628 * toplev.c (print_version): Add param "show_global_state", and
14629 only print GGC and plugin information if it is true.
14630 (init_asm_output): Pass in "true" for the new param when calling
14631 print_version.
14632 (process_options): Likewise.
14633 (toplev::main): Likewise.
14634 * toplev.h (print_version): Add new param to decl.
14635
e23f2892
JH
146362015-01-27 Jan Hubicka <hubicka@ucw.cz>
14637
14638 PR ipa/60871
14639 PR ipa/64139
14640 * tree.c (lookup_binfo_at_offset): New function.
14641 (get_binfo_at_offset): Use it.
14642
b833dedd
JH
146432015-01-27 Jan Hubicka <hubicka@ucw.cz>
14644
14645 PR ipa/64282
14646 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
14647 on vtable being vtable.
14648
94091f43
DV
146492015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
14650
f84b87aa
UB
14651 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
14652 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
14653 -mhotpatch= option.
14654 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
14655 -mno-hotpatch options. Change syntax of -mhotpatch= option.
14656 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
14657 Renamed.
14658 (s390_hotpatch_trampoline_halfwords_max): Renamed.
14659 (s390_hotpatch_hw_max): New name.
14660 (s390_hotpatch_trampoline_halfwords): Renamed.
14661 (s390_hotpatch_hw_before_label): New name.
14662 (get_hotpatch_attribute): Removed.
14663 (s390_hotpatch_hw_after_label): New name.
14664 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
14665 attribute.
14666 (s390_attribute_table): Ditto.
14667 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
14668 (s390_function_num_hotpatch_hw): New name.
14669 Remove special handling of inline functions and hotpatching.
14670 Return number of nops before and after the function label.
14671 (s390_can_inline_p): Removed.
14672 (s390_asm_output_function_label): Emit a configurable number of nops
14673 after the function label.
14674 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
14675 (TARGET_CAN_INLINE_P) Removed.
14676 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
94091f43 14677
096e8448
JW
146782015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14679 Jiong Wang <jiong.wang@arm.com>
14680
14681 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
14682 of scratch reg.
14683 (cb<optab><mode>1): Likewise.
14684 * config/aarch64/iterators.md (bcond): New define_code_attr.
14685
fb1a3f8f
AK
146862015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14687
14688 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
14689 memory accesses.
14690
f954fb25
AK
146912015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14692
14693 * config/s390/s390.c (s390_register_move_cost): Increase costs for
14694 FPR->GPR moves.
14695
755359b7
RB
146962015-01-27 Richard Biener <rguenther@suse.de>
14697
14698 * tree-vrp.c (update_value_range): Intersect the range with
14699 old recorded SSA name range information.
14700
eb42aba9
NC
147012015-01-27 Nick Clifton <nickc@redhat.com>
14702
14703 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
14704 BC, DE and HL registers directly, not via AX.
14705 When decrementing the stack pointer by a large amount, transfer SP
14706 into AX and perform the subtraction there.
14707 (rl78_expand_epilogue): Perform the inverse of the above
14708 enhancements.
14709
f962fbf1
RO
147102015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14711
14712 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
14713
f4bdb96a
JJ
147142015-01-27 Jakub Jelinek <jakub@redhat.com>
14715 Yury Gribov <y.gribov@samsung.com>
14716
14717 PR ubsan/64741
14718 * ubsan.c (ubsan_source_location): Refactor code.
14719 (ubsan_type_descriptor): Update type size. Refactor code.
14720
f101c4b4
RB
147212015-01-27 Richard Biener <rguenther@suse.de>
14722
14723 PR tree-optimization/56273
14724 PR tree-optimization/59124
14725 PR tree-optimization/64277
14726 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
14727 from the first VRP pass.
14728
6d71672d
JJ
147292015-01-27 Jakub Jelinek <jakub@redhat.com>
14730
4eaf52aa
JJ
14731 PR ipa/64776
14732 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
14733 handle the first argument in the same loop as all the other arguments.
14734
6d71672d
JJ
14735 PR rtl-optimization/61058
14736 * jump.c (cleanup_barriers): Update basic block boundaries
14737 if BLOCK_FOR_INSN is non-NULL on PREV.
14738
3dd598be
IE
147392015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
14740
14741 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
14742 bounds narrowing, already instrumented calls and calls to
14743 not instrumentable functions.
14744
b30ea138
JJ
147452015-01-27 Jakub Jelinek <jakub@redhat.com>
14746
14747 PR tree-optimization/64807
14748 * wide-int.cc (wi::divmod_internal): Clear
14749 b_dividend[dividend_blocks_needed].
14750
1230f784
DD
147512015-01-26 DJ Delorie <dj@redhat.com>
14752
14753 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
14754 volatile memory references.
14755
48e4f473
OE
147562015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
14757
14758 PR target/49263
14759 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
14760 remove_insn.
14761 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
14762 shifts if it already fits into K08.
14763
4cd76837
JJ
147642015-01-26 Jakub Jelinek <jakub@redhat.com>
14765
1b7706c8
JJ
14766 PR ipa/64730
14767 * ipa-inline.c (inline_small_functions): Print "unknown" even
14768 if edge->call_stmt is non-NULL, but has builtins or unknown
14769 location.
14770
4cd76837
JJ
14771 PR middle-end/64421
14772 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
14773 with asterisk, skip the first character.
14774
0b54aad2
L
147752015-01-26 H.J. Lu <hongjiu.lu@intel.com>
14776
14777 PR target/64806
14778 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
14779 order change.
14780
c8d7835b
UB
147812015-01-26 Uros Bizjak <ubizjak@gmail.com>
14782
f84b87aa 14783 PR target/64795
c8d7835b
UB
14784 * config/i386/i386.md (*movdi_internal): Also check operand 0
14785 to determine TYPE_LEA operand.
14786 (*movsi_internal): Ditto.
14787
cbe69886
JJ
147882015-01-26 Jakub Jelinek <jakub@redhat.com>
14789
14790 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
14791 OPTION_MASK_QUAD_MEMORY_ATOMIC.
14792
0699caae
RL
147932015-01-26 Renlin Li <renlin.li@arm.com>
14794
14795 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
14796 the comment.
14797 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
14798 for higher part.
14799
3cd58c0f
RB
148002015-01-26 Richard Biener <rguenther@suse.de>
14801
14802 PR middle-end/64764
14803 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
14804 combining two BIT_AND_EXPR predicates.
14805
b1512ea0
L
148062015-01-26 H.J. Lu <hongjiu.lu@intel.com>
14807
14808 PR bootstrap/64754
14809 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
3cd58c0f 14810
04385d25
TG
148112015-01-26 Terry Guo <terry.guo@arm.com>
14812
14813 * config/arm/arm.c (arm_file_start): Update the assignment of
14814 Tag_ABI_HardFP_use.
14815
f84b87aa 148162015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
1200ca22
JG
14817
14818 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
14819 pipeline model.
14820 config/arm/arm.md: Include the new Cortex-A57 model.
14821 (generic_sched): Don't use generic_sched when tuning for
14822 Cortex-A57.
14823
939911c5
ASJ
148242015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
14825 Uros Bizjak <ubizjak@gmail.com>
14826
14827 * config/i386/i386.c (get_builtin_code_for_version): Add
14828 support for BMI and BMI2 multiversion functions.
14829
5b4f3384
PK
148302015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14831
14832 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
14833 (extract_bit_field): Likewise.
14834 (extract_low_bits): Likewise.
14835 (expand_mult): Likewise.
14836 (expand_mult_highpart_adjust): Likewise.
14837
c8f2dff2
L
148382015-01-24 H.J. Lu <hongjiu.lu@intel.com>
14839
14840 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
14841 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
14842 * config/i386/i386.c (processor_model): Add
14843 M_INTEL_COREI7_BROADWELL.
14844 (arch_names_table): Add "broadwell".
14845
841dbf80
OE
148462015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
14847
14848 PR target/49263
14849 PR target/53987
14850 PR target/64345
14851 PR target/59533
14852 PR target/52933
14853 PR target/54236
14854 PR target/51244
14855 * config/sh/sh-protos.h
14856 (sh_extending_set_of_reg::can_use_as_unextended_reg,
14857 sh_extending_set_of_reg::use_as_unextended_reg,
14858 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
14859 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
14860 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
14861 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
14862 (sh_treg_insns): New class.
14863 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
14864 (scope_counter): New class.
14865 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
14866 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
14867 sh_extending_set_of_reg::can_use_as_unextended_reg,
14868 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
14869 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
14870 sh_split_treg_set_expr): New functions.
14871 (addsubcosts): Handle treg_set_expr.
14872 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
14873 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
14874 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
14875 (sh_insn_operands_modified_between_p): Make non-static.
14876 * config/sh/predicates.md (zero_extend_movu_operand): Allow
14877 simple_mem_operand in addition to displacement_mem_operand.
14878 (zero_extend_operand): Don't allow zero_extend_movu_operand.
14879 (treg_set_expr, treg_set_expr_not_const01,
14880 arith_reg_or_treg_set_expr): New predicates.
14881 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
14882 arith_or_int_operand instead of logical_operand. Convert to
14883 insn_and_split. Try to optimize constant operand in splitter.
14884 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
14885 (*tstqi_t_zero): Delete.
14886 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
14887 (tstsi_t_and_not): Delete.
14888 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
14889 Convert to insn_and_split.
14890 (unnamed split, tstsi_t_zero_extract_xor,
14891 tstsi_t_zero_extract_subreg_xor_little,
14892 tstsi_t_zero_extract_subreg_xor_big): Delete.
14893 (*tstsi_t_shift_mask): New insn_and_split.
14894 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
14895 to recombine with surrounding insns when splitting.
14896 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
14897 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
14898 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
14899 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
14900 (*cbranch_div0s: Delete.
14901 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
14902 Try to recombine with surrounding insns when splitting. Add operand
14903 order variants.
14904 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
14905 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
14906 *addc_r_r_msb, *addc_2r_msb): Delete.
14907 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
14908 order variant.
14909 (*addc_negreg_t): New insn_and_split.
14910 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
14911 Try to recombine with surrounding insns when splitting.
c8d7835b 14912 Add operand order variants.
841dbf80
OE
14913 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
14914 insn_and_split patterns.
14915 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
14916 surrounding insns when splitting.
14917 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
14918 (*rotcl): Likewise. Add zero_extract variant.
14919 (*ashrsi2_31): New insn_and_split.
14920 (*negc): Convert to insn_and_split. Use treg_set_expr.
14921 (*zero_extend<mode>si2_disp_mem): Update comment.
14922 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
14923 condition.
14924 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
14925 with surrounding insns when splitting.
14926 (any_treg_expr_to_reg): New insn_and_split.
14927 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
14928 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
14929 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
14930 *zero_extract_2): New single bit zero extract patterns.
14931 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
14932 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
14933 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
14934 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
14935 set destination.
14936 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
14937 register_operand for set source.
14938
d0d7b0b3
JH
149392015-01-23 Jan Hubicka <hubicka@ucw.cz>
14940
14941 * i386.opt (prefetch_sse): New targetsave.
14942 * i386.c (ix86_function_specific_save): Save prefetch_sse.
14943 (ix86_function_specific_restore): Restore prefetch_sse and initialize
14944 ix86_cost/ix86_tune_cost.
14945
d2c5e4c9
DM
149462015-01-23 David Malcolm <dmalcolm@redhat.com>
14947
14948 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
14949 Support the JIT by using 0 as the language type.
14950
5c8bae59
VM
149512015-01-23 Vladimir Makarov <vmakarov@redhat.com>
14952
14953 PR target/64317
14954 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
14955 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
af955a52 14956 (mark_regno_live, process_bb_lives): Pass new parameter value to
5c8bae59
VM
14957 make_hard_regno_born.
14958
6c4d60f8
JJ
149592015-01-23 Jakub Jelinek <jakub@redhat.com>
14960
14961 PR rtl-optimization/63637
14962 PR rtl-optimization/60663
14963 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
14964 if elt->cost is MAX_COST for ASM_OPERANDS.
14965 (find_sets_in_insn): Fix up comment typo.
14966 (cse_insn): Don't set src_volatile for all non-volatile
14967 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
14968 or with "memory" clobber. Set elt->cost to MAX_COST
14969 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
14970 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
14971
b2d7aa9a
UB
149722015-01-23 Uros Bizjak <ubizjak@gmail.com>
14973
14974 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
14975 alternative 1.
14976
149772015-01-23 Uros Bizjak <ubizjak@gmail.com>
7bbf9734
UB
14978
14979 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
14980 libgcc/config/i386/elf-lib.h.
14981
b8910447
JJ
149822015-01-23 Jakub Jelinek <jakub@redhat.com>
14983
29585247
JJ
14984 PR driver/64737
14985 * gcc.c (print_configuration): Don't print a blank line at the end
14986 here...
14987 (run_attempt): ... but here unstead.
14988
b8910447
JJ
14989 PR middle-end/64734
14990 * omp-low.c (scan_sharing_clauses): Don't ignore
14991 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
14992 on target data/update constructs.
14993
f75e07bc
BE
149942015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
14995
14996 PR target/50928
14997 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
14998 (DEBUG_RELOAD): Removed define.
14999 (m32c_limit_reload_class): Enable traces with if DEBUG0.
15000 (m32c_function_arg): Added a type cast.
15001 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
15002 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
15003 * config/m32c/bitops.md (andqi3_16): Likewise.
15004 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
15005 (push_a01_l): Likewise.
15006
6fc2d0f3
DM
150072015-01-23 David Malcolm <dmalcolm@redhat.com>
15008
15009 PR jit/64721
15010 * main.c (main): Construct toplev instances with init_signals=true.
15011 * toplev.c (general_init): Add param "init_signals", and use it to
15012 conditionalize the calls to signal and host_hooks.extra_signals.
15013 (toplev::toplev): Add param "init_signals".
15014 (toplev::main): When invoking general_init, pass m_init_signals
15015 to control whether signal-handlers are installed.
15016 * toplev.h (toplev::toplev): Add param "init_signals".
15017 (toplev::m_init_signals): New field.
15018
ca72dad5
DM
150192015-01-23 David Malcolm <dmalcolm@redhat.com>
15020
15021 PR jit/64722
15022 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
15023 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
15024 latter may be affected by the former (e.g. on i686).
15025
97440db5
ML
150262015-01-23 Martin Liska <mliska@suse.cz>
15027
15028 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
15029 false positive during profiledbootstrap.
15030
a0c88d06
TV
150312015-01-23 Tom de Vries <tom@codesourcery.com>
15032
15033 PR libgomp/64672
15034 * lto-opts.c (lto_write_options): Output non-explicit conservative
15035 -fno-openacc.
15036 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
15037 (append_compiler_options): Pass -fopenacc through.
15038
1506ae0e
TV
150392015-01-23 Tom de Vries <tom@codesourcery.com>
15040
15041 PR libgomp/64707
15042 * lto-opts.c (lto_write_options): Output non-explicit conservative
15043 -fno-openmp.
15044 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
15045 (append_compiler_options): Pass -fopenmp through.
15046
b55f40c1
JJ
150472015-01-23 Jakub Jelinek <jakub@redhat.com>
15048
bd849fe6
JJ
15049 PR debug/64511
15050 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
15051 GTY markup.
15052
b55f40c1
JJ
15053 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
15054 * diagnostic.def (DK_ICE_NOBT): New kind.
15055 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
15056 like DK_ICE, but never print backtrace.
15057 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
15058 (internal_error_no_backtrace): New function.
15059 * gcc.c (execute): Use internal_error_no_backtrace instead of
15060 internal_error.
15061
5e7821eb
JL
150622015-01-22 Jeff Law <law@redhat.com>
15063
15064 PR target/52076
15065 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
15066 improve code density for small immediate to memory case.
15067 (insv): Better handle bitfield assignments when the field is
15068 being set to all ones.
15069 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
15070 operand predicate.
15071
33eaef4b
RO
150722015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15073 Jakub Jelinek <jakub@redhat.com>
15074
ccdbdfe4 15075 PR middle-end/64729
33eaef4b
RO
15076 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
15077 for !TARGET_LIBC_PROVIDES_SSP version and
15078 -fstack-protector-{all,strong,explicit} otherwise.
15079 * config/freebsd.h (LINK_SSP_SPEC): Handle
15080 -fstack-protector-{strong,explicit}.
15081
d75de25b
JH
150822015-01-22 Jan Hubicka <hubicka@ucw.cz>
15083 H.J. Lu <hongjiu.lu@intel.com>
15084
15085 PR ipa/64694
15086 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
15087 heap.
15088
ff1803c1
WM
150892015-01-22 Wei Mi <wmi@google.com>
15090
15091 PR rtl-optimization/64557
15092 * dse.c (record_store): Call get_addr for mem_addr.
15093 (check_mem_read_rtx): Likewise.
15094
f77107e8
EB
150952015-01-22 Eric Botcazou <ebotcazou@adacore.com>
15096
15097 * fold-const.c (const_binop): Add early return for non-tcc_binary.
15098
150992015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
e34a176a 15100
0c799056
CG
15101 * toplev.c (init_local_tick): Process the failure when read
15102 fails for random_seed.
15103
e34a176a
CG
15104 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
15105 'pretty_name' to avoid memory overflow.
15106
f4b05e74
RB
151072015-01-22 Richard Biener <rguenther@suse.de>
15108
15109 PR middle-end/64728
15110 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
15111 abnormal coalescing on undefined SSA names.
15112
98321768
UB
151132015-22-01 Uros Bizjak <ubizjak@gmail.com>
15114
15115 PR target/64688
15116 PR target/64477
15117 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
15118 for alternative 3.
a0d8720a 15119 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
98321768 15120
6c4ffa6c
TS
151212015-01-22 Trevor Saunders <tsaunders@mozilla.com>
15122
15123 PR middle-end/63325
15124 * fold-const.c (fold_checksum_tree): Don't include value of
15125 expr->decl_with_vis.symtab_node in the checksum.
15126
cf5b43b0
AK
151272015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15128
f662ac2a 15129 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
cf5b43b0 15130
f78a6ae4
MO
151312015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
15132
15133 PR driver/64690
15134 * gcc.c (insert_comments): New function.
15135 (try_generate_repro): Call it.
15136 (append_text): Removed.
15137
0c3068e0
RB
151382015-01-22 Richard Biener <rguenther@suse.de>
15139
15140 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
15141 with IL incompatible options. Properly honor user optimize
15142 attributes.
15143
c8b90a13
SB
151442015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
15145
15146 PR rtl-optimization/64682
15147 * combine.c (distribute_notes): When moving a death note for
15148 a register that is set in the new I2, make sure to put it
15149 before that new I2.
15150
1c2fd8c7
DE
151512015-01-21 David Edelsohn <dje.gcc@gmail.com>
15152
15153 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
15154 not TARGET_DEFAULT.
15155
6c5ed3f1
JJ
151562015-01-21 Jakub Jelinek <jakub@redhat.com>
15157
98f51044
JJ
15158 PR debug/64511
15159 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
15160 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
15161 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
15162
d2632e47
JJ
15163 PR sanitizer/64706
15164 * doc/invoke.texi (-fsanitize=vptr): Document.
15165
6c5ed3f1
JJ
15166 PR rtl-optimization/62078
15167 * dse.c: Include cfgcleanup.h.
15168 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
15169 anything call purge_all_dead_edges and cleanup_cfg at the end
15170 of the pass.
15171
173148bb
JH
151722015-01-21 Jan Hubicka <hubicka@ucw.cz>
15173
15174 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
15175 edges.
15176
2f3c4b69
BE
151772015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
15178
15179 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
15180 decl attribute.
15181
b6b782b9
DS
151822015-01-21 David Sherwood <david.sherwood@arm.com>
15183 Tejas Belagod <Tejas.Belagod@arm.com>
15184
15185 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
15186 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
15187 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
15188 Removed.
15189
668046d1
DS
151902015-01-21 David Sherwood <david.sherwood@arm.com>
15191 Tejas Belagod <Tejas.Belagod@arm.com>
15192
15193 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
15194 (aarch64_reverse_mask): New decls.
15195 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
15196 (insn_count): New mode_attr.
15197 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
15198 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
15199 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
15200 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
15201 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
15202 (aarch64_simd_st4): New patterns.
15203 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
15204 (aarch64_reverse_mask): New functions.
15205
2d8c6dc1
AH
152062015-01-21 Richard Sandiford <richard.sandiford@arm.com>
15207
15208 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
15209 Declare.
15210 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
15211 addressing modes for BE.
15212 (aarch64_print_operand): Add 'R' specifier.
15213 (aarch64_simd_disambiguate_copy): Delete.
15214 (aarch64_simd_emit_reg_reg_move): New function.
15215 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
15216 in define_splits for structural moves.
15217 (mov<mode>): Use less restrictive predicates.
15218 (*aarch64_mov<mode>): Simplify and only allow for LE.
15219 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
15220
9ab41c76
AH
152212015-01-21 Alan Hayward <alan.hayward@arm.com>
15222
f84b87aa 15223 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
9ab41c76 15224
4005b96a
RH
152252015-01-21 Richard Henderson <rth@redhat.com>
15226
15227 PR target/64669
15228 * ccmp.c (used_in_cond_stmt_p): Remove.
15229 (expand_ccmp_expr): Don't use it.
15230
cf836bd3
NC
152312015-01-21 Nick Clifton <nickc@redhat.com>
15232
15233 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
15234 PARALLELs.
15235
cbf5d0e7
RB
152362015-01-21 Richard Biener <rguenther@suse.de>
15237
15238 PR middle-end/64313
15239 * tree-core.h (builtin_info, builtin_info_type): Turn from
15240 an object with two arrays into an array of an object with
15241 decl and two flags, implicit_p and declared_p.
15242 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
15243 set_builtin_decl, set_builtin_decl_implicit_p,
15244 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
15245 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
15246 * builtins.c (builtin_info): Adjust.
15247 * gimplify.c (gimplify_addr_expr): References to builtins
15248 that have been declared by the user makes them eligible for
15249 use by the compiler. Call set_builtin_decl_implicit_p on them.
15250
1f36fbf4
JL
152512015-01-20 Jeff Law <law@redhat.com>
15252
15253 PR target/59946
15254 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
15255 allow pc-relative addresses in operand predicates or constraints.
15256
18092bec
BC
152572015-01-21 Bin Cheng <bin.cheng@arm.com>
15258
15259 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
15260 neon on aarch32 processors for stringops.
15261
befb1f36
JH
152622015-01-19 Jan Hubicka <hubicka@ucw.cz>
15263
15264 PR ipa/63576
15265 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
15266
bb1e543c
JH
152672015-01-19 Jan Hubicka <hubicka@ucw.cz>
15268
15269 PR lto/45375
15270 * ipa-inline.c: Include lto-streamer.h
15271 (report_inline_failed_reason): Output source file differences and
15272 flags on optimization/target node mismatch.
15273 (can_inline_edge_p): Consider caller to be the outer inline function;
15274 be less restrictive about matching opimize and optimize_size attributes.
15275 (inline_account_function_p): Break out from ...
15276 (inline_small_functions): ... here.
15277 * ipa-inline-transform.c (clone_inlined_nodes): Use
15278 inline_account_function_p.
15279 (inline_call): Use optimize attribution; use inline_account_function_p.
15280 (inline_transform): Use opt_for_fn.
15281 * ipa-inline.h (inline_account_function_p): Declare.
15282
17cb4283
JJ
152832015-01-20 Jakub Jelinek <jakub@redhat.com>
15284
15285 PR debug/64663
15286 * dwarf2out.c (decl_piece_node): Don't put bitsize into
15287 mode if bitsize <= 0.
15288 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
15289 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
15290 sizes and positions.
15291
a9ce4e4a
CLT
152922015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
15293
15294 * config/nios2/nios2.c (nios2_asm_file_end): Implement
15295 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
15296 needed.
15297 (TARGET_ASM_FILE_END): Define.
15298
237c70c3
MK
152992015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
15300
15301 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
15302 (struct tune_params): Use the enum.
15303 * arm.c (arm_*_tune): Update.
15304 (arm_option_override): Update.
15305
2fd2ae34
RB
153062015-01-20 Richard Biener <rguenther@suse.de>
15307
15308 PR ipa/64684
15309 * ipa-reference.c (add_static_var): Inline ...
15310 (analyze_function): ... here after splitting out from ...
15311 (is_proper_for_analysis): ... this.
15312
c896d4b4
MW
153132015-01-20 Matthew Wahab <matthew.wahab@arm.com>
15314
15315 PR target/64149
15316 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
15317 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
15318 replace the conditional with it's true branch.
15319 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
15320 (arm_lra_p): Remove.
15321
a76ffff1
EB
153222015-01-20 Eric Botcazou <ebotcazou@adacore.com>
15323
15324 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
15325
42df23a6
PK
153262015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
15327
f84b87aa
UB
15328 * config/tilegx/mul-tables.c: Move symtab.h include after
15329 coretypes.h include.
15330 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
15331 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
15332 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
15333 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
15334 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
42df23a6 15335
7002f3bd
IZ
153362015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
15337
15338 PR bootstrap/64676
15339 Revert:
15340 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
15341
15342 PR rtl-optimization/64081
15343 * loop-iv.c (def_pred_latch_p): New function.
15344 (latch_dominating_def): Allow specific cases with non-single
15345 definitions.
15346 (iv_get_reaching_def): Likewise.
15347 (check_complex_exit_p): New function.
15348 (check_simple_exit): Use check_complex_exit_p to allow certain cases
15349 with exits not executing on any iteration.
15350
a5fcfb6d
JH
153512015-01-19 Jan Hubicka <hubicka@ucw.cz>
15352
15353 PR lto/45375
15354 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
15355 to set branch cost.
15356
a1aff58f
JH
153572015-01-19 Jan Hubicka <hubicka@ucw.cz>
15358
15359 PR lto/45375
15360 * i386.c (gate): Check flag_expensive_optimizations and
15361 optimize_size.
15362 (ix86_option_override_internal): Drop optimize_size condition
15363 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
15364 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
15365 MASK_PREFER_AVX128.
15366 (ix86_avx256_split_vector_move_misalign,
15367 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
15368 * sse.md (all uses of TARGET_PREFER_AVX128): Add
15369 optimize_insn_for_speed_p check.
15370
aa0c464a
MF
153712015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
15372
15373 * config/mips/mips.h (FP_ASM_SPEC): New define.
15374 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
15375 instead.
15376
b151091d
OE
153772015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
15378
15379 PR target/53988
15380 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
15381 nullptr for insn when reaching the first insn.
15382 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
15383 (sh_insn_operands_modified_between_p): Add nullptr check.
15384 (sh_find_extending_set_of_reg): Fix log message. Don't accept
15385 sign extending mem load if the insn contains any UNSPEC or
15386 UNSPEC_VOLATILE.
15387
c2db7204
JH
153882015-01-19 Jan Hubicka <hubicka@ucw.cz>
15389
15390 * params.def (inline-unit-growth): Drop to 15%.
15391 * invoke.texi (inline-unit-growth): Document change.
15392
6b984df0
ML
153932015-01-19 Martin Liska <mliska@suse.cz>
15394
15395 PR ipa/64668
15396 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
15397 function for second argument of OBJ_TYPE_REF.
15398
9789b553
JH
153992015-01-19 Jan Hubicka <hubicka@ucw.cz>
15400
15401 PR ipa/64218
15402 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
15403 whether function is an alias.
15404
68c9467f
JH
154052015-01-19 Jan Hubicka <hubicka@ucw.cz>
15406
15407 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
15408 cases.
15409
6ce54d0f
VM
154102015-01-19 Vladimir Makarov <vmakarov@redhat.com>
15411
15412 PR rtl-optimization/64671
15413 * lra-remat.c (operand_to_remat): Don't consider jump and call
15414 insns.
15415
b9f12a01
DE
154162015-01-19 David Edelsohn <dje.gcc@gmail.com>
15417
34e72ece 15418 PR target/59828
b9f12a01
DE
15419 * config/rs6000/default64.h: Include rs6000-cpus.def.
15420 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
15421 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
15422 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
15423 and POWER8.
15424 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
15425 POWER8.
15426 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
15427 pseudo-op to specify assembler dialect.
15428
90190bb3
ML
154292015-01-19 Martin Liska <mliska@suse.cz>
15430
15431 PR ipa/64664
15432 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
15433 Handle safe potentially removed nodes during filtering.
15434
185c9e56
ML
154352015-01-19 Martin Liska <mliska@suse.cz>
15436
15437 * doc/extend.texi (no_icf): Add new attribute description.
15438 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
15439 where the pass attempts to merge a function with no_icf attribute.
15440
b24671f7
RR
154412015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15442
15443 PR target/64532
15444 * doc/md.texi (ARM Options): Document register constraints.
15445
af129d07
JW
154462015-01-19 Jiong Wang <jiong.wang@arm.com>
15447 Andrew Pinski <apinski@cavium.com>
15448
15449 PR target/64304
15450 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
15451 (ashl<mode>3): Don't expand if operands[2] is not constant.
15452
36650ec6
KT
154532015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15454
15455 PR target/64448
15456 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
15457 Match xor-and-xor RTL pattern.
15458
dfd3a76c
IZ
154592015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
15460
15461 PR rtl-optimization/64081
15462 * loop-iv.c (def_pred_latch_p): New function.
15463 (latch_dominating_def): Allow specific cases with non-single
15464 definitions.
15465 (iv_get_reaching_def): Likewise.
15466 (check_complex_exit_p): New function.
15467 (check_simple_exit): Use check_complex_exit_p to allow certain cases
15468 with exits not executing on any iteration.
15469
ff6a32a9
JJ
154702015-01-19 Jakub Jelinek <jakub@redhat.com>
15471
15472 * common.opt (fgraphite): Fix a typo.
15473
7abab3d1
FY
154742015-01-19 Felix Yang <felix.yang@huawei.com>
15475
15476 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
15477 pattern.
15478 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
15479 uminp, smax_nanp, smin_nanp): New builtins.
15480 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
15481 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
15482 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
15483 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
15484 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
15485 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
15486 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
15487 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
15488 vpminnms_f32): Rewrite using builtin functions.
15489
128b26dc
TS
154902015-01-19 Thomas Schwinge <thomas@codesourcery.com>
15491
bed62c21 15492 PR libgomp/64625
128b26dc
TS
15493 * omp-low.c (offload_symbol_decl): Remove variable.
15494 (get_offload_symbol_decl): Remove function.
15495 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
15496 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
15497 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
15498 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
15499 BUILT_IN_GOACC_UPDATE don't pass it at all.
15500
3d36be01
IE
155012015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
15502
15503 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
15504 callers.
15505
c11d86b4
IE
155062015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
15507
15508 * ipa-chkp.c (chkp_produce_thunks): Add early param
15509 to split thunks production into two passes. Keep
15510 'always_inline' function bodies after the first pass.
15511 (pass_data_ipa_chkp_early_produce_thunks): New.
15512 (pass_ipa_chkp_early_produce_thunks): New.
15513 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
15514 chkp_produce_thunks signature.
15515 (make_pass_ipa_chkp_early_produce_thunks): New.
15516 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
15517 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
15518 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
15519
a89bd7d2
JH
155202015-01-18 Jan Hubicka <hubicka@ucw.cz>
15521
15522 * cgraph.c (cgraph_node::dump): Dump profile flags.
15523
15a43a0c
OE
155242015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
15525
15526 PR target/64652
15527 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
15528 reg appear first in the parallel.
15529
b16650ac
JH
155302015-01-18 Jan Hubicka <hubicka@ucw.cz>
15531
15532 * ipa-reference.c (set_reference_optimization_summary,
a89bd7d2
JH
15533 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
15534 disabled.
b16650ac 15535 (ignore_module_statics): New static var.
a89bd7d2
JH
15536 (propagate_bits): If ipa-reference is disabled, do not look into local
15537 properties.
b16650ac
JH
15538 (analyze_function): Disable analysis when ipa_reference is disabled.
15539 (generate_summary): Do not dump when reference is disabled;
15540 collect vars accessed from functions with ipa-reference disabled.
15541 (get_read_write_all_from_node): When ipa-reference is disabled, use the
15542 node flags.
15543 (gate): Enable for LTO.
15544 (ignore_edge_p): New function.
15545 (propagate): Skip functions w/o ipa-reference analysis.
15546 * optc-save-gen.awk: Handle optimize_debug correctly.
15547 * opth-gen.awk: Likewise.
15548 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
15549 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
15550 fira-share-save-slots, fira-share-spill-slots,
15551 fmodulo-sched-allow-regmoves, fpartial-inlining,
15552 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
15553 ftracer, ftree-parallelize-loops, fassociative-math,
15554 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
15555 Optimization
15556 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
f84b87aa
UB
15557 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
15558 Optimization.
b16650ac
JH
15559 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
15560 Fix for IPA.
15561
33c3b6be
JH
155622015-01-18 Jan Hubicka <hubicka@ucw.cz>
15563
15564 PR ipa/64378
15565 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
15566 flag correctly.
15567 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
15568
d28701a2
SL
155692015-01-18 Sandra Loosemore <sandra@codesourcery.com>
15570
15571 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
15572 Remove duplicate option listings.
15573
1500c66f
FY
155742015-01-18 Felix Yang <felix.yang@huawei.com>
15575
15576 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
15577 (autofdo_source_profile::get_callsite_total_count,
15578 function_instance::get_function_instance_by_decl,
15579 string_table::get_index, string_table::get_index_by_decl,
15580 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
15581 Fix comment typos. Reformatting and minor code rearrangement.
15582
779fc8fb
SB
155832015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
15584
15585 * config/rs6000/rs6000.md (probe_stack): Delete.
15586 (probe_stack_address): New.
15587
ffafb4f0
SB
155882015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
15589
15590 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
15591 to test for 32-bit ABIs, not !TARGET_POWERPC64.
15592
436bd917
SB
155932015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
15594
15595 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
15596 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
15597 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
15598 snafu.
15599 (rs6000_libcall_value): Use the new function.
15600
3b97ab5a
SL
156012015-01-17 Sandra Loosemore <sandra@codesourcery.com>
15602
15603 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
15604
33c2207d
EB
156052015-01-17 Eric Botcazou <ebotcazou@adacore.com>
15606
15607 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
15608 implement a more precise life analysis for it during backward scan.
15609
c3943573
JK
156102015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
15611
15612 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
15613
0ed4bf92
BS
156142015-01-17 Bernd Schmidt <bernds@codesourcery.com>
15615
15616 PR rtl-optimization/52773
15617 * calls.c (emit_library_call_value): When pushing arguments use
15618 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
15619 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
15620 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
15621
bd5fb71c
JL
156222015-01-17 Jeff Law <law@redhat.com>
15623
15624 PR rtl-optimization/32790
15625 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
15626 not ZERO_EXTEND in SET_DESTs.
15627
aed38127
AM
156282015-01-17 Alan Modra <amodra@gmail.com>
15629
15630 * cprop.c (do_local_cprop): Revert last change.
15631
48c528ae
DD
156322015-01-16 DJ Delorie <dj@redhat.com>
15633 Nick Clifton <nickc@redhat.com>
15634
15635 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
15636 (addhi3_real): Likewise. Fix [HL+0] syntax.
15637 (subqi3_real): Likewise.
15638 (subhi3_real): Likewise.
15639 (cbranchqi4_real): Likewise. Allow saddr,#imm.
15640 (cbranchhi4_real): Likewise.
15641 (cbranchhi4_real_inverted): Likewise.
15642 (cbranchsi4_real_lt): Likewise.
15643 (cbranchsi4_real_ge): Likewise.
15644 (cbranchsi4_real_ge): Likewise.
15645 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
15646 (sub<mode>3_virt): Likewise.
15647 (cbranchqi4_virt): Likewise.
15648 (cbranchhi4_virt): Likewise.
15649 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
15650 always use '[reg+imm]' even when imm is zero.
15651 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
15652 (rl78_general_operand): New.
15653 (rl78_nonimmediate_operand): New.
15654 (rl78_nonfar_operand): Use them.
15655 (rl78_nonfar_nonimm_operand): Likewise.
15656 (rl78_stack_based_mem): Fix.
15657 * config/rl78/constraints.md (Ibqi): New.
15658 (IBqi): New.
15659 (Wsa): New.
15660 (Wsf): New.
15661 (Cs1): Fix.
15662 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
15663 (iorqi3): Likewise.
15664 (xorqi3): Likewise.
15665 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
15666
f84b87aa
UB
15667 * config/rl78/constrains (Qs8): New constraint.
15668 * config/rl78/rl78.c (rl78_flags_already_set): New function.
15669 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
15670 * config/rl78/rl78-real.md (update_Z): New attribute.
15671 Update patterns to set it.
15672 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
15673 shorter compare and branch sequence can be used.
15674 (cbranchhi4_real): Likewise.
15675 (cbranchhi4_real_inverted): Likewise.
48c528ae
DD
15676
15677 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
15678 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
15679 address space.
15680 * config/rl78/rl78.c (rl78_get_name_encoding): New.
15681 (rl78_option_override): Allow -mes0 only if C.
15682 (characterize_address): Support subregs of symbol_refs.
15683 (rl78_addr_space_address_mode): Move. Add __near.
15684 (rl78_far_p): Likewise.
15685 (rl78_addr_space_pointer_mode): Likewise.
15686 (rl78_as_legitimate_address): Likewise.
15687 (rl78_addr_space_subset_p): Likewise.
15688 (rl78_addr_space_convert): Likewise.
15689 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
15690 symbols with -mes0.
15691 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
15692 addressing.
15693 (rl78_alloc_physical_registers_op1): Change logic to prefer
15694 symbol[BC] addressing.
15695 (frodata_section): New.
15696 (rl78_asm_init_sections): Initialize it.
15697 (rl78_select_section): Put __far readonly symbols in .frodata.
15698 (rl78_make_type_far): New.
f84b87aa
UB
15699 (rl78_insert_attributes): Force all readonly symbols to be
15700 __far when -mes0.
48c528ae
DD
15701 (rl78_asm_out_integer): New.
15702 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
15703 * config/rl78/rl78.opt (-mes0): New.
15704
15705 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
15706 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
15707 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
15708 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
15709 (rl78_saddr_p): New.
15710 (rl78_output_aligned_common): New.
15711 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
15712 (rl78_handle_saddr_attribute): New.
15713 (rl78_handle_naked_attribute): New.
15714 (rl78_attribute_table): Add saddr.
15715 (rl78_print_operand_1): Don't print '!' on saddr operands.
15716 (rl78_print_operand_1): Strip encodings.
15717 (rl78_sfr_p): New.
15718 (rl78_strip_name_encoding): New.
15719 (rl78_attrlist_to_encoding): New.
15720 (rl78_encode_section_info): New.
15721 (rl78_asm_init_sections): New.
15722 (rl78_select_section): New.
15723 (rl78_output_labelref): New.
15724 (rl78_output_aligned_common): New.
15725 (rl78_asm_out_integer): New.
15726 (rl78_asm_ctor_dtor): New.
15727 (rl78_asm_constructor): New.
15728 (rl78_asm_destructor): New.
15729
15730 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
15731 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
15732 (transcode_memory_rtx): Update.
15733 (rl78_expand_epilogue): Use A_REG instead of 0.
15734
340c7904
MK
157352015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
15736
15737 * config/arm/arm-protos.h (struct tune_params): New field
15738 sched_autopref_queue_depth.
15739 * config/arm/arm.c (sched-int.h): Include header.
15740 (arm_first_cycle_multipass_dfa_lookahead_guard,)
15741 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
15742 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
15743 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
15744 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
15745 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
15746 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
15747 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
15748 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
15749 * config/arm/t-arm (arm.o): Update.
15750 * haifa-sched.c (update_insn_after_change): Update.
15751 (rank_for_schedule): Use auto-prefetcher model, if requested.
15752 (autopref_multipass_init): New static function.
15753 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
15754 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
15755 variable for debug dumps.
15756 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
15757 (autopref_multipass_dfa_lookahead_guard): New global function that
15758 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
15759 (init_h_i_d): Update.
15760 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
15761 * sched-int.h (enum autopref_multipass_data_status): New const enum.
15762 (autopref_multipass_data_): Structure for auto-prefetcher data.
15763 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
15764 (struct _haifa_insn_data:autopref_multipass_data): New field.
15765 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
15766 (autopref_multipass_dfa_lookahead_guard): Declare.
15767
71acd477
MK
157682015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
15769
15770 * rtlanal.c (get_base_term): Handle SCRATCH.
15771
d03f7e44
MK
157722015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
15773
15774 * config/aarch64/aarch64.c
15775 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
15776 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
15777 * config/arm/arm.c
15778 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
15779 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
15780
25d1a5a7
AM
157812015-01-17 Alan Modra <amodra@gmail.com>
15782
15783 * cprop.c (do_local_cprop): Disallow replacement of fixed
15784 hard registers.
15785
a220c9da
KT
157862015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15787
15788 PR target/62066
15789 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
15790 early return 0.
15791
cbf9a566
BE
157922015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
15793
55d9ceab 15794 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
cbf9a566
BE
15795 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
15796
2a37d9d0
KT
157972015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15798
15799 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
15800 * config/arm/thumb1.md: ... Here.
15801
325df0eb
SB
158022015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
15803
15804 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
15805 TImode for TARGET_32BIT.
15806
77688d70
SB
158072015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
15808
15809 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
15810 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
15811 as ...
15812 (rs6000_abi_word_mode): New function.
15813
ed821220
SB
158142015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
15815
15816 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
15817 instead of UNITS_PER_WORD to describe the size of stack slots.
15818
42373118
SB
158192015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
15820
15821 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
15822 as rs6000_promote_function_mode. Move comment to there.
15823 (rs6000_promote_function_mode): New function.
15824
96922e4c
SB
158252015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
15826
15827 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
15828 -mpowerpc64 is active.
15829
ed22611a
IE
158302015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
15831
15832 PR middle-end/64353
15833 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
15834 virtuals on start.
15835
16ab99ba
JG
158362015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
15837
15838 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
15839 introduced in revision 219724.
15840
f2a03a72 158412015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
f84b87aa 15842 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
f2a03a72
KT
15843
15844 PR target/64263
15845 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
15846 destination is not a GP reg.
15847 (*movdi_aarch64): Likewise.
15848
8168ece0
DE
158492015-01-16 David Edelsohn <dje.gcc@gmail.com>
15850
15851 PR target/64623
15852 * config/rs6000/default64.h: Revert ISA change.
15853
666e8e06
RB
158542015-01-16 Richard Biener <rguenther@suse.de>
15855
15856 PR middle-end/64614
15857 * tree-ssa-uninit.c: Include tree-cfg.h.
15858 (MAX_SWITCH_CASES): New define.
15859 (convert_control_dep_chain_into_preds): Handle switch statements.
15860 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
15861 (normalize_one_pred_1): Do not split bit-manipulations.
15862 Record (x & CST).
15863
0399a8db
RB
158642015-01-16 Richard Biener <rguenther@suse.de>
15865
15866 PR tree-optimization/64568
15867 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
15868 complex load rewriting for TARGET_MEM_REFs.
15869
2a1dcf27
UB
158702015-01-16 Uros Bizjak <ubizjak@gmail.com>
15871
15872 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
15873
98d404be
MW
158742015-01-16 Matthew Wahab <matthew.wahab@arm.com>
15875
15876 PR target/64149
15877 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
15878 variable.
15879 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
15880 (aarch64_lra_p): Remove.
15881
06201ad5
IE
158822015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
15883
15884 PR target/64363
15885 * ipa-chkp.h (chkp_instrumentable_p): New.
15886 * ipa-chkp.c: Include tree-inline.h.
15887 (chkp_instrumentable_p): New.
15888 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
15889 Fix processing of not instrumentable functions.
15890 (chkp_versioning): Use chkp_instrumentable_p. Warn about
15891 not instrumentable functions.
15892 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
15893 chkp_instrumentable_p.
15894 * tree-inline.h (copy_forbidden): New.
15895 * tree-inline.c (copy_forbidden): Not static anymore.
15896
eb13ee31
RO
158972015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15898
15899 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
15900 ptr1, ptr2 unused.
15901
8b8e23de
RS
159022015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
15903
15904 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
15905 type OP_OUT to OP_INOUT.
15906
ece4d1ac
RS
159072015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
15908
15909 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
15910 (high x) y) to y if x and y have the same base.
15911
e0ae0288
JG
159122015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
15913
15914 * config/arm/cortex-a57.md: New.
15915 * config/aarch64/aarch64.md: Include it.
15916 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
15917 * config/aarch64/aarch64-tune.md: Regenerate.
15918
5f3bc026
ZC
159192015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
15920
15921 PR target/64015
15922 * ccmp.c (expand_ccmp_next): New function.
15923 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
15924 and compare insn sequence.
15925 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
15926 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
15927 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
15928 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
15929 (*ccmp_ior): Changed to ccmp_ior<mode>.
15930 (cmp<mode>): New pattern.
15931 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
15932 parameters.
15933 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
15934
3e362970
IT
159352015-01-16 Ilya Tocar <ilya.tocar@intel.com>
15936
15937 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
15938 _mm256_bsrli_epi128): New.
15939 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
15940
e623cedf
JW
159412015-01-15 Jiong Wang <jiong.wang@arm.com>
15942
15943 * expmed.c (store_bit_field_using_insv): Improve warning message.
15944 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
15945
4ae9783e
JW
159462015-01-15 Jiong Wang <jiong.wang@arm.com>
15947
15948 PR rtl-optimization/64011
15949 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
15950 there is partial overflow.
15951
d6529176
CJW
159522015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
15953
15954 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
15955 prototype.
15956 (nds32_expand_epilogue_v3pop): Likewise.
15957 * config/nds32/nds32.md (sibcall): Define this for sibling call
15958 optimization.
15959 (sibcall_register): Likewise.
15960 (sibcall_immediate): Likewise.
15961 (sibcall_value): Likewise.
15962 (sibcall_value_register): Likewise.
15963 (sibcall_value_immediate): Likewise.
15964 (sibcall_epilogue): Likewise.
15965 (epilogue): Pass false to indicate this is not a sibcall epilogue.
15966 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
15967 (nds32_expand_epilogue_v3pop): Likewise.
15968
03390cda
CJW
159692015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
15970
15971 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
15972 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
15973 (return_internal): New.
15974 (return): Define this named pattern.
15975 (simple_return): Define this named pattern.
15976 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
15977 pattern instead of unspec_volatile_func_return.
15978 (nds32_expand_epilogue_v3pop): Likewise.
15979 (nds32_can_use_return_insn): New function.
15980
aa2642ef
CJW
159812015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
15982
15983 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
15984 * config/nds32/nds32.md (pop25return): New.
15985 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
15986 pop25return pattern.
15987
f959367e
CJW
159882015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
15989
15990 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
15991 -mforbid-fp-as-gp, and -mex9 options.
15992
5a4ba50e
CJW
159932015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
15994
15995 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
15996 remove -mgp-direct option.
15997
3620b606 159982015-01-15 Jan Hubicka <hubicka@ucw.cz>
c8d7835b 15999
3620b606
JH
16000 * doc/invoke.texi (--param early-inlining-insns): Update default value.
16001 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
16002
52d36202
JH
160032015-01-15 Jan Hubicka <hubicka@ucw.cz>
16004
16005 * ipa-inline.c (inline_small_functions): Work around hints
16006 cache issue.
16007
56314783
SL
160082015-01-15 Sandra Loosemore <sandra@codesourcery.com>
16009
16010 PR target/59710
16011 * doc/invoke.texi (Option Summary): Document new Nios II
16012 -mgpopt= syntax.
16013 (Nios II Options): Likewise.
16014 * config/nios2/nios2.opt: Add -mgpopt= option support.
16015 Modify existing -mgpopt and -mno-gpopt options to be aliases.
16016 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
16017 * config/nios2/nios2.c (nios2_option_override): Adjust
16018 -mgpopt defaulting.
16019 (nios2_in_small_data_p): Return true for explicit small data
16020 sections even with -G0.
16021 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
16022 option choices.
16023
8ccc8042
JH
160242015-01-15 Jan Hubicka <hubicka@ucw.cz>
16025
16026 PR ipa/64612
16027 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
16028 of comdat locals.
16029 (inline_call): Fix removal of aliases.
16030
35228ac7
JJ
160312015-01-15 Jakub Jelinek <jakub@redhat.com>
16032
16033 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
16034 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
16035 * opts.c (common_handle_option): Add -fsanitize=vptr.
16036 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
16037 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
16038 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
16039 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
16040 (ubsan_expand_vptr_ifn): New prototype.
16041 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
16042 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
16043 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
16044 expand_LOOP_VECTORIZED): Make argument nameless, remove
16045 ATTRIBUTE_UNUSED.
16046 (expand_UBSAN_VPTR): New function.
16047 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
16048 in fn spec.
16049 (UBSAN_VPTR): New internal function.
16050 * sanopt.c (tree_map_traits): Renamed to ...
16051 (sanopt_tree_map_traits): ... this.
16052 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
16053 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
16054 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
16055 (maybe_optimize_ubsan_vptr_ifn): New function.
16056 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
16057 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
16058 -fsanitize=vptr.
16059 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
16060 internal calls like pure functions for aliasing, even when they
16061 have other side-effects that prevent making them ECF_PURE.
16062 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
16063 (ubsan_expand_vptr_ifn): New function.
16064
d1457701
VM
160652015-01-15 Vladimir Makarov <vmakarov@redhat.com>
16066
16067 PR rtl-optimization/64110
16068 * stmt.c (parse_output_constraint): Process '^' and '$'.
16069 (parse_input_constraint): Ditto.
16070 * lra-constraints.c (process_alt_operands): Process the new
16071 constraints.
16072 * ira-costs.c (record_reg_classes): Process the new constraint
16073 '^'.
16074 * genoutput.c (indep_constraints): Add '^' and '$'.
16075 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
16076 * doc/md.texi: Add description of the new constraints.
16077
41dbbb37
TS
160782015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16079 Bernd Schmidt <bernds@codesourcery.com>
16080 Cesar Philippidis <cesar@codesourcery.com>
16081 James Norris <jnorris@codesourcery.com>
16082 Tom de Vries <tom@codesourcery.com>
16083 Ilmir Usmanov <i.usmanov@samsung.com>
16084 Dmitry Bocharnikov <dmitry.b@samsung.com>
16085 Evgeny Gavrin <e.gavrin@samsung.com>
16086 Jakub Jelinek <jakub@redhat.com>
16087
16088 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
16089 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
16090 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
16091 New function types.
16092 * builtins.c: Include "gomp-constants.h".
16093 (expand_builtin_acc_on_device): New function.
16094 (expand_builtin, is_inexpensive_builtin): Handle
16095 BUILT_IN_ACC_ON_DEVICE.
16096 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
16097 New macros.
16098 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
16099 flag_openmp.
16100 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
16101 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
16102 i386/intelmic-offload.h.
16103 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
16104 to libgomp and its dependencies.
16105 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
16106 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
16107 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
16108 * config/ia64/hpux.h (LIB_SPEC): Likewise.
16109 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
16110 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
16111 * doc/generic.texi: Update for OpenACC changes.
16112 * doc/gimple.texi: Likewise.
16113 * doc/invoke.texi: Likewise.
16114 * doc/sourcebuild.texi: Likewise.
16115 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
16116 GF_OMP_FOR_KIND_OACC_LOOP.
16117 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
16118 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
16119 GF_OMP_TARGET_KIND_OACC_UPDATE,
16120 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
16121 Dump more data.
16122 * gimple.c: Update comments for OpenACC changes.
16123 * gimple.def: Likewise.
16124 * gimple.h: Likewise.
16125 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
16126 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
16127 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
16128 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
16129 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
16130 appropriate place.
16131 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
16132 * gimplify.c: Include "gomp-constants.h".
16133 Update comments for OpenACC changes.
16134 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
16135 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
16136 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
16137 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
16138 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
16139 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
16140 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
16141 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
16142 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
16143 OMP_CLAUSE_SEQ.
16144 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
16145 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
16146 OMP_CLAUSE_SET_MAP_KIND.
16147 (gimplify_oacc_cache): New function.
16148 (gimplify_omp_for): Handle OACC_LOOP.
16149 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
16150 OACC_DATA.
16151 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
16152 OACC_EXIT_DATA, OACC_UPDATE.
16153 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
16154 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
16155 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
16156 (gimplify_body): Consider flag_openacc next to flag_openmp.
16157 * lto-streamer-out.c: Include "gomp-constants.h".
16158 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
16159 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
16160 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
16161 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
16162 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
16163 (BUILT_IN_ACC_ON_DEVICE): New builtins.
16164 * omp-low.c: Include "gomp-constants.h".
16165 Update comments for OpenACC changes.
16166 (struct omp_context): Add reduction_map, gwv_below, gwv_this
16167 members.
16168 (extract_omp_for_data, use_pointer_for_field, install_var_field)
16169 (new_omp_context, delete_omp_context, scan_sharing_clauses)
16170 (create_omp_child_function, scan_omp_for, scan_omp_target)
16171 (check_omp_nesting_restrictions, lower_reduction_clauses)
16172 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
16173 Update for OpenACC changes.
16174 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
16175 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
16176 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
16177 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
16178 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
16179 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
16180 OMP_CLAUSE_MAP_*.
16181 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
16182 Handle GF_OMP_FOR_KIND_OACC_LOOP.
16183 (expand_omp_target, lower_omp_target): Handle
16184 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
16185 GF_OMP_TARGET_KIND_OACC_UPDATE,
16186 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
16187 GF_OMP_TARGET_KIND_OACC_DATA.
16188 (pass_expand_omp::execute, execute_lower_omp)
16189 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
16190 flag_openmp.
16191 (offload_symbol_decl): New variable.
16192 (oacc_get_reduction_array_id, oacc_max_threads)
16193 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
16194 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
16195 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
16196 (oacc_gimple_assign, oacc_initialize_reduction_data)
16197 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
16198 functions.
16199 (is_targetreg_ctx): Remove function.
16200 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
16201 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
16202 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
16203 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
16204 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
16205 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
16206 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
16207 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
16208 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
16209 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
16210 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
16211 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
16212 * tree-core.h: Update comments for OpenACC changes.
16213 (enum omp_clause_map_kind): Remove.
16214 (struct tree_omp_clause): Change type of map_kind member from enum
16215 omp_clause_map_kind to unsigned char.
16216 * tree-inline.c: Update comments for OpenACC changes.
16217 * tree-nested.c: Likewise. Include "gomp-constants.h".
16218 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
16219 (convert_tramp_reference_stmt, convert_gimple_call): Update for
16220 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
16221 OMP_CLAUSE_SET_MAP_KIND.
16222 * tree-pretty-print.c: Include "gomp-constants.h".
16223 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
16224 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
16225 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
16226 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
16227 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
16228 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
16229 instead of OMP_CLAUSE_MAP_*.
16230 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
16231 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
16232 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
16233 * tree-streamer-in.c: Include "gomp-constants.h".
16234 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
16235 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
16236 * tree-streamer-out.c: Include "gomp-constants.h".
16237 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
16238 OMP_CLAUSE_MAP_*.
16239 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
16240 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
16241 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
16242 * tree.c (omp_clause_num_ops): Update accordingly.
16243 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
16244 Likewise.
16245 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
16246 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
16247 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
16248 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
16249 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
16250 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
16251 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
16252 (OMP_CLAUSE_SET_MAP_KIND): New macro.
16253 * varpool.c (varpool_node::get_create): Consider flag_openacc next
16254 to flag_openmp.
16255 * config/i386/intelmic-offload.h: New file.
16256 * config/nvptx/offload.h: Likewise.
16257
548c43e7
PK
162582015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16259
16260 * explow.h: Remove duplicate contents.
16261 * dojump.h: Likewise.
16262
7c21d0ff
RE
162632015-01-15 Richard Earnshaw <rearnsha@arm.com>
16264
16265 * arm.c (arm_xgene_tune): Add default initializer for instruction
16266 fusion.
16267
c23127ce
ML
162682015-01-15 Jan Hubicka <hubicka@ucw.cz>
16269
16270 PR ipa/64068
16271 PR ipa/64559
16272 * ipa.c (symbol_table::remove_unreachable_nodes):
16273 Do not put abstract origins into boundary.
16274
40d54d24
ES
162752015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
16276
16277 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
16278 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
6fb5f2f5 16279
40d54d24 162802015-01-15 Steve Ellcey <sellcey@mips.com>
869b656c 16281
6fb5f2f5
SE
16282 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
16283 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
869b656c 16284 builtins.def, and chkp-builtins.def.
6fb5f2f5 16285
63e533ec 162862015-01-15 David Edelsohn <dje.gcc@gmail.com>
34a8f242
DE
16287
16288 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
16289 ISA 2.7 (POWER8).
16290
42c6b3ca
RB
162912015-01-15 Richard Biener <rguenther@suse.de>
16292
16293 PR tree-optimization/61743
16294 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
16295 information on PHIs for some simple cases.
16296
cd3246ea
PT
162972015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
16298
16299 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
16300 Include xgene1.md.
16301 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
16302 * config/arm/arm-cores.def (xgene1): New entry.
16303 * config/arm/arm-tables.opt: Regenerate.
16304 * config/arm/arm-tune.md: Regenerate.
16305 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
16306
e9d5a1a0
YR
163072015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
16308
16309 * tree-if-conv.c: Include hash-map.h.
16310 (aggressive_if_conv): New variable.
16311 (fold_build_cond_expr): Add simplification of non-zero condition.
16312 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
16313 destination block is not always executed.
16314 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
16315 than two predecessors if AGGRESSIVE_IF_CONV is true.
16316 (if_convertible_stmt_p): Fix commentary.
16317 (all_preds_critical_p): New function.
16318 (has_pred_critical_p): New function.
16319 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
16320 BB can have more than two predecessors and all incoming edges can be
16321 critical.
16322 (predicate_bbs): Skip predication for loop exit block, use build2_loc
16323 to compute predicate for true edge.
16324 (find_phi_replacement_condition): Delete this function.
16325 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
16326 Allow interchange PHI arguments if EXTENDED is false.
16327 Change check that block containing reduction statement candidate
16328 is predecessor of phi-block since phi may have more than two arguments.
16329 (phi_args_hash_traits): New helper structure.
16330 (struct phi_args_hash_traits): New type.
16331 (phi_args_hash_traits::hash): New function.
16332 (phi_args_hash_traits::equal_keys): New function.
16333 (gen_phi_arg_condition): New function.
16334 (predicate_scalar_phi): Add handling of phi nodes with more than two
16335 arguments, delete COND and TRUE_BB arguments, insert body of
16336 find_phi_replacement_condition to predicate ordinary phi nodes.
16337 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
16338 delete call of find_phi_replacement_condition and invoke
16339 predicate_scalar_phi with two arguments.
16340 (insert_gimplified_predicates): Add assert that non-predicated block
16341 don't have statements to insert.
16342 (ifcvt_split_critical_edges): New function.
16343 (ifcvt_split_def_stmt): Likewise.
16344 (ifcvt_walk_pattern_tree): Likewise.
16345 (stmt_is_root_of_bool_pattern): Likewise.
16346 (ifcvt_repair_bool_pattern): Likewise.
16347 (ifcvt_local_dce): Likewise.
16348 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
16349 is copy of inner or outer loop force_vectorize field, invoke
16350 ifcvt_split_critical_edges, ifcvt_local_dce and
16351 ifcvt_repair_bool_pattern for aggressive if-conversion.
16352
a0f06fc9
PT
163532015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
16354
16355 * config/aarch64/aarch64.md: Include xgene1.md.
16356 * config/aarch64/xgene1.md: New file.
16357
381e27aa
PT
163582015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
16359
16360 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
16361 xgene1 (APM XGene-1) core definition.
16362 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
16363 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
16364 * doc/invoke.texi: Document -mcpu=xgene1.
16365
f84b87aa 163662015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
36566b39
PK
16367
16368 * dojump.h: New header file.
16369 * explow.h: Likewise.
16370 * expr.h: Remove includes.
16371 Move expmed.c prototypes to expmed.h.
16372 Move dojump.c prototypes to dojump.h.
16373 Move alias.c prototypes to alias.h.
16374 Move explow.c prototypes to explow.h.
16375 Move calls.c prototypes to calls.h.
16376 Move emit-rtl.c prototypes to emit-rtl.h.
16377 Move varasm.c prototypes to varasm.h.
16378 Move stmt.c prototypes to stmt.h.
16379 (saved_pending_stack_adjust): Move to dojump.h.
16380 (adjust_address): Move to explow.h.
16381 (adjust_address_nv): Move to emit-rtl.h.
16382 (adjust_bitfield_address): Likewise.
16383 (adjust_bitfield_address_size): Likewise.
16384 (adjust_bitfield_address_nv): Likewise.
16385 (adjust_automodify_address_nv): Likewise.
16386 * explow.c (expr_size): Move to expr.c.
16387 (int_expr_size): Likewise.
16388 (tree_expr_size): Likewise.
16389 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16390 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
f84b87aa
UB
16391 * genemit.c (main): Generate includes statistics.h, real.h,
16392 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
36566b39 16393 stmt.h.
f84b87aa
UB
16394 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
16395 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
16396 explow.h, emit-rtl.h, stmt.h.
36566b39
PK
16397 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
16398 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
f84b87aa
UB
16399 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
16400 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
16401 emit-rtl.h, varasm.h, stmt.h.
16402 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
16403 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
16404 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
16405 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
16406 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
36566b39
PK
16407 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
16408 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
16409 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
16410 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
16411 tm.h tree.h varasm.h vec.h wide-int.h.
16412 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
16413 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
16414 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
16415 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
f84b87aa
UB
16416 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
16417 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
16418 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
36566b39 16419 * loop-iv.c: Likewise.
f84b87aa
UB
16420 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
16421 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
36566b39
PK
16422 statistics.h stmt.h tree.h varasm.h wide-int.h.
16423 * lra-constraints.c: Likewise.
16424 * lra-eliminations.c: Likewise.
16425 * lra-lives.c: Likewise.
16426 * lra-remat.c: Likewise.
16427 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
16428 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
16429 statistics.h stmt.h tree.h varasm.h wide-int.h.
16430 * hw-doloop.c: Likewise.
16431 * ira-color.c: Likewise.
16432 * ira-emit.c: Likewise.
16433 * loop-doloop.c: Likewise.
16434 * loop-invariant.c: Likewise.
16435 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
16436 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
16437 statistics.h stmt.h tree.h varasm.h wide-int.h.
f84b87aa
UB
16438 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
16439 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
16440 statistics.h stmt.h tree.h varasm.h wide-int.h.
36566b39
PK
16441 * combine-stack-adj.c: Likewise.
16442 * cse.c: Likewise.
16443 * ddg.c: Likewise.
16444 * ifcvt.c: Likewise.
16445 * ira-costs.c: Likewise.
16446 * jump.c: Likewise.
16447 * lra-coalesce.c: Likewise.
16448 * lra-spills.c: Likewise.
16449 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
16450 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
16451 stmt.h varasm.h wide-int.h.
16452 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
16453 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
16454 varasm.h.
16455 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
16456 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
16457 statistics.h stmt.h varasm.h wide-int.h.
16458 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
16459 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
16460 varasm.h wide-int.h.
16461 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
16462 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
16463 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
16464 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
16465 statistics.h stmt.h.
16466 * config/tilepro/tilepro.c: Likewise.
16467 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
16468 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
16469 * config/pdp11/pdp11.c: Likewise.
16470 * config/xtensa/xtensa.c: Likewise.
16471 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
16472 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
16473 varasm.h.
16474 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16475 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
16476 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
16477 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16478 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
16479 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
16480 * rtl-chkp.c: Likewise.
16481 * tree-chkp-opt.c: Likewise.
f84b87aa
UB
16482 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
16483 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
16484 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
36566b39
PK
16485 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16486 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
16487 statistics.h stmt.h.
16488 * tree-vect-data-refs.c: Likewise.
16489 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
16490 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
16491 rtl.h statistics.h stmt.h varasm.h.
16492 * internal-fn.c: Likewise.
16493 * ipa-icf-gimple.c: Likewise.
16494 * lto-section-out.c: Likewise.
16495 * tree-data-ref.c: Likewise.
16496 * tree-nested.c: Likewise.
16497 * tree-outof-ssa.c: Likewise.
16498 * tree-predcom.c: Likewise.
16499 * tree-pretty-print.c: Likewise.
16500 * tree-scalar-evolution.c: Likewise.
16501 * tree-ssa-strlen.c: Likewise.
16502 * tree-vect-loop.c: Likewise.
16503 * tree-vect-patterns.c: Likewise.
16504 * tree-vect-slp.c: Likewise.
16505 * tree-vect-stmts.c: Likewise.
16506 * tsan.c: Likewise.
16507 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16508 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
16509 stmt.h.
16510 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
16511 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
16512 statistics.h stmt.h varasm.h.
16513 * loop-unroll.c: Likewise.
16514 * ubsan.c: Likewise.
16515 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
16516 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
16517 stmt.h varasm.h.
16518 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16519 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
16520 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
16521 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
16522 statistics.h stmt.h.
16523 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
16524 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
16525 statistics.h stmt.h varasm.h.
16526 * gimple-match-head.c: Likewise.
16527 * lto-cgraph.c: Likewise.
16528 * lto-section-in.c: Likewise.
16529 * lto-streamer-in.c: Likewise.
16530 * lto-streamer-out.c: Likewise.
16531 * tree-affine.c: Likewise.
16532 * tree-cfg.c: Likewise.
16533 * tree-cfgcleanup.c: Likewise.
16534 * tree-if-conv.c: Likewise.
16535 * tree-into-ssa.c: Likewise.
16536 * tree-ssa-alias.c: Likewise.
16537 * tree-ssa-copyrename.c: Likewise.
16538 * tree-ssa-dse.c: Likewise.
16539 * tree-ssa-forwprop.c: Likewise.
16540 * tree-ssa-live.c: Likewise.
16541 * tree-ssa-math-opts.c: Likewise.
16542 * tree-ssa-pre.c: Likewise.
16543 * tree-ssa-sccvn.c: Likewise.
16544 * tree-tailcall.c: Likewise.
16545 * tree-vect-generic.c: Likewise.
16546 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16547 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
16548 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16549 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
16550 * varasm.c: Likewise.
16551 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16552 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
16553 varasm.h.
16554 * init-regs.c: Likewise.
16555 * ira.c: Likewise.
16556 * omp-low.c: Likewise.
16557 * stack-ptr-mod.c: Likewise.
16558 * tree-ssa-reassoc.c: Likewise.
16559 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16560 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
16561 varasm.h.
16562 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16563 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
16564 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16565 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
16566 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16567 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
16568 * tree-ssa-phiopt.c: Likewise.
16569 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16570 fixed-value.h hashtab.h real.h statistics.h stmt.h.
16571 * config/fr30/fr30.c: Likewise.
16572 * config/frv/frv.c: Likewise.
16573 * expr.c: Likewise.
16574 * final.c: Likewise.
16575 * optabs.c: Likewise.
16576 * passes.c: Likewise.
16577 * simplify-rtx.c: Likewise.
16578 * stmt.c: Likewise.
16579 * toplev.c: Likewise.
16580 * var-tracking.c: Likewise.
16581 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16582 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
16583 * lower-subreg.c: Likewise.
16584 * postreload-gcse.c: Likewise.
16585 * ree.c: Likewise.
16586 * reginfo.c: Likewise.
16587 * store-motion.c: Likewise.
16588 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16589 fixed-value.h hashtab.h real.h stmt.h varasm.h.
16590 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16591 fixed-value.h hashtab.h statistics.h stmt.h.
16592 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16593 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
16594 * except.c: Likewise.
16595 * explow.c: Likewise.
16596 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16597 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
16598 varasm.h.
16599 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16600 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
16601 * tree-ssa-structalias.c: Likewise.
16602 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16603 fixed-value.h insn-config.h real.h statistics.h.
16604 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16605 fixed-value.h insn-config.h real.h statistics.h stmt.h.
16606 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16607 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
16608 * cfgbuild.c: Likewise.
16609 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16610 fixed-value.h real.h rtl.h statistics.h stmt.h.
16611 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16612 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
16613 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16614 fixed-value.h real.h statistics.h stmt.h.
16615 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
16616 fixed-value.h real.h statistics.h stmt.h varasm.h.
16617 * cprop.c: Likewise.
16618 * modulo-sched.c: Likewise.
16619 * postreload.c: Likewise.
16620 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
16621 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
16622 statistics.h stmt.h varasm.h.
16623 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
16624 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
16625 rtl.h statistics.h stmt.h varasm.h.
16626 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
16627 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
16628 varasm.h.
16629 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
16630 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
16631 varasm.h.
16632 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
16633 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
16634 varasm.h.
16635 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
16636 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
16637 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
16638 function.h real.h statistics.h stmt.h varasm.h.
16639 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
16640 insn-config.h real.h statistics.h stmt.h.
16641 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
16642 statistics.h stmt.h.
16643 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
16644 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
16645 statistics.h stmt.h varasm.h.
f84b87aa
UB
16646 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
16647 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
36566b39
PK
16648 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
16649 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
16650 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
16651 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
16652 statistics.h stmt.h varasm.h.
16653 * ipa-polymorphic-call.c: Likewise.
f84b87aa 16654 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
36566b39 16655 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
f84b87aa
UB
16656 statistics.h stmt.h.
16657 * config/c6x/c6x.c: Likewise.
16658 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
16659 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36566b39 16660 statistics.h stmt.h varasm.h.
f84b87aa
UB
16661 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
16662 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
16663 stmt.h varasm.h.
36566b39
PK
16664 * ipa-split.c: Likewise.
16665 * tree-eh.c: Likewise.
16666 * tree-ssa-dce.c: Likewise.
16667 * tree-ssa-loop-niter.c: Likewise.
16668 * tree-vrp.c: Likewise.
16669 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
16670 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
16671 stmt.h.
16672 * config/nds32/nds32-fp-as-gp.c: Likewise.
16673 * config/nds32/nds32-intrinsic.c: Likewise.
16674 * config/nds32/nds32-isr.c: Likewise.
16675 * config/nds32/nds32-md-auxiliary.c: Likewise.
16676 * config/nds32/nds32-memory-manipulation.c: Likewise.
16677 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
16678 * config/nds32/nds32-predicates.c: Likewise.
16679 * config/nds32/nds32.c: Likewise.
16680 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
16681 fixed-value.h hashtab.h real.h statistics.h.
16682 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
16683 fixed-value.h hashtab.h real.h statistics.h stmt.h.
16684 * config/arm/arm.c: Likewise.
16685 * config/avr/avr.c: Likewise.
16686 * config/bfin/bfin.c: Likewise.
16687 * config/h8300/h8300.c: Likewise.
16688 * config/i386/i386.c: Likewise.
16689 * config/ia64/ia64.c: Likewise.
16690 * config/iq2000/iq2000.c: Likewise.
16691 * config/m32c/m32c.c: Likewise.
16692 * config/m32r/m32r.c: Likewise.
16693 * config/m68k/m68k.c: Likewise.
16694 * config/mcore/mcore.c: Likewise.
16695 * config/mep/mep.c: Likewise.
16696 * config/mips/mips.c: Likewise.
16697 * config/mn10300/mn10300.c: Likewise.
16698 * config/moxie/moxie.c: Likewise.
16699 * config/pa/pa.c: Likewise.
16700 * config/rl78/rl78.c: Likewise.
16701 * config/rx/rx.c: Likewise.
16702 * config/s390/s390.c: Likewise.
16703 * config/sh/sh.c: Likewise.
16704 * config/sparc/sparc.c: Likewise.
16705 * config/spu/spu.c: Likewise.
16706 * config/stormy16/stormy16.c: Likewise.
16707 * config/v850/v850.c: Likewise.
16708 * config/vax/vax.c: Likewise.
16709 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
16710 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
16711 * config/msp430/msp430.c: Likewise.
16712 * predict.c: Likewise.
16713 * value-prof.c: Likewise.
16714 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
16715 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
16716 * config/microblaze/microblaze.c: Likewise.
16717 * config/nios2/nios2.c: Likewise.
16718 * config/rs6000/rs6000.c: Likewise.
16719 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
16720 insn-config.h real.h rtl.h statistics.h stmt.h.
16721 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
16722 insn-config.h real.h statistics.h stmt.h.
16723 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
16724 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
16725 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
16726 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
f84b87aa
UB
16727 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
16728 fixed-value.h real.h statistics.h stmt.h.
36566b39
PK
16729 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
16730 fixed-value.h statistics.h stmt.h.
16731 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
16732 stmt.h.
16733
e54bd4ab
JJ
167342015-01-15 Jakub Jelinek <jakub@redhat.com>
16735
16736 * gengtype.c (create_user_defined_type): Workaround
16737 -Wmaybe-uninitialized false positives.
16738 * cse.c (fold_rtx): Likewise.
16739 * loop-invariant.c (gain_for_invariant): Likewise.
16740
3aabdc00
EB
167412015-01-15 Eric Botcazou <ebotcazou@adacore.com>
16742
16743 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
16744 set the memory attributes in all cases but clear MEM_EXPR if need be.
16745
d2626c0b
YR
167462015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
16747
16748 PR tree-optimization/64434
16749 * cfgexpand.c (reorder_operands): New function.
16750 (expand_gimple_basic_block): Insert call of reorder_operands if
16751 optimized is true.
16752
2c3bcf47
MF
167532015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
16754
16755 * config/mips/micromips.md (*swp): Remove explicit parallel.
16756 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
16757 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
16758 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
16759 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
16760 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
16761 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
16762 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
16763 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
16764 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
16765 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
16766 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
16767 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
16768 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
16769 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
16770 (mips_wrdsp): Likewise.
16771 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
16772 parallel.
16773 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
16774 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
16775 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
16776 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
16777 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
16778 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
16779 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
16780 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
16781 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
16782
954bdd58
MF
167832015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
16784
16785 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
16786 (mips_print_operand): Support 'y' to print exact log2 in decimal
16787 of a const_int.
16788 * config/mips/mips.h (ISA_HAS_LSA): New define.
16789 (ISA_HAS_DLSA): Likewise.
16790 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
16791 * config/mips/predicates.md (const_immlsa_operand): New predicate.
16792
5e306f6e
ML
167932015-01-15 Martin Liska <mliska@suse.cz>
16794
16795 PR target/64377
16796 * optc-save-gen.awk: Add support for array types.
16797
d679e96b
RB
167982015-01-15 Richard Biener <rguenther@suse.de>
16799
16800 PR middle-end/64365
16801 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
16802 for MEM_REF access functions with the same base can never partially
16803 overlap.
16804
5434dc07
MD
168052015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
16806
16807 * common.opt: New option -fstack-protector-explicit.
16808 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
16809 (stack_protect_decl_phase): Handle stack_protect attribute for
16810 explicit stack protection requests.
16811 (expand_used_vars): Similarly.
16812 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
16813 * doc/extend.texi: Add documentation for "stack_protect" attribute.
16814 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
16815
83e3f98b
OE
168162015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
16817
16818 PR target/53988
16819 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
16820 reg-reg copies.
16821 (sh_extending_set_of_reg): New struct.
16822 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
16823 sh_remove_reg_dead_or_unused_notes): New Declarations.
16824 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
16825 sh_find_extending_set_of_reg, sh_split_tst_subregs,
16826 sh_extending_set_of_reg::use_as_extended_reg): New functions.
16827 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
16828 convert to insn_and_split and use new function sh_split_tst_subregs.
16829
ce2c3163
SL
168302015-01-14 Sandra Loosemore <sandra@codesourcery.com>
16831
16832 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
16833 option.
16834 (Optimization Options): Move -fuse-ld documentation to...
16835 (Link Options): ...here.
16836
047b52f6
MF
168372015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
16838
16839 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
16840 offsets.
16841 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
16842 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
16843 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
16844 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
16845 instead of ZR for the memory operand of LL/SC.
16846 (compare_and_swap_12, sync_add<mode>): Likewise.
16847 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
16848 (sync_new_<optab>_12, sync_nand_12): Likewise.
16849 (sync_old_nand_12, sync_new_nand_12): Likewise.
16850 (sync_sub<mode>, sync_old_add<mode>): Likewise.
16851 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
16852 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
16853 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
16854 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
16855 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
16856 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
16857 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
16858 * doc/md.texi (ZC): Update description.
16859
77df5327
AM
168602015-01-14 Andrew MacLeod <amacleod@redhat.com>
16861
16862 * builtins.c (expand_builtin_atomic_exchange): Remove error when
16863 memory model is CONSUME.
16864 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
16865 expand_builtin_atomic_store): Change invalid memory model errors to
16866 warnings.
16867 (expand_builtin_atomic_clear): Change invalid model errors to warnings
16868 and issue warning for CONSUME.
16869
2ead7928
AH
168702015-01-14 Aldy Hernandez <aldyh@redhat.com>
16871
16872 * lto-cgraph: Update function comments for
16873 lto_symtab_encoder_encode_*.
16874
3b6e42f9
IV
168752015-01-14 Ilya Verbin <ilya.verbin@intel.com>
16876
16877 * Makefile.in (site.exp): Do not set ENABLE_LTO.
16878
837bac8c
IV
168792015-01-14 Ilya Verbin <ilya.verbin@intel.com>
16880
16881 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
16882 * lto-cgraph.c (select_what_to_stream): Remove argument, use
16883 lto_stream_offload_p instead.
16884 * lto-streamer.h (select_what_to_stream): Remove argument.
16885 * passes.c (ipa_write_summaries): Likewise.
16886 * tree-pass.h (ipa_write_summaries): Likewise.
16887
7ef95f9c
RB
168882015-01-14 Richard Biener <rguenther@suse.de>
16889
16890 PR tree-optimization/59354
16891 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
16892 groups larger than the slp group size as having gaps.
16893
8673b671
AM
168942015-01-14 Andrew MacLeod <amacleod@redhat.com>
16895
16896 PR middle-end/59448
16897 * builtins.c (get_memmodel): Promote consume to acquire always.
16898
2f6c116d 168992015-01-14 Ilya Tocar <ilya.tocar@intel.com>
4b54ab97
IT
16900
16901 PR target/64386
16902 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
c8d7835b 16903 V32HImode.
4b54ab97 16904
2f6c116d 169052015-01-14 Ilya Tocar <ilya.tocar@intel.com>
c67917b6
IT
16906
16907 PR target/64393
16908 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
16909 Enable AVX512BW.
16910 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
16911 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
16912 AVX512VBMI, as it implies AVX512BW.
16913
2f6c116d 169142015-01-14 Ilya Tocar <ilya.tocar@intel.com>
110b7886
IT
16915
16916 PR target/64387
16917 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
16918 (vec_unpacks_hi_v16sf): Ditto.
16919
2a62514f
KT
169202015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16921
16922 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
16923 is not available.
16924
3bbbd3ee
KT
169252015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16926
16927 * doc/invoke.texi (mapcs): Mention deprecation.
16928 (mapcs-frame): Likewise.
16929
6f0a6218
TP
169302015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
16931
16932 PR target/64453
16933 * config/arm/arm.c (callee_saved_reg_p): Define.
16934 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
16935 register is callee saved instead of !call_used_regs[reg].
16936 (thumb1_compute_save_reg_mask): Likewise.
16937
6af2585d
HW
169382015-01-14 Hale Wang <hale.wang@arm.com>
16939
16940 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
16941 Cortex-M7.
16942
683750ce
RB
169432015-01-14 Richard Biener <rguenther@suse.de>
16944
16945 PR lto/64415
16946 * tree-inline.c (insert_debug_decl_map): Check destination
16947 function MAY_HAVE_DEBUG_STMTS.
16948 (insert_init_debug_bind): Likewise.
16949 (insert_init_stmt): Remove redundant check.
16950 (remap_gimple_stmt): Drop debug stmts if the destination
16951 function has var-tracking assignments disabled.
16952
217c08c5
ML
169532015-01-14 Martin Liska <mliska@suse.cz>
16954
16955 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
16956 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
16957
ca39a43a
KT
169582015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16959
16960 PR target/64460
16961 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
16962 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
16963
fcd7669c
MF
169642015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
16965
622ef5da
MF
16966 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
16967 level from an ARCH; do not inject the default.
16968 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
16969 MIPS_ISA_LEVEL_SPEC.
16970 (MIPS_ISA_NAN2008_SPEC): Update comment.
16971 (BASE_DRIVER_SELF_SPECS): Likewise.
16972 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
16973 MIPS_DEFAULT_ISA_LEVEL_SPEC.
16974 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
16975 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
16976 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
fcd7669c 16977
46b622cc
RB
169782015-01-14 Richard Biener <rguenther@suse.de>
16979
16980 PR tree-optimization/64493
16981 PR tree-optimization/64495
16982 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
16983 assign the proper vectorized PHI to the inner loop exit PHIs.
16984
f7d2b513
JY
169852015-01-14 Joey Ye <joey.ye@arm.com>
16986
16987 * config/arm/arm.c (arm_compute_save_reg_mask):
16988 Do not save lr in case of tail call.
16989 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
16990
63e533ec 169912015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
16992
16993 * tree-vrp.c (check_array_ref): Emit more warnings
16994 for warn_array_bounds >= 2.
16995 * common.opt: New option -Warray-bounds=.
16996 * doc/invoke.texi: Document -Warray-bounds=.
16997
2ca1ca65
CJW
169982015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
16999
17000 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
17001 (mforbid-fp-as-gp): Remove.
17002 (mex9): Remove.
17003 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
17004 (nds32_symbol_load_store_p): Remove.
17005 (nds32_fp_as_gp_check_available): Clean up implementation.
17006 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
17007 cases.
17008 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
17009 fp-as-gp and ex9 cases.
17010
c02ae3ae
JH
170112015-01-13 Jan Hubicka <hubicka@ucw.cz>
17012
17013 * tree-profile.c (init_ic_make_global_vars): Drop workaround
17014 for bintuils bug 14342.
17015 (init_ic_make_global_vars): Likewise.
17016 (gimple_init_edge_profiler): Likewise.
17017 (gimple_gen_ic_func_profiler): Likewise.
17018
f7d2b513 170192015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
9e145afd
N
17020
17021 * ipa-inline.c (inline_small_functions): Swap the operands in
17022 enum.
17023
0d92b555
JH
170242015-01-13 Jan Hubicka <hubicka@ucw.cz>
17025
17026 PR ipa/64481
17027 * ipa-inline-analysis.c (node_growth_cache): Remove.
17028 (initialize_growth_caches): Do not initialize it.
17029 (free_growth_caches): Do not free it.
17030 (do_estimate_growth): Rename to ...
17031 (estimate_growth): ... this one; drop growth cache code.
17032 (growth_likely_positive): Always go the heuristics way.
17033 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
17034 (reset_edge_caches): Do not reset node growth.
17035 (heap_edge_removal_hook): Do not maintain cache.
17036 (inline_small_functions): Likewise; strenghten sanity check.
17037 (ipa_inline): Do not maintain caches.
17038 * ipa-inline.h (node_growth_cache): Remove.
17039 (do_estimate_growth): Remove to ...
17040 (estimate_growth): this one; remove inline version.
17041 (reset_node_growth_cache): Remove.
17042
2001028a
JH
170432015-01-13 Jan Hubicka <hubicka@ucw.cz>
17044
17045 PR ipa/64565
17046 * ipa-inline.c (inline_small_functions): Update callee keys after
17047 resolving speculation
17048 (inline_small_functions): Always check monotonicity of the queue.
17049
59b8926c
MP
170502015-01-13 Marek Polacek <polacek@redhat.com>
17051
17052 PR middle-end/64391
17053 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
17054
860dadcb
JJ
170552015-01-13 Jakub Jelinek <jakub@redhat.com>
17056
17057 PR rtl-optimization/64286
17058 * ree.c (combine_reaching_defs): Move part of comment earlier,
17059 remove !SCALAR_INT_MODE_P check.
17060 (add_removable_extension): Don't add vector mode
17061 extensions if all uses of the source register aren't the same
17062 vector extensions.
17063
41197ad4
RL
170642015-01-13 Renlin Li <renlin.li@arm.com>
17065
17066 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
17067 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
17068
eaabbb00
ML
170692015-01-13 Martin Liska <mliska@suse.cz>
17070
17071 * ipa-icf.c (sem_function::equals_private): Call new functions
17072 cl_target_option_print_diff and cl_optimization_print_diff.
17073 * optc-save-gen.awk (cl_target_option_print_diff): New function.
17074 (cl_optimization_print_diff): Likewise.
17075 * opth-gen.awk: Likewise.
17076
7eb8fb77
RS
170772015-01-13 Richard Sandiford <richard.sandiford@arm.com>
17078
17079 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
17080 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
17081 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
17082 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
17083 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
17084 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
17085
10ac6596 170862015-01-13 Andrew Pinski <apinski@cavium.com>
1f46bd52
AP
17087
17088 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
c8d7835b 17089 instead of src mode.
1f46bd52 17090
e0ffb247
RB
170912015-01-13 Richard Biener <rguenther@suse.de>
17092
17093 PR lto/64373
17094 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
17095 DECL_CONTEXT.
17096
10ac6596 170972015-01-13 Andrew Pinski <apinski@cavium.com>
bf84ac44
AP
17098
17099 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
17100 volatile mems.
17101 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
17102
08cb0abc
JJ
171032015-01-13 Jakub Jelinek <jakub@redhat.com>
17104
17105 PR middle-end/63974
17106 * cfgexpand.c (expand_computed_goto): Don't call
17107 convert_memory_address here.
17108
d0ed943c
RB
171092015-01-13 Richard Biener <rguenther@suse.de>
17110
17111 PR tree-optimization/64406
17112 * tree-loop-distibution.c (pass_loop_distribution::execute):
17113 Reset the SCEV hashtable if we distributed anything.
17114
96bb56b2
RB
171152015-01-13 Richard Biener <rguenther@suse.de>
17116
17117 PR tree-optimization/64404
17118 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
17119 SLP types for CSEd loads.
17120
af410c4c
TP
171212015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
17122
17123 PR tree-optimization/64436
17124 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
17125 merge of two symbolic numbers for a bitwise OR to ...
17126 (perform_symbolic_merge): This. Also fix computation of the range and
17127 end of the symbolic number corresponding to the result of a bitwise OR.
17128
63e533ec 171292015-01-13 Richard Biener <rguenther@suse.de>
a2d429ac
RB
17130
17131 PR tree-optimization/64568
17132 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
17133 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
17134
4855be84
CJW
171352015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17136
17137 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
17138 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
17139
511a41d7
CJW
171402015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17141
17142 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
17143 target-specific symbol_ref flag.
17144 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
17145 resides in rodata section.
17146 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
17147 (nds32_encode_section_info): New function.
17148
1f7b8028
CJW
171492015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17150
17151 * config/nds32/nds32.md (call): Use pseudo instruction bal which
17152 clobbers TA_REGNUM if large code model is specified.
17153 (call_register): Likewise.
17154 (call_immediate): Likewise.
17155 (call_value): Likewise.
17156 (call_value_register): Likewise.
17157 (call_value_immediate): Likewise.
17158
77b7a1ca
CJW
171592015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17160
17161 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
17162 (TARGET_CMODEL_MEDIUM): New macro.
17163 (TARGET_CMODEL_LARGE): New macro.
17164 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
17165 code model setting in assembly code.
17166
c9eb51a7
CJW
171672015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17168
17169 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
17170 Remove MASK_GP_DIRECT flag.
17171 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
17172 one of the multilib default options.
17173 * config/nds32/nds32.opt (mgp-direct): Remove.
17174 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
17175 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
17176
fe4c07dc
CJW
171772015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
17178
17179 * config/nds32/nds32.opt (mcmodel): Add new option.
17180 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
17181 to describe code model.
17182
d9a5f0cc
OE
171832015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
17184
17185 PR target/64479
17186 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
17187
801881b0
KK
171882015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
17189
17190 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
17191 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
17192 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
17193 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
17194 __builtin_sh_set_fpscr.
17195
16ba6203
SL
171962015-01-12 Sandra Loosemore <sandra@codesourcery.com>
17197
17198 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
17199 after a funtion name just to indicate it is a function.
17200 ([-fsanitize-undefined-trap-on-error]): Likewise.
17201 ([-fdbg-cnt=]): Likewise.
17202 ([-mmemcpy]): Likewise.
17203 ([-mflush-func]): Likewise.
17204 ([-msynci]): Likewise.
17205
3ae79bfd
SL
172062015-01-12 Sandra Loosemore <sandra@codesourcery.com>
17207
17208 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
17209 example.
c8d7835b 17210
aadb701b
JJ
172112015-01-12 Jakub Jelinek <jakub@redhat.com>
17212
737fde1d
JJ
17213 PR tree-optimization/64563
17214 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
17215 instead of != VR_VARYING.
17216
631b8d78
JJ
17217 PR target/64513
17218 * config/i386/i386.c (ix86_expand_prologue): Add
17219 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
17220
f51286f2
JJ
17221 PR tree-optimization/64454
17222 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
17223 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
17224 for signed or [0, op1 - 1] for unsigned modulo.
17225 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
17226 even if op1 does not satisfy integer_pow2p.
17227
aadb701b
JJ
17228 PR other/64370
17229 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
17230
f698a4b1
JL
172312015-01-12 Jeff Law <law@redhat.com>
17232
cfd02f69 17233 PR target/64461
1481bdb1
JL
17234 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
17235 (trunchiqi2, truncsihi2): Similarly.
17236
f698a4b1
JL
17237 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
17238 rather than calling F.
17239
020ca950
BE
172402015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
17241
17242 * tsan.c (instrument_expr): Use force_gimple_operand.
17243 Use may_be_nonaddressable_p instead of is_gimple_addressable.
17244
62e22fcb
RB
172452015-01-12 Richard Biener <rguenther@suse.de>
17246
17247 PR tree-optimization/64530
17248 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
17249 back dr1.
17250
2a58c802
RB
172512015-01-12 Richard Biener <rguenther@suse.de>
17252
17253 PR middle-end/64357
17254 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
17255 latches properly.
17256
82ac9e41
KT
172572015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17258
17259 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
17260 Cortex-A17 tuning parameters.
17261 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
17262
8b898d4c
KT
172632015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17264
17265 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
17266 * config/arm/arm.c (arm_macro_fusion_p): New function.
17267 (arm_macro_fusion_pair_p): Likewise.
17268 (TARGET_SCHED_MACRO_FUSION_P): Define.
17269 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
17270 (ARM_FUSE_NOTHING): Likewise.
17271 (ARM_FUSE_MOVW_MOVT): Likewise.
17272 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
17273 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
17274 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
17275 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
17276 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
17277 arm_cortex_a5_tune): Specify fuseable_ops value.
17278
7b3592ee
L
172792015-01-12 H.J. Lu <hongjiu.lu@intel.com>
17280
17281 PR bootstrap/64561
17282 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
17283 test for PIE with copy reloc.
17284 * configure: Regenerated.
17285
57ceb728 172862015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
03d5d16a
KT
17287
17288 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
17289 in gen_rtx_REG.
17290 (arm_tls_descseq_addr): Likewise.
17291 (arm_gen_movmemqi): Likewise.
17292 (arm_expand_epilogue_apcs_frame): Likewise.
17293 (arm_expand_epilogue): Likewise.
17294 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
17295 in gen_rtx_REG.
17296
365536ca
ML
172972015-01-12 Martin Liska <mliska@suse.cz>
17298
17299 PR ipa/64550
17300 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
17301 volatility for correct operands.
17302
173032015-01-12 Martin Liska <mliska@suse.cz>
17304
022850c0
UB
17305 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
17306 indication that a function is not leaf.
1c928ddc
ML
17307 (sem_function::compare_polymorphic_p): Likewise.
17308
76478bf9
PK
173092015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17310
17311 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
17312 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
17313 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
17314 fold-const.h, tree-check.h.
17315
208e5afa
JH
173162015-01-12 Jan Hubicka <hubicka@ucw.cz>
17317
17318 PR ipa/63967
17319 PR ipa/64425
17320 * ipa-inline.c (compute_uninlined_call_time,
17321 compute_inlined_call_time): Use counts for extra precision when
17322 needed possible.
17323 (big_speedup_p): Fix formating.
17324 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
17325 (relative_time_benefit): Remove.
17326 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
17327 merge guessed and read profile paths.
17328 (inline_small_functions): Count only !optimize_size functions into
17329 initial size; be more lax about sanity check when profile is used;
17330 be sure to update inlined function profile when profile is read.
17331
d8d5aef1
JH
173322015-01-12 Jan Hubicka <hubicka@ucw.cz>
17333
17334 PR ipa/63470
17335 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
17336 cost when edge becomes direct.
17337 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
17338 is resolved or when introducing new speculation.
17339
9f54bf9c
CG
173402015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
17341
9f54bf9c
CG
17342 PR ipa/64551
17343 PR ipa/64552
17344 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
17345 '||' to fix typo issue.
17346
17347 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
17348 accept and return NULL.
17349
90988f77
ML
173502015-01-12 Martin Liska <mliska@suse.cz>
17351
17352 * cgraph.c (cgraph_edge::remove_callee): Move function to header
17353 file for being inlined.
17354 (cgraph_set_edge_callee): Delete.
17355 (cgraph_edge::redirect_callee): Move function to header file
17356 for being inlined.
17357 (cgraph_edge::make_direct): Use new function.
17358 (cgraph_edge::dump_edge_flags): New function created from
17359 static dump_edge_flags function.
17360 (cgraph_node::dump): Use new function.
17361 (cgraph_edge::verify_count_and_frequency): New function created
17362 from verify_edge_count_and_frequency.
17363 (cgraph_edge::verify_corresponds_to_fndecl): New function created
17364 from verify_edge_corresponds_to_fndecl.
17365 (verify_edge_corresponds_to_fndecl): Delete.
17366 (cgraph_node::verify_node): Use new function.
17367 * cgraph.h (cgraph_edge::set_callee): New function.
17368 (cgraph_edge::dump_edge_flags): Likewise.
17369 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
17370
e3bde69a
JH
173712015-01-11 Jan Hubicka <hubicka@ucw.cz>
17372
17373 * ipa-utils.c (estimate_function_body_sizes): Do not
17374 free node params when called late with early=true.
17375
2f9d3709
JG
173762015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
17377
17378 * doc/md.texi (Instruction Patterns): Rewrite text for
17379 clarity.
17380 (Example): Likewise.
17381
abaab34f
SL
173822015-01-10 Sandra Loosemore <sandra@codesourcery.com>
17383
17384 * doc/invoke.texi (Option Summary): Break long lines.
17385 [(-fdiagnostics-color)]: Put long literal in @smallexample
17386 instead of inline.
17387 [(-fsanitize-recover)]: Likewise.
17388 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
17389 [(-ffast-math)]: Likewise.
17390 [(--param max-inline-insns-recursive)]: Likewise.
17391 [(--param max-inline-recursive-depth)]: Likewise.
17392 [(-mno-text-section-literals)]: Likewise.
c8d7835b 17393
f1f3453e
TS
173942015-01-10 Thomas Schwinge <thomas@codesourcery.com>
17395
17396 * doc/install.texi: Update for libgomp being renamed from "GNU
17397 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
17398 Runtime Library".
17399 * doc/sourcebuild.texi: Likewise.
17400
b10b03c4
AG
174012015-01-10 Anthony Green <green@moxielogic.com>
17402
17403 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
17404 mul.x availability for moxiebox configuration.
17405
6085e66e
AG
174062015-01-09 Anthony Green <green@moxielogic.com>
17407
17408 * config/moxie/moxie.md: Tabify assembly output.
17409
1d763aec
AG
174102015-01-09 Anthony Green <green@moxielogic.com>
17411
17412 * config/moxie/moxie.md (CC_REG): Correct register definition.
17413
c608d704
SL
174142015-01-09 Sandra Loosemore <sandra@codesourcery.com>
17415
17416 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
17417 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
17418 of log files.
17419
5357406f
AT
174202015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
17421
17422 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
17423
1b34e6e2
BS
174242015-01-09 Bernd Schmidt <bernds@codesourcery.com>
17425 Jakub Jelinek <jakub@redhat.com>
17426
17427 PR middle-end/64412
17428 * lto-streamer.h (lto_stream_offload_p): New declaration.
17429 * lto-streamer.c (lto_stream_offload_p): New variable.
17430 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
17431 at the same time as section_name_prefix.
17432 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
17433 if lto_stream_offload_p.
17434 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
17435 stream TREE_TARGET_OPTION if lto_stream_offload_p.
17436 (write_ts_function_decl_tree_pointers): Don't
17437 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
17438 * tree-streamer-in.c (unpack_value_fields): Don't stream
17439 TREE_TARGET_OPTION in if ACCEL_COMPILER.
17440 (lto_input_ts_function_decl_tree_pointers): Don't stream
17441 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
17442 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
17443 instead of section_name_prefix string comparisons.
17444
adfac8df
JJ
174452015-01-09 Jakub Jelinek <jakub@redhat.com>
17446
17447 PR rtl-optimization/64536
17448 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
17449 tablejumps.
17450
40e23961 174512015-01-09 Michael Collison <michael.collison@linaro.org>
adfac8df 17452
a89bd7d2
JH
17453 PR tree-optimization/64322
17454 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
17455 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
17456
486b97f2
TV
174572015-01-09 Tom de Vries <tom@codesourcery.com>
17458
17459 PR rtl-optimization/64539
17460 * regcprop.c (kill_clobbered_values): Factor out of ...
17461 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
17462 instead of note_stores with kill_clobbered_value.
17463
4c470097
AT
174642015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
17465
17466 * ginclude/unwind-arm-common.h: Revert previous commit.
17467
82a19768
AT
174682015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
17469
17470 * config.gcc (arm*-*-freebsd*): New configuration.
17471 * config/arm/freebsd.h: New file.
17472 * config.host: Add extra components for arm*-*-freebsd*.
17473 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
17474 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
17475
887974fd
SH
174762015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
17477
17478 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
17479 for -mcpu=e6500.
17480 * config/rs6000/t-rtems: Add e6500 multilibs.
17481
3bfc2fa3
SH
174822015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
17483
17484 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
17485 MPC8540.
17486
02f6062b
SH
174872015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
17488
17489 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
17490 MULTILIB_EXCEPTIONS.
17491
2f2eb5ad
SH
174922015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
17493
17494 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
17495 MULTILIB_EXCEPTIONS.
17496
5be0a29b
SH
174972015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
17498
17499 * config/arm/t-rtems-eabi: Rename to...
17500 * config/arm/t-rtems: ...this.
17501 * config/arm/rtems-eabi.h: Rename to...
17502 * config/arm/rtems.h: ...this.
17503 * config.gcc (arm*-*-rtems*): Reflect changes above.
17504
2f278249
RB
175052015-01-09 Richard Biener <rguenther@suse.de>
17506
17507 PR tree-optimization/64410
17508 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
17509 on the LHS.
17510 (execute_update_addresses_taken): Deal with that.
17511 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
17512 loads/stores for complex variables.
17513
520b3022
ML
175142015-01-09 Martin Liska <mliska@suse.cz>
17515
17516 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
17517 name comparison.
17518 (func_checker::compare_memory_operand): New function.
17519 (func_checker::compare_operand): Split case to newly
17520 added functions.
17521 (func_checker::compare_cst_or_decl): New function.
17522 (func_checker::compare_gimple_call): Identify
17523 memory operands.
17524 (func_checker::compare_gimple_assign): Likewise.
17525 * ipa-icf-gimple.h: New function.
17526
ce9401b4
ML
175272015-01-09 Martin Liska <mliska@suse.cz>
17528
17529 PR ipa/64503
17530 * sreal.c (sreal::dump): Change unsigned format to signed for
17531 m_exp value.
17532 (sreal::to_double): Replace exp2 with scalbln.
17533
3f9f4ae7
ML
175342015-01-09 Martin Liska <mliska@suse.cz>
17535
17536 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
17537 * ipa-icf.c (sem_function::equals_private): Add support for target and
17538 (sem_item_optimizer::merge_classes): Remove redundant function
17539 optimization flags comparison.
17540 * tree.h (target_opts_for_fn): New function.
17541
56f6033d
TV
175422015-01-09 Tom de Vries <tom@codesourcery.com>
17543
17544 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
17545
c61fe0cc
KC
175462015-01-09 Kito Cheng <kito@0xlab.org>
17547
17548 PR rtl-optimization/64348
17549 * lra-constraints.c (split_reg): Fix caller-save store/restore
17550 instruction generation.
17551
e608ef6d
JDA
175522015-01-08 John David Anglin <danglin@gcc.gnu.org>
17553
17554 PR gcov-profile/61790
17555 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
17556 long long. Fallback to int64_t if host doesn't have long long and
17557 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
17558
57534689
JJ
175592015-01-08 Jakub Jelinek <jakub@redhat.com>
17560
204a913b
JJ
17561 PR tree-optimization/63989
17562 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
17563 from 1000 to 10000.
17564 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
17565 (get_stridx): If we don't have a record for certain SSA_NAME,
17566 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
17567 constant offset, call get_stridx_plus_constant.
17568 (get_stridx_plus_constant): New function.
17569 (zero_length_string): Don't use get_stridx here.
17570
57534689
JJ
17571 PR target/55023
17572 PR middle-end/64388
17573 * dse.c (struct insn_info): Mention frame_read set also
17574 before reload for tail calls on some targets.
17575 (scan_insn): Revert 2014-12-22 change. Set frame_read
17576 also before reload for tail calls if
17577 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
17578 instead of add_non_frame_wild_read for non-const/memset
17579 tail calls after reload.
17580
f5481fc4
JM
175812015-01-08 Jason Merrill <jason@redhat.com>
17582
17583 * ubsan.c (do_ubsan_in_current_function): New.
17584 (pass_ubsan::gate): Use it.
17585 * ubsan.h: Declare it.
17586 * convert.c (convert_to_integer): Use it.
17587
efa7df3c
JJ
175882015-01-08 Jakub Jelinek <jakub@redhat.com>
17589
17590 PR target/64338
17591 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
17592 compare_code when it is unconditionally overwritten afterwards.
17593 Use ix86_reverse_condition instead of reverse_condition. Don't
17594 change code if *reverse_condition* returned UNKNOWN and don't
17595 swap ct/cf and negate diff in that case.
17596
de35aa66
MS
175972015-01-08 Mike Stump <mikestump@comcast.net>
17598
17599 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
17600 (pass_tsan_O0::gate): Likewise.
17601 * extend.texi (Function Attributes): Add no_sanitize_thread
17602 documentation.
17603
4f929d9d
TS
176042015-01-08 Thomas Schwinge <thomas@codesourcery.com>
17605
45f46750
TS
17606 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
17607 for registering builtins.
17608 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
17609 add -fopenmp to the argv_obstack used when invoking
17610 compile_for_target.
17611
4f929d9d
TS
17612 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
17613 add "-m32" or "-m64" to argv_obstack.
17614 (generate_host_descr_file): Likewise, when invoking host_compiler.
17615 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
17616 ld.
17617
3b140613
OE
176182015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
17619
17620 * config/sh/sh-mem.cc: Use constant as second operand when emitting
17621 tstsi_t insns.
17622
3aa8dfe3
OE
176232015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
17624
17625 PR target/55212
17626 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
17627 constant load if constant operand fits into I08.
17628
bd84df18
JJ
176292015-01-08 Jakub Jelinek <jakub@redhat.com>
17630
17631 PR sanitizer/64336
17632 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
17633 and TREE_THIS_VOLATILE for MEM_REFs.
17634 (build5_stat): Fix up initialization of TREE_READONLY and
17635 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
17636
ae6b8666
KK
176372015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
17638
17639 PR target/64533
17640 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
17641 of r for the second alternative of the destination operand.
17642
946695b7
SB
176432015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
17644
17645 PR target/36557
17646 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
17647
317991c9
SL
176482015-01-07 Sandra Loosemore <sandra@codesourcery.com>
17649
17650 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
17651 keywords.
17652 ([-fivar-visibility], [-fvisibility]): Likewise.
17653
429805d2
SL
176542015-01-07 Sandra Loosemore <sandra@codesourcery.com>
17655
17656 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
17657 the file where @code, @command, etc is more appropriate.
17658
0e905f0f
SL
176592015-01-06 Sandra Loosemore <sandra@codesourcery.com>
17660
17661 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
17662 of -mrecip= documentation.
17663
512ef949
MM
176642015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
17665
17666 PR target/64505
17667 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
17668 correct reload handler if -m32 -mpowerpc64 is used.
17669
f0cbb0af
TV
176702015-01-06 Tom de Vries <tom@codesourcery.com>
17671
17672 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
17673
6a6b03ba
CB
176742015-01-08 Christian Bruel <christian.bruel@st.com>
17675
17676 PR target/64507
17677 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
17678
e4a57350
TP
176792015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
17680
17681 PR tree-optimization/63259
17682 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
17683 if optab exists for 16bit byteswap.
17684
fb153d02
JJ
176852015-01-06 Jakub Jelinek <jakub@redhat.com>
17686
17687 * opts.c (common_handle_option): Add support for
17688 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
17689 * doc/invoke.texi: Document -fno-sanitize=all,
17690 -f{,no-}sanitize-recover=all. Document that
17691 -fsanitize=float-cast-overflow is not enabled
17692 by -fsanitize=undefined. Fix up documentation
17693 of -f{,no-}sanitize-recover.
17694
0969ec7d
EB
176952015-01-06 Eric Botcazou <ebotcazou@adacore.com>
17696
17697 * config.gcc: Add Visium support.
17698 * configure.ac: Likewise.
17699 * configure: Regenerate.
17700 * doc/extend.texi (interrupt attribute): Add Visium.
17701 * doc/invoke.texi: Document Visium options.
17702 * doc/install.texi: Document Visium target.
17703 * doc/md.texi: Document Visium constraints.
17704 * common/config/visium: New directory.
17705 * config/visium: Likewise.
17706
31dd2a86
SB
177072015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
17708
17709 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
17710 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
17711
2f48c66c
SB
177122015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
17713
17714 * combine.c (combine_validate_cost): Do not count the cost of a
17715 split I2 twice. Do not display it twice in the dump, either.
17716
0964f845
SL
177172015-01-05 Sandra Loosemore <sandra@codesourcery.com>
17718
17719 Revert parts of r219199.
17720 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
17721 <inttypes.h>.
17722 ([-Wtraditional]): Restore markup on <limits.h>.
17723
2f42e5de
TS
177242015-01-05 Trevor Saunders <tsaunders@mozilla.com>
17725
17726 PR c++/31397
17727 * doc/invoke.texi: Document -Wsuggest-override.
17728
b176bb73
RO
177292015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
17730
17731 PR rtl-optimization/64287
17732 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
17733 (process_options): Disable flag_ipa_ra if profiling.
17734
dd1ca4c2
EB
177352015-01-05 Eric Botcazou <ebotcazou@adacore.com>
17736
17737 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
17738
177392015-01-05 Max Filippov <jcmvbkbc@gmail.com>
c6836000
MF
17740
17741 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
17742 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
17743 put under #if TARGET_LOOPS guard.
17744
389d63bb
UB
177452015-01-05 Uros Bizjak <ubizjak@gmail.com>
17746
17747 * config/i386/i386.c (output_387_binary_op): Use std::swap.
17748
c9bd6bcd
OE
177492015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
17750
17751 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
17752 * rtl.h (refers_to_regno_p): Add overload.
17753 * cse.c: Use it.
17754 * bt-load.c: Likewise.
17755 * combine.c: Likewise.
17756 * df-scan.c: Likewise.
17757 * sched-deps.c: Likewise.
17758 * config/s390/s390.c: Likewise.
17759 * config/m32r/m32r.c: Likewise.
17760 * config/rs6000/spe.md: Likewise.
17761 * config/rs6000/rs6000.c: Likewise.
17762 * config/pa/pa.c: Likewise.
17763 * config/stormy16/stormy16.c: Likewise.
17764 * config/cris/cris.c: Likewise.
17765 * config/arc/arc.md: Likewise.
17766 * config/arc/arc.c: Likewise.
17767 * config/sh/sh.md: Likewise.
17768 * config/sh/sh.c: Likewise.
17769 * config/frv/frv.c: Likewise.
17770
15aed8c4
JJ
177712015-01-05 Jakub Jelinek <jakub@redhat.com>
17772
fca4adf2
JJ
17773 PR sanitizer/64265
17774 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
17775 call as cleanup of the whole body.
17776 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
17777 * tsan.c (replace_func_exit): New function.
17778 (instrument_func_exit): Moved earlier.
17779 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
17780 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
17781 been found.
17782 (tsan_pass): Don't call instrument_func_exit.
17783 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
17784 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
17785 inlining.
17786
e5341100
JJ
17787 PR sanitizer/64344
17788 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
17789 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
17790 it to libubsan handler instead of EXPR. Fold comparisons earlier,
17791 if the result is integer_zerop, return NULL_TREE.
17792 * convert.c (convert_to_integer): Pass expr as ARG.
17793
15aed8c4
JJ
17794 PR tree-optimization/64465
17795 * tree-inline.c (redirect_all_calls): During inlining
17796 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
17797 changed the stmt to a non-throwing call.
17798
d1f4e4c3
SL
177992015-01-05 Sandra Loosemore <sandra@codesourcery.com>
17800
17801 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
17802 etc markup throughout the file.
17803
0d578242
BE
178042015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
17805
17806 Enable experimental TSAN support for Ada.
17807 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
17808
a6377d52
JJ
178092015-01-05 Jakub Jelinek <jakub@redhat.com>
17810
17811 PR tree-optimization/64494
17812 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
17813 clear SSA_NAME_ANTI_RANGE_P flag.
17814
248d1391
MP
178152015-01-05 Marek Polacek <polacek@redhat.com>
17816
17817 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
17818
2c5103ff
JJ
178192015-01-05 Jakub Jelinek <jakub@redhat.com>
17820
5624e564
JJ
17821 Update copyright years.
17822
b67cd4e3
JJ
17823 * gcc.c (process_command): Update copyright notice dates.
17824 * gcov-dump.c: Ditto.
17825 * gcov.c: Ditto.
17826 * doc/cpp.texi: Bump @copying's copyright year.
17827 * doc/cppinternals.texi: Ditto.
17828 * doc/gcc.texi: Ditto.
17829 * doc/gccint.texi: Ditto.
17830 * doc/gcov.texi: Ditto.
17831 * doc/install.texi: Ditto.
17832 * doc/invoke.texi: Ditto.
17833
2c5103ff
JJ
17834 * auto-profile.c, auto-profile.h: Fix up Copyright line.
17835
eaacbd7b
SL
178362015-01-04 Sandra Loosemore <sandra@codesourcery.com>
17837
17838 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
17839 verb tense, etc.
17840 ([-fvtable-verify], [-fvtv-debug]): Likewise.
17841 ([-Wabi]): Likewise.
17842 ([-fmessage-length]): Likewise.
17843 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
17844 ([-Wno-discarded-qualifiers]): Likewise.
17845 ([-Wnodiscarded-array-qualifiers]): Likewise.
17846 ([-Wno-virtual-move-assign]): Likewise.
17847 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
17848 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
17849 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
17850 ([-fsanitize-undefined-trap-on-error]): Likewise.
17851 ([-floop-interchange]): Likewise.
17852 ([-ftree-coalesce-inlined-vars]): Likewise.
17853 ([-fvect-cost-model]): Likewise.
17854 ([-flto]): Likewise.
17855 ([--param]): Likewise.
17856 (Spec Files): Likewise.
17857 ([-mstrict-align]): Likewise.
17858 ([-mfix-cortex-a53-835769]): Likewise.
17859 ([-march], [-mtune]): Likewise.
17860 ([-mpic-register]): Likewise.
17861 ([-munaligned-access]): Likewise.
17862 ([-msp8]): Likewise.
17863 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
17864 (AVR Built-in Macros): Likewise.
17865 ([-mpreferred-stack-boundary]): Likewise.
17866 ([-mtune-crtl]): Likewise.
17867 ([-mashf]): Likewise.
17868 ([-mmcu=]): Likewise.
17869 ([-minrt]): Likewise.
17870 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
17871 ([-mupper-regs]): Likewise.
17872 ([-matomic-model]): Likewise.
17873 ([-mdiv]): Likewise.
17874 ([-mzdcbranch]): Likewise.
17875 ([-mdisable-callt]): Likewise.
17876 ([-msoft-float]): Likewise.
17877 ([-m8byte-align]): Likewise.
17878 ([-fstack-reuse]): Likewise.
17879
70281a8e
SL
178802015-01-03 Sandra Loosemore <sandra@codesourcery.com>
17881
17882 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
17883 Fix markup, light copy-editing.
17884 ([-fauto-profile]): Rewrite to fix formatting and content
17885 problems.
17886
408e8aa4
SL
178872015-01-03 Sandra Loosemore <sandra@codesourcery.com>
17888
17889 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
17890 Copy-edit description.
17891 ([-fisolate-erroneous-paths-attribute]): Likewise.
17892 * common.opt (fisolate-erroneous-paths-dereference):
17893 Copy-edit description.
17894 (fisolate-erroneous-paths-attribute): Likewise.
17895
484b5de0
SL
178962015-01-03 Sandra Loosemore <sandra@codesourcery.com>
17897
17898 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
17899 tidy grammar.
17900
e1a77fb6
SL
179012015-01-03 Sandra Loosemore <sandra@codesourcery.com>
17902
17903 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
17904 ([-fvtv-debug]): Likewise.
17905 ([-Wc++-compat]): Likewise.
17906 ([-Wc++11-compat]): Likewise.
17907 ([-Wc++14-compat]): Likewise.
17908 ([-Wno-sized-deallocation]): Likewise.
17909 ([-femit-class-debug-always]): Likewise.
17910 ([-femit-struct-debug-detailed]): Likewise.
17911 ([-fno-keep-inline-dllexport]): Likewise.
17912 ([-fira-algorithm]): Likewise.
17913 ([-fira-region]): Likewise.
17914 ([-flra-remat]): Likewise.
17915 ([-fipa-ra]): Likewise.
17916 ([-fhoist-adjacent-loads]): Likewise.
17917 ([-fisolate-erroneous-paths-dereference]): Likewise.
17918 ([-fisolate-erroneous-paths-attribute]): Likewise.
17919 ([-ftree-switch-conversion]): Likewise.
17920 ([-ftree-tail-merge]): Likewise.
17921 ([-ftree-loop-if-convert]): Likewise.
17922 ([-ftree-loop-if-convert-stores]): Likewise.
17923 ([-ftree-loop-distribution]): Likewise.
17924 ([-ftree-loop-distribute-patterns]): Likewise.
17925 ([-flto-compression-level]): Likewise.
17926 ([-flto-report]): Likewise.
17927 ([-flto-report-wpa]): Likewise.
17928 ([-fuse-linker-plugin]): Likewise.
17929 ([-mfix-cortex-a53-835769]): Likewise.
17930 ([-mno-fix-cortex-a53-835769]): Likewise.
17931 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
17932 explicit listing; add a note to the discussion indicating they
17933 exist. Reorder table to group similar options. Add missing
17934 @opindex entries. Add @need commands throughout the table to
17935 allow it to be split across multiple pages.
17936 ([-m8bit-idiv]): Fix @opindex.
17937 ([-mavx256-split-unaligned-load]): Likewise.
17938 ([-mavx256-split-unaligned-store]): Likewise.
17939 ([-mstack-protector-guard]): Likewise.
17940 ([-mcpu=]): Likewise.
17941 ([-mcpu]): Likewise.
17942 ([-mpointer-size=]): Likewise.
17943
846ef40a
JDA
179442015-01-03 John David Anglin <danglin@gcc.gnu.org>
17945
17946 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
17947 instead of `m' constraint. Likewise for unnamed movb comparison
17948 patterns using reg_before_reload_operand predicate.
17949 * config/pa/predicates.md (reg_before_reload_operand): Tighten
17950 predicate to reject register index and LO_SUM DLT memory forms
17951 after reload.
389d63bb 17952
d6ae9a6d
SL
179532015-01-02 Sandra Loosemore <sandra@codesourcery.com>
17954
17955 * doc/invoke.texi (Option Summary): Fix spelling of
17956 -fdevirtualize-at-ltrans.
17957 ([-fdevirtualize]): Fix markup.
17958 ([-fdevirtualize-speculatively]): Fix typo.
17959 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
17960 implementor-speaky.
17961 * common.opt (fdevirtualize-at-ltrans): Likewise.
17962 * ipa-devirt.c: Fix typos in comments throughout the file.
17963 (ipa_devirt): Fix typos in format strings for dump output.
17964
dd8d9ac4
SL
179652015-01-02 Sandra Loosemore <sandra@codesourcery.com>
17966
17967 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
17968 discussion of defaults, light copy-editing.
17969
1d4854da
BE
179702015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
17971
17972 * tsan.c (instrument_expr): corrected previous checkin.
17973
fe86867f
BE
179742015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
17975
17976 Instrument bit field and unaligned accesses for TSAN.
17977 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
17978 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
17979 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
17980 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
17981 unaligned memory regions.
17982
f8478c42 179832015-01-01 Anthony Green <green@moxielogic.com>
582f770b 17984
f8478c42
AG
17985 * config/moxie/predicates.md (moxie_general_movsrc_operand):
17986 Restrict move source register offsets to 16 bits.
ad41bd84 17987\f
f8478c42 17988Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
17989
17990Copying and distribution of this file, with or without modification,
17991are permitted in any medium without royalty provided the copyright
17992notice and this notice are preserved.
This page took 9.106618 seconds and 5 git commands to generate.