ipa-devirt.c (odr_types_equivalent_p): Fix formating.
[official-gcc.git] / gcc / ChangeLog
blob445e9a93afe320b2b0c457f8b501c7155758a071
1 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
3         * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
4         (add_type_duplicate): Fix comparison of BINFOs.
6 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
8         * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
9         on getting VOID pointer.
11 2015-02-09  Jakub Jelinek  <jakub@redhat.com>
13         PR target/64979
14         * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
15         va_list escapes.
17 2015-02-09  Richard Biener  <rguenther@suse.de>
19         * genmatch.c (replace_id): Copy expr_type.
21 2015-02-09  Richard Biener  <rguenther@suse.de>
23         * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
24         (streamer_write_tree_bitfields): Declare.
25         * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
26         properly unpack padding.
27         (unpack_value_fields): Inline ...
28         (streamer_read_tree_bitfields): ... here.
29         * tree-streamer-out.c (pack_ts_base_value_fields): Inline
30         and properly add padding bits.
31         (streamer_pack_tree_bitfields): Fold into ...
32         (streamer_write_tree_bitfields): ... this new function,
33         exposing the bitpack object.
34         * lto-streamer-out.c (lto_write_tree_1): Call
35         streamer_write_tree_bitfields.
37 2015-02-09  Richard Biener  <rguenther@suse.de>
39         PR tree-optimization/54000
40         * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
41         (struct ivopts_data): Add loop_loc member.
42         (tree_ssa_iv_optimize_loop): Dump loop location.
43         (create_new_ivs): Likewise, also dump number of IVs generated.
45 2015-02-09  Martin Liska  <mliska@suse.cz>
47         * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
48         just if not yet registered.
49         (ipa_icf_generate_summary): Register callgraph hooks.
51 2015-02-08  Andrew Pinski  <apinski@cavium.com>
53         * config/aarch64/aarch64.c (gty_dummy): Delete.
55 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
57         PR ipa/63566 
58         * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
59         (cgraph_node::local_p): Remove thunk related FIXME.
61 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
63         PR ipa/63566 
64         * i386.c (ix86_function_regparm): Look through aliases to see if callee
65         is local and optimized.
66         (ix86_function_sseregparm): Likewise; also use target's SSE math
67         settings; error out instead of silently generating wrong code
68         on mismatches.
69         (init_cumulative_args): Look through aliases.
71 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
73         PR ipa/63566 
74         * ipa-split.c (execute_split_functions): Split if function has aliases.
76 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
78         PR ipa/63566 
79         * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
80         aliases before trying to expand it.
81         (cgraph_node::expand_thunk): Fix formating.
83 2015-02-07  Sandra Loosemore  <sandra@codesourcery.com>
85         * doc/extend.texi (Function Attributes [naked]): Copy-edit.
86         (Using Assembly Language with C): Expand introduction.
87         (Basic Asm): Copy-edit.  Add more information about uses of
88         basic asm.
89         (Extended Asm): Copy-edit.  Document new escape syntax and
90         %l[label] syntax.
91         (Global Reg Vars): Copy-edit.
92         (Local Reg Vars): Likewise.
94 2015-02-06  David Edelsohn  <dje.gcc@gmail.com>
96         PR debug/2714
97         PR bootstrap/64256
98         * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
99         (DBX_CONTIN_CHAR): Define.
101 2015-02-06  Sebastian Pop  <s.pop@samsung.com>
102             Brian Rzycki  <b.rzycki@samsung.com>
104         PR tree-optimization/64878
105         * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
106         (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
107         Stop recursion at loop phi nodes after having visited a loop phi node.
109 2015-02-06  Jakub Jelinek  <jakub@redhat.com>
111         * toplev.c (process_options): Change flag_ipa_ra before creating
112         optimization_{default,current}_node.
114         PR ipa/64896
115         * cgraphunit.c (cgraph_node::expand_thunk): If
116         restype is not is_gimple_reg_type nor the thunk_fndecl
117         returns aggregate_value_p, set restmp to a temporary variable
118         instead of resdecl.
120 2015-02-06  Vladimir Makarov  <vmakarov@redhat.com>
122         * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
124 2015-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
126         PR target/64205
127         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
128         add a general secondary reload handler for SDmode, unless we have
129         both read/write support for SDmode.
131 2015-02-06  Jakub Jelinek  <jakub@redhat.com>
133         PR middle-end/64937
134         * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
135         Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
136         or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
137         1 before, push it to abstract_vec.
138         (dwarf2out_abstract_function): Adjust caller.  Don't call
139         set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
140         DECL_ABSTRACT_P flags for all abstract_vec elts.
142 2015-02-06  Renlin Li  <renlin.li@arm.com>
144         * tree-ssa-forwprop.c (execute): Keep location info while rewrite
145         complex gimple.
146         * tree-ssa.c (execute_update_addresses_taken): Likewise.
148 2015-02-06  Jeff Law  <law@redhat.com>
150         PR target/64889
151         * config/h8300/h8300.c (push): New argument "in_prologue".
152         Pass "in_prologue" along to "F".
153         (h8300_push_pop): Corresponding changes.
154         (h8300_expand_prologue): Likewise.
155         (h8300_swap_into_er6): Likewise.  Do not set RTX_FRAME_RELATED_P.
157 2015-02-06  Jakub Jelinek  <jakub@redhat.com>
159         PR rtl-optimization/64957
160         PR debug/64817
161         * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
162         IOR rather than for AND.
164 2015-02-06  Eric Botcazou  <ebotcazou@adacore.com>
166         PR target/62631
167         * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
168         of shift-add and (add + shift) operations.  Rename local variable.
170 2015-02-05  Jeff Law  <law@redhat.com>
172         PR target/17306
173         * config/h8300/constraints.md (U): Correctly dectect
174         "eightbit_data" memory addresses.
175         * config/h8300/h8300.c (eightbit_constant_address_p): Also
176         handle (const (plus (symbol_ref (x)))) where x is declared
177         as an 8-bit data memory address.
178         * config/h8300/h8300.md (call, call_value): Correctly detect
179         "funcvec" functions.
181         PR target/43264
182         * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
183         24 to 28 bits for the H8/300.
185 2015-02-06  Alan Modra  <amodra@gmail.com>
187         PR target/64876
188         * config/rs6000/rs6000.c (chain_already_loaded): New function.
189         (rs6000_call_aix): Use it.
191 2015-02-05  Jan Hubicka <hubicka@ucw.cz>
193         * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
194         check.
196 2015-02-05  Joern Rennecke  <joern.rennecke@embecosm.com>
198         * config/h8300/constraints.md ("U" constraint): Use strict
199         variant of REG_OK_FOR_BASE_P after reload has started.
201 2015-02-04  Mantas Mikaitis  <mantas.mikaitis@arm.com>
203         * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
204         define to zero if !TARGET_NEON.
205         (TARGET_CPU_CPP_BUILTINS): Added second condition before defining
206         __ARM_FP macro.
208 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
209             Trevor Saunders  <tsaunders@mozilla.com>
211         PR ipa/61548
212         * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
214 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
216         PR ipa/61548
217         * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
218         when removing varpool nodes.
220 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
222         PR ipa/61548
223         * varpool.c (varpool_node::remove): Fix order of variables.
225 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
227         PR ipa/64686
228         * ipa-inline.c (inline_small_functions): Fix ordering issue between
229         speculation resolution and key updates.
231 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
233         * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
234         about not letting any speculative edges unupdated.
236 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
238         PR gcov/64123
239         * gcov-io.c (gcov_var): Export.
241 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
243         PR middle-end/64922
244         * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
245         edges that become speculative.
247 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
249         * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
250         or DW_LANG_Fortran08.
251         (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
252         DW_LANG_Fortran08.
253         (gen_compile_unit_die): Handle "GNU Fortran2003" and
254         "GNU Fortran2008" language strings.
255         * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
256         * langhooks.h (lang_GNU_Fortran): New prototype.
257         * langhooks.c (lang_GNU_Fortran): New function.
258         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
259         lang_GNU_Fortran.
261 2015-02-04  Eric Botcazou  <ebotcazou@adacore.com>
263         * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
264         (RTX_OK_FOR_OLO10_P): Likewise.
266 2015-02-04  Eric Botcazou  <ebotcazou@adacore.com>
268         * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
270 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
272         PR middle-end/64922
273         * gimple.c: Include gimple-ssa.h.
274         (maybe_remove_unused_call_args): New function.
275         * gimple.h (maybe_remove_unused_call_args): Declare.
276         * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
277         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
278         * gimple-fold.c (gimple_fold_call): Likewise.
280 2015-02-04  H.J. Lu  <hongjiu.lu@intel.com>
282         PR rtl-optimization/64905
283         * lra-eliminations.c (setup_can_eliminate): Clear hard frame
284         pointer alignment if it isn't needed.
286 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
288         * config/aarch64/aarch64-cores.def: Add cortex-a72 and
289         cortex-a72.cortex-a53.
290         * config/aarch64/aarch64-tune.md: Regenerate.
291         * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
293 2015-02-04  Nick Clifton  <nickc@redhat.com>
295         * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
296         inside a MEM.
298 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
300         * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
301         (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
302         (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
303         of DEF_BUILTIN.
304         (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
305         BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
306         DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
307         (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
308         BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
309         BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
310         DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
311         * tree-core.h (enum built_in_function): In between
312         BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
313         for builtins that use DEF_BUILTIN_CHKP macro.
315 2015-02-04  Alexandre Oliva <aoliva@redhat.com>
317         PR debug/64817
318         * cfgexpand.c (expand_debug_expr): Compute unsignedp from
319         operands for tcc_comparison exprs.  Fix typos.
321         PR debug/64817
322         * simplify-rtx.c (simplify_binary_operation_1): Simplify one
323         of two XORs that have an intervening AND or IOR.
325         PR debug/64817
326         * simplify-rtx.c (simplify_binary_operation_1): Rewrite
327         simplification of XOR of AND to not allocate new rtx before
328         committing to a simplification.
330 2015-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
332         * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
333         manual swaps in all peepholes.
335 2015-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
337         * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
338         of manual swapping implementation.
339         (aarch64_expand_vec_perm_const_1): Likewise.
341 2015-02-04  James Greenhalgh <james.greenhalgh@arm.com>
343         * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
344         (generic_addrcost_table): Remove NAMED_PARAM.
345         (cortexa57_addrcost_table): Likewise.
346         (xgene1_addrcost_table): Likewise.
347         (generic_regmove_table): Likewise.
348         (cortexa53_regmove_table): Likewise.
349         (xgene1_regmove_table): Likewise.
350         (generic_vector_table): Likewise.
351         (cortexa57_vector_table): Likewise.
352         (xgene1_vector_table): Likewise.
353         (generic_tunings): Likewise.
354         (cortexa53_tunings): Likewise.
355         (cortexa57_tunings): Likewise.
356         (xgene1_tunings): Likewise.
358 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
360         * config/arm/arm-cores.def: Add cortex-a72 and
361         cortex-a72.cortex-a53.
362         * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
363         * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
364         * config/arm/arm-tune.md: Regenerate.
365         * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
366         "cortex-a72.cortex-a53".
367         * doc/invoke.texi (ARM Options/-mtune): Likewise.
369 2015-02-04  Nick Clifton  <nickc@redhat.com>
371         PR target/64408
372         * config/fr30/predicates.md (di_operand): Add SUBREG to the list
373         of accepted codes.
374         (nonimmediate_di_operand): Likewise.
376         * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
377         prefixes of known F5 using MSP430 MCUs.
379 2015-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
381         * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
382         * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
383         instead of __builtin_sqrt.
385 2015-02-04  Ilya Enkovich  <ilya.enkovich@intel.com>
387         * varasm.c (do_assemble_alias): Follow transparent alias
388         chain for target.
389         (default_assemble_visibility): Follow transparent alias
390         chain for decl name.
392 2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
394         PR middle-end/62103
395         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
396         to compute size of referenced value in the constant case.
398 2015-02-03  Jakub Jelinek  <jakub@redhat.com>
400         PR rtl-optimization/64756
401         * cse.c (invalidate_dest): New function.
402         (cse_insn): Use it.  If dest != SET_DEST (sets[i].rtl) and
403         HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
404         invalidate and do not record it.
406 2015-02-03  Oleg Endo  <olegendo@gcc.gnu.org>
408         PR target/64660
409         * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
410         atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
411         atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
412         atomic_nand<mode>_soft_tcb): New insns.
413         (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
414         Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
415         (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
416         Split into atomic_not_fetchsi_hard if operands[0] is unused.
417         (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
418         Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
419         (atomic_fetch_not<mode>_hard): Convert to insn_and_split.  Split into
420         atomic_not<mode>_hard if operands[0] is unused.
421         (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
422         insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
423         if operands[0] is unused.
424         (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split.  Split
425         into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
426         (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
427         Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
428         unused.
429         (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split.  Split
430         into atomic_not<mode>_soft_tcb if operands[0] is unused.
431         (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
432         insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
433         if operands[0] is unused.
434         (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split.  Split
435         into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
436         (atomic_fetch_nandsi_hard): Convert to insn_and_split.  Split into
437         atomic_nand_fetchsi_hard if operands[0] is unused.
438         (atomic_fetch_nand<mode>_hard): Convert to insn_and_split.  Split into
439         atomic_nand<mode>_hard if operands[0] is unused.
440         (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split.  Split
441         into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
442         (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split.  Split
443         into atomic_nand<mode>_soft_tcb if operands[0] is unused.
444         (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split.  Split
445         into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
446         (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
447         Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
448         (atomic_not_fetch<mode>_hard): Convert to insn_and_split.  Split into
449         atomic_not<mode>_hard if operands[0] is unused.
450         (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
451         Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
452         unused.
453         (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
454         into atomic_not<mode>_soft_tcb if operands[0] is unused.
455         (atomic_nand_fetch<mode>_hard): Convert to insn_and_split.  Split into
456         atomic_nand<mode>_hard if operands[0] is unused.
457         (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
458         into atomic_nand<mode>_soft_tcb if operands[0] is unused.
460 2015-02-03  David Malcolm  <dmalcolm@redhat.com>
462         PR jit/64810
463         * Makefile.in (GCC_OBJS): Add gcc-main.o.
464         * gcc-main.c: New file, containing "main" taken from gcc.c.
465         * gcc.c (do_self_spec): Free decoded_options.
466         (class driver): Move declaration to gcc.h.
467         (main): Move declaration and implementation to new file
468         gcc-main.c.
469         (driver_get_configure_time_options): New function.
470         * gcc.h (class driver): Move this declaration here, from
471         gcc.c.
472         (driver_get_configure_time_options): New declaration.
474 2015-02-03  Jan Hubicka  <hubicka@ucw.cz>
476         * ipa-inline-analysis.c (simple_edge_hints): Fix check for
477         cross-module inlining.
478         * cgraph.h (cgraph_node): Add flag merged.
479         * ipa-icf.c (sem_function::merge): Maintain it.
481 2015-02-03  Richard Sandiford  <richard.sandiford@arm.com>
483         * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
484         instead of OBJECT_P.
486 2015-02-03  Eric Botcazou  <ebotcazou@adacore.com>
488         PR target/62631
489         * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
490         (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
491         * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
492         int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
494 2015-02-03  Jakub Jelinek  <jakub@redhat.com>
496         PR other/63504
497         * combine.c (reg_n_sets_max): New variable.
498         (can_change_dest_mode, reg_nonzero_bits_for_combine,
499         reg_num_sign_bit_copies_for_combine, get_last_value_validate,
500         get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
501         (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
502         (rest_of_handle_combine): Initialize reg_n_sets_max.
504 2015-02-02  Jan Hubicka  <hubicka@ucw.cz>
506         * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
507         if some always_inline was inlined, apply changes before inlining
508         heuristically.
510 2015-02-02  David Malcolm  <dmalcolm@redhat.com>
512         PR jit/64810
513         * config/arm/arm.c (arm_option_override): Set
514         arm_selected_arch/cpu/tune to NULL on entry.
516 2015-02-02  Tejas Belagod  <tejas.belagod@arm.com>
517             Andrew Pinski  <pinskia@gcc.gnu.org>
518             Jakub Jelinek  <jakub@gcc.gnu.org>
520         PR target/64231
521         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
522         integer typing for small model. Use IN_RANGE.
524 2015-02-02  Richard Biener  <rguenther@suse.de>
526         * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
527         * tree-vrp.c (vrp_valueize_1): Likewise.
529 2015-02-02  Alan Modra  <amodra@gmail.com>
531         * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
532         than mem for toc_restore.
533         * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
534         (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
535         (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
537 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
539         PR target/64047
540         * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
541         explicit default options.
543 2015-02-01  Jan Hubicka  <hubicka@ucw.cz>
545         PR ipa/64872
546         * ipa-utils.c (ipa_merge_profiles): Add release argument.
547         * ipa-icf.c (sem_function::merge): Do not release body when merging.
548         * ipa-utils.h (ipa_merge_profiles): Update prototype.
550 2015-02-01  Jakub Jelinek  <jakub@redhat.com>
552         PR debug/64817
553         * cfgexpand.c (deep_ter_debug_map): New variable.
554         (avoid_deep_ter_for_debug): New function.
555         (expand_debug_expr): If TERed SSA_NAME is in
556         deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
557         instead of trying to expand SSA_NAME's def stmt.
558         (expand_debug_locations): When expanding debug bind
559         of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
560         temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
561         value.
562         (pass_expand::execute): Call avoid_deep_ter_for_debug on
563         all debug bind stmts.  Delete deep_ter_debug_map after
564         expand_debug_location if non-NULL and clear it.
566 2015-02-01  Oleg Endo  <olegendo@gcc.gnu.org>
568         PR target/64851
569         * config/sh/sync.md (atomic_fetch_notsi_hard,
570         atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
571         atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
572         atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
573         atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
574         atomic_not_fetch<mode>_soft_imask): New insns.
576 2015-02-01  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
578         * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
579         (rank_for_schedule_debug): Split from ...
580         (rank_for_schedule): ... this.
581         (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
582         * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
584 2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>
586         * doc/md.texi (Machine Constraints): Alphabetize table by target.
587         * doc/extend.texi (x86 Variable Attributes): Move section to
588         correct alphabetization after renaming.
589         (x86 Type Attributes): Likewise.
590         (Target Builtins): Re-alphabetize menu.
591         (x86 Built-in Functions): Move section to correct alphabetization
592         after renaming.
593         (x86 transactional memory intrinsics): Likewise.
594         * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
595         and x86 Windows Options in table and menu.
596         (x86 Options): Move section to correct alphabetization after
597         renaming.
598         (x86 Windows Options): Likewise.
600 2015-01-31  Sandra Loosemore  <sandra@codesourcery.com>
602         * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
603         preferred names of the architecture and its 32- and 64-bit
604         variants.
605         * doc/invoke.texi: Likewise.
606         * doc/md.texi: Likewise.
608 2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
610         PR target/64882
611         * config/i386/predicates.md (address_no_seg_operand): Reject
612         non-CONST_INT_P operands in invalid mode.
614 2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
616         * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
617         address_operand 0.  Rename from *prefetch_prefetchwt1_<mode>.
618         * config/i386/predicates.md (address_no_seg_operand): Call
619         address_operand with VOIDmode.
620         (vsib_address_operand): Ditto.
621         (address_mpx_no_base_operand): Ditto.
622         (address_mpx_no_index_operand): Ditto.
624 2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>
626         PR target/64688
627         * lra-constraints.c (original_subreg_reg_mode): New.
628         (simplify_operand_subreg): Try to simplify subreg of const.  Use
629         original_subreg_reg_mode for it.
630         (swap_operands): Update original_subreg_reg_mode.
631         (curr_insn_transform): Set up original_subreg_reg_mode.
633 2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>
635         PR target/64617
636         * lra-constraints.c (prohibited_class_reg_set_mode_p): New
637         function.
638         (process_alt_operands): Use it.
639         (curr_insn_transform): Check the optional reload pseudo class is
640         ok for the mode.
642 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
644         * diagnostic.c (fatal_error (const char *, ...)): Remove function.
645         * diagnostic-core.h (fatal_error (const char *, ...)): Remove
646         prototype.
647         * toplev.h (init_asm_output): Update comment on use of
648         UNKNOWN_LOCATION with fatal_error.
649         * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
650         config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
651         config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
652         config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
653         config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
654         config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
655         config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
656         ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
657         lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
658         lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
659         tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
660         fatal_error changed to pass input_location as first argument.
662 2015-01-30  Martin Liska  <mliska@suse.cz>
664         * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
665         in #pragma GCC diagnostic guards.
667 2015-01-30  Richard Biener  <rguenther@suse.de>
669         PR tree-optimization/64829
670         * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
671         not add a widening conversion pattern but hand off extra
672         widenings to callers.
673         (vect_recog_widen_mult_pattern): Handle extra widening produced
674         by vect_handle_widen_op_by_const.
675         (vect_recog_widen_shift_pattern): Likewise.
676         (vect_pattern_recog_1): Remove excess vertical space in dumping.
677         * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
678         (vect_init_vector_1): Likewise.
679         (vect_get_vec_def_for_operand): Likewise.
680         (vect_finish_stmt_generation): Likewise.
681         (vectorizable_load): Likewise.
682         (vect_analyze_stmt): Likewise.
683         (vect_is_simple_use): Likewise.
685 2015-01-29  Jeff Law  <law@redhat.com>
687         * combine.c (try_combine): Fix typo in comment.
689 2015-01-29  Segher Boessenkool  <segher@kernel.crashing.org>
691         PR target/64580
692         * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
693         (rs6000_stack_info): Add assert.
694         (rs6000_output_savres_externs): New function, split off from...
695         (rs6000_output_function_prologue): ... here.  Do not call it for
696         thunks.
698 2015-01-29  Jeff Law  <law@redhat.com>
700         PR target/15184
701         * combine.c (try_combine): If I0 is a memory load and I3 a store
702         to a related address, increase the "goodness" of doing a 4-insn
703         combination with I0-I3.
704         (make_field_assignment): Handle SUBREGs in the ior+and case.
706 2015-01-29  Yuri Rumyantsev  <ysrumyan@gmail.com>
708         PR tree-optimization/64746
709         * tree-if-conv.c (mask_exists): New function.
710         (predicate_mem_writes): Save created mask with given size for further
711         use.
712         (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
713         (ifcvt_repair_bool_pattern): Collect all statements that are root
714         of bool pattern and use iterative algorithm to remove multiple uses
715         of predicates, display number of required iterations.
717 2015-01-29  Richard Biener  <rguenther@suse.de>
719         PR tree-optimization/64853
720         * tree-vrp.c (vrp_valueize_1): Do not return anything if the
721         stmt will get simulated again.
722         * tree-ssa-ccp.c (valueize_op_1): Likewise.
724 2015-01-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
726         * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
727         return_in_pc.  Remove redundant assignments.
728         (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
729         (arm_expand_epilogue): Don't compare boolean with true in if condition.
731 2015-01-29  Uros Bizjak  <ubizjak@gmail.com>
733         * config/i386/i386.c (ix86_mode_after): Make static.
735 2015-01-29  Richard Biener  <rguenther@suse.de>
737         PR tree-optimization/64844
738         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
739         dump cost model analysis.
740         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
741         Do not register adjusted load/store costs here.
743 2015-01-29  Ilya Enkovich  <ilya.enkovich@intel.com>
744             Uros Bizjak  <ubizjak@gmail.com>
746         * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
747         * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
748         using x86_use_pseudo_pic_reg.
749         * config/i386/i386.c (ix86_conditional_register_usage): Remove
750         support for fixed PIC register.
751         (ix86_use_pseudo_pic_reg): Not static any more.
753 2015-01-29  Ilya Enkovich  <ilya.enkovich@intel.com>
755         PR middle-end/64805
756         * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
757         to avoid error in cgraph node verification.
759 2015-01-29  Marek Polacek  <polacek@redhat.com>
761         * doc/standards.texi: Reflect that the default for C is gnu11.
763 2015-01-29  Kaz Kojima  <kkojima@gcc.gnu.org>
765         PR target/64761
766         * reorg.c (switch_text_sections_between_p): New function.
767         (relax_delay_slots): Call it when testing if the jump insn
768         is removable.  Use targetm.can_follow_jump when testing if
769         the conditional branch can follow an unconditional jump.
771 2015-01-27  Caroline Tice  <cmtice@google.com>
773         Committing VTV Cywin/Ming patch for Patrick Wollgast
774         * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
775         if -fvtable-verify=preinit/std is used.
776         * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
777         * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
778         * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
779         if -fvtable-verify=preinit/std is used.
780         * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
781         * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
782         if -fvtable-verify=preinit/std is used.
783         * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
784         * config/i386/mingw32.h (LIB_SPEC): Likewise.
785         * varasm.c (assemble_variable): Add code to properly set the comdat
786         section and name for the .vtable_map_vars section in case the
787         target is PE or COFF.
789 2015-01-29  Jan Hubicka  <hubicka@ucw.cz>
791         PR ipa/64801
792         * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
793         make sane BB profile.
794         (cgraph_node::expand_thunk): Make sane BB profile.
795         (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
796         * cgraph.h (init_lowered_empty_function): Update prototype.
797         * config/i386/i386.c (make_resolver_func): Update call.
798         * predict.c (gate): Disable branch prediction pass if
799         profile is already there.
801 2015-01-29  Jan Hubicka  <hubicka@ucw.cz>
803         * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
804         * opth-gen.awk: Likewise.
805         * common.opt: Mark flag_fp_contract_mode as Optimization.
807 2015-01-29  Bernd Edlinger  <bernd.edlinger@hotmail.de>
809         * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
810         * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
812 2015-01-28  Oleg Endo  <olegendo@gcc.gnu.org>
814         PR target/64659
815         * config/sh/predicates.md (atomic_arith_operand,
816         atomic_logical_operand): Remove.
817         * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
818         (atomic_arith_operand_0): New predicate.
819         (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
820         Use atomic_arith_operand_0 for input values.
821         (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
822         atomic_compare_and_swap<mode>_soft_gusa,
823         atomic_compare_and_swap<mode>_soft_tcb,
824         atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
825         arith_reg_operand instead of register_operand.
826         (atomic_exchange<mode>): Use arith_reg_dest for output value.  Use
827         atomic_arith_operand_0 for newval input.
828         (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
829         atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
830         atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
831         arith_reg_operand instead of register_operand.
832         (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
833         fetchop_predicate_1, fetchop_constraint_1_llcs,
834         fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
835         fetchop_constraint_1_imask): New code iterator attributes.
836         (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
837         register_operand.  Use fetchop_predicate_1.
838         (atomic_fetch_<fetchop_name>si_hard,
839         atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
840         register_operand.  Use fetchop_predicate_1, fetchop_constraint_1_llcs.
841         (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
842         and arith_reg_operand instead of register_operand.  Use
843         fetchop_predicate_1, fetchop_constraint_1_gusa.
844         (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
845         and arith_reg_operand instead of register_operand.  Use
846         fetchop_predicate_1, fetchop_constraint_1_tcb.  Adjust asm sequence
847         to allow R0 usage.
848         (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
849         and arith_reg_operand instead of register_operand.  Use
850         fetchop_predicate_1, fetchop_constraint_1_imask.  Adjust asm sequence
851         to allow R0 usage.
852         (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
853         register_operand.  Use atomic_logical_operand_1.
854         (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
855         atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
856         arith_reg_operand instead of register_operand.
857         (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
858         Use arith_reg_dest and arith_reg_operand instead of register_operand.
859         Use logical_operand and rK08.  Adjust asm sequence to allow R0 usage.
860         (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
861         register_operand.  Use fetchop_predicate_1.
862         (atomic_<fetchop_name>_fetchsi_hard,
863         atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
864         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
865         fetchop_constraint_1_llcs.
866         (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
867         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
868         fetchop_constraint_1_gusa.
869         (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
870         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
871         fetchop_constraint_1_tcb.  Adjust asm sequence to allow R0 usage.
872         (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
873         arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
874         fetchop_constraint_1_imask.  Adjust asm sequence to allow R0 usage.
875         (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
876         register_operand.  Use atomic_logical_operand_1.
877         (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
878         atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
879         arith_reg_operand instead of register_operand.
880         (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
881         arith_reg_operand instead of register_operand.  Use logical_operand
882         and K08.  Adjust asm sequence to allow R0 usage.
883         (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
884         arith_reg_operand instead of register_operand.  Use logical_operand
885         and K08.
887 2015-01-28  Jakub Jelinek  <jakub@redhat.com>
889         PR other/63504
890         * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
891         Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
892         (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
893         only get_full_len HOST_WIDE_INTs from get_val () array rather than
894         all bits in *val_wide.
896 2015-01-28  Jan Hubicka  <hubicka@ucw.cz>
898         * varpool.c (tls_model_names): Fix names.
899         (varpool_node::dump): Dump tls- prefix for tls models.
901 2015-01-28  Thomas Schwinge  <thomas@codesourcery.com>
902             Bernd Schmidt  <bernds@codesourcery.com>
903             Nathan Sidwell  <nathan@codesourcery.com>
905         * config/nvptx/mkoffload.c: New file.
906         * config/nvptx/t-nvptx: Add build rules for it.
907         * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
908         (extra_programs): Add mkoffload.
909         * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
910         function.
911         (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
913 2015-01-28  Yuri Rumyantsev  <ysrumyan@gmail.com>
915         PR middle-end/64809
916         * cfgexpand.c (reorder_operands): Skip debug gimples.
918 2015-01-28  Ilya Enkovich  <ilya.enkovich@intel.com>
920         PR tree-optimization/64277
921         * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
922         range info when possible to refine estimation.
924 2015-01-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>
926         PR tree-optimization/64718
927         * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
928         be a 16bit unsigned integer when n->range is 16.
929         (bswap_replace): Convert src to that type if necessary for all bswap
930         sizes.  Fix rotation right notation in nearby comment.  Use bswap_type
931         set in pass_optimize_bswap::execute ().
933 2015-01-28  James Greenhalgh  <james.greenhalgh@arm.com>
935         * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
936         * config/aarch64/aarch64-simd-builtins.def (abs): Split by
937         integer and floating point variants.
938         * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
940 2015-01-28  Robert Suchanek  <robert.suchanek@imgtec.com>
942         * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
943         for all vector modes.
945 2015-01-28  Jakub Jelinek  <jakub@redhat.com>
947         PR bootstrap/64612
948         * doc/sourcebuild.texi (comdat_group): Document.
950 2015-01-28  Terry Guo  <terry.guo@arm.com>
952         * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
954 2015-01-27  David Malcolm  <dmalcolm@redhat.com>
956         * toplev.c (print_version): Add param "show_global_state", and
957         only print GGC and plugin information if it is true.
958         (init_asm_output): Pass in "true" for the new param when calling
959         print_version.
960         (process_options): Likewise.
961         (toplev::main): Likewise.
962         * toplev.h (print_version): Add new param to decl.
964 2015-01-27  Jan Hubicka  <hubicka@ucw.cz>
966         PR ipa/60871
967         PR ipa/64139
968         * tree.c (lookup_binfo_at_offset): New function.
969         (get_binfo_at_offset): Use it.
971 2015-01-27  Jan Hubicka  <hubicka@ucw.cz>
973         PR ipa/64282
974         * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
975         on vtable being vtable.
977 2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>
979         * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
980         * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
981         -mhotpatch= option.
982         * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
983         -mno-hotpatch options.  Change syntax of -mhotpatch= option.
984         * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
985         Renamed.
986         (s390_hotpatch_trampoline_halfwords_max): Renamed.
987         (s390_hotpatch_hw_max): New name.
988         (s390_hotpatch_trampoline_halfwords): Renamed.
989         (s390_hotpatch_hw_before_label): New name.
990         (get_hotpatch_attribute): Removed.
991         (s390_hotpatch_hw_after_label): New name.
992         (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
993         attribute.
994         (s390_attribute_table): Ditto.
995         (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
996         (s390_function_num_hotpatch_hw): New name.
997         Remove special handling of inline functions and hotpatching.
998         Return number of nops before and after the function label.
999         (s390_can_inline_p): Removed.
1000         (s390_asm_output_function_label): Emit a configurable number of nops
1001         after the function label.
1002         (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
1003         (TARGET_CAN_INLINE_P) Removed.
1004         (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
1006 2015-01-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1007             Jiong Wang  <jiong.wang@arm.com>
1009         * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
1010         of scratch reg.
1011         (cb<optab><mode>1): Likewise.
1012         * config/aarch64/iterators.md (bcond): New define_code_attr.
1014 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1016         * config/s390/s390.c (s390_memory_move_cost): Increase costs for
1017         memory accesses.
1019 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1021         * config/s390/s390.c (s390_register_move_cost): Increase costs for
1022         FPR->GPR moves.
1024 2015-01-27  Richard Biener  <rguenther@suse.de>
1026         * tree-vrp.c (update_value_range): Intersect the range with
1027         old recorded SSA name range information.
1029 2015-01-27  Nick Clifton  <nickc@redhat.com>
1031         * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
1032         BC, DE and HL registers directly, not via AX.
1033         When decrementing the stack pointer by a large amount, transfer SP
1034         into AX and perform the subtraction there.
1035         (rl78_expand_epilogue): Perform the inverse of the above
1036         enhancements.
1038 2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1040         * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
1042 2015-01-27  Jakub Jelinek  <jakub@redhat.com>
1043             Yury Gribov  <y.gribov@samsung.com>
1045         PR ubsan/64741
1046         * ubsan.c (ubsan_source_location): Refactor code.
1047         (ubsan_type_descriptor): Update type size. Refactor code.
1049 2015-01-27  Richard Biener  <rguenther@suse.de>
1051         PR tree-optimization/56273
1052         PR tree-optimization/59124
1053         PR tree-optimization/64277
1054         * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
1055         from the first VRP pass.
1057 2015-01-27  Jakub Jelinek  <jakub@redhat.com>
1059         PR ipa/64776
1060         * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
1061         handle the first argument in the same loop as all the other arguments.
1063         PR rtl-optimization/61058
1064         * jump.c (cleanup_barriers): Update basic block boundaries
1065         if BLOCK_FOR_INSN is non-NULL on PREV.
1067 2015-01-27  Ilya Enkovich  <ilya.enkovich@intel.com>
1069         * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
1070         bounds narrowing, already instrumented calls and calls to
1071         not instrumentable functions.
1073 2015-01-27  Jakub Jelinek  <jakub@redhat.com>
1075         PR tree-optimization/64807
1076         * wide-int.cc (wi::divmod_internal): Clear
1077         b_dividend[dividend_blocks_needed].
1079 2015-01-26  DJ Delorie  <dj@redhat.com>
1081         * config/rl78/rl78.c (move_elim_pass): Don't optimize away
1082         volatile memory references.
1084 2015-01-26  Oleg Endo  <olegendo@gcc.gnu.org>
1086         PR target/49263
1087         * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
1088         remove_insn.
1089         * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
1090         shifts if it already fits into K08.
1092 2015-01-26  Jakub Jelinek  <jakub@redhat.com>
1094         PR ipa/64730
1095         * ipa-inline.c (inline_small_functions): Print "unknown" even
1096         if edge->call_stmt is non-NULL, but has builtins or unknown
1097         location.
1099         PR middle-end/64421
1100         * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
1101         with asterisk, skip the first character.
1103 2015-01-26  H.J. Lu  <hongjiu.lu@intel.com>
1105         PR target/64806
1106         * config/i386/i386 (feature_priority): Revert the last P_POPCNT
1107         order change.
1109 2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
1111         PR target/64795
1112         * config/i386/i386.md (*movdi_internal): Also check operand 0
1113         to determine TYPE_LEA operand.
1114         (*movsi_internal): Ditto.
1116 2015-01-26  Jakub Jelinek  <jakub@redhat.com>
1118         * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
1119         OPTION_MASK_QUAD_MEMORY_ATOMIC.
1121 2015-01-26  Renlin Li  <renlin.li@arm.com>
1123         * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
1124         the comment.
1125         * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
1126         for higher part.
1128 2015-01-26  Richard Biener  <rguenther@suse.de>
1130         PR middle-end/64764
1131         * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
1132         combining two BIT_AND_EXPR predicates.
1134 2015-01-26  H.J. Lu  <hongjiu.lu@intel.com>
1136         PR bootstrap/64754
1137         * tree-ssa-structalias.c (new_var_info): Initialize ruid.
1139 2015-01-26  Terry Guo  <terry.guo@arm.com>
1141         * config/arm/arm.c (arm_file_start): Update the assignment of
1142         Tag_ABI_HardFP_use.
1144 2015-01-25  James Greenhalgh  <james.greenhalgh@arm.com>
1146         * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
1147         pipeline model.
1148         config/arm/arm.md: Include the new Cortex-A57 model.
1149         (generic_sched): Don't use generic_sched when tuning for
1150         Cortex-A57.
1152 2015-01-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
1153             Uros Bizjak  <ubizjak@gmail.com>
1155         * config/i386/i386.c (get_builtin_code_for_version): Add
1156         support for BMI and BMI2 multiversion functions.
1158 2015-01-25  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1160         * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
1161         (extract_bit_field): Likewise.
1162         (extract_low_bits): Likewise.
1163         (expand_mult): Likewise.
1164         (expand_mult_highpart_adjust): Likewise.
1166 2015-01-24  H.J. Lu  <hongjiu.lu@intel.com>
1168         * config/i386/driver-i386.c (host_detect_local_cpu): Check new
1169         Silvermont, Haswell, Broadwell and Knights Landing model numbers.
1170         * config/i386/i386.c (processor_model): Add
1171         M_INTEL_COREI7_BROADWELL.
1172         (arch_names_table): Add "broadwell".
1174 2015-01-24  Oleg Endo  <olegendo@gcc.gnu.org>
1176         PR target/49263
1177         PR target/53987
1178         PR target/64345
1179         PR target/59533
1180         PR target/52933
1181         PR target/54236
1182         PR target/51244
1183         * config/sh/sh-protos.h
1184         (sh_extending_set_of_reg::can_use_as_unextended_reg,
1185         sh_extending_set_of_reg::use_as_unextended_reg,
1186         sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
1187         sh_is_movrt_insn, sh_insn_operands_modified_between_p,
1188         sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
1189         sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
1190         (sh_treg_insns): New class.
1191         * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
1192         (scope_counter): New class.
1193         (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
1194         sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
1195         sh_extending_set_of_reg::can_use_as_unextended_reg,
1196         sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
1197         sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
1198         sh_split_treg_set_expr): New functions.
1199         (addsubcosts): Handle treg_set_expr.
1200         (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
1201         (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
1202         (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
1203         (sh_insn_operands_modified_between_p): Make non-static.
1204         * config/sh/predicates.md (zero_extend_movu_operand): Allow
1205         simple_mem_operand in addition to displacement_mem_operand.
1206         (zero_extend_operand): Don't allow zero_extend_movu_operand.
1207         (treg_set_expr, treg_set_expr_not_const01,
1208         arith_reg_or_treg_set_expr): New predicates.
1209         * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
1210         arith_or_int_operand instead of logical_operand.  Convert to
1211         insn_and_split.  Try to optimize constant operand in splitter.
1212         (tsthi_t, tstqi_t): Fold into *tst<mode>_t.  Convert to insn_and_split.
1213         (*tstqi_t_zero): Delete.
1214         (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
1215         (tstsi_t_and_not): Delete.
1216         (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
1217         Convert to insn_and_split.
1218         (unnamed split, tstsi_t_zero_extract_xor,
1219         tstsi_t_zero_extract_subreg_xor_little,
1220         tstsi_t_zero_extract_subreg_xor_big): Delete.
1221         (*tstsi_t_shift_mask): New insn_and_split.
1222         (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
1223         to recombine with surrounding insns when splitting.
1224         (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
1225         (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
1226         (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
1227         *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
1228         (*cbranch_div0s: Delete.
1229         (*addc): Convert to insn_and_split.  Use treg_set_expr as 3rd operand.
1230         Try to recombine with surrounding insns when splitting.  Add operand
1231         order variants.
1232         (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
1233         (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
1234         *addc_r_r_msb, *addc_2r_msb): Delete.
1235         (*addc_2r_lsb): Rename to *addc_2r_t.  Use treg_set_expr.  Add operand
1236         order variant.
1237         (*addc_negreg_t): New insn_and_split.
1238         (*subc): Convert to insn_and_split.  Use treg_set_expr as 3rd operand.
1239         Try to recombine with surrounding insns when splitting.
1240         Add operand order variants.
1241         (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
1242         insn_and_split patterns.
1243         (*rotcr): Use arith_reg_or_treg_set_expr.  Try to recombine with
1244         surrounding insns when splitting.
1245         (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
1246         (*rotcl): Likewise.  Add zero_extract variant.
1247         (*ashrsi2_31): New insn_and_split.
1248         (*negc): Convert to insn_and_split.  Use treg_set_expr.
1249         (*zero_extend<mode>si2_disp_mem): Update comment.
1250         (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
1251         condition.
1252         (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr.  Try to recombine
1253         with surrounding insns when splitting.
1254         (any_treg_expr_to_reg): New insn_and_split.
1255         (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
1256         *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
1257         *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
1258         *zero_extract_2): New single bit zero extract patterns.
1259         (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
1260         (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
1261         *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
1262         *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
1263         set destination.
1264         (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
1265         register_operand for set source.
1267 2015-01-23  Jan Hubicka  <hubicka@ucw.cz>
1269         * i386.opt (prefetch_sse): New targetsave.
1270         * i386.c (ix86_function_specific_save): Save prefetch_sse.
1271         (ix86_function_specific_restore): Restore prefetch_sse and initialize
1272         ix86_cost/ix86_tune_cost.
1274 2015-01-23  David Malcolm  <dmalcolm@redhat.com>
1276         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
1277         Support the JIT by using 0 as the language type.
1279 2015-01-23  Vladimir Makarov  <vmakarov@redhat.com>
1281         PR target/64317
1282         * lra-lives.c (make_hard_regno_born): Add parameter.  Don't make
1283         REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
1284         (mark_regno_live, process_bb_lives): Pass new parameter value to
1285         make_hard_regno_born.
1287 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
1289         PR rtl-optimization/63637
1290         PR rtl-optimization/60663
1291         * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
1292         if elt->cost is MAX_COST for ASM_OPERANDS.
1293         (find_sets_in_insn): Fix up comment typo.
1294         (cse_insn): Don't set src_volatile for all non-volatile
1295         ASM_OPERANDS in PARALLELs, but just those with multiple outputs
1296         or with "memory" clobber.  Set elt->cost to MAX_COST
1297         for ASM_OPERANDS in PARALLEL.  Set src_elt->cost to MAX_COST
1298         if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
1300 2015-01-23  Uros Bizjak  <ubizjak@gmail.com>
1302         * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
1303         alternative 1.
1305 2015-01-23  Uros Bizjak  <ubizjak@gmail.com>
1307         * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
1308         libgcc/config/i386/elf-lib.h.
1310 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
1312         PR driver/64737
1313         * gcc.c (print_configuration): Don't print a blank line at the end
1314         here...
1315         (run_attempt): ... but here unstead.
1317         PR middle-end/64734
1318         * omp-low.c (scan_sharing_clauses): Don't ignore
1319         OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
1320         on target data/update constructs.
1322 2015-01-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1324         PR target/50928
1325         * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
1326         (DEBUG_RELOAD): Removed define.
1327         (m32c_limit_reload_class): Enable traces with if DEBUG0.
1328         (m32c_function_arg): Added a type cast.
1329         (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
1330         * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
1331         * config/m32c/bitops.md (andqi3_16): Likewise.
1332         * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
1333         (push_a01_l): Likewise.
1335 2015-01-23  David Malcolm  <dmalcolm@redhat.com>
1337         PR jit/64721
1338         * main.c (main): Construct toplev instances with init_signals=true.
1339         * toplev.c (general_init): Add param "init_signals", and use it to
1340         conditionalize the calls to signal and host_hooks.extra_signals.
1341         (toplev::toplev): Add param "init_signals".
1342         (toplev::main): When invoking general_init, pass m_init_signals
1343         to control whether signal-handlers are installed.
1344         * toplev.h (toplev::toplev): Add param "init_signals".
1345         (toplev::m_init_signals): New field.
1347 2015-01-23  David Malcolm  <dmalcolm@redhat.com>
1349         PR jit/64722
1350         * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
1351         NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
1352         latter may be affected by the former (e.g. on i686).
1354 2015-01-23  Martin Liska  <mliska@suse.cz>
1356         * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
1357         false positive during profiledbootstrap.
1359 2015-01-23  Tom de Vries  <tom@codesourcery.com>
1361         PR libgomp/64672
1362         * lto-opts.c (lto_write_options): Output non-explicit conservative
1363         -fno-openacc.
1364         * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
1365         (append_compiler_options): Pass -fopenacc through.
1367 2015-01-23  Tom de Vries  <tom@codesourcery.com>
1369         PR libgomp/64707
1370         * lto-opts.c (lto_write_options): Output non-explicit conservative
1371         -fno-openmp.
1372         * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
1373         (append_compiler_options): Pass -fopenmp through.
1375 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
1377         PR debug/64511
1378         * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
1379         GTY markup.
1381         * diagnostic-core.h (internal_error_no_backtrace): New prototype.
1382         * diagnostic.def (DK_ICE_NOBT): New kind.
1383         * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
1384         like DK_ICE, but never print backtrace.
1385         (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
1386         (internal_error_no_backtrace): New function.
1387         * gcc.c (execute): Use internal_error_no_backtrace instead of
1388         internal_error.
1390 2015-01-22  Jeff Law  <law@redhat.com>
1392         PR target/52076
1393         * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
1394         improve code density for small immediate to memory case.
1395         (insv): Better handle bitfield assignments when the field is
1396         being set to all ones.
1397         * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
1398         operand predicate.
1400 2015-01-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1401             Jakub Jelinek  <jakub@redhat.com>
1403         * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
1404         for !TARGET_LIBC_PROVIDES_SSP version and
1405         -fstack-protector-{all,strong,explicit} otherwise.
1406         * config/freebsd.h (LINK_SSP_SPEC): Handle
1407         -fstack-protector-{strong,explicit}.
1409 2015-01-22  Jan Hubicka  <hubicka@ucw.cz>
1410             H.J. Lu  <hongjiu.lu@intel.com>
1412         PR ipa/64694
1413         * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
1414         heap.
1416 2015-01-22  Wei Mi  <wmi@google.com>
1418         PR rtl-optimization/64557
1419         * dse.c (record_store): Call get_addr for mem_addr.
1420         (check_mem_read_rtx): Likewise.
1422 2015-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1424         * fold-const.c (const_binop): Add early return for non-tcc_binary.
1426 2015-01-22  Chen Gang  <gang.chen.5i5j@gmail.com>
1428         * toplev.c (init_local_tick): Process the failure when read
1429         fails for random_seed.
1431         * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
1432         'pretty_name' to avoid memory overflow.
1434 2015-01-22  Richard Biener  <rguenther@suse.de>
1436         PR middle-end/64728
1437         * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
1438         abnormal coalescing on undefined SSA names.
1440 2015-22-01  Uros Bizjak  <ubizjak@gmail.com>
1442         PR target/64688
1443         PR target/64477
1444         * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
1445         for alternative 3.
1446         (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
1448 2015-01-22  Trevor Saunders  <tsaunders@mozilla.com>
1450         PR middle-end/63325
1451         * fold-const.c (fold_checksum_tree): Don't include value of
1452         expr->decl_with_vis.symtab_node in the checksum.
1454 2015-01-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1456         * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
1458 2015-01-22  Max Ostapenko  <m.ostapenko@partner.samsung.com>
1460         PR driver/64690
1461         * gcc.c (insert_comments): New function.
1462         (try_generate_repro): Call it.
1463         (append_text): Removed.
1465 2015-01-22  Richard Biener  <rguenther@suse.de>
1467         * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
1468         with IL incompatible options.  Properly honor user optimize
1469         attributes.
1471 2015-01-21  Segher Boessenkool  <segher@kernel.crashing.org>
1473         PR rtl-optimization/64682
1474         * combine.c (distribute_notes): When moving a death note for
1475         a register that is set in the new I2, make sure to put it
1476         before that new I2.
1478 2015-01-21  David Edelsohn  <dje.gcc@gmail.com>
1480         * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
1481         not TARGET_DEFAULT.
1483 2015-01-21  Jakub Jelinek  <jakub@redhat.com>
1485         PR debug/64511
1486         * simplify-rtx.c (simplify_relational_operation_1): Don't try to
1487         optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
1488         into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
1490         PR sanitizer/64706
1491         * doc/invoke.texi (-fsanitize=vptr): Document.
1493         PR rtl-optimization/62078
1494         * dse.c: Include cfgcleanup.h.
1495         (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
1496         anything call purge_all_dead_edges and cleanup_cfg at the end
1497         of the pass.
1499 2015-01-21  Jan Hubicka  <hubicka@ucw.cz>
1501         * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
1502         edges.
1504 2015-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1506         * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
1507         decl attribute.
1509 2015-01-21  David Sherwood  <david.sherwood@arm.com>
1510             Tejas Belagod <Tejas.Belagod@arm.com>
1512         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
1513         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
1514         * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
1515         Removed.
1517 2015-01-21  David Sherwood  <david.sherwood@arm.com>
1518             Tejas Belagod <Tejas.Belagod@arm.com>
1520         * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
1521         (aarch64_reverse_mask): New decls.
1522         * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
1523         (insn_count): New mode_attr.
1524         * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
1525         (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
1526         (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
1527         (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
1528         (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
1529         (aarch64_simd_st4): New patterns.
1530         * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
1531         (aarch64_reverse_mask): New functions.
1533 2015-01-21  Richard Sandiford  <richard.sandiford@arm.com>
1535         * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
1536         Declare.
1537         * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
1538         addressing modes for BE.
1539         (aarch64_print_operand): Add 'R' specifier.
1540         (aarch64_simd_disambiguate_copy): Delete.
1541         (aarch64_simd_emit_reg_reg_move): New function.
1542         * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
1543         in define_splits for structural moves.
1544         (mov<mode>): Use less restrictive predicates.
1545         (*aarch64_mov<mode>): Simplify and only allow for LE.
1546         (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
1548 2015-01-21  Alan Hayward  <alan.hayward@arm.com>
1550         * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
1552 2015-01-21  Richard Henderson  <rth@redhat.com>
1554         PR target/64669
1555         * ccmp.c (used_in_cond_stmt_p): Remove.
1556         (expand_ccmp_expr): Don't use it.
1558 2015-01-21  Nick Clifton  <nickc@redhat.com>
1560         * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
1561         PARALLELs.
1563 2015-01-21  Richard Biener  <rguenther@suse.de>
1565         PR middle-end/64313
1566         * tree-core.h (builtin_info, builtin_info_type): Turn from
1567         an object with two arrays into an array of an object with
1568         decl and two flags, implicit_p and declared_p.
1569         * tree.h (builtin_decl_explicit, builtin_decl_implicit,
1570         set_builtin_decl, set_builtin_decl_implicit_p,
1571         builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
1572         (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
1573         * builtins.c (builtin_info): Adjust.
1574         * gimplify.c (gimplify_addr_expr): References to builtins
1575         that have been declared by the user makes them eligible for
1576         use by the compiler.  Call set_builtin_decl_implicit_p on them.
1578 2015-01-20  Jeff Law  <law@redhat.com>
1580         PR target/59946
1581         * config/m68k/m68k.md (Comparison expanders and patterns): Do not
1582         allow pc-relative addresses in operand predicates or constraints.
1584 2015-01-21  Bin Cheng  <bin.cheng@arm.com>
1586         * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
1587         neon on aarch32 processors for stringops.
1589 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
1591         PR ipa/63576
1592         * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
1594 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
1596         PR lto/45375
1597         * ipa-inline.c: Include lto-streamer.h
1598         (report_inline_failed_reason): Output source file differences and
1599         flags on optimization/target node mismatch.
1600         (can_inline_edge_p): Consider caller to be the outer inline function;
1601         be less restrictive about matching opimize and optimize_size attributes.
1602         (inline_account_function_p): Break out from ...
1603         (inline_small_functions): ... here.
1604         * ipa-inline-transform.c (clone_inlined_nodes): Use
1605         inline_account_function_p.
1606         (inline_call): Use optimize attribution; use inline_account_function_p.
1607         (inline_transform): Use opt_for_fn.
1608         * ipa-inline.h (inline_account_function_p): Declare.
1610 2015-01-20  Jakub Jelinek  <jakub@redhat.com>
1612         PR debug/64663
1613         * dwarf2out.c (decl_piece_node): Don't put bitsize into
1614         mode if bitsize <= 0.
1615         (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
1616         dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
1617         sizes and positions.
1619 2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>
1621         * config/nios2/nios2.c (nios2_asm_file_end): Implement
1622         TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
1623         needed.
1624         (TARGET_ASM_FILE_END): Define.
1626 2015-01-20  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
1628         * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
1629         (struct tune_params): Use the enum.
1630         * arm.c (arm_*_tune): Update.
1631         (arm_option_override): Update.
1633 2015-01-20  Richard Biener  <rguenther@suse.de>
1635         PR ipa/64684
1636         * ipa-reference.c (add_static_var): Inline ...
1637         (analyze_function): ... here after splitting out from ...
1638         (is_proper_for_analysis): ... this.
1640 2015-01-20  Matthew Wahab  <matthew.wahab@arm.com>
1642         PR target/64149
1643         * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
1644         * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
1645         replace the conditional with it's true branch.
1646         * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
1647         (arm_lra_p): Remove.
1649 2015-01-20  Eric Botcazou  <ebotcazou@adacore.com>
1651         * config/visium/visium.h (LIB_SPEC): Adjust in default case.
1653 2015-01-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1655         * config/tilegx/mul-tables.c: Move symtab.h include after
1656         coretypes.h include.
1657         * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
1658         vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
1659         flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
1660         wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
1661         explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
1663 2015-01-20  Igor Zamyatin  <igor.zamyatin@intel.com>
1665         PR bootstrap/64676
1666         Revert:
1667         2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>
1669         PR rtl-optimization/64081
1670         * loop-iv.c (def_pred_latch_p): New function.
1671         (latch_dominating_def): Allow specific cases with non-single
1672         definitions.
1673         (iv_get_reaching_def): Likewise.
1674         (check_complex_exit_p): New function.
1675         (check_simple_exit): Use check_complex_exit_p to allow certain cases
1676         with exits not executing on any iteration.
1678 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
1680         PR lto/45375
1681         * i386.c (ix86_option_override_internal): Use ix86_tune_cost
1682         to set branch cost.
1684 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
1686         PR lto/45375
1687         * i386.c (gate): Check flag_expensive_optimizations and
1688         optimize_size.
1689         (ix86_option_override_internal): Drop optimize_size condition
1690         on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
1691         MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
1692         MASK_PREFER_AVX128.
1693         (ix86_avx256_split_vector_move_misalign,
1694         ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
1695         * sse.md (all uses of TARGET_PREFER_AVX128): Add
1696         optimize_insn_for_speed_p check.
1698 2015-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
1700         * config/mips/mips.h (FP_ASM_SPEC): New define.
1701         (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
1702         instead.
1704 2015-01-19  Oleg Endo  <olegendo@gcc.gnu.org>
1706         PR target/53988
1707         * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
1708         nullptr for insn when reaching the first insn.
1709         * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
1710         (sh_insn_operands_modified_between_p): Add nullptr check.
1711         (sh_find_extending_set_of_reg): Fix log message.  Don't accept
1712         sign extending mem load if the insn contains any UNSPEC or
1713         UNSPEC_VOLATILE.
1715 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
1717         * params.def (inline-unit-growth): Drop to 15%.
1718         * invoke.texi (inline-unit-growth): Document change.
1720 2015-01-19  Martin Liska  <mliska@suse.cz>
1722         PR ipa/64668
1723         * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
1724         function for second argument of OBJ_TYPE_REF.
1726 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
1728         PR ipa/64218
1729         * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
1730         whether function is an alias.
1732 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
1734         * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
1735         cases.
1737 2015-01-19  Vladimir Makarov  <vmakarov@redhat.com>
1739         PR rtl-optimization/64671
1740         * lra-remat.c (operand_to_remat): Don't consider jump and call
1741         insns.
1743 2015-01-19  David Edelsohn  <dje.gcc@gmail.com>
1745         * config/rs6000/default64.h: Include rs6000-cpus.def.
1746         (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
1747         (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
1748         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
1749         and POWER8.
1750         * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
1751         POWER8.
1752         * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
1753         pseudo-op to specify assembler dialect.
1755 2015-01-19  Martin Liska  <mliska@suse.cz>
1757         PR ipa/64664
1758         * ipa-icf.c (sem_item_optimizer::filter_removed_items):
1759         Handle safe potentially removed nodes during filtering.
1761 2015-01-19  Martin Liska  <mliska@suse.cz>
1763         * doc/extend.texi (no_icf): Add new attribute description.
1764         * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
1765         where the pass attempts to merge a function with no_icf attribute.
1767 2015-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1769         PR target/64532
1770         * doc/md.texi (ARM Options): Document register constraints.
1772 2015-01-19  Jiong Wang  <jiong.wang@arm.com>
1773             Andrew Pinski  <apinski@cavium.com>
1775         PR target/64304
1776         * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
1777         (ashl<mode>3): Don't expand if operands[2] is not constant.
1779 2015-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1781         PR target/64448
1782         * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
1783         Match xor-and-xor RTL pattern.
1785 2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>
1787         PR rtl-optimization/64081
1788         * loop-iv.c (def_pred_latch_p): New function.
1789         (latch_dominating_def): Allow specific cases with non-single
1790         definitions.
1791         (iv_get_reaching_def): Likewise.
1792         (check_complex_exit_p): New function.
1793         (check_simple_exit): Use check_complex_exit_p to allow certain cases
1794         with exits not executing on any iteration.
1796 2015-01-19  Jakub Jelinek  <jakub@redhat.com>
1798         * common.opt (fgraphite): Fix a typo.
1800 2015-01-19  Felix Yang  <felix.yang@huawei.com>
1802         * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
1803         pattern.
1804         * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
1805         uminp, smax_nanp, smin_nanp): New builtins.
1806         * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
1807         vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
1808         vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
1809         vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
1810         vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
1811         vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
1812         vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
1813         vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
1814         vpminnms_f32): Rewrite using builtin functions.
1816 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
1818         PR libgomp/64625
1819         * omp-low.c (offload_symbol_decl): Remove variable.
1820         (get_offload_symbol_decl): Remove function.
1821         (expand_omp_target): For BUILT_IN_GOMP_TARGET,
1822         BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
1823         instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
1824         BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
1825         BUILT_IN_GOACC_UPDATE don't pass it at all.
1827 2015-01-19  Ilya Enkovich  <ilya.enkovich@intel.com>
1829         * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
1830         callers.
1832 2015-01-19  Ilya Enkovich  <ilya.enkovich@intel.com>
1834         * ipa-chkp.c (chkp_produce_thunks): Add early param
1835         to split thunks production into two passes.  Keep
1836         'always_inline' function bodies after the first pass.
1837         (pass_data_ipa_chkp_early_produce_thunks): New.
1838         (pass_ipa_chkp_early_produce_thunks): New.
1839         (pass_ipa_chkp_produce_thunks::execute): Adjust to new
1840         chkp_produce_thunks signature.
1841         (make_pass_ipa_chkp_early_produce_thunks): New.
1842         * passes.def (pass_ipa_chkp_early_produce_thunks): New.
1843         (pass_ipa_chkp_produce_thunks): Move after local optimizations.
1844         * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
1846 2015-01-18  Jan Hubicka  <hubicka@ucw.cz>
1848         * cgraph.c (cgraph_node::dump): Dump profile flags.
1850 2015-01-18  Oleg Endo  <olegendo@gcc.gnu.org>
1852         PR target/64652
1853         * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
1854         reg appear first in the parallel.
1856 2015-01-18  Jan Hubicka  <hubicka@ucw.cz>
1858         * ipa-reference.c (set_reference_optimization_summary,
1859         ipa_reference_get_not_written_global): Do nothing if ipa-reference is
1860         disabled.
1861         (ignore_module_statics): New static var.
1862         (propagate_bits): If ipa-reference is disabled, do not look into local
1863         properties.
1864         (analyze_function): Disable analysis when ipa_reference is disabled.
1865         (generate_summary): Do not dump when reference is disabled;
1866         collect vars accessed from functions with ipa-reference disabled.
1867         (get_read_write_all_from_node): When ipa-reference is disabled, use the
1868         node flags.
1869         (gate): Enable for LTO.
1870         (ignore_edge_p): New function.
1871         (propagate): Skip functions w/o ipa-reference analysis.
1872         * optc-save-gen.awk: Handle optimize_debug correctly.
1873         * opth-gen.awk: Likewise.
1874         * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
1875         fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
1876         fira-share-save-slots, fira-share-spill-slots,
1877         fmodulo-sched-allow-regmoves, fpartial-inlining,
1878         sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
1879         ftracer, ftree-parallelize-loops, fassociative-math,
1880         freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
1881         Optimization
1882         (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
1883         ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
1884         Optimization.
1885         * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
1886         Fix for IPA.
1888 2015-01-18  Jan Hubicka  <hubicka@ucw.cz>
1890         PR ipa/64378
1891         * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
1892         flag correctly.
1893         * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
1895 2015-01-18  Sandra Loosemore  <sandra@codesourcery.com>
1897         * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
1898         Remove duplicate option listings.
1900 2015-01-18  Felix Yang  <felix.yang@huawei.com>
1902         * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
1903         (autofdo_source_profile::get_callsite_total_count,
1904         function_instance::get_function_instance_by_decl,
1905         string_table::get_index, string_table::get_index_by_decl,
1906         afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
1907         Fix comment typos. Reformatting and minor code rearrangement.
1909 2015-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
1911         * config/rs6000/rs6000.md (probe_stack): Delete.
1912         (probe_stack_address): New.
1914 2015-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
1916         * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
1917         to test for 32-bit ABIs, not !TARGET_POWERPC64.
1919 2015-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
1921         * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
1922         (rs6000_function_value): Use it.  Handle SCmode and TCmode as well,
1923         for TARGET_32BIT && TARGET_POWERPC64.  Fix another BITS_PER_WORD
1924         snafu.
1925         (rs6000_libcall_value): Use the new function.
1927 2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>
1929         * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
1931 2015-01-17  Eric Botcazou  <ebotcazou@adacore.com>
1933         * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
1934         implement a more precise life analysis for it during backward scan.
1936 2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
1938         * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
1940 2015-01-17  Bernd Schmidt  <bernds@codesourcery.com>
1942         PR rtl-optimization/52773
1943         * calls.c (emit_library_call_value): When pushing arguments use
1944         stack_pointer_rtx rather than virtual_outgoing_args_rtx in
1945         CALL_INSN_FUNCTION_USAGE.  Only emit one of use of the magic
1946         stack pointer reference into CALL_INSN_FUNCTION_USAGE.
1948 2015-01-17  Jeff Law  <law@redhat.com>
1950         PR rtl-optimization/32790
1951         * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
1952         not ZERO_EXTEND in SET_DESTs.
1954 2015-01-17  Alan Modra  <amodra@gmail.com>
1956         * cprop.c (do_local_cprop): Revert last change.
1958 2015-01-16  DJ Delorie  <dj@redhat.com>
1959             Nick Clifton  <nickc@redhat.com>
1961         * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
1962         (addhi3_real): Likewise.  Fix [HL+0] syntax.
1963         (subqi3_real): Likewise.
1964         (subhi3_real): Likewise.
1965         (cbranchqi4_real): Likewise.  Allow saddr,#imm.
1966         (cbranchhi4_real): Likewise.
1967         (cbranchhi4_real_inverted): Likewise.
1968         (cbranchsi4_real_lt): Likewise.
1969         (cbranchsi4_real_ge): Likewise.
1970         (cbranchsi4_real_ge): Likewise.
1971         * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
1972         (sub<mode>3_virt): Likewise.
1973         (cbranchqi4_virt): Likewise.
1974         (cbranchhi4_virt): Likewise.
1975         * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
1976         always use '[reg+imm]' even when imm is zero.
1977         * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
1978         (rl78_general_operand): New.
1979         (rl78_nonimmediate_operand): New.
1980         (rl78_nonfar_operand): Use them.
1981         (rl78_nonfar_nonimm_operand): Likewise.
1982         (rl78_stack_based_mem): Fix.
1983         * config/rl78/constraints.md (Ibqi): New.
1984         (IBqi): New.
1985         (Wsa): New.
1986         (Wsf): New.
1987         (Cs1): Fix.
1988         * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
1989         (iorqi3): Likewise.
1990         (xorqi3): Likewise.
1991         * config/rl78/rl78-protos.h (rl78_sfr_p): New.
1993         * config/rl78/constrains (Qs8): New constraint.
1994         * config/rl78/rl78.c (rl78_flags_already_set): New function.
1995         * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
1996         * config/rl78/rl78-real.md (update_Z): New attribute.
1997         Update patterns to set it.
1998         (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
1999         shorter compare and branch sequence can be used.
2000         (cbranchhi4_real): Likewise.
2001         (cbranchhi4_real_inverted): Likewise.
2003         * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
2004         * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
2005         address space.
2006         * config/rl78/rl78.c (rl78_get_name_encoding): New.
2007         (rl78_option_override): Allow -mes0 only if C.
2008         (characterize_address): Support subregs of symbol_refs.
2009         (rl78_addr_space_address_mode): Move.  Add __near.
2010         (rl78_far_p): Likewise.
2011         (rl78_addr_space_pointer_mode): Likewise.
2012         (rl78_as_legitimate_address): Likewise.
2013         (rl78_addr_space_subset_p): Likewise.
2014         (rl78_addr_space_convert): Likewise.
2015         (rl78_print_operand_1): Support 16-bit addressing of 32-bit
2016         symbols with -mes0.
2017         (transcode_memory_rtx): Don't copy ES if -mes0.  Allow symbol[BC]
2018         addressing.
2019         (rl78_alloc_physical_registers_op1): Change logic to prefer
2020         symbol[BC] addressing.
2021         (frodata_section): New.
2022         (rl78_asm_init_sections): Initialize it.
2023         (rl78_select_section): Put __far readonly symbols in .frodata.
2024         (rl78_make_type_far): New.
2025         (rl78_insert_attributes): Force all readonly symbols to be
2026         __far when -mes0.
2027         (rl78_asm_out_integer): New.
2028         * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
2029         * config/rl78/rl78.opt (-mes0): New.
2031         * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
2032         (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
2033         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
2034         * config/rl78/rl78-protos.h (rl78_output_labelref): New.
2035         (rl78_saddr_p): New.
2036         (rl78_output_aligned_common): New.
2037         * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
2038         (rl78_handle_saddr_attribute): New.
2039         (rl78_handle_naked_attribute): New.
2040         (rl78_attribute_table): Add saddr.
2041         (rl78_print_operand_1): Don't print '!' on saddr operands.
2042         (rl78_print_operand_1): Strip encodings.
2043         (rl78_sfr_p): New.
2044         (rl78_strip_name_encoding): New.
2045         (rl78_attrlist_to_encoding): New.
2046         (rl78_encode_section_info): New.
2047         (rl78_asm_init_sections): New.
2048         (rl78_select_section): New.
2049         (rl78_output_labelref): New.
2050         (rl78_output_aligned_common): New.
2051         (rl78_asm_out_integer): New.
2052         (rl78_asm_ctor_dtor): New.
2053         (rl78_asm_constructor): New.
2054         (rl78_asm_destructor): New.
2056         * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
2057         * config/rl78/rl78.c (rl78_expand_epilogue): Update.
2058         (transcode_memory_rtx): Update.
2059         (rl78_expand_epilogue): Use A_REG instead of 0.
2061 2015-01-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
2063         * config/arm/arm-protos.h (struct tune_params): New field
2064         sched_autopref_queue_depth.
2065         * config/arm/arm.c (sched-int.h): Include header.
2066         (arm_first_cycle_multipass_dfa_lookahead_guard,)
2067         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
2068         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
2069         (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
2070         (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
2071         (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
2072         (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
2073         (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
2074         Specify sched_autopref_queue_depth value.  Enabled for A15 and A57.
2075         * config/arm/t-arm (arm.o): Update.
2076         * haifa-sched.c (update_insn_after_change): Update.
2077         (rank_for_schedule): Use auto-prefetcher model, if requested.
2078         (autopref_multipass_init): New static function.
2079         (autopref_rank_for_schedule): New rank_for_schedule heuristic.
2080         (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
2081         variable for debug dumps.
2082         (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
2083         (autopref_multipass_dfa_lookahead_guard): New global function that
2084         implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
2085         (init_h_i_d): Update.
2086         * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
2087         * sched-int.h (enum autopref_multipass_data_status): New const enum.
2088         (autopref_multipass_data_): Structure for auto-prefetcher data.
2089         (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
2090         (struct _haifa_insn_data:autopref_multipass_data): New field.
2091         (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
2092         (autopref_multipass_dfa_lookahead_guard): Declare.
2094 2015-01-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
2096         * rtlanal.c (get_base_term): Handle SCRATCH.
2098 2015-01-17  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
2100         * config/aarch64/aarch64.c
2101         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
2102         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
2103         * config/arm/arm.c
2104         (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
2105         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
2107 2015-01-17  Alan Modra  <amodra@gmail.com>
2109         * cprop.c (do_local_cprop): Disallow replacement of fixed
2110         hard registers.
2112 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2114         PR target/62066
2115         * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
2116         early return 0.
2118 2015-01-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2120         * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
2121         * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
2123 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2125         * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
2126         * config/arm/thumb1.md: ... Here.
2128 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
2130         * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
2131         TImode for TARGET_32BIT.
2133 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
2135         * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
2136         TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
2137         as ...
2138         (rs6000_abi_word_mode): New function.
2140 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
2142         * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
2143         instead of UNITS_PER_WORD to describe the size of stack slots.
2145 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
2147         * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
2148         as rs6000_promote_function_mode.  Move comment to there.
2149         (rs6000_promote_function_mode): New function.
2151 2015-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
2153         * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
2154         -mpowerpc64 is active.
2156 2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
2158         PR middle-end/64353
2159         * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
2160         virtuals on start.
2162 2015-01-16  James Greenhalgh  <james.greenhalgh@arm.com>
2164         * config/arm/cortex-a57.md: Remove duplicate of file accidentally
2165         introduced in revision 219724.
2167 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2168             Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2170         PR target/64263
2171         * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
2172         destination is not a GP reg.
2173         (*movdi_aarch64): Likewise.
2175 2015-01-16  David Edelsohn  <dje.gcc@gmail.com>
2177         PR target/64623
2178         * config/rs6000/default64.h: Revert ISA change.
2180 2015-01-16  Richard Biener  <rguenther@suse.de>
2182         PR middle-end/64614
2183         * tree-ssa-uninit.c: Include tree-cfg.h.
2184         (MAX_SWITCH_CASES): New define.
2185         (convert_control_dep_chain_into_preds): Handle switch statements.
2186         (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
2187         (normalize_one_pred_1): Do not split bit-manipulations.
2188         Record (x & CST).
2190 2015-01-16  Richard Biener  <rguenther@suse.de>
2192         PR tree-optimization/64568
2193         * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
2194         complex load rewriting for TARGET_MEM_REFs.
2196 2015-01-16  Uros Bizjak  <ubizjak@gmail.com>
2198         * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
2200 2015-01-16  Matthew Wahab  <matthew.wahab@arm.com>
2202         PR target/64149
2203         * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
2204         variable.
2205         * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
2206         (aarch64_lra_p): Remove.
2208 2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
2210         PR target/64363
2211         * ipa-chkp.h (chkp_instrumentable_p): New.
2212         * ipa-chkp.c: Include tree-inline.h.
2213         (chkp_instrumentable_p): New.
2214         (chkp_maybe_create_clone): Use chkp_instrumentable_p.
2215         Fix processing of not instrumentable functions.
2216         (chkp_versioning): Use chkp_instrumentable_p. Warn about
2217         not instrumentable functions.
2218         * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
2219         chkp_instrumentable_p.
2220         * tree-inline.h (copy_forbidden): New.
2221         * tree-inline.c (copy_forbidden): Not static anymore.
2223 2015-01-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2225         * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
2226         ptr1, ptr2 unused.
2228 2015-01-16  Robert Suchanek  <robert.suchanek@imgtec.com>
2230         * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
2231         type OP_OUT to OP_INOUT.
2233 2015-01-16  Robert Suchanek  <robert.suchanek@imgtec.com>
2235         * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
2236         (high x) y) to y if x and y have the same base.
2238 2015-01-16  James Greenhalgh  <james.greenhalgh@arm.com>
2240         * config/arm/cortex-a57.md: New.
2241         * config/aarch64/aarch64.md: Include it.
2242         * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
2243         * config/aarch64/aarch64-tune.md: Regenerate.
2245 2015-01-16  Zhenqiang Chen  <zhenqiang.chen@arm.com>
2247         PR target/64015
2248         * ccmp.c (expand_ccmp_next): New function.
2249         (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
2250         and compare insn sequence.
2251         * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
2252         aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
2253         (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
2254         * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
2255         (*ccmp_ior): Changed to ccmp_ior<mode>.
2256         (cmp<mode>): New pattern.
2257         * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
2258         parameters.
2259         * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
2261 2015-01-16  Ilya Tocar  <ilya.tocar@intel.com>
2263         * config/i386/avx2intrin.h (_mm256_bslli_epi128,
2264         _mm256_bsrli_epi128): New.
2265         * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
2267 2015-01-15  Jiong Wang  <jiong.wang@arm.com>
2269         * expmed.c (store_bit_field_using_insv): Improve warning message.
2270         Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
2272 2015-01-15  Jiong Wang  <jiong.wang@arm.com>
2274         PR rtl-optimization/64011
2275         * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
2276         there is partial overflow.
2278 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
2280         * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
2281         prototype.
2282         (nds32_expand_epilogue_v3pop): Likewise.
2283         * config/nds32/nds32.md (sibcall): Define this for sibling call
2284         optimization.
2285         (sibcall_register): Likewise.
2286         (sibcall_immediate): Likewise.
2287         (sibcall_value): Likewise.
2288         (sibcall_value_register): Likewise.
2289         (sibcall_value_immediate): Likewise.
2290         (sibcall_epilogue): Likewise.
2291         (epilogue): Pass false to indicate this is not a sibcall epilogue.
2292         * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
2293         (nds32_expand_epilogue_v3pop): Likewise.
2295 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
2297         * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
2298         * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
2299         (return_internal): New.
2300         (return): Define this named pattern.
2301         (simple_return): Define this named pattern.
2302         * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
2303         pattern instead of unspec_volatile_func_return.
2304         (nds32_expand_epilogue_v3pop): Likewise.
2305         (nds32_can_use_return_insn): New function.
2307 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
2309         * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
2310         * config/nds32/nds32.md (pop25return): New.
2311         * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
2312         pop25return pattern.
2314 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
2316         * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
2317         -mforbid-fp-as-gp, and -mex9 options.
2319 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
2321         * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
2322         remove -mgp-direct option.
2324 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
2326         * doc/invoke.texi (--param early-inlining-insns): Update default value.
2327         * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
2329 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
2331         * ipa-inline.c (inline_small_functions): Work around hints
2332         cache issue.
2334 2015-01-15  Sandra Loosemore  <sandra@codesourcery.com>
2336         PR target/59710
2337         * doc/invoke.texi (Option Summary): Document new Nios II
2338         -mgpopt= syntax.
2339         (Nios II Options): Likewise.
2340         * config/nios2/nios2.opt: Add -mgpopt= option support.
2341         Modify existing -mgpopt and -mno-gpopt options to be aliases.
2342         * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
2343         * config/nios2/nios2.c (nios2_option_override): Adjust
2344         -mgpopt defaulting.
2345         (nios2_in_small_data_p): Return true for explicit small data
2346         sections even with -G0.
2347         (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
2348         option choices.
2350 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
2352         PR ipa/64612
2353         * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
2354         of comdat locals.
2355         (inline_call): Fix removal of aliases.
2357 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
2359         * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
2360         include SANITIZE_VPTR in SANITIZE_UNDEFINED.
2361         * opts.c (common_handle_option): Add -fsanitize=vptr.
2362         * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
2363         BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
2364         * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
2365         UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
2366         (ubsan_expand_vptr_ifn): New prototype.
2367         * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
2368         expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
2369         expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
2370         expand_LOOP_VECTORIZED): Make argument nameless, remove
2371         ATTRIBUTE_UNUSED.
2372         (expand_UBSAN_VPTR): New function.
2373         * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
2374         in fn spec.
2375         (UBSAN_VPTR): New internal function.
2376         * sanopt.c (tree_map_traits): Renamed to ...
2377         (sanopt_tree_map_traits): ... this.
2378         (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
2379         (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
2380         to sanopt_tree_map_traits renaming.  Add vptr_check_map field.
2381         (maybe_optimize_ubsan_vptr_ifn): New function.
2382         (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
2383         (pass_sanopt::execute): Likewise.  Call sanopt_optimize even for
2384         -fsanitize=vptr.
2385         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
2386         internal calls like pure functions for aliasing, even when they
2387         have other side-effects that prevent making them ECF_PURE.
2388         * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
2389         (ubsan_expand_vptr_ifn): New function.
2391 2015-01-15  Vladimir Makarov  <vmakarov@redhat.com>
2393         PR rtl-optimization/64110
2394         * stmt.c (parse_output_constraint): Process '^' and '$'.
2395         (parse_input_constraint): Ditto.
2396         * lra-constraints.c (process_alt_operands): Process the new
2397         constraints.
2398         * ira-costs.c (record_reg_classes): Process the new constraint
2399         '^'.
2400         * genoutput.c (indep_constraints): Add '^' and '$'.
2401         * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
2402         * doc/md.texi: Add description of the new constraints.
2404 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
2405             Bernd Schmidt  <bernds@codesourcery.com>
2406             Cesar Philippidis  <cesar@codesourcery.com>
2407             James Norris  <jnorris@codesourcery.com>
2408             Tom de Vries  <tom@codesourcery.com>
2409             Ilmir Usmanov  <i.usmanov@samsung.com>
2410             Dmitry Bocharnikov  <dmitry.b@samsung.com>
2411             Evgeny Gavrin  <e.gavrin@samsung.com>
2412             Jakub Jelinek  <jakub@redhat.com>
2414         * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
2415         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2416         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2417         New function types.
2418         * builtins.c: Include "gomp-constants.h".
2419         (expand_builtin_acc_on_device): New function.
2420         (expand_builtin, is_inexpensive_builtin): Handle
2421         BUILT_IN_ACC_ON_DEVICE.
2422         * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
2423         New macros.
2424         * cgraph.c (cgraph_node::create): Consider flag_openacc next to
2425         flag_openmp.
2426         * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
2427         <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
2428         i386/intelmic-offload.h.
2429         * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
2430         to libgomp and its dependencies.
2431         * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
2432         * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
2433         * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
2434         * config/ia64/hpux.h (LIB_SPEC): Likewise.
2435         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
2436         * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
2437         * doc/generic.texi: Update for OpenACC changes.
2438         * doc/gimple.texi: Likewise.
2439         * doc/invoke.texi: Likewise.
2440         * doc/sourcebuild.texi: Likewise.
2441         * gimple-pretty-print.c (dump_gimple_omp_for): Handle
2442         GF_OMP_FOR_KIND_OACC_LOOP.
2443         (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
2444         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
2445         GF_OMP_TARGET_KIND_OACC_UPDATE,
2446         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
2447         Dump more data.
2448         * gimple.c: Update comments for OpenACC changes.
2449         * gimple.def: Likewise.
2450         * gimple.h: Likewise.
2451         (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
2452         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
2453         GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
2454         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
2455         (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
2456         appropriate place.
2457         (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
2458         * gimplify.c: Include "gomp-constants.h".
2459         Update comments for OpenACC changes.
2460         (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
2461         OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
2462         OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
2463         (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
2464         OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
2465         OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
2466         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
2467         OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
2468         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
2469         OMP_CLAUSE_SEQ.
2470         (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
2471         GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
2472         OMP_CLAUSE_SET_MAP_KIND.
2473         (gimplify_oacc_cache): New function.
2474         (gimplify_omp_for): Handle OACC_LOOP.
2475         (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
2476         OACC_DATA.
2477         (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
2478         OACC_EXIT_DATA, OACC_UPDATE.
2479         (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
2480         OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
2481         OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
2482         (gimplify_body): Consider flag_openacc next to flag_openmp.
2483         * lto-streamer-out.c: Include "gomp-constants.h".
2484         * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
2485         (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
2486         (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
2487         (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
2488         (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
2489         (BUILT_IN_ACC_ON_DEVICE): New builtins.
2490         * omp-low.c: Include "gomp-constants.h".
2491         Update comments for OpenACC changes.
2492         (struct omp_context): Add reduction_map, gwv_below, gwv_this
2493         members.
2494         (extract_omp_for_data, use_pointer_for_field, install_var_field)
2495         (new_omp_context, delete_omp_context, scan_sharing_clauses)
2496         (create_omp_child_function, scan_omp_for, scan_omp_target)
2497         (check_omp_nesting_restrictions, lower_reduction_clauses)
2498         (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
2499         Update for OpenACC changes.
2500         (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
2501         OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
2502         OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
2503         OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
2504         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
2505         OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ.  Use GOMP_MAP_* instead of
2506         OMP_CLAUSE_MAP_*.
2507         (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
2508         Handle GF_OMP_FOR_KIND_OACC_LOOP.
2509         (expand_omp_target, lower_omp_target): Handle
2510         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
2511         GF_OMP_TARGET_KIND_OACC_UPDATE,
2512         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
2513         GF_OMP_TARGET_KIND_OACC_DATA.
2514         (pass_expand_omp::execute, execute_lower_omp)
2515         (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
2516         flag_openmp.
2517         (offload_symbol_decl): New variable.
2518         (oacc_get_reduction_array_id, oacc_max_threads)
2519         (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
2520         (maybe_lookup_oacc_reduction, enclosing_target_ctx)
2521         (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
2522         (oacc_gimple_assign, oacc_initialize_reduction_data)
2523         (oacc_finalize_reduction_data, oacc_process_reduction_data): New
2524         functions.
2525         (is_targetreg_ctx): Remove function.
2526         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
2527         OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
2528         OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
2529         OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
2530         OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
2531         OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
2532         * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
2533         * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
2534         (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
2535         (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
2536         (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
2537         (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
2538         * tree-core.h: Update comments for OpenACC changes.
2539         (enum omp_clause_map_kind): Remove.
2540         (struct tree_omp_clause): Change type of map_kind member from enum
2541         omp_clause_map_kind to unsigned char.
2542         * tree-inline.c: Update comments for OpenACC changes.
2543         * tree-nested.c: Likewise.  Include "gomp-constants.h".
2544         (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
2545         (convert_tramp_reference_stmt, convert_gimple_call): Update for
2546         OpenACC changes.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
2547         OMP_CLAUSE_SET_MAP_KIND.
2548         * tree-pretty-print.c: Include "gomp-constants.h".
2549         (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
2550         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
2551         OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
2552         OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
2553         OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
2554         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT.  Use GOMP_MAP_*
2555         instead of OMP_CLAUSE_MAP_*.
2556         (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
2557         OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
2558         OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
2559         * tree-streamer-in.c: Include "gomp-constants.h".
2560         (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
2561         OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
2562         * tree-streamer-out.c: Include "gomp-constants.h".
2563         (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
2564         OMP_CLAUSE_MAP_*.
2565         * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
2566         (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
2567         (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
2568         * tree.c (omp_clause_num_ops): Update accordingly.
2569         * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
2570         Likewise.
2571         (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
2572         (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
2573         (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
2574         (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
2575         (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
2576         (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
2577         * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
2578         (OMP_CLAUSE_SET_MAP_KIND): New macro.
2579         * varpool.c (varpool_node::get_create): Consider flag_openacc next
2580         to flag_openmp.
2581         * config/i386/intelmic-offload.h: New file.
2582         * config/nvptx/offload.h: Likewise.
2584 2015-01-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2586         * explow.h: Remove duplicate contents.
2587         * dojump.h: Likewise.
2589 2015-01-15  Richard Earnshaw  <rearnsha@arm.com>
2591         * arm.c (arm_xgene_tune): Add default initializer for instruction
2592         fusion.
2594 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
2596         PR ipa/64068
2597         PR ipa/64559
2598         * ipa.c (symbol_table::remove_unreachable_nodes):
2599         Do not put abstract origins into boundary.
2601 2015-01-15  Evgeny Stupachenko  <evstupac@gmail.com>
2603         * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
2604         * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
2606 2015-01-15  Steve Ellcey  <sellcey@mips.com>
2608         * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
2609         cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
2610         builtins.def, and chkp-builtins.def.
2612 2015-01-15  David Edelsohn  <dje.gcc@gmail.com>
2614         * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
2615         ISA 2.7 (POWER8).
2617 2015-01-15  Richard Biener  <rguenther@suse.de>
2619         PR tree-optimization/61743
2620         * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
2621         information on PHIs for some simple cases.
2623 2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
2625         * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
2626         Include xgene1.md.
2627         * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
2628         * config/arm/arm-cores.def (xgene1): New entry.
2629         * config/arm/arm-tables.opt: Regenerate.
2630         * config/arm/arm-tune.md: Regenerate.
2631         * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
2633 2015-01-15  Yuri Rumyantsev  <ysrumyan@gmail.com>
2635         * tree-if-conv.c: Include hash-map.h.
2636         (aggressive_if_conv): New variable.
2637         (fold_build_cond_expr): Add simplification of non-zero condition.
2638         (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
2639         destination block is not always executed.
2640         (if_convertible_phi_p): Fix commentary, allow phi nodes have more
2641         than two predecessors if AGGRESSIVE_IF_CONV is true.
2642         (if_convertible_stmt_p): Fix commentary.
2643         (all_preds_critical_p): New function.
2644         (has_pred_critical_p): New function.
2645         (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
2646         BB can have more than two predecessors and all incoming edges can be
2647         critical.
2648         (predicate_bbs): Skip predication for loop exit block, use build2_loc
2649         to compute predicate for true edge.
2650         (find_phi_replacement_condition): Delete this function.
2651         (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
2652         Allow interchange PHI arguments if EXTENDED is false.
2653         Change check that block containing reduction statement candidate
2654         is predecessor of phi-block since phi may have more than two arguments.
2655         (phi_args_hash_traits): New helper structure.
2656         (struct phi_args_hash_traits): New type.
2657         (phi_args_hash_traits::hash): New function.
2658         (phi_args_hash_traits::equal_keys): New function.
2659         (gen_phi_arg_condition): New function.
2660         (predicate_scalar_phi): Add handling of phi nodes with more than two
2661         arguments, delete COND and TRUE_BB arguments, insert body of
2662         find_phi_replacement_condition to predicate ordinary phi nodes.
2663         (predicate_all_scalar_phis): Skip blocks with the only predecessor,
2664         delete call of find_phi_replacement_condition and invoke
2665         predicate_scalar_phi with two arguments.
2666         (insert_gimplified_predicates): Add assert that non-predicated block
2667         don't have statements to insert.
2668         (ifcvt_split_critical_edges): New function.
2669         (ifcvt_split_def_stmt): Likewise.
2670         (ifcvt_walk_pattern_tree): Likewise.
2671         (stmt_is_root_of_bool_pattern): Likewise.
2672         (ifcvt_repair_bool_pattern): Likewise.
2673         (ifcvt_local_dce): Likewise.
2674         (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
2675         is copy of inner or outer loop force_vectorize field, invoke
2676         ifcvt_split_critical_edges, ifcvt_local_dce and
2677         ifcvt_repair_bool_pattern for aggressive if-conversion.
2679 2015-01-15  Philipp Tomsich  <ptomsich@theobroma-systems.com>
2681         * config/aarch64/aarch64.md: Include xgene1.md.
2682         * config/aarch64/xgene1.md: New file.
2684 2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
2686         * config/aarch64/aarch64-cores.def (xgene1): Update/add the
2687         xgene1 (APM XGene-1) core definition.
2688         * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
2689         * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
2690         * doc/invoke.texi: Document -mcpu=xgene1.
2692 2015-01-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2694         * dojump.h: New header file.
2695         * explow.h: Likewise.
2696         * expr.h: Remove includes.
2697         Move expmed.c prototypes to expmed.h.
2698         Move dojump.c prototypes to dojump.h.
2699         Move alias.c prototypes to alias.h.
2700         Move explow.c prototypes to explow.h.
2701         Move calls.c prototypes to calls.h.
2702         Move emit-rtl.c prototypes to emit-rtl.h.
2703         Move varasm.c prototypes to varasm.h.
2704         Move stmt.c prototypes to stmt.h.
2705         (saved_pending_stack_adjust): Move to dojump.h.
2706         (adjust_address): Move to explow.h.
2707         (adjust_address_nv): Move to emit-rtl.h.
2708         (adjust_bitfield_address): Likewise.
2709         (adjust_bitfield_address_size): Likewise.
2710         (adjust_bitfield_address_nv): Likewise.
2711         (adjust_automodify_address_nv): Likewise.
2712         * explow.c (expr_size): Move to expr.c.
2713         (int_expr_size): Likewise.
2714         (tree_expr_size): Likewise.
2715         Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2716         fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
2717         * genemit.c (main): Generate includes statistics.h, real.h,
2718         fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
2719         stmt.h.
2720         * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
2721         function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
2722         explow.h, emit-rtl.h, stmt.h.
2723         * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
2724         fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
2725         * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
2726         real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
2727         emit-rtl.h, varasm.h, stmt.h.
2728         * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
2729         hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
2730         function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
2731         fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
2732         expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
2733         * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
2734         double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
2735         function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
2736         insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
2737         tm.h tree.h varasm.h vec.h wide-int.h.
2738         * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
2739         explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
2740         hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
2741         real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
2742         * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
2743         emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
2744         insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
2745         * loop-iv.c: Likewise.
2746         * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
2747         emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
2748         statistics.h stmt.h tree.h varasm.h wide-int.h.
2749         * lra-constraints.c: Likewise.
2750         * lra-eliminations.c: Likewise.
2751         * lra-lives.c: Likewise.
2752         * lra-remat.c: Likewise.
2753         * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
2754         explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
2755         statistics.h stmt.h tree.h varasm.h wide-int.h.
2756         * hw-doloop.c: Likewise.
2757         * ira-color.c: Likewise.
2758         * ira-emit.c: Likewise.
2759         * loop-doloop.c: Likewise.
2760         * loop-invariant.c: Likewise.
2761         * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
2762         explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
2763         statistics.h stmt.h tree.h varasm.h wide-int.h.
2764         * caller-save.c: Include alias.h calls.h dojump.h double-int.h
2765         emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
2766         statistics.h stmt.h tree.h varasm.h wide-int.h.
2767         * combine-stack-adj.c: Likewise.
2768         * cse.c: Likewise.
2769         * ddg.c: Likewise.
2770         * ifcvt.c: Likewise.
2771         * ira-costs.c: Likewise.
2772         * jump.c: Likewise.
2773         * lra-coalesce.c: Likewise.
2774         * lra-spills.c: Likewise.
2775         * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
2776         explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
2777         stmt.h varasm.h wide-int.h.
2778         * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
2779         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
2780         varasm.h.
2781         * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
2782         double-int.h explow.h expmed.h fixed-value.h flags.h real.h
2783         statistics.h stmt.h varasm.h wide-int.h.
2784         * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
2785         expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
2786         varasm.h wide-int.h.
2787         * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
2788         expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
2789         * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
2790         emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
2791         statistics.h stmt.h.
2792         * config/tilepro/tilepro.c: Likewise.
2793         * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
2794         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
2795         * config/pdp11/pdp11.c: Likewise.
2796         * config/xtensa/xtensa.c: Likewise.
2797         * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
2798         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
2799         varasm.h.
2800         * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2801         fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
2802         insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
2803         * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2804         fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
2805         insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
2806         * rtl-chkp.c: Likewise.
2807         * tree-chkp-opt.c: Likewise.
2808         * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
2809         explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
2810         hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
2811         * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2812         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
2813         statistics.h stmt.h.
2814         * tree-vect-data-refs.c: Likewise.
2815         * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
2816         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
2817         rtl.h statistics.h stmt.h varasm.h.
2818         * internal-fn.c: Likewise.
2819         * ipa-icf-gimple.c: Likewise.
2820         * lto-section-out.c: Likewise.
2821         * tree-data-ref.c: Likewise.
2822         * tree-nested.c: Likewise.
2823         * tree-outof-ssa.c: Likewise.
2824         * tree-predcom.c: Likewise.
2825         * tree-pretty-print.c: Likewise.
2826         * tree-scalar-evolution.c: Likewise.
2827         * tree-ssa-strlen.c: Likewise.
2828         * tree-vect-loop.c: Likewise.
2829         * tree-vect-patterns.c: Likewise.
2830         * tree-vect-slp.c: Likewise.
2831         * tree-vect-stmts.c: Likewise.
2832         * tsan.c: Likewise.
2833         * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2834         fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
2835         stmt.h.
2836         * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
2837         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
2838         statistics.h stmt.h varasm.h.
2839         * loop-unroll.c: Likewise.
2840         * ubsan.c: Likewise.
2841         * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
2842         expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
2843         stmt.h varasm.h.
2844         * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2845         fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
2846         * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
2847         expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
2848         statistics.h stmt.h.
2849         * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
2850         expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
2851         statistics.h stmt.h varasm.h.
2852         * gimple-match-head.c: Likewise.
2853         * lto-cgraph.c: Likewise.
2854         * lto-section-in.c: Likewise.
2855         * lto-streamer-in.c: Likewise.
2856         * lto-streamer-out.c: Likewise.
2857         * tree-affine.c: Likewise.
2858         * tree-cfg.c: Likewise.
2859         * tree-cfgcleanup.c: Likewise.
2860         * tree-if-conv.c: Likewise.
2861         * tree-into-ssa.c: Likewise.
2862         * tree-ssa-alias.c: Likewise.
2863         * tree-ssa-copyrename.c: Likewise.
2864         * tree-ssa-dse.c: Likewise.
2865         * tree-ssa-forwprop.c: Likewise.
2866         * tree-ssa-live.c: Likewise.
2867         * tree-ssa-math-opts.c: Likewise.
2868         * tree-ssa-pre.c: Likewise.
2869         * tree-ssa-sccvn.c: Likewise.
2870         * tree-tailcall.c: Likewise.
2871         * tree-vect-generic.c: Likewise.
2872         * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2873         fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
2874         * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2875         fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
2876         * varasm.c: Likewise.
2877         * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2878         fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
2879         varasm.h.
2880         * init-regs.c: Likewise.
2881         * ira.c: Likewise.
2882         * omp-low.c: Likewise.
2883         * stack-ptr-mod.c: Likewise.
2884         * tree-ssa-reassoc.c: Likewise.
2885         * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2886         fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
2887         varasm.h.
2888         * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2889         fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
2890         * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2891         fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
2892         * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2893         fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
2894         * tree-ssa-phiopt.c: Likewise.
2895         * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2896         fixed-value.h hashtab.h real.h statistics.h stmt.h.
2897         * config/fr30/fr30.c: Likewise.
2898         * config/frv/frv.c: Likewise.
2899         * expr.c: Likewise.
2900         * final.c: Likewise.
2901         * optabs.c: Likewise.
2902         * passes.c: Likewise.
2903         * simplify-rtx.c: Likewise.
2904         * stmt.c: Likewise.
2905         * toplev.c: Likewise.
2906         * var-tracking.c: Likewise.
2907         * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2908         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
2909         * lower-subreg.c: Likewise.
2910         * postreload-gcse.c: Likewise.
2911         * ree.c: Likewise.
2912         * reginfo.c: Likewise.
2913         * store-motion.c: Likewise.
2914         * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2915         fixed-value.h hashtab.h real.h stmt.h varasm.h.
2916         * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2917         fixed-value.h hashtab.h statistics.h stmt.h.
2918         * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2919         fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
2920         * except.c: Likewise.
2921         * explow.c: Likewise.
2922         * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2923         fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
2924         varasm.h.
2925         * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2926         fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
2927         * tree-ssa-structalias.c: Likewise.
2928         * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2929         fixed-value.h insn-config.h real.h statistics.h.
2930         * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2931         fixed-value.h insn-config.h real.h statistics.h stmt.h.
2932         * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2933         fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
2934         * cfgbuild.c: Likewise.
2935         * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2936         fixed-value.h real.h rtl.h statistics.h stmt.h.
2937         * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2938         fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
2939         * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2940         fixed-value.h real.h statistics.h stmt.h.
2941         * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2942         fixed-value.h real.h statistics.h stmt.h varasm.h.
2943         * cprop.c: Likewise.
2944         * modulo-sched.c: Likewise.
2945         * postreload.c: Likewise.
2946         * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
2947         flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
2948         statistics.h stmt.h varasm.h.
2949         * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
2950         explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
2951         rtl.h statistics.h stmt.h varasm.h.
2952         * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
2953         fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
2954         varasm.h.
2955         * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
2956         function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
2957         varasm.h.
2958         * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
2959         fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
2960         varasm.h.
2961         * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
2962         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
2963         * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
2964         function.h real.h statistics.h stmt.h varasm.h.
2965         * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
2966         insn-config.h real.h statistics.h stmt.h.
2967         * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
2968         statistics.h stmt.h.
2969         * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
2970         fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
2971         statistics.h stmt.h varasm.h.
2972         * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
2973         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
2974         * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
2975         flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
2976         * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
2977         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
2978         statistics.h stmt.h varasm.h.
2979         * ipa-polymorphic-call.c: Likewise.
2980         * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
2981         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
2982         statistics.h stmt.h.
2983         * config/c6x/c6x.c: Likewise.
2984         * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
2985         explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
2986         statistics.h stmt.h varasm.h.
2987         * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
2988         fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
2989         stmt.h varasm.h.
2990         * ipa-split.c: Likewise.
2991         * tree-eh.c: Likewise.
2992         * tree-ssa-dce.c: Likewise.
2993         * tree-ssa-loop-niter.c: Likewise.
2994         * tree-vrp.c: Likewise.
2995         * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
2996         expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
2997         stmt.h.
2998         * config/nds32/nds32-fp-as-gp.c: Likewise.
2999         * config/nds32/nds32-intrinsic.c: Likewise.
3000         * config/nds32/nds32-isr.c: Likewise.
3001         * config/nds32/nds32-md-auxiliary.c: Likewise.
3002         * config/nds32/nds32-memory-manipulation.c: Likewise.
3003         * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
3004         * config/nds32/nds32-predicates.c: Likewise.
3005         * config/nds32/nds32.c: Likewise.
3006         * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
3007         fixed-value.h hashtab.h real.h statistics.h.
3008         * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
3009         fixed-value.h hashtab.h real.h statistics.h stmt.h.
3010         * config/arm/arm.c: Likewise.
3011         * config/avr/avr.c: Likewise.
3012         * config/bfin/bfin.c: Likewise.
3013         * config/h8300/h8300.c: Likewise.
3014         * config/i386/i386.c: Likewise.
3015         * config/ia64/ia64.c: Likewise.
3016         * config/iq2000/iq2000.c: Likewise.
3017         * config/m32c/m32c.c: Likewise.
3018         * config/m32r/m32r.c: Likewise.
3019         * config/m68k/m68k.c: Likewise.
3020         * config/mcore/mcore.c: Likewise.
3021         * config/mep/mep.c: Likewise.
3022         * config/mips/mips.c: Likewise.
3023         * config/mn10300/mn10300.c: Likewise.
3024         * config/moxie/moxie.c: Likewise.
3025         * config/pa/pa.c: Likewise.
3026         * config/rl78/rl78.c: Likewise.
3027         * config/rx/rx.c: Likewise.
3028         * config/s390/s390.c: Likewise.
3029         * config/sh/sh.c: Likewise.
3030         * config/sparc/sparc.c: Likewise.
3031         * config/spu/spu.c: Likewise.
3032         * config/stormy16/stormy16.c: Likewise.
3033         * config/v850/v850.c: Likewise.
3034         * config/vax/vax.c: Likewise.
3035         * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
3036         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
3037         * config/msp430/msp430.c: Likewise.
3038         * predict.c: Likewise.
3039         * value-prof.c: Likewise.
3040         * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
3041         expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
3042         * config/microblaze/microblaze.c: Likewise.
3043         * config/nios2/nios2.c: Likewise.
3044         * config/rs6000/rs6000.c: Likewise.
3045         * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
3046         insn-config.h real.h rtl.h statistics.h stmt.h.
3047         * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
3048         insn-config.h real.h statistics.h stmt.h.
3049         * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
3050         fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
3051         * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
3052         fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
3053         * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
3054         fixed-value.h real.h statistics.h stmt.h.
3055         * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
3056         fixed-value.h statistics.h stmt.h.
3057         * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
3058         stmt.h.
3060 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
3062         * gengtype.c (create_user_defined_type): Workaround
3063         -Wmaybe-uninitialized false positives.
3064         * cse.c (fold_rtx): Likewise.
3065         * loop-invariant.c (gain_for_invariant): Likewise.
3067 2015-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3069         * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
3070         set the memory attributes in all cases but clear MEM_EXPR if need be.
3072 2015-01-15  Yuri Rumyantsev  <ysrumyan@gmail.com>
3074         PR tree-optimization/64434
3075         * cfgexpand.c (reorder_operands): New function.
3076         (expand_gimple_basic_block): Insert call of reorder_operands if
3077         optimized is true.
3079 2015-01-15  Matthew Fortune  <matthew.fortune@imgtec.com>
3081         * config/mips/micromips.md (*swp): Remove explicit parallel.
3082         (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
3083         * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
3084         (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
3085         (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
3086         (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
3087         (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
3088         (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
3089         (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
3090         (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
3091         (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
3092         (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
3093         (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
3094         (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
3095         (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
3096         (mips_wrdsp): Likewise.
3097         * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
3098         parallel.
3099         (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
3100         (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
3101         (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
3102         (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
3103         (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
3104         (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
3105         * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
3106         (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
3107         (ssmaddsqdq4, ssmsubsqdq4): Likewise.
3109 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
3111         * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
3112         (mips_print_operand): Support 'y' to print exact log2 in decimal
3113         of a const_int.
3114         * config/mips/mips.h (ISA_HAS_LSA): New define.
3115         (ISA_HAS_DLSA): Likewise.
3116         * config/mips/mips.md (<GPR:d>lsa): New define_insn.
3117         * config/mips/predicates.md (const_immlsa_operand): New predicate.
3119 2015-01-15  Martin Liska  <mliska@suse.cz>
3121         PR target/64377
3122         * optc-save-gen.awk: Add support for array types.
3124 2015-01-15  Richard Biener  <rguenther@suse.de>
3126         PR middle-end/64365
3127         * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
3128         for MEM_REF access functions with the same base can never partially
3129         overlap.
3131 2015-01-14  Marcos Diaz <marcos.diaz@tallertechnologies.com>
3133         * common.opt: New option -fstack-protector-explicit.
3134         * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
3135         (stack_protect_decl_phase): Handle stack_protect attribute for
3136         explicit stack protection requests.
3137         (expand_used_vars): Similarly.
3138         * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
3139         * doc/extend.texi: Add documentation for "stack_protect" attribute.
3140         * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
3142 2015-01-14  Oleg Endo  <olegendo@gcc.gnu.org>
3144         PR target/53988
3145         * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
3146         reg-reg copies.
3147         (sh_extending_set_of_reg): New struct.
3148         (sh_find_extending_set_of_reg, sh_split_tst_subregs,
3149         sh_remove_reg_dead_or_unused_notes): New Declarations.
3150         * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
3151         sh_find_extending_set_of_reg, sh_split_tst_subregs,
3152         sh_extending_set_of_reg::use_as_extended_reg): New functions.
3153         * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
3154         convert to insn_and_split and use new function sh_split_tst_subregs.
3156 2015-01-14  Sandra Loosemore  <sandra@codesourcery.com>
3158         * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
3159         option.
3160         (Optimization Options): Move -fuse-ld documentation to...
3161         (Link Options): ...here.
3163 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
3165         * config/mips/constraints.md (ZC): Add support for R6 LL/SC
3166         offsets.
3167         (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
3168         * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
3169         (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
3170         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
3171         instead of ZR for the memory operand of LL/SC.
3172         (compare_and_swap_12, sync_add<mode>): Likewise.
3173         (sync_<optab>_12, sync_old_<optab>_12): Likewise.
3174         (sync_new_<optab>_12, sync_nand_12): Likewise.
3175         (sync_old_nand_12, sync_new_nand_12): Likewise.
3176         (sync_sub<mode>, sync_old_add<mode>): Likewise.
3177         (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
3178         (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
3179         (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
3180         (sync_nand<mode>, sync_old_nand<mode>): Likewise.
3181         (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
3182         (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
3183         (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
3184         * doc/md.texi (ZC): Update description.
3186 2015-01-14  Andrew MacLeod  <amacleod@redhat.com>
3188         * builtins.c (expand_builtin_atomic_exchange): Remove error when
3189         memory model is CONSUME.
3190         (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
3191         expand_builtin_atomic_store): Change invalid memory model errors to
3192         warnings.
3193         (expand_builtin_atomic_clear): Change invalid model errors to warnings
3194         and issue warning for CONSUME.
3196 2015-01-14  Aldy Hernandez  <aldyh@redhat.com>
3198         * lto-cgraph: Update function comments for
3199         lto_symtab_encoder_encode_*.
3201 2015-01-14  Ilya Verbin  <ilya.verbin@intel.com>
3203         * Makefile.in (site.exp): Do not set ENABLE_LTO.
3205 2015-01-14  Ilya Verbin  <ilya.verbin@intel.com>
3207         * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
3208         * lto-cgraph.c (select_what_to_stream): Remove argument, use
3209         lto_stream_offload_p instead.
3210         * lto-streamer.h (select_what_to_stream): Remove argument.
3211         * passes.c (ipa_write_summaries): Likewise.
3212         * tree-pass.h (ipa_write_summaries): Likewise.
3214 2015-01-14  Richard Biener  <rguenther@suse.de>
3216         PR tree-optimization/59354
3217         * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
3218         groups larger than the slp group size as having gaps.
3220 2015-01-14  Andrew MacLeod  <amacleod@redhat.com>
3222         PR middle-end/59448
3223         * builtins.c (get_memmodel): Promote consume to acquire always.
3225 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
3227         PR target/64386
3228         * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
3229         V32HImode.
3231 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
3233         PR target/64393
3234         * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
3235         Enable AVX512BW.
3236         (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
3237         * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
3238         AVX512VBMI, as it implies AVX512BW.
3240 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
3242         PR target/64387
3243         * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
3244         (vec_unpacks_hi_v16sf): Ditto.
3246 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3248         * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
3249         is not available.
3251 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3253         * doc/invoke.texi (mapcs): Mention deprecation.
3254         (mapcs-frame): Likewise.
3256 2015-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3258         PR target/64453
3259         * config/arm/arm.c (callee_saved_reg_p): Define.
3260         (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
3261         register is callee saved instead of !call_used_regs[reg].
3262         (thumb1_compute_save_reg_mask): Likewise.
3264 2015-01-14  Hale Wang  <hale.wang@arm.com>
3266         * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
3267         Cortex-M7.
3269 2015-01-14  Richard Biener  <rguenther@suse.de>
3271         PR lto/64415
3272         * tree-inline.c (insert_debug_decl_map): Check destination
3273         function MAY_HAVE_DEBUG_STMTS.
3274         (insert_init_debug_bind): Likewise.
3275         (insert_init_stmt): Remove redundant check.
3276         (remap_gimple_stmt): Drop debug stmts if the destination
3277         function has var-tracking assignments disabled.
3279 2015-01-14  Martin Liska  <mliska@suse.cz>
3281         * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
3282         IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
3284 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3286         PR target/64460
3287         * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
3288         (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
3290 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
3292         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
3293         level from an ARCH; do not inject the default.
3294         (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
3295         MIPS_ISA_LEVEL_SPEC.
3296         (MIPS_ISA_NAN2008_SPEC): Update comment.
3297         (BASE_DRIVER_SELF_SPECS): Likewise.
3298         * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
3299         MIPS_DEFAULT_ISA_LEVEL_SPEC.
3300         * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
3301         * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
3302         * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
3304 2015-01-14  Richard Biener  <rguenther@suse.de>
3306         PR tree-optimization/64493
3307         PR tree-optimization/64495
3308         * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
3309         assign the proper vectorized PHI to the inner loop exit PHIs.
3311 2015-01-14  Joey Ye  <joey.ye@arm.com>
3313         * config/arm/arm.c (arm_compute_save_reg_mask):
3314         Do not save lr in case of tail call.
3315         * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
3317 2015-01-14  Martin Uecker <uecker@eecs.berkeley.edu>
3319         * tree-vrp.c (check_array_ref): Emit more warnings
3320         for warn_array_bounds >= 2.
3321         * common.opt: New option -Warray-bounds=.
3322         * doc/invoke.texi: Document -Warray-bounds=.
3324 2015-01-14  Chung-Ju Wu  <jasonwucj@gmail.com>
3326         * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
3327         (mforbid-fp-as-gp): Remove.
3328         (mex9): Remove.
3329         * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
3330         (nds32_symbol_load_store_p): Remove.
3331         (nds32_fp_as_gp_check_available): Clean up implementation.
3332         * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
3333         cases.
3334         * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
3335         fp-as-gp and ex9 cases.
3337 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
3339         * tree-profile.c (init_ic_make_global_vars): Drop workaround
3340         for bintuils bug 14342.
3341         (init_ic_make_global_vars): Likewise.
3342         (gimple_init_edge_profiler): Likewise.
3343         (gimple_gen_ic_func_profiler): Likewise.
3345 2015-01-13  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
3347         * ipa-inline.c (inline_small_functions): Swap the operands in
3348         enum.
3350 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
3352         PR ipa/64481
3353         * ipa-inline-analysis.c (node_growth_cache): Remove.
3354         (initialize_growth_caches): Do not initialize it.
3355         (free_growth_caches): Do not free it.
3356         (do_estimate_growth): Rename to ...
3357         (estimate_growth): ... this one; drop growth cache code.
3358         (growth_likely_positive): Always go the heuristics way.
3359         * ipa-inline.c (can_inline_edge_p): Walk through aliases.
3360         (reset_edge_caches): Do not reset node growth.
3361         (heap_edge_removal_hook): Do not maintain cache.
3362         (inline_small_functions): Likewise; strenghten sanity check.
3363         (ipa_inline): Do not maintain caches.
3364         * ipa-inline.h (node_growth_cache): Remove.
3365         (do_estimate_growth): Remove to ...
3366         (estimate_growth): this one; remove inline version.
3367         (reset_node_growth_cache): Remove.
3369 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
3371         PR ipa/64565
3372         * ipa-inline.c (inline_small_functions): Update callee keys after
3373         resolving speculation
3374         (inline_small_functions): Always check monotonicity of the queue.
3376 2015-01-13  Marek Polacek  <polacek@redhat.com>
3378         PR middle-end/64391
3379         * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
3381 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
3383         PR rtl-optimization/64286
3384         * ree.c (combine_reaching_defs): Move part of comment earlier,
3385         remove !SCALAR_INT_MODE_P check.
3386         (add_removable_extension): Don't add vector mode
3387         extensions if all uses of the source register aren't the same
3388         vector extensions.
3390 2015-01-13  Renlin Li  <renlin.li@arm.com>
3392         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
3393         (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
3395 2015-01-13  Martin Liska  <mliska@suse.cz>
3397         * ipa-icf.c (sem_function::equals_private): Call new functions
3398         cl_target_option_print_diff and cl_optimization_print_diff.
3399         * optc-save-gen.awk (cl_target_option_print_diff): New function.
3400         (cl_optimization_print_diff): Likewise.
3401         * opth-gen.awk: Likewise.
3403 2015-01-13  Richard Sandiford  <richard.sandiford@arm.com>
3405         * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
3406         (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
3407         (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
3408         (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
3409         (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
3410         (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
3412 2015-01-13  Andrew Pinski   <apinski@cavium.com>
3414         * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
3415         instead of src mode.
3417 2015-01-13  Richard Biener  <rguenther@suse.de>
3419         PR lto/64373
3420         * lto-streamer-out.c (tree_is_indexable): Guard for NULL
3421         DECL_CONTEXT.
3423 2015-01-13  Andrew Pinski   <apinski@cavium.com>
3425         * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
3426         volatile mems.
3427         (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
3429 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
3431         PR middle-end/63974
3432         * cfgexpand.c (expand_computed_goto): Don't call
3433         convert_memory_address here.
3435 2015-01-13  Richard Biener  <rguenther@suse.de>
3437         PR tree-optimization/64406
3438         * tree-loop-distibution.c (pass_loop_distribution::execute):
3439         Reset the SCEV hashtable if we distributed anything.
3441 2015-01-13  Richard Biener  <rguenther@suse.de>
3443         PR tree-optimization/64404
3444         * tree-vect-stmts.c (vectorizable_load): Reject conflicting
3445         SLP types for CSEd loads.
3447 2015-01-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3449         PR tree-optimization/64436
3450         * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
3451         merge of two symbolic numbers for a bitwise OR to ...
3452         (perform_symbolic_merge): This. Also fix computation of the range and
3453         end of the symbolic number corresponding to the result of a bitwise OR.
3455 2015-01-13  Richard Biener  <rguenther@suse.de>
3457         PR tree-optimization/64568
3458         * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
3459         release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
3461 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
3463         * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
3464         TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
3466 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
3468         * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
3469         target-specific symbol_ref flag.
3470         (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
3471         resides in rodata section.
3472         * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
3473         (nds32_encode_section_info): New function.
3475 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
3477         * config/nds32/nds32.md (call): Use pseudo instruction bal which
3478         clobbers TA_REGNUM if large code model is specified.
3479         (call_register): Likewise.
3480         (call_immediate): Likewise.
3481         (call_value): Likewise.
3482         (call_value_register): Likewise.
3483         (call_value_immediate): Likewise.
3485 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
3487         * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
3488         (TARGET_CMODEL_MEDIUM): New macro.
3489         (TARGET_CMODEL_LARGE): New macro.
3490         * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
3491         code model setting in assembly code.
3493 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
3495         * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
3496         Remove MASK_GP_DIRECT flag.
3497         * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
3498         one of the multilib default options.
3499         * config/nds32/nds32.opt (mgp-direct): Remove.
3500         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
3501         -mgp-direct.  We also remove unnecessary -mlittle-endian/-mbig-endian.
3503 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
3505         * config/nds32/nds32.opt (mcmodel): Add new option.
3506         * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
3507         to describe code model.
3509 2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
3511         PR target/64479
3512         * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
3514 2015-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>
3516         * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
3517         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
3518         (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
3519         (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
3520         __builtin_sh_set_fpscr.
3522 2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
3524         * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
3525         after a funtion name just to indicate it is a function.
3526         ([-fsanitize-undefined-trap-on-error]): Likewise.
3527         ([-fdbg-cnt=]): Likewise.
3528         ([-mmemcpy]): Likewise.
3529         ([-mflush-func]): Likewise.
3530         ([-msynci]): Likewise.
3532 2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
3534         * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
3535         example.
3537 2015-01-12  Jakub Jelinek  <jakub@redhat.com>
3539         PR tree-optimization/64563
3540         * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
3541         instead of != VR_VARYING.
3543         PR target/64513
3544         * config/i386/i386.c (ix86_expand_prologue): Add
3545         REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
3547         PR tree-optimization/64454
3548         * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
3549         op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
3550         for signed or [0, op1 - 1] for unsigned modulo.
3551         (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
3552         even if op1 does not satisfy integer_pow2p.
3554         PR other/64370
3555         * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
3557 2015-01-12  Jeff Law  <law@redhat.com>
3559         PR target/64461
3560         * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
3561         (trunchiqi2, truncsihi2): Similarly.
3563         * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
3564         rather than calling F.
3566 2015-01-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3568         * tsan.c (instrument_expr): Use force_gimple_operand.
3569         Use may_be_nonaddressable_p instead of is_gimple_addressable.
3571 2015-01-12  Richard Biener  <rguenther@suse.de>
3573         PR tree-optimization/64530
3574         * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
3575         back dr1.
3577 2015-01-12  Richard Biener  <rguenther@suse.de>
3579         PR middle-end/64357
3580         * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
3581         latches properly.
3583 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3585         * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
3586         Cortex-A17 tuning parameters.
3587         * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
3589 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3591         * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
3592         * config/arm/arm.c (arm_macro_fusion_p): New function.
3593         (arm_macro_fusion_pair_p): Likewise.
3594         (TARGET_SCHED_MACRO_FUSION_P): Define.
3595         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
3596         (ARM_FUSE_NOTHING): Likewise.
3597         (ARM_FUSE_MOVW_MOVT): Likewise.
3598         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
3599         arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
3600         arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
3601         arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
3602         arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
3603         arm_cortex_a5_tune): Specify fuseable_ops value.
3605 2015-01-12  H.J. Lu  <hongjiu.lu@intel.com>
3607         PR bootstrap/64561
3608         * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
3609         test for PIE with copy reloc.
3610         * configure: Regenerated.
3612 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3614         * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
3615         in gen_rtx_REG.
3616         (arm_tls_descseq_addr): Likewise.
3617         (arm_gen_movmemqi): Likewise.
3618         (arm_expand_epilogue_apcs_frame): Likewise.
3619         (arm_expand_epilogue): Likewise.
3620         (arm_expand_prologue): Likewise.  Use R1_REGNUM instead of constant 1
3621         in gen_rtx_REG.
3623 2015-01-12  Martin Liska  <mliska@suse.cz>
3625         PR ipa/64550
3626         * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
3627         volatility for correct operands.
3629 2015-01-12  Martin Liska  <mliska@suse.cz>
3631         * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
3632         that a function is not leaf.
3633         (sem_function::compare_polymorphic_p): Likewise.
3635 2015-01-12  Martin Liska  <mliska@suse.cz>
3637         * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
3638         that a function is not leaf.
3639         (sem_function::compare_polymorphic_p): Likewise.
3641 2015-01-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
3643         * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
3644         machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
3645         fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
3646         fold-const.h, tree-check.h.
3648 2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
3650         PR ipa/63967
3651         PR ipa/64425
3652         * ipa-inline.c (compute_uninlined_call_time,
3653         compute_inlined_call_time): Use counts for extra precision when
3654         needed possible.
3655         (big_speedup_p): Fix formating.
3656         (RELATIVE_TIME_BENEFIT_RANGE): Remove.
3657         (relative_time_benefit): Remove.
3658         (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
3659         merge guessed and read profile paths.
3660         (inline_small_functions): Count only !optimize_size functions into
3661         initial size; be more lax about sanity check when profile is used;
3662         be sure to update inlined function profile when profile is read.
3664 2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
3666         PR ipa/63470
3667         * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
3668         cost when edge becomes direct.
3669         * ipa-prop.c (make_edge_direct): Do not adjust when speculation
3670         is resolved or when introducing new speculation.
3672 2015-01-12  Chen Gang  <gang.chen.5i5j@gmail.com>
3674         PR ipa/64551
3675         PR ipa/64552
3676         * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
3677         '||' to fix typo issue.
3679         * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
3680         accept and return NULL.
3682 2015-01-12  Martin Liska  <mliska@suse.cz>
3684         * cgraph.c (cgraph_edge::remove_callee): Move function to header
3685         file for being inlined.
3686         (cgraph_set_edge_callee): Delete.
3687         (cgraph_edge::redirect_callee): Move function to header file
3688         for being inlined.
3689         (cgraph_edge::make_direct): Use new function.
3690         (cgraph_edge::dump_edge_flags): New function created from
3691         static dump_edge_flags function.
3692         (cgraph_node::dump): Use new function.
3693         (cgraph_edge::verify_count_and_frequency): New function created
3694         from verify_edge_count_and_frequency.
3695         (cgraph_edge::verify_corresponds_to_fndecl): New function created
3696         from verify_edge_corresponds_to_fndecl.
3697         (verify_edge_corresponds_to_fndecl): Delete.
3698         (cgraph_node::verify_node): Use new function.
3699         * cgraph.h (cgraph_edge::set_callee): New function.
3700         (cgraph_edge::dump_edge_flags): Likewise.
3701         (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
3703 2015-01-11  Jan Hubicka  <hubicka@ucw.cz>
3705         * ipa-utils.c (estimate_function_body_sizes): Do not
3706         free node params when called late with early=true.
3708 2015-01-11  James Greenhalgh  <james.greenhalgh@arm.com>
3710         * doc/md.texi (Instruction Patterns): Rewrite text for
3711         clarity.
3712         (Example): Likewise.
3714 2015-01-10  Sandra Loosemore  <sandra@codesourcery.com>
3716         * doc/invoke.texi (Option Summary): Break long lines.
3717         [(-fdiagnostics-color)]: Put long literal in @smallexample
3718         instead of inline.
3719         [(-fsanitize-recover)]: Likewise.
3720         [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
3721         [(-ffast-math)]: Likewise.
3722         [(--param max-inline-insns-recursive)]: Likewise.
3723         [(--param max-inline-recursive-depth)]: Likewise.
3724         [(-mno-text-section-literals)]: Likewise.
3726 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
3728         * doc/install.texi: Update for libgomp being renamed from "GNU
3729         OpenMP Runtime Library" to "GNU Offloading and Multi Processing
3730         Runtime Library".
3731         * doc/sourcebuild.texi: Likewise.
3733 2015-01-10  Anthony Green  <green@moxielogic.com>
3735         * config/moxie/moxie.c (moxie_option_override): Fix forcing of
3736         mul.x availability for moxiebox configuration.
3738 2015-01-09  Anthony Green  <green@moxielogic.com>
3740         * config/moxie/moxie.md: Tabify assembly output.
3742 2015-01-09  Anthony Green  <green@moxielogic.com>
3744         * config/moxie/moxie.md (CC_REG): Correct register definition.
3746 2015-01-09  Sandra Loosemore  <sandra@codesourcery.com>
3748         * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
3749         ([-fvtv-debug], [-fvtv-counts]): Likewise.  Correct location
3750         of log files.
3752 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
3754         * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
3756 2015-01-09  Bernd Schmidt  <bernds@codesourcery.com>
3757             Jakub Jelinek  <jakub@redhat.com>
3759         PR middle-end/64412
3760         * lto-streamer.h (lto_stream_offload_p): New declaration.
3761         * lto-streamer.c (lto_stream_offload_p): New variable.
3762         * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
3763         at the same time as section_name_prefix.
3764         * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
3765         if lto_stream_offload_p.
3766         * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
3767         stream TREE_TARGET_OPTION if lto_stream_offload_p.
3768         (write_ts_function_decl_tree_pointers): Don't
3769         stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
3770         * tree-streamer-in.c (unpack_value_fields): Don't stream
3771         TREE_TARGET_OPTION in if ACCEL_COMPILER.
3772         (lto_input_ts_function_decl_tree_pointers): Don't stream
3773         DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
3774         * lto-opts.c (lto_write_options): Use lto_stream_offload_p
3775         instead of section_name_prefix string comparisons.
3777 2015-01-09  Jakub Jelinek  <jakub@redhat.com>
3779         PR rtl-optimization/64536
3780         * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
3781         tablejumps.
3783 2015-01-09  Michael Collison  <michael.collison@linaro.org>
3785         PR tree-optimization/64322
3786         * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
3787         range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
3789 2015-01-09  Tom de Vries  <tom@codesourcery.com>
3791         PR rtl-optimization/64539
3792         * regcprop.c (kill_clobbered_values): Factor out of ...
3793         (copyprop_hardreg_forward_1): ... here.  Use kill_clobbered_values
3794         instead of note_stores with kill_clobbered_value.
3796 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
3798          * ginclude/unwind-arm-common.h: Revert previous commit.
3800 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
3802         * config.gcc (arm*-*-freebsd*): New configuration.
3803         * config/arm/freebsd.h: New file.
3804         * config.host: Add extra components for arm*-*-freebsd*.
3805         * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
3806         * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
3808 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3810         * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
3811         for -mcpu=e6500.
3812         * config/rs6000/t-rtems: Add e6500 multilibs.
3814 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3816         * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
3817         MPC8540.
3819 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3821         * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
3822         MULTILIB_EXCEPTIONS.
3824 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3826         * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
3827         MULTILIB_EXCEPTIONS.
3829 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3831         * config/arm/t-rtems-eabi: Rename to...
3832         * config/arm/t-rtems: ...this.
3833         * config/arm/rtems-eabi.h: Rename to...
3834         * config/arm/rtems.h: ...this.
3835         * config.gcc (arm*-*-rtems*): Reflect changes above.
3837 2015-01-09  Richard Biener  <rguenther@suse.de>
3839         PR tree-optimization/64410
3840         * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
3841         on the LHS.
3842         (execute_update_addresses_taken): Deal with that.
3843         * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
3844         loads/stores for complex variables.
3846 2015-01-09  Martin Liska  <mliska@suse.cz>
3848         * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
3849         name comparison.
3850         (func_checker::compare_memory_operand): New function.
3851         (func_checker::compare_operand): Split case to newly
3852         added functions.
3853         (func_checker::compare_cst_or_decl): New function.
3854         (func_checker::compare_gimple_call): Identify
3855         memory operands.
3856         (func_checker::compare_gimple_assign): Likewise.
3857         * ipa-icf-gimple.h: New function.
3859 2015-01-09  Martin Liska  <mliska@suse.cz>
3861         PR ipa/64503
3862         * sreal.c (sreal::dump): Change unsigned format to signed for
3863         m_exp value.
3864         (sreal::to_double): Replace exp2 with scalbln.
3866 2015-01-09  Martin Liska  <mliska@suse.cz>
3868         * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
3869         * ipa-icf.c (sem_function::equals_private): Add support for target and
3870         (sem_item_optimizer::merge_classes): Remove redundant function
3871         optimization flags comparison.
3872         * tree.h (target_opts_for_fn): New function.
3874 2015-01-09  Tom de Vries  <tom@codesourcery.com>
3876         * omp-low.c (expand_omp_for_static_chunk): Fix assert.
3878 2015-01-09  Kito Cheng  <kito@0xlab.org>
3880         PR rtl-optimization/64348
3881         * lra-constraints.c (split_reg): Fix caller-save store/restore
3882         instruction generation.
3884 2015-01-08  John David Anglin  <danglin@gcc.gnu.org>
3886         PR gcov-profile/61790
3887         * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
3888         long long.  Fallback to int64_t if host doesn't have long long and
3889         use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
3891 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
3893         PR tree-optimization/63989
3894         * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
3895         from 1000 to 10000.
3896         * tree-ssa-strlen.c (get_strinfo): Moved earlier.
3897         (get_stridx): If we don't have a record for certain SSA_NAME,
3898         but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
3899         constant offset, call get_stridx_plus_constant.
3900         (get_stridx_plus_constant): New function.
3901         (zero_length_string): Don't use get_stridx here.
3903         PR target/55023
3904         PR middle-end/64388
3905         * dse.c (struct insn_info): Mention frame_read set also
3906         before reload for tail calls on some targets.
3907         (scan_insn): Revert 2014-12-22 change.  Set frame_read
3908         also before reload for tail calls if
3909         HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
3910         instead of add_non_frame_wild_read for non-const/memset
3911         tail calls after reload.
3913 2015-01-08  Jason Merrill  <jason@redhat.com>
3915         * ubsan.c (do_ubsan_in_current_function): New.
3916         (pass_ubsan::gate): Use it.
3917         * ubsan.h: Declare it.
3918         * convert.c (convert_to_integer): Use it.
3920 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
3922         PR target/64338
3923         * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
3924         compare_code when it is unconditionally overwritten afterwards.
3925         Use ix86_reverse_condition instead of reverse_condition.  Don't
3926         change code if *reverse_condition* returned UNKNOWN and don't
3927         swap ct/cf and negate diff in that case.
3929 2015-01-08  Mike Stump  <mikestump@comcast.net>
3931         * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
3932         (pass_tsan_O0::gate): Likewise.
3933         * extend.texi (Function Attributes): Add no_sanitize_thread
3934         documentation.
3936 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
3938         * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
3939         for registering builtins.
3940         * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
3941         add -fopenmp to the argv_obstack used when invoking
3942         compile_for_target.
3944         * config/i386/intelmic-mkoffload.c (compile_for_target): Always
3945         add "-m32" or "-m64" to argv_obstack.
3946         (generate_host_descr_file): Likewise, when invoking host_compiler.
3947         (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
3948         ld.
3950 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
3952         * config/sh/sh-mem.cc: Use constant as second operand when emitting
3953         tstsi_t insns.
3955 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
3957         PR target/55212
3958         * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
3959         constant load if constant operand fits into I08.
3961 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
3963         PR sanitizer/64336
3964         * tree.c (build2_stat): Fix up initialization of TREE_READONLY
3965         and TREE_THIS_VOLATILE for MEM_REFs.
3966         (build5_stat): Fix up initialization of TREE_READONLY and
3967         TREE_THIS_VOLATILE for TARGET_MEM_REFs.
3969 2015-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3971         PR target/64533
3972         * config/sh/sh.md (*addsi3_compact): Use u constraint instead
3973         of r for the second alternative of the destination operand.
3975 2015-01-07  Segher Boessenkool  <segher@kernel.crashing.org>
3977         PR target/36557
3978         * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
3980 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
3982         * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
3983         keywords.
3984         ([-fivar-visibility], [-fvisibility]): Likewise.
3986 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
3988         * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
3989         the file where @code, @command, etc is more appropriate.
3991 2015-01-06  Sandra Loosemore  <sandra@codesourcery.com>
3993         * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
3994         of -mrecip= documentation.
3996 2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3998         PR target/64505
3999         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
4000         correct reload handler if -m32 -mpowerpc64 is used.
4002 2015-01-06  Tom de Vries  <tom@codesourcery.com>
4004         * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
4006 2015-01-08  Christian Bruel  <christian.bruel@st.com>
4008         PR target/64507
4009         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
4011 2015-01-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4013         PR tree-optimization/63259
4014         * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
4015         if optab exists for 16bit byteswap.
4017 2015-01-06  Jakub Jelinek  <jakub@redhat.com>
4019         * opts.c (common_handle_option): Add support for
4020         -fno-sanitize=all and -f{,no-}sanitize-recover=all.
4021         * doc/invoke.texi: Document -fno-sanitize=all,
4022         -f{,no-}sanitize-recover=all.  Document that
4023         -fsanitize=float-cast-overflow is not enabled
4024         by -fsanitize=undefined.  Fix up documentation
4025         of -f{,no-}sanitize-recover.
4027 2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
4029         * config.gcc: Add Visium support.
4030         * configure.ac: Likewise.
4031         * configure: Regenerate.
4032         * doc/extend.texi (interrupt attribute): Add Visium.
4033         * doc/invoke.texi: Document Visium options.
4034         * doc/install.texi: Document Visium target.
4035         * doc/md.texi: Document Visium constraints.
4036         * common/config/visium: New directory.
4037         * config/visium: Likewise.
4039 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
4041         * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
4042         for the "(and X (ior (not X) Y) -> (and X Y)" transform.
4044 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
4046         * combine.c (combine_validate_cost): Do not count the cost of a
4047         split I2 twice.  Do not display it twice in the dump, either.
4049 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
4051         Revert parts of r219199.
4052         * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
4053         <inttypes.h>.
4054         ([-Wtraditional]): Restore markup on <limits.h>.
4056 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
4058         PR c++/31397
4059         * doc/invoke.texi: Document -Wsuggest-override.
4061 2015-01-05  Radovan Obradovic  <radovan.obradovic@imgtec.com>
4063         PR rtl-optimization/64287
4064         * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
4065         (process_options): Disable flag_ipa_ra if profiling.
4067 2015-01-05  Eric Botcazou  <ebotcazou@adacore.com>
4069         * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
4071 2015-01-05  Max Filippov  <jcmvbkbc@gmail.com>
4073         * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
4074         hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
4075         put under #if TARGET_LOOPS guard.
4077 2015-01-05  Uros Bizjak  <ubizjak@gmail.com>
4079         * config/i386/i386.c (output_387_binary_op): Use std::swap.
4081 2015-01-05  Oleg Endo  <olegendo@gcc.gnu.org>
4083         * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
4084         * rtl.h (refers_to_regno_p): Add overload.
4085         * cse.c: Use it.
4086         * bt-load.c: Likewise.
4087         * combine.c: Likewise.
4088         * df-scan.c: Likewise.
4089         * sched-deps.c: Likewise.
4090         * config/s390/s390.c: Likewise.
4091         * config/m32r/m32r.c: Likewise.
4092         * config/rs6000/spe.md: Likewise.
4093         * config/rs6000/rs6000.c: Likewise.
4094         * config/pa/pa.c: Likewise.
4095         * config/stormy16/stormy16.c: Likewise.
4096         * config/cris/cris.c: Likewise.
4097         * config/arc/arc.md: Likewise.
4098         * config/arc/arc.c: Likewise.
4099         * config/sh/sh.md: Likewise.
4100         * config/sh/sh.c: Likewise.
4101         * config/frv/frv.c: Likewise.
4103 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
4105         PR sanitizer/64265
4106         * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
4107         call as cleanup of the whole body.
4108         * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
4109         * tsan.c (replace_func_exit): New function.
4110         (instrument_func_exit): Moved earlier.
4111         (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
4112         Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
4113         been found.
4114         (tsan_pass): Don't call instrument_func_exit.
4115         * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
4116         * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
4117         inlining.
4119         PR sanitizer/64344
4120         * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
4121         * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
4122         it to libubsan handler instead of EXPR.  Fold comparisons earlier,
4123         if the result is integer_zerop, return NULL_TREE.
4124         * convert.c (convert_to_integer): Pass expr as ARG.
4126         PR tree-optimization/64465
4127         * tree-inline.c (redirect_all_calls): During inlining
4128         clean up EH stmts and EH edges if redirect_call_stmt_to_callee
4129         changed the stmt to a non-throwing call.
4131 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
4133         * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
4134         etc markup throughout the file.
4136 2015-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4138         Enable experimental TSAN support for Ada.
4139         * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
4141 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
4143         PR tree-optimization/64494
4144         * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
4145         clear SSA_NAME_ANTI_RANGE_P flag.
4147 2015-01-05  Marek Polacek  <polacek@redhat.com>
4149         * doc/extend.texi (Arrays of Length Zero): Add missing comma.
4151 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
4153         Update copyright years.
4155         * gcc.c (process_command): Update copyright notice dates.
4156         * gcov-dump.c: Ditto.
4157         * gcov.c: Ditto.
4158         * doc/cpp.texi: Bump @copying's copyright year.
4159         * doc/cppinternals.texi: Ditto.
4160         * doc/gcc.texi: Ditto.
4161         * doc/gccint.texi: Ditto.
4162         * doc/gcov.texi: Ditto.
4163         * doc/install.texi: Ditto.
4164         * doc/invoke.texi: Ditto.
4166         * auto-profile.c, auto-profile.h: Fix up Copyright line.
4168 2015-01-04  Sandra Loosemore  <sandra@codesourcery.com>
4170         * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
4171         verb tense, etc.
4172         ([-fvtable-verify], [-fvtv-debug]): Likewise.
4173         ([-Wabi]): Likewise.
4174         ([-fmessage-length]): Likewise.
4175         ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
4176         ([-Wno-discarded-qualifiers]): Likewise.
4177         ([-Wnodiscarded-array-qualifiers]): Likewise.
4178         ([-Wno-virtual-move-assign]): Likewise.
4179         ([-fsanitize=address], [-fsanitize=thread]): Likewise.
4180         ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
4181         ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
4182         ([-fsanitize-undefined-trap-on-error]): Likewise.
4183         ([-floop-interchange]): Likewise.
4184         ([-ftree-coalesce-inlined-vars]): Likewise.
4185         ([-fvect-cost-model]): Likewise.
4186         ([-flto]): Likewise.
4187         ([--param]): Likewise.
4188         (Spec Files): Likewise.
4189         ([-mstrict-align]): Likewise.
4190         ([-mfix-cortex-a53-835769]): Likewise.
4191         ([-march], [-mtune]): Likewise.
4192         ([-mpic-register]): Likewise.
4193         ([-munaligned-access]): Likewise.
4194         ([-msp8]): Likewise.
4195         (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
4196         (AVR Built-in Macros): Likewise.
4197         ([-mpreferred-stack-boundary]): Likewise.
4198         ([-mtune-crtl]): Likewise.
4199         ([-mashf]): Likewise.
4200         ([-mmcu=]): Likewise.
4201         ([-minrt]): Likewise.
4202         ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
4203         ([-mupper-regs]): Likewise.
4204         ([-matomic-model]): Likewise.
4205         ([-mdiv]): Likewise.
4206         ([-mzdcbranch]): Likewise.
4207         ([-mdisable-callt]): Likewise.
4208         ([-msoft-float]): Likewise.
4209         ([-m8byte-align]): Likewise.
4210         ([-fstack-reuse]): Likewise.
4212 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
4214         * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
4215         Fix markup, light copy-editing.
4216         ([-fauto-profile]): Rewrite to fix formatting and content
4217         problems.
4219 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
4221         * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
4222         Copy-edit description.
4223         ([-fisolate-erroneous-paths-attribute]): Likewise.
4224         * common.opt (fisolate-erroneous-paths-dereference):
4225         Copy-edit description.
4226         (fisolate-erroneous-paths-attribute): Likewise.
4228 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
4230         * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
4231         tidy grammar.
4233 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
4235         * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
4236         ([-fvtv-debug]): Likewise.
4237         ([-Wc++-compat]): Likewise.
4238         ([-Wc++11-compat]): Likewise.
4239         ([-Wc++14-compat]): Likewise.
4240         ([-Wno-sized-deallocation]): Likewise.
4241         ([-femit-class-debug-always]): Likewise.
4242         ([-femit-struct-debug-detailed]): Likewise.
4243         ([-fno-keep-inline-dllexport]): Likewise.
4244         ([-fira-algorithm]): Likewise.
4245         ([-fira-region]): Likewise.
4246         ([-flra-remat]): Likewise.
4247         ([-fipa-ra]): Likewise.
4248         ([-fhoist-adjacent-loads]): Likewise.
4249         ([-fisolate-erroneous-paths-dereference]): Likewise.
4250         ([-fisolate-erroneous-paths-attribute]): Likewise.
4251         ([-ftree-switch-conversion]): Likewise.
4252         ([-ftree-tail-merge]): Likewise.
4253         ([-ftree-loop-if-convert]): Likewise.
4254         ([-ftree-loop-if-convert-stores]): Likewise.
4255         ([-ftree-loop-distribution]): Likewise.
4256         ([-ftree-loop-distribute-patterns]): Likewise.
4257         ([-flto-compression-level]): Likewise.
4258         ([-flto-report]): Likewise.
4259         ([-flto-report-wpa]): Likewise.
4260         ([-fuse-linker-plugin]): Likewise.
4261         ([-mfix-cortex-a53-835769]): Likewise.
4262         ([-mno-fix-cortex-a53-835769]): Likewise.
4263         ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
4264         explicit listing; add a note to the discussion indicating they
4265         exist.  Reorder table to group similar options.  Add missing
4266         @opindex entries.  Add @need commands throughout the table to
4267         allow it to be split across multiple pages.
4268         ([-m8bit-idiv]): Fix @opindex.
4269         ([-mavx256-split-unaligned-load]): Likewise.
4270         ([-mavx256-split-unaligned-store]): Likewise.
4271         ([-mstack-protector-guard]): Likewise.
4272         ([-mcpu=]): Likewise.
4273         ([-mcpu]): Likewise.
4274         ([-mpointer-size=]): Likewise.
4276 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
4278         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
4279         instead of `m' constraint.  Likewise for unnamed movb comparison
4280         patterns using reg_before_reload_operand predicate.
4281         * config/pa/predicates.md (reg_before_reload_operand): Tighten
4282         predicate to reject register index and LO_SUM DLT memory forms
4283         after reload.
4285 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
4287         * doc/invoke.texi (Option Summary): Fix spelling of
4288         -fdevirtualize-at-ltrans.
4289         ([-fdevirtualize]): Fix markup.
4290         ([-fdevirtualize-speculatively]): Fix typo.
4291         ([-fdevirtualize-at-ltrans]): Likewise.  Make description less
4292         implementor-speaky.
4293         * common.opt (fdevirtualize-at-ltrans): Likewise.
4294         * ipa-devirt.c: Fix typos in comments throughout the file.
4295         (ipa_devirt): Fix typos in format strings for dump output.
4297 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
4299         * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
4300         discussion of defaults, light copy-editing.
4302 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4304         * tsan.c (instrument_expr): corrected previous checkin.
4306 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4308         Instrument bit field and unaligned accesses for TSAN.
4309         * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
4310         (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
4311         * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
4312         Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
4313         unaligned memory regions.
4315 2015-01-01  Anthony Green  <green@moxielogic.com>
4317         * config/moxie/predicates.md (moxie_general_movsrc_operand):
4318         Restrict move source register offsets to 16 bits.
4320 Copyright (C) 2015 Free Software Foundation, Inc.
4322 Copying and distribution of this file, with or without modification,
4323 are permitted in any medium without royalty provided the copyright
4324 notice and this notice are preserved.