]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
lra-constraints.c (valid_address_p): Move earlier in file.
[gcc.git] / gcc / ChangeLog
CommitLineData
0be7287d
RS
12014-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
ad782bc9
RS
112014-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
45731f37
OE
252014-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
c61dfa63
DC
302014-05-03 Denis Chertykov <chertykov@gmail.com>
31
32 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
33
1b8da635
OE
342014-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
f6982a08
OE
382014-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
0bcf70f8
OE
502014-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
95782571
JJ
552014-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
e13b3dfd
RS
672014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
68
69 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
70
0696116a
AL
712014-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
fb90f9f3
MP
762014-05-02 Marek Polacek <polacek@redhat.com>
77
78 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
79
ed15c598
KC
802014-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
53c8d5a7
JBG
912014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
92
93 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
94
486c559b
JBG
952014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
96
97 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
98
944052b9
YR
992014-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
d00887e8
MP
1062014-05-01 Marek Polacek <polacek@redhat.com>
107
108 PR c/43245
109 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
110
7211512a
AL
1112014-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
e5bd20a4
JR
1222014-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
2cf03b11
RO
1272014-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
e9ff9caf
RB
1792014-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
f8ed5150
MP
1942014-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
7cb0403f
AL
2012014-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
3979649a
DM
2122014-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
62fb101e
JJ
2182014-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
3d9684ae
JG
2242014-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
d77f7b19
NC
2342014-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
f8d91e80
NC
2412014-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
e3f613cb
RB
2502014-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
36f291f7
PP
2642014-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
d3a3182b
ZC
2712014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
272
273 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
274
ba081b77
JG
2752014-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
1bc6d43c
DM
2992014-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
97e1ad78
JG
3062014-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
bf245bf4
PH
3142014-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
28151221
MJ
3222014-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
9ba5fb43
RB
3342014-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
22869a37
RB
3442014-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
771c9501
RB
3592014-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
279a935f
RB
3662014-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
07357f2f
JL
3782014-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
6c6aa8e6
RB
3862014-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
2cbf2d95
RB
3932014-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
ba21a04a
EB
4152014-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
f956adb9
RS
4252014-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
167c3e96
MT
4362014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
437
438 * doc/install.texi (Building with profile feedback): Remove
439 outdated sentence.
440
4148ef5f
TV
4412014-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
8d8ffd86
CC
4462014-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
255671b0
L
4612014-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
10432733
JW
4672014-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
0e4c913f
KT
4752014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
476
477 * config/arm/arm.c (arm_cortex_a8_tune): Initialise
478 T16-related fields.
479
61ba7329
BS
4802014-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
2b332829
JJ
4872014-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
97891c11
TV
4932014-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
3ee634fd
TV
4982014-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
356bf593
RO
5032014-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
fe65a7ed
KT
5122014-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
b357d40d
EB
5182014-04-25 Eric Botcazou <ebotcazou@adacore.com>
519
520 PR target/60941
521 * config/sparc/sparc.md (ashlsi3_extend): Delete.
522
30c0a59a
MG
5232014-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
c02f59e2
RO
5292014-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
92b3326b
RB
5372014-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
78422fb1
RB
5442014-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
56f8faae
CH
5512014-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
06b39289
MM
5592014-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
6e4f81db
V
7042014-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
f7468577
JJ
7092014-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
2f7ac5ce
JL
7262014-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
dcaaa5a0
DP
7322014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
733
734 * flag-types.h (enum ivar_visibility): Add.
735
78c7d18e
TS
7362014-04-24 Trevor Saunders <tsaunders@mozilla.com>
737
738 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
739 function * argument.
740
fbbde65e
AL
7412014-04-24 Alan Lawrence <alan.lawrence@arm.com>
742
743 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
744
4f660b15
RO
7452014-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
d996e61a
RO
7542014-04-24 Radovan Obradovic <robradovic@mips.com>
755 Tom de Vries <tom@codesourcery.com>
756
757 * common.opt (fuse-caller-save): New option.
758
bbcc9c00
TB
7592014-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
d2d11532
RB
7642014-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
8117ef98
RO
7702014-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
ab0afae3
RO
7752014-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
683e3333
KT
7812014-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
c7f28cd5
KT
7892014-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
b0419491
TG
8002014-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
74e4d71a
TV
8102014-04-23 Tom de Vries <tom@codesourcery.com>
811
812 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
813
7de90a6c
DM
8142014-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
9219922e
JL
12022014-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
36e17020
VK
12102014-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
57b77d46
RE
12162014-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
984c2f30
JG
12222014-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
18b42b2a
KT
12272014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1228
1229 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
1230
ea1e9168
KT
12312014-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
f7d5cf8d
KT
12372014-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
9ac05ae5
KT
12502014-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
e0d8c86c
KT
12652013-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
ba9b1a63
KT
12712014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1272
1273 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
1274
da4cfeac
RB
12752014-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
22718afe
RB
12922014-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
f7961364
NC
13002014-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
f70df035
NC
13272014-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
6a9accca
TG
13332014-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
62ba699e
RB
13372014-04-23 Richard Biener <rguenther@suse.de>
1338
1339 PR middle-end/60895
1340 * tree-inline.c (declare_return_variable): Use mark_addressable.
1341
92562f88
RB
13422014-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
1c33c9b7
JJ
13482014-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
5e66b2e5
CB
13762014-04-22 Christian Bruel <christian.bruel@st.com>
1377
1378 * config/sh/sh.md (mov<mode>): Replace movQIHI.
1379 Force immediates to SImode.
1380
aa221564
SL
13812014-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
2195867f
RH
13942014-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
c6d43074
MJ
14052014-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
e54c2dd3
L
14102014-04-22 H.J. Lu <hongjiu.lu@intel.com>
1411
1412 PR target/60868
f70df035 1413 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
1414 on count_exp to get mode.
1415
621ad2de
AP
14162014-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
5cb74e90
RR
14282014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1429
1430 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
1431
bcd48995
AV
14322014-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
0bf3afc1
AV
14972014-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
9551c7ec
AV
17232014-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
f2a2c4b5
RH
17352014-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
53e5ace2
RL
17402014-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
78c29983
MS
17472014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
1748
1749 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
1750 Fix indentation.
1751
dbf23a79
RS
17522014-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
d9f069ab
RO
17612014-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
0d35c5c2
VP
17842014-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
16a3246f
RL
17952014-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
110e1ccc
JG
18002014-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
2044a4c3
JJ
18082014-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
9d8b4d1c
RR
18202014-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
a01be1ae
IB
18252014-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
80d3417b
IB
18302014-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
46fbb3eb
IB
18362014-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
74dc11ed
AV
18432014-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
35923e46
ZC
18602014-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
4552e70c
JJ
18652014-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
e5dcd695
LZ
18712014-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
7455080c
DM
18822014-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
aeb9579a
MM
18952014-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
b15d92bf
UB
19042014-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
d367387c
CH
19122014-04-18 Cong Hou <congh@google.com>
1913
1914 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
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.
d367387c 1917
b6d627e4
JH
19182014-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
b15d92bf 1924 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 1925
e86a910f
JH
19262014-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
8a3a7e67
RH
19322014-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
ed79f4d0
BS
19372014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1938
b15d92bf 1939 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
1940 (vsx_xxmrglw_<mode>): Likewise.
1941
fe799eea
MM
19422014-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
b15d92bf 1946 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
1947 (rs6000_init_hard_regno_mode_ok): Likewise.
1948
5e750dc6
JH
19492014-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
32337f10
PH
19552014-04-17 Pat Haugen <pthaugen@us.ibm.com>
1956
1957 * config/rs6000/rs6000.md (addti3, subti3): New.
1958
40ed344a
L
19592014-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
104cb50b
MJ
19662014-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
b94970bc
RB
19802014-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
92f0f3ec
JJ
19862014-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
be55bfe6
TS
20002014-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
1a3d085c
TS
20382014-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
45887209
TS
20902014-04-17 Trevor Saunders <tsaunders@mozilla.com>
2091
2092 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
2093 * configure: Regenerate.
2094
0481253d 20952014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 2096
0481253d
TS
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
a23c217d
TS
21382014-04-17 Trevor Saunders <tsaunders@mozilla.com>
2139
b15d92bf
UB
2140 * pass_manager.h (pass_manager::register_dump_files_1): Remove
2141 declaration.
a23c217d
TS
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
0cd11b40
TS
21472014-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
79896351
MW
21542014-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
5a65129e
JJ
21592014-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
59b266b1
KC
21742014-04-17 Kito Cheng <kito@0xlab.org>
2175
2176 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
2177
83ad208e
RB
21782014-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
730e78b0
RB
21842014-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
1428105c
RB
21902014-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
170c1776
ES
22032014-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
a4ef7f3e
ES
22082014-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
cf055f6e
ES
22152014-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
eeee2277
JY
22202014-04-17 Joey Ye <joey.ye@arm.com>
2221
2222 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
2223
1c58fe29
JH
22242014-04-16 Jan Hubicka <hubicka@ucw.cz>
2225
2226 * opts.c (common_handle_option): Disable -fipa-reference coorectly
2227 with -fuse-profile.
2228
2d1644bf
JH
22292014-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
b15d92bf 2241 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
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
789c2741
JH
22492014-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
9950a4f2
AP
22552014-04-16 Andrew Pinski <apinski@cavium.com>
2256
2257 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 2258 definition.
9950a4f2 2259
82b9c015
EB
22602014-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
d2dfaca3
CM
22652014-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
10353a79
PS
22702014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
2271
2272 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
2273
61c7fb30
EB
22742014-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
42fae17c
JJ
22822014-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
ca860d03
MJ
22902014-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
fe4e71e4
RO
23002014-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
ccb05ef2
JH
23092014-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
dfe449d1
BS
23142014-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
25dce5c6
MW
23342014-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
8d3c076f
RB
23392014-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
d00e4baa
TJ
23512014-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
98a2fdfb
KT
23562014-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
b9ed2c2c
RB
23622014-04-15 Richard Biener <rguenther@suse.de>
2363
2364 * lto-streamer.h (LTO_major_version): Bump to 4.
2365
783dab6b
RB
23662014-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
d8e4ce6d
RB
23762014-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
1999fd7d
RB
23812014-04-15 Richard Biener <rguenther@suse.de>
2382
2383 * alias.c (record_component_aliases): Do not walk BINFOs.
2384
628169e0
RB
23852014-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
349e6210
RB
23962014-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
4f0ddb6f
JJ
24052014-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
718c4601
EB
24112014-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
88f592e3
JH
24252014-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
9dba4b55
PC
24302014-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
006202e8
JH
24392014-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
e0a81db1
UB
24442014-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
cb90235d
JH
24552014-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
7b3b340e
MJ
24612014-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
2ed3b4ee
L
24662014-04-14 H.J. Lu <hongjiu.lu@intel.com>
2467
2468 PR target/60827
e0a81db1 2469 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 2470
10fa463f
L
24712014-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
b621e875
YZ
24782014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
2479
2480 * doc/invoke.texi (free): Document AArch64.
2481
cddaefa3
RB
24822014-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
a9e4c82f
RB
24922014-04-14 Richard Biener <rguenther@suse.de>
2493
2494 * passes.def: Move early points-to after early SRA.
2495
7b4cae1b
RB
24962014-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
cb27986c
EB
25022014-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
72798784
RB
25072014-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
b15b5979
EB
25172014-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
8359c87e
RB
25412014-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
9447df74
CB
25482014-04-14 Christian Bruel <christian.bruel@st.com>
2549
b15d92bf 2550 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 2551
fa1aecc1
CB
25522014-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
a3c77ce9
RB
25592014-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
033aa406
RB
25662014-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
5e7d8b4c
RS
25742014-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
cbbd2b1c
TB
25852014-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
d9bb5800
JR
25912014-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
b5d0ecea
JR
26062014-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
473fd99a
JR
26122014-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
6ace1161
JR
26252014-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
89eb97de
JJ
26302013-04-11 Jakub Jelinek <jakub@redhat.com>
2631
6602e7fc 2632 * BASE-VER: Set to 4.10.0.
89eb97de 2633
9d0c7214
TB
26342014-04-11 Tobias Burnus <burnus@net-b.de>
2635
2636 PR other/59055
e0a81db1 2637 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
2638 * doc/gcc.texi (Service): Update description in the @menu
2639 * doc/invoke.texi (Option Summary): Remove misplaced and
2640 duplicated @menu.
2641
3662b277
SE
26422014-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
8330537b
RB
26502014-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
3c91f126
AK
26562014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2657
2658 * config/s390/s390.md: Add a splitter for NOT rtx.
2659
d8d6ea53
JJ
26602014-04-11 Jakub Jelinek <jakub@redhat.com>
2661
2662 PR rtl-optimization/60663
e0a81db1 2663 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 2664
fa5866c0
JJ
26652014-04-10 Jan Hubicka <hubicka@ucw.cz>
2666 Jakub Jelinek <jakub@redhat.com>
073afca6 2667
fa5866c0 2668 PR lto/60567
e0a81db1
UB
2669 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
2670 flag from decl_node to node.
073afca6 2671
b322c36a
RR
26722014-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
8267f6bb
DE
26792014-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
5d1a5a53
CH
26912014-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
da90fa4c
BS
26972014-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
98e6ecab
PH
27042014-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
8418cf33
RS
27122014-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
3fa68ccb
RB
27192014-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
9038ae48
RB
27252014-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
38f09da3
NS
27312014-04-08 Nathan Sidwell <nathan@codesourcery.com>
2732
2733 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
2734 (Weffc++): Likewise.
2735
0439a947
JH
27362014-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
3f2f838e
EB
27412014-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
e75c1617
CB
27472014-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
d6adff07
RB
27542014-04-07 Richard Biener <rguenther@suse.de>
2755
2756 PR tree-optimization/60766
3f2f838e
EB
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.
d6adff07 2759
da34ade5
JM
27602014-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
151e9aac
KT
27662014-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
308173e3
RB
27712014-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
a9a302d9
JDA
27782014-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
576ba35c
PS
27862014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
2787
e0a81db1
UB
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.
576ba35c
PS
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
ebc047a2
CH
28062014-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
b6808818
JDA
28142014-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
eabcc725
EB
28232014-04-04 Eric Botcazou <ebotcazou@adacore.com>
2824
2825 * explow.c (probe_stack_range): Emit a final optimization blockage.
2826
e005b753
AG
28272014-04-04 Anthony Green <green@moxielogic.com>
2828
2829 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
2830 typos.
2831
8fe91ca8
JH
28322014-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.
576ba35c 2841
88d94632
RR
28422014-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
094bc219
KT
28492014-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
610c8ef0
MJ
28562014-04-04 Martin Jambor <mjambor@suse.cz>
2857
2858 PR ipa/60640
b15d92bf
UB
2859 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
2860 Adjust all callers.
610c8ef0
MJ
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.
b15d92bf
UB
2864 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
2865 file.
2866 (build_function_decl_skip_args): Likewise.
610c8ef0 2867 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
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,
610c8ef0
MJ
2874 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
2875
fc02bcca
JL
28762014-04-04 Jeff Law <law@redhat.com>
2877
57ef133b 2878 PR target/60657
fc02bcca
JL
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
45b62594
RB
28882014-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
bb609c35
TS
29022014-04-04 Thomas Schwinge <thomas@codesourcery.com>
2903
2904 PR bootstrap/60719
2905 * Makefile.in (install-driver): Fix shell scripting.
2906
090cd8dc
CH
29072014-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
e0a81db1
UB
2911 threshold of number of iterations below which no vectorization
2912 will be done.
090cd8dc
CH
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
bdc67fd6
RB
29222014-04-03 Richard Biener <rguenther@suse.de>
2923
e0a81db1 2924 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
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.
e0a81db1 2935 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
2936 * lto-streamer-in.c (lto_data_in_create): Adjust for
2937 streamer_tree_cache_create prototype change.
2938
a0daf659
RB
29392014-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
f16c88d2
RB
29442014-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
880a467b
NS
29502014-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
08866760
NC
29562014-04-03 Nick Clifton <nickc@redhat.com>
2957
2958 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
2959 properly.
2960
5bed50e8
MJ
29612014-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
3e86c6a8
JH
29682014-04-02 Jan Hubicka <hubicka@ucw.cz>
2969
2970 PR ipa/60659
e0a81db1
UB
2971 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
2972 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
2973 (possible_polymorphic_call_targets): For inconsistent contexts
2974 return empty complete list.
2975
2b9912aa
AG
29762014-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
1e386bb8
BS
29832014-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
f4581282
VM
29902014-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
a9d46e32
AK
29962014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2997
2998 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
2999
7c40228a
UW
30002014-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
c6596193
UW
30052014-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
690c229f
MM
30102014-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
dad16761
RB
30252014-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
a1ce39be
RB
30322014-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
6fb619e4
MM
30382014-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
2a1ffd6d
RH
30432014-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
98e8dd4d
CLT
30492014-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
8785c60a
MH
30612014-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
3343cf6a
RS
30662014-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
1503cb6b
RB
30742014-04-01 Richard Biener <rguenther@suse.de>
3075
e0a81db1 3076 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 3077
cded08ea
SH
30782014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
3079
3080 * doc/invoke.texi (mapp-regs): Clarify.
3081
7d9088c2
UD
30822014-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
c18ff8a4
MJ
30982014-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
9a96d5b7
YR
31072014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
3108
3109 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
3110
6c031d8d
KV
31112014-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
429749e2
UB
31172014-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
1f91035f
JH
31342014-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
6e071b1e
VM
31392014-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
e7f31789 31452014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 3146 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
3147
3148 PR target/60648
4bb66ef3
JJ
3149 * expr.c (do_tablejump): Use simplify_gen_binary rather than
3150 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 3151
4bb66ef3
JJ
3152 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
3153 creating non-canonical RTL.
e7f31789 3154
4cd8957f
JH
31552014-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
ff76f4e2
JJ
31752014-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
ed6eb6dc
KT
31812014-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
b10baa95
KT
31892014-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
23a04216
JH
32002014-03-28 Jan Hubicka <hubicka@ucw.cz>
3201
3202 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
3203 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
3204 remove LHS.
23a04216 3205
a4971e68
VM
32062014-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
7ac84c02
RR
32122014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3213
3214 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
3215
bd302a18
UW
32162014-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
cee9defb
EB
32212014-03-28 Eric Botcazou <ebotcazou@adacore.com>
3222
3223 * mode-switching.c: Make small adjustments to the top comment.
3224
117f16fb
MM
32252014-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
429749e2 3248 endian/little endian vector select load support into a single insn.
117f16fb
MM
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
6788164b
MM
3263 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3264 Document vec_vbpermq builtin.
3265
117f16fb
MM
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
9e038952
VM
32742014-03-27 Vladimir Makarov <vmakarov@redhat.com>
3275
3276 PR rtl-optimization/60650
f4581282 3277 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
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
324dc401
MP
32832014-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
6e77facf
AK
32892014-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
47519a14
JJ
32942014-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
0b7f8166
MS
33012014-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
2f2a7d15
DC
33092014-03-27 Dehao Chen <dehao@google.com>
3310
3311 * ipa-inline.c (early_inliner): Update node's inline info.
3312
a0dbf285
DC
33132014-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
ed0ca1e1
JJ
33182014-03-26 Jakub Jelinek <jakub@redhat.com>
3319
07d72e1d
JJ
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
ed0ca1e1
JJ
3330 PR other/59545
3331 * real.c (real_to_integer2): Change type of low to UHWI.
3332
b9487dd8
TB
33332014-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
3a2700f6
RB
33392014-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
368b454d
JJ
33442014-03-26 Jakub Jelinek <jakub@redhat.com>
3345
aa6b742f
JJ
3346 PR sanitizer/60636
3347 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
3348
368b454d
JJ
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
c7e30a96
EB
33572014-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
d615d763
MP
33632014-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
1b226529
MP
33692014-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
6686e0bc
MP
33752014-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
d4fbc3ae
CJW
33812014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
3382
3383 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
3384
dfa6c87b
CJW
33852014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
3386
3387 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
3388
9de6f6c3
JH
33892014-03-25 Jan Hubicka <hubicka@ucw.cz>
3390
3391 PR ipa/60315
3392 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
3393 * ipa-inline.c (inline_small_functions): Skip edges to
3394 __builtlin_unreachable.
9de6f6c3
JH
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.
429749e2
UB
3398 (set_cond_stmt_execution_predicate): Fix issue when
3399 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
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
d7636f56
JH
34102014-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
d1873c57
JJ
34152014-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
429749e2
UB
3421 operands[2]. Use We constraint instead of <i> and
3422 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
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
b5165eb0
MJ
34282014-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
3102858d
MP
34342014-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
4b1e108c
AL
34392014-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
40b0722f
RB
34442014-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
4a5798de
MJ
34502014-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
585d0088
RB
34582014-03-25 Richard Biener <rguenther@suse.de>
3459
429749e2 3460 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
3461 (run_gcc): Likewise.
3462
a8acccdd
JJ
34632014-03-25 Jakub Jelinek <jakub@redhat.com>
3464
51ee05d0
JJ
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
a8acccdd
JJ
3469 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
3470 type to avoid signed integer overflow.
3471 * explow.c (plus_constant): Likewise.
3472
57fc74a4
DV
34732014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
3474
3475 * doc/generic.texi: Correct typos.
3476
09f15d1b
TB
34772014-03-24 Tobias Burnus <burnus@net-b.de>
3478
3479 * doc/invoke.texi (-flto): Expand section about
3480 using static libraries with LTO.
3481
72a4ddf2
AK
34822014-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
0b192937
UD
34942014-03-24 Ulrich Drepper <drepper@gmail.com>
3495
2b2384e8
UD
3496 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
3497 _mm512_set1_pd.
3498
0b192937
UD
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
252c7556
AV
35112014-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
15e3d4f1
RO
35212014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3522
3523 * Makefile.in (s-macro_list): Depend on cc1.
3524
1858c2d3
TJ
35252014-03-23 Teresa Johnson <tejohnson@google.com>
3526
3527 * ipa-utils.c (ipa_print_order): Use specified dump file.
3528
f87604f8
EB
35292014-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
3db31fd1
JJ
35362014-03-22 Jakub Jelinek <jakub@redhat.com>
3537
f451d3a8
JJ
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
3db31fd1
JJ
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
e49080ec
JJ
35472014-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
44eb6c40
BS
35552014-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
ec6f831a
RH
35612014-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
3d8d0043
MJ
35672014-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
d833415c
MJ
35772014-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
400a4f6c
RB
35832014-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
c6c2314f
EB
35922014-03-20 Eric Botcazou <ebotcazou@adacore.com>
3593
3594 * expr.c (expand_expr_real_1): Remove outdated comment.
3595
d02b6ac7
JJ
35962014-03-20 Jakub Jelinek <jakub@redhat.com>
3597
b8f045e2
JJ
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
d02b6ac7
JJ
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
e2f98c01
RR
36082014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3609
3610 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
3611
7075c792
EB
36122014-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
9ee5337d
EB
36212014-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
a69e09c8
ZC
36292014-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
8659d57b
KK
36342014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
3635
3636 PR target/60039
3637 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
3638
985e0d33
JG
36392014-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
ce2f49b3
RB
36452014-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
6daa2d91
MP
36512014-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
8c9cfbe6
RB
36572014-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
3efe2e2c
JJ
36632014-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
234f76cb
KT
36692014-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
58ca6edf
RH
36762014-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.
ead8233b 3681 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
3682
36832014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
3684
4bb66ef3 3685 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 3686 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 3687 Italicize plugin event names in description. Explain that
429749e2
UB
3688 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
3689 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 3690 Explain what pragmas with expansion are.
b318e404 3691
eb14a79f
ML
36922014-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
415e2e6b
JJ
36992014-03-18 Jakub Jelinek <jakub@redhat.com>
3700
ead96f13
JJ
3701 PR sanitizer/60557
3702 * ubsan.c (ubsan_instrument_unreachable): Call
3703 initialize_sanitizer_builtins.
3704 (ubsan_pass): Likewise.
3705
415e2e6b
JJ
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
4ca40f52
RB
37102014-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
6404e190
RB
37162014-03-18 Richard Biener <rguenther@suse.de>
3717
3718 * doc/lto.texi (fresolution): Fix typo.
3719
b9abf793
RB
37202014-03-18 Richard Biener <rguenther@suse.de>
3721
3722 * doc/invoke.texi (flto): Update for changes in 4.9.
3723
3f00cf18
RB
37242014-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
c2679d84
RB
37292014-03-18 Richard Biener <rguenther@suse.de>
3730
3731 * doc/lto.texi (-fresolution): Document.
3732
c07990cc
RB
37332014-03-18 Richard Biener <rguenther@suse.de>
3734
3735 * doc/contrib.texi: Adjust my name.
3736
ed9c79e1
JJ
37372014-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
37602014-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
37672014-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
e33da4a1
EB
37762014-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
1fed15fc
IE
37812014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
3782
3783 * symtab.c (change_decl_assembler_name): Fix transparent alias
3784 chain construction.
3785
454fdba9
RL
37862014-03-16 Renlin Li <Renlin.Li@arm.com>
3787
3788 * config/aarch64/aarch64.c: Correct the comments about the
3789 aarch64 stack layout.
3790
e2110f8f
TS
37912014-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
7c831c4d
KY
37962013-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
e318c1e1
JJ
38012014-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
ab2ffbeb
MP
38072014-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
890fa568
EB
38142014-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
cfce90ac
RH
38372014-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
91035653
JJ
38642014-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
95921002
VM
38722014-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
25e57622
RB
38802014-03-14 Richard Biener <rguenther@suse.de>
3881
3882 * common.opt: Revert unintented changes from r205065.
3883 * opts.c: Likewise.
3884
1f3388fe
RB
38852014-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
38912014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
3892
3893 PR lto/60461
3894 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
3895 and simplify it.
3896
2832dc22
GJL
38972014-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
3386d77e
RH
39042014-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.
4bb66ef3 3926
5b5d7f31
JJ
39272014-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
bdc6e1ae
SB
39332014-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
7891065a
VM
39392014-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
eba14fca
CP
39452014-03-13 Cesar Philippidis <cesar@codesourcery.com>
3946
429749e2 3947 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 3948
f661b085
JJ
39492014-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
8f3a3138
GJL
39562014-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
d731ee04
BC
39622014-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
a16a872d
MM
39672014-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
0bb29a05
UB
4035 for V1TImode, and set up preferences to use VSX/Altivec registers.
4036 Setup VSX reload handlers.
a16a872d
MM
4037 (rs6000_debug_reg_global): Likewise.
4038 (rs6000_init_hard_regno_mode_ok): Likewise.
4039 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 4040 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
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.
0bb29a05 4063 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
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.
0bb29a05 4080 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 4081
0bb29a05
UB
4082 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
4083 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
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
0bb29a05
UB
4092 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
4093 128-bit builtin functions.
a16a872d
MM
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
eeac7d15
JR
41352014-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
bf0f324e
YZ
41402014-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
bf4787b2
JJ
41492014-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
7d55b948
CB
41572014-03-12 Christian Bruel <christian.bruel@st.com>
4158
4159 PR target/60264
0bb29a05
UB
4160 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
4161 REG_CFA_DEF_CFA note.
7d55b948
CB
4162 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
4163 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
4164
882a5fbe
TP
41652014-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
a3cd0246
KT
41702014-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
c888139c
JJ
41782014-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
b24ca895
JJ
41852014-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
f1257268
RS
41932014-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
bae56bbb
JR
42012014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
4202
0bb29a05
UB
4203 * config/arc/arc.c (conditionalize_nonjump): New function,
4204 broken out of ...
4205 (arc_ifcvt): ... this.
bae56bbb
JR
4206 (arc_predicate_delay_insns): Use it.
4207
167ba5b9
JR
42082014-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
dfd7d2d6
RB
42182014-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
af1ab449
RB
42232014-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
747425d0
CLT
42332014-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
31dad809
JJ
42452014-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
3c1c08d6
RB
42512014-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
21d89690
DR
42562014-03-08 Douglas B Rupp <rupp@gnat.com>
4257
4258 * config/vms/vms.opt (vms_float_format): New variable.
4259
634b8e9b
TB
42602014-03-08 Tobias Burnus <burnus@net-b.de>
4261
0bb29a05 4262 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 4263
f42c637e
PM
42642014-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
bd65fc87
RS
42722014-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
040c446d
RO
42792014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4280
0bb29a05
UB
4281 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
4282 for Solaris 11/x86 ld.
040c446d
RO
4283 * configure: Regenerate.
4284
caa16d41
RO
42852014-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
f3d83ffe
PM
42982014-03-07 Paulo Matos <paulo@matos-sorge.com>
4299
4300 * common.opt (fira-loop-pressure): Mark as optimization.
4301
b17a8b07
TS
43022014-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
4973b0f9
MK
43072014-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
ab19cc6c
JJ
43122014-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
a74158c7
RB
43222014-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
0bb29a05
UB
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.
a74158c7 4334
f3ba16d0
RB
43352014-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.
0bb29a05
UB
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.
f3ba16d0
RB
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
4bb66ef3 43452014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
4346
4347 PR debug/60381
4348 Revert:
4bb66ef3 4349 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
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
a05cca9b
JJ
43552014-03-05 Jakub Jelinek <jakub@redhat.com>
4356
487125e7
JJ
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
a05cca9b
JJ
4361 PR plugins/59335
4362 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
4363 (TM_H): Add x86-tune.def.
4364
4e2cd668
KT
43652014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4366
4367 * config/aarch64/aarch64.c (generic_tunings):
4368 Use cortexa57_extra_costs.
4369
5525ed38
JJ
43702014-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
0c72fa78
H
43782014-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
66b03f81
UB
43832014-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
3c24e842
RB
43972014-03-04 Richard Biener <rguenther@suse.de>
4398
4399 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 4400
3740bda6
PM
44012014-03-04 Paulo Matos <paulo@matos-sorge.com>
4402
0bb29a05
UB
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.
3740bda6 4407
91856735
RB
44082014-03-04 Richard Biener <rguenther@suse.de>
4409
4410 PR lto/60405
66b03f81 4411 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
4412 (lto_input_toplevel_asms): Likewise.
4413 * lto-section-in.c (lto_get_section_data): Instead do it here
4414 for every section.
66b03f81 4415
b75f28e1
RB
44162014-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
dd96e83a
UB
44222014-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
220c1a51
JR
44342014-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
212bfe71
JR
44392014-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
7a3d0a39
JR
4447 * config/arc/arc.opt (misize): Add PchIgnore property.
4448
b46ed885
BS
44492014-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
c6f709ec
NC
44562014-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
5752f78f
SKS
44632014-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
0afe7332 44702014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 4471 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
4472
4473 PR tree-optimization/58028
4474 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
4475 scalar dimensions.
4476
3416dd87
RR
44772014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4478
4479 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
4480 not handled by recognizers.
4481
79c7fda6
JJ
44822014-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
715a5c85
BS
44902014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4491
4492 * config/rs6000/constraints.md: Document reserved use of "wc".
4493
9ffbf271
JH
44942014-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
993df21e 45002014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 4501
993df21e
JH
4502 PR ipa/60306
4503
4504 Revert:
4505 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
4506 PR middle-end/58477
4507 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 4508
9b0af790
JB
45092014-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.
c6f709ec 4516 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 4517 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 4518 (simple_return, *simple_return): New patterns
9b0af790
JB
4519 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
4520 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
4521
c582aac9
PC
45222014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
4523
4524 * dwarf2out.c (gen_subprogram_die): Tidy.
4525
19305875
OE
45262014-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
570215f9
JM
45322014-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
c5b001b5
PC
45382014-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
5750e120
IB
45462014-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
fba7c564
RB
45512014-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.
84d7e312 4557 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 4558
4bb66ef3 45592014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
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
4bb66ef3 45702014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
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
4bb66ef3 45772014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
4578
4579 PR debug/57232
4580 * var-tracking.c (vt_initialize): Apply the same condition to
4581 preserve the CFA base value.
4582
9910c53c
JY
45832014-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
ef271341
TB
45892014-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
c4f6267b
L
45952014-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
7a76df7f
JL
46002014-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
84d7e312 4605 pattern we place into I3 is a (set (pc) ...).
7a76df7f 4606
728acca0
MP
46072014-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
93aaa05d
VM
46162014-02-27 Vladimir Makarov <vmakarov@redhat.com>
4617
4618 PR target/59222
4619 * lra.c (lra_emit_add): Check SUBREG too.
4620
1ee6eb01
AS
46212014-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
bb0d8e84
MP
46272014-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
3157b879
AM
46332014-02-27 Alan Modra <amodra@gmail.com>
4634
3e17cad2 4635 PR target/57936
3157b879
AM
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
bb750f4f
RB
46392014-02-26 Richard Biener <rguenther@suse.de>
4640
4641 PR bootstrap/60343
4642 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
4643
22c8aab3
IT
46442014-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
260d3642
IT
46632014-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
477145c8
RB
46752014-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
a3afdbb8
BC
46812014-02-26 Bin Cheng <bin.cheng@arm.com>
4682
4683 PR target/60280
84d7e312
UB
4684 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
4685 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
4686 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
4687 LOOPS_HAVE_PREHEADERS.
4688
b8a542c6
AP
46892014-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
88def637
VM
46942014-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
68908a06
BS
47032014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4704
cf36d2cc
WS
4705 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
4706 to use canonical form for nor<mode>3.
68908a06 4707
db57bbc9
KT
47082014-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
43b3f52f
IT
47142014-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.
84d7e312 4728 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
4729 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
4730 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 4731 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
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
84053e02
RB
47372014-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.
84d7e312 4743 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
4744 (init_emit_once): Do not allocate mem_attrs_htab.
4745
4094757e
RB
47462014-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
41b2d514 47542014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 4755
41b2d514
AB
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
c1c99405
AB
47612014-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
1d9def42
AD
47672014-02-24 Alangi Derick <alangiderick@gmail.com>
4768
4769 * calls.h: Fix typo in comment.
4770
325fefe0
JDA
47712014-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
ad43b47a
GW
47762014-02-24 Guozhi Wei <carrot@google.com>
4777
4778 * sparseset.h (sparseset_pop): Fix the wrong index.
4779
341c653c
WL
47802014-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
f3fec19f
MJ
48382014-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
9039622a
AB
48442014-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
4bb66ef3 48522014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 4853
9039622a
AB
4854 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
4855 names.
e7e7bc4b 4856
4bb66ef3 48572014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
4858
4859 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
4860 definition.
4861
4bb66ef3 48622014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 4863
84d7e312
UB
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.
c332c7df 4866
4bb66ef3 48672014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
4868
4869 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 4870 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 4871 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 4872 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
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
34c25d23
BS
48772014-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
a6eecdc1
BS
48822014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4883
d5a19af1
DH
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.
a6eecdc1 4894
8aa7d1fc
JR
48952014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
4896
4897 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 4898 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
4899 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
4900 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
4901
a810ee82
VM
49022014-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
b90ab1ba
BS
49082014-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
1af73690
WS
49152014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4916
4917 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 4918 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
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,
84d7e312
UB
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.
1af73690
WS
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.
84d7e312 4940 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
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>,
84d7e312 4950 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 4951
0a39d07b
CM
49522014-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
f2556b68
RB
49582014-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
32417082
RB
49682014-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
92261ce0
JJ
49742014-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
aa6ef874
TS
49872014-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
4b156fd0
NC
49922014-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
dffd569e
JJ
49992014-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
2fdc29e8
RH
50042014-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
aa637f66
JJ
50102014-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
004a7e45
UB
50202014-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
50252014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
5026
5027 PR c++/60272
5028 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
5029 on failure the store back into EXPECT.
5030
95ce7613
CLT
50312014-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.
84d7e312
UB
5035 * config/nios2/nios2.c (nios2_function_profiler): Add
5036 -fPIC (flag_pic == 2) support.
95ce7613
CLT
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
efd2d3c8
RB
50552014-02-20 Richard Biener <rguenther@suse.de>
5056
5057 * tree-cfg.c (replace_uses_by): Mark altered BBs before
5058 doing the substitution.
004a7e45 5059 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 5060
9576e7b1
MJ
50612014-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
25fe40b0
RB
50672014-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
bd936951
JH
50732014-02-20 Jan Hubicka <hubicka@ucw.cz>
5074
5075 PR ipa/58555
004a7e45
UB
5076 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
5077 parameter specifying the scaling.
bd936951
JH
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
3c898e1a
IT
50832014-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
df62b4af 50892014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 5090 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
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
9254148e
BS
51132014-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
fff91793
L
51182014-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
6aa5b4b8
UB
51242014-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
aadc1c43
MHD
51302014-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
322913f8
EB
51372014-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
fd9710dc
RB
51432014-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
4df65a85
RB
51492014-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
7fea98d8
JH
51572014-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
0a2550e7
JH
51622014-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.
6aa5b4b8 5175 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 5176
2dbe8b70
JH
51772014-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
b9809dc4
MM
51822014-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
bababbfb
EB
51942014-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
70aacc97
JJ
52002014-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
223cdd15
UB
52082014-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
48810be0
KT
52162014-02-18 Kai Tietz <ktietz@redhat.com>
5217
5218 PR target/60193
223cdd15
UB
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.
48810be0 5222
20afe640
EB
52232014-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
d0b50387
JJ
52282014-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
c4cd7435
AB
52362014-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
f0281fde
RB
52502014-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
c742772c
RB
52552014-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
0492158e
RB
52602014-02-17 Richard Biener <rguenther@suse.de>
5261
5262 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
5263
583a9919
KY
52642014-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
d737743f
BS
52752014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5276
223cdd15 5277 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
5278 (p8_vmrgow): Likewise.
5279
54c4bfd7
BS
52802014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5281
5282 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
5283 endian targets.
5284
518fea64
MM
52852014-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
61640916
AM
52962014-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
a2b33cc3
RB
53032014-02-15 Richard Biener <rguenther@suse.de>
5304
5305 PR tree-optimization/60183
223cdd15 5306 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
5307 (tree_ssa_phiprop): Calculate and free post-dominators.
5308
059742a4
JL
53092014-02-14 Jeff Law <law@redhat.com>
5310
5311 PR rtl-optimization/60131
5312 * ree.c (get_extended_src_reg): New function.
223cdd15 5313 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
5314 (find_and_remove_re): Verify first operand of extension is
5315 a REG before adding the insns to the copy list.
5316
88f7c49a
RM
53172014-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
2ae577fd
VM
53252014-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
5d88af08
KM
53362014-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
3069b421
RB
53412014-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
1966fd99
RB
53472014-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.
223cdd15 5354 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
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
b010d601
JJ
53622014-02-14 Jakub Jelinek <jakub@redhat.com>
5363
223cdd15 5364 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
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
f2dafb91
CJW
53692014-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
59043e75
CJW
53742014-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
810f736f
CJW
53792014-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
1a025bbf
JJ
53842014-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
69479ebd
SS
53902014-02-13 Sharad Singhai <singhai@google.com>
5391
5392 * doc/optinfo.texi: Fix order of nodes.
5393
1287ae50
UB
53942014-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
43372236
RB
53992014-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
a4d70cfa
JJ
54082014-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
e697d119
DV
54142014-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
9f8da907
RS
54202014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
5421
5422 * opts.c (option_name): Remove "enabled by default" rider.
5423
0fdd1196
JDA
54242014-02-12 John David Anglin <danglin@gcc.gnu.org>
5425
5426 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
5427
0544c448
L
54282014-02-12 H.J. Lu <hongjiu.lu@intel.com>
5429 Uros Bizjak <ubizjak@gmail.com>
5430
5431 PR target/60151
1287ae50 5432 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
5433 * configure: Regenerated.
5434
3a938d75
RB
54352014-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
ad0188be
RB
54552014-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
64e5ace5
TS
54602014-02-12 Thomas Schwinge <thomas@codesourcery.com>
5461
88ac13da
TS
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
bae729a2
TS
5467 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
5468 last use.
5469
64e5ace5
TS
5470 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
5471 dereference.
5472
7b40f5cf
JG
54732014-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.
1287ae50 5478 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
5479 (cortexa7_extra_costs): Likewise.
5480 (cortexa12_extra_costs): Likewise.
5481 (cortexa15_extra_costs): Likewise.
5482 (v7m_extra_costs): Likewise.
5483
c4c8514e
RB
54842014-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
8eb651bd
SKS
54922014-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
62b03553
EB
54982014-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
ec77d61f
JH
55042014-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.
1287ae50
UB
5522 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
5523 at LTO time do demangling.
ec77d61f
JH
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
5a4dcd9b
VM
55312014-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
69b7afed
MM
55372014-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
8268ad5c
JJ
55432014-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
4fd92af6
KT
55502014-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
7cb14cb8
KT
55572014-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
6d3715b9
RL
55622014-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
cddddfff
JL
55672014-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
7c1aef7e
RO
55732014-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
4bb66ef3 55802014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
5581
5582 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
5583 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
5584
4bb66ef3 55852014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
5586
5587 * config/microblaze/microblaze.c: Extend mcpu version format
5588
4bb66ef3 55892014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
5590
5591 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
5592
004a7e45 55932014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
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
e2fc3b4f
BE
56032014-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
3a22ad89
NC
56102014-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
f27be550
JL
56162014-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
1287ae50 5620 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 5621
e15e3815
UW
56222014-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
4e1f39e4
RB
56352014-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
e7af1c22
KT
56422014-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
79c7de84
EB
56472014-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
cf73ee60
KY
56532014-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
8fcbce72
JJ
56992014-02-08 Jakub Jelinek <jakub@redhat.com>
5700
41475e96
JJ
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
c74559df
JJ
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
8fcbce72
JJ
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.
1287ae50
UB
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.
8fcbce72 5722
451bdd23
TG
57232014-02-08 Terry Guo <terry.guo@arm.com>
5724
5725 * doc/invoke.texi: Document ARM -march=armv7e-m.
5726
d31d42c7
JJ
57272014-02-08 Jakub Jelinek <jakub@redhat.com>
5728
d71dfeb7
JJ
5729 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
5730 flag on __cilkrts_rethrow builtin.
5731
d31d42c7
JJ
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
a0a98fef
JH
57442014-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
8c311b50
JH
57512014-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
7ba03e5e
JL
57562014-02-07 Jeff Law <law@redhat.com>
5757
63e6247d
JL
5758 PR target/40977
5759 * config/m68k/m68k.md (ashldi_extsi): Turn into a
5760 define_insn_and_split.
5761
7ba03e5e
JL
5762 * ipa-inline.c (inline_small_functions): Fix typos.
5763
177bc204
RS
57642014-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
0621cf3c
RS
57802014-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
4099494d
RS
57872014-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
3489cc33
RS
57972014-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
75cc21e2
AK
58022014-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
8bd7070a
AK
58082014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5809
1287ae50 5810 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 5811
831806cb
RB
58122014-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
7ee9c16f
JJ
58192014-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
32cab212
RB
58252014-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
6d6af792
JH
58362014-02-06 Jan Hubicka <hubicka@ucw.cz>
5837
5838 PR ipa/59918
1287ae50
UB
5839 * ipa-devirt.c (record_target_from_binfo): Remove overactive
5840 sanity check.
6d6af792 5841
3c0f1105
JH
58422014-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
b3bb0eb9
JH
58532014-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
58602014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
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.
1287ae50 5873 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
5874 (ix86_expand_push): Remove.
5875 * config/i386/mmx.md (push<mode>1): Remove.
5876
47d552eb
JJ
58772014-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
45c75ea7
KT
58832014-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
af116cae
JJ
58922014-02-06 Jakub Jelinek <jakub@redhat.com>
5893
652a3e3a
JJ
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
af116cae 5904 PR debug/59992
1287ae50
UB
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.
af116cae 5907
fdcee33b
AM
59082014-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
251901a0
JJ
59142014-02-06 Jakub Jelinek <jakub@redhat.com>
5915
d3ef8c53
JJ
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
2754b38f
JJ
5923 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
5924
251901a0
JJ
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
4a985a37
MS
59312014-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
c366d38c
KT
59362014-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
c801e246
YG
59432014-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
d50f7b84
RB
59502014-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
179d2941
AV
59552014-02-06 Alex Velenko <Alex.Velenko@arm.com>
5956
5957 * config/aarch64/aarch64-simd.md
5958 (aarch64_ashr_simddi): Change QI to SI.
5959
78b1469d
JH
59602014-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
d85f364c
BS
59672014-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
7b1cd427
BS
59772014-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
52a93551
BS
59832014-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
1287ae50 6002 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
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
1287ae50 6006 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
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
004a7e45 60122014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
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
f300e7b8
JH
60212014-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.
1287ae50 6025 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
6026 (driver_handle_option): Handle OPT_fwpa.
6027
609524d2
JJ
60282014-02-05 Jakub Jelinek <jakub@redhat.com>
6029
add5c763
JJ
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
609524d2
JJ
6035 PR middle-end/57499
6036 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
6037 bb with no successors.
6038
05ab6e21
JG
60392014-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
d55d9ed0
RB
60462014-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
c70da878
NC
60532014-02-05 Nick Clifton <nickc@redhat.com>
6054
6055 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 6056 accept extended registers in any mode when compiling for the MN10300.
c70da878 6057
25a07c7e
YG
60582014-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
4bf2a588
JH
60662014-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
d92f4df0
JDA
60712014-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
d665f8dd
JH
60832014-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
6a071860
BE
60902014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
6091
e2fc3b4f 6092 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 6093 use SSIZE_MAX because it is not always defined.
6a071860 6094
8e9d68a9
VM
60952014-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
8472fa80
MT
61072014-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
df98e37f
JH
61132014-02-04 Jan Hubicka <hubicka@ucw.cz>
6114
1287ae50
UB
6115 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
6116 visibility is safe.
df98e37f 6117
71e55f04
MP
61182014-02-04 Marek Polacek <polacek@redhat.com>
6119
6120 * gdbinit.in (pel): Define.
6121
229e56f9
BE
61222014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
6123
6124 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
6125 behavior.
6126
c39276b8
RB
61272014-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
66b3ed5f
JJ
61362014-02-04 Jakub Jelinek <jakub@redhat.com>
6137
029ce7a2
JJ
6138 PR tree-optimization/60002
6139 * cgraphclones.c (build_function_decl_skip_args): Clear
6140 DECL_LANG_SPECIFIC.
6141
8e91d222
JJ
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
eb259c4a
JJ
6152 PR ipa/60026
6153 * tree-inline.c (copy_forbidden): Fail for
6154 __attribute__((optimize (0))) functions.
6155
92d05580
JJ
6156 PR other/58712
6157 * omp-low.c (simd_clone_struct_copy): If from->inbranch
6158 is set, copy one less argument.
30540e79
JJ
6159 (expand_simd_clones): Don't subtract clone_info->inbranch
6160 from simd_clone_struct_alloc argument.
92d05580 6161
be3afd67
JJ
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
66b3ed5f
JJ
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
5961d779
RB
61702014-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
91da0481
RO
61762014-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
39960d1c
JH
61822014-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
61872014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
6188
6189 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
6190 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
6191
39960d1c 61922014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
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
39960d1c 62032014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
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.
1287ae50
UB
6209 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
6210 type inconsistent querries; return UNREACHABLE instead.
9de2f554 6211
ade3ff24
RH
62122014-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
55428cc3
LA
62212014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
6222
6223 PR gcov-profile/58602
1287ae50 6224 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 6225
85942f45
JH
62262014-02-03 Jan Hubicka <hubicka@ucw.cz>
6227
6228 PR ipa/59831
1287ae50
UB
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.
85942f45 6232 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 6233 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
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
1287ae50 6244 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
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
bddc974e
TJ
62502014-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
5d77fb19
MG
62552014-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
cf5b2be2
CH
62612014-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
a2a1ddb5
L
62682014-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
f742cf90
L
62872014-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
8f36fd30
MT
62922014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
6293
1287ae50 6294 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 6295
861ec4f3
AB
62962014-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
fe08255d
AB
63022014-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
96d3a240
JG
63072014-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
9dd6c9f7
KT
63122014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6313
6314 * config/arm/arm-tables.opt: Regenerate.
6315
60331d00
BS
63162014-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
b80afde9
BS
63312014-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
39960d1c 63402014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
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
02b67731
SL
63472014-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
2ace77c2
JH
63532014-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
70b2d364
RS
63582014-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
a90c0245
RS
63642014-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
6d51cc90
RS
63882014-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
6c90f137
UB
64002014-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
5e64bbbb
L
64062014-02-02 H.J. Lu <hongjiu.lu@intel.com>
6407
6408 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
6409
021293cb
JJ
64102014-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
6334f3e9
VM
64182014-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
efa7882f
RH
64242014-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
de72ea02
IT
64302014-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
be792bce
IT
64452014-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.
33425d6c
UB
6468 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
6469 Ditto.
be792bce
IT
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
0878d68a
MG
65222014-01-31 Marc Glisse <marc.glisse@inria.fr>
6523
6524 * doc/extend.texi (Vector Extensions): Document ?: in C++.
6525
fdfd537b
RB
65262014-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
4f50b9ff
DD
65332014-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
c3e96073
BS
65402014-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
4bb9c32d
JJ
65572014-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
7613fa50
VM
65632014-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
6fb82517
JJ
65692014-01-30 Jakub Jelinek <jakub@redhat.com>
6570
33425d6c 6571 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
6572 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
6573 Add missing return type - void.
6574
bf53d4b8
BS
65752014-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
c965e187
RB
66012014-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
ba117645
AD
66082014-01-30 Alangi Derick <alangiderick@gmail.com>
6609
6610 * README.Portability: Fix typo.
6611
4bb66ef3 66122014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
6613
6614 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
6615 comparison_operator with ordered_comparison_operator.
6616
c345a0b1
NC
66172014-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
2d70f6d4
NC
66272014-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
c972624e
RB
66352014-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
fc044323
JM
66412014-01-30 Jason Merrill <jason@redhat.com>
6642
404c2aea
JM
6643 PR c++/59633
6644 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
6645
fc044323
JM
6646 PR c++/59645
6647 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
6648
f30a0ba5
RB
66492014-01-30 Richard Biener <rguenther@suse.de>
6650
6651 PR tree-optimization/59951
33425d6c 6652 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 6653
aad8816f
SZ
66542014-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
3b16363e
DD
66602014-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
39960d1c 66672014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
6668
6669 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
6670 (estimate_function_body_sizes): Use it.
6671
1200933c
PC
66722014-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
68d3bacf
BS
66792014-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.
33425d6c 6686 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
6687 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
6688 (altivec_vmrghb): Replace with define_expand and new
33425d6c 6689 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
6690 (altivec_vmrghb_direct): New define_insn.
6691 (altivec_vmrghh): Replace with define_expand and new
33425d6c 6692 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
6693 (altivec_vmrghh_direct): New define_insn.
6694 (altivec_vmrghw): Replace with define_expand and new
33425d6c 6695 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
6696 (altivec_vmrghw_direct): New define_insn.
6697 (*altivec_vmrghsf): Adjust for endianness.
6698 (altivec_vmrglb): Replace with define_expand and new
33425d6c 6699 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
6700 (altivec_vmrglb_direct): New define_insn.
6701 (altivec_vmrglh): Replace with define_expand and new
33425d6c 6702 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
6703 (altivec_vmrglh_direct): New define_insn.
6704 (altivec_vmrglw): Replace with define_expand and new
33425d6c 6705 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
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
aef66c94
MS
67172014-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
77574c35
RB
67232014-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
15b25b24
RB
67322014-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
eb6006ad
RL
67372014-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
4bfb2fa2
RB
67482014-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
42eb8bd1
JJ
67562014-01-29 Jakub Jelinek <jakub@redhat.com>
6757
09b22f48
JJ
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.
33425d6c 6801 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
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
42eb8bd1
JJ
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
4a271b7e
BM
68102014-01-29 Bingfeng Mei <bmei@broadcom.com>
6811
33425d6c 6812 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
6813 vec_widen_(s|u)mul_even/odd pair if it is less efficient
6814 than hi/lo pair.
6815
3d54b29d
JJ
68162014-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
2e5e7103
JM
68222014-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
d5d618b5
L
68302014-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
367c8286
DS
68452014-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
33425d6c 6849 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 6850
07ec81f9
RB
68512014-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
5facb998
KT
68572014-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
e04faf24
RB
68622014-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
6593260b
RB
68742014-01-28 Richard Biener <rguenther@suse.de>
6875
33425d6c 6876 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 6877
9ec2d2c1
RB
68782014-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
2ceb362d
AM
68872014-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
0ebe2584
ASJ
68952014-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
a33fc7fe
SE
69012014-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.
0ebe2584
ASJ
6908 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
6909 Change from Mask to Var.
a33fc7fe 6910
a99be3c9
JL
69112014-01-27 Jeff Law <law@redhat.com>
6912
6913 * ipa-inline.c (inline_small_functions): Fix typo.
6914
d256b866
IT
69152014-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
e711dffd
KY
69902014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
6991
1287ae50 6992 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 6993 New.
e711dffd
KY
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
0ebe2584
ASJ
7006 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
7007 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
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
904e5ccd
JJ
70292014-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
84e90123
JG
70362014-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
c6f6157a
JG
70432014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
7044
7045 * gimple-builder.h (create_gimple_tmp): Delete.
7046
770516c9
CB
70472014-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
cc5cec10
JDA
70522014-01-26 John David Anglin <danglin@gcc.gnu.org>
7053
5aa3c762
JDA
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
cc5cec10
JDA
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
6bb0e248
WL
70642014-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
dab03fe3
WL
70692014-01-25 Walter Lee <walt@tilera.com>
7070
770516c9 7071 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 7072 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 7073 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
7074 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
7075
905c20c1
WL
70762014-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
8e90a625
WL
70862014-01-25 Walter Lee <walt@tilera.com>
7087
7088 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
7089 insns before bundling.
0ebe2584 7090 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 7091
450c1ffe
WL
70922014-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.
317a951f 7097
450c1ffe 70982014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 7099
317a951f
RS
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
3abe9053
WL
71082014-01-25 Walter Lee <walt@tilera.com>
7109
0ebe2584 7110 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
7111 (clzdi2): Ditto.
7112 (ffsdi2): Ditto.
7113
b0e0fe41
WL
71142014-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
2c8798a2
RS
71192014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
7120
7121 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
7122 Handle XOR.
7123
2105be5a
JJ
71242014-01-25 Jakub Jelinek <jakub@redhat.com>
7125
4def6060
JJ
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
2105be5a
JJ
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
b72271b9
BI
71352014-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
8adcc78b
BS
71502014-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
3d750496
JL
71572014-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
1c05df59
JG
71632014-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
317363b4
DS
71702014-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
16370fa7
L
71752014-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
b846c948
MM
71812014-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
0ebe2584
ASJ
7195 to separate support of normal quad word memory operations (ldq, stq)
7196 from the atomic quad word memory operations.
b846c948
MM
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.
0ebe2584
ASJ
7210 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
7211 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
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
6e23f296
VM
72302014-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
0a4f04e5
PH
72362014-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
f9a4c9a6
AV
72412014-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
949ad971
NC
72512014-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
d5ecead9
JG
72592014-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
1dd055a2
JG
73162014-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
dafb9b64
AV
73422013-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
0ebe2584 7347 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
7348 New builtin definition.
7349 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
7350 Use new safe be builtin.
7351
89b4515c
AV
73522014-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
4bb66ef3 73622014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
7363
7364 * config/microblaze/microblaze.md: Add trap insn and attribute
7365
7ecc3eb9
DS
73662014-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
2196a885
KY
73962014-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
70473c63
KY
74052014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
7406
7407 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
7408 (_mm512_storeu_si512): Ditto.
7409
f9ae4df8
RS
74102014-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
4bb66ef3 74182014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
7419
7420 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
7421
39960d1c 74222014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
7423
7424 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
7425 Enable for generic and recent AMD targets.
7426
39960d1c 74272014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
7428
7429 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
7430 ARG_SIZE note when adjustment was eliminated.
7431
bb50b870
JL
74322014-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
df2980be
VM
74432014-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
0ebe2584 7447 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 7448
1bb99900
TT
74492014-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
9102dadd
VM
74552014-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
ca376eb8
RS
74612014-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
a9711f36
VM
74662014-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
f8ea7cb0
JJ
74732014-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
84db09e3
DD
74812014-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
1cf11770
L
74862014-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,
0ebe2584 7501 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
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
0ebe2584 7507 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 7508
8586e4bd
UB
75092014-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
99482090
EB
75152014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7516
7517 * output.h (output_constant): Delete.
7518 * varasm.c (output_constant): Make private.
7519
ede23272
AV
75202014-01-20 Alex Velenko <Alex.Velenko@arm.com>
7521
7522 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
7523
9a7eefec
JJ
75242014-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
3e729145
UB
75342014-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
eee0e487
MS
75392014-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
9e540e37
JG
75452014-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
69675d50
TB
75512014-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
ffee7aa9
JG
75602014-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
c7169779
JBG
75682014-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
409b6ac1
RB
75752014-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
608df31f
AL
75812014-01-20 Alan Lawrence <alan.lawrence@arm.com>
7582
7583 * config/aarch64/aarch64.opt
7584 (mcpu, march, mtune): Make case-insensitive.
7585
0fabe5f3
JJ
75862014-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
39960d1c 75922014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
7593
7594 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
7595
925cb97d
JDA
75962014-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
f43856db
JBG
76012014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7602
7603 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
7604
d2be9965
ILT
76052014-01-19 Kito Cheng <kito@0xlab.org>
7606
7607 * builtins.c (expand_movstr): Check movstr expand done or fail.
7608
efc90043
UB
76092014-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
8fce217e
JJ
76162014-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
efc90043 76222014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
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
7f3af6d3
UB
76342014-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
76392014-01-18 Uros Bizjak <ubizjak@gmail.com>
7640
7641 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
7642
fa5d6c75
JJ
76432014-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
04da5680
RS
76502014-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
1e99bee5
L
76552014-01-17 H.J. Lu <hongjiu.lu@intel.com>
7656
7f3af6d3 7657 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 7658
fa7d0c60
JDA
76592014-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
2043135a
JL
76642014-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
39960d1c 76692014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
7670
7671 PR middle-end/58125
7672 * ipa-inline-analysis.c (inline_free_summary):
7673 Do not free summary of aliases.
7674
664ceb1e
JJ
76752014-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
aef83682
MJ
76822014-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
4bb66ef3 76922014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
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
4ee5c752
JL
76992014-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
40cfac7c
L
77052014-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
9a7f94d7
L
77132014-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.
9a7f94d7
L
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.
8cdcf750
L
7731 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
7732 instead of TARGET_OPT_AGU.
9a7f94d7
L
7733 * config/i386/i386.h (TARGET_INTEL): New.
7734 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
7735 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
7736 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
7737 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 7738
30078c0a
MP
77392014-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
14379e66
RB
77452014-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
f7d594d2
JJ
77552014-01-17 Jakub Jelinek <jakub@redhat.com>
7756
88e18bd5
JJ
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
f7d594d2
JJ
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
32500433
RB
77662014-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
24fcf4bc
JJ
77982014-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
d4f283a1
NC
78042014-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
7be64667
RB
78212014-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
82a197a2
ZC
78362014-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
c68b3f52
IE
78412014-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
39960d1c 78462014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
7847
7848 PR ipa/59775
7849 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
7850
9e6f9ad6
BS
78512014-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
a611d7cb
JJ
78582014-01-16 Jakub Jelinek <jakub@redhat.com>
7859
d1417442
JJ
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
42ed6cde
JJ
7873 PR middle-end/58344
7874 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
7875
a611d7cb 7876 PR target/59839
7f3af6d3
UB
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.
a611d7cb 7879
8f21260c
VM
78802014-01-16 Vladimir Makarov <vmakarov@redhat.com>
7881
7882 PR middle-end/59609
7f3af6d3
UB
7883 * lra-constraints.c (process_alt_operands): Add printing debug info.
7884 Check absence of input/output reloads for matched operands too.
8f21260c 7885
1a788c05
VM
78862014-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
4cf24d27
AL
78922014-01-16 Alan Lawrence <alan.lawrence@arm.com>
7893
cc3a9f0d 7894 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 7895
030d03b8
RE
78962014-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
e78f06a8
MM
79032014-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
9d1ae52c
RB
79132014-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
54c7a7f3
NC
79192014-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.
7f3af6d3 7929 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 7930
5147d10a
MP
79312014-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
4ac005ba
UB
79372014-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
5d7574fa
PH
79422014-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
6ee70f81
AP
79472014-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
004a7e45 79522014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
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
4583fada
TJ
79602014-01-15 Teresa Johnson <tejohnson@google.com>
7961
7962 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
7963
d13dfec8
BS
79642014-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
a6a2d67b
JL
79902014-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
aefe4056
SH
79992014-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
fef37404
VM
80222014-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
6b916b36
RB
80322014-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
d103f29b 80392014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 8040 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
8041
8042 PR target/59695
8043 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
8044 truncation.
8045
95cb8697
RB
80462014-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
cb4b6d17
AK
80522014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8053
1c8b5303 8054 PR target/59803
cb4b6d17
AK
8055 * config/s390/s390.c (s390_preferred_reload_class): Don't return
8056 ADDR_REGS for invalid symrefs in non-PIC code.
8057
2738b4c7
JJ
80582014-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
d126a4ae
AP
80642014-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
dc687582
VM
80722014-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
e940b2ec
VM
80772014-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
3292e376
L
80822014-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
4ac005ba
UB
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.
3292e376
L
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
db930875
RS
80972014-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
a0e35eb0
RB
81022014-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
a984e92e
JY
81112014-01-14 Joey Ye <joey.ye@arm.com>
8112
8113 * doc/plugin.texi (Building GCC plugins): Update to C++.
8114
c56a42b9
KY
81152014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
8116
3292e376 8117 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
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.
4ac005ba
UB
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.
c56a42b9
KY
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
09fccb62
BS
81562014-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
fb28dac0
DD
81612014-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
19e51b40
JJ
81732014-01-13 Jakub Jelinek <jakub@redhat.com>
8174
03b9e8e4
JJ
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
19e51b40
JJ
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
cd794ed4
KT
82002014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8201
8202 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
8203
e75fde1a
EB
82042014-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
eae298d6
CB
82092014-01-13 Christian Bruel <christian.bruel@st.com>
8210
8211 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 8212 optimized non constant lengths.
eae298d6 8213
8175be9a
JJ
82142014-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
9c111368
DE
82202014-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
c82846bc
DE
82262014-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
2c407426
BC
82442014-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
7e41c852
JL
82512014-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
39960d1c 82582014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
8259
8260 PR ipa/58585
4ac005ba
UB
8261 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
8262 vtables into the type inheritance graph.
b270b096 8263
0d6d7b9a
JJ
82642014-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
110132c1
BS
82702014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8271
8272 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
8273
5da96960
JJ
82742014-01-10 Jakub Jelinek <jakub@redhat.com>
8275
4f87d581
JJ
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
5da96960
JJ
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
1aa26aac
SE
82892014-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
1c992d1e
RE
82962014-01-10 Richard Earnshaw <rearnsha@arm.com>
8297
7783a246 8298 PR target/59744
1c992d1e
RE
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.
7783a246 8302 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
8303 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
8304
86464cbd
AK
83052014-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
5e6667b2
RB
83102014-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
5619162c
KT
83172014-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
2d17b99f
KT
83222014-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
bcca645c
KT
83282014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8329
8330 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
8331 non-iwmmxt builtins.
8332
a3788dde
JH
83332014-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
87ed883e
HC
83412014-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
cd4447e2
JJ
83462014-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
3fadf78a
SE
83522014-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
6edc217d
BS
83622014-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
a70e9985
JJ
83722014-01-09 Jakub Jelinek <jakub@redhat.com>
8373
3396aba5
JJ
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
a70e9985
JJ
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
6e9cc565
L
83862014-01-09 H.J. Lu <hongjiu.lu@intel.com>
8387
8388 * config/i386/i386.md (cpu): Remove the unused btver1.
8389
d1c0e4ac
L
83902014-01-09 H.J. Lu <hongjiu.lu@intel.com>
8391
8392 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
8393
e83b8e2e
JJ
83942014-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
2aaed0f3
RB
84112014-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
b5ebc991
MO
84182014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
8419
4ac005ba 8420 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
8421 asan stack protection.
8422 (expand_used_vars): Likewise.
8423 (partition_stack_vars): Likewise.
4ac005ba 8424 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 8425 after return stack usage.
7f3af6d3 8426 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
8427 (instrument_builtin_call): Likewise.
8428 (instrument_strlen_call): Likewise.
7f3af6d3 8429 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
8430 * doc/invoke.texi: Added doc for new options.
8431 * params.def: Added new options.
8432 * params.h: Likewise.
8433
b59e0455
JJ
84342014-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
650c4c85
JL
84432014-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
ff36fcbe
EB
84492014-01-08 Eric Botcazou <ebotcazou@adacore.com>
8450
8451 * cgraph.h (varpool_variable_node): Do not choke on null node.
8452
9f9d82aa
CM
84532014-01-08 Catherine Moore <clm@codesourcery.com>
8454
4ac005ba
UB
8455 * config/mips/mips.md (simple_return): Attempt to use JRC
8456 for microMIPS.
9f9d82aa
CM
8457 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
8458
df6c8808
RS
84592014-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
6170ceff
BS
84662014-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
3f140f32
RS
84712014-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
c6de6665
JJ
84852014-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
4c437f02
BE
84902014-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
4ac005ba 85012014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
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
ab04b46e
MP
85102014-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
06636b32
MP
85152014-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
c15677b6
JJ
85202014-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
5c944c6c
RB
85262014-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
0bd34ae4
RB
85432014-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
04af8ab6
JL
85492014-01-07 Jeff Law <law@redhat.com>
8550
3c92da90
JL
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.
4ac005ba
UB
8554 (combine_reaching_defs): Allow source and destination registers
8555 in extension to be different under limited circumstances.
3c92da90 8556 (add_removable_extension): Remove restriction that the
4ac005ba 8557 source and destination registers in the extension are the same.
3c92da90
JL
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
04af8ab6
JL
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
4bb66ef3 85672014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
8568
8569 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
8570
55ada375
JDA
85712014-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
877c72e7
RS
85772014-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):
4ac005ba 8582 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 8583
8b2721da
JG
85842014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
8585
8586 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
8587 -mcpu.
8588
5d72b79f
YZ
85892014-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
48d53439
RS
85952014-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
41626746
JJ
86042014-01-07 Jakub Jelinek <jakub@redhat.com>
8605
a0cbe71e
JJ
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
41626746
JJ
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
cc349a39
MS
86222014-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
529a6471
JJ
86312014-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
96066ce1
MP
86442014-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
955b33ed 86502014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
8651
8652 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
8653 is newly allocated.
8654
328402a9
RE
86552014-01-06 Richard Earnshaw <rearnsha@arm.com>
8656
8657 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
8658
a4e33812
MJ
86592014-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
b5cd2a02
EB
86662014-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
c7d19c0b
TG
86732014-01-06 Terry Guo <terry.guo@arm.com>
8674
8675 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
8676
e0c70bd7
IS
86772014-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
c30f016c
UB
86832014-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
f2bc252b
EB
86892014-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
dad5ed2e
JJ
86962014-01-04 Jakub Jelinek <jakub@redhat.com>
8697
39719c84
JJ
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
dad5ed2e
JJ
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
87122014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
8713
8714 PR tree-optimization/59651
c30f016c 8715 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
8716 Address range for negative step should be added by TYPE_SIZE_UNIT.
8717
e864837a
AS
87182014-01-03 Andreas Schwab <schwab@linux-m68k.org>
8719
8720 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 8721 overlapping registers also for registers other than the stack pointer.
e864837a 8722
56a34230
MP
87232014-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
039eee3f
JJ
87292014-01-03 Jakub Jelinek <jakub@redhat.com>
8730
3bcdbd50
JJ
8731 PR target/59625
8732 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
8733 asm goto as jump.
8734
039eee3f
JJ
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
927734cf
XDL
87482014-01-02 Xinliang David Li <davidxl@google.com>
8749
8750 PR tree-optimization/59303
039eee3f 8751 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
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
23a5b65a
RS
87902014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8791
c30f016c 8792 Update copyright years.
23a5b65a 8793
f9030485
RS
87942014-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,
c30f016c
UB
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.
f9030485 8807
98db73df
TB
88082014-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
2898d204 88212014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
8822
8823 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
8824
dfebbdc6 88252014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 8826
726c3546
JJ
8827 * config/i386/sse.md (*mov<mode>_internal): Guard
8828 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
8829
dfebbdc6
JJ
8830 PR rtl-optimization/59647
8831 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
8832 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 8833\f
970c3b33 8834Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
8835
8836Copying and distribution of this file, with or without modification,
8837are permitted in any medium without royalty provided the copyright
8838notice and this notice are preserved.
This page took 6.808402 seconds and 5 git commands to generate.