]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
tree-sra.c (dump_dereferences_table): Avoid -Wformat-security warning.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
81018dcf
DH
12015-02-12 David Howells <dhowells@redhat.com>
2
3 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
4 warning.
5 * tree-ssa-uninit.c (dump_predicates): Likewise.
6 * opts.c (print_filtered_help): Likewise.
7
2cea0398
JJ
82015-02-12 Jakub Jelinek <jakub@redhat.com>
9
2f13a42d
JJ
10 * dwarf2out.c (output_die): Use "%s", name instead of name to
11 avoid -Wformat-security warning.
12
2cea0398
JJ
13 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
14 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
15 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
16 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
17
f522930c
JM
182015-02-12 Jason Merrill <jason@redhat.com>
19
20 * common.opt (-flifetime-dse): New.
21
01f834e3
JJ
222015-02-12 Jakub Jelinek <jakub@redhat.com>
23
ed5a5b38
JJ
24 PR sanitizer/65019
25 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
26
01f834e3
JJ
27 PR tree-optimization/65014
28 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
29 use original second operand of arg0 or arg1 instead of
30 that adjusted by STRIP_NOPS.
31
3f9b5ffb
JL
322015-02-11 Jeff Law <law@redhat.com>
33
34 PR target/63347
35 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
36 that needs to be queued, just queue it for a single cycle.
37
d3f2e41e
JH
382015-02-11 Jan Hubicka <hubicka@ucw.cz>
39
40 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
41 bodies of thunks; comment on why.
42 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
43 symbols are extern.
44
5b1441be
RH
452015-02-11 Richard Henderson <rth@redhat.com>
46
47 PR sanitize/65000
48 * tree-eh.c (mark_reachable_handlers): Mark source and destination
49 regions of __builtin_eh_copy_values.
50
3292dd40
JJ
512015-02-11 Jakub Jelinek <jakub@redhat.com>
52
53 PR middle-end/65003
54 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
55 ultimate alias is MEM with SYMBOL_REF satisfying
56 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
57 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
58
e6f229ca
TS
592015-02-11 Thomas Schwinge <thomas@codesourcery.com>
60
ce888a99
TS
61 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
62 "diagnostic-core.h".
63 (main): Initialize progname, and call diagnostic_initialize.
64
9584e638
TS
65 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
66 instead of __OPENMP_TARGET__.
67
e6f229ca
TS
68 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
69 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
70 hard-coding PTX_ID.
71
a8d790df
L
722015-02-11 H.J. Lu <hongjiu.lu@intel.com>
73
74 * doc/sourcebuild.texi (pie_enabled): Document.
75
c43ade80
ML
762015-02-11 Martin Liska <mliska@suse.cz>
77
78 PR ipa/64813
79 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
80 a return value for call to a function that is noreturn.
81
ece70d33
RB
822015-02-11 Richard Biener <rguenther@suse.de>
83
84 PR lto/65015
85 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
86 and -fresolution.
87
9c4f25cc
AP
882015-02-11 Andrew Pinski <apinski@cavium.com>
89
90 PR target/64893
91 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
92 Change the first argument type to size_type_node and add another
93 size_type_node.
94 (aarch64_simd_expand_builtin): Handle the new argument to
95 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
96 print an out when the first two arguments are not
97 nonzero integer constants.
98 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
99 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
100
386f7cae
JJ
1012015-02-11 Jakub Jelinek <jakub@redhat.com>
102
103 PR target/61925
104 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
105 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
106 (ix86_set_current_function): Rewritten.
107 (ix86_add_new_builtins): Temporarily clear current_target_pragma
108 when creating builtin fndecls.
109
4bd019b8
JH
1102015-02-10 Jan Hubicka <hubicka@ucw.cz>
111
112 PR ipa/65005
113 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
114 function.
115 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
116 have no comdat group.
117 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
118 (lto_output_varpool_node): Always output alias info.
119 (output_refs): Output refs of boundary aliases, too.
120 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
121 (output_symtab): Output call eges in thunks in boundary.
122 (get_alias_symbol): Remove.
123 (input_node, input_varpool_node): Do not special case weakrefs.
124 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
125 alias and thunks targets in the boundary; do not take removed symbols
126 from their comdat groups.
127 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
128 (cgraph_node::global_info): Remove.
129 (cgraph_node::rtl_info): Look through aliases and thunks.
130 * cgrpah.h (global_info): Remove.
131 (non_local_p): Remove.
132
6dc6e7d0
DW
1332015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
134 Sandra Loosemore <sandra@codesourcery.com>
135
136 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
137 to inline asm. List dialects in proper order.
138
78f76f2f
DW
1392015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
140 Sandra Loosemore <sandra@codesourcery.com>
141
142 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
143
c09d6901
DW
1442015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
145
146 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
147 modified) reference to Solaris.
148
f9911556
SL
1492015-02-10 Sandra Loosemore <sandra@codesourcery.com>
150
151 * doc/extend.texi (Extended Asm): Fix typos.
152
c8aa1929
JJ
1532015-02-10 Jakub Jelinek <jakub@redhat.com>
154
155 PR sanitizer/65004
156 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
157
2fdc0399
OE
1582015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
159
160 PR target/64661
161 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
162 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
163 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
164 * config/sh/constraints.md (Ara, Add): New constraints.
165 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
166 predicates.
167 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
168 atomic_mem_operand_0. Don't use force_reg on the memory address.
169 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
170 Sra constraint. Convert to insn_and_split. Add workaround for
171 PR 64974.
172 (atomic_compare_and_swap<mode>_hard): Copy to
173 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
174 Use atomic_mem_operand_0 predicate.
175 (atomic_compare_and_swap<mode>_soft_gusa,
176 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
177 AraAdd constraints.
178 (atomic_compare_and_swap<mode>_soft_tcb,
179 atomic_compare_and_swap<mode>_soft_imask,
180 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
181 atomic_mem_operand_0 predicate and SraSdd constraints.
182 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
183 constraint.
184 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
185 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
186 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
187 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
188 force_reg on the memory address.
189 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
190 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
191 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
192 atomic_mem_operand_1 predicate and Sra constraint.
193 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
194 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
195 Use atomic_mem_operand_1 predicate.
196 (atomic_<fetchop_name><mode>_hard): Copy to
197 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
198 Use atomic_mem_operand_1 predicate.
199 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
200 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
201 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
202 insn_and_split. Use atomic_mem_operand_1 predicate.
203 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
204 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
205 Use atomic_mem_operand_1 predicate.
206 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
207 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
208 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
209 in generated insn with original mem operand before emitting the insn.
210 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
211 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
212 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
213 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
214 Use atomic_mem_operand_1 predicate and AraAdd constraints.
215 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
216 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
217 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
218 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
219 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
220 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
221 atomic_not_fetch<mode>_soft_tcb,
222 atomic_<fetchop_name>_fetch<mode>_soft_imask,
223 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
224 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
225 Use atomic_mem_operand_1 predicate and SraSdd constraints.
226
afa20874
UB
2272015-02-10 Uros Bizjak <ubizjak@gmail.com>
228
229 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
230 and 3 earlyclobber operands.
231
082908e3
JH
2322015-02-10 Jan Hubicka <hubicka@ucw.cz>
233
234 * common.opt (fstack-reuse): Mark as optimization.
235
d90cae08
JH
2362015-02-10 Jan Hubicka <hubicka@ucw.cz>
237
238 PR ipa/64982
afa20874 239 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
d90cae08 240
11f3ac49
TS
2412015-02-10 Trevor Saunders <tsaunders@mozilla.com>
242
243 PR tree-optimization/64326
244 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
245
e4c2ac36
RE
2462015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
247
248 PR gcov-profile/61889
249 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
250
703c9ccd
RB
2512015-02-10 Richard Biener <rguenther@suse.de>
252
253 PR tree-optimization/64995
254 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
255 value we use is final.
256 (visit_reference_op_store): Always valueize op.
257 (visit_use): Properly valueize vuses.
258
696814ed
RB
2592015-02-10 Richard Biener <rguenther@suse.de>
260
261 PR tree-optimization/64909
262 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
263 pass a scalar-stmt count estimate to the cost model.
264 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
265
644a4761
AM
2662015-02-10 Alexander Monakov <amonakov@ispras.ru>
267
268 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
269 enabled by default together with var-tracking.
270
7299e9f1
NC
2712015-02-10 Nick Clifton <nickc@redhat.com>
272
273 * config/rl78/rl78.c: Remove DIV attribute code accidentally
274 included in previous rl78 commit.
275
bab4f4e3
RB
2762015-02-10 Richard Biener <rguenther@suse.de>
277
278 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
279 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
280 return the bitpack.
281
37050045
TS
2822015-02-09 Trevor Saunders <tsaunders@mozilla.com>
283
284 PR gcov-profile/61889
285 * config.in: regenerate.
286 * configure.in: Likewise.
287 * configure.ac: Check for ftw.h.
288 * gcov-tool.c: Check for ftw.h before using nftw.
289
a9e083cc
TS
2902015-02-09 Trevor Saunders <tsaunders@mozilla.com>
291
292 PR lto/64076
293 * ipa-visibility.c (update_visibility_by_resolution_info): Only
294 assert when not in lto mode.
295
32721b2c
ZZ
2962015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
297
298 * ira-color.c (setup_left_conflict_sizes_p): Simplify
299 initialization/assignment of conflict_size.
300
94a2f772
JH
3012015-02-09 Jan Hubicka <hubicka@ucw.cz>
302
303 PR ipa/64978
304 * ipa-cp.c (gather_caller_stats): Skip thunks.
305 (propagate_constants_topo): Skip aliases.
306
d808ecdd
KK
3072015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
308
309 PR target/64761
310 * config/sh/sh.c (sh_option_override): Don't change
311 -freorder-blocks-and-partition to -freorder-blocks even when
312 unwinding is enabled.
313 (sh_can_follow_jump): Return false if the followee jump is
314 a crossing jump when -freorder-blocks-and-partition is specified.
315 * config/sh/sh.md (*jump_compact_crossing): New insn.
316
cf6186e9
JR
3172015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
318 Kaz Kojima <kkojima@gcc.gnu.org>
319
320 PR target/64761
321 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
322 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
323 (sh_can_redirect_branch): Rename to ...
324 (sh_can_follow_jump): ... this. Constify argument types.
325 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
326 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
327 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
328 * doc/tm.texi: Regenerate.
329
d51151b2
JJ
3302015-02-09 Jakub Jelinek <jakub@redhat.com>
331
332 PR sanitizer/64981
333 * builtins.c (expand_builtin): Call targetm.expand_builtin
334 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
335
62484417
JH
3362015-02-08 Jan Hubicka <hubicka@ucw.cz>
337
338 PR ipa/61548
339 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
340
106b5466
JH
3412015-02-08 Jan Hubicka <hubicka@ucw.cz>
342
7299e9f1 343 PR ipa/63566
106b5466
JH
344 * ipa-icf.c (set_local): New function.
345 (sem_function::merge): Use it.
346
7d8adcba
JH
3472015-02-08 Jan Hubicka <hubicka@ucw.cz>
348
349 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
350 (add_type_duplicate): Fix comparison of BINFOs.
351
62c7e4b7
JH
3522015-02-08 Jan Hubicka <hubicka@ucw.cz>
353
354 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
355 on getting VOID pointer.
356
21c0137a
JJ
3572015-02-09 Jakub Jelinek <jakub@redhat.com>
358
359 PR target/64979
360 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
361 va_list escapes.
362
434fa903
RB
3632015-02-09 Richard Biener <rguenther@suse.de>
364
365 * genmatch.c (replace_id): Copy expr_type.
366
b6bf201e
RB
3672015-02-09 Richard Biener <rguenther@suse.de>
368
369 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
370 (streamer_write_tree_bitfields): Declare.
371 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
372 properly unpack padding.
373 (unpack_value_fields): Inline ...
374 (streamer_read_tree_bitfields): ... here.
375 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
376 and properly add padding bits.
377 (streamer_pack_tree_bitfields): Fold into ...
378 (streamer_write_tree_bitfields): ... this new function,
379 exposing the bitpack object.
380 * lto-streamer-out.c (lto_write_tree_1): Call
381 streamer_write_tree_bitfields.
382
28002f1a
RB
3832015-02-09 Richard Biener <rguenther@suse.de>
384
385 PR tree-optimization/54000
386 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
387 (struct ivopts_data): Add loop_loc member.
388 (tree_ssa_iv_optimize_loop): Dump loop location.
389 (create_new_ivs): Likewise, also dump number of IVs generated.
390
e3e968e9
ML
3912015-02-09 Martin Liska <mliska@suse.cz>
392
393 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
394 just if not yet registered.
395 (ipa_icf_generate_summary): Register callgraph hooks.
396
8276bf92
AP
3972015-02-08 Andrew Pinski <apinski@cavium.com>
398
399 * config/aarch64/aarch64.c (gty_dummy): Delete.
400
953aad61
JH
4012015-02-08 Jan Hubicka <hubicka@ucw.cz>
402
7299e9f1 403 PR ipa/63566
953aad61
JH
404 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
405 (cgraph_node::local_p): Remove thunk related FIXME.
406
ead0ba57
JH
4072015-02-08 Jan Hubicka <hubicka@ucw.cz>
408
7299e9f1 409 PR ipa/63566
ead0ba57
JH
410 * i386.c (ix86_function_regparm): Look through aliases to see if callee
411 is local and optimized.
412 (ix86_function_sseregparm): Likewise; also use target's SSE math
413 settings; error out instead of silently generating wrong code
414 on mismatches.
415 (init_cumulative_args): Look through aliases.
416
42685f72
JH
4172015-02-08 Jan Hubicka <hubicka@ucw.cz>
418
7299e9f1 419 PR ipa/63566
42685f72
JH
420 * ipa-split.c (execute_split_functions): Split if function has aliases.
421
9641fab3
JH
4222015-02-08 Jan Hubicka <hubicka@ucw.cz>
423
7299e9f1 424 PR ipa/63566
9641fab3
JH
425 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
426 aliases before trying to expand it.
427 (cgraph_node::expand_thunk): Fix formating.
428
d719aff9
SL
4292015-02-07 Sandra Loosemore <sandra@codesourcery.com>
430
431 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
432 (Using Assembly Language with C): Expand introduction.
433 (Basic Asm): Copy-edit. Add more information about uses of
434 basic asm.
435 (Extended Asm): Copy-edit. Document new escape syntax and
436 %l[label] syntax.
437 (Global Reg Vars): Copy-edit.
438 (Local Reg Vars): Likewise.
439
0f32bcbd
DE
4402015-02-06 David Edelsohn <dje.gcc@gmail.com>
441
442 PR debug/2714
443 PR bootstrap/64256
444 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
445 (DBX_CONTIN_CHAR): Define.
446
45beb02e
SP
4472015-02-06 Sebastian Pop <s.pop@samsung.com>
448 Brian Rzycki <b.rzycki@samsung.com>
449
450 PR tree-optimization/64878
451 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
452 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
453 Stop recursion at loop phi nodes after having visited a loop phi node.
454
bbd1bae2
JJ
4552015-02-06 Jakub Jelinek <jakub@redhat.com>
456
f3ab4eed
JJ
457 * toplev.c (process_options): Change flag_ipa_ra before creating
458 optimization_{default,current}_node.
459
bbd1bae2
JJ
460 PR ipa/64896
461 * cgraphunit.c (cgraph_node::expand_thunk): If
462 restype is not is_gimple_reg_type nor the thunk_fndecl
463 returns aggregate_value_p, set restmp to a temporary variable
464 instead of resdecl.
465
091790a7
VM
4662015-02-06 Vladimir Makarov <vmakarov@redhat.com>
467
468 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
469
46290aa8
MM
4702015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
471
472 PR target/64205
473 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
474 add a general secondary reload handler for SDmode, unless we have
475 both read/write support for SDmode.
476
62276744
JJ
4772015-02-06 Jakub Jelinek <jakub@redhat.com>
478
479 PR middle-end/64937
480 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
481 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
482 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
483 1 before, push it to abstract_vec.
484 (dwarf2out_abstract_function): Adjust caller. Don't call
485 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
486 DECL_ABSTRACT_P flags for all abstract_vec elts.
487
f376994a
RL
4882015-02-06 Renlin Li <renlin.li@arm.com>
489
490 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
491 complex gimple.
492 * tree-ssa.c (execute_update_addresses_taken): Likewise.
493
1901e8d6
JL
4942015-02-06 Jeff Law <law@redhat.com>
495
496 PR target/64889
497 * config/h8300/h8300.c (push): New argument "in_prologue".
498 Pass "in_prologue" along to "F".
499 (h8300_push_pop): Corresponding changes.
500 (h8300_expand_prologue): Likewise.
501 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
46290aa8 502
d26ac279
JJ
5032015-02-06 Jakub Jelinek <jakub@redhat.com>
504
505 PR rtl-optimization/64957
506 PR debug/64817
507 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
508 IOR rather than for AND.
509
9fb87eb0
EB
5102015-02-06 Eric Botcazou <ebotcazou@adacore.com>
511
512 PR target/62631
513 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
514 of shift-add and (add + shift) operations. Rename local variable.
515
d00f6ca6
JL
5162015-02-05 Jeff Law <law@redhat.com>
517
9f9ab303
JL
518 PR target/17306
519 * config/h8300/constraints.md (U): Correctly dectect
520 "eightbit_data" memory addresses.
521 * config/h8300/h8300.c (eightbit_constant_address_p): Also
522 handle (const (plus (symbol_ref (x)))) where x is declared
523 as an 8-bit data memory address.
524 * config/h8300/h8300.md (call, call_value): Correctly detect
525 "funcvec" functions.
526
d00f6ca6
JL
527 PR target/43264
528 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
529 24 to 28 bits for the H8/300.
530
b871a06f
AM
5312015-02-06 Alan Modra <amodra@gmail.com>
532
533 PR target/64876
534 * config/rs6000/rs6000.c (chain_already_loaded): New function.
535 (rs6000_call_aix): Use it.
536
370a7814
JH
5372015-02-05 Jan Hubicka <hubicka@ucw.cz>
538
539 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
540 check.
541
b291a202
JL
5422015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
543
544 * config/h8300/constraints.md ("U" constraint): Use strict
545 variant of REG_OK_FOR_BASE_P after reload has started.
546
29e1d31b
MM
5472015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
548
549 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
550 define to zero if !TARGET_NEON.
551 (TARGET_CPU_CPP_BUILTINS): Added second condition before defining
552 __ARM_FP macro.
553
a0cbab4a
JH
5542015-02-04 Jan Hubicka <hubicka@ucw.cz>
555 Trevor Saunders <tsaunders@mozilla.com>
556
557 PR ipa/61548
558 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
559
d2b35c04
JH
5602015-02-04 Jan Hubicka <hubicka@ucw.cz>
561
562 PR ipa/61548
563 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
564 when removing varpool nodes.
565
65a428db
JH
5662015-02-04 Jan Hubicka <hubicka@ucw.cz>
567
568 PR ipa/61548
569 * varpool.c (varpool_node::remove): Fix order of variables.
570
c1eed5a1
JH
5712015-02-04 Jan Hubicka <hubicka@ucw.cz>
572
573 PR ipa/64686
574 * ipa-inline.c (inline_small_functions): Fix ordering issue between
575 speculation resolution and key updates.
576
73d098df
JH
5772015-02-04 Jan Hubicka <hubicka@ucw.cz>
578
579 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
580 about not letting any speculative edges unupdated.
581
88d67744
JH
5822015-02-04 Jan Hubicka <hubicka@ucw.cz>
583
584 PR gcov/64123
585 * gcov-io.c (gcov_var): Export.
586
3ff29913
JH
5872015-02-04 Jan Hubicka <hubicka@ucw.cz>
588
589 PR middle-end/64922
590 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
591 edges that become speculative.
592
de3aebff
JJ
5932015-02-04 Jakub Jelinek <jakub@redhat.com>
594
595 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
596 or DW_LANG_Fortran08.
597 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
598 DW_LANG_Fortran08.
599 (gen_compile_unit_die): Handle "GNU Fortran2003" and
600 "GNU Fortran2008" language strings.
601 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
602 * langhooks.h (lang_GNU_Fortran): New prototype.
603 * langhooks.c (lang_GNU_Fortran): New function.
604 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
605 lang_GNU_Fortran.
606
a6bc87d3
EB
6072015-02-04 Eric Botcazou <ebotcazou@adacore.com>
608
609 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
610 (RTX_OK_FOR_OLO10_P): Likewise.
611
5a33f47d
EB
6122015-02-04 Eric Botcazou <ebotcazou@adacore.com>
613
614 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
615
0b986c6a
JH
6162015-02-04 Jan Hubicka <hubicka@ucw.cz>
617
618 PR middle-end/64922
619 * gimple.c: Include gimple-ssa.h.
620 (maybe_remove_unused_call_args): New function.
621 * gimple.h (maybe_remove_unused_call_args): Declare.
622 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
623 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
624 * gimple-fold.c (gimple_fold_call): Likewise.
625
7489140d
L
6262015-02-04 H.J. Lu <hongjiu.lu@intel.com>
627
628 PR rtl-optimization/64905
629 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
630 pointer alignment if it isn't needed.
631
d8f70d78
MW
6322015-02-04 Matthew Wahab <matthew.wahab@arm.com>
633
634 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
635 cortex-a72.cortex-a53.
636 * config/aarch64/aarch64-tune.md: Regenerate.
637 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
638
771bef14
NC
6392015-02-04 Nick Clifton <nickc@redhat.com>
640
641 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
642 inside a MEM.
643
e3bc4a35
JJ
6442015-02-04 Jakub Jelinek <jakub@redhat.com>
645
646 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
647 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
648 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
649 of DEF_BUILTIN.
650 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
651 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
652 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
653 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
654 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
655 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
656 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
657 * tree-core.h (enum built_in_function): In between
658 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
659 for builtins that use DEF_BUILTIN_CHKP macro.
660
a720f0ef
AO
6612015-02-04 Alexandre Oliva <aoliva@redhat.com>
662
871dae34
AO
663 PR debug/64817
664 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
665 operands for tcc_comparison exprs. Fix typos.
666
af9f5d95
AO
667 PR debug/64817
668 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
669 of two XORs that have an intervening AND or IOR.
670
a720f0ef
AO
671 PR debug/64817
672 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
673 simplification of XOR of AND to not allocate new rtx before
674 committing to a simplification.
675
a1ac8050
KT
6762015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
677
678 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
679 manual swaps in all peepholes.
680
cb5c6c29
KT
6812015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
682
683 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
684 of manual swapping implementation.
685 (aarch64_expand_vec_perm_const_1): Likewise.
686
bd95e655
JG
6872015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
688
689 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
690 (generic_addrcost_table): Remove NAMED_PARAM.
691 (cortexa57_addrcost_table): Likewise.
692 (xgene1_addrcost_table): Likewise.
693 (generic_regmove_table): Likewise.
694 (cortexa53_regmove_table): Likewise.
695 (xgene1_regmove_table): Likewise.
696 (generic_vector_table): Likewise.
697 (cortexa57_vector_table): Likewise.
698 (xgene1_vector_table): Likewise.
699 (generic_tunings): Likewise.
700 (cortexa53_tunings): Likewise.
701 (cortexa57_tunings): Likewise.
702 (xgene1_tunings): Likewise.
703
4f2ab1e6
MW
7042015-02-04 Matthew Wahab <matthew.wahab@arm.com>
705
706 * config/arm/arm-cores.def: Add cortex-a72 and
707 cortex-a72.cortex-a53.
708 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
709 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
710 * config/arm/arm-tune.md: Regenerate.
711 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
712 "cortex-a72.cortex-a53".
713 * doc/invoke.texi (ARM Options/-mtune): Likewise.
714
6f56da5d
NC
7152015-02-04 Nick Clifton <nickc@redhat.com>
716
20693e97
NC
717 PR target/64408
718 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
719 of accepted codes.
720 (nonimmediate_di_operand): Likewise.
721
6f56da5d
NC
722 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
723 prefixes of known F5 using MSP430 MCUs.
724
151ac6e2
KT
7252015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
726
727 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
728 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
729 instead of __builtin_sqrt.
730
283b44f9
IE
7312015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
732
733 * varasm.c (do_assemble_alias): Follow transparent alias
734 chain for target.
735 (default_assemble_visibility): Follow transparent alias
736 chain for decl name.
737
cc9ef6a6
TP
7382015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
739
740 PR middle-end/62103
741 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
742 to compute size of referenced value in the constant case.
743
2a1d78d8
JJ
7442015-02-03 Jakub Jelinek <jakub@redhat.com>
745
746 PR rtl-optimization/64756
747 * cse.c (invalidate_dest): New function.
748 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
749 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
750 invalidate and do not record it.
751
3548abca
OE
7522015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
753
754 PR target/64660
755 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
756 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
757 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
758 atomic_nand<mode>_soft_tcb): New insns.
759 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
760 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
761 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
762 Split into atomic_not_fetchsi_hard if operands[0] is unused.
763 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
764 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
765 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
766 atomic_not<mode>_hard if operands[0] is unused.
767 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
768 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
769 if operands[0] is unused.
770 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
771 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
772 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
773 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
774 unused.
775 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
776 into atomic_not<mode>_soft_tcb if operands[0] is unused.
777 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
778 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
779 if operands[0] is unused.
780 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
781 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
782 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
783 atomic_nand_fetchsi_hard if operands[0] is unused.
784 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
785 atomic_nand<mode>_hard if operands[0] is unused.
786 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
787 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
788 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
789 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
790 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
791 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
792 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
793 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
794 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
795 atomic_not<mode>_hard if operands[0] is unused.
796 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
797 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
798 unused.
799 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
800 into atomic_not<mode>_soft_tcb if operands[0] is unused.
801 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
802 atomic_nand<mode>_hard if operands[0] is unused.
803 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
804 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
805
2cb844ce
DM
8062015-02-03 David Malcolm <dmalcolm@redhat.com>
807
808 PR jit/64810
809 * Makefile.in (GCC_OBJS): Add gcc-main.o.
810 * gcc-main.c: New file, containing "main" taken from gcc.c.
811 * gcc.c (do_self_spec): Free decoded_options.
812 (class driver): Move declaration to gcc.h.
813 (main): Move declaration and implementation to new file
814 gcc-main.c.
815 (driver_get_configure_time_options): New function.
816 * gcc.h (class driver): Move this declaration here, from
817 gcc.c.
818 (driver_get_configure_time_options): New declaration.
819
ebc8f0bb
JH
8202015-02-03 Jan Hubicka <hubicka@ucw.cz>
821
822 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
823 cross-module inlining.
824 * cgraph.h (cgraph_node): Add flag merged.
825 * ipa-icf.c (sem_function::merge): Maintain it.
826
901e59b2
RS
8272015-02-03 Richard Sandiford <richard.sandiford@arm.com>
828
829 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
830 instead of OBJECT_P.
831
aa47faf0
EB
8322015-02-03 Eric Botcazou <ebotcazou@adacore.com>
833
834 PR target/62631
835 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
836 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
837 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
838 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
839
76f0aa6c
JJ
8402015-02-03 Jakub Jelinek <jakub@redhat.com>
841
842 PR other/63504
843 * combine.c (reg_n_sets_max): New variable.
844 (can_change_dest_mode, reg_nonzero_bits_for_combine,
845 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
846 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
847 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
848 (rest_of_handle_combine): Initialize reg_n_sets_max.
849
d67bce7c
JH
8502015-02-02 Jan Hubicka <hubicka@ucw.cz>
851
852 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
853 if some always_inline was inlined, apply changes before inlining
854 heuristically.
855
c58bfead
DM
8562015-02-02 David Malcolm <dmalcolm@redhat.com>
857
858 PR jit/64810
859 * config/arm/arm.c (arm_option_override): Set
860 arm_selected_arch/cpu/tune to NULL on entry.
861
3ff5d1f0
TB
8622015-02-02 Tejas Belagod <tejas.belagod@arm.com>
863 Andrew Pinski <pinskia@gcc.gnu.org>
864 Jakub Jelinek <jakub@gcc.gnu.org>
865
866 PR target/64231
867 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
868 integer typing for small model. Use IN_RANGE.
869
7dd1f7ac
RB
8702015-02-02 Richard Biener <rguenther@suse.de>
871
872 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
873 * tree-vrp.c (vrp_valueize_1): Likewise.
874
e404a667
AM
8752015-02-02 Alan Modra <amodra@gmail.com>
876
877 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
878 than mem for toc_restore.
879 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
880 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
881 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
882
353f8ac5
DE
8832015-02-01 David Edelsohn <dje.gcc@gmail.com>
884
885 PR target/64047
886 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
887 explicit default options.
888
8892015-02-01 Jan Hubicka <hubicka@ucw.cz>
b730d1c9
JH
890
891 PR ipa/64872
892 * ipa-utils.c (ipa_merge_profiles): Add release argument.
893 * ipa-icf.c (sem_function::merge): Do not release body when merging.
894 * ipa-utils.h (ipa_merge_profiles): Update prototype.
895
dfde35b3
JJ
8962015-02-01 Jakub Jelinek <jakub@redhat.com>
897
898 PR debug/64817
899 * cfgexpand.c (deep_ter_debug_map): New variable.
900 (avoid_deep_ter_for_debug): New function.
901 (expand_debug_expr): If TERed SSA_NAME is in
902 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
903 instead of trying to expand SSA_NAME's def stmt.
904 (expand_debug_locations): When expanding debug bind
905 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
906 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
907 value.
908 (pass_expand::execute): Call avoid_deep_ter_for_debug on
909 all debug bind stmts. Delete deep_ter_debug_map after
910 expand_debug_location if non-NULL and clear it.
911
2b8427ca
OE
9122015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
913
914 PR target/64851
915 * config/sh/sync.md (atomic_fetch_notsi_hard,
916 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
917 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
918 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
919 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
920 atomic_not_fetch<mode>_soft_imask): New insns.
921
63387a85
MK
9222015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
923
924 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
925 (rank_for_schedule_debug): Split from ...
926 (rank_for_schedule): ... this.
927 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
928 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
929
b4fbcb1b
SL
9302015-01-31 Sandra Loosemore <sandra@codesourcery.com>
931
932 * doc/md.texi (Machine Constraints): Alphabetize table by target.
933 * doc/extend.texi (x86 Variable Attributes): Move section to
934 correct alphabetization after renaming.
935 (x86 Type Attributes): Likewise.
936 (Target Builtins): Re-alphabetize menu.
937 (x86 Built-in Functions): Move section to correct alphabetization
938 after renaming.
939 (x86 transactional memory intrinsics): Likewise.
940 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
941 and x86 Windows Options in table and menu.
942 (x86 Options): Move section to correct alphabetization after
943 renaming.
944 (x86 Windows Options): Likewise.
945
0353c564
SL
9462015-01-31 Sandra Loosemore <sandra@codesourcery.com>
947
948 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
949 preferred names of the architecture and its 32- and 64-bit
950 variants.
951 * doc/invoke.texi: Likewise.
952 * doc/md.texi: Likewise.
953
0d9a5f8a
UB
9542015-01-31 Uros Bizjak <ubizjak@gmail.com>
955
2b8427ca 956 PR target/64882
0d9a5f8a
UB
957 * config/i386/predicates.md (address_no_seg_operand): Reject
958 non-CONST_INT_P operands in invalid mode.
959
9602015-01-31 Uros Bizjak <ubizjak@gmail.com>
961
962 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
963 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
964 * config/i386/predicates.md (address_no_seg_operand): Call
965 address_operand with VOIDmode.
966 (vsib_address_operand): Ditto.
967 (address_mpx_no_base_operand): Ditto.
968 (address_mpx_no_index_operand): Ditto.
969
895ff86f
VM
9702015-01-30 Vladimir Makarov <vmakarov@redhat.com>
971
972 PR target/64688
973 * lra-constraints.c (original_subreg_reg_mode): New.
974 (simplify_operand_subreg): Try to simplify subreg of const. Use
975 original_subreg_reg_mode for it.
976 (swap_operands): Update original_subreg_reg_mode.
977 (curr_insn_transform): Set up original_subreg_reg_mode.
978
3c954213
VM
9792015-01-30 Vladimir Makarov <vmakarov@redhat.com>
980
981 PR target/64617
982 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
983 function.
984 (process_alt_operands): Use it.
985 (curr_insn_transform): Check the optional reload pseudo class is
986 ok for the mode.
987
40fecdd6
JM
9882015-01-30 Joseph Myers <joseph@codesourcery.com>
989
990 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
991 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
992 prototype.
993 * toplev.h (init_asm_output): Update comment on use of
994 UNKNOWN_LOCATION with fatal_error.
995 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
996 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
997 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
998 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
999 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
1000 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
1001 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
1002 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
1003 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
1004 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
1005 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
1006 fatal_error changed to pass input_location as first argument.
1007
168be70b
ML
10082015-01-30 Martin Liska <mliska@suse.cz>
1009
1010 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
1011 in #pragma GCC diagnostic guards.
1012
566d377a
RB
10132015-01-30 Richard Biener <rguenther@suse.de>
1014
1015 PR tree-optimization/64829
1016 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
1017 not add a widening conversion pattern but hand off extra
1018 widenings to callers.
1019 (vect_recog_widen_mult_pattern): Handle extra widening produced
1020 by vect_handle_widen_op_by_const.
1021 (vect_recog_widen_shift_pattern): Likewise.
1022 (vect_pattern_recog_1): Remove excess vertical space in dumping.
1023 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
1024 (vect_init_vector_1): Likewise.
1025 (vect_get_vec_def_for_operand): Likewise.
1026 (vect_finish_stmt_generation): Likewise.
1027 (vectorizable_load): Likewise.
1028 (vect_analyze_stmt): Likewise.
1029 (vect_is_simple_use): Likewise.
1030
8ec350ed
JL
10312015-01-29 Jeff Law <law@redhat.com>
1032
1033 * combine.c (try_combine): Fix typo in comment.
1034
dd1c1f8c
SB
10352015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
1036
1037 PR target/64580
1038 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
1039 (rs6000_stack_info): Add assert.
1040 (rs6000_output_savres_externs): New function, split off from...
1041 (rs6000_output_function_prologue): ... here. Do not call it for
1042 thunks.
1043
52d28530
JL
10442015-01-29 Jeff Law <law@redhat.com>
1045
dd1c1f8c 1046 PR target/15184
52d28530
JL
1047 * combine.c (try_combine): If I0 is a memory load and I3 a store
1048 to a related address, increase the "goodness" of doing a 4-insn
1049 combination with I0-I3.
1050 (make_field_assignment): Handle SUBREGs in the ior+and case.
1051
b8aa7083
YR
10522015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
1053
1054 PR tree-optimization/64746
1055 * tree-if-conv.c (mask_exists): New function.
1056 (predicate_mem_writes): Save created mask with given size for further
1057 use.
1058 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
1059 (ifcvt_repair_bool_pattern): Collect all statements that are root
1060 of bool pattern and use iterative algorithm to remove multiple uses
1061 of predicates, display number of required iterations.
1062
d94e3e75
RB
10632015-01-29 Richard Biener <rguenther@suse.de>
1064
1065 PR tree-optimization/64853
1066 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
1067 stmt will get simulated again.
1068 * tree-ssa-ccp.c (valueize_op_1): Likewise.
1069
16277100
KT
10702015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1071
1072 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
1073 return_in_pc. Remove redundant assignments.
1074 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
1075 (arm_expand_epilogue): Don't compare boolean with true in if condition.
1076
f84b87aa
UB
10772015-01-29 Uros Bizjak <ubizjak@gmail.com>
1078
1079 * config/i386/i386.c (ix86_mode_after): Make static.
1080
62c00445
RB
10812015-01-29 Richard Biener <rguenther@suse.de>
1082
1083 PR tree-optimization/64844
1084 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
1085 dump cost model analysis.
1086 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
1087 Do not register adjusted load/store costs here.
1088
d290bb1d
IE
10892015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
1090 Uros Bizjak <ubizjak@gmail.com>
1091
1092 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
1093 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
1094 using x86_use_pseudo_pic_reg.
1095 * config/i386/i386.c (ix86_conditional_register_usage): Remove
1096 support for fixed PIC register.
1097 (ix86_use_pseudo_pic_reg): Not static any more.
1098
c291690e
IE
10992015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
1100
1101 PR middle-end/64805
1102 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
1103 to avoid error in cgraph node verification.
1104
2d48baf0
MP
11052015-01-29 Marek Polacek <polacek@redhat.com>
1106
1107 * doc/standards.texi: Reflect that the default for C is gnu11.
1108
4897b529
KK
11092015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
1110
1111 PR target/64761
1112 * reorg.c (switch_text_sections_between_p): New function.
1113 (relax_delay_slots): Call it when testing if the jump insn
1114 is removable. Use targetm.can_follow_jump when testing if
1115 the conditional branch can follow an unconditional jump.
1116
f7f049fa
CT
11172015-01-27 Caroline Tice <cmtice@google.com>
1118
1119 Committing VTV Cywin/Ming patch for Patrick Wollgast
1120 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
1121 if -fvtable-verify=preinit/std is used.
1122 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
1123 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
1124 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
1125 if -fvtable-verify=preinit/std is used.
1126 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
1127 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
1128 if -fvtable-verify=preinit/std is used.
1129 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
1130 * config/i386/mingw32.h (LIB_SPEC): Likewise.
1131 * varasm.c (assemble_variable): Add code to properly set the comdat
1132 section and name for the .vtable_map_vars section in case the
1133 target is PE or COFF.
1134
10881cff
JH
11352015-01-29 Jan Hubicka <hubicka@ucw.cz>
1136
1137 PR ipa/64801
1138 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
1139 make sane BB profile.
1140 (cgraph_node::expand_thunk): Make sane BB profile.
1141 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
1142 * cgraph.h (init_lowered_empty_function): Update prototype.
1143 * config/i386/i386.c (make_resolver_func): Update call.
1144 * predict.c (gate): Disable branch prediction pass if
1145 profile is already there.
1146
bea30e0d
JH
11472015-01-29 Jan Hubicka <hubicka@ucw.cz>
1148
1149 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
1150 * opth-gen.awk: Likewise.
1151 * common.opt: Mark flag_fp_contract_mode as Optimization.
1152
5fa25adb
BE
11532015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
1154
1155 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
1156 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
1157
c761dca1
OE
11582015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
1159
1160 PR target/64659
1161 * config/sh/predicates.md (atomic_arith_operand,
1162 atomic_logical_operand): Remove.
1163 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
1164 (atomic_arith_operand_0): New predicate.
1165 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
1166 Use atomic_arith_operand_0 for input values.
1167 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
1168 atomic_compare_and_swap<mode>_soft_gusa,
1169 atomic_compare_and_swap<mode>_soft_tcb,
1170 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
1171 arith_reg_operand instead of register_operand.
1172 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
1173 atomic_arith_operand_0 for newval input.
1174 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
1175 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
1176 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
1177 arith_reg_operand instead of register_operand.
1178 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
1179 fetchop_predicate_1, fetchop_constraint_1_llcs,
1180 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
1181 fetchop_constraint_1_imask): New code iterator attributes.
1182 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
1183 register_operand. Use fetchop_predicate_1.
1184 (atomic_fetch_<fetchop_name>si_hard,
1185 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
1186 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
1187 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
1188 and arith_reg_operand instead of register_operand. Use
1189 fetchop_predicate_1, fetchop_constraint_1_gusa.
1190 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
1191 and arith_reg_operand instead of register_operand. Use
1192 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
1193 to allow R0 usage.
1194 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
1195 and arith_reg_operand instead of register_operand. Use
1196 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
1197 to allow R0 usage.
1198 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
1199 register_operand. Use atomic_logical_operand_1.
1200 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
1201 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
1202 arith_reg_operand instead of register_operand.
1203 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
1204 Use arith_reg_dest and arith_reg_operand instead of register_operand.
1205 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
1206 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
1207 register_operand. Use fetchop_predicate_1.
1208 (atomic_<fetchop_name>_fetchsi_hard,
1209 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
1210 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
1211 fetchop_constraint_1_llcs.
1212 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
1213 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
1214 fetchop_constraint_1_gusa.
1215 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
1216 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
1217 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
1218 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
1219 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
1220 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
1221 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
1222 register_operand. Use atomic_logical_operand_1.
1223 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
1224 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
1225 arith_reg_operand instead of register_operand.
1226 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
1227 arith_reg_operand instead of register_operand. Use logical_operand
1228 and K08. Adjust asm sequence to allow R0 usage.
1229 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
1230 arith_reg_operand instead of register_operand. Use logical_operand
1231 and K08.
1232
13a48f37
JJ
12332015-01-28 Jakub Jelinek <jakub@redhat.com>
1234
1235 PR other/63504
1236 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
1237 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
1238 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
1239 only get_full_len HOST_WIDE_INTs from get_val () array rather than
1240 all bits in *val_wide.
1241
b1474d30
JH
12422015-01-28 Jan Hubicka <hubicka@ucw.cz>
1243
1244 * varpool.c (tls_model_names): Fix names.
1245 (varpool_node::dump): Dump tls- prefix for tls models.
1246
1f83528e
TS
12472015-01-28 Thomas Schwinge <thomas@codesourcery.com>
1248 Bernd Schmidt <bernds@codesourcery.com>
1249 Nathan Sidwell <nathan@codesourcery.com>
1250
1251 * config/nvptx/mkoffload.c: New file.
1252 * config/nvptx/t-nvptx: Add build rules for it.
1253 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
1254 (extra_programs): Add mkoffload.
1255 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
1256 function.
1257 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
1258
090238ee
YR
12592015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
1260
1261 PR middle-end/64809
1262 * cfgexpand.c (reorder_operands): Skip debug gimples.
1263
fa8e5051
IE
12642015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
1265
1266 PR tree-optimization/64277
1267 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
1268 range info when possible to refine estimation.
1269
8447859b
TP
12702015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
1271
1272 PR tree-optimization/64718
1273 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
1274 be a 16bit unsigned integer when n->range is 16.
1275 (bswap_replace): Convert src to that type if necessary for all bswap
1276 sizes. Fix rotation right notation in nearby comment. Use bswap_type
1277 set in pass_optimize_bswap::execute ().
1278
285398d2
JG
12792015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
1280
1281 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
1282 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
1283 integer and floating point variants.
1284 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
1285
de5bcff3
RS
12862015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
1287
1288 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
1289 for all vector modes.
1290
813ba013
JJ
12912015-01-28 Jakub Jelinek <jakub@redhat.com>
1292
1293 PR bootstrap/64612
1294 * doc/sourcebuild.texi (comdat_group): Document.
1295
5ea22cfc
TG
12962015-01-28 Terry Guo <terry.guo@arm.com>
1297
1298 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
1299
53c04ec9
DM
13002015-01-27 David Malcolm <dmalcolm@redhat.com>
1301
1302 * toplev.c (print_version): Add param "show_global_state", and
1303 only print GGC and plugin information if it is true.
1304 (init_asm_output): Pass in "true" for the new param when calling
1305 print_version.
1306 (process_options): Likewise.
1307 (toplev::main): Likewise.
1308 * toplev.h (print_version): Add new param to decl.
1309
e23f2892
JH
13102015-01-27 Jan Hubicka <hubicka@ucw.cz>
1311
1312 PR ipa/60871
1313 PR ipa/64139
1314 * tree.c (lookup_binfo_at_offset): New function.
1315 (get_binfo_at_offset): Use it.
1316
b833dedd
JH
13172015-01-27 Jan Hubicka <hubicka@ucw.cz>
1318
1319 PR ipa/64282
1320 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
1321 on vtable being vtable.
1322
94091f43
DV
13232015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
1324
f84b87aa
UB
1325 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
1326 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
1327 -mhotpatch= option.
1328 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
1329 -mno-hotpatch options. Change syntax of -mhotpatch= option.
1330 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
1331 Renamed.
1332 (s390_hotpatch_trampoline_halfwords_max): Renamed.
1333 (s390_hotpatch_hw_max): New name.
1334 (s390_hotpatch_trampoline_halfwords): Renamed.
1335 (s390_hotpatch_hw_before_label): New name.
1336 (get_hotpatch_attribute): Removed.
1337 (s390_hotpatch_hw_after_label): New name.
1338 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
1339 attribute.
1340 (s390_attribute_table): Ditto.
1341 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
1342 (s390_function_num_hotpatch_hw): New name.
1343 Remove special handling of inline functions and hotpatching.
1344 Return number of nops before and after the function label.
1345 (s390_can_inline_p): Removed.
1346 (s390_asm_output_function_label): Emit a configurable number of nops
1347 after the function label.
1348 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
1349 (TARGET_CAN_INLINE_P) Removed.
1350 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
94091f43 1351
096e8448
JW
13522015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1353 Jiong Wang <jiong.wang@arm.com>
1354
1355 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
1356 of scratch reg.
1357 (cb<optab><mode>1): Likewise.
1358 * config/aarch64/iterators.md (bcond): New define_code_attr.
1359
fb1a3f8f
AK
13602015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1361
1362 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
1363 memory accesses.
1364
f954fb25
AK
13652015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1366
1367 * config/s390/s390.c (s390_register_move_cost): Increase costs for
1368 FPR->GPR moves.
1369
755359b7
RB
13702015-01-27 Richard Biener <rguenther@suse.de>
1371
1372 * tree-vrp.c (update_value_range): Intersect the range with
1373 old recorded SSA name range information.
1374
eb42aba9
NC
13752015-01-27 Nick Clifton <nickc@redhat.com>
1376
1377 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
1378 BC, DE and HL registers directly, not via AX.
1379 When decrementing the stack pointer by a large amount, transfer SP
1380 into AX and perform the subtraction there.
1381 (rl78_expand_epilogue): Perform the inverse of the above
1382 enhancements.
1383
f962fbf1
RO
13842015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1385
1386 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
1387
f4bdb96a
JJ
13882015-01-27 Jakub Jelinek <jakub@redhat.com>
1389 Yury Gribov <y.gribov@samsung.com>
1390
1391 PR ubsan/64741
1392 * ubsan.c (ubsan_source_location): Refactor code.
1393 (ubsan_type_descriptor): Update type size. Refactor code.
1394
f101c4b4
RB
13952015-01-27 Richard Biener <rguenther@suse.de>
1396
1397 PR tree-optimization/56273
1398 PR tree-optimization/59124
1399 PR tree-optimization/64277
1400 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
1401 from the first VRP pass.
1402
6d71672d
JJ
14032015-01-27 Jakub Jelinek <jakub@redhat.com>
1404
4eaf52aa
JJ
1405 PR ipa/64776
1406 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
1407 handle the first argument in the same loop as all the other arguments.
1408
6d71672d
JJ
1409 PR rtl-optimization/61058
1410 * jump.c (cleanup_barriers): Update basic block boundaries
1411 if BLOCK_FOR_INSN is non-NULL on PREV.
1412
3dd598be
IE
14132015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
1414
1415 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
1416 bounds narrowing, already instrumented calls and calls to
1417 not instrumentable functions.
1418
b30ea138
JJ
14192015-01-27 Jakub Jelinek <jakub@redhat.com>
1420
1421 PR tree-optimization/64807
1422 * wide-int.cc (wi::divmod_internal): Clear
1423 b_dividend[dividend_blocks_needed].
1424
1230f784
DD
14252015-01-26 DJ Delorie <dj@redhat.com>
1426
1427 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
1428 volatile memory references.
1429
48e4f473
OE
14302015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
1431
1432 PR target/49263
1433 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
1434 remove_insn.
1435 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
1436 shifts if it already fits into K08.
1437
4cd76837
JJ
14382015-01-26 Jakub Jelinek <jakub@redhat.com>
1439
1b7706c8
JJ
1440 PR ipa/64730
1441 * ipa-inline.c (inline_small_functions): Print "unknown" even
1442 if edge->call_stmt is non-NULL, but has builtins or unknown
1443 location.
1444
4cd76837
JJ
1445 PR middle-end/64421
1446 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
1447 with asterisk, skip the first character.
1448
0b54aad2
L
14492015-01-26 H.J. Lu <hongjiu.lu@intel.com>
1450
1451 PR target/64806
1452 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
1453 order change.
1454
c8d7835b
UB
14552015-01-26 Uros Bizjak <ubizjak@gmail.com>
1456
f84b87aa 1457 PR target/64795
c8d7835b
UB
1458 * config/i386/i386.md (*movdi_internal): Also check operand 0
1459 to determine TYPE_LEA operand.
1460 (*movsi_internal): Ditto.
1461
cbe69886
JJ
14622015-01-26 Jakub Jelinek <jakub@redhat.com>
1463
1464 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
1465 OPTION_MASK_QUAD_MEMORY_ATOMIC.
1466
0699caae
RL
14672015-01-26 Renlin Li <renlin.li@arm.com>
1468
1469 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
1470 the comment.
1471 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
1472 for higher part.
1473
3cd58c0f
RB
14742015-01-26 Richard Biener <rguenther@suse.de>
1475
1476 PR middle-end/64764
1477 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
1478 combining two BIT_AND_EXPR predicates.
1479
b1512ea0
L
14802015-01-26 H.J. Lu <hongjiu.lu@intel.com>
1481
1482 PR bootstrap/64754
1483 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
3cd58c0f 1484
04385d25
TG
14852015-01-26 Terry Guo <terry.guo@arm.com>
1486
1487 * config/arm/arm.c (arm_file_start): Update the assignment of
1488 Tag_ABI_HardFP_use.
1489
f84b87aa 14902015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
1200ca22
JG
1491
1492 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
1493 pipeline model.
1494 config/arm/arm.md: Include the new Cortex-A57 model.
1495 (generic_sched): Don't use generic_sched when tuning for
1496 Cortex-A57.
1497
939911c5
ASJ
14982015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
1499 Uros Bizjak <ubizjak@gmail.com>
1500
1501 * config/i386/i386.c (get_builtin_code_for_version): Add
1502 support for BMI and BMI2 multiversion functions.
1503
5b4f3384
PK
15042015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1505
1506 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
1507 (extract_bit_field): Likewise.
1508 (extract_low_bits): Likewise.
1509 (expand_mult): Likewise.
1510 (expand_mult_highpart_adjust): Likewise.
1511
c8f2dff2
L
15122015-01-24 H.J. Lu <hongjiu.lu@intel.com>
1513
1514 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
1515 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
1516 * config/i386/i386.c (processor_model): Add
1517 M_INTEL_COREI7_BROADWELL.
1518 (arch_names_table): Add "broadwell".
1519
841dbf80
OE
15202015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
1521
1522 PR target/49263
1523 PR target/53987
1524 PR target/64345
1525 PR target/59533
1526 PR target/52933
1527 PR target/54236
1528 PR target/51244
1529 * config/sh/sh-protos.h
1530 (sh_extending_set_of_reg::can_use_as_unextended_reg,
1531 sh_extending_set_of_reg::use_as_unextended_reg,
1532 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
1533 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
1534 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
1535 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
1536 (sh_treg_insns): New class.
1537 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
1538 (scope_counter): New class.
1539 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
1540 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
1541 sh_extending_set_of_reg::can_use_as_unextended_reg,
1542 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
1543 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
1544 sh_split_treg_set_expr): New functions.
1545 (addsubcosts): Handle treg_set_expr.
1546 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
1547 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
1548 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
1549 (sh_insn_operands_modified_between_p): Make non-static.
1550 * config/sh/predicates.md (zero_extend_movu_operand): Allow
1551 simple_mem_operand in addition to displacement_mem_operand.
1552 (zero_extend_operand): Don't allow zero_extend_movu_operand.
1553 (treg_set_expr, treg_set_expr_not_const01,
1554 arith_reg_or_treg_set_expr): New predicates.
1555 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
1556 arith_or_int_operand instead of logical_operand. Convert to
1557 insn_and_split. Try to optimize constant operand in splitter.
1558 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
1559 (*tstqi_t_zero): Delete.
1560 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
1561 (tstsi_t_and_not): Delete.
1562 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
1563 Convert to insn_and_split.
1564 (unnamed split, tstsi_t_zero_extract_xor,
1565 tstsi_t_zero_extract_subreg_xor_little,
1566 tstsi_t_zero_extract_subreg_xor_big): Delete.
1567 (*tstsi_t_shift_mask): New insn_and_split.
1568 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
1569 to recombine with surrounding insns when splitting.
1570 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
1571 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
1572 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
1573 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
1574 (*cbranch_div0s: Delete.
1575 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
1576 Try to recombine with surrounding insns when splitting. Add operand
1577 order variants.
1578 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
1579 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
1580 *addc_r_r_msb, *addc_2r_msb): Delete.
1581 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
1582 order variant.
1583 (*addc_negreg_t): New insn_and_split.
1584 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
1585 Try to recombine with surrounding insns when splitting.
c8d7835b 1586 Add operand order variants.
841dbf80
OE
1587 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
1588 insn_and_split patterns.
1589 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
1590 surrounding insns when splitting.
1591 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
1592 (*rotcl): Likewise. Add zero_extract variant.
1593 (*ashrsi2_31): New insn_and_split.
1594 (*negc): Convert to insn_and_split. Use treg_set_expr.
1595 (*zero_extend<mode>si2_disp_mem): Update comment.
1596 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
1597 condition.
1598 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
1599 with surrounding insns when splitting.
1600 (any_treg_expr_to_reg): New insn_and_split.
1601 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
1602 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
1603 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
1604 *zero_extract_2): New single bit zero extract patterns.
1605 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
1606 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
1607 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
1608 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
1609 set destination.
1610 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
1611 register_operand for set source.
1612
d0d7b0b3
JH
16132015-01-23 Jan Hubicka <hubicka@ucw.cz>
1614
1615 * i386.opt (prefetch_sse): New targetsave.
1616 * i386.c (ix86_function_specific_save): Save prefetch_sse.
1617 (ix86_function_specific_restore): Restore prefetch_sse and initialize
1618 ix86_cost/ix86_tune_cost.
1619
d2c5e4c9
DM
16202015-01-23 David Malcolm <dmalcolm@redhat.com>
1621
1622 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
1623 Support the JIT by using 0 as the language type.
1624
5c8bae59
VM
16252015-01-23 Vladimir Makarov <vmakarov@redhat.com>
1626
1627 PR target/64317
1628 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
1629 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
af955a52 1630 (mark_regno_live, process_bb_lives): Pass new parameter value to
5c8bae59
VM
1631 make_hard_regno_born.
1632
6c4d60f8
JJ
16332015-01-23 Jakub Jelinek <jakub@redhat.com>
1634
1635 PR rtl-optimization/63637
1636 PR rtl-optimization/60663
1637 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
1638 if elt->cost is MAX_COST for ASM_OPERANDS.
1639 (find_sets_in_insn): Fix up comment typo.
1640 (cse_insn): Don't set src_volatile for all non-volatile
1641 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
1642 or with "memory" clobber. Set elt->cost to MAX_COST
1643 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
1644 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
1645
b2d7aa9a
UB
16462015-01-23 Uros Bizjak <ubizjak@gmail.com>
1647
1648 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
1649 alternative 1.
1650
16512015-01-23 Uros Bizjak <ubizjak@gmail.com>
7bbf9734
UB
1652
1653 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
1654 libgcc/config/i386/elf-lib.h.
1655
b8910447
JJ
16562015-01-23 Jakub Jelinek <jakub@redhat.com>
1657
29585247
JJ
1658 PR driver/64737
1659 * gcc.c (print_configuration): Don't print a blank line at the end
1660 here...
1661 (run_attempt): ... but here unstead.
1662
b8910447
JJ
1663 PR middle-end/64734
1664 * omp-low.c (scan_sharing_clauses): Don't ignore
1665 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
1666 on target data/update constructs.
1667
f75e07bc
BE
16682015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1669
1670 PR target/50928
1671 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
1672 (DEBUG_RELOAD): Removed define.
1673 (m32c_limit_reload_class): Enable traces with if DEBUG0.
1674 (m32c_function_arg): Added a type cast.
1675 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
1676 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
1677 * config/m32c/bitops.md (andqi3_16): Likewise.
1678 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
1679 (push_a01_l): Likewise.
1680
6fc2d0f3
DM
16812015-01-23 David Malcolm <dmalcolm@redhat.com>
1682
1683 PR jit/64721
1684 * main.c (main): Construct toplev instances with init_signals=true.
1685 * toplev.c (general_init): Add param "init_signals", and use it to
1686 conditionalize the calls to signal and host_hooks.extra_signals.
1687 (toplev::toplev): Add param "init_signals".
1688 (toplev::main): When invoking general_init, pass m_init_signals
1689 to control whether signal-handlers are installed.
1690 * toplev.h (toplev::toplev): Add param "init_signals".
1691 (toplev::m_init_signals): New field.
1692
ca72dad5
DM
16932015-01-23 David Malcolm <dmalcolm@redhat.com>
1694
1695 PR jit/64722
1696 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
1697 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
1698 latter may be affected by the former (e.g. on i686).
1699
97440db5
ML
17002015-01-23 Martin Liska <mliska@suse.cz>
1701
1702 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
1703 false positive during profiledbootstrap.
1704
a0c88d06
TV
17052015-01-23 Tom de Vries <tom@codesourcery.com>
1706
1707 PR libgomp/64672
1708 * lto-opts.c (lto_write_options): Output non-explicit conservative
1709 -fno-openacc.
1710 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
1711 (append_compiler_options): Pass -fopenacc through.
1712
1506ae0e
TV
17132015-01-23 Tom de Vries <tom@codesourcery.com>
1714
1715 PR libgomp/64707
1716 * lto-opts.c (lto_write_options): Output non-explicit conservative
1717 -fno-openmp.
1718 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
1719 (append_compiler_options): Pass -fopenmp through.
1720
b55f40c1
JJ
17212015-01-23 Jakub Jelinek <jakub@redhat.com>
1722
bd849fe6
JJ
1723 PR debug/64511
1724 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
1725 GTY markup.
1726
b55f40c1
JJ
1727 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
1728 * diagnostic.def (DK_ICE_NOBT): New kind.
1729 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
1730 like DK_ICE, but never print backtrace.
1731 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
1732 (internal_error_no_backtrace): New function.
1733 * gcc.c (execute): Use internal_error_no_backtrace instead of
1734 internal_error.
1735
5e7821eb
JL
17362015-01-22 Jeff Law <law@redhat.com>
1737
1738 PR target/52076
1739 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
1740 improve code density for small immediate to memory case.
1741 (insv): Better handle bitfield assignments when the field is
1742 being set to all ones.
1743 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
1744 operand predicate.
1745
33eaef4b
RO
17462015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1747 Jakub Jelinek <jakub@redhat.com>
1748
1749 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
1750 for !TARGET_LIBC_PROVIDES_SSP version and
1751 -fstack-protector-{all,strong,explicit} otherwise.
1752 * config/freebsd.h (LINK_SSP_SPEC): Handle
1753 -fstack-protector-{strong,explicit}.
1754
d75de25b
JH
17552015-01-22 Jan Hubicka <hubicka@ucw.cz>
1756 H.J. Lu <hongjiu.lu@intel.com>
1757
1758 PR ipa/64694
1759 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
1760 heap.
1761
ff1803c1
WM
17622015-01-22 Wei Mi <wmi@google.com>
1763
1764 PR rtl-optimization/64557
1765 * dse.c (record_store): Call get_addr for mem_addr.
1766 (check_mem_read_rtx): Likewise.
1767
f77107e8
EB
17682015-01-22 Eric Botcazou <ebotcazou@adacore.com>
1769
1770 * fold-const.c (const_binop): Add early return for non-tcc_binary.
1771
17722015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
e34a176a 1773
0c799056
CG
1774 * toplev.c (init_local_tick): Process the failure when read
1775 fails for random_seed.
1776
e34a176a
CG
1777 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
1778 'pretty_name' to avoid memory overflow.
1779
f4b05e74
RB
17802015-01-22 Richard Biener <rguenther@suse.de>
1781
1782 PR middle-end/64728
1783 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
1784 abnormal coalescing on undefined SSA names.
1785
98321768
UB
17862015-22-01 Uros Bizjak <ubizjak@gmail.com>
1787
1788 PR target/64688
1789 PR target/64477
1790 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
1791 for alternative 3.
a0d8720a 1792 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
98321768 1793
6c4ffa6c
TS
17942015-01-22 Trevor Saunders <tsaunders@mozilla.com>
1795
1796 PR middle-end/63325
1797 * fold-const.c (fold_checksum_tree): Don't include value of
1798 expr->decl_with_vis.symtab_node in the checksum.
1799
cf5b43b0
AK
18002015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1801
f662ac2a 1802 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
cf5b43b0 1803
f78a6ae4
MO
18042015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
1805
1806 PR driver/64690
1807 * gcc.c (insert_comments): New function.
1808 (try_generate_repro): Call it.
1809 (append_text): Removed.
1810
0c3068e0
RB
18112015-01-22 Richard Biener <rguenther@suse.de>
1812
1813 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
1814 with IL incompatible options. Properly honor user optimize
1815 attributes.
1816
c8b90a13
SB
18172015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
1818
1819 PR rtl-optimization/64682
1820 * combine.c (distribute_notes): When moving a death note for
1821 a register that is set in the new I2, make sure to put it
1822 before that new I2.
1823
1c2fd8c7
DE
18242015-01-21 David Edelsohn <dje.gcc@gmail.com>
1825
1826 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
1827 not TARGET_DEFAULT.
1828
6c5ed3f1
JJ
18292015-01-21 Jakub Jelinek <jakub@redhat.com>
1830
98f51044
JJ
1831 PR debug/64511
1832 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
1833 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
1834 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
1835
d2632e47
JJ
1836 PR sanitizer/64706
1837 * doc/invoke.texi (-fsanitize=vptr): Document.
1838
6c5ed3f1
JJ
1839 PR rtl-optimization/62078
1840 * dse.c: Include cfgcleanup.h.
1841 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
1842 anything call purge_all_dead_edges and cleanup_cfg at the end
1843 of the pass.
1844
173148bb
JH
18452015-01-21 Jan Hubicka <hubicka@ucw.cz>
1846
1847 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
1848 edges.
1849
2f3c4b69
BE
18502015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1851
1852 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
1853 decl attribute.
1854
b6b782b9
DS
18552015-01-21 David Sherwood <david.sherwood@arm.com>
1856 Tejas Belagod <Tejas.Belagod@arm.com>
1857
1858 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
1859 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
1860 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
1861 Removed.
1862
668046d1
DS
18632015-01-21 David Sherwood <david.sherwood@arm.com>
1864 Tejas Belagod <Tejas.Belagod@arm.com>
1865
1866 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
1867 (aarch64_reverse_mask): New decls.
1868 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
1869 (insn_count): New mode_attr.
1870 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
1871 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
1872 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
1873 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
1874 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
1875 (aarch64_simd_st4): New patterns.
1876 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
1877 (aarch64_reverse_mask): New functions.
1878
2d8c6dc1
AH
18792015-01-21 Richard Sandiford <richard.sandiford@arm.com>
1880
1881 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
1882 Declare.
1883 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
1884 addressing modes for BE.
1885 (aarch64_print_operand): Add 'R' specifier.
1886 (aarch64_simd_disambiguate_copy): Delete.
1887 (aarch64_simd_emit_reg_reg_move): New function.
1888 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
1889 in define_splits for structural moves.
1890 (mov<mode>): Use less restrictive predicates.
1891 (*aarch64_mov<mode>): Simplify and only allow for LE.
1892 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
1893
9ab41c76
AH
18942015-01-21 Alan Hayward <alan.hayward@arm.com>
1895
f84b87aa 1896 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
9ab41c76 1897
4005b96a
RH
18982015-01-21 Richard Henderson <rth@redhat.com>
1899
1900 PR target/64669
1901 * ccmp.c (used_in_cond_stmt_p): Remove.
1902 (expand_ccmp_expr): Don't use it.
1903
cf836bd3
NC
19042015-01-21 Nick Clifton <nickc@redhat.com>
1905
1906 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
1907 PARALLELs.
1908
cbf5d0e7
RB
19092015-01-21 Richard Biener <rguenther@suse.de>
1910
1911 PR middle-end/64313
1912 * tree-core.h (builtin_info, builtin_info_type): Turn from
1913 an object with two arrays into an array of an object with
1914 decl and two flags, implicit_p and declared_p.
1915 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
1916 set_builtin_decl, set_builtin_decl_implicit_p,
1917 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
1918 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
1919 * builtins.c (builtin_info): Adjust.
1920 * gimplify.c (gimplify_addr_expr): References to builtins
1921 that have been declared by the user makes them eligible for
1922 use by the compiler. Call set_builtin_decl_implicit_p on them.
1923
1f36fbf4
JL
19242015-01-20 Jeff Law <law@redhat.com>
1925
1926 PR target/59946
1927 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
1928 allow pc-relative addresses in operand predicates or constraints.
1929
18092bec
BC
19302015-01-21 Bin Cheng <bin.cheng@arm.com>
1931
1932 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
1933 neon on aarch32 processors for stringops.
1934
befb1f36
JH
19352015-01-19 Jan Hubicka <hubicka@ucw.cz>
1936
1937 PR ipa/63576
1938 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
1939
bb1e543c
JH
19402015-01-19 Jan Hubicka <hubicka@ucw.cz>
1941
1942 PR lto/45375
1943 * ipa-inline.c: Include lto-streamer.h
1944 (report_inline_failed_reason): Output source file differences and
1945 flags on optimization/target node mismatch.
1946 (can_inline_edge_p): Consider caller to be the outer inline function;
1947 be less restrictive about matching opimize and optimize_size attributes.
1948 (inline_account_function_p): Break out from ...
1949 (inline_small_functions): ... here.
1950 * ipa-inline-transform.c (clone_inlined_nodes): Use
1951 inline_account_function_p.
1952 (inline_call): Use optimize attribution; use inline_account_function_p.
1953 (inline_transform): Use opt_for_fn.
1954 * ipa-inline.h (inline_account_function_p): Declare.
1955
17cb4283
JJ
19562015-01-20 Jakub Jelinek <jakub@redhat.com>
1957
1958 PR debug/64663
1959 * dwarf2out.c (decl_piece_node): Don't put bitsize into
1960 mode if bitsize <= 0.
1961 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
1962 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
1963 sizes and positions.
1964
a9ce4e4a
CLT
19652015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
1966
1967 * config/nios2/nios2.c (nios2_asm_file_end): Implement
1968 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
1969 needed.
1970 (TARGET_ASM_FILE_END): Define.
1971
237c70c3
MK
19722015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1973
1974 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
1975 (struct tune_params): Use the enum.
1976 * arm.c (arm_*_tune): Update.
1977 (arm_option_override): Update.
1978
2fd2ae34
RB
19792015-01-20 Richard Biener <rguenther@suse.de>
1980
1981 PR ipa/64684
1982 * ipa-reference.c (add_static_var): Inline ...
1983 (analyze_function): ... here after splitting out from ...
1984 (is_proper_for_analysis): ... this.
1985
c896d4b4
MW
19862015-01-20 Matthew Wahab <matthew.wahab@arm.com>
1987
1988 PR target/64149
1989 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
1990 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
1991 replace the conditional with it's true branch.
1992 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
1993 (arm_lra_p): Remove.
1994
a76ffff1
EB
19952015-01-20 Eric Botcazou <ebotcazou@adacore.com>
1996
1997 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
1998
42df23a6
PK
19992015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2000
f84b87aa
UB
2001 * config/tilegx/mul-tables.c: Move symtab.h include after
2002 coretypes.h include.
2003 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
2004 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
2005 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
2006 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
2007 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
42df23a6 2008
7002f3bd
IZ
20092015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
2010
2011 PR bootstrap/64676
2012 Revert:
2013 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
2014
2015 PR rtl-optimization/64081
2016 * loop-iv.c (def_pred_latch_p): New function.
2017 (latch_dominating_def): Allow specific cases with non-single
2018 definitions.
2019 (iv_get_reaching_def): Likewise.
2020 (check_complex_exit_p): New function.
2021 (check_simple_exit): Use check_complex_exit_p to allow certain cases
2022 with exits not executing on any iteration.
2023
a5fcfb6d
JH
20242015-01-19 Jan Hubicka <hubicka@ucw.cz>
2025
2026 PR lto/45375
2027 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
2028 to set branch cost.
2029
a1aff58f
JH
20302015-01-19 Jan Hubicka <hubicka@ucw.cz>
2031
2032 PR lto/45375
2033 * i386.c (gate): Check flag_expensive_optimizations and
2034 optimize_size.
2035 (ix86_option_override_internal): Drop optimize_size condition
2036 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
2037 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
2038 MASK_PREFER_AVX128.
2039 (ix86_avx256_split_vector_move_misalign,
2040 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
2041 * sse.md (all uses of TARGET_PREFER_AVX128): Add
2042 optimize_insn_for_speed_p check.
2043
aa0c464a
MF
20442015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
2045
2046 * config/mips/mips.h (FP_ASM_SPEC): New define.
2047 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
2048 instead.
2049
b151091d
OE
20502015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
2051
2052 PR target/53988
2053 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
2054 nullptr for insn when reaching the first insn.
2055 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
2056 (sh_insn_operands_modified_between_p): Add nullptr check.
2057 (sh_find_extending_set_of_reg): Fix log message. Don't accept
2058 sign extending mem load if the insn contains any UNSPEC or
2059 UNSPEC_VOLATILE.
2060
c2db7204
JH
20612015-01-19 Jan Hubicka <hubicka@ucw.cz>
2062
2063 * params.def (inline-unit-growth): Drop to 15%.
2064 * invoke.texi (inline-unit-growth): Document change.
2065
6b984df0
ML
20662015-01-19 Martin Liska <mliska@suse.cz>
2067
2068 PR ipa/64668
2069 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
2070 function for second argument of OBJ_TYPE_REF.
2071
9789b553
JH
20722015-01-19 Jan Hubicka <hubicka@ucw.cz>
2073
2074 PR ipa/64218
2075 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
2076 whether function is an alias.
2077
68c9467f
JH
20782015-01-19 Jan Hubicka <hubicka@ucw.cz>
2079
2080 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
2081 cases.
2082
6ce54d0f
VM
20832015-01-19 Vladimir Makarov <vmakarov@redhat.com>
2084
2085 PR rtl-optimization/64671
2086 * lra-remat.c (operand_to_remat): Don't consider jump and call
2087 insns.
2088
b9f12a01
DE
20892015-01-19 David Edelsohn <dje.gcc@gmail.com>
2090
2091 * config/rs6000/default64.h: Include rs6000-cpus.def.
2092 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
2093 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
2094 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
2095 and POWER8.
2096 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
2097 POWER8.
2098 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
2099 pseudo-op to specify assembler dialect.
2100
90190bb3
ML
21012015-01-19 Martin Liska <mliska@suse.cz>
2102
2103 PR ipa/64664
2104 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
2105 Handle safe potentially removed nodes during filtering.
2106
185c9e56
ML
21072015-01-19 Martin Liska <mliska@suse.cz>
2108
2109 * doc/extend.texi (no_icf): Add new attribute description.
2110 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
2111 where the pass attempts to merge a function with no_icf attribute.
2112
b24671f7
RR
21132015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2114
2115 PR target/64532
2116 * doc/md.texi (ARM Options): Document register constraints.
2117
af129d07
JW
21182015-01-19 Jiong Wang <jiong.wang@arm.com>
2119 Andrew Pinski <apinski@cavium.com>
2120
2121 PR target/64304
2122 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
2123 (ashl<mode>3): Don't expand if operands[2] is not constant.
2124
36650ec6
KT
21252015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2126
2127 PR target/64448
2128 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
2129 Match xor-and-xor RTL pattern.
2130
dfd3a76c
IZ
21312015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
2132
2133 PR rtl-optimization/64081
2134 * loop-iv.c (def_pred_latch_p): New function.
2135 (latch_dominating_def): Allow specific cases with non-single
2136 definitions.
2137 (iv_get_reaching_def): Likewise.
2138 (check_complex_exit_p): New function.
2139 (check_simple_exit): Use check_complex_exit_p to allow certain cases
2140 with exits not executing on any iteration.
2141
ff6a32a9
JJ
21422015-01-19 Jakub Jelinek <jakub@redhat.com>
2143
2144 * common.opt (fgraphite): Fix a typo.
2145
7abab3d1
FY
21462015-01-19 Felix Yang <felix.yang@huawei.com>
2147
2148 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
2149 pattern.
2150 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
2151 uminp, smax_nanp, smin_nanp): New builtins.
2152 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
2153 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
2154 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
2155 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
2156 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
2157 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
2158 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
2159 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
2160 vpminnms_f32): Rewrite using builtin functions.
2161
128b26dc
TS
21622015-01-19 Thomas Schwinge <thomas@codesourcery.com>
2163
bed62c21 2164 PR libgomp/64625
128b26dc
TS
2165 * omp-low.c (offload_symbol_decl): Remove variable.
2166 (get_offload_symbol_decl): Remove function.
2167 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
2168 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
2169 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
2170 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
2171 BUILT_IN_GOACC_UPDATE don't pass it at all.
2172
3d36be01
IE
21732015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
2174
2175 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
2176 callers.
2177
c11d86b4
IE
21782015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
2179
2180 * ipa-chkp.c (chkp_produce_thunks): Add early param
2181 to split thunks production into two passes. Keep
2182 'always_inline' function bodies after the first pass.
2183 (pass_data_ipa_chkp_early_produce_thunks): New.
2184 (pass_ipa_chkp_early_produce_thunks): New.
2185 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
2186 chkp_produce_thunks signature.
2187 (make_pass_ipa_chkp_early_produce_thunks): New.
2188 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
2189 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
2190 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
2191
a89bd7d2
JH
21922015-01-18 Jan Hubicka <hubicka@ucw.cz>
2193
2194 * cgraph.c (cgraph_node::dump): Dump profile flags.
2195
15a43a0c
OE
21962015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
2197
2198 PR target/64652
2199 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
2200 reg appear first in the parallel.
2201
b16650ac
JH
22022015-01-18 Jan Hubicka <hubicka@ucw.cz>
2203
2204 * ipa-reference.c (set_reference_optimization_summary,
a89bd7d2
JH
2205 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
2206 disabled.
b16650ac 2207 (ignore_module_statics): New static var.
a89bd7d2
JH
2208 (propagate_bits): If ipa-reference is disabled, do not look into local
2209 properties.
b16650ac
JH
2210 (analyze_function): Disable analysis when ipa_reference is disabled.
2211 (generate_summary): Do not dump when reference is disabled;
2212 collect vars accessed from functions with ipa-reference disabled.
2213 (get_read_write_all_from_node): When ipa-reference is disabled, use the
2214 node flags.
2215 (gate): Enable for LTO.
2216 (ignore_edge_p): New function.
2217 (propagate): Skip functions w/o ipa-reference analysis.
2218 * optc-save-gen.awk: Handle optimize_debug correctly.
2219 * opth-gen.awk: Likewise.
2220 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
2221 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
2222 fira-share-save-slots, fira-share-spill-slots,
2223 fmodulo-sched-allow-regmoves, fpartial-inlining,
2224 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
2225 ftracer, ftree-parallelize-loops, fassociative-math,
2226 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
2227 Optimization
2228 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
f84b87aa
UB
2229 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
2230 Optimization.
b16650ac
JH
2231 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
2232 Fix for IPA.
2233
33c3b6be
JH
22342015-01-18 Jan Hubicka <hubicka@ucw.cz>
2235
2236 PR ipa/64378
2237 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
2238 flag correctly.
2239 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
2240
d28701a2
SL
22412015-01-18 Sandra Loosemore <sandra@codesourcery.com>
2242
2243 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
2244 Remove duplicate option listings.
2245
1500c66f
FY
22462015-01-18 Felix Yang <felix.yang@huawei.com>
2247
2248 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
2249 (autofdo_source_profile::get_callsite_total_count,
2250 function_instance::get_function_instance_by_decl,
2251 string_table::get_index, string_table::get_index_by_decl,
2252 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
2253 Fix comment typos. Reformatting and minor code rearrangement.
2254
779fc8fb
SB
22552015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
2256
2257 * config/rs6000/rs6000.md (probe_stack): Delete.
2258 (probe_stack_address): New.
2259
ffafb4f0
SB
22602015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
2261
2262 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
2263 to test for 32-bit ABIs, not !TARGET_POWERPC64.
2264
436bd917
SB
22652015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
2266
2267 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
2268 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
2269 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
2270 snafu.
2271 (rs6000_libcall_value): Use the new function.
2272
3b97ab5a
SL
22732015-01-17 Sandra Loosemore <sandra@codesourcery.com>
2274
2275 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
2276
33c2207d
EB
22772015-01-17 Eric Botcazou <ebotcazou@adacore.com>
2278
2279 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
2280 implement a more precise life analysis for it during backward scan.
2281
c3943573
JK
22822015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
2283
2284 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
2285
0ed4bf92
BS
22862015-01-17 Bernd Schmidt <bernds@codesourcery.com>
2287
2288 PR rtl-optimization/52773
2289 * calls.c (emit_library_call_value): When pushing arguments use
2290 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
2291 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
2292 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
2293
bd5fb71c
JL
22942015-01-17 Jeff Law <law@redhat.com>
2295
2296 PR rtl-optimization/32790
2297 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
2298 not ZERO_EXTEND in SET_DESTs.
2299
aed38127
AM
23002015-01-17 Alan Modra <amodra@gmail.com>
2301
2302 * cprop.c (do_local_cprop): Revert last change.
2303
48c528ae
DD
23042015-01-16 DJ Delorie <dj@redhat.com>
2305 Nick Clifton <nickc@redhat.com>
2306
2307 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
2308 (addhi3_real): Likewise. Fix [HL+0] syntax.
2309 (subqi3_real): Likewise.
2310 (subhi3_real): Likewise.
2311 (cbranchqi4_real): Likewise. Allow saddr,#imm.
2312 (cbranchhi4_real): Likewise.
2313 (cbranchhi4_real_inverted): Likewise.
2314 (cbranchsi4_real_lt): Likewise.
2315 (cbranchsi4_real_ge): Likewise.
2316 (cbranchsi4_real_ge): Likewise.
2317 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
2318 (sub<mode>3_virt): Likewise.
2319 (cbranchqi4_virt): Likewise.
2320 (cbranchhi4_virt): Likewise.
2321 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
2322 always use '[reg+imm]' even when imm is zero.
2323 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
2324 (rl78_general_operand): New.
2325 (rl78_nonimmediate_operand): New.
2326 (rl78_nonfar_operand): Use them.
2327 (rl78_nonfar_nonimm_operand): Likewise.
2328 (rl78_stack_based_mem): Fix.
2329 * config/rl78/constraints.md (Ibqi): New.
2330 (IBqi): New.
2331 (Wsa): New.
2332 (Wsf): New.
2333 (Cs1): Fix.
2334 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
2335 (iorqi3): Likewise.
2336 (xorqi3): Likewise.
2337 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
2338
f84b87aa
UB
2339 * config/rl78/constrains (Qs8): New constraint.
2340 * config/rl78/rl78.c (rl78_flags_already_set): New function.
2341 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
2342 * config/rl78/rl78-real.md (update_Z): New attribute.
2343 Update patterns to set it.
2344 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
2345 shorter compare and branch sequence can be used.
2346 (cbranchhi4_real): Likewise.
2347 (cbranchhi4_real_inverted): Likewise.
48c528ae
DD
2348
2349 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
2350 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
2351 address space.
2352 * config/rl78/rl78.c (rl78_get_name_encoding): New.
2353 (rl78_option_override): Allow -mes0 only if C.
2354 (characterize_address): Support subregs of symbol_refs.
2355 (rl78_addr_space_address_mode): Move. Add __near.
2356 (rl78_far_p): Likewise.
2357 (rl78_addr_space_pointer_mode): Likewise.
2358 (rl78_as_legitimate_address): Likewise.
2359 (rl78_addr_space_subset_p): Likewise.
2360 (rl78_addr_space_convert): Likewise.
2361 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
2362 symbols with -mes0.
2363 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
2364 addressing.
2365 (rl78_alloc_physical_registers_op1): Change logic to prefer
2366 symbol[BC] addressing.
2367 (frodata_section): New.
2368 (rl78_asm_init_sections): Initialize it.
2369 (rl78_select_section): Put __far readonly symbols in .frodata.
2370 (rl78_make_type_far): New.
f84b87aa
UB
2371 (rl78_insert_attributes): Force all readonly symbols to be
2372 __far when -mes0.
48c528ae
DD
2373 (rl78_asm_out_integer): New.
2374 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
2375 * config/rl78/rl78.opt (-mes0): New.
2376
2377 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
2378 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
2379 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
2380 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
2381 (rl78_saddr_p): New.
2382 (rl78_output_aligned_common): New.
2383 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
2384 (rl78_handle_saddr_attribute): New.
2385 (rl78_handle_naked_attribute): New.
2386 (rl78_attribute_table): Add saddr.
2387 (rl78_print_operand_1): Don't print '!' on saddr operands.
2388 (rl78_print_operand_1): Strip encodings.
2389 (rl78_sfr_p): New.
2390 (rl78_strip_name_encoding): New.
2391 (rl78_attrlist_to_encoding): New.
2392 (rl78_encode_section_info): New.
2393 (rl78_asm_init_sections): New.
2394 (rl78_select_section): New.
2395 (rl78_output_labelref): New.
2396 (rl78_output_aligned_common): New.
2397 (rl78_asm_out_integer): New.
2398 (rl78_asm_ctor_dtor): New.
2399 (rl78_asm_constructor): New.
2400 (rl78_asm_destructor): New.
2401
2402 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
2403 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
2404 (transcode_memory_rtx): Update.
2405 (rl78_expand_epilogue): Use A_REG instead of 0.
2406
340c7904
MK
24072015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2408
2409 * config/arm/arm-protos.h (struct tune_params): New field
2410 sched_autopref_queue_depth.
2411 * config/arm/arm.c (sched-int.h): Include header.
2412 (arm_first_cycle_multipass_dfa_lookahead_guard,)
2413 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
2414 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
2415 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
2416 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
2417 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
2418 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
2419 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
2420 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
2421 * config/arm/t-arm (arm.o): Update.
2422 * haifa-sched.c (update_insn_after_change): Update.
2423 (rank_for_schedule): Use auto-prefetcher model, if requested.
2424 (autopref_multipass_init): New static function.
2425 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
2426 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
2427 variable for debug dumps.
2428 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
2429 (autopref_multipass_dfa_lookahead_guard): New global function that
2430 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
2431 (init_h_i_d): Update.
2432 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
2433 * sched-int.h (enum autopref_multipass_data_status): New const enum.
2434 (autopref_multipass_data_): Structure for auto-prefetcher data.
2435 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
2436 (struct _haifa_insn_data:autopref_multipass_data): New field.
2437 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
2438 (autopref_multipass_dfa_lookahead_guard): Declare.
2439
71acd477
MK
24402015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2441
2442 * rtlanal.c (get_base_term): Handle SCRATCH.
2443
d03f7e44
MK
24442015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2445
2446 * config/aarch64/aarch64.c
2447 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
2448 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
2449 * config/arm/arm.c
2450 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
2451 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
2452
25d1a5a7
AM
24532015-01-17 Alan Modra <amodra@gmail.com>
2454
2455 * cprop.c (do_local_cprop): Disallow replacement of fixed
2456 hard registers.
2457
a220c9da
KT
24582015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2459
2460 PR target/62066
2461 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
2462 early return 0.
2463
cbf9a566
BE
24642015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
2465
55d9ceab 2466 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
cbf9a566
BE
2467 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
2468
2a37d9d0
KT
24692015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2470
2471 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
2472 * config/arm/thumb1.md: ... Here.
2473
325df0eb
SB
24742015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
2475
2476 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
2477 TImode for TARGET_32BIT.
2478
77688d70
SB
24792015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
2480
2481 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
2482 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
2483 as ...
2484 (rs6000_abi_word_mode): New function.
2485
ed821220
SB
24862015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
2487
2488 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
2489 instead of UNITS_PER_WORD to describe the size of stack slots.
2490
42373118
SB
24912015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
2492
2493 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
2494 as rs6000_promote_function_mode. Move comment to there.
2495 (rs6000_promote_function_mode): New function.
2496
96922e4c
SB
24972015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
2498
2499 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
2500 -mpowerpc64 is active.
2501
ed22611a
IE
25022015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
2503
2504 PR middle-end/64353
2505 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
2506 virtuals on start.
2507
16ab99ba
JG
25082015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
2509
2510 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
2511 introduced in revision 219724.
2512
f2a03a72 25132015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
f84b87aa 2514 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
f2a03a72
KT
2515
2516 PR target/64263
2517 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
2518 destination is not a GP reg.
2519 (*movdi_aarch64): Likewise.
2520
8168ece0
DE
25212015-01-16 David Edelsohn <dje.gcc@gmail.com>
2522
2523 PR target/64623
2524 * config/rs6000/default64.h: Revert ISA change.
2525
666e8e06
RB
25262015-01-16 Richard Biener <rguenther@suse.de>
2527
2528 PR middle-end/64614
2529 * tree-ssa-uninit.c: Include tree-cfg.h.
2530 (MAX_SWITCH_CASES): New define.
2531 (convert_control_dep_chain_into_preds): Handle switch statements.
2532 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
2533 (normalize_one_pred_1): Do not split bit-manipulations.
2534 Record (x & CST).
2535
0399a8db
RB
25362015-01-16 Richard Biener <rguenther@suse.de>
2537
2538 PR tree-optimization/64568
2539 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
2540 complex load rewriting for TARGET_MEM_REFs.
2541
2a1dcf27
UB
25422015-01-16 Uros Bizjak <ubizjak@gmail.com>
2543
2544 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
2545
98d404be
MW
25462015-01-16 Matthew Wahab <matthew.wahab@arm.com>
2547
2548 PR target/64149
2549 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
2550 variable.
2551 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
2552 (aarch64_lra_p): Remove.
2553
06201ad5
IE
25542015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
2555
2556 PR target/64363
2557 * ipa-chkp.h (chkp_instrumentable_p): New.
2558 * ipa-chkp.c: Include tree-inline.h.
2559 (chkp_instrumentable_p): New.
2560 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
2561 Fix processing of not instrumentable functions.
2562 (chkp_versioning): Use chkp_instrumentable_p. Warn about
2563 not instrumentable functions.
2564 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
2565 chkp_instrumentable_p.
2566 * tree-inline.h (copy_forbidden): New.
2567 * tree-inline.c (copy_forbidden): Not static anymore.
2568
eb13ee31
RO
25692015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2570
2571 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
2572 ptr1, ptr2 unused.
2573
8b8e23de
RS
25742015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
2575
2576 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
2577 type OP_OUT to OP_INOUT.
2578
ece4d1ac
RS
25792015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
2580
2581 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
2582 (high x) y) to y if x and y have the same base.
2583
e0ae0288
JG
25842015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
2585
2586 * config/arm/cortex-a57.md: New.
2587 * config/aarch64/aarch64.md: Include it.
2588 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
2589 * config/aarch64/aarch64-tune.md: Regenerate.
2590
5f3bc026
ZC
25912015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
2592
2593 PR target/64015
2594 * ccmp.c (expand_ccmp_next): New function.
2595 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
2596 and compare insn sequence.
2597 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
2598 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
2599 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
2600 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
2601 (*ccmp_ior): Changed to ccmp_ior<mode>.
2602 (cmp<mode>): New pattern.
2603 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
2604 parameters.
2605 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
2606
3e362970
IT
26072015-01-16 Ilya Tocar <ilya.tocar@intel.com>
2608
2609 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
2610 _mm256_bsrli_epi128): New.
2611 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
2612
e623cedf
JW
26132015-01-15 Jiong Wang <jiong.wang@arm.com>
2614
2615 * expmed.c (store_bit_field_using_insv): Improve warning message.
2616 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
2617
4ae9783e
JW
26182015-01-15 Jiong Wang <jiong.wang@arm.com>
2619
2620 PR rtl-optimization/64011
2621 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
2622 there is partial overflow.
2623
d6529176
CJW
26242015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
2625
2626 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
2627 prototype.
2628 (nds32_expand_epilogue_v3pop): Likewise.
2629 * config/nds32/nds32.md (sibcall): Define this for sibling call
2630 optimization.
2631 (sibcall_register): Likewise.
2632 (sibcall_immediate): Likewise.
2633 (sibcall_value): Likewise.
2634 (sibcall_value_register): Likewise.
2635 (sibcall_value_immediate): Likewise.
2636 (sibcall_epilogue): Likewise.
2637 (epilogue): Pass false to indicate this is not a sibcall epilogue.
2638 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
2639 (nds32_expand_epilogue_v3pop): Likewise.
2640
03390cda
CJW
26412015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
2642
2643 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
2644 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
2645 (return_internal): New.
2646 (return): Define this named pattern.
2647 (simple_return): Define this named pattern.
2648 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
2649 pattern instead of unspec_volatile_func_return.
2650 (nds32_expand_epilogue_v3pop): Likewise.
2651 (nds32_can_use_return_insn): New function.
2652
aa2642ef
CJW
26532015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
2654
2655 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
2656 * config/nds32/nds32.md (pop25return): New.
2657 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
2658 pop25return pattern.
2659
f959367e
CJW
26602015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
2661
2662 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
2663 -mforbid-fp-as-gp, and -mex9 options.
2664
5a4ba50e
CJW
26652015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
2666
2667 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
2668 remove -mgp-direct option.
2669
3620b606 26702015-01-15 Jan Hubicka <hubicka@ucw.cz>
c8d7835b 2671
3620b606
JH
2672 * doc/invoke.texi (--param early-inlining-insns): Update default value.
2673 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
2674
52d36202
JH
26752015-01-15 Jan Hubicka <hubicka@ucw.cz>
2676
2677 * ipa-inline.c (inline_small_functions): Work around hints
2678 cache issue.
2679
56314783
SL
26802015-01-15 Sandra Loosemore <sandra@codesourcery.com>
2681
2682 PR target/59710
2683 * doc/invoke.texi (Option Summary): Document new Nios II
2684 -mgpopt= syntax.
2685 (Nios II Options): Likewise.
2686 * config/nios2/nios2.opt: Add -mgpopt= option support.
2687 Modify existing -mgpopt and -mno-gpopt options to be aliases.
2688 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
2689 * config/nios2/nios2.c (nios2_option_override): Adjust
2690 -mgpopt defaulting.
2691 (nios2_in_small_data_p): Return true for explicit small data
2692 sections even with -G0.
2693 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
2694 option choices.
2695
8ccc8042
JH
26962015-01-15 Jan Hubicka <hubicka@ucw.cz>
2697
2698 PR ipa/64612
2699 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
2700 of comdat locals.
2701 (inline_call): Fix removal of aliases.
2702
35228ac7
JJ
27032015-01-15 Jakub Jelinek <jakub@redhat.com>
2704
2705 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
2706 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
2707 * opts.c (common_handle_option): Add -fsanitize=vptr.
2708 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
2709 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
2710 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
2711 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
2712 (ubsan_expand_vptr_ifn): New prototype.
2713 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
2714 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
2715 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
2716 expand_LOOP_VECTORIZED): Make argument nameless, remove
2717 ATTRIBUTE_UNUSED.
2718 (expand_UBSAN_VPTR): New function.
2719 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
2720 in fn spec.
2721 (UBSAN_VPTR): New internal function.
2722 * sanopt.c (tree_map_traits): Renamed to ...
2723 (sanopt_tree_map_traits): ... this.
2724 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
2725 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
2726 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
2727 (maybe_optimize_ubsan_vptr_ifn): New function.
2728 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
2729 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
2730 -fsanitize=vptr.
2731 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
2732 internal calls like pure functions for aliasing, even when they
2733 have other side-effects that prevent making them ECF_PURE.
2734 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
2735 (ubsan_expand_vptr_ifn): New function.
2736
d1457701
VM
27372015-01-15 Vladimir Makarov <vmakarov@redhat.com>
2738
2739 PR rtl-optimization/64110
2740 * stmt.c (parse_output_constraint): Process '^' and '$'.
2741 (parse_input_constraint): Ditto.
2742 * lra-constraints.c (process_alt_operands): Process the new
2743 constraints.
2744 * ira-costs.c (record_reg_classes): Process the new constraint
2745 '^'.
2746 * genoutput.c (indep_constraints): Add '^' and '$'.
2747 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
2748 * doc/md.texi: Add description of the new constraints.
2749
41dbbb37
TS
27502015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2751 Bernd Schmidt <bernds@codesourcery.com>
2752 Cesar Philippidis <cesar@codesourcery.com>
2753 James Norris <jnorris@codesourcery.com>
2754 Tom de Vries <tom@codesourcery.com>
2755 Ilmir Usmanov <i.usmanov@samsung.com>
2756 Dmitry Bocharnikov <dmitry.b@samsung.com>
2757 Evgeny Gavrin <e.gavrin@samsung.com>
2758 Jakub Jelinek <jakub@redhat.com>
2759
2760 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
2761 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2762 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2763 New function types.
2764 * builtins.c: Include "gomp-constants.h".
2765 (expand_builtin_acc_on_device): New function.
2766 (expand_builtin, is_inexpensive_builtin): Handle
2767 BUILT_IN_ACC_ON_DEVICE.
2768 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
2769 New macros.
2770 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
2771 flag_openmp.
2772 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
2773 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
2774 i386/intelmic-offload.h.
2775 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
2776 to libgomp and its dependencies.
2777 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
2778 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
2779 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
2780 * config/ia64/hpux.h (LIB_SPEC): Likewise.
2781 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
2782 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
2783 * doc/generic.texi: Update for OpenACC changes.
2784 * doc/gimple.texi: Likewise.
2785 * doc/invoke.texi: Likewise.
2786 * doc/sourcebuild.texi: Likewise.
2787 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
2788 GF_OMP_FOR_KIND_OACC_LOOP.
2789 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
2790 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
2791 GF_OMP_TARGET_KIND_OACC_UPDATE,
2792 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
2793 Dump more data.
2794 * gimple.c: Update comments for OpenACC changes.
2795 * gimple.def: Likewise.
2796 * gimple.h: Likewise.
2797 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
2798 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
2799 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
2800 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
2801 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
2802 appropriate place.
2803 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
2804 * gimplify.c: Include "gomp-constants.h".
2805 Update comments for OpenACC changes.
2806 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
2807 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
2808 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
2809 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
2810 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
2811 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
2812 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
2813 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
2814 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
2815 OMP_CLAUSE_SEQ.
2816 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
2817 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
2818 OMP_CLAUSE_SET_MAP_KIND.
2819 (gimplify_oacc_cache): New function.
2820 (gimplify_omp_for): Handle OACC_LOOP.
2821 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
2822 OACC_DATA.
2823 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
2824 OACC_EXIT_DATA, OACC_UPDATE.
2825 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
2826 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
2827 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
2828 (gimplify_body): Consider flag_openacc next to flag_openmp.
2829 * lto-streamer-out.c: Include "gomp-constants.h".
2830 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
2831 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
2832 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
2833 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
2834 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
2835 (BUILT_IN_ACC_ON_DEVICE): New builtins.
2836 * omp-low.c: Include "gomp-constants.h".
2837 Update comments for OpenACC changes.
2838 (struct omp_context): Add reduction_map, gwv_below, gwv_this
2839 members.
2840 (extract_omp_for_data, use_pointer_for_field, install_var_field)
2841 (new_omp_context, delete_omp_context, scan_sharing_clauses)
2842 (create_omp_child_function, scan_omp_for, scan_omp_target)
2843 (check_omp_nesting_restrictions, lower_reduction_clauses)
2844 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
2845 Update for OpenACC changes.
2846 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
2847 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
2848 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
2849 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
2850 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
2851 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
2852 OMP_CLAUSE_MAP_*.
2853 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
2854 Handle GF_OMP_FOR_KIND_OACC_LOOP.
2855 (expand_omp_target, lower_omp_target): Handle
2856 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
2857 GF_OMP_TARGET_KIND_OACC_UPDATE,
2858 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
2859 GF_OMP_TARGET_KIND_OACC_DATA.
2860 (pass_expand_omp::execute, execute_lower_omp)
2861 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
2862 flag_openmp.
2863 (offload_symbol_decl): New variable.
2864 (oacc_get_reduction_array_id, oacc_max_threads)
2865 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
2866 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
2867 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
2868 (oacc_gimple_assign, oacc_initialize_reduction_data)
2869 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
2870 functions.
2871 (is_targetreg_ctx): Remove function.
2872 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
2873 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
2874 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
2875 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
2876 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
2877 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
2878 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
2879 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
2880 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
2881 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
2882 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
2883 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
2884 * tree-core.h: Update comments for OpenACC changes.
2885 (enum omp_clause_map_kind): Remove.
2886 (struct tree_omp_clause): Change type of map_kind member from enum
2887 omp_clause_map_kind to unsigned char.
2888 * tree-inline.c: Update comments for OpenACC changes.
2889 * tree-nested.c: Likewise. Include "gomp-constants.h".
2890 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
2891 (convert_tramp_reference_stmt, convert_gimple_call): Update for
2892 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
2893 OMP_CLAUSE_SET_MAP_KIND.
2894 * tree-pretty-print.c: Include "gomp-constants.h".
2895 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
2896 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
2897 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
2898 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
2899 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
2900 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
2901 instead of OMP_CLAUSE_MAP_*.
2902 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
2903 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
2904 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
2905 * tree-streamer-in.c: Include "gomp-constants.h".
2906 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
2907 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
2908 * tree-streamer-out.c: Include "gomp-constants.h".
2909 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
2910 OMP_CLAUSE_MAP_*.
2911 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
2912 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
2913 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
2914 * tree.c (omp_clause_num_ops): Update accordingly.
2915 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
2916 Likewise.
2917 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
2918 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
2919 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
2920 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
2921 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
2922 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
2923 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
2924 (OMP_CLAUSE_SET_MAP_KIND): New macro.
2925 * varpool.c (varpool_node::get_create): Consider flag_openacc next
2926 to flag_openmp.
2927 * config/i386/intelmic-offload.h: New file.
2928 * config/nvptx/offload.h: Likewise.
2929
548c43e7
PK
29302015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2931
2932 * explow.h: Remove duplicate contents.
2933 * dojump.h: Likewise.
2934
7c21d0ff
RE
29352015-01-15 Richard Earnshaw <rearnsha@arm.com>
2936
2937 * arm.c (arm_xgene_tune): Add default initializer for instruction
2938 fusion.
2939
c23127ce
ML
29402015-01-15 Jan Hubicka <hubicka@ucw.cz>
2941
2942 PR ipa/64068
2943 PR ipa/64559
2944 * ipa.c (symbol_table::remove_unreachable_nodes):
2945 Do not put abstract origins into boundary.
2946
40d54d24
ES
29472015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
2948
2949 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
2950 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
6fb5f2f5 2951
40d54d24 29522015-01-15 Steve Ellcey <sellcey@mips.com>
869b656c 2953
6fb5f2f5
SE
2954 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
2955 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
869b656c 2956 builtins.def, and chkp-builtins.def.
6fb5f2f5 2957
63e533ec 29582015-01-15 David Edelsohn <dje.gcc@gmail.com>
34a8f242
DE
2959
2960 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
2961 ISA 2.7 (POWER8).
2962
42c6b3ca
RB
29632015-01-15 Richard Biener <rguenther@suse.de>
2964
2965 PR tree-optimization/61743
2966 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
2967 information on PHIs for some simple cases.
2968
cd3246ea
PT
29692015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2970
2971 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
2972 Include xgene1.md.
2973 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
2974 * config/arm/arm-cores.def (xgene1): New entry.
2975 * config/arm/arm-tables.opt: Regenerate.
2976 * config/arm/arm-tune.md: Regenerate.
2977 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
2978
e9d5a1a0
YR
29792015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
2980
2981 * tree-if-conv.c: Include hash-map.h.
2982 (aggressive_if_conv): New variable.
2983 (fold_build_cond_expr): Add simplification of non-zero condition.
2984 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
2985 destination block is not always executed.
2986 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
2987 than two predecessors if AGGRESSIVE_IF_CONV is true.
2988 (if_convertible_stmt_p): Fix commentary.
2989 (all_preds_critical_p): New function.
2990 (has_pred_critical_p): New function.
2991 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
2992 BB can have more than two predecessors and all incoming edges can be
2993 critical.
2994 (predicate_bbs): Skip predication for loop exit block, use build2_loc
2995 to compute predicate for true edge.
2996 (find_phi_replacement_condition): Delete this function.
2997 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
2998 Allow interchange PHI arguments if EXTENDED is false.
2999 Change check that block containing reduction statement candidate
3000 is predecessor of phi-block since phi may have more than two arguments.
3001 (phi_args_hash_traits): New helper structure.
3002 (struct phi_args_hash_traits): New type.
3003 (phi_args_hash_traits::hash): New function.
3004 (phi_args_hash_traits::equal_keys): New function.
3005 (gen_phi_arg_condition): New function.
3006 (predicate_scalar_phi): Add handling of phi nodes with more than two
3007 arguments, delete COND and TRUE_BB arguments, insert body of
3008 find_phi_replacement_condition to predicate ordinary phi nodes.
3009 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
3010 delete call of find_phi_replacement_condition and invoke
3011 predicate_scalar_phi with two arguments.
3012 (insert_gimplified_predicates): Add assert that non-predicated block
3013 don't have statements to insert.
3014 (ifcvt_split_critical_edges): New function.
3015 (ifcvt_split_def_stmt): Likewise.
3016 (ifcvt_walk_pattern_tree): Likewise.
3017 (stmt_is_root_of_bool_pattern): Likewise.
3018 (ifcvt_repair_bool_pattern): Likewise.
3019 (ifcvt_local_dce): Likewise.
3020 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
3021 is copy of inner or outer loop force_vectorize field, invoke
3022 ifcvt_split_critical_edges, ifcvt_local_dce and
3023 ifcvt_repair_bool_pattern for aggressive if-conversion.
3024
a0f06fc9
PT
30252015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
3026
3027 * config/aarch64/aarch64.md: Include xgene1.md.
3028 * config/aarch64/xgene1.md: New file.
3029
381e27aa
PT
30302015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3031
3032 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
3033 xgene1 (APM XGene-1) core definition.
3034 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
3035 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
3036 * doc/invoke.texi: Document -mcpu=xgene1.
3037
f84b87aa 30382015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
36566b39
PK
3039
3040 * dojump.h: New header file.
3041 * explow.h: Likewise.
3042 * expr.h: Remove includes.
3043 Move expmed.c prototypes to expmed.h.
3044 Move dojump.c prototypes to dojump.h.
3045 Move alias.c prototypes to alias.h.
3046 Move explow.c prototypes to explow.h.
3047 Move calls.c prototypes to calls.h.
3048 Move emit-rtl.c prototypes to emit-rtl.h.
3049 Move varasm.c prototypes to varasm.h.
3050 Move stmt.c prototypes to stmt.h.
3051 (saved_pending_stack_adjust): Move to dojump.h.
3052 (adjust_address): Move to explow.h.
3053 (adjust_address_nv): Move to emit-rtl.h.
3054 (adjust_bitfield_address): Likewise.
3055 (adjust_bitfield_address_size): Likewise.
3056 (adjust_bitfield_address_nv): Likewise.
3057 (adjust_automodify_address_nv): Likewise.
3058 * explow.c (expr_size): Move to expr.c.
3059 (int_expr_size): Likewise.
3060 (tree_expr_size): Likewise.
3061 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3062 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
f84b87aa
UB
3063 * genemit.c (main): Generate includes statistics.h, real.h,
3064 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
36566b39 3065 stmt.h.
f84b87aa
UB
3066 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
3067 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
3068 explow.h, emit-rtl.h, stmt.h.
36566b39
PK
3069 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
3070 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
f84b87aa
UB
3071 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
3072 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
3073 emit-rtl.h, varasm.h, stmt.h.
3074 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
3075 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
3076 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
3077 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
3078 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
36566b39
PK
3079 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
3080 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
3081 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
3082 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
3083 tm.h tree.h varasm.h vec.h wide-int.h.
3084 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
3085 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
3086 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
3087 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
f84b87aa
UB
3088 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
3089 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
3090 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
36566b39 3091 * loop-iv.c: Likewise.
f84b87aa
UB
3092 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
3093 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
36566b39
PK
3094 statistics.h stmt.h tree.h varasm.h wide-int.h.
3095 * lra-constraints.c: Likewise.
3096 * lra-eliminations.c: Likewise.
3097 * lra-lives.c: Likewise.
3098 * lra-remat.c: Likewise.
3099 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
3100 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
3101 statistics.h stmt.h tree.h varasm.h wide-int.h.
3102 * hw-doloop.c: Likewise.
3103 * ira-color.c: Likewise.
3104 * ira-emit.c: Likewise.
3105 * loop-doloop.c: Likewise.
3106 * loop-invariant.c: Likewise.
3107 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
3108 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
3109 statistics.h stmt.h tree.h varasm.h wide-int.h.
f84b87aa
UB
3110 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
3111 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
3112 statistics.h stmt.h tree.h varasm.h wide-int.h.
36566b39
PK
3113 * combine-stack-adj.c: Likewise.
3114 * cse.c: Likewise.
3115 * ddg.c: Likewise.
3116 * ifcvt.c: Likewise.
3117 * ira-costs.c: Likewise.
3118 * jump.c: Likewise.
3119 * lra-coalesce.c: Likewise.
3120 * lra-spills.c: Likewise.
3121 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
3122 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
3123 stmt.h varasm.h wide-int.h.
3124 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
3125 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
3126 varasm.h.
3127 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
3128 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
3129 statistics.h stmt.h varasm.h wide-int.h.
3130 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
3131 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
3132 varasm.h wide-int.h.
3133 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
3134 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
3135 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
3136 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
3137 statistics.h stmt.h.
3138 * config/tilepro/tilepro.c: Likewise.
3139 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
3140 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
3141 * config/pdp11/pdp11.c: Likewise.
3142 * config/xtensa/xtensa.c: Likewise.
3143 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
3144 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
3145 varasm.h.
3146 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3147 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
3148 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
3149 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3150 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
3151 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
3152 * rtl-chkp.c: Likewise.
3153 * tree-chkp-opt.c: Likewise.
f84b87aa
UB
3154 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
3155 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
3156 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
36566b39
PK
3157 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3158 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
3159 statistics.h stmt.h.
3160 * tree-vect-data-refs.c: Likewise.
3161 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
3162 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
3163 rtl.h statistics.h stmt.h varasm.h.
3164 * internal-fn.c: Likewise.
3165 * ipa-icf-gimple.c: Likewise.
3166 * lto-section-out.c: Likewise.
3167 * tree-data-ref.c: Likewise.
3168 * tree-nested.c: Likewise.
3169 * tree-outof-ssa.c: Likewise.
3170 * tree-predcom.c: Likewise.
3171 * tree-pretty-print.c: Likewise.
3172 * tree-scalar-evolution.c: Likewise.
3173 * tree-ssa-strlen.c: Likewise.
3174 * tree-vect-loop.c: Likewise.
3175 * tree-vect-patterns.c: Likewise.
3176 * tree-vect-slp.c: Likewise.
3177 * tree-vect-stmts.c: Likewise.
3178 * tsan.c: Likewise.
3179 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3180 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
3181 stmt.h.
3182 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
3183 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
3184 statistics.h stmt.h varasm.h.
3185 * loop-unroll.c: Likewise.
3186 * ubsan.c: Likewise.
3187 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
3188 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
3189 stmt.h varasm.h.
3190 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3191 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
3192 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
3193 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
3194 statistics.h stmt.h.
3195 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
3196 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
3197 statistics.h stmt.h varasm.h.
3198 * gimple-match-head.c: Likewise.
3199 * lto-cgraph.c: Likewise.
3200 * lto-section-in.c: Likewise.
3201 * lto-streamer-in.c: Likewise.
3202 * lto-streamer-out.c: Likewise.
3203 * tree-affine.c: Likewise.
3204 * tree-cfg.c: Likewise.
3205 * tree-cfgcleanup.c: Likewise.
3206 * tree-if-conv.c: Likewise.
3207 * tree-into-ssa.c: Likewise.
3208 * tree-ssa-alias.c: Likewise.
3209 * tree-ssa-copyrename.c: Likewise.
3210 * tree-ssa-dse.c: Likewise.
3211 * tree-ssa-forwprop.c: Likewise.
3212 * tree-ssa-live.c: Likewise.
3213 * tree-ssa-math-opts.c: Likewise.
3214 * tree-ssa-pre.c: Likewise.
3215 * tree-ssa-sccvn.c: Likewise.
3216 * tree-tailcall.c: Likewise.
3217 * tree-vect-generic.c: Likewise.
3218 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3219 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
3220 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3221 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
3222 * varasm.c: Likewise.
3223 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3224 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
3225 varasm.h.
3226 * init-regs.c: Likewise.
3227 * ira.c: Likewise.
3228 * omp-low.c: Likewise.
3229 * stack-ptr-mod.c: Likewise.
3230 * tree-ssa-reassoc.c: Likewise.
3231 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3232 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
3233 varasm.h.
3234 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3235 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
3236 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3237 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
3238 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3239 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
3240 * tree-ssa-phiopt.c: Likewise.
3241 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3242 fixed-value.h hashtab.h real.h statistics.h stmt.h.
3243 * config/fr30/fr30.c: Likewise.
3244 * config/frv/frv.c: Likewise.
3245 * expr.c: Likewise.
3246 * final.c: Likewise.
3247 * optabs.c: Likewise.
3248 * passes.c: Likewise.
3249 * simplify-rtx.c: Likewise.
3250 * stmt.c: Likewise.
3251 * toplev.c: Likewise.
3252 * var-tracking.c: Likewise.
3253 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3254 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
3255 * lower-subreg.c: Likewise.
3256 * postreload-gcse.c: Likewise.
3257 * ree.c: Likewise.
3258 * reginfo.c: Likewise.
3259 * store-motion.c: Likewise.
3260 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3261 fixed-value.h hashtab.h real.h stmt.h varasm.h.
3262 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3263 fixed-value.h hashtab.h statistics.h stmt.h.
3264 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3265 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
3266 * except.c: Likewise.
3267 * explow.c: Likewise.
3268 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3269 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
3270 varasm.h.
3271 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3272 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
3273 * tree-ssa-structalias.c: Likewise.
3274 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3275 fixed-value.h insn-config.h real.h statistics.h.
3276 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3277 fixed-value.h insn-config.h real.h statistics.h stmt.h.
3278 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3279 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
3280 * cfgbuild.c: Likewise.
3281 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3282 fixed-value.h real.h rtl.h statistics.h stmt.h.
3283 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3284 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
3285 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3286 fixed-value.h real.h statistics.h stmt.h.
3287 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
3288 fixed-value.h real.h statistics.h stmt.h varasm.h.
3289 * cprop.c: Likewise.
3290 * modulo-sched.c: Likewise.
3291 * postreload.c: Likewise.
3292 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
3293 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
3294 statistics.h stmt.h varasm.h.
3295 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
3296 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
3297 rtl.h statistics.h stmt.h varasm.h.
3298 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
3299 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
3300 varasm.h.
3301 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
3302 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
3303 varasm.h.
3304 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
3305 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
3306 varasm.h.
3307 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
3308 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
3309 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
3310 function.h real.h statistics.h stmt.h varasm.h.
3311 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
3312 insn-config.h real.h statistics.h stmt.h.
3313 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
3314 statistics.h stmt.h.
3315 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
3316 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
3317 statistics.h stmt.h varasm.h.
f84b87aa
UB
3318 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
3319 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
36566b39
PK
3320 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
3321 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
3322 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
3323 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
3324 statistics.h stmt.h varasm.h.
3325 * ipa-polymorphic-call.c: Likewise.
f84b87aa 3326 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
36566b39 3327 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
f84b87aa
UB
3328 statistics.h stmt.h.
3329 * config/c6x/c6x.c: Likewise.
3330 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
3331 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36566b39 3332 statistics.h stmt.h varasm.h.
f84b87aa
UB
3333 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
3334 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
3335 stmt.h varasm.h.
36566b39
PK
3336 * ipa-split.c: Likewise.
3337 * tree-eh.c: Likewise.
3338 * tree-ssa-dce.c: Likewise.
3339 * tree-ssa-loop-niter.c: Likewise.
3340 * tree-vrp.c: Likewise.
3341 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
3342 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
3343 stmt.h.
3344 * config/nds32/nds32-fp-as-gp.c: Likewise.
3345 * config/nds32/nds32-intrinsic.c: Likewise.
3346 * config/nds32/nds32-isr.c: Likewise.
3347 * config/nds32/nds32-md-auxiliary.c: Likewise.
3348 * config/nds32/nds32-memory-manipulation.c: Likewise.
3349 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
3350 * config/nds32/nds32-predicates.c: Likewise.
3351 * config/nds32/nds32.c: Likewise.
3352 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
3353 fixed-value.h hashtab.h real.h statistics.h.
3354 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
3355 fixed-value.h hashtab.h real.h statistics.h stmt.h.
3356 * config/arm/arm.c: Likewise.
3357 * config/avr/avr.c: Likewise.
3358 * config/bfin/bfin.c: Likewise.
3359 * config/h8300/h8300.c: Likewise.
3360 * config/i386/i386.c: Likewise.
3361 * config/ia64/ia64.c: Likewise.
3362 * config/iq2000/iq2000.c: Likewise.
3363 * config/m32c/m32c.c: Likewise.
3364 * config/m32r/m32r.c: Likewise.
3365 * config/m68k/m68k.c: Likewise.
3366 * config/mcore/mcore.c: Likewise.
3367 * config/mep/mep.c: Likewise.
3368 * config/mips/mips.c: Likewise.
3369 * config/mn10300/mn10300.c: Likewise.
3370 * config/moxie/moxie.c: Likewise.
3371 * config/pa/pa.c: Likewise.
3372 * config/rl78/rl78.c: Likewise.
3373 * config/rx/rx.c: Likewise.
3374 * config/s390/s390.c: Likewise.
3375 * config/sh/sh.c: Likewise.
3376 * config/sparc/sparc.c: Likewise.
3377 * config/spu/spu.c: Likewise.
3378 * config/stormy16/stormy16.c: Likewise.
3379 * config/v850/v850.c: Likewise.
3380 * config/vax/vax.c: Likewise.
3381 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
3382 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
3383 * config/msp430/msp430.c: Likewise.
3384 * predict.c: Likewise.
3385 * value-prof.c: Likewise.
3386 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
3387 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
3388 * config/microblaze/microblaze.c: Likewise.
3389 * config/nios2/nios2.c: Likewise.
3390 * config/rs6000/rs6000.c: Likewise.
3391 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
3392 insn-config.h real.h rtl.h statistics.h stmt.h.
3393 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
3394 insn-config.h real.h statistics.h stmt.h.
3395 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
3396 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
3397 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
3398 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
f84b87aa
UB
3399 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
3400 fixed-value.h real.h statistics.h stmt.h.
36566b39
PK
3401 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
3402 fixed-value.h statistics.h stmt.h.
3403 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
3404 stmt.h.
3405
e54bd4ab
JJ
34062015-01-15 Jakub Jelinek <jakub@redhat.com>
3407
3408 * gengtype.c (create_user_defined_type): Workaround
3409 -Wmaybe-uninitialized false positives.
3410 * cse.c (fold_rtx): Likewise.
3411 * loop-invariant.c (gain_for_invariant): Likewise.
3412
3aabdc00
EB
34132015-01-15 Eric Botcazou <ebotcazou@adacore.com>
3414
3415 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
3416 set the memory attributes in all cases but clear MEM_EXPR if need be.
3417
d2626c0b
YR
34182015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
3419
3420 PR tree-optimization/64434
3421 * cfgexpand.c (reorder_operands): New function.
3422 (expand_gimple_basic_block): Insert call of reorder_operands if
3423 optimized is true.
3424
2c3bcf47
MF
34252015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
3426
3427 * config/mips/micromips.md (*swp): Remove explicit parallel.
3428 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
3429 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
3430 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
3431 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
3432 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
3433 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
3434 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
3435 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
3436 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
3437 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
3438 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
3439 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
3440 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
3441 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
3442 (mips_wrdsp): Likewise.
3443 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
3444 parallel.
3445 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
3446 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
3447 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
3448 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
3449 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
3450 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
3451 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
3452 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
3453 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
3454
954bdd58
MF
34552015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
3456
3457 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
3458 (mips_print_operand): Support 'y' to print exact log2 in decimal
3459 of a const_int.
3460 * config/mips/mips.h (ISA_HAS_LSA): New define.
3461 (ISA_HAS_DLSA): Likewise.
3462 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
3463 * config/mips/predicates.md (const_immlsa_operand): New predicate.
3464
5e306f6e
ML
34652015-01-15 Martin Liska <mliska@suse.cz>
3466
3467 PR target/64377
3468 * optc-save-gen.awk: Add support for array types.
3469
d679e96b
RB
34702015-01-15 Richard Biener <rguenther@suse.de>
3471
3472 PR middle-end/64365
3473 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
3474 for MEM_REF access functions with the same base can never partially
3475 overlap.
3476
5434dc07
MD
34772015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
3478
3479 * common.opt: New option -fstack-protector-explicit.
3480 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
3481 (stack_protect_decl_phase): Handle stack_protect attribute for
3482 explicit stack protection requests.
3483 (expand_used_vars): Similarly.
3484 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
3485 * doc/extend.texi: Add documentation for "stack_protect" attribute.
3486 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
3487
83e3f98b
OE
34882015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
3489
3490 PR target/53988
3491 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
3492 reg-reg copies.
3493 (sh_extending_set_of_reg): New struct.
3494 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
3495 sh_remove_reg_dead_or_unused_notes): New Declarations.
3496 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
3497 sh_find_extending_set_of_reg, sh_split_tst_subregs,
3498 sh_extending_set_of_reg::use_as_extended_reg): New functions.
3499 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
3500 convert to insn_and_split and use new function sh_split_tst_subregs.
3501
ce2c3163
SL
35022015-01-14 Sandra Loosemore <sandra@codesourcery.com>
3503
3504 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
3505 option.
3506 (Optimization Options): Move -fuse-ld documentation to...
3507 (Link Options): ...here.
3508
047b52f6
MF
35092015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
3510
3511 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
3512 offsets.
3513 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
3514 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
3515 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
3516 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
3517 instead of ZR for the memory operand of LL/SC.
3518 (compare_and_swap_12, sync_add<mode>): Likewise.
3519 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
3520 (sync_new_<optab>_12, sync_nand_12): Likewise.
3521 (sync_old_nand_12, sync_new_nand_12): Likewise.
3522 (sync_sub<mode>, sync_old_add<mode>): Likewise.
3523 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
3524 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
3525 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
3526 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
3527 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
3528 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
3529 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
3530 * doc/md.texi (ZC): Update description.
3531
77df5327
AM
35322015-01-14 Andrew MacLeod <amacleod@redhat.com>
3533
3534 * builtins.c (expand_builtin_atomic_exchange): Remove error when
3535 memory model is CONSUME.
3536 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
3537 expand_builtin_atomic_store): Change invalid memory model errors to
3538 warnings.
3539 (expand_builtin_atomic_clear): Change invalid model errors to warnings
3540 and issue warning for CONSUME.
3541
2ead7928
AH
35422015-01-14 Aldy Hernandez <aldyh@redhat.com>
3543
3544 * lto-cgraph: Update function comments for
3545 lto_symtab_encoder_encode_*.
3546
3b6e42f9
IV
35472015-01-14 Ilya Verbin <ilya.verbin@intel.com>
3548
3549 * Makefile.in (site.exp): Do not set ENABLE_LTO.
3550
837bac8c
IV
35512015-01-14 Ilya Verbin <ilya.verbin@intel.com>
3552
3553 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
3554 * lto-cgraph.c (select_what_to_stream): Remove argument, use
3555 lto_stream_offload_p instead.
3556 * lto-streamer.h (select_what_to_stream): Remove argument.
3557 * passes.c (ipa_write_summaries): Likewise.
3558 * tree-pass.h (ipa_write_summaries): Likewise.
3559
7ef95f9c
RB
35602015-01-14 Richard Biener <rguenther@suse.de>
3561
3562 PR tree-optimization/59354
3563 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
3564 groups larger than the slp group size as having gaps.
3565
8673b671
AM
35662015-01-14 Andrew MacLeod <amacleod@redhat.com>
3567
3568 PR middle-end/59448
3569 * builtins.c (get_memmodel): Promote consume to acquire always.
3570
2f6c116d 35712015-01-14 Ilya Tocar <ilya.tocar@intel.com>
4b54ab97
IT
3572
3573 PR target/64386
3574 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
c8d7835b 3575 V32HImode.
4b54ab97 3576
2f6c116d 35772015-01-14 Ilya Tocar <ilya.tocar@intel.com>
c67917b6
IT
3578
3579 PR target/64393
3580 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
3581 Enable AVX512BW.
3582 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
3583 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
3584 AVX512VBMI, as it implies AVX512BW.
3585
2f6c116d 35862015-01-14 Ilya Tocar <ilya.tocar@intel.com>
110b7886
IT
3587
3588 PR target/64387
3589 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
3590 (vec_unpacks_hi_v16sf): Ditto.
3591
2a62514f
KT
35922015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3593
3594 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
3595 is not available.
3596
3bbbd3ee
KT
35972015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3598
3599 * doc/invoke.texi (mapcs): Mention deprecation.
3600 (mapcs-frame): Likewise.
3601
6f0a6218
TP
36022015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
3603
3604 PR target/64453
3605 * config/arm/arm.c (callee_saved_reg_p): Define.
3606 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
3607 register is callee saved instead of !call_used_regs[reg].
3608 (thumb1_compute_save_reg_mask): Likewise.
3609
6af2585d
HW
36102015-01-14 Hale Wang <hale.wang@arm.com>
3611
3612 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
3613 Cortex-M7.
3614
683750ce
RB
36152015-01-14 Richard Biener <rguenther@suse.de>
3616
3617 PR lto/64415
3618 * tree-inline.c (insert_debug_decl_map): Check destination
3619 function MAY_HAVE_DEBUG_STMTS.
3620 (insert_init_debug_bind): Likewise.
3621 (insert_init_stmt): Remove redundant check.
3622 (remap_gimple_stmt): Drop debug stmts if the destination
3623 function has var-tracking assignments disabled.
3624
217c08c5
ML
36252015-01-14 Martin Liska <mliska@suse.cz>
3626
3627 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
3628 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
3629
ca39a43a
KT
36302015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3631
3632 PR target/64460
3633 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
3634 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
3635
fcd7669c
MF
36362015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
3637
622ef5da
MF
3638 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
3639 level from an ARCH; do not inject the default.
3640 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
3641 MIPS_ISA_LEVEL_SPEC.
3642 (MIPS_ISA_NAN2008_SPEC): Update comment.
3643 (BASE_DRIVER_SELF_SPECS): Likewise.
3644 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
3645 MIPS_DEFAULT_ISA_LEVEL_SPEC.
3646 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
3647 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
3648 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
fcd7669c 3649
46b622cc
RB
36502015-01-14 Richard Biener <rguenther@suse.de>
3651
3652 PR tree-optimization/64493
3653 PR tree-optimization/64495
3654 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
3655 assign the proper vectorized PHI to the inner loop exit PHIs.
3656
f7d2b513
JY
36572015-01-14 Joey Ye <joey.ye@arm.com>
3658
3659 * config/arm/arm.c (arm_compute_save_reg_mask):
3660 Do not save lr in case of tail call.
3661 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
3662
63e533ec 36632015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
3664
3665 * tree-vrp.c (check_array_ref): Emit more warnings
3666 for warn_array_bounds >= 2.
3667 * common.opt: New option -Warray-bounds=.
3668 * doc/invoke.texi: Document -Warray-bounds=.
3669
2ca1ca65
CJW
36702015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
3671
3672 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
3673 (mforbid-fp-as-gp): Remove.
3674 (mex9): Remove.
3675 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
3676 (nds32_symbol_load_store_p): Remove.
3677 (nds32_fp_as_gp_check_available): Clean up implementation.
3678 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
3679 cases.
3680 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
3681 fp-as-gp and ex9 cases.
3682
c02ae3ae
JH
36832015-01-13 Jan Hubicka <hubicka@ucw.cz>
3684
3685 * tree-profile.c (init_ic_make_global_vars): Drop workaround
3686 for bintuils bug 14342.
3687 (init_ic_make_global_vars): Likewise.
3688 (gimple_init_edge_profiler): Likewise.
3689 (gimple_gen_ic_func_profiler): Likewise.
3690
f7d2b513 36912015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
9e145afd
N
3692
3693 * ipa-inline.c (inline_small_functions): Swap the operands in
3694 enum.
3695
0d92b555
JH
36962015-01-13 Jan Hubicka <hubicka@ucw.cz>
3697
3698 PR ipa/64481
3699 * ipa-inline-analysis.c (node_growth_cache): Remove.
3700 (initialize_growth_caches): Do not initialize it.
3701 (free_growth_caches): Do not free it.
3702 (do_estimate_growth): Rename to ...
3703 (estimate_growth): ... this one; drop growth cache code.
3704 (growth_likely_positive): Always go the heuristics way.
3705 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
3706 (reset_edge_caches): Do not reset node growth.
3707 (heap_edge_removal_hook): Do not maintain cache.
3708 (inline_small_functions): Likewise; strenghten sanity check.
3709 (ipa_inline): Do not maintain caches.
3710 * ipa-inline.h (node_growth_cache): Remove.
3711 (do_estimate_growth): Remove to ...
3712 (estimate_growth): this one; remove inline version.
3713 (reset_node_growth_cache): Remove.
3714
2001028a
JH
37152015-01-13 Jan Hubicka <hubicka@ucw.cz>
3716
3717 PR ipa/64565
3718 * ipa-inline.c (inline_small_functions): Update callee keys after
3719 resolving speculation
3720 (inline_small_functions): Always check monotonicity of the queue.
3721
59b8926c
MP
37222015-01-13 Marek Polacek <polacek@redhat.com>
3723
3724 PR middle-end/64391
3725 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
3726
860dadcb
JJ
37272015-01-13 Jakub Jelinek <jakub@redhat.com>
3728
3729 PR rtl-optimization/64286
3730 * ree.c (combine_reaching_defs): Move part of comment earlier,
3731 remove !SCALAR_INT_MODE_P check.
3732 (add_removable_extension): Don't add vector mode
3733 extensions if all uses of the source register aren't the same
3734 vector extensions.
3735
41197ad4
RL
37362015-01-13 Renlin Li <renlin.li@arm.com>
3737
3738 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
3739 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
3740
eaabbb00
ML
37412015-01-13 Martin Liska <mliska@suse.cz>
3742
3743 * ipa-icf.c (sem_function::equals_private): Call new functions
3744 cl_target_option_print_diff and cl_optimization_print_diff.
3745 * optc-save-gen.awk (cl_target_option_print_diff): New function.
3746 (cl_optimization_print_diff): Likewise.
3747 * opth-gen.awk: Likewise.
3748
7eb8fb77
RS
37492015-01-13 Richard Sandiford <richard.sandiford@arm.com>
3750
3751 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
3752 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
3753 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
3754 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
3755 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
3756 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
3757
1f46bd52
AP
37582015-01-13 Andrew Pinski <apinski@cavium.com>
3759
3760 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
c8d7835b 3761 instead of src mode.
1f46bd52 3762
e0ffb247
RB
37632015-01-13 Richard Biener <rguenther@suse.de>
3764
3765 PR lto/64373
3766 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
3767 DECL_CONTEXT.
3768
bf84ac44
AP
37692015-01-13 Andrew Pinski <apinski@cavium.com>
3770
3771 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
3772 volatile mems.
3773 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
3774
08cb0abc
JJ
37752015-01-13 Jakub Jelinek <jakub@redhat.com>
3776
3777 PR middle-end/63974
3778 * cfgexpand.c (expand_computed_goto): Don't call
3779 convert_memory_address here.
3780
d0ed943c
RB
37812015-01-13 Richard Biener <rguenther@suse.de>
3782
3783 PR tree-optimization/64406
3784 * tree-loop-distibution.c (pass_loop_distribution::execute):
3785 Reset the SCEV hashtable if we distributed anything.
3786
96bb56b2
RB
37872015-01-13 Richard Biener <rguenther@suse.de>
3788
3789 PR tree-optimization/64404
3790 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
3791 SLP types for CSEd loads.
3792
af410c4c
TP
37932015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3794
3795 PR tree-optimization/64436
3796 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
3797 merge of two symbolic numbers for a bitwise OR to ...
3798 (perform_symbolic_merge): This. Also fix computation of the range and
3799 end of the symbolic number corresponding to the result of a bitwise OR.
3800
63e533ec 38012015-01-13 Richard Biener <rguenther@suse.de>
a2d429ac
RB
3802
3803 PR tree-optimization/64568
3804 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
3805 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
3806
4855be84
CJW
38072015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
3808
3809 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
3810 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
3811
511a41d7
CJW
38122015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
3813
3814 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
3815 target-specific symbol_ref flag.
3816 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
3817 resides in rodata section.
3818 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
3819 (nds32_encode_section_info): New function.
3820
1f7b8028
CJW
38212015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
3822
3823 * config/nds32/nds32.md (call): Use pseudo instruction bal which
3824 clobbers TA_REGNUM if large code model is specified.
3825 (call_register): Likewise.
3826 (call_immediate): Likewise.
3827 (call_value): Likewise.
3828 (call_value_register): Likewise.
3829 (call_value_immediate): Likewise.
3830
77b7a1ca
CJW
38312015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
3832
3833 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
3834 (TARGET_CMODEL_MEDIUM): New macro.
3835 (TARGET_CMODEL_LARGE): New macro.
3836 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
3837 code model setting in assembly code.
3838
c9eb51a7
CJW
38392015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
3840
3841 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
3842 Remove MASK_GP_DIRECT flag.
3843 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
3844 one of the multilib default options.
3845 * config/nds32/nds32.opt (mgp-direct): Remove.
3846 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
3847 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
3848
fe4c07dc
CJW
38492015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
3850
3851 * config/nds32/nds32.opt (mcmodel): Add new option.
3852 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
3853 to describe code model.
3854
d9a5f0cc
OE
38552015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
3856
3857 PR target/64479
3858 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
3859
801881b0
KK
38602015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
3861
3862 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
3863 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
3864 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
3865 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
3866 __builtin_sh_set_fpscr.
3867
16ba6203
SL
38682015-01-12 Sandra Loosemore <sandra@codesourcery.com>
3869
3870 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
3871 after a funtion name just to indicate it is a function.
3872 ([-fsanitize-undefined-trap-on-error]): Likewise.
3873 ([-fdbg-cnt=]): Likewise.
3874 ([-mmemcpy]): Likewise.
3875 ([-mflush-func]): Likewise.
3876 ([-msynci]): Likewise.
3877
3ae79bfd
SL
38782015-01-12 Sandra Loosemore <sandra@codesourcery.com>
3879
3880 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
3881 example.
c8d7835b 3882
aadb701b
JJ
38832015-01-12 Jakub Jelinek <jakub@redhat.com>
3884
737fde1d
JJ
3885 PR tree-optimization/64563
3886 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
3887 instead of != VR_VARYING.
3888
631b8d78
JJ
3889 PR target/64513
3890 * config/i386/i386.c (ix86_expand_prologue): Add
3891 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
3892
f51286f2
JJ
3893 PR tree-optimization/64454
3894 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
3895 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
3896 for signed or [0, op1 - 1] for unsigned modulo.
3897 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
3898 even if op1 does not satisfy integer_pow2p.
3899
aadb701b
JJ
3900 PR other/64370
3901 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
3902
f698a4b1
JL
39032015-01-12 Jeff Law <law@redhat.com>
3904
cfd02f69 3905 PR target/64461
1481bdb1
JL
3906 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
3907 (trunchiqi2, truncsihi2): Similarly.
3908
f698a4b1
JL
3909 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
3910 rather than calling F.
3911
020ca950
BE
39122015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3913
3914 * tsan.c (instrument_expr): Use force_gimple_operand.
3915 Use may_be_nonaddressable_p instead of is_gimple_addressable.
3916
62e22fcb
RB
39172015-01-12 Richard Biener <rguenther@suse.de>
3918
3919 PR tree-optimization/64530
3920 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
3921 back dr1.
3922
2a58c802
RB
39232015-01-12 Richard Biener <rguenther@suse.de>
3924
3925 PR middle-end/64357
3926 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
3927 latches properly.
3928
82ac9e41
KT
39292015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3930
3931 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
3932 Cortex-A17 tuning parameters.
3933 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
3934
8b898d4c
KT
39352015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3936
3937 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
3938 * config/arm/arm.c (arm_macro_fusion_p): New function.
3939 (arm_macro_fusion_pair_p): Likewise.
3940 (TARGET_SCHED_MACRO_FUSION_P): Define.
3941 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
3942 (ARM_FUSE_NOTHING): Likewise.
3943 (ARM_FUSE_MOVW_MOVT): Likewise.
3944 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
3945 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
3946 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
3947 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
3948 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
3949 arm_cortex_a5_tune): Specify fuseable_ops value.
3950
7b3592ee
L
39512015-01-12 H.J. Lu <hongjiu.lu@intel.com>
3952
3953 PR bootstrap/64561
3954 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
3955 test for PIE with copy reloc.
3956 * configure: Regenerated.
3957
57ceb728 39582015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
03d5d16a
KT
3959
3960 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
3961 in gen_rtx_REG.
3962 (arm_tls_descseq_addr): Likewise.
3963 (arm_gen_movmemqi): Likewise.
3964 (arm_expand_epilogue_apcs_frame): Likewise.
3965 (arm_expand_epilogue): Likewise.
3966 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
3967 in gen_rtx_REG.
3968
365536ca
ML
39692015-01-12 Martin Liska <mliska@suse.cz>
3970
3971 PR ipa/64550
3972 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
3973 volatility for correct operands.
3974
39752015-01-12 Martin Liska <mliska@suse.cz>
3976
3977 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
3978 that a function is not leaf.
3979 (sem_function::compare_polymorphic_p): Likewise.
3980
1c928ddc
ML
39812015-01-12 Martin Liska <mliska@suse.cz>
3982
3983 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
3984 that a function is not leaf.
3985 (sem_function::compare_polymorphic_p): Likewise.
3986
76478bf9
PK
39872015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3988
3989 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
3990 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
3991 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
3992 fold-const.h, tree-check.h.
3993
208e5afa
JH
39942015-01-12 Jan Hubicka <hubicka@ucw.cz>
3995
3996 PR ipa/63967
3997 PR ipa/64425
3998 * ipa-inline.c (compute_uninlined_call_time,
3999 compute_inlined_call_time): Use counts for extra precision when
4000 needed possible.
4001 (big_speedup_p): Fix formating.
4002 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
4003 (relative_time_benefit): Remove.
4004 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
4005 merge guessed and read profile paths.
4006 (inline_small_functions): Count only !optimize_size functions into
4007 initial size; be more lax about sanity check when profile is used;
4008 be sure to update inlined function profile when profile is read.
4009
d8d5aef1
JH
40102015-01-12 Jan Hubicka <hubicka@ucw.cz>
4011
4012 PR ipa/63470
4013 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
4014 cost when edge becomes direct.
4015 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
4016 is resolved or when introducing new speculation.
4017
9f54bf9c
CG
40182015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
4019
9f54bf9c
CG
4020 PR ipa/64551
4021 PR ipa/64552
4022 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
4023 '||' to fix typo issue.
4024
4025 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
4026 accept and return NULL.
4027
90988f77
ML
40282015-01-12 Martin Liska <mliska@suse.cz>
4029
4030 * cgraph.c (cgraph_edge::remove_callee): Move function to header
4031 file for being inlined.
4032 (cgraph_set_edge_callee): Delete.
4033 (cgraph_edge::redirect_callee): Move function to header file
4034 for being inlined.
4035 (cgraph_edge::make_direct): Use new function.
4036 (cgraph_edge::dump_edge_flags): New function created from
4037 static dump_edge_flags function.
4038 (cgraph_node::dump): Use new function.
4039 (cgraph_edge::verify_count_and_frequency): New function created
4040 from verify_edge_count_and_frequency.
4041 (cgraph_edge::verify_corresponds_to_fndecl): New function created
4042 from verify_edge_corresponds_to_fndecl.
4043 (verify_edge_corresponds_to_fndecl): Delete.
4044 (cgraph_node::verify_node): Use new function.
4045 * cgraph.h (cgraph_edge::set_callee): New function.
4046 (cgraph_edge::dump_edge_flags): Likewise.
4047 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
4048
e3bde69a
JH
40492015-01-11 Jan Hubicka <hubicka@ucw.cz>
4050
4051 * ipa-utils.c (estimate_function_body_sizes): Do not
4052 free node params when called late with early=true.
4053
2f9d3709
JG
40542015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
4055
4056 * doc/md.texi (Instruction Patterns): Rewrite text for
4057 clarity.
4058 (Example): Likewise.
4059
abaab34f
SL
40602015-01-10 Sandra Loosemore <sandra@codesourcery.com>
4061
4062 * doc/invoke.texi (Option Summary): Break long lines.
4063 [(-fdiagnostics-color)]: Put long literal in @smallexample
4064 instead of inline.
4065 [(-fsanitize-recover)]: Likewise.
4066 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
4067 [(-ffast-math)]: Likewise.
4068 [(--param max-inline-insns-recursive)]: Likewise.
4069 [(--param max-inline-recursive-depth)]: Likewise.
4070 [(-mno-text-section-literals)]: Likewise.
c8d7835b 4071
f1f3453e
TS
40722015-01-10 Thomas Schwinge <thomas@codesourcery.com>
4073
4074 * doc/install.texi: Update for libgomp being renamed from "GNU
4075 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
4076 Runtime Library".
4077 * doc/sourcebuild.texi: Likewise.
4078
b10b03c4
AG
40792015-01-10 Anthony Green <green@moxielogic.com>
4080
4081 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
4082 mul.x availability for moxiebox configuration.
4083
6085e66e
AG
40842015-01-09 Anthony Green <green@moxielogic.com>
4085
4086 * config/moxie/moxie.md: Tabify assembly output.
4087
1d763aec
AG
40882015-01-09 Anthony Green <green@moxielogic.com>
4089
4090 * config/moxie/moxie.md (CC_REG): Correct register definition.
4091
c608d704
SL
40922015-01-09 Sandra Loosemore <sandra@codesourcery.com>
4093
4094 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
4095 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
4096 of log files.
4097
5357406f
AT
40982015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
4099
4100 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
4101
1b34e6e2
BS
41022015-01-09 Bernd Schmidt <bernds@codesourcery.com>
4103 Jakub Jelinek <jakub@redhat.com>
4104
4105 PR middle-end/64412
4106 * lto-streamer.h (lto_stream_offload_p): New declaration.
4107 * lto-streamer.c (lto_stream_offload_p): New variable.
4108 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
4109 at the same time as section_name_prefix.
4110 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
4111 if lto_stream_offload_p.
4112 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
4113 stream TREE_TARGET_OPTION if lto_stream_offload_p.
4114 (write_ts_function_decl_tree_pointers): Don't
4115 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
4116 * tree-streamer-in.c (unpack_value_fields): Don't stream
4117 TREE_TARGET_OPTION in if ACCEL_COMPILER.
4118 (lto_input_ts_function_decl_tree_pointers): Don't stream
4119 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
4120 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
4121 instead of section_name_prefix string comparisons.
4122
adfac8df
JJ
41232015-01-09 Jakub Jelinek <jakub@redhat.com>
4124
4125 PR rtl-optimization/64536
4126 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
4127 tablejumps.
4128
40e23961 41292015-01-09 Michael Collison <michael.collison@linaro.org>
adfac8df 4130
a89bd7d2
JH
4131 PR tree-optimization/64322
4132 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
4133 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
4134
486b97f2
TV
41352015-01-09 Tom de Vries <tom@codesourcery.com>
4136
4137 PR rtl-optimization/64539
4138 * regcprop.c (kill_clobbered_values): Factor out of ...
4139 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
4140 instead of note_stores with kill_clobbered_value.
4141
4c470097
AT
41422015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
4143
4144 * ginclude/unwind-arm-common.h: Revert previous commit.
4145
82a19768
AT
41462015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
4147
4148 * config.gcc (arm*-*-freebsd*): New configuration.
4149 * config/arm/freebsd.h: New file.
4150 * config.host: Add extra components for arm*-*-freebsd*.
4151 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
4152 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
4153
887974fd
SH
41542015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
4155
4156 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
4157 for -mcpu=e6500.
4158 * config/rs6000/t-rtems: Add e6500 multilibs.
4159
3bfc2fa3
SH
41602015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
4161
4162 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
4163 MPC8540.
4164
02f6062b
SH
41652015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
4166
4167 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
4168 MULTILIB_EXCEPTIONS.
4169
2f2eb5ad
SH
41702015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
4171
4172 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
4173 MULTILIB_EXCEPTIONS.
4174
5be0a29b
SH
41752015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
4176
4177 * config/arm/t-rtems-eabi: Rename to...
4178 * config/arm/t-rtems: ...this.
4179 * config/arm/rtems-eabi.h: Rename to...
4180 * config/arm/rtems.h: ...this.
4181 * config.gcc (arm*-*-rtems*): Reflect changes above.
4182
2f278249
RB
41832015-01-09 Richard Biener <rguenther@suse.de>
4184
4185 PR tree-optimization/64410
4186 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
4187 on the LHS.
4188 (execute_update_addresses_taken): Deal with that.
4189 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
4190 loads/stores for complex variables.
4191
520b3022
ML
41922015-01-09 Martin Liska <mliska@suse.cz>
4193
4194 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
4195 name comparison.
4196 (func_checker::compare_memory_operand): New function.
4197 (func_checker::compare_operand): Split case to newly
4198 added functions.
4199 (func_checker::compare_cst_or_decl): New function.
4200 (func_checker::compare_gimple_call): Identify
4201 memory operands.
4202 (func_checker::compare_gimple_assign): Likewise.
4203 * ipa-icf-gimple.h: New function.
4204
ce9401b4
ML
42052015-01-09 Martin Liska <mliska@suse.cz>
4206
4207 PR ipa/64503
4208 * sreal.c (sreal::dump): Change unsigned format to signed for
4209 m_exp value.
4210 (sreal::to_double): Replace exp2 with scalbln.
4211
3f9f4ae7
ML
42122015-01-09 Martin Liska <mliska@suse.cz>
4213
4214 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
4215 * ipa-icf.c (sem_function::equals_private): Add support for target and
4216 (sem_item_optimizer::merge_classes): Remove redundant function
4217 optimization flags comparison.
4218 * tree.h (target_opts_for_fn): New function.
4219
56f6033d
TV
42202015-01-09 Tom de Vries <tom@codesourcery.com>
4221
4222 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
4223
c61fe0cc
KC
42242015-01-09 Kito Cheng <kito@0xlab.org>
4225
4226 PR rtl-optimization/64348
4227 * lra-constraints.c (split_reg): Fix caller-save store/restore
4228 instruction generation.
4229
e608ef6d
JDA
42302015-01-08 John David Anglin <danglin@gcc.gnu.org>
4231
4232 PR gcov-profile/61790
4233 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
4234 long long. Fallback to int64_t if host doesn't have long long and
4235 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
4236
57534689
JJ
42372015-01-08 Jakub Jelinek <jakub@redhat.com>
4238
204a913b
JJ
4239 PR tree-optimization/63989
4240 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
4241 from 1000 to 10000.
4242 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
4243 (get_stridx): If we don't have a record for certain SSA_NAME,
4244 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
4245 constant offset, call get_stridx_plus_constant.
4246 (get_stridx_plus_constant): New function.
4247 (zero_length_string): Don't use get_stridx here.
4248
57534689
JJ
4249 PR target/55023
4250 PR middle-end/64388
4251 * dse.c (struct insn_info): Mention frame_read set also
4252 before reload for tail calls on some targets.
4253 (scan_insn): Revert 2014-12-22 change. Set frame_read
4254 also before reload for tail calls if
4255 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
4256 instead of add_non_frame_wild_read for non-const/memset
4257 tail calls after reload.
4258
f5481fc4
JM
42592015-01-08 Jason Merrill <jason@redhat.com>
4260
4261 * ubsan.c (do_ubsan_in_current_function): New.
4262 (pass_ubsan::gate): Use it.
4263 * ubsan.h: Declare it.
4264 * convert.c (convert_to_integer): Use it.
4265
efa7df3c
JJ
42662015-01-08 Jakub Jelinek <jakub@redhat.com>
4267
4268 PR target/64338
4269 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
4270 compare_code when it is unconditionally overwritten afterwards.
4271 Use ix86_reverse_condition instead of reverse_condition. Don't
4272 change code if *reverse_condition* returned UNKNOWN and don't
4273 swap ct/cf and negate diff in that case.
4274
de35aa66
MS
42752015-01-08 Mike Stump <mikestump@comcast.net>
4276
4277 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
4278 (pass_tsan_O0::gate): Likewise.
4279 * extend.texi (Function Attributes): Add no_sanitize_thread
4280 documentation.
4281
4f929d9d
TS
42822015-01-08 Thomas Schwinge <thomas@codesourcery.com>
4283
45f46750
TS
4284 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
4285 for registering builtins.
4286 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
4287 add -fopenmp to the argv_obstack used when invoking
4288 compile_for_target.
4289
4f929d9d
TS
4290 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
4291 add "-m32" or "-m64" to argv_obstack.
4292 (generate_host_descr_file): Likewise, when invoking host_compiler.
4293 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
4294 ld.
4295
3b140613
OE
42962015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
4297
4298 * config/sh/sh-mem.cc: Use constant as second operand when emitting
4299 tstsi_t insns.
4300
3aa8dfe3
OE
43012015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
4302
4303 PR target/55212
4304 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
4305 constant load if constant operand fits into I08.
4306
bd84df18
JJ
43072015-01-08 Jakub Jelinek <jakub@redhat.com>
4308
4309 PR sanitizer/64336
4310 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
4311 and TREE_THIS_VOLATILE for MEM_REFs.
4312 (build5_stat): Fix up initialization of TREE_READONLY and
4313 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
4314
ae6b8666
KK
43152015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
4316
4317 PR target/64533
4318 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
4319 of r for the second alternative of the destination operand.
4320
946695b7
SB
43212015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
4322
4323 PR target/36557
4324 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
4325
317991c9
SL
43262015-01-07 Sandra Loosemore <sandra@codesourcery.com>
4327
4328 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
4329 keywords.
4330 ([-fivar-visibility], [-fvisibility]): Likewise.
4331
429805d2
SL
43322015-01-07 Sandra Loosemore <sandra@codesourcery.com>
4333
4334 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
4335 the file where @code, @command, etc is more appropriate.
4336
0e905f0f
SL
43372015-01-06 Sandra Loosemore <sandra@codesourcery.com>
4338
4339 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
4340 of -mrecip= documentation.
4341
512ef949
MM
43422015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
4343
4344 PR target/64505
4345 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
4346 correct reload handler if -m32 -mpowerpc64 is used.
4347
f0cbb0af
TV
43482015-01-06 Tom de Vries <tom@codesourcery.com>
4349
4350 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
4351
6a6b03ba
CB
43522015-01-08 Christian Bruel <christian.bruel@st.com>
4353
4354 PR target/64507
4355 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
4356
e4a57350
TP
43572015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
4358
4359 PR tree-optimization/63259
4360 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
4361 if optab exists for 16bit byteswap.
4362
fb153d02
JJ
43632015-01-06 Jakub Jelinek <jakub@redhat.com>
4364
4365 * opts.c (common_handle_option): Add support for
4366 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
4367 * doc/invoke.texi: Document -fno-sanitize=all,
4368 -f{,no-}sanitize-recover=all. Document that
4369 -fsanitize=float-cast-overflow is not enabled
4370 by -fsanitize=undefined. Fix up documentation
4371 of -f{,no-}sanitize-recover.
4372
0969ec7d
EB
43732015-01-06 Eric Botcazou <ebotcazou@adacore.com>
4374
4375 * config.gcc: Add Visium support.
4376 * configure.ac: Likewise.
4377 * configure: Regenerate.
4378 * doc/extend.texi (interrupt attribute): Add Visium.
4379 * doc/invoke.texi: Document Visium options.
4380 * doc/install.texi: Document Visium target.
4381 * doc/md.texi: Document Visium constraints.
4382 * common/config/visium: New directory.
4383 * config/visium: Likewise.
4384
31dd2a86
SB
43852015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
4386
4387 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
4388 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
4389
2f48c66c
SB
43902015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
4391
4392 * combine.c (combine_validate_cost): Do not count the cost of a
4393 split I2 twice. Do not display it twice in the dump, either.
4394
0964f845
SL
43952015-01-05 Sandra Loosemore <sandra@codesourcery.com>
4396
4397 Revert parts of r219199.
4398 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
4399 <inttypes.h>.
4400 ([-Wtraditional]): Restore markup on <limits.h>.
4401
2f42e5de
TS
44022015-01-05 Trevor Saunders <tsaunders@mozilla.com>
4403
4404 PR c++/31397
4405 * doc/invoke.texi: Document -Wsuggest-override.
4406
b176bb73
RO
44072015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
4408
4409 PR rtl-optimization/64287
4410 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
4411 (process_options): Disable flag_ipa_ra if profiling.
4412
dd1ca4c2
EB
44132015-01-05 Eric Botcazou <ebotcazou@adacore.com>
4414
4415 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
4416
44172015-01-05 Max Filippov <jcmvbkbc@gmail.com>
c6836000
MF
4418
4419 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
4420 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
4421 put under #if TARGET_LOOPS guard.
4422
389d63bb
UB
44232015-01-05 Uros Bizjak <ubizjak@gmail.com>
4424
4425 * config/i386/i386.c (output_387_binary_op): Use std::swap.
4426
c9bd6bcd
OE
44272015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
4428
4429 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
4430 * rtl.h (refers_to_regno_p): Add overload.
4431 * cse.c: Use it.
4432 * bt-load.c: Likewise.
4433 * combine.c: Likewise.
4434 * df-scan.c: Likewise.
4435 * sched-deps.c: Likewise.
4436 * config/s390/s390.c: Likewise.
4437 * config/m32r/m32r.c: Likewise.
4438 * config/rs6000/spe.md: Likewise.
4439 * config/rs6000/rs6000.c: Likewise.
4440 * config/pa/pa.c: Likewise.
4441 * config/stormy16/stormy16.c: Likewise.
4442 * config/cris/cris.c: Likewise.
4443 * config/arc/arc.md: Likewise.
4444 * config/arc/arc.c: Likewise.
4445 * config/sh/sh.md: Likewise.
4446 * config/sh/sh.c: Likewise.
4447 * config/frv/frv.c: Likewise.
4448
15aed8c4
JJ
44492015-01-05 Jakub Jelinek <jakub@redhat.com>
4450
fca4adf2
JJ
4451 PR sanitizer/64265
4452 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
4453 call as cleanup of the whole body.
4454 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
4455 * tsan.c (replace_func_exit): New function.
4456 (instrument_func_exit): Moved earlier.
4457 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
4458 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
4459 been found.
4460 (tsan_pass): Don't call instrument_func_exit.
4461 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
4462 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
4463 inlining.
4464
e5341100
JJ
4465 PR sanitizer/64344
4466 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
4467 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
4468 it to libubsan handler instead of EXPR. Fold comparisons earlier,
4469 if the result is integer_zerop, return NULL_TREE.
4470 * convert.c (convert_to_integer): Pass expr as ARG.
4471
15aed8c4
JJ
4472 PR tree-optimization/64465
4473 * tree-inline.c (redirect_all_calls): During inlining
4474 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
4475 changed the stmt to a non-throwing call.
4476
d1f4e4c3
SL
44772015-01-05 Sandra Loosemore <sandra@codesourcery.com>
4478
4479 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
4480 etc markup throughout the file.
4481
0d578242
BE
44822015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4483
4484 Enable experimental TSAN support for Ada.
4485 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
4486
a6377d52
JJ
44872015-01-05 Jakub Jelinek <jakub@redhat.com>
4488
4489 PR tree-optimization/64494
4490 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
4491 clear SSA_NAME_ANTI_RANGE_P flag.
4492
248d1391
MP
44932015-01-05 Marek Polacek <polacek@redhat.com>
4494
4495 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
4496
2c5103ff
JJ
44972015-01-05 Jakub Jelinek <jakub@redhat.com>
4498
5624e564
JJ
4499 Update copyright years.
4500
b67cd4e3
JJ
4501 * gcc.c (process_command): Update copyright notice dates.
4502 * gcov-dump.c: Ditto.
4503 * gcov.c: Ditto.
4504 * doc/cpp.texi: Bump @copying's copyright year.
4505 * doc/cppinternals.texi: Ditto.
4506 * doc/gcc.texi: Ditto.
4507 * doc/gccint.texi: Ditto.
4508 * doc/gcov.texi: Ditto.
4509 * doc/install.texi: Ditto.
4510 * doc/invoke.texi: Ditto.
4511
2c5103ff
JJ
4512 * auto-profile.c, auto-profile.h: Fix up Copyright line.
4513
eaacbd7b
SL
45142015-01-04 Sandra Loosemore <sandra@codesourcery.com>
4515
4516 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
4517 verb tense, etc.
4518 ([-fvtable-verify], [-fvtv-debug]): Likewise.
4519 ([-Wabi]): Likewise.
4520 ([-fmessage-length]): Likewise.
4521 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
4522 ([-Wno-discarded-qualifiers]): Likewise.
4523 ([-Wnodiscarded-array-qualifiers]): Likewise.
4524 ([-Wno-virtual-move-assign]): Likewise.
4525 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
4526 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
4527 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
4528 ([-fsanitize-undefined-trap-on-error]): Likewise.
4529 ([-floop-interchange]): Likewise.
4530 ([-ftree-coalesce-inlined-vars]): Likewise.
4531 ([-fvect-cost-model]): Likewise.
4532 ([-flto]): Likewise.
4533 ([--param]): Likewise.
4534 (Spec Files): Likewise.
4535 ([-mstrict-align]): Likewise.
4536 ([-mfix-cortex-a53-835769]): Likewise.
4537 ([-march], [-mtune]): Likewise.
4538 ([-mpic-register]): Likewise.
4539 ([-munaligned-access]): Likewise.
4540 ([-msp8]): Likewise.
4541 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
4542 (AVR Built-in Macros): Likewise.
4543 ([-mpreferred-stack-boundary]): Likewise.
4544 ([-mtune-crtl]): Likewise.
4545 ([-mashf]): Likewise.
4546 ([-mmcu=]): Likewise.
4547 ([-minrt]): Likewise.
4548 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
4549 ([-mupper-regs]): Likewise.
4550 ([-matomic-model]): Likewise.
4551 ([-mdiv]): Likewise.
4552 ([-mzdcbranch]): Likewise.
4553 ([-mdisable-callt]): Likewise.
4554 ([-msoft-float]): Likewise.
4555 ([-m8byte-align]): Likewise.
4556 ([-fstack-reuse]): Likewise.
4557
70281a8e
SL
45582015-01-03 Sandra Loosemore <sandra@codesourcery.com>
4559
4560 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
4561 Fix markup, light copy-editing.
4562 ([-fauto-profile]): Rewrite to fix formatting and content
4563 problems.
4564
408e8aa4
SL
45652015-01-03 Sandra Loosemore <sandra@codesourcery.com>
4566
4567 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
4568 Copy-edit description.
4569 ([-fisolate-erroneous-paths-attribute]): Likewise.
4570 * common.opt (fisolate-erroneous-paths-dereference):
4571 Copy-edit description.
4572 (fisolate-erroneous-paths-attribute): Likewise.
4573
484b5de0
SL
45742015-01-03 Sandra Loosemore <sandra@codesourcery.com>
4575
4576 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
4577 tidy grammar.
4578
e1a77fb6
SL
45792015-01-03 Sandra Loosemore <sandra@codesourcery.com>
4580
4581 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
4582 ([-fvtv-debug]): Likewise.
4583 ([-Wc++-compat]): Likewise.
4584 ([-Wc++11-compat]): Likewise.
4585 ([-Wc++14-compat]): Likewise.
4586 ([-Wno-sized-deallocation]): Likewise.
4587 ([-femit-class-debug-always]): Likewise.
4588 ([-femit-struct-debug-detailed]): Likewise.
4589 ([-fno-keep-inline-dllexport]): Likewise.
4590 ([-fira-algorithm]): Likewise.
4591 ([-fira-region]): Likewise.
4592 ([-flra-remat]): Likewise.
4593 ([-fipa-ra]): Likewise.
4594 ([-fhoist-adjacent-loads]): Likewise.
4595 ([-fisolate-erroneous-paths-dereference]): Likewise.
4596 ([-fisolate-erroneous-paths-attribute]): Likewise.
4597 ([-ftree-switch-conversion]): Likewise.
4598 ([-ftree-tail-merge]): Likewise.
4599 ([-ftree-loop-if-convert]): Likewise.
4600 ([-ftree-loop-if-convert-stores]): Likewise.
4601 ([-ftree-loop-distribution]): Likewise.
4602 ([-ftree-loop-distribute-patterns]): Likewise.
4603 ([-flto-compression-level]): Likewise.
4604 ([-flto-report]): Likewise.
4605 ([-flto-report-wpa]): Likewise.
4606 ([-fuse-linker-plugin]): Likewise.
4607 ([-mfix-cortex-a53-835769]): Likewise.
4608 ([-mno-fix-cortex-a53-835769]): Likewise.
4609 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
4610 explicit listing; add a note to the discussion indicating they
4611 exist. Reorder table to group similar options. Add missing
4612 @opindex entries. Add @need commands throughout the table to
4613 allow it to be split across multiple pages.
4614 ([-m8bit-idiv]): Fix @opindex.
4615 ([-mavx256-split-unaligned-load]): Likewise.
4616 ([-mavx256-split-unaligned-store]): Likewise.
4617 ([-mstack-protector-guard]): Likewise.
4618 ([-mcpu=]): Likewise.
4619 ([-mcpu]): Likewise.
4620 ([-mpointer-size=]): Likewise.
4621
846ef40a
JDA
46222015-01-03 John David Anglin <danglin@gcc.gnu.org>
4623
4624 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
4625 instead of `m' constraint. Likewise for unnamed movb comparison
4626 patterns using reg_before_reload_operand predicate.
4627 * config/pa/predicates.md (reg_before_reload_operand): Tighten
4628 predicate to reject register index and LO_SUM DLT memory forms
4629 after reload.
389d63bb 4630
d6ae9a6d
SL
46312015-01-02 Sandra Loosemore <sandra@codesourcery.com>
4632
4633 * doc/invoke.texi (Option Summary): Fix spelling of
4634 -fdevirtualize-at-ltrans.
4635 ([-fdevirtualize]): Fix markup.
4636 ([-fdevirtualize-speculatively]): Fix typo.
4637 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
4638 implementor-speaky.
4639 * common.opt (fdevirtualize-at-ltrans): Likewise.
4640 * ipa-devirt.c: Fix typos in comments throughout the file.
4641 (ipa_devirt): Fix typos in format strings for dump output.
4642
dd8d9ac4
SL
46432015-01-02 Sandra Loosemore <sandra@codesourcery.com>
4644
4645 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
4646 discussion of defaults, light copy-editing.
4647
1d4854da
BE
46482015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4649
4650 * tsan.c (instrument_expr): corrected previous checkin.
4651
fe86867f
BE
46522015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4653
4654 Instrument bit field and unaligned accesses for TSAN.
4655 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
4656 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
4657 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
4658 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
4659 unaligned memory regions.
4660
f8478c42 46612015-01-01 Anthony Green <green@moxielogic.com>
582f770b 4662
f8478c42
AG
4663 * config/moxie/predicates.md (moxie_general_movsrc_operand):
4664 Restrict move source register offsets to 16 bits.
ad41bd84 4665\f
f8478c42 4666Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
4667
4668Copying and distribution of this file, with or without modification,
4669are permitted in any medium without royalty provided the copyright
4670notice and this notice are preserved.