]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR target/52125 (Problems with LO16 asm operands on MIPS)
[gcc.git] / gcc / ChangeLog
CommitLineData
f9ae4df8
RS
12014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
2
3 PR target/52125
4 * rtl.h (get_referenced_operands): Declare.
5 * recog.c (get_referenced_operands): New function.
6 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
7 operands have been referenced when recording LO_SUM references.
8
e50f5f2e
DH
92014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
10
11 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
12
33b64438
JH
132014-01-22 Jan Hubicka <jh@suse.cz>
14
15 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
16 Enable for generic and recent AMD targets.
17
77b7a218
JH
182014-01-22 Jan Hubicka <jh@suse.cz>
19
20 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
21 ARG_SIZE note when adjustment was eliminated.
22
bb50b870
JL
232014-01-22 Jeff Law <law@redhat.com>
24
25 PR tree-optimization/59597
26 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
27 in file. Accept new argument REGISTERING and use it to modify
28 dump output appropriately.
29 (register_jump_thread): Corresponding changes.
30 (mark_threaded_blocks): Reinstate code to cancel unprofitable
31 thread paths involving joiner blocks. Add code to dump cancelled
32 jump threading paths.
33
df2980be
VM
342014-01-22 Vladimir Makarov <vmakarov@redhat.com>
35
36 PR rtl-optimization/59477
37 * lra-constraints.c (inherit_in_ebb): Process call for living hard
38 regs. Update reloads_num and potential_reload_hard_regs for all
39 insns.
40
1bb99900
TT
412014-01-22 Tom Tromey <tromey@redhat.com>
42
43 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
44 PARAMS.
45 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
46
9102dadd
VM
472014-01-21 Vladimir Makarov <vmakarov@redhat.com>
48
49 PR rtl-optimization/59896
50 * lra-constraints.c (process_alt_operands): Check unused note for
51 matched operands of insn with no output reloads.
52
ca376eb8
RS
532014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
54
55 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
56 (mips_move_from_gpr_cost): Likewise.
57
a9711f36
VM
582014-01-21 Vladimir Makarov <vmakarov@redhat.com>
59
60 PR rtl-optimization/59858
61 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
62 ira_class_hard_regs_num.
63 (process_alt_operands): Increase reject for dying matched operand.
64
f8ea7cb0
JJ
652014-01-21 Jakub Jelinek <jakub@redhat.com>
66
67 PR target/59003
68 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
69 smaller than size, perform several stores or loads and stores
70 at dst + count - size to store or copy all of size bytes, rather
71 than just last modesize bytes.
72
84db09e3
DD
732014-01-20 DJ Delorie <dj@redhat.com>
74
75 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
76 that CLOBBERs are REGs before propogating their values.
77
1cf11770
L
782014-01-20 H.J. Lu <hongjiu.lu@intel.com>
79
80 PR middle-end/59789
81 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
82 (cgraph_inline_failed_type): New function.
83 * cgraph.h (DEFCIFCODE): Add type.
84 (cgraph_inline_failed_type_t): New enum.
85 (cgraph_inline_failed_type): New prototype.
86 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
87 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
88 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
89 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
90 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
91 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
92 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
93 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
94 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
95 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
96 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
97 OPTIMIZATION_MISMATCH.
98 * tree-inline.c (expand_call_inline): Emit errors during
99 early_inlining if cgraph_inline_failed_type returns
100 CIF_FINAL_ERROR.
101
8586e4bd
UB
1022014-01-20 Uros Bizjak <ubizjak@gmail.com>
103
104 PR target/59685
105 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
106 mode attribute in insn output.
107
99482090
EB
1082014-01-20 Eric Botcazou <ebotcazou@adacore.com>
109
110 * output.h (output_constant): Delete.
111 * varasm.c (output_constant): Make private.
112
ede23272
AV
1132014-01-20 Alex Velenko <Alex.Velenko@arm.com>
114
115 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
116
9a7eefec
JJ
1172014-01-20 Jakub Jelinek <jakub@redhat.com>
118
119 PR middle-end/59860
120 * tree.h (fold_builtin_strcat): New prototype.
121 * builtins.c (fold_builtin_strcat): No longer static. Add len
122 argument, if non-NULL, don't call c_strlen. Optimize
123 directly into __builtin_memcpy instead of __builtin_strcpy.
124 (fold_builtin_2): Adjust fold_builtin_strcat caller.
125 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
126
3e729145
UB
1272014-01-20 Uros Bizjak <ubizjak@gmail.com>
128
129 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
130 for SImode_address_operand operands, having only a REG argument.
131
eee0e487
MS
1322014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
133
134 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
135 loader name using mbig-endian.
136 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
137
9e540e37
JG
1382014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
139
140 * doc/invoke.texi (-march): Clarify documentation for AArch64.
141 (-mtune): Likewise.
142 (-mcpu): Likewise.
143
69675d50
TB
1442014-01-20 Tejas Belagod <tejas.belagod@arm.com>
145
146 * config/aarch64/aarch64-protos.h
147 (aarch64_cannot_change_mode_class_ptr): Declare.
148 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
149 aarch64_cannot_change_mode_class_ptr): New.
150 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
151 backend hook aarch64_cannot_change_mode_class.
152
ffee7aa9
JG
1532014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
154
155 * common/config/aarch64/aarch64-common.c
156 (aarch64_handle_option): Don't handle any option order logic here.
157 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
158 selected_cpu, warn on architecture version mismatch.
159 (aarch64_override_options): Fix parsing order for option strings.
160
c7169779
JBG
1612014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
162 Iain Sandoe <iain@codesourcery.com>
163
164 PR bootstrap/59496
165 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
166 warning. Amend comment to reflect current functionality.
167
409b6ac1
RB
1682014-01-20 Richard Biener <rguenther@suse.de>
169
170 PR middle-end/59860
171 * builtins.c (fold_builtin_strcat): Remove case better handled
172 by tree-ssa-strlen.c.
173
608df31f
AL
1742014-01-20 Alan Lawrence <alan.lawrence@arm.com>
175
176 * config/aarch64/aarch64.opt
177 (mcpu, march, mtune): Make case-insensitive.
178
0fabe5f3
JJ
1792014-01-20 Jakub Jelinek <jakub@redhat.com>
180
181 PR target/59880
182 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
183 if operands[1] is a REG or ZERO_EXTEND of a REG.
184
cdafab3d
JH
1852014-01-19 Jan Hubicka <jh@suse.cz>
186
187 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
188
925cb97d
JDA
1892014-01-19 John David Anglin <danglin@gcc.gnu.org>
190
191 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
192 long non-pic millicode calls.
193
f43856db
JBG
1942014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
195
196 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
197
d2be9965
ILT
1982014-01-19 Kito Cheng <kito@0xlab.org>
199
200 * builtins.c (expand_movstr): Check movstr expand done or fail.
201
efc90043
UB
2022014-01-18 Uros Bizjak <ubizjak@gmail.com>
203 H.J. Lu <hongjiu.lu@intel.com>
204
205 PR target/59379
206 * config/i386/i386.md (*lea<mode>): Zero-extend return register
207 to DImode for zero-extended addresses.
208
8fce217e
JJ
2092014-01-19 Jakub Jelinek <jakub@redhat.com>
210
211 PR rtl-optimization/57763
212 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
213 on the new indirect jump_insn and increment LABEL_NUSES (label).
214
efc90043 2152014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
216
217 PR bootstrap/59580
218 PR bootstrap/59583
219 * config.gcc (x86_archs): New variable.
220 (x86_64_archs): Likewise.
221 (x86_cpus): Likewise.
222 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
223 --with-arch/--with-cpu= options.
224 Support --with-arch=/--with-cpu={nehalem,westmere,
225 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
226
7f3af6d3
UB
2272014-01-18 Uros Bizjak <ubizjak@gmail.com>
228
229 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
230 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
231
2322014-01-18 Uros Bizjak <ubizjak@gmail.com>
233
234 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
235
fa5d6c75
JJ
2362014-01-18 Jakub Jelinek <jakub@redhat.com>
237
238 PR target/58944
239 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
240 clear cpp_get_options (parse_in)->warn_unused_macros for
241 ix86_target_macros_internal with cpp_define.
242
04da5680
RS
2432014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
244
245 * jump.c (delete_related_insns): Keep (use (insn))s.
246 * reorg.c (redundant_insn): Check for barriers too.
247
1e99bee5
L
2482014-01-17 H.J. Lu <hongjiu.lu@intel.com>
249
7f3af6d3 250 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 251
fa7d0c60
JDA
2522014-01-17 John David Anglin <danglin@gcc.gnu.org>
253
254 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
255 call to $$dyncall when TARGET_LONG_CALLS is true.
256
2043135a
JL
2572014-01-17 Jeff Law <law@redhat.com>
258
259 * ree.c (combine_set_extension): Temporarily disable test for
260 changing number of hard registers.
261
f3e11e05
JH
2622014-01-17 Jan Hubicka <jh@suse.cz>
263
264 PR middle-end/58125
265 * ipa-inline-analysis.c (inline_free_summary):
266 Do not free summary of aliases.
267
664ceb1e
JJ
2682014-01-17 Jakub Jelinek <jakub@redhat.com>
269
270 PR middle-end/59706
271 * gimplify.c (gimplify_expr): Use create_tmp_var
272 instead of create_tmp_var_raw. If cond doesn't have
273 integral type, don't add the IFN_ANNOTATE builtin at all.
274
aef83682
MJ
2752014-01-17 Martin Jambor <mjambor@suse.cz>
276
277 PR ipa/59736
278 * ipa-cp.c (prev_edge_clone): New variable.
279 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
280 Also resize prev_edge_clone vector.
281 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
282 (ipcp_edge_removal_hook): New function.
283 (ipcp_driver): Register ipcp_edge_removal_hook.
284
3b9c787b
AP
2852014-01-17 Andrew Pinski <apinski@cavium.com>
286 Steve Ellcey <sellcey@mips.com>
287
288 PR target/59462
289 * config/mips/mips.c (mips_print_operand): Check operand mode instead
290 of operator mode.
291
4ee5c752
JL
2922014-01-17 Jeff Law <law@redhat.com>
293
294 PR middle-end/57904
295 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
296 so that pass_ccp runs first.
297
40cfac7c
L
2982014-01-17 H.J. Lu <hongjiu.lu@intel.com>
299
300 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
301 (ix86_adjust_cost): Use !TARGET_XXX.
302 (do_reorder_for_imul): Likewise.
303 (swap_top_of_ready_list): Likewise.
304 (ix86_sched_reorder): Likewise.
305
9a7f94d7
L
3062014-01-17 H.J. Lu <hongjiu.lu@intel.com>
307
308 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
309 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
310 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
311 (intel_memset): New. Duplicate slm_memset.
312 (intel_cost): New. Duplicate slm_cost.
313 (m_INTEL): New macro.
314 (processor_target_table): Add "intel".
315 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
316 with PROCESSOR_INTEL for "intel".
317 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
318 PROCESSOR_SILVERMONT.
9a7f94d7
L
319 (ix86_issue_rate): Likewise.
320 (ix86_adjust_cost): Likewise.
321 (ia32_multipass_dfa_lookahead): Likewise.
322 (swap_top_of_ready_list): Likewise.
323 (ix86_sched_reorder): Likewise.
8cdcf750
L
324 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
325 instead of TARGET_OPT_AGU.
9a7f94d7
L
326 * config/i386/i386.h (TARGET_INTEL): New.
327 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
328 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
329 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
330 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 331
30078c0a
MP
3322014-01-17 Marek Polacek <polacek@redhat.com>
333
334 PR c/58346
335 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
336 size is zero.
337
14379e66
RB
3382014-01-17 Richard Biener <rguenther@suse.de>
339
340 PR tree-optimization/46590
341 * opts.c (default_options_table): Add entries for
342 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
343 all enabled at -O1 but not for -Og.
344 * common.opt (fbranch-count-reg): Remove Init(1).
345 (fmove-loop-invariants): Likewise.
346 (ftree-pta): Likewise.
347
f7d594d2
JJ
3482014-01-17 Jakub Jelinek <jakub@redhat.com>
349
88e18bd5
JJ
350 * config/i386/i386.c (ix86_data_alignment): For compatibility with
351 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
352 decls to at least the GCC 4.8 used alignments.
353
f7d594d2
JJ
354 PR fortran/59440
355 * tree-nested.c (convert_nonlocal_reference_stmt,
356 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
357 of GIMPLE_BIND stmts, adjust associated decls.
358
32500433
RB
3592014-01-17 Richard Biener <rguenther@suse.de>
360
361 PR tree-optimization/46590
362 * vec.h (vec<>::bseach): New member function implementing
363 binary search according to C89 bsearch.
364 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
365 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
366 bitmap pointer again. Make accesses_in_loop a flat array.
367 (mem_ref_obstack): New global.
368 (outermost_indep_loop): Adjust for mem_ref->stored changes.
369 (mark_ref_stored): Likewise.
370 (ref_indep_loop_p_2): Likewise.
371 (set_ref_stored_in_loop): New helper function.
372 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
373 (memref_free): Adjust.
374 (record_mem_ref_loc): Simplify.
375 (gather_mem_refs_stmt): Adjust.
376 (sort_locs_in_loop_postorder_cmp): New function.
377 (analyze_memory_references): Sort accesses_in_loop after
378 loop postorder number.
379 (find_ref_loc_in_loop_cmp): New function.
380 (for_all_locs_in_loop): Find relevant cluster of locs in
381 accesses_in_loop and iterate without recursion.
382 (execute_sm): Avoid uninit warning.
383 (struct ref_always_accessed): Simplify.
384 (ref_always_accessed::operator ()): Likewise.
385 (ref_always_accessed_p): Likewise.
386 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
387 loop postorder numbers here.
388 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
389 numbers.
390
24fcf4bc
JJ
3912014-01-17 Jan Hubicka <hubicka@ucw.cz>
392
393 PR c++/57945
394 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
395 on decls for which assemble_alias has been called.
396
d4f283a1
NC
3972014-01-17 Nick Clifton <nickc@redhat.com>
398
399 * config/msp430/msp430.opt: (mcpu): New option.
400 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
401 (msp430_option_override): Parse target_cpu. If the MCU name
402 matches a generic string, clear target_mcu.
403 (msp430_attr): Allow numeric interrupt values up to 63.
404 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
405 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
406 option.
407 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
408 Add mcpu matches.
409 * config/msp430/msp430.md (popm): Use %J rather than %I.
410 (addsi3): Use msp430_nonimmediate_operand for operand 2.
411 (addhi_cy_i): Use immediate_operand for operand 2.
412 * doc/invoke.texi: Document -mcpu option.
413
7be64667
RB
4142014-01-17 Richard Biener <rguenther@suse.de>
415
416 PR rtl-optimization/38518
417 * df.h (df_analyze_loop): Declare.
418 * df-core.c: Include cfgloop.h.
419 (df_analyze_1): Split out main part of df_analyze.
420 (df_analyze): Adjust.
421 (loop_inverted_post_order_compute): New function.
422 (loop_post_order_compute): Likewise.
423 (df_analyze_loop): New function avoiding whole-function
424 postorder computes.
425 * loop-invariant.c (find_defs): Use df_analyze_loop.
426 (find_invariants): Adjust.
427 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
428
82a197a2
ZC
4292014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
430
431 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
432 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
433
c68b3f52
IE
4342014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
435
436 * ipa-ref.c (ipa_remove_stmt_references): Fix references
437 traversal when removing references.
438
f910753d
JH
4392014-01-16 Jan Hubicka <jh@suse.cz>
440
441 PR ipa/59775
442 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
443
9e6f9ad6
BS
4442014-01-16 Bernd Schmidt <bernds@codesourcery.com>
445
446 PR middle-end/56791
447 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
448 pushing a reload for an autoinc when we had previously reloaded an
449 inner part of the address.
450
a611d7cb
JJ
4512014-01-16 Jakub Jelinek <jakub@redhat.com>
452
d1417442
JJ
453 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
454 field.
455 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
456 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
457 when not giving up or versioning for alias only because of
458 loop->safelen.
459 (vect_analyze_data_ref_dependences): Set to true.
460 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
461 is a GIMPLE_PHI.
462 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
463 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
464 to the condition.
465
42ed6cde
JJ
466 PR middle-end/58344
467 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
468
a611d7cb 469 PR target/59839
7f3af6d3
UB
470 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
471 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 472
8f21260c
VM
4732014-01-16 Vladimir Makarov <vmakarov@redhat.com>
474
475 PR middle-end/59609
7f3af6d3
UB
476 * lra-constraints.c (process_alt_operands): Add printing debug info.
477 Check absence of input/output reloads for matched operands too.
8f21260c 478
1a788c05
VM
4792014-01-16 Vladimir Makarov <vmakarov@redhat.com>
480
481 PR rtl-optimization/59835
482 * ira.c (ira_init_register_move_cost): Increase cost for
483 impossible modes.
484
4cf24d27
AL
4852014-01-16 Alan Lawrence <alan.lawrence@arm.com>
486
cc3a9f0d 487 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 488
030d03b8
RE
4892014-01-16 Richard Earnshaw <rearnsha@arm.com>
490
491 PR target/59780
492 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
493 non-register objects. Use gen_(high/low)part more consistently.
494 Fix assertions.
495
e78f06a8
MM
4962014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
497
498 PR target/59844
499 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
500 endian support, remove tests for WORDS_BIG_ENDIAN.
501 (p8_mfvsrd_3_<mode>): Likewise.
502 (reload_gpr_from_vsx<mode>): Likewise.
503 (reload_gpr_from_vsxsf): Likewise.
504 (p8_mfvsrd_4_disf): Likewise.
505
9d1ae52c
RB
5062014-01-16 Richard Biener <rguenther@suse.de>
507
508 PR rtl-optimization/46590
509 * lcm.c (compute_antinout_edge): Use postorder iteration.
510 (compute_laterin): Use inverted postorder iteration.
511
54c7a7f3
NC
5122014-01-16 Nick Clifton <nickc@redhat.com>
513
514 PR middle-end/28865
515 * varasm.c (output_constant): Return the number of bytes actually
516 emitted.
517 (output_constructor_array_range): Update the field size with the
518 number of bytes emitted by output_constant.
519 (output_constructor_regular_field): Likewise. Also do not
520 complain if the total number of bytes emitted is now greater
521 than the expected fieldpos.
7f3af6d3 522 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 523
5147d10a
MP
5242014-01-16 Marek Polacek <polacek@redhat.com>
525
526 PR middle-end/59827
527 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
528 it is error_mark_node.
529
4ac005ba
UB
5302014-01-15 Uros Bizjak <ubizjak@gmail.com>
531
532 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
533 VALID_AVX256_REG_OR_OI_MODE.
534
5d7574fa
PH
5352014-01-15 Pat Haugen <pthaugen@us.ibm.com>
536
537 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
538 current procedure should be profiled.
539
6ee70f81
AP
5402014-01-15 Andrew Pinski <apinski@cavium.com>
541
542 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
543 of moving from/to the STACK_REG register class.
544
af6e8467
RH
5452014-01-15 Richard Henderson <rth@redhat.com>
546
547 PR debug/54694
548 * reginfo.c (global_regs_decl): Globalize.
549 * rtl.h (global_regs_decl): Declare.
550 * ira.c (do_reload): Diagnose frame_pointer_needed and it
551 reserved via global_regs.
552
4583fada
TJ
5532014-01-15 Teresa Johnson <tejohnson@google.com>
554
555 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
556
d13dfec8
BS
5572014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
558
559 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
560 and vmulosh rather than call gen_vec_widen_smult_*.
561 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
562 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
563 (vec_widen_smult_even_v16qi): Likewise.
564 (vec_widen_umult_even_v8hi): Likewise.
565 (vec_widen_smult_even_v8hi): Likewise.
566 (vec_widen_umult_odd_v16qi): Likewise.
567 (vec_widen_smult_odd_v16qi): Likewise.
568 (vec_widen_umult_odd_v8hi): Likewise.
569 (vec_widen_smult_odd_v8hi): Likewise.
570 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
571 vmuloub rather than call gen_vec_widen_umult_*.
572 (vec_widen_umult_lo_v16qi): Likewise.
573 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
574 vmulosb rather than call gen_vec_widen_smult_*.
575 (vec_widen_smult_lo_v16qi): Likewise.
576 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
577 rather than call gen_vec_widen_umult_*.
578 (vec_widen_umult_lo_v8hi): Likewise.
579 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
580 rather than call gen_vec_widen_smult_*.
581 (vec_widen_smult_lo_v8hi): Likewise.
582
a6a2d67b
JL
5832014-01-15 Jeff Law <law@redhat.com>
584
585 PR tree-optimization/59747
586 * ree.c (find_and_remove_re): Properly handle case where a second
587 eliminated extension requires widening a copy created for elimination
588 of a prior extension.
589 (combine_set_extension): Ensure that the number of hard regs needed
590 for a destination register does not change when we widen it.
591
aefe4056
SH
5922014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
593
594 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
595 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
596 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
597 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
598 (avr-*-rtems*): Likewise.
599 (bfin*-rtems*): Likewise.
600 (moxie-*-rtems*): Likewise.
601 (h8300-*-rtems*): Likewise.
602 (i[34567]86-*-rtems*): Likewise.
603 (lm32-*-rtems*): Likewise.
604 (m32r-*-rtems*): Likewise.
605 (m68k-*-rtems*): Likewise.
606 (microblaze*-*-rtems*): Likewise.
607 (mips*-*-rtems*): Likewise.
608 (powerpc-*-rtems*): Likewise.
609 (sh-*-rtems*): Likewise.
610 (sparc-*-rtems*): Likewise.
611 (sparc64-*-rtems*): Likewise.
612 (v850-*-rtems*): Likewise.
613 (m32c-*-rtems*): Likewise.
614
fef37404
VM
6152014-01-15 Vladimir Makarov <vmakarov@redhat.com>
616
617 PR rtl-optimization/59511
618 * ira.c (ira_init_register_move_cost): Use memory costs for some
619 cases of register move cost calculations.
620 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
621 instead of BB frequency.
622 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
623 * lra-assigns.c (find_hard_regno_for): Ditto.
624
6b916b36
RB
6252014-01-15 Richard Biener <rguenther@suse.de>
626
627 PR tree-optimization/59822
628 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
629 (vectorizable_load): Use it to hoist defs of uses of invariant
630 loads out of the loop.
631
d103f29b
MGD
6322014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
633 Kugan Vivekanandarajah <kuganv@linaro.org>
634
635 PR target/59695
636 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
637 truncation.
638
95cb8697
RB
6392014-01-15 Richard Biener <rguenther@suse.de>
640
641 PR rtl-optimization/59802
642 * lcm.c (compute_available): Use inverted postorder to seed
643 the initial worklist.
644
cb4b6d17
AK
6452014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
646
1c8b5303 647 PR target/59803
cb4b6d17
AK
648 * config/s390/s390.c (s390_preferred_reload_class): Don't return
649 ADDR_REGS for invalid symrefs in non-PIC code.
650
2738b4c7
JJ
6512014-01-15 Jakub Jelinek <jakub@redhat.com>
652
653 PR other/58712
654 * builtins.c (determine_block_size): Initialize *probable_max_size
655 even if len_rtx is CONST_INT.
656
d126a4ae
AP
6572014-01-14 Andrew Pinski <apinski@cavium.com>
658
659 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
660 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
661 (cortexa53_tunings): Likewise.
662 (aarch64_sched_issue_rate): New function.
663 (TARGET_SCHED_ISSUE_RATE): Define.
664
dc687582
VM
6652014-01-14 Vladimir Makarov <vmakarov@redhat.com>
666
667 * ira-costs.c (find_costs_and_classes): Add missed
668 ira_init_register_move_cost_if_necessary.
669
e940b2ec
VM
6702014-01-14 Vladimir Makarov <vmakarov@redhat.com>
671
672 PR target/59787
673 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
674
3292e376
L
6752014-01-14 H.J. Lu <hongjiu.lu@intel.com>
676
677 PR target/59794
678 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
679 to indicate if type is used for function return value. Warn ABI
680 change if the vector mode isn't available for function return value.
3292e376
L
681 (ix86_function_arg_advance): Pass false to type_natural_mode.
682 (ix86_function_arg): Likewise.
683 (ix86_gimplify_va_arg): Likewise.
684 (function_arg_32): Don't warn ABI change.
685 (ix86_function_value): Pass true to type_natural_mode.
686 (ix86_return_in_memory): Likewise.
687 (ix86_struct_value_rtx): Removed.
688 (TARGET_STRUCT_VALUE_RTX): Likewise.
689
db930875
RS
6902014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
691
692 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
693 converting a conditional jump into a conditional return.
694
a0e35eb0
RB
6952014-01-14 Richard Biener <rguenther@suse.de>
696
697 PR tree-optimization/58921
698 PR tree-optimization/59006
699 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
700 hoisting invariant stmts.
701 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
702 invariant loads on the preheader edge if possible.
703
a984e92e
JY
7042014-01-14 Joey Ye <joey.ye@arm.com>
705
706 * doc/plugin.texi (Building GCC plugins): Update to C++.
707
c56a42b9
KY
7082014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
709
3292e376 710 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
711 (_mm_rcp28_round_ss): Ditto.
712 (_mm_rsqrt28_round_sd): Ditto.
713 (_mm_rsqrt28_round_ss): Ditto.
714 (_mm_rcp28_sd): Ditto.
715 (_mm_rcp28_ss): Ditto.
716 (_mm_rsqrt28_sd): Ditto.
717 (_mm_rsqrt28_ss): Ditto.
718 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
719 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
720 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
721 (IX86_BUILTIN_RCP28SD): Ditto.
722 (IX86_BUILTIN_RCP28SS): Ditto.
723 (IX86_BUILTIN_RSQRT28SD): Ditto.
724 (IX86_BUILTIN_RSQRT28SS): Ditto.
725 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
726 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
727 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
728 (ix86_expand_special_args_builtin): Expand new FTYPE.
729 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
730 (srcp14<mode>): Make insn unary.
731 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
732 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
733 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
734 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
735 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
736 Fix rounding: make it SAE only.
4ac005ba
UB
737 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
738 Ditto.
739 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
740 Ditto.
c56a42b9
KY
741 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
742 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
743 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
744 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
745 (round_saeonly_mask_scalar_operand4): Ditto.
746 (round_saeonly_mask_scalar_op3): Ditto.
747 (round_saeonly_mask_scalar_op4): Ditto.
748
09fccb62
BS
7492014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
750
751 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
752 Implement -maltivec=be for vec_insert and vec_extract.
753
fb28dac0
DD
7542014-01-10 DJ Delorie <dj@redhat.com>
755
756 * config/msp430/msp430.md (call_internal): Don't allow memory
757 references with SP as the base register.
758 (call_value_internal): Likewise.
759 * config/msp430/constraints.md (Yc): New. For memory references
760 that don't use SP as a base register.
761
762 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
763 "an integer without a # prefix"
764 * config/msp430/msp430.md (epilogue_helper): Use it.
765
19e51b40
JJ
7662014-01-13 Jakub Jelinek <jakub@redhat.com>
767
03b9e8e4
JJ
768 PR target/59617
769 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
770 AVX512F gather builtins.
771 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
772 on gather decls with INTEGER_TYPE masktype.
773 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
774 directly into the builtin rather than hoisting it before loop.
775
19e51b40
JJ
776 PR tree-optimization/59387
777 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
778 (scev_const_prop): If folded_casts and type has undefined overflow,
779 use force_gimple_operand instead of force_gimple_operand_gsi and
780 for each added stmt if it is assign with
781 arith_code_with_undefined_signed_overflow, call
782 rewrite_to_defined_overflow.
783 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
784 gimple-fold.h instead.
785 (arith_code_with_undefined_signed_overflow,
786 rewrite_to_defined_overflow): Moved to ...
787 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
788 rewrite_to_defined_overflow): ... here. No longer static.
789 Include gimplify-me.h.
790 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
791 rewrite_to_defined_overflow): New prototypes.
792
cd794ed4
KT
7932014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
794
795 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
796
e75fde1a
EB
7972014-01-13 Eric Botcazou <ebotcazou@adacore.com>
798
799 * builtins.c (get_object_alignment_2): Minor tweak.
800 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
801
eae298d6
CB
8022014-01-13 Christian Bruel <christian.bruel@st.com>
803
804 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 805 optimized non constant lengths.
eae298d6 806
8175be9a
JJ
8072014-01-13 Jakub Jelinek <jakub@redhat.com>
808
809 PR libgomp/59194
810 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
811 load as __atomic_load_N if possible.
812
9c111368
DE
8132014-01-11 David Edelsohn <dje.gcc@gmail.com>
814
815 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
816 target parameter.
817 (rs6000_expand_builtin): Adjust call.
818
c82846bc
DE
8192014-01-11 David Edelsohn <dje.gcc@gmail.com>
820
821 PR target/58115
822 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
823 * config/rs6000/rs6000.c: Include target-globals.h.
824 (rs6000_set_current_function): Instead of doing target_reinit
825 unconditionally, use save_target_globals_default_opts and
826 restore_target_globals.
827
828 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
829 FPSCR.
830 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
831 (rs6000_expand_builtin): Handle mffs and mtfsf.
832 (rs6000_init_builtins): Define mffs and mtfsf.
833 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
834 (rs6000_mffs): New pattern.
835 (rs6000_mtfsf): New pattern.
836
2c407426
BC
8372014-01-11 Bin Cheng <bin.cheng@arm.com>
838
839 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
840 Start narrowing with START. Apply candidate-use pair
841 and check overall cost in narrowing.
842 (iv_ca_prune): Pass new argument.
843
7e41c852
JL
8442014-01-10 Jeff Law <law@redhat.com>
845
846 PR middle-end/59743
847 * ree.c (combine_reaching_defs): Ensure the defining statement
848 occurs before the extension when optimizing extensions with
849 different source and destination hard registers.
850
b270b096
JH
8512014-01-10 Jan Hubicka <jh@suse.cz>
852
853 PR ipa/58585
4ac005ba
UB
854 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
855 vtables into the type inheritance graph.
b270b096 856
0d6d7b9a
JJ
8572014-01-10 Jakub Jelinek <jakub@redhat.com>
858
859 PR rtl-optimization/59754
860 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
861 modes in the REGNO != REGNO case.
862
110132c1
BS
8632014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
864
865 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
866
5da96960
JJ
8672014-01-10 Jakub Jelinek <jakub@redhat.com>
868
4f87d581
JJ
869 PR tree-optimization/59745
870 * tree-predcom.c (tree_predictive_commoning_loop): Call
871 free_affine_expand_cache if giving up because components is NULL.
872
5da96960
JJ
873 * target-globals.c (save_target_globals): Allocate < 4KB structs using
874 GC in payload of target_globals struct instead of allocating them on
875 the heap and the larger structs separately using GC.
876 * target-globals.h (struct target_globals): Make regs, hard_regs,
877 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
878 of GTY((skip)) and change type to void *.
879 (reset_target_globals): Cast loads from those fields to corresponding
880 types.
881
1aa26aac
SE
8822014-01-10 Steve Ellcey <sellcey@mips.com>
883
884 PR plugins/59335
885 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
886 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
887 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
888
1c992d1e
RE
8892014-01-10 Richard Earnshaw <rearnsha@arm.com>
890
7783a246 891 PR target/59744
1c992d1e
RE
892 * aarch64-modes.def (CC_Zmode): New flags mode.
893 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
894 represents an equality.
7783a246 895 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
896 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
897
86464cbd
AK
8982014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
899
900 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
901 extraction in good case.
902
5e6667b2
RB
9032014-01-10 Richard Biener <rguenther@suse.de>
904
905 PR tree-optimization/59374
906 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
907 checking after SLP discovery. Mark stmts not participating
908 in any SLP instance properly.
909
5619162c
KT
9102014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
911
912 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
913 when handling a SET rtx.
914
2d17b99f
KT
9152014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
916
917 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
918 (cortex-a57): Likewise.
919 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
920
bcca645c
KT
9212014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
922
923 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
924 non-iwmmxt builtins.
925
a3788dde
JH
9262014-01-10 Jan Hubicka <hubicka@ucw.cz>
927
928 PR ipa/58252
929 PR ipa/59226
930 * ipa-devirt.c record_target_from_binfo): Take as argument
931 stack of binfos and lookup matching one for virtual inheritance.
932 (possible_polymorphic_call_targets_1): Update.
933
87ed883e
HC
9342014-01-10 Huacai Chen <chenhc@lemote.com>
935
936 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
937 kernel strings for Loongson-2E/2F/3A.
938
cd4447e2
JJ
9392014-01-10 Jakub Jelinek <jakub@redhat.com>
940
941 PR middle-end/59670
942 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
943 is_gimple_call before calling gimple_call_internal_p.
944
3fadf78a
SE
9452014-01-09 Steve Ellcey <sellcey@mips.com>
946
947 * Makefile.in (TREE_FLOW_H): Remove.
948 (TREE_SSA_H): Add file names from tree-flow.h.
949 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
950 * tree.h: Remove tree-flow.h reference.
951 * hash-table.h: Remove tree-flow.h reference.
952 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
953 reference with tree-ssa-loop.h.
954
6edc217d
BS
9552014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
956
957 * doc/invoke.texi: Add -maltivec={be,le} options, and document
958 default element-order behavior for -maltivec.
959 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
960 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
961 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
962 when targeting big endian, at least for now.
963 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
964
a70e9985
JJ
9652014-01-09 Jakub Jelinek <jakub@redhat.com>
966
3396aba5
JJ
967 PR middle-end/47735
968 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
969 var satisfies use_register_for_decl, just take into account type
970 alignment, rather than decl alignment.
971
a70e9985
JJ
972 PR tree-optimization/59622
973 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
974 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
975 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
976 Don't devirtualize for inplace at all. For targets.length () == 1,
977 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
978
6e9cc565
L
9792014-01-09 H.J. Lu <hongjiu.lu@intel.com>
980
981 * config/i386/i386.md (cpu): Remove the unused btver1.
982
d1c0e4ac
L
9832014-01-09 H.J. Lu <hongjiu.lu@intel.com>
984
985 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
986
e83b8e2e
JJ
9872014-01-09 Jakub Jelinek <jakub@redhat.com>
988
989 PR target/58115
990 * tree-core.h (struct target_globals): New forward declaration.
991 (struct tree_target_option): Add globals field.
992 * tree.h (TREE_TARGET_GLOBALS): Define.
993 (prepare_target_option_nodes_for_pch): New prototype.
994 * target-globals.h (struct target_globals): Define even if
995 !SWITCHABLE_TARGET.
996 * tree.c (prepare_target_option_node_for_pch,
997 prepare_target_option_nodes_for_pch): New functions.
998 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
999 * config/i386/i386.c: Include target-globals.h.
1000 (ix86_set_current_function): Instead of doing target_reinit
1001 unconditionally, use save_target_globals_default_opts and
1002 restore_target_globals.
1003
2aaed0f3
RB
10042014-01-09 Richard Biener <rguenther@suse.de>
1005
1006 PR tree-optimization/59715
1007 * tree-cfg.h (split_critical_edges): Declare.
1008 * tree-cfg.c (split_critical_edges): Export.
1009 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
1010
b5ebc991
MO
10112014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
1012
4ac005ba 1013 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
1014 asan stack protection.
1015 (expand_used_vars): Likewise.
1016 (partition_stack_vars): Likewise.
4ac005ba 1017 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 1018 after return stack usage.
7f3af6d3 1019 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
1020 (instrument_builtin_call): Likewise.
1021 (instrument_strlen_call): Likewise.
7f3af6d3 1022 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
1023 * doc/invoke.texi: Added doc for new options.
1024 * params.def: Added new options.
1025 * params.h: Likewise.
1026
b59e0455
JJ
10272014-01-09 Jakub Jelinek <jakub@redhat.com>
1028
1029 PR rtl-optimization/59724
1030 * ifcvt.c (cond_exec_process_if_block): Don't call
1031 flow_find_head_matching_sequence with 0 longest_match.
1032 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
1033 non-active insns if !stop_after.
1034 (try_head_merge_bb): Revert 2014-01-07 changes.
1035
650c4c85
JL
10362014-01-08 Jeff Law <law@redhat.com>
1037
1038 * ree.c (get_sub_rtx): New function, extracted from...
1039 (merge_def_and_ext): Here.
1040 (combine_reaching_defs): Use get_sub_rtx.
1041
ff36fcbe
EB
10422014-01-08 Eric Botcazou <ebotcazou@adacore.com>
1043
1044 * cgraph.h (varpool_variable_node): Do not choke on null node.
1045
9f9d82aa
CM
10462014-01-08 Catherine Moore <clm@codesourcery.com>
1047
4ac005ba
UB
1048 * config/mips/mips.md (simple_return): Attempt to use JRC
1049 for microMIPS.
9f9d82aa
CM
1050 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
1051
df6c8808
RS
10522014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
1053
1054 PR rtl-optimization/59137
1055 * reorg.c (steal_delay_list_from_target): Call update_block for
1056 elided insns.
1057 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
1058
6170ceff
BS
10592014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1060
1061 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
1062 two duplicate entries.
1063
3f140f32
RS
10642014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
1065
1066 Revert:
1067 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
1068
1069 * config/mips/mips.c (mips_truncated_op_cost): New function.
1070 (mips_rtx_costs): Adjust test for BADDU.
1071 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
1072
1073 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
1074
1075 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
1076 (*baddu_si): ...this new pattern.
1077
c6de6665
JJ
10782014-01-08 Jakub Jelinek <jakub@redhat.com>
1079
1080 PR ipa/59722
1081 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
1082
4c437f02
BE
10832014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
1084
1085 PR middle-end/57748
1086 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
1087 inner_reference_p.
1088 (expand_expr, expand_normal): Adjust.
1089 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
1090 inner_reference_p. Use inner_reference_p to expand inner references.
1091 (store_expr): Adjust.
1092 * cfgexpand.c (expand_call_stmt): Adjust.
1093
4ac005ba 10942014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
1095
1096 * gcov-io.c (gcov_var): Move from gcov-io.h.
1097 (gcov_position): Ditto.
1098 (gcov_is_error): Ditto.
1099 (gcov_rewrite): Ditto.
1100 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
1101 only part to libgcc/libgcov.h.
1102
ab04b46e
MP
11032014-01-08 Marek Polacek <polacek@redhat.com>
1104
1105 PR middle-end/59669
1106 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
1107
06636b32
MP
11082014-01-08 Marek Polacek <polacek@redhat.com>
1109
1110 PR sanitizer/59667
1111 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
1112
c15677b6
JJ
11132014-01-08 Jakub Jelinek <jakub@redhat.com>
1114
1115 PR rtl-optimization/59649
1116 * stor-layout.c (get_mode_bounds): For BImode return
1117 0 and STORE_FLAG_VALUE.
1118
5c944c6c
RB
11192014-01-08 Richard Biener <rguenther@suse.de>
1120
1121 PR middle-end/59630
1122 * gimple.h (is_gimple_builtin_call): Remove.
1123 (gimple_builtin_call_types_compatible_p): New.
1124 (gimple_call_builtin_p): New overload.
1125 * gimple.c (is_gimple_builtin_call): Remove.
1126 (validate_call): Rename to ...
1127 (gimple_builtin_call_types_compatible_p): ... this and export. Also
1128 check return types.
1129 (validate_type): New static function.
1130 (gimple_call_builtin_p): New overload and adjust.
1131 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
1132 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
1133 (gimple_fold_stmt_to_constant_1): Likewise.
1134 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
1135
0bd34ae4
RB
11362014-01-08 Richard Biener <rguenther@suse.de>
1137
1138 PR middle-end/59471
1139 * gimplify.c (gimplify_expr): Gimplify register-register type
1140 VIEW_CONVERT_EXPRs to separate stmts.
1141
04af8ab6
JL
11422014-01-07 Jeff Law <law@redhat.com>
1143
3c92da90
JL
1144 PR middle-end/53623
1145 * ree.c (combine_set_extension): Handle case where source
1146 and destination registers in an extension insn are different.
4ac005ba
UB
1147 (combine_reaching_defs): Allow source and destination registers
1148 in extension to be different under limited circumstances.
3c92da90 1149 (add_removable_extension): Remove restriction that the
4ac005ba 1150 source and destination registers in the extension are the same.
3c92da90
JL
1151 (find_and_remove_re): Emit a copy from the extension's
1152 destination to its source after the defining insn if
1153 the source and destination registers are different.
1154
04af8ab6
JL
1155 PR middle-end/59285
1156 * ifcvt.c (merge_if_block): If we are merging a block with more than
1157 one successor with a block with no successors, remove any BARRIER
1158 after the second block.
1159
955b33ed
JL
11602014-01-07 Dan Xio Qiang <ziyan01@163.com>
1161
1162 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
1163
55ada375
JDA
11642014-01-07 John David Anglin <danglin@gcc.gnu.org>
1165
1166 PR target/59652
1167 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
1168 for 14-bit register offsets when INT14_OK_STRICT is false.
1169
877c72e7
RS
11702014-01-07 Roland Stigge <stigge@antcom.de>
1171 Michael Meissner <meissner@linux.vnet.ibm.com>
1172
1173 PR 57386/target
1174 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 1175 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 1176
8b2721da
JG
11772014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
1178
1179 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
1180 -mcpu.
1181
5d72b79f
YZ
11822014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
1183
1184 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
1185 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
1186 rtx is const0_rtx or not.
1187
48d53439
RS
11882014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
1189
1190 PR target/58115
1191 * target-globals.c (save_target_globals): Remove this_fn_optab
1192 handling.
1193 * toplev.c: Include optabs.h.
1194 (target_reinit): Temporarily restore the global options if another
1195 set of options are in force.
1196
41626746
JJ
11972014-01-07 Jakub Jelinek <jakub@redhat.com>
1198
a0cbe71e
JJ
1199 PR rtl-optimization/58668
1200 * cfgcleanup.c (flow_find_cross_jump): Don't count
1201 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
1202 to determine what is counted.
1203 (flow_find_head_matching_sequence): Use active_insn_p to determine
1204 what is counted.
1205 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
1206 counting change.
1207 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
1208 determine what is counted.
1209
41626746
JJ
1210 PR tree-optimization/59643
1211 * tree-predcom.c (split_data_refs_to_components): If one dr is
1212 read and one write, determine_offset fails and the write isn't
1213 in the bad component, just put the read into the bad component.
1214
cc349a39
MS
12152014-01-07 Mike Stump <mikestump@comcast.net>
1216 Jakub Jelinek <jakub@redhat.com>
1217
1218 PR pch/59436
1219 * tree-core.h (struct tree_optimization_option): Change optabs
1220 type from unsigned char * to void *.
1221 * optabs.c (init_tree_optimization_optabs): Adjust
1222 TREE_OPTIMIZATION_OPTABS initialization.
1223
529a6471
JJ
12242014-01-06 Jakub Jelinek <jakub@redhat.com>
1225
1226 PR target/59644
1227 * config/i386/i386.h (struct machine_function): Add
1228 no_drap_save_restore field.
1229 * config/i386/i386.c (ix86_save_reg): Use
1230 !cfun->machine->no_drap_save_restore instead of
1231 crtl->stack_realign_needed.
1232 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
1233 this function clears frame_pointer_needed. Set
1234 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
1235 and DRAP reg is needed.
1236
96066ce1
MP
12372014-01-06 Marek Polacek <polacek@redhat.com>
1238
1239 PR c/57773
1240 * doc/implement-c.texi: Mention that other integer types are
1241 permitted as bit-field types in strictly conforming mode.
1242
955b33ed 12432014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
1244
1245 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
1246 is newly allocated.
1247
328402a9
RE
12482014-01-06 Richard Earnshaw <rearnsha@arm.com>
1249
1250 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
1251
a4e33812
MJ
12522014-01-06 Martin Jambor <mjambor@suse.cz>
1253
1254 PR ipa/59008
1255 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
1256 to int.
1257 * ipa-prop.c (ipa_print_node_params): Fix indentation.
1258
b5cd2a02
EB
12592014-01-06 Eric Botcazou <ebotcazou@adacore.com>
1260
1261 PR debug/59350
1262 PR debug/59510
1263 * var-tracking.c (add_stores): Preserve the value of the source even if
1264 we don't record the store.
1265
c7d19c0b
TG
12662014-01-06 Terry Guo <terry.guo@arm.com>
1267
1268 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
1269
e0c70bd7
IS
12702014-01-05 Iain Sandoe <iain@codesourcery.com>
1271
1272 PR bootstrap/59541
1273 * config/darwin.c (darwin_function_section): Adjust return values to
1274 correspond to optimisation changes made in r206070.
1275
c30f016c
UB
12762014-01-05 Uros Bizjak <ubizjak@gmail.com>
1277
1278 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
1279 from prefetch_block tune setting.
1280 (nocona_cost): Correct size of prefetch block to 64.
1281
f2bc252b
EB
12822014-01-04 Eric Botcazou <ebotcazou@adacore.com>
1283
1284 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
1285 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
1286 used to save the static chain register in the computation of the offset
1287 from which the FP registers need to be restored.
1288
dad5ed2e
JJ
12892014-01-04 Jakub Jelinek <jakub@redhat.com>
1290
39719c84
JJ
1291 PR tree-optimization/59519
1292 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
1293 ICE if get_current_def (current_new_name) is already non-NULL, as long
1294 as it is a phi result of some other phi in *new_exit_bb that has
1295 the same argument.
1296
dad5ed2e
JJ
1297 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
1298 or vmovdqu* for misaligned_operand.
1299 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
1300 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
1301 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
1302 aligned_mem for AVX512F masked aligned load and store builtins and for
1303 non-temporal moves.
1304
13052014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
1306
1307 PR tree-optimization/59651
c30f016c 1308 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
1309 Address range for negative step should be added by TYPE_SIZE_UNIT.
1310
e864837a
AS
13112014-01-03 Andreas Schwab <schwab@linux-m68k.org>
1312
1313 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 1314 overlapping registers also for registers other than the stack pointer.
e864837a 1315
56a34230
MP
13162014-01-03 Marek Polacek <polacek@redhat.com>
1317
1318 PR other/59661
1319 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
1320 __builtin_FILE.
1321
039eee3f
JJ
13222014-01-03 Jakub Jelinek <jakub@redhat.com>
1323
3bcdbd50
JJ
1324 PR target/59625
1325 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
1326 asm goto as jump.
1327
039eee3f
JJ
1328 * config/i386/i386.md (MODE_SIZE): New mode attribute.
1329 (push splitter): Use <P:MODE_SIZE> instead of
1330 GET_MODE_SIZE (<P:MODE>mode).
1331 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
1332 (mov -1, reg peephole2): Likewise.
1333 * config/i386/sse.md (*mov<mode>_internal,
1334 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
1335 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
1336 *<code><mode>3, *andnot<mode>3<mask_name>,
1337 <mask_codefor><code><mode>3<mask_name>): Likewise.
1338 * config/i386/subst.md (mask_mode512bit_condition,
1339 sd_mask_mode512bit_condition): Likewise.
1340
927734cf
XDL
13412014-01-02 Xinliang David Li <davidxl@google.com>
1342
1343 PR tree-optimization/59303
039eee3f 1344 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
1345 (dump_predicates): Better output format.
1346 (pred_equal_p): New function.
1347 (is_neq_relop_p): Ditto.
1348 (is_neq_zero_form_p): Ditto.
1349 (pred_expr_equal_p): Ditto.
1350 (pred_neg_p): Ditto.
1351 (simplify_pred): Ditto.
1352 (simplify_preds_2): Ditto.
1353 (simplify_preds_3): Ditto.
1354 (simplify_preds_4): Ditto.
1355 (simplify_preds): Ditto.
1356 (push_pred): Ditto.
1357 (push_to_worklist): Ditto.
1358 (get_pred_info_from_cmp): Ditto.
1359 (is_degenerated_phi): Ditto.
1360 (normalize_one_pred_1): Ditto.
1361 (normalize_one_pred): Ditto.
1362 (normalize_one_pred_chain): Ditto.
1363 (normalize_preds): Ditto.
1364 (normalize_cond_1): Remove function.
1365 (normalize_cond): Ditto.
1366 (is_gcond_subset_of): Ditto.
1367 (is_subset_of_any): Ditto.
1368 (is_or_set_subset_of): Ditto.
1369 (is_and_set_subset_of): Ditto.
1370 (is_norm_cond_subset_of): Ditto.
1371 (pred_chain_length_cmp): Ditto.
1372 (convert_control_dep_chain_into_preds): Type change.
1373 (find_predicates): Ditto.
1374 (find_def_preds): Ditto.
1375 (destroy_predicates_vecs): Ditto.
1376 (find_matching_predicates_in_rest_chains): Ditto.
1377 (use_pred_not_overlap_with_undef_path_pred): Ditto.
1378 (is_pred_expr_subset): Ditto.
1379 (is_pred_chain_subset_of): Ditto.
1380 (is_included_in): Ditto.
1381 (is_superset_of): Ditto.
1382
23a5b65a
RS
13832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1384
c30f016c 1385 Update copyright years.
23a5b65a 1386
f9030485
RS
13872014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1388
1389 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
1390 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
1391 config/arc/arc.md, config/arc/arc.opt,
1392 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
1393 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
1394 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
1395 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
1396 config/linux-protos.h, config/linux.c, config/winnt-c.c,
1397 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
1398 vtable-verify.c, vtable-verify.h: Use the standard form for the
1399 copyright notice.
f9030485 1400
98db73df
TB
14012014-01-02 Tobias Burnus <burnus@net-b.de>
1402
1403 * gcc.c (process_command): Update copyright notice dates.
1404 * gcov-dump.c: Ditto.
1405 * gcov.c: Ditto.
1406 * doc/cpp.texi: Bump @copying's copyright year.
1407 * doc/cppinternals.texi: Ditto.
1408 * doc/gcc.texi: Ditto.
1409 * doc/gccint.texi: Ditto.
1410 * doc/gcov.texi: Ditto.
1411 * doc/install.texi: Ditto.
1412 * doc/invoke.texi: Ditto.
1413
2898d204 14142014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
1415
1416 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
1417
dfebbdc6 14182014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 1419
726c3546
JJ
1420 * config/i386/sse.md (*mov<mode>_internal): Guard
1421 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
1422
dfebbdc6
JJ
1423 PR rtl-optimization/59647
1424 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
1425 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 1426\f
970c3b33 1427Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
1428
1429Copying and distribution of this file, with or without modification,
1430are permitted in any medium without royalty provided the copyright
1431notice and this notice are preserved.
This page took 5.879385 seconds and 5 git commands to generate.