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