]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
ICF is more strict about non-common function and var
[thirdparty/gcc.git] / gcc / ChangeLog
1 2015-03-01 Martin Liska <mliska@suse.cz>
2
3 Jan Hubicka <hubicka@ucw.cz>
4
5 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
6 Validate variable alignment.
7 * ipa-icf.c (sem_function::equals_private): Be more precise
8 about non-common function attributes.
9 (sem_variable::equals): Likewise.
10
11 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
12
13 PR ipa/65237
14 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
15 across COMDAT group boundary.
16
17 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
18
19 PR ipa/65232
20 * ipa-icf.c (clear_decl_rtl): New function.
21 (sem_function::merge): Clear RTL before forming alias.
22 (sem_variable::merge): Clear RTL before forming alias.
23
24 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25
26 PR ipa/65236
27 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot
28 opt.
29
30 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
31
32 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
33 to neon_to_gp<q>.
34
35 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
36
37 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
38 a typo in the description.
39
40 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
41
42 PR target/64317
43 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
44 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
45 * lra-constraints.c: Include "params.h".
46 (EBB_PROBABILITY_CUTOFF): Use
47 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
48 (lra_inheritance): Use '<' instead of '<=' for
49 EBB_PROBABILITY_CUTOFF.
50 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
51 Document change.
52
53 2015-02-27 Martin Liska <mliska@suse.cz>
54
55 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
56 vector length condition.
57
58 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
59
60 * doc/extend.texi (x86 transactional memory intrinsics):
61 Reorganize discussion of _xbegin. Clarify that the return
62 value is a bit mask. Expand example and move to end of section.
63
64 2015-02-26 Jakub Jelinek <jakub@redhat.com>
65 Aldy Hernandez <aldyh@redhat.com>
66
67 PR rtl-optimization/65220
68 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
69
70 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
71
72 PR target/65032
73 * lra-remat.c (update_scratch_ops): New.
74 (do_remat): Call it.
75 * lra.c (lra_register_new_scratch_op): New. Take code from ...
76 (remove_scratches): ... here.
77 * lra-int.h (lra_register_new_scratch_op): New prototype.
78
79 2015-02-27 Marek Polacek <polacek@redhat.com>
80
81 PR c/65040
82 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
83 -Wformat-signedness anymore.
84
85 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
86
87 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
88 function.
89 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
90
91 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
92
93 * config/s390/s390.c (enum s390_builtin):
94 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
95 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
96 (s390_init_builtins): Generate new builtin functions.
97 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
98 (s390_sfpc, s390_efpc): New pattern definitions.
99
100 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
101
102 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
103 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
104 (s390_builtin_decls): New array.
105 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
106 (s390_builtin_decl): New function.
107 (TARGET_BUILTIN_DECL): Define macro.
108
109 2015-02-27 Richard Biener <rguenther@suse.de>
110
111 PR middle-end/63175
112 * builtins.c (get_object_alignment_2): Make sure to re-apply
113 the ANDed mask after recursing to its operand gets us a new
114 misalignment bit position.
115
116 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
117 Martin Liska <mliska@suse.cz>
118
119 PR bootstrap/65150
120 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
121 Use address_matters_p.
122 (redirect_all_callers, set_addressable): New functions.
123 (sem_function::merge): Reorganize and fix merging issues.
124 (sem_variable::merge): Likewise.
125 (sem_variable::compare_sections): Remove.
126 * common.opt (fmerge-all-constants, fmerge-constants): Remove
127 Optimization flag.
128 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
129 redirect them.
130 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
131 decl is used.
132 (address_matters_1): New function.
133 (symtab_node::address_matters_p): New function.
134 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
135 check for merged flag.
136 * cgraph.h (address_matters_p): Declare.
137 (symtab_node::address_taken_from_non_vtable_p): Remove.
138 (symtab_node::address_can_be_compared_p): New method.
139 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
140 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
141 Remove.
142 (comdat_can_be_unshared_p_1) Use address_matters_p.
143 (update_vtable_references): Fix formating.
144 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
145 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
146 * cgraphclones.c: Preserve merged and icf_merged flags.
147
148 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
149
150 * doc/extend.texi (Function Attributes): Fix spelling and typos.
151 (Label Attributes): Likewise.
152 (Cilk Plus Builtins): Likewise.
153 (ARC SIMD Built-in Functions): Likewise.
154 (ARM C Language Extensions (ACLE)): Likewise.
155 (PowerPC Built-in Functions): Likewise.
156 (PowerPC Hardware Transactional Memory Built-in Functions):
157 Likewise.
158
159 2015-02-26 Jakub Jelinek <jakub@redhat.com>
160
161 PR tree-optimization/65216
162 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
163 new stmt and new SSA_NAME for lhs whenever the arguments have
164 changed and weren't just swapped. Fix comment typo.
165
166 PR tree-optimization/65215
167 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
168 for PDP endian targets.
169 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
170 Fix up formatting issues.
171 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
172 size is smaller than the original, adjust MEM_REF offset by the
173 difference of sizes. Use is_gimple_mem_ref_addr instead of
174 is_gimple_min_invariant test to avoid adding address temporaries.
175
176 2015-02-26 Martin Liska <mliska@suse.cz>
177 Jan Hubicka <hubicka@ucw.cz>
178
179 PR ipa/64693
180 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
181 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
182 (sem_item_optimizer::process_cong_reduction): Include division by
183 sensitive references.
184 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
185 * ipa-ref.c (ipa_ref::address_matters_p): New function.
186 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
187
188 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
189
190 PR target/65192
191 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
192 Remove.
193 * config/avr/avr.c: Same.
194 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
195 Refuse any constant address not in 0..0xbf.
196 * config/avr/avr.md (*mov<mode>, *movsf): Remove
197 tiny_valid_direct_memory_access_range from insn conditions.
198 (mov<mode>): Don't special-case expansion of avrtiny addresses.
199
200 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
201
202 PR target/61142
203 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
204 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
205 * config/sh/predicates.md (const_logical_operand): New predicate.
206 * config/sh/sh.md: Add new peephole2 patterns.
207
208 2015-02-26 Marek Polacek <polacek@redhat.com>
209
210 PR ipa/65008
211 * ipa-inline.c (early_inliner): Recompute inline parameters.
212
213 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
214
215 PR target/65171
216 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
217 instructions with TImode operands are included in the analysis.
218
219 2015-02-26 Sebastian Pop <s.pop@samsung.com>
220
221 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
222 of an EDGE_FSM_THREAD.
223
224 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
225
226 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
227
228 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
229
230 PR debug/46102
231 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
232
233 2015-02-26 Sebastian Pop <s.pop@samsung.com>
234
235 PR tree-optimization/65048
236 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
237 (thread_through_all_blocks): Call valid_jump_thread_path.
238 Remove invalid FSM jump-thread paths.
239
240 2015-02-26 Jakub Jelinek <jakub@redhat.com>
241
242 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
243 (ipa_write_optimization_summaries): Likewise.
244 * tree-streamer.h: Include data-streamer.h.
245 (streamer_mode_table): Declare extern variable.
246 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
247 * lto-streamer-out.c (lto_output_init_mode_table,
248 lto_write_mode_table): New functions.
249 (produce_asm_for_decls): Call lto_write_mode_table when streaming
250 offloading LTO.
251 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
252 (lto_create_simple_input_block): Add mode_table argument to the
253 lto_input_block constructors.
254 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
255 Likewise.
256 * data-streamer-in.c (string_for_index): Likewise.
257 * ipa-inline-analysis.c (inline_read_section): Likewise.
258 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
259 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
260 * lto-streamer-in.c (lto_read_body_or_constructor,
261 lto_input_toplevel_asms): Likewise.
262 (lto_input_mode_table): New function.
263 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
264 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
265 Use bp_pack_machine_mode.
266 * real.h (struct real_format): Add name field.
267 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
268 (class lto_input_block): Add mode_table member.
269 (lto_input_block::lto_input_block): Add mode_table_ argument,
270 initialize mode_table.
271 (struct lto_file_decl_data): Add mode_table field.
272 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
273 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
274 unpack_ts_decl_common_value_fields,
275 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
276 * tree-streamer.c (streamer_mode_table): New variable.
277 * real.c (ieee_single_format, mips_single_format,
278 motorola_single_format, spu_single_format, ieee_double_format,
279 mips_double_format, motorola_double_format,
280 ieee_extended_motorola_format, ieee_extended_intel_96_format,
281 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
282 ibm_extended_format, mips_extended_format, ieee_quad_format,
283 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
284 decimal_single_format, decimal_double_format, decimal_quad_format,
285 ieee_half_format, arm_half_format, real_internal_format): Add name
286 field.
287 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
288
289 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
290
291 PR target/65161
292 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
293 reordering for selective scheduling.
294
295 2015-02-26 Terry Guo <terry.guo@arm.com>
296
297 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
298 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
299 (arm_arch_no_volatile_ce): Declare new global variable.
300 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
301 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
302 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
303 (TARGET_NO_VOLATILE_CE): New macro.
304 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
305 volatile memory access in IT block
306
307 2015-02-25 Uros Bizjak <ubizjak@gmail.com>
308
309 PR target/47230
310 * doc/install.texi (Specific, alpha*-*-*): Document that binutils 2.25
311 or newer are required.
312
313 2015-02-25 Kai Tietz <ktietz@redhat.com>
314
315 PR tree-optimization/61917
316 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
317 that reduc_def_stmt is null.
318
319 2015-02-25 Martin Liska <mliska@suse.cz>
320
321 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
322 hard register variables.
323
324 2015-02-25 Kai Tietz <ktietz@redhat.com>
325
326 PR target/64212
327 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
328 (symtab::noninterposable_alias): Likewise.
329
330 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
331
332 PR target/65167
333 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
334 bounds registers.
335 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
336
337 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
338
339 PR target/64997
340 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
341 as split condition; force split via '#' in output pattern.
342
343 2015-02-25 Richard Biener <rguenther@suse.de>
344 Kai Tietz <ktietz@redhat.com>
345
346 PR tree-optimization/61917
347 * tree-vect-loop.c (vectorizable_reduction): Allow
348 vect_internal_def without reduction to exit graceful.
349
350 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
351
352 PR target/65196
353 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
354 only with NONDEBUG_INSN_P.
355
356 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
357
358 Use variadic macros with avr-log.c.
359
360 * config/avr/avr-protos.h (avr_vdump): New prototype.
361 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
362 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
363 * config/avr/avr-log.c: Adjust comments.
364 (avr_vdump): New function.
365 (avr_vadump): Pass caller as 2nd argument instead of format string.
366 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
367 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
368
369 2015-02-25 Jakub Jelinek <jakub@redhat.com>
370
371 PR lto/64374
372 * target.def (target_option_stream_in): New target hook.
373 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
374 targetm.target_option.post_stream_in if non-NULL.
375 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
376 * doc/tm.texi: Updated.
377 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
378 function.
379 (TARGET_OPTION_POST_STREAM_IN): Redefine.
380
381 2015-02-24 Jeff Law <law@redhat.com>
382
383 PR target/65117
384 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
385 of operand 0 and operand 2.
386 (zero_cost_loop_end, loop_end): Similarly.
387
388 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
389
390 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
391 CXX_MEM_STAT_INFO.
392
393 2015-02-24 DJ Delorie <dj@redhat.com>
394
395 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as
396 well.
397 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
398 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
399 instead of hardcoding SImode.
400
401 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
402
403 * omp-low.c (create_omp_child_function): Tag entrypoint
404 functions with a special attribute.
405
406 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
407
408 PR target/65058
409 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
410
411 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
412
413 PR rtl-optimization/65123
414 * lra-remat.c (operand_to_remat): Check hard regs in insn
415 definition too.
416
417 2015-02-24 Nick Clifton <nickc@redhat.com>
418
419 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
420 to the assembler.
421
422 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
423
424 PR libgomp/64625
425 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
426 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
427 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
428 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
429 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
430 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
431 (BUILT_IN_GOACC_PARALLEL): Specify as
432 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
433 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
434 * builtin-types.def
435 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
436 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
437 Remove function types.
438 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
439 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
440 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
441 New function types.
442
443 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
444
445 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
446
447 2015-02-24 Jakub Jelinek <jakub@redhat.com>
448
449 PR tree-optimization/65170
450 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
451 if val[1] < 0, clear also val[2] and return 3.
452
453 2015-02-24 Alan Modra <amodra@gmail.com>
454
455 PR target/65172
456 * config/rs6000/rs6000.c (get_memref_parts): Only return true
457 when *base is a reg. Handle nested plus addresses. Simplify
458 pre_modify test.
459
460 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
461
462 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
463 use natural alignment when optimizing for size.
464
465 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
466
467 PR target/65153
468 * config/sh/sh.md (movsicc_true+3): Remove peephole.
469 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
470 * config/sh/sh.c (replace_n_hard_rtx): Remove.
471
472 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
473
474 PR fortran/63427
475 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
476 too big for a wide_int. Implement missing wrapping operation.
477
478 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
479
480 PR target/65163
481 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
482 instead of const_int 4294901760.
483
484 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
485
486 * config/avr/t-avr: Fix typo in comment.
487
488 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
489
490 * doc/rtl.texi (fma): Clarify documentation.
491
492 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
493
494 PR debug/58123
495 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
496 over input_location.
497
498 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
499
500 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
501 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
502 restrict alignments to absolute_biggest_alignment.
503 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
504 Define.
505 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
506 * doc/tm.texi: Regenerate.
507 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
508
509 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
510
511 PR target/64172
512 * ira-color.c (color_pass): Prevent splitting multi-register
513 pseudos.
514
515 2015-02-20 Richard Biener <rguenther@suse.de>
516
517 PR tree-optimization/65136
518 * tree-ssa-propagate.c: Include cfgloop.h.
519 (replace_phi_args_in): Avoid replacing loop latch edge PHI
520 arguments with constants.
521
522 2015-02-20 Jakub Jelinek <jakub@redhat.com>
523 Martin Liska <mliska@suse.cz>
524
525 PR target/63892
526 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
527 don't try to create_thunk if stdarg_p. If
528 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
529 redirect_callers if possible.
530 (sem_item_optimizer::execute): Call unregister_hooks here...
531 (ipa_icf_driver): ... instead of here.
532
533 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
534
535 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
536 Mark operand 0 as earlyclobber in 2nd alternative.
537 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
538 Write negated shift amount into QI lowpart operand 0 and use it
539 in the shift step.
540 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
541
542 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
543
544 * cgraph.h (clone_function_name_1): Declare.
545 * cgraphclones.c (clone_function_name_1): New function.
546 (clone_function_name): Use it.
547 * lto-partition.c: Include "stringpool.h".
548 (must_not_rename, maybe_rewrite_identifier,
549 validize_symbol_for_target): New static functions.
550 (privatize_symbol_name): Use must_not_rename.
551 (promote_symbol): Call validize_symbol_for_target.
552 (lto_promote_cross_file_statics): Likewise.
553 (lto_promote_statics_nonwpa): Likewise.
554
555 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
556
557 PR target/64452
558 * config/avr/avr.md (pushhi_insn): New insn.
559 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
560
561 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
562 Jakub Jelinek <jakub@redhat.com>
563
564 * tree-streamer.c (preload_common_nodes): Don't preload
565 TI_VA_LIST* for offloading.
566 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
567 in_lto_p.
568
569 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
570
571 * config/pa/pa.c (pa_emit_move_sequence): Always force
572 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
573 note on insn.
574
575 * config/pa/pa.c (pa_reloc_rw_mask): New function.
576 (TARGET_ASM_RELOC_RW_MASK): Define.
577 (pa_cannot_force_const_mem): Revert previous change.
578
579 2015-02-19 Martin Jambor <mjmabor@suse.cz>
580 Jan Hubicka <hubicka@ucw.cz>
581
582 PR ipa/65028
583 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
584 across jump functions.
585
586 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
587
588 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
589
590 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
591
592 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
593
594 2015-02-19 Richard Henderson <rth@redhat.com>
595
596 PR middle-end/65074
597 * varasm.c (default_binds_local_p_2): Don't test node->definition;
598 test DECL_EXTERNAL independent of symtab_node.
599
600 2015-02-19 Jakub Jelinek <jakub@redhat.com>
601
602 PR lto/65012
603 * varpool.c (varpool_node::get_constructor): Return early
604 if this->lto_file_data is NULL.
605
606 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
607
608 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
609 (rank_for_schedule_debug): Update.
610 (ready_sort): Make static. Move sorting logic to ...
611 (ready_sort_debug, ready_sort_real): New static functions.
612 (schedule_block): Sort both debug insns and real insns in preparation
613 for ready list trimming. Improve debug output.
614 * sched-int.h (ready_sort): Remove global declaration.
615
616 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
617
618 * ipa-icf.c (sem_function::equals_private): Adjust.
619 (sem_function::bb_dict_test): Take a vec<int> * instead of
620 auto_vec<int>.
621 * ipa-icf.h (bb_dict_test): Likewise.
622
623 2015-02-18 Jakub Jelinek <jakub@redhat.com>
624
625 PR gcov-profile/64634
626 * tree-eh.c (frob_into_branch_around): Fix up typos
627 in function comment.
628 (lower_catch): Put eh_seq resulting from EH lowering of
629 the cleanup sequence after the cleanup rather than before it.
630
631 2015-02-18 Tom de Vries <tom@codesourcery.com>
632
633 * common.opt (fstdarg-opt): New option.
634 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
635 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
636 (@item -fstdarg-opt): New item.
637
638 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
639
640 PR target/65064
641 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
642 for common symbols.
643
644 2015-02-18 Jakub Jelinek <jakub@redhat.com>
645
646 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
647 insn-modes.h.
648 (ALL_HOST_OBJS): Add mkoffload.o.
649 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
650
651 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
652
653 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
654 (compare_virtual_tables): Be smarter about skipping typeinfos;
655 do sane output on virtual table table mismatch.
656 (warn_odr): Be ready for forward declarations of enums;
657 output sane info on base mismatch and virtual table mismatch.
658 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
659 when only one type is polymorphic.
660 (get_odr_type): Fix hashtable corruption.
661 (dump_odr_type): Dump mangled names.
662
663 2015-02-18 Richard Biener <rguenther@suse.de>
664
665 PR tree-optimization/65063
666 * tree-predcom.c (determine_unroll_factor): Return 1 if we
667 have replaced looparound PHIs.
668
669 2015-02-18 Martin Liska <mliska@suse.cz>
670
671 * lto-streamer.c (lto_streamer_init): Encapsulate
672 streamer_check_handled_ts_structures with checking macro.
673
674 2015-02-18 Jakub Jelinek <jakub@redhat.com>
675
676 PR ipa/65087
677 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
678 section if !implicit_section.
679 (cgraph_node::create_version_clone_with_body): Likewise.
680 * trans-mem.c (ipa_tm_create_version): Likewise.
681
682 2015-02-18 Richard Biener <rguenther@suse.de>
683
684 PR tree-optimization/62217
685 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
686 into BIVs.
687
688 2015-02-18 Marek Polacek <polacek@redhat.com>
689
690 PR sanitizer/65081
691 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
692 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
693 is in range [-16K, -1]. Don't issue run-time error if
694 (ptr > ptr + offset).
695
696 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
697
698 * doc/install.texi (nvptx-*-none): New section.
699 * doc/invoke.texi (Nvidia PTX Options): Likewise.
700 * config/nvptx/nvptx.opt: Update.
701
702 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
703 (access_check): New functions, copied from
704 config/i386/intelmic-mkoffload.c.
705 (main): For non-installed testing, look in all COMPILER_PATHs for
706 GCC_INSTALL_NAME.
707
708 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
709
710 2015-02-18 Andrew Pinski <apinski@cavium.com>
711 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
712
713 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
714 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
715
716 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
717
718 * ipa-visibility.c (function_and_variable_visibility): Only
719 check locality if node is not already local.
720 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
721 call_for_symbol_and_aliases instead of
722 call_for_symbol_thunks_and_aliases.
723 (ipa_inline): Likewise.
724 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
725 first walk aliases.
726 * ipa.c (symbol_table::remove_unreachable_nodes): Use
727 call_for_symbol_and_aliases.
728 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
729 (ipa_propagate_frequency_1): Use it; use opt_for_fn
730 (ipa_propagate_frequency): Update.
731 (ipa_profile): Add opt_for_fn gueards.
732
733 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
734
735 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
736 * doc/invoke.texi (SH options): Document it.
737 * config/sh/sh.c (sh_insn_length_adjustment): Check
738 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
739
740 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
741
742 * common.opt (fipa-cp-alignment): New.
743 * ipa-cp.c (ipcp_store_alignment_results): Check
744 flag_ipa_cp_alignment.
745 * opts.c (default_options_table): Enable -fipa-cp-alignment for
746 -O2.
747 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
748 * doc/invoke.texi: Document -fipa-cp-alignment.
749
750 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
751
752 PR target/64793
753 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
754 to nil. Adjust comments.
755
756 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
757
758 * ipa-visibility.c (function_and_variable_visibility): Only
759 check locality if node is not already local.
760 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
761 call_for_symbol_and_aliases instead of
762 call_for_symbol_thunks_and_aliases.
763 (ipa_inline): Likewise.
764 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
765 first walk aliases.
766 * ipa.c (symbol_table::remove_unreachable_nodes): Use
767 call_for_symbol_and_aliases.
768 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
769 (ipa_propagate_frequency_1): Use it; use opt_for_fn
770 (ipa_propagate_frequency): Update.
771 (ipa_profile): Add opt_for_fn guards.
772
773 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
774
775 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
776 skipping of "strange" tokens.
777
778 2015-02-17 Jeff Law <law@redhat.com>
779
780 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
781 obsolete comment.
782
783 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
784
785 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
786 as forcing a HARD_DEP between instructions, thereby
787 disallowing rewriting to break dependencies.
788
789 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
790
791 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
792 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
793 variables in boundary that have no inlitalizer encoded and are
794 not aliases.
795 * varasm.c (default_binds_local_p_2): External definitions do not
796 count as definitions here.
797
798 2015-02-16 Jeff Law <law@redhat.com>
799
800 PR tree-optimization/64823
801 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
802 statements.
803 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
804 threading through blocks with PHIs, but no statements.
805 (thread_through_normal_block): Distinguish between blocks where
806 we did not process all the statements and blocks with no statements.
807
808 2015-02-16 Jakub Jelinek <jakub@redhat.com>
809 James Greenhalgh <james.greenhalgh@arm.com>
810
811 PR ipa/64963
812 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
813 section if not linkonce. Fix up formatting.
814 (cgraph_node::create_version_clone_with_body): Copy section.
815 * trans-mem.c (ipa_tm_create_version): Likewise.
816
817 2015-02-16 Richard Biener <rguenther@suse.de>
818
819 PR tree-optimization/65077
820 * tree-ssa-structalias.c (get_constraint_for_1): Handle
821 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
822 (find_func_aliases): Allow float values to carry pointers again.
823
824 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
825
826 * doc/install.texi (Specific): Reorder targets list to put
827 aarch64 in alphabetical order. Add a link to aarch64*-*-*
828 from the top menu.
829
830 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
831 David Edelsohn <dje.gcc@gmail.com>
832
833 PR target/65058
834 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
835 mapping class to external variable or function reference.
836 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
837 mapping class.
838
839 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
840
841 PR target/53348
842 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
843 ASM_WEAKEN_DECL if defined.
844
845 2015-02-16 Richard Biener <rguenther@suse.de>
846
847 PR lto/65015
848 * varasm.c (default_file_start): For LTO produced units
849 emit <artificial> as file directive.
850
851 2015-02-16 Richard Biener <rguenther@suse.de>
852
853 PR tree-optimization/63593
854 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
855 stmts and releasing SSA names until...
856 (execute_pred_commoning): ... after processing all chains.
857
858 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
859
860 PR ipa/65059
861 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
862 external functions.
863
864 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
865
866 * doc/bugreport.texi: Adjust section titles throughout the file
867 to use "Title Case".
868 * doc/extend.texi: Likewise.
869 * doc/gcov.texi: Likewise.
870 * doc/implement-c.texi: Likewise.
871 * doc/implement-cxx.texi: Likewise.
872 * doc/invoke.texi: Likewise.
873 * doc/objc.texi: Likewise.
874 * doc/standards.texi: Likewise.
875 * doc/trouble.texi: Likewise.
876
877 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
878
879 * cgraph.h (symtab_node::has_aliases_p): Simplify.
880 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
881 * tree.c (lookup_binfo_at_offset): Make static.
882 (get_binfo_at_offset): Do not shadow offset; add explanatory
883 comment.
884
885 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
886
887 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
888 for all floading point loads and stores except those using a register
889 index address.
890 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
891 to a register.
892
893 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
894
895 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
896 (do_estimate_growth_1): Record if any uninlinable edge was seen.
897 (estimate_growth): Handle uninlinable edges correctly.
898 (check_callers): New.
899 (growth_likely_positive): Handle aliases correctly.
900
901 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
902
903 * ipa-chkp.c: Use iterate_direct_aliases.
904 * symtab.c (resolution_used_from_other_file_p): Move inline.
905 (symtab_node::create_reference): Fix formating.
906 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
907 (symtab_node::iterate_reference): Move inline.
908 (symtab_node::iterate_referring): Move inline.
909 (symtab_node::iterate_direct_aliases): Move inline.
910 (symtab_node::used_from_object_file_p_worker): Inline into ...
911 (symtab_node::used_from_object_file_p): ... this one; move inline.
912 (symtab_node::call_for_symbol_and_aliases): Move inline;
913 use iterate_direct_aliases.
914 (symtab_node::call_for_symbol_and_aliases_1): New method.
915 (cgraph_node::call_for_symbol_and_aliases): Move inline;
916 use iterate_direct_aliases.
917 (cgraph_node::call_for_symbol_and_aliases_1): New method.
918 (varpool_node::call_for_node_and_aliases): Rename to ...
919 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
920 use iterate_direct_aliases.
921 (varpool_node::call_for_symbol_and_aliases_1): New method.
922 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
923 (ipa_discover_readonly_nonaddressable_var): Update.
924 * ipa-devirt.c: Fix formating.
925 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
926 Move inline.
927 (cgraph_node::call_for_symbol_and_aliases): Move inline.
928 (cgraph_node::call_for_symbol_and_aliases_1): New function..
929 * cgraph.h (used_from_object_file_p_worker): Remove.
930 (resolution_used_from_other_file_p): Move inline.
931 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
932 (symtab_node::iterate_reference): Move inline.
933 (symtab_node::iterate_referring): Move inline.
934 (symtab_node::iterate_direct_aliases): Move inline.
935 (symtab_node::used_from_object_file_p_worker): Inline into ...
936 (symtab_node::used_from_object_file_p): Move inline.
937 * tree-emutls.c (ipa_lower_emutls): Update.
938 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
939 (varpool_node::call_for_node_and_aliases): Remove.
940
941 2015-02-14 Jakub Jelinek <jakub@redhat.com>
942
943 PR tree-optimization/62209
944 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
945 op == range->exp, insert seq and gimplified code after labels
946 instead of after the phi.
947
948 2015-02-13 Jeff Law <law@redhat.com>
949
950 PR bootstrap/65060
951 Revert my change for tree-optimization/64823.
952
953 2015-02-13 Jakub Jelinek <jakub@redhat.com>
954
955 PR tree-optimization/65053
956 * tree-ssa-phiopt.c (value_replacement): When moving assign before
957 cond, either reset VR on lhs or set it to phi result VR.
958
959 2015-02-13 Jeff Law <law@redhat.com>
960
961 PR tree-optimization/64823
962 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
963 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
964 threading through blocks with PHIs, but no statements.
965 (thread_through_normal_block): Distinguish between blocks where
966 we did not process all the statements and blocks with no statements.
967
968 PR rtl-optimization/47477
969 * match.pd (convert (plus/minus (convert @0) (convert @1): New
970 simplifier to narrow arithmetic.
971
972 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
973
974 PR ipa/65028
975 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
976 polymorphic call info when type is not known to be preserved.
977
978 2015-02-13 Maritn Jambor <mjambor@suse.cz>
979
980 PR ipa/65028
981 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
982 (inline_call): Use it.
983
984 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
985
986 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
987 GOMP_DEVICE_NVIDIA_PTX.
988
989 2015-02-13 Jakub Jelinek <jakub@redhat.com>
990
991 PR ipa/65034
992 * stmt.c (emit_case_nodes): Use void_type_node instead of
993 NULL_TREE as LABEL_DECL type.
994
995 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
996
997 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
998 constraints.
999 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
1000 symbolic references to data to be forced to constant memory on the
1001 SOM target.
1002
1003 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
1004
1005 PR tree-optimization/65002
1006 * tree-cfg.c (pass_data_fixup_cfg): Don't update
1007 SSA on start.
1008 * tree-sra.c (some_callers_have_no_vuse_p): New.
1009 (ipa_early_sra): Reject functions whose callers
1010 assume function is read only.
1011
1012 2015-02-13 Richard Biener <rguenther@suse.de>
1013
1014 PR lto/65015
1015 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
1016 for LTO produced CUs.
1017
1018 2015-02-13 Bin Cheng <bin.cheng@arm.com>
1019
1020 PR tree-optimization/64705
1021 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
1022 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
1023 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
1024 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
1025 expand_simple_operations.
1026
1027 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
1028 Richard Henderson <rth@redhat.com>
1029
1030 PR rtl/32219
1031 * cgraphunit.c (cgraph_node::finalize_function): Set definition
1032 before notice_global_symbol.
1033 (varpool_node::finalize_decl): Likewise.
1034 * varasm.c (default_binds_local_p_2): Rename from
1035 default_binds_local_p_1, add weak_dominate argument. Use direct
1036 returns instead of assigning to local variable. Unify varpool and
1037 cgraph paths via symtab_node. Reject undef weak variables before
1038 testing visibility. Reorder tests for simplicity.
1039 (default_binds_local_p): Use default_binds_local_p_2.
1040 (default_binds_local_p_1): Likewise.
1041 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
1042 via symtab_node.
1043 (default_elf_asm_output_external): Emit visibility when specified.
1044
1045 2015-02-13 Alan Modra <amodra@gmail.com>
1046
1047 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
1048 code setting up r11 for out-of-line fp restore.
1049
1050 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
1051
1052 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
1053 (muser-mode): Likewise.
1054
1055 2015-02-13 Alan Modra <amodra@gmail.com>
1056
1057 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
1058 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
1059
1060 2015-02-12 David Howells <dhowells@redhat.com>
1061
1062 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
1063 warning.
1064 * tree-ssa-uninit.c (dump_predicates): Likewise.
1065 * opts.c (print_filtered_help): Likewise.
1066
1067 2015-02-12 Jakub Jelinek <jakub@redhat.com>
1068
1069 * dwarf2out.c (output_die): Use "%s", name instead of name to
1070 avoid -Wformat-security warning.
1071
1072 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
1073 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
1074 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
1075 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
1076
1077 2015-02-12 Jason Merrill <jason@redhat.com>
1078
1079 * common.opt (-flifetime-dse): New.
1080
1081 2015-02-12 Jakub Jelinek <jakub@redhat.com>
1082
1083 PR sanitizer/65019
1084 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
1085
1086 PR tree-optimization/65014
1087 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
1088 use original second operand of arg0 or arg1 instead of
1089 that adjusted by STRIP_NOPS.
1090
1091 2015-02-11 Jeff Law <law@redhat.com>
1092
1093 PR target/63347
1094 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
1095 that needs to be queued, just queue it for a single cycle.
1096
1097 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
1098
1099 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
1100 bodies of thunks; comment on why.
1101 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
1102 symbols are extern.
1103
1104 2015-02-11 Richard Henderson <rth@redhat.com>
1105
1106 PR sanitize/65000
1107 * tree-eh.c (mark_reachable_handlers): Mark source and destination
1108 regions of __builtin_eh_copy_values.
1109
1110 2015-02-11 Jakub Jelinek <jakub@redhat.com>
1111
1112 PR middle-end/65003
1113 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
1114 ultimate alias is MEM with SYMBOL_REF satisfying
1115 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
1116 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
1117
1118 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
1119
1120 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
1121 "diagnostic-core.h".
1122 (main): Initialize progname, and call diagnostic_initialize.
1123
1124 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
1125 instead of __OPENMP_TARGET__.
1126
1127 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
1128 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
1129 hard-coding PTX_ID.
1130
1131 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
1132
1133 * doc/sourcebuild.texi (pie_enabled): Document.
1134
1135 2015-02-11 Martin Liska <mliska@suse.cz>
1136
1137 PR ipa/64813
1138 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
1139 a return value for call to a function that is noreturn.
1140
1141 2015-02-11 Richard Biener <rguenther@suse.de>
1142
1143 PR lto/65015
1144 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
1145 and -fresolution.
1146
1147 2015-02-11 Andrew Pinski <apinski@cavium.com>
1148
1149 PR target/64893
1150 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
1151 Change the first argument type to size_type_node and add another
1152 size_type_node.
1153 (aarch64_simd_expand_builtin): Handle the new argument to
1154 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
1155 print an out when the first two arguments are not
1156 nonzero integer constants.
1157 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
1158 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
1159
1160 2015-02-11 Jakub Jelinek <jakub@redhat.com>
1161
1162 PR target/61925
1163 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
1164 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
1165 (ix86_set_current_function): Rewritten.
1166 (ix86_add_new_builtins): Temporarily clear current_target_pragma
1167 when creating builtin fndecls.
1168
1169 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
1170
1171 PR ipa/65005
1172 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
1173 function.
1174 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
1175 have no comdat group.
1176 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
1177 (lto_output_varpool_node): Always output alias info.
1178 (output_refs): Output refs of boundary aliases, too.
1179 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
1180 (output_symtab): Output call eges in thunks in boundary.
1181 (get_alias_symbol): Remove.
1182 (input_node, input_varpool_node): Do not special case weakrefs.
1183 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
1184 alias and thunks targets in the boundary; do not take removed symbols
1185 from their comdat groups.
1186 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
1187 (cgraph_node::global_info): Remove.
1188 (cgraph_node::rtl_info): Look through aliases and thunks.
1189 * cgrpah.h (global_info): Remove.
1190 (non_local_p): Remove.
1191
1192 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
1193 Sandra Loosemore <sandra@codesourcery.com>
1194
1195 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
1196 to inline asm. List dialects in proper order.
1197
1198 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
1199 Sandra Loosemore <sandra@codesourcery.com>
1200
1201 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
1202
1203 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
1204
1205 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
1206 modified) reference to Solaris.
1207
1208 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
1209
1210 * doc/extend.texi (Extended Asm): Fix typos.
1211
1212 2015-02-10 Jakub Jelinek <jakub@redhat.com>
1213
1214 PR sanitizer/65004
1215 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
1216
1217 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
1218
1219 PR target/64661
1220 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
1221 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
1222 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
1223 * config/sh/constraints.md (Ara, Add): New constraints.
1224 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
1225 predicates.
1226 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
1227 atomic_mem_operand_0. Don't use force_reg on the memory address.
1228 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
1229 Sra constraint. Convert to insn_and_split. Add workaround for
1230 PR 64974.
1231 (atomic_compare_and_swap<mode>_hard): Copy to
1232 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
1233 Use atomic_mem_operand_0 predicate.
1234 (atomic_compare_and_swap<mode>_soft_gusa,
1235 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
1236 AraAdd constraints.
1237 (atomic_compare_and_swap<mode>_soft_tcb,
1238 atomic_compare_and_swap<mode>_soft_imask,
1239 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
1240 atomic_mem_operand_0 predicate and SraSdd constraints.
1241 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
1242 constraint.
1243 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
1244 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
1245 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
1246 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
1247 force_reg on the memory address.
1248 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
1249 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
1250 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
1251 atomic_mem_operand_1 predicate and Sra constraint.
1252 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
1253 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
1254 Use atomic_mem_operand_1 predicate.
1255 (atomic_<fetchop_name><mode>_hard): Copy to
1256 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
1257 Use atomic_mem_operand_1 predicate.
1258 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
1259 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
1260 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
1261 insn_and_split. Use atomic_mem_operand_1 predicate.
1262 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
1263 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
1264 Use atomic_mem_operand_1 predicate.
1265 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
1266 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
1267 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
1268 in generated insn with original mem operand before emitting the insn.
1269 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
1270 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
1271 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
1272 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
1273 Use atomic_mem_operand_1 predicate and AraAdd constraints.
1274 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
1275 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
1276 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
1277 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
1278 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
1279 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
1280 atomic_not_fetch<mode>_soft_tcb,
1281 atomic_<fetchop_name>_fetch<mode>_soft_imask,
1282 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
1283 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
1284 Use atomic_mem_operand_1 predicate and SraSdd constraints.
1285
1286 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
1287
1288 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
1289 and 3 earlyclobber operands.
1290
1291 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
1292
1293 * common.opt (fstack-reuse): Mark as optimization.
1294
1295 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
1296
1297 PR ipa/64982
1298 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
1299
1300 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
1301
1302 PR tree-optimization/64326
1303 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
1304
1305 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
1306
1307 PR gcov-profile/61889
1308 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
1309
1310 2015-02-10 Richard Biener <rguenther@suse.de>
1311
1312 PR tree-optimization/64995
1313 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
1314 value we use is final.
1315 (visit_reference_op_store): Always valueize op.
1316 (visit_use): Properly valueize vuses.
1317
1318 2015-02-10 Richard Biener <rguenther@suse.de>
1319
1320 PR tree-optimization/64909
1321 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
1322 pass a scalar-stmt count estimate to the cost model.
1323 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
1324
1325 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
1326
1327 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
1328 enabled by default together with var-tracking.
1329
1330 2015-02-10 Nick Clifton <nickc@redhat.com>
1331
1332 * config/rl78/rl78.c: Remove DIV attribute code accidentally
1333 included in previous rl78 commit.
1334
1335 2015-02-10 Richard Biener <rguenther@suse.de>
1336
1337 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
1338 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
1339 return the bitpack.
1340
1341 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
1342
1343 PR gcov-profile/61889
1344 * config.in: regenerate.
1345 * configure.in: Likewise.
1346 * configure.ac: Check for ftw.h.
1347 * gcov-tool.c: Check for ftw.h before using nftw.
1348
1349 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
1350
1351 PR lto/64076
1352 * ipa-visibility.c (update_visibility_by_resolution_info): Only
1353 assert when not in lto mode.
1354
1355 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
1356
1357 * ira-color.c (setup_left_conflict_sizes_p): Simplify
1358 initialization/assignment of conflict_size.
1359
1360 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
1361
1362 PR ipa/64978
1363 * ipa-cp.c (gather_caller_stats): Skip thunks.
1364 (propagate_constants_topo): Skip aliases.
1365
1366 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
1367
1368 PR target/64761
1369 * config/sh/sh.c (sh_option_override): Don't change
1370 -freorder-blocks-and-partition to -freorder-blocks even when
1371 unwinding is enabled.
1372 (sh_can_follow_jump): Return false if the followee jump is
1373 a crossing jump when -freorder-blocks-and-partition is specified.
1374 * config/sh/sh.md (*jump_compact_crossing): New insn.
1375
1376 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
1377 Kaz Kojima <kkojima@gcc.gnu.org>
1378
1379 PR target/64761
1380 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
1381 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
1382 (sh_can_redirect_branch): Rename to ...
1383 (sh_can_follow_jump): ... this. Constify argument types.
1384 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
1385 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
1386 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
1387 * doc/tm.texi: Regenerate.
1388
1389 2015-02-09 Jakub Jelinek <jakub@redhat.com>
1390
1391 PR sanitizer/64981
1392 * builtins.c (expand_builtin): Call targetm.expand_builtin
1393 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
1394
1395 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1396
1397 PR ipa/61548
1398 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
1399
1400 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1401
1402 PR ipa/63566
1403 * ipa-icf.c (set_local): New function.
1404 (sem_function::merge): Use it.
1405
1406 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1407
1408 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
1409 (add_type_duplicate): Fix comparison of BINFOs.
1410
1411 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1412
1413 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
1414 on getting VOID pointer.
1415
1416 2015-02-09 Jakub Jelinek <jakub@redhat.com>
1417
1418 PR target/64979
1419 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
1420 va_list escapes.
1421
1422 2015-02-09 Richard Biener <rguenther@suse.de>
1423
1424 * genmatch.c (replace_id): Copy expr_type.
1425
1426 2015-02-09 Richard Biener <rguenther@suse.de>
1427
1428 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
1429 (streamer_write_tree_bitfields): Declare.
1430 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
1431 properly unpack padding.
1432 (unpack_value_fields): Inline ...
1433 (streamer_read_tree_bitfields): ... here.
1434 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
1435 and properly add padding bits.
1436 (streamer_pack_tree_bitfields): Fold into ...
1437 (streamer_write_tree_bitfields): ... this new function,
1438 exposing the bitpack object.
1439 * lto-streamer-out.c (lto_write_tree_1): Call
1440 streamer_write_tree_bitfields.
1441
1442 2015-02-09 Richard Biener <rguenther@suse.de>
1443
1444 PR tree-optimization/54000
1445 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
1446 (struct ivopts_data): Add loop_loc member.
1447 (tree_ssa_iv_optimize_loop): Dump loop location.
1448 (create_new_ivs): Likewise, also dump number of IVs generated.
1449
1450 2015-02-09 Martin Liska <mliska@suse.cz>
1451
1452 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
1453 just if not yet registered.
1454 (ipa_icf_generate_summary): Register callgraph hooks.
1455
1456 2015-02-08 Andrew Pinski <apinski@cavium.com>
1457
1458 * config/aarch64/aarch64.c (gty_dummy): Delete.
1459
1460 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1461
1462 PR ipa/63566
1463 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
1464 (cgraph_node::local_p): Remove thunk related FIXME.
1465
1466 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1467
1468 PR ipa/63566
1469 * i386.c (ix86_function_regparm): Look through aliases to see if callee
1470 is local and optimized.
1471 (ix86_function_sseregparm): Likewise; also use target's SSE math
1472 settings; error out instead of silently generating wrong code
1473 on mismatches.
1474 (init_cumulative_args): Look through aliases.
1475
1476 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1477
1478 PR ipa/63566
1479 * ipa-split.c (execute_split_functions): Split if function has aliases.
1480
1481 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
1482
1483 PR ipa/63566
1484 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
1485 aliases before trying to expand it.
1486 (cgraph_node::expand_thunk): Fix formating.
1487
1488 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
1489
1490 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
1491 (Using Assembly Language with C): Expand introduction.
1492 (Basic Asm): Copy-edit. Add more information about uses of
1493 basic asm.
1494 (Extended Asm): Copy-edit. Document new escape syntax and
1495 %l[label] syntax.
1496 (Global Reg Vars): Copy-edit.
1497 (Local Reg Vars): Likewise.
1498
1499 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
1500
1501 PR debug/2714
1502 PR bootstrap/64256
1503 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
1504 (DBX_CONTIN_CHAR): Define.
1505
1506 2015-02-06 Sebastian Pop <s.pop@samsung.com>
1507 Brian Rzycki <b.rzycki@samsung.com>
1508
1509 PR tree-optimization/64878
1510 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
1511 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
1512 Stop recursion at loop phi nodes after having visited a loop phi node.
1513
1514 2015-02-06 Jakub Jelinek <jakub@redhat.com>
1515
1516 * toplev.c (process_options): Change flag_ipa_ra before creating
1517 optimization_{default,current}_node.
1518
1519 PR ipa/64896
1520 * cgraphunit.c (cgraph_node::expand_thunk): If
1521 restype is not is_gimple_reg_type nor the thunk_fndecl
1522 returns aggregate_value_p, set restmp to a temporary variable
1523 instead of resdecl.
1524
1525 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
1526
1527 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
1528
1529 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
1530
1531 PR target/64205
1532 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
1533 add a general secondary reload handler for SDmode, unless we have
1534 both read/write support for SDmode.
1535
1536 2015-02-06 Jakub Jelinek <jakub@redhat.com>
1537
1538 PR middle-end/64937
1539 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
1540 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
1541 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
1542 1 before, push it to abstract_vec.
1543 (dwarf2out_abstract_function): Adjust caller. Don't call
1544 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
1545 DECL_ABSTRACT_P flags for all abstract_vec elts.
1546
1547 2015-02-06 Renlin Li <renlin.li@arm.com>
1548
1549 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
1550 complex gimple.
1551 * tree-ssa.c (execute_update_addresses_taken): Likewise.
1552
1553 2015-02-06 Jeff Law <law@redhat.com>
1554
1555 PR target/64889
1556 * config/h8300/h8300.c (push): New argument "in_prologue".
1557 Pass "in_prologue" along to "F".
1558 (h8300_push_pop): Corresponding changes.
1559 (h8300_expand_prologue): Likewise.
1560 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
1561
1562 2015-02-06 Jakub Jelinek <jakub@redhat.com>
1563
1564 PR rtl-optimization/64957
1565 PR debug/64817
1566 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
1567 IOR rather than for AND.
1568
1569 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
1570
1571 PR target/62631
1572 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
1573 of shift-add and (add + shift) operations. Rename local variable.
1574
1575 2015-02-05 Jeff Law <law@redhat.com>
1576
1577 PR target/17306
1578 * config/h8300/constraints.md (U): Correctly dectect
1579 "eightbit_data" memory addresses.
1580 * config/h8300/h8300.c (eightbit_constant_address_p): Also
1581 handle (const (plus (symbol_ref (x)))) where x is declared
1582 as an 8-bit data memory address.
1583 * config/h8300/h8300.md (call, call_value): Correctly detect
1584 "funcvec" functions.
1585
1586 PR target/43264
1587 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
1588 24 to 28 bits for the H8/300.
1589
1590 2015-02-06 Alan Modra <amodra@gmail.com>
1591
1592 PR target/64876
1593 * config/rs6000/rs6000.c (chain_already_loaded): New function.
1594 (rs6000_call_aix): Use it.
1595
1596 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
1597
1598 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
1599 check.
1600
1601 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
1602
1603 * config/h8300/constraints.md ("U" constraint): Use strict
1604 variant of REG_OK_FOR_BASE_P after reload has started.
1605
1606 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
1607
1608 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
1609 define to zero if !TARGET_NEON.
1610 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
1611
1612 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1613 Trevor Saunders <tsaunders@mozilla.com>
1614
1615 PR ipa/61548
1616 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
1617
1618 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1619
1620 PR ipa/61548
1621 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
1622 when removing varpool nodes.
1623
1624 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1625
1626 PR ipa/61548
1627 * varpool.c (varpool_node::remove): Fix order of variables.
1628
1629 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1630
1631 PR ipa/64686
1632 * ipa-inline.c (inline_small_functions): Fix ordering issue between
1633 speculation resolution and key updates.
1634
1635 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1636
1637 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
1638 about not letting any speculative edges unupdated.
1639
1640 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1641
1642 PR gcov/64123
1643 * gcov-io.c (gcov_var): Export.
1644
1645 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1646
1647 PR middle-end/64922
1648 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
1649 edges that become speculative.
1650
1651 2015-02-04 Jakub Jelinek <jakub@redhat.com>
1652
1653 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
1654 or DW_LANG_Fortran08.
1655 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
1656 DW_LANG_Fortran08.
1657 (gen_compile_unit_die): Handle "GNU Fortran2003" and
1658 "GNU Fortran2008" language strings.
1659 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
1660 * langhooks.h (lang_GNU_Fortran): New prototype.
1661 * langhooks.c (lang_GNU_Fortran): New function.
1662 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
1663 lang_GNU_Fortran.
1664
1665 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
1666
1667 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
1668 (RTX_OK_FOR_OLO10_P): Likewise.
1669
1670 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
1671
1672 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
1673
1674 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
1675
1676 PR middle-end/64922
1677 * gimple.c: Include gimple-ssa.h.
1678 (maybe_remove_unused_call_args): New function.
1679 * gimple.h (maybe_remove_unused_call_args): Declare.
1680 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
1681 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
1682 * gimple-fold.c (gimple_fold_call): Likewise.
1683
1684 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
1685
1686 PR rtl-optimization/64905
1687 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
1688 pointer alignment if it isn't needed.
1689
1690 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
1691
1692 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
1693 cortex-a72.cortex-a53.
1694 * config/aarch64/aarch64-tune.md: Regenerate.
1695 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
1696
1697 2015-02-04 Nick Clifton <nickc@redhat.com>
1698
1699 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
1700 inside a MEM.
1701
1702 2015-02-04 Jakub Jelinek <jakub@redhat.com>
1703
1704 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
1705 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
1706 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
1707 of DEF_BUILTIN.
1708 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
1709 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
1710 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
1711 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
1712 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
1713 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
1714 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
1715 * tree-core.h (enum built_in_function): In between
1716 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
1717 for builtins that use DEF_BUILTIN_CHKP macro.
1718
1719 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
1720
1721 PR debug/64817
1722 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
1723 operands for tcc_comparison exprs. Fix typos.
1724
1725 PR debug/64817
1726 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
1727 of two XORs that have an intervening AND or IOR.
1728
1729 PR debug/64817
1730 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
1731 simplification of XOR of AND to not allocate new rtx before
1732 committing to a simplification.
1733
1734 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1735
1736 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
1737 manual swaps in all peepholes.
1738
1739 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1740
1741 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
1742 of manual swapping implementation.
1743 (aarch64_expand_vec_perm_const_1): Likewise.
1744
1745 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
1746
1747 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
1748 (generic_addrcost_table): Remove NAMED_PARAM.
1749 (cortexa57_addrcost_table): Likewise.
1750 (xgene1_addrcost_table): Likewise.
1751 (generic_regmove_table): Likewise.
1752 (cortexa53_regmove_table): Likewise.
1753 (xgene1_regmove_table): Likewise.
1754 (generic_vector_table): Likewise.
1755 (cortexa57_vector_table): Likewise.
1756 (xgene1_vector_table): Likewise.
1757 (generic_tunings): Likewise.
1758 (cortexa53_tunings): Likewise.
1759 (cortexa57_tunings): Likewise.
1760 (xgene1_tunings): Likewise.
1761
1762 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
1763
1764 * config/arm/arm-cores.def: Add cortex-a72 and
1765 cortex-a72.cortex-a53.
1766 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
1767 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
1768 * config/arm/arm-tune.md: Regenerate.
1769 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
1770 "cortex-a72.cortex-a53".
1771 * doc/invoke.texi (ARM Options/-mtune): Likewise.
1772
1773 2015-02-04 Nick Clifton <nickc@redhat.com>
1774
1775 PR target/64408
1776 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
1777 of accepted codes.
1778 (nonimmediate_di_operand): Likewise.
1779
1780 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
1781 prefixes of known F5 using MSP430 MCUs.
1782
1783 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1784
1785 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
1786 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
1787 instead of __builtin_sqrt.
1788
1789 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
1790
1791 * varasm.c (do_assemble_alias): Follow transparent alias
1792 chain for target.
1793 (default_assemble_visibility): Follow transparent alias
1794 chain for decl name.
1795
1796 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1797
1798 PR middle-end/62103
1799 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
1800 to compute size of referenced value in the constant case.
1801
1802 2015-02-03 Jakub Jelinek <jakub@redhat.com>
1803
1804 PR rtl-optimization/64756
1805 * cse.c (invalidate_dest): New function.
1806 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
1807 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
1808 invalidate and do not record it.
1809
1810 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
1811
1812 PR target/64660
1813 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
1814 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
1815 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
1816 atomic_nand<mode>_soft_tcb): New insns.
1817 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
1818 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
1819 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
1820 Split into atomic_not_fetchsi_hard if operands[0] is unused.
1821 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
1822 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
1823 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
1824 atomic_not<mode>_hard if operands[0] is unused.
1825 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
1826 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
1827 if operands[0] is unused.
1828 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
1829 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
1830 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
1831 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
1832 unused.
1833 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
1834 into atomic_not<mode>_soft_tcb if operands[0] is unused.
1835 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
1836 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
1837 if operands[0] is unused.
1838 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
1839 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
1840 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
1841 atomic_nand_fetchsi_hard if operands[0] is unused.
1842 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
1843 atomic_nand<mode>_hard if operands[0] is unused.
1844 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
1845 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
1846 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
1847 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
1848 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
1849 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
1850 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
1851 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
1852 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
1853 atomic_not<mode>_hard if operands[0] is unused.
1854 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
1855 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
1856 unused.
1857 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
1858 into atomic_not<mode>_soft_tcb if operands[0] is unused.
1859 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
1860 atomic_nand<mode>_hard if operands[0] is unused.
1861 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
1862 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
1863
1864 2015-02-03 David Malcolm <dmalcolm@redhat.com>
1865
1866 PR jit/64810
1867 * Makefile.in (GCC_OBJS): Add gcc-main.o.
1868 * gcc-main.c: New file, containing "main" taken from gcc.c.
1869 * gcc.c (do_self_spec): Free decoded_options.
1870 (class driver): Move declaration to gcc.h.
1871 (main): Move declaration and implementation to new file
1872 gcc-main.c.
1873 (driver_get_configure_time_options): New function.
1874 * gcc.h (class driver): Move this declaration here, from
1875 gcc.c.
1876 (driver_get_configure_time_options): New declaration.
1877
1878 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
1879
1880 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
1881 cross-module inlining.
1882 * cgraph.h (cgraph_node): Add flag merged.
1883 * ipa-icf.c (sem_function::merge): Maintain it.
1884
1885 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
1886
1887 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
1888 instead of OBJECT_P.
1889
1890 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
1891
1892 PR target/62631
1893 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
1894 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
1895 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
1896 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
1897
1898 2015-02-03 Jakub Jelinek <jakub@redhat.com>
1899
1900 PR other/63504
1901 * combine.c (reg_n_sets_max): New variable.
1902 (can_change_dest_mode, reg_nonzero_bits_for_combine,
1903 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
1904 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
1905 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
1906 (rest_of_handle_combine): Initialize reg_n_sets_max.
1907
1908 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
1909
1910 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
1911 if some always_inline was inlined, apply changes before inlining
1912 heuristically.
1913
1914 2015-02-02 David Malcolm <dmalcolm@redhat.com>
1915
1916 PR jit/64810
1917 * config/arm/arm.c (arm_option_override): Set
1918 arm_selected_arch/cpu/tune to NULL on entry.
1919
1920 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
1921 Andrew Pinski <pinskia@gcc.gnu.org>
1922 Jakub Jelinek <jakub@gcc.gnu.org>
1923
1924 PR target/64231
1925 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
1926 integer typing for small model. Use IN_RANGE.
1927
1928 2015-02-02 Richard Biener <rguenther@suse.de>
1929
1930 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
1931 * tree-vrp.c (vrp_valueize_1): Likewise.
1932
1933 2015-02-02 Alan Modra <amodra@gmail.com>
1934
1935 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
1936 than mem for toc_restore.
1937 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
1938 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
1939 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
1940
1941 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
1942
1943 PR target/64047
1944 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
1945 explicit default options.
1946
1947 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
1948
1949 PR ipa/64872
1950 * ipa-utils.c (ipa_merge_profiles): Add release argument.
1951 * ipa-icf.c (sem_function::merge): Do not release body when merging.
1952 * ipa-utils.h (ipa_merge_profiles): Update prototype.
1953
1954 2015-02-01 Jakub Jelinek <jakub@redhat.com>
1955
1956 PR debug/64817
1957 * cfgexpand.c (deep_ter_debug_map): New variable.
1958 (avoid_deep_ter_for_debug): New function.
1959 (expand_debug_expr): If TERed SSA_NAME is in
1960 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
1961 instead of trying to expand SSA_NAME's def stmt.
1962 (expand_debug_locations): When expanding debug bind
1963 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
1964 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
1965 value.
1966 (pass_expand::execute): Call avoid_deep_ter_for_debug on
1967 all debug bind stmts. Delete deep_ter_debug_map after
1968 expand_debug_location if non-NULL and clear it.
1969
1970 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
1971
1972 PR target/64851
1973 * config/sh/sync.md (atomic_fetch_notsi_hard,
1974 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
1975 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
1976 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
1977 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
1978 atomic_not_fetch<mode>_soft_imask): New insns.
1979
1980 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1981
1982 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
1983 (rank_for_schedule_debug): Split from ...
1984 (rank_for_schedule): ... this.
1985 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
1986 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
1987
1988 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
1989
1990 * doc/md.texi (Machine Constraints): Alphabetize table by target.
1991 * doc/extend.texi (x86 Variable Attributes): Move section to
1992 correct alphabetization after renaming.
1993 (x86 Type Attributes): Likewise.
1994 (Target Builtins): Re-alphabetize menu.
1995 (x86 Built-in Functions): Move section to correct alphabetization
1996 after renaming.
1997 (x86 transactional memory intrinsics): Likewise.
1998 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
1999 and x86 Windows Options in table and menu.
2000 (x86 Options): Move section to correct alphabetization after
2001 renaming.
2002 (x86 Windows Options): Likewise.
2003
2004 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
2005
2006 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
2007 preferred names of the architecture and its 32- and 64-bit
2008 variants.
2009 * doc/invoke.texi: Likewise.
2010 * doc/md.texi: Likewise.
2011
2012 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
2013
2014 PR target/64882
2015 * config/i386/predicates.md (address_no_seg_operand): Reject
2016 non-CONST_INT_P operands in invalid mode.
2017
2018 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
2019
2020 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
2021 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
2022 * config/i386/predicates.md (address_no_seg_operand): Call
2023 address_operand with VOIDmode.
2024 (vsib_address_operand): Ditto.
2025 (address_mpx_no_base_operand): Ditto.
2026 (address_mpx_no_index_operand): Ditto.
2027
2028 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
2029
2030 PR target/64688
2031 * lra-constraints.c (original_subreg_reg_mode): New.
2032 (simplify_operand_subreg): Try to simplify subreg of const. Use
2033 original_subreg_reg_mode for it.
2034 (swap_operands): Update original_subreg_reg_mode.
2035 (curr_insn_transform): Set up original_subreg_reg_mode.
2036
2037 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
2038
2039 PR target/64617
2040 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
2041 function.
2042 (process_alt_operands): Use it.
2043 (curr_insn_transform): Check the optional reload pseudo class is
2044 ok for the mode.
2045
2046 2015-01-30 Joseph Myers <joseph@codesourcery.com>
2047
2048 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
2049 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
2050 prototype.
2051 * toplev.h (init_asm_output): Update comment on use of
2052 UNKNOWN_LOCATION with fatal_error.
2053 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
2054 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
2055 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
2056 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
2057 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
2058 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
2059 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
2060 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
2061 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
2062 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
2063 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
2064 fatal_error changed to pass input_location as first argument.
2065
2066 2015-01-30 Martin Liska <mliska@suse.cz>
2067
2068 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
2069 in #pragma GCC diagnostic guards.
2070
2071 2015-01-30 Richard Biener <rguenther@suse.de>
2072
2073 PR tree-optimization/64829
2074 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
2075 not add a widening conversion pattern but hand off extra
2076 widenings to callers.
2077 (vect_recog_widen_mult_pattern): Handle extra widening produced
2078 by vect_handle_widen_op_by_const.
2079 (vect_recog_widen_shift_pattern): Likewise.
2080 (vect_pattern_recog_1): Remove excess vertical space in dumping.
2081 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
2082 (vect_init_vector_1): Likewise.
2083 (vect_get_vec_def_for_operand): Likewise.
2084 (vect_finish_stmt_generation): Likewise.
2085 (vectorizable_load): Likewise.
2086 (vect_analyze_stmt): Likewise.
2087 (vect_is_simple_use): Likewise.
2088
2089 2015-01-29 Jeff Law <law@redhat.com>
2090
2091 * combine.c (try_combine): Fix typo in comment.
2092
2093 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
2094
2095 PR target/64580
2096 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
2097 (rs6000_stack_info): Add assert.
2098 (rs6000_output_savres_externs): New function, split off from...
2099 (rs6000_output_function_prologue): ... here. Do not call it for
2100 thunks.
2101
2102 2015-01-29 Jeff Law <law@redhat.com>
2103
2104 PR target/15184
2105 * combine.c (try_combine): If I0 is a memory load and I3 a store
2106 to a related address, increase the "goodness" of doing a 4-insn
2107 combination with I0-I3.
2108 (make_field_assignment): Handle SUBREGs in the ior+and case.
2109
2110 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
2111
2112 PR tree-optimization/64746
2113 * tree-if-conv.c (mask_exists): New function.
2114 (predicate_mem_writes): Save created mask with given size for further
2115 use.
2116 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
2117 (ifcvt_repair_bool_pattern): Collect all statements that are root
2118 of bool pattern and use iterative algorithm to remove multiple uses
2119 of predicates, display number of required iterations.
2120
2121 2015-01-29 Richard Biener <rguenther@suse.de>
2122
2123 PR tree-optimization/64853
2124 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
2125 stmt will get simulated again.
2126 * tree-ssa-ccp.c (valueize_op_1): Likewise.
2127
2128 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2129
2130 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
2131 return_in_pc. Remove redundant assignments.
2132 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
2133 (arm_expand_epilogue): Don't compare boolean with true in if condition.
2134
2135 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
2136
2137 * config/i386/i386.c (ix86_mode_after): Make static.
2138
2139 2015-01-29 Richard Biener <rguenther@suse.de>
2140
2141 PR tree-optimization/64844
2142 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
2143 dump cost model analysis.
2144 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
2145 Do not register adjusted load/store costs here.
2146
2147 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
2148 Uros Bizjak <ubizjak@gmail.com>
2149
2150 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
2151 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
2152 using x86_use_pseudo_pic_reg.
2153 * config/i386/i386.c (ix86_conditional_register_usage): Remove
2154 support for fixed PIC register.
2155 (ix86_use_pseudo_pic_reg): Not static any more.
2156
2157 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
2158
2159 PR middle-end/64805
2160 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
2161 to avoid error in cgraph node verification.
2162
2163 2015-01-29 Marek Polacek <polacek@redhat.com>
2164
2165 * doc/standards.texi: Reflect that the default for C is gnu11.
2166
2167 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
2168
2169 PR target/64761
2170 * reorg.c (switch_text_sections_between_p): New function.
2171 (relax_delay_slots): Call it when testing if the jump insn
2172 is removable. Use targetm.can_follow_jump when testing if
2173 the conditional branch can follow an unconditional jump.
2174
2175 2015-01-27 Caroline Tice <cmtice@google.com>
2176
2177 Committing VTV Cywin/Ming patch for Patrick Wollgast
2178 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
2179 if -fvtable-verify=preinit/std is used.
2180 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
2181 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
2182 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
2183 if -fvtable-verify=preinit/std is used.
2184 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
2185 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
2186 if -fvtable-verify=preinit/std is used.
2187 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
2188 * config/i386/mingw32.h (LIB_SPEC): Likewise.
2189 * varasm.c (assemble_variable): Add code to properly set the comdat
2190 section and name for the .vtable_map_vars section in case the
2191 target is PE or COFF.
2192
2193 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
2194
2195 PR ipa/64801
2196 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
2197 make sane BB profile.
2198 (cgraph_node::expand_thunk): Make sane BB profile.
2199 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
2200 * cgraph.h (init_lowered_empty_function): Update prototype.
2201 * config/i386/i386.c (make_resolver_func): Update call.
2202 * predict.c (gate): Disable branch prediction pass if
2203 profile is already there.
2204
2205 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
2206
2207 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
2208 * opth-gen.awk: Likewise.
2209 * common.opt: Mark flag_fp_contract_mode as Optimization.
2210
2211 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
2212
2213 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
2214 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
2215
2216 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
2217
2218 PR target/64659
2219 * config/sh/predicates.md (atomic_arith_operand,
2220 atomic_logical_operand): Remove.
2221 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
2222 (atomic_arith_operand_0): New predicate.
2223 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
2224 Use atomic_arith_operand_0 for input values.
2225 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
2226 atomic_compare_and_swap<mode>_soft_gusa,
2227 atomic_compare_and_swap<mode>_soft_tcb,
2228 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
2229 arith_reg_operand instead of register_operand.
2230 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
2231 atomic_arith_operand_0 for newval input.
2232 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
2233 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
2234 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
2235 arith_reg_operand instead of register_operand.
2236 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
2237 fetchop_predicate_1, fetchop_constraint_1_llcs,
2238 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
2239 fetchop_constraint_1_imask): New code iterator attributes.
2240 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
2241 register_operand. Use fetchop_predicate_1.
2242 (atomic_fetch_<fetchop_name>si_hard,
2243 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
2244 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
2245 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
2246 and arith_reg_operand instead of register_operand. Use
2247 fetchop_predicate_1, fetchop_constraint_1_gusa.
2248 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
2249 and arith_reg_operand instead of register_operand. Use
2250 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
2251 to allow R0 usage.
2252 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
2253 and arith_reg_operand instead of register_operand. Use
2254 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
2255 to allow R0 usage.
2256 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
2257 register_operand. Use atomic_logical_operand_1.
2258 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
2259 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
2260 arith_reg_operand instead of register_operand.
2261 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
2262 Use arith_reg_dest and arith_reg_operand instead of register_operand.
2263 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
2264 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
2265 register_operand. Use fetchop_predicate_1.
2266 (atomic_<fetchop_name>_fetchsi_hard,
2267 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
2268 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
2269 fetchop_constraint_1_llcs.
2270 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
2271 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
2272 fetchop_constraint_1_gusa.
2273 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
2274 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
2275 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
2276 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
2277 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
2278 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
2279 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
2280 register_operand. Use atomic_logical_operand_1.
2281 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
2282 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
2283 arith_reg_operand instead of register_operand.
2284 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
2285 arith_reg_operand instead of register_operand. Use logical_operand
2286 and K08. Adjust asm sequence to allow R0 usage.
2287 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
2288 arith_reg_operand instead of register_operand. Use logical_operand
2289 and K08.
2290
2291 2015-01-28 Jakub Jelinek <jakub@redhat.com>
2292
2293 PR other/63504
2294 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
2295 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
2296 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
2297 only get_full_len HOST_WIDE_INTs from get_val () array rather than
2298 all bits in *val_wide.
2299
2300 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
2301
2302 * varpool.c (tls_model_names): Fix names.
2303 (varpool_node::dump): Dump tls- prefix for tls models.
2304
2305 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
2306 Bernd Schmidt <bernds@codesourcery.com>
2307 Nathan Sidwell <nathan@codesourcery.com>
2308
2309 * config/nvptx/mkoffload.c: New file.
2310 * config/nvptx/t-nvptx: Add build rules for it.
2311 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
2312 (extra_programs): Add mkoffload.
2313 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
2314 function.
2315 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
2316
2317 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
2318
2319 PR middle-end/64809
2320 * cfgexpand.c (reorder_operands): Skip debug gimples.
2321
2322 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
2323
2324 PR tree-optimization/64277
2325 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
2326 range info when possible to refine estimation.
2327
2328 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
2329
2330 PR tree-optimization/64718
2331 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
2332 be a 16bit unsigned integer when n->range is 16.
2333 (bswap_replace): Convert src to that type if necessary for all bswap
2334 sizes. Fix rotation right notation in nearby comment. Use bswap_type
2335 set in pass_optimize_bswap::execute ().
2336
2337 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
2338
2339 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
2340 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
2341 integer and floating point variants.
2342 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
2343
2344 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
2345
2346 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
2347 for all vector modes.
2348
2349 2015-01-28 Jakub Jelinek <jakub@redhat.com>
2350
2351 PR bootstrap/64612
2352 * doc/sourcebuild.texi (comdat_group): Document.
2353
2354 2015-01-28 Terry Guo <terry.guo@arm.com>
2355
2356 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
2357
2358 2015-01-27 David Malcolm <dmalcolm@redhat.com>
2359
2360 * toplev.c (print_version): Add param "show_global_state", and
2361 only print GGC and plugin information if it is true.
2362 (init_asm_output): Pass in "true" for the new param when calling
2363 print_version.
2364 (process_options): Likewise.
2365 (toplev::main): Likewise.
2366 * toplev.h (print_version): Add new param to decl.
2367
2368 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
2369
2370 PR ipa/60871
2371 PR ipa/64139
2372 * tree.c (lookup_binfo_at_offset): New function.
2373 (get_binfo_at_offset): Use it.
2374
2375 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
2376
2377 PR ipa/64282
2378 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
2379 on vtable being vtable.
2380
2381 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
2382
2383 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
2384 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
2385 -mhotpatch= option.
2386 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
2387 -mno-hotpatch options. Change syntax of -mhotpatch= option.
2388 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
2389 Renamed.
2390 (s390_hotpatch_trampoline_halfwords_max): Renamed.
2391 (s390_hotpatch_hw_max): New name.
2392 (s390_hotpatch_trampoline_halfwords): Renamed.
2393 (s390_hotpatch_hw_before_label): New name.
2394 (get_hotpatch_attribute): Removed.
2395 (s390_hotpatch_hw_after_label): New name.
2396 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
2397 attribute.
2398 (s390_attribute_table): Ditto.
2399 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
2400 (s390_function_num_hotpatch_hw): New name.
2401 Remove special handling of inline functions and hotpatching.
2402 Return number of nops before and after the function label.
2403 (s390_can_inline_p): Removed.
2404 (s390_asm_output_function_label): Emit a configurable number of nops
2405 after the function label.
2406 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
2407 (TARGET_CAN_INLINE_P) Removed.
2408 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
2409
2410 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2411 Jiong Wang <jiong.wang@arm.com>
2412
2413 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
2414 of scratch reg.
2415 (cb<optab><mode>1): Likewise.
2416 * config/aarch64/iterators.md (bcond): New define_code_attr.
2417
2418 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2419
2420 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
2421 memory accesses.
2422
2423 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2424
2425 * config/s390/s390.c (s390_register_move_cost): Increase costs for
2426 FPR->GPR moves.
2427
2428 2015-01-27 Richard Biener <rguenther@suse.de>
2429
2430 * tree-vrp.c (update_value_range): Intersect the range with
2431 old recorded SSA name range information.
2432
2433 2015-01-27 Nick Clifton <nickc@redhat.com>
2434
2435 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
2436 BC, DE and HL registers directly, not via AX.
2437 When decrementing the stack pointer by a large amount, transfer SP
2438 into AX and perform the subtraction there.
2439 (rl78_expand_epilogue): Perform the inverse of the above
2440 enhancements.
2441
2442 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2443
2444 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
2445
2446 2015-01-27 Jakub Jelinek <jakub@redhat.com>
2447 Yury Gribov <y.gribov@samsung.com>
2448
2449 PR ubsan/64741
2450 * ubsan.c (ubsan_source_location): Refactor code.
2451 (ubsan_type_descriptor): Update type size. Refactor code.
2452
2453 2015-01-27 Richard Biener <rguenther@suse.de>
2454
2455 PR tree-optimization/56273
2456 PR tree-optimization/59124
2457 PR tree-optimization/64277
2458 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
2459 from the first VRP pass.
2460
2461 2015-01-27 Jakub Jelinek <jakub@redhat.com>
2462
2463 PR ipa/64776
2464 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
2465 handle the first argument in the same loop as all the other arguments.
2466
2467 PR rtl-optimization/61058
2468 * jump.c (cleanup_barriers): Update basic block boundaries
2469 if BLOCK_FOR_INSN is non-NULL on PREV.
2470
2471 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
2472
2473 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
2474 bounds narrowing, already instrumented calls and calls to
2475 not instrumentable functions.
2476
2477 2015-01-27 Jakub Jelinek <jakub@redhat.com>
2478
2479 PR tree-optimization/64807
2480 * wide-int.cc (wi::divmod_internal): Clear
2481 b_dividend[dividend_blocks_needed].
2482
2483 2015-01-26 DJ Delorie <dj@redhat.com>
2484
2485 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
2486 volatile memory references.
2487
2488 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
2489
2490 PR target/49263
2491 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
2492 remove_insn.
2493 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
2494 shifts if it already fits into K08.
2495
2496 2015-01-26 Jakub Jelinek <jakub@redhat.com>
2497
2498 PR ipa/64730
2499 * ipa-inline.c (inline_small_functions): Print "unknown" even
2500 if edge->call_stmt is non-NULL, but has builtins or unknown
2501 location.
2502
2503 PR middle-end/64421
2504 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
2505 with asterisk, skip the first character.
2506
2507 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
2508
2509 PR target/64806
2510 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
2511 order change.
2512
2513 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
2514
2515 PR target/64795
2516 * config/i386/i386.md (*movdi_internal): Also check operand 0
2517 to determine TYPE_LEA operand.
2518 (*movsi_internal): Ditto.
2519
2520 2015-01-26 Jakub Jelinek <jakub@redhat.com>
2521
2522 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
2523 OPTION_MASK_QUAD_MEMORY_ATOMIC.
2524
2525 2015-01-26 Renlin Li <renlin.li@arm.com>
2526
2527 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
2528 the comment.
2529 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
2530 for higher part.
2531
2532 2015-01-26 Richard Biener <rguenther@suse.de>
2533
2534 PR middle-end/64764
2535 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
2536 combining two BIT_AND_EXPR predicates.
2537
2538 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
2539
2540 PR bootstrap/64754
2541 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
2542
2543 2015-01-26 Terry Guo <terry.guo@arm.com>
2544
2545 * config/arm/arm.c (arm_file_start): Update the assignment of
2546 Tag_ABI_HardFP_use.
2547
2548 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
2549
2550 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
2551 pipeline model.
2552 config/arm/arm.md: Include the new Cortex-A57 model.
2553 (generic_sched): Don't use generic_sched when tuning for
2554 Cortex-A57.
2555
2556 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
2557 Uros Bizjak <ubizjak@gmail.com>
2558
2559 * config/i386/i386.c (get_builtin_code_for_version): Add
2560 support for BMI and BMI2 multiversion functions.
2561
2562 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2563
2564 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
2565 (extract_bit_field): Likewise.
2566 (extract_low_bits): Likewise.
2567 (expand_mult): Likewise.
2568 (expand_mult_highpart_adjust): Likewise.
2569
2570 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
2571
2572 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
2573 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
2574 * config/i386/i386.c (processor_model): Add
2575 M_INTEL_COREI7_BROADWELL.
2576 (arch_names_table): Add "broadwell".
2577
2578 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
2579
2580 PR target/49263
2581 PR target/53987
2582 PR target/64345
2583 PR target/59533
2584 PR target/52933
2585 PR target/54236
2586 PR target/51244
2587 * config/sh/sh-protos.h
2588 (sh_extending_set_of_reg::can_use_as_unextended_reg,
2589 sh_extending_set_of_reg::use_as_unextended_reg,
2590 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
2591 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
2592 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
2593 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
2594 (sh_treg_insns): New class.
2595 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
2596 (scope_counter): New class.
2597 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
2598 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
2599 sh_extending_set_of_reg::can_use_as_unextended_reg,
2600 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
2601 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
2602 sh_split_treg_set_expr): New functions.
2603 (addsubcosts): Handle treg_set_expr.
2604 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
2605 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
2606 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
2607 (sh_insn_operands_modified_between_p): Make non-static.
2608 * config/sh/predicates.md (zero_extend_movu_operand): Allow
2609 simple_mem_operand in addition to displacement_mem_operand.
2610 (zero_extend_operand): Don't allow zero_extend_movu_operand.
2611 (treg_set_expr, treg_set_expr_not_const01,
2612 arith_reg_or_treg_set_expr): New predicates.
2613 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
2614 arith_or_int_operand instead of logical_operand. Convert to
2615 insn_and_split. Try to optimize constant operand in splitter.
2616 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
2617 (*tstqi_t_zero): Delete.
2618 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
2619 (tstsi_t_and_not): Delete.
2620 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
2621 Convert to insn_and_split.
2622 (unnamed split, tstsi_t_zero_extract_xor,
2623 tstsi_t_zero_extract_subreg_xor_little,
2624 tstsi_t_zero_extract_subreg_xor_big): Delete.
2625 (*tstsi_t_shift_mask): New insn_and_split.
2626 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
2627 to recombine with surrounding insns when splitting.
2628 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
2629 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
2630 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
2631 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
2632 (*cbranch_div0s: Delete.
2633 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
2634 Try to recombine with surrounding insns when splitting. Add operand
2635 order variants.
2636 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
2637 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
2638 *addc_r_r_msb, *addc_2r_msb): Delete.
2639 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
2640 order variant.
2641 (*addc_negreg_t): New insn_and_split.
2642 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
2643 Try to recombine with surrounding insns when splitting.
2644 Add operand order variants.
2645 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
2646 insn_and_split patterns.
2647 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
2648 surrounding insns when splitting.
2649 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
2650 (*rotcl): Likewise. Add zero_extract variant.
2651 (*ashrsi2_31): New insn_and_split.
2652 (*negc): Convert to insn_and_split. Use treg_set_expr.
2653 (*zero_extend<mode>si2_disp_mem): Update comment.
2654 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
2655 condition.
2656 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
2657 with surrounding insns when splitting.
2658 (any_treg_expr_to_reg): New insn_and_split.
2659 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
2660 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
2661 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
2662 *zero_extract_2): New single bit zero extract patterns.
2663 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
2664 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
2665 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
2666 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
2667 set destination.
2668 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
2669 register_operand for set source.
2670
2671 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
2672
2673 * i386.opt (prefetch_sse): New targetsave.
2674 * i386.c (ix86_function_specific_save): Save prefetch_sse.
2675 (ix86_function_specific_restore): Restore prefetch_sse and initialize
2676 ix86_cost/ix86_tune_cost.
2677
2678 2015-01-23 David Malcolm <dmalcolm@redhat.com>
2679
2680 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
2681 Support the JIT by using 0 as the language type.
2682
2683 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
2684
2685 PR target/64317
2686 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
2687 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
2688 (mark_regno_live, process_bb_lives): Pass new parameter value to
2689 make_hard_regno_born.
2690
2691 2015-01-23 Jakub Jelinek <jakub@redhat.com>
2692
2693 PR rtl-optimization/63637
2694 PR rtl-optimization/60663
2695 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
2696 if elt->cost is MAX_COST for ASM_OPERANDS.
2697 (find_sets_in_insn): Fix up comment typo.
2698 (cse_insn): Don't set src_volatile for all non-volatile
2699 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
2700 or with "memory" clobber. Set elt->cost to MAX_COST
2701 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
2702 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
2703
2704 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
2705
2706 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
2707 alternative 1.
2708
2709 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
2710
2711 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
2712 libgcc/config/i386/elf-lib.h.
2713
2714 2015-01-23 Jakub Jelinek <jakub@redhat.com>
2715
2716 PR driver/64737
2717 * gcc.c (print_configuration): Don't print a blank line at the end
2718 here...
2719 (run_attempt): ... but here unstead.
2720
2721 PR middle-end/64734
2722 * omp-low.c (scan_sharing_clauses): Don't ignore
2723 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
2724 on target data/update constructs.
2725
2726 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2727
2728 PR target/50928
2729 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
2730 (DEBUG_RELOAD): Removed define.
2731 (m32c_limit_reload_class): Enable traces with if DEBUG0.
2732 (m32c_function_arg): Added a type cast.
2733 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
2734 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
2735 * config/m32c/bitops.md (andqi3_16): Likewise.
2736 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
2737 (push_a01_l): Likewise.
2738
2739 2015-01-23 David Malcolm <dmalcolm@redhat.com>
2740
2741 PR jit/64721
2742 * main.c (main): Construct toplev instances with init_signals=true.
2743 * toplev.c (general_init): Add param "init_signals", and use it to
2744 conditionalize the calls to signal and host_hooks.extra_signals.
2745 (toplev::toplev): Add param "init_signals".
2746 (toplev::main): When invoking general_init, pass m_init_signals
2747 to control whether signal-handlers are installed.
2748 * toplev.h (toplev::toplev): Add param "init_signals".
2749 (toplev::m_init_signals): New field.
2750
2751 2015-01-23 David Malcolm <dmalcolm@redhat.com>
2752
2753 PR jit/64722
2754 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
2755 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
2756 latter may be affected by the former (e.g. on i686).
2757
2758 2015-01-23 Martin Liska <mliska@suse.cz>
2759
2760 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
2761 false positive during profiledbootstrap.
2762
2763 2015-01-23 Tom de Vries <tom@codesourcery.com>
2764
2765 PR libgomp/64672
2766 * lto-opts.c (lto_write_options): Output non-explicit conservative
2767 -fno-openacc.
2768 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
2769 (append_compiler_options): Pass -fopenacc through.
2770
2771 2015-01-23 Tom de Vries <tom@codesourcery.com>
2772
2773 PR libgomp/64707
2774 * lto-opts.c (lto_write_options): Output non-explicit conservative
2775 -fno-openmp.
2776 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
2777 (append_compiler_options): Pass -fopenmp through.
2778
2779 2015-01-23 Jakub Jelinek <jakub@redhat.com>
2780
2781 PR debug/64511
2782 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
2783 GTY markup.
2784
2785 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
2786 * diagnostic.def (DK_ICE_NOBT): New kind.
2787 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
2788 like DK_ICE, but never print backtrace.
2789 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
2790 (internal_error_no_backtrace): New function.
2791 * gcc.c (execute): Use internal_error_no_backtrace instead of
2792 internal_error.
2793
2794 2015-01-22 Jeff Law <law@redhat.com>
2795
2796 PR target/52076
2797 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
2798 improve code density for small immediate to memory case.
2799 (insv): Better handle bitfield assignments when the field is
2800 being set to all ones.
2801 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
2802 operand predicate.
2803
2804 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2805 Jakub Jelinek <jakub@redhat.com>
2806
2807 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
2808 for !TARGET_LIBC_PROVIDES_SSP version and
2809 -fstack-protector-{all,strong,explicit} otherwise.
2810 * config/freebsd.h (LINK_SSP_SPEC): Handle
2811 -fstack-protector-{strong,explicit}.
2812
2813 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
2814 H.J. Lu <hongjiu.lu@intel.com>
2815
2816 PR ipa/64694
2817 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
2818 heap.
2819
2820 2015-01-22 Wei Mi <wmi@google.com>
2821
2822 PR rtl-optimization/64557
2823 * dse.c (record_store): Call get_addr for mem_addr.
2824 (check_mem_read_rtx): Likewise.
2825
2826 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
2827
2828 * fold-const.c (const_binop): Add early return for non-tcc_binary.
2829
2830 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
2831
2832 * toplev.c (init_local_tick): Process the failure when read
2833 fails for random_seed.
2834
2835 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
2836 'pretty_name' to avoid memory overflow.
2837
2838 2015-01-22 Richard Biener <rguenther@suse.de>
2839
2840 PR middle-end/64728
2841 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
2842 abnormal coalescing on undefined SSA names.
2843
2844 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
2845
2846 PR target/64688
2847 PR target/64477
2848 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
2849 for alternative 3.
2850 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
2851
2852 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
2853
2854 PR middle-end/63325
2855 * fold-const.c (fold_checksum_tree): Don't include value of
2856 expr->decl_with_vis.symtab_node in the checksum.
2857
2858 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2859
2860 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
2861
2862 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
2863
2864 PR driver/64690
2865 * gcc.c (insert_comments): New function.
2866 (try_generate_repro): Call it.
2867 (append_text): Removed.
2868
2869 2015-01-22 Richard Biener <rguenther@suse.de>
2870
2871 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
2872 with IL incompatible options. Properly honor user optimize
2873 attributes.
2874
2875 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
2876
2877 PR rtl-optimization/64682
2878 * combine.c (distribute_notes): When moving a death note for
2879 a register that is set in the new I2, make sure to put it
2880 before that new I2.
2881
2882 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
2883
2884 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
2885 not TARGET_DEFAULT.
2886
2887 2015-01-21 Jakub Jelinek <jakub@redhat.com>
2888
2889 PR debug/64511
2890 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
2891 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
2892 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
2893
2894 PR sanitizer/64706
2895 * doc/invoke.texi (-fsanitize=vptr): Document.
2896
2897 PR rtl-optimization/62078
2898 * dse.c: Include cfgcleanup.h.
2899 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
2900 anything call purge_all_dead_edges and cleanup_cfg at the end
2901 of the pass.
2902
2903 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
2904
2905 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
2906 edges.
2907
2908 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2909
2910 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
2911 decl attribute.
2912
2913 2015-01-21 David Sherwood <david.sherwood@arm.com>
2914 Tejas Belagod <Tejas.Belagod@arm.com>
2915
2916 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
2917 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
2918 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
2919 Removed.
2920
2921 2015-01-21 David Sherwood <david.sherwood@arm.com>
2922 Tejas Belagod <Tejas.Belagod@arm.com>
2923
2924 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
2925 (aarch64_reverse_mask): New decls.
2926 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
2927 (insn_count): New mode_attr.
2928 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
2929 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
2930 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
2931 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
2932 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
2933 (aarch64_simd_st4): New patterns.
2934 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
2935 (aarch64_reverse_mask): New functions.
2936
2937 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
2938
2939 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
2940 Declare.
2941 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
2942 addressing modes for BE.
2943 (aarch64_print_operand): Add 'R' specifier.
2944 (aarch64_simd_disambiguate_copy): Delete.
2945 (aarch64_simd_emit_reg_reg_move): New function.
2946 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
2947 in define_splits for structural moves.
2948 (mov<mode>): Use less restrictive predicates.
2949 (*aarch64_mov<mode>): Simplify and only allow for LE.
2950 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
2951
2952 2015-01-21 Alan Hayward <alan.hayward@arm.com>
2953
2954 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
2955
2956 2015-01-21 Richard Henderson <rth@redhat.com>
2957
2958 PR target/64669
2959 * ccmp.c (used_in_cond_stmt_p): Remove.
2960 (expand_ccmp_expr): Don't use it.
2961
2962 2015-01-21 Nick Clifton <nickc@redhat.com>
2963
2964 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
2965 PARALLELs.
2966
2967 2015-01-21 Richard Biener <rguenther@suse.de>
2968
2969 PR middle-end/64313
2970 * tree-core.h (builtin_info, builtin_info_type): Turn from
2971 an object with two arrays into an array of an object with
2972 decl and two flags, implicit_p and declared_p.
2973 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
2974 set_builtin_decl, set_builtin_decl_implicit_p,
2975 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
2976 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
2977 * builtins.c (builtin_info): Adjust.
2978 * gimplify.c (gimplify_addr_expr): References to builtins
2979 that have been declared by the user makes them eligible for
2980 use by the compiler. Call set_builtin_decl_implicit_p on them.
2981
2982 2015-01-20 Jeff Law <law@redhat.com>
2983
2984 PR target/59946
2985 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
2986 allow pc-relative addresses in operand predicates or constraints.
2987
2988 2015-01-21 Bin Cheng <bin.cheng@arm.com>
2989
2990 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
2991 neon on aarch32 processors for stringops.
2992
2993 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
2994
2995 PR ipa/63576
2996 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
2997
2998 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
2999
3000 PR lto/45375
3001 * ipa-inline.c: Include lto-streamer.h
3002 (report_inline_failed_reason): Output source file differences and
3003 flags on optimization/target node mismatch.
3004 (can_inline_edge_p): Consider caller to be the outer inline function;
3005 be less restrictive about matching opimize and optimize_size attributes.
3006 (inline_account_function_p): Break out from ...
3007 (inline_small_functions): ... here.
3008 * ipa-inline-transform.c (clone_inlined_nodes): Use
3009 inline_account_function_p.
3010 (inline_call): Use optimize attribution; use inline_account_function_p.
3011 (inline_transform): Use opt_for_fn.
3012 * ipa-inline.h (inline_account_function_p): Declare.
3013
3014 2015-01-20 Jakub Jelinek <jakub@redhat.com>
3015
3016 PR debug/64663
3017 * dwarf2out.c (decl_piece_node): Don't put bitsize into
3018 mode if bitsize <= 0.
3019 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
3020 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
3021 sizes and positions.
3022
3023 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
3024
3025 * config/nios2/nios2.c (nios2_asm_file_end): Implement
3026 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
3027 needed.
3028 (TARGET_ASM_FILE_END): Define.
3029
3030 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3031
3032 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
3033 (struct tune_params): Use the enum.
3034 * arm.c (arm_*_tune): Update.
3035 (arm_option_override): Update.
3036
3037 2015-01-20 Richard Biener <rguenther@suse.de>
3038
3039 PR ipa/64684
3040 * ipa-reference.c (add_static_var): Inline ...
3041 (analyze_function): ... here after splitting out from ...
3042 (is_proper_for_analysis): ... this.
3043
3044 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
3045
3046 PR target/64149
3047 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
3048 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
3049 replace the conditional with it's true branch.
3050 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
3051 (arm_lra_p): Remove.
3052
3053 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
3054
3055 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
3056
3057 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3058
3059 * config/tilegx/mul-tables.c: Move symtab.h include after
3060 coretypes.h include.
3061 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
3062 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
3063 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
3064 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
3065 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
3066
3067 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
3068
3069 PR bootstrap/64676
3070 Revert:
3071 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
3072
3073 PR rtl-optimization/64081
3074 * loop-iv.c (def_pred_latch_p): New function.
3075 (latch_dominating_def): Allow specific cases with non-single
3076 definitions.
3077 (iv_get_reaching_def): Likewise.
3078 (check_complex_exit_p): New function.
3079 (check_simple_exit): Use check_complex_exit_p to allow certain cases
3080 with exits not executing on any iteration.
3081
3082 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
3083
3084 PR lto/45375
3085 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
3086 to set branch cost.
3087
3088 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
3089
3090 PR lto/45375
3091 * i386.c (gate): Check flag_expensive_optimizations and
3092 optimize_size.
3093 (ix86_option_override_internal): Drop optimize_size condition
3094 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
3095 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
3096 MASK_PREFER_AVX128.
3097 (ix86_avx256_split_vector_move_misalign,
3098 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
3099 * sse.md (all uses of TARGET_PREFER_AVX128): Add
3100 optimize_insn_for_speed_p check.
3101
3102 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
3103
3104 * config/mips/mips.h (FP_ASM_SPEC): New define.
3105 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
3106 instead.
3107
3108 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
3109
3110 PR target/53988
3111 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
3112 nullptr for insn when reaching the first insn.
3113 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
3114 (sh_insn_operands_modified_between_p): Add nullptr check.
3115 (sh_find_extending_set_of_reg): Fix log message. Don't accept
3116 sign extending mem load if the insn contains any UNSPEC or
3117 UNSPEC_VOLATILE.
3118
3119 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
3120
3121 * params.def (inline-unit-growth): Drop to 15%.
3122 * invoke.texi (inline-unit-growth): Document change.
3123
3124 2015-01-19 Martin Liska <mliska@suse.cz>
3125
3126 PR ipa/64668
3127 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
3128 function for second argument of OBJ_TYPE_REF.
3129
3130 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
3131
3132 PR ipa/64218
3133 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
3134 whether function is an alias.
3135
3136 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
3137
3138 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
3139 cases.
3140
3141 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
3142
3143 PR rtl-optimization/64671
3144 * lra-remat.c (operand_to_remat): Don't consider jump and call
3145 insns.
3146
3147 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
3148
3149 * config/rs6000/default64.h: Include rs6000-cpus.def.
3150 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
3151 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
3152 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
3153 and POWER8.
3154 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
3155 POWER8.
3156 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
3157 pseudo-op to specify assembler dialect.
3158
3159 2015-01-19 Martin Liska <mliska@suse.cz>
3160
3161 PR ipa/64664
3162 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
3163 Handle safe potentially removed nodes during filtering.
3164
3165 2015-01-19 Martin Liska <mliska@suse.cz>
3166
3167 * doc/extend.texi (no_icf): Add new attribute description.
3168 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
3169 where the pass attempts to merge a function with no_icf attribute.
3170
3171 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3172
3173 PR target/64532
3174 * doc/md.texi (ARM Options): Document register constraints.
3175
3176 2015-01-19 Jiong Wang <jiong.wang@arm.com>
3177 Andrew Pinski <apinski@cavium.com>
3178
3179 PR target/64304
3180 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
3181 (ashl<mode>3): Don't expand if operands[2] is not constant.
3182
3183 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3184
3185 PR target/64448
3186 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
3187 Match xor-and-xor RTL pattern.
3188
3189 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
3190
3191 PR rtl-optimization/64081
3192 * loop-iv.c (def_pred_latch_p): New function.
3193 (latch_dominating_def): Allow specific cases with non-single
3194 definitions.
3195 (iv_get_reaching_def): Likewise.
3196 (check_complex_exit_p): New function.
3197 (check_simple_exit): Use check_complex_exit_p to allow certain cases
3198 with exits not executing on any iteration.
3199
3200 2015-01-19 Jakub Jelinek <jakub@redhat.com>
3201
3202 * common.opt (fgraphite): Fix a typo.
3203
3204 2015-01-19 Felix Yang <felix.yang@huawei.com>
3205
3206 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
3207 pattern.
3208 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
3209 uminp, smax_nanp, smin_nanp): New builtins.
3210 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
3211 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
3212 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
3213 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
3214 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
3215 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
3216 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
3217 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
3218 vpminnms_f32): Rewrite using builtin functions.
3219
3220 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
3221
3222 PR libgomp/64625
3223 * omp-low.c (offload_symbol_decl): Remove variable.
3224 (get_offload_symbol_decl): Remove function.
3225 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
3226 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
3227 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
3228 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
3229 BUILT_IN_GOACC_UPDATE don't pass it at all.
3230
3231 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
3232
3233 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
3234 callers.
3235
3236 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
3237
3238 * ipa-chkp.c (chkp_produce_thunks): Add early param
3239 to split thunks production into two passes. Keep
3240 'always_inline' function bodies after the first pass.
3241 (pass_data_ipa_chkp_early_produce_thunks): New.
3242 (pass_ipa_chkp_early_produce_thunks): New.
3243 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
3244 chkp_produce_thunks signature.
3245 (make_pass_ipa_chkp_early_produce_thunks): New.
3246 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
3247 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
3248 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
3249
3250 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
3251
3252 * cgraph.c (cgraph_node::dump): Dump profile flags.
3253
3254 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
3255
3256 PR target/64652
3257 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
3258 reg appear first in the parallel.
3259
3260 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
3261
3262 * ipa-reference.c (set_reference_optimization_summary,
3263 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
3264 disabled.
3265 (ignore_module_statics): New static var.
3266 (propagate_bits): If ipa-reference is disabled, do not look into local
3267 properties.
3268 (analyze_function): Disable analysis when ipa_reference is disabled.
3269 (generate_summary): Do not dump when reference is disabled;
3270 collect vars accessed from functions with ipa-reference disabled.
3271 (get_read_write_all_from_node): When ipa-reference is disabled, use the
3272 node flags.
3273 (gate): Enable for LTO.
3274 (ignore_edge_p): New function.
3275 (propagate): Skip functions w/o ipa-reference analysis.
3276 * optc-save-gen.awk: Handle optimize_debug correctly.
3277 * opth-gen.awk: Likewise.
3278 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
3279 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
3280 fira-share-save-slots, fira-share-spill-slots,
3281 fmodulo-sched-allow-regmoves, fpartial-inlining,
3282 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
3283 ftracer, ftree-parallelize-loops, fassociative-math,
3284 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
3285 Optimization
3286 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
3287 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
3288 Optimization.
3289 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
3290 Fix for IPA.
3291
3292 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
3293
3294 PR ipa/64378
3295 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
3296 flag correctly.
3297 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
3298
3299 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
3300
3301 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
3302 Remove duplicate option listings.
3303
3304 2015-01-18 Felix Yang <felix.yang@huawei.com>
3305
3306 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
3307 (autofdo_source_profile::get_callsite_total_count,
3308 function_instance::get_function_instance_by_decl,
3309 string_table::get_index, string_table::get_index_by_decl,
3310 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
3311 Fix comment typos. Reformatting and minor code rearrangement.
3312
3313 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
3314
3315 * config/rs6000/rs6000.md (probe_stack): Delete.
3316 (probe_stack_address): New.
3317
3318 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
3319
3320 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
3321 to test for 32-bit ABIs, not !TARGET_POWERPC64.
3322
3323 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
3324
3325 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
3326 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
3327 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
3328 snafu.
3329 (rs6000_libcall_value): Use the new function.
3330
3331 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
3332
3333 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
3334
3335 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
3336
3337 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
3338 implement a more precise life analysis for it during backward scan.
3339
3340 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
3341
3342 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
3343
3344 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
3345
3346 PR rtl-optimization/52773
3347 * calls.c (emit_library_call_value): When pushing arguments use
3348 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
3349 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
3350 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
3351
3352 2015-01-17 Jeff Law <law@redhat.com>
3353
3354 PR rtl-optimization/32790
3355 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
3356 not ZERO_EXTEND in SET_DESTs.
3357
3358 2015-01-17 Alan Modra <amodra@gmail.com>
3359
3360 * cprop.c (do_local_cprop): Revert last change.
3361
3362 2015-01-16 DJ Delorie <dj@redhat.com>
3363 Nick Clifton <nickc@redhat.com>
3364
3365 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
3366 (addhi3_real): Likewise. Fix [HL+0] syntax.
3367 (subqi3_real): Likewise.
3368 (subhi3_real): Likewise.
3369 (cbranchqi4_real): Likewise. Allow saddr,#imm.
3370 (cbranchhi4_real): Likewise.
3371 (cbranchhi4_real_inverted): Likewise.
3372 (cbranchsi4_real_lt): Likewise.
3373 (cbranchsi4_real_ge): Likewise.
3374 (cbranchsi4_real_ge): Likewise.
3375 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
3376 (sub<mode>3_virt): Likewise.
3377 (cbranchqi4_virt): Likewise.
3378 (cbranchhi4_virt): Likewise.
3379 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
3380 always use '[reg+imm]' even when imm is zero.
3381 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
3382 (rl78_general_operand): New.
3383 (rl78_nonimmediate_operand): New.
3384 (rl78_nonfar_operand): Use them.
3385 (rl78_nonfar_nonimm_operand): Likewise.
3386 (rl78_stack_based_mem): Fix.
3387 * config/rl78/constraints.md (Ibqi): New.
3388 (IBqi): New.
3389 (Wsa): New.
3390 (Wsf): New.
3391 (Cs1): Fix.
3392 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
3393 (iorqi3): Likewise.
3394 (xorqi3): Likewise.
3395 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
3396
3397 * config/rl78/constrains (Qs8): New constraint.
3398 * config/rl78/rl78.c (rl78_flags_already_set): New function.
3399 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
3400 * config/rl78/rl78-real.md (update_Z): New attribute.
3401 Update patterns to set it.
3402 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
3403 shorter compare and branch sequence can be used.
3404 (cbranchhi4_real): Likewise.
3405 (cbranchhi4_real_inverted): Likewise.
3406
3407 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
3408 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
3409 address space.
3410 * config/rl78/rl78.c (rl78_get_name_encoding): New.
3411 (rl78_option_override): Allow -mes0 only if C.
3412 (characterize_address): Support subregs of symbol_refs.
3413 (rl78_addr_space_address_mode): Move. Add __near.
3414 (rl78_far_p): Likewise.
3415 (rl78_addr_space_pointer_mode): Likewise.
3416 (rl78_as_legitimate_address): Likewise.
3417 (rl78_addr_space_subset_p): Likewise.
3418 (rl78_addr_space_convert): Likewise.
3419 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
3420 symbols with -mes0.
3421 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
3422 addressing.
3423 (rl78_alloc_physical_registers_op1): Change logic to prefer
3424 symbol[BC] addressing.
3425 (frodata_section): New.
3426 (rl78_asm_init_sections): Initialize it.
3427 (rl78_select_section): Put __far readonly symbols in .frodata.
3428 (rl78_make_type_far): New.
3429 (rl78_insert_attributes): Force all readonly symbols to be
3430 __far when -mes0.
3431 (rl78_asm_out_integer): New.
3432 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
3433 * config/rl78/rl78.opt (-mes0): New.
3434
3435 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
3436 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
3437 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
3438 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
3439 (rl78_saddr_p): New.
3440 (rl78_output_aligned_common): New.
3441 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
3442 (rl78_handle_saddr_attribute): New.
3443 (rl78_handle_naked_attribute): New.
3444 (rl78_attribute_table): Add saddr.
3445 (rl78_print_operand_1): Don't print '!' on saddr operands.
3446 (rl78_print_operand_1): Strip encodings.
3447 (rl78_sfr_p): New.
3448 (rl78_strip_name_encoding): New.
3449 (rl78_attrlist_to_encoding): New.
3450 (rl78_encode_section_info): New.
3451 (rl78_asm_init_sections): New.
3452 (rl78_select_section): New.
3453 (rl78_output_labelref): New.
3454 (rl78_output_aligned_common): New.
3455 (rl78_asm_out_integer): New.
3456 (rl78_asm_ctor_dtor): New.
3457 (rl78_asm_constructor): New.
3458 (rl78_asm_destructor): New.
3459
3460 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
3461 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
3462 (transcode_memory_rtx): Update.
3463 (rl78_expand_epilogue): Use A_REG instead of 0.
3464
3465 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3466
3467 * config/arm/arm-protos.h (struct tune_params): New field
3468 sched_autopref_queue_depth.
3469 * config/arm/arm.c (sched-int.h): Include header.
3470 (arm_first_cycle_multipass_dfa_lookahead_guard,)
3471 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
3472 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
3473 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
3474 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
3475 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
3476 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
3477 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
3478 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
3479 * config/arm/t-arm (arm.o): Update.
3480 * haifa-sched.c (update_insn_after_change): Update.
3481 (rank_for_schedule): Use auto-prefetcher model, if requested.
3482 (autopref_multipass_init): New static function.
3483 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
3484 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
3485 variable for debug dumps.
3486 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
3487 (autopref_multipass_dfa_lookahead_guard): New global function that
3488 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
3489 (init_h_i_d): Update.
3490 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
3491 * sched-int.h (enum autopref_multipass_data_status): New const enum.
3492 (autopref_multipass_data_): Structure for auto-prefetcher data.
3493 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
3494 (struct _haifa_insn_data:autopref_multipass_data): New field.
3495 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
3496 (autopref_multipass_dfa_lookahead_guard): Declare.
3497
3498 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3499
3500 * rtlanal.c (get_base_term): Handle SCRATCH.
3501
3502 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3503
3504 * config/aarch64/aarch64.c
3505 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
3506 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
3507 * config/arm/arm.c
3508 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
3509 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
3510
3511 2015-01-17 Alan Modra <amodra@gmail.com>
3512
3513 * cprop.c (do_local_cprop): Disallow replacement of fixed
3514 hard registers.
3515
3516 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3517
3518 PR target/62066
3519 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
3520 early return 0.
3521
3522 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
3523
3524 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
3525 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
3526
3527 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3528
3529 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
3530 * config/arm/thumb1.md: ... Here.
3531
3532 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
3533
3534 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
3535 TImode for TARGET_32BIT.
3536
3537 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
3538
3539 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
3540 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
3541 as ...
3542 (rs6000_abi_word_mode): New function.
3543
3544 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
3545
3546 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
3547 instead of UNITS_PER_WORD to describe the size of stack slots.
3548
3549 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
3550
3551 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
3552 as rs6000_promote_function_mode. Move comment to there.
3553 (rs6000_promote_function_mode): New function.
3554
3555 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
3556
3557 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
3558 -mpowerpc64 is active.
3559
3560 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
3561
3562 PR middle-end/64353
3563 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
3564 virtuals on start.
3565
3566 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
3567
3568 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
3569 introduced in revision 219724.
3570
3571 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3572 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3573
3574 PR target/64263
3575 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
3576 destination is not a GP reg.
3577 (*movdi_aarch64): Likewise.
3578
3579 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
3580
3581 PR target/64623
3582 * config/rs6000/default64.h: Revert ISA change.
3583
3584 2015-01-16 Richard Biener <rguenther@suse.de>
3585
3586 PR middle-end/64614
3587 * tree-ssa-uninit.c: Include tree-cfg.h.
3588 (MAX_SWITCH_CASES): New define.
3589 (convert_control_dep_chain_into_preds): Handle switch statements.
3590 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
3591 (normalize_one_pred_1): Do not split bit-manipulations.
3592 Record (x & CST).
3593
3594 2015-01-16 Richard Biener <rguenther@suse.de>
3595
3596 PR tree-optimization/64568
3597 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
3598 complex load rewriting for TARGET_MEM_REFs.
3599
3600 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
3601
3602 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
3603
3604 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
3605
3606 PR target/64149
3607 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
3608 variable.
3609 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
3610 (aarch64_lra_p): Remove.
3611
3612 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
3613
3614 PR target/64363
3615 * ipa-chkp.h (chkp_instrumentable_p): New.
3616 * ipa-chkp.c: Include tree-inline.h.
3617 (chkp_instrumentable_p): New.
3618 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
3619 Fix processing of not instrumentable functions.
3620 (chkp_versioning): Use chkp_instrumentable_p. Warn about
3621 not instrumentable functions.
3622 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
3623 chkp_instrumentable_p.
3624 * tree-inline.h (copy_forbidden): New.
3625 * tree-inline.c (copy_forbidden): Not static anymore.
3626
3627 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3628
3629 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
3630 ptr1, ptr2 unused.
3631
3632 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
3633
3634 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
3635 type OP_OUT to OP_INOUT.
3636
3637 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
3638
3639 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
3640 (high x) y) to y if x and y have the same base.
3641
3642 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
3643
3644 * config/arm/cortex-a57.md: New.
3645 * config/aarch64/aarch64.md: Include it.
3646 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
3647 * config/aarch64/aarch64-tune.md: Regenerate.
3648
3649 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
3650
3651 PR target/64015
3652 * ccmp.c (expand_ccmp_next): New function.
3653 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
3654 and compare insn sequence.
3655 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
3656 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
3657 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
3658 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
3659 (*ccmp_ior): Changed to ccmp_ior<mode>.
3660 (cmp<mode>): New pattern.
3661 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
3662 parameters.
3663 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
3664
3665 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
3666
3667 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
3668 _mm256_bsrli_epi128): New.
3669 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
3670
3671 2015-01-15 Jiong Wang <jiong.wang@arm.com>
3672
3673 * expmed.c (store_bit_field_using_insv): Improve warning message.
3674 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
3675
3676 2015-01-15 Jiong Wang <jiong.wang@arm.com>
3677
3678 PR rtl-optimization/64011
3679 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
3680 there is partial overflow.
3681
3682 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
3683
3684 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
3685 prototype.
3686 (nds32_expand_epilogue_v3pop): Likewise.
3687 * config/nds32/nds32.md (sibcall): Define this for sibling call
3688 optimization.
3689 (sibcall_register): Likewise.
3690 (sibcall_immediate): Likewise.
3691 (sibcall_value): Likewise.
3692 (sibcall_value_register): Likewise.
3693 (sibcall_value_immediate): Likewise.
3694 (sibcall_epilogue): Likewise.
3695 (epilogue): Pass false to indicate this is not a sibcall epilogue.
3696 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
3697 (nds32_expand_epilogue_v3pop): Likewise.
3698
3699 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
3700
3701 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
3702 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
3703 (return_internal): New.
3704 (return): Define this named pattern.
3705 (simple_return): Define this named pattern.
3706 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
3707 pattern instead of unspec_volatile_func_return.
3708 (nds32_expand_epilogue_v3pop): Likewise.
3709 (nds32_can_use_return_insn): New function.
3710
3711 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
3712
3713 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
3714 * config/nds32/nds32.md (pop25return): New.
3715 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
3716 pop25return pattern.
3717
3718 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
3719
3720 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
3721 -mforbid-fp-as-gp, and -mex9 options.
3722
3723 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
3724
3725 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
3726 remove -mgp-direct option.
3727
3728 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
3729
3730 * doc/invoke.texi (--param early-inlining-insns): Update default value.
3731 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
3732
3733 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
3734
3735 * ipa-inline.c (inline_small_functions): Work around hints
3736 cache issue.
3737
3738 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
3739
3740 PR target/59710
3741 * doc/invoke.texi (Option Summary): Document new Nios II
3742 -mgpopt= syntax.
3743 (Nios II Options): Likewise.
3744 * config/nios2/nios2.opt: Add -mgpopt= option support.
3745 Modify existing -mgpopt and -mno-gpopt options to be aliases.
3746 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
3747 * config/nios2/nios2.c (nios2_option_override): Adjust
3748 -mgpopt defaulting.
3749 (nios2_in_small_data_p): Return true for explicit small data
3750 sections even with -G0.
3751 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
3752 option choices.
3753
3754 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
3755
3756 PR ipa/64612
3757 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
3758 of comdat locals.
3759 (inline_call): Fix removal of aliases.
3760
3761 2015-01-15 Jakub Jelinek <jakub@redhat.com>
3762
3763 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
3764 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
3765 * opts.c (common_handle_option): Add -fsanitize=vptr.
3766 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
3767 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
3768 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
3769 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
3770 (ubsan_expand_vptr_ifn): New prototype.
3771 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
3772 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
3773 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
3774 expand_LOOP_VECTORIZED): Make argument nameless, remove
3775 ATTRIBUTE_UNUSED.
3776 (expand_UBSAN_VPTR): New function.
3777 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
3778 in fn spec.
3779 (UBSAN_VPTR): New internal function.
3780 * sanopt.c (tree_map_traits): Renamed to ...
3781 (sanopt_tree_map_traits): ... this.
3782 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
3783 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
3784 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
3785 (maybe_optimize_ubsan_vptr_ifn): New function.
3786 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
3787 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
3788 -fsanitize=vptr.
3789 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
3790 internal calls like pure functions for aliasing, even when they
3791 have other side-effects that prevent making them ECF_PURE.
3792 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
3793 (ubsan_expand_vptr_ifn): New function.
3794
3795 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
3796
3797 PR rtl-optimization/64110
3798 * stmt.c (parse_output_constraint): Process '^' and '$'.
3799 (parse_input_constraint): Ditto.
3800 * lra-constraints.c (process_alt_operands): Process the new
3801 constraints.
3802 * ira-costs.c (record_reg_classes): Process the new constraint
3803 '^'.
3804 * genoutput.c (indep_constraints): Add '^' and '$'.
3805 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
3806 * doc/md.texi: Add description of the new constraints.
3807
3808 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3809 Bernd Schmidt <bernds@codesourcery.com>
3810 Cesar Philippidis <cesar@codesourcery.com>
3811 James Norris <jnorris@codesourcery.com>
3812 Tom de Vries <tom@codesourcery.com>
3813 Ilmir Usmanov <i.usmanov@samsung.com>
3814 Dmitry Bocharnikov <dmitry.b@samsung.com>
3815 Evgeny Gavrin <e.gavrin@samsung.com>
3816 Jakub Jelinek <jakub@redhat.com>
3817
3818 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
3819 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
3820 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
3821 New function types.
3822 * builtins.c: Include "gomp-constants.h".
3823 (expand_builtin_acc_on_device): New function.
3824 (expand_builtin, is_inexpensive_builtin): Handle
3825 BUILT_IN_ACC_ON_DEVICE.
3826 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
3827 New macros.
3828 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
3829 flag_openmp.
3830 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
3831 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
3832 i386/intelmic-offload.h.
3833 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
3834 to libgomp and its dependencies.
3835 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
3836 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
3837 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
3838 * config/ia64/hpux.h (LIB_SPEC): Likewise.
3839 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
3840 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
3841 * doc/generic.texi: Update for OpenACC changes.
3842 * doc/gimple.texi: Likewise.
3843 * doc/invoke.texi: Likewise.
3844 * doc/sourcebuild.texi: Likewise.
3845 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
3846 GF_OMP_FOR_KIND_OACC_LOOP.
3847 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
3848 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
3849 GF_OMP_TARGET_KIND_OACC_UPDATE,
3850 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
3851 Dump more data.
3852 * gimple.c: Update comments for OpenACC changes.
3853 * gimple.def: Likewise.
3854 * gimple.h: Likewise.
3855 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
3856 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
3857 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
3858 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
3859 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
3860 appropriate place.
3861 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
3862 * gimplify.c: Include "gomp-constants.h".
3863 Update comments for OpenACC changes.
3864 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
3865 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
3866 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
3867 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
3868 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
3869 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
3870 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
3871 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
3872 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
3873 OMP_CLAUSE_SEQ.
3874 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
3875 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
3876 OMP_CLAUSE_SET_MAP_KIND.
3877 (gimplify_oacc_cache): New function.
3878 (gimplify_omp_for): Handle OACC_LOOP.
3879 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
3880 OACC_DATA.
3881 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
3882 OACC_EXIT_DATA, OACC_UPDATE.
3883 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
3884 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
3885 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
3886 (gimplify_body): Consider flag_openacc next to flag_openmp.
3887 * lto-streamer-out.c: Include "gomp-constants.h".
3888 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
3889 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
3890 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
3891 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
3892 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
3893 (BUILT_IN_ACC_ON_DEVICE): New builtins.
3894 * omp-low.c: Include "gomp-constants.h".
3895 Update comments for OpenACC changes.
3896 (struct omp_context): Add reduction_map, gwv_below, gwv_this
3897 members.
3898 (extract_omp_for_data, use_pointer_for_field, install_var_field)
3899 (new_omp_context, delete_omp_context, scan_sharing_clauses)
3900 (create_omp_child_function, scan_omp_for, scan_omp_target)
3901 (check_omp_nesting_restrictions, lower_reduction_clauses)
3902 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
3903 Update for OpenACC changes.
3904 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
3905 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
3906 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
3907 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
3908 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
3909 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
3910 OMP_CLAUSE_MAP_*.
3911 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
3912 Handle GF_OMP_FOR_KIND_OACC_LOOP.
3913 (expand_omp_target, lower_omp_target): Handle
3914 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
3915 GF_OMP_TARGET_KIND_OACC_UPDATE,
3916 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
3917 GF_OMP_TARGET_KIND_OACC_DATA.
3918 (pass_expand_omp::execute, execute_lower_omp)
3919 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
3920 flag_openmp.
3921 (offload_symbol_decl): New variable.
3922 (oacc_get_reduction_array_id, oacc_max_threads)
3923 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
3924 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
3925 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
3926 (oacc_gimple_assign, oacc_initialize_reduction_data)
3927 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
3928 functions.
3929 (is_targetreg_ctx): Remove function.
3930 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
3931 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
3932 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
3933 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
3934 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
3935 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
3936 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
3937 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
3938 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
3939 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
3940 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
3941 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
3942 * tree-core.h: Update comments for OpenACC changes.
3943 (enum omp_clause_map_kind): Remove.
3944 (struct tree_omp_clause): Change type of map_kind member from enum
3945 omp_clause_map_kind to unsigned char.
3946 * tree-inline.c: Update comments for OpenACC changes.
3947 * tree-nested.c: Likewise. Include "gomp-constants.h".
3948 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
3949 (convert_tramp_reference_stmt, convert_gimple_call): Update for
3950 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
3951 OMP_CLAUSE_SET_MAP_KIND.
3952 * tree-pretty-print.c: Include "gomp-constants.h".
3953 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
3954 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
3955 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
3956 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
3957 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
3958 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
3959 instead of OMP_CLAUSE_MAP_*.
3960 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
3961 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
3962 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
3963 * tree-streamer-in.c: Include "gomp-constants.h".
3964 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
3965 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
3966 * tree-streamer-out.c: Include "gomp-constants.h".
3967 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
3968 OMP_CLAUSE_MAP_*.
3969 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
3970 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
3971 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
3972 * tree.c (omp_clause_num_ops): Update accordingly.
3973 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
3974 Likewise.
3975 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
3976 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
3977 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
3978 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
3979 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
3980 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
3981 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
3982 (OMP_CLAUSE_SET_MAP_KIND): New macro.
3983 * varpool.c (varpool_node::get_create): Consider flag_openacc next
3984 to flag_openmp.
3985 * config/i386/intelmic-offload.h: New file.
3986 * config/nvptx/offload.h: Likewise.
3987
3988 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3989
3990 * explow.h: Remove duplicate contents.
3991 * dojump.h: Likewise.
3992
3993 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
3994
3995 * arm.c (arm_xgene_tune): Add default initializer for instruction
3996 fusion.
3997
3998 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
3999
4000 PR ipa/64068
4001 PR ipa/64559
4002 * ipa.c (symbol_table::remove_unreachable_nodes):
4003 Do not put abstract origins into boundary.
4004
4005 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
4006
4007 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
4008 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
4009
4010 2015-01-15 Steve Ellcey <sellcey@mips.com>
4011
4012 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
4013 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
4014 builtins.def, and chkp-builtins.def.
4015
4016 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
4017
4018 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
4019 ISA 2.7 (POWER8).
4020
4021 2015-01-15 Richard Biener <rguenther@suse.de>
4022
4023 PR tree-optimization/61743
4024 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
4025 information on PHIs for some simple cases.
4026
4027 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4028
4029 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
4030 Include xgene1.md.
4031 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
4032 * config/arm/arm-cores.def (xgene1): New entry.
4033 * config/arm/arm-tables.opt: Regenerate.
4034 * config/arm/arm-tune.md: Regenerate.
4035 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
4036
4037 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
4038
4039 * tree-if-conv.c: Include hash-map.h.
4040 (aggressive_if_conv): New variable.
4041 (fold_build_cond_expr): Add simplification of non-zero condition.
4042 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
4043 destination block is not always executed.
4044 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
4045 than two predecessors if AGGRESSIVE_IF_CONV is true.
4046 (if_convertible_stmt_p): Fix commentary.
4047 (all_preds_critical_p): New function.
4048 (has_pred_critical_p): New function.
4049 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
4050 BB can have more than two predecessors and all incoming edges can be
4051 critical.
4052 (predicate_bbs): Skip predication for loop exit block, use build2_loc
4053 to compute predicate for true edge.
4054 (find_phi_replacement_condition): Delete this function.
4055 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
4056 Allow interchange PHI arguments if EXTENDED is false.
4057 Change check that block containing reduction statement candidate
4058 is predecessor of phi-block since phi may have more than two arguments.
4059 (phi_args_hash_traits): New helper structure.
4060 (struct phi_args_hash_traits): New type.
4061 (phi_args_hash_traits::hash): New function.
4062 (phi_args_hash_traits::equal_keys): New function.
4063 (gen_phi_arg_condition): New function.
4064 (predicate_scalar_phi): Add handling of phi nodes with more than two
4065 arguments, delete COND and TRUE_BB arguments, insert body of
4066 find_phi_replacement_condition to predicate ordinary phi nodes.
4067 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
4068 delete call of find_phi_replacement_condition and invoke
4069 predicate_scalar_phi with two arguments.
4070 (insert_gimplified_predicates): Add assert that non-predicated block
4071 don't have statements to insert.
4072 (ifcvt_split_critical_edges): New function.
4073 (ifcvt_split_def_stmt): Likewise.
4074 (ifcvt_walk_pattern_tree): Likewise.
4075 (stmt_is_root_of_bool_pattern): Likewise.
4076 (ifcvt_repair_bool_pattern): Likewise.
4077 (ifcvt_local_dce): Likewise.
4078 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
4079 is copy of inner or outer loop force_vectorize field, invoke
4080 ifcvt_split_critical_edges, ifcvt_local_dce and
4081 ifcvt_repair_bool_pattern for aggressive if-conversion.
4082
4083 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
4084
4085 * config/aarch64/aarch64.md: Include xgene1.md.
4086 * config/aarch64/xgene1.md: New file.
4087
4088 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4089
4090 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
4091 xgene1 (APM XGene-1) core definition.
4092 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
4093 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
4094 * doc/invoke.texi: Document -mcpu=xgene1.
4095
4096 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4097
4098 * dojump.h: New header file.
4099 * explow.h: Likewise.
4100 * expr.h: Remove includes.
4101 Move expmed.c prototypes to expmed.h.
4102 Move dojump.c prototypes to dojump.h.
4103 Move alias.c prototypes to alias.h.
4104 Move explow.c prototypes to explow.h.
4105 Move calls.c prototypes to calls.h.
4106 Move emit-rtl.c prototypes to emit-rtl.h.
4107 Move varasm.c prototypes to varasm.h.
4108 Move stmt.c prototypes to stmt.h.
4109 (saved_pending_stack_adjust): Move to dojump.h.
4110 (adjust_address): Move to explow.h.
4111 (adjust_address_nv): Move to emit-rtl.h.
4112 (adjust_bitfield_address): Likewise.
4113 (adjust_bitfield_address_size): Likewise.
4114 (adjust_bitfield_address_nv): Likewise.
4115 (adjust_automodify_address_nv): Likewise.
4116 * explow.c (expr_size): Move to expr.c.
4117 (int_expr_size): Likewise.
4118 (tree_expr_size): Likewise.
4119 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4120 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
4121 * genemit.c (main): Generate includes statistics.h, real.h,
4122 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
4123 stmt.h.
4124 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
4125 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
4126 explow.h, emit-rtl.h, stmt.h.
4127 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
4128 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
4129 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
4130 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
4131 emit-rtl.h, varasm.h, stmt.h.
4132 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
4133 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
4134 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
4135 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
4136 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
4137 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
4138 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
4139 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
4140 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
4141 tm.h tree.h varasm.h vec.h wide-int.h.
4142 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4143 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
4144 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
4145 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
4146 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
4147 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
4148 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
4149 * loop-iv.c: Likewise.
4150 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
4151 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
4152 statistics.h stmt.h tree.h varasm.h wide-int.h.
4153 * lra-constraints.c: Likewise.
4154 * lra-eliminations.c: Likewise.
4155 * lra-lives.c: Likewise.
4156 * lra-remat.c: Likewise.
4157 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4158 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
4159 statistics.h stmt.h tree.h varasm.h wide-int.h.
4160 * hw-doloop.c: Likewise.
4161 * ira-color.c: Likewise.
4162 * ira-emit.c: Likewise.
4163 * loop-doloop.c: Likewise.
4164 * loop-invariant.c: Likewise.
4165 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4166 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
4167 statistics.h stmt.h tree.h varasm.h wide-int.h.
4168 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
4169 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
4170 statistics.h stmt.h tree.h varasm.h wide-int.h.
4171 * combine-stack-adj.c: Likewise.
4172 * cse.c: Likewise.
4173 * ddg.c: Likewise.
4174 * ifcvt.c: Likewise.
4175 * ira-costs.c: Likewise.
4176 * jump.c: Likewise.
4177 * lra-coalesce.c: Likewise.
4178 * lra-spills.c: Likewise.
4179 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4180 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
4181 stmt.h varasm.h wide-int.h.
4182 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4183 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
4184 varasm.h.
4185 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
4186 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
4187 statistics.h stmt.h varasm.h wide-int.h.
4188 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
4189 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
4190 varasm.h wide-int.h.
4191 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
4192 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
4193 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
4194 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
4195 statistics.h stmt.h.
4196 * config/tilepro/tilepro.c: Likewise.
4197 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
4198 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
4199 * config/pdp11/pdp11.c: Likewise.
4200 * config/xtensa/xtensa.c: Likewise.
4201 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
4202 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
4203 varasm.h.
4204 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4205 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
4206 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
4207 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4208 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
4209 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
4210 * rtl-chkp.c: Likewise.
4211 * tree-chkp-opt.c: Likewise.
4212 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
4213 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
4214 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
4215 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4216 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
4217 statistics.h stmt.h.
4218 * tree-vect-data-refs.c: Likewise.
4219 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
4220 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
4221 rtl.h statistics.h stmt.h varasm.h.
4222 * internal-fn.c: Likewise.
4223 * ipa-icf-gimple.c: Likewise.
4224 * lto-section-out.c: Likewise.
4225 * tree-data-ref.c: Likewise.
4226 * tree-nested.c: Likewise.
4227 * tree-outof-ssa.c: Likewise.
4228 * tree-predcom.c: Likewise.
4229 * tree-pretty-print.c: Likewise.
4230 * tree-scalar-evolution.c: Likewise.
4231 * tree-ssa-strlen.c: Likewise.
4232 * tree-vect-loop.c: Likewise.
4233 * tree-vect-patterns.c: Likewise.
4234 * tree-vect-slp.c: Likewise.
4235 * tree-vect-stmts.c: Likewise.
4236 * tsan.c: Likewise.
4237 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4238 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
4239 stmt.h.
4240 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
4241 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
4242 statistics.h stmt.h varasm.h.
4243 * loop-unroll.c: Likewise.
4244 * ubsan.c: Likewise.
4245 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
4246 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
4247 stmt.h varasm.h.
4248 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4249 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
4250 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
4251 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
4252 statistics.h stmt.h.
4253 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
4254 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
4255 statistics.h stmt.h varasm.h.
4256 * gimple-match-head.c: Likewise.
4257 * lto-cgraph.c: Likewise.
4258 * lto-section-in.c: Likewise.
4259 * lto-streamer-in.c: Likewise.
4260 * lto-streamer-out.c: Likewise.
4261 * tree-affine.c: Likewise.
4262 * tree-cfg.c: Likewise.
4263 * tree-cfgcleanup.c: Likewise.
4264 * tree-if-conv.c: Likewise.
4265 * tree-into-ssa.c: Likewise.
4266 * tree-ssa-alias.c: Likewise.
4267 * tree-ssa-copyrename.c: Likewise.
4268 * tree-ssa-dse.c: Likewise.
4269 * tree-ssa-forwprop.c: Likewise.
4270 * tree-ssa-live.c: Likewise.
4271 * tree-ssa-math-opts.c: Likewise.
4272 * tree-ssa-pre.c: Likewise.
4273 * tree-ssa-sccvn.c: Likewise.
4274 * tree-tailcall.c: Likewise.
4275 * tree-vect-generic.c: Likewise.
4276 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4277 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
4278 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4279 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
4280 * varasm.c: Likewise.
4281 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4282 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
4283 varasm.h.
4284 * init-regs.c: Likewise.
4285 * ira.c: Likewise.
4286 * omp-low.c: Likewise.
4287 * stack-ptr-mod.c: Likewise.
4288 * tree-ssa-reassoc.c: Likewise.
4289 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4290 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
4291 varasm.h.
4292 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4293 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
4294 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4295 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
4296 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4297 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
4298 * tree-ssa-phiopt.c: Likewise.
4299 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4300 fixed-value.h hashtab.h real.h statistics.h stmt.h.
4301 * config/fr30/fr30.c: Likewise.
4302 * config/frv/frv.c: Likewise.
4303 * expr.c: Likewise.
4304 * final.c: Likewise.
4305 * optabs.c: Likewise.
4306 * passes.c: Likewise.
4307 * simplify-rtx.c: Likewise.
4308 * stmt.c: Likewise.
4309 * toplev.c: Likewise.
4310 * var-tracking.c: Likewise.
4311 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4312 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
4313 * lower-subreg.c: Likewise.
4314 * postreload-gcse.c: Likewise.
4315 * ree.c: Likewise.
4316 * reginfo.c: Likewise.
4317 * store-motion.c: Likewise.
4318 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4319 fixed-value.h hashtab.h real.h stmt.h varasm.h.
4320 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4321 fixed-value.h hashtab.h statistics.h stmt.h.
4322 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4323 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
4324 * except.c: Likewise.
4325 * explow.c: Likewise.
4326 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4327 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
4328 varasm.h.
4329 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4330 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
4331 * tree-ssa-structalias.c: Likewise.
4332 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4333 fixed-value.h insn-config.h real.h statistics.h.
4334 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4335 fixed-value.h insn-config.h real.h statistics.h stmt.h.
4336 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4337 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
4338 * cfgbuild.c: Likewise.
4339 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4340 fixed-value.h real.h rtl.h statistics.h stmt.h.
4341 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4342 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
4343 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4344 fixed-value.h real.h statistics.h stmt.h.
4345 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4346 fixed-value.h real.h statistics.h stmt.h varasm.h.
4347 * cprop.c: Likewise.
4348 * modulo-sched.c: Likewise.
4349 * postreload.c: Likewise.
4350 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
4351 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
4352 statistics.h stmt.h varasm.h.
4353 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
4354 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
4355 rtl.h statistics.h stmt.h varasm.h.
4356 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
4357 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
4358 varasm.h.
4359 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
4360 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
4361 varasm.h.
4362 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
4363 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
4364 varasm.h.
4365 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
4366 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
4367 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
4368 function.h real.h statistics.h stmt.h varasm.h.
4369 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
4370 insn-config.h real.h statistics.h stmt.h.
4371 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
4372 statistics.h stmt.h.
4373 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
4374 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
4375 statistics.h stmt.h varasm.h.
4376 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
4377 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
4378 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
4379 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
4380 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
4381 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
4382 statistics.h stmt.h varasm.h.
4383 * ipa-polymorphic-call.c: Likewise.
4384 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
4385 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
4386 statistics.h stmt.h.
4387 * config/c6x/c6x.c: Likewise.
4388 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
4389 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
4390 statistics.h stmt.h varasm.h.
4391 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
4392 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
4393 stmt.h varasm.h.
4394 * ipa-split.c: Likewise.
4395 * tree-eh.c: Likewise.
4396 * tree-ssa-dce.c: Likewise.
4397 * tree-ssa-loop-niter.c: Likewise.
4398 * tree-vrp.c: Likewise.
4399 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
4400 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
4401 stmt.h.
4402 * config/nds32/nds32-fp-as-gp.c: Likewise.
4403 * config/nds32/nds32-intrinsic.c: Likewise.
4404 * config/nds32/nds32-isr.c: Likewise.
4405 * config/nds32/nds32-md-auxiliary.c: Likewise.
4406 * config/nds32/nds32-memory-manipulation.c: Likewise.
4407 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
4408 * config/nds32/nds32-predicates.c: Likewise.
4409 * config/nds32/nds32.c: Likewise.
4410 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
4411 fixed-value.h hashtab.h real.h statistics.h.
4412 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
4413 fixed-value.h hashtab.h real.h statistics.h stmt.h.
4414 * config/arm/arm.c: Likewise.
4415 * config/avr/avr.c: Likewise.
4416 * config/bfin/bfin.c: Likewise.
4417 * config/h8300/h8300.c: Likewise.
4418 * config/i386/i386.c: Likewise.
4419 * config/ia64/ia64.c: Likewise.
4420 * config/iq2000/iq2000.c: Likewise.
4421 * config/m32c/m32c.c: Likewise.
4422 * config/m32r/m32r.c: Likewise.
4423 * config/m68k/m68k.c: Likewise.
4424 * config/mcore/mcore.c: Likewise.
4425 * config/mep/mep.c: Likewise.
4426 * config/mips/mips.c: Likewise.
4427 * config/mn10300/mn10300.c: Likewise.
4428 * config/moxie/moxie.c: Likewise.
4429 * config/pa/pa.c: Likewise.
4430 * config/rl78/rl78.c: Likewise.
4431 * config/rx/rx.c: Likewise.
4432 * config/s390/s390.c: Likewise.
4433 * config/sh/sh.c: Likewise.
4434 * config/sparc/sparc.c: Likewise.
4435 * config/spu/spu.c: Likewise.
4436 * config/stormy16/stormy16.c: Likewise.
4437 * config/v850/v850.c: Likewise.
4438 * config/vax/vax.c: Likewise.
4439 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
4440 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
4441 * config/msp430/msp430.c: Likewise.
4442 * predict.c: Likewise.
4443 * value-prof.c: Likewise.
4444 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
4445 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
4446 * config/microblaze/microblaze.c: Likewise.
4447 * config/nios2/nios2.c: Likewise.
4448 * config/rs6000/rs6000.c: Likewise.
4449 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
4450 insn-config.h real.h rtl.h statistics.h stmt.h.
4451 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
4452 insn-config.h real.h statistics.h stmt.h.
4453 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
4454 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
4455 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
4456 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
4457 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
4458 fixed-value.h real.h statistics.h stmt.h.
4459 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
4460 fixed-value.h statistics.h stmt.h.
4461 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
4462 stmt.h.
4463
4464 2015-01-15 Jakub Jelinek <jakub@redhat.com>
4465
4466 * gengtype.c (create_user_defined_type): Workaround
4467 -Wmaybe-uninitialized false positives.
4468 * cse.c (fold_rtx): Likewise.
4469 * loop-invariant.c (gain_for_invariant): Likewise.
4470
4471 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
4472
4473 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
4474 set the memory attributes in all cases but clear MEM_EXPR if need be.
4475
4476 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
4477
4478 PR tree-optimization/64434
4479 * cfgexpand.c (reorder_operands): New function.
4480 (expand_gimple_basic_block): Insert call of reorder_operands if
4481 optimized is true.
4482
4483 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
4484
4485 * config/mips/micromips.md (*swp): Remove explicit parallel.
4486 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
4487 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
4488 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
4489 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
4490 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
4491 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
4492 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
4493 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
4494 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
4495 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
4496 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
4497 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
4498 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
4499 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
4500 (mips_wrdsp): Likewise.
4501 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
4502 parallel.
4503 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
4504 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
4505 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
4506 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
4507 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
4508 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
4509 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
4510 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
4511 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
4512
4513 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
4514
4515 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
4516 (mips_print_operand): Support 'y' to print exact log2 in decimal
4517 of a const_int.
4518 * config/mips/mips.h (ISA_HAS_LSA): New define.
4519 (ISA_HAS_DLSA): Likewise.
4520 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
4521 * config/mips/predicates.md (const_immlsa_operand): New predicate.
4522
4523 2015-01-15 Martin Liska <mliska@suse.cz>
4524
4525 PR target/64377
4526 * optc-save-gen.awk: Add support for array types.
4527
4528 2015-01-15 Richard Biener <rguenther@suse.de>
4529
4530 PR middle-end/64365
4531 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
4532 for MEM_REF access functions with the same base can never partially
4533 overlap.
4534
4535 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
4536
4537 * common.opt: New option -fstack-protector-explicit.
4538 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
4539 (stack_protect_decl_phase): Handle stack_protect attribute for
4540 explicit stack protection requests.
4541 (expand_used_vars): Similarly.
4542 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
4543 * doc/extend.texi: Add documentation for "stack_protect" attribute.
4544 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
4545
4546 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
4547
4548 PR target/53988
4549 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
4550 reg-reg copies.
4551 (sh_extending_set_of_reg): New struct.
4552 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
4553 sh_remove_reg_dead_or_unused_notes): New Declarations.
4554 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
4555 sh_find_extending_set_of_reg, sh_split_tst_subregs,
4556 sh_extending_set_of_reg::use_as_extended_reg): New functions.
4557 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
4558 convert to insn_and_split and use new function sh_split_tst_subregs.
4559
4560 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
4561
4562 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
4563 option.
4564 (Optimization Options): Move -fuse-ld documentation to...
4565 (Link Options): ...here.
4566
4567 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
4568
4569 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
4570 offsets.
4571 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
4572 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
4573 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
4574 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
4575 instead of ZR for the memory operand of LL/SC.
4576 (compare_and_swap_12, sync_add<mode>): Likewise.
4577 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
4578 (sync_new_<optab>_12, sync_nand_12): Likewise.
4579 (sync_old_nand_12, sync_new_nand_12): Likewise.
4580 (sync_sub<mode>, sync_old_add<mode>): Likewise.
4581 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
4582 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
4583 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
4584 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
4585 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
4586 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
4587 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
4588 * doc/md.texi (ZC): Update description.
4589
4590 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
4591
4592 * builtins.c (expand_builtin_atomic_exchange): Remove error when
4593 memory model is CONSUME.
4594 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
4595 expand_builtin_atomic_store): Change invalid memory model errors to
4596 warnings.
4597 (expand_builtin_atomic_clear): Change invalid model errors to warnings
4598 and issue warning for CONSUME.
4599
4600 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
4601
4602 * lto-cgraph: Update function comments for
4603 lto_symtab_encoder_encode_*.
4604
4605 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
4606
4607 * Makefile.in (site.exp): Do not set ENABLE_LTO.
4608
4609 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
4610
4611 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
4612 * lto-cgraph.c (select_what_to_stream): Remove argument, use
4613 lto_stream_offload_p instead.
4614 * lto-streamer.h (select_what_to_stream): Remove argument.
4615 * passes.c (ipa_write_summaries): Likewise.
4616 * tree-pass.h (ipa_write_summaries): Likewise.
4617
4618 2015-01-14 Richard Biener <rguenther@suse.de>
4619
4620 PR tree-optimization/59354
4621 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
4622 groups larger than the slp group size as having gaps.
4623
4624 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
4625
4626 PR middle-end/59448
4627 * builtins.c (get_memmodel): Promote consume to acquire always.
4628
4629 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
4630
4631 PR target/64386
4632 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
4633 V32HImode.
4634
4635 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
4636
4637 PR target/64393
4638 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
4639 Enable AVX512BW.
4640 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
4641 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
4642 AVX512VBMI, as it implies AVX512BW.
4643
4644 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
4645
4646 PR target/64387
4647 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
4648 (vec_unpacks_hi_v16sf): Ditto.
4649
4650 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4651
4652 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
4653 is not available.
4654
4655 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4656
4657 * doc/invoke.texi (mapcs): Mention deprecation.
4658 (mapcs-frame): Likewise.
4659
4660 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
4661
4662 PR target/64453
4663 * config/arm/arm.c (callee_saved_reg_p): Define.
4664 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
4665 register is callee saved instead of !call_used_regs[reg].
4666 (thumb1_compute_save_reg_mask): Likewise.
4667
4668 2015-01-14 Hale Wang <hale.wang@arm.com>
4669
4670 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
4671 Cortex-M7.
4672
4673 2015-01-14 Richard Biener <rguenther@suse.de>
4674
4675 PR lto/64415
4676 * tree-inline.c (insert_debug_decl_map): Check destination
4677 function MAY_HAVE_DEBUG_STMTS.
4678 (insert_init_debug_bind): Likewise.
4679 (insert_init_stmt): Remove redundant check.
4680 (remap_gimple_stmt): Drop debug stmts if the destination
4681 function has var-tracking assignments disabled.
4682
4683 2015-01-14 Martin Liska <mliska@suse.cz>
4684
4685 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
4686 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
4687
4688 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4689
4690 PR target/64460
4691 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
4692 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
4693
4694 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
4695
4696 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
4697 level from an ARCH; do not inject the default.
4698 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
4699 MIPS_ISA_LEVEL_SPEC.
4700 (MIPS_ISA_NAN2008_SPEC): Update comment.
4701 (BASE_DRIVER_SELF_SPECS): Likewise.
4702 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
4703 MIPS_DEFAULT_ISA_LEVEL_SPEC.
4704 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
4705 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
4706 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
4707
4708 2015-01-14 Richard Biener <rguenther@suse.de>
4709
4710 PR tree-optimization/64493
4711 PR tree-optimization/64495
4712 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
4713 assign the proper vectorized PHI to the inner loop exit PHIs.
4714
4715 2015-01-14 Joey Ye <joey.ye@arm.com>
4716
4717 * config/arm/arm.c (arm_compute_save_reg_mask):
4718 Do not save lr in case of tail call.
4719 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
4720
4721 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
4722
4723 * tree-vrp.c (check_array_ref): Emit more warnings
4724 for warn_array_bounds >= 2.
4725 * common.opt: New option -Warray-bounds=.
4726 * doc/invoke.texi: Document -Warray-bounds=.
4727
4728 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
4729
4730 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
4731 (mforbid-fp-as-gp): Remove.
4732 (mex9): Remove.
4733 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
4734 (nds32_symbol_load_store_p): Remove.
4735 (nds32_fp_as_gp_check_available): Clean up implementation.
4736 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
4737 cases.
4738 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
4739 fp-as-gp and ex9 cases.
4740
4741 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
4742
4743 * tree-profile.c (init_ic_make_global_vars): Drop workaround
4744 for bintuils bug 14342.
4745 (init_ic_make_global_vars): Likewise.
4746 (gimple_init_edge_profiler): Likewise.
4747 (gimple_gen_ic_func_profiler): Likewise.
4748
4749 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
4750
4751 * ipa-inline.c (inline_small_functions): Swap the operands in
4752 enum.
4753
4754 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
4755
4756 PR ipa/64481
4757 * ipa-inline-analysis.c (node_growth_cache): Remove.
4758 (initialize_growth_caches): Do not initialize it.
4759 (free_growth_caches): Do not free it.
4760 (do_estimate_growth): Rename to ...
4761 (estimate_growth): ... this one; drop growth cache code.
4762 (growth_likely_positive): Always go the heuristics way.
4763 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
4764 (reset_edge_caches): Do not reset node growth.
4765 (heap_edge_removal_hook): Do not maintain cache.
4766 (inline_small_functions): Likewise; strenghten sanity check.
4767 (ipa_inline): Do not maintain caches.
4768 * ipa-inline.h (node_growth_cache): Remove.
4769 (do_estimate_growth): Remove to ...
4770 (estimate_growth): this one; remove inline version.
4771 (reset_node_growth_cache): Remove.
4772
4773 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
4774
4775 PR ipa/64565
4776 * ipa-inline.c (inline_small_functions): Update callee keys after
4777 resolving speculation
4778 (inline_small_functions): Always check monotonicity of the queue.
4779
4780 2015-01-13 Marek Polacek <polacek@redhat.com>
4781
4782 PR middle-end/64391
4783 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
4784
4785 2015-01-13 Jakub Jelinek <jakub@redhat.com>
4786
4787 PR rtl-optimization/64286
4788 * ree.c (combine_reaching_defs): Move part of comment earlier,
4789 remove !SCALAR_INT_MODE_P check.
4790 (add_removable_extension): Don't add vector mode
4791 extensions if all uses of the source register aren't the same
4792 vector extensions.
4793
4794 2015-01-13 Renlin Li <renlin.li@arm.com>
4795
4796 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
4797 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
4798
4799 2015-01-13 Martin Liska <mliska@suse.cz>
4800
4801 * ipa-icf.c (sem_function::equals_private): Call new functions
4802 cl_target_option_print_diff and cl_optimization_print_diff.
4803 * optc-save-gen.awk (cl_target_option_print_diff): New function.
4804 (cl_optimization_print_diff): Likewise.
4805 * opth-gen.awk: Likewise.
4806
4807 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
4808
4809 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
4810 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
4811 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
4812 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
4813 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
4814 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
4815
4816 2015-01-13 Andrew Pinski <apinski@cavium.com>
4817
4818 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
4819 instead of src mode.
4820
4821 2015-01-13 Richard Biener <rguenther@suse.de>
4822
4823 PR lto/64373
4824 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
4825 DECL_CONTEXT.
4826
4827 2015-01-13 Andrew Pinski <apinski@cavium.com>
4828
4829 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
4830 volatile mems.
4831 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
4832
4833 2015-01-13 Jakub Jelinek <jakub@redhat.com>
4834
4835 PR middle-end/63974
4836 * cfgexpand.c (expand_computed_goto): Don't call
4837 convert_memory_address here.
4838
4839 2015-01-13 Richard Biener <rguenther@suse.de>
4840
4841 PR tree-optimization/64406
4842 * tree-loop-distibution.c (pass_loop_distribution::execute):
4843 Reset the SCEV hashtable if we distributed anything.
4844
4845 2015-01-13 Richard Biener <rguenther@suse.de>
4846
4847 PR tree-optimization/64404
4848 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
4849 SLP types for CSEd loads.
4850
4851 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
4852
4853 PR tree-optimization/64436
4854 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
4855 merge of two symbolic numbers for a bitwise OR to ...
4856 (perform_symbolic_merge): This. Also fix computation of the range and
4857 end of the symbolic number corresponding to the result of a bitwise OR.
4858
4859 2015-01-13 Richard Biener <rguenther@suse.de>
4860
4861 PR tree-optimization/64568
4862 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
4863 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
4864
4865 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
4866
4867 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
4868 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
4869
4870 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
4871
4872 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
4873 target-specific symbol_ref flag.
4874 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
4875 resides in rodata section.
4876 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
4877 (nds32_encode_section_info): New function.
4878
4879 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
4880
4881 * config/nds32/nds32.md (call): Use pseudo instruction bal which
4882 clobbers TA_REGNUM if large code model is specified.
4883 (call_register): Likewise.
4884 (call_immediate): Likewise.
4885 (call_value): Likewise.
4886 (call_value_register): Likewise.
4887 (call_value_immediate): Likewise.
4888
4889 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
4890
4891 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
4892 (TARGET_CMODEL_MEDIUM): New macro.
4893 (TARGET_CMODEL_LARGE): New macro.
4894 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
4895 code model setting in assembly code.
4896
4897 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
4898
4899 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
4900 Remove MASK_GP_DIRECT flag.
4901 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
4902 one of the multilib default options.
4903 * config/nds32/nds32.opt (mgp-direct): Remove.
4904 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
4905 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
4906
4907 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
4908
4909 * config/nds32/nds32.opt (mcmodel): Add new option.
4910 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
4911 to describe code model.
4912
4913 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
4914
4915 PR target/64479
4916 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
4917
4918 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
4919
4920 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
4921 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
4922 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
4923 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
4924 __builtin_sh_set_fpscr.
4925
4926 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
4927
4928 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
4929 after a funtion name just to indicate it is a function.
4930 ([-fsanitize-undefined-trap-on-error]): Likewise.
4931 ([-fdbg-cnt=]): Likewise.
4932 ([-mmemcpy]): Likewise.
4933 ([-mflush-func]): Likewise.
4934 ([-msynci]): Likewise.
4935
4936 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
4937
4938 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
4939 example.
4940
4941 2015-01-12 Jakub Jelinek <jakub@redhat.com>
4942
4943 PR tree-optimization/64563
4944 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
4945 instead of != VR_VARYING.
4946
4947 PR target/64513
4948 * config/i386/i386.c (ix86_expand_prologue): Add
4949 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
4950
4951 PR tree-optimization/64454
4952 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
4953 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
4954 for signed or [0, op1 - 1] for unsigned modulo.
4955 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
4956 even if op1 does not satisfy integer_pow2p.
4957
4958 PR other/64370
4959 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
4960
4961 2015-01-12 Jeff Law <law@redhat.com>
4962
4963 PR target/64461
4964 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
4965 (trunchiqi2, truncsihi2): Similarly.
4966
4967 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
4968 rather than calling F.
4969
4970 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
4971
4972 * tsan.c (instrument_expr): Use force_gimple_operand.
4973 Use may_be_nonaddressable_p instead of is_gimple_addressable.
4974
4975 2015-01-12 Richard Biener <rguenther@suse.de>
4976
4977 PR tree-optimization/64530
4978 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
4979 back dr1.
4980
4981 2015-01-12 Richard Biener <rguenther@suse.de>
4982
4983 PR middle-end/64357
4984 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
4985 latches properly.
4986
4987 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4988
4989 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
4990 Cortex-A17 tuning parameters.
4991 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
4992
4993 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4994
4995 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
4996 * config/arm/arm.c (arm_macro_fusion_p): New function.
4997 (arm_macro_fusion_pair_p): Likewise.
4998 (TARGET_SCHED_MACRO_FUSION_P): Define.
4999 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
5000 (ARM_FUSE_NOTHING): Likewise.
5001 (ARM_FUSE_MOVW_MOVT): Likewise.
5002 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
5003 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
5004 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
5005 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
5006 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
5007 arm_cortex_a5_tune): Specify fuseable_ops value.
5008
5009 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
5010
5011 PR bootstrap/64561
5012 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
5013 test for PIE with copy reloc.
5014 * configure: Regenerated.
5015
5016 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5017
5018 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
5019 in gen_rtx_REG.
5020 (arm_tls_descseq_addr): Likewise.
5021 (arm_gen_movmemqi): Likewise.
5022 (arm_expand_epilogue_apcs_frame): Likewise.
5023 (arm_expand_epilogue): Likewise.
5024 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
5025 in gen_rtx_REG.
5026
5027 2015-01-12 Martin Liska <mliska@suse.cz>
5028
5029 PR ipa/64550
5030 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
5031 volatility for correct operands.
5032
5033 2015-01-12 Martin Liska <mliska@suse.cz>
5034
5035 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
5036 that a function is not leaf.
5037 (sem_function::compare_polymorphic_p): Likewise.
5038
5039 2015-01-12 Martin Liska <mliska@suse.cz>
5040
5041 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
5042 that a function is not leaf.
5043 (sem_function::compare_polymorphic_p): Likewise.
5044
5045 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5046
5047 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
5048 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
5049 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
5050 fold-const.h, tree-check.h.
5051
5052 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
5053
5054 PR ipa/63967
5055 PR ipa/64425
5056 * ipa-inline.c (compute_uninlined_call_time,
5057 compute_inlined_call_time): Use counts for extra precision when
5058 needed possible.
5059 (big_speedup_p): Fix formating.
5060 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
5061 (relative_time_benefit): Remove.
5062 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
5063 merge guessed and read profile paths.
5064 (inline_small_functions): Count only !optimize_size functions into
5065 initial size; be more lax about sanity check when profile is used;
5066 be sure to update inlined function profile when profile is read.
5067
5068 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
5069
5070 PR ipa/63470
5071 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
5072 cost when edge becomes direct.
5073 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
5074 is resolved or when introducing new speculation.
5075
5076 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
5077
5078 PR ipa/64551
5079 PR ipa/64552
5080 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
5081 '||' to fix typo issue.
5082
5083 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
5084 accept and return NULL.
5085
5086 2015-01-12 Martin Liska <mliska@suse.cz>
5087
5088 * cgraph.c (cgraph_edge::remove_callee): Move function to header
5089 file for being inlined.
5090 (cgraph_set_edge_callee): Delete.
5091 (cgraph_edge::redirect_callee): Move function to header file
5092 for being inlined.
5093 (cgraph_edge::make_direct): Use new function.
5094 (cgraph_edge::dump_edge_flags): New function created from
5095 static dump_edge_flags function.
5096 (cgraph_node::dump): Use new function.
5097 (cgraph_edge::verify_count_and_frequency): New function created
5098 from verify_edge_count_and_frequency.
5099 (cgraph_edge::verify_corresponds_to_fndecl): New function created
5100 from verify_edge_corresponds_to_fndecl.
5101 (verify_edge_corresponds_to_fndecl): Delete.
5102 (cgraph_node::verify_node): Use new function.
5103 * cgraph.h (cgraph_edge::set_callee): New function.
5104 (cgraph_edge::dump_edge_flags): Likewise.
5105 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
5106
5107 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
5108
5109 * ipa-utils.c (estimate_function_body_sizes): Do not
5110 free node params when called late with early=true.
5111
5112 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
5113
5114 * doc/md.texi (Instruction Patterns): Rewrite text for
5115 clarity.
5116 (Example): Likewise.
5117
5118 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
5119
5120 * doc/invoke.texi (Option Summary): Break long lines.
5121 [(-fdiagnostics-color)]: Put long literal in @smallexample
5122 instead of inline.
5123 [(-fsanitize-recover)]: Likewise.
5124 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
5125 [(-ffast-math)]: Likewise.
5126 [(--param max-inline-insns-recursive)]: Likewise.
5127 [(--param max-inline-recursive-depth)]: Likewise.
5128 [(-mno-text-section-literals)]: Likewise.
5129
5130 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
5131
5132 * doc/install.texi: Update for libgomp being renamed from "GNU
5133 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
5134 Runtime Library".
5135 * doc/sourcebuild.texi: Likewise.
5136
5137 2015-01-10 Anthony Green <green@moxielogic.com>
5138
5139 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
5140 mul.x availability for moxiebox configuration.
5141
5142 2015-01-09 Anthony Green <green@moxielogic.com>
5143
5144 * config/moxie/moxie.md: Tabify assembly output.
5145
5146 2015-01-09 Anthony Green <green@moxielogic.com>
5147
5148 * config/moxie/moxie.md (CC_REG): Correct register definition.
5149
5150 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
5151
5152 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
5153 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
5154 of log files.
5155
5156 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
5157
5158 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
5159
5160 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
5161 Jakub Jelinek <jakub@redhat.com>
5162
5163 PR middle-end/64412
5164 * lto-streamer.h (lto_stream_offload_p): New declaration.
5165 * lto-streamer.c (lto_stream_offload_p): New variable.
5166 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
5167 at the same time as section_name_prefix.
5168 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
5169 if lto_stream_offload_p.
5170 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
5171 stream TREE_TARGET_OPTION if lto_stream_offload_p.
5172 (write_ts_function_decl_tree_pointers): Don't
5173 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
5174 * tree-streamer-in.c (unpack_value_fields): Don't stream
5175 TREE_TARGET_OPTION in if ACCEL_COMPILER.
5176 (lto_input_ts_function_decl_tree_pointers): Don't stream
5177 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
5178 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
5179 instead of section_name_prefix string comparisons.
5180
5181 2015-01-09 Jakub Jelinek <jakub@redhat.com>
5182
5183 PR rtl-optimization/64536
5184 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
5185 tablejumps.
5186
5187 2015-01-09 Michael Collison <michael.collison@linaro.org>
5188
5189 PR tree-optimization/64322
5190 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
5191 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
5192
5193 2015-01-09 Tom de Vries <tom@codesourcery.com>
5194
5195 PR rtl-optimization/64539
5196 * regcprop.c (kill_clobbered_values): Factor out of ...
5197 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
5198 instead of note_stores with kill_clobbered_value.
5199
5200 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
5201
5202 * ginclude/unwind-arm-common.h: Revert previous commit.
5203
5204 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
5205
5206 * config.gcc (arm*-*-freebsd*): New configuration.
5207 * config/arm/freebsd.h: New file.
5208 * config.host: Add extra components for arm*-*-freebsd*.
5209 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
5210 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
5211
5212 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5213
5214 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
5215 for -mcpu=e6500.
5216 * config/rs6000/t-rtems: Add e6500 multilibs.
5217
5218 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5219
5220 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
5221 MPC8540.
5222
5223 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5224
5225 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
5226 MULTILIB_EXCEPTIONS.
5227
5228 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5229
5230 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
5231 MULTILIB_EXCEPTIONS.
5232
5233 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5234
5235 * config/arm/t-rtems-eabi: Rename to...
5236 * config/arm/t-rtems: ...this.
5237 * config/arm/rtems-eabi.h: Rename to...
5238 * config/arm/rtems.h: ...this.
5239 * config.gcc (arm*-*-rtems*): Reflect changes above.
5240
5241 2015-01-09 Richard Biener <rguenther@suse.de>
5242
5243 PR tree-optimization/64410
5244 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
5245 on the LHS.
5246 (execute_update_addresses_taken): Deal with that.
5247 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
5248 loads/stores for complex variables.
5249
5250 2015-01-09 Martin Liska <mliska@suse.cz>
5251
5252 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
5253 name comparison.
5254 (func_checker::compare_memory_operand): New function.
5255 (func_checker::compare_operand): Split case to newly
5256 added functions.
5257 (func_checker::compare_cst_or_decl): New function.
5258 (func_checker::compare_gimple_call): Identify
5259 memory operands.
5260 (func_checker::compare_gimple_assign): Likewise.
5261 * ipa-icf-gimple.h: New function.
5262
5263 2015-01-09 Martin Liska <mliska@suse.cz>
5264
5265 PR ipa/64503
5266 * sreal.c (sreal::dump): Change unsigned format to signed for
5267 m_exp value.
5268 (sreal::to_double): Replace exp2 with scalbln.
5269
5270 2015-01-09 Martin Liska <mliska@suse.cz>
5271
5272 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
5273 * ipa-icf.c (sem_function::equals_private): Add support for target and
5274 (sem_item_optimizer::merge_classes): Remove redundant function
5275 optimization flags comparison.
5276 * tree.h (target_opts_for_fn): New function.
5277
5278 2015-01-09 Tom de Vries <tom@codesourcery.com>
5279
5280 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
5281
5282 2015-01-09 Kito Cheng <kito@0xlab.org>
5283
5284 PR rtl-optimization/64348
5285 * lra-constraints.c (split_reg): Fix caller-save store/restore
5286 instruction generation.
5287
5288 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
5289
5290 PR gcov-profile/61790
5291 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
5292 long long. Fallback to int64_t if host doesn't have long long and
5293 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
5294
5295 2015-01-08 Jakub Jelinek <jakub@redhat.com>
5296
5297 PR tree-optimization/63989
5298 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
5299 from 1000 to 10000.
5300 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
5301 (get_stridx): If we don't have a record for certain SSA_NAME,
5302 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
5303 constant offset, call get_stridx_plus_constant.
5304 (get_stridx_plus_constant): New function.
5305 (zero_length_string): Don't use get_stridx here.
5306
5307 PR target/55023
5308 PR middle-end/64388
5309 * dse.c (struct insn_info): Mention frame_read set also
5310 before reload for tail calls on some targets.
5311 (scan_insn): Revert 2014-12-22 change. Set frame_read
5312 also before reload for tail calls if
5313 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
5314 instead of add_non_frame_wild_read for non-const/memset
5315 tail calls after reload.
5316
5317 2015-01-08 Jason Merrill <jason@redhat.com>
5318
5319 * ubsan.c (do_ubsan_in_current_function): New.
5320 (pass_ubsan::gate): Use it.
5321 * ubsan.h: Declare it.
5322 * convert.c (convert_to_integer): Use it.
5323
5324 2015-01-08 Jakub Jelinek <jakub@redhat.com>
5325
5326 PR target/64338
5327 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
5328 compare_code when it is unconditionally overwritten afterwards.
5329 Use ix86_reverse_condition instead of reverse_condition. Don't
5330 change code if *reverse_condition* returned UNKNOWN and don't
5331 swap ct/cf and negate diff in that case.
5332
5333 2015-01-08 Mike Stump <mikestump@comcast.net>
5334
5335 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
5336 (pass_tsan_O0::gate): Likewise.
5337 * extend.texi (Function Attributes): Add no_sanitize_thread
5338 documentation.
5339
5340 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
5341
5342 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
5343 for registering builtins.
5344 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
5345 add -fopenmp to the argv_obstack used when invoking
5346 compile_for_target.
5347
5348 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
5349 add "-m32" or "-m64" to argv_obstack.
5350 (generate_host_descr_file): Likewise, when invoking host_compiler.
5351 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
5352 ld.
5353
5354 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
5355
5356 * config/sh/sh-mem.cc: Use constant as second operand when emitting
5357 tstsi_t insns.
5358
5359 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
5360
5361 PR target/55212
5362 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
5363 constant load if constant operand fits into I08.
5364
5365 2015-01-08 Jakub Jelinek <jakub@redhat.com>
5366
5367 PR sanitizer/64336
5368 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
5369 and TREE_THIS_VOLATILE for MEM_REFs.
5370 (build5_stat): Fix up initialization of TREE_READONLY and
5371 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
5372
5373 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
5374
5375 PR target/64533
5376 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
5377 of r for the second alternative of the destination operand.
5378
5379 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
5380
5381 PR target/36557
5382 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
5383
5384 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
5385
5386 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
5387 keywords.
5388 ([-fivar-visibility], [-fvisibility]): Likewise.
5389
5390 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
5391
5392 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
5393 the file where @code, @command, etc is more appropriate.
5394
5395 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
5396
5397 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
5398 of -mrecip= documentation.
5399
5400 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
5401
5402 PR target/64505
5403 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
5404 correct reload handler if -m32 -mpowerpc64 is used.
5405
5406 2015-01-06 Tom de Vries <tom@codesourcery.com>
5407
5408 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
5409
5410 2015-01-08 Christian Bruel <christian.bruel@st.com>
5411
5412 PR target/64507
5413 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
5414
5415 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
5416
5417 PR tree-optimization/63259
5418 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
5419 if optab exists for 16bit byteswap.
5420
5421 2015-01-06 Jakub Jelinek <jakub@redhat.com>
5422
5423 * opts.c (common_handle_option): Add support for
5424 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
5425 * doc/invoke.texi: Document -fno-sanitize=all,
5426 -f{,no-}sanitize-recover=all. Document that
5427 -fsanitize=float-cast-overflow is not enabled
5428 by -fsanitize=undefined. Fix up documentation
5429 of -f{,no-}sanitize-recover.
5430
5431 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
5432
5433 * config.gcc: Add Visium support.
5434 * configure.ac: Likewise.
5435 * configure: Regenerate.
5436 * doc/extend.texi (interrupt attribute): Add Visium.
5437 * doc/invoke.texi: Document Visium options.
5438 * doc/install.texi: Document Visium target.
5439 * doc/md.texi: Document Visium constraints.
5440 * common/config/visium: New directory.
5441 * config/visium: Likewise.
5442
5443 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
5444
5445 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
5446 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
5447
5448 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
5449
5450 * combine.c (combine_validate_cost): Do not count the cost of a
5451 split I2 twice. Do not display it twice in the dump, either.
5452
5453 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
5454
5455 Revert parts of r219199.
5456 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
5457 <inttypes.h>.
5458 ([-Wtraditional]): Restore markup on <limits.h>.
5459
5460 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
5461
5462 PR c++/31397
5463 * doc/invoke.texi: Document -Wsuggest-override.
5464
5465 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
5466
5467 PR rtl-optimization/64287
5468 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
5469 (process_options): Disable flag_ipa_ra if profiling.
5470
5471 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
5472
5473 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
5474
5475 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
5476
5477 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
5478 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
5479 put under #if TARGET_LOOPS guard.
5480
5481 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
5482
5483 * config/i386/i386.c (output_387_binary_op): Use std::swap.
5484
5485 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
5486
5487 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
5488 * rtl.h (refers_to_regno_p): Add overload.
5489 * cse.c: Use it.
5490 * bt-load.c: Likewise.
5491 * combine.c: Likewise.
5492 * df-scan.c: Likewise.
5493 * sched-deps.c: Likewise.
5494 * config/s390/s390.c: Likewise.
5495 * config/m32r/m32r.c: Likewise.
5496 * config/rs6000/spe.md: Likewise.
5497 * config/rs6000/rs6000.c: Likewise.
5498 * config/pa/pa.c: Likewise.
5499 * config/stormy16/stormy16.c: Likewise.
5500 * config/cris/cris.c: Likewise.
5501 * config/arc/arc.md: Likewise.
5502 * config/arc/arc.c: Likewise.
5503 * config/sh/sh.md: Likewise.
5504 * config/sh/sh.c: Likewise.
5505 * config/frv/frv.c: Likewise.
5506
5507 2015-01-05 Jakub Jelinek <jakub@redhat.com>
5508
5509 PR sanitizer/64265
5510 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
5511 call as cleanup of the whole body.
5512 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
5513 * tsan.c (replace_func_exit): New function.
5514 (instrument_func_exit): Moved earlier.
5515 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
5516 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
5517 been found.
5518 (tsan_pass): Don't call instrument_func_exit.
5519 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
5520 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
5521 inlining.
5522
5523 PR sanitizer/64344
5524 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
5525 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
5526 it to libubsan handler instead of EXPR. Fold comparisons earlier,
5527 if the result is integer_zerop, return NULL_TREE.
5528 * convert.c (convert_to_integer): Pass expr as ARG.
5529
5530 PR tree-optimization/64465
5531 * tree-inline.c (redirect_all_calls): During inlining
5532 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
5533 changed the stmt to a non-throwing call.
5534
5535 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
5536
5537 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
5538 etc markup throughout the file.
5539
5540 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
5541
5542 Enable experimental TSAN support for Ada.
5543 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
5544
5545 2015-01-05 Jakub Jelinek <jakub@redhat.com>
5546
5547 PR tree-optimization/64494
5548 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
5549 clear SSA_NAME_ANTI_RANGE_P flag.
5550
5551 2015-01-05 Marek Polacek <polacek@redhat.com>
5552
5553 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
5554
5555 2015-01-05 Jakub Jelinek <jakub@redhat.com>
5556
5557 Update copyright years.
5558
5559 * gcc.c (process_command): Update copyright notice dates.
5560 * gcov-dump.c: Ditto.
5561 * gcov.c: Ditto.
5562 * doc/cpp.texi: Bump @copying's copyright year.
5563 * doc/cppinternals.texi: Ditto.
5564 * doc/gcc.texi: Ditto.
5565 * doc/gccint.texi: Ditto.
5566 * doc/gcov.texi: Ditto.
5567 * doc/install.texi: Ditto.
5568 * doc/invoke.texi: Ditto.
5569
5570 * auto-profile.c, auto-profile.h: Fix up Copyright line.
5571
5572 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
5573
5574 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
5575 verb tense, etc.
5576 ([-fvtable-verify], [-fvtv-debug]): Likewise.
5577 ([-Wabi]): Likewise.
5578 ([-fmessage-length]): Likewise.
5579 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
5580 ([-Wno-discarded-qualifiers]): Likewise.
5581 ([-Wnodiscarded-array-qualifiers]): Likewise.
5582 ([-Wno-virtual-move-assign]): Likewise.
5583 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
5584 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
5585 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
5586 ([-fsanitize-undefined-trap-on-error]): Likewise.
5587 ([-floop-interchange]): Likewise.
5588 ([-ftree-coalesce-inlined-vars]): Likewise.
5589 ([-fvect-cost-model]): Likewise.
5590 ([-flto]): Likewise.
5591 ([--param]): Likewise.
5592 (Spec Files): Likewise.
5593 ([-mstrict-align]): Likewise.
5594 ([-mfix-cortex-a53-835769]): Likewise.
5595 ([-march], [-mtune]): Likewise.
5596 ([-mpic-register]): Likewise.
5597 ([-munaligned-access]): Likewise.
5598 ([-msp8]): Likewise.
5599 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
5600 (AVR Built-in Macros): Likewise.
5601 ([-mpreferred-stack-boundary]): Likewise.
5602 ([-mtune-crtl]): Likewise.
5603 ([-mashf]): Likewise.
5604 ([-mmcu=]): Likewise.
5605 ([-minrt]): Likewise.
5606 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
5607 ([-mupper-regs]): Likewise.
5608 ([-matomic-model]): Likewise.
5609 ([-mdiv]): Likewise.
5610 ([-mzdcbranch]): Likewise.
5611 ([-mdisable-callt]): Likewise.
5612 ([-msoft-float]): Likewise.
5613 ([-m8byte-align]): Likewise.
5614 ([-fstack-reuse]): Likewise.
5615
5616 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
5617
5618 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
5619 Fix markup, light copy-editing.
5620 ([-fauto-profile]): Rewrite to fix formatting and content
5621 problems.
5622
5623 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
5624
5625 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
5626 Copy-edit description.
5627 ([-fisolate-erroneous-paths-attribute]): Likewise.
5628 * common.opt (fisolate-erroneous-paths-dereference):
5629 Copy-edit description.
5630 (fisolate-erroneous-paths-attribute): Likewise.
5631
5632 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
5633
5634 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
5635 tidy grammar.
5636
5637 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
5638
5639 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
5640 ([-fvtv-debug]): Likewise.
5641 ([-Wc++-compat]): Likewise.
5642 ([-Wc++11-compat]): Likewise.
5643 ([-Wc++14-compat]): Likewise.
5644 ([-Wno-sized-deallocation]): Likewise.
5645 ([-femit-class-debug-always]): Likewise.
5646 ([-femit-struct-debug-detailed]): Likewise.
5647 ([-fno-keep-inline-dllexport]): Likewise.
5648 ([-fira-algorithm]): Likewise.
5649 ([-fira-region]): Likewise.
5650 ([-flra-remat]): Likewise.
5651 ([-fipa-ra]): Likewise.
5652 ([-fhoist-adjacent-loads]): Likewise.
5653 ([-fisolate-erroneous-paths-dereference]): Likewise.
5654 ([-fisolate-erroneous-paths-attribute]): Likewise.
5655 ([-ftree-switch-conversion]): Likewise.
5656 ([-ftree-tail-merge]): Likewise.
5657 ([-ftree-loop-if-convert]): Likewise.
5658 ([-ftree-loop-if-convert-stores]): Likewise.
5659 ([-ftree-loop-distribution]): Likewise.
5660 ([-ftree-loop-distribute-patterns]): Likewise.
5661 ([-flto-compression-level]): Likewise.
5662 ([-flto-report]): Likewise.
5663 ([-flto-report-wpa]): Likewise.
5664 ([-fuse-linker-plugin]): Likewise.
5665 ([-mfix-cortex-a53-835769]): Likewise.
5666 ([-mno-fix-cortex-a53-835769]): Likewise.
5667 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
5668 explicit listing; add a note to the discussion indicating they
5669 exist. Reorder table to group similar options. Add missing
5670 @opindex entries. Add @need commands throughout the table to
5671 allow it to be split across multiple pages.
5672 ([-m8bit-idiv]): Fix @opindex.
5673 ([-mavx256-split-unaligned-load]): Likewise.
5674 ([-mavx256-split-unaligned-store]): Likewise.
5675 ([-mstack-protector-guard]): Likewise.
5676 ([-mcpu=]): Likewise.
5677 ([-mcpu]): Likewise.
5678 ([-mpointer-size=]): Likewise.
5679
5680 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
5681
5682 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
5683 instead of `m' constraint. Likewise for unnamed movb comparison
5684 patterns using reg_before_reload_operand predicate.
5685 * config/pa/predicates.md (reg_before_reload_operand): Tighten
5686 predicate to reject register index and LO_SUM DLT memory forms
5687 after reload.
5688
5689 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
5690
5691 * doc/invoke.texi (Option Summary): Fix spelling of
5692 -fdevirtualize-at-ltrans.
5693 ([-fdevirtualize]): Fix markup.
5694 ([-fdevirtualize-speculatively]): Fix typo.
5695 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
5696 implementor-speaky.
5697 * common.opt (fdevirtualize-at-ltrans): Likewise.
5698 * ipa-devirt.c: Fix typos in comments throughout the file.
5699 (ipa_devirt): Fix typos in format strings for dump output.
5700
5701 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
5702
5703 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
5704 discussion of defaults, light copy-editing.
5705
5706 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5707
5708 * tsan.c (instrument_expr): corrected previous checkin.
5709
5710 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5711
5712 Instrument bit field and unaligned accesses for TSAN.
5713 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
5714 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
5715 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
5716 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
5717 unaligned memory regions.
5718
5719 2015-01-01 Anthony Green <green@moxielogic.com>
5720
5721 * config/moxie/predicates.md (moxie_general_movsrc_operand):
5722 Restrict move source register offsets to 16 bits.
5723 \f
5724 Copyright (C) 2015 Free Software Foundation, Inc.
5725
5726 Copying and distribution of this file, with or without modification,
5727 are permitted in any medium without royalty provided the copyright
5728 notice and this notice are preserved.