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