]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Fix search path in intelmic-mkoffload for empty COLLECT_GCC.
[gcc.git] / gcc / ChangeLog
CommitLineData
30094344
IV
12015-03-10 Ilya Verbin <ilya.verbin@intel.com>
2
3 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
4 of libgomp-plugin.h.
5 (find_target_compiler): Support a case when the path to gcc is specified
6 in the PATH env var, so COLLECT_GCC doesn't contain a path.
7 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
8 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
9 libgomp-plugin.h.
10 (main): Use GCC_INSTALL_NAME as target_driver_name.
11 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
12 define.
13 (mkoffload.o): Remove obsolete include path and defines.
14 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
15
a563c286
RB
162015-03-10 Richard Biener <rguenther@suse.de>
17
18 PR middle-end/63155
19 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
20 * tree-ssa-coalesce.c: Include timevar.h.
21 (attempt_coalesce): Handle graph being NULL.
22 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
23 Split out abnormal coalescing to ...
24 (perform_abnormal_coalescing): ... this function.
25 (coalesce_ssa_name): Perform abnormal coalescing without computing
26 live/conflict.
27 (verify_ssa_coalescing_worker): New function.
28 (verify_ssa_coalescing): Likewise.
29
4a2caf6c
GJL
302015-03-10 Georg-Johann Lay <avr@gjlay.de>
31
32 PR target/65296
33 * config.gcc (extra_options) [avr]: Remove.
34 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
35 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
36 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
37
38 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
39 (-mmcu=): Add Var and MissingArgError properties.
40 (-march=): Remove.
41 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
42 * config/avr/t-multilib: Regenerate.
43 * config/avr/specs.h: New file.
44 * config/avr/driver-avr.c: New file.
45 * config/avr/genopt.sh: Remove file.
46 * config/avr/avr-tables.opt: Remove file.
47 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
48 * config/avr/avr-c.c: Same.
49 * avr-arch.h: Same.
50 (avr_current_device): Remove proto.
51 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
52 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
53 (EXTRA_SPEC_FUNCTIONS): Define.
54 (avr_devicespecs_file): New specs function proto.
55 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
56 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
77d68d97 57 (avr_current_device): Remove definition and usage.
4a2caf6c
GJL
58 (avr_set_core_architecture): New static function.
59 (avr_option_override): Use it.
60 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
61 (mcu_name): New static array.
62 (comparator, avr_archs_str, avr_mcus_str): New static functions.
63 (avr_inform_devices, avr_inform_core_architectures): New functions.
64 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
65 (avrlibc.h) [WITH_AVRLIBC]: Include.
66 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
67 (print_mcu): Rewrite from scratch.
68 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
69 Forward to avr-specific specs defined in device-specs file.
70 * config/avr/t-avr (driver-avr.o): New rule.
71 (avr-devices.o): Depend on avr-arch.h.
72 (avr-mcus): No more depend on avr-tables.opt.
73 (avr-tables.opt): Remove rule.
74 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
75
226d62d2
IE
762015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
77
78 * c-family/c.opt (fchkp-use-wrappers): New.
79 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
80 (chkp_wrap_function): New.
81 (chkp_build_instrumented_fndecl): Support wrapped
82 functions.
83 * doc/invoke.texi (-fcheck-pointer-bounds): New.
84 (-fchkp-check-incomplete-type): New.
85 (-fchkp-first-field-has-own-bounds): New.
86 (-fchkp-narrow-bounds): New.
87 (-fchkp-narrow-to-innermost-array): New.
88 (-fchkp-optimize): New.
89 (-fchkp-use-fast-string-functions): New.
90 (-fchkp-use-nochk-string-functions): New.
91 (-fchkp-use-static-bounds): New.
92 (-fchkp-use-static-const-bounds): New.
93 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
94 (-fchkp-check-read): New.
95 (-fchkp-check-write): New.
96 (-fchkp-store-bounds): New.
97 (-fchkp-instrument-calls): New.
98 (-fchkp-instrument-marked-only): New.
99 (-fchkp-use-wrappers): New.
100 (-static-libmpx): New.
101 (-static-libmpxwrappers): New.
102
d2d7e672
IE
1032015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
104
105 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
106 (CHKP_SPEC): Add wrappers library.
107 * c-family/c.opt (static-libmpxwrappers): New.
108
5373cd33
IE
1092015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
110
111 * config/i386/linux-common.h (LIBMPX_LIBS): New.
112 (LIBMPX_SPEC): New.
113 (CHKP_SPEC): New.
114 * gcc.c (CHKP_SPEC): New.
115 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
116 * c-family/c.opt (static-libmpx): New.
117
40ff1364
RB
1182015-03-10 Richard Biener <rguenther@suse.de>
119
120 PR middle-end/44563
121 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
122 for compare_type.
123 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
124 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
125 (cgraph_add_edge_to_call_site_hash): Likewise.
126 (cgraph_node::get_edge): Likewise.
127 (cgraph_edge::set_call_stmt): Likewise.
128 (cgraph_edge::remove_caller): Likewise.
129
c457f751
CJW
1302015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
131
132 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
133 (callee_saved_gpr_regs_size): ... this.
134 (callee_saved_regs_first_regno): Rename to ...
135 (callee_saved_first_gpr_regno): ... this.
136 (callee_saved_regs_last_regno) Rename to ...
137 (callee_saved_last_gpr_regno): ... this.
138 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
139 variables.
140 (nds32_initial_elimination_offset): Likewise.
141 (nds32_expand_prologue): Likewise.
142 (nds32_expand_epilogue): Likewise.
143 (nds32_expand_prologue_v3push): Likewise.
144 (nds32_expand_epilogue_v3pop): Likewise.
145 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
146 Adjust renamed variables.
147 (nds32_output_stack_pop): Likewise.
148
048f1a9c
TP
1492015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
150
151 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
152 code in comment.
153
26d83bcc
JJ
1542015-03-10 Jakub Jelinek <jakub@redhat.com>
155
156 PR rtl-optimization/65321
157 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
158 than shift mode.
159 * var-tracking.c (use_narrower_mode): Likewise.
160
caf2df93
JH
1612015-03-10 Jan Hubicka <hubicka@ucw.cz>
162
163 PR tree-optimization/65355
164 * varasm.c (notice_global_symbol): Do not produce RTL.
165 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
166 anchor.
167 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
168 check for section anchors.
169
864396ff
AM
1702015-03-10 Alan Modra <amodra@gmail.com>
171
172 PR target/65286
173 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
174 to be single-arch by default. Set cpu_is_64bit for powerpc64
175 given --with-cpu=native.
176 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
177 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
178 and powerpc64le.
179 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
180 rs6000_isa_flags rather than TARGET_64BIT.
181
711d91e1
YS
1822015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
183 Kaz Kojima <kkojima@gcc.gnu.org>
184
185 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
186
9112885a
JJ
1872015-03-09 Jakub Jelinek <jakub@redhat.com>
188
189 PR lto/65361
190 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
191 on a TREE_BINFO, instead use BINFO_TYPE.
192
e0808638
RB
1932015-03-09 Richard Biener <rguenther@suse.de>
194
195 PR middle-end/65270
196 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
197 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
198 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
199 of that. When comparing dereferences compare alignment.
200 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
201
e0d514da
JH
2022015-03-08 Jan Hubicka <hubicka@ucw.cz>
203
204 * ipa-inline-analysis.c (check_callers): Check
205 node->can_remove_if_no_direct_calls_and_refs_p.
206 (growth_likely_positive): Reorganize to call
207 can_remove_if_no_direct_calls_p later.
208 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
209 will_be_removed_from_program_if_no_direct_calls_p): Add
210 will_inline parameter.
211 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
212 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
213 Handle inliner case correctly.
214
68ca4ac9
TP
2152015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
216
217 PR tree-optimization/63743
218 * cfgexpand.c (reorder_operands): Also reorder if only second operand
219 had its definition forwarded by TER.
220
609570b4
JH
2212015-03-08 Jan Hubicka <hubicka@ucw.cz>
222
223 PR lto/65316
224 * ipa-utils.h (types_odr_comparable): Add strict argument.
225 * ipa-devirt.c: Fix whitespace;
226 (odr_hasher): Remove.
227 (odr_name_hasher, odr_vtable_hasher): New hashers.
228 (can_be_name_hashed_p): New predicate.
229 (hash_type_name): remove.
230 (hash_odr_name): New.
231 (odr_name_hasher::hash): new.
232 (can_be_vtable_hashed_p): New.
233 (hash_odr_vtable): New.
234 (odr_vtable_hasher::hash): New.
235 (types_same_for_odr): Add strict parameter.
236 (types_odr_comparable): Likewise.
237 (odr_name_hasher::equal): New.
238 (odr_vtable_hasher::equal): New.
239 (odr_name_hasher::remove): New.
240 (odr_hash_type): Change to hash_table<odr_name_hasher>.
241 (odr_vtable_hash_type): New.
242 (odr_vtable_hash): New.
243 (odr_subtypes_equivalent_p): Do strict comparsion.
244 (add_type_duplicate): Merge type names; cleanup; avoid type
245 duplicates.
246 (register_odr_type): Initialize vtable hash.
247 (build_type_inheritance_graph): Likewise
248 (get_odr_type): Reorg to use two hashes.
249 (dump_possible_polymorphic_call_targets): Move sanity check after debug
250 output.
251 (ipa_devirt): Dump type_inheritance_graph.
252 (types_same_for_odr): Add strict mode.
253
428f0c67
JH
2542015-03-05 Jan Hubicka <hubicka@ucw.cz>
255
256 PR ipa/65334
257 * cgraph.h (symtab_node): Add definition_alignment,
258 can_increase_alignment_p and increase_alignment.
259 * symtab.c (symtab_node::can_increase_alignment_p,
260 increase_alignment_1, symtab_node::increase_alignment,
261 symtab_node::definition_alignment): New.
262 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
263 can_increase_alignment_p.
264 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
265 * tree-vect-stmts.c (ensure_base_align): Likewise.
7185ec2c
JH
266 * varasm.c (function_section_1): Use definition_alignment.
267 (assemble_start_function): Likewise.
268 (emit_local): likewise.
269 (build_constant_desc): Likewsie.
270 (output_constant_def_contents): Likewise.
271 (place_block_symbol): Likewise.
272 (output_object_block): Likewise.
428f0c67 273
a7384b1b
JH
2742015-03-05 Jan Hubicka <hubicka@ucw.cz>
275
276 PR ipa/65316
277 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
278 when outputting debug.
279
04fd785e
MP
2802015-03-07 Marek Polacek <polacek@redhat.com>
281 Martin Uecker <uecker@eecs.berkeley.edu>
282
283 PR sanitizer/65280
284 * doc/invoke.texi: Update description of -fsanitize=bounds.
285
268cb4b3
WD
2862015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
287
288 * tree-ssa-phiopt.c (neg_replacement): Remove.
289 (tree_ssa_phiopt_worker): Remove negate optimization.
290
81b0d906
JH
2912015-03-05 Jan Hubicka <hubicka@ucw.cz>
292
293 PR ipa/65302
294 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
295
87d0d6c4
RB
2962015-03-06 Richard Biener <rguenther@suse.de>
297
298 PR middle-end/64928
299 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
300 and liveout_obstack members.
301 (calculate_live_on_exit): Remove.
302 (calculate_live_ranges): Change declaration.
303 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
304 (new_tree_live_info): Adjust.
305 (calculate_live_ranges): Delete livein when not wanted.
306 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
307 Deal with partly deleted live info.
308 (loe_visit_block): Remove temporary bitmap by using
309 bitmap_ior_and_compl_into.
310 (live_worklist): Adjust accordingly.
311 (calculate_live_on_exit): Make static.
312 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
313 we do not need livein.
314
7bfa4bc5
JW
3152015-03-06 Jonathan Wakely <jwakely@redhat.com>
316
317 * real.c (real_from_string): Fix typo in assertion.
318
1dfc8b24
AV
3192015-03-06 Alex Velenko <alex.velenko@arm.com>
320
321 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
322 the patch.
323
ab038a80
JH
3242015-03-05 Jan Hubicka <hubicka@ucw.cz>
325
326 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
327
34349d55
VM
3282015-03-05 Vladimir Makarov <vmakarov@redhat.com>
329
330 PR target/64342
331 * lra-assigns.c (find_hard_regno_for): Rename to
332 find_hard_regno_for_1. Add a new parameter.
333 (find_hard_regno_for): New function using find_hard_regno_for_1.
334
53c615a2
BE
3352015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
336
337 PR rtl-optimization/65067
338 * expmed.c (store_bit_field, extract_bit_field): Reworked the
339 strict volatile bitfield handling.
340
9374ef82
ML
3412015-03-05 Martin Liska <mliska@suse.cz>
342
343 PR ipa/65318
344 * ipa-icf.c (sem_variable::equals): Compare variables types.
345
1dfc8b24 3462015-03-05 Richard Henderson <rth@redhat.com>
2755b64e 347
578c2339 348 PR target/65121
2755b64e
AV
349 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
350 correctly check weak symbol binding.
351
a8eeec27
SE
3522015-03-05 Steve Ellcey <sellcey@imgtec.com>
353
354 PR middle-end/65315
355 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
356 needed alignment.
357
bcda57c1
ML
3582015-03-05 Martin Liska <mliska@suse.cz>
359
360 * ipa-inline.c (inline_small_functions): Set default value to
361 prevent warning during bootstrap.
362 * tree.h: Add pragma guard that ignores false positives during
363 bootstrap.
364
b162e1e7
RB
3652015-03-05 Richard Biener <rguenther@suse.de>
366
367 PR tree-optimization/65310
368 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
369 Properly preserve alignment of the base of the access.
370
58ed456c
RB
3712015-03-05 Richard Biener <rguenther@suse.de>
372
373 PR ipa/65270
374 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
375 Compare dependence info.
376
b3406fa0
RB
3772015-03-05 Richard Biener <rguenther@suse.de>
378
379 PR middle-end/65233
380 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
381 tree-into-ssa.h.
382 (walk_ssa_copies): Revert last chage. Instead do not walk
383 SSA names registered for SSA update.
384
fe75bd20
JH
3852015-03-03 Jan Hubicka <hubicka@ucw.cz>
386
387 PR ipa/65270
388 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
389 vtable references for their containing type.
390 (sem_function::equals_wpa): Compare TYPE_RESTRICT
391 and type attributes.
392
d10a61fb
EB
3932015-03-04 Eric Botcazou <ebotcazou@adacore.com>
394
395 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
396 before negating it.
397 * stor-layout.c (finalize_record_size): Revert latest change.
398
8ed4390c
AT
3992015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
400
401 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
402
a6a543bf
JH
4032015-03-03 Jan Hubicka <hubicka@ucw.cz>
404
405 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
406 for correct comdat handling.
407 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
408 Likewise.
409 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
410 (used_from_object_file_p_worker): Remove.
411 (cgraph_node::only_called_directly_or_alised): Add
412 used_from_object_file_p.
413 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
414 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
415 can_remove_if_no_direct_calls_and_refs_p.
416
b68686bf
NC
4172015-03-04 Nick Clifton <nickc@redhat.com>
418
419 * config/rl78/rl78.h (enum reg_class): Remove real registers from
420 General register class.
421 * config/rl78/rl78-real.md: Replace general register constraints
422 with real+virtual register constraints.
423
4b9f07eb
AK
4242015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
425
d10a61fb
EB
426 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
427 from checking for -mhtm option.
4b9f07eb 428
670654ef
JH
4292015-03-03 Jan Hubicka <hubicka@ucw.cz>
430
431 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
432 (struct ipa_sra_check_caller_data): Add has_thunk field.
433 (ipa_sra_check_caller): Check for thunk.
434 (ipa_sra_preliminary_function_checks): Give up on function with
435 thunks.
436 (ipa_early_sra): Use call_for_symbol_and_aliases.
437
ac841cf7
KK
4382015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
439
440 PR target/65249
441 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
442 called for __stack_chk_guard symbol.
443
f6115d44
DD
4442015-03-03 DJ Delorie <dj@redhat.com>
445
446 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
447 inc/dec.
448 (*addhi3_real): Likewise.
449 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
450 pattern to match incrementing memory.
451 * config/rl78/predicates.md (rl78_1_2_operand): New.
452 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
453 it's the same and only mem.
454 (rl78_alloc_physical_registers_op2): If there's effectively only
455 one MEM, transcode it into HL.
456 (rl78_far_p): Reject addresses that aren't legitimate.
457
3a5c579a
EB
4582015-03-03 Eric Botcazou <ebotcazou@adacore.com>
459
460 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
461 negating it.
462
463 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
464
590e2636
MF
4652015-03-03 Max Filippov <jcmvbkbc@gmail.com>
466
467 Implement call0 ABI for xtensa
468 * config/xtensa/constraints.md ("a" constraint): Include stack
469 pointer in case of call0 ABI.
470 ("q" constraint): Make empty in case of call0 ABI.
471 ("D" constraint): Include stack pointer in case of call0 ABI.
472 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
473 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
474 prototypes.
475 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
476 variable.
477 (xtensa_regno_to_class): Make it a local variable in the
478 function xtensa_regno_to_class.
479 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
480 macro, function prototype and implementation.
481 (reg_nonleaf_alloc_order): Make it a local variable in the
482 function order_regs_for_local_alloc.
483 (xtensa_conditional_register_usage): New function.
484 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
485 (xtensa_valid_move): Allow direct moves to stack pointer
486 register in call0 ABI.
487 (xtensa_setup_frame_addresses): Only spill register windows in
488 windowed ABI.
489 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
490 call0 ABI respectively.
491 (xtensa_function_arg_1): Only mark a7 register for copying in
492 windowed ABI.
493 (xtensa_call_save_reg): New function.
494 (compute_frame_size): Add space for callee saved register
495 storage to the frame size in call0 ABI.
496 (xtensa_expand_prologue): Generate code to set up stack frame
497 and save callee-saved registers in call0 ABI.
498 (xtensa_expand_epilogue): New function.
499 (xtensa_set_return_address): New function.
500 (xtensa_return_addr): Calculate return address in call0 ABI.
501 (xtensa_builtin_saveregs): Only mark a7 register for copying and
502 emit copying code in windowed ABI.
503 (order_regs_for_local_alloc): Add preferred register allocation
504 order for non-leaf function in call0 ABI.
505 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
506 (xtensa_asm_trampoline_template): Add trampoline generation for
507 call0 ABI.
508 (xtensa_trampoline_init): Add trampoline initialization for
509 call0 ABI.
510 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
511 functions.
512 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
513 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
514 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
515 ABI call-used registers.
516 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
517 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
518 call0 ABI.
519 (REG_CLASS_CONTENTS): Include all registers into the preferred
520 reload registers set, adjust the set in the
521 xtensa_conditional_register_usage.
522 (xtensa_regno_to_class): Drop variable declaration.
523 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
524 function.
525 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
526 respectively.
527 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
528 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
529 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
530 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
531 location in call0 ABI.
532 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
533 stack adjustment size when handling exception.
534 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
535 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
536 definitions.
537 ("return" pattern): Generate ret.n/ret in call0 ABI.
538 ("epilogue" pattern): Expand epilogue.
539 ("nonlocal_goto" pattern): Use default in call0 ABI.
540 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
541 emit eh_set_a0_* depending on ABI.
542 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
543 ("eh_set_a0_call0", "blockage"): New patterns.
544
6fb12821
ML
5452015-03-03 Martin Liska <mliska@suse.cz>
546
547 PR ipa/65287
548 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
549
a6a62c01
MM
5502015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
551
552 PR 65138/target
553 * config/rs6000/rs6000-tables.opt: Regenerate table.
554
0ab9eed6
RL
5552015-03-03 Renlin Li <renlin.li@arm.com>
556
557 * doc/md.texi (@item ^): Change ? into ^.
558
a55bbe13
L
5592015-03-03 H.J. Lu <hongjiu.lu@intel.com>
560
561 * doc/tm.texi: Regenerated.
562
2e612c47
MF
5632015-03-03 Max Filippov <jcmvbkbc@gmail.com>
564
565 * builtins.c (expand_builtin_return_addr): Add
566 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
567 surrounding #ifdef.
568 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
569 definition to 1.
570 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
571 Likewise.
572 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
573 undefined.
574 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
575 paragraph.
576
ebde4f8e
MJ
5772015-03-03 Martin Jambor <mjambor@suse.cz>
578 Eric Botcazou <ebotcazou@adacore.com>
579
580 * tree-sra.c (ipa_sra_check_caller_data): New type.
581 (has_caller_p): Removed.
582 (ipa_sra_check_caller): New function.
583 (ipa_sra_preliminary_function_checks): Use it.
584
21ce14d3
ML
5852015-03-03 Martin Liska <mliska@suse.cz>
586
587 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
588 instead of if branch.
589
3c031cbe
ML
5902015-03-03 Martin Liska <mliska@suse.cz>
591
592 PR ipa/65282
593 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
594
2f159d9f
JL
5952015-03-23 Jeff Law <law@redhat.com>
596
597 PR tree-optimization/65241
598 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
599 hash table if INSERT is true.
600
5cb8b86e
GJL
6012015-03-03 Georg-Johann Lay <avr@gjlay.de>
602
603 PR target/65296
604 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
605
2b4293a3
GJL
6062015-03-03 Georg-Johann Lay <avr@gjlay.de>
607
608 PR target/64331
609 * config/avr/avr.c (context.h, tree-pass.h): Include them.
610 (avr_pass_data_recompute_notes): New static variable.
611 (avr_pass_recompute_notes): New class.
612 (avr_register_passes): New static function.
613 (avr_option_override): Call it.
614
38822076
GJL
6152015-03-03 Georg-Johann Lay <avr@gjlay.de>
616
617 Fix various problems with specs file generation.
618
619 PR target/65296
620 * config.gcc (extra_gcc_objs) [avr]: Remove.
621 * config/avr/driver-avr.c: Remove file.
622 * config/avr/t-avr (driver-avr.o): Remove rule.
623 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
624 INCLUDES to build. Depend on TM_H.
625 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
626 build warnings. Fix non-matching types and non-existing %-codes.
627 (tm.h): Include.
628 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
629 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
630 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
631 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
632 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
633 (LIBGCC_SPEC): Remove definitions.
634
b4b78e2d
EB
6352015-03-03 Eric Botcazou <ebotcazou@adacore.com>
636
637 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
638 to create a register in testing mode.
639
17d1bf76
ML
6402015-03-03 Martin Liska <mliska@suse.cz>
641 Jan Hubicka <hubicka@ucw.cz>
642
643 PR ipa/65263
644 * cgraph.c (cgraph_node::has_thunk_p): New function.
645 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
646 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
647 (sem_function::merge): Assert is changed.
648
bd31fe14
ML
6492015-03-03 Martin Liska <mliska@suse.cz>
650 Martin Jambor <mjambor@suse.cz>
651
652 PR ipa/65087
653 * ipa-icf.c (sem_item_optimizer::execute): Change function
654 return value to boolean.
655 (sem_item_optimizer::merge_classes): Likewise.
656 (ipa_icf_driver): Return TODO_remove_functions in case there's
657 a merge operation processed.
658 * ipa-icf.h: Change function return value to boolean.
659
0eef284e
MM
6602015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
661
662 PR 65138/target
663 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
664 processor type for 64-bit little endian PowerPC.
665
666 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
667 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
668 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
669 printing built-in mask so it does not pass NULL pointers.
670
671 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
672 -mcpu=powerpc64le.
673
7096a068
SE
6742015-03-02 Steve Ellcey <sellcey@imgtec.com>
675
676 PR target/58158
677 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
678 !ISA_HAS_FP_CONDMOVE.
679
29e27c0b
AH
6802015-03-02 Aldy Hernandez <aldyh@redhat.com>
681
682 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
683 reload_completed.
684
0ce03965
UD
6852015-03-02 Ulrich Drepper <drepper@gmail.com>
686
687 * doc/invoke.texi (Options for Code Generation Conventions):
688 Fix URL of DSO paper.
0eef284e 689
1af8bfe5
JH
6902015-03-02 Jan Hubicka <hubicka@ucw.cz>
691
692 PR ipa/65130
693 * ipa-inline.c (check_callers): Looks for recursion.
694 (inline_to_all_callers): Give up on uninlinable or recursive edges.
695 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
696 summary of inline clones.
697 (do_estimate_growth_1): Fix recursion check.
698
b91b562c
JH
6992015-03-02 Jan Hubicka <hubicka@ucw.cz>
700
701 PR ipa/64988
702 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
703 comdat groups.
704
af5513e9
JH
7052015-03-02 Jan Hubicka <hubicka@ucw.cz>
706 Aldy Hernandez <aldyh@redhat.com>
707
708 PR lto/65276
709 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
710 when checking TYPE_BINFO.
711
d366a1a7
RB
7122015-03-02 Richard Biener <rguenther@suse.de>
713
714 PR ipa/65270
715 * ipa-icf-gimple.c: Include builtins.h.
716 (func_checker::compare_memory_operand): Compare base alignment.
717
df265bd2
IE
7182015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
719
720 PR target/65184
721 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
722 are never passed by reference.
723
321a5ceb
IE
7242015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
725
726 PR target/65183
727 * tree-chkp.c (chkp_check_lower): Don't check against
728 zero bounds for already instrumented functions.
729 (chkp_check_upper): Likewise.
730 (chkp_fini): Clean pass local data to avoid wrong reusage.
731
c4c0f336
ML
7322015-02-28 Martin Liska <mliska@suse.cz>
733 Jan Hubicka <hubicka@ucw.cz>
734
735 * ipa-icf.c (sem_variable::equals): Improve debug output;
736 get variable constructor.
737 (sem_variable::parse): Do not filter out too early; give up on
738 volatile and register vars.
739 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
740 variables.
741 * ipa-icf.h (sem_variable::init): Do not set ctor.
742 (sem_variable::ctor): Remove.
743
34a108c8
AH
7442015-03-01 Aldy Hernandez <aldyh@redhat.com>
745
746 PR middle-end/65233
747 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
748
46305737
JH
7492015-02-28 Jan Hubicka <hubicka@ucw.cz>
750
751 * ipa-icf.c: Include stor-layout.h
752 (sem_function::compare_cgraph_references): Rename to ...
753 (sem_item::compare_cgraph_references): ... this one.
754 (sem_variable::equals_wpa): New function
755 (sem_variable::equals): Do not check stuff already verified by
756 equals_wpa.
757 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
758 * ipa-icf.h (sem_item): Add compare_cgraph_references.
759 (sem_function): Remove compare_cgraph_references.
760 (sem_variable): Turns equals_wpa into non-inline.
761
a8d93817
JH
7622015-02-28 Jan Hubicka <hubicka@ucw.cz>
763
764 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
765 (sem_item::add_expr): New function.
766 (sem_function::hash_stmt): Handle operands of most statements.
767 (sem_variable::get_hash): Hash the actual constructor.
768 * ipa-icf.h (sem_item): Add add_expr.
769 (sem_function): Update prototype of hash_stmt
770
b6cddc7f
ML
7712015-02-28 Martin Liska <mliska@suse.cz>
772 Jan Hubicka <hubicka@ucw.cz>
773
774 PR ipa/65245
775 * ipa-icf-gimple.c (func_checker::compare_function_decl):
776 Remove.
777 (func_checker::compare_variable_decl): Skip symtab vars.
778 (func_checker::compare_cst_or_decl): Update.
779 * ipa-icf.c (sem_function::parse): Do not consider aliases.
780 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
781 use correct symtab predicates.
782 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
783 (sem_variable::parse): Update comment.
784 (sem_item_optimizer::build_graph): Consider ultimate aliases
785 for references.
786
4bd5f767
JH
7872015-02-28 Jan Hubicka <hubicka@ucw.cz>
788
789 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
790 of OBJ_TYPE_REF.
791
c7a06bc1
JH
7922015-02-28 Jan Hubicka <hubicka@ucw.cz>
793
794 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
795 (sem_variable::merge) Likewise.
796
eb140ba0 7972015-02-28 Jan Hubicka <hubicka@ucw.cz>
e8fb91a8 798
eb140ba0
JH
799 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
800 target; also match flag_ipa_devirt.
801
8022015-03-01 Martin Liska <mliska@suse.cz>
e8fb91a8
ML
803 Jan Hubicka <hubicka@ucw.cz>
804
805 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
806 Validate variable alignment.
807 * ipa-icf.c (sem_function::equals_private): Be more precise
808 about non-common function attributes.
809 (sem_variable::equals): Likewise.
810
bbcdfb93
JH
8112015-02-28 Jan Hubicka <hubicka@ucw.cz>
812
813 PR ipa/65237
814 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
815 across COMDAT group boundary.
816
412049de
JH
8172015-02-28 Jan Hubicka <hubicka@ucw.cz>
818
819 PR ipa/65232
820 * ipa-icf.c (clear_decl_rtl): New function.
821 (sem_function::merge): Clear RTL before forming alias.
822 (sem_variable::merge): Clear RTL before forming alias.
823
b7aa4a3a
JH
8242015-02-28 Jan Hubicka <hubicka@ucw.cz>
825
826 PR ipa/65236
827 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot
828 opt.
829
116a394e
XP
8302015-02-28 Xingxing Pan <xxingpan@marvell.com>
831
832 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
833 to neon_to_gp<q>.
834
9bc163e3
VM
8352015-02-27 Vladimir Makarov <vmakarov@redhat.com>
836
837 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
838 a typo in the description.
839
fb8a0e40
VM
8402015-02-27 Vladimir Makarov <vmakarov@redhat.com>
841
842 PR target/64317
843 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
844 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
845 * lra-constraints.c: Include "params.h".
846 (EBB_PROBABILITY_CUTOFF): Use
847 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
848 (lra_inheritance): Use '<' instead of '<=' for
849 EBB_PROBABILITY_CUTOFF.
850 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
851 Document change.
852
b94097dc
ML
8532015-02-27 Martin Liska <mliska@suse.cz>
854
855 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
856 vector length condition.
857
8eba66e8
SL
8582015-02-27 Sandra Loosemore <sandra@codesourcery.com>
859
860 * doc/extend.texi (x86 transactional memory intrinsics):
861 Reorganize discussion of _xbegin. Clarify that the return
862 value is a bit mask. Expand example and move to end of section.
863
395df65e
JJ
8642015-02-26 Jakub Jelinek <jakub@redhat.com>
865 Aldy Hernandez <aldyh@redhat.com>
866
867 PR rtl-optimization/65220
868 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
869
892927b7
VM
8702015-02-27 Vladimir Makarov <vmakarov@redhat.com>
871
872 PR target/65032
873 * lra-remat.c (update_scratch_ops): New.
874 (do_remat): Call it.
875 * lra.c (lra_register_new_scratch_op): New. Take code from ...
876 (remove_scratches): ... here.
877 * lra-int.h (lra_register_new_scratch_op): New prototype.
878
7631f0e2
MP
8792015-02-27 Marek Polacek <polacek@redhat.com>
880
881 PR c/65040
882 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
883 -Wformat-signedness anymore.
884
35bc11c3
AK
8852015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
886
887 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
888 function.
889 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
890
004f64e1
AK
8912015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
892
893 * config/s390/s390.c (enum s390_builtin):
894 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
895 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
896 (s390_init_builtins): Generate new builtin functions.
897 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
898 (s390_sfpc, s390_efpc): New pattern definitions.
899
9b80b7bc
AK
9002015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
901
902 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
903 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
904 (s390_builtin_decls): New array.
905 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
906 (s390_builtin_decl): New function.
907 (TARGET_BUILTIN_DECL): Define macro.
908
4ceae7e9
RB
9092015-02-27 Richard Biener <rguenther@suse.de>
910
911 PR middle-end/63175
912 * builtins.c (get_object_alignment_2): Make sure to re-apply
913 the ANDed mask after recursing to its operand gets us a new
914 misalignment bit position.
915
0a7246ee
JH
9162015-02-26 Jan Hubicka <hubicka@ucw.cz>
917 Martin Liska <mliska@suse.cz>
918
919 PR bootstrap/65150
920 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
921 Use address_matters_p.
922 (redirect_all_callers, set_addressable): New functions.
923 (sem_function::merge): Reorganize and fix merging issues.
924 (sem_variable::merge): Likewise.
925 (sem_variable::compare_sections): Remove.
926 * common.opt (fmerge-all-constants, fmerge-constants): Remove
927 Optimization flag.
928 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
929 redirect them.
930 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
931 decl is used.
932 (address_matters_1): New function.
933 (symtab_node::address_matters_p): New function.
934 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
935 check for merged flag.
936 * cgraph.h (address_matters_p): Declare.
937 (symtab_node::address_taken_from_non_vtable_p): Remove.
938 (symtab_node::address_can_be_compared_p): New method.
939 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
940 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
941 Remove.
942 (comdat_can_be_unshared_p_1) Use address_matters_p.
943 (update_vtable_references): Fix formating.
944 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
945 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
946 * cgraphclones.c: Preserve merged and icf_merged flags.
947
6fb04b89
SL
9482015-02-26 Sandra Loosemore <sandra@codesourcery.com>
949
950 * doc/extend.texi (Function Attributes): Fix spelling and typos.
951 (Label Attributes): Likewise.
952 (Cilk Plus Builtins): Likewise.
953 (ARC SIMD Built-in Functions): Likewise.
954 (ARM C Language Extensions (ACLE)): Likewise.
955 (PowerPC Built-in Functions): Likewise.
956 (PowerPC Hardware Transactional Memory Built-in Functions):
957 Likewise.
958
5c2766c1
JJ
9592015-02-26 Jakub Jelinek <jakub@redhat.com>
960
d288c0ab
JJ
961 PR tree-optimization/65216
962 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
963 new stmt and new SSA_NAME for lhs whenever the arguments have
964 changed and weren't just swapped. Fix comment typo.
965
5c2766c1
JJ
966 PR tree-optimization/65215
967 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
968 for PDP endian targets.
969 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
970 Fix up formatting issues.
971 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
972 size is smaller than the original, adjust MEM_REF offset by the
973 difference of sizes. Use is_gimple_mem_ref_addr instead of
974 is_gimple_min_invariant test to avoid adding address temporaries.
975
5ebd0e61
ML
9762015-02-26 Martin Liska <mliska@suse.cz>
977 Jan Hubicka <hubicka@ucw.cz>
978
979 PR ipa/64693
980 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
981 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
982 (sem_item_optimizer::process_cong_reduction): Include division by
983 sensitive references.
984 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
985 * ipa-ref.c (ipa_ref::address_matters_p): New function.
986 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
987
d713426e
GJL
9882015-02-26 Georg-Johann Lay <avr@gjlay.de>
989
990 PR target/65192
991 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
992 Remove.
993 * config/avr/avr.c: Same.
994 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
995 Refuse any constant address not in 0..0xbf.
996 * config/avr/avr.md (*mov<mode>, *movsf): Remove
997 tiny_valid_direct_memory_access_range from insn conditions.
998 (mov<mode>): Don't special-case expansion of avrtiny addresses.
999
dac2637b
OE
10002015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
1001
1002 PR target/61142
1003 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
1004 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
1005 * config/sh/predicates.md (const_logical_operand): New predicate.
1006 * config/sh/sh.md: Add new peephole2 patterns.
1007
1cf06f1e
MP
10082015-02-26 Marek Polacek <polacek@redhat.com>
1009
1010 PR ipa/65008
1011 * ipa-inline.c (early_inliner): Recompute inline parameters.
1012
197bd30f
BS
10132015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1014
1015 PR target/65171
1016 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
1017 instructions with TImode operands are included in the analysis.
1018
a99c3d70
SP
10192015-02-26 Sebastian Pop <s.pop@samsung.com>
1020
1021 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
1022 of an EDGE_FSM_THREAD.
1023
b5f0a062
PB
10242015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
1025
1026 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
1027
b33da0c7
AH
10282015-02-25 Aldy Hernandez <aldyh@redhat.com>
1029
1030 PR debug/46102
1031 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
1032
ae762b31
SP
10332015-02-26 Sebastian Pop <s.pop@samsung.com>
1034
1035 PR tree-optimization/65048
1036 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
1037 (thread_through_all_blocks): Call valid_jump_thread_path.
1038 Remove invalid FSM jump-thread paths.
1039
db847fa8
JJ
10402015-02-26 Jakub Jelinek <jakub@redhat.com>
1041
1042 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
1043 (ipa_write_optimization_summaries): Likewise.
1044 * tree-streamer.h: Include data-streamer.h.
1045 (streamer_mode_table): Declare extern variable.
1046 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
1047 * lto-streamer-out.c (lto_output_init_mode_table,
1048 lto_write_mode_table): New functions.
1049 (produce_asm_for_decls): Call lto_write_mode_table when streaming
1050 offloading LTO.
1051 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
1052 (lto_create_simple_input_block): Add mode_table argument to the
1053 lto_input_block constructors.
1054 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
1055 Likewise.
1056 * data-streamer-in.c (string_for_index): Likewise.
1057 * ipa-inline-analysis.c (inline_read_section): Likewise.
1058 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
1059 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
1060 * lto-streamer-in.c (lto_read_body_or_constructor,
1061 lto_input_toplevel_asms): Likewise.
1062 (lto_input_mode_table): New function.
1063 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
1064 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
1065 Use bp_pack_machine_mode.
1066 * real.h (struct real_format): Add name field.
1067 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
1068 (class lto_input_block): Add mode_table member.
1069 (lto_input_block::lto_input_block): Add mode_table_ argument,
1070 initialize mode_table.
1071 (struct lto_file_decl_data): Add mode_table field.
1072 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
1073 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
1074 unpack_ts_decl_common_value_fields,
1075 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
1076 * tree-streamer.c (streamer_mode_table): New variable.
1077 * real.c (ieee_single_format, mips_single_format,
1078 motorola_single_format, spu_single_format, ieee_double_format,
1079 mips_double_format, motorola_double_format,
1080 ieee_extended_motorola_format, ieee_extended_intel_96_format,
1081 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
1082 ibm_extended_format, mips_extended_format, ieee_quad_format,
1083 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
1084 decimal_single_format, decimal_double_format, decimal_quad_format,
1085 ieee_half_format, arm_half_format, real_internal_format): Add name
1086 field.
1087 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
1088
b24b3262
YR
10892015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
1090
1091 PR target/65161
1092 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
1093 reordering for selective scheduling.
1094
afe006ad
TG
10952015-02-26 Terry Guo <terry.guo@arm.com>
1096
1097 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
1098 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
1099 (arm_arch_no_volatile_ce): Declare new global variable.
1100 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
1101 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
1102 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
1103 (TARGET_NO_VOLATILE_CE): New macro.
1104 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
1105 volatile memory access in IT block
1106
76fabbf4
UB
11072015-02-25 Uros Bizjak <ubizjak@gmail.com>
1108
1109 PR target/47230
1110 * doc/install.texi (Specific, alpha*-*-*): Document that binutils 2.25
1111 or newer are required.
1112
f5fd5773
KT
11132015-02-25 Kai Tietz <ktietz@redhat.com>
1114
1115 PR tree-optimization/61917
1116 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
1117 that reduc_def_stmt is null.
1118
b4f26d91
ML
11192015-02-25 Martin Liska <mliska@suse.cz>
1120
1121 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
1122 hard register variables.
1123
feeca9cc
KT
11242015-02-25 Kai Tietz <ktietz@redhat.com>
1125
1126 PR target/64212
1127 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
1128 (symtab::noninterposable_alias): Likewise.
1129
a2273e72
IE
11302015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
1131
1132 PR target/65167
1133 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
1134 bounds registers.
1135 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
1136
eeaccc07
AL
11372015-02-25 Alan Lawrence <alan.lawrence@arm.com>
1138
1139 PR target/64997
1140 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
1141 as split condition; force split via '#' in output pattern.
1142
3d9bab5a
RB
11432015-02-25 Richard Biener <rguenther@suse.de>
1144 Kai Tietz <ktietz@redhat.com>
1145
1146 PR tree-optimization/61917
1147 * tree-vect-loop.c (vectorizable_reduction): Allow
1148 vect_internal_def without reduction to exit graceful.
1149
94ba1bd5
GJL
11502015-02-25 Georg-Johann Lay <avr@gjlay.de>
1151
1152 PR target/65196
1153 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
1154 only with NONDEBUG_INSN_P.
1155
10fbfd1b
GJL
11562015-02-25 Georg-Johann Lay <avr@gjlay.de>
1157
1158 Use variadic macros with avr-log.c.
1159
1160 * config/avr/avr-protos.h (avr_vdump): New prototype.
1161 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
1162 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
1163 * config/avr/avr-log.c: Adjust comments.
1164 (avr_vdump): New function.
1165 (avr_vadump): Pass caller as 2nd argument instead of format string.
1166 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
1167 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
1168
59913123
JJ
11692015-02-25 Jakub Jelinek <jakub@redhat.com>
1170
1171 PR lto/64374
1172 * target.def (target_option_stream_in): New target hook.
1173 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
1174 targetm.target_option.post_stream_in if non-NULL.
1175 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
1176 * doc/tm.texi: Updated.
1177 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
1178 function.
1179 (TARGET_OPTION_POST_STREAM_IN): Redefine.
1180
48c55a0a
JL
11812015-02-24 Jeff Law <law@redhat.com>
1182
1183 PR target/65117
1184 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
1185 of operand 0 and operand 2.
1186 (zero_cost_loop_end, loop_end): Similarly.
10fbfd1b 1187
5c925255
AH
11882015-02-24 Aldy Hernandez <aldyh@redhat.com>
1189
1190 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
1191 CXX_MEM_STAT_INFO.
1192
28497f3b
DD
11932015-02-24 DJ Delorie <dj@redhat.com>
1194
1195 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as
1196 well.
1197 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
1198 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
1199 instead of hardcoding SImode.
1200
d7823208
BS
12012015-02-24 Bernd Schmidt <bernds@codesourcery.com>
1202
1203 * omp-low.c (create_omp_child_function): Tag entrypoint
1204 functions with a special attribute.
1205
f8571677
MH
12062015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
1207
1208 PR target/65058
1209 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
1210
51753c14
VM
12112015-02-24 Vladimir Makarov <vmakarov@redhat.com>
1212
1213 PR rtl-optimization/65123
1214 * lra-remat.c (operand_to_remat): Check hard regs in insn
1215 definition too.
1216
ff544f6b
NC
12172015-02-24 Nick Clifton <nickc@redhat.com>
1218
1219 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
1220 to the assembler.
1221
56a9f6bc
TS
12222015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1223
1224 PR libgomp/64625
1225 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
1226 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
1227 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
1228 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
1229 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
1230 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
1231 (BUILT_IN_GOACC_PARALLEL): Specify as
1232 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
1233 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
1234 * builtin-types.def
1235 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
1236 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
1237 Remove function types.
1238 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
1239 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
1240 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
1241 New function types.
1242
dd07a06f
GJL
12432015-02-24 Georg-Johann Lay <avr@gjlay.de>
1244
1245 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
1246
09901e8a
JJ
12472015-02-24 Jakub Jelinek <jakub@redhat.com>
1248
1249 PR tree-optimization/65170
1250 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
1251 if val[1] < 0, clear also val[2] and return 3.
1252
2397d13c
AM
12532015-02-24 Alan Modra <amodra@gmail.com>
1254
d07ee5ba 1255 PR target/65172
2397d13c
AM
1256 * config/rs6000/rs6000.c (get_memref_parts): Only return true
1257 when *base is a reg. Handle nested plus addresses. Simplify
1258 pre_modify test.
1259
637ece3f
MF
12602015-02-22 Max Filippov <jcmvbkbc@gmail.com>
1261
1262 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
1263 use natural alignment when optimizing for size.
1264
708c7f7f
KK
12652015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
1266
1267 PR target/65153
1268 * config/sh/sh.md (movsicc_true+3): Remove peephole.
1269 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
1270 * config/sh/sh.c (replace_n_hard_rtx): Remove.
1271
025e5647
RS
12722015-02-23 Richard Sandiford <richard.sandiford@arm.com>
1273
1274 PR fortran/63427
1275 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
1276 too big for a wide_int. Implement missing wrapping operation.
1277
2c6a427f
OE
12782015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
1279
1280 PR target/65163
1281 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
1282 instead of const_int 4294901760.
1283
b0eb429d
GJL
12842015-02-23 Georg-Johann Lay <avr@gjlay.de>
1285
1286 * config/avr/t-avr: Fix typo in comment.
1287
0cf5e9df
RS
12882015-02-21 Richard Sandiford <richard.sandiford@arm.com>
1289
1290 * doc/rtl.texi (fma): Clarify documentation.
1291
220d905f
AH
12922015-02-20 Aldy Hernandez <aldyh@redhat.com>
1293
1294 PR debug/58123
1295 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
1296 over input_location.
1297
6d2b7199
BS
12982015-02-20 Bernd Schmidt <bernds@codesourcery.com>
1299
1300 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
1301 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
1302 restrict alignments to absolute_biggest_alignment.
1303 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
1304 Define.
1305 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
1306 * doc/tm.texi: Regenerate.
1307 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
1308
3c20c9bc
VM
13092015-02-20 Vladimir Makarov <vmakarov@redhat.com>
1310
1311 PR target/64172
1312 * ira-color.c (color_pass): Prevent splitting multi-register
1313 pseudos.
1314
31935398
RB
13152015-02-20 Richard Biener <rguenther@suse.de>
1316
1317 PR tree-optimization/65136
1318 * tree-ssa-propagate.c: Include cfgloop.h.
1319 (replace_phi_args_in): Avoid replacing loop latch edge PHI
1320 arguments with constants.
1321
8b048701
JJ
13222015-02-20 Jakub Jelinek <jakub@redhat.com>
1323 Martin Liska <mliska@suse.cz>
1324
1325 PR target/63892
1326 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
1327 don't try to create_thunk if stdarg_p. If
1328 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
1329 redirect_callers if possible.
1330 (sem_item_optimizer::execute): Call unregister_hooks here...
1331 (ipa_icf_driver): ... instead of here.
1332
498b13e2
KT
13332015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1334
1335 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
1336 Mark operand 0 as earlyclobber in 2nd alternative.
1337 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
1338 Write negated shift amount into QI lowpart operand 0 and use it
1339 in the shift step.
1340 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
1341
9816367c
BS
13422015-02-20 Bernd Schmidt <bernds@codesourcery.com>
1343
1344 * cgraph.h (clone_function_name_1): Declare.
1345 * cgraphclones.c (clone_function_name_1): New function.
1346 (clone_function_name): Use it.
1347 * lto-partition.c: Include "stringpool.h".
1348 (must_not_rename, maybe_rewrite_identifier,
1349 validize_symbol_for_target): New static functions.
1350 (privatize_symbol_name): Use must_not_rename.
1351 (promote_symbol): Call validize_symbol_for_target.
1352 (lto_promote_cross_file_statics): Likewise.
1353 (lto_promote_statics_nonwpa): Likewise.
1354
6b9861b1
GJL
13552015-02-20 Georg-Johann Lay <avr@gjlay.de>
1356
1357 PR target/64452
1358 * config/avr/avr.md (pushhi_insn): New insn.
1359 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
1360
db3267c6
BS
13612015-02-20 Bernd Schmidt <bernds@codesourcery.com>
1362 Jakub Jelinek <jakub@redhat.com>
1363
1364 * tree-streamer.c (preload_common_nodes): Don't preload
1365 TI_VA_LIST* for offloading.
1366 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
1367 in_lto_p.
1368
283b768c
JDA
13692015-02-19 John David Anglin <danlgin@gcc.gnu.org>
1370
1371 * config/pa/pa.c (pa_emit_move_sequence): Always force
1372 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
1373 note on insn.
f258111a
JDA
1374
1375 * config/pa/pa.c (pa_reloc_rw_mask): New function.
1376 (TARGET_ASM_RELOC_RW_MASK): Define.
1377 (pa_cannot_force_const_mem): Revert previous change.
1378
81d43c6b
MJ
13792015-02-19 Martin Jambor <mjmabor@suse.cz>
1380 Jan Hubicka <hubicka@ucw.cz>
1381
1382 PR ipa/65028
1383 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
1384 across jump functions.
1385
dcdeca7a
UB
13862015-02-19 Uros Bizjak <ubizjak@gmail.com>
1387
1388 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
1389
33e1f2e6
SL
13902015-02-19 Sandra Loosemore <sandra@codesourcery.com>
1391
dcdeca7a 1392 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
33e1f2e6 1393
0ff5fade
RH
13942015-02-19 Richard Henderson <rth@redhat.com>
1395
1396 PR middle-end/65074
1397 * varasm.c (default_binds_local_p_2): Don't test node->definition;
1398 test DECL_EXTERNAL independent of symtab_node.
1399
176ca71c
JJ
14002015-02-19 Jakub Jelinek <jakub@redhat.com>
1401
1402 PR lto/65012
1403 * varpool.c (varpool_node::get_constructor): Return early
1404 if this->lto_file_data is NULL.
1405
696d5fa1
MK
14062015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1407
dcdeca7a
UB
1408 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
1409 (rank_for_schedule_debug): Update.
1410 (ready_sort): Make static. Move sorting logic to ...
1411 (ready_sort_debug, ready_sort_real): New static functions.
1412 (schedule_block): Sort both debug insns and real insns in preparation
1413 for ready list trimming. Improve debug output.
1414 * sched-int.h (ready_sort): Remove global declaration.
696d5fa1 1415
1216ea72
TS
14162015-02-18 Trevor Saunders <tsaunders@mozilla.com>
1417
1418 * ipa-icf.c (sem_function::equals_private): Adjust.
1419 (sem_function::bb_dict_test): Take a vec<int> * instead of
1420 auto_vec<int>.
1421 * ipa-icf.h (bb_dict_test): Likewise.
1422
3b445b24
JJ
14232015-02-18 Jakub Jelinek <jakub@redhat.com>
1424
1425 PR gcov-profile/64634
1426 * tree-eh.c (frob_into_branch_around): Fix up typos
1427 in function comment.
1428 (lower_catch): Put eh_seq resulting from EH lowering of
76fabbf4 1429 the cleanup sequence after the cleanup rather than before it.
3b445b24 1430
98ce9490
TV
14312015-02-18 Tom de Vries <tom@codesourcery.com>
1432
1433 * common.opt (fstdarg-opt): New option.
1434 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
1435 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
1436 (@item -fstdarg-opt): New item.
1437
b0ddb385
L
14382015-02-18 H.J. Lu <hongjiu.lu@intel.com>
1439
1440 PR target/65064
1441 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
1442 for common symbols.
1443
2d64d38c
JJ
14442015-02-18 Jakub Jelinek <jakub@redhat.com>
1445
1446 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
1447 insn-modes.h.
1448 (ALL_HOST_OBJS): Add mkoffload.o.
1449 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
1450
88b16508
JH
14512015-02-18 Jan Hubicka <hubicka@ucw.cz>
1452
1453 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
1454 (compare_virtual_tables): Be smarter about skipping typeinfos;
1455 do sane output on virtual table table mismatch.
1456 (warn_odr): Be ready for forward declarations of enums;
1457 output sane info on base mismatch and virtual table mismatch.
1458 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
1459 when only one type is polymorphic.
1460 (get_odr_type): Fix hashtable corruption.
1461 (dump_odr_type): Dump mangled names.
1462
8039a35d
RB
14632015-02-18 Richard Biener <rguenther@suse.de>
1464
1465 PR tree-optimization/65063
1466 * tree-predcom.c (determine_unroll_factor): Return 1 if we
1467 have replaced looparound PHIs.
1468
0c28944f
ML
14692015-02-18 Martin Liska <mliska@suse.cz>
1470
1471 * lto-streamer.c (lto_streamer_init): Encapsulate
1472 streamer_check_handled_ts_structures with checking macro.
1473
4ab26ee0
JJ
14742015-02-18 Jakub Jelinek <jakub@redhat.com>
1475
1476 PR ipa/65087
1477 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
1478 section if !implicit_section.
1479 (cgraph_node::create_version_clone_with_body): Likewise.
1480 * trans-mem.c (ipa_tm_create_version): Likewise.
1481
6f423f4c
RB
14822015-02-18 Richard Biener <rguenther@suse.de>
1483
1484 PR tree-optimization/62217
1485 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
1486 into BIVs.
1487
c7400e2f
MP
14882015-02-18 Marek Polacek <polacek@redhat.com>
1489
1490 PR sanitizer/65081
1491 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
1492 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
1493 is in range [-16K, -1]. Don't issue run-time error if
1494 (ptr > ptr + offset).
1495
8747dd6e
TS
14962015-02-18 Thomas Schwinge <thomas@codesourcery.com>
1497
d7705288
TS
1498 * doc/install.texi (nvptx-*-none): New section.
1499 * doc/invoke.texi (Nvidia PTX Options): Likewise.
1500 * config/nvptx/nvptx.opt: Update.
1501
865fc32a
TS
1502 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
1503 (access_check): New functions, copied from
1504 config/i386/intelmic-mkoffload.c.
1505 (main): For non-installed testing, look in all COMPILER_PATHs for
1506 GCC_INSTALL_NAME.
1507
8747dd6e
TS
1508 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
1509
e6f7f0e9
AP
15102015-02-18 Andrew Pinski <apinski@cavium.com>
1511 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
1512
1513 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
1514 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
1515
1ede94c5
JH
15162015-02-17 Jan Hubicka <hubicka@ucw.cz>
1517
1518 * ipa-visibility.c (function_and_variable_visibility): Only
1519 check locality if node is not already local.
1520 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
1521 call_for_symbol_and_aliases instead of
1522 call_for_symbol_thunks_and_aliases.
1523 (ipa_inline): Likewise.
1524 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
1525 first walk aliases.
1526 * ipa.c (symbol_table::remove_unreachable_nodes): Use
1527 call_for_symbol_and_aliases.
1528 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
1529 (ipa_propagate_frequency_1): Use it; use opt_for_fn
1530 (ipa_propagate_frequency): Update.
1531 (ipa_profile): Add opt_for_fn gueards.
1532
f05911fb
OE
15332015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
1534
1535 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
1536 * doc/invoke.texi (SH options): Document it.
1537 * config/sh/sh.c (sh_insn_length_adjustment): Check
1538 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
1539
3c99176a
L
15402015-02-17 H.J. Lu <hongjiu.lu@intel.com>
1541
1542 * common.opt (fipa-cp-alignment): New.
1543 * ipa-cp.c (ipcp_store_alignment_results): Check
1544 flag_ipa_cp_alignment.
1545 * opts.c (default_options_table): Enable -fipa-cp-alignment for
1546 -O2.
1547 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
1548 * doc/invoke.texi: Document -fipa-cp-alignment.
1549
d420206e
OE
15502015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
1551
1552 PR target/64793
1553 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
1554 to nil. Adjust comments.
1555
1379ce8f
JH
15562015-02-17 Jan Hubicka <hubicka@ucw.cz>
1557
1558 * ipa-visibility.c (function_and_variable_visibility): Only
1559 check locality if node is not already local.
1560 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
1561 call_for_symbol_and_aliases instead of
1562 call_for_symbol_thunks_and_aliases.
1563 (ipa_inline): Likewise.
1564 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
1565 first walk aliases.
1566 * ipa.c (symbol_table::remove_unreachable_nodes): Use
1567 call_for_symbol_and_aliases.
1568 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
1569 (ipa_propagate_frequency_1): Use it; use opt_for_fn
1570 (ipa_propagate_frequency): Update.
1571 (ipa_profile): Add opt_for_fn guards.
1572
6f3c1d38
TS
15732015-02-17 Thomas Schwinge <thomas@codesourcery.com>
1574
1575 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
1576 skipping of "strange" tokens.
1577
1d93fa5c
JL
15782015-02-17 Jeff Law <law@redhat.com>
1579
1580 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
1581 obsolete comment.
1582
61a17dca
JG
15832015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
1584
1585 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
1586 as forcing a HARD_DEP between instructions, thereby
1587 disallowing rewriting to break dependencies.
1588
87be7f0c
JH
15892015-02-16 Jan Hubicka <hubicka@ucw.cz>
1590
1591 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
1592 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
1593 variables in boundary that have no inlitalizer encoded and are
1594 not aliases.
1595 * varasm.c (default_binds_local_p_2): External definitions do not
1596 count as definitions here.
1597
215f8d9e
JL
15982015-02-16 Jeff Law <law@redhat.com>
1599
1600 PR tree-optimization/64823
1601 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
1602 statements.
1603 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
1604 threading through blocks with PHIs, but no statements.
1605 (thread_through_normal_block): Distinguish between blocks where
1606 we did not process all the statements and blocks with no statements.
1607
ed89033d
JJ
16082015-02-16 Jakub Jelinek <jakub@redhat.com>
1609 James Greenhalgh <james.greenhalgh@arm.com>
1610
1611 PR ipa/64963
1612 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
1613 section if not linkonce. Fix up formatting.
1614 (cgraph_node::create_version_clone_with_body): Copy section.
1615 * trans-mem.c (ipa_tm_create_version): Likewise.
1616
7b909872
RB
16172015-02-16 Richard Biener <rguenther@suse.de>
1618
1619 PR tree-optimization/65077
1620 * tree-ssa-structalias.c (get_constraint_for_1): Handle
1621 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
1622 (find_func_aliases): Allow float values to carry pointers again.
1623
4fb1c8f9
JG
16242015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
1625
1626 * doc/install.texi (Specific): Reorder targets list to put
1627 aarch64 in alphabetical order. Add a link to aarch64*-*-*
1628 from the top menu.
1629
403697ab
DE
16302015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
1631 David Edelsohn <dje.gcc@gmail.com>
1632
1633 PR target/65058
1634 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
1635 mapping class to external variable or function reference.
1636 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
1637 mapping class.
1638
16392015-02-16 David Eelsohn <dje.gcc@gmail.com>
1640
1641 PR target/53348
1642 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
1643 ASM_WEAKEN_DECL if defined.
1644
2d4df883
RB
16452015-02-16 Richard Biener <rguenther@suse.de>
1646
1647 PR lto/65015
1648 * varasm.c (default_file_start): For LTO produced units
1649 emit <artificial> as file directive.
1650
a933d47f
RB
16512015-02-16 Richard Biener <rguenther@suse.de>
1652
1653 PR tree-optimization/63593
1654 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
1655 stmts and releasing SSA names until...
1656 (execute_pred_commoning): ... after processing all chains.
1657
62991c35
JH
16582015-02-16 Jan Hubicka <hubicka@ucw.cz>
1659
1660 PR ipa/65059
1661 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
1662 external functions.
1663
e6f3f526
SL
16642015-02-15 Sandra Loosemore <sandra@codesourcery.com>
1665
1666 * doc/bugreport.texi: Adjust section titles throughout the file
1667 to use "Title Case".
1668 * doc/extend.texi: Likewise.
1669 * doc/gcov.texi: Likewise.
1670 * doc/implement-c.texi: Likewise.
1671 * doc/implement-cxx.texi: Likewise.
1672 * doc/invoke.texi: Likewise.
1673 * doc/objc.texi: Likewise.
1674 * doc/standards.texi: Likewise.
1675 * doc/trouble.texi: Likewise.
1676
190bbd0b
JH
16772015-02-15 Jan Hubicka <hubicka@ucw.cz>
1678
1679 * cgraph.h (symtab_node::has_aliases_p): Simplify.
1680 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
1681 * tree.c (lookup_binfo_at_offset): Make static.
1682 (get_binfo_at_offset): Do not shadow offset; add explanatory
1683 comment.
1684
feb675e4
JDA
16852015-02-15 John David Anglin <danglin@gcc.gnu.org>
1686
1687 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
1688 for all floading point loads and stores except those using a register
1689 index address.
1690 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
1691 to a register.
1692
cf3648f2
JH
16932015-02-14 Jan Hubicka <hubicka@ucw.cz>
1694
1695 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
1696 (do_estimate_growth_1): Record if any uninlinable edge was seen.
1697 (estimate_growth): Handle uninlinable edges correctly.
1698 (check_callers): New.
1699 (growth_likely_positive): Handle aliases correctly.
1700
31de7606
JH
17012015-02-14 Jan Hubicka <hubicka@ucw.cz>
1702
1703 * ipa-chkp.c: Use iterate_direct_aliases.
1704 * symtab.c (resolution_used_from_other_file_p): Move inline.
1705 (symtab_node::create_reference): Fix formating.
1706 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
1707 (symtab_node::iterate_reference): Move inline.
1708 (symtab_node::iterate_referring): Move inline.
1709 (symtab_node::iterate_direct_aliases): Move inline.
1710 (symtab_node::used_from_object_file_p_worker): Inline into ...
1711 (symtab_node::used_from_object_file_p): ... this one; move inline.
1712 (symtab_node::call_for_symbol_and_aliases): Move inline;
1713 use iterate_direct_aliases.
1714 (symtab_node::call_for_symbol_and_aliases_1): New method.
1715 (cgraph_node::call_for_symbol_and_aliases): Move inline;
1716 use iterate_direct_aliases.
1717 (cgraph_node::call_for_symbol_and_aliases_1): New method.
1718 (varpool_node::call_for_node_and_aliases): Rename to ...
1719 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
1720 use iterate_direct_aliases.
1721 (varpool_node::call_for_symbol_and_aliases_1): New method.
1722 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
1723 (ipa_discover_readonly_nonaddressable_var): Update.
1724 * ipa-devirt.c: Fix formating.
1725 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
1726 Move inline.
1727 (cgraph_node::call_for_symbol_and_aliases): Move inline.
1728 (cgraph_node::call_for_symbol_and_aliases_1): New function..
1729 * cgraph.h (used_from_object_file_p_worker): Remove.
1730 (resolution_used_from_other_file_p): Move inline.
1731 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
1732 (symtab_node::iterate_reference): Move inline.
1733 (symtab_node::iterate_referring): Move inline.
1734 (symtab_node::iterate_direct_aliases): Move inline.
1735 (symtab_node::used_from_object_file_p_worker): Inline into ...
1736 (symtab_node::used_from_object_file_p): Move inline.
1737 * tree-emutls.c (ipa_lower_emutls): Update.
1738 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
1739 (varpool_node::call_for_node_and_aliases): Remove.
1740
952e216e
JJ
17412015-02-14 Jakub Jelinek <jakub@redhat.com>
1742
1743 PR tree-optimization/62209
1744 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
1745 op == range->exp, insert seq and gimplified code after labels
1746 instead of after the phi.
1747
c7a28c1b
JL
17482015-02-13 Jeff Law <law@redhat.com>
1749
1750 PR bootstrap/65060
1751 Revert my change for tree-optimization/64823.
1752
f7a0790f
JJ
17532015-02-13 Jakub Jelinek <jakub@redhat.com>
1754
1755 PR tree-optimization/65053
1756 * tree-ssa-phiopt.c (value_replacement): When moving assign before
1757 cond, either reset VR on lhs or set it to phi result VR.
1758
be144838
JL
17592015-02-13 Jeff Law <law@redhat.com>
1760
8f895cf1
JL
1761 PR tree-optimization/64823
1762 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
1763 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
1764 threading through blocks with PHIs, but no statements.
1765 (thread_through_normal_block): Distinguish between blocks where
1766 we did not process all the statements and blocks with no statements.
1767
be144838
JL
1768 PR rtl-optimization/47477
1769 * match.pd (convert (plus/minus (convert @0) (convert @1): New
1770 simplifier to narrow arithmetic.
1771
d0502276
JH
17722015-02-13 Jan Hubicka <hubicka@ucw.cz>
1773
1774 PR ipa/65028
1775 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
1776 polymorphic call info when type is not known to be preserved.
1777
4fd94d1e
MJ
17782015-02-13 Maritn Jambor <mjambor@suse.cz>
1779
1780 PR ipa/65028
1781 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
1782 (inline_call): Use it.
dcdeca7a 1783
1f261e64
TS
17842015-02-13 Thomas Schwinge <thomas@codesourcery.com>
1785
1786 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
1787 GOMP_DEVICE_NVIDIA_PTX.
1788
730f474b
JJ
17892015-02-13 Jakub Jelinek <jakub@redhat.com>
1790
1791 PR ipa/65034
1792 * stmt.c (emit_case_nodes): Use void_type_node instead of
1793 NULL_TREE as LABEL_DECL type.
1794
98056c54
JDA
17952015-02-13 John David Anglin <danglin@gcc.gnu.org>
1796
1797 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
1798 constraints.
1799 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
1800 symbolic references to data to be forced to constant memory on the
1801 SOM target.
1802
fb0653ab
IE
18032015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
1804
1805 PR tree-optimization/65002
1806 * tree-cfg.c (pass_data_fixup_cfg): Don't update
1807 SSA on start.
1808 * tree-sra.c (some_callers_have_no_vuse_p): New.
1809 (ipa_early_sra): Reject functions whose callers
1810 assume function is read only.
1811
3c780bb2
RB
18122015-02-13 Richard Biener <rguenther@suse.de>
1813
1814 PR lto/65015
1815 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
1816 for LTO produced CUs.
1817
fc06280e
BC
18182015-02-13 Bin Cheng <bin.cheng@arm.com>
1819
1820 PR tree-optimization/64705
1821 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
1822 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
1823 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
1824 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
1825 expand_simple_operations.
1826
18272015-02-13 H.J. Lu <hongjiu.lu@intel.com>
6a1e352e
L
1828 Richard Henderson <rth@redhat.com>
1829
1830 PR rtl/32219
1831 * cgraphunit.c (cgraph_node::finalize_function): Set definition
1832 before notice_global_symbol.
1833 (varpool_node::finalize_decl): Likewise.
1834 * varasm.c (default_binds_local_p_2): Rename from
1835 default_binds_local_p_1, add weak_dominate argument. Use direct
1836 returns instead of assigning to local variable. Unify varpool and
1837 cgraph paths via symtab_node. Reject undef weak variables before
1838 testing visibility. Reorder tests for simplicity.
1839 (default_binds_local_p): Use default_binds_local_p_2.
1840 (default_binds_local_p_1): Likewise.
1841 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
1842 via symtab_node.
1843 (default_elf_asm_output_external): Emit visibility when specified.
1844
5f2fa78a
AM
18452015-02-13 Alan Modra <amodra@gmail.com>
1846
1847 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
1848 code setting up r11 for out-of-line fp restore.
1849
fc06280e 18502015-02-13 Eric Botcazou <ebotcazou@adacore.com>
dfc61f1f
EB
1851
1852 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
1853 (muser-mode): Likewise.
1854
8ae6ac51
AM
18552015-02-13 Alan Modra <amodra@gmail.com>
1856
1857 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
1858 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
1859
81018dcf
DH
18602015-02-12 David Howells <dhowells@redhat.com>
1861
1862 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
1863 warning.
1864 * tree-ssa-uninit.c (dump_predicates): Likewise.
1865 * opts.c (print_filtered_help): Likewise.
1866
2cea0398
JJ
18672015-02-12 Jakub Jelinek <jakub@redhat.com>
1868
2f13a42d
JJ
1869 * dwarf2out.c (output_die): Use "%s", name instead of name to
1870 avoid -Wformat-security warning.
1871
2cea0398
JJ
1872 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
1873 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
1874 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
1875 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
1876
f522930c
JM
18772015-02-12 Jason Merrill <jason@redhat.com>
1878
1879 * common.opt (-flifetime-dse): New.
1880
01f834e3
JJ
18812015-02-12 Jakub Jelinek <jakub@redhat.com>
1882
ed5a5b38
JJ
1883 PR sanitizer/65019
1884 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
1885
01f834e3
JJ
1886 PR tree-optimization/65014
1887 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
1888 use original second operand of arg0 or arg1 instead of
1889 that adjusted by STRIP_NOPS.
1890
3f9b5ffb
JL
18912015-02-11 Jeff Law <law@redhat.com>
1892
1893 PR target/63347
1894 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
1895 that needs to be queued, just queue it for a single cycle.
1896
d3f2e41e
JH
18972015-02-11 Jan Hubicka <hubicka@ucw.cz>
1898
1899 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
1900 bodies of thunks; comment on why.
1901 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
1902 symbols are extern.
1903
5b1441be
RH
19042015-02-11 Richard Henderson <rth@redhat.com>
1905
1906 PR sanitize/65000
1907 * tree-eh.c (mark_reachable_handlers): Mark source and destination
1908 regions of __builtin_eh_copy_values.
1909
3292dd40
JJ
19102015-02-11 Jakub Jelinek <jakub@redhat.com>
1911
1912 PR middle-end/65003
1913 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
1914 ultimate alias is MEM with SYMBOL_REF satisfying
1915 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
1916 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
1917
e6f229ca
TS
19182015-02-11 Thomas Schwinge <thomas@codesourcery.com>
1919
ce888a99
TS
1920 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
1921 "diagnostic-core.h".
1922 (main): Initialize progname, and call diagnostic_initialize.
1923
9584e638
TS
1924 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
1925 instead of __OPENMP_TARGET__.
1926
e6f229ca
TS
1927 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
1928 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
1929 hard-coding PTX_ID.
1930
a8d790df
L
19312015-02-11 H.J. Lu <hongjiu.lu@intel.com>
1932
1933 * doc/sourcebuild.texi (pie_enabled): Document.
1934
c43ade80
ML
19352015-02-11 Martin Liska <mliska@suse.cz>
1936
1937 PR ipa/64813
1938 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
1939 a return value for call to a function that is noreturn.
1940
ece70d33
RB
19412015-02-11 Richard Biener <rguenther@suse.de>
1942
1943 PR lto/65015
1944 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
1945 and -fresolution.
1946
9c4f25cc
AP
19472015-02-11 Andrew Pinski <apinski@cavium.com>
1948
1949 PR target/64893
1950 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
1951 Change the first argument type to size_type_node and add another
1952 size_type_node.
1953 (aarch64_simd_expand_builtin): Handle the new argument to
1954 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
1955 print an out when the first two arguments are not
1956 nonzero integer constants.
1957 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
1958 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
1959
386f7cae
JJ
19602015-02-11 Jakub Jelinek <jakub@redhat.com>
1961
1962 PR target/61925
1963 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
1964 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
1965 (ix86_set_current_function): Rewritten.
1966 (ix86_add_new_builtins): Temporarily clear current_target_pragma
1967 when creating builtin fndecls.
1968
4bd019b8
JH
19692015-02-10 Jan Hubicka <hubicka@ucw.cz>
1970
1971 PR ipa/65005
1972 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
1973 function.
1974 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
1975 have no comdat group.
1976 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
1977 (lto_output_varpool_node): Always output alias info.
1978 (output_refs): Output refs of boundary aliases, too.
1979 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
1980 (output_symtab): Output call eges in thunks in boundary.
1981 (get_alias_symbol): Remove.
1982 (input_node, input_varpool_node): Do not special case weakrefs.
1983 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
1984 alias and thunks targets in the boundary; do not take removed symbols
1985 from their comdat groups.
1986 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
1987 (cgraph_node::global_info): Remove.
1988 (cgraph_node::rtl_info): Look through aliases and thunks.
1989 * cgrpah.h (global_info): Remove.
1990 (non_local_p): Remove.
1991
6dc6e7d0
DW
19922015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
1993 Sandra Loosemore <sandra@codesourcery.com>
1994
1995 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
1996 to inline asm. List dialects in proper order.
1997
78f76f2f
DW
19982015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
1999 Sandra Loosemore <sandra@codesourcery.com>
2000
2001 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
2002
c09d6901
DW
20032015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
2004
2005 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
dcdeca7a 2006 modified) reference to Solaris.
c09d6901 2007
f9911556
SL
20082015-02-10 Sandra Loosemore <sandra@codesourcery.com>
2009
2010 * doc/extend.texi (Extended Asm): Fix typos.
2011
c8aa1929
JJ
20122015-02-10 Jakub Jelinek <jakub@redhat.com>
2013
2014 PR sanitizer/65004
2015 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
2016
2fdc0399
OE
20172015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
2018
2019 PR target/64661
2020 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
2021 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
2022 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
2023 * config/sh/constraints.md (Ara, Add): New constraints.
2024 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
2025 predicates.
2026 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
2027 atomic_mem_operand_0. Don't use force_reg on the memory address.
2028 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
2029 Sra constraint. Convert to insn_and_split. Add workaround for
2030 PR 64974.
2031 (atomic_compare_and_swap<mode>_hard): Copy to
2032 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
2033 Use atomic_mem_operand_0 predicate.
2034 (atomic_compare_and_swap<mode>_soft_gusa,
2035 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
2036 AraAdd constraints.
2037 (atomic_compare_and_swap<mode>_soft_tcb,
2038 atomic_compare_and_swap<mode>_soft_imask,
2039 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
2040 atomic_mem_operand_0 predicate and SraSdd constraints.
2041 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
2042 constraint.
2043 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
2044 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
2045 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
2046 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
2047 force_reg on the memory address.
2048 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
2049 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
2050 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
2051 atomic_mem_operand_1 predicate and Sra constraint.
2052 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
2053 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
2054 Use atomic_mem_operand_1 predicate.
2055 (atomic_<fetchop_name><mode>_hard): Copy to
2056 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
2057 Use atomic_mem_operand_1 predicate.
2058 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
2059 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
2060 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
2061 insn_and_split. Use atomic_mem_operand_1 predicate.
2062 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
2063 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
2064 Use atomic_mem_operand_1 predicate.
2065 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
2066 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
2067 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
2068 in generated insn with original mem operand before emitting the insn.
2069 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
2070 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
2071 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
2072 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
2073 Use atomic_mem_operand_1 predicate and AraAdd constraints.
2074 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
2075 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
2076 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
2077 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
2078 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
2079 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
2080 atomic_not_fetch<mode>_soft_tcb,
2081 atomic_<fetchop_name>_fetch<mode>_soft_imask,
2082 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
2083 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
2084 Use atomic_mem_operand_1 predicate and SraSdd constraints.
2085
afa20874
UB
20862015-02-10 Uros Bizjak <ubizjak@gmail.com>
2087
2088 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
2089 and 3 earlyclobber operands.
2090
082908e3
JH
20912015-02-10 Jan Hubicka <hubicka@ucw.cz>
2092
2093 * common.opt (fstack-reuse): Mark as optimization.
2094
d90cae08
JH
20952015-02-10 Jan Hubicka <hubicka@ucw.cz>
2096
2097 PR ipa/64982
afa20874 2098 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
d90cae08 2099
11f3ac49
TS
21002015-02-10 Trevor Saunders <tsaunders@mozilla.com>
2101
2102 PR tree-optimization/64326
2103 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
2104
e4c2ac36
RE
21052015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
2106
2107 PR gcov-profile/61889
2108 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
2109
703c9ccd
RB
21102015-02-10 Richard Biener <rguenther@suse.de>
2111
2112 PR tree-optimization/64995
2113 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
2114 value we use is final.
2115 (visit_reference_op_store): Always valueize op.
2116 (visit_use): Properly valueize vuses.
2117
696814ed
RB
21182015-02-10 Richard Biener <rguenther@suse.de>
2119
2120 PR tree-optimization/64909
2121 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
2122 pass a scalar-stmt count estimate to the cost model.
2123 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
2124
644a4761
AM
21252015-02-10 Alexander Monakov <amonakov@ispras.ru>
2126
2127 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
2128 enabled by default together with var-tracking.
2129
7299e9f1
NC
21302015-02-10 Nick Clifton <nickc@redhat.com>
2131
2132 * config/rl78/rl78.c: Remove DIV attribute code accidentally
2133 included in previous rl78 commit.
2134
bab4f4e3
RB
21352015-02-10 Richard Biener <rguenther@suse.de>
2136
2137 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
2138 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
2139 return the bitpack.
2140
37050045
TS
21412015-02-09 Trevor Saunders <tsaunders@mozilla.com>
2142
2143 PR gcov-profile/61889
2144 * config.in: regenerate.
2145 * configure.in: Likewise.
2146 * configure.ac: Check for ftw.h.
2147 * gcov-tool.c: Check for ftw.h before using nftw.
2148
a9e083cc
TS
21492015-02-09 Trevor Saunders <tsaunders@mozilla.com>
2150
2151 PR lto/64076
2152 * ipa-visibility.c (update_visibility_by_resolution_info): Only
2153 assert when not in lto mode.
2154
32721b2c
ZZ
21552015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
2156
2157 * ira-color.c (setup_left_conflict_sizes_p): Simplify
2158 initialization/assignment of conflict_size.
2159
94a2f772
JH
21602015-02-09 Jan Hubicka <hubicka@ucw.cz>
2161
2162 PR ipa/64978
2163 * ipa-cp.c (gather_caller_stats): Skip thunks.
2164 (propagate_constants_topo): Skip aliases.
2165
d808ecdd
KK
21662015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
2167
2168 PR target/64761
2169 * config/sh/sh.c (sh_option_override): Don't change
2170 -freorder-blocks-and-partition to -freorder-blocks even when
2171 unwinding is enabled.
2172 (sh_can_follow_jump): Return false if the followee jump is
2173 a crossing jump when -freorder-blocks-and-partition is specified.
2174 * config/sh/sh.md (*jump_compact_crossing): New insn.
2175
cf6186e9
JR
21762015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
2177 Kaz Kojima <kkojima@gcc.gnu.org>
2178
2179 PR target/64761
2180 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
2181 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
2182 (sh_can_redirect_branch): Rename to ...
2183 (sh_can_follow_jump): ... this. Constify argument types.
2184 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
2185 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
2186 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
2187 * doc/tm.texi: Regenerate.
2188
d51151b2
JJ
21892015-02-09 Jakub Jelinek <jakub@redhat.com>
2190
2191 PR sanitizer/64981
2192 * builtins.c (expand_builtin): Call targetm.expand_builtin
2193 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
2194
62484417
JH
21952015-02-08 Jan Hubicka <hubicka@ucw.cz>
2196
2197 PR ipa/61548
2198 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
2199
106b5466
JH
22002015-02-08 Jan Hubicka <hubicka@ucw.cz>
2201
7299e9f1 2202 PR ipa/63566
106b5466
JH
2203 * ipa-icf.c (set_local): New function.
2204 (sem_function::merge): Use it.
2205
7d8adcba
JH
22062015-02-08 Jan Hubicka <hubicka@ucw.cz>
2207
2208 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
2209 (add_type_duplicate): Fix comparison of BINFOs.
2210
62c7e4b7
JH
22112015-02-08 Jan Hubicka <hubicka@ucw.cz>
2212
2213 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
2214 on getting VOID pointer.
2215
21c0137a
JJ
22162015-02-09 Jakub Jelinek <jakub@redhat.com>
2217
2218 PR target/64979
2219 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
2220 va_list escapes.
2221
434fa903
RB
22222015-02-09 Richard Biener <rguenther@suse.de>
2223
2224 * genmatch.c (replace_id): Copy expr_type.
2225
b6bf201e
RB
22262015-02-09 Richard Biener <rguenther@suse.de>
2227
2228 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
2229 (streamer_write_tree_bitfields): Declare.
2230 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
2231 properly unpack padding.
2232 (unpack_value_fields): Inline ...
2233 (streamer_read_tree_bitfields): ... here.
2234 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
2235 and properly add padding bits.
2236 (streamer_pack_tree_bitfields): Fold into ...
2237 (streamer_write_tree_bitfields): ... this new function,
2238 exposing the bitpack object.
2239 * lto-streamer-out.c (lto_write_tree_1): Call
2240 streamer_write_tree_bitfields.
2241
28002f1a
RB
22422015-02-09 Richard Biener <rguenther@suse.de>
2243
2244 PR tree-optimization/54000
2245 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
2246 (struct ivopts_data): Add loop_loc member.
2247 (tree_ssa_iv_optimize_loop): Dump loop location.
2248 (create_new_ivs): Likewise, also dump number of IVs generated.
2249
e3e968e9
ML
22502015-02-09 Martin Liska <mliska@suse.cz>
2251
2252 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
2253 just if not yet registered.
2254 (ipa_icf_generate_summary): Register callgraph hooks.
2255
8276bf92
AP
22562015-02-08 Andrew Pinski <apinski@cavium.com>
2257
2258 * config/aarch64/aarch64.c (gty_dummy): Delete.
2259
953aad61
JH
22602015-02-08 Jan Hubicka <hubicka@ucw.cz>
2261
7299e9f1 2262 PR ipa/63566
953aad61
JH
2263 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
2264 (cgraph_node::local_p): Remove thunk related FIXME.
2265
ead0ba57
JH
22662015-02-08 Jan Hubicka <hubicka@ucw.cz>
2267
7299e9f1 2268 PR ipa/63566
ead0ba57
JH
2269 * i386.c (ix86_function_regparm): Look through aliases to see if callee
2270 is local and optimized.
2271 (ix86_function_sseregparm): Likewise; also use target's SSE math
2272 settings; error out instead of silently generating wrong code
2273 on mismatches.
2274 (init_cumulative_args): Look through aliases.
2275
42685f72
JH
22762015-02-08 Jan Hubicka <hubicka@ucw.cz>
2277
7299e9f1 2278 PR ipa/63566
42685f72
JH
2279 * ipa-split.c (execute_split_functions): Split if function has aliases.
2280
9641fab3
JH
22812015-02-08 Jan Hubicka <hubicka@ucw.cz>
2282
7299e9f1 2283 PR ipa/63566
9641fab3
JH
2284 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
2285 aliases before trying to expand it.
2286 (cgraph_node::expand_thunk): Fix formating.
2287
d719aff9
SL
22882015-02-07 Sandra Loosemore <sandra@codesourcery.com>
2289
2290 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
2291 (Using Assembly Language with C): Expand introduction.
2292 (Basic Asm): Copy-edit. Add more information about uses of
2293 basic asm.
2294 (Extended Asm): Copy-edit. Document new escape syntax and
2295 %l[label] syntax.
2296 (Global Reg Vars): Copy-edit.
2297 (Local Reg Vars): Likewise.
2298
0f32bcbd
DE
22992015-02-06 David Edelsohn <dje.gcc@gmail.com>
2300
2301 PR debug/2714
2302 PR bootstrap/64256
2303 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
2304 (DBX_CONTIN_CHAR): Define.
2305
45beb02e
SP
23062015-02-06 Sebastian Pop <s.pop@samsung.com>
2307 Brian Rzycki <b.rzycki@samsung.com>
2308
2309 PR tree-optimization/64878
2310 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
2311 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
2312 Stop recursion at loop phi nodes after having visited a loop phi node.
2313
bbd1bae2
JJ
23142015-02-06 Jakub Jelinek <jakub@redhat.com>
2315
f3ab4eed
JJ
2316 * toplev.c (process_options): Change flag_ipa_ra before creating
2317 optimization_{default,current}_node.
2318
bbd1bae2
JJ
2319 PR ipa/64896
2320 * cgraphunit.c (cgraph_node::expand_thunk): If
2321 restype is not is_gimple_reg_type nor the thunk_fndecl
2322 returns aggregate_value_p, set restmp to a temporary variable
2323 instead of resdecl.
2324
091790a7
VM
23252015-02-06 Vladimir Makarov <vmakarov@redhat.com>
2326
2327 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
2328
46290aa8
MM
23292015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
2330
2331 PR target/64205
2332 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
2333 add a general secondary reload handler for SDmode, unless we have
2334 both read/write support for SDmode.
2335
62276744
JJ
23362015-02-06 Jakub Jelinek <jakub@redhat.com>
2337
2338 PR middle-end/64937
2339 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
2340 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
2341 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
2342 1 before, push it to abstract_vec.
2343 (dwarf2out_abstract_function): Adjust caller. Don't call
2344 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
2345 DECL_ABSTRACT_P flags for all abstract_vec elts.
2346
f376994a
RL
23472015-02-06 Renlin Li <renlin.li@arm.com>
2348
2349 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
2350 complex gimple.
2351 * tree-ssa.c (execute_update_addresses_taken): Likewise.
2352
1901e8d6
JL
23532015-02-06 Jeff Law <law@redhat.com>
2354
2355 PR target/64889
2356 * config/h8300/h8300.c (push): New argument "in_prologue".
2357 Pass "in_prologue" along to "F".
2358 (h8300_push_pop): Corresponding changes.
2359 (h8300_expand_prologue): Likewise.
2360 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
46290aa8 2361
d26ac279
JJ
23622015-02-06 Jakub Jelinek <jakub@redhat.com>
2363
2364 PR rtl-optimization/64957
2365 PR debug/64817
2366 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
2367 IOR rather than for AND.
2368
9fb87eb0
EB
23692015-02-06 Eric Botcazou <ebotcazou@adacore.com>
2370
2371 PR target/62631
2372 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
2373 of shift-add and (add + shift) operations. Rename local variable.
2374
d00f6ca6
JL
23752015-02-05 Jeff Law <law@redhat.com>
2376
9f9ab303
JL
2377 PR target/17306
2378 * config/h8300/constraints.md (U): Correctly dectect
2379 "eightbit_data" memory addresses.
2380 * config/h8300/h8300.c (eightbit_constant_address_p): Also
2381 handle (const (plus (symbol_ref (x)))) where x is declared
2382 as an 8-bit data memory address.
2383 * config/h8300/h8300.md (call, call_value): Correctly detect
2384 "funcvec" functions.
2385
d00f6ca6
JL
2386 PR target/43264
2387 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
2388 24 to 28 bits for the H8/300.
2389
b871a06f
AM
23902015-02-06 Alan Modra <amodra@gmail.com>
2391
2392 PR target/64876
2393 * config/rs6000/rs6000.c (chain_already_loaded): New function.
2394 (rs6000_call_aix): Use it.
2395
370a7814
JH
23962015-02-05 Jan Hubicka <hubicka@ucw.cz>
2397
2398 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
2399 check.
2400
b291a202
JL
24012015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
2402
2403 * config/h8300/constraints.md ("U" constraint): Use strict
2404 variant of REG_OK_FOR_BASE_P after reload has started.
2405
29e1d31b
MM
24062015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
2407
2408 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
2409 define to zero if !TARGET_NEON.
09008d80 2410 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
29e1d31b 2411
a0cbab4a
JH
24122015-02-04 Jan Hubicka <hubicka@ucw.cz>
2413 Trevor Saunders <tsaunders@mozilla.com>
2414
2415 PR ipa/61548
2416 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
2417
d2b35c04
JH
24182015-02-04 Jan Hubicka <hubicka@ucw.cz>
2419
2420 PR ipa/61548
2421 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
2422 when removing varpool nodes.
2423
65a428db
JH
24242015-02-04 Jan Hubicka <hubicka@ucw.cz>
2425
2426 PR ipa/61548
2427 * varpool.c (varpool_node::remove): Fix order of variables.
2428
c1eed5a1
JH
24292015-02-04 Jan Hubicka <hubicka@ucw.cz>
2430
2431 PR ipa/64686
2432 * ipa-inline.c (inline_small_functions): Fix ordering issue between
2433 speculation resolution and key updates.
2434
73d098df
JH
24352015-02-04 Jan Hubicka <hubicka@ucw.cz>
2436
2437 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
2438 about not letting any speculative edges unupdated.
2439
88d67744
JH
24402015-02-04 Jan Hubicka <hubicka@ucw.cz>
2441
2442 PR gcov/64123
2443 * gcov-io.c (gcov_var): Export.
2444
3ff29913
JH
24452015-02-04 Jan Hubicka <hubicka@ucw.cz>
2446
2447 PR middle-end/64922
2448 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
2449 edges that become speculative.
2450
de3aebff
JJ
24512015-02-04 Jakub Jelinek <jakub@redhat.com>
2452
2453 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
2454 or DW_LANG_Fortran08.
2455 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
2456 DW_LANG_Fortran08.
2457 (gen_compile_unit_die): Handle "GNU Fortran2003" and
2458 "GNU Fortran2008" language strings.
2459 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
2460 * langhooks.h (lang_GNU_Fortran): New prototype.
2461 * langhooks.c (lang_GNU_Fortran): New function.
2462 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
2463 lang_GNU_Fortran.
2464
a6bc87d3
EB
24652015-02-04 Eric Botcazou <ebotcazou@adacore.com>
2466
2467 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
2468 (RTX_OK_FOR_OLO10_P): Likewise.
2469
5a33f47d
EB
24702015-02-04 Eric Botcazou <ebotcazou@adacore.com>
2471
2472 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
2473
0b986c6a
JH
24742015-02-04 Jan Hubicka <hubicka@ucw.cz>
2475
2476 PR middle-end/64922
2477 * gimple.c: Include gimple-ssa.h.
2478 (maybe_remove_unused_call_args): New function.
2479 * gimple.h (maybe_remove_unused_call_args): Declare.
2480 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
2481 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
2482 * gimple-fold.c (gimple_fold_call): Likewise.
2483
7489140d
L
24842015-02-04 H.J. Lu <hongjiu.lu@intel.com>
2485
2486 PR rtl-optimization/64905
2487 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
2488 pointer alignment if it isn't needed.
2489
d8f70d78
MW
24902015-02-04 Matthew Wahab <matthew.wahab@arm.com>
2491
2492 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
2493 cortex-a72.cortex-a53.
2494 * config/aarch64/aarch64-tune.md: Regenerate.
2495 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
2496
771bef14
NC
24972015-02-04 Nick Clifton <nickc@redhat.com>
2498
2499 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
2500 inside a MEM.
2501
e3bc4a35
JJ
25022015-02-04 Jakub Jelinek <jakub@redhat.com>
2503
2504 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
2505 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
2506 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
2507 of DEF_BUILTIN.
2508 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
2509 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
2510 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
2511 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
2512 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
2513 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
2514 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
2515 * tree-core.h (enum built_in_function): In between
2516 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
2517 for builtins that use DEF_BUILTIN_CHKP macro.
2518
a720f0ef
AO
25192015-02-04 Alexandre Oliva <aoliva@redhat.com>
2520
871dae34
AO
2521 PR debug/64817
2522 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
2523 operands for tcc_comparison exprs. Fix typos.
2524
af9f5d95
AO
2525 PR debug/64817
2526 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
2527 of two XORs that have an intervening AND or IOR.
2528
a720f0ef
AO
2529 PR debug/64817
2530 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
2531 simplification of XOR of AND to not allocate new rtx before
2532 committing to a simplification.
2533
a1ac8050
KT
25342015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2535
2536 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
2537 manual swaps in all peepholes.
2538
cb5c6c29
KT
25392015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2540
2541 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
2542 of manual swapping implementation.
2543 (aarch64_expand_vec_perm_const_1): Likewise.
2544
bd95e655
JG
25452015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
2546
2547 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
2548 (generic_addrcost_table): Remove NAMED_PARAM.
2549 (cortexa57_addrcost_table): Likewise.
2550 (xgene1_addrcost_table): Likewise.
2551 (generic_regmove_table): Likewise.
2552 (cortexa53_regmove_table): Likewise.
2553 (xgene1_regmove_table): Likewise.
2554 (generic_vector_table): Likewise.
2555 (cortexa57_vector_table): Likewise.
2556 (xgene1_vector_table): Likewise.
2557 (generic_tunings): Likewise.
2558 (cortexa53_tunings): Likewise.
2559 (cortexa57_tunings): Likewise.
2560 (xgene1_tunings): Likewise.
2561
4f2ab1e6
MW
25622015-02-04 Matthew Wahab <matthew.wahab@arm.com>
2563
2564 * config/arm/arm-cores.def: Add cortex-a72 and
2565 cortex-a72.cortex-a53.
2566 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
2567 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
2568 * config/arm/arm-tune.md: Regenerate.
2569 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
2570 "cortex-a72.cortex-a53".
2571 * doc/invoke.texi (ARM Options/-mtune): Likewise.
2572
6f56da5d
NC
25732015-02-04 Nick Clifton <nickc@redhat.com>
2574
20693e97
NC
2575 PR target/64408
2576 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
2577 of accepted codes.
2578 (nonimmediate_di_operand): Likewise.
2579
6f56da5d
NC
2580 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
2581 prefixes of known F5 using MSP430 MCUs.
2582
151ac6e2
KT
25832015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2584
2585 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
2586 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
2587 instead of __builtin_sqrt.
2588
283b44f9
IE
25892015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
2590
2591 * varasm.c (do_assemble_alias): Follow transparent alias
2592 chain for target.
2593 (default_assemble_visibility): Follow transparent alias
2594 chain for decl name.
2595
cc9ef6a6
TP
25962015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
2597
2598 PR middle-end/62103
2599 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
2600 to compute size of referenced value in the constant case.
2601
2a1d78d8
JJ
26022015-02-03 Jakub Jelinek <jakub@redhat.com>
2603
2604 PR rtl-optimization/64756
2605 * cse.c (invalidate_dest): New function.
2606 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
2607 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
2608 invalidate and do not record it.
2609
3548abca
OE
26102015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
2611
2612 PR target/64660
2613 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
2614 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
2615 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
2616 atomic_nand<mode>_soft_tcb): New insns.
2617 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
2618 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
2619 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
2620 Split into atomic_not_fetchsi_hard if operands[0] is unused.
2621 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
2622 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
2623 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
2624 atomic_not<mode>_hard if operands[0] is unused.
2625 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
2626 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
2627 if operands[0] is unused.
2628 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
2629 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
2630 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
2631 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
2632 unused.
2633 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
2634 into atomic_not<mode>_soft_tcb if operands[0] is unused.
2635 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
2636 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
2637 if operands[0] is unused.
2638 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
2639 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
2640 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
2641 atomic_nand_fetchsi_hard if operands[0] is unused.
2642 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
2643 atomic_nand<mode>_hard if operands[0] is unused.
2644 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
2645 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
2646 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
2647 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
2648 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
2649 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
2650 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
2651 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
2652 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
2653 atomic_not<mode>_hard if operands[0] is unused.
2654 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
2655 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
2656 unused.
2657 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
2658 into atomic_not<mode>_soft_tcb if operands[0] is unused.
2659 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
2660 atomic_nand<mode>_hard if operands[0] is unused.
2661 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
2662 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
2663
2cb844ce
DM
26642015-02-03 David Malcolm <dmalcolm@redhat.com>
2665
2666 PR jit/64810
2667 * Makefile.in (GCC_OBJS): Add gcc-main.o.
2668 * gcc-main.c: New file, containing "main" taken from gcc.c.
2669 * gcc.c (do_self_spec): Free decoded_options.
2670 (class driver): Move declaration to gcc.h.
2671 (main): Move declaration and implementation to new file
2672 gcc-main.c.
2673 (driver_get_configure_time_options): New function.
2674 * gcc.h (class driver): Move this declaration here, from
2675 gcc.c.
2676 (driver_get_configure_time_options): New declaration.
2677
ebc8f0bb
JH
26782015-02-03 Jan Hubicka <hubicka@ucw.cz>
2679
2680 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
2681 cross-module inlining.
2682 * cgraph.h (cgraph_node): Add flag merged.
2683 * ipa-icf.c (sem_function::merge): Maintain it.
2684
901e59b2
RS
26852015-02-03 Richard Sandiford <richard.sandiford@arm.com>
2686
2687 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
2688 instead of OBJECT_P.
2689
aa47faf0
EB
26902015-02-03 Eric Botcazou <ebotcazou@adacore.com>
2691
2692 PR target/62631
2693 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
2694 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
2695 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
2696 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
2697
76f0aa6c
JJ
26982015-02-03 Jakub Jelinek <jakub@redhat.com>
2699
2700 PR other/63504
2701 * combine.c (reg_n_sets_max): New variable.
2702 (can_change_dest_mode, reg_nonzero_bits_for_combine,
2703 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
2704 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
2705 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
2706 (rest_of_handle_combine): Initialize reg_n_sets_max.
2707
d67bce7c
JH
27082015-02-02 Jan Hubicka <hubicka@ucw.cz>
2709
2710 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
2711 if some always_inline was inlined, apply changes before inlining
2712 heuristically.
2713
c58bfead
DM
27142015-02-02 David Malcolm <dmalcolm@redhat.com>
2715
2716 PR jit/64810
2717 * config/arm/arm.c (arm_option_override): Set
2718 arm_selected_arch/cpu/tune to NULL on entry.
2719
3ff5d1f0
TB
27202015-02-02 Tejas Belagod <tejas.belagod@arm.com>
2721 Andrew Pinski <pinskia@gcc.gnu.org>
2722 Jakub Jelinek <jakub@gcc.gnu.org>
2723
2724 PR target/64231
2725 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
2726 integer typing for small model. Use IN_RANGE.
2727
7dd1f7ac
RB
27282015-02-02 Richard Biener <rguenther@suse.de>
2729
2730 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
2731 * tree-vrp.c (vrp_valueize_1): Likewise.
2732
e404a667
AM
27332015-02-02 Alan Modra <amodra@gmail.com>
2734
2735 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
2736 than mem for toc_restore.
2737 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
2738 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
2739 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
2740
353f8ac5
DE
27412015-02-01 David Edelsohn <dje.gcc@gmail.com>
2742
2743 PR target/64047
2744 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
2745 explicit default options.
2746
27472015-02-01 Jan Hubicka <hubicka@ucw.cz>
b730d1c9
JH
2748
2749 PR ipa/64872
2750 * ipa-utils.c (ipa_merge_profiles): Add release argument.
2751 * ipa-icf.c (sem_function::merge): Do not release body when merging.
2752 * ipa-utils.h (ipa_merge_profiles): Update prototype.
2753
dfde35b3
JJ
27542015-02-01 Jakub Jelinek <jakub@redhat.com>
2755
2756 PR debug/64817
2757 * cfgexpand.c (deep_ter_debug_map): New variable.
2758 (avoid_deep_ter_for_debug): New function.
2759 (expand_debug_expr): If TERed SSA_NAME is in
2760 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
2761 instead of trying to expand SSA_NAME's def stmt.
2762 (expand_debug_locations): When expanding debug bind
2763 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
2764 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
2765 value.
2766 (pass_expand::execute): Call avoid_deep_ter_for_debug on
2767 all debug bind stmts. Delete deep_ter_debug_map after
2768 expand_debug_location if non-NULL and clear it.
2769
2b8427ca
OE
27702015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
2771
2772 PR target/64851
2773 * config/sh/sync.md (atomic_fetch_notsi_hard,
2774 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
2775 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
2776 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
2777 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
2778 atomic_not_fetch<mode>_soft_imask): New insns.
2779
63387a85
MK
27802015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2781
2782 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
2783 (rank_for_schedule_debug): Split from ...
2784 (rank_for_schedule): ... this.
2785 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
2786 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
2787
b4fbcb1b
SL
27882015-01-31 Sandra Loosemore <sandra@codesourcery.com>
2789
2790 * doc/md.texi (Machine Constraints): Alphabetize table by target.
2791 * doc/extend.texi (x86 Variable Attributes): Move section to
2792 correct alphabetization after renaming.
2793 (x86 Type Attributes): Likewise.
2794 (Target Builtins): Re-alphabetize menu.
2795 (x86 Built-in Functions): Move section to correct alphabetization
2796 after renaming.
2797 (x86 transactional memory intrinsics): Likewise.
2798 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
2799 and x86 Windows Options in table and menu.
2800 (x86 Options): Move section to correct alphabetization after
2801 renaming.
2802 (x86 Windows Options): Likewise.
2803
0353c564
SL
28042015-01-31 Sandra Loosemore <sandra@codesourcery.com>
2805
2806 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
2807 preferred names of the architecture and its 32- and 64-bit
2808 variants.
2809 * doc/invoke.texi: Likewise.
2810 * doc/md.texi: Likewise.
2811
0d9a5f8a
UB
28122015-01-31 Uros Bizjak <ubizjak@gmail.com>
2813
2b8427ca 2814 PR target/64882
0d9a5f8a
UB
2815 * config/i386/predicates.md (address_no_seg_operand): Reject
2816 non-CONST_INT_P operands in invalid mode.
2817
28182015-01-31 Uros Bizjak <ubizjak@gmail.com>
2819
2820 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
2821 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
2822 * config/i386/predicates.md (address_no_seg_operand): Call
2823 address_operand with VOIDmode.
2824 (vsib_address_operand): Ditto.
2825 (address_mpx_no_base_operand): Ditto.
2826 (address_mpx_no_index_operand): Ditto.
2827
895ff86f
VM
28282015-01-30 Vladimir Makarov <vmakarov@redhat.com>
2829
2830 PR target/64688
2831 * lra-constraints.c (original_subreg_reg_mode): New.
2832 (simplify_operand_subreg): Try to simplify subreg of const. Use
2833 original_subreg_reg_mode for it.
2834 (swap_operands): Update original_subreg_reg_mode.
2835 (curr_insn_transform): Set up original_subreg_reg_mode.
2836
3c954213
VM
28372015-01-30 Vladimir Makarov <vmakarov@redhat.com>
2838
2839 PR target/64617
2840 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
2841 function.
2842 (process_alt_operands): Use it.
2843 (curr_insn_transform): Check the optional reload pseudo class is
2844 ok for the mode.
2845
40fecdd6
JM
28462015-01-30 Joseph Myers <joseph@codesourcery.com>
2847
2848 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
2849 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
2850 prototype.
2851 * toplev.h (init_asm_output): Update comment on use of
2852 UNKNOWN_LOCATION with fatal_error.
2853 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
2854 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
2855 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
2856 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
2857 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
2858 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
2859 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
2860 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
2861 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
2862 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
2863 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
2864 fatal_error changed to pass input_location as first argument.
2865
168be70b
ML
28662015-01-30 Martin Liska <mliska@suse.cz>
2867
2868 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
2869 in #pragma GCC diagnostic guards.
2870
566d377a
RB
28712015-01-30 Richard Biener <rguenther@suse.de>
2872
2873 PR tree-optimization/64829
2874 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
2875 not add a widening conversion pattern but hand off extra
2876 widenings to callers.
2877 (vect_recog_widen_mult_pattern): Handle extra widening produced
2878 by vect_handle_widen_op_by_const.
2879 (vect_recog_widen_shift_pattern): Likewise.
2880 (vect_pattern_recog_1): Remove excess vertical space in dumping.
2881 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
2882 (vect_init_vector_1): Likewise.
2883 (vect_get_vec_def_for_operand): Likewise.
2884 (vect_finish_stmt_generation): Likewise.
2885 (vectorizable_load): Likewise.
2886 (vect_analyze_stmt): Likewise.
2887 (vect_is_simple_use): Likewise.
2888
8ec350ed
JL
28892015-01-29 Jeff Law <law@redhat.com>
2890
2891 * combine.c (try_combine): Fix typo in comment.
2892
dd1c1f8c
SB
28932015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
2894
2895 PR target/64580
2896 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
2897 (rs6000_stack_info): Add assert.
2898 (rs6000_output_savres_externs): New function, split off from...
2899 (rs6000_output_function_prologue): ... here. Do not call it for
2900 thunks.
2901
52d28530
JL
29022015-01-29 Jeff Law <law@redhat.com>
2903
dd1c1f8c 2904 PR target/15184
52d28530
JL
2905 * combine.c (try_combine): If I0 is a memory load and I3 a store
2906 to a related address, increase the "goodness" of doing a 4-insn
2907 combination with I0-I3.
2908 (make_field_assignment): Handle SUBREGs in the ior+and case.
2909
b8aa7083
YR
29102015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
2911
2912 PR tree-optimization/64746
2913 * tree-if-conv.c (mask_exists): New function.
2914 (predicate_mem_writes): Save created mask with given size for further
2915 use.
2916 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
2917 (ifcvt_repair_bool_pattern): Collect all statements that are root
2918 of bool pattern and use iterative algorithm to remove multiple uses
2919 of predicates, display number of required iterations.
2920
d94e3e75
RB
29212015-01-29 Richard Biener <rguenther@suse.de>
2922
2923 PR tree-optimization/64853
2924 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
2925 stmt will get simulated again.
2926 * tree-ssa-ccp.c (valueize_op_1): Likewise.
2927
16277100
KT
29282015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2929
2930 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
2931 return_in_pc. Remove redundant assignments.
2932 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
2933 (arm_expand_epilogue): Don't compare boolean with true in if condition.
2934
f84b87aa
UB
29352015-01-29 Uros Bizjak <ubizjak@gmail.com>
2936
2937 * config/i386/i386.c (ix86_mode_after): Make static.
2938
62c00445
RB
29392015-01-29 Richard Biener <rguenther@suse.de>
2940
2941 PR tree-optimization/64844
2942 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
2943 dump cost model analysis.
2944 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
2945 Do not register adjusted load/store costs here.
2946
d290bb1d
IE
29472015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
2948 Uros Bizjak <ubizjak@gmail.com>
2949
2950 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
2951 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
2952 using x86_use_pseudo_pic_reg.
2953 * config/i386/i386.c (ix86_conditional_register_usage): Remove
2954 support for fixed PIC register.
2955 (ix86_use_pseudo_pic_reg): Not static any more.
2956
c291690e
IE
29572015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
2958
2959 PR middle-end/64805
2960 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
2961 to avoid error in cgraph node verification.
2962
2d48baf0
MP
29632015-01-29 Marek Polacek <polacek@redhat.com>
2964
2965 * doc/standards.texi: Reflect that the default for C is gnu11.
2966
4897b529
KK
29672015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
2968
2969 PR target/64761
2970 * reorg.c (switch_text_sections_between_p): New function.
2971 (relax_delay_slots): Call it when testing if the jump insn
2972 is removable. Use targetm.can_follow_jump when testing if
2973 the conditional branch can follow an unconditional jump.
2974
f7f049fa
CT
29752015-01-27 Caroline Tice <cmtice@google.com>
2976
2977 Committing VTV Cywin/Ming patch for Patrick Wollgast
2978 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
2979 if -fvtable-verify=preinit/std is used.
2980 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
2981 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
2982 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
2983 if -fvtable-verify=preinit/std is used.
2984 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
2985 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
2986 if -fvtable-verify=preinit/std is used.
2987 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
2988 * config/i386/mingw32.h (LIB_SPEC): Likewise.
2989 * varasm.c (assemble_variable): Add code to properly set the comdat
2990 section and name for the .vtable_map_vars section in case the
2991 target is PE or COFF.
2992
10881cff
JH
29932015-01-29 Jan Hubicka <hubicka@ucw.cz>
2994
2995 PR ipa/64801
2996 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
2997 make sane BB profile.
2998 (cgraph_node::expand_thunk): Make sane BB profile.
2999 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
3000 * cgraph.h (init_lowered_empty_function): Update prototype.
3001 * config/i386/i386.c (make_resolver_func): Update call.
3002 * predict.c (gate): Disable branch prediction pass if
3003 profile is already there.
3004
bea30e0d
JH
30052015-01-29 Jan Hubicka <hubicka@ucw.cz>
3006
3007 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
3008 * opth-gen.awk: Likewise.
3009 * common.opt: Mark flag_fp_contract_mode as Optimization.
3010
5fa25adb
BE
30112015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
3012
3013 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
3014 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
3015
c761dca1
OE
30162015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
3017
3018 PR target/64659
3019 * config/sh/predicates.md (atomic_arith_operand,
3020 atomic_logical_operand): Remove.
3021 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
3022 (atomic_arith_operand_0): New predicate.
3023 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
3024 Use atomic_arith_operand_0 for input values.
3025 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
3026 atomic_compare_and_swap<mode>_soft_gusa,
3027 atomic_compare_and_swap<mode>_soft_tcb,
3028 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
3029 arith_reg_operand instead of register_operand.
3030 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
3031 atomic_arith_operand_0 for newval input.
3032 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
3033 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
3034 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
3035 arith_reg_operand instead of register_operand.
3036 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
3037 fetchop_predicate_1, fetchop_constraint_1_llcs,
3038 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
3039 fetchop_constraint_1_imask): New code iterator attributes.
3040 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
3041 register_operand. Use fetchop_predicate_1.
3042 (atomic_fetch_<fetchop_name>si_hard,
3043 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
3044 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
3045 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
3046 and arith_reg_operand instead of register_operand. Use
3047 fetchop_predicate_1, fetchop_constraint_1_gusa.
3048 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
3049 and arith_reg_operand instead of register_operand. Use
3050 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
3051 to allow R0 usage.
3052 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
3053 and arith_reg_operand instead of register_operand. Use
3054 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
3055 to allow R0 usage.
3056 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
3057 register_operand. Use atomic_logical_operand_1.
3058 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
3059 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
3060 arith_reg_operand instead of register_operand.
3061 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
3062 Use arith_reg_dest and arith_reg_operand instead of register_operand.
3063 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
3064 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
3065 register_operand. Use fetchop_predicate_1.
3066 (atomic_<fetchop_name>_fetchsi_hard,
3067 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
3068 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
3069 fetchop_constraint_1_llcs.
3070 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
3071 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
3072 fetchop_constraint_1_gusa.
3073 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
3074 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
3075 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
3076 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
3077 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
3078 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
3079 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
3080 register_operand. Use atomic_logical_operand_1.
3081 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
3082 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
3083 arith_reg_operand instead of register_operand.
3084 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
3085 arith_reg_operand instead of register_operand. Use logical_operand
3086 and K08. Adjust asm sequence to allow R0 usage.
3087 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
3088 arith_reg_operand instead of register_operand. Use logical_operand
3089 and K08.
3090
13a48f37
JJ
30912015-01-28 Jakub Jelinek <jakub@redhat.com>
3092
3093 PR other/63504
3094 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
3095 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
3096 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
3097 only get_full_len HOST_WIDE_INTs from get_val () array rather than
3098 all bits in *val_wide.
3099
b1474d30
JH
31002015-01-28 Jan Hubicka <hubicka@ucw.cz>
3101
3102 * varpool.c (tls_model_names): Fix names.
3103 (varpool_node::dump): Dump tls- prefix for tls models.
3104
1f83528e
TS
31052015-01-28 Thomas Schwinge <thomas@codesourcery.com>
3106 Bernd Schmidt <bernds@codesourcery.com>
3107 Nathan Sidwell <nathan@codesourcery.com>
3108
3109 * config/nvptx/mkoffload.c: New file.
3110 * config/nvptx/t-nvptx: Add build rules for it.
3111 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
3112 (extra_programs): Add mkoffload.
3113 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
3114 function.
3115 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
3116
090238ee
YR
31172015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
3118
3119 PR middle-end/64809
3120 * cfgexpand.c (reorder_operands): Skip debug gimples.
3121
fa8e5051
IE
31222015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
3123
3124 PR tree-optimization/64277
3125 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
3126 range info when possible to refine estimation.
3127
8447859b
TP
31282015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
3129
3130 PR tree-optimization/64718
3131 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
3132 be a 16bit unsigned integer when n->range is 16.
3133 (bswap_replace): Convert src to that type if necessary for all bswap
3134 sizes. Fix rotation right notation in nearby comment. Use bswap_type
3135 set in pass_optimize_bswap::execute ().
3136
285398d2
JG
31372015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
3138
3139 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
3140 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
3141 integer and floating point variants.
3142 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
3143
de5bcff3
RS
31442015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
3145
3146 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
3147 for all vector modes.
3148
813ba013
JJ
31492015-01-28 Jakub Jelinek <jakub@redhat.com>
3150
3151 PR bootstrap/64612
3152 * doc/sourcebuild.texi (comdat_group): Document.
3153
5ea22cfc
TG
31542015-01-28 Terry Guo <terry.guo@arm.com>
3155
3156 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
3157
53c04ec9
DM
31582015-01-27 David Malcolm <dmalcolm@redhat.com>
3159
3160 * toplev.c (print_version): Add param "show_global_state", and
3161 only print GGC and plugin information if it is true.
3162 (init_asm_output): Pass in "true" for the new param when calling
3163 print_version.
3164 (process_options): Likewise.
3165 (toplev::main): Likewise.
3166 * toplev.h (print_version): Add new param to decl.
3167
e23f2892
JH
31682015-01-27 Jan Hubicka <hubicka@ucw.cz>
3169
3170 PR ipa/60871
3171 PR ipa/64139
3172 * tree.c (lookup_binfo_at_offset): New function.
3173 (get_binfo_at_offset): Use it.
3174
b833dedd
JH
31752015-01-27 Jan Hubicka <hubicka@ucw.cz>
3176
3177 PR ipa/64282
3178 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
3179 on vtable being vtable.
3180
94091f43
DV
31812015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
3182
f84b87aa
UB
3183 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
3184 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
3185 -mhotpatch= option.
3186 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
3187 -mno-hotpatch options. Change syntax of -mhotpatch= option.
3188 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
3189 Renamed.
3190 (s390_hotpatch_trampoline_halfwords_max): Renamed.
3191 (s390_hotpatch_hw_max): New name.
3192 (s390_hotpatch_trampoline_halfwords): Renamed.
3193 (s390_hotpatch_hw_before_label): New name.
3194 (get_hotpatch_attribute): Removed.
3195 (s390_hotpatch_hw_after_label): New name.
3196 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
3197 attribute.
3198 (s390_attribute_table): Ditto.
3199 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
3200 (s390_function_num_hotpatch_hw): New name.
3201 Remove special handling of inline functions and hotpatching.
3202 Return number of nops before and after the function label.
3203 (s390_can_inline_p): Removed.
3204 (s390_asm_output_function_label): Emit a configurable number of nops
3205 after the function label.
3206 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
3207 (TARGET_CAN_INLINE_P) Removed.
3208 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
94091f43 3209
096e8448
JW
32102015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3211 Jiong Wang <jiong.wang@arm.com>
3212
3213 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
3214 of scratch reg.
3215 (cb<optab><mode>1): Likewise.
3216 * config/aarch64/iterators.md (bcond): New define_code_attr.
3217
fb1a3f8f
AK
32182015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3219
3220 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
3221 memory accesses.
3222
f954fb25
AK
32232015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3224
3225 * config/s390/s390.c (s390_register_move_cost): Increase costs for
3226 FPR->GPR moves.
3227
755359b7
RB
32282015-01-27 Richard Biener <rguenther@suse.de>
3229
3230 * tree-vrp.c (update_value_range): Intersect the range with
3231 old recorded SSA name range information.
3232
eb42aba9
NC
32332015-01-27 Nick Clifton <nickc@redhat.com>
3234
3235 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
3236 BC, DE and HL registers directly, not via AX.
3237 When decrementing the stack pointer by a large amount, transfer SP
3238 into AX and perform the subtraction there.
3239 (rl78_expand_epilogue): Perform the inverse of the above
3240 enhancements.
3241
f962fbf1
RO
32422015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3243
3244 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
3245
f4bdb96a
JJ
32462015-01-27 Jakub Jelinek <jakub@redhat.com>
3247 Yury Gribov <y.gribov@samsung.com>
3248
3249 PR ubsan/64741
3250 * ubsan.c (ubsan_source_location): Refactor code.
3251 (ubsan_type_descriptor): Update type size. Refactor code.
3252
f101c4b4
RB
32532015-01-27 Richard Biener <rguenther@suse.de>
3254
3255 PR tree-optimization/56273
3256 PR tree-optimization/59124
3257 PR tree-optimization/64277
3258 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
3259 from the first VRP pass.
3260
6d71672d
JJ
32612015-01-27 Jakub Jelinek <jakub@redhat.com>
3262
4eaf52aa
JJ
3263 PR ipa/64776
3264 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
3265 handle the first argument in the same loop as all the other arguments.
3266
6d71672d
JJ
3267 PR rtl-optimization/61058
3268 * jump.c (cleanup_barriers): Update basic block boundaries
3269 if BLOCK_FOR_INSN is non-NULL on PREV.
3270
3dd598be
IE
32712015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
3272
3273 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
3274 bounds narrowing, already instrumented calls and calls to
3275 not instrumentable functions.
3276
b30ea138
JJ
32772015-01-27 Jakub Jelinek <jakub@redhat.com>
3278
3279 PR tree-optimization/64807
3280 * wide-int.cc (wi::divmod_internal): Clear
3281 b_dividend[dividend_blocks_needed].
3282
1230f784
DD
32832015-01-26 DJ Delorie <dj@redhat.com>
3284
3285 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
3286 volatile memory references.
3287
48e4f473
OE
32882015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
3289
3290 PR target/49263
3291 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
3292 remove_insn.
3293 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
3294 shifts if it already fits into K08.
3295
4cd76837
JJ
32962015-01-26 Jakub Jelinek <jakub@redhat.com>
3297
1b7706c8
JJ
3298 PR ipa/64730
3299 * ipa-inline.c (inline_small_functions): Print "unknown" even
3300 if edge->call_stmt is non-NULL, but has builtins or unknown
3301 location.
3302
4cd76837
JJ
3303 PR middle-end/64421
3304 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
3305 with asterisk, skip the first character.
3306
0b54aad2
L
33072015-01-26 H.J. Lu <hongjiu.lu@intel.com>
3308
3309 PR target/64806
3310 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
3311 order change.
3312
c8d7835b
UB
33132015-01-26 Uros Bizjak <ubizjak@gmail.com>
3314
f84b87aa 3315 PR target/64795
c8d7835b
UB
3316 * config/i386/i386.md (*movdi_internal): Also check operand 0
3317 to determine TYPE_LEA operand.
3318 (*movsi_internal): Ditto.
3319
cbe69886
JJ
33202015-01-26 Jakub Jelinek <jakub@redhat.com>
3321
3322 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
3323 OPTION_MASK_QUAD_MEMORY_ATOMIC.
3324
0699caae
RL
33252015-01-26 Renlin Li <renlin.li@arm.com>
3326
3327 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
3328 the comment.
3329 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
3330 for higher part.
3331
3cd58c0f
RB
33322015-01-26 Richard Biener <rguenther@suse.de>
3333
3334 PR middle-end/64764
3335 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
3336 combining two BIT_AND_EXPR predicates.
3337
b1512ea0
L
33382015-01-26 H.J. Lu <hongjiu.lu@intel.com>
3339
3340 PR bootstrap/64754
3341 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
3cd58c0f 3342
04385d25
TG
33432015-01-26 Terry Guo <terry.guo@arm.com>
3344
3345 * config/arm/arm.c (arm_file_start): Update the assignment of
3346 Tag_ABI_HardFP_use.
3347
f84b87aa 33482015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
1200ca22
JG
3349
3350 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
3351 pipeline model.
3352 config/arm/arm.md: Include the new Cortex-A57 model.
3353 (generic_sched): Don't use generic_sched when tuning for
3354 Cortex-A57.
3355
939911c5
ASJ
33562015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
3357 Uros Bizjak <ubizjak@gmail.com>
3358
3359 * config/i386/i386.c (get_builtin_code_for_version): Add
3360 support for BMI and BMI2 multiversion functions.
3361
5b4f3384
PK
33622015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3363
3364 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
3365 (extract_bit_field): Likewise.
3366 (extract_low_bits): Likewise.
3367 (expand_mult): Likewise.
3368 (expand_mult_highpart_adjust): Likewise.
3369
c8f2dff2
L
33702015-01-24 H.J. Lu <hongjiu.lu@intel.com>
3371
3372 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
3373 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
3374 * config/i386/i386.c (processor_model): Add
3375 M_INTEL_COREI7_BROADWELL.
3376 (arch_names_table): Add "broadwell".
3377
841dbf80
OE
33782015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
3379
3380 PR target/49263
3381 PR target/53987
3382 PR target/64345
3383 PR target/59533
3384 PR target/52933
3385 PR target/54236
3386 PR target/51244
3387 * config/sh/sh-protos.h
3388 (sh_extending_set_of_reg::can_use_as_unextended_reg,
3389 sh_extending_set_of_reg::use_as_unextended_reg,
3390 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
3391 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
3392 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
3393 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
3394 (sh_treg_insns): New class.
3395 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
3396 (scope_counter): New class.
3397 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
3398 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
3399 sh_extending_set_of_reg::can_use_as_unextended_reg,
3400 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
3401 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
3402 sh_split_treg_set_expr): New functions.
3403 (addsubcosts): Handle treg_set_expr.
3404 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
3405 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
3406 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
3407 (sh_insn_operands_modified_between_p): Make non-static.
3408 * config/sh/predicates.md (zero_extend_movu_operand): Allow
3409 simple_mem_operand in addition to displacement_mem_operand.
3410 (zero_extend_operand): Don't allow zero_extend_movu_operand.
3411 (treg_set_expr, treg_set_expr_not_const01,
3412 arith_reg_or_treg_set_expr): New predicates.
3413 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
3414 arith_or_int_operand instead of logical_operand. Convert to
3415 insn_and_split. Try to optimize constant operand in splitter.
3416 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
3417 (*tstqi_t_zero): Delete.
3418 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
3419 (tstsi_t_and_not): Delete.
3420 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
3421 Convert to insn_and_split.
3422 (unnamed split, tstsi_t_zero_extract_xor,
3423 tstsi_t_zero_extract_subreg_xor_little,
3424 tstsi_t_zero_extract_subreg_xor_big): Delete.
3425 (*tstsi_t_shift_mask): New insn_and_split.
3426 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
3427 to recombine with surrounding insns when splitting.
3428 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
3429 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
3430 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
3431 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
3432 (*cbranch_div0s: Delete.
3433 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
3434 Try to recombine with surrounding insns when splitting. Add operand
3435 order variants.
3436 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
3437 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
3438 *addc_r_r_msb, *addc_2r_msb): Delete.
3439 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
3440 order variant.
3441 (*addc_negreg_t): New insn_and_split.
3442 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
3443 Try to recombine with surrounding insns when splitting.
c8d7835b 3444 Add operand order variants.
841dbf80
OE
3445 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
3446 insn_and_split patterns.
3447 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
3448 surrounding insns when splitting.
3449 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
3450 (*rotcl): Likewise. Add zero_extract variant.
3451 (*ashrsi2_31): New insn_and_split.
3452 (*negc): Convert to insn_and_split. Use treg_set_expr.
3453 (*zero_extend<mode>si2_disp_mem): Update comment.
3454 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
3455 condition.
3456 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
3457 with surrounding insns when splitting.
3458 (any_treg_expr_to_reg): New insn_and_split.
3459 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
3460 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
3461 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
3462 *zero_extract_2): New single bit zero extract patterns.
3463 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
3464 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
3465 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
3466 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
3467 set destination.
3468 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
3469 register_operand for set source.
3470
d0d7b0b3
JH
34712015-01-23 Jan Hubicka <hubicka@ucw.cz>
3472
3473 * i386.opt (prefetch_sse): New targetsave.
3474 * i386.c (ix86_function_specific_save): Save prefetch_sse.
3475 (ix86_function_specific_restore): Restore prefetch_sse and initialize
3476 ix86_cost/ix86_tune_cost.
3477
d2c5e4c9
DM
34782015-01-23 David Malcolm <dmalcolm@redhat.com>
3479
3480 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
3481 Support the JIT by using 0 as the language type.
3482
5c8bae59
VM
34832015-01-23 Vladimir Makarov <vmakarov@redhat.com>
3484
3485 PR target/64317
3486 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
3487 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
af955a52 3488 (mark_regno_live, process_bb_lives): Pass new parameter value to
5c8bae59
VM
3489 make_hard_regno_born.
3490
6c4d60f8
JJ
34912015-01-23 Jakub Jelinek <jakub@redhat.com>
3492
3493 PR rtl-optimization/63637
3494 PR rtl-optimization/60663
3495 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
3496 if elt->cost is MAX_COST for ASM_OPERANDS.
3497 (find_sets_in_insn): Fix up comment typo.
3498 (cse_insn): Don't set src_volatile for all non-volatile
3499 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
3500 or with "memory" clobber. Set elt->cost to MAX_COST
3501 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
3502 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
3503
b2d7aa9a
UB
35042015-01-23 Uros Bizjak <ubizjak@gmail.com>
3505
3506 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
3507 alternative 1.
3508
35092015-01-23 Uros Bizjak <ubizjak@gmail.com>
7bbf9734
UB
3510
3511 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
3512 libgcc/config/i386/elf-lib.h.
3513
b8910447
JJ
35142015-01-23 Jakub Jelinek <jakub@redhat.com>
3515
29585247
JJ
3516 PR driver/64737
3517 * gcc.c (print_configuration): Don't print a blank line at the end
3518 here...
3519 (run_attempt): ... but here unstead.
3520
b8910447
JJ
3521 PR middle-end/64734
3522 * omp-low.c (scan_sharing_clauses): Don't ignore
3523 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
3524 on target data/update constructs.
3525
f75e07bc
BE
35262015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3527
3528 PR target/50928
3529 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
3530 (DEBUG_RELOAD): Removed define.
3531 (m32c_limit_reload_class): Enable traces with if DEBUG0.
3532 (m32c_function_arg): Added a type cast.
3533 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
3534 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
3535 * config/m32c/bitops.md (andqi3_16): Likewise.
3536 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
3537 (push_a01_l): Likewise.
3538
6fc2d0f3
DM
35392015-01-23 David Malcolm <dmalcolm@redhat.com>
3540
3541 PR jit/64721
3542 * main.c (main): Construct toplev instances with init_signals=true.
3543 * toplev.c (general_init): Add param "init_signals", and use it to
3544 conditionalize the calls to signal and host_hooks.extra_signals.
3545 (toplev::toplev): Add param "init_signals".
3546 (toplev::main): When invoking general_init, pass m_init_signals
3547 to control whether signal-handlers are installed.
3548 * toplev.h (toplev::toplev): Add param "init_signals".
3549 (toplev::m_init_signals): New field.
3550
ca72dad5
DM
35512015-01-23 David Malcolm <dmalcolm@redhat.com>
3552
3553 PR jit/64722
3554 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
3555 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
3556 latter may be affected by the former (e.g. on i686).
3557
97440db5
ML
35582015-01-23 Martin Liska <mliska@suse.cz>
3559
3560 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
3561 false positive during profiledbootstrap.
3562
a0c88d06
TV
35632015-01-23 Tom de Vries <tom@codesourcery.com>
3564
3565 PR libgomp/64672
3566 * lto-opts.c (lto_write_options): Output non-explicit conservative
3567 -fno-openacc.
3568 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
3569 (append_compiler_options): Pass -fopenacc through.
3570
1506ae0e
TV
35712015-01-23 Tom de Vries <tom@codesourcery.com>
3572
3573 PR libgomp/64707
3574 * lto-opts.c (lto_write_options): Output non-explicit conservative
3575 -fno-openmp.
3576 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
3577 (append_compiler_options): Pass -fopenmp through.
3578
b55f40c1
JJ
35792015-01-23 Jakub Jelinek <jakub@redhat.com>
3580
bd849fe6
JJ
3581 PR debug/64511
3582 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
3583 GTY markup.
3584
b55f40c1
JJ
3585 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
3586 * diagnostic.def (DK_ICE_NOBT): New kind.
3587 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
3588 like DK_ICE, but never print backtrace.
3589 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
3590 (internal_error_no_backtrace): New function.
3591 * gcc.c (execute): Use internal_error_no_backtrace instead of
3592 internal_error.
3593
5e7821eb
JL
35942015-01-22 Jeff Law <law@redhat.com>
3595
3596 PR target/52076
3597 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
3598 improve code density for small immediate to memory case.
3599 (insv): Better handle bitfield assignments when the field is
3600 being set to all ones.
3601 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
3602 operand predicate.
3603
33eaef4b
RO
36042015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3605 Jakub Jelinek <jakub@redhat.com>
3606
3607 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
3608 for !TARGET_LIBC_PROVIDES_SSP version and
3609 -fstack-protector-{all,strong,explicit} otherwise.
3610 * config/freebsd.h (LINK_SSP_SPEC): Handle
3611 -fstack-protector-{strong,explicit}.
3612
d75de25b
JH
36132015-01-22 Jan Hubicka <hubicka@ucw.cz>
3614 H.J. Lu <hongjiu.lu@intel.com>
3615
3616 PR ipa/64694
3617 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
3618 heap.
3619
ff1803c1
WM
36202015-01-22 Wei Mi <wmi@google.com>
3621
3622 PR rtl-optimization/64557
3623 * dse.c (record_store): Call get_addr for mem_addr.
3624 (check_mem_read_rtx): Likewise.
3625
f77107e8
EB
36262015-01-22 Eric Botcazou <ebotcazou@adacore.com>
3627
3628 * fold-const.c (const_binop): Add early return for non-tcc_binary.
3629
36302015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
e34a176a 3631
0c799056
CG
3632 * toplev.c (init_local_tick): Process the failure when read
3633 fails for random_seed.
3634
e34a176a
CG
3635 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
3636 'pretty_name' to avoid memory overflow.
3637
f4b05e74
RB
36382015-01-22 Richard Biener <rguenther@suse.de>
3639
3640 PR middle-end/64728
3641 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
3642 abnormal coalescing on undefined SSA names.
3643
98321768
UB
36442015-22-01 Uros Bizjak <ubizjak@gmail.com>
3645
3646 PR target/64688
3647 PR target/64477
3648 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
3649 for alternative 3.
a0d8720a 3650 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
98321768 3651
6c4ffa6c
TS
36522015-01-22 Trevor Saunders <tsaunders@mozilla.com>
3653
3654 PR middle-end/63325
3655 * fold-const.c (fold_checksum_tree): Don't include value of
3656 expr->decl_with_vis.symtab_node in the checksum.
3657
cf5b43b0
AK
36582015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3659
f662ac2a 3660 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
cf5b43b0 3661
f78a6ae4
MO
36622015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
3663
3664 PR driver/64690
3665 * gcc.c (insert_comments): New function.
3666 (try_generate_repro): Call it.
3667 (append_text): Removed.
3668
0c3068e0
RB
36692015-01-22 Richard Biener <rguenther@suse.de>
3670
3671 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
3672 with IL incompatible options. Properly honor user optimize
3673 attributes.
3674
c8b90a13
SB
36752015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
3676
3677 PR rtl-optimization/64682
3678 * combine.c (distribute_notes): When moving a death note for
3679 a register that is set in the new I2, make sure to put it
3680 before that new I2.
3681
1c2fd8c7
DE
36822015-01-21 David Edelsohn <dje.gcc@gmail.com>
3683
3684 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
3685 not TARGET_DEFAULT.
3686
6c5ed3f1
JJ
36872015-01-21 Jakub Jelinek <jakub@redhat.com>
3688
98f51044
JJ
3689 PR debug/64511
3690 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
3691 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
3692 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
3693
d2632e47
JJ
3694 PR sanitizer/64706
3695 * doc/invoke.texi (-fsanitize=vptr): Document.
3696
6c5ed3f1
JJ
3697 PR rtl-optimization/62078
3698 * dse.c: Include cfgcleanup.h.
3699 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
3700 anything call purge_all_dead_edges and cleanup_cfg at the end
3701 of the pass.
3702
173148bb
JH
37032015-01-21 Jan Hubicka <hubicka@ucw.cz>
3704
3705 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
3706 edges.
3707
2f3c4b69
BE
37082015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3709
3710 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
3711 decl attribute.
3712
b6b782b9
DS
37132015-01-21 David Sherwood <david.sherwood@arm.com>
3714 Tejas Belagod <Tejas.Belagod@arm.com>
3715
3716 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
3717 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
3718 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
3719 Removed.
3720
668046d1
DS
37212015-01-21 David Sherwood <david.sherwood@arm.com>
3722 Tejas Belagod <Tejas.Belagod@arm.com>
3723
3724 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
3725 (aarch64_reverse_mask): New decls.
3726 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
3727 (insn_count): New mode_attr.
3728 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
3729 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
3730 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
3731 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
3732 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
3733 (aarch64_simd_st4): New patterns.
3734 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
3735 (aarch64_reverse_mask): New functions.
3736
2d8c6dc1
AH
37372015-01-21 Richard Sandiford <richard.sandiford@arm.com>
3738
3739 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
3740 Declare.
3741 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
3742 addressing modes for BE.
3743 (aarch64_print_operand): Add 'R' specifier.
3744 (aarch64_simd_disambiguate_copy): Delete.
3745 (aarch64_simd_emit_reg_reg_move): New function.
3746 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
3747 in define_splits for structural moves.
3748 (mov<mode>): Use less restrictive predicates.
3749 (*aarch64_mov<mode>): Simplify and only allow for LE.
3750 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
3751
9ab41c76
AH
37522015-01-21 Alan Hayward <alan.hayward@arm.com>
3753
f84b87aa 3754 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
9ab41c76 3755
4005b96a
RH
37562015-01-21 Richard Henderson <rth@redhat.com>
3757
3758 PR target/64669
3759 * ccmp.c (used_in_cond_stmt_p): Remove.
3760 (expand_ccmp_expr): Don't use it.
3761
cf836bd3
NC
37622015-01-21 Nick Clifton <nickc@redhat.com>
3763
3764 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
3765 PARALLELs.
3766
cbf5d0e7
RB
37672015-01-21 Richard Biener <rguenther@suse.de>
3768
3769 PR middle-end/64313
3770 * tree-core.h (builtin_info, builtin_info_type): Turn from
3771 an object with two arrays into an array of an object with
3772 decl and two flags, implicit_p and declared_p.
3773 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
3774 set_builtin_decl, set_builtin_decl_implicit_p,
3775 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
3776 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
3777 * builtins.c (builtin_info): Adjust.
3778 * gimplify.c (gimplify_addr_expr): References to builtins
3779 that have been declared by the user makes them eligible for
3780 use by the compiler. Call set_builtin_decl_implicit_p on them.
3781
1f36fbf4
JL
37822015-01-20 Jeff Law <law@redhat.com>
3783
3784 PR target/59946
3785 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
3786 allow pc-relative addresses in operand predicates or constraints.
3787
18092bec
BC
37882015-01-21 Bin Cheng <bin.cheng@arm.com>
3789
3790 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
3791 neon on aarch32 processors for stringops.
3792
befb1f36
JH
37932015-01-19 Jan Hubicka <hubicka@ucw.cz>
3794
3795 PR ipa/63576
3796 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
3797
bb1e543c
JH
37982015-01-19 Jan Hubicka <hubicka@ucw.cz>
3799
3800 PR lto/45375
3801 * ipa-inline.c: Include lto-streamer.h
3802 (report_inline_failed_reason): Output source file differences and
3803 flags on optimization/target node mismatch.
3804 (can_inline_edge_p): Consider caller to be the outer inline function;
3805 be less restrictive about matching opimize and optimize_size attributes.
3806 (inline_account_function_p): Break out from ...
3807 (inline_small_functions): ... here.
3808 * ipa-inline-transform.c (clone_inlined_nodes): Use
3809 inline_account_function_p.
3810 (inline_call): Use optimize attribution; use inline_account_function_p.
3811 (inline_transform): Use opt_for_fn.
3812 * ipa-inline.h (inline_account_function_p): Declare.
3813
17cb4283
JJ
38142015-01-20 Jakub Jelinek <jakub@redhat.com>
3815
3816 PR debug/64663
3817 * dwarf2out.c (decl_piece_node): Don't put bitsize into
3818 mode if bitsize <= 0.
3819 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
3820 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
3821 sizes and positions.
3822
a9ce4e4a
CLT
38232015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
3824
3825 * config/nios2/nios2.c (nios2_asm_file_end): Implement
3826 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
3827 needed.
3828 (TARGET_ASM_FILE_END): Define.
3829
237c70c3
MK
38302015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3831
3832 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
3833 (struct tune_params): Use the enum.
3834 * arm.c (arm_*_tune): Update.
3835 (arm_option_override): Update.
3836
2fd2ae34
RB
38372015-01-20 Richard Biener <rguenther@suse.de>
3838
3839 PR ipa/64684
3840 * ipa-reference.c (add_static_var): Inline ...
3841 (analyze_function): ... here after splitting out from ...
3842 (is_proper_for_analysis): ... this.
3843
c896d4b4
MW
38442015-01-20 Matthew Wahab <matthew.wahab@arm.com>
3845
3846 PR target/64149
3847 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
3848 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
3849 replace the conditional with it's true branch.
3850 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
3851 (arm_lra_p): Remove.
3852
a76ffff1
EB
38532015-01-20 Eric Botcazou <ebotcazou@adacore.com>
3854
3855 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
3856
42df23a6
PK
38572015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3858
f84b87aa
UB
3859 * config/tilegx/mul-tables.c: Move symtab.h include after
3860 coretypes.h include.
3861 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
3862 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
3863 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
3864 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
3865 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
42df23a6 3866
7002f3bd
IZ
38672015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
3868
3869 PR bootstrap/64676
3870 Revert:
3871 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
3872
3873 PR rtl-optimization/64081
3874 * loop-iv.c (def_pred_latch_p): New function.
3875 (latch_dominating_def): Allow specific cases with non-single
3876 definitions.
3877 (iv_get_reaching_def): Likewise.
3878 (check_complex_exit_p): New function.
3879 (check_simple_exit): Use check_complex_exit_p to allow certain cases
3880 with exits not executing on any iteration.
3881
a5fcfb6d
JH
38822015-01-19 Jan Hubicka <hubicka@ucw.cz>
3883
3884 PR lto/45375
3885 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
3886 to set branch cost.
3887
a1aff58f
JH
38882015-01-19 Jan Hubicka <hubicka@ucw.cz>
3889
3890 PR lto/45375
3891 * i386.c (gate): Check flag_expensive_optimizations and
3892 optimize_size.
3893 (ix86_option_override_internal): Drop optimize_size condition
3894 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
3895 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
3896 MASK_PREFER_AVX128.
3897 (ix86_avx256_split_vector_move_misalign,
3898 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
3899 * sse.md (all uses of TARGET_PREFER_AVX128): Add
3900 optimize_insn_for_speed_p check.
3901
aa0c464a
MF
39022015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
3903
3904 * config/mips/mips.h (FP_ASM_SPEC): New define.
3905 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
3906 instead.
3907
b151091d
OE
39082015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
3909
3910 PR target/53988
3911 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
3912 nullptr for insn when reaching the first insn.
3913 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
3914 (sh_insn_operands_modified_between_p): Add nullptr check.
3915 (sh_find_extending_set_of_reg): Fix log message. Don't accept
3916 sign extending mem load if the insn contains any UNSPEC or
3917 UNSPEC_VOLATILE.
3918
c2db7204
JH
39192015-01-19 Jan Hubicka <hubicka@ucw.cz>
3920
3921 * params.def (inline-unit-growth): Drop to 15%.
3922 * invoke.texi (inline-unit-growth): Document change.
3923
6b984df0
ML
39242015-01-19 Martin Liska <mliska@suse.cz>
3925
3926 PR ipa/64668
3927 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
3928 function for second argument of OBJ_TYPE_REF.
3929
9789b553
JH
39302015-01-19 Jan Hubicka <hubicka@ucw.cz>
3931
3932 PR ipa/64218
3933 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
3934 whether function is an alias.
3935
68c9467f
JH
39362015-01-19 Jan Hubicka <hubicka@ucw.cz>
3937
3938 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
3939 cases.
3940
6ce54d0f
VM
39412015-01-19 Vladimir Makarov <vmakarov@redhat.com>
3942
3943 PR rtl-optimization/64671
3944 * lra-remat.c (operand_to_remat): Don't consider jump and call
3945 insns.
3946
b9f12a01
DE
39472015-01-19 David Edelsohn <dje.gcc@gmail.com>
3948
34e72ece 3949 PR target/59828
b9f12a01
DE
3950 * config/rs6000/default64.h: Include rs6000-cpus.def.
3951 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
3952 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
3953 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
3954 and POWER8.
3955 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
3956 POWER8.
3957 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
3958 pseudo-op to specify assembler dialect.
3959
90190bb3
ML
39602015-01-19 Martin Liska <mliska@suse.cz>
3961
3962 PR ipa/64664
3963 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
3964 Handle safe potentially removed nodes during filtering.
3965
185c9e56
ML
39662015-01-19 Martin Liska <mliska@suse.cz>
3967
3968 * doc/extend.texi (no_icf): Add new attribute description.
3969 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
3970 where the pass attempts to merge a function with no_icf attribute.
3971
b24671f7
RR
39722015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3973
3974 PR target/64532
3975 * doc/md.texi (ARM Options): Document register constraints.
3976
af129d07
JW
39772015-01-19 Jiong Wang <jiong.wang@arm.com>
3978 Andrew Pinski <apinski@cavium.com>
3979
3980 PR target/64304
3981 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
3982 (ashl<mode>3): Don't expand if operands[2] is not constant.
3983
36650ec6
KT
39842015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3985
3986 PR target/64448
3987 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
3988 Match xor-and-xor RTL pattern.
3989
dfd3a76c
IZ
39902015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
3991
3992 PR rtl-optimization/64081
3993 * loop-iv.c (def_pred_latch_p): New function.
3994 (latch_dominating_def): Allow specific cases with non-single
3995 definitions.
3996 (iv_get_reaching_def): Likewise.
3997 (check_complex_exit_p): New function.
3998 (check_simple_exit): Use check_complex_exit_p to allow certain cases
3999 with exits not executing on any iteration.
4000
ff6a32a9
JJ
40012015-01-19 Jakub Jelinek <jakub@redhat.com>
4002
4003 * common.opt (fgraphite): Fix a typo.
4004
7abab3d1
FY
40052015-01-19 Felix Yang <felix.yang@huawei.com>
4006
4007 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
4008 pattern.
4009 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
4010 uminp, smax_nanp, smin_nanp): New builtins.
4011 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
4012 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
4013 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
4014 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
4015 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
4016 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
4017 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
4018 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
4019 vpminnms_f32): Rewrite using builtin functions.
4020
128b26dc
TS
40212015-01-19 Thomas Schwinge <thomas@codesourcery.com>
4022
bed62c21 4023 PR libgomp/64625
128b26dc
TS
4024 * omp-low.c (offload_symbol_decl): Remove variable.
4025 (get_offload_symbol_decl): Remove function.
4026 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
4027 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
4028 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
4029 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
4030 BUILT_IN_GOACC_UPDATE don't pass it at all.
4031
3d36be01
IE
40322015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
4033
4034 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
4035 callers.
4036
c11d86b4
IE
40372015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
4038
4039 * ipa-chkp.c (chkp_produce_thunks): Add early param
4040 to split thunks production into two passes. Keep
4041 'always_inline' function bodies after the first pass.
4042 (pass_data_ipa_chkp_early_produce_thunks): New.
4043 (pass_ipa_chkp_early_produce_thunks): New.
4044 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
4045 chkp_produce_thunks signature.
4046 (make_pass_ipa_chkp_early_produce_thunks): New.
4047 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
4048 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
4049 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
4050
a89bd7d2
JH
40512015-01-18 Jan Hubicka <hubicka@ucw.cz>
4052
4053 * cgraph.c (cgraph_node::dump): Dump profile flags.
4054
15a43a0c
OE
40552015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
4056
4057 PR target/64652
4058 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
4059 reg appear first in the parallel.
4060
b16650ac
JH
40612015-01-18 Jan Hubicka <hubicka@ucw.cz>
4062
4063 * ipa-reference.c (set_reference_optimization_summary,
a89bd7d2
JH
4064 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
4065 disabled.
b16650ac 4066 (ignore_module_statics): New static var.
a89bd7d2
JH
4067 (propagate_bits): If ipa-reference is disabled, do not look into local
4068 properties.
b16650ac
JH
4069 (analyze_function): Disable analysis when ipa_reference is disabled.
4070 (generate_summary): Do not dump when reference is disabled;
4071 collect vars accessed from functions with ipa-reference disabled.
4072 (get_read_write_all_from_node): When ipa-reference is disabled, use the
4073 node flags.
4074 (gate): Enable for LTO.
4075 (ignore_edge_p): New function.
4076 (propagate): Skip functions w/o ipa-reference analysis.
4077 * optc-save-gen.awk: Handle optimize_debug correctly.
4078 * opth-gen.awk: Likewise.
4079 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
4080 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
4081 fira-share-save-slots, fira-share-spill-slots,
4082 fmodulo-sched-allow-regmoves, fpartial-inlining,
4083 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
4084 ftracer, ftree-parallelize-loops, fassociative-math,
4085 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
4086 Optimization
4087 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
f84b87aa
UB
4088 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
4089 Optimization.
b16650ac
JH
4090 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
4091 Fix for IPA.
4092
33c3b6be
JH
40932015-01-18 Jan Hubicka <hubicka@ucw.cz>
4094
4095 PR ipa/64378
4096 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
4097 flag correctly.
4098 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
4099
d28701a2
SL
41002015-01-18 Sandra Loosemore <sandra@codesourcery.com>
4101
4102 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
4103 Remove duplicate option listings.
4104
1500c66f
FY
41052015-01-18 Felix Yang <felix.yang@huawei.com>
4106
4107 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
4108 (autofdo_source_profile::get_callsite_total_count,
4109 function_instance::get_function_instance_by_decl,
4110 string_table::get_index, string_table::get_index_by_decl,
4111 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
4112 Fix comment typos. Reformatting and minor code rearrangement.
4113
779fc8fb
SB
41142015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
4115
4116 * config/rs6000/rs6000.md (probe_stack): Delete.
4117 (probe_stack_address): New.
4118
ffafb4f0
SB
41192015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
4120
4121 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
4122 to test for 32-bit ABIs, not !TARGET_POWERPC64.
4123
436bd917
SB
41242015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
4125
4126 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
4127 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
4128 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
4129 snafu.
4130 (rs6000_libcall_value): Use the new function.
4131
3b97ab5a
SL
41322015-01-17 Sandra Loosemore <sandra@codesourcery.com>
4133
4134 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
4135
33c2207d
EB
41362015-01-17 Eric Botcazou <ebotcazou@adacore.com>
4137
4138 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
4139 implement a more precise life analysis for it during backward scan.
4140
c3943573
JK
41412015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
4142
4143 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
4144
0ed4bf92
BS
41452015-01-17 Bernd Schmidt <bernds@codesourcery.com>
4146
4147 PR rtl-optimization/52773
4148 * calls.c (emit_library_call_value): When pushing arguments use
4149 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
4150 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
4151 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
4152
bd5fb71c
JL
41532015-01-17 Jeff Law <law@redhat.com>
4154
4155 PR rtl-optimization/32790
4156 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
4157 not ZERO_EXTEND in SET_DESTs.
4158
aed38127
AM
41592015-01-17 Alan Modra <amodra@gmail.com>
4160
4161 * cprop.c (do_local_cprop): Revert last change.
4162
48c528ae
DD
41632015-01-16 DJ Delorie <dj@redhat.com>
4164 Nick Clifton <nickc@redhat.com>
4165
4166 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
4167 (addhi3_real): Likewise. Fix [HL+0] syntax.
4168 (subqi3_real): Likewise.
4169 (subhi3_real): Likewise.
4170 (cbranchqi4_real): Likewise. Allow saddr,#imm.
4171 (cbranchhi4_real): Likewise.
4172 (cbranchhi4_real_inverted): Likewise.
4173 (cbranchsi4_real_lt): Likewise.
4174 (cbranchsi4_real_ge): Likewise.
4175 (cbranchsi4_real_ge): Likewise.
4176 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
4177 (sub<mode>3_virt): Likewise.
4178 (cbranchqi4_virt): Likewise.
4179 (cbranchhi4_virt): Likewise.
4180 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
4181 always use '[reg+imm]' even when imm is zero.
4182 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
4183 (rl78_general_operand): New.
4184 (rl78_nonimmediate_operand): New.
4185 (rl78_nonfar_operand): Use them.
4186 (rl78_nonfar_nonimm_operand): Likewise.
4187 (rl78_stack_based_mem): Fix.
4188 * config/rl78/constraints.md (Ibqi): New.
4189 (IBqi): New.
4190 (Wsa): New.
4191 (Wsf): New.
4192 (Cs1): Fix.
4193 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
4194 (iorqi3): Likewise.
4195 (xorqi3): Likewise.
4196 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
4197
f84b87aa
UB
4198 * config/rl78/constrains (Qs8): New constraint.
4199 * config/rl78/rl78.c (rl78_flags_already_set): New function.
4200 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
4201 * config/rl78/rl78-real.md (update_Z): New attribute.
4202 Update patterns to set it.
4203 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
4204 shorter compare and branch sequence can be used.
4205 (cbranchhi4_real): Likewise.
4206 (cbranchhi4_real_inverted): Likewise.
48c528ae
DD
4207
4208 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
4209 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
4210 address space.
4211 * config/rl78/rl78.c (rl78_get_name_encoding): New.
4212 (rl78_option_override): Allow -mes0 only if C.
4213 (characterize_address): Support subregs of symbol_refs.
4214 (rl78_addr_space_address_mode): Move. Add __near.
4215 (rl78_far_p): Likewise.
4216 (rl78_addr_space_pointer_mode): Likewise.
4217 (rl78_as_legitimate_address): Likewise.
4218 (rl78_addr_space_subset_p): Likewise.
4219 (rl78_addr_space_convert): Likewise.
4220 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
4221 symbols with -mes0.
4222 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
4223 addressing.
4224 (rl78_alloc_physical_registers_op1): Change logic to prefer
4225 symbol[BC] addressing.
4226 (frodata_section): New.
4227 (rl78_asm_init_sections): Initialize it.
4228 (rl78_select_section): Put __far readonly symbols in .frodata.
4229 (rl78_make_type_far): New.
f84b87aa
UB
4230 (rl78_insert_attributes): Force all readonly symbols to be
4231 __far when -mes0.
48c528ae
DD
4232 (rl78_asm_out_integer): New.
4233 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
4234 * config/rl78/rl78.opt (-mes0): New.
4235
4236 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
4237 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
4238 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
4239 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
4240 (rl78_saddr_p): New.
4241 (rl78_output_aligned_common): New.
4242 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
4243 (rl78_handle_saddr_attribute): New.
4244 (rl78_handle_naked_attribute): New.
4245 (rl78_attribute_table): Add saddr.
4246 (rl78_print_operand_1): Don't print '!' on saddr operands.
4247 (rl78_print_operand_1): Strip encodings.
4248 (rl78_sfr_p): New.
4249 (rl78_strip_name_encoding): New.
4250 (rl78_attrlist_to_encoding): New.
4251 (rl78_encode_section_info): New.
4252 (rl78_asm_init_sections): New.
4253 (rl78_select_section): New.
4254 (rl78_output_labelref): New.
4255 (rl78_output_aligned_common): New.
4256 (rl78_asm_out_integer): New.
4257 (rl78_asm_ctor_dtor): New.
4258 (rl78_asm_constructor): New.
4259 (rl78_asm_destructor): New.
4260
4261 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
4262 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
4263 (transcode_memory_rtx): Update.
4264 (rl78_expand_epilogue): Use A_REG instead of 0.
4265
340c7904
MK
42662015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4267
4268 * config/arm/arm-protos.h (struct tune_params): New field
4269 sched_autopref_queue_depth.
4270 * config/arm/arm.c (sched-int.h): Include header.
4271 (arm_first_cycle_multipass_dfa_lookahead_guard,)
4272 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
4273 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
4274 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
4275 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
4276 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
4277 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
4278 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
4279 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
4280 * config/arm/t-arm (arm.o): Update.
4281 * haifa-sched.c (update_insn_after_change): Update.
4282 (rank_for_schedule): Use auto-prefetcher model, if requested.
4283 (autopref_multipass_init): New static function.
4284 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
4285 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
4286 variable for debug dumps.
4287 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
4288 (autopref_multipass_dfa_lookahead_guard): New global function that
4289 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
4290 (init_h_i_d): Update.
4291 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
4292 * sched-int.h (enum autopref_multipass_data_status): New const enum.
4293 (autopref_multipass_data_): Structure for auto-prefetcher data.
4294 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
4295 (struct _haifa_insn_data:autopref_multipass_data): New field.
4296 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
4297 (autopref_multipass_dfa_lookahead_guard): Declare.
4298
71acd477
MK
42992015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4300
4301 * rtlanal.c (get_base_term): Handle SCRATCH.
4302
d03f7e44
MK
43032015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
4304
4305 * config/aarch64/aarch64.c
4306 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
4307 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
4308 * config/arm/arm.c
4309 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
4310 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
4311
25d1a5a7
AM
43122015-01-17 Alan Modra <amodra@gmail.com>
4313
4314 * cprop.c (do_local_cprop): Disallow replacement of fixed
4315 hard registers.
4316
a220c9da
KT
43172015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4318
4319 PR target/62066
4320 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
4321 early return 0.
4322
cbf9a566
BE
43232015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
4324
55d9ceab 4325 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
cbf9a566
BE
4326 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
4327
2a37d9d0
KT
43282015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4329
4330 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
4331 * config/arm/thumb1.md: ... Here.
4332
325df0eb
SB
43332015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
4334
4335 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
4336 TImode for TARGET_32BIT.
4337
77688d70
SB
43382015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
4339
4340 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
4341 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
4342 as ...
4343 (rs6000_abi_word_mode): New function.
4344
ed821220
SB
43452015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
4346
4347 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
4348 instead of UNITS_PER_WORD to describe the size of stack slots.
4349
42373118
SB
43502015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
4351
4352 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
4353 as rs6000_promote_function_mode. Move comment to there.
4354 (rs6000_promote_function_mode): New function.
4355
96922e4c
SB
43562015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
4357
4358 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
4359 -mpowerpc64 is active.
4360
ed22611a
IE
43612015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
4362
4363 PR middle-end/64353
4364 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
4365 virtuals on start.
4366
16ab99ba
JG
43672015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
4368
4369 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
4370 introduced in revision 219724.
4371
f2a03a72 43722015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
f84b87aa 4373 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
f2a03a72
KT
4374
4375 PR target/64263
4376 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
4377 destination is not a GP reg.
4378 (*movdi_aarch64): Likewise.
4379
8168ece0
DE
43802015-01-16 David Edelsohn <dje.gcc@gmail.com>
4381
4382 PR target/64623
4383 * config/rs6000/default64.h: Revert ISA change.
4384
666e8e06
RB
43852015-01-16 Richard Biener <rguenther@suse.de>
4386
4387 PR middle-end/64614
4388 * tree-ssa-uninit.c: Include tree-cfg.h.
4389 (MAX_SWITCH_CASES): New define.
4390 (convert_control_dep_chain_into_preds): Handle switch statements.
4391 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
4392 (normalize_one_pred_1): Do not split bit-manipulations.
4393 Record (x & CST).
4394
0399a8db
RB
43952015-01-16 Richard Biener <rguenther@suse.de>
4396
4397 PR tree-optimization/64568
4398 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
4399 complex load rewriting for TARGET_MEM_REFs.
4400
2a1dcf27
UB
44012015-01-16 Uros Bizjak <ubizjak@gmail.com>
4402
4403 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
4404
98d404be
MW
44052015-01-16 Matthew Wahab <matthew.wahab@arm.com>
4406
4407 PR target/64149
4408 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
4409 variable.
4410 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
4411 (aarch64_lra_p): Remove.
4412
06201ad5
IE
44132015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
4414
4415 PR target/64363
4416 * ipa-chkp.h (chkp_instrumentable_p): New.
4417 * ipa-chkp.c: Include tree-inline.h.
4418 (chkp_instrumentable_p): New.
4419 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
4420 Fix processing of not instrumentable functions.
4421 (chkp_versioning): Use chkp_instrumentable_p. Warn about
4422 not instrumentable functions.
4423 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
4424 chkp_instrumentable_p.
4425 * tree-inline.h (copy_forbidden): New.
4426 * tree-inline.c (copy_forbidden): Not static anymore.
4427
eb13ee31
RO
44282015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4429
4430 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
4431 ptr1, ptr2 unused.
4432
8b8e23de
RS
44332015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
4434
4435 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
4436 type OP_OUT to OP_INOUT.
4437
ece4d1ac
RS
44382015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
4439
4440 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
4441 (high x) y) to y if x and y have the same base.
4442
e0ae0288
JG
44432015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
4444
4445 * config/arm/cortex-a57.md: New.
4446 * config/aarch64/aarch64.md: Include it.
4447 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
4448 * config/aarch64/aarch64-tune.md: Regenerate.
4449
5f3bc026
ZC
44502015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
4451
4452 PR target/64015
4453 * ccmp.c (expand_ccmp_next): New function.
4454 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
4455 and compare insn sequence.
4456 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
4457 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
4458 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
4459 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
4460 (*ccmp_ior): Changed to ccmp_ior<mode>.
4461 (cmp<mode>): New pattern.
4462 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
4463 parameters.
4464 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
4465
3e362970
IT
44662015-01-16 Ilya Tocar <ilya.tocar@intel.com>
4467
4468 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
4469 _mm256_bsrli_epi128): New.
4470 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
4471
e623cedf
JW
44722015-01-15 Jiong Wang <jiong.wang@arm.com>
4473
4474 * expmed.c (store_bit_field_using_insv): Improve warning message.
4475 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
4476
4ae9783e
JW
44772015-01-15 Jiong Wang <jiong.wang@arm.com>
4478
4479 PR rtl-optimization/64011
4480 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
4481 there is partial overflow.
4482
d6529176
CJW
44832015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
4484
4485 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
4486 prototype.
4487 (nds32_expand_epilogue_v3pop): Likewise.
4488 * config/nds32/nds32.md (sibcall): Define this for sibling call
4489 optimization.
4490 (sibcall_register): Likewise.
4491 (sibcall_immediate): Likewise.
4492 (sibcall_value): Likewise.
4493 (sibcall_value_register): Likewise.
4494 (sibcall_value_immediate): Likewise.
4495 (sibcall_epilogue): Likewise.
4496 (epilogue): Pass false to indicate this is not a sibcall epilogue.
4497 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
4498 (nds32_expand_epilogue_v3pop): Likewise.
4499
03390cda
CJW
45002015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
4501
4502 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
4503 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
4504 (return_internal): New.
4505 (return): Define this named pattern.
4506 (simple_return): Define this named pattern.
4507 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
4508 pattern instead of unspec_volatile_func_return.
4509 (nds32_expand_epilogue_v3pop): Likewise.
4510 (nds32_can_use_return_insn): New function.
4511
aa2642ef
CJW
45122015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
4513
4514 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
4515 * config/nds32/nds32.md (pop25return): New.
4516 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
4517 pop25return pattern.
4518
f959367e
CJW
45192015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
4520
4521 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
4522 -mforbid-fp-as-gp, and -mex9 options.
4523
5a4ba50e
CJW
45242015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
4525
4526 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
4527 remove -mgp-direct option.
4528
3620b606 45292015-01-15 Jan Hubicka <hubicka@ucw.cz>
c8d7835b 4530
3620b606
JH
4531 * doc/invoke.texi (--param early-inlining-insns): Update default value.
4532 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
4533
52d36202
JH
45342015-01-15 Jan Hubicka <hubicka@ucw.cz>
4535
4536 * ipa-inline.c (inline_small_functions): Work around hints
4537 cache issue.
4538
56314783
SL
45392015-01-15 Sandra Loosemore <sandra@codesourcery.com>
4540
4541 PR target/59710
4542 * doc/invoke.texi (Option Summary): Document new Nios II
4543 -mgpopt= syntax.
4544 (Nios II Options): Likewise.
4545 * config/nios2/nios2.opt: Add -mgpopt= option support.
4546 Modify existing -mgpopt and -mno-gpopt options to be aliases.
4547 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
4548 * config/nios2/nios2.c (nios2_option_override): Adjust
4549 -mgpopt defaulting.
4550 (nios2_in_small_data_p): Return true for explicit small data
4551 sections even with -G0.
4552 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
4553 option choices.
4554
8ccc8042
JH
45552015-01-15 Jan Hubicka <hubicka@ucw.cz>
4556
4557 PR ipa/64612
4558 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
4559 of comdat locals.
4560 (inline_call): Fix removal of aliases.
4561
35228ac7
JJ
45622015-01-15 Jakub Jelinek <jakub@redhat.com>
4563
4564 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
4565 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
4566 * opts.c (common_handle_option): Add -fsanitize=vptr.
4567 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
4568 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
4569 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
4570 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
4571 (ubsan_expand_vptr_ifn): New prototype.
4572 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
4573 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
4574 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
4575 expand_LOOP_VECTORIZED): Make argument nameless, remove
4576 ATTRIBUTE_UNUSED.
4577 (expand_UBSAN_VPTR): New function.
4578 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
4579 in fn spec.
4580 (UBSAN_VPTR): New internal function.
4581 * sanopt.c (tree_map_traits): Renamed to ...
4582 (sanopt_tree_map_traits): ... this.
4583 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
4584 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
4585 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
4586 (maybe_optimize_ubsan_vptr_ifn): New function.
4587 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
4588 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
4589 -fsanitize=vptr.
4590 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
4591 internal calls like pure functions for aliasing, even when they
4592 have other side-effects that prevent making them ECF_PURE.
4593 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
4594 (ubsan_expand_vptr_ifn): New function.
4595
d1457701
VM
45962015-01-15 Vladimir Makarov <vmakarov@redhat.com>
4597
4598 PR rtl-optimization/64110
4599 * stmt.c (parse_output_constraint): Process '^' and '$'.
4600 (parse_input_constraint): Ditto.
4601 * lra-constraints.c (process_alt_operands): Process the new
4602 constraints.
4603 * ira-costs.c (record_reg_classes): Process the new constraint
4604 '^'.
4605 * genoutput.c (indep_constraints): Add '^' and '$'.
4606 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
4607 * doc/md.texi: Add description of the new constraints.
4608
41dbbb37
TS
46092015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4610 Bernd Schmidt <bernds@codesourcery.com>
4611 Cesar Philippidis <cesar@codesourcery.com>
4612 James Norris <jnorris@codesourcery.com>
4613 Tom de Vries <tom@codesourcery.com>
4614 Ilmir Usmanov <i.usmanov@samsung.com>
4615 Dmitry Bocharnikov <dmitry.b@samsung.com>
4616 Evgeny Gavrin <e.gavrin@samsung.com>
4617 Jakub Jelinek <jakub@redhat.com>
4618
4619 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
4620 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
4621 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
4622 New function types.
4623 * builtins.c: Include "gomp-constants.h".
4624 (expand_builtin_acc_on_device): New function.
4625 (expand_builtin, is_inexpensive_builtin): Handle
4626 BUILT_IN_ACC_ON_DEVICE.
4627 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
4628 New macros.
4629 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
4630 flag_openmp.
4631 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
4632 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
4633 i386/intelmic-offload.h.
4634 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
4635 to libgomp and its dependencies.
4636 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
4637 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
4638 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
4639 * config/ia64/hpux.h (LIB_SPEC): Likewise.
4640 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
4641 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
4642 * doc/generic.texi: Update for OpenACC changes.
4643 * doc/gimple.texi: Likewise.
4644 * doc/invoke.texi: Likewise.
4645 * doc/sourcebuild.texi: Likewise.
4646 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
4647 GF_OMP_FOR_KIND_OACC_LOOP.
4648 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
4649 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
4650 GF_OMP_TARGET_KIND_OACC_UPDATE,
4651 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
4652 Dump more data.
4653 * gimple.c: Update comments for OpenACC changes.
4654 * gimple.def: Likewise.
4655 * gimple.h: Likewise.
4656 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
4657 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
4658 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
4659 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
4660 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
4661 appropriate place.
4662 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
4663 * gimplify.c: Include "gomp-constants.h".
4664 Update comments for OpenACC changes.
4665 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
4666 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
4667 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
4668 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
4669 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
4670 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
4671 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
4672 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
4673 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
4674 OMP_CLAUSE_SEQ.
4675 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
4676 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
4677 OMP_CLAUSE_SET_MAP_KIND.
4678 (gimplify_oacc_cache): New function.
4679 (gimplify_omp_for): Handle OACC_LOOP.
4680 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
4681 OACC_DATA.
4682 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
4683 OACC_EXIT_DATA, OACC_UPDATE.
4684 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
4685 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
4686 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
4687 (gimplify_body): Consider flag_openacc next to flag_openmp.
4688 * lto-streamer-out.c: Include "gomp-constants.h".
4689 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
4690 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
4691 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
4692 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
4693 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
4694 (BUILT_IN_ACC_ON_DEVICE): New builtins.
4695 * omp-low.c: Include "gomp-constants.h".
4696 Update comments for OpenACC changes.
4697 (struct omp_context): Add reduction_map, gwv_below, gwv_this
4698 members.
4699 (extract_omp_for_data, use_pointer_for_field, install_var_field)
4700 (new_omp_context, delete_omp_context, scan_sharing_clauses)
4701 (create_omp_child_function, scan_omp_for, scan_omp_target)
4702 (check_omp_nesting_restrictions, lower_reduction_clauses)
4703 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
4704 Update for OpenACC changes.
4705 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
4706 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
4707 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
4708 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
4709 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
4710 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
4711 OMP_CLAUSE_MAP_*.
4712 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
4713 Handle GF_OMP_FOR_KIND_OACC_LOOP.
4714 (expand_omp_target, lower_omp_target): Handle
4715 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
4716 GF_OMP_TARGET_KIND_OACC_UPDATE,
4717 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
4718 GF_OMP_TARGET_KIND_OACC_DATA.
4719 (pass_expand_omp::execute, execute_lower_omp)
4720 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
4721 flag_openmp.
4722 (offload_symbol_decl): New variable.
4723 (oacc_get_reduction_array_id, oacc_max_threads)
4724 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
4725 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
4726 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
4727 (oacc_gimple_assign, oacc_initialize_reduction_data)
4728 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
4729 functions.
4730 (is_targetreg_ctx): Remove function.
4731 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
4732 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
4733 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
4734 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
4735 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
4736 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
4737 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
4738 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
4739 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
4740 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
4741 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
4742 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
4743 * tree-core.h: Update comments for OpenACC changes.
4744 (enum omp_clause_map_kind): Remove.
4745 (struct tree_omp_clause): Change type of map_kind member from enum
4746 omp_clause_map_kind to unsigned char.
4747 * tree-inline.c: Update comments for OpenACC changes.
4748 * tree-nested.c: Likewise. Include "gomp-constants.h".
4749 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
4750 (convert_tramp_reference_stmt, convert_gimple_call): Update for
4751 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
4752 OMP_CLAUSE_SET_MAP_KIND.
4753 * tree-pretty-print.c: Include "gomp-constants.h".
4754 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
4755 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
4756 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
4757 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
4758 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
4759 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
4760 instead of OMP_CLAUSE_MAP_*.
4761 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
4762 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
4763 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
4764 * tree-streamer-in.c: Include "gomp-constants.h".
4765 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
4766 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
4767 * tree-streamer-out.c: Include "gomp-constants.h".
4768 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
4769 OMP_CLAUSE_MAP_*.
4770 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
4771 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
4772 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
4773 * tree.c (omp_clause_num_ops): Update accordingly.
4774 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
4775 Likewise.
4776 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
4777 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
4778 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
4779 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
4780 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
4781 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
4782 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
4783 (OMP_CLAUSE_SET_MAP_KIND): New macro.
4784 * varpool.c (varpool_node::get_create): Consider flag_openacc next
4785 to flag_openmp.
4786 * config/i386/intelmic-offload.h: New file.
4787 * config/nvptx/offload.h: Likewise.
4788
548c43e7
PK
47892015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4790
4791 * explow.h: Remove duplicate contents.
4792 * dojump.h: Likewise.
4793
7c21d0ff
RE
47942015-01-15 Richard Earnshaw <rearnsha@arm.com>
4795
4796 * arm.c (arm_xgene_tune): Add default initializer for instruction
4797 fusion.
4798
c23127ce
ML
47992015-01-15 Jan Hubicka <hubicka@ucw.cz>
4800
4801 PR ipa/64068
4802 PR ipa/64559
4803 * ipa.c (symbol_table::remove_unreachable_nodes):
4804 Do not put abstract origins into boundary.
4805
40d54d24
ES
48062015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
4807
4808 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
4809 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
6fb5f2f5 4810
40d54d24 48112015-01-15 Steve Ellcey <sellcey@mips.com>
869b656c 4812
6fb5f2f5
SE
4813 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
4814 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
869b656c 4815 builtins.def, and chkp-builtins.def.
6fb5f2f5 4816
63e533ec 48172015-01-15 David Edelsohn <dje.gcc@gmail.com>
34a8f242
DE
4818
4819 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
4820 ISA 2.7 (POWER8).
4821
42c6b3ca
RB
48222015-01-15 Richard Biener <rguenther@suse.de>
4823
4824 PR tree-optimization/61743
4825 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
4826 information on PHIs for some simple cases.
4827
cd3246ea
PT
48282015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4829
4830 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
4831 Include xgene1.md.
4832 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
4833 * config/arm/arm-cores.def (xgene1): New entry.
4834 * config/arm/arm-tables.opt: Regenerate.
4835 * config/arm/arm-tune.md: Regenerate.
4836 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
4837
e9d5a1a0
YR
48382015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
4839
4840 * tree-if-conv.c: Include hash-map.h.
4841 (aggressive_if_conv): New variable.
4842 (fold_build_cond_expr): Add simplification of non-zero condition.
4843 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
4844 destination block is not always executed.
4845 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
4846 than two predecessors if AGGRESSIVE_IF_CONV is true.
4847 (if_convertible_stmt_p): Fix commentary.
4848 (all_preds_critical_p): New function.
4849 (has_pred_critical_p): New function.
4850 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
4851 BB can have more than two predecessors and all incoming edges can be
4852 critical.
4853 (predicate_bbs): Skip predication for loop exit block, use build2_loc
4854 to compute predicate for true edge.
4855 (find_phi_replacement_condition): Delete this function.
4856 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
4857 Allow interchange PHI arguments if EXTENDED is false.
4858 Change check that block containing reduction statement candidate
4859 is predecessor of phi-block since phi may have more than two arguments.
4860 (phi_args_hash_traits): New helper structure.
4861 (struct phi_args_hash_traits): New type.
4862 (phi_args_hash_traits::hash): New function.
4863 (phi_args_hash_traits::equal_keys): New function.
4864 (gen_phi_arg_condition): New function.
4865 (predicate_scalar_phi): Add handling of phi nodes with more than two
4866 arguments, delete COND and TRUE_BB arguments, insert body of
4867 find_phi_replacement_condition to predicate ordinary phi nodes.
4868 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
4869 delete call of find_phi_replacement_condition and invoke
4870 predicate_scalar_phi with two arguments.
4871 (insert_gimplified_predicates): Add assert that non-predicated block
4872 don't have statements to insert.
4873 (ifcvt_split_critical_edges): New function.
4874 (ifcvt_split_def_stmt): Likewise.
4875 (ifcvt_walk_pattern_tree): Likewise.
4876 (stmt_is_root_of_bool_pattern): Likewise.
4877 (ifcvt_repair_bool_pattern): Likewise.
4878 (ifcvt_local_dce): Likewise.
4879 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
4880 is copy of inner or outer loop force_vectorize field, invoke
4881 ifcvt_split_critical_edges, ifcvt_local_dce and
4882 ifcvt_repair_bool_pattern for aggressive if-conversion.
4883
a0f06fc9
PT
48842015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
4885
4886 * config/aarch64/aarch64.md: Include xgene1.md.
4887 * config/aarch64/xgene1.md: New file.
4888
381e27aa
PT
48892015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4890
4891 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
4892 xgene1 (APM XGene-1) core definition.
4893 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
4894 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
4895 * doc/invoke.texi: Document -mcpu=xgene1.
4896
f84b87aa 48972015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
36566b39
PK
4898
4899 * dojump.h: New header file.
4900 * explow.h: Likewise.
4901 * expr.h: Remove includes.
4902 Move expmed.c prototypes to expmed.h.
4903 Move dojump.c prototypes to dojump.h.
4904 Move alias.c prototypes to alias.h.
4905 Move explow.c prototypes to explow.h.
4906 Move calls.c prototypes to calls.h.
4907 Move emit-rtl.c prototypes to emit-rtl.h.
4908 Move varasm.c prototypes to varasm.h.
4909 Move stmt.c prototypes to stmt.h.
4910 (saved_pending_stack_adjust): Move to dojump.h.
4911 (adjust_address): Move to explow.h.
4912 (adjust_address_nv): Move to emit-rtl.h.
4913 (adjust_bitfield_address): Likewise.
4914 (adjust_bitfield_address_size): Likewise.
4915 (adjust_bitfield_address_nv): Likewise.
4916 (adjust_automodify_address_nv): Likewise.
4917 * explow.c (expr_size): Move to expr.c.
4918 (int_expr_size): Likewise.
4919 (tree_expr_size): Likewise.
4920 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
4921 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
f84b87aa
UB
4922 * genemit.c (main): Generate includes statistics.h, real.h,
4923 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
36566b39 4924 stmt.h.
f84b87aa
UB
4925 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
4926 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
4927 explow.h, emit-rtl.h, stmt.h.
36566b39
PK
4928 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
4929 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
f84b87aa
UB
4930 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
4931 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
4932 emit-rtl.h, varasm.h, stmt.h.
4933 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
4934 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
4935 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
4936 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
4937 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
36566b39
PK
4938 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
4939 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
4940 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
4941 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
4942 tm.h tree.h varasm.h vec.h wide-int.h.
4943 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4944 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
4945 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
4946 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
f84b87aa
UB
4947 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
4948 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
4949 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
36566b39 4950 * loop-iv.c: Likewise.
f84b87aa
UB
4951 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
4952 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
36566b39
PK
4953 statistics.h stmt.h tree.h varasm.h wide-int.h.
4954 * lra-constraints.c: Likewise.
4955 * lra-eliminations.c: Likewise.
4956 * lra-lives.c: Likewise.
4957 * lra-remat.c: Likewise.
4958 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4959 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
4960 statistics.h stmt.h tree.h varasm.h wide-int.h.
4961 * hw-doloop.c: Likewise.
4962 * ira-color.c: Likewise.
4963 * ira-emit.c: Likewise.
4964 * loop-doloop.c: Likewise.
4965 * loop-invariant.c: Likewise.
4966 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4967 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
4968 statistics.h stmt.h tree.h varasm.h wide-int.h.
f84b87aa
UB
4969 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
4970 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
4971 statistics.h stmt.h tree.h varasm.h wide-int.h.
36566b39
PK
4972 * combine-stack-adj.c: Likewise.
4973 * cse.c: Likewise.
4974 * ddg.c: Likewise.
4975 * ifcvt.c: Likewise.
4976 * ira-costs.c: Likewise.
4977 * jump.c: Likewise.
4978 * lra-coalesce.c: Likewise.
4979 * lra-spills.c: Likewise.
4980 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4981 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
4982 stmt.h varasm.h wide-int.h.
4983 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
4984 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
4985 varasm.h.
4986 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
4987 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
4988 statistics.h stmt.h varasm.h wide-int.h.
4989 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
4990 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
4991 varasm.h wide-int.h.
4992 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
4993 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
4994 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
4995 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
4996 statistics.h stmt.h.
4997 * config/tilepro/tilepro.c: Likewise.
4998 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
4999 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
5000 * config/pdp11/pdp11.c: Likewise.
5001 * config/xtensa/xtensa.c: Likewise.
5002 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
5003 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
5004 varasm.h.
5005 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5006 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
5007 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
5008 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5009 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
5010 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
5011 * rtl-chkp.c: Likewise.
5012 * tree-chkp-opt.c: Likewise.
f84b87aa
UB
5013 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
5014 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
5015 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
36566b39
PK
5016 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5017 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
5018 statistics.h stmt.h.
5019 * tree-vect-data-refs.c: Likewise.
5020 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
5021 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
5022 rtl.h statistics.h stmt.h varasm.h.
5023 * internal-fn.c: Likewise.
5024 * ipa-icf-gimple.c: Likewise.
5025 * lto-section-out.c: Likewise.
5026 * tree-data-ref.c: Likewise.
5027 * tree-nested.c: Likewise.
5028 * tree-outof-ssa.c: Likewise.
5029 * tree-predcom.c: Likewise.
5030 * tree-pretty-print.c: Likewise.
5031 * tree-scalar-evolution.c: Likewise.
5032 * tree-ssa-strlen.c: Likewise.
5033 * tree-vect-loop.c: Likewise.
5034 * tree-vect-patterns.c: Likewise.
5035 * tree-vect-slp.c: Likewise.
5036 * tree-vect-stmts.c: Likewise.
5037 * tsan.c: Likewise.
5038 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5039 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
5040 stmt.h.
5041 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
5042 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
5043 statistics.h stmt.h varasm.h.
5044 * loop-unroll.c: Likewise.
5045 * ubsan.c: Likewise.
5046 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
5047 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
5048 stmt.h varasm.h.
5049 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5050 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
5051 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
5052 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
5053 statistics.h stmt.h.
5054 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
5055 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
5056 statistics.h stmt.h varasm.h.
5057 * gimple-match-head.c: Likewise.
5058 * lto-cgraph.c: Likewise.
5059 * lto-section-in.c: Likewise.
5060 * lto-streamer-in.c: Likewise.
5061 * lto-streamer-out.c: Likewise.
5062 * tree-affine.c: Likewise.
5063 * tree-cfg.c: Likewise.
5064 * tree-cfgcleanup.c: Likewise.
5065 * tree-if-conv.c: Likewise.
5066 * tree-into-ssa.c: Likewise.
5067 * tree-ssa-alias.c: Likewise.
5068 * tree-ssa-copyrename.c: Likewise.
5069 * tree-ssa-dse.c: Likewise.
5070 * tree-ssa-forwprop.c: Likewise.
5071 * tree-ssa-live.c: Likewise.
5072 * tree-ssa-math-opts.c: Likewise.
5073 * tree-ssa-pre.c: Likewise.
5074 * tree-ssa-sccvn.c: Likewise.
5075 * tree-tailcall.c: Likewise.
5076 * tree-vect-generic.c: Likewise.
5077 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5078 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
5079 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5080 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
5081 * varasm.c: Likewise.
5082 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5083 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
5084 varasm.h.
5085 * init-regs.c: Likewise.
5086 * ira.c: Likewise.
5087 * omp-low.c: Likewise.
5088 * stack-ptr-mod.c: Likewise.
5089 * tree-ssa-reassoc.c: Likewise.
5090 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5091 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
5092 varasm.h.
5093 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5094 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
5095 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5096 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
5097 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5098 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
5099 * tree-ssa-phiopt.c: Likewise.
5100 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5101 fixed-value.h hashtab.h real.h statistics.h stmt.h.
5102 * config/fr30/fr30.c: Likewise.
5103 * config/frv/frv.c: Likewise.
5104 * expr.c: Likewise.
5105 * final.c: Likewise.
5106 * optabs.c: Likewise.
5107 * passes.c: Likewise.
5108 * simplify-rtx.c: Likewise.
5109 * stmt.c: Likewise.
5110 * toplev.c: Likewise.
5111 * var-tracking.c: Likewise.
5112 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5113 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
5114 * lower-subreg.c: Likewise.
5115 * postreload-gcse.c: Likewise.
5116 * ree.c: Likewise.
5117 * reginfo.c: Likewise.
5118 * store-motion.c: Likewise.
5119 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5120 fixed-value.h hashtab.h real.h stmt.h varasm.h.
5121 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5122 fixed-value.h hashtab.h statistics.h stmt.h.
5123 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5124 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
5125 * except.c: Likewise.
5126 * explow.c: Likewise.
5127 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5128 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
5129 varasm.h.
5130 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5131 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
5132 * tree-ssa-structalias.c: Likewise.
5133 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5134 fixed-value.h insn-config.h real.h statistics.h.
5135 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5136 fixed-value.h insn-config.h real.h statistics.h stmt.h.
5137 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5138 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
5139 * cfgbuild.c: Likewise.
5140 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5141 fixed-value.h real.h rtl.h statistics.h stmt.h.
5142 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5143 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
5144 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5145 fixed-value.h real.h statistics.h stmt.h.
5146 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
5147 fixed-value.h real.h statistics.h stmt.h varasm.h.
5148 * cprop.c: Likewise.
5149 * modulo-sched.c: Likewise.
5150 * postreload.c: Likewise.
5151 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
5152 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
5153 statistics.h stmt.h varasm.h.
5154 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
5155 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
5156 rtl.h statistics.h stmt.h varasm.h.
5157 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
5158 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
5159 varasm.h.
5160 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
5161 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
5162 varasm.h.
5163 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
5164 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
5165 varasm.h.
5166 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
5167 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
5168 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
5169 function.h real.h statistics.h stmt.h varasm.h.
5170 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
5171 insn-config.h real.h statistics.h stmt.h.
5172 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
5173 statistics.h stmt.h.
5174 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
5175 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
5176 statistics.h stmt.h varasm.h.
f84b87aa
UB
5177 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
5178 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
36566b39
PK
5179 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
5180 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
5181 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
5182 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
5183 statistics.h stmt.h varasm.h.
5184 * ipa-polymorphic-call.c: Likewise.
f84b87aa 5185 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
36566b39 5186 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
f84b87aa
UB
5187 statistics.h stmt.h.
5188 * config/c6x/c6x.c: Likewise.
5189 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
5190 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36566b39 5191 statistics.h stmt.h varasm.h.
f84b87aa
UB
5192 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
5193 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
5194 stmt.h varasm.h.
36566b39
PK
5195 * ipa-split.c: Likewise.
5196 * tree-eh.c: Likewise.
5197 * tree-ssa-dce.c: Likewise.
5198 * tree-ssa-loop-niter.c: Likewise.
5199 * tree-vrp.c: Likewise.
5200 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
5201 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
5202 stmt.h.
5203 * config/nds32/nds32-fp-as-gp.c: Likewise.
5204 * config/nds32/nds32-intrinsic.c: Likewise.
5205 * config/nds32/nds32-isr.c: Likewise.
5206 * config/nds32/nds32-md-auxiliary.c: Likewise.
5207 * config/nds32/nds32-memory-manipulation.c: Likewise.
5208 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
5209 * config/nds32/nds32-predicates.c: Likewise.
5210 * config/nds32/nds32.c: Likewise.
5211 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
5212 fixed-value.h hashtab.h real.h statistics.h.
5213 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
5214 fixed-value.h hashtab.h real.h statistics.h stmt.h.
5215 * config/arm/arm.c: Likewise.
5216 * config/avr/avr.c: Likewise.
5217 * config/bfin/bfin.c: Likewise.
5218 * config/h8300/h8300.c: Likewise.
5219 * config/i386/i386.c: Likewise.
5220 * config/ia64/ia64.c: Likewise.
5221 * config/iq2000/iq2000.c: Likewise.
5222 * config/m32c/m32c.c: Likewise.
5223 * config/m32r/m32r.c: Likewise.
5224 * config/m68k/m68k.c: Likewise.
5225 * config/mcore/mcore.c: Likewise.
5226 * config/mep/mep.c: Likewise.
5227 * config/mips/mips.c: Likewise.
5228 * config/mn10300/mn10300.c: Likewise.
5229 * config/moxie/moxie.c: Likewise.
5230 * config/pa/pa.c: Likewise.
5231 * config/rl78/rl78.c: Likewise.
5232 * config/rx/rx.c: Likewise.
5233 * config/s390/s390.c: Likewise.
5234 * config/sh/sh.c: Likewise.
5235 * config/sparc/sparc.c: Likewise.
5236 * config/spu/spu.c: Likewise.
5237 * config/stormy16/stormy16.c: Likewise.
5238 * config/v850/v850.c: Likewise.
5239 * config/vax/vax.c: Likewise.
5240 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
5241 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
5242 * config/msp430/msp430.c: Likewise.
5243 * predict.c: Likewise.
5244 * value-prof.c: Likewise.
5245 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
5246 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
5247 * config/microblaze/microblaze.c: Likewise.
5248 * config/nios2/nios2.c: Likewise.
5249 * config/rs6000/rs6000.c: Likewise.
5250 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
5251 insn-config.h real.h rtl.h statistics.h stmt.h.
5252 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
5253 insn-config.h real.h statistics.h stmt.h.
5254 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
5255 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
5256 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
5257 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
f84b87aa
UB
5258 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
5259 fixed-value.h real.h statistics.h stmt.h.
36566b39
PK
5260 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
5261 fixed-value.h statistics.h stmt.h.
5262 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
5263 stmt.h.
5264
e54bd4ab
JJ
52652015-01-15 Jakub Jelinek <jakub@redhat.com>
5266
5267 * gengtype.c (create_user_defined_type): Workaround
5268 -Wmaybe-uninitialized false positives.
5269 * cse.c (fold_rtx): Likewise.
5270 * loop-invariant.c (gain_for_invariant): Likewise.
5271
3aabdc00
EB
52722015-01-15 Eric Botcazou <ebotcazou@adacore.com>
5273
5274 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
5275 set the memory attributes in all cases but clear MEM_EXPR if need be.
5276
d2626c0b
YR
52772015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
5278
5279 PR tree-optimization/64434
5280 * cfgexpand.c (reorder_operands): New function.
5281 (expand_gimple_basic_block): Insert call of reorder_operands if
5282 optimized is true.
5283
2c3bcf47
MF
52842015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
5285
5286 * config/mips/micromips.md (*swp): Remove explicit parallel.
5287 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
5288 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
5289 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
5290 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
5291 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
5292 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
5293 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
5294 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
5295 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
5296 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
5297 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
5298 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
5299 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
5300 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
5301 (mips_wrdsp): Likewise.
5302 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
5303 parallel.
5304 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
5305 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
5306 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
5307 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
5308 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
5309 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
5310 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
5311 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
5312 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
5313
954bdd58
MF
53142015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
5315
5316 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
5317 (mips_print_operand): Support 'y' to print exact log2 in decimal
5318 of a const_int.
5319 * config/mips/mips.h (ISA_HAS_LSA): New define.
5320 (ISA_HAS_DLSA): Likewise.
5321 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
5322 * config/mips/predicates.md (const_immlsa_operand): New predicate.
5323
5e306f6e
ML
53242015-01-15 Martin Liska <mliska@suse.cz>
5325
5326 PR target/64377
5327 * optc-save-gen.awk: Add support for array types.
5328
d679e96b
RB
53292015-01-15 Richard Biener <rguenther@suse.de>
5330
5331 PR middle-end/64365
5332 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
5333 for MEM_REF access functions with the same base can never partially
5334 overlap.
5335
5434dc07
MD
53362015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5337
5338 * common.opt: New option -fstack-protector-explicit.
5339 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
5340 (stack_protect_decl_phase): Handle stack_protect attribute for
5341 explicit stack protection requests.
5342 (expand_used_vars): Similarly.
5343 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
5344 * doc/extend.texi: Add documentation for "stack_protect" attribute.
5345 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
5346
83e3f98b
OE
53472015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
5348
5349 PR target/53988
5350 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
5351 reg-reg copies.
5352 (sh_extending_set_of_reg): New struct.
5353 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
5354 sh_remove_reg_dead_or_unused_notes): New Declarations.
5355 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
5356 sh_find_extending_set_of_reg, sh_split_tst_subregs,
5357 sh_extending_set_of_reg::use_as_extended_reg): New functions.
5358 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
5359 convert to insn_and_split and use new function sh_split_tst_subregs.
5360
ce2c3163
SL
53612015-01-14 Sandra Loosemore <sandra@codesourcery.com>
5362
5363 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
5364 option.
5365 (Optimization Options): Move -fuse-ld documentation to...
5366 (Link Options): ...here.
5367
047b52f6
MF
53682015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
5369
5370 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
5371 offsets.
5372 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
5373 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
5374 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
5375 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
5376 instead of ZR for the memory operand of LL/SC.
5377 (compare_and_swap_12, sync_add<mode>): Likewise.
5378 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
5379 (sync_new_<optab>_12, sync_nand_12): Likewise.
5380 (sync_old_nand_12, sync_new_nand_12): Likewise.
5381 (sync_sub<mode>, sync_old_add<mode>): Likewise.
5382 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
5383 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
5384 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
5385 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
5386 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
5387 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
5388 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
5389 * doc/md.texi (ZC): Update description.
5390
77df5327
AM
53912015-01-14 Andrew MacLeod <amacleod@redhat.com>
5392
5393 * builtins.c (expand_builtin_atomic_exchange): Remove error when
5394 memory model is CONSUME.
5395 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
5396 expand_builtin_atomic_store): Change invalid memory model errors to
5397 warnings.
5398 (expand_builtin_atomic_clear): Change invalid model errors to warnings
5399 and issue warning for CONSUME.
5400
2ead7928
AH
54012015-01-14 Aldy Hernandez <aldyh@redhat.com>
5402
5403 * lto-cgraph: Update function comments for
5404 lto_symtab_encoder_encode_*.
5405
3b6e42f9
IV
54062015-01-14 Ilya Verbin <ilya.verbin@intel.com>
5407
5408 * Makefile.in (site.exp): Do not set ENABLE_LTO.
5409
837bac8c
IV
54102015-01-14 Ilya Verbin <ilya.verbin@intel.com>
5411
5412 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
5413 * lto-cgraph.c (select_what_to_stream): Remove argument, use
5414 lto_stream_offload_p instead.
5415 * lto-streamer.h (select_what_to_stream): Remove argument.
5416 * passes.c (ipa_write_summaries): Likewise.
5417 * tree-pass.h (ipa_write_summaries): Likewise.
5418
7ef95f9c
RB
54192015-01-14 Richard Biener <rguenther@suse.de>
5420
5421 PR tree-optimization/59354
5422 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
5423 groups larger than the slp group size as having gaps.
5424
8673b671
AM
54252015-01-14 Andrew MacLeod <amacleod@redhat.com>
5426
5427 PR middle-end/59448
5428 * builtins.c (get_memmodel): Promote consume to acquire always.
5429
2f6c116d 54302015-01-14 Ilya Tocar <ilya.tocar@intel.com>
4b54ab97
IT
5431
5432 PR target/64386
5433 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
c8d7835b 5434 V32HImode.
4b54ab97 5435
2f6c116d 54362015-01-14 Ilya Tocar <ilya.tocar@intel.com>
c67917b6
IT
5437
5438 PR target/64393
5439 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
5440 Enable AVX512BW.
5441 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
5442 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
5443 AVX512VBMI, as it implies AVX512BW.
5444
2f6c116d 54452015-01-14 Ilya Tocar <ilya.tocar@intel.com>
110b7886
IT
5446
5447 PR target/64387
5448 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
5449 (vec_unpacks_hi_v16sf): Ditto.
5450
2a62514f
KT
54512015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5452
5453 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
5454 is not available.
5455
3bbbd3ee
KT
54562015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5457
5458 * doc/invoke.texi (mapcs): Mention deprecation.
5459 (mapcs-frame): Likewise.
5460
6f0a6218
TP
54612015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
5462
5463 PR target/64453
5464 * config/arm/arm.c (callee_saved_reg_p): Define.
5465 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
5466 register is callee saved instead of !call_used_regs[reg].
5467 (thumb1_compute_save_reg_mask): Likewise.
5468
6af2585d
HW
54692015-01-14 Hale Wang <hale.wang@arm.com>
5470
5471 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
5472 Cortex-M7.
5473
683750ce
RB
54742015-01-14 Richard Biener <rguenther@suse.de>
5475
5476 PR lto/64415
5477 * tree-inline.c (insert_debug_decl_map): Check destination
5478 function MAY_HAVE_DEBUG_STMTS.
5479 (insert_init_debug_bind): Likewise.
5480 (insert_init_stmt): Remove redundant check.
5481 (remap_gimple_stmt): Drop debug stmts if the destination
5482 function has var-tracking assignments disabled.
5483
217c08c5
ML
54842015-01-14 Martin Liska <mliska@suse.cz>
5485
5486 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
5487 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
5488
ca39a43a
KT
54892015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5490
5491 PR target/64460
5492 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
5493 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
5494
fcd7669c
MF
54952015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
5496
622ef5da
MF
5497 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
5498 level from an ARCH; do not inject the default.
5499 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
5500 MIPS_ISA_LEVEL_SPEC.
5501 (MIPS_ISA_NAN2008_SPEC): Update comment.
5502 (BASE_DRIVER_SELF_SPECS): Likewise.
5503 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
5504 MIPS_DEFAULT_ISA_LEVEL_SPEC.
5505 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
5506 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
5507 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
fcd7669c 5508
46b622cc
RB
55092015-01-14 Richard Biener <rguenther@suse.de>
5510
5511 PR tree-optimization/64493
5512 PR tree-optimization/64495
5513 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
5514 assign the proper vectorized PHI to the inner loop exit PHIs.
5515
f7d2b513
JY
55162015-01-14 Joey Ye <joey.ye@arm.com>
5517
5518 * config/arm/arm.c (arm_compute_save_reg_mask):
5519 Do not save lr in case of tail call.
5520 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
5521
63e533ec 55222015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
5523
5524 * tree-vrp.c (check_array_ref): Emit more warnings
5525 for warn_array_bounds >= 2.
5526 * common.opt: New option -Warray-bounds=.
5527 * doc/invoke.texi: Document -Warray-bounds=.
5528
2ca1ca65
CJW
55292015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
5530
5531 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
5532 (mforbid-fp-as-gp): Remove.
5533 (mex9): Remove.
5534 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
5535 (nds32_symbol_load_store_p): Remove.
5536 (nds32_fp_as_gp_check_available): Clean up implementation.
5537 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
5538 cases.
5539 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
5540 fp-as-gp and ex9 cases.
5541
c02ae3ae
JH
55422015-01-13 Jan Hubicka <hubicka@ucw.cz>
5543
5544 * tree-profile.c (init_ic_make_global_vars): Drop workaround
5545 for bintuils bug 14342.
5546 (init_ic_make_global_vars): Likewise.
5547 (gimple_init_edge_profiler): Likewise.
5548 (gimple_gen_ic_func_profiler): Likewise.
5549
f7d2b513 55502015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
9e145afd
N
5551
5552 * ipa-inline.c (inline_small_functions): Swap the operands in
5553 enum.
5554
0d92b555
JH
55552015-01-13 Jan Hubicka <hubicka@ucw.cz>
5556
5557 PR ipa/64481
5558 * ipa-inline-analysis.c (node_growth_cache): Remove.
5559 (initialize_growth_caches): Do not initialize it.
5560 (free_growth_caches): Do not free it.
5561 (do_estimate_growth): Rename to ...
5562 (estimate_growth): ... this one; drop growth cache code.
5563 (growth_likely_positive): Always go the heuristics way.
5564 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
5565 (reset_edge_caches): Do not reset node growth.
5566 (heap_edge_removal_hook): Do not maintain cache.
5567 (inline_small_functions): Likewise; strenghten sanity check.
5568 (ipa_inline): Do not maintain caches.
5569 * ipa-inline.h (node_growth_cache): Remove.
5570 (do_estimate_growth): Remove to ...
5571 (estimate_growth): this one; remove inline version.
5572 (reset_node_growth_cache): Remove.
5573
2001028a
JH
55742015-01-13 Jan Hubicka <hubicka@ucw.cz>
5575
5576 PR ipa/64565
5577 * ipa-inline.c (inline_small_functions): Update callee keys after
5578 resolving speculation
5579 (inline_small_functions): Always check monotonicity of the queue.
5580
59b8926c
MP
55812015-01-13 Marek Polacek <polacek@redhat.com>
5582
5583 PR middle-end/64391
5584 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
5585
860dadcb
JJ
55862015-01-13 Jakub Jelinek <jakub@redhat.com>
5587
5588 PR rtl-optimization/64286
5589 * ree.c (combine_reaching_defs): Move part of comment earlier,
5590 remove !SCALAR_INT_MODE_P check.
5591 (add_removable_extension): Don't add vector mode
5592 extensions if all uses of the source register aren't the same
5593 vector extensions.
5594
41197ad4
RL
55952015-01-13 Renlin Li <renlin.li@arm.com>
5596
5597 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
5598 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
5599
eaabbb00
ML
56002015-01-13 Martin Liska <mliska@suse.cz>
5601
5602 * ipa-icf.c (sem_function::equals_private): Call new functions
5603 cl_target_option_print_diff and cl_optimization_print_diff.
5604 * optc-save-gen.awk (cl_target_option_print_diff): New function.
5605 (cl_optimization_print_diff): Likewise.
5606 * opth-gen.awk: Likewise.
5607
7eb8fb77
RS
56082015-01-13 Richard Sandiford <richard.sandiford@arm.com>
5609
5610 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
5611 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
5612 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
5613 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
5614 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
5615 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
5616
1f46bd52
AP
56172015-01-13 Andrew Pinski <apinski@cavium.com>
5618
5619 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
c8d7835b 5620 instead of src mode.
1f46bd52 5621
e0ffb247
RB
56222015-01-13 Richard Biener <rguenther@suse.de>
5623
5624 PR lto/64373
5625 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
5626 DECL_CONTEXT.
5627
bf84ac44
AP
56282015-01-13 Andrew Pinski <apinski@cavium.com>
5629
5630 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
5631 volatile mems.
5632 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
5633
08cb0abc
JJ
56342015-01-13 Jakub Jelinek <jakub@redhat.com>
5635
5636 PR middle-end/63974
5637 * cfgexpand.c (expand_computed_goto): Don't call
5638 convert_memory_address here.
5639
d0ed943c
RB
56402015-01-13 Richard Biener <rguenther@suse.de>
5641
5642 PR tree-optimization/64406
5643 * tree-loop-distibution.c (pass_loop_distribution::execute):
5644 Reset the SCEV hashtable if we distributed anything.
5645
96bb56b2
RB
56462015-01-13 Richard Biener <rguenther@suse.de>
5647
5648 PR tree-optimization/64404
5649 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
5650 SLP types for CSEd loads.
5651
af410c4c
TP
56522015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
5653
5654 PR tree-optimization/64436
5655 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
5656 merge of two symbolic numbers for a bitwise OR to ...
5657 (perform_symbolic_merge): This. Also fix computation of the range and
5658 end of the symbolic number corresponding to the result of a bitwise OR.
5659
63e533ec 56602015-01-13 Richard Biener <rguenther@suse.de>
a2d429ac
RB
5661
5662 PR tree-optimization/64568
5663 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
5664 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
5665
4855be84
CJW
56662015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
5667
5668 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
5669 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
5670
511a41d7
CJW
56712015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
5672
5673 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
5674 target-specific symbol_ref flag.
5675 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
5676 resides in rodata section.
5677 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
5678 (nds32_encode_section_info): New function.
5679
1f7b8028
CJW
56802015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
5681
5682 * config/nds32/nds32.md (call): Use pseudo instruction bal which
5683 clobbers TA_REGNUM if large code model is specified.
5684 (call_register): Likewise.
5685 (call_immediate): Likewise.
5686 (call_value): Likewise.
5687 (call_value_register): Likewise.
5688 (call_value_immediate): Likewise.
5689
77b7a1ca
CJW
56902015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
5691
5692 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
5693 (TARGET_CMODEL_MEDIUM): New macro.
5694 (TARGET_CMODEL_LARGE): New macro.
5695 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
5696 code model setting in assembly code.
5697
c9eb51a7
CJW
56982015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
5699
5700 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
5701 Remove MASK_GP_DIRECT flag.
5702 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
5703 one of the multilib default options.
5704 * config/nds32/nds32.opt (mgp-direct): Remove.
5705 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
5706 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
5707
fe4c07dc
CJW
57082015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
5709
5710 * config/nds32/nds32.opt (mcmodel): Add new option.
5711 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
5712 to describe code model.
5713
d9a5f0cc
OE
57142015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
5715
5716 PR target/64479
5717 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
5718
801881b0
KK
57192015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
5720
5721 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
5722 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
5723 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
5724 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
5725 __builtin_sh_set_fpscr.
5726
16ba6203
SL
57272015-01-12 Sandra Loosemore <sandra@codesourcery.com>
5728
5729 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
5730 after a funtion name just to indicate it is a function.
5731 ([-fsanitize-undefined-trap-on-error]): Likewise.
5732 ([-fdbg-cnt=]): Likewise.
5733 ([-mmemcpy]): Likewise.
5734 ([-mflush-func]): Likewise.
5735 ([-msynci]): Likewise.
5736
3ae79bfd
SL
57372015-01-12 Sandra Loosemore <sandra@codesourcery.com>
5738
5739 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
5740 example.
c8d7835b 5741
aadb701b
JJ
57422015-01-12 Jakub Jelinek <jakub@redhat.com>
5743
737fde1d
JJ
5744 PR tree-optimization/64563
5745 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
5746 instead of != VR_VARYING.
5747
631b8d78
JJ
5748 PR target/64513
5749 * config/i386/i386.c (ix86_expand_prologue): Add
5750 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
5751
f51286f2
JJ
5752 PR tree-optimization/64454
5753 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
5754 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
5755 for signed or [0, op1 - 1] for unsigned modulo.
5756 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
5757 even if op1 does not satisfy integer_pow2p.
5758
aadb701b
JJ
5759 PR other/64370
5760 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
5761
f698a4b1
JL
57622015-01-12 Jeff Law <law@redhat.com>
5763
cfd02f69 5764 PR target/64461
1481bdb1
JL
5765 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
5766 (trunchiqi2, truncsihi2): Similarly.
5767
f698a4b1
JL
5768 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
5769 rather than calling F.
5770
020ca950
BE
57712015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
5772
5773 * tsan.c (instrument_expr): Use force_gimple_operand.
5774 Use may_be_nonaddressable_p instead of is_gimple_addressable.
5775
62e22fcb
RB
57762015-01-12 Richard Biener <rguenther@suse.de>
5777
5778 PR tree-optimization/64530
5779 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
5780 back dr1.
5781
2a58c802
RB
57822015-01-12 Richard Biener <rguenther@suse.de>
5783
5784 PR middle-end/64357
5785 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
5786 latches properly.
5787
82ac9e41
KT
57882015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5789
5790 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
5791 Cortex-A17 tuning parameters.
5792 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
5793
8b898d4c
KT
57942015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5795
5796 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
5797 * config/arm/arm.c (arm_macro_fusion_p): New function.
5798 (arm_macro_fusion_pair_p): Likewise.
5799 (TARGET_SCHED_MACRO_FUSION_P): Define.
5800 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
5801 (ARM_FUSE_NOTHING): Likewise.
5802 (ARM_FUSE_MOVW_MOVT): Likewise.
5803 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
5804 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
5805 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
5806 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
5807 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
5808 arm_cortex_a5_tune): Specify fuseable_ops value.
5809
7b3592ee
L
58102015-01-12 H.J. Lu <hongjiu.lu@intel.com>
5811
5812 PR bootstrap/64561
5813 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
5814 test for PIE with copy reloc.
5815 * configure: Regenerated.
5816
57ceb728 58172015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
03d5d16a
KT
5818
5819 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
5820 in gen_rtx_REG.
5821 (arm_tls_descseq_addr): Likewise.
5822 (arm_gen_movmemqi): Likewise.
5823 (arm_expand_epilogue_apcs_frame): Likewise.
5824 (arm_expand_epilogue): Likewise.
5825 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
5826 in gen_rtx_REG.
5827
365536ca
ML
58282015-01-12 Martin Liska <mliska@suse.cz>
5829
5830 PR ipa/64550
5831 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
5832 volatility for correct operands.
5833
58342015-01-12 Martin Liska <mliska@suse.cz>
5835
5836 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
5837 that a function is not leaf.
5838 (sem_function::compare_polymorphic_p): Likewise.
5839
1c928ddc
ML
58402015-01-12 Martin Liska <mliska@suse.cz>
5841
5842 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
5843 that a function is not leaf.
5844 (sem_function::compare_polymorphic_p): Likewise.
5845
76478bf9
PK
58462015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5847
5848 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
5849 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
5850 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
5851 fold-const.h, tree-check.h.
5852
208e5afa
JH
58532015-01-12 Jan Hubicka <hubicka@ucw.cz>
5854
5855 PR ipa/63967
5856 PR ipa/64425
5857 * ipa-inline.c (compute_uninlined_call_time,
5858 compute_inlined_call_time): Use counts for extra precision when
5859 needed possible.
5860 (big_speedup_p): Fix formating.
5861 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
5862 (relative_time_benefit): Remove.
5863 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
5864 merge guessed and read profile paths.
5865 (inline_small_functions): Count only !optimize_size functions into
5866 initial size; be more lax about sanity check when profile is used;
5867 be sure to update inlined function profile when profile is read.
5868
d8d5aef1
JH
58692015-01-12 Jan Hubicka <hubicka@ucw.cz>
5870
5871 PR ipa/63470
5872 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
5873 cost when edge becomes direct.
5874 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
5875 is resolved or when introducing new speculation.
5876
9f54bf9c
CG
58772015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
5878
9f54bf9c
CG
5879 PR ipa/64551
5880 PR ipa/64552
5881 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
5882 '||' to fix typo issue.
5883
5884 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
5885 accept and return NULL.
5886
90988f77
ML
58872015-01-12 Martin Liska <mliska@suse.cz>
5888
5889 * cgraph.c (cgraph_edge::remove_callee): Move function to header
5890 file for being inlined.
5891 (cgraph_set_edge_callee): Delete.
5892 (cgraph_edge::redirect_callee): Move function to header file
5893 for being inlined.
5894 (cgraph_edge::make_direct): Use new function.
5895 (cgraph_edge::dump_edge_flags): New function created from
5896 static dump_edge_flags function.
5897 (cgraph_node::dump): Use new function.
5898 (cgraph_edge::verify_count_and_frequency): New function created
5899 from verify_edge_count_and_frequency.
5900 (cgraph_edge::verify_corresponds_to_fndecl): New function created
5901 from verify_edge_corresponds_to_fndecl.
5902 (verify_edge_corresponds_to_fndecl): Delete.
5903 (cgraph_node::verify_node): Use new function.
5904 * cgraph.h (cgraph_edge::set_callee): New function.
5905 (cgraph_edge::dump_edge_flags): Likewise.
5906 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
5907
e3bde69a
JH
59082015-01-11 Jan Hubicka <hubicka@ucw.cz>
5909
5910 * ipa-utils.c (estimate_function_body_sizes): Do not
5911 free node params when called late with early=true.
5912
2f9d3709
JG
59132015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
5914
5915 * doc/md.texi (Instruction Patterns): Rewrite text for
5916 clarity.
5917 (Example): Likewise.
5918
abaab34f
SL
59192015-01-10 Sandra Loosemore <sandra@codesourcery.com>
5920
5921 * doc/invoke.texi (Option Summary): Break long lines.
5922 [(-fdiagnostics-color)]: Put long literal in @smallexample
5923 instead of inline.
5924 [(-fsanitize-recover)]: Likewise.
5925 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
5926 [(-ffast-math)]: Likewise.
5927 [(--param max-inline-insns-recursive)]: Likewise.
5928 [(--param max-inline-recursive-depth)]: Likewise.
5929 [(-mno-text-section-literals)]: Likewise.
c8d7835b 5930
f1f3453e
TS
59312015-01-10 Thomas Schwinge <thomas@codesourcery.com>
5932
5933 * doc/install.texi: Update for libgomp being renamed from "GNU
5934 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
5935 Runtime Library".
5936 * doc/sourcebuild.texi: Likewise.
5937
b10b03c4
AG
59382015-01-10 Anthony Green <green@moxielogic.com>
5939
5940 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
5941 mul.x availability for moxiebox configuration.
5942
6085e66e
AG
59432015-01-09 Anthony Green <green@moxielogic.com>
5944
5945 * config/moxie/moxie.md: Tabify assembly output.
5946
1d763aec
AG
59472015-01-09 Anthony Green <green@moxielogic.com>
5948
5949 * config/moxie/moxie.md (CC_REG): Correct register definition.
5950
c608d704
SL
59512015-01-09 Sandra Loosemore <sandra@codesourcery.com>
5952
5953 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
5954 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
5955 of log files.
5956
5357406f
AT
59572015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
5958
5959 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
5960
1b34e6e2
BS
59612015-01-09 Bernd Schmidt <bernds@codesourcery.com>
5962 Jakub Jelinek <jakub@redhat.com>
5963
5964 PR middle-end/64412
5965 * lto-streamer.h (lto_stream_offload_p): New declaration.
5966 * lto-streamer.c (lto_stream_offload_p): New variable.
5967 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
5968 at the same time as section_name_prefix.
5969 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
5970 if lto_stream_offload_p.
5971 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
5972 stream TREE_TARGET_OPTION if lto_stream_offload_p.
5973 (write_ts_function_decl_tree_pointers): Don't
5974 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
5975 * tree-streamer-in.c (unpack_value_fields): Don't stream
5976 TREE_TARGET_OPTION in if ACCEL_COMPILER.
5977 (lto_input_ts_function_decl_tree_pointers): Don't stream
5978 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
5979 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
5980 instead of section_name_prefix string comparisons.
5981
adfac8df
JJ
59822015-01-09 Jakub Jelinek <jakub@redhat.com>
5983
5984 PR rtl-optimization/64536
5985 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
5986 tablejumps.
5987
40e23961 59882015-01-09 Michael Collison <michael.collison@linaro.org>
adfac8df 5989
a89bd7d2
JH
5990 PR tree-optimization/64322
5991 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
5992 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
5993
486b97f2
TV
59942015-01-09 Tom de Vries <tom@codesourcery.com>
5995
5996 PR rtl-optimization/64539
5997 * regcprop.c (kill_clobbered_values): Factor out of ...
5998 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
5999 instead of note_stores with kill_clobbered_value.
6000
4c470097
AT
60012015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
6002
6003 * ginclude/unwind-arm-common.h: Revert previous commit.
6004
82a19768
AT
60052015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
6006
6007 * config.gcc (arm*-*-freebsd*): New configuration.
6008 * config/arm/freebsd.h: New file.
6009 * config.host: Add extra components for arm*-*-freebsd*.
6010 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
6011 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
6012
887974fd
SH
60132015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6014
6015 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
6016 for -mcpu=e6500.
6017 * config/rs6000/t-rtems: Add e6500 multilibs.
6018
3bfc2fa3
SH
60192015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6020
6021 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
6022 MPC8540.
6023
02f6062b
SH
60242015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6025
6026 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
6027 MULTILIB_EXCEPTIONS.
6028
2f2eb5ad
SH
60292015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6030
6031 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
6032 MULTILIB_EXCEPTIONS.
6033
5be0a29b
SH
60342015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6035
6036 * config/arm/t-rtems-eabi: Rename to...
6037 * config/arm/t-rtems: ...this.
6038 * config/arm/rtems-eabi.h: Rename to...
6039 * config/arm/rtems.h: ...this.
6040 * config.gcc (arm*-*-rtems*): Reflect changes above.
6041
2f278249
RB
60422015-01-09 Richard Biener <rguenther@suse.de>
6043
6044 PR tree-optimization/64410
6045 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
6046 on the LHS.
6047 (execute_update_addresses_taken): Deal with that.
6048 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
6049 loads/stores for complex variables.
6050
520b3022
ML
60512015-01-09 Martin Liska <mliska@suse.cz>
6052
6053 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
6054 name comparison.
6055 (func_checker::compare_memory_operand): New function.
6056 (func_checker::compare_operand): Split case to newly
6057 added functions.
6058 (func_checker::compare_cst_or_decl): New function.
6059 (func_checker::compare_gimple_call): Identify
6060 memory operands.
6061 (func_checker::compare_gimple_assign): Likewise.
6062 * ipa-icf-gimple.h: New function.
6063
ce9401b4
ML
60642015-01-09 Martin Liska <mliska@suse.cz>
6065
6066 PR ipa/64503
6067 * sreal.c (sreal::dump): Change unsigned format to signed for
6068 m_exp value.
6069 (sreal::to_double): Replace exp2 with scalbln.
6070
3f9f4ae7
ML
60712015-01-09 Martin Liska <mliska@suse.cz>
6072
6073 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
6074 * ipa-icf.c (sem_function::equals_private): Add support for target and
6075 (sem_item_optimizer::merge_classes): Remove redundant function
6076 optimization flags comparison.
6077 * tree.h (target_opts_for_fn): New function.
6078
56f6033d
TV
60792015-01-09 Tom de Vries <tom@codesourcery.com>
6080
6081 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
6082
c61fe0cc
KC
60832015-01-09 Kito Cheng <kito@0xlab.org>
6084
6085 PR rtl-optimization/64348
6086 * lra-constraints.c (split_reg): Fix caller-save store/restore
6087 instruction generation.
6088
e608ef6d
JDA
60892015-01-08 John David Anglin <danglin@gcc.gnu.org>
6090
6091 PR gcov-profile/61790
6092 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
6093 long long. Fallback to int64_t if host doesn't have long long and
6094 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
6095
57534689
JJ
60962015-01-08 Jakub Jelinek <jakub@redhat.com>
6097
204a913b
JJ
6098 PR tree-optimization/63989
6099 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
6100 from 1000 to 10000.
6101 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
6102 (get_stridx): If we don't have a record for certain SSA_NAME,
6103 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
6104 constant offset, call get_stridx_plus_constant.
6105 (get_stridx_plus_constant): New function.
6106 (zero_length_string): Don't use get_stridx here.
6107
57534689
JJ
6108 PR target/55023
6109 PR middle-end/64388
6110 * dse.c (struct insn_info): Mention frame_read set also
6111 before reload for tail calls on some targets.
6112 (scan_insn): Revert 2014-12-22 change. Set frame_read
6113 also before reload for tail calls if
6114 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
6115 instead of add_non_frame_wild_read for non-const/memset
6116 tail calls after reload.
6117
f5481fc4
JM
61182015-01-08 Jason Merrill <jason@redhat.com>
6119
6120 * ubsan.c (do_ubsan_in_current_function): New.
6121 (pass_ubsan::gate): Use it.
6122 * ubsan.h: Declare it.
6123 * convert.c (convert_to_integer): Use it.
6124
efa7df3c
JJ
61252015-01-08 Jakub Jelinek <jakub@redhat.com>
6126
6127 PR target/64338
6128 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
6129 compare_code when it is unconditionally overwritten afterwards.
6130 Use ix86_reverse_condition instead of reverse_condition. Don't
6131 change code if *reverse_condition* returned UNKNOWN and don't
6132 swap ct/cf and negate diff in that case.
6133
de35aa66
MS
61342015-01-08 Mike Stump <mikestump@comcast.net>
6135
6136 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
6137 (pass_tsan_O0::gate): Likewise.
6138 * extend.texi (Function Attributes): Add no_sanitize_thread
6139 documentation.
6140
4f929d9d
TS
61412015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6142
45f46750
TS
6143 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
6144 for registering builtins.
6145 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
6146 add -fopenmp to the argv_obstack used when invoking
6147 compile_for_target.
6148
4f929d9d
TS
6149 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
6150 add "-m32" or "-m64" to argv_obstack.
6151 (generate_host_descr_file): Likewise, when invoking host_compiler.
6152 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
6153 ld.
6154
3b140613
OE
61552015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
6156
6157 * config/sh/sh-mem.cc: Use constant as second operand when emitting
6158 tstsi_t insns.
6159
3aa8dfe3
OE
61602015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
6161
6162 PR target/55212
6163 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
6164 constant load if constant operand fits into I08.
6165
bd84df18
JJ
61662015-01-08 Jakub Jelinek <jakub@redhat.com>
6167
6168 PR sanitizer/64336
6169 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
6170 and TREE_THIS_VOLATILE for MEM_REFs.
6171 (build5_stat): Fix up initialization of TREE_READONLY and
6172 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
6173
ae6b8666
KK
61742015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
6175
6176 PR target/64533
6177 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
6178 of r for the second alternative of the destination operand.
6179
946695b7
SB
61802015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
6181
6182 PR target/36557
6183 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
6184
317991c9
SL
61852015-01-07 Sandra Loosemore <sandra@codesourcery.com>
6186
6187 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
6188 keywords.
6189 ([-fivar-visibility], [-fvisibility]): Likewise.
6190
429805d2
SL
61912015-01-07 Sandra Loosemore <sandra@codesourcery.com>
6192
6193 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
6194 the file where @code, @command, etc is more appropriate.
6195
0e905f0f
SL
61962015-01-06 Sandra Loosemore <sandra@codesourcery.com>
6197
6198 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
6199 of -mrecip= documentation.
6200
512ef949
MM
62012015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
6202
6203 PR target/64505
6204 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
6205 correct reload handler if -m32 -mpowerpc64 is used.
6206
f0cbb0af
TV
62072015-01-06 Tom de Vries <tom@codesourcery.com>
6208
6209 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
6210
6a6b03ba
CB
62112015-01-08 Christian Bruel <christian.bruel@st.com>
6212
6213 PR target/64507
6214 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
6215
e4a57350
TP
62162015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
6217
6218 PR tree-optimization/63259
6219 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
6220 if optab exists for 16bit byteswap.
6221
fb153d02
JJ
62222015-01-06 Jakub Jelinek <jakub@redhat.com>
6223
6224 * opts.c (common_handle_option): Add support for
6225 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
6226 * doc/invoke.texi: Document -fno-sanitize=all,
6227 -f{,no-}sanitize-recover=all. Document that
6228 -fsanitize=float-cast-overflow is not enabled
6229 by -fsanitize=undefined. Fix up documentation
6230 of -f{,no-}sanitize-recover.
6231
0969ec7d
EB
62322015-01-06 Eric Botcazou <ebotcazou@adacore.com>
6233
6234 * config.gcc: Add Visium support.
6235 * configure.ac: Likewise.
6236 * configure: Regenerate.
6237 * doc/extend.texi (interrupt attribute): Add Visium.
6238 * doc/invoke.texi: Document Visium options.
6239 * doc/install.texi: Document Visium target.
6240 * doc/md.texi: Document Visium constraints.
6241 * common/config/visium: New directory.
6242 * config/visium: Likewise.
6243
31dd2a86
SB
62442015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
6245
6246 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
6247 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
6248
2f48c66c
SB
62492015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
6250
6251 * combine.c (combine_validate_cost): Do not count the cost of a
6252 split I2 twice. Do not display it twice in the dump, either.
6253
0964f845
SL
62542015-01-05 Sandra Loosemore <sandra@codesourcery.com>
6255
6256 Revert parts of r219199.
6257 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
6258 <inttypes.h>.
6259 ([-Wtraditional]): Restore markup on <limits.h>.
6260
2f42e5de
TS
62612015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6262
6263 PR c++/31397
6264 * doc/invoke.texi: Document -Wsuggest-override.
6265
b176bb73
RO
62662015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
6267
6268 PR rtl-optimization/64287
6269 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
6270 (process_options): Disable flag_ipa_ra if profiling.
6271
dd1ca4c2
EB
62722015-01-05 Eric Botcazou <ebotcazou@adacore.com>
6273
6274 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
6275
62762015-01-05 Max Filippov <jcmvbkbc@gmail.com>
c6836000
MF
6277
6278 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
6279 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
6280 put under #if TARGET_LOOPS guard.
6281
389d63bb
UB
62822015-01-05 Uros Bizjak <ubizjak@gmail.com>
6283
6284 * config/i386/i386.c (output_387_binary_op): Use std::swap.
6285
c9bd6bcd
OE
62862015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
6287
6288 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
6289 * rtl.h (refers_to_regno_p): Add overload.
6290 * cse.c: Use it.
6291 * bt-load.c: Likewise.
6292 * combine.c: Likewise.
6293 * df-scan.c: Likewise.
6294 * sched-deps.c: Likewise.
6295 * config/s390/s390.c: Likewise.
6296 * config/m32r/m32r.c: Likewise.
6297 * config/rs6000/spe.md: Likewise.
6298 * config/rs6000/rs6000.c: Likewise.
6299 * config/pa/pa.c: Likewise.
6300 * config/stormy16/stormy16.c: Likewise.
6301 * config/cris/cris.c: Likewise.
6302 * config/arc/arc.md: Likewise.
6303 * config/arc/arc.c: Likewise.
6304 * config/sh/sh.md: Likewise.
6305 * config/sh/sh.c: Likewise.
6306 * config/frv/frv.c: Likewise.
6307
15aed8c4
JJ
63082015-01-05 Jakub Jelinek <jakub@redhat.com>
6309
fca4adf2
JJ
6310 PR sanitizer/64265
6311 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
6312 call as cleanup of the whole body.
6313 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
6314 * tsan.c (replace_func_exit): New function.
6315 (instrument_func_exit): Moved earlier.
6316 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
6317 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
6318 been found.
6319 (tsan_pass): Don't call instrument_func_exit.
6320 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
6321 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
6322 inlining.
6323
e5341100
JJ
6324 PR sanitizer/64344
6325 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
6326 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
6327 it to libubsan handler instead of EXPR. Fold comparisons earlier,
6328 if the result is integer_zerop, return NULL_TREE.
6329 * convert.c (convert_to_integer): Pass expr as ARG.
6330
15aed8c4
JJ
6331 PR tree-optimization/64465
6332 * tree-inline.c (redirect_all_calls): During inlining
6333 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
6334 changed the stmt to a non-throwing call.
6335
d1f4e4c3
SL
63362015-01-05 Sandra Loosemore <sandra@codesourcery.com>
6337
6338 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
6339 etc markup throughout the file.
6340
0d578242
BE
63412015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6342
6343 Enable experimental TSAN support for Ada.
6344 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
6345
a6377d52
JJ
63462015-01-05 Jakub Jelinek <jakub@redhat.com>
6347
6348 PR tree-optimization/64494
6349 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
6350 clear SSA_NAME_ANTI_RANGE_P flag.
6351
248d1391
MP
63522015-01-05 Marek Polacek <polacek@redhat.com>
6353
6354 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
6355
2c5103ff
JJ
63562015-01-05 Jakub Jelinek <jakub@redhat.com>
6357
5624e564
JJ
6358 Update copyright years.
6359
b67cd4e3
JJ
6360 * gcc.c (process_command): Update copyright notice dates.
6361 * gcov-dump.c: Ditto.
6362 * gcov.c: Ditto.
6363 * doc/cpp.texi: Bump @copying's copyright year.
6364 * doc/cppinternals.texi: Ditto.
6365 * doc/gcc.texi: Ditto.
6366 * doc/gccint.texi: Ditto.
6367 * doc/gcov.texi: Ditto.
6368 * doc/install.texi: Ditto.
6369 * doc/invoke.texi: Ditto.
6370
2c5103ff
JJ
6371 * auto-profile.c, auto-profile.h: Fix up Copyright line.
6372
eaacbd7b
SL
63732015-01-04 Sandra Loosemore <sandra@codesourcery.com>
6374
6375 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
6376 verb tense, etc.
6377 ([-fvtable-verify], [-fvtv-debug]): Likewise.
6378 ([-Wabi]): Likewise.
6379 ([-fmessage-length]): Likewise.
6380 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
6381 ([-Wno-discarded-qualifiers]): Likewise.
6382 ([-Wnodiscarded-array-qualifiers]): Likewise.
6383 ([-Wno-virtual-move-assign]): Likewise.
6384 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
6385 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
6386 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
6387 ([-fsanitize-undefined-trap-on-error]): Likewise.
6388 ([-floop-interchange]): Likewise.
6389 ([-ftree-coalesce-inlined-vars]): Likewise.
6390 ([-fvect-cost-model]): Likewise.
6391 ([-flto]): Likewise.
6392 ([--param]): Likewise.
6393 (Spec Files): Likewise.
6394 ([-mstrict-align]): Likewise.
6395 ([-mfix-cortex-a53-835769]): Likewise.
6396 ([-march], [-mtune]): Likewise.
6397 ([-mpic-register]): Likewise.
6398 ([-munaligned-access]): Likewise.
6399 ([-msp8]): Likewise.
6400 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
6401 (AVR Built-in Macros): Likewise.
6402 ([-mpreferred-stack-boundary]): Likewise.
6403 ([-mtune-crtl]): Likewise.
6404 ([-mashf]): Likewise.
6405 ([-mmcu=]): Likewise.
6406 ([-minrt]): Likewise.
6407 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
6408 ([-mupper-regs]): Likewise.
6409 ([-matomic-model]): Likewise.
6410 ([-mdiv]): Likewise.
6411 ([-mzdcbranch]): Likewise.
6412 ([-mdisable-callt]): Likewise.
6413 ([-msoft-float]): Likewise.
6414 ([-m8byte-align]): Likewise.
6415 ([-fstack-reuse]): Likewise.
6416
70281a8e
SL
64172015-01-03 Sandra Loosemore <sandra@codesourcery.com>
6418
6419 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
6420 Fix markup, light copy-editing.
6421 ([-fauto-profile]): Rewrite to fix formatting and content
6422 problems.
6423
408e8aa4
SL
64242015-01-03 Sandra Loosemore <sandra@codesourcery.com>
6425
6426 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
6427 Copy-edit description.
6428 ([-fisolate-erroneous-paths-attribute]): Likewise.
6429 * common.opt (fisolate-erroneous-paths-dereference):
6430 Copy-edit description.
6431 (fisolate-erroneous-paths-attribute): Likewise.
6432
484b5de0
SL
64332015-01-03 Sandra Loosemore <sandra@codesourcery.com>
6434
6435 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
6436 tidy grammar.
6437
e1a77fb6
SL
64382015-01-03 Sandra Loosemore <sandra@codesourcery.com>
6439
6440 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
6441 ([-fvtv-debug]): Likewise.
6442 ([-Wc++-compat]): Likewise.
6443 ([-Wc++11-compat]): Likewise.
6444 ([-Wc++14-compat]): Likewise.
6445 ([-Wno-sized-deallocation]): Likewise.
6446 ([-femit-class-debug-always]): Likewise.
6447 ([-femit-struct-debug-detailed]): Likewise.
6448 ([-fno-keep-inline-dllexport]): Likewise.
6449 ([-fira-algorithm]): Likewise.
6450 ([-fira-region]): Likewise.
6451 ([-flra-remat]): Likewise.
6452 ([-fipa-ra]): Likewise.
6453 ([-fhoist-adjacent-loads]): Likewise.
6454 ([-fisolate-erroneous-paths-dereference]): Likewise.
6455 ([-fisolate-erroneous-paths-attribute]): Likewise.
6456 ([-ftree-switch-conversion]): Likewise.
6457 ([-ftree-tail-merge]): Likewise.
6458 ([-ftree-loop-if-convert]): Likewise.
6459 ([-ftree-loop-if-convert-stores]): Likewise.
6460 ([-ftree-loop-distribution]): Likewise.
6461 ([-ftree-loop-distribute-patterns]): Likewise.
6462 ([-flto-compression-level]): Likewise.
6463 ([-flto-report]): Likewise.
6464 ([-flto-report-wpa]): Likewise.
6465 ([-fuse-linker-plugin]): Likewise.
6466 ([-mfix-cortex-a53-835769]): Likewise.
6467 ([-mno-fix-cortex-a53-835769]): Likewise.
6468 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
6469 explicit listing; add a note to the discussion indicating they
6470 exist. Reorder table to group similar options. Add missing
6471 @opindex entries. Add @need commands throughout the table to
6472 allow it to be split across multiple pages.
6473 ([-m8bit-idiv]): Fix @opindex.
6474 ([-mavx256-split-unaligned-load]): Likewise.
6475 ([-mavx256-split-unaligned-store]): Likewise.
6476 ([-mstack-protector-guard]): Likewise.
6477 ([-mcpu=]): Likewise.
6478 ([-mcpu]): Likewise.
6479 ([-mpointer-size=]): Likewise.
6480
846ef40a
JDA
64812015-01-03 John David Anglin <danglin@gcc.gnu.org>
6482
6483 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
6484 instead of `m' constraint. Likewise for unnamed movb comparison
6485 patterns using reg_before_reload_operand predicate.
6486 * config/pa/predicates.md (reg_before_reload_operand): Tighten
6487 predicate to reject register index and LO_SUM DLT memory forms
6488 after reload.
389d63bb 6489
d6ae9a6d
SL
64902015-01-02 Sandra Loosemore <sandra@codesourcery.com>
6491
6492 * doc/invoke.texi (Option Summary): Fix spelling of
6493 -fdevirtualize-at-ltrans.
6494 ([-fdevirtualize]): Fix markup.
6495 ([-fdevirtualize-speculatively]): Fix typo.
6496 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
6497 implementor-speaky.
6498 * common.opt (fdevirtualize-at-ltrans): Likewise.
6499 * ipa-devirt.c: Fix typos in comments throughout the file.
6500 (ipa_devirt): Fix typos in format strings for dump output.
6501
dd8d9ac4
SL
65022015-01-02 Sandra Loosemore <sandra@codesourcery.com>
6503
6504 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
6505 discussion of defaults, light copy-editing.
6506
1d4854da
BE
65072015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
6508
6509 * tsan.c (instrument_expr): corrected previous checkin.
6510
fe86867f
BE
65112015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
6512
6513 Instrument bit field and unaligned accesses for TSAN.
6514 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
6515 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
6516 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
6517 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
6518 unaligned memory regions.
6519
f8478c42 65202015-01-01 Anthony Green <green@moxielogic.com>
582f770b 6521
f8478c42
AG
6522 * config/moxie/predicates.md (moxie_general_movsrc_operand):
6523 Restrict move source register offsets to 16 bits.
ad41bd84 6524\f
f8478c42 6525Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
6526
6527Copying and distribution of this file, with or without modification,
6528are permitted in any medium without royalty provided the copyright
6529notice and this notice are preserved.
This page took 8.555841 seconds and 5 git commands to generate.