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