default64.h: Include rs6000-cpus.def.
[gcc.git] / gcc / ChangeLog
1 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
2
3 * config/rs6000/default64.h: Include rs6000-cpus.def.
4 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
5 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
6 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
7 and POWER8.
8 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
9 POWER8.
10 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
11 pseudo-op to specify assembler dialect.
12
13 2015-01-19 Martin Liska <mliska@suse.cz>
14
15 PR ipa/64664
16 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
17 Handle safe potentially removed nodes during filtering.
18
19 2015-01-19 Martin Liska <mliska@suse.cz>
20
21 * doc/extend.texi (no_icf): Add new attribute description.
22 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
23 where the pass attempts to merge a function with no_icf attribute.
24
25 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
26
27 PR target/64532
28 * doc/md.texi (ARM Options): Document register constraints.
29
30 2015-01-19 Jiong Wang <jiong.wang@arm.com>
31 Andrew Pinski <apinski@cavium.com>
32
33 PR target/64304
34 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
35 (ashl<mode>3): Don't expand if operands[2] is not constant.
36
37 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
38
39 PR target/64448
40 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
41 Match xor-and-xor RTL pattern.
42
43 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
44
45 PR rtl-optimization/64081
46 * loop-iv.c (def_pred_latch_p): New function.
47 (latch_dominating_def): Allow specific cases with non-single
48 definitions.
49 (iv_get_reaching_def): Likewise.
50 (check_complex_exit_p): New function.
51 (check_simple_exit): Use check_complex_exit_p to allow certain cases
52 with exits not executing on any iteration.
53
54 2015-01-19 Jakub Jelinek <jakub@redhat.com>
55
56 * common.opt (fgraphite): Fix a typo.
57
58 2015-01-19 Felix Yang <felix.yang@huawei.com>
59
60 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
61 pattern.
62 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
63 uminp, smax_nanp, smin_nanp): New builtins.
64 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
65 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
66 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
67 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
68 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
69 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
70 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
71 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
72 vpminnms_f32): Rewrite using builtin functions.
73
74 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
75
76 PR libgomp/64625
77 * omp-low.c (offload_symbol_decl): Remove variable.
78 (get_offload_symbol_decl): Remove function.
79 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
80 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
81 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
82 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
83 BUILT_IN_GOACC_UPDATE don't pass it at all.
84
85 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
86
87 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
88 callers.
89
90 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
91
92 * ipa-chkp.c (chkp_produce_thunks): Add early param
93 to split thunks production into two passes. Keep
94 'always_inline' function bodies after the first pass.
95 (pass_data_ipa_chkp_early_produce_thunks): New.
96 (pass_ipa_chkp_early_produce_thunks): New.
97 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
98 chkp_produce_thunks signature.
99 (make_pass_ipa_chkp_early_produce_thunks): New.
100 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
101 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
102 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
103
104 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
105
106 * cgraph.c (cgraph_node::dump): Dump profile flags.
107
108 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
109
110 PR target/64652
111 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
112 reg appear first in the parallel.
113
114 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
115
116 * ipa-reference.c (set_reference_optimization_summary,
117 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
118 disabled.
119 (ignore_module_statics): New static var.
120 (propagate_bits): If ipa-reference is disabled, do not look into local
121 properties.
122 (analyze_function): Disable analysis when ipa_reference is disabled.
123 (generate_summary): Do not dump when reference is disabled;
124 collect vars accessed from functions with ipa-reference disabled.
125 (get_read_write_all_from_node): When ipa-reference is disabled, use the
126 node flags.
127 (gate): Enable for LTO.
128 (ignore_edge_p): New function.
129 (propagate): Skip functions w/o ipa-reference analysis.
130 * optc-save-gen.awk: Handle optimize_debug correctly.
131 * opth-gen.awk: Likewise.
132 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
133 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
134 fira-share-save-slots, fira-share-spill-slots,
135 fmodulo-sched-allow-regmoves, fpartial-inlining,
136 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
137 ftracer, ftree-parallelize-loops, fassociative-math,
138 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
139 Optimization
140 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
141 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
142 Optimization.
143 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
144 Fix for IPA.
145
146 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
147
148 PR ipa/64378
149 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
150 flag correctly.
151 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
152
153 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
154
155 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
156 Remove duplicate option listings.
157
158 2015-01-18 Felix Yang <felix.yang@huawei.com>
159
160 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
161 (autofdo_source_profile::get_callsite_total_count,
162 function_instance::get_function_instance_by_decl,
163 string_table::get_index, string_table::get_index_by_decl,
164 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
165 Fix comment typos. Reformatting and minor code rearrangement.
166
167 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
168
169 * config/rs6000/rs6000.md (probe_stack): Delete.
170 (probe_stack_address): New.
171
172 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
173
174 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
175 to test for 32-bit ABIs, not !TARGET_POWERPC64.
176
177 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
178
179 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
180 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
181 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
182 snafu.
183 (rs6000_libcall_value): Use the new function.
184
185 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
186
187 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
188
189 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
190
191 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
192 implement a more precise life analysis for it during backward scan.
193
194 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
195
196 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
197
198 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
199
200 PR rtl-optimization/52773
201 * calls.c (emit_library_call_value): When pushing arguments use
202 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
203 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
204 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
205
206 2015-01-17 Jeff Law <law@redhat.com>
207
208 PR rtl-optimization/32790
209 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
210 not ZERO_EXTEND in SET_DESTs.
211
212 2015-01-17 Alan Modra <amodra@gmail.com>
213
214 * cprop.c (do_local_cprop): Revert last change.
215
216 2015-01-16 DJ Delorie <dj@redhat.com>
217 Nick Clifton <nickc@redhat.com>
218
219 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
220 (addhi3_real): Likewise. Fix [HL+0] syntax.
221 (subqi3_real): Likewise.
222 (subhi3_real): Likewise.
223 (cbranchqi4_real): Likewise. Allow saddr,#imm.
224 (cbranchhi4_real): Likewise.
225 (cbranchhi4_real_inverted): Likewise.
226 (cbranchsi4_real_lt): Likewise.
227 (cbranchsi4_real_ge): Likewise.
228 (cbranchsi4_real_ge): Likewise.
229 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
230 (sub<mode>3_virt): Likewise.
231 (cbranchqi4_virt): Likewise.
232 (cbranchhi4_virt): Likewise.
233 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
234 always use '[reg+imm]' even when imm is zero.
235 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
236 (rl78_general_operand): New.
237 (rl78_nonimmediate_operand): New.
238 (rl78_nonfar_operand): Use them.
239 (rl78_nonfar_nonimm_operand): Likewise.
240 (rl78_stack_based_mem): Fix.
241 * config/rl78/constraints.md (Ibqi): New.
242 (IBqi): New.
243 (Wsa): New.
244 (Wsf): New.
245 (Cs1): Fix.
246 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
247 (iorqi3): Likewise.
248 (xorqi3): Likewise.
249 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
250
251 * config/rl78/constrains (Qs8): New constraint.
252 * config/rl78/rl78.c (rl78_flags_already_set): New function.
253 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
254 * config/rl78/rl78-real.md (update_Z): New attribute.
255 Update patterns to set it.
256 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
257 shorter compare and branch sequence can be used.
258 (cbranchhi4_real): Likewise.
259 (cbranchhi4_real_inverted): Likewise.
260
261 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
262 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
263 address space.
264 * config/rl78/rl78.c (rl78_get_name_encoding): New.
265 (rl78_option_override): Allow -mes0 only if C.
266 (characterize_address): Support subregs of symbol_refs.
267 (rl78_addr_space_address_mode): Move. Add __near.
268 (rl78_far_p): Likewise.
269 (rl78_addr_space_pointer_mode): Likewise.
270 (rl78_as_legitimate_address): Likewise.
271 (rl78_addr_space_subset_p): Likewise.
272 (rl78_addr_space_convert): Likewise.
273 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
274 symbols with -mes0.
275 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
276 addressing.
277 (rl78_alloc_physical_registers_op1): Change logic to prefer
278 symbol[BC] addressing.
279 (frodata_section): New.
280 (rl78_asm_init_sections): Initialize it.
281 (rl78_select_section): Put __far readonly symbols in .frodata.
282 (rl78_make_type_far): New.
283 (rl78_insert_attributes): Force all readonly symbols to be __far when -mes0.
284 (rl78_asm_out_integer): New.
285 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
286 * config/rl78/rl78.opt (-mes0): New.
287
288 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
289 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
290 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
291 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
292 (rl78_saddr_p): New.
293 (rl78_output_aligned_common): New.
294 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
295 (rl78_handle_saddr_attribute): New.
296 (rl78_handle_naked_attribute): New.
297 (rl78_attribute_table): Add saddr.
298 (rl78_print_operand_1): Don't print '!' on saddr operands.
299 (rl78_print_operand_1): Strip encodings.
300 (rl78_sfr_p): New.
301 (rl78_strip_name_encoding): New.
302 (rl78_attrlist_to_encoding): New.
303 (rl78_encode_section_info): New.
304 (rl78_asm_init_sections): New.
305 (rl78_select_section): New.
306 (rl78_output_labelref): New.
307 (rl78_output_aligned_common): New.
308 (rl78_asm_out_integer): New.
309 (rl78_asm_ctor_dtor): New.
310 (rl78_asm_constructor): New.
311 (rl78_asm_destructor): New.
312
313 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
314 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
315 (transcode_memory_rtx): Update.
316 (rl78_expand_epilogue): Use A_REG instead of 0.
317
318 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
319
320 * config/arm/arm-protos.h (struct tune_params): New field
321 sched_autopref_queue_depth.
322 * config/arm/arm.c (sched-int.h): Include header.
323 (arm_first_cycle_multipass_dfa_lookahead_guard,)
324 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
325 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
326 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
327 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
328 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
329 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
330 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
331 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
332 * config/arm/t-arm (arm.o): Update.
333 * haifa-sched.c (update_insn_after_change): Update.
334 (rank_for_schedule): Use auto-prefetcher model, if requested.
335 (autopref_multipass_init): New static function.
336 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
337 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
338 variable for debug dumps.
339 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
340 (autopref_multipass_dfa_lookahead_guard): New global function that
341 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
342 (init_h_i_d): Update.
343 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
344 * sched-int.h (enum autopref_multipass_data_status): New const enum.
345 (autopref_multipass_data_): Structure for auto-prefetcher data.
346 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
347 (struct _haifa_insn_data:autopref_multipass_data): New field.
348 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
349 (autopref_multipass_dfa_lookahead_guard): Declare.
350
351 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
352
353 * rtlanal.c (get_base_term): Handle SCRATCH.
354
355 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
356
357 * config/aarch64/aarch64.c
358 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
359 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
360 * config/arm/arm.c
361 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
362 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
363
364 2015-01-17 Alan Modra <amodra@gmail.com>
365
366 * cprop.c (do_local_cprop): Disallow replacement of fixed
367 hard registers.
368
369 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
370
371 PR target/62066
372 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
373 early return 0.
374
375 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
376
377 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
378 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
379
380 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
381
382 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
383 * config/arm/thumb1.md: ... Here.
384
385 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
386
387 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
388 TImode for TARGET_32BIT.
389
390 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
391
392 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
393 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
394 as ...
395 (rs6000_abi_word_mode): New function.
396
397 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
398
399 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
400 instead of UNITS_PER_WORD to describe the size of stack slots.
401
402 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
403
404 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
405 as rs6000_promote_function_mode. Move comment to there.
406 (rs6000_promote_function_mode): New function.
407
408 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
409
410 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
411 -mpowerpc64 is active.
412
413 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
414
415 PR middle-end/64353
416 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
417 virtuals on start.
418
419 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
420
421 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
422 introduced in revision 219724.
423
424 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
425 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
426
427 PR target/64263
428 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
429 destination is not a GP reg.
430 (*movdi_aarch64): Likewise.
431
432 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
433
434 PR target/64623
435 * config/rs6000/default64.h: Revert ISA change.
436
437 2015-01-16 Richard Biener <rguenther@suse.de>
438
439 PR middle-end/64614
440 * tree-ssa-uninit.c: Include tree-cfg.h.
441 (MAX_SWITCH_CASES): New define.
442 (convert_control_dep_chain_into_preds): Handle switch statements.
443 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
444 (normalize_one_pred_1): Do not split bit-manipulations.
445 Record (x & CST).
446
447 2015-01-16 Richard Biener <rguenther@suse.de>
448
449 PR tree-optimization/64568
450 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
451 complex load rewriting for TARGET_MEM_REFs.
452
453 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
454
455 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
456
457 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
458
459 PR target/64149
460 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
461 variable.
462 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
463 (aarch64_lra_p): Remove.
464
465 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
466
467 PR target/64363
468 * ipa-chkp.h (chkp_instrumentable_p): New.
469 * ipa-chkp.c: Include tree-inline.h.
470 (chkp_instrumentable_p): New.
471 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
472 Fix processing of not instrumentable functions.
473 (chkp_versioning): Use chkp_instrumentable_p. Warn about
474 not instrumentable functions.
475 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
476 chkp_instrumentable_p.
477 * tree-inline.h (copy_forbidden): New.
478 * tree-inline.c (copy_forbidden): Not static anymore.
479
480 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
481
482 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
483 ptr1, ptr2 unused.
484
485 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
486
487 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
488 type OP_OUT to OP_INOUT.
489
490 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
491
492 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
493 (high x) y) to y if x and y have the same base.
494
495 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
496
497 * config/arm/cortex-a57.md: New.
498 * config/aarch64/aarch64.md: Include it.
499 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
500 * config/aarch64/aarch64-tune.md: Regenerate.
501
502 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
503
504 PR target/64015
505 * ccmp.c (expand_ccmp_next): New function.
506 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
507 and compare insn sequence.
508 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
509 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
510 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
511 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
512 (*ccmp_ior): Changed to ccmp_ior<mode>.
513 (cmp<mode>): New pattern.
514 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
515 parameters.
516 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
517
518 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
519
520 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
521 _mm256_bsrli_epi128): New.
522 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
523
524 2015-01-15 Jiong Wang <jiong.wang@arm.com>
525
526 * expmed.c (store_bit_field_using_insv): Improve warning message.
527 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
528
529 2015-01-15 Jiong Wang <jiong.wang@arm.com>
530
531 PR rtl-optimization/64011
532 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
533 there is partial overflow.
534
535 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
536
537 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
538 prototype.
539 (nds32_expand_epilogue_v3pop): Likewise.
540 * config/nds32/nds32.md (sibcall): Define this for sibling call
541 optimization.
542 (sibcall_register): Likewise.
543 (sibcall_immediate): Likewise.
544 (sibcall_value): Likewise.
545 (sibcall_value_register): Likewise.
546 (sibcall_value_immediate): Likewise.
547 (sibcall_epilogue): Likewise.
548 (epilogue): Pass false to indicate this is not a sibcall epilogue.
549 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
550 (nds32_expand_epilogue_v3pop): Likewise.
551
552 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
553
554 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
555 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
556 (return_internal): New.
557 (return): Define this named pattern.
558 (simple_return): Define this named pattern.
559 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
560 pattern instead of unspec_volatile_func_return.
561 (nds32_expand_epilogue_v3pop): Likewise.
562 (nds32_can_use_return_insn): New function.
563
564 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
565
566 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
567 * config/nds32/nds32.md (pop25return): New.
568 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
569 pop25return pattern.
570
571 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
572
573 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
574 -mforbid-fp-as-gp, and -mex9 options.
575
576 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
577
578 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
579 remove -mgp-direct option.
580
581 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
582
583 * doc/invoke.texi (--param early-inlining-insns): Update default value.
584 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
585
586 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
587
588 * ipa-inline.c (inline_small_functions): Work around hints
589 cache issue.
590
591 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
592
593 PR target/59710
594 * doc/invoke.texi (Option Summary): Document new Nios II
595 -mgpopt= syntax.
596 (Nios II Options): Likewise.
597 * config/nios2/nios2.opt: Add -mgpopt= option support.
598 Modify existing -mgpopt and -mno-gpopt options to be aliases.
599 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
600 * config/nios2/nios2.c (nios2_option_override): Adjust
601 -mgpopt defaulting.
602 (nios2_in_small_data_p): Return true for explicit small data
603 sections even with -G0.
604 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
605 option choices.
606
607 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
608
609 PR ipa/64612
610 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
611 of comdat locals.
612 (inline_call): Fix removal of aliases.
613
614 2015-01-15 Jakub Jelinek <jakub@redhat.com>
615
616 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
617 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
618 * opts.c (common_handle_option): Add -fsanitize=vptr.
619 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
620 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
621 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
622 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
623 (ubsan_expand_vptr_ifn): New prototype.
624 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
625 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
626 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
627 expand_LOOP_VECTORIZED): Make argument nameless, remove
628 ATTRIBUTE_UNUSED.
629 (expand_UBSAN_VPTR): New function.
630 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
631 in fn spec.
632 (UBSAN_VPTR): New internal function.
633 * sanopt.c (tree_map_traits): Renamed to ...
634 (sanopt_tree_map_traits): ... this.
635 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
636 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
637 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
638 (maybe_optimize_ubsan_vptr_ifn): New function.
639 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
640 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
641 -fsanitize=vptr.
642 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
643 internal calls like pure functions for aliasing, even when they
644 have other side-effects that prevent making them ECF_PURE.
645 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
646 (ubsan_expand_vptr_ifn): New function.
647
648 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
649
650 PR rtl-optimization/64110
651 * stmt.c (parse_output_constraint): Process '^' and '$'.
652 (parse_input_constraint): Ditto.
653 * lra-constraints.c (process_alt_operands): Process the new
654 constraints.
655 * ira-costs.c (record_reg_classes): Process the new constraint
656 '^'.
657 * genoutput.c (indep_constraints): Add '^' and '$'.
658 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
659 * doc/md.texi: Add description of the new constraints.
660
661 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
662 Bernd Schmidt <bernds@codesourcery.com>
663 Cesar Philippidis <cesar@codesourcery.com>
664 James Norris <jnorris@codesourcery.com>
665 Tom de Vries <tom@codesourcery.com>
666 Ilmir Usmanov <i.usmanov@samsung.com>
667 Dmitry Bocharnikov <dmitry.b@samsung.com>
668 Evgeny Gavrin <e.gavrin@samsung.com>
669 Jakub Jelinek <jakub@redhat.com>
670
671 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
672 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
673 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
674 New function types.
675 * builtins.c: Include "gomp-constants.h".
676 (expand_builtin_acc_on_device): New function.
677 (expand_builtin, is_inexpensive_builtin): Handle
678 BUILT_IN_ACC_ON_DEVICE.
679 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
680 New macros.
681 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
682 flag_openmp.
683 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
684 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
685 i386/intelmic-offload.h.
686 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
687 to libgomp and its dependencies.
688 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
689 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
690 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
691 * config/ia64/hpux.h (LIB_SPEC): Likewise.
692 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
693 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
694 * doc/generic.texi: Update for OpenACC changes.
695 * doc/gimple.texi: Likewise.
696 * doc/invoke.texi: Likewise.
697 * doc/sourcebuild.texi: Likewise.
698 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
699 GF_OMP_FOR_KIND_OACC_LOOP.
700 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
701 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
702 GF_OMP_TARGET_KIND_OACC_UPDATE,
703 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
704 Dump more data.
705 * gimple.c: Update comments for OpenACC changes.
706 * gimple.def: Likewise.
707 * gimple.h: Likewise.
708 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
709 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
710 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
711 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
712 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
713 appropriate place.
714 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
715 * gimplify.c: Include "gomp-constants.h".
716 Update comments for OpenACC changes.
717 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
718 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
719 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
720 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
721 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
722 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
723 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
724 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
725 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
726 OMP_CLAUSE_SEQ.
727 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
728 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
729 OMP_CLAUSE_SET_MAP_KIND.
730 (gimplify_oacc_cache): New function.
731 (gimplify_omp_for): Handle OACC_LOOP.
732 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
733 OACC_DATA.
734 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
735 OACC_EXIT_DATA, OACC_UPDATE.
736 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
737 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
738 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
739 (gimplify_body): Consider flag_openacc next to flag_openmp.
740 * lto-streamer-out.c: Include "gomp-constants.h".
741 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
742 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
743 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
744 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
745 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
746 (BUILT_IN_ACC_ON_DEVICE): New builtins.
747 * omp-low.c: Include "gomp-constants.h".
748 Update comments for OpenACC changes.
749 (struct omp_context): Add reduction_map, gwv_below, gwv_this
750 members.
751 (extract_omp_for_data, use_pointer_for_field, install_var_field)
752 (new_omp_context, delete_omp_context, scan_sharing_clauses)
753 (create_omp_child_function, scan_omp_for, scan_omp_target)
754 (check_omp_nesting_restrictions, lower_reduction_clauses)
755 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
756 Update for OpenACC changes.
757 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
758 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
759 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
760 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
761 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
762 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
763 OMP_CLAUSE_MAP_*.
764 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
765 Handle GF_OMP_FOR_KIND_OACC_LOOP.
766 (expand_omp_target, lower_omp_target): Handle
767 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
768 GF_OMP_TARGET_KIND_OACC_UPDATE,
769 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
770 GF_OMP_TARGET_KIND_OACC_DATA.
771 (pass_expand_omp::execute, execute_lower_omp)
772 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
773 flag_openmp.
774 (offload_symbol_decl): New variable.
775 (oacc_get_reduction_array_id, oacc_max_threads)
776 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
777 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
778 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
779 (oacc_gimple_assign, oacc_initialize_reduction_data)
780 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
781 functions.
782 (is_targetreg_ctx): Remove function.
783 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
784 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
785 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
786 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
787 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
788 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
789 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
790 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
791 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
792 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
793 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
794 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
795 * tree-core.h: Update comments for OpenACC changes.
796 (enum omp_clause_map_kind): Remove.
797 (struct tree_omp_clause): Change type of map_kind member from enum
798 omp_clause_map_kind to unsigned char.
799 * tree-inline.c: Update comments for OpenACC changes.
800 * tree-nested.c: Likewise. Include "gomp-constants.h".
801 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
802 (convert_tramp_reference_stmt, convert_gimple_call): Update for
803 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
804 OMP_CLAUSE_SET_MAP_KIND.
805 * tree-pretty-print.c: Include "gomp-constants.h".
806 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
807 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
808 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
809 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
810 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
811 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
812 instead of OMP_CLAUSE_MAP_*.
813 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
814 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
815 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
816 * tree-streamer-in.c: Include "gomp-constants.h".
817 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
818 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
819 * tree-streamer-out.c: Include "gomp-constants.h".
820 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
821 OMP_CLAUSE_MAP_*.
822 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
823 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
824 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
825 * tree.c (omp_clause_num_ops): Update accordingly.
826 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
827 Likewise.
828 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
829 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
830 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
831 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
832 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
833 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
834 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
835 (OMP_CLAUSE_SET_MAP_KIND): New macro.
836 * varpool.c (varpool_node::get_create): Consider flag_openacc next
837 to flag_openmp.
838 * config/i386/intelmic-offload.h: New file.
839 * config/nvptx/offload.h: Likewise.
840
841 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
842
843 * explow.h: Remove duplicate contents.
844 * dojump.h: Likewise.
845
846 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
847
848 * arm.c (arm_xgene_tune): Add default initializer for instruction
849 fusion.
850
851 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
852
853 PR ipa/64068
854 PR ipa/64559
855 * ipa.c (symbol_table::remove_unreachable_nodes):
856 Do not put abstract origins into boundary.
857
858 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
859
860 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
861 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
862
863 2015-01-15 Steve Ellcey <sellcey@mips.com>
864
865 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
866 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
867 builtins.def, and chkp-builtins.def.
868
869 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
870
871 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
872 ISA 2.7 (POWER8).
873
874 2015-01-15 Richard Biener <rguenther@suse.de>
875
876 PR tree-optimization/61743
877 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
878 information on PHIs for some simple cases.
879
880 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
881
882 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
883 Include xgene1.md.
884 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
885 * config/arm/arm-cores.def (xgene1): New entry.
886 * config/arm/arm-tables.opt: Regenerate.
887 * config/arm/arm-tune.md: Regenerate.
888 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
889
890 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
891
892 * tree-if-conv.c: Include hash-map.h.
893 (aggressive_if_conv): New variable.
894 (fold_build_cond_expr): Add simplification of non-zero condition.
895 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
896 destination block is not always executed.
897 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
898 than two predecessors if AGGRESSIVE_IF_CONV is true.
899 (if_convertible_stmt_p): Fix commentary.
900 (all_preds_critical_p): New function.
901 (has_pred_critical_p): New function.
902 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
903 BB can have more than two predecessors and all incoming edges can be
904 critical.
905 (predicate_bbs): Skip predication for loop exit block, use build2_loc
906 to compute predicate for true edge.
907 (find_phi_replacement_condition): Delete this function.
908 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
909 Allow interchange PHI arguments if EXTENDED is false.
910 Change check that block containing reduction statement candidate
911 is predecessor of phi-block since phi may have more than two arguments.
912 (phi_args_hash_traits): New helper structure.
913 (struct phi_args_hash_traits): New type.
914 (phi_args_hash_traits::hash): New function.
915 (phi_args_hash_traits::equal_keys): New function.
916 (gen_phi_arg_condition): New function.
917 (predicate_scalar_phi): Add handling of phi nodes with more than two
918 arguments, delete COND and TRUE_BB arguments, insert body of
919 find_phi_replacement_condition to predicate ordinary phi nodes.
920 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
921 delete call of find_phi_replacement_condition and invoke
922 predicate_scalar_phi with two arguments.
923 (insert_gimplified_predicates): Add assert that non-predicated block
924 don't have statements to insert.
925 (ifcvt_split_critical_edges): New function.
926 (ifcvt_split_def_stmt): Likewise.
927 (ifcvt_walk_pattern_tree): Likewise.
928 (stmt_is_root_of_bool_pattern): Likewise.
929 (ifcvt_repair_bool_pattern): Likewise.
930 (ifcvt_local_dce): Likewise.
931 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
932 is copy of inner or outer loop force_vectorize field, invoke
933 ifcvt_split_critical_edges, ifcvt_local_dce and
934 ifcvt_repair_bool_pattern for aggressive if-conversion.
935
936 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
937
938 * config/aarch64/aarch64.md: Include xgene1.md.
939 * config/aarch64/xgene1.md: New file.
940
941 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
942
943 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
944 xgene1 (APM XGene-1) core definition.
945 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
946 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
947 * doc/invoke.texi: Document -mcpu=xgene1.
948
949 2015-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
950
951 * dojump.h: New header file.
952 * explow.h: Likewise.
953 * expr.h: Remove includes.
954 Move expmed.c prototypes to expmed.h.
955 Move dojump.c prototypes to dojump.h.
956 Move alias.c prototypes to alias.h.
957 Move explow.c prototypes to explow.h.
958 Move calls.c prototypes to calls.h.
959 Move emit-rtl.c prototypes to emit-rtl.h.
960 Move varasm.c prototypes to varasm.h.
961 Move stmt.c prototypes to stmt.h.
962 (saved_pending_stack_adjust): Move to dojump.h.
963 (adjust_address): Move to explow.h.
964 (adjust_address_nv): Move to emit-rtl.h.
965 (adjust_bitfield_address): Likewise.
966 (adjust_bitfield_address_size): Likewise.
967 (adjust_bitfield_address_nv): Likewise.
968 (adjust_automodify_address_nv): Likewise.
969 * explow.c (expr_size): Move to expr.c.
970 (int_expr_size): Likewise.
971 (tree_expr_size): Likewise.
972 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
973 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
974 * genemit.c (main): Generate includes statistics.h, real.h, fixed-value.h,
975 insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
976 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, function.h,
977 statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
978 stmt.h.
979 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
980 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
981 * genemit.c (open_base_files): Generate includes flags.h, statistics.h, real.h,
982 fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h,
983 stmt.h.
984 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, hash-set.h, vec.h,
985 machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
986 double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
987 insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
988 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
989 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
990 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
991 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
992 tm.h tree.h varasm.h vec.h wide-int.h.
993 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
994 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
995 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
996 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
997 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
998 explow.h expmed.h fixed-value.h flags.h inchash.h insn-config.h
999 real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
1000 * loop-iv.c: Likewise.
1001 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1002 explow.h expmed.h fixed-value.h flags.h inchash.h real.h
1003 statistics.h stmt.h tree.h varasm.h wide-int.h.
1004 * lra-constraints.c: Likewise.
1005 * lra-eliminations.c: Likewise.
1006 * lra-lives.c: Likewise.
1007 * lra-remat.c: Likewise.
1008 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1009 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
1010 statistics.h stmt.h tree.h varasm.h wide-int.h.
1011 * hw-doloop.c: Likewise.
1012 * ira-color.c: Likewise.
1013 * ira-emit.c: Likewise.
1014 * loop-doloop.c: Likewise.
1015 * loop-invariant.c: Likewise.
1016 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1017 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
1018 statistics.h stmt.h tree.h varasm.h wide-int.h.
1019 * caller-save.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1020 explow.h expmed.h fixed-value.h inchash.h real.h statistics.h
1021 stmt.h tree.h varasm.h wide-int.h.
1022 * combine-stack-adj.c: Likewise.
1023 * cse.c: Likewise.
1024 * ddg.c: Likewise.
1025 * ifcvt.c: Likewise.
1026 * ira-costs.c: Likewise.
1027 * jump.c: Likewise.
1028 * lra-coalesce.c: Likewise.
1029 * lra-spills.c: Likewise.
1030 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1031 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
1032 stmt.h varasm.h wide-int.h.
1033 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1034 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
1035 varasm.h.
1036 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
1037 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
1038 statistics.h stmt.h varasm.h wide-int.h.
1039 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
1040 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
1041 varasm.h wide-int.h.
1042 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
1043 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
1044 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
1045 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
1046 statistics.h stmt.h.
1047 * config/tilepro/tilepro.c: Likewise.
1048 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
1049 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
1050 * config/pdp11/pdp11.c: Likewise.
1051 * config/xtensa/xtensa.c: Likewise.
1052 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
1053 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
1054 varasm.h.
1055 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1056 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
1057 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
1058 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1059 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
1060 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
1061 * rtl-chkp.c: Likewise.
1062 * tree-chkp-opt.c: Likewise.
1063 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h explow.h
1064 expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
1065 insn-config.h real.h statistics.h stmt.h varasm.h.
1066 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1067 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
1068 statistics.h stmt.h.
1069 * tree-vect-data-refs.c: Likewise.
1070 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
1071 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
1072 rtl.h statistics.h stmt.h varasm.h.
1073 * internal-fn.c: Likewise.
1074 * ipa-icf-gimple.c: Likewise.
1075 * lto-section-out.c: Likewise.
1076 * tree-data-ref.c: Likewise.
1077 * tree-nested.c: Likewise.
1078 * tree-outof-ssa.c: Likewise.
1079 * tree-predcom.c: Likewise.
1080 * tree-pretty-print.c: Likewise.
1081 * tree-scalar-evolution.c: Likewise.
1082 * tree-ssa-strlen.c: Likewise.
1083 * tree-vect-loop.c: Likewise.
1084 * tree-vect-patterns.c: Likewise.
1085 * tree-vect-slp.c: Likewise.
1086 * tree-vect-stmts.c: Likewise.
1087 * tsan.c: Likewise.
1088 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1089 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
1090 stmt.h.
1091 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
1092 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
1093 statistics.h stmt.h varasm.h.
1094 * loop-unroll.c: Likewise.
1095 * ubsan.c: Likewise.
1096 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
1097 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
1098 stmt.h varasm.h.
1099 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1100 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
1101 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
1102 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
1103 statistics.h stmt.h.
1104 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
1105 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
1106 statistics.h stmt.h varasm.h.
1107 * gimple-match-head.c: Likewise.
1108 * lto-cgraph.c: Likewise.
1109 * lto-section-in.c: Likewise.
1110 * lto-streamer-in.c: Likewise.
1111 * lto-streamer-out.c: Likewise.
1112 * tree-affine.c: Likewise.
1113 * tree-cfg.c: Likewise.
1114 * tree-cfgcleanup.c: Likewise.
1115 * tree-if-conv.c: Likewise.
1116 * tree-into-ssa.c: Likewise.
1117 * tree-ssa-alias.c: Likewise.
1118 * tree-ssa-copyrename.c: Likewise.
1119 * tree-ssa-dse.c: Likewise.
1120 * tree-ssa-forwprop.c: Likewise.
1121 * tree-ssa-live.c: Likewise.
1122 * tree-ssa-math-opts.c: Likewise.
1123 * tree-ssa-pre.c: Likewise.
1124 * tree-ssa-sccvn.c: Likewise.
1125 * tree-tailcall.c: Likewise.
1126 * tree-vect-generic.c: Likewise.
1127 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1128 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
1129 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1130 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
1131 * varasm.c: Likewise.
1132 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1133 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
1134 varasm.h.
1135 * init-regs.c: Likewise.
1136 * ira.c: Likewise.
1137 * omp-low.c: Likewise.
1138 * stack-ptr-mod.c: Likewise.
1139 * tree-ssa-reassoc.c: Likewise.
1140 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1141 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
1142 varasm.h.
1143 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1144 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
1145 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1146 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
1147 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1148 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
1149 * tree-ssa-phiopt.c: Likewise.
1150 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1151 fixed-value.h hashtab.h real.h statistics.h stmt.h.
1152 * config/fr30/fr30.c: Likewise.
1153 * config/frv/frv.c: Likewise.
1154 * expr.c: Likewise.
1155 * final.c: Likewise.
1156 * optabs.c: Likewise.
1157 * passes.c: Likewise.
1158 * simplify-rtx.c: Likewise.
1159 * stmt.c: Likewise.
1160 * toplev.c: Likewise.
1161 * var-tracking.c: Likewise.
1162 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1163 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
1164 * lower-subreg.c: Likewise.
1165 * postreload-gcse.c: Likewise.
1166 * ree.c: Likewise.
1167 * reginfo.c: Likewise.
1168 * store-motion.c: Likewise.
1169 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1170 fixed-value.h hashtab.h real.h stmt.h varasm.h.
1171 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1172 fixed-value.h hashtab.h statistics.h stmt.h.
1173 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1174 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
1175 * except.c: Likewise.
1176 * explow.c: Likewise.
1177 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1178 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
1179 varasm.h.
1180 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1181 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
1182 * tree-ssa-structalias.c: Likewise.
1183 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1184 fixed-value.h insn-config.h real.h statistics.h.
1185 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1186 fixed-value.h insn-config.h real.h statistics.h stmt.h.
1187 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1188 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
1189 * cfgbuild.c: Likewise.
1190 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1191 fixed-value.h real.h rtl.h statistics.h stmt.h.
1192 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1193 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
1194 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1195 fixed-value.h real.h statistics.h stmt.h.
1196 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1197 fixed-value.h real.h statistics.h stmt.h varasm.h.
1198 * cprop.c: Likewise.
1199 * modulo-sched.c: Likewise.
1200 * postreload.c: Likewise.
1201 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
1202 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
1203 statistics.h stmt.h varasm.h.
1204 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
1205 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
1206 rtl.h statistics.h stmt.h varasm.h.
1207 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
1208 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
1209 varasm.h.
1210 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
1211 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
1212 varasm.h.
1213 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
1214 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
1215 varasm.h.
1216 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
1217 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
1218 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
1219 function.h real.h statistics.h stmt.h varasm.h.
1220 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
1221 insn-config.h real.h statistics.h stmt.h.
1222 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
1223 statistics.h stmt.h.
1224 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
1225 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
1226 statistics.h stmt.h varasm.h.
1227 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
1228 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
1229 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
1230 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
1231 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
1232 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
1233 statistics.h stmt.h varasm.h.
1234 * ipa-polymorphic-call.c: Likewise.
1235 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h expmed.h
1236 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
1237 stmt.h.
1238 * config/c6x/c6x.c: Likewise.
1239 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h explow.h
1240 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
1241 statistics.h stmt.h varasm.h.
1242 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
1243 hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h.
1244 * ipa-split.c: Likewise.
1245 * tree-eh.c: Likewise.
1246 * tree-ssa-dce.c: Likewise.
1247 * tree-ssa-loop-niter.c: Likewise.
1248 * tree-vrp.c: Likewise.
1249 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
1250 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
1251 stmt.h.
1252 * config/nds32/nds32-fp-as-gp.c: Likewise.
1253 * config/nds32/nds32-intrinsic.c: Likewise.
1254 * config/nds32/nds32-isr.c: Likewise.
1255 * config/nds32/nds32-md-auxiliary.c: Likewise.
1256 * config/nds32/nds32-memory-manipulation.c: Likewise.
1257 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
1258 * config/nds32/nds32-predicates.c: Likewise.
1259 * config/nds32/nds32.c: Likewise.
1260 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
1261 fixed-value.h hashtab.h real.h statistics.h.
1262 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
1263 fixed-value.h hashtab.h real.h statistics.h stmt.h.
1264 * config/arm/arm.c: Likewise.
1265 * config/avr/avr.c: Likewise.
1266 * config/bfin/bfin.c: Likewise.
1267 * config/h8300/h8300.c: Likewise.
1268 * config/i386/i386.c: Likewise.
1269 * config/ia64/ia64.c: Likewise.
1270 * config/iq2000/iq2000.c: Likewise.
1271 * config/m32c/m32c.c: Likewise.
1272 * config/m32r/m32r.c: Likewise.
1273 * config/m68k/m68k.c: Likewise.
1274 * config/mcore/mcore.c: Likewise.
1275 * config/mep/mep.c: Likewise.
1276 * config/mips/mips.c: Likewise.
1277 * config/mn10300/mn10300.c: Likewise.
1278 * config/moxie/moxie.c: Likewise.
1279 * config/pa/pa.c: Likewise.
1280 * config/rl78/rl78.c: Likewise.
1281 * config/rx/rx.c: Likewise.
1282 * config/s390/s390.c: Likewise.
1283 * config/sh/sh.c: Likewise.
1284 * config/sparc/sparc.c: Likewise.
1285 * config/spu/spu.c: Likewise.
1286 * config/stormy16/stormy16.c: Likewise.
1287 * config/v850/v850.c: Likewise.
1288 * config/vax/vax.c: Likewise.
1289 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
1290 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
1291 * config/msp430/msp430.c: Likewise.
1292 * predict.c: Likewise.
1293 * value-prof.c: Likewise.
1294 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
1295 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
1296 * config/microblaze/microblaze.c: Likewise.
1297 * config/nios2/nios2.c: Likewise.
1298 * config/rs6000/rs6000.c: Likewise.
1299 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
1300 insn-config.h real.h rtl.h statistics.h stmt.h.
1301 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
1302 insn-config.h real.h statistics.h stmt.h.
1303 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
1304 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
1305 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
1306 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
1307 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
1308 real.h statistics.h stmt.h.
1309 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
1310 fixed-value.h statistics.h stmt.h.
1311 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
1312 stmt.h.
1313
1314 2015-01-15 Jakub Jelinek <jakub@redhat.com>
1315
1316 * gengtype.c (create_user_defined_type): Workaround
1317 -Wmaybe-uninitialized false positives.
1318 * cse.c (fold_rtx): Likewise.
1319 * loop-invariant.c (gain_for_invariant): Likewise.
1320
1321 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
1322
1323 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
1324 set the memory attributes in all cases but clear MEM_EXPR if need be.
1325
1326 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
1327
1328 PR tree-optimization/64434
1329 * cfgexpand.c (reorder_operands): New function.
1330 (expand_gimple_basic_block): Insert call of reorder_operands if
1331 optimized is true.
1332
1333 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
1334
1335 * config/mips/micromips.md (*swp): Remove explicit parallel.
1336 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
1337 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
1338 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
1339 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
1340 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
1341 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
1342 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
1343 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
1344 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
1345 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
1346 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
1347 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
1348 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
1349 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
1350 (mips_wrdsp): Likewise.
1351 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
1352 parallel.
1353 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
1354 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
1355 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
1356 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
1357 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
1358 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
1359 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
1360 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
1361 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
1362
1363 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
1364
1365 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
1366 (mips_print_operand): Support 'y' to print exact log2 in decimal
1367 of a const_int.
1368 * config/mips/mips.h (ISA_HAS_LSA): New define.
1369 (ISA_HAS_DLSA): Likewise.
1370 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
1371 * config/mips/predicates.md (const_immlsa_operand): New predicate.
1372
1373 2015-01-15 Martin Liska <mliska@suse.cz>
1374
1375 PR target/64377
1376 * optc-save-gen.awk: Add support for array types.
1377
1378 2015-01-15 Richard Biener <rguenther@suse.de>
1379
1380 PR middle-end/64365
1381 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
1382 for MEM_REF access functions with the same base can never partially
1383 overlap.
1384
1385 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1386
1387 * common.opt: New option -fstack-protector-explicit.
1388 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
1389 (stack_protect_decl_phase): Handle stack_protect attribute for
1390 explicit stack protection requests.
1391 (expand_used_vars): Similarly.
1392 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
1393 * doc/extend.texi: Add documentation for "stack_protect" attribute.
1394 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
1395
1396 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
1397
1398 PR target/53988
1399 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
1400 reg-reg copies.
1401 (sh_extending_set_of_reg): New struct.
1402 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
1403 sh_remove_reg_dead_or_unused_notes): New Declarations.
1404 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
1405 sh_find_extending_set_of_reg, sh_split_tst_subregs,
1406 sh_extending_set_of_reg::use_as_extended_reg): New functions.
1407 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
1408 convert to insn_and_split and use new function sh_split_tst_subregs.
1409
1410 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
1411
1412 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
1413 option.
1414 (Optimization Options): Move -fuse-ld documentation to...
1415 (Link Options): ...here.
1416
1417 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
1418
1419 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
1420 offsets.
1421 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
1422 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
1423 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
1424 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
1425 instead of ZR for the memory operand of LL/SC.
1426 (compare_and_swap_12, sync_add<mode>): Likewise.
1427 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
1428 (sync_new_<optab>_12, sync_nand_12): Likewise.
1429 (sync_old_nand_12, sync_new_nand_12): Likewise.
1430 (sync_sub<mode>, sync_old_add<mode>): Likewise.
1431 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
1432 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
1433 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
1434 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
1435 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
1436 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
1437 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
1438 * doc/md.texi (ZC): Update description.
1439
1440 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
1441
1442 * builtins.c (expand_builtin_atomic_exchange): Remove error when
1443 memory model is CONSUME.
1444 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
1445 expand_builtin_atomic_store): Change invalid memory model errors to
1446 warnings.
1447 (expand_builtin_atomic_clear): Change invalid model errors to warnings
1448 and issue warning for CONSUME.
1449
1450 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
1451
1452 * lto-cgraph: Update function comments for
1453 lto_symtab_encoder_encode_*.
1454
1455 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
1456
1457 * Makefile.in (site.exp): Do not set ENABLE_LTO.
1458
1459 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
1460
1461 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
1462 * lto-cgraph.c (select_what_to_stream): Remove argument, use
1463 lto_stream_offload_p instead.
1464 * lto-streamer.h (select_what_to_stream): Remove argument.
1465 * passes.c (ipa_write_summaries): Likewise.
1466 * tree-pass.h (ipa_write_summaries): Likewise.
1467
1468 2015-01-14 Richard Biener <rguenther@suse.de>
1469
1470 PR tree-optimization/59354
1471 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
1472 groups larger than the slp group size as having gaps.
1473
1474 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
1475
1476 PR middle-end/59448
1477 * builtins.c (get_memmodel): Promote consume to acquire always.
1478
1479 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
1480
1481 PR target/64386
1482 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
1483 V32HImode.
1484
1485 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
1486
1487 PR target/64393
1488 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
1489 Enable AVX512BW.
1490 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
1491 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
1492 AVX512VBMI, as it implies AVX512BW.
1493
1494 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
1495
1496 PR target/64387
1497 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
1498 (vec_unpacks_hi_v16sf): Ditto.
1499
1500 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1501
1502 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
1503 is not available.
1504
1505 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1506
1507 * doc/invoke.texi (mapcs): Mention deprecation.
1508 (mapcs-frame): Likewise.
1509
1510 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
1511
1512 PR target/64453
1513 * config/arm/arm.c (callee_saved_reg_p): Define.
1514 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
1515 register is callee saved instead of !call_used_regs[reg].
1516 (thumb1_compute_save_reg_mask): Likewise.
1517
1518 2015-01-14 Hale Wang <hale.wang@arm.com>
1519
1520 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
1521 Cortex-M7.
1522
1523 2015-01-14 Richard Biener <rguenther@suse.de>
1524
1525 PR lto/64415
1526 * tree-inline.c (insert_debug_decl_map): Check destination
1527 function MAY_HAVE_DEBUG_STMTS.
1528 (insert_init_debug_bind): Likewise.
1529 (insert_init_stmt): Remove redundant check.
1530 (remap_gimple_stmt): Drop debug stmts if the destination
1531 function has var-tracking assignments disabled.
1532
1533 2015-01-14 Martin Liska <mliska@suse.cz>
1534
1535 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
1536 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
1537
1538 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1539
1540 PR target/64460
1541 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
1542 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
1543
1544 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
1545
1546 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
1547 level from an ARCH; do not inject the default.
1548 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
1549 MIPS_ISA_LEVEL_SPEC.
1550 (MIPS_ISA_NAN2008_SPEC): Update comment.
1551 (BASE_DRIVER_SELF_SPECS): Likewise.
1552 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
1553 MIPS_DEFAULT_ISA_LEVEL_SPEC.
1554 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
1555 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
1556 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
1557
1558 2015-01-14 Richard Biener <rguenther@suse.de>
1559
1560 PR tree-optimization/64493
1561 PR tree-optimization/64495
1562 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
1563 assign the proper vectorized PHI to the inner loop exit PHIs.
1564
1565 2015-01-14 Joey Ye <joey.ye@arm.com>
1566
1567 * config/arm/arm.c (arm_compute_save_reg_mask):
1568 Do not save lr in case of tail call.
1569 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
1570
1571 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
1572
1573 * tree-vrp.c (check_array_ref): Emit more warnings
1574 for warn_array_bounds >= 2.
1575 * common.opt: New option -Warray-bounds=.
1576 * doc/invoke.texi: Document -Warray-bounds=.
1577
1578 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
1579
1580 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
1581 (mforbid-fp-as-gp): Remove.
1582 (mex9): Remove.
1583 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
1584 (nds32_symbol_load_store_p): Remove.
1585 (nds32_fp_as_gp_check_available): Clean up implementation.
1586 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
1587 cases.
1588 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
1589 fp-as-gp and ex9 cases.
1590
1591 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
1592
1593 * tree-profile.c (init_ic_make_global_vars): Drop workaround
1594 for bintuils bug 14342.
1595 (init_ic_make_global_vars): Likewise.
1596 (gimple_init_edge_profiler): Likewise.
1597 (gimple_gen_ic_func_profiler): Likewise.
1598
1599 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
1600
1601 * ipa-inline.c (inline_small_functions): Swap the operands in
1602 enum.
1603
1604 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
1605
1606 PR ipa/64481
1607 * ipa-inline-analysis.c (node_growth_cache): Remove.
1608 (initialize_growth_caches): Do not initialize it.
1609 (free_growth_caches): Do not free it.
1610 (do_estimate_growth): Rename to ...
1611 (estimate_growth): ... this one; drop growth cache code.
1612 (growth_likely_positive): Always go the heuristics way.
1613 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
1614 (reset_edge_caches): Do not reset node growth.
1615 (heap_edge_removal_hook): Do not maintain cache.
1616 (inline_small_functions): Likewise; strenghten sanity check.
1617 (ipa_inline): Do not maintain caches.
1618 * ipa-inline.h (node_growth_cache): Remove.
1619 (do_estimate_growth): Remove to ...
1620 (estimate_growth): this one; remove inline version.
1621 (reset_node_growth_cache): Remove.
1622
1623 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
1624
1625 PR ipa/64565
1626 * ipa-inline.c (inline_small_functions): Update callee keys after
1627 resolving speculation
1628 (inline_small_functions): Always check monotonicity of the queue.
1629
1630 2015-01-13 Marek Polacek <polacek@redhat.com>
1631
1632 PR middle-end/64391
1633 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
1634
1635 2015-01-13 Jakub Jelinek <jakub@redhat.com>
1636
1637 PR rtl-optimization/64286
1638 * ree.c (combine_reaching_defs): Move part of comment earlier,
1639 remove !SCALAR_INT_MODE_P check.
1640 (add_removable_extension): Don't add vector mode
1641 extensions if all uses of the source register aren't the same
1642 vector extensions.
1643
1644 2015-01-13 Renlin Li <renlin.li@arm.com>
1645
1646 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
1647 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
1648
1649 2015-01-13 Martin Liska <mliska@suse.cz>
1650
1651 * ipa-icf.c (sem_function::equals_private): Call new functions
1652 cl_target_option_print_diff and cl_optimization_print_diff.
1653 * optc-save-gen.awk (cl_target_option_print_diff): New function.
1654 (cl_optimization_print_diff): Likewise.
1655 * opth-gen.awk: Likewise.
1656
1657 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
1658
1659 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
1660 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
1661 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
1662 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
1663 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
1664 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
1665
1666 2015-01-13 Andrew Pinski <apinski@cavium.com>
1667
1668 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
1669 instead of src mode.
1670
1671 2015-01-13 Richard Biener <rguenther@suse.de>
1672
1673 PR lto/64373
1674 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
1675 DECL_CONTEXT.
1676
1677 2015-01-13 Andrew Pinski <apinski@cavium.com>
1678
1679 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
1680 volatile mems.
1681 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
1682
1683 2015-01-13 Jakub Jelinek <jakub@redhat.com>
1684
1685 PR middle-end/63974
1686 * cfgexpand.c (expand_computed_goto): Don't call
1687 convert_memory_address here.
1688
1689 2015-01-13 Richard Biener <rguenther@suse.de>
1690
1691 PR tree-optimization/64406
1692 * tree-loop-distibution.c (pass_loop_distribution::execute):
1693 Reset the SCEV hashtable if we distributed anything.
1694
1695 2015-01-13 Richard Biener <rguenther@suse.de>
1696
1697 PR tree-optimization/64404
1698 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
1699 SLP types for CSEd loads.
1700
1701 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1702
1703 PR tree-optimization/64436
1704 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
1705 merge of two symbolic numbers for a bitwise OR to ...
1706 (perform_symbolic_merge): This. Also fix computation of the range and
1707 end of the symbolic number corresponding to the result of a bitwise OR.
1708
1709 2015-01-13 Richard Biener <rguenther@suse.de>
1710
1711 PR tree-optimization/64568
1712 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
1713 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
1714
1715 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
1716
1717 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
1718 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
1719
1720 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
1721
1722 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
1723 target-specific symbol_ref flag.
1724 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
1725 resides in rodata section.
1726 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
1727 (nds32_encode_section_info): New function.
1728
1729 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
1730
1731 * config/nds32/nds32.md (call): Use pseudo instruction bal which
1732 clobbers TA_REGNUM if large code model is specified.
1733 (call_register): Likewise.
1734 (call_immediate): Likewise.
1735 (call_value): Likewise.
1736 (call_value_register): Likewise.
1737 (call_value_immediate): Likewise.
1738
1739 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
1740
1741 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
1742 (TARGET_CMODEL_MEDIUM): New macro.
1743 (TARGET_CMODEL_LARGE): New macro.
1744 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
1745 code model setting in assembly code.
1746
1747 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
1748
1749 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
1750 Remove MASK_GP_DIRECT flag.
1751 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
1752 one of the multilib default options.
1753 * config/nds32/nds32.opt (mgp-direct): Remove.
1754 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
1755 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
1756
1757 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
1758
1759 * config/nds32/nds32.opt (mcmodel): Add new option.
1760 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
1761 to describe code model.
1762
1763 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
1764
1765 PR target/64479
1766 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
1767
1768 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
1769
1770 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
1771 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
1772 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
1773 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
1774 __builtin_sh_set_fpscr.
1775
1776 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
1777
1778 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
1779 after a funtion name just to indicate it is a function.
1780 ([-fsanitize-undefined-trap-on-error]): Likewise.
1781 ([-fdbg-cnt=]): Likewise.
1782 ([-mmemcpy]): Likewise.
1783 ([-mflush-func]): Likewise.
1784 ([-msynci]): Likewise.
1785
1786 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
1787
1788 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
1789 example.
1790
1791 2015-01-12 Jakub Jelinek <jakub@redhat.com>
1792
1793 PR tree-optimization/64563
1794 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
1795 instead of != VR_VARYING.
1796
1797 PR target/64513
1798 * config/i386/i386.c (ix86_expand_prologue): Add
1799 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
1800
1801 PR tree-optimization/64454
1802 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
1803 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
1804 for signed or [0, op1 - 1] for unsigned modulo.
1805 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
1806 even if op1 does not satisfy integer_pow2p.
1807
1808 PR other/64370
1809 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
1810
1811 2015-01-12 Jeff Law <law@redhat.com>
1812
1813 PR target/64461
1814 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
1815 (trunchiqi2, truncsihi2): Similarly.
1816
1817 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
1818 rather than calling F.
1819
1820 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
1821
1822 * tsan.c (instrument_expr): Use force_gimple_operand.
1823 Use may_be_nonaddressable_p instead of is_gimple_addressable.
1824
1825 2015-01-12 Richard Biener <rguenther@suse.de>
1826
1827 PR tree-optimization/64530
1828 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
1829 back dr1.
1830
1831 2015-01-12 Richard Biener <rguenther@suse.de>
1832
1833 PR middle-end/64357
1834 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
1835 latches properly.
1836
1837 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1838
1839 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
1840 Cortex-A17 tuning parameters.
1841 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
1842
1843 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1844
1845 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
1846 * config/arm/arm.c (arm_macro_fusion_p): New function.
1847 (arm_macro_fusion_pair_p): Likewise.
1848 (TARGET_SCHED_MACRO_FUSION_P): Define.
1849 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
1850 (ARM_FUSE_NOTHING): Likewise.
1851 (ARM_FUSE_MOVW_MOVT): Likewise.
1852 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
1853 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
1854 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
1855 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
1856 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
1857 arm_cortex_a5_tune): Specify fuseable_ops value.
1858
1859 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
1860
1861 PR bootstrap/64561
1862 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
1863 test for PIE with copy reloc.
1864 * configure: Regenerated.
1865
1866 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1867
1868 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
1869 in gen_rtx_REG.
1870 (arm_tls_descseq_addr): Likewise.
1871 (arm_gen_movmemqi): Likewise.
1872 (arm_expand_epilogue_apcs_frame): Likewise.
1873 (arm_expand_epilogue): Likewise.
1874 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
1875 in gen_rtx_REG.
1876
1877 2015-01-12 Martin Liska <mliska@suse.cz>
1878
1879 PR ipa/64550
1880 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
1881 volatility for correct operands.
1882
1883 2015-01-12 Martin Liska <mliska@suse.cz>
1884
1885 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
1886 that a function is not leaf.
1887 (sem_function::compare_polymorphic_p): Likewise.
1888
1889 2015-01-12 Martin Liska <mliska@suse.cz>
1890
1891 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
1892 that a function is not leaf.
1893 (sem_function::compare_polymorphic_p): Likewise.
1894
1895 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1896
1897 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
1898 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
1899 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
1900 fold-const.h, tree-check.h.
1901
1902 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
1903
1904 PR ipa/63967
1905 PR ipa/64425
1906 * ipa-inline.c (compute_uninlined_call_time,
1907 compute_inlined_call_time): Use counts for extra precision when
1908 needed possible.
1909 (big_speedup_p): Fix formating.
1910 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
1911 (relative_time_benefit): Remove.
1912 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
1913 merge guessed and read profile paths.
1914 (inline_small_functions): Count only !optimize_size functions into
1915 initial size; be more lax about sanity check when profile is used;
1916 be sure to update inlined function profile when profile is read.
1917
1918 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
1919
1920 PR ipa/63470
1921 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
1922 cost when edge becomes direct.
1923 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
1924 is resolved or when introducing new speculation.
1925
1926 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
1927
1928 PR ipa/64551
1929 PR ipa/64552
1930 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
1931 '||' to fix typo issue.
1932
1933 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
1934 accept and return NULL.
1935
1936 2015-01-12 Martin Liska <mliska@suse.cz>
1937
1938 * cgraph.c (cgraph_edge::remove_callee): Move function to header
1939 file for being inlined.
1940 (cgraph_set_edge_callee): Delete.
1941 (cgraph_edge::redirect_callee): Move function to header file
1942 for being inlined.
1943 (cgraph_edge::make_direct): Use new function.
1944 (cgraph_edge::dump_edge_flags): New function created from
1945 static dump_edge_flags function.
1946 (cgraph_node::dump): Use new function.
1947 (cgraph_edge::verify_count_and_frequency): New function created
1948 from verify_edge_count_and_frequency.
1949 (cgraph_edge::verify_corresponds_to_fndecl): New function created
1950 from verify_edge_corresponds_to_fndecl.
1951 (verify_edge_corresponds_to_fndecl): Delete.
1952 (cgraph_node::verify_node): Use new function.
1953 * cgraph.h (cgraph_edge::set_callee): New function.
1954 (cgraph_edge::dump_edge_flags): Likewise.
1955 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
1956
1957 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
1958
1959 * ipa-utils.c (estimate_function_body_sizes): Do not
1960 free node params when called late with early=true.
1961
1962 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
1963
1964 * doc/md.texi (Instruction Patterns): Rewrite text for
1965 clarity.
1966 (Example): Likewise.
1967
1968 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
1969
1970 * doc/invoke.texi (Option Summary): Break long lines.
1971 [(-fdiagnostics-color)]: Put long literal in @smallexample
1972 instead of inline.
1973 [(-fsanitize-recover)]: Likewise.
1974 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
1975 [(-ffast-math)]: Likewise.
1976 [(--param max-inline-insns-recursive)]: Likewise.
1977 [(--param max-inline-recursive-depth)]: Likewise.
1978 [(-mno-text-section-literals)]: Likewise.
1979
1980 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1981
1982 * doc/install.texi: Update for libgomp being renamed from "GNU
1983 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
1984 Runtime Library".
1985 * doc/sourcebuild.texi: Likewise.
1986
1987 2015-01-10 Anthony Green <green@moxielogic.com>
1988
1989 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
1990 mul.x availability for moxiebox configuration.
1991
1992 2015-01-09 Anthony Green <green@moxielogic.com>
1993
1994 * config/moxie/moxie.md: Tabify assembly output.
1995
1996 2015-01-09 Anthony Green <green@moxielogic.com>
1997
1998 * config/moxie/moxie.md (CC_REG): Correct register definition.
1999
2000 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
2001
2002 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
2003 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
2004 of log files.
2005
2006 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2007
2008 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
2009
2010 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
2011 Jakub Jelinek <jakub@redhat.com>
2012
2013 PR middle-end/64412
2014 * lto-streamer.h (lto_stream_offload_p): New declaration.
2015 * lto-streamer.c (lto_stream_offload_p): New variable.
2016 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
2017 at the same time as section_name_prefix.
2018 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
2019 if lto_stream_offload_p.
2020 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
2021 stream TREE_TARGET_OPTION if lto_stream_offload_p.
2022 (write_ts_function_decl_tree_pointers): Don't
2023 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
2024 * tree-streamer-in.c (unpack_value_fields): Don't stream
2025 TREE_TARGET_OPTION in if ACCEL_COMPILER.
2026 (lto_input_ts_function_decl_tree_pointers): Don't stream
2027 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
2028 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
2029 instead of section_name_prefix string comparisons.
2030
2031 2015-01-09 Jakub Jelinek <jakub@redhat.com>
2032
2033 PR rtl-optimization/64536
2034 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
2035 tablejumps.
2036
2037 2015-01-09 Michael Collison <michael.collison@linaro.org>
2038
2039 PR tree-optimization/64322
2040 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
2041 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
2042
2043 2015-01-09 Tom de Vries <tom@codesourcery.com>
2044
2045 PR rtl-optimization/64539
2046 * regcprop.c (kill_clobbered_values): Factor out of ...
2047 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
2048 instead of note_stores with kill_clobbered_value.
2049
2050 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2051
2052 * ginclude/unwind-arm-common.h: Revert previous commit.
2053
2054 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2055
2056 * config.gcc (arm*-*-freebsd*): New configuration.
2057 * config/arm/freebsd.h: New file.
2058 * config.host: Add extra components for arm*-*-freebsd*.
2059 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
2060 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
2061
2062 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2063
2064 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
2065 for -mcpu=e6500.
2066 * config/rs6000/t-rtems: Add e6500 multilibs.
2067
2068 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2069
2070 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
2071 MPC8540.
2072
2073 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2074
2075 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
2076 MULTILIB_EXCEPTIONS.
2077
2078 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2079
2080 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
2081 MULTILIB_EXCEPTIONS.
2082
2083 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2084
2085 * config/arm/t-rtems-eabi: Rename to...
2086 * config/arm/t-rtems: ...this.
2087 * config/arm/rtems-eabi.h: Rename to...
2088 * config/arm/rtems.h: ...this.
2089 * config.gcc (arm*-*-rtems*): Reflect changes above.
2090
2091 2015-01-09 Richard Biener <rguenther@suse.de>
2092
2093 PR tree-optimization/64410
2094 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
2095 on the LHS.
2096 (execute_update_addresses_taken): Deal with that.
2097 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
2098 loads/stores for complex variables.
2099
2100 2015-01-09 Martin Liska <mliska@suse.cz>
2101
2102 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
2103 name comparison.
2104 (func_checker::compare_memory_operand): New function.
2105 (func_checker::compare_operand): Split case to newly
2106 added functions.
2107 (func_checker::compare_cst_or_decl): New function.
2108 (func_checker::compare_gimple_call): Identify
2109 memory operands.
2110 (func_checker::compare_gimple_assign): Likewise.
2111 * ipa-icf-gimple.h: New function.
2112
2113 2015-01-09 Martin Liska <mliska@suse.cz>
2114
2115 PR ipa/64503
2116 * sreal.c (sreal::dump): Change unsigned format to signed for
2117 m_exp value.
2118 (sreal::to_double): Replace exp2 with scalbln.
2119
2120 2015-01-09 Martin Liska <mliska@suse.cz>
2121
2122 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
2123 * ipa-icf.c (sem_function::equals_private): Add support for target and
2124 (sem_item_optimizer::merge_classes): Remove redundant function
2125 optimization flags comparison.
2126 * tree.h (target_opts_for_fn): New function.
2127
2128 2015-01-09 Tom de Vries <tom@codesourcery.com>
2129
2130 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
2131
2132 2015-01-09 Kito Cheng <kito@0xlab.org>
2133
2134 PR rtl-optimization/64348
2135 * lra-constraints.c (split_reg): Fix caller-save store/restore
2136 instruction generation.
2137
2138 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
2139
2140 PR gcov-profile/61790
2141 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
2142 long long. Fallback to int64_t if host doesn't have long long and
2143 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
2144
2145 2015-01-08 Jakub Jelinek <jakub@redhat.com>
2146
2147 PR tree-optimization/63989
2148 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
2149 from 1000 to 10000.
2150 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
2151 (get_stridx): If we don't have a record for certain SSA_NAME,
2152 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
2153 constant offset, call get_stridx_plus_constant.
2154 (get_stridx_plus_constant): New function.
2155 (zero_length_string): Don't use get_stridx here.
2156
2157 PR target/55023
2158 PR middle-end/64388
2159 * dse.c (struct insn_info): Mention frame_read set also
2160 before reload for tail calls on some targets.
2161 (scan_insn): Revert 2014-12-22 change. Set frame_read
2162 also before reload for tail calls if
2163 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
2164 instead of add_non_frame_wild_read for non-const/memset
2165 tail calls after reload.
2166
2167 2015-01-08 Jason Merrill <jason@redhat.com>
2168
2169 * ubsan.c (do_ubsan_in_current_function): New.
2170 (pass_ubsan::gate): Use it.
2171 * ubsan.h: Declare it.
2172 * convert.c (convert_to_integer): Use it.
2173
2174 2015-01-08 Jakub Jelinek <jakub@redhat.com>
2175
2176 PR target/64338
2177 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
2178 compare_code when it is unconditionally overwritten afterwards.
2179 Use ix86_reverse_condition instead of reverse_condition. Don't
2180 change code if *reverse_condition* returned UNKNOWN and don't
2181 swap ct/cf and negate diff in that case.
2182
2183 2015-01-08 Mike Stump <mikestump@comcast.net>
2184
2185 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
2186 (pass_tsan_O0::gate): Likewise.
2187 * extend.texi (Function Attributes): Add no_sanitize_thread
2188 documentation.
2189
2190 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
2191
2192 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
2193 for registering builtins.
2194 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
2195 add -fopenmp to the argv_obstack used when invoking
2196 compile_for_target.
2197
2198 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
2199 add "-m32" or "-m64" to argv_obstack.
2200 (generate_host_descr_file): Likewise, when invoking host_compiler.
2201 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
2202 ld.
2203
2204 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
2205
2206 * config/sh/sh-mem.cc: Use constant as second operand when emitting
2207 tstsi_t insns.
2208
2209 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
2210
2211 PR target/55212
2212 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
2213 constant load if constant operand fits into I08.
2214
2215 2015-01-08 Jakub Jelinek <jakub@redhat.com>
2216
2217 PR sanitizer/64336
2218 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
2219 and TREE_THIS_VOLATILE for MEM_REFs.
2220 (build5_stat): Fix up initialization of TREE_READONLY and
2221 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
2222
2223 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
2224
2225 PR target/64533
2226 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
2227 of r for the second alternative of the destination operand.
2228
2229 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
2230
2231 PR target/36557
2232 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
2233
2234 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
2235
2236 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
2237 keywords.
2238 ([-fivar-visibility], [-fvisibility]): Likewise.
2239
2240 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
2241
2242 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
2243 the file where @code, @command, etc is more appropriate.
2244
2245 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
2246
2247 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
2248 of -mrecip= documentation.
2249
2250 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
2251
2252 PR target/64505
2253 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
2254 correct reload handler if -m32 -mpowerpc64 is used.
2255
2256 2015-01-06 Tom de Vries <tom@codesourcery.com>
2257
2258 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
2259
2260 2015-01-08 Christian Bruel <christian.bruel@st.com>
2261
2262 PR target/64507
2263 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
2264
2265 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
2266
2267 PR tree-optimization/63259
2268 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
2269 if optab exists for 16bit byteswap.
2270
2271 2015-01-06 Jakub Jelinek <jakub@redhat.com>
2272
2273 * opts.c (common_handle_option): Add support for
2274 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
2275 * doc/invoke.texi: Document -fno-sanitize=all,
2276 -f{,no-}sanitize-recover=all. Document that
2277 -fsanitize=float-cast-overflow is not enabled
2278 by -fsanitize=undefined. Fix up documentation
2279 of -f{,no-}sanitize-recover.
2280
2281 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
2282
2283 * config.gcc: Add Visium support.
2284 * configure.ac: Likewise.
2285 * configure: Regenerate.
2286 * doc/extend.texi (interrupt attribute): Add Visium.
2287 * doc/invoke.texi: Document Visium options.
2288 * doc/install.texi: Document Visium target.
2289 * doc/md.texi: Document Visium constraints.
2290 * common/config/visium: New directory.
2291 * config/visium: Likewise.
2292
2293 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
2294
2295 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
2296 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
2297
2298 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
2299
2300 * combine.c (combine_validate_cost): Do not count the cost of a
2301 split I2 twice. Do not display it twice in the dump, either.
2302
2303 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
2304
2305 Revert parts of r219199.
2306 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
2307 <inttypes.h>.
2308 ([-Wtraditional]): Restore markup on <limits.h>.
2309
2310 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2311
2312 PR c++/31397
2313 * doc/invoke.texi: Document -Wsuggest-override.
2314
2315 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
2316
2317 PR rtl-optimization/64287
2318 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
2319 (process_options): Disable flag_ipa_ra if profiling.
2320
2321 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
2322
2323 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
2324
2325 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
2326
2327 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
2328 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
2329 put under #if TARGET_LOOPS guard.
2330
2331 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
2332
2333 * config/i386/i386.c (output_387_binary_op): Use std::swap.
2334
2335 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
2336
2337 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
2338 * rtl.h (refers_to_regno_p): Add overload.
2339 * cse.c: Use it.
2340 * bt-load.c: Likewise.
2341 * combine.c: Likewise.
2342 * df-scan.c: Likewise.
2343 * sched-deps.c: Likewise.
2344 * config/s390/s390.c: Likewise.
2345 * config/m32r/m32r.c: Likewise.
2346 * config/rs6000/spe.md: Likewise.
2347 * config/rs6000/rs6000.c: Likewise.
2348 * config/pa/pa.c: Likewise.
2349 * config/stormy16/stormy16.c: Likewise.
2350 * config/cris/cris.c: Likewise.
2351 * config/arc/arc.md: Likewise.
2352 * config/arc/arc.c: Likewise.
2353 * config/sh/sh.md: Likewise.
2354 * config/sh/sh.c: Likewise.
2355 * config/frv/frv.c: Likewise.
2356
2357 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2358
2359 PR sanitizer/64265
2360 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
2361 call as cleanup of the whole body.
2362 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
2363 * tsan.c (replace_func_exit): New function.
2364 (instrument_func_exit): Moved earlier.
2365 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
2366 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
2367 been found.
2368 (tsan_pass): Don't call instrument_func_exit.
2369 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
2370 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
2371 inlining.
2372
2373 PR sanitizer/64344
2374 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
2375 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
2376 it to libubsan handler instead of EXPR. Fold comparisons earlier,
2377 if the result is integer_zerop, return NULL_TREE.
2378 * convert.c (convert_to_integer): Pass expr as ARG.
2379
2380 PR tree-optimization/64465
2381 * tree-inline.c (redirect_all_calls): During inlining
2382 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
2383 changed the stmt to a non-throwing call.
2384
2385 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
2386
2387 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
2388 etc markup throughout the file.
2389
2390 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2391
2392 Enable experimental TSAN support for Ada.
2393 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
2394
2395 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2396
2397 PR tree-optimization/64494
2398 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
2399 clear SSA_NAME_ANTI_RANGE_P flag.
2400
2401 2015-01-05 Marek Polacek <polacek@redhat.com>
2402
2403 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
2404
2405 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2406
2407 Update copyright years.
2408
2409 * gcc.c (process_command): Update copyright notice dates.
2410 * gcov-dump.c: Ditto.
2411 * gcov.c: Ditto.
2412 * doc/cpp.texi: Bump @copying's copyright year.
2413 * doc/cppinternals.texi: Ditto.
2414 * doc/gcc.texi: Ditto.
2415 * doc/gccint.texi: Ditto.
2416 * doc/gcov.texi: Ditto.
2417 * doc/install.texi: Ditto.
2418 * doc/invoke.texi: Ditto.
2419
2420 * auto-profile.c, auto-profile.h: Fix up Copyright line.
2421
2422 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
2423
2424 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
2425 verb tense, etc.
2426 ([-fvtable-verify], [-fvtv-debug]): Likewise.
2427 ([-Wabi]): Likewise.
2428 ([-fmessage-length]): Likewise.
2429 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
2430 ([-Wno-discarded-qualifiers]): Likewise.
2431 ([-Wnodiscarded-array-qualifiers]): Likewise.
2432 ([-Wno-virtual-move-assign]): Likewise.
2433 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
2434 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
2435 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
2436 ([-fsanitize-undefined-trap-on-error]): Likewise.
2437 ([-floop-interchange]): Likewise.
2438 ([-ftree-coalesce-inlined-vars]): Likewise.
2439 ([-fvect-cost-model]): Likewise.
2440 ([-flto]): Likewise.
2441 ([--param]): Likewise.
2442 (Spec Files): Likewise.
2443 ([-mstrict-align]): Likewise.
2444 ([-mfix-cortex-a53-835769]): Likewise.
2445 ([-march], [-mtune]): Likewise.
2446 ([-mpic-register]): Likewise.
2447 ([-munaligned-access]): Likewise.
2448 ([-msp8]): Likewise.
2449 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
2450 (AVR Built-in Macros): Likewise.
2451 ([-mpreferred-stack-boundary]): Likewise.
2452 ([-mtune-crtl]): Likewise.
2453 ([-mashf]): Likewise.
2454 ([-mmcu=]): Likewise.
2455 ([-minrt]): Likewise.
2456 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
2457 ([-mupper-regs]): Likewise.
2458 ([-matomic-model]): Likewise.
2459 ([-mdiv]): Likewise.
2460 ([-mzdcbranch]): Likewise.
2461 ([-mdisable-callt]): Likewise.
2462 ([-msoft-float]): Likewise.
2463 ([-m8byte-align]): Likewise.
2464 ([-fstack-reuse]): Likewise.
2465
2466 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2467
2468 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
2469 Fix markup, light copy-editing.
2470 ([-fauto-profile]): Rewrite to fix formatting and content
2471 problems.
2472
2473 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2474
2475 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
2476 Copy-edit description.
2477 ([-fisolate-erroneous-paths-attribute]): Likewise.
2478 * common.opt (fisolate-erroneous-paths-dereference):
2479 Copy-edit description.
2480 (fisolate-erroneous-paths-attribute): Likewise.
2481
2482 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2483
2484 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
2485 tidy grammar.
2486
2487 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2488
2489 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
2490 ([-fvtv-debug]): Likewise.
2491 ([-Wc++-compat]): Likewise.
2492 ([-Wc++11-compat]): Likewise.
2493 ([-Wc++14-compat]): Likewise.
2494 ([-Wno-sized-deallocation]): Likewise.
2495 ([-femit-class-debug-always]): Likewise.
2496 ([-femit-struct-debug-detailed]): Likewise.
2497 ([-fno-keep-inline-dllexport]): Likewise.
2498 ([-fira-algorithm]): Likewise.
2499 ([-fira-region]): Likewise.
2500 ([-flra-remat]): Likewise.
2501 ([-fipa-ra]): Likewise.
2502 ([-fhoist-adjacent-loads]): Likewise.
2503 ([-fisolate-erroneous-paths-dereference]): Likewise.
2504 ([-fisolate-erroneous-paths-attribute]): Likewise.
2505 ([-ftree-switch-conversion]): Likewise.
2506 ([-ftree-tail-merge]): Likewise.
2507 ([-ftree-loop-if-convert]): Likewise.
2508 ([-ftree-loop-if-convert-stores]): Likewise.
2509 ([-ftree-loop-distribution]): Likewise.
2510 ([-ftree-loop-distribute-patterns]): Likewise.
2511 ([-flto-compression-level]): Likewise.
2512 ([-flto-report]): Likewise.
2513 ([-flto-report-wpa]): Likewise.
2514 ([-fuse-linker-plugin]): Likewise.
2515 ([-mfix-cortex-a53-835769]): Likewise.
2516 ([-mno-fix-cortex-a53-835769]): Likewise.
2517 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
2518 explicit listing; add a note to the discussion indicating they
2519 exist. Reorder table to group similar options. Add missing
2520 @opindex entries. Add @need commands throughout the table to
2521 allow it to be split across multiple pages.
2522 ([-m8bit-idiv]): Fix @opindex.
2523 ([-mavx256-split-unaligned-load]): Likewise.
2524 ([-mavx256-split-unaligned-store]): Likewise.
2525 ([-mstack-protector-guard]): Likewise.
2526 ([-mcpu=]): Likewise.
2527 ([-mcpu]): Likewise.
2528 ([-mpointer-size=]): Likewise.
2529
2530 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
2531
2532 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
2533 instead of `m' constraint. Likewise for unnamed movb comparison
2534 patterns using reg_before_reload_operand predicate.
2535 * config/pa/predicates.md (reg_before_reload_operand): Tighten
2536 predicate to reject register index and LO_SUM DLT memory forms
2537 after reload.
2538
2539 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
2540
2541 * doc/invoke.texi (Option Summary): Fix spelling of
2542 -fdevirtualize-at-ltrans.
2543 ([-fdevirtualize]): Fix markup.
2544 ([-fdevirtualize-speculatively]): Fix typo.
2545 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
2546 implementor-speaky.
2547 * common.opt (fdevirtualize-at-ltrans): Likewise.
2548 * ipa-devirt.c: Fix typos in comments throughout the file.
2549 (ipa_devirt): Fix typos in format strings for dump output.
2550
2551 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
2552
2553 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
2554 discussion of defaults, light copy-editing.
2555
2556 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2557
2558 * tsan.c (instrument_expr): corrected previous checkin.
2559
2560 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2561
2562 Instrument bit field and unaligned accesses for TSAN.
2563 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
2564 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
2565 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
2566 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
2567 unaligned memory regions.
2568
2569 2015-01-01 Anthony Green <green@moxielogic.com>
2570
2571 * config/moxie/predicates.md (moxie_general_movsrc_operand):
2572 Restrict move source register offsets to 16 bits.
2573 \f
2574 Copyright (C) 2015 Free Software Foundation, Inc.
2575
2576 Copying and distribution of this file, with or without modification,
2577 are permitted in any medium without royalty provided the copyright
2578 notice and this notice are preserved.