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