87d71416a7853fef71377ccdcbd603e1725f9240
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2014-05-05  Richard Biener  <rguenther@suse.de>
2
3         * passes.c (execute_function_todo): Move TODO_verify_flow under
4         the TODO_verify_ul umbrella.
5
6 2014-05-05  Richard Biener  <rguenther@suse.de>
7
8         PR middle-end/61010
9         * fold-const.c (fold_binary_loc): Consistently avoid
10         canonicalizing X & CST away from a CST that is the mask
11         of a mode.
12
13 2014-05-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14
15         * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
16         int argument to enum machine_mode.
17         (picochip_class_max_nregs): Ditto.
18         * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
19         (picochip_class_max_nregs): Ditto.
20
21 2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
22
23         * target.def: Add new target hook.
24         * doc/tm.texi: Regenerate.
25         * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
26         * targhooks.c (default_keep_leaf_when_profiled): New function.
27
28         * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
29         (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
30
31 2014-05-05  Bin Cheng  <bin.cheng@arm.com>
32
33         PR tree-optimization/60363
34         * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
35         (copy_phi_args): New parameters.  Call get_value_locus_in_path.
36         (update_destination_phis): New parameter.
37         (create_edge_and_update_destination_phis): Ditto.
38         (ssa_fix_duplicate_block_edges): Pass new arguments.
39         (thread_single_edge): Ditto.
40
41 2014-05-04  Peter Bergner  <bergner@vnet.ibm.com>
42
43         * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
44         (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
45         (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
46         * config/rs6000/rs6000-builtin.def (BU_MISC_1):
47         Use RS6000_BTM_HARD_FLOAT.
48         (BU_MISC_2): Likewise.
49         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
50         RS6000_BTM_HARD_FLOAT.
51         (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
52         is explicitly used.
53         (rs6000_invalid_builtin): Add hard floating builtin support.
54         (rs6000_expand_builtin): Relax the gcc_assert to allow the new
55         hard float builtins.
56         (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
57
58 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
59
60         * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
61         Add missing function* argument.
62
63 2014-05-03  Richard Sandiford  <rdsandiford@googlemail.com>
64
65         * lra-constraints.c (valid_address_p): Move earlier in file.
66         Add a constraint argument to the address_info version.
67         (satisfies_memory_constraint_p): New function.
68         (satisfies_address_constraint_p): Likewise.
69         (process_alt_operands, curr_insn_transform): Use them.
70         (process_address): Pass the constraint to valid_address_p when
71         checking address operands.
72
73 2014-05-03  Richard Sandiford  <rdsandiford@googlemail.com>
74
75         * config/mips/mips.c (mips_isa_rev): New variable.
76         (mips_set_architecture): Set it.
77         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
78         from mips_isa_rev.
79         (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
80         (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
81         (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
82         (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
83         (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
84         conditions in terms of mips_isa_rev.
85         (mips_isa_rev): Declare.
86
87 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
88
89         * config/sh/sh-mem.cc: Use tabs instead of spaces.
90         (prob_unlikely, prob_likely): Make variables const.
91
92 2014-05-03  Denis Chertykov  <chertykov@gmail.com>
93
94         * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
95
96 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
97
98         * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
99
100 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
101
102         * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
103         (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
104         * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
105         functions.
106         (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
107         sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
108         sh_pass_in_reg_p.
109         Replace usage of ROUND_REG with sh_round_reg.
110         Use CEIL instead of ROUND_ADVANCE.
111
112 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
113
114         PR target/61026
115         * config/sh/sh.c: Include stdlib headers before everything else.
116
117 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
118
119         * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
120         GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
121         (gimplify_adjust_omp_clauses): Simd region is never
122         directly nested in combined parallel.  Instead, for linear
123         with copyin/copyout, if in combined for simd loop, make decl
124         firstprivate/lastprivate on OMP_FOR.
125         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
126         expand_omp_for_static_chunk): When setting endvar, also set
127         fd->loop.v to the same value.
128
129 2014-05-02  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
130
131         * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
132
133 2014-05-02  Alan Lawrence  <alan.lawrence@arm.com>
134
135         * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
136         expression.
137
138 2014-05-02  Marek Polacek  <polacek@redhat.com>
139
140         * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
141
142 2014-02-26  Kito Cheng  <kito@0xlab.org>
143
144         * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
145         to a C expression marco.
146         * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
147         * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
148         * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
149         * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
150         HONOR_REG_ALLOC_ORDER.
151         * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
152
153 2014-05-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
154
155         * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
156
157 2014-05-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
158
159         * config/arc/arc.c (arc_select_cc_mode): Fix typo.
160
161 2014-05-01  Yuri Rumyantsev  <ysrumyan@gmail.com>
162
163         * tree-if-conv.c (is_cond_scalar_reduction): New function.
164         (convert_scalar_cond_reduction): Likewise.
165         (predicate_scalar_phi): Add recognition and transformation
166         of simple conditioanl reduction to be vectorizable.
167
168 2014-05-01  Marek Polacek  <polacek@redhat.com>
169
170         PR c/43245
171         * doc/invoke.texi: Document -Wdiscarded-qualifiers.
172
173 2014-04-30  Alan Lawrence  <alan.lawrence@arm.com>
174
175         * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
176         vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
177         vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
178         vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
179         vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
180         vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
181         vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
182         vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
183
184 2014-04-30  Joern Rennecke  <joern.rennecke@embecosm.com>
185
186         * config/arc/arc.opt (mlra): Move comment above option name
187         to avoid mis-parsing as language options.
188
189 2014-04-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
190
191         * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
192         * config/sol2.h: ... here.
193         * config/sol2-10.h: Remove.
194
195         * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
196         (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
197         (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
198         (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
199         (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
200         * config/sol2.h: ... here.
201         (SECTION_NAME_FORMAT): Don't redefine.
202         (STARTFILE_ARCH32_SPEC): Rename to ...
203         (STARTFILE_ARCH_SPEC): ... this.
204         (ASM_OUTPUT_ALIGNED_COMMON): Move ...
205         * config/sparc/sol2.h: ... here.
206         (SECTION_NAME_FORMAT): Don't undef.
207         * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
208         (SUBTARGET_EXTRA_SPECS): Remove.
209         * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
210
211         * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
212         (MD_STARTFILE_PREFIX): Remove.
213         (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
214         (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
215         (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
216         (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
217         (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
218         (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
219         * config/i386/sol2.h: ... here.
220         (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
221         * config/i386/sol2-bi.h: Remove.
222         * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
223         (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
224
225         * config/i386/t-sol2-64: Rename to ...
226         * config/i386/t-sol2: ... this.
227         * config/sparc/t-sol2-64: Rename to ...
228         * config/sparc/t-sol2: ... this.
229
230         * config.gcc (*-*-solaris2*): Split sol2_tm_file into
231         sol2_tm_file_head, sol2_tm_file_tail.
232         Include ${cpu_type}/sol2.h before sol2.h.
233         Remove sol2-10.h.
234         (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
235         i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
236         Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
237         Reflect i386/t-sol2-64 renaming.
238         (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
239         Reflect sparc/t-sol2-64 renaming.
240
241 2014-04-30  Richard Biener  <rguenther@suse.de>
242
243         * passes.c (execute_function_todo): Move TODO_verify_stmts
244         and TODO_verify_ssa under the TODO_verify_il umbrella.
245         * tree-ssa.h (verify_ssa): Adjust prototype.
246         * tree-ssa.c (verify_ssa): Add parameter to tell whether
247         we should verify SSA operands.
248         * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
249         * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
250         whether we should verify whether not throwing stmts have EH info.
251         * graphite-scop-detection.c (create_sese_edges): Adjust.
252         * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
253         * tree-eh.c (lower_try_finally_switch): Do not add the
254         default case label twice.
255
256 2014-04-30  Marek Polacek  <polacek@redhat.com>
257
258         * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
259         * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
260         * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
261         * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
262
263 2014-04-29  Alan Lawrence  <alan.lawrence@arm.com>
264
265         * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
266         vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
267         vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
268         vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
269         vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
270         vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
271         vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
272         vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
273
274 2014-04-29  David Malcolm  <dmalcolm@redhat.com>
275
276         * tree-cfg.c (dump_function_to_file): Dump the return type of
277         functions, in a line to itself before the function body, mimicking
278         the layout of a C function.
279
280 2014-04-29  Jakub Jelinek  <jakub@redhat.com>
281
282         PR tree-optimization/60971
283         * tree-tailcall.c (process_assignment): Reject conversions which
284         reduce precision.
285
286 2014-04-29  James Greenhalgh  <james.greenhalgh@arm.com>
287
288         * calls.c (initialize_argument_information): Always treat
289         PUSH_ARGS_REVERSED as 1, simplify code accordingly.
290         (expand_call): Likewise.
291         (emit_library_call_calue_1): Likewise.
292         * expr.c (PUSH_ARGS_REVERSED): Do not define.
293         (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
294         code accordingly.
295
296 2014-04-29  Nick Clifton  <nickc@redhat.com>
297
298         * config/msp430/msp430.md (umulsidi): Fix typo.
299         (mulhisi3): Enable even inside interrupt handlers.
300         * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
301         bigger return address pushed in large mode.
302
303 2014-04-29  Nick Clifton  <nickc@redhat.com>
304
305         * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
306         (arc_init_reg_tables): Use a machine_mode enum to iterate over
307         available modes.
308         * config/m32r/m32r.c (init_reg_tables): Likewise.
309         * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
310         enum to hold the modes.
311
312 2014-04-29  Richard Biener  <rguenther@suse.de>
313
314         * dominance.c (free_dominance_info): Add overload with
315         function parameter.
316         (dom_info_state): Likewise.
317         (dom_info_available_p): Likewise.
318         * basic-block.h (free_dominance_info, dom_info_state,
319         dom_info_available_p): Declare overloads.
320         * passes.c (execute_function_todo): Verify that verifiers
321         don't change dominator info state.  Drop dominator info
322         for IPA pass invocations.
323         * cgraph.c (release_function_body): Restore asserts that
324         dominator information is released.
325
326 2014-04-29  Patrick Palka  <patrick@parcs.ath.cx>
327
328         * doc/invoke.texi: Fix typo.
329         * tree-vrp.c: Fix typos.
330         * gimple.c (infer_nonnull_range): Reorder operands of an &&
331         condition.
332
333 2014-04-29  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
334
335         * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
336
337 2014-04-28  James Greenhalgh  <james.greenhalgh@arm.com>
338
339         * config/aarch64/aarch64-builtins.c
340         (aarch64_types_storestruct_lane_qualifiers): New.
341         (TYPES_STORESTRUCT_LANE): Likewise.
342         * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
343         (st3_lane): Likewise.
344         (st4_lane): Likewise.
345         * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
346         (vec_store_lanesci_lane<mode>): Likewise.
347         (vec_store_lanesxi_lane<mode>): Likewise.
348         (aarch64_st2_lane<VQ:mode>): Likewise.
349         (aarch64_st3_lane<VQ:mode>): Likewise.
350         (aarch64_st4_lane<VQ:mode>): Likewise.
351         * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
352         * config/aarch64/arm_neon.h
353         (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
354         use new macro arguments.
355         (__ST3_LANE_FUNC): Likewise.
356         (__ST4_LANE_FUNC): Likewise.
357         * config/aarch64/iterators.md (V_TWO_ELEM): New.
358         (V_THREE_ELEM): Likewise.
359         (V_FOUR_ELEM): Likewise.
360
361 2014-04-28  David Malcolm  <dmalcolm@redhat.com>
362
363         * doc/gimple.texi: Replace the description of the now-defunct
364         union gimple_statement_d with a diagram showing the
365         gimple_statement_base class hierarchy and its relationships to
366         the GSS_ and GIMPLE_ enums.
367
368 2014-04-28  James Greenhalgh  <james.greenhalgh@arm.com>
369
370         * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
371         * config/aarch64/aarch64.c
372         (aarch64_cannot_change_mode_class): Weaken conditions.
373         (aarch64_modes_tieable_p): New.
374         * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
375
376 2014-04-28  Pat Haugen  <pthaugen@us.ibm.com>
377
378         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
379         (loadsync_<mode>): Change mode.
380         (load_quadpti, store_quadpti): New.
381         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
382         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
383
384 2014-04-28  Martin Jambor  <mjambor@suse.cz>
385
386         * tree-sra.c (sra_modify_expr): Generate new memory accesses with
387         same alias type as the original statement.
388         (subreplacement_assignment_data): New type.
389         (handle_unscalarized_data_in_subtree): New type of parameter,
390         generate new memory accesses with same alias type as the original
391         statement.
392         (load_assign_lhs_subreplacements): Likewise.
393         (sra_modify_constructor_assign): Generate new memory accesses with
394         same alias type as the original statement.
395
396 2014-04-28  Richard Biener  <rguenther@suse.de>
397
398         * tree-pass.h (TODO_verify_il): Define.
399         (TODO_verify_all): Complete properly.
400         * passes.c (execute_function_todo): Move existing loop-closed
401         SSA verification under TODO_verify_il.
402         (execute_one_pass): Trigger TODO_verify_il at todo-after time.
403         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
404         Fix tree sharing issue.
405
406 2014-04-28  Richard Biener  <rguenther@suse.de>
407
408         PR middle-end/60092
409         * builtins.def (DEF_C11_BUILTIN): Add.
410         (BUILT_IN_ALIGNED_ALLOC): Likewise.
411         * coretypes.h (enum function_class): Add function_c11_misc.
412         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
413         BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
414         (call_may_clobber_ref_p_1): Likewise.
415         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
416         (mark_all_reaching_defs_necessary_1): Likewise.
417         (propagate_necessity): Likewise.
418         (eliminate_unnecessary_stmts): Likewise.
419         * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
420
421 2014-04-28  Richard Biener  <rguenther@suse.de>
422
423         * tree-vrp.c (vrp_var_may_overflow): Remove.
424         (vrp_visit_phi_node): Rather than bumping to +-INF possibly
425         with overflow immediately bump to one before that value and
426         let iteration figure out overflow status.
427
428 2014-04-28  Richard Biener  <rguenther@suse.de>
429
430         * configure.ac: Do valgrind header checks unconditionally.
431         Add --enable-valgrind-annotations.
432         * system.h: Guard valgrind header inclusion with
433         ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
434         * alloc-pool.c (pool_alloc, pool_free): Use
435         ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
436         to guard possibly dead code.
437         * config.in: Regenerated.
438         * configure: Likewise.
439
440 2014-04-28  Jeff Law  <law@redhat.com>
441
442         PR tree-optimization/60902
443         * tree-ssa-threadedge.c
444         (record_temporary_equivalences_from_stmts_at_dest): Only iterate
445         over real defs when invalidating outputs from statements that do not
446         produce useful outputs for threading.
447
448 2014-04-28  Richard Biener  <rguenther@suse.de>
449
450         PR tree-optimization/60979
451         * graphite-scop-detection.c (scopdet_basic_block_info): Reject
452         SCOPs that end in a block with a successor with abnormal
453         predecessors.
454
455 2014-04-28  Richard Biener  <rguenther@suse.de>
456
457         * tree-pass.h (execute_pass_list): Adjust prototype.
458         * passes.c (pass_manager::execute_early_local_passes):
459         Adjust.
460         (do_per_function): Change callback signature, push all actual
461         work to the callbals.
462         (do_per_function_toporder): Likewise.
463         (execute_function_dump): Adjust.
464         (execute_function_todo): Likewise.
465         (clear_last_verified): Likewise.
466         (verify_curr_properties): Likewise.
467         (update_properties_after_pass): Likewise.
468         (execute_pass_list_1): Split out from ...
469         (execute_pass_list): ... here.  Adjust.
470         (execute_ipa_pass_list): Likewise.
471         * cgraphunit.c (cgraph_add_new_function): Adjust.
472         (analyze_function): Likewise.
473         (expand_function): Likewise.
474         * cgraph.c (release_function_body): Free dominance info
475         here instead of asserting it was magically freed elsewhere.
476
477 2014-04-28  Eric Botcazou  <ebotcazou@adacore.com>
478
479         * configure.ac: Tweak GAS check for LEON instructions on SPARC.
480         * configure: Regenerate.
481         * config/sparc/sparc.opt (muser-mode): New option.
482         * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
483         for LEON3.
484         (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
485         * doc/invoke.texi (SPARC options): Document -muser-mode.
486
487 2014-04-27  Richard Sandiford  <rdsandiford@googlemail.com>
488
489         * cselib.c (find_slot_memmode): Delete.
490         (cselib_hasher): Change compare_type to a struct.
491         (cselib_hasher::equal): Update accordingly.  Don't expect wrapped
492         constants.
493         (preserve_constants_and_equivs): Adjust for new compare_type.
494         (cselib_find_slot): Likewise.  Take the mode of the rtx as argument.
495         (wrap_constant): Delete.
496         (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
497
498 2014-04-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
499
500         * doc/install.texi (Building with profile feedback): Remove
501         outdated sentence.
502
503 2014-04-26  Tom de Vries  <tom@codesourcery.com>
504
505         * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
506         array accesses.
507
508 2014-04-25  Cary Coutant  <ccoutant@google.com>
509
510         PR debug/60929
511         * dwarf2out.c (should_move_die_to_comdat): A type definition
512         can contain a subprogram definition, but don't move it to a
513         comdat unit.
514         (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
515         (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
516         from original DIE.
517         (clone_tree_hash): Rename to...
518         (clone_tree_partial): ...this; change callers.  Copy
519         DW_TAG_subprogram DIEs as declarations.
520         (copy_decls_walk): Don't copy children of a declaration into a
521         type unit.
522
523 2014-04-25  H.J. Lu  <hongjiu.lu@intel.com>
524
525         PR target/60969
526         * config/i386/i386.md (*movsf_internal): Set MODE to SI for
527         alternative 12.
528
529 2014-04-25  Jiong Wang  <jiong.wang@arm.com>
530
531         * config/arm/predicates.md (call_insn_operand): Add long_call check.
532         * config/arm/arm.md (sibcall, sibcall_value): Force the address to
533         reg for long_call.
534         * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
535         restriction.
536
537 2014-04-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
538
539         * config/arm/arm.c (arm_cortex_a8_tune): Initialise
540         T16-related fields.
541
542 2014-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
543
544         PR tree-optimization/60930
545         * gimple-ssa-strength-reduction.c (create_mul_imm_cand):  Reject
546         creating a multiply candidate by folding two constant
547         multiplicands when the result overflows.
548
549 2014-04-25  Jakub Jelinek  <jakub@redhat.com>
550
551         PR tree-optimization/60960
552         * tree-vect-generic.c (expand_vector_operation): Only call
553         expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
554
555 2014-04-25  Tom de Vries  <tom@codesourcery.com>
556
557         * expr.c (clobber_reg_mode): New function.
558         * expr.h (clobber_reg): New function.
559
560 2014-04-25  Tom de Vries  <tom@codesourcery.com>
561
562         * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
563         clobbers.
564
565 2014-04-25  Radovan Obradovic  <robradovic@mips.com>
566             Tom de Vries  <tom@codesourcery.com>
567
568         * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
569         handle.
570         * rtl.h (find_all_hard_reg_sets): Add bool parameter.
571         * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
572         new argument to find_all_hard_reg_sets call.
573
574 2014-04-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
575
576         * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
577         Use HOST_WIDE_INT_C for mask literal.
578         (aarch_rev16_shleft_mask_imm_p): Likewise.
579
580 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
581
582         PR target/60941
583         * config/sparc/sparc.md (ashlsi3_extend): Delete.
584
585 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
586
587         PR preprocessor/56540
588         * config/i386/i386-c.c (ix86_target_macros): Define
589         __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
590
591 2014-04-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
592
593         * configure.ac (tga_func): Remove.
594         (LIB_TLS_SPEC): Remove.
595         * configure: Regenerate.
596         * config.in: Regenerate.
597         * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
598
599 2014-04-25  Richard Biener  <rguenther@suse.de>
600
601         PR ipa/60912
602         * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
603         call stmt use/clobber sets during stmt walk instead of
604         walking the possibly incomplete set of caller edges.
605
606 2014-04-25  Richard Biener  <rguenther@suse.de>
607
608         PR ipa/60911
609         * passes.c (apply_ipa_transforms): Inline into only caller ...
610         (execute_one_pass): ... here.  Properly bring in function
611         bodies for nodes we want to apply IPA transforms to.
612
613 2014-04-24  Cong Hou  <congh@google.com>
614
615         PR tree-optimization/60896
616         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
617         all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
618         (vect_mark_pattern_stmts): Set the def type of all statements in
619         PATTERN_DEF_SEQ as vect_internal_def.
620
621 2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
622
623         * doc/extend.texi (PowerPC Built-in Functions): Document new
624         powerpc extended divide, bcd, pack/unpack 128-bit, builtin
625         functions.
626         (PowerPC AltiVec/VSX Built-in Functions): Likewise.
627
628         * config/rs6000/predicates.md (const_0_to_3_operand): New
629         predicate to match 0..3 integer constants.
630
631         * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
632         to support adding miscellaneous builtin functions.
633         (BU_DFP_MISC_2): Likewise.
634         (BU_P7_MISC_1): Likewise.
635         (BU_P7_MISC_2): Likewise.
636         (BU_P8V_MISC_3): Likewise.
637         (BU_MISC_1): Likewise.
638         (BU_MISC_2): Likewise.
639         (DIVWE): Add extended divide builtin functions.
640         (DIVWEO): Likewise.
641         (DIVWEU): Likewise.
642         (DIVWEUO): Likewise.
643         (DIVDE): Likewise.
644         (DIVDEO): Likewise.
645         (DIVDEU): Likewise.
646         (DIVDEUO): Likewise.
647         (DXEX): Add decimal floating-point builtin functions.
648         (DXEXQ): Likewise.
649         (DDEDPD): Likewise.
650         (DDEDPDQ): Likewise.
651         (DENBCD): Likewise.
652         (DENBCDQ): Likewise.
653         (DIEX): Likewise.
654         (DIEXQ): Likewise.
655         (DSCLI): Likewise.
656         (DSCLIQ): Likewise.
657         (DSCRI): Likewise.
658         (DSCRIQ): Likewise.
659         (CDTBCD): Add new BCD builtin functions.
660         (CBCDTD): Likewise.
661         (ADDG6S): Likewise.
662         (BCDADD): Likewise.
663         (BCDADD_LT): Likewise.
664         (BCDADD_EQ): Likewise.
665         (BCDADD_GT): Likewise.
666         (BCDADD_OV): Likewise.
667         (BCDSUB): Likewise.
668         (BCDSUB_LT): Likewise.
669         (BCDSUB_EQ): Likewise.
670         (BCDSUB_GT): Likewise.
671         (BCDSUB_OV): Likewise.
672         (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
673         (UNPACK_TD): Likewise.
674         (PACK_TF): Likewise.
675         (UNPACK_TF): Likewise.
676         (UNPACK_TF_0): Likewise.
677         (UNPACK_TF_1): Likewise.
678         (PACK_V1TI): Likewise.
679         (UNPACK_V1TI): Likewise.
680
681         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
682         support for decimal floating point builtin functions.
683         (rs6000_expand_ternop_builtin): Add checks for the new builtin
684         functions that take constant arguments.
685         (rs6000_invalid_builtin): Add decimal floating point builtin
686         support.
687         (rs6000_init_builtins): Setup long double, _Decimal64, and
688         _Decimal128 types for new builtin functions.
689         (builtin_function_type): Set the unsigned flags appropriately for
690         the new builtin functions.
691         (rs6000_opt_masks): Add support for decimal floating point builtin
692         functions.
693
694         * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
695         floating point builtin functions.
696         (RS6000_BTM_COMMON): Likewise.
697         (RS6000_BTI_long_double): Likewise.
698         (RS6000_BTI_dfloat64): Likewise.
699         (RS6000_BTI_dfloat128): Likewise.
700         (long_double_type_internal_node): Likewise.
701         (dfloat64_type_internal_node): Likewise.
702         (dfloat128_type_internal_node): Likewise.
703
704         * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
705         2.07 bcd arithmetic instructions.
706         (UNSPEC_BCDSUB): Likewise.
707         (UNSPEC_BCD_OVERFLOW): Likewise.
708         (UNSPEC_BCD_ADD_SUB): Likewise.
709         (bcd_add_sub): Likewise.
710         (BCD_TEST): Likewise.
711         (bcd<bcd_add_sub>): Likewise.
712         (bcd<bcd_add_sub>_test): Likewise.
713         (bcd<bcd_add_sub>_test2): Likewise.
714         (bcd<bcd_add_sub>_<code>): Likewise.
715         (peephole2 for combined bcd ops): Likewise.
716
717         * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
718         decimal floating point builtin functions.
719         (UNSPEC_DENBCD): Likewise.
720         (UNSPEC_DXEX): Likewise.
721         (UNSPEC_DIEX): Likewise.
722         (UNSPEC_DSCLI): Likewise.
723         (UNSPEC_DSCRI): Likewise.
724         (D64_D128): Likewise.
725         (dfp_suffix): Likewise.
726         (dfp_ddedpd_<mode>): Likewise.
727         (dfp_denbcd_<mode>): Likewise.
728         (dfp_dxex_<mode>): Likewise.
729         (dfp_diex_<mode>): Likewise.
730         (dfp_dscli_<mode>): Likewise.
731         (dfp_dscri_<mode>): Likewise.
732
733         * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
734         builtin functions.
735         (UNSPEC_CDTBCD): Likewise.
736         (UNSPEC_CBCDTD): Likewise.
737         (UNSPEC_DIVE): Add support for new extended divide builtin
738         functions.
739         (UNSPEC_DIVEO): Likewise.
740         (UNSPEC_DIVEU): Likewise.
741         (UNSPEC_DIVEUO): Likewise.
742         (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
743         pack/unpack 128-bit types.
744         (UNSPEC_PACK_128BIT): Likewise.
745         (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
746         (udiv<mode>3): Use idiv_ldiv mode attribute.
747         (div<mode>3): Likewise.
748         (addg6s): Add new BCD builtin functions.
749         (cdtbcd): Likewise.
750         (cbcdtd): Likewise.
751         (UNSPEC_DIV_EXTEND): Add support for new extended divide
752         instructions.
753         (div_extend): Likewise.
754         (div<div_extend>_<mode>"): Likewise.
755         (FP128_64): Add support for new builtin functions to pack/unpack
756         128-bit types.
757         (unpack<mode>): Likewise.
758         (unpacktf_0): Likewise.
759         (unpacktf_1): Likewise.
760         (unpack<mode>_dm): Likewise.
761         (unpack<mode>_nodm): Likewise.
762         (pack<mode>): Likewise.
763         (unpackv1ti): Likewise.
764         (packv1ti): Likewise.
765
766 2014-04-24  Vishnu K S  <Vishnu.k_s@atmel.com>
767
768         * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
769         is disabled.
770
771 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
772
773         * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
774         * gimplify.c (omp_is_private): Change last argument's type to int.
775         Only diagnose lastprivate if the simd argument is 1, only diagnose
776         linear if the simd argument is 2.
777         (gimplify_omp_for): Adjust omp_is_private callers.  When adding
778         lastprivate or private, add the clause to OMP_FOR_CLAUSES.  Pass
779         GOVD_EXPLICIT to omp_add_variable.  For simd with collapse == 1
780         create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
781         If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
782         increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
783         * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
784         OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
785         * tree-nested.c (convert_nonlocal_omp_clauses,
786         convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
787
788 2014-04-24  Segher Boessenkool  <segher@kernel.crashing.org>
789
790         PR target/60822
791         * config/m68k/m68k.md (extendplussidi): Don't allow memory for
792         operand 1.
793
794 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
795
796         * flag-types.h (enum ivar_visibility): Add.
797
798 2014-04-24  Trevor Saunders  <tsaunders@mozilla.com>
799
800         * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
801         function * argument.
802
803 2014-04-24  Alan Lawrence  <alan.lawrence@arm.com>
804
805         * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
806
807 2014-04-24  Radovan Obradovic  <robradovic@mips.com>
808             Tom de Vries  <tom@codesourcery.com>
809
810         * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
811         * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
812         reg-note.
813         * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
814         * emit-rtl.c (try_split): Same.
815
816 2014-04-24  Radovan Obradovic  <robradovic@mips.com>
817             Tom de Vries  <tom@codesourcery.com>
818
819         * common.opt (fuse-caller-save): New option.
820
821 2014-04-24  Tejas Belagod  <tejas.belagod@arm.com>
822
823         * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of elements
824         for big-endian.
825
826 2014-04-24  Richard Biener  <rguenther@suse.de>
827
828         * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
829         during TER and instead use the sepops interface for expanding
830         non-GIMPLE_SINGLE_RHS.
831
832 2014-04-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
833
834         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
835         if not HAVE_AS_IX86_DIFF_SECT_DELTA.
836
837 2014-04-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
838
839         * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
840         assembler 64-bit option.
841         * configure: Regenerate.
842
843 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
844
845         * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
846         TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
847         (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
848         (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
849         (TARGET_CRYPTO): Take TARGET_SIMD into account.
850
851 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
852
853         * config/aarch64/aarch64-builtins.c
854         (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
855         BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
856         * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
857         * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
858         builtins.
859         * config/aarch64/iterator.md (VDQHSD): New mode iterator.
860         (Vrevsuff): New mode attribute.
861
862 2014-04-24  Terry Guo  <terry.guo@arm.com>
863
864         * config/arm/arm.h (machine_function): Define variable
865         after_arm_reorg here.
866         * config/arm/arm.c (after_arm_reorg): Remove the definition.
867         (arm_split_constant): Update the way to access variable
868         after_arm_reorg.
869         (arm_reorg): Ditto.
870         (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
871
872 2014-04-23  Tom de Vries  <tom@codesourcery.com>
873
874         * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
875
876 2014-04-23  David Malcolm  <dmalcolm@redhat.com>
877
878         * is-a.h: Update comments to reflect the following changes to the
879         "pointerness" of the API, making the template parameter match the
880         return type, allowing use of is-a.h with typedefs of pointers.
881         (is_a_helper::cast): Return a T rather then a pointer to a T, so
882         that the return type matches the parameter to the is_a_helper.
883         (as_a): Likewise.
884         (dyn_cast): Likewise.
885
886         * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
887         pointer from the is-a.h API.
888
889         * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
890         (is_a_helper <cgraph_node *>::test): ...this, matching change to
891         is-a.h API.
892         (is_a_helper <varpool_node>::test): Likewise, convert to...
893         (is_a_helper <varpool_node *>::test): ...this.
894
895         (varpool_first_variable): Update for removal of implicit pointer
896         from the is-a.h API.
897         (varpool_next_variable): Likewise.
898         (varpool_first_static_initializer): Likewise.
899         (varpool_next_static_initializer): Likewise.
900         (varpool_first_defined_variable): Likewise.
901         (varpool_next_defined_variable): Likewise.
902         (cgraph_first_defined_function): Likewise.
903         (cgraph_next_defined_function): Likewise.
904         (cgraph_first_function): Likewise.
905         (cgraph_next_function): Likewise.
906         (cgraph_first_function_with_gimple_body): Likewise.
907         (cgraph_next_function_with_gimple_body): Likewise.
908         (cgraph_alias_target): Likewise.
909         (varpool_alias_target): Likewise.
910         (cgraph_function_or_thunk_node): Likewise.
911         (varpool_variable_node): Likewise.
912         (symtab_real_symbol_p): Likewise.
913         * cgraphunit.c (referred_to_p): Likewise.
914         (analyze_functions): Likewise.
915         (handle_alias_pairs): Likewise.
916         * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
917         * gimple-ssa.h (gimple_vuse_op): Likewise.
918         (gimple_vdef_op): Likewise.
919         * gimple-streamer-in.c (input_gimple_stmt): Likewise.
920         * gimple.c (gimple_build_asm_1): Likewise.
921         (gimple_build_try): Likewise.
922         (gimple_build_resx): Likewise.
923         (gimple_build_eh_dispatch): Likewise.
924         (gimple_build_omp_for): Likewise.
925         (gimple_omp_for_set_clauses): Likewise.
926
927         * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
928         (is_a_helper <gimple_statement_asm *>::test): ...this.
929         (is_a_helper <gimple_statement_bind>::test): Convert to...
930         (is_a_helper <gimple_statement_bind *>::test): ...this.
931         (is_a_helper <gimple_statement_call>::test): Convert to...
932         (is_a_helper <gimple_statement_call *>::test): ...this.
933         (is_a_helper <gimple_statement_catch>::test): Convert to...
934         (is_a_helper <gimple_statement_catch *>::test): ...this.
935         (is_a_helper <gimple_statement_resx>::test): Convert to...
936         (is_a_helper <gimple_statement_resx *>::test): ...this.
937         (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
938         (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
939         (is_a_helper <gimple_statement_eh_else>::test): Convert to...
940         (is_a_helper <gimple_statement_eh_else *>::test): ...this.
941         (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
942         (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
943         (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
944         (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
945         (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
946         (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
947         (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
948         (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
949         (is_a_helper <gimple_statement_omp_return>::test): Convert to...
950         (is_a_helper <gimple_statement_omp_return *>::test): ...this.
951         (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
952         (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
953         (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
954         (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
955         (is_a_helper <gimple_statement_omp_for>::test): Convert to...
956         (is_a_helper <gimple_statement_omp_for *>::test): ...this.
957         (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
958         (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
959         (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
960         (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
961         (is_a_helper <gimple_statement_omp_target>::test): Convert to...
962         (is_a_helper <gimple_statement_omp_target *>::test): ...this.
963         (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
964         (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
965         (is_a_helper <gimple_statement_omp_single>::test): Convert to...
966         (is_a_helper <gimple_statement_omp_single *>::test): ...this.
967         (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
968         (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
969         (is_a_helper <gimple_statement_omp_task>::test): Convert to...
970         (is_a_helper <gimple_statement_omp_task *>::test): ...this.
971         (is_a_helper <gimple_statement_phi>::test): Convert to...
972         (is_a_helper <gimple_statement_phi *>::test): ...this.
973         (is_a_helper <gimple_statement_transaction>::test): Convert to...
974         (is_a_helper <gimple_statement_transaction *>::test): ...this.
975         (is_a_helper <gimple_statement_try>::test): Convert to...
976         (is_a_helper <gimple_statement_try *>::test): ...this.
977         (is_a_helper <gimple_statement_wce>::test): Convert to...
978         (is_a_helper <gimple_statement_wce *>::test): ...this.
979         (is_a_helper <const gimple_statement_asm>::test): Convert to...
980         (is_a_helper <const gimple_statement_asm *>::test): ...this.
981         (is_a_helper <const gimple_statement_bind>::test): Convert to...
982         (is_a_helper <const gimple_statement_bind *>::test): ...this.
983         (is_a_helper <const gimple_statement_call>::test): Convert to...
984         (is_a_helper <const gimple_statement_call *>::test): ...this.
985         (is_a_helper <const gimple_statement_catch>::test): Convert to...
986         (is_a_helper <const gimple_statement_catch *>::test): ...this.
987         (is_a_helper <const gimple_statement_resx>::test): Convert to...
988         (is_a_helper <const gimple_statement_resx *>::test): ...this.
989         (is_a_helper <const gimple_statement_eh_dispatch>::test):
990         Convert to...
991         (is_a_helper <const gimple_statement_eh_dispatch *>::test):
992         ...this.
993         (is_a_helper <const gimple_statement_eh_filter>::test): Convert
994         to...
995         (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
996         (is_a_helper <const gimple_statement_omp_atomic_load>::test):
997         Convert to...
998         (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
999         ...this.
1000         (is_a_helper <const gimple_statement_omp_atomic_store>::test):
1001         Convert to...
1002         (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
1003         ...this.
1004         (is_a_helper <const gimple_statement_omp_return>::test): Convert
1005         to...
1006         (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
1007         (is_a_helper <const gimple_statement_omp_continue>::test): Convert
1008         to...
1009         (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
1010         (is_a_helper <const gimple_statement_omp_critical>::test): Convert
1011         to...
1012         (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
1013         (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
1014         (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
1015         (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert
1016         to...
1017         (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
1018         (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
1019         to...
1020         (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
1021         (is_a_helper <const gimple_statement_omp_target>::test): Convert
1022         to...
1023         (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
1024         (is_a_helper <const gimple_statement_omp_sections>::test): Convert
1025         to...
1026         (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
1027         (is_a_helper <const gimple_statement_omp_single>::test): Convert
1028         to...
1029         (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
1030         (is_a_helper <const gimple_statement_omp_teams>::test): Convert
1031         to...
1032         (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
1033         (is_a_helper <const gimple_statement_omp_task>::test): Convert
1034         to...
1035         (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
1036         (is_a_helper <const gimple_statement_phi>::test): Convert to...
1037         (is_a_helper <const gimple_statement_phi *>::test): ...this.
1038         (is_a_helper <const gimple_statement_transaction>::test): Convert
1039         to...
1040         (is_a_helper <const gimple_statement_transaction *>::test): ...this.
1041         (is_a_helper <const gimple_statement_with_ops>::test): Convert
1042         to...
1043         (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
1044         (is_a_helper <gimple_statement_with_ops>::test): Convert to...
1045         (is_a_helper <gimple_statement_with_ops *>::test): ...this.
1046         (is_a_helper <const gimple_statement_with_memory_ops>::test):
1047         Convert to...
1048         (is_a_helper <const gimple_statement_with_memory_ops *>::test):
1049         ...this.
1050         (is_a_helper <gimple_statement_with_memory_ops>::test): Convert
1051         to...
1052         (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
1053
1054         (gimple_use_ops): Update for removal of implicit pointer from the
1055         is-a.h API.
1056         (gimple_set_use_ops): Likewise.
1057         (gimple_vuse): Likewise.
1058         (gimple_vdef): Likewise.
1059         (gimple_vuse_ptr): Likewise.
1060         (gimple_vdef_ptr): Likewise.
1061         (gimple_set_vuse): Likewise.
1062         (gimple_set_vdef): Likewise.
1063         (gimple_omp_return_set_lhs): Likewise.
1064         (gimple_omp_return_lhs): Likewise.
1065         (gimple_omp_return_lhs_ptr): Likewise.
1066         (gimple_call_fntype): Likewise.
1067         (gimple_call_set_fntype): Likewise.
1068         (gimple_call_set_internal_fn): Likewise.
1069         (gimple_call_use_set): Likewise.
1070         (gimple_call_clobber_set): Likewise.
1071         (gimple_bind_vars): Likewise.
1072         (gimple_bind_set_vars): Likewise.
1073         (gimple_bind_body_ptr): Likewise.
1074         (gimple_bind_set_body): Likewise.
1075         (gimple_bind_add_stmt): Likewise.
1076         (gimple_bind_block): Likewise.
1077         (gimple_bind_set_block): Likewise.
1078         (gimple_asm_ninputs): Likewise.
1079         (gimple_asm_noutputs): Likewise.
1080         (gimple_asm_nclobbers): Likewise.
1081         (gimple_asm_nlabels): Likewise.
1082         (gimple_asm_input_op): Likewise.
1083         (gimple_asm_input_op_ptr): Likewise.
1084         (gimple_asm_output_op): Likewise.
1085         (gimple_asm_output_op_ptr): Likewise.
1086         (gimple_asm_set_output_op): Likewise.
1087         (gimple_asm_clobber_op): Likewise.
1088         (gimple_asm_set_clobber_op): Likewise.
1089         (gimple_asm_label_op): Likewise.
1090         (gimple_asm_set_label_op): Likewise.
1091         (gimple_asm_string): Likewise.
1092         (gimple_catch_types): Likewise.
1093         (gimple_catch_types_ptr): Likewise.
1094         (gimple_catch_handler_ptr): Likewise.
1095         (gimple_catch_set_types): Likewise.
1096         (gimple_catch_set_handler): Likewise.
1097         (gimple_eh_filter_types): Likewise.
1098         (gimple_eh_filter_types_ptr): Likewise.
1099         (gimple_eh_filter_failure_ptr): Likewise.
1100         (gimple_eh_filter_set_types): Likewise.
1101         (gimple_eh_filter_set_failure): Likewise.
1102         (gimple_eh_must_not_throw_fndecl): Likewise.
1103         (gimple_eh_must_not_throw_set_fndecl): Likewise.
1104         (gimple_eh_else_n_body_ptr): Likewise.
1105         (gimple_eh_else_e_body_ptr): Likewise.
1106         (gimple_eh_else_set_n_body): Likewise.
1107         (gimple_eh_else_set_e_body): Likewise.
1108         (gimple_try_eval_ptr): Likewise.
1109         (gimple_try_cleanup_ptr): Likewise.
1110         (gimple_try_set_eval): Likewise.
1111         (gimple_try_set_cleanup): Likewise.
1112         (gimple_wce_cleanup_ptr): Likewise.
1113         (gimple_wce_set_cleanup): Likewise.
1114         (gimple_phi_capacity): Likewise.
1115         (gimple_phi_num_args): Likewise.
1116         (gimple_phi_result): Likewise.
1117         (gimple_phi_result_ptr): Likewise.
1118         (gimple_phi_set_result): Likewise.
1119         (gimple_phi_arg): Likewise.
1120         (gimple_phi_set_arg): Likewise.
1121         (gimple_resx_region): Likewise.
1122         (gimple_resx_set_region): Likewise.
1123         (gimple_eh_dispatch_region): Likewise.
1124         (gimple_eh_dispatch_set_region): Likewise.
1125         (gimple_omp_critical_name): Likewise.
1126         (gimple_omp_critical_name_ptr): Likewise.
1127         (gimple_omp_critical_set_name): Likewise.
1128         (gimple_omp_for_clauses): Likewise.
1129         (gimple_omp_for_clauses_ptr): Likewise.
1130         (gimple_omp_for_set_clauses): Likewise.
1131         (gimple_omp_for_collapse): Likewise.
1132         (gimple_omp_for_index): Likewise.
1133         (gimple_omp_for_index_ptr): Likewise.
1134         (gimple_omp_for_set_index): Likewise.
1135         (gimple_omp_for_initial): Likewise.
1136         (gimple_omp_for_initial_ptr): Likewise.
1137         (gimple_omp_for_set_initial): Likewise.
1138         (gimple_omp_for_final): Likewise.
1139         (gimple_omp_for_final_ptr): Likewise.
1140         (gimple_omp_for_set_final): Likewise.
1141         (gimple_omp_for_incr): Likewise.
1142         (gimple_omp_for_incr_ptr): Likewise.
1143         (gimple_omp_for_set_incr): Likewise.
1144         (gimple_omp_for_pre_body_ptr): Likewise.
1145         (gimple_omp_for_set_pre_body): Likewise.
1146         (gimple_omp_parallel_clauses): Likewise.
1147         (gimple_omp_parallel_clauses_ptr): Likewise.
1148         (gimple_omp_parallel_set_clauses): Likewise.
1149         (gimple_omp_parallel_child_fn): Likewise.
1150         (gimple_omp_parallel_child_fn_ptr): Likewise.
1151         (gimple_omp_parallel_set_child_fn): Likewise.
1152         (gimple_omp_parallel_data_arg): Likewise.
1153         (gimple_omp_parallel_data_arg_ptr): Likewise.
1154         (gimple_omp_parallel_set_data_arg): Likewise.
1155         (gimple_omp_task_clauses): Likewise.
1156         (gimple_omp_task_clauses_ptr): Likewise.
1157         (gimple_omp_task_set_clauses): Likewise.
1158         (gimple_omp_task_child_fn): Likewise.
1159         (gimple_omp_task_child_fn_ptr): Likewise.
1160         (gimple_omp_task_set_child_fn): Likewise.
1161         (gimple_omp_task_data_arg): Likewise.
1162         (gimple_omp_task_data_arg_ptr): Likewise.
1163         (gimple_omp_task_set_data_arg): Likewise.
1164         (gimple_omp_taskreg_clauses): Likewise.
1165         (gimple_omp_taskreg_clauses_ptr): Likewise.
1166         (gimple_omp_taskreg_set_clauses): Likewise.
1167         (gimple_omp_taskreg_child_fn): Likewise.
1168         (gimple_omp_taskreg_child_fn_ptr): Likewise.
1169         (gimple_omp_taskreg_set_child_fn): Likewise.
1170         (gimple_omp_taskreg_data_arg): Likewise.
1171         (gimple_omp_taskreg_data_arg_ptr): Likewise.
1172         (gimple_omp_taskreg_set_data_arg): Likewise.
1173         (gimple_omp_task_copy_fn): Likewise.
1174         (gimple_omp_task_copy_fn_ptr): Likewise.
1175         (gimple_omp_task_set_copy_fn): Likewise.
1176         (gimple_omp_task_arg_size): Likewise.
1177         (gimple_omp_task_arg_size_ptr): Likewise.
1178         (gimple_omp_task_set_arg_size): Likewise.
1179         (gimple_omp_task_arg_align): Likewise.
1180         (gimple_omp_task_arg_align_ptr): Likewise.
1181         (gimple_omp_task_set_arg_align): Likewise.
1182         (gimple_omp_single_clauses): Likewise.
1183         (gimple_omp_single_clauses_ptr): Likewise.
1184         (gimple_omp_single_set_clauses): Likewise.
1185         (gimple_omp_target_clauses): Likewise.
1186         (gimple_omp_target_clauses_ptr): Likewise.
1187         (gimple_omp_target_set_clauses): Likewise.
1188         (gimple_omp_target_child_fn): Likewise.
1189         (gimple_omp_target_child_fn_ptr): Likewise.
1190         (gimple_omp_target_set_child_fn): Likewise.
1191         (gimple_omp_target_data_arg): Likewise.
1192         (gimple_omp_target_data_arg_ptr): Likewise.
1193         (gimple_omp_target_set_data_arg): Likewise.
1194         (gimple_omp_teams_clauses): Likewise.
1195         (gimple_omp_teams_clauses_ptr): Likewise.
1196         (gimple_omp_teams_set_clauses): Likewise.
1197         (gimple_omp_sections_clauses): Likewise.
1198         (gimple_omp_sections_clauses_ptr): Likewise.
1199         (gimple_omp_sections_set_clauses): Likewise.
1200         (gimple_omp_sections_control): Likewise.
1201         (gimple_omp_sections_control_ptr): Likewise.
1202         (gimple_omp_sections_set_control): Likewise.
1203         (gimple_omp_for_set_cond): Likewise.
1204         (gimple_omp_for_cond): Likewise.
1205         (gimple_omp_atomic_store_set_val): Likewise.
1206         (gimple_omp_atomic_store_val): Likewise.
1207         (gimple_omp_atomic_store_val_ptr): Likewise.
1208         (gimple_omp_atomic_load_set_lhs): Likewise.
1209         (gimple_omp_atomic_load_lhs): Likewise.
1210         (gimple_omp_atomic_load_lhs_ptr): Likewise.
1211         (gimple_omp_atomic_load_set_rhs): Likewise.
1212         (gimple_omp_atomic_load_rhs): Likewise.
1213         (gimple_omp_atomic_load_rhs_ptr): Likewise.
1214         (gimple_omp_continue_control_def): Likewise.
1215         (gimple_omp_continue_control_def_ptr): Likewise.
1216         (gimple_omp_continue_set_control_def): Likewise.
1217         (gimple_omp_continue_control_use): Likewise.
1218         (gimple_omp_continue_control_use_ptr): Likewise.
1219         (gimple_omp_continue_set_control_use): Likewise.
1220         (gimple_transaction_body_ptr): Likewise.
1221         (gimple_transaction_label): Likewise.
1222         (gimple_transaction_label_ptr): Likewise.
1223         (gimple_transaction_set_body): Likewise.
1224         (gimple_transaction_set_label): Likewise.
1225
1226         * ipa-devirt.c (build_type_inheritance_graph): Likewise.
1227         * ipa-inline-analysis.c (inline_write_summary): Likewise.
1228         * ipa-ref.c (ipa_record_reference): Likewise.
1229         * ipa-reference.c (analyze_function): Likewise.
1230         (ipa_reference_write_optimization_summary): Likewise.
1231         * ipa.c (symtab_remove_unreachable_nodes): Likewise.
1232         (address_taken_from_non_vtable_p): Likewise.
1233         (comdat_can_be_unshared_p_1): Likewise.
1234         * lto-cgraph.c (lto_output_ref): Likewise.
1235         (add_references): Likewise.
1236         (compute_ltrans_boundary): Likewise.
1237         (output_symtab): Likewise.
1238         (input_ref): Likewise.
1239         (input_cgraph_1): Likewise.
1240         (output_cgraph_opt_summary): Likewise.
1241         * lto-streamer-out.c (lto_output): Likewise.
1242         (output_symbol_p): Likewise.
1243         * lto-streamer.h (lsei_next_function_in_partition): Likewise.
1244         (lsei_start_function_in_partition): Likewise.
1245         (lsei_next_variable_in_partition): Likewise.
1246         (lsei_start_variable_in_partition): Likewise.
1247         * symtab.c (insert_to_assembler_name_hash): Likewise.
1248         (unlink_from_assembler_name_hash): Likewise.
1249         (symtab_unregister_node): Likewise.
1250         (symtab_remove_node): Likewise.
1251         (dump_symtab_node): Likewise.
1252         (verify_symtab_base): Likewise.
1253         (verify_symtab_node): Likewise.
1254         (symtab_make_decl_local): Likewise.
1255         (symtab_alias_ultimate_target): Likewise.
1256         (symtab_resolve_alias): Likewise.
1257         (symtab_get_symbol_partitioning_class): Likewise.
1258         * tree-phinodes.c (allocate_phi_node): Likewise.
1259         (reserve_phi_args_for_new_edge): Likewise.
1260         (remove_phi_args): Likewise.
1261         * varpool.c (varpool_node_for_asm): Likewise.
1262         (varpool_remove_unreferenced_decls): Likewise.
1263
1264 2014-04-23  Jeff Law  <law@redhat.com>
1265
1266         PR tree-optimization/60902
1267         * tree-ssa-threadedge.c
1268         (record_temporary_equivalences_from_stmts_at_dest): Make sure to
1269         invalidate outputs from statements that do not produce useful
1270         outputs for threading.
1271
1272 2014-04-23 Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
1273
1274         * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
1275         (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
1276         machine descriptions for Stack Smashing Protector.
1277
1278 2014-04-23  Richard Earnshaw  <rearnsha@arm.com>
1279
1280         * aarch64.md (<optab>_rol<mode>3): New pattern.
1281         (<optab>_rolsi3_uxtw): Likewise.
1282         * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
1283
1284 2014-04-23  James Greenhalgh  <james.greenhalgh@arm.com>
1285
1286         * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
1287         (arm_cortex_a12_tune): Likewise.
1288
1289 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1290
1291         * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
1292
1293 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1294
1295         * config/arm/arm.md (arm_rev16si2): New pattern.
1296         (arm_rev16si2_alt): Likewise.
1297         * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
1298
1299 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1300
1301        * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
1302        (rev16<mode>2_alt): Likewise.
1303        * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
1304        * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
1305        (aarch_rev16_shleft_mask_imm_p): Likewise.
1306        (aarch_rev16_p_1): Likewise.
1307        (aarch_rev16_p): Likewise.
1308        * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
1309        (aarch_rev16_shright_mask_imm_p): Likewise.
1310        (aarch_rev16_shleft_mask_imm_p): Likewise.
1311
1312 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1313
1314        * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
1315        * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
1316        rev cost.
1317        (cortex_a53_extra_costs): Likewise.
1318        (cortex_a57_extra_costs): Likewise.
1319        * config/arm/arm.c (cortexa9_extra_costs): Likewise.
1320        (cortexa7_extra_costs): Likewise.
1321        (cortexa8_extra_costs): Likewise.
1322        (cortexa12_extra_costs): Likewise.
1323        (cortexa15_extra_costs): Likewise.
1324        (v7m_extra_costs): Likewise.
1325        (arm_new_rtx_costs): Handle BSWAP.
1326
1327 2013-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1328
1329        * config/arm/arm.c (cortexa8_extra_costs): New table.
1330        (arm_cortex_a8_tune): New tuning struct.
1331        * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
1332
1333 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1334
1335        * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
1336
1337 2014-04-23  Richard Biener  <rguenther@suse.de>
1338
1339         * Makefile.in (OBJS): Remove loop-unswitch.o.
1340         * loop-unswitch.c: Delete.
1341         * tree-pass.h (make_pass_rtl_unswitch): Remove.
1342         * passes.def (pass_rtl_unswitch): Likewise.
1343         * loop-init.c (gate_rtl_unswitch): Likewise.
1344         (rtl_unswitch): Likewise.
1345         (pass_data_rtl_unswitch): Likewise.
1346         (pass_rtl_unswitch): Likewise.
1347         (make_pass_rtl_unswitch): Likewise.
1348         * rtl.h (reversed_condition): Likewise.
1349         (compare_and_jump_seq): Likewise.
1350         * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
1351         and make static.
1352         * loop-unroll.c (compare_and_jump_seq): Likewise.
1353
1354 2014-04-23  Richard Biener  <rguenther@suse.de>
1355
1356         PR tree-optimization/60903
1357         * tree-ssa-loop-im.c (analyze_memory_references): Remove
1358         commented code block.
1359         (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
1360         loop flags to newly created BBs and edges.
1361
1362 2014-04-23  Nick Clifton  <nickc@redhat.com>
1363
1364         * config/msp430/msp430.c (msp430_handle_option): Move function
1365         to msp430-common.c
1366         (msp430_option_override): Simplify mcu and mcpu option handling.
1367         (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult.  Add
1368         support for -mhwmult command line option.
1369         (has_32bit_hwmult): Rename to use_32bit_hwmult.  Add support for
1370         -mhwmult command line option.
1371         (msp430_hwmult_enabled): Delete.
1372         (msp43o_output_labelref): Add support for -mhwmult command line
1373         option.
1374         * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
1375         (umulsidi3): Likewise.
1376         * config/msp430/msp430.opt (mmcu): Add Report attribute.
1377         (mcpu, mlarge, msmall): Likewise.
1378         (mhwmult): New option.
1379         * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
1380         prototype.
1381         (msp430_is_f5_mcu): Remove prototype.
1382         (msp430_use_f5_series_hwmult): Add prototype.
1383         * config/msp430/msp430-opts.h: New file.
1384         * common/config/msp430: New directory.
1385         * common/config/msp430/msp430-common.c: New file.
1386         * config.gcc (msp430): Remove target_has_targetm_common.
1387         * doc/invoke.texi: Document -mhwmult command line option.
1388
1389 2014-04-23  Nick Clifton  <nickc@redhat.com>
1390
1391         * config/i386/cygwin.h (ENDFILE_SPEC): Include
1392         default-manifest.o if it can be found in the search path.
1393         * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
1394
1395 2014-04-23  Terry Guo  <terry.guo@arm.com>
1396
1397         * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
1398
1399 2014-04-23  Richard Biener  <rguenther@suse.de>
1400
1401         PR middle-end/60895
1402         * tree-inline.c (declare_return_variable): Use mark_addressable.
1403
1404 2014-04-23  Richard Biener  <rguenther@suse.de>
1405
1406         PR middle-end/60891
1407         * loop-init.c (loop_optimizer_init): Make sure to apply
1408         LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
1409
1410 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
1411
1412         PR sanitizer/60275
1413         * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
1414         New options.
1415         * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
1416         if flag_sanitize_undefined_trap_on_error.
1417         * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
1418         BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
1419         BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
1420         BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
1421         BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
1422         BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
1423         BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
1424         BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
1425         BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
1426         * ubsan.c (ubsan_instrument_unreachable): Return
1427         __builtin_trap () if flag_sanitize_undefined_trap_on_error.
1428         (ubsan_expand_null_ifn): Emit __builtin_trap ()
1429         if flag_sanitize_undefined_trap_on_error and
1430         __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
1431         (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
1432         instrument_bool_enum_load): Emit __builtin_trap () if
1433         flag_sanitize_undefined_trap_on_error and
1434         __builtin_handle_*_abort () if !flag_sanitize_recover.
1435         * doc/invoke.texi (-fsanitize-recover,
1436         -fsanitize-undefined-trap-on-error): Document.
1437
1438 2014-04-22  Christian Bruel  <christian.bruel@st.com>
1439
1440         * config/sh/sh.md (mov<mode>): Replace movQIHI.
1441          Force immediates to SImode.
1442
1443 2014-04-22  Sandra Loosemore  <sandra@codesourcery.com>
1444
1445         * config/nios2/nios2.md (UNSPEC_ROUND): New.
1446         (lroundsfsi2): New.
1447         * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
1448         * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
1449         * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
1450         (nios2_fpu_insn): Add entry for round.
1451         (N2FPU_NO_ERRNO_P): Define.
1452         (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
1453         flag_errno_math.
1454         * doc/invoke.texi (Nios II Options): Document -mcustom-round.
1455
1456 2014-04-22  Richard Henderson  <rth@redhat.com>
1457
1458         * config/aarch64/aarch64 (addti3, subti3): New expanders.
1459         (add<GPI>3_compare0): Remove leading * from name.
1460         (add<GPI>3_carryin): Likewise.
1461         (sub<GPI>3_compare0): Likewise.
1462         (sub<GPI>3_carryin): Likewise.
1463         (<su_optab>mulditi3): New expander.
1464         (multi3): New expander.
1465         (madd<GPI>): Remove leading * from name.
1466
1467 2014-04-22  Martin Jambor  <mjambor@suse.cz>
1468
1469         * cgraphclones.c (cgraph_function_versioning): Copy
1470         ipa_transforms_to_apply instead of asserting it is empty.
1471
1472 2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
1473
1474         PR target/60868
1475         * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
1476         on count_exp to get mode.
1477
1478 2014-04-22  Andrew Pinski  <apinski@cavium.com>
1479
1480         * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
1481         Handle TLS for ILP32.
1482         * config/aarch64/aarch64.md (tlsie_small): Rename to ...
1483         (tlsie_small_<mode>): this and handle PTR.
1484         (tlsie_small_sidi): New pattern.
1485         (tlsle_small): Change to an expand to handle ILP32.
1486         (tlsle_small_<mode>): New pattern.
1487         (tlsdesc_small): Rename to ...
1488         (tlsdesc_small_<mode>): this and handle PTR.
1489
1490 2014-04-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1491
1492         * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
1493
1494 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1495
1496         * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
1497         (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
1498         (aarch64_types_signed_poly_qualifiers): Likewise.
1499         (aarch64_types_unsigned_signed_qualifiers): Likewise.
1500         (aarch64_types_poly_signed_qualifiers): Likewise.
1501         (TYPES_REINTERP_SS): Type macro added.
1502         (TYPES_REINTERP_SU): Likewise.
1503         (TYPES_REINTERP_SP): Likewise.
1504         (TYPES_REINTERP_US): Likewise.
1505         (TYPES_REINTERP_PS): Likewise.
1506         (aarch64_fold_builtin): New expression folding added.
1507         * config/aarch64/aarch64-simd-builtins.def (REINTERP):
1508         Declarations removed.
1509         (REINTERP_SS): Declarations added.
1510         (REINTERP_US): Likewise.
1511         (REINTERP_PS): Likewise.
1512         (REINTERP_SU): Likewise.
1513         (REINTERP_SP): Likewise.
1514         * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
1515         (vreinterpretq_p8_f64): Likewise.
1516         (vreinterpret_p16_f64): Likewise.
1517         (vreinterpretq_p16_f64): Likewise.
1518         (vreinterpret_f32_f64): Likewise.
1519         (vreinterpretq_f32_f64): Likewise.
1520         (vreinterpret_f64_f32): Likewise.
1521         (vreinterpret_f64_p8): Likewise.
1522         (vreinterpret_f64_p16): Likewise.
1523         (vreinterpret_f64_s8): Likewise.
1524         (vreinterpret_f64_s16): Likewise.
1525         (vreinterpret_f64_s32): Likewise.
1526         (vreinterpret_f64_s64): Likewise.
1527         (vreinterpret_f64_u8): Likewise.
1528         (vreinterpret_f64_u16): Likewise.
1529         (vreinterpret_f64_u32): Likewise.
1530         (vreinterpret_f64_u64): Likewise.
1531         (vreinterpretq_f64_f32): Likewise.
1532         (vreinterpretq_f64_p8): Likewise.
1533         (vreinterpretq_f64_p16): Likewise.
1534         (vreinterpretq_f64_s8): Likewise.
1535         (vreinterpretq_f64_s16): Likewise.
1536         (vreinterpretq_f64_s32): Likewise.
1537         (vreinterpretq_f64_s64): Likewise.
1538         (vreinterpretq_f64_u8): Likewise.
1539         (vreinterpretq_f64_u16): Likewise.
1540         (vreinterpretq_f64_u32): Likewise.
1541         (vreinterpretq_f64_u64): Likewise.
1542         (vreinterpret_s64_f64): Likewise.
1543         (vreinterpretq_s64_f64): Likewise.
1544         (vreinterpret_u64_f64): Likewise.
1545         (vreinterpretq_u64_f64): Likewise.
1546         (vreinterpret_s8_f64): Likewise.
1547         (vreinterpretq_s8_f64): Likewise.
1548         (vreinterpret_s16_f64): Likewise.
1549         (vreinterpretq_s16_f64): Likewise.
1550         (vreinterpret_s32_f64): Likewise.
1551         (vreinterpretq_s32_f64): Likewise.
1552         (vreinterpret_u8_f64): Likewise.
1553         (vreinterpretq_u8_f64): Likewise.
1554         (vreinterpret_u16_f64): Likewise.
1555         (vreinterpretq_u16_f64): Likewise.
1556         (vreinterpret_u32_f64): Likewise.
1557         (vreinterpretq_u32_f64): Likewise.
1558
1559 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1560
1561         * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
1562         * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
1563         (vreinterpret_p8_s8): Likewise.
1564         * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
1565         (vreinterpret_p8_s16): Likewise.
1566         (vreinterpret_p8_s32): Likewise.
1567         (vreinterpret_p8_s64): Likewise.
1568         (vreinterpret_p8_f32): Likewise.
1569         (vreinterpret_p8_u8): Likewise.
1570         (vreinterpret_p8_u16): Likewise.
1571         (vreinterpret_p8_u32): Likewise.
1572         (vreinterpret_p8_u64): Likewise.
1573         (vreinterpret_p8_p16): Likewise.
1574         (vreinterpretq_p8_s8): Likewise.
1575         (vreinterpretq_p8_s16): Likewise.
1576         (vreinterpretq_p8_s32): Likewise.
1577         (vreinterpretq_p8_s64): Likewise.
1578         (vreinterpretq_p8_f32): Likewise.
1579         (vreinterpretq_p8_u8): Likewise.
1580         (vreinterpretq_p8_u16): Likewise.
1581         (vreinterpretq_p8_u32): Likewise.
1582         (vreinterpretq_p8_u64): Likewise.
1583         (vreinterpretq_p8_p16): Likewise.
1584         (vreinterpret_p16_s8): Likewise.
1585         (vreinterpret_p16_s16): Likewise.
1586         (vreinterpret_p16_s32): Likewise.
1587         (vreinterpret_p16_s64): Likewise.
1588         (vreinterpret_p16_f32): Likewise.
1589         (vreinterpret_p16_u8): Likewise.
1590         (vreinterpret_p16_u16): Likewise.
1591         (vreinterpret_p16_u32): Likewise.
1592         (vreinterpret_p16_u64): Likewise.
1593         (vreinterpret_p16_p8): Likewise.
1594         (vreinterpretq_p16_s8): Likewise.
1595         (vreinterpretq_p16_s16): Likewise.
1596         (vreinterpretq_p16_s32): Likewise.
1597         (vreinterpretq_p16_s64): Likewise.
1598         (vreinterpretq_p16_f32): Likewise.
1599         (vreinterpretq_p16_u8): Likewise.
1600         (vreinterpretq_p16_u16): Likewise.
1601         (vreinterpretq_p16_u32): Likewise.
1602         (vreinterpretq_p16_u64): Likewise.
1603         (vreinterpretq_p16_p8): Likewise.
1604         (vreinterpret_f32_s8): Likewise.
1605         (vreinterpret_f32_s16): Likewise.
1606         (vreinterpret_f32_s32): Likewise.
1607         (vreinterpret_f32_s64): Likewise.
1608         (vreinterpret_f32_u8): Likewise.
1609         (vreinterpret_f32_u16): Likewise.
1610         (vreinterpret_f32_u32): Likewise.
1611         (vreinterpret_f32_u64): Likewise.
1612         (vreinterpret_f32_p8): Likewise.
1613         (vreinterpret_f32_p16): Likewise.
1614         (vreinterpretq_f32_s8): Likewise.
1615         (vreinterpretq_f32_s16): Likewise.
1616         (vreinterpretq_f32_s32): Likewise.
1617         (vreinterpretq_f32_s64): Likewise.
1618         (vreinterpretq_f32_u8): Likewise.
1619         (vreinterpretq_f32_u16): Likewise.
1620         (vreinterpretq_f32_u32): Likewise.
1621         (vreinterpretq_f32_u64): Likewise.
1622         (vreinterpretq_f32_p8): Likewise.
1623         (vreinterpretq_f32_p16): Likewise.
1624         (vreinterpret_s64_s8): Likewise.
1625         (vreinterpret_s64_s16): Likewise.
1626         (vreinterpret_s64_s32): Likewise.
1627         (vreinterpret_s64_f32): Likewise.
1628         (vreinterpret_s64_u8): Likewise.
1629         (vreinterpret_s64_u16): Likewise.
1630         (vreinterpret_s64_u32): Likewise.
1631         (vreinterpret_s64_u64): Likewise.
1632         (vreinterpret_s64_p8): Likewise.
1633         (vreinterpret_s64_p16): Likewise.
1634         (vreinterpretq_s64_s8): Likewise.
1635         (vreinterpretq_s64_s16): Likewise.
1636         (vreinterpretq_s64_s32): Likewise.
1637         (vreinterpretq_s64_f32): Likewise.
1638         (vreinterpretq_s64_u8): Likewise.
1639         (vreinterpretq_s64_u16): Likewise.
1640         (vreinterpretq_s64_u32): Likewise.
1641         (vreinterpretq_s64_u64): Likewise.
1642         (vreinterpretq_s64_p8): Likewise.
1643         (vreinterpretq_s64_p16): Likewise.
1644         (vreinterpret_u64_s8): Likewise.
1645         (vreinterpret_u64_s16): Likewise.
1646         (vreinterpret_u64_s32): Likewise.
1647         (vreinterpret_u64_s64): Likewise.
1648         (vreinterpret_u64_f32): Likewise.
1649         (vreinterpret_u64_u8): Likewise.
1650         (vreinterpret_u64_u16): Likewise.
1651         (vreinterpret_u64_u32): Likewise.
1652         (vreinterpret_u64_p8): Likewise.
1653         (vreinterpret_u64_p16): Likewise.
1654         (vreinterpretq_u64_s8): Likewise.
1655         (vreinterpretq_u64_s16): Likewise.
1656         (vreinterpretq_u64_s32): Likewise.
1657         (vreinterpretq_u64_s64): Likewise.
1658         (vreinterpretq_u64_f32): Likewise.
1659         (vreinterpretq_u64_u8): Likewise.
1660         (vreinterpretq_u64_u16): Likewise.
1661         (vreinterpretq_u64_u32): Likewise.
1662         (vreinterpretq_u64_p8): Likewise.
1663         (vreinterpretq_u64_p16): Likewise.
1664         (vreinterpret_s8_s16): Likewise.
1665         (vreinterpret_s8_s32): Likewise.
1666         (vreinterpret_s8_s64): Likewise.
1667         (vreinterpret_s8_f32): Likewise.
1668         (vreinterpret_s8_u8): Likewise.
1669         (vreinterpret_s8_u16): Likewise.
1670         (vreinterpret_s8_u32): Likewise.
1671         (vreinterpret_s8_u64): Likewise.
1672         (vreinterpret_s8_p8): Likewise.
1673         (vreinterpret_s8_p16): Likewise.
1674         (vreinterpretq_s8_s16): Likewise.
1675         (vreinterpretq_s8_s32): Likewise.
1676         (vreinterpretq_s8_s64): Likewise.
1677         (vreinterpretq_s8_f32): Likewise.
1678         (vreinterpretq_s8_u8): Likewise.
1679         (vreinterpretq_s8_u16): Likewise.
1680         (vreinterpretq_s8_u32): Likewise.
1681         (vreinterpretq_s8_u64): Likewise.
1682         (vreinterpretq_s8_p8): Likewise.
1683         (vreinterpretq_s8_p16): Likewise.
1684         (vreinterpret_s16_s8): Likewise.
1685         (vreinterpret_s16_s32): Likewise.
1686         (vreinterpret_s16_s64): Likewise.
1687         (vreinterpret_s16_f32): Likewise.
1688         (vreinterpret_s16_u8): Likewise.
1689         (vreinterpret_s16_u16): Likewise.
1690         (vreinterpret_s16_u32): Likewise.
1691         (vreinterpret_s16_u64): Likewise.
1692         (vreinterpret_s16_p8): Likewise.
1693         (vreinterpret_s16_p16): Likewise.
1694         (vreinterpretq_s16_s8): Likewise.
1695         (vreinterpretq_s16_s32): Likewise.
1696         (vreinterpretq_s16_s64): Likewise.
1697         (vreinterpretq_s16_f32): Likewise.
1698         (vreinterpretq_s16_u8): Likewise.
1699         (vreinterpretq_s16_u16): Likewise.
1700         (vreinterpretq_s16_u32): Likewise.
1701         (vreinterpretq_s16_u64): Likewise.
1702         (vreinterpretq_s16_p8): Likewise.
1703         (vreinterpretq_s16_p16): Likewise.
1704         (vreinterpret_s32_s8): Likewise.
1705         (vreinterpret_s32_s16): Likewise.
1706         (vreinterpret_s32_s64): Likewise.
1707         (vreinterpret_s32_f32): Likewise.
1708         (vreinterpret_s32_u8): Likewise.
1709         (vreinterpret_s32_u16): Likewise.
1710         (vreinterpret_s32_u32): Likewise.
1711         (vreinterpret_s32_u64): Likewise.
1712         (vreinterpret_s32_p8): Likewise.
1713         (vreinterpret_s32_p16): Likewise.
1714         (vreinterpretq_s32_s8): Likewise.
1715         (vreinterpretq_s32_s16): Likewise.
1716         (vreinterpretq_s32_s64): Likewise.
1717         (vreinterpretq_s32_f32): Likewise.
1718         (vreinterpretq_s32_u8): Likewise.
1719         (vreinterpretq_s32_u16): Likewise.
1720         (vreinterpretq_s32_u32): Likewise.
1721         (vreinterpretq_s32_u64): Likewise.
1722         (vreinterpretq_s32_p8): Likewise.
1723         (vreinterpretq_s32_p16): Likewise.
1724         (vreinterpret_u8_s8): Likewise.
1725         (vreinterpret_u8_s16): Likewise.
1726         (vreinterpret_u8_s32): Likewise.
1727         (vreinterpret_u8_s64): Likewise.
1728         (vreinterpret_u8_f32): Likewise.
1729         (vreinterpret_u8_u16): Likewise.
1730         (vreinterpret_u8_u32): Likewise.
1731         (vreinterpret_u8_u64): Likewise.
1732         (vreinterpret_u8_p8): Likewise.
1733         (vreinterpret_u8_p16): Likewise.
1734         (vreinterpretq_u8_s8): Likewise.
1735         (vreinterpretq_u8_s16): Likewise.
1736         (vreinterpretq_u8_s32): Likewise.
1737         (vreinterpretq_u8_s64): Likewise.
1738         (vreinterpretq_u8_f32): Likewise.
1739         (vreinterpretq_u8_u16): Likewise.
1740         (vreinterpretq_u8_u32): Likewise.
1741         (vreinterpretq_u8_u64): Likewise.
1742         (vreinterpretq_u8_p8): Likewise.
1743         (vreinterpretq_u8_p16): Likewise.
1744         (vreinterpret_u16_s8): Likewise.
1745         (vreinterpret_u16_s16): Likewise.
1746         (vreinterpret_u16_s32): Likewise.
1747         (vreinterpret_u16_s64): Likewise.
1748         (vreinterpret_u16_f32): Likewise.
1749         (vreinterpret_u16_u8): Likewise.
1750         (vreinterpret_u16_u32): Likewise.
1751         (vreinterpret_u16_u64): Likewise.
1752         (vreinterpret_u16_p8): Likewise.
1753         (vreinterpret_u16_p16): Likewise.
1754         (vreinterpretq_u16_s8): Likewise.
1755         (vreinterpretq_u16_s16): Likewise.
1756         (vreinterpretq_u16_s32): Likewise.
1757         (vreinterpretq_u16_s64): Likewise.
1758         (vreinterpretq_u16_f32): Likewise.
1759         (vreinterpretq_u16_u8): Likewise.
1760         (vreinterpretq_u16_u32): Likewise.
1761         (vreinterpretq_u16_u64): Likewise.
1762         (vreinterpretq_u16_p8): Likewise.
1763         (vreinterpretq_u16_p16): Likewise.
1764         (vreinterpret_u32_s8): Likewise.
1765         (vreinterpret_u32_s16): Likewise.
1766         (vreinterpret_u32_s32): Likewise.
1767         (vreinterpret_u32_s64): Likewise.
1768         (vreinterpret_u32_f32): Likewise.
1769         (vreinterpret_u32_u8): Likewise.
1770         (vreinterpret_u32_u16): Likewise.
1771         (vreinterpret_u32_u64): Likewise.
1772         (vreinterpret_u32_p8): Likewise.
1773         (vreinterpret_u32_p16): Likewise.
1774         (vreinterpretq_u32_s8): Likewise.
1775         (vreinterpretq_u32_s16): Likewise.
1776         (vreinterpretq_u32_s32): Likewise.
1777         (vreinterpretq_u32_s64): Likewise.
1778         (vreinterpretq_u32_f32): Likewise.
1779         (vreinterpretq_u32_u8): Likewise.
1780         (vreinterpretq_u32_u16): Likewise.
1781         (vreinterpretq_u32_u64): Likewise.
1782         (vreinterpretq_u32_p8): Likewise.
1783         (vreinterpretq_u32_p16): Likewise.
1784
1785 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1786
1787         * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
1788         Pattern extended.
1789         * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator
1790         extended.
1791         (sqabs): Likewise.
1792         * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
1793         (vqnegd_s64): Likewise.
1794         (vqabs_s64): Likewise.
1795         (vqabsd_s64): Likewise.
1796
1797 2014-04-22  Richard Henderson  <rth@redhat.com>
1798
1799         * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
1800         computation to the top of the loop.
1801
1802 2014-04-22  Renlin  <renlin.li@arm.com>
1803             Jiong Wang  <jiong.wang@arm.com>
1804
1805         * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
1806         * config/aarch64/aarch64.c (aarch64_layout_frame)
1807         (aarch64_initial_elimination_offset): Likewise.
1808
1809 2014-04-22  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1810
1811         * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
1812         Fix indentation.
1813
1814 2014-04-22  Richard Sandiford  <rdsandiford@googlemail.com>
1815
1816         * machmode.h (bitwise_mode_for_mode): Declare.
1817         * stor-layout.h (bitwise_type_for_mode): Likewise.
1818         * stor-layout.c (bitwise_mode_for_mode): New function.
1819         (bitwise_type_for_mode): Likewise.
1820         * builtins.c (fold_builtin_memory_op): Use it instead of
1821         int_mode_for_mode and build_nonstandard_integer_type.
1822
1823 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1824
1825         * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
1826         (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
1827         (*-*-solaris2*): Simplify.
1828         (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
1829         (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
1830         *-*-solaris2.9* handling.
1831
1832         * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
1833         as bug.
1834         (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
1835         (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
1836         handling, simplify.
1837         (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
1838         * configure: Regenerate.
1839
1840         * config/i386/sol2-9.h: Remove.
1841
1842         * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
1843         (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
1844         Remove Solaris 9 references.
1845
1846 2014-04-22  Vidya Praveen  <vidyapraveen@arm.com>
1847
1848         * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
1849         (floatuns<GPI:mode><GPF:mode>2): Remove.
1850         (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
1851         and floatuns conversions.
1852         (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
1853         and floatuns conversions.
1854         * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
1855         (w1,w2): New mode attributes for inequal width conversions.
1856
1857 2014-04-22  Renlin Li  <Renlin.Li@arm.com>
1858
1859         * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
1860         the output asm format.
1861
1862 2014-04-22  James Greenhalgh  <james.greenhalgh@arm.com>
1863
1864         * config/aarch64/aarch64-simd.md
1865         (aarch64_cm<optab>di): Always split.
1866         (*aarch64_cm<optab>di): New.
1867         (aarch64_cmtstdi): Always split.
1868         (*aarch64_cmtstdi): New.
1869
1870 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
1871
1872         PR tree-optimization/60823
1873         * omp-low.c (ipa_simd_modify_function_body): Go through
1874         all SSA_NAMEs and for those refering to vector arguments
1875         which are going to be replaced adjust SSA_NAME_VAR and,
1876         if it is a default definition, change it into a non-default
1877         definition assigned at the beginning of function from new_decl.
1878         (ipa_simd_modify_stmt_ops): Rewritten.
1879         * tree-dfa.c (set_ssa_default_def): When removing default def,
1880         check for NULL loc instead of NULL *loc.
1881
1882 2014-04-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1883
1884         * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
1885         restrictions on core registers for DImode values in Thumb2.
1886
1887 2014-04-22  Ian Bolton  <ian.bolton@arm.com>
1888
1889         * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
1890         * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
1891
1892 2014-04-22  Ian Bolton  <ian.bolton@arm.com>
1893
1894         * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
1895         (*iordi_notzesidi_di): Likewise.
1896         (*iordi_notsesidi_di): Likewise.
1897
1898 2014-04-22  Ian Bolton  <ian.bolton@arm.com>
1899
1900         * config/arm/arm-protos.h (tune_params): New struct members.
1901         * config/arm/arm.c: Initialise tune_params per processor.
1902         (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
1903         for speed, based on new tune_params.
1904
1905 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1906
1907         * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro
1908         added.
1909         * config/aarch64/aarch64-simd-builtins.def (frintn): Use added
1910         macro.
1911         * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment
1912         corrected.
1913         * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
1914         * config/aarch64/arm_neon.h (vrnd_f64): Added.
1915         (vrnda_f64): Likewise.
1916         (vrndi_f64): Likewise.
1917         (vrndm_f64): Likewise.
1918         (vrndn_f64): Likewise.
1919         (vrndp_f64): Likewise.
1920         (vrndx_f64): Likewise.
1921
1922 2014-04-22  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
1923
1924         * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
1925         GET_MODE_SIZE argument is enum machine_mode.
1926
1927 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
1928
1929         PR target/60910
1930         * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
1931         value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
1932
1933 2014-04-22  Lin Zuojian  <manjian2006@gmail.com>
1934
1935         PR middle-end/60281
1936         * asan.c (asan_emit_stack_protection): Force the base to align to
1937         appropriate bits if STRICT_ALIGNMENT.  Set shadow_mem align to
1938         appropriate bits if STRICT_ALIGNMENT.
1939         * cfgexpand.c (expand_stack_vars): Set base_align appropriately
1940         when asan is on.
1941         (expand_used_vars): Leave a space in the stack frame for alignment
1942         if STRICT_ALIGNMENT.
1943
1944 2014-04-21  David Malcolm  <dmalcolm@redhat.com>
1945
1946         * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
1947         than a gimple.
1948         (gimple_store_p): Likewise.
1949         (gimple_assign_load_p): Likewise.
1950         (gimple_assign_cast_p): Likewise.
1951         (gimple_clobber_p): Likewise.
1952
1953         * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
1954         rather than a gimple.
1955         (gimple_assign_cast_p): Likewise.
1956
1957 2014-04-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
1958
1959         PR target/60735
1960         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
1961         If mode is DDmode and TARGET_E500_DOUBLE allow move.
1962
1963         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
1964         more debug information for E500 if -mdebug=reg.
1965
1966 2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
1967
1968         PR target/60909
1969         * config/i386/i386.c (ix86_expand_builtin)
1970         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
1971         register for target RTX.
1972         <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
1973
1974 2014-04-18  Cong Hou  <congh@google.com>
1975
1976         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
1977         the widen-mult pattern by handling two operands with different sizes,
1978         and operands whose size is smaller than half of the result type.
1979
1980 2014-04-18  Jan Hubicka  <hubicka@ucw.cz>
1981
1982         * ipa-inline.h (INLINE_HINT_known_hot): New hint.
1983         * ipa-inline-analysis.c (dump_inline_hints): Dump it.
1984         (do_estimate_edge_time): Compute it.
1985         * ipa-inline.c (want_inline_small_function_p): Bypass
1986         INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
1987
1988 2014-04-18  Jan Hubicka  <hubicka@ucw.cz>
1989
1990         * ipa-inline.c (spec_rem): New static variable.
1991         (dump_overall_stats): New function.
1992         (dump_inline_stats): New function.
1993
1994 2014-04-18  Richard Henderson  <rth@redhat.com>
1995
1996         * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
1997         to GET_MODE_SIZE, not a reg_class_t.
1998
1999 2014-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2000
2001         * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
2002         (vsx_xxmrglw_<mode>): Likewise.
2003
2004 2014-04-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
2005
2006         PR target/60876
2007         * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
2008         GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
2009         (rs6000_init_hard_regno_mode_ok): Likewise.
2010
2011 2014-04-17  Jan Hubicka  <hubicka@ucw.cz>
2012
2013         * ipa-inline.c (inline_small_functions): Account only non-cold
2014         functions.
2015         * doc/invoke.texi (inline-unit-growth): Update documentation.
2016
2017 2014-04-17  Pat Haugen  <pthaugen@us.ibm.com>
2018
2019         * config/rs6000/rs6000.md (addti3, subti3): New.
2020
2021 2014-04-17  H.J. Lu  <hongjiu.lu@intel.com>
2022
2023         PR target/60863
2024         * config/i386/i386.c (ix86_expand_clear): Remove outdated
2025         comment.  Check optimize_insn_for_size_p instead of
2026         optimize_insn_for_speed_p.
2027
2028 2014-04-17  Martin Jambor  <mjambor@suse.cz>
2029
2030         * gimple-iterator.c (gsi_start_edge): New function.
2031         * gimple-iterator.h (gsi_start_edge): Declare.
2032         * tree-sra.c (single_non_eh_succ): New function.
2033         (disqualify_ops_if_throwing_stmt): Renamed to
2034         disqualify_if_bad_bb_terminating_stmt.  Allow throwing statements
2035         having one non-EH successor BB.
2036         (sra_modify_expr): If stmt ends bb, use single non-EH successor to
2037         generate loads into replacements.
2038         (sra_modify_assign): Likewise and and also use the simple path for
2039         such statements.
2040         (sra_modify_function_body): Commit statements on edges.
2041
2042 2014-04-17  Richard Biener  <rguenther@suse.de>
2043
2044         PR middle-end/60849
2045         * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
2046         comparison results and add clarifying comment.
2047
2048 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
2049
2050         * genmodes.c (struct mode_data): Add need_bytesize_adj field.
2051         (blank_mode): Initialize it.
2052         (emit_mode_size_inline, emit_mode_nunits_inline,
2053         emit_mode_inner_inline): New functions.
2054         (emit_insn_modes_h): Call them and surround their output with
2055         #if GCC_VERSION >= 4001 ... #endif.
2056         * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
2057         For GCC_VERSION >= 4001 use mode_*_inline routines instead of
2058         mode_* arrays if the argument is __builtin_constant_p.
2059         * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
2060         is enum machine_mode.
2061
2062 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
2063
2064         * passes.c (opt_pass::execute): Adjust.
2065         (pass_manager::execute_pass_mode_switching): Likewise.
2066         (early_local_passes::execute): Likewise.
2067         (execute_one_pass): Pass cfun to the pass's execute method.
2068         * tree-pass.h (opt_pass::execute): Add function * argument.
2069         * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
2070         cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
2071         compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
2072         config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
2073         config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
2074         config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
2075         except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
2076         gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
2077         graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
2078         ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
2079         ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
2080         lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
2081         postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
2082         reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
2083         store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
2084         tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
2085         tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
2086         tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
2087         tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
2088         tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
2089         tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
2090         tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
2091         tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
2092         tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
2093         tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
2094         tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
2095         tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
2096         tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
2097         tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
2098         Adjust.
2099
2100 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
2101
2102         * passes.c (opt_pass::gate): Take function * argument.
2103         (gate_all_early_local_passes): Merge into
2104         (early_local_passes::gate): this.
2105         (gate_all_early_optimizations): Merge into
2106         (all_early_optimizations::gate): this.
2107         (gate_all_optimizations): Mege into
2108         (all_optimizations::gate): this.
2109         (gate_all_optimizations_g): Merge into
2110         (all_optimizations_g::gate): this.
2111         (gate_rest_of_compilation): Mege into
2112         (rest_of_compilation::gate): this.
2113         (gate_postreload): Merge into
2114         (postreload::gate): this.
2115         (dump_one_pass): Pass cfun to the pass's gate method.
2116         (execute_ipa_summary_passes): Likewise.
2117         (execute_one_pass): Likewise.
2118         (ipa_write_summaries_2): Likewise.
2119         (ipa_write_optimization_summaries_1): Likewise.
2120         (ipa_read_summaries_1): Likewise.
2121         (ipa_read_optimization_summaries_1): Likewise.
2122         (execute_ipa_stmt_fixups): Likewise.
2123         * tree-pass.h (opt_pass::gate): Add function * argument.
2124         * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
2125         combine-stack-adj.c, combine.c, compare-elim.c,
2126         config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
2127         config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
2128         config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
2129         dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c,  fwprop.c, gcse.c,
2130         gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
2131         graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
2132         ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
2133         loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
2134         omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
2135         reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
2136         store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
2137         tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
2138         tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
2139         tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
2140         tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
2141         tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
2142         tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
2143         tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
2144         tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
2145         tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
2146         tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
2147         tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
2148         tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
2149         tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
2150         var-tracking.c, vtable-verify.c, web.c: Adjust.
2151
2152 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
2153
2154         * configure.ac: Check for -Woverloaded-virtual and enable it if found.
2155         * configure: Regenerate.
2156
2157 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
2158
2159         * passes.c (dump_one_pass): don't check pass->has_gate.
2160         (execute_ipa_summary_passes): Likewise.
2161         (execute_one_pass): Likewise.
2162         (ipa_write_summaries_2): Likewise.
2163         (ipa_write_optimization_summaries_1): Likewise.
2164         (ipa_read_optimization_summaries_1): Likewise.
2165         (execute_ipa_stmt_fixups): Likewise.
2166         * tree-pass.h (pass_data::has_gate): Remove.
2167         * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
2168         cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
2169         compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
2170         config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
2171         config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
2172         config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
2173         config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
2174         dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
2175         gimple-low.c, gimple-ssa-isolate-paths.c,
2176         gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
2177         ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
2178         ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
2179         ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
2180         modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
2181         recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
2182         reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
2183         trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
2184         tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
2185         tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
2186         tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
2187         tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
2188         tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
2189         tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
2190         tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
2191         tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
2192         tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
2193         tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
2194         tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
2195         tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
2196         tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
2197         tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
2198         Adjust.
2199
2200 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
2201
2202         * pass_manager.h (pass_manager::register_dump_files_1): Remove
2203         declaration.
2204         * passes.c (pass_manager::register_dump_files_1): Merge into
2205         (pass_manager::register_dump_files): this, and remove its handling of
2206         properties since the pass always has the properties anyway.
2207         (pass_manager::pass_manager): Adjust.
2208
2209 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
2210
2211         * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
2212         * passes.c (pass_manager::register_dump_files_1): Remove dead code
2213         dealing with properties.
2214         (pass_manager::register_dump_files): Adjust.
2215
2216 2014-03-20  Mark Wielaard  <mjw@redhat.com>
2217
2218         * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
2219         then represent the bound as normal constant value.
2220
2221 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
2222
2223         PR target/60847
2224         Forward port from 4.8 branch
2225         2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
2226
2227         * config/i386/bmiintrin.h (_blsi_u32): New.
2228         (_blsi_u64): Ditto.
2229         (_blsr_u32): Ditto.
2230         (_blsr_u64): Ditto.
2231         (_blsmsk_u32): Ditto.
2232         (_blsmsk_u64): Ditto.
2233         (_tzcnt_u32): Ditto.
2234         (_tzcnt_u64): Ditto.
2235
2236 2014-04-17  Kito Cheng  <kito@0xlab.org>
2237
2238         * gcc.c (used_arg): Prevent out of bound access for multilib_options.
2239
2240 2014-04-17  Richard Biener  <rguenther@suse.de>
2241
2242         PR middle-end/60849
2243         * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
2244         boolean results for comparisons.
2245
2246 2014-04-17  Richard Biener  <rguenther@suse.de>
2247
2248         PR tree-optimization/60836
2249         * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
2250         initial PHI args to be gimple values.
2251
2252 2014-04-17   Richard Biener  <rguenther@suse.de>
2253
2254         PR tree-optimization/60841
2255         * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
2256         * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
2257         of stmts to SLP build.
2258         * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
2259         (vect_analyze_slp): Likewise.
2260         (vect_analyze_slp_instance): Likewise.
2261         (vect_build_slp_tree): Limit overall SLP tree growth.
2262         * tree-vectorizer.h (vect_analyze_data_refs,
2263         vect_analyze_slp): Adjust prototypes.
2264
2265 2014-04-17  Evgeny Stupachenko  <evstupac@gmail.com>
2266
2267         * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
2268         Silvermont.
2269
2270 2014-04-17  Evgeny Stupachenko  <evstupac@gmail.com>
2271
2272         * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
2273         * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
2274         * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
2275         for TARGET_SLOW_PSHUFB
2276
2277 2014-04-17  Evgeny Stupachenko  <evstupac@gmail.com>
2278
2279         * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
2280         * config/i386/i386.c (intel_cost): Ditto.
2281
2282 2014-04-17  Joey Ye  <joey.ye@arm.com>
2283
2284         * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
2285
2286 2014-04-16  Jan Hubicka  <hubicka@ucw.cz>
2287
2288         * opts.c (common_handle_option): Disable -fipa-reference coorectly
2289         with -fuse-profile.
2290
2291 2014-04-16  Jan Hubicka  <hubicka@ucw.cz>
2292
2293         * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
2294         (type_all_derivations_known_p): New predicate.
2295         (type_all_ctors_visible_p): New predicate.
2296         (type_possibly_instantiated_p): New predicate.
2297         (get_odr_type): Compute all_derivations_known.
2298         (dump_odr_type): Dump the flag.
2299         (maybe_record_type): Cleanup.
2300         (record_target_from_binfo): Add bases_to_consider array;
2301         record bases for types w/o instances and skip CXX destructor.
2302         (possible_polymorphic_call_targets_1): Add bases_to_consider
2303         and consider_construction parameters; check if type may have instance.
2304         (get_polymorphic_call_info): Set maybe_in_construction to true
2305         when we know nothing.
2306         (record_targets_from_bases): Skip CXX destructors; they are
2307         never called for types in construction.
2308         (possible_polymorphic_call_targets): Do not record target when
2309         type may not have instance.
2310
2311 2014-04-16  Jan Hubicka  <hubicka@ucw.cz>
2312
2313         PR ipa/60854
2314         * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
2315         external aliases alive, too.
2316
2317 2014-04-16  Andrew  Pinski  <apinski@cavium.com>
2318
2319         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
2320         definition.
2321
2322 2014-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2323
2324         * final.c (compute_alignments): Do not apply loop alignment to a block
2325         falling through to the exit.
2326
2327 2014-04-16  Catherine Moore  <clm@codesourcery.com>
2328
2329         * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
2330         Adjust constraints for microMIPS store patterns.
2331
2332 2014-04-16  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
2333
2334         * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
2335
2336 2014-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2337
2338         * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
2339         (append_use): Run at -O0.
2340         (append_vdef): Likewise.
2341         * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
2342         * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
2343
2344 2014-04-16  Jakub Jelinek  <jakub@redhat.com>
2345
2346         PR tree-optimization/60844
2347         * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
2348         (propagate_op_to_single_use, remove_visited_stmt_chain,
2349         linearize_expr, repropagate_negates, reassociate_bb): Use it
2350         instead of gsi_remove.
2351
2352 2014-04-16  Martin Jambor  <mjambor@suse.cz>
2353
2354         * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
2355         ipa_transforms_to_apply.
2356         (cgraph_function_versioning): Assert that old_node has empty
2357         ipa_transforms_to_apply.
2358         * trans-mem.c (ipa_tm_create_version): Likewise.
2359         * tree-inline.c (tree_function_versioning): Do not duplicate
2360         ipa_transforms_to_apply.
2361
2362 2014-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2363
2364         PR target/60817
2365         * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
2366         x86_64-*-* cases.
2367         Pass necessary as flags on 64-bit Solaris/x86.
2368         Use lowercase relocs for x86_64-*-*.
2369         * configure: Regenerate.
2370
2371 2014-04-15  Jan Hubicka  <jh@suse.cz>
2372
2373         * ipa-devirt.c (referenced_from_vtable_p): New predicate.
2374         (maybe_record_node, likely_target_p): Use it.
2375
2376 2014-04-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2377
2378         PR target/60839
2379         Revert following patch
2380
2381         2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
2382
2383         PR target/60735
2384         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
2385         software floating point or no floating point registers, do not
2386         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
2387         in GPRs that occurs after we tested for GPRs that would never be
2388         true.
2389
2390         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
2391         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
2392         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
2393         specifically allow DDmode, since that does not use the SPE SIMD
2394         instructions.
2395
2396 2014-03-21  Mark Wielaard  <mjw@redhat.com>
2397
2398         * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
2399         as unsigned or int depending on type and value used.
2400
2401 2014-04-15  Richard Biener  <rguenther@suse.de>
2402
2403         PR rtl-optimization/56965
2404         * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
2405         * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
2406         ... here.
2407         * alias.c (true_dependence_1): Do not call
2408         nonoverlapping_component_refs_p.
2409         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
2410         nonoverlapping_component_refs_p.
2411         (indirect_refs_may_alias_p): Likewise.
2412
2413 2014-04-15  Teresa Johnson  <tejohnson@google.com>
2414
2415         * cfg.c (dump_bb_info): Fix flags check.
2416         * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
2417
2418 2014-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2419
2420         PR rtl-optimization/60663
2421         * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
2422         avoid 0 cost.
2423
2424 2014-04-15  Richard Biener  <rguenther@suse.de>
2425
2426         * lto-streamer.h (LTO_major_version): Bump to 4.
2427
2428 2014-04-15  Richard Biener  <rguenther@suse.de>
2429
2430         * common.opt (lto_partition_model): New enum.
2431         (flto-partition=): Merge separate options with a single with argument,
2432         add -flto-partition=one support.
2433         * flag-types.h (enum lto_partition_model): Declare.
2434         * opts.c (finish_options): Remove duplicate -flto-partition=
2435         option check.
2436         * lto-wrapper.c (run_gcc): Adjust.
2437
2438 2014-04-15  Richard Biener  <rguenther@suse.de>
2439
2440         * alias.c (ncr_compar): New function.
2441         (nonoverlapping_component_refs_p): Re-implement in O (n log n).
2442
2443 2014-04-15  Richard Biener  <rguenther@suse.de>
2444
2445         * alias.c (record_component_aliases): Do not walk BINFOs.
2446
2447 2014-04-15  Richard Biener  <rguenther@suse.de>
2448
2449         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2450         Add struct function argument and adjust.
2451         (find_func_aliases_for_call): Likewise.
2452         (find_func_aliases): Likewise.
2453         (find_func_clobbers): Likewise.
2454         (intra_create_variable_infos): Likewise.
2455         (compute_points_to_sets): Likewise.
2456         (ipa_pta_execute): Adjust.  Do not push/pop cfun.
2457
2458 2014-04-15  Richard Biener  <rguenther@suse.de>
2459
2460         * tree.c (iterative_hash_expr): Use enum tree_code_class
2461         to store TREE_CODE_CLASS.
2462         (tree_block): Likewise.
2463         (tree_set_block): Likewise.
2464         * tree.h (fold_build_pointer_plus_loc): Use
2465         convert_to_ptrofftype_loc.
2466
2467 2014-04-15  Jakub Jelinek  <jakub@redhat.com>
2468
2469         PR plugins/59335
2470         * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
2471         added in 4.9.
2472
2473 2014-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2474
2475         * cfgloop.h (struct loop): Move force_vectorize down.
2476         * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
2477         (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
2478         * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
2479         * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
2480         * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
2481         * tree-core.h (enum annot_expr_kind): Add new kind values.
2482         * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
2483         * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
2484         kinds.
2485         * tree.def (ANNOTATE_EXPR): Tweak comment.
2486
2487 2014-04-14  Jan Hubicka  <hubicka@ucw.cz>
2488
2489         * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
2490         cxa_pure_virtual).
2491
2492 2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
2493
2494         * tree.h (TYPE_IDENTIFIER): Declare.
2495         * tree.c (subrange_type_for_debug_p): Use it.
2496         * godump.c (go_format_type): Likewise.
2497         * dwarf2out.c (is_cxx_auto, modified_type_die,
2498         gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
2499         * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
2500
2501 2014-04-14  Jan Hubicka   <hubicka@ucw.cz>
2502
2503         PR lto/60820
2504         * varpool.c (varpool_remove_node): Do not alter decls when streaming.
2505
2506 2014-04-14  Uros Bizjak  <ubizjak@gmail.com>
2507
2508         * config/i386/i386.c (examine_argument): Return bool.  Return true if
2509         parameter should be passed in memory.
2510         <case X86_64_COMPLEX_X87_CLASS>: Adjust.
2511         (construct_container): Update calls to examine_argument.
2512         (function_arg_advance_64): Ditto.
2513         (return_in_memory_32): Merge with ix86_return_in_memory.
2514         (return_in_memory_64): Ditto.
2515         (return_in_memory_ms_64): Ditto.
2516
2517 2014-04-14  Jan Hubicka  <hubicka@ucw.cz>
2518
2519         * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
2520         * coverage.c (coverage_compute_profile_id): Handle externally visible
2521         symbols.
2522
2523 2014-04-14  Martin Jambor  <mjambor@suse.cz>
2524
2525         * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
2526         DECL_DISREGARD_INLINE_LIMITS functions.
2527
2528 2014-04-14  H.J. Lu  <hongjiu.lu@intel.com>
2529
2530         PR target/60827
2531         * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2532
2533 2014-04-14  H.J. Lu  <hongjiu.lu@intel.com>
2534
2535         PR target/60827
2536         * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
2537         optimize_insn_for_speed_p instead of
2538         optimize_function_for_speed_p.
2539
2540 2014-04-14  Yufeng Zhang  <yufeng.zhang@arm.com>
2541
2542         * doc/invoke.texi (free): Document AArch64.
2543
2544 2014-04-14  Richard Biener  <rguenther@suse.de>
2545
2546         PR tree-optimization/60042
2547         * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
2548         (insert_into_preds_of_block): Do not prevent PHI insertion
2549         for REFERENCE exprs here ...
2550         (eliminate_dom_walker::before_dom_children): ... but prevent
2551         their use here under similar conditions when applied to the
2552         IL after PRE optimizations.
2553
2554 2014-04-14  Richard Biener  <rguenther@suse.de>
2555
2556         * passes.def: Move early points-to after early SRA.
2557
2558 2014-04-14  Richard Biener  <rguenther@suse.de>
2559
2560         * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
2561         check for which sign-changes we allow when forwarding
2562         a converted value into a switch.
2563
2564 2014-04-14  Eric Botcazou  <ebotcazou@adacore.com>
2565
2566         * stor-layout.c (place_field): Finalize non-constant offset for the
2567         field, if any.
2568
2569 2014-04-14  Richard Biener  <rguenther@suse.de>
2570
2571         * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
2572         as argument.
2573         (expand_switch_using_bit_tests_p): Likewise.
2574         (process_switch): Compute and pass on speed_p based on the
2575         switch stmt.
2576         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
2577         optimize_bb_for_speed_p.
2578
2579 2014-04-14  Eric Botcazou  <ebotcazou@adacore.com>
2580
2581         * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
2582         * function.h (struct function): Rename has_force_vect_loops into
2583         has_force_vectorize_loops.
2584         * lto-streamer-in.c (input_cfg): Adjust for renaming.
2585         (input_struct_function_base): Likewise.
2586         * lto-streamer-out.c (output_cfg): Likewise.
2587         (output_struct_function_base): Likewise.
2588         * omp-low.c (expand_omp_simd): Likewise.
2589         * tree-cfg.c (move_sese_region_to_fn): Likewise.
2590         * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
2591         (version_loop_for_if_conversion): Likewise.
2592         (tree_if_conversion): Likewise.
2593         (main_tree_if_conversion): Likewise.
2594         (gate_tree_if_conversion): Likewise.
2595         * tree-inline.c (copy_loops): Likewise.
2596         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
2597         * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
2598         * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
2599         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
2600         * tree-vectorizer.c (vectorize_loops): Likewise.
2601         * tree-vectorizer.h (unlimited_cost_model): Likewise.
2602
2603 2014-04-14  Richard Biener  <rguenther@suse.de>
2604
2605         PR lto/60720
2606         * lto-streamer-out.c (wrap_refs): New function.
2607         (lto_output): Wrap symbol references in global initializes in
2608         type-preserving MEM_REFs.
2609
2610 2014-04-14  Christian Bruel  <christian.bruel@st.com>
2611
2612         * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
2613
2614 2014-04-14  Christian Bruel  <christian.bruel@st.com>
2615
2616         * config/sh/sh.md (setmemqi): New expand pattern.
2617         * config/sh/sh.h (CLEAR_RATIO): Define.
2618         * config/sh/sh-mem.cc (sh_expand_setmem): Define.
2619         * config/sh/sh-protos.h (sh_expand_setmem): Declare.
2620
2621 2014-04-14  Richard Biener  <rguenther@suse.de>
2622
2623         PR middle-end/55022
2624         * fold-const.c (negate_expr_p): Don't negate directional rounding
2625         division.
2626         (fold_negate_expr): Likewise.
2627
2628 2014-04-14  Richard Biener  <rguenther@suse.de>
2629
2630         PR tree-optimization/59817
2631         PR tree-optimization/60453
2632         * graphite-scop-detection.c (graphite_can_represent_scev): Complete
2633         recursion to catch all CHRECs in the scalar evolution and restrict
2634         the predicate for the remains appropriately.
2635
2636 2014-04-12  Catherine Moore  <clm@codesourcery.com>
2637
2638         * config/mips/constraints.md: Add new register constraint "kb".
2639         * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
2640         (*movhi_internal): Likewise.
2641         (*movqi_internal): Likewise.
2642         * config/mips/mips.h (M16_STORE_REGS): New register class.
2643         (REG_CLASS_NAMES): Add M16_STORE_REGS.
2644         (REG_CLASS_CONTENTS): Likewise.
2645         * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
2646
2647 2014-04-11  Tobias Burnus  <burnus@net-b.de>
2648
2649         PR c/60194
2650         * doc/invoke.texi (-Wformat-signedness): Document it.
2651         (Wformat=2): Mention that this enables -Wformat-signedness.
2652
2653 2014-04-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2654
2655         * common/config/epiphany/epiphany-common.c
2656         (epiphany_option_optimization_table): Enable section anchors by
2657         default at -O1 or higher.
2658         * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
2659         (TARGET_MIN_ANCHOR_OFFSET): Likewise.
2660         (epiphany_rtx_costs) <SET>: For binary operators, the set as such
2661         carries no extra cost.
2662         (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
2663         * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
2664         * config/epiphany/predicates.md (memclob_operand): New predicate.
2665         * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
2666         Use memclob_operand predicate and X constraint for operand 3.
2667
2668 2014-04-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2669
2670         * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
2671         with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
2672         its operands.
2673
2674 2014-04-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2675
2676         PR rtl-optimization/60651
2677         * mode-switching.c (optimize_mode_switching): Make sure to emit
2678         sets of a lower numbered entity before sets of a higher numbered
2679         entity to a mode of the same or lower priority.
2680         When creating a seginfo for a basic block that starts with a code
2681         label, move the insertion point past the code label.
2682         (new_seginfo): Document and enforce requirement that
2683         NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
2684         * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
2685         * doc/tm.texi: Regenerate.
2686
2687 2014-01-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2688
2689         PR target/60811
2690         * config/arc/arc.c (arc_save_restore): Fix assert typo.
2691
2692 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
2693
2694         * BASE-VER: Set to 4.10.0.
2695
2696 2014-04-11  Tobias Burnus  <burnus@net-b.de>
2697
2698         PR other/59055
2699         * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
2700         * doc/gcc.texi (Service): Update description in the @menu
2701         * doc/invoke.texi (Option Summary): Remove misplaced and
2702         duplicated @menu.
2703
2704 2014-04-11  Steve Ellcey  <sellcey@mips.com>
2705             Jakub Jelinek  <jakub@redhat.com>
2706
2707         PR middle-end/60556
2708         * expr.c (convert_move): Use emit_store_flag_force instead of
2709         emit_store_flag.  Pass lowpart_mode instead of VOIDmode as 5th
2710         argument to it.
2711
2712 2014-04-11  Richard Biener  <rguenther@suse.de>
2713
2714         PR middle-end/60797
2715         * varasm.c (assemble_alias): Avoid endless error reporting
2716         recursion by setting TREE_ASM_WRITTEN.
2717
2718 2014-04-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2719
2720         * config/s390/s390.md: Add a splitter for NOT rtx.
2721
2722 2014-04-11  Jakub Jelinek  <jakub@redhat.com>
2723
2724         PR rtl-optimization/60663
2725         * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
2726
2727 2014-04-10  Jan Hubicka  <hubicka@ucw.cz>
2728             Jakub Jelinek  <jakub@redhat.com>
2729
2730         PR lto/60567
2731         * ipa.c (function_and_variable_visibility): Copy forced_by_abi
2732         flag from decl_node to node.
2733
2734 2014-04-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2735
2736         PR debug/60655
2737         * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
2738         (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
2739         ameliorating the cases where it can be.
2740
2741 2014-04-09  David Edelsohn  <dje.gcc@gmail.com>
2742
2743         Revert
2744         2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
2745
2746         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
2747         (loadsync_<mode>): Change mode.
2748         (load_quadpti, store_quadpti): New.
2749         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
2750         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
2751         * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
2752
2753 2014-04-09  Cong Hou  <congh@google.com>
2754
2755         PR testsuite/60773
2756         * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
2757         documentation.
2758
2759 2014-04-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2760
2761         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
2762         instead of vnor to exploit possible fusion opportunity in the
2763         future.
2764         (altivec_expand_vec_perm_const_le): Likewise.
2765
2766 2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
2767
2768         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
2769         (loadsync_<mode>): Change mode.
2770         (load_quadpti, store_quadpti): New.
2771         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
2772         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
2773
2774 2014-04-08  Richard Sandiford  <rdsandiford@googlemail.com>
2775
2776         PR target/60763
2777         * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
2778         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
2779         Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
2780
2781 2014-04-08  Richard Biener  <rguenther@suse.de>
2782
2783         PR middle-end/60706
2784         * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
2785         a 64bit widest int print double-int similar to on HWI64 hosts.
2786
2787 2014-04-08  Richard Biener  <rguenther@suse.de>
2788
2789         PR tree-optimization/60785
2790         * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
2791         default defs properly.
2792
2793 2014-04-08  Nathan Sidwell  <nathan@codesourcery.com>
2794
2795         * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
2796         (Weffc++): Likewise.
2797
2798 2014-04-07  Jan Hubicka  <hubcika@ucw.cz>
2799
2800         * ipa-devirt.c (maybe_record_node): When node is not recorded,
2801         set completep to false rather than true.
2802
2803 2014-04-07  Douglas B Rupp  <rupp@adacore.com>
2804
2805         PR target/60504
2806         * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
2807         ARM_TARGET2_DWARF_FORMAT.
2808
2809 2014-04-07  Charles Baylis  <charles.baylis@linaro.org>
2810
2811         PR target/60609
2812         * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
2813         (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
2814         ADDR_DIFF_VEC.
2815
2816 2014-04-07  Richard Biener  <rguenther@suse.de>
2817
2818         PR tree-optimization/60766
2819         * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
2820         (may_eliminate_iv): Convert cand_value_at result to desired type.
2821
2822 2014-04-07  Jason Merrill  <jason@redhat.com>
2823
2824         PR c++/60731
2825         * common.opt (-fno-gnu-unique): Add.
2826         * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
2827
2828 2014-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2829
2830         * haifa-sched.c: Fix outdated function reference and minor
2831         grammar errors in introductory comment.
2832
2833 2014-04-07  Richard Biener  <rguenther@suse.de>
2834
2835         PR middle-end/60750
2836         * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
2837         for noreturn calls.
2838         * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
2839
2840 2014-04-06  John David Anglin  <danglin@gcc.gnu.org>
2841
2842         PR debug/55794
2843         * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
2844         size accounting for thunks.
2845         (pa_asm_output_mi_thunk): Use final_start_function() and
2846         final_end_function() to output function start and end directives.
2847
2848 2014-04-05  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
2849
2850         * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
2851         device specific ISA/ feature information. Remove short_sp and
2852         errata_skip ds.  Add avr_device_specific_features enum to have device
2853         specific info.
2854         * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
2855         errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
2856         * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
2857         updated device specific info.
2858         * config/avr/avr-mcus.def: Merge device specific details to
2859         dev_attribute field.
2860         * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
2861         errata_skip.
2862         * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
2863         * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
2864         assembler if RMW isa supported by current device.
2865         * config/avr/genmultilib.awk: Update as device info structure changed.
2866         * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
2867
2868 2014-04-04  Cong Hou  <congh@google.com>
2869
2870         PR tree-optimization/60656
2871         * tree-vect-stmts.c (supportable_widening_operation):
2872         Fix a bug that elements in a vector with vect_used_by_reduction
2873         property are incorrectly reordered when the operation on it is not
2874         consistant with the one in reduction operation.
2875
2876 2014-04-04  John David Anglin  <danglin@gcc.gnu.org>
2877
2878         PR rtl-optimization/60155
2879         * gcse.c (record_set_data): New function.
2880         (single_set_gcse): New function.
2881         (gcse_emit_move_after): Use single_set_gcse instead of single_set.
2882         (hoist_code): Likewise.
2883         (get_pressure_class_and_nregs): Likewise.
2884
2885 2014-04-04  Eric Botcazou  <ebotcazou@adacore.com>
2886
2887         * explow.c (probe_stack_range): Emit a final optimization blockage.
2888
2889 2014-04-04  Anthony Green  <green@moxielogic.com>
2890
2891         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
2892         typos.
2893
2894 2014-04-04  Jan Hubicka  <hubicka@ucw.cz>
2895
2896         PR ipa/59626
2897         * lto-cgraph.c (input_overwrite_node): Check that partitioning
2898         flags are set only during streaming.
2899         * ipa.c (process_references, walk_polymorphic_call_targets,
2900         symtab_remove_unreachable_nodes): Drop bodies of always inline
2901         after early inlining.
2902         (symtab_remove_unreachable_nodes): Remove always_inline attribute.
2903
2904 2014-04-04  Jakub Jelinek  <jakub@redhat.com>
2905         Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2906
2907         PR debug/60655
2908         * dwarf2out.c (const_ok_for_output_1): Reject expressions
2909         containing a NOT.
2910
2911 2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2912
2913         PR bootstrap/60743
2914         * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
2915         duration.
2916         (cortex_a53_fdivd): Likewise.
2917
2918 2014-04-04  Martin Jambor  <mjambor@suse.cz>
2919
2920         PR ipa/60640
2921         * cgraph.h (cgraph_clone_node): New parameter added to declaration.
2922         Adjust all callers.
2923         * cgraph.c (clone_of_p): Also return true if thunks match.
2924         (verify_edge_corresponds_to_fndecl): Removed extraneous call to
2925         cgraph_function_or_thunk_node and an obsolete comment.
2926         * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
2927         file.
2928         (build_function_decl_skip_args): Likewise.
2929         (set_new_clone_decl_and_node_flags): New function.
2930         (duplicate_thunk_for_node): Likewise.
2931         (redirect_edge_duplicating_thunks): Likewise.
2932         (cgraph_clone_node): New parameter args_to_skip, pass it to
2933         redirect_edge_duplicating_thunks which is called instead of
2934         cgraph_redirect_edge_callee.
2935         (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
2936         moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
2937
2938 2014-04-04  Jeff Law  <law@redhat.com>
2939
2940         PR target/60657
2941         * config/arm/predicates.md (const_int_I_operand): New predicate.
2942         (const_int_M_operand): Similarly.
2943         * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
2944         const_int_operand.
2945         (insv_t2, extv_reg, extzv_t2): Likewise.
2946         (load_multiple_with_writeback): Similarly for const_int_I_operand.
2947         (pop_multiple_with_writeback_and_return): Likewise.
2948         (vfp_pop_multiple_with_writeback): Likewise
2949
2950 2014-04-04  Richard Biener  <rguenther@suse.de>
2951
2952         PR ipa/60746
2953         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
2954         * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
2955         non-GIMPLE_LABELs.
2956         * gimplify.h (gimple_add_tmp_var_fn): Declare.
2957         * gimplify.c (gimple_add_tmp_var_fn): New function.
2958         * gimple-expr.h (create_tmp_reg_fn): Declare.
2959         * gimple-expr.c (create_tmp_reg_fn): New function.
2960         * gimple-low.c (record_vars_into): Don't change cfun.
2961         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
2962         code generation without cfun.
2963
2964 2014-04-04  Thomas Schwinge  <thomas@codesourcery.com>
2965
2966         PR bootstrap/60719
2967         * Makefile.in (install-driver): Fix shell scripting.
2968
2969 2014-04-03  Cong Hou  <congh@google.com>
2970
2971         PR tree-optimization/60505
2972         * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
2973         threshold of number of iterations below which no vectorization
2974         will be done.
2975         * tree-vect-loop.c (new_loop_vec_info):
2976         Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
2977         * tree-vect-loop.c (vect_analyze_loop_operations):
2978         Set LOOP_VINFO_COST_MODEL_THRESHOLD.
2979         * tree-vect-loop.c (vect_transform_loop):
2980         Use LOOP_VINFO_COST_MODEL_THRESHOLD.
2981         * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
2982         of iterations of the loop and see if we should build the epilogue.
2983
2984 2014-04-03  Richard Biener  <rguenther@suse.de>
2985
2986         * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
2987         (streamer_tree_cache_create): Adjust.
2988         * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
2989         to allow optional nodes array.
2990         (streamer_tree_cache_insert_1): Use next_idx to assign idx.
2991         (streamer_tree_cache_append): Likewise.
2992         (streamer_tree_cache_create): Create nodes array optionally
2993         as specified by parameter.
2994         * lto-streamer-out.c (create_output_block): Avoid maintaining
2995         the node array in the writer cache.
2996         (DFS_write_tree): Remove assertion.
2997         (produce_asm_for_decls): Free the out decl state hash table early.
2998         * lto-streamer-in.c (lto_data_in_create): Adjust for
2999         streamer_tree_cache_create prototype change.
3000
3001 2014-04-03  Richard Biener  <rguenther@suse.de>
3002
3003         * tree-streamer-out.c (streamer_write_chain): Do not temporarily
3004         set TREE_CHAIN to NULL_TREE.
3005
3006 2014-04-03  Richard Biener  <rguenther@suse.de>
3007
3008         PR tree-optimization/60740
3009         * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
3010         over all GIMPLE_COND operands.
3011
3012 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
3013
3014         * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
3015         (Weffc++): Remove Scott's numbering, merge lists and reference
3016         Wnon-virtual-dtor.
3017
3018 2014-04-03  Nick Clifton  <nickc@redhat.com>
3019
3020         * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
3021         properly.
3022
3023 2014-04-03  Martin Jambor  <mjambor@suse.cz>
3024
3025         * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
3026         mention gcc_unreachable before failing.
3027         * ipa.c (symtab_remove_unreachable_nodes): Also print order of
3028         removed symbols.
3029
3030 2014-04-02  Jan Hubicka  <hubicka@ucw.cz>
3031
3032         PR ipa/60659
3033         * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
3034         inconsistent code and instead mark the context inconsistent.
3035         (possible_polymorphic_call_targets): For inconsistent contexts
3036         return empty complete list.
3037
3038 2014-04-02  Anthony Green  <green@moxielogic.com>
3039
3040         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
3041         (extendqisi2, extendhisi2): Define.
3042         * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
3043         (WCHAR_TYPE): Change to unsigned int.
3044
3045 2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3046
3047         PR tree-optimization/60733
3048         * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
3049         insertion point for PHI candidates to be the end of the feeding
3050         block for the PHI argument.
3051
3052 2014-04-02  Vladimir Makarov  <vmakarov@redhat.com>
3053
3054         PR rtl-optimization/60650
3055         * lra-constraints.c (process_alt_operands): Decrease reject for
3056         earlyclobber matching.
3057
3058 2014-04-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3059
3060         * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
3061
3062 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3063
3064         * config/spu/spu.c (pad_bb): Do not crash when the last
3065         insn is CODE_FOR_blockage.
3066
3067 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3068
3069         * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
3070         lies outside the target mode.
3071
3072 2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
3073
3074         PR target/60735
3075         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
3076         software floating point or no floating point registers, do not
3077         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
3078         in GPRs that occurs after we tested for GPRs that would never be
3079         true.
3080
3081         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
3082         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
3083         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
3084         specifically allow DDmode, since that does not use the SPE SIMD
3085         instructions.
3086
3087 2014-04-02  Richard Biener  <rguenther@suse.de>
3088
3089         PR middle-end/60729
3090         * optabs.c (expand_abs_nojump): Honor flag_trapv only for
3091         MODE_INTs.  Properly use negv_optab.
3092         (expand_abs): Likewise.
3093
3094 2014-04-02  Richard Biener  <rguenther@suse.de>
3095
3096         PR bootstrap/60719
3097         * Makefile.in (install-driver): Guard extra installs with special
3098         names properly.
3099
3100 2014-04-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
3101
3102         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3103         Document vec_vgbbd.
3104
3105 2014-04-01  Richard Henderson  <rth@redhat.com>
3106
3107         PR target/60704
3108         * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
3109         alternative enabled before register allocation.
3110
3111 2014-04-01  Chung-Lin Tang  <cltang@codesourcery.com>
3112
3113         * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
3114         * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
3115         typo.
3116         (nios2_large_got_address): Remove unneeded 'sym' parameter.
3117         (nios2_got_address): Update nios2_large_got_address call site.
3118         (nios2_delegitimize_address): New function.
3119         (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
3120         * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
3121         (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
3122
3123 2014-04-01  Martin Husemann  <martin@duskware.de>
3124
3125         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
3126         for -mabi=32.
3127
3128 2014-04-01  Richard Sandiford  <rdsandiford@googlemail.com>
3129
3130         PR rtl-optimization/60604
3131         * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
3132         check from register_operand.
3133         (register_operand): Redefine in terms of general_operand.
3134         (nonmemory_operand): Use register_operand for the non-constant cases.
3135
3136 2014-04-01  Richard Biener  <rguenther@suse.de>
3137
3138         * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
3139
3140 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3141
3142         * doc/invoke.texi (mapp-regs): Clarify.
3143
3144 2014-03-31  Ulrich Drepper  <drepper@gmail.com>
3145
3146         * config/i386/avx512fintrin.h (__v32hi): Define type.
3147         (__v64qi): Likewise.
3148         (_mm512_set1_epi8): Define.
3149         (_mm512_set1_epi16): Define.
3150         (_mm512_set4_epi32): Define.
3151         (_mm512_set4_epi64): Define.
3152         (_mm512_set4_pd): Define.
3153         (_mm512_set4_ps): Define.
3154         (_mm512_setr4_epi64): Define.
3155         (_mm512_setr4_epi32): Define.
3156         (_mm512_setr4_pd): Define.
3157         (_mm512_setr4_ps): Define.
3158         (_mm512_setzero_epi32): Define.
3159
3160 2014-03-31  Martin Jambor  <mjambor@suse.cz>
3161
3162         PR middle-end/60647
3163         * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
3164         callsite_arguments_match_p.  Updated all callers.  Also check types of
3165         corresponding formal parameters and actual arguments.
3166         (not_all_callers_have_enough_arguments_p) Renamed to
3167         some_callers_have_mismatched_arguments_p.
3168
3169 2014-03-31  Yuri Rumyantsev  <ysrumyan@gmail.com>
3170
3171         * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
3172
3173 2014-03-31  Kugan Vivekanandarajah  <kuganv@linaro.org>
3174
3175         PR target/60034
3176         * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
3177         section anchor.
3178
3179 2014-03-30  Uros Bizjak  <ubizjak@gmail.com>
3180
3181         * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
3182         (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
3183         Split out
3184         <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
3185         Use FMAMODE_NOVF512 mode iterator.
3186         (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
3187         (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
3188         (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
3189         (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
3190         Split out
3191         <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
3192         Use VF_128_256 mode iterator.
3193         (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
3194         Ditto.
3195
3196 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
3197
3198         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
3199         static chain if needed.
3200
3201 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
3202
3203         PR target/60697
3204         * lra-constraints.c (index_part_to_reg): New.
3205         (process_address): Use it.
3206
3207 2014-03-27  Jeff Law  <law@redhat.com>
3208             Jakub Jelinek  <jakub@redhat.com>
3209
3210         PR target/60648
3211         * expr.c (do_tablejump): Use simplify_gen_binary rather than
3212         gen_rtx_{PLUS,MULT} to build up the address expression.
3213
3214         * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
3215         creating non-canonical RTL.
3216
3217 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
3218
3219         PR ipa/60243
3220         * ipa-inline.c (want_inline_small_function_p): Short circuit large
3221         functions; reorganize to make cheap checks first.
3222         (inline_small_functions): Do not estimate growth when dumping;
3223         it is expensive.
3224         * ipa-inline.h (inline_summary): Add min_size.
3225         (growth_likely_positive): New function.
3226         * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
3227         (set_cond_stmt_execution_predicate): Cleanup.
3228         (estimate_edge_size_and_time): Compute min_size.
3229         (estimate_calls_size_and_time): Likewise.
3230         (estimate_node_size_and_time): Likewise.
3231         (inline_update_overall_summary): Update min_size.
3232         (do_estimate_edge_time): Likewise.
3233         (do_estimate_edge_size): Update.
3234         (do_estimate_edge_hints): Update.
3235         (growth_likely_positive): New function.
3236
3237 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
3238
3239         PR target/60693
3240         * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
3241         also if addr has VOIDmode.
3242
3243 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3244
3245         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
3246         * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
3247         Declare extern.
3248         * config/arm/cortex-a53.md: Add reservations and bypass for crypto
3249         instructions as well as AdvancedSIMD loads.
3250
3251 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3252
3253         * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
3254         Use crypto_aese type.
3255         (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
3256         * config/arm/arm.md (is_neon_type): Replace crypto_aes with
3257         crypto_aese, crypto_aesmc.  Move to types.md.
3258         * config/arm/types.md (crypto_aes): Split into crypto_aese,
3259         crypto_aesmc.
3260         * config/arm/iterators.md (crypto_type): Likewise.
3261
3262 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
3263
3264         * cgraph.c: Include expr.h and tree-dfa.h.
3265         (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
3266         remove LHS.
3267
3268 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
3269
3270         PR target/60675
3271         * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
3272         regs from checking multi-reg pseudos.
3273
3274 2014-03-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3275
3276         * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
3277
3278 2014-03-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3279
3280         * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
3281         if it would clobber the stack pointer, even temporarily.
3282
3283 2014-03-28  Eric Botcazou  <ebotcazou@adacore.com>
3284
3285         * mode-switching.c: Make small adjustments to the top comment.
3286
3287 2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
3288
3289         * config/rs6000/constraints.md (wD constraint): New constraint to
3290         match the constant integer to get the top DImode/DFmode out of a
3291         vector in a VSX register.
3292
3293         * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
3294         match the constant integer to get the top DImode/DFmode out of a
3295         vector in a VSX register.
3296
3297         * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
3298         for ISA 2.07.
3299
3300         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3301         vbpermq builtins.
3302
3303         * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
3304         -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
3305
3306         * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
3307         Optimize vec_extract of 64-bit values, where the value being
3308         extracted is in the top word, where we can use scalar
3309         instructions.  Add direct move and store support.  Combine the big
3310         endian/little endian vector select load support into a single insn.
3311         (vsx_extract_<mode>_internal1): Likewise.
3312         (vsx_extract_<mode>_internal2): Likewise.
3313         (vsx_extract_<mode>_load): Likewise.
3314         (vsx_extract_<mode>_store): Likewise.
3315         (vsx_extract_<mode>_zero): Delete, big and little endian insns are
3316         combined into vsx_extract_<mode>_load.
3317         (vsx_extract_<mode>_one_le): Likewise.
3318
3319         * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
3320         define the top 64-bit vector element.
3321
3322         * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
3323         constraint.
3324
3325         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3326         Document vec_vbpermq builtin.
3327
3328         PR target/60672
3329         * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
3330         enable use of xxsldwi and xxpermdi builtin functions.
3331         (vec_xxpermdi): Likewise.
3332
3333         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3334         Document use of vec_xxsldwi and vec_xxpermdi builtins.
3335
3336 2014-03-27  Vladimir Makarov  <vmakarov@redhat.com>
3337
3338         PR rtl-optimization/60650
3339         * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
3340         first_p.  Use it.
3341         (find_spills_for): New.
3342         (assign_by_spills): Pass the new parameter to find_hard_regno_for.
3343         Spill all pseudos on the second iteration.
3344
3345 2014-03-27  Marek Polacek  <polacek@redhat.com>
3346
3347         PR c/50347
3348         * doc/extend.texi (ffs Builtins): Change unsigned types to signed
3349         types.
3350
3351 2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3352
3353         * config/s390/s390.c (s390_can_use_return_insn): Check for
3354         call-saved FPRs on 31 bit.
3355
3356 2014-03-27  Jakub Jelinek  <jakub@redhat.com>
3357
3358         PR middle-end/60682
3359         * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
3360         if they need regimplification, just drop them instead of
3361         calling gimple_regimplify_operands on them.
3362
3363 2014-03-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
3364
3365         PR target/60580
3366         * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
3367         (aarch64_frame_pointer_required): Adjust logic.
3368         (aarch64_can_eliminate): Adjust logic.
3369         (aarch64_override_options_after_change): Adjust logic.
3370
3371 2014-03-27  Dehao Chen  <dehao@google.com>
3372
3373         * ipa-inline.c (early_inliner): Update node's inline info.
3374
3375 2014-03-26  Dehao Chen  <dehao@google.com>
3376
3377         * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
3378         compiler inserted conditional jumps for NAN float check.
3379
3380 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
3381
3382         * ubsan.h (ubsan_create_data): Change second argument's type
3383         to const location_t *.
3384         * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
3385         _("<unknown>").
3386         (ubsan_create_data): Change second argument to const location_t *PLOC.
3387         Create Loc field whenever PLOC is non-NULL.
3388         (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
3389         ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
3390         callers.
3391
3392         PR other/59545
3393         * real.c (real_to_integer2): Change type of low to UHWI.
3394
3395 2014-03-26  Tobias Burnus  <burnus@net-b.de>
3396
3397         * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
3398         (CILK_SELF_SPECS): New define.
3399         (driver_self_specs): Use it.
3400
3401 2014-03-26  Richard Biener  <rguenther@suse.de>
3402
3403         * tree-pretty-print.c (percent_K_format): Implement special
3404         case for LTO and its stripped down BLOCK tree.
3405
3406 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
3407
3408         PR sanitizer/60636
3409         * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
3410
3411         * tree-vrp.c (simplify_internal_call_using_ranges): If only
3412         one range is range_int_cst_p, but not both, at least optimize
3413         addition/subtraction of 0 and multiplication by 0 or 1.
3414         * gimple-fold.c (gimple_fold_call): Fold
3415         IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
3416         (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
3417         INTEGER_CSTs, try to fold at least x * 0 and y - y.
3418
3419 2014-03-26  Eric Botcazou  <ebotcazou@adacore.com>
3420
3421         PR rtl-optimization/60452
3422         * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
3423         <case REG>: Return 1 for invalid offsets from the frame pointer.
3424
3425 2014-03-26  Marek Polacek  <polacek@redhat.com>
3426
3427         PR c/37428
3428         * doc/extend.texi (C Extensions): Mention variable-length arrays in
3429         a structure/union.
3430
3431 2014-03-26  Marek Polacek  <polacek@redhat.com>
3432
3433         PR c/39525
3434         * doc/extend.texi (Designated Inits): Describe what happens to omitted
3435         field members.
3436
3437 2014-03-26  Marek Polacek  <polacek@redhat.com>
3438
3439         PR other/59545
3440         * ira-color.c (update_conflict_hard_regno_costs): Perform the
3441         multiplication in unsigned type.
3442
3443 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
3444
3445         * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
3446
3447 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
3448
3449         * doc/contrib.texi: Add myself as Andes nds32 port contributor.
3450
3451 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
3452
3453         PR ipa/60315
3454         * cif-code.def (UNREACHABLE) New code.
3455         * ipa-inline.c (inline_small_functions): Skip edges to
3456         __builtlin_unreachable.
3457         (estimate_edge_growth): Allow edges to __builtlin_unreachable.
3458         * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
3459         predicate to __bulitin_unreachable.
3460         (set_cond_stmt_execution_predicate): Fix issue when
3461         invert_tree_comparison returns ERROR_MARK.
3462         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
3463         propagate to inline clones.
3464         * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
3465         to unreachable.
3466         * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
3467         * cgraphclones.c (cgraph_clone_node): If call destination is already
3468         ureachable, do not redirect it back.
3469         * tree-inline.c (fold_marked_statements): Hanlde calls becoming
3470         unreachable.
3471
3472 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
3473
3474         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
3475         Do not modify inline clones.
3476
3477 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
3478
3479         * config/i386/i386.md (general_sext_operand): New mode attr.
3480         (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
3481         don't generate (sign_extend (const_int)).
3482         (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
3483         operands[2].  Use We constraint instead of <i> and
3484         <general_sext_operand> predicate instead of <general_operand>.
3485         (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
3486         * config/i386/constraints.md (We): New constraint.
3487         * config/i386/predicates.md (x86_64_sext_operand,
3488         sext_operand): New predicates.
3489
3490 2014-03-25  Martin Jambor  <mjambor@suse.cz>
3491
3492         PR ipa/60600
3493         * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
3494         inconsistent devirtualizations to __builtin_unreachable.
3495
3496 2014-03-25  Marek Polacek  <polacek@redhat.com>
3497
3498         PR c/35449
3499         * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
3500
3501 2014-03-25  Alan Lawrence  <alan.lawrence@arm.com>
3502
3503         * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
3504         order of elements for big-endian.
3505
3506 2014-03-25  Richard Biener  <rguenther@suse.de>
3507
3508         PR middle-end/60635
3509         * gimplify-me.c (gimple_regimplify_operands): Update the
3510         re-gimplifed stmt.
3511
3512 2014-03-25  Martin Jambor  <mjambor@suse.cz>
3513
3514         PR ipa/59176
3515         * lto-cgraph.c (lto_output_node): Stream body_removed flag.
3516         (lto_output_varpool_node): Likewise.
3517         (input_overwrite_node): Likewise.
3518         (input_varpool_node): Likewise.
3519
3520 2014-03-25  Richard Biener  <rguenther@suse.de>
3521
3522         * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
3523         (run_gcc): Likewise.
3524
3525 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
3526
3527         * combine.c (simplify_compare_const): Add MODE argument.
3528         Handle mode_width 0 as very large mode_width.
3529         (try_combine, simplify_comparison): Adjust callers.
3530
3531         * cselib.c (cselib_hash_rtx): Perform addition in unsigned
3532         type to avoid signed integer overflow.
3533         * explow.c (plus_constant): Likewise.
3534
3535 2014-03-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3536
3537         * doc/generic.texi: Correct typos.
3538
3539 2014-03-24  Tobias Burnus  <burnus@net-b.de>
3540
3541         * doc/invoke.texi (-flto): Expand section about
3542         using static libraries with LTO.
3543
3544 2014-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3545
3546         PR rtl-optimization/60501
3547         * optabs.def (addptr3_optab): New optab.
3548         * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
3549         * doc/md.texi ("addptrm3"): Document new RTL standard expander.
3550         * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
3551
3552         * lra.c (emit_add3_insn): Use the addptr pattern if available.
3553
3554         * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
3555
3556 2014-03-24  Ulrich Drepper  <drepper@gmail.com>
3557
3558         * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
3559         _mm512_set1_pd.
3560
3561         * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
3562         (_mm256_undefined_ps): Define.
3563         (_mm256_undefined_pd): Define.
3564         * config/i386/emmintrin.h (_mm_undefined_si128): Define.
3565         (_mm_undefined_pd): Define.
3566         * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
3567         * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
3568         (_mm512_undefined_ps): Define.
3569         (_mm512_undefined_pd): Define.
3570         Use _mm*_undefined_*.
3571         * config/i386/avx2intrin.h: Use _mm*_undefined_*.
3572
3573 2014-03-24  Alex Velenko  <Alex.Velenko@arm.com>
3574
3575         * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
3576         (lshr_simd): DI mode added.
3577         * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
3578         (aarch64_ushr_simddi): Likewise.
3579         * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
3580         * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
3581         (vshrd_n_u64): Likewise.
3582
3583 2014-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3584
3585         * Makefile.in (s-macro_list): Depend on cc1.
3586
3587 2014-03-23  Teresa Johnson  <tejohnson@google.com>
3588
3589         * ipa-utils.c (ipa_print_order): Use specified dump file.
3590
3591 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
3592
3593         PR rtl-optimization/60601
3594         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
3595
3596         * gcc.c (eval_spec_function): Initialize save_growing_value.
3597
3598 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
3599
3600         PR sanitizer/60613
3601         * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
3602         code == MINUS_EXPR, never swap op0 with op1.
3603
3604         * toplev.c (init_local_tick): Avoid signed integer multiplication
3605         overflow.
3606         * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
3607         shift by first operand's bitsize.
3608
3609 2014-03-21  Jakub Jelinek  <jakub@redhat.com>
3610
3611         PR target/60610
3612         * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
3613         redefine to 1 or 0.
3614         * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
3615         TARGET_ISA_64BIT_P(x).
3616
3617 2014-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3618
3619         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
3620         pattern for vector nor instead of subtract from splat(-1).
3621         (altivec_expand_vec_perm_const_le): Likewise.
3622
3623 2014-03-21  Richard Henderson  <rth@twiddle.net>
3624
3625         PR target/60598
3626         * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
3627         related insns after epilogue_completed.
3628
3629 2014-03-21  Martin Jambor  <mjambor@suse.cz>
3630
3631         PR ipa/59176
3632         * cgraph.h (symtab_node): New flag body_removed.
3633         * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
3634         when removing bodies.
3635         * symtab.c (dump_symtab_base): Dump body_removed flag.
3636         * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
3637         had their bodies removed.
3638
3639 2014-03-21  Martin Jambor  <mjambor@suse.cz>
3640
3641         PR ipa/60419
3642         * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
3643         in the border.
3644
3645 2014-03-21  Richard Biener  <rguenther@suse.de>
3646
3647         PR tree-optimization/60577
3648         * tree-core.h (struct tree_base): Document nothrow_flag use
3649         in VAR_DECL_NONALIASED.
3650         * tree.h (VAR_DECL_NONALIASED): New.
3651         (may_be_aliased): Adjust.
3652         * coverage.c (build_var): Set VAR_DECL_NONALIASED.
3653
3654 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
3655
3656         * expr.c (expand_expr_real_1): Remove outdated comment.
3657
3658 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
3659
3660         PR middle-end/60597
3661         * ira.c (adjust_cleared_regs): Call copy_rtx on
3662         *reg_equiv[REGNO (loc)].src_p before passing it to
3663         simplify_replace_fn_rtx.
3664
3665         PR target/60568
3666         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
3667         into CONST, put pic register as first operand of PLUS.  Use
3668         gen_const_mem for both 32-bit and 64-bit PIC got loads.
3669
3670 2014-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3671
3672         * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
3673
3674 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
3675
3676         * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
3677         around for store forwarding issue in the FPU on the UT699.
3678         * config/sparc/sparc.md (in_branch_delay): Return false for single FP
3679         loads and operations if -mfix-ut699 is specified.
3680         (divtf3_hq): Tweak attribute.
3681         (sqrttf2_hq): Likewise.
3682
3683 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
3684
3685         * calls.c (store_one_arg): Remove incorrect const qualification on the
3686         type of the temporary.
3687         * cfgexpand.c (expand_return): Likewise.
3688         * expr.c (expand_constructor): Likewise.
3689         (expand_expr_real_1): Likewise.
3690
3691 2014-03-20  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
3692
3693         * config/arm/arm.c (arm_dwarf_register_span): Update the element number
3694         of parts.
3695
3696 2014-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3697
3698         PR target/60039
3699         * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
3700
3701 2014-03-19  James Greenhalgh  <james.greenhalgh@arm.com>
3702
3703         * config/arm/aarch-common-protos.h
3704         (alu_cost_table): Fix spelling of "extend".
3705         * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
3706
3707 2014-03-19  Richard Biener  <rguenther@suse.de>
3708
3709         PR middle-end/60553
3710         * tree-core.h (tree_type_common): Re-order pointer members
3711         to reduce recursion depth during GC walks.
3712
3713 2014-03-19  Marek Polacek  <polacek@redhat.com>
3714
3715         PR sanitizer/60569
3716         * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
3717         before accessing it.
3718
3719 2014-03-19  Richard Biener  <rguenther@suse.de>
3720
3721         PR lto/59543
3722         * lto-streamer-in.c (input_function): In WPA stage do not drop
3723         debug stmts.
3724
3725 2014-03-19  Jakub Jelinek  <jakub@redhat.com>
3726
3727         PR tree-optimization/60559
3728         * vectorizable_mask_load_store): Replace scalar MASK_LOAD
3729         with build_zero_cst assignment.
3730
3731 2014-03-18  Kai Tietz  <ktietz@redhat.com>
3732
3733         PR rtl-optimization/56356
3734         * sdbout.c (sdbout_parms): Verify that parms'
3735         incoming argument is valid.
3736         (sdbout_reg_parms): Likewise.
3737
3738 2014-03-18  Richard Henderson  <rth@redhat.com>
3739
3740         PR target/60562
3741         * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
3742         be shadowed by *float<SWI48><MODEF>2_sse.  Test X87_ENABLE_FLOAT.
3743         (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
3744
3745 2014-03-18  Basile Starynkevitch  <basile@starynkevitch.net>
3746
3747         * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
3748         * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
3749         Italicize plugin event names in description.  Explain that
3750         PLUGIN_PRAGMAS has no sense for lto1.  Explain PLUGIN_INCLUDE_FILE.
3751         Remind that no GCC functions should be called after PLUGIN_FINISH.
3752         Explain what pragmas with expansion are.
3753
3754 2014-03-18  Martin Liska  <mliska@suse.cz>
3755
3756         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
3757         gimple call statement is update.
3758         * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
3759         GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
3760
3761 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
3762
3763         PR sanitizer/60557
3764         * ubsan.c (ubsan_instrument_unreachable): Call
3765         initialize_sanitizer_builtins.
3766         (ubsan_pass): Likewise.
3767
3768         PR sanitizer/60535
3769         * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
3770         varpool_finalize_decl instead of rest_of_decl_compilation.
3771
3772 2014-03-18  Richard Biener  <rguenther@suse.de>
3773
3774         * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
3775         by using bitmap_and_compl instead of bitmap_and_compl_into.
3776         (df_rd_transfer_function): Likewise.
3777
3778 2014-03-18  Richard Biener  <rguenther@suse.de>
3779
3780         * doc/lto.texi (fresolution): Fix typo.
3781
3782 2014-03-18  Richard Biener  <rguenther@suse.de>
3783
3784         * doc/invoke.texi (flto): Update for changes in 4.9.
3785
3786 2014-03-18  Richard Biener  <rguenther@suse.de>
3787
3788         * doc/loop.texi: Remove section on the removed lambda framework.
3789         Update loop docs with recent changes in preserving loop structure.
3790
3791 2014-03-18  Richard Biener  <rguenther@suse.de>
3792
3793         * doc/lto.texi (-fresolution): Document.
3794
3795 2014-03-18  Richard Biener  <rguenther@suse.de>
3796
3797         * doc/contrib.texi: Adjust my name.
3798
3799 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
3800
3801         PR ipa/58721
3802         * internal-fn.c: Include diagnostic-core.h.
3803         (expand_BUILTIN_EXPECT): New function.
3804         * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
3805         (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
3806         IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
3807         * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
3808         IFN_BUILTIN_EXPECT.
3809         * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
3810         Revert 3 argument __builtin_expect code.
3811         (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
3812         * gimple-fold.c (gimple_fold_call): Likewise.
3813         * tree.h (fold_builtin_expect): New prototype.
3814         * builtins.c (build_builtin_expect_predicate): Add predictor
3815         argument, if non-NULL, create 3 argument __builtin_expect.
3816         (fold_builtin_expect): No longer static.  Add ARG2 argument,
3817         pass it through to build_builtin_expect_predicate.
3818         (fold_builtin_2): Adjust caller.
3819         (fold_builtin_3): Handle BUILT_IN_EXPECT.
3820         * internal-fn.def (BUILTIN_EXPECT): New.
3821
3822 2014-03-18  Tobias Burnus  <burnus@net-b.de>
3823
3824         PR ipa/58721
3825         * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
3826         PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
3827         PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
3828
3829 2014-03-18  Jan Hubicka  <hubicka@ucw.cz>
3830
3831         PR ipa/58721
3832         * predict.c (combine_predictions_for_bb): Fix up formatting.
3833         (expr_expected_value_1, expr_expected_value): Add predictor argument,
3834         fill what it points to if non-NULL.
3835         (tree_predict_by_opcode): Adjust caller, use the predictor.
3836         * predict.def (PRED_COMPARE_AND_SWAP): Add.
3837
3838 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
3839
3840         * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
3841         proper constant for the store mode.
3842
3843 2014-03-18  Ilya Enkovich  <ilya.enkovich@intel.com>
3844
3845         * symtab.c (change_decl_assembler_name): Fix transparent alias
3846         chain construction.
3847
3848 2014-03-16  Renlin Li  <Renlin.Li@arm.com>
3849
3850         * config/aarch64/aarch64.c: Correct the comments about the
3851         aarch64 stack layout.
3852
3853 2014-03-18  Thomas Schwinge  <thomas@codesourcery.com>
3854
3855         * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
3856         check for GF_OMP_FOR_KIND_FOR.
3857
3858 2013-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
3859
3860         * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
3861         ymm and zmm register names.
3862
3863 2014-03-17  Jakub Jelinek  <jakub@redhat.com>
3864
3865         PR target/60516
3866         * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
3867         note creation for the 2010-08-31 changes.
3868
3869 2014-03-17  Marek Polacek  <polacek@redhat.com>
3870
3871         PR middle-end/60534
3872         * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
3873         as -fno-tree-loop-vectorize.
3874         (expand_omp_simd): Likewise.
3875
3876 2014-03-15  Eric Botcazou  <ebotcazou@adacore.com>
3877
3878         * config/sparc/sparc-protos.h (tls_call_delay): Delete.
3879         (eligible_for_call_delay): New prototype.
3880         * config/sparc/sparc.c (tls_call_delay): Rename into...
3881         (eligible_for_call_delay): ...this.  Return false if the instruction
3882         cannot be put in the delay slot of a branch.
3883         (eligible_for_restore_insn): Simplify.
3884         (eligible_for_return_delay): Return false if the instruction cannot be
3885         put in the delay slot of a branch and simplify.
3886         (eligible_for_sibcall_delay): Return false if the instruction cannot be
3887         put in the delay slot of a branch.
3888         * config/sparc/sparc.md (fix_ut699): New attribute.
3889         (tls_call_delay): Delete.
3890         (in_call_delay): Reimplement.
3891         (eligible_for_sibcall_delay): Rename into...
3892         (in_sibcall_delay): ...this.
3893         (eligible_for_return_delay): Rename into...
3894         (in_return_delay): ...this.
3895         (in_branch_delay): Reimplement.
3896         (in_uncond_branch_delay): Delete.
3897         (in_annul_branch_delay): Delete.
3898
3899 2014-03-14  Richard Henderson  <rth@redhat.com>
3900
3901         PR target/60525
3902         * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
3903         define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
3904         (*floathi<X87MODEF>2_i387_with_temp): Remove.
3905         (floathi splitters): Remove.
3906         (float<SWI48x>xf2): New pattern.
3907         (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2.  Drop
3908         code that tried to handle DImode for 32-bit, but which was excluded
3909         by the pattern's condition.  Drop allocation of stack temporary.
3910         (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
3911         (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
3912         (*float<SWI48><MODEF>2_mixed_interunit): Remove.
3913         (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
3914         (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
3915         (*float<SWI48><MODEF>2_sse_with_temp): Remove.
3916         (*float<SWI48><MODEF>2_sse_interunit): Remove.
3917         (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
3918         (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
3919         (*float<SWI48x><X87MODEF>2_i387): Remove.
3920         (all float _with_temp splitters): Remove.
3921         (*float<SWI48x><MODEF>2_i387): New pattern.
3922         (*float<SWI48><MODEF>2_sse): New pattern.
3923         (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
3924         (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
3925
3926 2014-03-14  Jakub Jelinek  <jakub@redhat.com>
3927             Marek Polacek  <polacek@redhat.com>
3928
3929         PR middle-end/60484
3930         * common.opt (dump_base_name_prefixed): New Variable.
3931         * opts.c (finish_options): Don't prepend directory to x_dump_base_name
3932         if x_dump_base_name_prefixed is already set, set it at the end.
3933
3934 2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>
3935
3936         PR rtl-optimization/60508
3937         * lra-constraints.c (get_reload_reg): Add new parameter
3938         in_subreg_p.
3939         (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
3940         Pass the new parameter values.
3941
3942 2014-03-14  Richard Biener  <rguenther@suse.de>
3943
3944         * common.opt: Revert unintented changes from r205065.
3945         * opts.c: Likewise.
3946
3947 2014-03-14  Richard Biener  <rguenther@suse.de>
3948
3949         PR middle-end/60518
3950         * cfghooks.c (split_block): Properly adjust all loops the
3951         block was a latch of.
3952
3953 2014-03-14  Martin Jambor  <mjambor@suse.cz>
3954
3955         PR lto/60461
3956         * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
3957         and simplify it.
3958
3959 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
3960
3961         PR target/59396
3962         * config/avr/avr.c (avr_set_current_function): Pass function name
3963         through default_strip_name_encoding before sanity checking instead
3964         of skipping the first char of the assembler name.
3965
3966 2014-03-13  Richard Henderson  <rth@redhat.com>
3967
3968         PR debug/60438
3969         * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
3970         (ix86_force_to_memory, ix86_free_from_memory): Remove.
3971         * config/i386/i386-protos.h: Likewise.
3972         * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
3973         in the expander instead of a splitter.
3974         (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
3975         any possibility of requiring a memory.
3976         (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
3977         (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
3978         (fp branch splitters): Update for ix86_split_fp_branch.
3979         (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
3980         (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
3981         (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
3982         (*fop_<MODEF>_2_i387): Remove f/r alternative.
3983         (*fop_<MODEF>_3_i387): Likewise.
3984         (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
3985         (splitters for the fop_* register patterns): Remove.
3986         (fscalexf4_i387): Rename from *fscalexf4_i387.
3987         (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
3988
3989 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
3990
3991         PR tree-optimization/59779
3992         * tree-dfa.c (get_ref_base_and_extent): Use double_int
3993         type for bitsize and maxsize instead of HOST_WIDE_INT.
3994
3995 2014-03-13  Steven Bosscher  <steven@gcc.gnu.org>
3996
3997         PR rtl-optimization/57320
3998         * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
3999         the CFG after thread_prologue_and_epilogue_insns.
4000
4001 2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>
4002
4003         PR rtl-optimization/57189
4004         * lra-constraints.c (process_alt_operands): Disfavor spilling
4005         vector pseudos.
4006
4007 2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>
4008
4009         * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
4010
4011 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
4012
4013         PR tree-optimization/59025
4014         PR middle-end/60418
4015         * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
4016         same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
4017
4018 2014-03-13  Georg-Johann Lay  <avr@gjlay.de>
4019
4020         PR target/60486
4021         * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
4022         calls of avr_out_plus_1.
4023
4024 2014-03-13  Bin Cheng  <bin.cheng@arm.com>
4025
4026         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
4027         BB's single pred and update the father loop's latch info later.
4028
4029 2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4030
4031         * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
4032         (VEC_M): Likewise.
4033         (VEC_N): Likewise.
4034         (VEC_R): Likewise.
4035         (VEC_base): Likewise.
4036         (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
4037         registers, we need to swap double words in little endian mode.
4038
4039         * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
4040         to be a container mode for 128-bit integer operations added in ISA
4041         2.07.  Unlike TImode and PTImode, the preferred register set is
4042         the Altivec/VMX registers for the 128-bit operations.
4043
4044         * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
4045         declarations.
4046         (rs6000_split_128bit_ok_p): Likewise.
4047
4048         * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
4049         macros for creating ISA 2.07 normal and overloaded builtin
4050         functions with 3 arguments.
4051         (BU_P8V_OVERLOAD_3): Likewise.
4052         (VPERM_1T): Add support for V1TImode in 128-bit vector operations
4053         for use as overloaded functions.
4054         (VPERM_1TI_UNS): Likewise.
4055         (VSEL_1TI): Likewise.
4056         (VSEL_1TI_UNS): Likewise.
4057         (ST_INTERNAL_1ti): Likewise.
4058         (LD_INTERNAL_1ti): Likewise.
4059         (XXSEL_1TI): Likewise.
4060         (XXSEL_1TI_UNS): Likewise.
4061         (VPERM_1TI): Likewise.
4062         (VPERM_1TI_UNS): Likewise.
4063         (XXPERMDI_1TI): Likewise.
4064         (SET_1TI): Likewise.
4065         (LXVD2X_V1TI): Likewise.
4066         (STXVD2X_V1TI): Likewise.
4067         (VEC_INIT_V1TI): Likewise.
4068         (VEC_SET_V1TI): Likewise.
4069         (VEC_EXT_V1TI): Likewise.
4070         (EQV_V1TI): Likewise.
4071         (NAND_V1TI): Likewise.
4072         (ORC_V1TI): Likewise.
4073         (VADDCUQ): Add support for 128-bit integer arithmetic instructions
4074         added in ISA 2.07.  Add both normal 'altivec' builtins, and the
4075         overloaded builtin.
4076         (VADDUQM): Likewise.
4077         (VSUBCUQ): Likewise.
4078         (VADDEUQM): Likewise.
4079         (VADDECUQ): Likewise.
4080         (VSUBEUQM): Likewise.
4081         (VSUBECUQ): Likewise.
4082
4083         * config/rs6000/rs6000-c.c (__int128_type): New static to hold
4084         __int128_t and __uint128_t types.
4085         (__uint128_type): Likewise.
4086         (altivec_categorize_keyword): Add support for vector __int128_t,
4087         vector __uint128_t, vector __int128, and vector unsigned __int128
4088         as a container type for TImode operations that need to be done in
4089         VSX/Altivec registers.
4090         (rs6000_macro_to_expand): Likewise.
4091         (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
4092         to support 128-bit integer instructions vaddcuq, vadduqm,
4093         vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
4094         (altivec_resolve_overloaded_builtin): Add support for V1TImode.
4095
4096         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
4097         for V1TImode, and set up preferences to use VSX/Altivec registers.
4098         Setup VSX reload handlers.
4099         (rs6000_debug_reg_global): Likewise.
4100         (rs6000_init_hard_regno_mode_ok): Likewise.
4101         (rs6000_preferred_simd_mode): Likewise.
4102         (vspltis_constant): Do not allow V1TImode as easy altivec constants.
4103         (easy_altivec_constant): Likewise.
4104         (output_vec_const_move): Likewise.
4105         (rs6000_expand_vector_set): Convert V1TImode set and extract to
4106         simple move.
4107         (rs6000_expand_vector_extract): Likewise.
4108         (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
4109         addressing.
4110         (rs6000_const_vec): Add support for V1TImode.
4111         (rs6000_emit_le_vsx_load): Swap double words when loading or
4112         storing TImode/V1TImode.
4113         (rs6000_emit_le_vsx_store): Likewise.
4114         (rs6000_emit_le_vsx_move): Likewise.
4115         (rs6000_emit_move): Add support for V1TImode.
4116         (altivec_expand_ld_builtin): Likewise.
4117         (altivec_expand_st_builtin): Likewise.
4118         (altivec_expand_vec_init_builtin): Likewise.
4119         (altivec_expand_builtin): Likewise.
4120         (rs6000_init_builtins): Add support for V1TImode type.  Add
4121         support for ISA 2.07 128-bit integer builtins.  Define type names
4122         for the VSX/Altivec vector types.
4123         (altivec_init_builtins): Add support for overloaded vector
4124         functions with V1TImode type.
4125         (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
4126         (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
4127         external function.
4128         (rs6000_split_128bit_ok_p): Likewise.
4129         (rs6000_handle_altivec_attribute): Create V1TImode from vector
4130         __int128_t and vector __uint128_t.
4131
4132         * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
4133         and mode attributes.
4134         (VSX_M): Likewise.
4135         (VSX_M2): Likewise.
4136         (VSm): Likewise.
4137         (VSs): Likewise.
4138         (VSr): Likewise.
4139         (VSv): Likewise.
4140         (VS_scalar): Likewise.
4141         (VS_double): Likewise.
4142         (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
4143
4144         * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
4145         we support the ISA 2.07 128-bit integer arithmetic instructions.
4146         (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
4147         (enum rs6000_builtin_type_index): Add fields to hold V1TImode
4148         and TImode types for use with the builtin functions.
4149         (V1TI_type_node): Likewise.
4150         (unsigned_V1TI_type_node): Likewise.
4151         (intTI_type_internal_node): Likewise.
4152         (uintTI_type_internal_node): Likewise.
4153
4154         * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
4155         128-bit builtin functions.
4156         (UNSPEC_VADDEUQM): Likewise.
4157         (UNSPEC_VADDECUQ): Likewise.
4158         (UNSPEC_VSUBCUQ): Likewise.
4159         (UNSPEC_VSUBEUQM): Likewise.
4160         (UNSPEC_VSUBECUQ): Likewise.
4161         (VM): Add V1TImode to vector mode iterators.
4162         (VM2): Likewise.
4163         (VI_unit): Likewise.
4164         (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
4165         (altivec_vaddcuq): Likewise.
4166         (altivec_vsubuqm): Likewise.
4167         (altivec_vsubcuq): Likewise.
4168         (altivec_vaddeuqm): Likewise.
4169         (altivec_vaddecuq): Likewise.
4170         (altivec_vsubeuqm): Likewise.
4171         (altivec_vsubecuq): Likewise.
4172
4173         * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
4174         mode iterators.
4175         (BOOL_128): Likewise.
4176         (BOOL_REGS_OUTPUT): Likewise.
4177         (BOOL_REGS_OP1): Likewise.
4178         (BOOL_REGS_OP2): Likewise.
4179         (BOOL_REGS_UNARY): Likewise.
4180         (BOOL_REGS_AND_CR0): Likewise.
4181
4182         * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
4183         128-bit integer builtin support.
4184         (vec_vadduqm): Likewise.
4185         (vec_vaddecuq): Likewise.
4186         (vec_vaddeuqm): Likewise.
4187         (vec_vsubecuq): Likewise.
4188         (vec_vsubeuqm): Likewise.
4189         (vec_vsubcuq): Likewise.
4190         (vec_vsubuqm): Likewise.
4191
4192         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4193         Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
4194         vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
4195         128-bit integer add/subtract to ISA 2.07.
4196
4197 2014-03-12  Joern Rennecke  <joern.rennecke@embecosm.com>
4198
4199         * config/arc/arc.c (arc_predicate_delay_insns):
4200         Fix third argument passed to conditionalize_nonjump.
4201
4202 2014-03-12  Yufeng Zhang  <yufeng.zhang@arm.com>
4203
4204         * config/aarch64/aarch64-builtins.c
4205         (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
4206         BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
4207         * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
4208         instead of __builtin_lfloor.
4209         (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
4210
4211 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
4212
4213         * tree-ssa-ifcombine.c (forwarder_block_to): New function.
4214         (tree_ssa_ifcombine_bb_1): New function.
4215         (tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
4216         is an empty forwarder block to then_bb or vice versa and then_bb
4217         and else_bb are effectively swapped.
4218
4219 2014-03-12  Christian Bruel  <christian.bruel@st.com>
4220
4221         PR target/60264
4222         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
4223         REG_CFA_DEF_CFA note.
4224         (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
4225         (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
4226
4227 2014-03-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4228
4229         PR tree-optimization/60454
4230         * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
4231
4232 2014-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4233
4234         * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
4235         Do not define target_cpu_default2 to generic.
4236         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
4237         * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
4238         * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
4239
4240 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
4241             Marc Glisse  <marc.glisse@inria.fr>
4242
4243         PR tree-optimization/60502
4244         * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
4245         instead of build_low_bits_mask.
4246
4247 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
4248
4249         PR middle-end/60482
4250         * tree-vrp.c (register_edge_assert_for_1): Don't add assert
4251         if there are multiple uses, but op doesn't live on E edge.
4252         * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
4253         clobber stmts before __builtin_unreachable.
4254
4255 2014-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
4256
4257         * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
4258         hard_frame_pointer_rtx.
4259         * cse.c (cse_insn): Remove volatile check.
4260         * cselib.c (cselib_process_insn): Likewise.
4261         * dse.c (scan_insn): Likewise.
4262
4263 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
4264
4265         * config/arc/arc.c (conditionalize_nonjump): New function,
4266         broken out of ...
4267         (arc_ifcvt): ... this.
4268         (arc_predicate_delay_insns): Use it.
4269
4270 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
4271
4272         * config/arc/predicates.md (extend_operand): During/after reload,
4273         allow const_int_operand.
4274         * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
4275         (umulsidi3_700): Likewise.  Change operand 2 constraint back to "cL".
4276         (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
4277         to "i".
4278         (umulsi3_highpart_i): Likewise.
4279
4280 2014-03-11  Richard Biener  <rguenther@suse.de>
4281
4282         * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
4283         Add asserts to guard possible wrong-code bugs.
4284
4285 2014-03-11  Richard Biener  <rguenther@suse.de>
4286
4287         PR tree-optimization/60429
4288         PR tree-optimization/60485
4289         * tree-ssa-structalias.c (set_union_with_increment): Properly
4290         take into account all fields that overlap the shifted vars.
4291         (do_sd_constraint): Likewise.
4292         (do_ds_constraint): Likewise.
4293         (get_constraint_for_ptr_offset): Likewise.
4294
4295 2014-03-11  Chung-Lin Tang  <cltang@codesourcery.com>
4296
4297         * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
4298         (nios2_compute_frame_layout):
4299         Add calculation of cfun->machine->fp_save_offset.
4300         (nios2_expand_prologue): Correct setting of frame pointer register
4301         in prologue.
4302         (nios2_expand_epilogue): Update recovery of stack pointer from
4303         frame pointer accordingly.
4304         (nios2_initial_elimination_offset): Update calculation of offset
4305         for eliminating to HARD_FRAME_POINTER_REGNUM.
4306
4307 2014-03-10  Jakub Jelinek  <jakub@redhat.com>
4308
4309         PR ipa/60457
4310         * ipa.c (symtab_remove_unreachable_nodes): Don't call
4311         cgraph_get_create_node on VAR_DECLs.
4312
4313 2014-03-10  Richard Biener  <rguenther@suse.de>
4314
4315         PR middle-end/60474
4316         * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
4317
4318 2014-03-08  Douglas B Rupp  <rupp@gnat.com>
4319
4320         * config/vms/vms.opt (vms_float_format): New variable.
4321
4322 2014-03-08  Tobias Burnus  <burnus@net-b.de>
4323
4324         * doc/invoke.texi (-fcilkplus): Update implementation status.
4325
4326 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
4327             Richard Biener  <rguenther@suse.de>
4328
4329         * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
4330         consistently accross all TUs.
4331         (run_gcc): Enable -fshort-double automatically at link at link-time
4332         and disallow override.
4333
4334 2014-03-08  Richard Sandiford  <rdsandiford@googlemail.com>
4335
4336         PR target/58271
4337         * config/mips/mips.c (mips_option_override): Promote -mpaired-single
4338         warning to an error.  Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
4339         if they can't be used.
4340
4341 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4342
4343         * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
4344         for Solaris 11/x86 ld.
4345         * configure: Regenerate.
4346
4347 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4348
4349         * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
4350         (LIB_TLS_SPEC): Save as ld_tls_libs.
4351         (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
4352         (HAVE_AS_IX86_TLSLDM): New test.
4353         * configure, config.in: Regenerate.
4354         * config/i386/i386.c (legitimize_tls_address): Fall back to
4355         TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
4356         cannot support TLS_MODEL_LOCAL_DYNAMIC.
4357         * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
4358         instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
4359
4360 2014-03-07  Paulo Matos  <paulo@matos-sorge.com>
4361
4362         * common.opt (fira-loop-pressure): Mark as optimization.
4363
4364 2014-03-07  Thomas Schwinge  <thomas@codesourcery.com>
4365
4366         * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
4367         an OpenMP mappable type.
4368
4369 2014-03-06  Matthias Klose  <doko@ubuntu.com>
4370
4371         * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
4372         MULTILIB_OSDIRNAMES is not defined.
4373
4374 2014-03-06  Jakub Jelinek  <jakub@redhat.com>
4375             Meador Inge  <meadori@codesourcery.com>
4376
4377         PR target/58595
4378         * config/arm/arm.c (arm_tls_symbol_p): Remove.
4379         (arm_legitimize_address): Call legitimize_tls_address for any
4380         arm_tls_referenced_p expression, handle constant addend.  Call it
4381         before testing for !TARGET_ARM.
4382         (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
4383
4384 2014-03-06  Richard Biener  <rguenther@suse.de>
4385
4386         PR middle-end/60445
4387         PR lto/60424
4388         PR lto/60427
4389         Revert
4390         2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
4391
4392         * tree-streamer.c (record_common_node): Assert we don't record
4393         nodes with type double.
4394         (preload_common_node): Skip type double, complex double and double
4395         pointer since it is now frontend dependent due to fshort-double option.
4396
4397 2014-03-06  Richard Biener  <rguenther@suse.de>
4398
4399         * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
4400         or -fno-lto is specified and the linker has full plugin support.
4401         * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
4402         (main): Remove -flto processing, adjust lto_mode using use_plugin late.
4403         * lto-wrapper.c (merge_and_complain): Merge compile-time
4404         optimization levels.
4405         (run_gcc): And pass it through to the link options.
4406
4407 2014-03-06  Alexandre Oliva  <aoliva@redhat.com>
4408
4409         PR debug/60381
4410         Revert:
4411         2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4412         PR debug/59992
4413         * cselib.c (remove_useless_values): Skip to avoid quadratic
4414         behavior if the condition moved from...
4415         (cselib_process_insn): ... here holds.
4416
4417 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
4418
4419         PR plugins/59335
4420         * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
4421         ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
4422
4423         PR plugins/59335
4424         * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
4425         (TM_H): Add x86-tune.def.
4426
4427 2014-03-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4428
4429         * config/aarch64/aarch64.c (generic_tunings):
4430         Use cortexa57_extra_costs.
4431
4432 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
4433
4434         PR lto/60404
4435         * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
4436         of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
4437         * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
4438         cost for in_lto_p.
4439
4440 2014-03-04  Heiher  <r@hev.cc>
4441
4442         * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
4443         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
4444
4445 2014-03-04  Uros Bizjak  <ubizjak@gmail.com>
4446
4447         * config/i386/predicates.md (const2356_operand): Change to ...
4448         (const2367_operand): ... this.
4449         * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
4450         const2367_operand.
4451         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
4452         (*avx512pf_scatterpf<mode>sf): Ditto.
4453         (avx512pf_scatterpf<mode>df): Ditto.
4454         (*avx512pf_scatterpf<mode>df_mask): Ditto.
4455         (*avx512pf_scatterpf<mode>df): Ditto.
4456         * config/i386/i386.c (ix86_expand_builtin): Update
4457         incorrect hint operand error message.
4458
4459 2014-03-04  Richard Biener  <rguenther@suse.de>
4460
4461         * lto-section-in.c (lto_get_section_data): Fix const cast.
4462
4463 2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
4464
4465         * tree-streamer.c (record_common_node): Assert we don't record
4466         nodes with type double.
4467         (preload_common_node): Skip type double, complex double and double
4468         pointer since it is now frontend dependent due to fshort-double option.
4469
4470 2014-03-04  Richard Biener  <rguenther@suse.de>
4471
4472         PR lto/60405
4473         * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
4474         (lto_input_toplevel_asms): Likewise.
4475         * lto-section-in.c (lto_get_section_data): Instead do it here
4476         for every section.
4477
4478 2014-03-04  Richard Biener  <rguenther@suse.de>
4479
4480         PR tree-optimization/60382
4481         * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
4482         dead PHIs a reduction.
4483
4484 2014-03-03  Uros Bizjak  <ubizjak@gmail.com>
4485
4486         * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
4487         hint value.
4488         (_mm_prefetch): Move out of GCC target("sse") pragma.
4489         * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
4490         GCC target("prfchw") pragma.
4491         * config/i386/i386.md (prefetch): Emit prefetchwt1 only
4492         for locality <= 2.
4493         * config/i386/i386.c (ix86_option_override_internal): Enable
4494         -mprfchw with -mprefetchwt1.
4495
4496 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
4497
4498         * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
4499         Mark as varying.
4500
4501 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
4502
4503         * opts.h (CL_PCH_IGNORE): Define.
4504         * targhooks.c (option_affects_pch_p):
4505         Return false for options that have CL_PCH_IGNORE set.
4506         * opt-functions.awk: Process PchIgnore.
4507         * doc/options.texi: Document PchIgnore.
4508
4509         * config/arc/arc.opt (misize): Add PchIgnore property.
4510
4511 2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4512
4513         * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
4514         reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
4515         constraint on constants to permit them being loaded into
4516         GENERAL_REGS or BASE_REGS.
4517
4518 2014-03-03  Nick Clifton  <nickc@redhat.com>
4519
4520         * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
4521         anti-cacnonical alternatives.
4522         (negandhi3_real): New pattern.
4523         * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
4524
4525 2014-03-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
4526
4527         * config/avr/avr-mcus.def: Remove atxmega16x1.
4528         * config/avr/avr-tables.opt: Regenerate.
4529         * config/avr/t-multilib: Regenerate.
4530         * doc/avr-mmcu.texi: Regenerate.
4531
4532 2014-03-03  Tobias Grosser  <tobias@grosser.es>
4533             Mircea Namolaru  <mircea.namolaru@inria.fr>
4534
4535         PR tree-optimization/58028
4536         * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
4537         scalar dimensions.
4538
4539 2014-03-03  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4540
4541         * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
4542         not handled by recognizers.
4543
4544 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
4545
4546         PR middle-end/60175
4547         * function.c (expand_function_end): Don't emit
4548         clobber_return_register sequence if clobber_after is a BARRIER.
4549         * cfgexpand.c (construct_exit_block): Append instructions before
4550         return_label to prev_bb.
4551
4552 2014-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4553
4554         * config/rs6000/constraints.md: Document reserved use of "wc".
4555
4556 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
4557
4558         PR ipa/60150
4559         * ipa.c (function_and_variable_visibility): When dissolving comdat
4560         group, also set all symbols to local.
4561
4562 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
4563
4564         PR ipa/60306
4565
4566         Revert:
4567         2013-12-14   Jan Hubicka  <jh@suse.cz>
4568         PR middle-end/58477
4569         * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
4570
4571 2014-03-02  Jon Beniston  <jon@beniston.com>
4572
4573         PR bootstrap/48230
4574         PR bootstrap/50927
4575         PR bootstrap/52466
4576         PR target/46898
4577         * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
4578           (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
4579         * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
4580         (simple_return, *simple_return): New patterns
4581         * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
4582         * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
4583
4584 2014-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
4585
4586         * dwarf2out.c (gen_subprogram_die): Tidy.
4587
4588 2014-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
4589
4590         PR target/60071
4591         * config/sh/sh.md (*mov_t_msb_neg): Split into ...
4592         (*mov_t_msb_neg_negc): ... this new insn.
4593
4594 2014-02-28  Jason Merrill  <jason@redhat.com>
4595
4596         PR c++/58678
4597         * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
4598         function.
4599
4600 2014-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
4601
4602         PR c++/60314
4603         * dwarf2out.c (decltype_auto_die): New static.
4604         (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
4605         (gen_type_die_with_usage): Handle 'decltype(auto)'.
4606         (is_cxx_auto): Likewise.
4607
4608 2014-02-28  Ian Bolton  <ian.bolton@arm.com>
4609
4610         * config/aarch64/aarch64.h: Define __ARM_NEON by default if
4611         we are not using general regs only.
4612
4613 2014-02-28  Richard Biener  <rguenther@suse.de>
4614
4615         PR target/60280
4616         * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
4617         previous fix and only allow to remove trivial pre-headers
4618         and latches.  Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
4619         (remove_forwarder_block): Properly update the latch of a loop.
4620
4621 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4622
4623         PR debug/59992
4624         * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
4625         (cselib_preserved_hash_table): New.
4626         (preserve_constants_and_equivs): Move preserved vals to it.
4627         (cselib_find_slot): Look it up first.
4628         (cselib_init): Initialize it.
4629         (cselib_finish): Release it.
4630         (dump_cselib_table): Dump it.
4631
4632 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4633
4634         PR debug/59992
4635         * cselib.c (remove_useless_values): Skip to avoid quadratic
4636         behavior if the condition moved from...
4637         (cselib_process_insn): ... here holds.
4638
4639 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4640
4641         PR debug/57232
4642         * var-tracking.c (vt_initialize): Apply the same condition to
4643         preserve the CFA base value.
4644
4645 2014-02-28  Joey Ye  <joey.ye@arm.com>
4646
4647         PR target/PR60169
4648         * config/arm/arm.c (thumb_far_jump_used_p): Don't change
4649         if reload in progress or completed.
4650
4651 2014-02-28  Tobias Burnus  <burnus@net-b.de>
4652
4653         PR middle-end/60147
4654         * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
4655         NAMELIST_DECL.
4656
4657 2014-02-27  H.J. Lu  <hongjiu.lu@intel.com>
4658
4659         * doc/tm.texi.in (Condition Code Status): Update documention for
4660         relative locations of cc0-setter and cc0-user.
4661
4662 2014-02-27  Jeff Law  <law@redhat.com>
4663
4664         PR rtl-optimization/52714
4665         * combine.c (try_combine): When splitting an unrecognized PARALLEL
4666         into two independent simple sets, if I3 is a jump, ensure the
4667         pattern we place into I3 is a (set (pc) ...).
4668
4669 2014-02-27  Mikael Pettersson  <mikpe@it.uu.se>
4670             Jeff Law  <law@redhat.com>
4671
4672         PR rtl-optimization/49847
4673         * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
4674         are in different blocks.
4675         * doc/tm.texi (Condition Code Status): Update documention for
4676         relative locations of cc0-setter and cc0-user.
4677
4678 2014-02-27  Vladimir Makarov  <vmakarov@redhat.com>
4679
4680         PR target/59222
4681         * lra.c (lra_emit_add): Check SUBREG too.
4682
4683 2014-02-27  Andreas Schwab  <schwab@suse.de>
4684
4685         * config/m68k/m68k.c (m68k_option_override): Disable
4686         -flive-range-shrinkage for classic m68k.
4687         (m68k_override_options_after_change): Likewise.
4688
4689 2014-02-27  Marek Polacek  <polacek@redhat.com>
4690
4691         PR middle-end/59223
4692         * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
4693         -Wmaybe-uninitialized.
4694
4695 2014-02-27  Alan Modra  <amodra@gmail.com>
4696
4697         PR target/57936
4698         * reload1.c (emit_input_reload_insns): When reload_override_in,
4699         set old to rl->in_reg when rl->in_reg is a subreg.
4700
4701 2014-02-26  Richard Biener  <rguenther@suse.de>
4702
4703         PR bootstrap/60343
4704         * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
4705
4706 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
4707
4708         * common/config/i386/predicates.md (const1256_operand): Remove.
4709         (const2356_operand): New.
4710         (const_1_to_2_operand): Remove.
4711         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
4712         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
4713         (*avx512pf_gatherpf<mode>sf): Ditto.
4714         (avx512pf_gatherpf<mode>df): Ditto.
4715         (*avx512pf_gatherpf<mode>df_mask): Ditto.
4716         (*avx512pf_gatherpf<mode>df): Ditto.
4717         (avx512pf_scatterpf<mode>sf): Ditto.
4718         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
4719         (*avx512pf_scatterpf<mode>sf): Ditto.
4720         (avx512pf_scatterpf<mode>df): Ditto.
4721         (*avx512pf_scatterpf<mode>df_mask): Ditto.
4722         (*avx512pf_scatterpf<mode>df): Ditto.
4723         * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
4724
4725 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
4726
4727         * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
4728         (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
4729         (_mm512_mask_testn_epi64_mask): Move to ...
4730         * config/i386/avx512cdintrin.h: Here.
4731         * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
4732         * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
4733         (avx512f_scalef<mode><mask_name><round_name>): Ditto.
4734         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
4735         TARGET_AVX512F from TARGET_AVX512CD.
4736
4737 2014-02-26  Richard Biener  <rguenther@suse.de>
4738
4739         PR ipa/60327
4740         * ipa.c (walk_polymorphic_call_targets): Properly guard
4741         call to inline_update_overall_summary.
4742
4743 2014-02-26  Bin Cheng  <bin.cheng@arm.com>
4744
4745         PR target/60280
4746         * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
4747         and latches only if requested.  Fix latch if it is removed.
4748         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
4749         LOOPS_HAVE_PREHEADERS.
4750
4751 2014-02-25  Andrew Pinski  <apinski@cavium.com>
4752
4753         * builtins.c (expand_builtin_thread_pointer): Create a new target
4754         when the target is NULL.
4755
4756 2014-02-25  Vladimir Makarov  <vmakarov@redhat.com>
4757
4758         PR rtl-optimization/60317
4759         * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
4760         * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
4761         * lra-assigns.c: Include params.h.
4762         (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
4763         other reload pseudos considerations.
4764
4765 2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4766
4767         * config/rs6000/vector.md (*vector_unordered<mode>): Change split
4768         to use canonical form for nor<mode>3.
4769
4770 2014-02-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4771
4772         PR target/55426
4773         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
4774         conversions.
4775
4776 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
4777
4778         * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
4779         (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
4780         (ix86_handle_option): Handle OPT_mprefetchwt1.
4781         * config/i386/cpuid.h (bit_PREFETCHWT1): New.
4782         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
4783         PREFETCHWT1 CPUID.
4784         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
4785         OPTION_MASK_ISA_PREFETCHWT1.
4786         * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
4787         (PTA_PREFETCHWT1): New.
4788         (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
4789         (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
4790         * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
4791         * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
4792         (*prefetch_avx512pf_<mode>_: Change into ...
4793         (*prefetch_prefetchwt1_<mode>: This.
4794         * config/i386/i386.opt (mprefetchwt1): New.
4795         * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
4796         (_mm_prefetch): Handle intent to write.
4797         * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
4798
4799 2014-02-25  Richard Biener  <rguenther@suse.de>
4800
4801         PR middle-end/60291
4802         * emit-rtl.c (mem_attrs_htab): Remove.
4803         (mem_attrs_htab_hash): Likewise.
4804         (mem_attrs_htab_eq): Likewise.
4805         (set_mem_attrs): Always allocate new mem-attrs when something changed.
4806         (init_emit_once): Do not allocate mem_attrs_htab.
4807
4808 2014-02-25  Richard Biener  <rguenther@suse.de>
4809
4810         PR lto/60319
4811         * lto-opts.c (lto_write_options): Output non-explicit conservative
4812         -fwrapv, -fno-trapv and -fno-strict-overflow.
4813         * lto-wrapper.c (merge_and_complain): Handle merging those options.
4814         (run_gcc): And pass them through.
4815
4816 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
4817
4818         * sel-sched.c (calculate_new_fences): New parameter ptime.
4819         Calculate it as a maximum over all fence cycles.
4820         (sel_sched_region_2): Adjust the call to calculate_new_fences.
4821         Print the final schedule timing when sched_verbose.
4822
4823 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
4824
4825         PR rtl-optimization/60292
4826         * sel-sched.c (fill_vec_av_set): Do not reset target availability
4827         bit fot the fence instruction.
4828
4829 2014-02-24  Alangi Derick  <alangiderick@gmail.com>
4830
4831         * calls.h: Fix typo in comment.
4832
4833 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
4834
4835         * config/pa/pa.c (pa_output_move_double): Don't valididate when
4836         adjusting offsetable addresses.
4837
4838 2014-02-24  Guozhi Wei  <carrot@google.com>
4839
4840         * sparseset.h (sparseset_pop): Fix the wrong index.
4841
4842 2014-02-24  Walter Lee  <walt@tilera.com>
4843
4844         * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
4845         (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
4846         triplet.
4847         * common/config/tilegx/tilegx-common.c
4848         (TARGET_DEFAULT_TARGET_FLAGS): Define.
4849         * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
4850         (LINK_SPEC): Ditto.
4851         * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
4852         * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
4853         (tilegx_gimplify_va_arg_expr): Handle big endian.
4854         (tilegx_expand_unaligned_load): Ditto.
4855         (tilegx_expand_unaligned_store): Ditto.
4856         (TARGET_RETURN_IN_MSB): New.
4857         * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
4858         (TARGET_ENDIAN_DEFAULT): New.
4859         (TARGET_BIG_ENDIAN): Handle big endian.
4860         (BYTES_BIG_ENDIAN): Ditto.
4861         (WORDS_BIG_ENDIAN): Ditto.
4862         (FLOAT_WORDS_BIG_ENDIAN): Ditto.
4863         (ENDIAN_SPEC): New.
4864         (EXTRA_SPECS): New.
4865         * config/tilegx/tilegx.md (extv): Handle big endian.
4866         (extzv): Ditto.
4867         (insn_st<n>): Ditto.
4868         (insn_st<n>_add<bitsuffix>): Ditto.
4869         (insn_stnt<n>): Ditto.
4870         (insn_stnt<n>_add<bitsuffix>):Ditto.
4871         (vec_interleave_highv8qi): Handle big endian.
4872         (vec_interleave_highv8qi_be): New.
4873         (vec_interleave_highv8qi_le): New.
4874         (insn_v1int_h): Handle big endian.
4875         (vec_interleave_lowv8qi): Handle big endian.
4876         (vec_interleave_lowv8qi_be): New.
4877         (vec_interleave_lowv8qi_le): New.
4878         (insn_v1int_l): Handle big endian.
4879         (vec_interleave_highv4hi): Handle big endian.
4880         (vec_interleave_highv4hi_be): New.
4881         (vec_interleave_highv4hi_le): New.
4882         (insn_v2int_h): Handle big endian.
4883         (vec_interleave_lowv4hi): Handle big endian.
4884         (vec_interleave_lowv4hi_be): New.
4885         (vec_interleave_lowv4hi_le): New.
4886         (insn_v2int_l): Handle big endian.
4887         (vec_interleave_highv2si): Handle big endian.
4888         (vec_interleave_highv2si_be): New.
4889         (vec_interleave_highv2si_le): New.
4890         (insn_v4int_h): Handle big endian.
4891         (vec_interleave_lowv2si): Handle big endian.
4892         (vec_interleave_lowv2si_be): New.
4893         (vec_interleave_lowv2si_le): New.
4894         (insn_v4int_l): Handle big endian.
4895         * config/tilegx/tilegx.opt (mbig-endian): New option.
4896         (mlittle-endian): New option.
4897         * doc/install.texi: Document tilegxbe-linux.
4898         * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
4899
4900 2014-02-24  Martin Jambor  <mjambor@suse.cz>
4901
4902         PR ipa/60266
4903         * ipa-cp.c (propagate_constants_accross_call): Bail out early if
4904         there are no parameter descriptors.
4905
4906 2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
4907
4908         PR rtl-optimization/60268
4909         * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
4910         initialization to ...
4911         (sched_rgn_init): ... here.
4912         (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
4913
4914 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
4915
4916         * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
4917         names.
4918
4919 2014-02-23  Edgar E. Iglesias  <edgar.iglesias@xilinx.com>
4920
4921         * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
4922         definition.
4923
4924 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
4925
4926         * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
4927         define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4928
4929 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
4930
4931         * config/microblaze/predicates.md: Add cmp_op predicate.
4932         * config/microblaze/microblaze.md: Add branch_compare instruction
4933         which uses cmp_op predicate and emits cmp insn before branch.
4934         * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
4935         to microblaze_expand_conditional_branch and consolidate logic.
4936         (microblaze_expand_conditional_branch): emit branch_compare
4937         insn instead of handling cmp op separate from branch insn.
4938
4939 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4940
4941         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
4942         to permit subregs.
4943
4944 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4945
4946         * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
4947         define_insn with define_expand and new define_insn
4948         *altivec_lve<VI_char>x_internal.
4949         (altivec_stve<VI_char>x): Replace define_insn with define_expand
4950         and new define_insn *altivec_stve<VI_char>x_internal.
4951         * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
4952         prototype.
4953         * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
4954         lve*x built-ins.
4955         (altivec_expand_stvex_be): New function.
4956
4957 2014-02-22  Joern Rennecke  <joern.rennecke@embecosm.com>
4958
4959         * config/avr/avr.c (avr_can_eliminate): Allow elimination from
4960         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
4961         * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
4962         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
4963
4964 2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
4965
4966         PR target/60298
4967         * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
4968         instead of emit_move_insn.
4969
4970 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4971
4972         * config/rs6000/altivec.md (altivec_vsumsws): Replace second
4973         vspltw with vsldoi.
4974         (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
4975         gen_altivec_vsumsws.
4976
4977 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4978
4979         * config/rs6000/altivec.md (altivec_lvxl): Rename as
4980         *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
4981         (altivec_lvxl_<mode>): New define_expand incorporating
4982         -maltivec=be semantics where needed.
4983         (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
4984         (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
4985         semantics where needed.
4986         (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
4987         (altivec_stvx_<mode>): New define_expand incorporating
4988         -maltivec=be semantics where needed.
4989         (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
4990         VM2 iterator instead of V4SI.
4991         (altivec_stvxl_<mode>): New define_expand incorporating
4992         -maltivec=be semantics where needed.
4993         * config/rs6000/rs6000-builtin.def: Add new built-in definitions
4994         LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
4995         LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
4996         STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
4997         STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
4998         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
4999         ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
5000         similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
5001         ALTIVEC_BUILTIN_STVXL.
5002         * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
5003         (altivec_expand_stvx_be): Likewise.
5004         * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
5005         (altivec_expand_lvx_be): Likewise.
5006         (altivec_expand_stvx_be): Likewise.
5007         (altivec_expand_builtin): Add cases for
5008         ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
5009         ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
5010         (altivec_init_builtins): Add definitions for
5011         __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
5012         __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
5013
5014 2014-02-21  Catherine Moore  <clm@codesourcery.com>
5015
5016         * doc/invoke.texi (mvirt, mno-virt): Document.
5017         * config/mips/mips.opt (mvirt): New option.
5018         * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
5019
5020 2014-02-21  Richard Biener  <rguenther@suse.de>
5021
5022         PR tree-optimization/60276
5023         * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
5024         (STMT_VINFO_MIN_NEG_DIST): New macro.
5025         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
5026         STMT_VINFO_MIN_NEG_DIST.
5027         * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
5028         made for negative dependence distances still hold.
5029
5030 2014-02-21  Richard Biener  <rguenther@suse.de>
5031
5032         PR middle-end/60291
5033         * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
5034         DECL_INITIAL for globals not in the current function context.
5035
5036 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
5037
5038         PR tree-optimization/56490
5039         * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
5040         * tree-ssa-uninit.c: Include params.h.
5041         (compute_control_dep_chain): Add num_calls argument, return false
5042         if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
5043         num_calls to recursive call.
5044         (find_predicates): Change dep_chain into normal array,
5045         cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
5046         variable and adjust compute_control_dep_chain caller.
5047         (find_def_preds): Likewise.
5048
5049 2014-02-21  Thomas Schwinge  <thomas@codesourcery.com>
5050
5051         * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
5052         <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
5053
5054 2014-02-21  Nick Clifton  <nickc@redhat.com>
5055
5056         * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
5057         (pushhi1): Likewise.
5058         (popqi1): Add mode to pre_dec.
5059         (pophi1): Likewise.
5060
5061 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
5062
5063         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
5064         mode for mask of V8SFmode permutation.
5065
5066 2014-02-20  Richard Henderson  <rth@redhat.com>
5067
5068         PR c++/60272
5069         * builtins.c (expand_builtin_atomic_compare_exchange): Always make
5070         a new pseudo for OLDVAL.
5071
5072 2014-02-20  Jakub Jelinek  <jakub@redhat.com>
5073
5074         PR target/57896
5075         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
5076         gen_reg_rtx if d->testing_p.
5077         (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
5078         if d->testing_p and we will certainly return true.
5079         (expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
5080         if d->testing_p.
5081
5082 2014-02-20  Uros Bizjak  <ubizjak@gmail.com>
5083
5084         * emit-rtl.c (gen_reg_rtx): Assert that
5085         crtl->emit.regno_pointer_align_length is non-zero.
5086
5087 2014-02-20  Richard Henderson  <rth@redhat.com>
5088
5089         PR c++/60272
5090         * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
5091         on failure the store back into EXPECT.
5092
5093 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
5094             Sandra Loosemore  <sandra@codesourcery.com>
5095
5096         * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
5097         * config/nios2/nios2.c (nios2_function_profiler): Add
5098         -fPIC (flag_pic == 2) support.
5099         (nios2_handle_custom_fpu_cfg): Fix warning parameter.
5100         (nios2_large_offset_p): New function.
5101         (nios2_unspec_reloc_p): Move up position, update to use
5102         nios2_large_offset_p.
5103         (nios2_unspec_address): Remove function.
5104         (nios2_unspec_offset): New function.
5105         (nios2_large_got_address): New function.
5106         (nios2_got_address): Add large offset support.
5107         (nios2_legitimize_tls_address): Update usage of removed and new
5108         functions.
5109         (nios2_symbol_binds_local_p): New function.
5110         (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
5111         (nios2_legitimize_address): Update to use nios2_large_offset_p.
5112         (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
5113         (nios2_print_operand): Merge H/L processing, add hiadj/lo
5114         processing for (const (unspec ...)).
5115         (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
5116
5117 2014-02-20  Richard Biener  <rguenther@suse.de>
5118
5119         * tree-cfg.c (replace_uses_by): Mark altered BBs before
5120         doing the substitution.
5121         (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
5122
5123 2014-02-20  Martin Jambor  <mjambor@suse.cz>
5124
5125         PR ipa/55260
5126         * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
5127         info when checking whether lattices are bottom.
5128
5129 2014-02-20  Richard Biener  <rguenther@suse.de>
5130
5131         PR middle-end/60221
5132         * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
5133         regions at -O0.
5134
5135 2014-02-20  Jan Hubicka  <hubicka@ucw.cz>
5136
5137         PR ipa/58555
5138         * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
5139         parameter specifying the scaling.
5140         (inline_call): Update.
5141         (want_inline_recursively): Guard division by zero.
5142         (recursive_inlining): Update.
5143         * ipa-inline.h (clone_inlined_nodes): Update.
5144
5145 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
5146
5147         PR target/60204
5148         * config/i386/i386.c (classify_argument): Pass structures of size
5149         64 bytes or less in register.
5150
5151 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
5152             Kirill Yukhin  <kirill.yukhin@intel.com>
5153
5154         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
5155         (_mm_rcp28_round_ss): Ditto.
5156         (_mm_rsqrt28_round_sd): Ditto.
5157         (_mm_rsqrt28_round_ss): Ditto.
5158         * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
5159         (_mm_rcp14_round_ss): Ditto.
5160         (_mm_rsqrt14_round_sd): Ditto.
5161         (_mm_rsqrt14_round_ss): Ditto.
5162         * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
5163         the first input operand, get rid of match_dup.
5164         (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
5165         attribute to sse.
5166         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
5167         Ditto.
5168         (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
5169         operand as the first input operand, set type attribute.
5170         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
5171         Set type attribute.
5172         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
5173         operand as the first input operand, set type attribute.
5174
5175 2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5176
5177         * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
5178         bit of zero.
5179
5180 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
5181
5182         PR target/60207
5183         * config/i386/i386.c (construct_container): Remove TFmode check
5184         for X86_64_INTEGER_CLASS.
5185
5186 2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
5187
5188         PR target/59794
5189         * config/i386/i386.c (type_natural_mode): Warn for ABI changes
5190         only when -Wpsabi is enabled.
5191
5192 2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>
5193
5194          PR target/59799
5195         * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
5196         passing arrays in registers are the same as for structs, so remove the
5197         special case for them.
5198
5199 2014-02-19  Eric Botcazou  <ebotcazou@adacore.com>
5200
5201         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
5202         destination type, extract only the valid bits if the source type is not
5203         integral and has a different mode.
5204
5205 2014-02-19  Richard Biener  <rguenther@suse.de>
5206
5207         PR ipa/60243
5208         * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
5209         for all calls.
5210
5211 2014-02-19  Richard Biener  <rguenther@suse.de>
5212
5213         PR ipa/60243
5214         * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
5215         (ipa_modify_call_arguments): Emit an argument load explicitely and
5216         preserve virtual SSA form there and for the replacement call.
5217         Do not update SSA form nor free dominance info.
5218
5219 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
5220
5221         * ipa.c (function_and_variable_visibility): Also clear WEAK
5222         flag when disolving COMDAT_GROUP.
5223
5224 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
5225
5226         * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
5227         * ipa-prop.c (ipa_set_jf_known_type): Return early when
5228         not devirtualizing.
5229         (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
5230         do more sanity checks.
5231         (detect_type_change): Return true when giving up early.
5232         (compute_complex_assign_jump_func): Fix type parameter of
5233         ipa_set_ancestor_jf.
5234         (compute_complex_ancestor_jump_func): Likewise.
5235         (update_jump_functions_after_inlining): Fix updating of
5236         ancestor function.
5237         * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
5238
5239 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
5240
5241         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
5242         inline clones when edge disappears.
5243
5244 2014-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
5245
5246         PR target/60203
5247         * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
5248         Split 64-bit moves into 2 patterns.  Do not allow the use of
5249         direct move for TDmode in little endian, since the decimal value
5250         has little endian bytes within a word, but the 64-bit pieces are
5251         ordered in a big endian fashion, and normal subreg's of TDmode are
5252         not allowed.
5253         (mov<mode>_64bit_dm): Likewise.
5254         (movtd_64bit_nodm): Likewise.
5255
5256 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
5257
5258         PR tree-optimization/60174
5259         * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
5260         statement of an SSA_NAME that occurs in an abnormal PHI node.
5261
5262 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
5263
5264         PR sanitizer/60142
5265         * final.c (SEEN_BB): Remove.
5266         (SEEN_NOTE, SEEN_EMITTED): Renumber.
5267         (final_scan_insn): Don't force_source_line on second
5268         NOTE_INSN_BASIC_BLOCK.
5269
5270 2014-02-18  Uros Bizjak  <ubizjak@gmail.com>
5271
5272         PR target/60205
5273         * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
5274         * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
5275         (type_natural_mode): Warn ABI change when %zmm register is not
5276         available for AVX512F vector value passing.
5277
5278 2014-02-18  Kai Tietz  <ktietz@redhat.com>
5279
5280         PR target/60193
5281         * config/i386/i386.c (ix86_expand_prologue): Use value in
5282         rax register as displacement when restoring %r10 or %rax.
5283         Fix wrong offset when restoring both registers.
5284
5285 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
5286
5287         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
5288         assertion with conditional return.
5289
5290 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
5291             Uros Bizjak  <ubizjak@gmail.com>
5292
5293         PR driver/60233
5294         * config/i386/driver-i386.c (host_detect_local_cpu): If
5295         YMM state is not saved by the OS, also clear has_f16c.  Move
5296         CPUID 0x80000001 handling before YMM state saving checking.
5297
5298 2014-02-18  Andrey Belevantsev  <abel@ispras.ru>
5299
5300         PR rtl-optimization/58960
5301         * haifa-sched.c (alloc_global_sched_pressure_data): New,
5302         factored out from ...
5303         (sched_init): ... here.
5304         (free_global_sched_pressure_data): New, factored out from ...
5305         (sched_finish): ... here.
5306         * sched-int.h (free_global_sched_pressure_data): Declare.
5307         * sched-rgn.c (nr_regions_initial): New static global.
5308         (haifa_find_rgns): Initialize it.
5309         (schedule_region): Disable sched-pressure for the newly
5310         generated regions.
5311
5312 2014-02-17  Richard Biener  <rguenther@suse.de>
5313
5314         * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
5315         release SSA defs of pattern stmts.
5316
5317 2014-02-17  Richard Biener  <rguenther@suse.de>
5318
5319         * tree-inline.c (expand_call_inline): Release the virtual
5320         operand defined by the call we are about to inline.
5321
5322 2014-02-17  Richard Biener  <rguenther@suse.de>
5323
5324         * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
5325
5326 2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
5327             Ilya Tocar  <ilya.tocar@intel.com>
5328
5329         * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
5330         arguments order in builtin.
5331         (_mm512_permutexvar_epi64): Ditto.
5332         (_mm512_mask_permutexvar_epi64): Ditto
5333         (_mm512_maskz_permutexvar_epi32): Ditto
5334         (_mm512_permutexvar_epi32): Ditto
5335         (_mm512_mask_permutexvar_epi32): Ditto
5336
5337 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5338
5339         * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
5340         (p8_vmrgow): Likewise.
5341
5342 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5343
5344         * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
5345         endian targets.
5346
5347 2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
5348
5349         PR target/60203
5350         * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
5351         (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
5352         into 64-bit and 32-bit moves.  On 64-bit moves, add support for
5353         using direct move instructions on ISA 2.07.  Also adjust
5354         instruction length for 64-bit.
5355         (mov<mode>_64bit, TFmode/TDmode): Likewise.
5356         (mov<mode>_32bit, TFmode/TDmode): Likewise.
5357
5358 2014-02-15  Alan Modra  <amodra@gmail.com>
5359
5360         PR target/58675
5361         PR target/57935
5362         * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
5363         find_replacement on parts of insn rtl that might be reloaded.
5364
5365 2014-02-15  Richard Biener  <rguenther@suse.de>
5366
5367         PR tree-optimization/60183
5368         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
5369         (tree_ssa_phiprop): Calculate and free post-dominators.
5370
5371 2014-02-14  Jeff Law  <law@redhat.com>
5372
5373         PR rtl-optimization/60131
5374         * ree.c (get_extended_src_reg): New function.
5375         (combine_reaching_defs): Use it rather than assuming location of REG.
5376         (find_and_remove_re): Verify first operand of extension is
5377         a REG before adding the insns to the copy list.
5378
5379 2014-02-14  Roland McGrath  <mcgrathr@google.com>
5380
5381         * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
5382         * configure: Regenerated.
5383         * config.in: Regenerated.
5384         * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
5385         instead of ASM_SHORT.
5386
5387 2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
5388             Richard Earnshaw  <rearnsha@arm.com>
5389
5390         PR rtl-optimization/59535
5391         * lra-constraints.c (process_alt_operands): Encourage alternative
5392         when unassigned pseudo class is superset of the alternative class.
5393         (inherit_reload_reg): Don't inherit when optimizing for code size.
5394         * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
5395         returning CORE_REGS for anything but Thumb1 and BASE_REGS for
5396         modes not less than 4 for Thumb1.
5397
5398 2014-02-14  Kyle McMartin  <kyle@redhat.com>
5399
5400         PR pch/60010
5401         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
5402
5403 2014-02-14  Richard Biener  <rguenther@suse.de>
5404
5405         * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
5406         (get_frame_arg): Drop the assert with langhook types_compatible_p.
5407         Do not strip INDIRECT_REFs.
5408
5409 2014-02-14  Richard Biener  <rguenther@suse.de>
5410
5411         PR lto/60179
5412         * lto-streamer-out.c (DFS_write_tree_body): Do not follow
5413         DECL_FUNCTION_SPECIFIC_TARGET.
5414         (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
5415         * tree-streamer-out.c (pack_ts_target_option): Remove.
5416         (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
5417         (write_ts_function_decl_tree_pointers): Do not stream
5418         DECL_FUNCTION_SPECIFIC_TARGET.
5419         * tree-streamer-in.c (unpack_ts_target_option): Remove.
5420         (unpack_value_fields): Do not stream TS_TARGET_OPTION.
5421         (lto_input_ts_function_decl_tree_pointers): Do not stream
5422         DECL_FUNCTION_SPECIFIC_TARGET.
5423
5424 2014-02-14  Jakub Jelinek  <jakub@redhat.com>
5425
5426         * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
5427         (get_initial_def_for_induction, vectorizable_induction): Ignore
5428         debug stmts when looking for exit_phi.
5429         (vectorizable_live_operation): Fix up condition.
5430
5431 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
5432
5433         * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
5434         nreverse() because it changes the content of original tree list.
5435
5436 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
5437
5438         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
5439         * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
5440
5441 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
5442
5443         * config/nds32/nds32.c (nds32_naked_function_p): Follow the
5444         GNU coding standards.
5445
5446 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
5447
5448         PR debug/60152
5449         * dwarf2out.c (gen_subprogram_die): Don't call
5450         add_calling_convention_attribute if subr_die is old_die.
5451
5452 2014-02-13  Sharad Singhai  <singhai@google.com>
5453
5454         * doc/optinfo.texi: Fix order of nodes.
5455
5456 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
5457
5458         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
5459         operands[2], not operands[3].
5460
5461 2014-02-13  Richard Biener  <rguenther@suse.de>
5462
5463         PR bootstrap/59878
5464         * doc/install.texi (ISL): Update recommended version to 0.12.2,
5465         mention the possibility of an in-tree build.
5466         (CLooG): Update recommended version to 0.18.1, mention the
5467         possibility of an in-tree build and clarify that the ISL
5468         bundled with CLooG does not work.
5469
5470 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
5471
5472         PR target/43546
5473         * expr.c (compress_float_constant): If x is a hard register,
5474         extend into a pseudo and then move to x.
5475
5476 2014-02-13  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5477
5478         * config/s390/s390.c (s390_asm_output_function_label): Fix crash
5479         caused by bad second argument to warning_at() with -mhotpatch and
5480         nested functions (e.g. with gfortran).
5481
5482 2014-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
5483
5484         * opts.c (option_name): Remove "enabled by default" rider.
5485
5486 2014-02-12  John David Anglin  <danglin@gcc.gnu.org>
5487
5488         * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
5489
5490 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
5491             Uros Bizjak  <ubizjak@gmail.com>
5492
5493         PR target/60151
5494         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
5495         * configure: Regenerated.
5496
5497 2014-02-12  Richard Biener  <rguenther@suse.de>
5498
5499         * vec.c (vec_prefix::calculate_allocation): Move as
5500         inline variant to vec.h.
5501         (vec_prefix::calculate_allocation_1): New out-of-line version.
5502         * vec.h (vec_prefix::calculate_allocation_1): Declare.
5503         (vec_prefix::m_has_auto_buf): Rename to ...
5504         (vec_prefix::m_using_auto_storage): ... this.
5505         (vec_prefix::calculate_allocation): Inline the easy cases
5506         and dispatch to calculate_allocation_1 which doesn't need the
5507         prefix address.
5508         (va_heap::reserve): Use gcc_checking_assert.
5509         (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
5510         m_using_auto_storage.
5511         (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
5512         member and adjust.
5513         (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
5514         (vec<T, va_heap, vl_ptr>::release): Avoid casting.
5515         (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
5516
5517 2014-02-12  Richard Biener  <rguenther@suse.de>
5518
5519         * gcse.c (compute_transp): break from loop over canon_modify_mem_list
5520         when we found a dependence.
5521
5522 2014-02-12  Thomas Schwinge  <thomas@codesourcery.com>
5523
5524         * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
5525         common code...
5526         (maybe_fold_stmt): ... into this new function.
5527         * omp-low.c (lower_omp): Update comment.
5528
5529         * omp-low.c (lower_omp_target): Add clobber for sizes array, after
5530         last use.
5531
5532         * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
5533         dereference.
5534
5535 2014-02-12  James Greenhalgh  <james.greenhalgh@arm.com>
5536
5537         * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
5538         identifiers in comments.
5539         (cortexa53_extra_costs): Likewise.
5540         * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
5541         (cortexa7_extra_costs): Likewise.
5542         (cortexa12_extra_costs): Likewise.
5543         (cortexa15_extra_costs): Likewise.
5544         (v7m_extra_costs): Likewise.
5545
5546 2014-02-12  Richard Biener  <rguenther@suse.de>
5547
5548         PR middle-end/60092
5549         * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
5550         of posix_memalign being successful.
5551         (lower_stmt): Restrict lowering of posix_memalign to when
5552         -ftree-bit-ccp is enabled.
5553
5554 2014-02-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5555
5556         * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
5557         arg_loc.
5558         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
5559
5560 2014-02-12  Eric Botcazou  <ebotcazou@adacore.com>
5561
5562         PR rtl-optimization/60116
5563         * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
5564         other_insn once the combination has been validated.
5565
5566 2014-02-11  Jan Hubicka  <hubicka@ucw.cz>
5567
5568         PR lto/59468
5569         * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
5570         and wrapper.
5571         * ipa-devirt.c: Include demangle.h
5572         (odr_violation_reported): New static variable.
5573         (add_type_duplicate): Update odr_violations.
5574         (maybe_record_node): Add completep parameter; update it.
5575         (record_target_from_binfo): Add COMPLETEP parameter;
5576         update it as needed.
5577         (possible_polymorphic_call_targets_1): Likewise.
5578         (struct polymorphic_call_target_d): Add nonconstruction_targets;
5579         rename FINAL to COMPLETE.
5580         (record_targets_from_bases): Sanity check we found the binfo;
5581         fix COMPLETEP updating.
5582         (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
5583         parameter, fix computing of COMPLETEP.
5584         (dump_possible_polymorphic_call_targets): Imrove readability of dump;
5585         at LTO time do demangling.
5586         (ipa_devirt): Use nonconstruction_targets; Improve dumps.
5587         * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
5588         parameter.
5589         (gimple_get_virt_method_for_binfo): Likewise.
5590         * gimple-fold.h (gimple_get_virt_method_for_binfo,
5591         gimple_get_virt_method_for_vtable): Update prototypes.
5592
5593 2014-02-11  Vladimir Makarov  <vmakarov@redhat.com>
5594
5595         PR target/49008
5596         * genautomata.c (add_presence_absence): Fix typo with
5597         {final_}presence_list.
5598
5599 2014-02-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
5600
5601         PR target/60137
5602         * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
5603         for VSX/Altivec vectors that land in GPR registers.
5604
5605 2014-02-11  Richard Henderson  <rth@redhat.com>
5606             Jakub Jelinek  <jakub@redhat.com>
5607
5608         PR debug/59776
5609         * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
5610         around drhs if type conversion to lacc->type is not useless.
5611
5612 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5613
5614         * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
5615         tuning struct.
5616         (cortex-a57.cortex-a53): Likewise.
5617         * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
5618
5619 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5620
5621         * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
5622         arm_restrict_it.
5623
5624 2014-02-11  Renlin Li  <Renlin.Li@arm.com>
5625
5626         * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
5627         add_options_for_arm_vfp3.
5628
5629 2014-02-11  Jeff Law  <law@redhat.com>
5630
5631         PR middle-end/54041
5632         * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
5633         object with an undesirable mode.
5634
5635 2014-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5636
5637         PR libgomp/60107
5638         * config/i386/sol2-9.h: New file.
5639         * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
5640         *-*-solaris2.9*): Use it.
5641
5642 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
5643
5644         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
5645         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
5646
5647 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
5648
5649         * config/microblaze/microblaze.c: Extend mcpu version format
5650
5651 2014-02-10  David Holsgrove  <david.holsgrove@xilinx.com>
5652
5653         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
5654
5655 2014-02-10  Richard Henderson  <rth@redhat.com>
5656
5657         PR target/59927
5658         * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
5659         * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
5660         ms-abi vs -mno-accumulate-outgoing-args.
5661         (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
5662         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
5663         respect to ms-abi.
5664
5665 2014-02-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5666
5667         PR middle-end/60080
5668         * cfgexpand.c (expand_asm_operands): Attach source location to
5669         ASM_INPUT rtx objects.
5670         * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
5671
5672 2014-02-10  Nick Clifton  <nickc@redhat.com>
5673
5674         * config/mn10300/mn10300.c (popcount): New function.
5675         (mn10300_expand_prologue): Include saved registers in stack usage
5676         count.
5677
5678 2014-02-10  Jeff Law  <law@redhat.com>
5679
5680         PR middle-end/52306
5681         * reload1.c (emit_input_reload_insns): Do not create invalid RTL
5682         when changing the SET_DEST of a prior insn to avoid an input reload.
5683
5684 2014-02-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5685
5686         * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
5687         big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
5688         -mcall-openbsd, or -mcall-linux.
5689         (CC1_ENDIAN_BIG_SPEC): Remove.
5690         (CC1_ENDIAN_LITTLE_SPEC): Remove.
5691         (CC1_ENDIAN_DEFAULT_SPEC): Remove.
5692         (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
5693         (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
5694         and %cc1_endian_default.
5695         * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
5696
5697 2014-02-10  Richard Biener  <rguenther@suse.de>
5698
5699         PR tree-optimization/60115
5700         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
5701         MEM_REF handling.  Properly verify that the accesses are not
5702         out of the objects bound.
5703
5704 2014-02-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5705
5706         * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
5707         coretex to cortex.
5708
5709 2014-02-10  Eric Botcazou  <ebotcazou@adacore.com>
5710
5711         * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
5712         proper constants and fix formatting.
5713         (possible_polymorphic_call_targets): Fix formatting.
5714
5715 2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
5716             Ilya Tocar  <ilya.tocar@intel.com>
5717
5718         * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
5719         (_mm512_loadu_epi32): Renamed into...
5720         (_mm512_loadu_si512): This.
5721         (_mm512_storeu_epi32): Renamed into...
5722         (_mm512_storeu_si512): This.
5723         (_mm512_maskz_ceil_ps): Removed.
5724         (_mm512_maskz_ceil_pd): Ditto.
5725         (_mm512_maskz_floor_ps): Ditto.
5726         (_mm512_maskz_floor_pd): Ditto.
5727         (_mm512_floor_round_ps): Ditto.
5728         (_mm512_floor_round_pd): Ditto.
5729         (_mm512_ceil_round_ps): Ditto.
5730         (_mm512_ceil_round_pd): Ditto.
5731         (_mm512_mask_floor_round_ps): Ditto.
5732         (_mm512_mask_floor_round_pd): Ditto.
5733         (_mm512_mask_ceil_round_ps): Ditto.
5734         (_mm512_mask_ceil_round_pd): Ditto.
5735         (_mm512_maskz_floor_round_ps): Ditto.
5736         (_mm512_maskz_floor_round_pd): Ditto.
5737         (_mm512_maskz_ceil_round_ps): Ditto.
5738         (_mm512_maskz_ceil_round_pd): Ditto.
5739         (_mm512_expand_pd): Ditto.
5740         (_mm512_expand_ps): Ditto.
5741         * config/i386/i386.c (ix86_builtins): Remove
5742         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
5743         (bdesc_args): Ditto.
5744         * config/i386/predicates.md (const1256_operand): New.
5745         (const_1_to_2_operand): Ditto.
5746         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
5747         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
5748         (*avx512pf_gatherpf<mode>sf): Ditto.
5749         (avx512pf_gatherpf<mode>df): Ditto.
5750         (*avx512pf_gatherpf<mode>df_mask): Ditto.
5751         (*avx512pf_gatherpf<mode>df): Ditto.
5752         (avx512pf_scatterpf<mode>sf): Ditto.
5753         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
5754         (*avx512pf_scatterpf<mode>sf): Ditto.
5755         (avx512pf_scatterpf<mode>df): Ditto.
5756         (*avx512pf_scatterpf<mode>df_mask): Ditto.
5757         (*avx512pf_scatterpf<mode>df): Ditto.
5758         (avx512f_expand<mode>): Removed.
5759         (<shift_insn><mode>3<mask_name>): Change predicate type.
5760
5761 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
5762
5763         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
5764         not at the end of datarefs vector use ordered_remove to avoid
5765         reordering datarefs vector.
5766
5767         PR c/59984
5768         * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
5769         mark local addressable non-static vars as GOVD_PRIVATE
5770         instead of GOVD_LOCAL.
5771         * omp-low.c (lower_omp_for): Move gimple_bind_vars
5772         and BLOCK_VARS of gimple_bind_block to new_stmt rather
5773         than copying them.
5774
5775         PR middle-end/60092
5776         * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
5777         if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
5778         assume_aligned or alloc_align attributes.
5779         (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
5780         arguments.  Handle also assume_aligned and alloc_align attributes.
5781         (evaluate_stmt): Adjust bit_value_assume_aligned caller.  Handle
5782         calls to functions with assume_aligned or alloc_align attributes.
5783         * doc/extend.texi: Document assume_aligned and alloc_align attributes.
5784
5785 2014-02-08  Terry Guo  <terry.guo@arm.com>
5786
5787         * doc/invoke.texi: Document ARM -march=armv7e-m.
5788
5789 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
5790
5791         * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
5792         flag on __cilkrts_rethrow builtin.
5793
5794         PR ipa/60026
5795         * ipa-cp.c (determine_versionability): Fail at -O0
5796         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
5797         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
5798
5799         Revert:
5800         2014-02-04  Jakub Jelinek  <jakub@redhat.com>
5801
5802         PR ipa/60026
5803         * tree-inline.c (copy_forbidden): Fail for
5804         __attribute__((optimize (0))) functions.
5805
5806 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
5807
5808         * varpool.c: Include pointer-set.h.
5809         (varpool_remove_unreferenced_decls): Variables in other partitions
5810         will not be output; be however careful to not lose information
5811         about partitioning.
5812
5813 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
5814
5815         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
5816         lookup in the vtable constructor.
5817
5818 2014-02-07  Jeff Law  <law@redhat.com>
5819
5820         PR target/40977
5821         * config/m68k/m68k.md (ashldi_extsi): Turn into a
5822         define_insn_and_split.
5823
5824         * ipa-inline.c (inline_small_functions): Fix typos.
5825
5826 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5827
5828         * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
5829         (s390_can_use_return_insn): Declare.
5830         * config/s390/s390.h (EPILOGUE_USES): Define.
5831         * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
5832         instructions.
5833         (s390_chunkify_start): Handle return JUMP_LABELs.
5834         (s390_early_mach): Emit a main_pool instruction on the entry edge.
5835         (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
5836         (s390_can_use_return_insn): New functions.
5837         (s390_fix_long_loop_prediction): Handle conditional returns.
5838         (TARGET_SET_UP_BY_PROLOGUE): Define.
5839         * config/s390/s390.md (ANY_RETURN): New code iterator.
5840         (*creturn, *csimple_return, return, simple_return): New patterns.
5841
5842 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5843
5844         * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
5845         notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
5846         (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
5847         REG_CFA_RESTORE list when deciding not to restore a register.
5848
5849 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5850
5851         * config/s390/s390.c: Include tree-pass.h and context.h.
5852         (s390_early_mach): New function, split out from...
5853         (s390_emit_prologue): ...here.
5854         (pass_data_s390_early_mach): New pass structure.
5855         (pass_s390_early_mach): New class.
5856         (s390_option_override): Create and register early_mach pass.
5857         Move to end of file.
5858
5859 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5860
5861         * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
5862         to match for the exit block.
5863
5864 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5865
5866         * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
5867         ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
5868         Reject misaligned operands.
5869
5870 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5871
5872         * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
5873
5874 2014-02-07  Richard Biener  <rguenther@suse.de>
5875
5876         PR middle-end/60092
5877         * gimple-low.c (lower_builtin_posix_memalign): New function.
5878         (lower_stmt): Call it to lower posix_memalign in a way
5879         to make alignment info accessible.
5880
5881 2014-02-07  Jakub Jelinek  <jakub@redhat.com>
5882
5883         PR c++/60082
5884         * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
5885         __builtin_setjmp_receiver.
5886
5887 2014-02-07  Richard Biener  <rguenther@suse.de>
5888
5889         PR middle-end/60092
5890         * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
5891         * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
5892         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5893         Handle BUILT_IN_POSIX_MEMALIGN.
5894         (find_func_clobbers): Likewise.
5895         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
5896         (call_may_clobber_ref_p_1): Likewise.
5897
5898 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5899
5900         PR ipa/59918
5901         * ipa-devirt.c (record_target_from_binfo): Remove overactive
5902         sanity check.
5903
5904 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5905
5906         PR ipa/59469
5907         * lto-cgraph.c (lto_output_node): Use
5908         symtab_get_symbol_partitioning_class.
5909         (lto_output_varpool_node): likewise.
5910         (symtab_get_symbol_partitioning_class): Move here from
5911         lto/lto-partition.c
5912         * cgraph.h (symbol_partitioning_class): Likewise.
5913         (symtab_get_symbol_partitioning_class): Declare.
5914
5915 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5916
5917         * ggc.h (ggc_internal_cleared_alloc): New macro.
5918         * vec.h (vec_safe_copy): Handle memory stats.
5919         * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
5920         * target-globals.c (save_target_globals): Likewise.
5921
5922 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5923
5924         PR target/60077
5925         * expr.c (emit_move_resolve_push): Export; be bit more selective
5926         on when to clear alias set.
5927         * expr.h (emit_move_resolve_push): Declare.
5928         * function.h (struct function): Add tail_call_marked.
5929         * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
5930         * config/i386/i386-protos.h (ix86_expand_push): Remove.
5931         * config/i386/i386.md (TImode move expander): De not call
5932         ix86_expand_push.
5933         (FP push expanders): Preserve memory attributes.
5934         * config/i386/sse.md (push<mode>1): Remove.
5935         * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
5936         (ix86_expand_push): Remove.
5937         * config/i386/mmx.md (push<mode>1): Remove.
5938
5939 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
5940
5941         PR rtl-optimization/60030
5942         * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
5943         lopart with paradoxical subreg before shifting it up by hprec.
5944
5945 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5946
5947         * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
5948         Remove extra newline at end of file.
5949         * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
5950         (arm_issue_rate): Handle cortexa57.
5951         * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
5952         (cortex-a57.cortex-a53): Likewise.
5953
5954 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
5955
5956         PR target/59575
5957         * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
5958         don't record in REG_FRAME_RELATED_EXPR registers not set in that
5959         bitmask.
5960         (arm_expand_prologue): Adjust all callers.
5961         (arm_unwind_emit_sequence): Allow saved, but not important for unwind
5962         info, registers also at the lowest numbered registers side.  Use
5963         gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
5964         XEXP.
5965
5966         PR debug/59992
5967         * var-tracking.c (adjust_mems): Before adding a SET to
5968         amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
5969
5970 2014-02-06  Alan Modra  <amodra@gmail.com>
5971
5972         PR target/60032
5973         * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
5974         change SDmode to DDmode when lra_in_progress.
5975
5976 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
5977
5978         PR middle-end/59150
5979         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
5980         free_data_ref on the dr first, and before goto again also set dr
5981         to the next dr.  For simd_lane_access, free old datarefs[i] before
5982         overwriting it.  For get_vectype_for_scalar_type failure, don't
5983         free_data_ref if simd_lane_access.
5984
5985         * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
5986
5987         PR target/60062
5988         * tree.h (opts_for_fn): New inline function.
5989         (opt_for_fn): Define.
5990         * config/i386/i386.c (ix86_function_regparm): Use
5991         opt_for_fn (decl, optimize) instead of optimize.
5992
5993 2014-02-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5994
5995         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
5996         for SYMBOL_REF in large memory model.
5997
5998 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5999
6000         * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
6001         and crypto support.
6002         (cortex-a57): Likewise.
6003         (cortex-a57.cortex-a53): Likewise.
6004
6005 2014-02-06  Yury Gribov  <y.gribov@samsung.com>
6006             Kugan Vivekanandarajah  <kuganv@linaro.org>
6007
6008         * config/arm/arm.c (arm_vector_alignment_reachable): Check
6009         unaligned_access.
6010         * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
6011
6012 2014-02-06  Richard Biener  <rguenther@suse.de>
6013
6014         * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
6015         set_loop_copy and initialize_original_copy_tables.
6016
6017 2014-02-06  Alex Velenko  <Alex.Velenko@arm.com>
6018
6019         * config/aarch64/aarch64-simd.md
6020         (aarch64_ashr_simddi): Change QI to SI.
6021
6022 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
6023             Jakub Jelinek  <jakub@redhat.com>
6024
6025         PR middle-end/60013
6026         * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
6027         of the dataflow.
6028
6029 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6030
6031         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
6032         CODE_FOR_altivec_vpku[hw]um to
6033         CODE_FOR_altivec_vpku[hw]um_direct.
6034         * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
6035         UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
6036         (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
6037         UNSPEC_VUNPACK_LO_SIGN_DIRECT.
6038
6039 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6040
6041         * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
6042         generation for -maltivec=be.
6043         (altivec_vsumsws): Simplify redundant test.
6044
6045 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6046
6047         * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
6048         (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
6049         (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
6050         (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
6051         gen_altivec_vpkuwum.
6052         (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
6053         BYTES_BIG_ENDIAN.
6054         (altivec_vpks<VI_char>ss): Likewise.
6055         (altivec_vpks<VI_char>us): Likewise.
6056         (altivec_vpku<VI_char>us): Likewise.
6057         (altivec_vpku<VI_char>um): Likewise.
6058         (altivec_vpku<VI_char>um_direct): New (copy of
6059         altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
6060         internal use).
6061         (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
6062         target is little endian and -maltivec=be is not specified.
6063         (*altivec_vupkhs<VU_char>_direct): New (copy of
6064         altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
6065         (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
6066         target is little endian and -maltivec=be is not specified.
6067         (*altivec_vupkls<VU_char>_direct): New (copy of
6068         altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
6069         (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
6070         little endian and -maltivec=be is not specified.
6071         (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
6072         little endian and -maltivec=be is not specified.
6073
6074 2014-02-05  Richard Henderson  <rth@redhat.com>
6075
6076         PR debug/52727
6077         * combine-stack-adj.c: Revert r206943.
6078         * sched-int.h (struct deps_desc): Add last_args_size.
6079         * sched-deps.c (init_deps): Initialize it.
6080         (sched_analyze_insn): Add OUTPUT dependencies between insns that
6081         contain REG_ARGS_SIZE notes.
6082
6083 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
6084
6085         * lto-cgraph.c (asm_nodes_output): Make global.
6086         * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
6087         * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
6088         (driver_handle_option): Handle OPT_fwpa.
6089
6090 2014-02-05  Jakub Jelinek  <jakub@redhat.com>
6091
6092         PR ipa/59947
6093         * ipa-devirt.c (possible_polymorphic_call_targets): Fix
6094         a comment typo and formatting issue.  If odr_hash hasn't been
6095         created, return vNULL and set *completep to false.
6096
6097         PR middle-end/57499
6098         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
6099         bb with no successors.
6100
6101 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
6102
6103         PR target/59718
6104         * doc/invoke.texi (-march): Clarify documentation for ARM.
6105         (-mtune): Likewise.
6106         (-mcpu): Likewise.
6107
6108 2014-02-05  Richard Biener  <rguenther@suse.de>
6109
6110         * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
6111         when not vectorizing because of too many alias checks.
6112         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
6113         Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
6114
6115 2014-02-05  Nick Clifton  <nickc@redhat.com>
6116
6117         * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
6118         accept extended registers in any mode when compiling for the MN10300.
6119
6120 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
6121
6122         * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
6123         * ipa-inline.c (report_inline_failed_reason): Handle mismatched
6124         sanitization attributes.
6125         (can_inline_edge_p): Likewise.
6126         (sanitize_attrs_match_for_inline_p): New function.
6127
6128 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
6129
6130         * ipa-prop.c (detect_type_change): Shor circuit testing of
6131         type changes on THIS pointer.
6132
6133 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
6134
6135         PR target/59777
6136         * config/pa/pa.c (legitimize_tls_address): Return original address
6137         if not passed a SYMBOL_REF rtx.
6138         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
6139         addresses.
6140         (pa_emit_move_sequence): Simplify TLS source operands.
6141         (pa_legitimate_constant_p): Reject all TLS constants.
6142         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
6143         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
6144
6145 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
6146
6147         * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
6148         groups when we know they are controlled by LTO.
6149         * varasm.c (default_binds_local_p_1): If object is in other partition,
6150         it will be resolved locally.
6151
6152 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6153
6154         * config/host-linux.c (linux_gt_pch_use_address): Don't
6155         use SSIZE_MAX because it is not always defined.
6156
6157 2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>
6158
6159         PR bootstrap/59913
6160         * lra-constraints.c (need_for_split_p): Use more 3 reloads as
6161         threshold for pseudo splitting.
6162         (update_ebb_live_info): Process call argument hard registers and
6163         hard registers from insn definition too.
6164         (max_small_class_regs_num): New constant.
6165         (inherit_in_ebb): Update live hard regs through EBBs.  Update
6166         reloads_num only for small register classes.  Don't split for
6167         outputs of jumps.
6168
6169 2014-02-04  Markus Trippelsdorf  <markus@trippelsdorf.de>
6170
6171         PR ipa/60058
6172         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
6173         is non-null.
6174
6175 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
6176
6177         * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
6178         visibility is safe.
6179
6180 2014-02-04  Marek Polacek  <polacek@redhat.com>
6181
6182         * gdbinit.in (pel): Define.
6183
6184 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6185
6186         * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
6187         behavior.
6188
6189 2014-02-04  Richard Biener  <rguenther@suse.de>
6190
6191         PR lto/59723
6192         * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
6193         in function context local.
6194         (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
6195         * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
6196         similar to LTO_imported_decl_ref.
6197
6198 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
6199
6200         PR tree-optimization/60002
6201         * cgraphclones.c (build_function_decl_skip_args): Clear
6202         DECL_LANG_SPECIFIC.
6203
6204         PR tree-optimization/60023
6205         * tree-if-conv.c (predicate_mem_writes): Pass true instead of
6206         false to gsi_replace.
6207         * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
6208         has been in some EH region and vec_stmt could throw, add
6209         vec_stmt into the same EH region.
6210         * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
6211         has no lhs, ignore it.
6212         * internal-fn.c (expand_MASK_LOAD): Likewise.
6213
6214         PR ipa/60026
6215         * tree-inline.c (copy_forbidden): Fail for
6216         __attribute__((optimize (0))) functions.
6217
6218         PR other/58712
6219         * omp-low.c (simd_clone_struct_copy): If from->inbranch
6220         is set, copy one less argument.
6221         (expand_simd_clones): Don't subtract clone_info->inbranch
6222         from simd_clone_struct_alloc argument.
6223
6224         PR rtl-optimization/57915
6225         * recog.c (simplify_while_replacing): If all unary/binary/relational
6226         operation arguments are constant, attempt to simplify those.
6227
6228         PR middle-end/59261
6229         * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
6230         if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
6231
6232 2014-02-04  Richard Biener  <rguenther@suse.de>
6233
6234         PR tree-optimization/60012
6235         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
6236         TBAA disambiguation to all DDRs.
6237
6238 2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6239
6240         PR target/59788
6241         * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
6242         (LINK_SPEC): Use it for -shared, -shared-libgcc.
6243
6244 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
6245
6246         PR ipa/59882
6247         * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
6248
6249 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
6250
6251         * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
6252         * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
6253
6254 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
6255
6256         PR ipa/59831
6257         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
6258         to figure out targets of polymorphic calls with known decl.
6259         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
6260         * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
6261         * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
6262         (get_polymorphic_call_info): ... here.
6263         (get_polymorphic_call_info_from_invariant): New function.
6264
6265 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
6266
6267         * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
6268         lookup via vtable pointer; check for type consistency
6269         and turn inconsitent facts into UNREACHABLE.
6270         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
6271         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
6272         type inconsistent querries; return UNREACHABLE instead.
6273
6274 2014-02-03  Richard Henderson  <rth@twiddle.net>
6275
6276         PR tree-opt/59924
6277         * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
6278         already processed this node.
6279         (normalize_one_pred_1): Pass along mark_set.
6280         (normalize_one_pred): Create and destroy a pointer_set_t.
6281         (normalize_one_pred_chain): Likewise.
6282
6283 2014-02-03  Laurent Aflonsi  <laurent.alfonsi@st.com>
6284
6285         PR gcov-profile/58602
6286         * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
6287
6288 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
6289
6290         PR ipa/59831
6291         * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
6292         -fno-devirtualize; try to devirtualize by the knowledge of
6293         virtual table pointer given by aggregate propagation.
6294         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
6295         (ipa_print_node_jump_functions): Dump also offset that
6296         is relevant for polymorphic calls.
6297         (determine_known_aggregate_parts): Add arg_type parameter; use it
6298         instead of determining the type from pointer type.
6299         (ipa_compute_jump_functions_for_edge): Update call of
6300         determine_known_aggregate_parts.
6301         * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
6302         (gimple_get_virt_method_for_binfo): ... here; simplify using
6303         vtable_pointer_value_to_vtable.
6304         * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
6305         * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
6306         to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
6307         (vtable_pointer_value_to_vtable): Break out from ...; handle also
6308         POINTER_PLUS_EXPR.
6309         (vtable_pointer_value_to_binfo): ... here.
6310         * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
6311
6312 2014-02-03  Teresa Johnson  <tejohnson@google.com>
6313
6314         * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
6315         redef of outer loop index variable.
6316
6317 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
6318
6319         PR c++/53017
6320         PR c++/59211
6321         * doc/extend.texi (Function Attributes): Typo.
6322
6323 2014-02-03  Cong Hou  <congh@google.com>
6324
6325         PR tree-optimization/60000
6326         * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
6327         if the vectorized statement is a store.  A store statement can only
6328         appear at the end of pattern statements.
6329
6330 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
6331
6332         * config/i386/i386.c (flag_opts): Add -mlong-double-128.
6333         (ix86_option_override_internal): Default long double to 64-bit for
6334         32-bit Bionic and to 128-bit for 64-bit Bionic.
6335
6336         * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
6337         TARGET_LONG_DOUBLE_128 is true.
6338         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
6339
6340         * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
6341         (mlong-double-64): Negate -mlong-double-128.
6342         (mlong-double-128): New option.
6343
6344         * config/i386/i386-c.c (ix86_target_macros): Define
6345         __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
6346
6347         * doc/invoke.texi: Document -mlong-double-128.
6348
6349 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
6350
6351         PR rtl-optimization/60024
6352         * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
6353
6354 2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>
6355
6356         * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
6357
6358 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
6359
6360         PR rtl-optimization/57662
6361         * sel-sched.c (code_motion_path_driver): Do not mark already not
6362         existing blocks in the visiting bitmap.
6363
6364 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
6365
6366         * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
6367         on the insn being emitted.
6368
6369 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
6370             Will Deacon  <will.deacon@arm.com>
6371
6372         * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
6373
6374 2014-02-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6375
6376         * config/arm/arm-tables.opt: Regenerate.
6377
6378 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6379
6380         * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
6381         for vector types other than V16QImode.
6382         * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
6383         define_expand, and call altivec_expand_vec_perm_le when producing
6384         code with little endian element order.
6385         (*altivec_vperm_<mode>_internal): New insn having previous
6386         behavior of altivec_vperm_<mode>.
6387         (altivec_vperm_<mode>_uns): Change to a define_expand, and call
6388         altivec_expand_vec_perm_le when producing code with little endian
6389         element order.
6390         (*altivec_vperm_<mode>_uns_internal): New insn having previous
6391         behavior of altivec_vperm_<mode>_uns.
6392
6393 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6394
6395         * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
6396         (altivec_vsumsws): Add handling for -maltivec=be with a little
6397         endian target.
6398         (altivec_vsumsws_direct): New.
6399         (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
6400         gen_altivec_vsumsws.
6401
6402 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
6403
6404         * ipa-devirt.c (subbinfo_with_vtable_at_offset,
6405         vtable_pointer_value_to_binfo): New functions.
6406         * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
6407         * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
6408
6409 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
6410
6411         * config/nios2/nios2.md (load_got_register): Initialize GOT
6412         pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
6413         * config/nios2/nios2.c (nios2_function_profiler): Likewise.
6414
6415 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
6416
6417         * ipa-prop.c (update_jump_functions_after_inlining): When type is not
6418         preserverd by passthrough, do not propagate the type.
6419
6420 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
6421
6422         * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
6423         (mips_atomic_assign_expand_fenv): New function.
6424         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
6425
6426 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
6427
6428         * doc/extend.texi (__builtin_mips_get_fcsr): Document.
6429         (__builtin_mips_set_fcsr): Likewise.
6430         * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
6431         MIPS_USI_FTYPE_VOID.
6432         * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
6433         (mips16_expand_set_fcsr): Likewise.
6434         * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
6435         (mips16_set_fcsr_stub): Likewise.
6436         (mips16_get_fcsr_one_only_stub): New class.
6437         (mips16_set_fcsr_one_only_stub): Likewise.
6438         (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
6439         (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
6440         (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
6441         (hard_float): New availability predicate.
6442         (mips_builtins): Add get_fcsr and set_fcsr.
6443         (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
6444         * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
6445         (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
6446         (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
6447         (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
6448         patterns.
6449
6450 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
6451
6452         * config/mips/mips.c (mips_one_only_stub): New class.
6453         (mips_need_mips16_rdhwr_p): Replace with...
6454         (mips16_rdhwr_stub): ...this new variable.
6455         (mips16_stub_call_address): New function.
6456         (mips16_rdhwr_one_only_stub): New class.
6457         (mips_expand_thread_pointer): Use mips16_stub_call_address.
6458         (mips_output_mips16_rdhwr): Delete.
6459         (mips_finish_stub): New function.
6460         (mips_code_end): Use it to handle rdhwr stubs.
6461
6462 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
6463
6464         PR target/60017
6465         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
6466         when calculating size of integer atomic types.
6467
6468 2014-02-02  H.J. Lu  <hongjiu.lu@intel.com>
6469
6470         * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
6471
6472 2014-02-01  Jakub Jelinek  <jakub@redhat.com>
6473
6474         PR tree-optimization/60003
6475         * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
6476         * profile.c (branch_prob): Use gimple_call_builtin_p
6477         to check for BUILT_IN_SETJMP_RECEIVER.
6478         * tree-inline.c (copy_bb): Call notice_special_calls.
6479
6480 2014-01-31  Vladimir Makarov  <vmakarov@redhat.com>
6481
6482         PR bootstrap/59985
6483         * lra-constraints.c (process_alt_operands): Update reload_sum only
6484         on the first pass.
6485
6486 2014-01-31  Richard Henderson  <rth@redhat.com>
6487
6488         PR middle-end/60004
6489         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
6490         until after else_eh is processed.
6491
6492 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
6493
6494         * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
6495         (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
6496         (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
6497         in smmintrin.h, remove them.
6498         (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
6499         * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
6500         * config/i386/i386.md (ROUND_SAE): Fix value.
6501         * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
6502         (const48_operand): New.
6503         * config/i386/subst.md (round), (round_expand): Use
6504         const_4_or_8_to_11_operand.
6505         (round_saeonly), (round_saeonly_expand): Use const48_operand.
6506
6507 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
6508
6509         * config/i386/constraints.md (Yk): Swap meaning with k.
6510         * config/i386/i386.md (movhi_internal): Change Yk to k.
6511         (movqi_internal): Ditto.
6512         (*k<logic><mode>): Ditto.
6513         (*andhi_1): Ditto.
6514         (*andqi_1): Ditto.
6515         (kandn<mode>): Ditto.
6516         (*<code>hi_1): Ditto.
6517         (*<code>qi_1): Ditto.
6518         (kxnor<mode>): Ditto.
6519         (kortestzhi): Ditto.
6520         (kortestchi): Ditto.
6521         (kunpckhi): Ditto.
6522         (*one_cmplhi2_1): Ditto.
6523         (*one_cmplqi2_1): Ditto.
6524         * config/i386/sse.md (): Change k to Yk.
6525         (avx512f_load<mode>_mask): Ditto.
6526         (avx512f_blendm<mode>): Ditto.
6527         (avx512f_store<mode>_mask): Ditto.
6528         (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
6529         (avx512f_storedqu<mode>_mask): Ditto.
6530         (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
6531         Ditto.
6532         (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
6533         (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
6534         (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
6535         (avx512f_maskcmp<mode>3): Ditto.
6536         (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
6537         (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
6538         (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
6539         (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
6540         (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
6541         (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
6542         (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
6543         (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
6544         (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
6545         (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
6546         (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
6547         (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
6548         (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
6549         (vec_extract_lo_<mode>_maskm): Ditto.
6550         (vec_extract_hi_<mode>_maskm): Ditto.
6551         (avx512f_vternlog<mode>_mask): Ditto.
6552         (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
6553         (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
6554         (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
6555         (avx512f_<code>v8div16qi2_mask): Ditto.
6556         (avx512f_<code>v8div16qi2_mask_store): Ditto.
6557         (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
6558         (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
6559         (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
6560         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
6561         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
6562         (*avx512pf_gatherpf<mode>df_mask): Ditto.
6563         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6564         (*avx512pf_scatterpf<mode>df_mask): Ditto.
6565         (avx512cd_maskb_vec_dupv8di): Ditto.
6566         (avx512cd_maskw_vec_dupv16si): Ditto.
6567         (avx512f_vpermi2var<mode>3_maskz): Ditto.
6568         (avx512f_vpermi2var<mode>3_mask): Ditto.
6569         (avx512f_vpermi2var<mode>3_mask): Ditto.
6570         (avx512f_vpermt2var<mode>3_maskz): Ditto.
6571         (*avx512f_gathersi<mode>): Ditto.
6572         (*avx512f_gathersi<mode>_2): Ditto.
6573         (*avx512f_gatherdi<mode>): Ditto.
6574         (*avx512f_gatherdi<mode>_2): Ditto.
6575         (*avx512f_scattersi<mode>): Ditto.
6576         (*avx512f_scatterdi<mode>): Ditto.
6577         (avx512f_compress<mode>_mask): Ditto.
6578         (avx512f_compressstore<mode>_mask): Ditto.
6579         (avx512f_expand<mode>_mask): Ditto.
6580         * config/i386/subst.md (mask): Change k to Yk.
6581         (mask_scalar_merge): Ditto.
6582         (sd): Ditto.
6583
6584 2014-01-31  Marc Glisse  <marc.glisse@inria.fr>
6585
6586         * doc/extend.texi (Vector Extensions): Document ?: in C++.
6587
6588 2014-01-31  Richard Biener  <rguenther@suse.de>
6589
6590         PR middle-end/59990
6591         * builtins.c (fold_builtin_memory_op): Make sure to not
6592         use a floating-point mode or a boolean or enumeral type for
6593         the copy operation.
6594
6595 2014-01-30  DJ Delorie  <dj@redhat.com>
6596
6597         * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
6598         * config/msp430/msp430.md (msp430_refsym_need_exit): New.
6599         * config/msp430/msp430.c (msp430_expand_epilogue): Call it
6600         whenever main() has an epilogue.
6601
6602 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6603
6604         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
6605         unused variable "field".
6606         * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
6607         (vsx_mergeh_<mode>): Likewise.
6608         * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
6609         (altivec_vmrghh): Likewise.
6610         (altivec_vmrghw): Likewise.
6611         (altivec_vmrglb): Likewise.
6612         (altivec_vmrglh): Likewise.
6613         (altivec_vmrglw): Likewise.
6614         (altivec_vspltb): Add missing uses.
6615         (altivec_vsplth): Likewise.
6616         (altivec_vspltw): Likewise.
6617         (altivec_vspltsf): Likewise.
6618
6619 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
6620
6621         PR target/59923
6622         * ifcvt.c (cond_exec_process_insns): Don't conditionalize
6623         frame related instructions.
6624
6625 2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
6626
6627         PR rtl-optimization/59959
6628         * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
6629         any reload of register whose subreg is invalid.
6630
6631 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
6632
6633         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6634         * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
6635         Add missing return type - void.
6636
6637 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6638
6639         * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
6640         gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
6641         remove element index adjustment for endian (now handled in vsx.md
6642         and altivec.md).
6643         (altivec_expand_vec_perm_const): Use
6644         gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
6645         * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
6646         (vsx_xxspltw_<mode>): Adjust element index for little endian.
6647         * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
6648         define_expand and a new define_insn *altivec_vspltb_internal;
6649         adjust for -maltivec=be on a little endian target.
6650         (altivec_vspltb_direct): New.
6651         (altivec_vsplth): Divide into a define_expand and a new
6652         define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
6653         little endian target.
6654         (altivec_vsplth_direct): New.
6655         (altivec_vspltw): Divide into a define_expand and a new
6656         define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
6657         little endian target.
6658         (altivec_vspltw_direct): New.
6659         (altivec_vspltsf): Divide into a define_expand and a new
6660         define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
6661         a little endian target.
6662
6663 2014-01-30  Richard Biener  <rguenther@suse.de>
6664
6665         PR tree-optimization/59993
6666         * tree-ssa-forwprop.c (associate_pointerplus): Check we
6667         can propagate form the earlier stmt and avoid the transform
6668         when the intermediate result is needed.
6669
6670 2014-01-30  Alangi Derick  <alangiderick@gmail.com>
6671
6672         * README.Portability: Fix typo.
6673
6674 2014-01-30  David Holsgrove  <david.holsgrove@xilinx.com>
6675
6676         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
6677         comparison_operator with ordered_comparison_operator.
6678
6679 2014-01-30  Nick Clifton  <nickc@redhat.com>
6680
6681         * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
6682         Rename to mn10300_store_multiple_regs.
6683         * config/mn10300/mn10300.c: Likewise.
6684         * config/mn10300/mn10300.md (store_movm): Fix typo: call
6685         store_multiple_regs.
6686         * config/mn10300/predicates.md (mn10300_store_multiple_operation):
6687         Call mn10300_store_multiple_regs.
6688
6689 2014-01-30  Nick Clifton  <nickc@redhat.com>
6690             DJ Delorie  <dj@redhat.com>
6691
6692         * config/rl78/rl78.c (register_sizes): Make the "upper half" of
6693         %fp 2 to keep registers after it properly word-aligned.
6694         (rl78_alloc_physical_registers_umul): Handle the case where both
6695         input operands are the same.
6696
6697 2014-01-30  Richard Biener  <rguenther@suse.de>
6698
6699         PR tree-optimization/59903
6700         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
6701         check properly.
6702
6703 2014-01-30  Jason Merrill  <jason@redhat.com>
6704
6705         PR c++/59633
6706         * tree.c (walk_type_fields): Handle VECTOR_TYPE.
6707
6708         PR c++/59645
6709         * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
6710
6711 2014-01-30  Richard Biener  <rguenther@suse.de>
6712
6713         PR tree-optimization/59951
6714         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
6715
6716 2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>
6717
6718         PR target/59784
6719         * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
6720         SFmode to DFmode case.
6721
6722 2014-01-29  DJ Delorie  <dj@redhat.com>
6723
6724         * config/msp430/msp430.opt (-minrt): New.
6725         * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
6726         if -minrt given.
6727         (ENDFILE_SPEC): Likewise.
6728
6729 2014-01-29  Jan Hubicka  <hubicka@ucw.cz>
6730
6731         * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
6732         (estimate_function_body_sizes): Use it.
6733
6734 2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
6735
6736         PR c++/58561
6737         * dwarf2out.c (is_cxx_auto): New.
6738         (is_base_type): Use it.
6739         (gen_type_die_with_usage): Likewise.
6740
6741 2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6742
6743         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
6744         CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
6745         * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
6746         -maltivec=be with LE targets.
6747         (vsx_mergeh_<mode>): Likewise.
6748         * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
6749         (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
6750         (altivec_vmrghb): Replace with define_expand and new
6751         *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
6752         (altivec_vmrghb_direct): New define_insn.
6753         (altivec_vmrghh): Replace with define_expand and new
6754         *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
6755         (altivec_vmrghh_direct): New define_insn.
6756         (altivec_vmrghw): Replace with define_expand and new
6757         *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
6758         (altivec_vmrghw_direct): New define_insn.
6759         (*altivec_vmrghsf): Adjust for endianness.
6760         (altivec_vmrglb): Replace with define_expand and new
6761         *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
6762         (altivec_vmrglb_direct): New define_insn.
6763         (altivec_vmrglh): Replace with define_expand and new
6764         *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
6765         (altivec_vmrglh_direct): New define_insn.
6766         (altivec_vmrglw): Replace with define_expand and new
6767         *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
6768         (altivec_vmrglw_direct): New define_insn.
6769         (*altivec_vmrglsf): Adjust for endianness.
6770         (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
6771         (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
6772         (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
6773         (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
6774         (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
6775         (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
6776         (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
6777         (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
6778
6779 2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
6780
6781         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
6782         (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
6783         whitespace.
6784
6785 2014-01-29  Richard Biener  <rguenther@suse.de>
6786
6787         PR tree-optimization/58742
6788         * tree-ssa-forwprop.c (associate_pointerplus): Rename to
6789         associate_pointerplus_align.
6790         (associate_pointerplus_diff): New function.
6791         (associate_pointerplus): Likewise.  Call associate_pointerplus_align
6792         and associate_pointerplus_diff.
6793
6794 2014-01-29  Richard Biener  <rguenther@suse.de>
6795
6796         * lto-streamer.h (LTO_major_version): Bump to 3.
6797         (LTO_minor_version): Reset to 0.
6798
6799 2014-01-29  Renlin Li  <Renlin.Li@arm.com>
6800
6801         * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
6802         * config/arm/arm.c (FL_FOR_ARCH7VE): New.
6803         (arm_file_start): Generate correct asm header for armv7ve.
6804         * config/arm/bpabi.h: Add multilib support for armv7ve.
6805         * config/arm/driver-arm.c: Change the architectures of cortex-a7
6806         and cortex-a15 to armv7ve.
6807         * config/arm/t-aprofile: Add multilib support for armv7ve.
6808         * doc/invoke.texi: Document -march=armv7ve.
6809
6810 2014-01-29  Richard Biener  <rguenther@suse.de>
6811
6812         PR tree-optimization/58742
6813         * tree-ssa-forwprop.c (associate_plusminus): Return true
6814         if we changed sth, defer EH cleanup to ...
6815         (ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
6816         (simplify_mult): New function.
6817
6818 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
6819
6820         PR middle-end/59917
6821         PR tree-optimization/59920
6822         * tree.c (build_common_builtin_nodes): Remove
6823         __builtin_setjmp_dispatcher initialization.
6824         * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
6825         * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
6826         instead of gsi_after_labels + manually skipping debug stmts.
6827         Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
6828         ignore bbs with IFN_ABNORMAL_DISPATCHER.
6829         * tree-inline.c (copy_edges_for_bb): Remove
6830         can_make_abnormal_goto argument, instead add abnormal_goto_dest
6831         argument.  Ignore computed_goto_p stmts.  Don't call
6832         make_abnormal_goto_edges.  If a call might need abnormal edges
6833         for non-local gotos, see if it already has an edge to
6834         IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
6835         with true argument, don't do anything then, otherwise add
6836         EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
6837         (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
6838         caller.
6839         * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
6840         (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
6841         (lower_stmt): Don't set data->calls_builtin_setjmp.
6842         (lower_builtin_setjmp): Adjust comment.
6843         * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
6844         * tree-cfg.c (found_computed_goto): Remove.
6845         (factor_computed_gotos): Remove.
6846         (make_goto_expr_edges): Return bool, true for computed gotos.
6847         Don't call make_abnormal_goto_edges.
6848         (build_gimple_cfg): Don't set found_computed_goto, don't call
6849         factor_computed_gotos.
6850         (computed_goto_p): No longer static.
6851         (make_blocks): Don't set found_computed_goto.
6852         (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
6853         (make_edges): If make_goto_expr_edges returns true, push bb
6854         into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
6855         instead of calling make_abnormal_goto_edges push bb into ab_edge_call
6856         vector.  Record mapping between bbs and OpenMP regions if there
6857         are any, adjust make_gimple_omp_edges caller.  Call
6858         handle_abnormal_edges.
6859         (make_abnormal_goto_edges): Remove.
6860         * tree-cfg.h (make_abnormal_goto_edges): Remove.
6861         (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
6862         * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
6863         * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
6864         * internal-fn.def (ABNORMAL_DISPATCHER): New.
6865         * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
6866         filling *region also set *region_idx to (*region)->entry->index.
6867
6868         PR other/58712
6869         * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
6870         For REGs set ORIGINAL_REGNO.
6871
6872 2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
6873
6874         * doc/md.texi: Mention that a target shouldn't implement
6875         vec_widen_(s|u)mul_even/odd pair if it is less efficient
6876         than hi/lo pair.
6877
6878 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
6879
6880         PR tree-optimization/59594
6881         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
6882         a copy of the datarefs vector rather than the vector itself.
6883
6884 2014-01-28  Jason Merrill  <jason@redhat.com>
6885
6886         PR c++/53756
6887         * dwarf2out.c (auto_die): New static.
6888         (gen_type_die_with_usage): Handle C++1y 'auto'.
6889         (gen_subprogram_die): If in-class DIE had 'auto', emit type again
6890         on definition.
6891
6892 2014-01-28  H.J. Lu  <hongjiu.lu@intel.com>
6893
6894         PR target/59672
6895         * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
6896         (SPEC_X32): Likewise.
6897         (SPEC_64): Likewise.
6898         * config/i386/i386.c (ix86_option_override_internal): Turn off
6899         OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
6900         for TARGET_16BIT.
6901         (x86_file_start): Output .code16gcc for TARGET_16BIT.
6902         * config/i386/i386.h (TARGET_16BIT): New macro.
6903         (TARGET_16BIT_P): Likewise.
6904         * config/i386/i386.opt: Add m16.
6905         * doc/invoke.texi: Document -m16.
6906
6907 2014-01-28  Jakub Jelinek  <jakub@redhat.com>
6908
6909         PR preprocessor/59935
6910         * input.c (location_get_source_line): Bail out on when line number
6911         is zero, and test the return value of lookup_or_add_file_to_cache_tab.
6912
6913 2014-01-28  Richard Biener  <rguenther@suse.de>
6914
6915         PR tree-optimization/58742
6916         * tree-ssa-forwprop.c (associate_plusminus): Handle
6917         pointer subtraction of the form (T)(P + A) - (T)P.
6918
6919 2014-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6920
6921         * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
6922         at const_int_cost.
6923
6924 2014-01-28  Richard Biener  <rguenther@suse.de>
6925
6926         Revert
6927         2014-01-28  Richard Biener  <rguenther@suse.de>
6928
6929         PR rtl-optimization/45364
6930         PR rtl-optimization/59890
6931         * var-tracking.c (local_get_addr_clear_given_value): Handle
6932         already cleared slot.
6933         (val_reset): Handle not allocated local_get_addr_cache.
6934         (vt_find_locations): Use post-order on the inverted CFG.
6935
6936 2014-01-28  Richard Biener  <rguenther@suse.de>
6937
6938         * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6939
6940 2014-01-28  Richard Biener  <rguenther@suse.de>
6941
6942         PR rtl-optimization/45364
6943         PR rtl-optimization/59890
6944         * var-tracking.c (local_get_addr_clear_given_value): Handle
6945         already cleared slot.
6946         (val_reset): Handle not allocated local_get_addr_cache.
6947         (vt_find_locations): Use post-order on the inverted CFG.
6948
6949 2014-01-28  Alan Modra  <amodra@gmail.com>
6950
6951         * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
6952         * configure.ac <recursive call for build != host>: Define
6953         GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
6954         and LD_FOR_BUILD too.
6955         * configure: Regenerate.
6956
6957 2014-01-27  Allan Sandfeld Jensen  <sandfeld@kde.org>
6958
6959         * config/i386/i386.c (get_builtin_code_for_version): Separate
6960         Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
6961         Broadwell from Haswell.
6962
6963 2014-01-27  Steve Ellcey  <sellcey@mips.com>
6964
6965         * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
6966         Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
6967         * config/mips/mips.c (mips_option_override): Change setting
6968         of TARGET_DSP.
6969         * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
6970         * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
6971         Change from Mask to Var.
6972
6973 2014-01-27  Jeff Law  <law@redhat.com>
6974
6975         * ipa-inline.c (inline_small_functions): Fix typo.
6976
6977 2014-01-27  Ilya Tocar  <ilya.tocar@intel.com>
6978
6979         * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
6980         (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
6981         (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
6982         (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
6983         (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
6984         (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
6985         (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
6986         (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
6987         (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
6988         (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
6989         (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
6990         (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
6991         (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
6992         (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
6993         (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
6994         (_mm512_storeu_epi64): Ditto.
6995         (_mm512_cmpge_epi32_mask): Ditto.
6996         (_mm512_cmpge_epu32_mask): Ditto.
6997         (_mm512_cmpge_epi64_mask): Ditto.
6998         (_mm512_cmpge_epu64_mask): Ditto.
6999         (_mm512_cmple_epi32_mask): Ditto.
7000         (_mm512_cmple_epu32_mask): Ditto.
7001         (_mm512_cmple_epi64_mask): Ditto.
7002         (_mm512_cmple_epu64_mask): Ditto.
7003         (_mm512_cmplt_epi32_mask): Ditto.
7004         (_mm512_cmplt_epu32_mask): Ditto.
7005         (_mm512_cmplt_epi64_mask): Ditto.
7006         (_mm512_cmplt_epu64_mask): Ditto.
7007         (_mm512_cmpneq_epi32_mask): Ditto.
7008         (_mm512_cmpneq_epu32_mask): Ditto.
7009         (_mm512_cmpneq_epi64_mask): Ditto.
7010         (_mm512_cmpneq_epu64_mask): Ditto.
7011         (_mm512_expand_pd): Ditto.
7012         (_mm512_expand_ps): Ditto.
7013         * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
7014         VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
7015         VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
7016         * config/i386/i386.c (ix86_builtins): Add
7017         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
7018         IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
7019         IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
7020         IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
7021         IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
7022         IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
7023         IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
7024         IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
7025         IX86_BUILTIN_PMOVUSQW512_MEM.
7026         (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
7027         __builtin_ia32_pmovsqd512mem_mask,
7028         __builtin_ia32_pmovqd512mem_mask,
7029         __builtin_ia32_pmovusqw512mem_mask,
7030         __builtin_ia32_pmovsqw512mem_mask,
7031         __builtin_ia32_pmovqw512mem_mask,
7032         __builtin_ia32_pmovusdw512mem_mask,
7033         __builtin_ia32_pmovsdw512mem_mask,
7034         __builtin_ia32_pmovdw512mem_mask,
7035         __builtin_ia32_pmovqb512mem_mask,
7036         __builtin_ia32_pmovusqb512mem_mask,
7037         __builtin_ia32_pmovsqb512mem_mask,
7038         __builtin_ia32_pmovusdb512mem_mask,
7039         __builtin_ia32_pmovsdb512mem_mask,
7040         __builtin_ia32_pmovdb512mem_mask.
7041         (bdesc_args): Add __builtin_ia32_expanddf512,
7042         __builtin_ia32_expandsf512.
7043         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
7044         VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
7045         VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
7046         * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
7047         (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
7048         (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
7049         (avx512f_<code>v8div16qi2_mask_store): This.
7050         (avx512f_expand<mode>): New.
7051
7052 2014-01-27  Kirill Yukhin  <kirill.yukhin@intel.com>
7053
7054         * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
7055         New.
7056         (_mm512_mask_prefetch_i64gather_pd): Ditto.
7057         (_mm512_prefetch_i32scatter_pd): Ditto.
7058         (_mm512_mask_prefetch_i32scatter_pd): Ditto.
7059         (_mm512_prefetch_i64scatter_pd): Ditto.
7060         (_mm512_mask_prefetch_i64scatter_pd): Ditto.
7061         (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
7062         (_mm512_mask_prefetch_i64gather_ps): Ditto.
7063         (_mm512_prefetch_i32scatter_ps): Ditto.
7064         (_mm512_mask_prefetch_i32scatter_ps): Ditto.
7065         (_mm512_prefetch_i64scatter_ps): Ditto.
7066         (_mm512_mask_prefetch_i64scatter_ps): Ditto.
7067         * config/i386/i386-builtin-types.def: Define
7068         VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
7069         and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
7070         * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
7071         IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
7072         IX86_BUILTIN_SCATTERPFQPD.
7073         (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
7074         __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
7075         __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
7076         __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
7077         __builtin_ia32_scatterpfqps.
7078         (ix86_expand_builtin): Expand new built-ins.
7079         * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
7080         fix memory access data type.
7081         (*avx512pf_gatherpf<mode>_mask): Ditto.
7082         (*avx512pf_gatherpf<mode>): Ditto.
7083         (avx512pf_scatterpf<mode>): Ditto.
7084         (*avx512pf_scatterpf<mode>_mask): Ditto.
7085         (*avx512pf_scatterpf<mode>): Ditto.
7086         (GATHER_SCATTER_SF_MEM_MODE): New.
7087         (avx512pf_gatherpf<mode>df): Ditto.
7088         (*avx512pf_gatherpf<mode>df_mask): Ditto.
7089         (*avx512pf_scatterpf<mode>df): Ditto.
7090
7091 2014-01-27  Jakub Jelinek  <jakub@redhat.com>
7092
7093         PR bootstrap/59934
7094         * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
7095         know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
7096         reached.
7097
7098 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
7099
7100         * common/config/arm/arm-common.c
7101         (arm_rewrite_mcpu): Handle multiple names.
7102         * config/arm/arm.h
7103         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
7104
7105 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
7106
7107         * gimple-builder.h (create_gimple_tmp): Delete.
7108
7109 2014-01-27  Christian Bruel  <christian.bruel@st.com>
7110
7111         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
7112         words comparisons.
7113
7114 2014-01-26  John David Anglin  <danglin@gcc.gnu.org>
7115
7116         * config/pa/pa.md (call): Generate indirect long calls to non-local
7117         functions when outputing 32-bit code.
7118         (call_value): Likewise except for special call to buggy powf function.
7119
7120         * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
7121         portable runtime and PIC indirect calls.
7122         (pa_output_indirect_call): Remove unnecessary nop from portable runtime
7123         and PIC call sequences.  Use ldo instead of blr to set return register
7124         in PIC call sequence.
7125
7126 2014-01-25  Walter Lee  <walt@tilera.com>
7127
7128         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
7129         avoid clobbering a live register.
7130
7131 2014-01-25  Walter Lee  <walt@tilera.com>
7132
7133         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
7134         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
7135         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
7136         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
7137
7138 2014-01-25  Walter Lee  <walt@tilera.com>
7139
7140         * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
7141         arguments on even registers.
7142         (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
7143         STACK_BOUNDARY.
7144         * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
7145         (BIGGEST_ALIGNMENT): Ditto.
7146         (BIGGEST_FIELD_ALIGNMENT): Ditto.
7147
7148 2014-01-25  Walter Lee  <walt@tilera.com>
7149
7150         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
7151         insns before bundling.
7152         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
7153
7154 2014-01-25  Walter Lee  <walt@tilera.com>
7155
7156         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
7157         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
7158         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
7159
7160 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
7161
7162         * config/mips/constraints.md (kl): Delete.
7163         * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
7164         define expands, using...
7165         (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
7166         instructions for MIPS16.
7167         (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
7168         non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
7169
7170 2014-01-25  Walter Lee  <walt@tilera.com>
7171
7172         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
7173         (clzdi2): Ditto.
7174         (ffsdi2): Ditto.
7175
7176 2014-01-25  Walter Lee  <walt@tilera.com>
7177
7178         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
7179         (TARGET_EXPAND_TO_RTL_HOOK): Define.
7180
7181 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
7182
7183         * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
7184         Handle XOR.
7185
7186 2014-01-25  Jakub Jelinek  <jakub@redhat.com>
7187
7188         * print-rtl.c (in_call_function_usage): New var.
7189         (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
7190         EXPR_LIST mode as mode and not as reg note name.
7191
7192         PR middle-end/59561
7193         * cfgloopmanip.c (copy_loop_info): If
7194         loop->warned_aggressive_loop_optimizations, make sure
7195         the flag is set in target loop too.
7196
7197 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7198
7199         * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
7200         flag_cilkplus.
7201         * builtins.def: Likewise.
7202         * cilk.h (fn_contains_cilk_spawn_p): Likewise.
7203         * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
7204         * ira.c (ira_setup_eliminable_regset): Likewise.
7205         * omp-low.c (gate_expand_omp): Likewise.
7206         (execute_lower_omp): Likewise.
7207         (diagnose_sb_0): Likewise.
7208         (gate_diagnose_omp_blocks): Likewise.
7209         (simd_clone_clauses_extract): Likewise.
7210         (gate): Likewise.
7211
7212 2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7213
7214         * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
7215         correction for little endian...
7216         * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
7217         here.
7218
7219 2014-01-24  Jeff Law  <law@redhat.com>
7220
7221         PR tree-optimization/59919
7222         * tree-vrp.c (find_assert_locations_1): Do not register asserts
7223         for non-returning calls.
7224
7225 2014-01-24  James Greenhalgh  <james.greenhalgh@arm.com>
7226
7227         * common/config/aarch64/aarch64-common.c
7228         (aarch64_rewrite_mcpu): Handle multiple names.
7229         * config/aarch64/aarch64.h
7230         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
7231
7232 2014-01-24  Dodji Seketeli  <dodji@redhat.com>
7233
7234         * input.c (add_file_to_cache_tab): Handle the case where fopen
7235         returns NULL.
7236
7237 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
7238
7239         PR target/59929
7240         * config/i386/i386.md (pushsf splitter): Get stack adjustment
7241         from push operand if code of push isn't PRE_DEC.
7242
7243 2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
7244
7245         PR target/59909
7246         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
7247         -mquad-memory-atomic.  Update -mquad-memory documentation to say
7248         it is only used for non-atomic loads/stores.
7249
7250         * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
7251         -mquad-memory or -mquad-memory-atomic switches.
7252
7253         * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
7254         -mquad-memory-atomic to ISA 2.07 support.
7255
7256         * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
7257         to separate support of normal quad word memory operations (ldq, stq)
7258         from the atomic quad word memory operations.
7259
7260         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
7261         support to separate non-atomic quad word operations from atomic
7262         quad word operations.  Disable non-atomic quad word operations in
7263         little endian mode so that we don't have to swap words after the
7264         load and before the store.
7265         (quad_load_store_p): Add comment about atomic quad word support.
7266         (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
7267         options printed with -mdebug=reg.
7268
7269         * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
7270         -mquad-memory-atomic as the test for whether we have quad word
7271         atomic instructions.
7272         (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
7273         or -mp8-vector are used, allow byte/half-word atomic operations.
7274
7275         * config/rs6000/sync.md (load_lockedti): Insure that the address
7276         is a proper indexed or indirect address for the lqarx instruction.
7277         On little endian systems, swap the hi/lo registers after the lqarx
7278         instruction.
7279         (load_lockedpti): Use indexed_or_indirect_operand predicate to
7280         insure the address is valid for the lqarx instruction.
7281         (store_conditionalti): Insure that the address is a proper indexed
7282         or indirect address for the stqcrx. instruction.  On little endian
7283         systems, swap the hi/lo registers before doing the stqcrx.
7284         instruction.
7285         (store_conditionalpti): Use indexed_or_indirect_operand predicate to
7286         insure the address is valid for the stqcrx. instruction.
7287
7288         * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
7289         Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
7290         type of quad memory support is available.
7291
7292 2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>
7293
7294         PR regression/59915
7295         * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
7296         there is a danger of looping.
7297
7298 2014-01-23  Pat Haugen  <pthaugen@us.ibm.com>
7299
7300         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
7301         force flag_ira_loop_pressure if set via command line.
7302
7303 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
7304
7305         * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
7306         (ashr_simd): New builtin handling DI mode.
7307         * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
7308         (aarch64_sshr_simddi): New match pattern.
7309         * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
7310         (vshrd_n_s64): Likewise.
7311         * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
7312
7313 2014-01-23  Nick Clifton  <nickc@redhat.com>
7314
7315         * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
7316         (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
7317         favour of mcu specific scripts.
7318         * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
7319         430x multilibs.
7320
7321 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
7322             Alex Velenko  <Alex.Velenko@arm.com>
7323
7324         * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
7325         (vaddv_s16): Likewise.
7326         (vaddv_s32): Likewise.
7327         (vaddv_u8): Likewise.
7328         (vaddv_u16): Likewise.
7329         (vaddv_u32): Likewise.
7330         (vaddvq_s8): Likewise.
7331         (vaddvq_s16): Likewise.
7332         (vaddvq_s32): Likewise.
7333         (vaddvq_s64): Likewise.
7334         (vaddvq_u8): Likewise.
7335         (vaddvq_u16): Likewise.
7336         (vaddvq_u32): Likewise.
7337         (vaddvq_u64): Likewise.
7338         (vaddv_f32): Likewise.
7339         (vaddvq_f32): Likewise.
7340         (vaddvq_f64): Likewise.
7341         (vmaxv_f32): Likewise.
7342         (vmaxv_s8): Likewise.
7343         (vmaxv_s16): Likewise.
7344         (vmaxv_s32): Likewise.
7345         (vmaxv_u8): Likewise.
7346         (vmaxv_u16): Likewise.
7347         (vmaxv_u32): Likewise.
7348         (vmaxvq_f32): Likewise.
7349         (vmaxvq_f64): Likewise.
7350         (vmaxvq_s8): Likewise.
7351         (vmaxvq_s16): Likewise.
7352         (vmaxvq_s32): Likewise.
7353         (vmaxvq_u8): Likewise.
7354         (vmaxvq_u16): Likewise.
7355         (vmaxvq_u32): Likewise.
7356         (vmaxnmv_f32): Likewise.
7357         (vmaxnmvq_f32): Likewise.
7358         (vmaxnmvq_f64): Likewise.
7359         (vminv_f32): Likewise.
7360         (vminv_s8): Likewise.
7361         (vminv_s16): Likewise.
7362         (vminv_s32): Likewise.
7363         (vminv_u8): Likewise.
7364         (vminv_u16): Likewise.
7365         (vminv_u32): Likewise.
7366         (vminvq_f32): Likewise.
7367         (vminvq_f64): Likewise.
7368         (vminvq_s8): Likewise.
7369         (vminvq_s16): Likewise.
7370         (vminvq_s32): Likewise.
7371         (vminvq_u8): Likewise.
7372         (vminvq_u16): Likewise.
7373         (vminvq_u32): Likewise.
7374         (vminnmv_f32): Likewise.
7375         (vminnmvq_f32): Likewise.
7376         (vminnmvq_f64): Likewise.
7377
7378 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
7379
7380         * config/aarch64/aarch64-simd.md
7381         (aarch64_dup_lane<mode>): Correct lane number on big-endian.
7382         (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
7383         (*aarch64_mul3_elt<mode>): Likewise.
7384         (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
7385         (*aarch64_mul3_elt_to_64v2df): Likewise.
7386         (*aarch64_mla_elt<mode>): Likewise.
7387         (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
7388         (*aarch64_mls_elt<mode>): Likewise.
7389         (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
7390         (*aarch64_fma4_elt<mode>): Likewise.
7391         (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
7392         (*aarch64_fma4_elt_to_64v2df): Likewise.
7393         (*aarch64_fnma4_elt<mode>): Likewise.
7394         (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
7395         (*aarch64_fnma4_elt_to_64v2df): Likewise.
7396         (aarch64_sq<r>dmulh_lane<mode>): Likewise.
7397         (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
7398         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
7399         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
7400         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
7401         (aarch64_sqdmull_lane<mode>_internal): Likewise.
7402         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
7403
7404 2013-01-23  Alex Velenko  <Alex.Velenko@arm.com>
7405
7406         * config/aarch64/aarch64-simd.md
7407         (aarch64_be_checked_get_lane<mode>): New define_expand.
7408         * config/aarch64/aarch64-simd-builtins.def
7409         (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
7410         New builtin definition.
7411         * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
7412         Use new safe be builtin.
7413
7414 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
7415
7416         * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
7417         New define_insn.
7418         (aarch64_be_st1<mode>): Likewise.
7419         (aarch_ld1<VALL:mode>): Define_expand modified.
7420         (aarch_st1<VALL:mode>): Likewise.
7421         * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
7422         (UNSPEC_ST1): Likewise.
7423
7424 2014-01-23  David Holsgrove  <david.holsgrove@xilinx.com>
7425
7426         * config/microblaze/microblaze.md: Add trap insn and attribute
7427
7428 2014-01-23  Dodji Seketeli  <dodji@redhat.com>
7429
7430         PR preprocessor/58580
7431         * input.h (location_get_source_line): Take an additional line_size
7432         parameter.
7433         (void diagnostics_file_cache_fini): Declare new function.
7434         * input.c (struct fcache): New type.
7435         (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
7436         New static constants.
7437         (diagnostic_file_cache_init, total_lines_num)
7438         (lookup_file_in_cache_tab, evicted_cache_tab_entry)
7439         (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
7440         (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
7441         (get_next_line, read_next_line, goto_next_line, read_line_num):
7442         New static function definitions.
7443         (diagnostic_file_cache_fini): New function.
7444         (location_get_source_line): Take an additional output line_len
7445         parameter.  Re-write using lookup_or_add_file_to_cache_tab and
7446         read_line_num.
7447         * diagnostic.c (diagnostic_finish): Call
7448         diagnostic_file_cache_fini.
7449         (adjust_line): Take an additional input parameter for the length
7450         of the line, rather than calculating it with strlen.
7451         (diagnostic_show_locus): Adjust the use of
7452         location_get_source_line and adjust_line with respect to their new
7453         signature.  While displaying a line now, do not stop at the first
7454         null byte.  Rather, display the zero byte as a space and keep
7455         going until we reach the size of the line.
7456         * Makefile.in: Add vec.o to OBJS-libcommon
7457
7458 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
7459             Ilya Tocar     <ilya.tocar@intel.com>
7460
7461         * config/i386/avx512fintrin.h (_mm512_kmov): New.
7462         * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
7463         (__builtin_ia32_kmov16): Ditto.
7464         * config/i386/i386.md (UNSPEC_KMOV): New.
7465         (kmovw): Ditto.
7466
7467 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
7468
7469         * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
7470         (_mm512_storeu_si512): Ditto.
7471
7472 2014-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
7473
7474         PR target/52125
7475         * rtl.h (get_referenced_operands): Declare.
7476         * recog.c (get_referenced_operands): New function.
7477         * config/mips/mips.c (mips_reorg_process_insns): Check which asm
7478         operands have been referenced when recording LO_SUM references.
7479
7480 2014-01-22  David Holsgrove  <david.holsgrove@xilinx.com>
7481
7482         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
7483
7484 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
7485
7486         * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
7487         Enable for generic and recent AMD targets.
7488
7489 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
7490
7491         * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
7492         ARG_SIZE note when adjustment was eliminated.
7493
7494 2014-01-22  Jeff Law  <law@redhat.com>
7495
7496         PR tree-optimization/59597
7497         * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
7498         in file.  Accept new argument REGISTERING and use it to modify
7499         dump output appropriately.
7500         (register_jump_thread): Corresponding changes.
7501         (mark_threaded_blocks): Reinstate code to cancel unprofitable
7502         thread paths involving joiner blocks.  Add code to dump cancelled
7503         jump threading paths.
7504
7505 2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>
7506
7507         PR rtl-optimization/59477
7508         * lra-constraints.c (inherit_in_ebb): Process call for living hard
7509         regs.  Update reloads_num and potential_reload_hard_regs for all insns.
7510
7511 2014-01-22  Tom Tromey  <tromey@redhat.com>
7512
7513         * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
7514         PARAMS.
7515         * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
7516
7517 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
7518
7519         PR rtl-optimization/59896
7520         * lra-constraints.c (process_alt_operands): Check unused note for
7521         matched operands of insn with no output reloads.
7522
7523 2014-01-21  Richard Sandiford  <rdsandiford@googlemail.com>
7524
7525         * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
7526         (mips_move_from_gpr_cost): Likewise.
7527
7528 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
7529
7530         PR rtl-optimization/59858
7531         * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
7532         ira_class_hard_regs_num.
7533         (process_alt_operands): Increase reject for dying matched operand.
7534
7535 2014-01-21  Jakub Jelinek  <jakub@redhat.com>
7536
7537         PR target/59003
7538         * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
7539         smaller than size, perform several stores or loads and stores
7540         at dst + count - size to store or copy all of size bytes, rather
7541         than just last modesize bytes.
7542
7543 2014-01-20  DJ Delorie  <dj@redhat.com>
7544
7545         * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
7546         that CLOBBERs are REGs before propogating their values.
7547
7548 2014-01-20  H.J. Lu  <hongjiu.lu@intel.com>
7549
7550         PR middle-end/59789
7551         * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
7552         (cgraph_inline_failed_type): New function.
7553         * cgraph.h (DEFCIFCODE): Add type.
7554         (cgraph_inline_failed_type_t): New enum.
7555         (cgraph_inline_failed_type): New prototype.
7556         * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
7557         FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
7558         FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
7559         LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
7560         MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
7561         RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
7562         OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
7563         INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
7564         Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
7565         FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
7566         EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
7567         OPTIMIZATION_MISMATCH.
7568         * tree-inline.c (expand_call_inline): Emit errors during
7569         early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
7570
7571 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
7572
7573         PR target/59685
7574         * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
7575         mode attribute in insn output.
7576
7577 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
7578
7579         * output.h (output_constant): Delete.
7580         * varasm.c (output_constant): Make private.
7581
7582 2014-01-20  Alex Velenko  <Alex.Velenko@arm.com>
7583
7584         * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
7585
7586 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
7587
7588         PR middle-end/59860
7589         * tree.h (fold_builtin_strcat): New prototype.
7590         * builtins.c (fold_builtin_strcat): No longer static.  Add len
7591         argument, if non-NULL, don't call c_strlen.  Optimize
7592         directly into __builtin_memcpy instead of __builtin_strcpy.
7593         (fold_builtin_2): Adjust fold_builtin_strcat caller.
7594         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
7595
7596 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
7597
7598         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
7599         for SImode_address_operand operands, having only a REG argument.
7600
7601 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
7602
7603         * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
7604         loader name using mbig-endian.
7605         (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
7606
7607 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
7608
7609         * doc/invoke.texi (-march): Clarify documentation for AArch64.
7610         (-mtune): Likewise.
7611         (-mcpu): Likewise.
7612
7613 2014-01-20  Tejas Belagod  <tejas.belagod@arm.com>
7614
7615         * config/aarch64/aarch64-protos.h
7616         (aarch64_cannot_change_mode_class_ptr): Declare.
7617         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
7618         aarch64_cannot_change_mode_class_ptr): New.
7619         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
7620         backend hook aarch64_cannot_change_mode_class.
7621
7622 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
7623
7624         * common/config/aarch64/aarch64-common.c
7625         (aarch64_handle_option): Don't handle any option order logic here.
7626         * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
7627         selected_cpu, warn on architecture version mismatch.
7628         (aarch64_override_options): Fix parsing order for option strings.
7629
7630 2014-01-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
7631             Iain Sandoe  <iain@codesourcery.com>
7632
7633         PR bootstrap/59496
7634         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
7635         warning.  Amend comment to reflect current functionality.
7636
7637 2014-01-20  Richard Biener  <rguenther@suse.de>
7638
7639         PR middle-end/59860
7640         * builtins.c (fold_builtin_strcat): Remove case better handled
7641         by tree-ssa-strlen.c.
7642
7643 2014-01-20  Alan Lawrence  <alan.lawrence@arm.com>
7644
7645         * config/aarch64/aarch64.opt
7646         (mcpu, march, mtune): Make case-insensitive.
7647
7648 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
7649
7650         PR target/59880
7651         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
7652         if operands[1] is a REG or ZERO_EXTEND of a REG.
7653
7654 2014-01-19  Jan Hubicka  <hubicka@ucw.cz>
7655
7656         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
7657
7658 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
7659
7660         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
7661         long non-pic millicode calls.
7662
7663 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
7664
7665         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
7666
7667 2014-01-19  Kito Cheng  <kito@0xlab.org>
7668
7669         * builtins.c (expand_movstr): Check movstr expand done or fail.
7670
7671 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
7672             H.J. Lu  <hongjiu.lu@intel.com>
7673
7674         PR target/59379
7675         * config/i386/i386.md (*lea<mode>): Zero-extend return register
7676         to DImode for zero-extended addresses.
7677
7678 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
7679
7680         PR rtl-optimization/57763
7681         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
7682         on the new indirect jump_insn and increment LABEL_NUSES (label).
7683
7684 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
7685
7686         PR bootstrap/59580
7687         PR bootstrap/59583
7688         * config.gcc (x86_archs): New variable.
7689         (x86_64_archs): Likewise.
7690         (x86_cpus): Likewise.
7691         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
7692         --with-arch/--with-cpu= options.
7693         Support --with-arch=/--with-cpu={nehalem,westmere,
7694         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
7695
7696 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
7697
7698         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
7699         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
7700
7701 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
7702
7703         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
7704
7705 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
7706
7707         PR target/58944
7708         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
7709         clear cpp_get_options (parse_in)->warn_unused_macros for
7710         ix86_target_macros_internal with cpp_define.
7711
7712 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
7713
7714         * jump.c (delete_related_insns): Keep (use (insn))s.
7715         * reorg.c (redundant_insn): Check for barriers too.
7716
7717 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
7718
7719         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
7720
7721 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
7722
7723         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
7724         call to $$dyncall when TARGET_LONG_CALLS is true.
7725
7726 2014-01-17  Jeff Law  <law@redhat.com>
7727
7728         * ree.c (combine_set_extension): Temporarily disable test for
7729         changing number of hard registers.
7730
7731 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
7732
7733         PR middle-end/58125
7734         * ipa-inline-analysis.c (inline_free_summary):
7735         Do not free summary of aliases.
7736
7737 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
7738
7739         PR middle-end/59706
7740         * gimplify.c (gimplify_expr): Use create_tmp_var
7741         instead of create_tmp_var_raw.  If cond doesn't have
7742         integral type, don't add the IFN_ANNOTATE builtin at all.
7743
7744 2014-01-17  Martin Jambor  <mjambor@suse.cz>
7745
7746         PR ipa/59736
7747         * ipa-cp.c (prev_edge_clone): New variable.
7748         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
7749         Also resize prev_edge_clone vector.
7750         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
7751         (ipcp_edge_removal_hook): New function.
7752         (ipcp_driver): Register ipcp_edge_removal_hook.
7753
7754 2014-01-17  Andrew Pinski  <apinski@cavium.com>
7755             Steve Ellcey  <sellcey@mips.com>
7756
7757         PR target/59462
7758         * config/mips/mips.c (mips_print_operand): Check operand mode instead
7759         of operator mode.
7760
7761 2014-01-17  Jeff Law  <law@redhat.com>
7762
7763         PR middle-end/57904
7764         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
7765         so that pass_ccp runs first.
7766
7767 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
7768
7769         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
7770         (ix86_adjust_cost): Use !TARGET_XXX.
7771         (do_reorder_for_imul): Likewise.
7772         (swap_top_of_ready_list): Likewise.
7773         (ix86_sched_reorder): Likewise.
7774
7775 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
7776
7777         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
7778         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
7779         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
7780         (intel_memset): New.  Duplicate slm_memset.
7781         (intel_cost): New.  Duplicate slm_cost.
7782         (m_INTEL): New macro.
7783         (processor_target_table): Add "intel".
7784         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
7785         with PROCESSOR_INTEL for "intel".
7786         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
7787         PROCESSOR_SILVERMONT.
7788         (ix86_issue_rate): Likewise.
7789         (ix86_adjust_cost): Likewise.
7790         (ia32_multipass_dfa_lookahead): Likewise.
7791         (swap_top_of_ready_list): Likewise.
7792         (ix86_sched_reorder): Likewise.
7793         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
7794         instead of TARGET_OPT_AGU.
7795         * config/i386/i386.h (TARGET_INTEL): New.
7796         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
7797         (processor_type): Add PROCESSOR_INTEL.
7798         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
7799         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
7800
7801 2014-01-17  Marek Polacek  <polacek@redhat.com>
7802
7803         PR c/58346
7804         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
7805         size is zero.
7806
7807 2014-01-17  Richard Biener  <rguenther@suse.de>
7808
7809         PR tree-optimization/46590
7810         * opts.c (default_options_table): Add entries for
7811         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
7812         all enabled at -O1 but not for -Og.
7813         * common.opt (fbranch-count-reg): Remove Init(1).
7814         (fmove-loop-invariants): Likewise.
7815         (ftree-pta): Likewise.
7816
7817 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
7818
7819         * config/i386/i386.c (ix86_data_alignment): For compatibility with
7820         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
7821         decls to at least the GCC 4.8 used alignments.
7822
7823         PR fortran/59440
7824         * tree-nested.c (convert_nonlocal_reference_stmt,
7825         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
7826         of GIMPLE_BIND stmts, adjust associated decls.
7827
7828 2014-01-17  Richard Biener  <rguenther@suse.de>
7829
7830         PR tree-optimization/46590
7831         * vec.h (vec<>::bseach): New member function implementing
7832         binary search according to C89 bsearch.
7833         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
7834         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
7835         bitmap pointer again.  Make accesses_in_loop a flat array.
7836         (mem_ref_obstack): New global.
7837         (outermost_indep_loop): Adjust for mem_ref->stored changes.
7838         (mark_ref_stored): Likewise.
7839         (ref_indep_loop_p_2): Likewise.
7840         (set_ref_stored_in_loop): New helper function.
7841         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
7842         (memref_free): Adjust.
7843         (record_mem_ref_loc): Simplify.
7844         (gather_mem_refs_stmt): Adjust.
7845         (sort_locs_in_loop_postorder_cmp): New function.
7846         (analyze_memory_references): Sort accesses_in_loop after
7847         loop postorder number.
7848         (find_ref_loc_in_loop_cmp): New function.
7849         (for_all_locs_in_loop): Find relevant cluster of locs in
7850         accesses_in_loop and iterate without recursion.
7851         (execute_sm): Avoid uninit warning.
7852         (struct ref_always_accessed): Simplify.
7853         (ref_always_accessed::operator ()): Likewise.
7854         (ref_always_accessed_p): Likewise.
7855         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
7856         loop postorder numbers here.
7857         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
7858         numbers.
7859
7860 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
7861
7862         PR c++/57945
7863         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
7864         on decls for which assemble_alias has been called.
7865
7866 2014-01-17  Nick Clifton  <nickc@redhat.com>
7867
7868         * config/msp430/msp430.opt: (mcpu): New option.
7869         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
7870         (msp430_option_override): Parse target_cpu.  If the MCU name
7871         matches a generic string, clear target_mcu.
7872         (msp430_attr): Allow numeric interrupt values up to 63.
7873         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
7874         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
7875         option.
7876         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
7877         Add mcpu matches.
7878         * config/msp430/msp430.md (popm): Use %J rather than %I.
7879         (addsi3): Use msp430_nonimmediate_operand for operand 2.
7880         (addhi_cy_i): Use immediate_operand for operand 2.
7881         * doc/invoke.texi: Document -mcpu option.
7882
7883 2014-01-17  Richard Biener  <rguenther@suse.de>
7884
7885         PR rtl-optimization/38518
7886         * df.h (df_analyze_loop): Declare.
7887         * df-core.c: Include cfgloop.h.
7888         (df_analyze_1): Split out main part of df_analyze.
7889         (df_analyze): Adjust.
7890         (loop_inverted_post_order_compute): New function.
7891         (loop_post_order_compute): Likewise.
7892         (df_analyze_loop): New function avoiding whole-function
7893         postorder computes.
7894         * loop-invariant.c (find_defs): Use df_analyze_loop.
7895         (find_invariants): Adjust.
7896         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
7897
7898 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
7899
7900         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
7901         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
7902
7903 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
7904
7905         * ipa-ref.c (ipa_remove_stmt_references): Fix references
7906         traversal when removing references.
7907
7908 2014-01-16  Jan Hubicka  <hubicka@ucw.cz>
7909
7910         PR ipa/59775
7911         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
7912
7913 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
7914
7915         PR middle-end/56791
7916         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
7917         pushing a reload for an autoinc when we had previously reloaded an
7918         inner part of the address.
7919
7920 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
7921
7922         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
7923         field.
7924         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
7925         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
7926         when not giving up or versioning for alias only because of
7927         loop->safelen.
7928         (vect_analyze_data_ref_dependences): Set to true.
7929         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
7930         is a GIMPLE_PHI.
7931         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
7932         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
7933         to the condition.
7934
7935         PR middle-end/58344
7936         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
7937
7938         PR target/59839
7939         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
7940         operand 0 predicate for gathers, use a new pseudo as subtarget.
7941
7942 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
7943
7944         PR middle-end/59609
7945         * lra-constraints.c (process_alt_operands): Add printing debug info.
7946         Check absence of input/output reloads for matched operands too.
7947
7948 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
7949
7950         PR rtl-optimization/59835
7951         * ira.c (ira_init_register_move_cost): Increase cost for
7952         impossible modes.
7953
7954 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
7955
7956         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
7957
7958 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
7959
7960         PR target/59780
7961         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
7962         non-register objects.  Use gen_(high/low)part more consistently.
7963         Fix assertions.
7964
7965 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
7966
7967         PR target/59844
7968         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
7969         endian support, remove tests for WORDS_BIG_ENDIAN.
7970         (p8_mfvsrd_3_<mode>): Likewise.
7971         (reload_gpr_from_vsx<mode>): Likewise.
7972         (reload_gpr_from_vsxsf): Likewise.
7973         (p8_mfvsrd_4_disf): Likewise.
7974
7975 2014-01-16  Richard Biener  <rguenther@suse.de>
7976
7977         PR rtl-optimization/46590
7978         * lcm.c (compute_antinout_edge): Use postorder iteration.
7979         (compute_laterin): Use inverted postorder iteration.
7980
7981 2014-01-16  Nick Clifton  <nickc@redhat.com>
7982
7983         PR middle-end/28865
7984         * varasm.c (output_constant): Return the number of bytes actually
7985         emitted.
7986         (output_constructor_array_range): Update the field size with the
7987         number of bytes emitted by output_constant.
7988         (output_constructor_regular_field): Likewise.  Also do not
7989         complain if the total number of bytes emitted is now greater
7990         than the expected fieldpos.
7991         * output.h (output_constant): Update prototype and descriptive comment.
7992
7993 2014-01-16  Marek Polacek  <polacek@redhat.com>
7994
7995         PR middle-end/59827
7996         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
7997         it is error_mark_node.
7998
7999 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
8000
8001         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
8002         VALID_AVX256_REG_OR_OI_MODE.
8003
8004 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
8005
8006         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
8007         current procedure should be profiled.
8008
8009 2014-01-15  Andrew Pinski  <apinski@cavium.com>
8010
8011         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
8012         of moving from/to the STACK_REG register class.
8013
8014 2014-01-15  Richard Henderson  <rth@redhat.com>
8015
8016         PR debug/54694
8017         * reginfo.c (global_regs_decl): Globalize.
8018         * rtl.h (global_regs_decl): Declare.
8019         * ira.c (do_reload): Diagnose frame_pointer_needed and it
8020         reserved via global_regs.
8021
8022 2014-01-15  Teresa Johnson  <tejohnson@google.com>
8023
8024         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
8025
8026 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
8027
8028         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
8029         and vmulosh rather than call gen_vec_widen_smult_*.
8030         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
8031         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
8032         (vec_widen_smult_even_v16qi): Likewise.
8033         (vec_widen_umult_even_v8hi): Likewise.
8034         (vec_widen_smult_even_v8hi): Likewise.
8035         (vec_widen_umult_odd_v16qi): Likewise.
8036         (vec_widen_smult_odd_v16qi): Likewise.
8037         (vec_widen_umult_odd_v8hi): Likewise.
8038         (vec_widen_smult_odd_v8hi): Likewise.
8039         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
8040         vmuloub rather than call gen_vec_widen_umult_*.
8041         (vec_widen_umult_lo_v16qi): Likewise.
8042         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
8043         vmulosb rather than call gen_vec_widen_smult_*.
8044         (vec_widen_smult_lo_v16qi): Likewise.
8045         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
8046         rather than call gen_vec_widen_umult_*.
8047         (vec_widen_umult_lo_v8hi): Likewise.
8048         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
8049         rather than call gen_vec_widen_smult_*.
8050         (vec_widen_smult_lo_v8hi): Likewise.
8051
8052 2014-01-15  Jeff Law  <law@redhat.com>
8053
8054         PR tree-optimization/59747
8055         * ree.c (find_and_remove_re): Properly handle case where a second
8056         eliminated extension requires widening a copy created for elimination
8057         of a prior extension.
8058         (combine_set_extension): Ensure that the number of hard regs needed
8059         for a destination register does not change when we widen it.
8060
8061 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8062
8063         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
8064         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
8065         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
8066         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
8067         (avr-*-rtems*): Likewise.
8068         (bfin*-rtems*): Likewise.
8069         (moxie-*-rtems*): Likewise.
8070         (h8300-*-rtems*): Likewise.
8071         (i[34567]86-*-rtems*): Likewise.
8072         (lm32-*-rtems*): Likewise.
8073         (m32r-*-rtems*): Likewise.
8074         (m68k-*-rtems*): Likewise.
8075         (microblaze*-*-rtems*): Likewise.
8076         (mips*-*-rtems*): Likewise.
8077         (powerpc-*-rtems*): Likewise.
8078         (sh-*-rtems*): Likewise.
8079         (sparc-*-rtems*): Likewise.
8080         (sparc64-*-rtems*): Likewise.
8081         (v850-*-rtems*): Likewise.
8082         (m32c-*-rtems*): Likewise.
8083
8084 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
8085
8086         PR rtl-optimization/59511
8087         * ira.c (ira_init_register_move_cost): Use memory costs for some
8088         cases of register move cost calculations.
8089         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
8090         instead of BB frequency.
8091         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
8092         * lra-assigns.c (find_hard_regno_for): Ditto.
8093
8094 2014-01-15  Richard Biener  <rguenther@suse.de>
8095
8096         PR tree-optimization/59822
8097         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
8098         (vectorizable_load): Use it to hoist defs of uses of invariant
8099         loads out of the loop.
8100
8101 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
8102             Kugan Vivekanandarajah  <kuganv@linaro.org>
8103
8104         PR target/59695
8105         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
8106         truncation.
8107
8108 2014-01-15  Richard Biener  <rguenther@suse.de>
8109
8110         PR rtl-optimization/59802
8111         * lcm.c (compute_available): Use inverted postorder to seed
8112         the initial worklist.
8113
8114 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8115
8116         PR target/59803
8117         * config/s390/s390.c (s390_preferred_reload_class): Don't return
8118         ADDR_REGS for invalid symrefs in non-PIC code.
8119
8120 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
8121
8122         PR other/58712
8123         * builtins.c (determine_block_size): Initialize *probable_max_size
8124         even if len_rtx is CONST_INT.
8125
8126 2014-01-14  Andrew Pinski  <apinski@cavium.com>
8127
8128         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
8129         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
8130         (cortexa53_tunings): Likewise.
8131         (aarch64_sched_issue_rate): New function.
8132         (TARGET_SCHED_ISSUE_RATE): Define.
8133
8134 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
8135
8136         * ira-costs.c (find_costs_and_classes): Add missed
8137         ira_init_register_move_cost_if_necessary.
8138
8139 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
8140
8141         PR target/59787
8142         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
8143
8144 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
8145
8146         PR target/59794
8147         * config/i386/i386.c (type_natural_mode): Add a bool parameter
8148         to indicate if type is used for function return value.  Warn ABI
8149         change if the vector mode isn't available for function return value.
8150         (ix86_function_arg_advance): Pass false to type_natural_mode.
8151         (ix86_function_arg): Likewise.
8152         (ix86_gimplify_va_arg): Likewise.
8153         (function_arg_32): Don't warn ABI change.
8154         (ix86_function_value): Pass true to type_natural_mode.
8155         (ix86_return_in_memory): Likewise.
8156         (ix86_struct_value_rtx): Removed.
8157         (TARGET_STRUCT_VALUE_RTX): Likewise.
8158
8159 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
8160
8161         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
8162         converting a conditional jump into a conditional return.
8163
8164 2014-01-14  Richard Biener  <rguenther@suse.de>
8165
8166         PR tree-optimization/58921
8167         PR tree-optimization/59006
8168         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
8169         hoisting invariant stmts.
8170         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
8171         invariant loads on the preheader edge if possible.
8172
8173 2014-01-14  Joey Ye  <joey.ye@arm.com>
8174
8175         * doc/plugin.texi (Building GCC plugins): Update to C++.
8176
8177 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
8178
8179         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
8180         (_mm_rcp28_round_ss): Ditto.
8181         (_mm_rsqrt28_round_sd): Ditto.
8182         (_mm_rsqrt28_round_ss): Ditto.
8183         (_mm_rcp28_sd): Ditto.
8184         (_mm_rcp28_ss): Ditto.
8185         (_mm_rsqrt28_sd): Ditto.
8186         (_mm_rsqrt28_ss): Ditto.
8187         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
8188         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
8189         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
8190         (IX86_BUILTIN_RCP28SD): Ditto.
8191         (IX86_BUILTIN_RCP28SS): Ditto.
8192         (IX86_BUILTIN_RSQRT28SD): Ditto.
8193         (IX86_BUILTIN_RSQRT28SS): Ditto.
8194         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
8195         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
8196         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
8197         (ix86_expand_special_args_builtin): Expand new FTYPE.
8198         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
8199         (srcp14<mode>): Make insn unary.
8200         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
8201         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
8202         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
8203         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
8204         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
8205         Fix rounding: make it SAE only.
8206         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
8207         Ditto.
8208         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
8209         Ditto.
8210         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
8211         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
8212         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
8213         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
8214         (round_saeonly_mask_scalar_operand4): Ditto.
8215         (round_saeonly_mask_scalar_op3): Ditto.
8216         (round_saeonly_mask_scalar_op4): Ditto.
8217
8218 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8219
8220         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
8221         Implement -maltivec=be for vec_insert and vec_extract.
8222
8223 2014-01-10  DJ Delorie  <dj@redhat.com>
8224
8225         * config/msp430/msp430.md (call_internal): Don't allow memory
8226         references with SP as the base register.
8227         (call_value_internal): Likewise.
8228         * config/msp430/constraints.md (Yc): New.  For memory references
8229         that don't use SP as a base register.
8230
8231         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
8232         "an integer without a # prefix"
8233         * config/msp430/msp430.md (epilogue_helper): Use it.
8234
8235 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
8236
8237         PR target/59617
8238         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
8239         AVX512F gather builtins.
8240         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
8241         on gather decls with INTEGER_TYPE masktype.
8242         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
8243         directly into the builtin rather than hoisting it before loop.
8244
8245         PR tree-optimization/59387
8246         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
8247         (scev_const_prop): If folded_casts and type has undefined overflow,
8248         use force_gimple_operand instead of force_gimple_operand_gsi and
8249         for each added stmt if it is assign with
8250         arith_code_with_undefined_signed_overflow, call
8251         rewrite_to_defined_overflow.
8252         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
8253         gimple-fold.h instead.
8254         (arith_code_with_undefined_signed_overflow,
8255         rewrite_to_defined_overflow): Moved to ...
8256         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
8257         rewrite_to_defined_overflow): ... here.  No longer static.
8258         Include gimplify-me.h.
8259         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
8260         rewrite_to_defined_overflow): New prototypes.
8261
8262 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8263
8264         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
8265
8266 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
8267
8268         * builtins.c (get_object_alignment_2): Minor tweak.
8269         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
8270
8271 2014-01-13  Christian Bruel  <christian.bruel@st.com>
8272
8273         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
8274         optimized non constant lengths.
8275
8276 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
8277
8278         PR libgomp/59194
8279         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
8280         load as __atomic_load_N if possible.
8281
8282 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
8283
8284         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
8285         target parameter.
8286         (rs6000_expand_builtin): Adjust call.
8287
8288 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
8289
8290         PR target/58115
8291         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
8292         * config/rs6000/rs6000.c: Include target-globals.h.
8293         (rs6000_set_current_function): Instead of doing target_reinit
8294         unconditionally, use save_target_globals_default_opts and
8295         restore_target_globals.
8296
8297         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
8298         FPSCR.
8299         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
8300         (rs6000_expand_builtin): Handle mffs and mtfsf.
8301         (rs6000_init_builtins): Define mffs and mtfsf.
8302         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
8303         (rs6000_mffs): New pattern.
8304         (rs6000_mtfsf): New pattern.
8305
8306 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
8307
8308         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
8309         Start narrowing with START.  Apply candidate-use pair
8310         and check overall cost in narrowing.
8311         (iv_ca_prune): Pass new argument.
8312
8313 2014-01-10  Jeff Law  <law@redhat.com>
8314
8315         PR middle-end/59743
8316         * ree.c (combine_reaching_defs): Ensure the defining statement
8317         occurs before the extension when optimizing extensions with
8318         different source and destination hard registers.
8319
8320 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
8321
8322         PR ipa/58585
8323         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
8324         vtables into the type inheritance graph.
8325
8326 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
8327
8328         PR rtl-optimization/59754
8329         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
8330         modes in the REGNO != REGNO case.
8331
8332 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8333
8334         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
8335
8336 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
8337
8338         PR tree-optimization/59745
8339         * tree-predcom.c (tree_predictive_commoning_loop): Call
8340         free_affine_expand_cache if giving up because components is NULL.
8341
8342         * target-globals.c (save_target_globals): Allocate < 4KB structs using
8343         GC in payload of target_globals struct instead of allocating them on
8344         the heap and the larger structs separately using GC.
8345         * target-globals.h (struct target_globals): Make regs, hard_regs,
8346         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
8347         of GTY((skip)) and change type to void *.
8348         (reset_target_globals): Cast loads from those fields to corresponding
8349         types.
8350
8351 2014-01-10  Steve Ellcey  <sellcey@mips.com>
8352
8353         PR plugins/59335
8354         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
8355         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
8356         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
8357
8358 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
8359
8360         PR target/59744
8361         * aarch64-modes.def (CC_Zmode): New flags mode.
8362         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
8363         represents an equality.
8364         (aarch64_get_condition_code): Handle CC_Zmode.
8365         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
8366
8367 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8368
8369         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
8370         extraction in good case.
8371
8372 2014-01-10  Richard Biener  <rguenther@suse.de>
8373
8374         PR tree-optimization/59374
8375         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
8376         checking after SLP discovery.  Mark stmts not participating
8377         in any SLP instance properly.
8378
8379 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8380
8381         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
8382         when handling a SET rtx.
8383
8384 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8385
8386         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
8387         (cortex-a57): Likewise.
8388         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
8389
8390 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8391
8392         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
8393         non-iwmmxt builtins.
8394
8395 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
8396
8397         PR ipa/58252
8398         PR ipa/59226
8399         * ipa-devirt.c record_target_from_binfo): Take as argument
8400         stack of binfos and lookup matching one for virtual inheritance.
8401         (possible_polymorphic_call_targets_1): Update.
8402
8403 2014-01-10  Huacai Chen  <chenhc@lemote.com>
8404
8405         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
8406         kernel strings for Loongson-2E/2F/3A.
8407
8408 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
8409
8410         PR middle-end/59670
8411         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
8412         is_gimple_call before calling gimple_call_internal_p.
8413
8414 2014-01-09  Steve Ellcey  <sellcey@mips.com>
8415
8416         * Makefile.in (TREE_FLOW_H): Remove.
8417         (TREE_SSA_H): Add file names from tree-flow.h.
8418         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
8419         * tree.h: Remove tree-flow.h reference.
8420         * hash-table.h: Remove tree-flow.h reference.
8421         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
8422         reference with tree-ssa-loop.h.
8423
8424 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8425
8426         * doc/invoke.texi: Add -maltivec={be,le} options, and document
8427         default element-order behavior for -maltivec.
8428         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
8429         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
8430         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
8431         when targeting big endian, at least for now.
8432         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
8433
8434 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
8435
8436         PR middle-end/47735
8437         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
8438         var satisfies use_register_for_decl, just take into account type
8439         alignment, rather than decl alignment.
8440
8441         PR tree-optimization/59622
8442         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
8443         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
8444         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
8445         Don't devirtualize for inplace at all.  For targets.length () == 1,
8446         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
8447
8448 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
8449
8450         * config/i386/i386.md (cpu): Remove the unused btver1.
8451
8452 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
8453
8454         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
8455
8456 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
8457
8458         PR target/58115
8459         * tree-core.h (struct target_globals): New forward declaration.
8460         (struct tree_target_option): Add globals field.
8461         * tree.h (TREE_TARGET_GLOBALS): Define.
8462         (prepare_target_option_nodes_for_pch): New prototype.
8463         * target-globals.h (struct target_globals): Define even if
8464         !SWITCHABLE_TARGET.
8465         * tree.c (prepare_target_option_node_for_pch,
8466         prepare_target_option_nodes_for_pch): New functions.
8467         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
8468         * config/i386/i386.c: Include target-globals.h.
8469         (ix86_set_current_function): Instead of doing target_reinit
8470         unconditionally, use save_target_globals_default_opts and
8471         restore_target_globals.
8472
8473 2014-01-09  Richard Biener  <rguenther@suse.de>
8474
8475         PR tree-optimization/59715
8476         * tree-cfg.h (split_critical_edges): Declare.
8477         * tree-cfg.c (split_critical_edges): Export.
8478         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
8479
8480 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
8481
8482         * cfgexpand.c (expand_stack_vars): Optionally disable
8483         asan stack protection.
8484         (expand_used_vars): Likewise.
8485         (partition_stack_vars): Likewise.
8486         * asan.c (asan_emit_stack_protection): Optionally disable
8487         after return stack usage.
8488         (instrument_derefs): Optionally disable memory access instrumentation.
8489         (instrument_builtin_call): Likewise.
8490         (instrument_strlen_call): Likewise.
8491         (asan_protect_global): Optionally disable global variables protection.
8492         * doc/invoke.texi: Added doc for new options.
8493         * params.def: Added new options.
8494         * params.h: Likewise.
8495
8496 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
8497
8498         PR rtl-optimization/59724
8499         * ifcvt.c (cond_exec_process_if_block): Don't call
8500         flow_find_head_matching_sequence with 0 longest_match.
8501         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
8502         non-active insns if !stop_after.
8503         (try_head_merge_bb): Revert 2014-01-07 changes.
8504
8505 2014-01-08  Jeff Law  <law@redhat.com>
8506
8507         * ree.c (get_sub_rtx): New function, extracted from...
8508         (merge_def_and_ext): Here.
8509         (combine_reaching_defs): Use get_sub_rtx.
8510
8511 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
8512
8513         * cgraph.h (varpool_variable_node): Do not choke on null node.
8514
8515 2014-01-08  Catherine Moore  <clm@codesourcery.com>
8516
8517         * config/mips/mips.md (simple_return): Attempt to use JRC
8518         for microMIPS.
8519         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
8520
8521 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
8522
8523         PR rtl-optimization/59137
8524         * reorg.c (steal_delay_list_from_target): Call update_block for
8525         elided insns.
8526         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
8527
8528 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8529
8530         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
8531         two duplicate entries.
8532
8533 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
8534
8535         Revert:
8536         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
8537
8538         * config/mips/mips.c (mips_truncated_op_cost): New function.
8539         (mips_rtx_costs): Adjust test for BADDU.
8540         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
8541
8542         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
8543
8544         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
8545         (*baddu_si): ...this new pattern.
8546
8547 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
8548
8549         PR ipa/59722
8550         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
8551
8552 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8553
8554         PR middle-end/57748
8555         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
8556         inner_reference_p.
8557         (expand_expr, expand_normal): Adjust.
8558         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
8559         inner_reference_p. Use inner_reference_p to expand inner references.
8560         (store_expr): Adjust.
8561         * cfgexpand.c (expand_call_stmt): Adjust.
8562
8563 2014-01-08  Rong Xu  <xur@google.com>
8564
8565         * gcov-io.c (gcov_var): Move from gcov-io.h.
8566         (gcov_position): Ditto.
8567         (gcov_is_error): Ditto.
8568         (gcov_rewrite): Ditto.
8569         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
8570         only part to libgcc/libgcov.h.
8571
8572 2014-01-08  Marek Polacek  <polacek@redhat.com>
8573
8574         PR middle-end/59669
8575         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
8576
8577 2014-01-08  Marek Polacek  <polacek@redhat.com>
8578
8579         PR sanitizer/59667
8580         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
8581
8582 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
8583
8584         PR rtl-optimization/59649
8585         * stor-layout.c (get_mode_bounds): For BImode return
8586         0 and STORE_FLAG_VALUE.
8587
8588 2014-01-08  Richard Biener  <rguenther@suse.de>
8589
8590         PR middle-end/59630
8591         * gimple.h (is_gimple_builtin_call): Remove.
8592         (gimple_builtin_call_types_compatible_p): New.
8593         (gimple_call_builtin_p): New overload.
8594         * gimple.c (is_gimple_builtin_call): Remove.
8595         (validate_call): Rename to ...
8596         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
8597         check return types.
8598         (validate_type): New static function.
8599         (gimple_call_builtin_p): New overload and adjust.
8600         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
8601         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
8602         (gimple_fold_stmt_to_constant_1): Likewise.
8603         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
8604
8605 2014-01-08  Richard Biener  <rguenther@suse.de>
8606
8607         PR middle-end/59471
8608         * gimplify.c (gimplify_expr): Gimplify register-register type
8609         VIEW_CONVERT_EXPRs to separate stmts.
8610
8611 2014-01-07  Jeff Law  <law@redhat.com>
8612
8613         PR middle-end/53623
8614         * ree.c (combine_set_extension): Handle case where source
8615         and destination registers in an extension insn are different.
8616         (combine_reaching_defs): Allow source and destination registers
8617         in extension to be different under limited circumstances.
8618         (add_removable_extension): Remove restriction that the
8619         source and destination registers in the extension are the same.
8620         (find_and_remove_re): Emit a copy from the extension's
8621         destination to its source after the defining insn if
8622         the source and destination registers are different.
8623
8624         PR middle-end/59285
8625         * ifcvt.c (merge_if_block): If we are merging a block with more than
8626         one successor with a block with no successors, remove any BARRIER
8627         after the second block.
8628
8629 2014-01-07  Dan Xio Qiang  <ziyan01@163.com>
8630
8631         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
8632
8633 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
8634
8635         PR target/59652
8636         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
8637         for 14-bit register offsets when INT14_OK_STRICT is false.
8638
8639 2014-01-07  Roland Stigge  <stigge@antcom.de>
8640             Michael Meissner  <meissner@linux.vnet.ibm.com>
8641
8642         PR 57386/target
8643         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
8644         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
8645
8646 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
8647
8648         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
8649         -mcpu.
8650
8651 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
8652
8653         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
8654         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
8655         rtx is const0_rtx or not.
8656
8657 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
8658
8659         PR target/58115
8660         * target-globals.c (save_target_globals): Remove this_fn_optab
8661         handling.
8662         * toplev.c: Include optabs.h.
8663         (target_reinit): Temporarily restore the global options if another
8664         set of options are in force.
8665
8666 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
8667
8668         PR rtl-optimization/58668
8669         * cfgcleanup.c (flow_find_cross_jump): Don't count
8670         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
8671         to determine what is counted.
8672         (flow_find_head_matching_sequence): Use active_insn_p to determine
8673         what is counted.
8674         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
8675         counting change.
8676         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
8677         determine what is counted.
8678
8679         PR tree-optimization/59643
8680         * tree-predcom.c (split_data_refs_to_components): If one dr is
8681         read and one write, determine_offset fails and the write isn't
8682         in the bad component, just put the read into the bad component.
8683
8684 2014-01-07  Mike Stump  <mikestump@comcast.net>
8685             Jakub Jelinek  <jakub@redhat.com>
8686
8687         PR pch/59436
8688         * tree-core.h (struct tree_optimization_option): Change optabs
8689         type from unsigned char * to void *.
8690         * optabs.c (init_tree_optimization_optabs): Adjust
8691         TREE_OPTIMIZATION_OPTABS initialization.
8692
8693 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
8694
8695         PR target/59644
8696         * config/i386/i386.h (struct machine_function): Add
8697         no_drap_save_restore field.
8698         * config/i386/i386.c (ix86_save_reg): Use
8699         !cfun->machine->no_drap_save_restore instead of
8700         crtl->stack_realign_needed.
8701         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
8702         this function clears frame_pointer_needed.  Set
8703         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
8704         and DRAP reg is needed.
8705
8706 2014-01-06  Marek Polacek  <polacek@redhat.com>
8707
8708         PR c/57773
8709         * doc/implement-c.texi: Mention that other integer types are
8710         permitted as bit-field types in strictly conforming mode.
8711
8712 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
8713
8714         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
8715         is newly allocated.
8716
8717 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
8718
8719         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
8720
8721 2014-01-06  Martin Jambor  <mjambor@suse.cz>
8722
8723         PR ipa/59008
8724         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
8725         to int.
8726         * ipa-prop.c (ipa_print_node_params): Fix indentation.
8727
8728 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
8729
8730         PR debug/59350
8731         PR debug/59510
8732         * var-tracking.c (add_stores): Preserve the value of the source even if
8733         we don't record the store.
8734
8735 2014-01-06  Terry Guo  <terry.guo@arm.com>
8736
8737         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
8738
8739 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
8740
8741         PR bootstrap/59541
8742         * config/darwin.c (darwin_function_section): Adjust return values to
8743         correspond to optimisation changes made in r206070.
8744
8745 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
8746
8747         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
8748         from prefetch_block tune setting.
8749         (nocona_cost): Correct size of prefetch block to 64.
8750
8751 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8752
8753         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
8754         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
8755         used to save the static chain register in the computation of the offset
8756         from which the FP registers need to be restored.
8757
8758 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
8759
8760         PR tree-optimization/59519
8761         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
8762         ICE if get_current_def (current_new_name) is already non-NULL, as long
8763         as it is a phi result of some other phi in *new_exit_bb that has
8764         the same argument.
8765
8766         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
8767         or vmovdqu* for misaligned_operand.
8768         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
8769         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
8770         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
8771         aligned_mem for AVX512F masked aligned load and store builtins and for
8772         non-temporal moves.
8773
8774 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
8775
8776         PR tree-optimization/59651
8777         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
8778         Address range for negative step should be added by TYPE_SIZE_UNIT.
8779
8780 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
8781
8782         * config/m68k/m68k.c (handle_move_double): Handle pushes with
8783         overlapping registers also for registers other than the stack pointer.
8784
8785 2014-01-03  Marek Polacek  <polacek@redhat.com>
8786
8787         PR other/59661
8788         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
8789         __builtin_FILE.
8790
8791 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
8792
8793         PR target/59625
8794         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
8795         asm goto as jump.
8796
8797         * config/i386/i386.md (MODE_SIZE): New mode attribute.
8798         (push splitter): Use <P:MODE_SIZE> instead of
8799         GET_MODE_SIZE (<P:MODE>mode).
8800         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
8801         (mov -1, reg peephole2): Likewise.
8802         * config/i386/sse.md (*mov<mode>_internal,
8803         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
8804         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
8805         *<code><mode>3, *andnot<mode>3<mask_name>,
8806         <mask_codefor><code><mode>3<mask_name>): Likewise.
8807         * config/i386/subst.md (mask_mode512bit_condition,
8808         sd_mask_mode512bit_condition): Likewise.
8809
8810 2014-01-02  Xinliang David Li  <davidxl@google.com>
8811
8812         PR tree-optimization/59303
8813         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
8814         (dump_predicates): Better output format.
8815         (pred_equal_p): New function.
8816         (is_neq_relop_p): Ditto.
8817         (is_neq_zero_form_p): Ditto.
8818         (pred_expr_equal_p): Ditto.
8819         (pred_neg_p): Ditto.
8820         (simplify_pred): Ditto.
8821         (simplify_preds_2): Ditto.
8822         (simplify_preds_3): Ditto.
8823         (simplify_preds_4): Ditto.
8824         (simplify_preds): Ditto.
8825         (push_pred): Ditto.
8826         (push_to_worklist): Ditto.
8827         (get_pred_info_from_cmp): Ditto.
8828         (is_degenerated_phi): Ditto.
8829         (normalize_one_pred_1): Ditto.
8830         (normalize_one_pred): Ditto.
8831         (normalize_one_pred_chain): Ditto.
8832         (normalize_preds): Ditto.
8833         (normalize_cond_1): Remove function.
8834         (normalize_cond): Ditto.
8835         (is_gcond_subset_of): Ditto.
8836         (is_subset_of_any): Ditto.
8837         (is_or_set_subset_of): Ditto.
8838         (is_and_set_subset_of): Ditto.
8839         (is_norm_cond_subset_of): Ditto.
8840         (pred_chain_length_cmp): Ditto.
8841         (convert_control_dep_chain_into_preds): Type change.
8842         (find_predicates): Ditto.
8843         (find_def_preds): Ditto.
8844         (destroy_predicates_vecs): Ditto.
8845         (find_matching_predicates_in_rest_chains): Ditto.
8846         (use_pred_not_overlap_with_undef_path_pred): Ditto.
8847         (is_pred_expr_subset): Ditto.
8848         (is_pred_chain_subset_of): Ditto.
8849         (is_included_in): Ditto.
8850         (is_superset_of): Ditto.
8851
8852 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8853
8854         Update copyright years.
8855
8856 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8857
8858         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
8859         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
8860         config/arc/arc.md, config/arc/arc.opt,
8861         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
8862         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
8863         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
8864         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
8865         config/linux-protos.h, config/linux.c, config/winnt-c.c,
8866         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
8867         vtable-verify.c, vtable-verify.h: Use the standard form for the
8868         copyright notice.
8869
8870 2014-01-02  Tobias Burnus  <burnus@net-b.de>
8871
8872         * gcc.c (process_command): Update copyright notice dates.
8873         * gcov-dump.c: Ditto.
8874         * gcov.c: Ditto.
8875         * doc/cpp.texi: Bump @copying's copyright year.
8876         * doc/cppinternals.texi: Ditto.
8877         * doc/gcc.texi: Ditto.
8878         * doc/gccint.texi: Ditto.
8879         * doc/gcov.texi: Ditto.
8880         * doc/install.texi: Ditto.
8881         * doc/invoke.texi: Ditto.
8882
8883 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
8884
8885         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
8886
8887 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
8888
8889         * config/i386/sse.md (*mov<mode>_internal): Guard
8890         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
8891
8892         PR rtl-optimization/59647
8893         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
8894         new_rtx into UNSIGNED_FLOAT rtxes.
8895 \f
8896 Copyright (C) 2014 Free Software Foundation, Inc.
8897
8898 Copying and distribution of this file, with or without modification,
8899 are permitted in any medium without royalty provided the copyright
8900 notice and this notice are preserved.