]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR c++/58678 (pykde4-4.11.2 link error (devirtualization too trigger happy))
[gcc.git] / gcc / ChangeLog
CommitLineData
23a04216
JH
12014-03-28 Jan Hubicka <hubicka@ucw.cz>
2
3 * cgraph.c: Include expr.h and tree-dfa.h.
4 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn; remove LHS.
5
a4971e68
VM
62014-03-28 Vladimir Makarov <vmakarov@redhat.com>
7
8 PR target/60675
9 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
10 regs from checking multi-reg pseudos.
11
7ac84c02
RR
122014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13
14 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
15
bd302a18
UW
162014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
17
18 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
19 if it would clobber the stack pointer, even temporarily.
20
cee9defb
EB
212014-03-28 Eric Botcazou <ebotcazou@adacore.com>
22
23 * mode-switching.c: Make small adjustments to the top comment.
24
117f16fb
MM
252014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
26
27 * config/rs6000/constraints.md (wD constraint): New constraint to
28 match the constant integer to get the top DImode/DFmode out of a
29 vector in a VSX register.
30
31 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
32 match the constant integer to get the top DImode/DFmode out of a
33 vector in a VSX register.
34
35 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
36 for ISA 2.07.
37
38 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
39 vbpermq builtins.
40
41 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
42 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
43
44 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
45 Optimize vec_extract of 64-bit values, where the value being
46 extracted is in the top word, where we can use scalar
47 instructions. Add direct move and store support. Combine the big
48 endian/little endian vector select load support into a single
49 insn.
50 (vsx_extract_<mode>_internal1): Likewise.
51 (vsx_extract_<mode>_internal2): Likewise.
52 (vsx_extract_<mode>_load): Likewise.
53 (vsx_extract_<mode>_store): Likewise.
54 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
55 combined into vsx_extract_<mode>_load.
56 (vsx_extract_<mode>_one_le): Likewise.
57
58 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
59 define the top 64-bit vector element.
60
61 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
62 constraint.
63
6788164b
MM
64 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
65 Document vec_vbpermq builtin.
66
117f16fb
MM
67 PR target/60672
68 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
69 enable use of xxsldwi and xxpermdi builtin functions.
70 (vec_xxpermdi): Likewise.
71
72 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
73 Document use of vec_xxsldwi and vec_xxpermdi builtins.
74
9e038952
VM
752014-03-27 Vladimir Makarov <vmakarov@redhat.com>
76
77 PR rtl-optimization/60650
78 * lra-asign.c (find_hard_regno_for, spill_for): Add parameter
79 first_p. Use it.
80 (find_spills_for): New.
81 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
82 Spill all pseudos on the second iteration.
83
324dc401
MP
842014-03-27 Marek Polacek <polacek@redhat.com>
85
86 PR c/50347
87 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
88 types.
89
6e77facf
AK
902014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
91
92 * config/s390/s390.c (s390_can_use_return_insn): Check for
93 call-saved FPRs on 31 bit.
94
47519a14
JJ
952014-03-27 Jakub Jelinek <jakub@redhat.com>
96
97 PR middle-end/60682
98 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
99 if they need regimplification, just drop them instead of
100 calling gimple_regimplify_operands on them.
101
0b7f8166
MS
1022014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
103
104 PR target/60580
105 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
106 (aarch64_frame_pointer_required): Adjust logic.
107 (aarch64_can_eliminate): Adjust logic.
108 (aarch64_override_options_after_change): Adjust logic.
109
2f2a7d15
DC
1102014-03-27 Dehao Chen <dehao@google.com>
111
112 * ipa-inline.c (early_inliner): Update node's inline info.
113
a0dbf285
DC
1142014-03-26 Dehao Chen <dehao@google.com>
115
116 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
117 compiler inserted conditional jumps for NAN float check.
118
ed0ca1e1
JJ
1192014-03-26 Jakub Jelinek <jakub@redhat.com>
120
07d72e1d
JJ
121 * ubsan.h (ubsan_create_data): Change second argument's type
122 to const location_t *.
123 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
124 _("<unknown>").
125 (ubsan_create_data): Change second argument to const location_t *PLOC.
126 Create Loc field whenever PLOC is non-NULL.
127 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
128 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
129 callers.
130
ed0ca1e1
JJ
131 PR other/59545
132 * real.c (real_to_integer2): Change type of low to UHWI.
133
b9487dd8
TB
1342014-03-26 Tobias Burnus <burnus@net-b.de>
135
136 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
137 (CILK_SELF_SPECS): New define.
138 (driver_self_specs): Use it.
139
3a2700f6
RB
1402014-03-26 Richard Biener <rguenther@suse.de>
141
142 * tree-pretty-print.c (percent_K_format): Implement special
143 case for LTO and its stripped down BLOCK tree.
144
368b454d
JJ
1452014-03-26 Jakub Jelinek <jakub@redhat.com>
146
aa6b742f
JJ
147 PR sanitizer/60636
148 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
149
368b454d
JJ
150 * tree-vrp.c (simplify_internal_call_using_ranges): If only
151 one range is range_int_cst_p, but not both, at least optimize
152 addition/subtraction of 0 and multiplication by 0 or 1.
153 * gimple-fold.c (gimple_fold_call): Fold
154 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
155 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
156 INTEGER_CSTs, try to fold at least x * 0 and y - y.
157
c7e30a96
EB
1582014-03-26 Eric Botcazou <ebotcazou@adacore.com>
159
160 PR rtl-optimization/60452
161 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
162 <case REG>: Return 1 for invalid offsets from the frame pointer.
163
d615d763
MP
1642014-03-26 Marek Polacek <polacek@redhat.com>
165
166 PR c/37428
167 * doc/extend.texi (C Extensions): Mention variable-length arrays in
168 a structure/union.
169
1b226529
MP
1702014-03-26 Marek Polacek <polacek@redhat.com>
171
172 PR c/39525
173 * doc/extend.texi (Designated Inits): Describe what happens to omitted
174 field members.
175
6686e0bc
MP
1762014-03-26 Marek Polacek <polacek@redhat.com>
177
178 PR other/59545
179 * ira-color.c (update_conflict_hard_regno_costs): Perform the
180 multiplication in unsigned type.
181
d4fbc3ae
CJW
1822014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
183
184 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
185
dfa6c87b
CJW
1862014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
187
188 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
189
9de6f6c3
JH
1902014-03-25 Jan Hubicka <hubicka@ucw.cz>
191
192 PR ipa/60315
193 * cif-code.def (UNREACHABLE) New code.
194 * ipa-inline.c (inline_small_functions): Skip edges to __builtlin_unreachable.
195 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
196 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
197 predicate to __bulitin_unreachable.
198 (set_cond_stmt_execution_predicate): Fix issue when invert_tree_comparison
199 returns ERROR_MARK.
200 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
201 propagate to inline clones.
202 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
203 to unreachable.
204 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
205 * cgraphclones.c (cgraph_clone_node): If call destination is already
206 ureachable, do not redirect it back.
207 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
208 unreachable.
209
d7636f56
JH
2102014-03-25 Jan Hubicka <hubicka@ucw.cz>
211
212 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
213 Do not modify inline clones.
214
d1873c57
JJ
2152014-03-25 Jakub Jelinek <jakub@redhat.com>
216
217 * config/i386/i386.md (general_sext_operand): New mode attr.
218 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
219 don't generate (sign_extend (const_int)).
220 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
221 operands[2]. Use We constraint instead of <i> and <general_sext_operand>
222 predicate instead of <general_operand>.
223 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
224 * config/i386/constraints.md (We): New constraint.
225 * config/i386/predicates.md (x86_64_sext_operand,
226 sext_operand): New predicates.
227
b5165eb0
MJ
2282014-03-25 Martin Jambor <mjambor@suse.cz>
229
230 PR ipa/60600
231 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
232 inconsistent devirtualizations to __builtin_unreachable.
233
3102858d
MP
2342014-03-25 Marek Polacek <polacek@redhat.com>
235
236 PR c/35449
237 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
238
4b1e108c
AL
2392014-03-25 Alan Lawrence <alan.lawrence@arm.com>
240
241 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
242 order of elements for big-endian.
243
40b0722f
RB
2442014-03-25 Richard Biener <rguenther@suse.de>
245
246 PR middle-end/60635
247 * gimplify-me.c (gimple_regimplify_operands): Update the
248 re-gimplifed stmt.
249
4a5798de
MJ
2502014-03-25 Martin Jambor <mjambor@suse.cz>
251
252 PR ipa/59176
253 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
254 (lto_output_varpool_node): Likewise.
255 (input_overwrite_node): Likewise.
256 (input_varpool_node): Likewise.
257
585d0088
RB
2582014-03-25 Richard Biener <rguenther@suse.de>
259
260 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like
261 OPT_fpie.
262 (run_gcc): Likewise.
263
a8acccdd
JJ
2642014-03-25 Jakub Jelinek <jakub@redhat.com>
265
51ee05d0
JJ
266 * combine.c (simplify_compare_const): Add MODE argument.
267 Handle mode_width 0 as very large mode_width.
268 (try_combine, simplify_comparison): Adjust callers.
269
a8acccdd
JJ
270 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
271 type to avoid signed integer overflow.
272 * explow.c (plus_constant): Likewise.
273
57fc74a4
DV
2742014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
275
276 * doc/generic.texi: Correct typos.
277
09f15d1b
TB
2782014-03-24 Tobias Burnus <burnus@net-b.de>
279
280 * doc/invoke.texi (-flto): Expand section about
281 using static libraries with LTO.
282
72a4ddf2
AK
2832014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
284
285 PR rtl-optimization/60501
286 * optabs.def (addptr3_optab): New optab.
287 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
288 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
289 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
290
291 * lra.c (emit_add3_insn): Use the addptr pattern if available.
292
293 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
294
0b192937
UD
2952014-03-24 Ulrich Drepper <drepper@gmail.com>
296
2b2384e8
UD
297 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
298 _mm512_set1_pd.
299
0b192937
UD
300 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
301 (_mm256_undefined_ps): Define.
302 (_mm256_undefined_pd): Define.
303 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
304 (_mm_undefined_pd): Define.
305 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
306 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
307 (_mm512_undefined_ps): Define.
308 (_mm512_undefined_pd): Define.
309 Use _mm*_undefined_*.
310 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
311
252c7556
AV
3122014-03-24 Alex Velenko <Alex.Velenko@arm.com>
313
314 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
315 (lshr_simd): DI mode added.
316 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
317 (aarch64_ushr_simddi): Likewise.
318 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
319 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
320 (vshrd_n_u64): Likewise.
321
15e3d4f1
RO
3222014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
323
324 * Makefile.in (s-macro_list): Depend on cc1.
325
1858c2d3
TJ
3262014-03-23 Teresa Johnson <tejohnson@google.com>
327
328 * ipa-utils.c (ipa_print_order): Use specified dump file.
329
f87604f8
EB
3302014-03-23 Eric Botcazou <ebotcazou@adacore.com>
331
332 PR rtl-optimization/60601
333 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
334
335 * gcc.c (eval_spec_function): Initialize save_growing_value.
336
3db31fd1
JJ
3372014-03-22 Jakub Jelinek <jakub@redhat.com>
338
f451d3a8
JJ
339 PR sanitizer/60613
340 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
341 code == MINUS_EXPR, never swap op0 with op1.
342
3db31fd1
JJ
343 * toplev.c (init_local_tick): Avoid signed integer multiplication
344 overflow.
345 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
346 shift by first operand's bitsize.
347
e49080ec
JJ
3482014-03-21 Jakub Jelinek <jakub@redhat.com>
349
350 PR target/60610
351 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
352 redefine to 1 or 0.
353 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
354 TARGET_ISA_64BIT_P(x).
355
44eb6c40
BS
3562014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
357
358 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
359 pattern for vector nor instead of subtract from splat(-1).
360 (altivec_expand_vec_perm_const_le): Likewise.
361
ec6f831a
RH
3622014-03-21 Richard Henderson <rth@twiddle.net>
363
364 PR target/60598
365 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
366 related insns after epilogue_completed.
367
3d8d0043
MJ
3682014-03-21 Martin Jambor <mjambor@suse.cz>
369
370 PR ipa/59176
371 * cgraph.h (symtab_node): New flag body_removed.
372 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
373 when removing bodies.
374 * symtab.c (dump_symtab_base): Dump body_removed flag.
375 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
376 had their bodies removed.
377
d833415c
MJ
3782014-03-21 Martin Jambor <mjambor@suse.cz>
379
380 PR ipa/60419
381 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
382 in the border.
383
400a4f6c
RB
3842014-03-21 Richard Biener <rguenther@suse.de>
385
386 PR tree-optimization/60577
387 * tree-core.h (struct tree_base): Document nothrow_flag use
388 in VAR_DECL_NONALIASED.
389 * tree.h (VAR_DECL_NONALIASED): New.
390 (may_be_aliased): Adjust.
391 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
392
c6c2314f
EB
3932014-03-20 Eric Botcazou <ebotcazou@adacore.com>
394
395 * expr.c (expand_expr_real_1): Remove outdated comment.
396
d02b6ac7
JJ
3972014-03-20 Jakub Jelinek <jakub@redhat.com>
398
b8f045e2
JJ
399 PR middle-end/60597
400 * ira.c (adjust_cleared_regs): Call copy_rtx on
401 *reg_equiv[REGNO (loc)].src_p before passing it to
402 simplify_replace_fn_rtx.
403
d02b6ac7
JJ
404 PR target/60568
405 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
406 into CONST, put pic register as first operand of PLUS. Use
407 gen_const_mem for both 32-bit and 64-bit PIC got loads.
408
e2f98c01
RR
4092014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
410
411 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
412
7075c792
EB
4132014-03-20 Eric Botcazou <ebotcazou@adacore.com>
414
415 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
416 around for store forwarding issue in the FPU on the UT699.
417 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
418 loads and operations if -mfix-ut699 is specified.
419 (divtf3_hq): Tweak attribute.
420 (sqrttf2_hq): Likewise.
421
9ee5337d
EB
4222014-03-20 Eric Botcazou <ebotcazou@adacore.com>
423
424 * calls.c (store_one_arg): Remove incorrect const qualification on the
425 type of the temporary.
426 * cfgexpand.c (expand_return): Likewise.
427 * expr.c (expand_constructor): Likewise.
428 (expand_expr_real_1): Likewise.
429
a69e09c8
ZC
4302014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
431
432 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
433 of parts.
434
8659d57b
KK
4352014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
436
437 PR target/60039
438 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
439
985e0d33
JG
4402014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
441
442 * config/arm/aarch-common-protos.h
443 (alu_cost_table): Fix spelling of "extend".
444 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
445
ce2f49b3
RB
4462014-03-19 Richard Biener <rguenther@suse.de>
447
448 PR middle-end/60553
449 * tree-core.h (tree_type_common): Re-order pointer members
450 to reduce recursion depth during GC walks.
451
6daa2d91
MP
4522014-03-19 Marek Polacek <polacek@redhat.com>
453
454 PR sanitizer/60569
455 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
456 before accessing it.
457
8c9cfbe6
RB
4582014-03-19 Richard Biener <rguenther@suse.de>
459
460 PR lto/59543
461 * lto-streamer-in.c (input_function): In WPA stage do not drop
462 debug stmts.
463
3efe2e2c
JJ
4642014-03-19 Jakub Jelinek <jakub@redhat.com>
465
466 PR tree-optimization/60559
467 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
468 with build_zero_cst assignment.
469
234f76cb
KT
4702014-03-18 Kai Tietz <ktietz@redhat.com>
471
472 PR rtl-optimization/56356
473 * sdbout.c (sdbout_parms): Verify that parms'
474 incoming argument is valid.
475 (sdbout_reg_parms): Likewise.
476
58ca6edf
RH
4772014-03-18 Richard Henderson <rth@redhat.com>
478
479 PR target/60562
480 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
481 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 482 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
483
4842014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
485
486 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
487 * doc/plugins.texi (Plugin callbacks): Mention
488 PLUGIN_INCLUDE_FILE.
489 Italicize plugin event names in description. Explain that
490 PLUGIN_PRAGMAS has no sense for lto1. Explain
491 PLUGIN_INCLUDE_FILE.
492 Remind that no GCC functions should be called after
493 PLUGIN_FINISH.
494 Explain what pragmas with expansion are.
495
eb14a79f
ML
4962014-03-18 Martin Liska <mliska@suse.cz>
497
498 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
499 gimple call statement is update.
500 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
501 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
502
415e2e6b
JJ
5032014-03-18 Jakub Jelinek <jakub@redhat.com>
504
ead96f13
JJ
505 PR sanitizer/60557
506 * ubsan.c (ubsan_instrument_unreachable): Call
507 initialize_sanitizer_builtins.
508 (ubsan_pass): Likewise.
509
415e2e6b
JJ
510 PR sanitizer/60535
511 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
512 varpool_finalize_decl instead of rest_of_decl_compilation.
513
4ca40f52
RB
5142014-03-18 Richard Biener <rguenther@suse.de>
515
516 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
517 by using bitmap_and_compl instead of bitmap_and_compl_into.
518 (df_rd_transfer_function): Likewise.
519
6404e190
RB
5202014-03-18 Richard Biener <rguenther@suse.de>
521
522 * doc/lto.texi (fresolution): Fix typo.
523
b9abf793
RB
5242014-03-18 Richard Biener <rguenther@suse.de>
525
526 * doc/invoke.texi (flto): Update for changes in 4.9.
527
3f00cf18
RB
5282014-03-18 Richard Biener <rguenther@suse.de>
529
530 * doc/loop.texi: Remove section on the removed lambda framework.
531 Update loop docs with recent changes in preserving loop structure.
532
c2679d84
RB
5332014-03-18 Richard Biener <rguenther@suse.de>
534
535 * doc/lto.texi (-fresolution): Document.
536
c07990cc
RB
5372014-03-18 Richard Biener <rguenther@suse.de>
538
539 * doc/contrib.texi: Adjust my name.
540
ed9c79e1
JJ
5412014-03-18 Jakub Jelinek <jakub@redhat.com>
542
543 PR ipa/58721
544 * internal-fn.c: Include diagnostic-core.h.
545 (expand_BUILTIN_EXPECT): New function.
546 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
547 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
548 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
549 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
550 IFN_BUILTIN_EXPECT.
551 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
552 Revert 3 argument __builtin_expect code.
553 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
554 * gimple-fold.c (gimple_fold_call): Likewise.
555 * tree.h (fold_builtin_expect): New prototype.
556 * builtins.c (build_builtin_expect_predicate): Add predictor
557 argument, if non-NULL, create 3 argument __builtin_expect.
558 (fold_builtin_expect): No longer static. Add ARG2 argument,
559 pass it through to build_builtin_expect_predicate.
560 (fold_builtin_2): Adjust caller.
561 (fold_builtin_3): Handle BUILT_IN_EXPECT.
562 * internal-fn.def (BUILTIN_EXPECT): New.
563
5642014-03-18 Tobias Burnus <burnus@net-b.de>
565
566 PR ipa/58721
567 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
568 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
569 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
570
5712014-03-18 Jan Hubicka <hubicka@ucw.cz>
572
573 PR ipa/58721
574 * predict.c (combine_predictions_for_bb): Fix up formatting.
575 (expr_expected_value_1, expr_expected_value): Add predictor argument,
576 fill what it points to if non-NULL.
577 (tree_predict_by_opcode): Adjust caller, use the predictor.
578 * predict.def (PRED_COMPARE_AND_SWAP): Add.
579
e33da4a1
EB
5802014-03-18 Eric Botcazou <ebotcazou@adacore.com>
581
582 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
583 proper constant for the store mode.
584
1fed15fc
IE
5852014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
586
587 * symtab.c (change_decl_assembler_name): Fix transparent alias
588 chain construction.
589
454fdba9
RL
5902014-03-16 Renlin Li <Renlin.Li@arm.com>
591
592 * config/aarch64/aarch64.c: Correct the comments about the
593 aarch64 stack layout.
594
e2110f8f
TS
5952014-03-18 Thomas Schwinge <thomas@codesourcery.com>
596
597 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
598 check for GF_OMP_FOR_KIND_FOR.
599
7c831c4d
KY
6002013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
601
602 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
603 ymm and zmm register names.
604
e318c1e1
JJ
6052014-03-17 Jakub Jelinek <jakub@redhat.com>
606
607 PR target/60516
608 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
609 note creation for the 2010-08-31 changes.
610
ab2ffbeb
MP
6112014-03-17 Marek Polacek <polacek@redhat.com>
612
613 PR middle-end/60534
614 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
615 as -fno-tree-loop-vectorize.
616 (expand_omp_simd): Likewise.
617
890fa568
EB
6182014-03-15 Eric Botcazou <ebotcazou@adacore.com>
619
620 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
621 (eligible_for_call_delay): New prototype.
622 * config/sparc/sparc.c (tls_call_delay): Rename into...
623 (eligible_for_call_delay): ...this. Return false if the instruction
624 cannot be put in the delay slot of a branch.
625 (eligible_for_restore_insn): Simplify.
626 (eligible_for_return_delay): Return false if the instruction cannot be
627 put in the delay slot of a branch and simplify.
628 (eligible_for_sibcall_delay): Return false if the instruction cannot be
629 put in the delay slot of a branch.
630 * config/sparc/sparc.md (fix_ut699): New attribute.
631 (tls_call_delay): Delete.
632 (in_call_delay): Reimplement.
633 (eligible_for_sibcall_delay): Rename into...
634 (in_sibcall_delay): ...this.
635 (eligible_for_return_delay): Rename into...
636 (in_return_delay): ...this.
637 (in_branch_delay): Reimplement.
638 (in_uncond_branch_delay): Delete.
639 (in_annul_branch_delay): Delete.
640
cfce90ac
RH
6412014-03-14 Richard Henderson <rth@redhat.com>
642
643 PR target/60525
644 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
645 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
646 (*floathi<X87MODEF>2_i387_with_temp): Remove.
647 (floathi splitters): Remove.
648 (float<SWI48x>xf2): New pattern.
649 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
650 code that tried to handle DImode for 32-bit, but which was excluded
651 by the pattern's condition. Drop allocation of stack temporary.
652 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
653 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
654 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
655 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
656 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
657 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
658 (*float<SWI48><MODEF>2_sse_interunit): Remove.
659 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
660 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
661 (*float<SWI48x><X87MODEF>2_i387): Remove.
662 (all float _with_temp splitters): Remove.
663 (*float<SWI48x><MODEF>2_i387): New pattern.
664 (*float<SWI48><MODEF>2_sse): New pattern.
665 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
666 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
667
91035653
JJ
6682014-03-14 Jakub Jelinek <jakub@redhat.com>
669 Marek Polacek <polacek@redhat.com>
670
671 PR middle-end/60484
672 * common.opt (dump_base_name_prefixed): New Variable.
673 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
674 if x_dump_base_name_prefixed is already set, set it at the end.
675
95921002
VM
6762014-03-14 Vladimir Makarov <vmakarov@redhat.com>
677
678 PR rtl-optimization/60508
679 * lra-constraints.c (get_reload_reg): Add new parameter
680 in_subreg_p.
681 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
682 Pass the new parameter values.
683
25e57622
RB
6842014-03-14 Richard Biener <rguenther@suse.de>
685
686 * common.opt: Revert unintented changes from r205065.
687 * opts.c: Likewise.
688
1f3388fe
RB
6892014-03-14 Richard Biener <rguenther@suse.de>
690
691 PR middle-end/60518
692 * cfghooks.c (split_block): Properly adjust all loops the
693 block was a latch of.
694
6952014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
696
697 PR lto/60461
698 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
699 and simplify it.
700
2832dc22
GJL
7012014-03-14 Georg-Johann Lay <avr@gjlay.de>
702
703 PR target/59396
704 * config/avr/avr.c (avr_set_current_function): Pass function name
705 through default_strip_name_encoding before sanity checking instead
706 of skipping the first char of the assembler name.
707
3386d77e
RH
7082014-03-13 Richard Henderson <rth@redhat.com>
709
710 PR debug/60438
711 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
712 (ix86_force_to_memory, ix86_free_from_memory): Remove.
713 * config/i386/i386-protos.h: Likewise.
714 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
715 in the expander instead of a splitter.
716 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
717 any possibility of requiring a memory.
718 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
719 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
720 (fp branch splitters): Update for ix86_split_fp_branch.
721 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
722 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
723 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
724 (*fop_<MODEF>_2_i387): Remove f/r alternative.
725 (*fop_<MODEF>_3_i387): Likewise.
726 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
727 (splitters for the fop_* register patterns): Remove.
728 (fscalexf4_i387): Rename from *fscalexf4_i387.
729 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
730
5b5d7f31
JJ
7312014-03-13 Jakub Jelinek <jakub@redhat.com>
732
733 PR tree-optimization/59779
734 * tree-dfa.c (get_ref_base_and_extent): Use double_int
735 type for bitsize and maxsize instead of HOST_WIDE_INT.
736
bdc6e1ae
SB
7372014-03-13 Steven Bosscher <steven@gcc.gnu.org>
738
739 PR rtl-optimization/57320
740 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
741 the CFG after thread_prologue_and_epilogue_insns.
742
7891065a
VM
7432014-03-13 Vladimir Makarov <vmakarov@redhat.com>
744
745 PR rtl-optimization/57189
746 * lra-constraints.c (process_alt_operands): Disfavor spilling
747 vector pseudos.
748
eba14fca
CP
7492014-03-13 Cesar Philippidis <cesar@codesourcery.com>
750
751 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic
752 messages.
753
f661b085
JJ
7542014-03-13 Jakub Jelinek <jakub@redhat.com>
755
756 PR tree-optimization/59025
757 PR middle-end/60418
758 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
759 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
760
8f3a3138
GJL
7612014-03-13 Georg-Johann Lay <avr@gjlay.de>
762
763 PR target/60486
764 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
765 calls of avr_out_plus_1.
766
d731ee04
BC
7672014-03-13 Bin Cheng <bin.cheng@arm.com>
768
769 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
770 BB's single pred and update the father loop's latch info later.
771
a16a872d
MM
7722014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
773
774 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
775 (VEC_M): Likewise.
776 (VEC_N): Likewise.
777 (VEC_R): Likewise.
778 (VEC_base): Likewise.
779 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
780 registers, we need to swap double words in little endian mode.
781
782 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
783 to be a container mode for 128-bit integer operations added in ISA
784 2.07. Unlike TImode and PTImode, the preferred register set is
785 the Altivec/VMX registers for the 128-bit operations.
786
787 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
788 declarations.
789 (rs6000_split_128bit_ok_p): Likewise.
790
791 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
792 macros for creating ISA 2.07 normal and overloaded builtin
793 functions with 3 arguments.
794 (BU_P8V_OVERLOAD_3): Likewise.
795 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
796 for use as overloaded functions.
797 (VPERM_1TI_UNS): Likewise.
798 (VSEL_1TI): Likewise.
799 (VSEL_1TI_UNS): Likewise.
800 (ST_INTERNAL_1ti): Likewise.
801 (LD_INTERNAL_1ti): Likewise.
802 (XXSEL_1TI): Likewise.
803 (XXSEL_1TI_UNS): Likewise.
804 (VPERM_1TI): Likewise.
805 (VPERM_1TI_UNS): Likewise.
806 (XXPERMDI_1TI): Likewise.
807 (SET_1TI): Likewise.
808 (LXVD2X_V1TI): Likewise.
809 (STXVD2X_V1TI): Likewise.
810 (VEC_INIT_V1TI): Likewise.
811 (VEC_SET_V1TI): Likewise.
812 (VEC_EXT_V1TI): Likewise.
813 (EQV_V1TI): Likewise.
814 (NAND_V1TI): Likewise.
815 (ORC_V1TI): Likewise.
816 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
817 added in ISA 2.07. Add both normal 'altivec' builtins, and the
818 overloaded builtin.
819 (VADDUQM): Likewise.
820 (VSUBCUQ): Likewise.
821 (VADDEUQM): Likewise.
822 (VADDECUQ): Likewise.
823 (VSUBEUQM): Likewise.
824 (VSUBECUQ): Likewise.
825
826 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
827 __int128_t and __uint128_t types.
828 (__uint128_type): Likewise.
829 (altivec_categorize_keyword): Add support for vector __int128_t,
830 vector __uint128_t, vector __int128, and vector unsigned __int128
831 as a container type for TImode operations that need to be done in
832 VSX/Altivec registers.
833 (rs6000_macro_to_expand): Likewise.
834 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
835 to support 128-bit integer instructions vaddcuq, vadduqm,
836 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
837 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
838
839 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
840 for V1TImode, and set up preferences to use VSX/Altivec registers.
841 Setup VSX reload handlers.
a16a872d
MM
842 (rs6000_debug_reg_global): Likewise.
843 (rs6000_init_hard_regno_mode_ok): Likewise.
844 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 845 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
846 (easy_altivec_constant): Likewise.
847 (output_vec_const_move): Likewise.
848 (rs6000_expand_vector_set): Convert V1TImode set and extract to
849 simple move.
850 (rs6000_expand_vector_extract): Likewise.
851 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
852 addressing.
853 (rs6000_const_vec): Add support for V1TImode.
854 (rs6000_emit_le_vsx_load): Swap double words when loading or
855 storing TImode/V1TImode.
856 (rs6000_emit_le_vsx_store): Likewise.
857 (rs6000_emit_le_vsx_move): Likewise.
858 (rs6000_emit_move): Add support for V1TImode.
859 (altivec_expand_ld_builtin): Likewise.
860 (altivec_expand_st_builtin): Likewise.
861 (altivec_expand_vec_init_builtin): Likewise.
862 (altivec_expand_builtin): Likewise.
863 (rs6000_init_builtins): Add support for V1TImode type. Add
864 support for ISA 2.07 128-bit integer builtins. Define type names
865 for the VSX/Altivec vector types.
866 (altivec_init_builtins): Add support for overloaded vector
867 functions with V1TImode type.
0bb29a05 868 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
869 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
870 external function.
871 (rs6000_split_128bit_ok_p): Likewise.
872 (rs6000_handle_altivec_attribute): Create V1TImode from vector
873 __int128_t and vector __uint128_t.
874
875 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
876 and mode attributes.
877 (VSX_M): Likewise.
878 (VSX_M2): Likewise.
879 (VSm): Likewise.
880 (VSs): Likewise.
881 (VSr): Likewise.
882 (VSv): Likewise.
883 (VS_scalar): Likewise.
884 (VS_double): Likewise.
0bb29a05 885 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 886
0bb29a05
UB
887 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
888 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
889 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
890 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
891 and TImode types for use with the builtin functions.
892 (V1TI_type_node): Likewise.
893 (unsigned_V1TI_type_node): Likewise.
894 (intTI_type_internal_node): Likewise.
895 (uintTI_type_internal_node): Likewise.
896
0bb29a05
UB
897 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
898 128-bit builtin functions.
a16a872d
MM
899 (UNSPEC_VADDEUQM): Likewise.
900 (UNSPEC_VADDECUQ): Likewise.
901 (UNSPEC_VSUBCUQ): Likewise.
902 (UNSPEC_VSUBEUQM): Likewise.
903 (UNSPEC_VSUBECUQ): Likewise.
904 (VM): Add V1TImode to vector mode iterators.
905 (VM2): Likewise.
906 (VI_unit): Likewise.
907 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
908 (altivec_vaddcuq): Likewise.
909 (altivec_vsubuqm): Likewise.
910 (altivec_vsubcuq): Likewise.
911 (altivec_vaddeuqm): Likewise.
912 (altivec_vaddecuq): Likewise.
913 (altivec_vsubeuqm): Likewise.
914 (altivec_vsubecuq): Likewise.
915
916 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
917 mode iterators.
918 (BOOL_128): Likewise.
919 (BOOL_REGS_OUTPUT): Likewise.
920 (BOOL_REGS_OP1): Likewise.
921 (BOOL_REGS_OP2): Likewise.
922 (BOOL_REGS_UNARY): Likewise.
923 (BOOL_REGS_AND_CR0): Likewise.
924
925 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
926 128-bit integer builtin support.
927 (vec_vadduqm): Likewise.
928 (vec_vaddecuq): Likewise.
929 (vec_vaddeuqm): Likewise.
930 (vec_vsubecuq): Likewise.
931 (vec_vsubeuqm): Likewise.
932 (vec_vsubcuq): Likewise.
933 (vec_vsubuqm): Likewise.
934
935 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
936 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
937 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
938 128-bit integer add/subtract to ISA 2.07.
939
eeac7d15
JR
9402014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
941
942 * config/arc/arc.c (arc_predicate_delay_insns):
943 Fix third argument passed to conditionalize_nonjump.
944
bf0f324e
YZ
9452014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
946
947 * config/aarch64/aarch64-builtins.c
948 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
949 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
950 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
951 instead of __builtin_lfloor.
952 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
953
bf4787b2
JJ
9542014-03-12 Jakub Jelinek <jakub@redhat.com>
955
956 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
957 (tree_ssa_ifcombine_bb_1): New function.
958 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
959 is an empty forwarder block to then_bb or vice versa and then_bb
960 and else_bb are effectively swapped.
961
7d55b948
CB
9622014-03-12 Christian Bruel <christian.bruel@st.com>
963
964 PR target/60264
0bb29a05
UB
965 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
966 REG_CFA_DEF_CFA note.
7d55b948
CB
967 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
968 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
969
882a5fbe
TP
9702014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
971
972 PR tree-optimization/60454
973 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
974
a3cd0246
KT
9752014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
976
977 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
978 Do not define target_cpu_default2 to generic.
979 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
980 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
981 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
982
c888139c
JJ
9832014-03-12 Jakub Jelinek <jakub@redhat.com>
984 Marc Glisse <marc.glisse@inria.fr>
985
986 PR tree-optimization/60502
987 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
988 instead of build_low_bits_mask.
989
b24ca895
JJ
9902014-03-12 Jakub Jelinek <jakub@redhat.com>
991
992 PR middle-end/60482
993 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
994 if there are multiple uses, but op doesn't live on E edge.
995 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
996 clobber stmts before __builtin_unreachable.
997
f1257268
RS
9982014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
999
1000 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
1001 hard_frame_pointer_rtx.
1002 * cse.c (cse_insn): Remove volatile check.
1003 * cselib.c (cselib_process_insn): Likewise.
1004 * dse.c (scan_insn): Likewise.
1005
bae56bbb
JR
10062014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
1007
0bb29a05
UB
1008 * config/arc/arc.c (conditionalize_nonjump): New function,
1009 broken out of ...
1010 (arc_ifcvt): ... this.
bae56bbb
JR
1011 (arc_predicate_delay_insns): Use it.
1012
167ba5b9
JR
10132014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
1014
1015 * config/arc/predicates.md (extend_operand): During/after reload,
1016 allow const_int_operand.
1017 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
1018 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
1019 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
1020 to "i".
1021 (umulsi3_highpart_i): Likewise.
1022
dfd7d2d6
RB
10232014-03-11 Richard Biener <rguenther@suse.de>
1024
1025 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
1026 Add asserts to guard possible wrong-code bugs.
1027
af1ab449
RB
10282014-03-11 Richard Biener <rguenther@suse.de>
1029
1030 PR tree-optimization/60429
1031 PR tree-optimization/60485
1032 * tree-ssa-structalias.c (set_union_with_increment): Properly
1033 take into account all fields that overlap the shifted vars.
1034 (do_sd_constraint): Likewise.
1035 (do_ds_constraint): Likewise.
1036 (get_constraint_for_ptr_offset): Likewise.
1037
747425d0
CLT
10382014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
1039
1040 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
1041 (nios2_compute_frame_layout):
1042 Add calculation of cfun->machine->fp_save_offset.
1043 (nios2_expand_prologue): Correct setting of frame pointer register
1044 in prologue.
1045 (nios2_expand_epilogue): Update recovery of stack pointer from
1046 frame pointer accordingly.
1047 (nios2_initial_elimination_offset): Update calculation of offset
1048 for eliminating to HARD_FRAME_POINTER_REGNUM.
1049
31dad809
JJ
10502014-03-10 Jakub Jelinek <jakub@redhat.com>
1051
1052 PR ipa/60457
1053 * ipa.c (symtab_remove_unreachable_nodes): Don't call
1054 cgraph_get_create_node on VAR_DECLs.
1055
3c1c08d6
RB
10562014-03-10 Richard Biener <rguenther@suse.de>
1057
1058 PR middle-end/60474
1059 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
1060
21d89690
DR
10612014-03-08 Douglas B Rupp <rupp@gnat.com>
1062
1063 * config/vms/vms.opt (vms_float_format): New variable.
1064
634b8e9b
TB
10652014-03-08 Tobias Burnus <burnus@net-b.de>
1066
0bb29a05 1067 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 1068
f42c637e
PM
10692014-03-08 Paulo Matos <paulo@matos-sorge.com>
1070 Richard Biener <rguenther@suse.de>
1071
1072 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
1073 consistently accross all TUs.
1074 (run_gcc): Enable -fshort-double automatically at link at link-time
1075 and disallow override.
1076
bd65fc87
RS
10772014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
1078
1079 PR target/58271
1080 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
1081 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
1082 if they can't be used.
1083
040c446d
RO
10842014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1085
0bb29a05
UB
1086 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
1087 for Solaris 11/x86 ld.
040c446d
RO
1088 * configure: Regenerate.
1089
caa16d41
RO
10902014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1091
1092 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
1093 (LIB_TLS_SPEC): Save as ld_tls_libs.
1094 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
1095 (HAVE_AS_IX86_TLSLDM): New test.
1096 * configure, config.in: Regenerate.
1097 * config/i386/i386.c (legitimize_tls_address): Fall back to
1098 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
1099 cannot support TLS_MODEL_LOCAL_DYNAMIC.
1100 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
1101 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
1102
f3d83ffe
PM
11032014-03-07 Paulo Matos <paulo@matos-sorge.com>
1104
1105 * common.opt (fira-loop-pressure): Mark as optimization.
1106
b17a8b07
TS
11072014-03-07 Thomas Schwinge <thomas@codesourcery.com>
1108
1109 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
1110 an OpenMP mappable type.
1111
4973b0f9
MK
11122014-03-06 Matthias Klose <doko@ubuntu.com>
1113
1114 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
1115 MULTILIB_OSDIRNAMES is not defined.
1116
ab19cc6c
JJ
11172014-03-06 Jakub Jelinek <jakub@redhat.com>
1118 Meador Inge <meadori@codesourcery.com>
1119
1120 PR target/58595
1121 * config/arm/arm.c (arm_tls_symbol_p): Remove.
1122 (arm_legitimize_address): Call legitimize_tls_address for any
1123 arm_tls_referenced_p expression, handle constant addend. Call it
1124 before testing for !TARGET_ARM.
1125 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
1126
a74158c7
RB
11272014-03-06 Richard Biener <rguenther@suse.de>
1128
1129 PR middle-end/60445
1130 PR lto/60424
1131 PR lto/60427
1132 Revert
1133 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
1134
0bb29a05
UB
1135 * tree-streamer.c (record_common_node): Assert we don't record
1136 nodes with type double.
1137 (preload_common_node): Skip type double, complex double and double
1138 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 1139
f3ba16d0
RB
11402014-03-06 Richard Biener <rguenther@suse.de>
1141
1142 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
1143 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
1144 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
1145 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
1146 * lto-wrapper.c (merge_and_complain): Merge compile-time
1147 optimization levels.
1148 (run_gcc): And pass it through to the link options.
1149
80662856
AO
11502014-03-06 Alexandre Oliva <aoliva@redhat.com>
1151
1152 PR debug/60381
1153 Revert:
1154 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
1155 PR debug/59992
1156 * cselib.c (remove_useless_values): Skip to avoid quadratic
1157 behavior if the condition moved from...
1158 (cselib_process_insn): ... here holds.
1159
a05cca9b
JJ
11602014-03-05 Jakub Jelinek <jakub@redhat.com>
1161
487125e7
JJ
1162 PR plugins/59335
1163 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
1164 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
1165
a05cca9b
JJ
1166 PR plugins/59335
1167 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
1168 (TM_H): Add x86-tune.def.
1169
4e2cd668
KT
11702014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1171
1172 * config/aarch64/aarch64.c (generic_tunings):
1173 Use cortexa57_extra_costs.
1174
5525ed38
JJ
11752014-03-05 Jakub Jelinek <jakub@redhat.com>
1176
1177 PR lto/60404
1178 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
1179 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
1180 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
1181 cost for in_lto_p.
1182
0c72fa78
H
11832014-03-04 Heiher <r@hev.cc>
1184
1185 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
1186 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
1187
66b03f81
UB
11882014-03-04 Uros Bizjak <ubizjak@gmail.com>
1189
1190 * config/i386/predicates.md (const2356_operand): Change to ...
1191 (const2367_operand): ... this.
1192 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
1193 const2367_operand.
1194 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
1195 (*avx512pf_scatterpf<mode>sf): Ditto.
1196 (avx512pf_scatterpf<mode>df): Ditto.
1197 (*avx512pf_scatterpf<mode>df_mask): Ditto.
1198 (*avx512pf_scatterpf<mode>df): Ditto.
1199 * config/i386/i386.c (ix86_expand_builtin): Update
1200 incorrect hint operand error message.
1201
3c24e842
RB
12022014-03-04 Richard Biener <rguenther@suse.de>
1203
1204 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 1205
3740bda6
PM
12062014-03-04 Paulo Matos <paulo@matos-sorge.com>
1207
0bb29a05
UB
1208 * tree-streamer.c (record_common_node): Assert we don't record
1209 nodes with type double.
1210 (preload_common_node): Skip type double, complex double and double
1211 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 1212
91856735
RB
12132014-03-04 Richard Biener <rguenther@suse.de>
1214
1215 PR lto/60405
66b03f81 1216 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
1217 (lto_input_toplevel_asms): Likewise.
1218 * lto-section-in.c (lto_get_section_data): Instead do it here
1219 for every section.
66b03f81 1220
b75f28e1
RB
12212014-03-04 Richard Biener <rguenther@suse.de>
1222
1223 PR tree-optimization/60382
1224 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
1225 dead PHIs a reduction.
1226
dd96e83a
UB
12272014-03-03 Uros Bizjak <ubizjak@gmail.com>
1228
1229 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
1230 hint value.
1231 (_mm_prefetch): Move out of GCC target("sse") pragma.
1232 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
1233 GCC target("prfchw") pragma.
1234 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
1235 for locality <= 2.
1236 * config/i386/i386.c (ix86_option_override_internal): Enable
1237 -mprfchw with -mprefetchwt1.
1238
220c1a51
JR
12392014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
1240
1241 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
1242 Mark as varying.
1243
212bfe71
JR
12442014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
1245
1246 * opts.h (CL_PCH_IGNORE): Define.
1247 * targhooks.c (option_affects_pch_p):
1248 Return false for options that have CL_PCH_IGNORE set.
1249 * opt-functions.awk: Process PchIgnore.
1250 * doc/options.texi: Document PchIgnore.
1251
7a3d0a39
JR
1252 * config/arc/arc.opt (misize): Add PchIgnore property.
1253
b46ed885
BS
12542014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1255
1256 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
1257 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
1258 constraint on constants to permit them being loaded into
1259 GENERAL_REGS or BASE_REGS.
1260
c6f709ec
NC
12612014-03-03 Nick Clifton <nickc@redhat.com>
1262
1263 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
1264 anti-cacnonical alternatives.
1265 (negandhi3_real): New pattern.
1266 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
1267
5752f78f
SKS
12682014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1269
1270 * config/avr/avr-mcus.def: Remove atxmega16x1.
1271 * config/avr/avr-tables.opt: Regenerate.
1272 * config/avr/t-multilib: Regenerate.
1273 * doc/avr-mmcu.texi: Regenerate.
1274
0afe7332 12752014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 1276 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
1277
1278 PR tree-optimization/58028
1279 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
1280 scalar dimensions.
1281
3416dd87
RR
12822014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1283
1284 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
1285 not handled by recognizers.
1286
79c7fda6
JJ
12872014-03-03 Jakub Jelinek <jakub@redhat.com>
1288
1289 PR middle-end/60175
1290 * function.c (expand_function_end): Don't emit
1291 clobber_return_register sequence if clobber_after is a BARRIER.
1292 * cfgexpand.c (construct_exit_block): Append instructions before
1293 return_label to prev_bb.
1294
715a5c85
BS
12952014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1296
1297 * config/rs6000/constraints.md: Document reserved use of "wc".
1298
9ffbf271
JH
12992014-03-02 Jan Hubicka <hubicka@ucw.cz>
1300
1301 PR ipa/60150
1302 * ipa.c (function_and_variable_visibility): When dissolving comdat
1303 group, also set all symbols to local.
1304
993df21e 13052014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 1306
993df21e
JH
1307 PR ipa/60306
1308
1309 Revert:
1310 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
1311 PR middle-end/58477
1312 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 1313
9b0af790
JB
13142014-03-02 Jon Beniston <jon@beniston.com>
1315
1316 PR bootstrap/48230
1317 PR bootstrap/50927
1318 PR bootstrap/52466
1319 PR target/46898
1320 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 1321 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 1322 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 1323 (simple_return, *simple_return): New patterns
9b0af790
JB
1324 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
1325 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
1326
c582aac9
PC
13272014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
1328
1329 * dwarf2out.c (gen_subprogram_die): Tidy.
1330
19305875
OE
13312014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
1332
1333 PR target/60071
1334 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
1335 (*mov_t_msb_neg_negc): ... this new insn.
1336
570215f9
JM
13372014-02-28 Jason Merrill <jason@redhat.com>
1338
1339 PR c++/58678
1340 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
1341 function.
1342
c5b001b5
PC
13432014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
1344
1345 PR c++/60314
1346 * dwarf2out.c (decltype_auto_die): New static.
1347 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
1348 (gen_type_die_with_usage): Handle 'decltype(auto)'.
1349 (is_cxx_auto): Likewise.
1350
5750e120
IB
13512014-02-28 Ian Bolton <ian.bolton@arm.com>
1352
1353 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
1354 we are not using general regs only.
1355
fba7c564
RB
13562014-02-28 Richard Biener <rguenther@suse.de>
1357
1358 PR target/60280
1359 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
1360 previous fix and only allow to remove trivial pre-headers
1361 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 1362 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 1363
0618dee5
AO
13642014-02-28 Alexandre Oliva <aoliva@redhat.com>
1365
1366 PR debug/59992
1367 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
1368 (cselib_preserved_hash_table): New.
1369 (preserve_constants_and_equivs): Move preserved vals to it.
1370 (cselib_find_slot): Look it up first.
1371 (cselib_init): Initialize it.
1372 (cselib_finish): Release it.
1373 (dump_cselib_table): Dump it.
1374
22414f3f
AO
13752014-02-28 Alexandre Oliva <aoliva@redhat.com>
1376
1377 PR debug/59992
1378 * cselib.c (remove_useless_values): Skip to avoid quadratic
1379 behavior if the condition moved from...
1380 (cselib_process_insn): ... here holds.
1381
2e084917
AO
13822014-02-28 Alexandre Oliva <aoliva@redhat.com>
1383
1384 PR debug/57232
1385 * var-tracking.c (vt_initialize): Apply the same condition to
1386 preserve the CFA base value.
1387
9910c53c
JY
13882014-02-28 Joey Ye <joey.ye@arm.com>
1389
1390 PR target/PR60169
1391 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
1392 if reload in progress or completed.
1393
ef271341
TB
13942014-02-28 Tobias Burnus <burnus@net-b.de>
1395
1396 PR middle-end/60147
1397 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
1398 NAMELIST_DECL.
1399
c4f6267b
L
14002014-02-27 H.J. Lu <hongjiu.lu@intel.com>
1401
1402 * doc/tm.texi.in (Condition Code Status): Update documention for
1403 relative locations of cc0-setter and cc0-user.
1404
7a76df7f
JL
14052014-02-27 Jeff Law <law@redhat.com>
1406
1407 PR rtl-optimization/52714
1408 * combine.c (try_combine): When splitting an unrecognized PARALLEL
1409 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 1410 pattern we place into I3 is a (set (pc) ...).
7a76df7f 1411
728acca0
MP
14122014-02-27 Mikael Pettersson <mikpe@it.uu.se>
1413 Jeff Law <law@redhat.com>
1414
1415 PR rtl-optimization/49847
1416 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
1417 are in different blocks.
1418 * doc/tm.texi (Condition Code Status): Update documention for
1419 relative locations of cc0-setter and cc0-user.
1420
93aaa05d
VM
14212014-02-27 Vladimir Makarov <vmakarov@redhat.com>
1422
1423 PR target/59222
1424 * lra.c (lra_emit_add): Check SUBREG too.
1425
1ee6eb01
AS
14262014-02-27 Andreas Schwab <schwab@suse.de>
1427
1428 * config/m68k/m68k.c (m68k_option_override): Disable
1429 -flive-range-shrinkage for classic m68k.
1430 (m68k_override_options_after_change): Likewise.
1431
bb0d8e84
MP
14322014-02-27 Marek Polacek <polacek@redhat.com>
1433
1434 PR middle-end/59223
1435 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
1436 -Wmaybe-uninitialized.
1437
3157b879
AM
14382014-02-27 Alan Modra <amodra@gmail.com>
1439
3e17cad2 1440 PR target/57936
3157b879
AM
1441 * reload1.c (emit_input_reload_insns): When reload_override_in,
1442 set old to rl->in_reg when rl->in_reg is a subreg.
1443
bb750f4f
RB
14442014-02-26 Richard Biener <rguenther@suse.de>
1445
1446 PR bootstrap/60343
1447 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
1448
22c8aab3
IT
14492014-02-25 Ilya Tocar <ilya.tocar@intel.com>
1450
1451 * common/config/i386/predicates.md (const1256_operand): Remove.
1452 (const2356_operand): New.
1453 (const_1_to_2_operand): Remove.
1454 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
1455 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
1456 (*avx512pf_gatherpf<mode>sf): Ditto.
1457 (avx512pf_gatherpf<mode>df): Ditto.
1458 (*avx512pf_gatherpf<mode>df_mask): Ditto.
1459 (*avx512pf_gatherpf<mode>df): Ditto.
1460 (avx512pf_scatterpf<mode>sf): Ditto.
1461 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
1462 (*avx512pf_scatterpf<mode>sf): Ditto.
1463 (avx512pf_scatterpf<mode>df): Ditto.
1464 (*avx512pf_scatterpf<mode>df_mask): Ditto.
1465 (*avx512pf_scatterpf<mode>df): Ditto.
1466 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
1467
260d3642
IT
14682014-02-26 Ilya Tocar <ilya.tocar@intel.com>
1469
1470 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
1471 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
1472 (_mm512_mask_testn_epi64_mask): Move to ...
1473 * config/i386/avx512cdintrin.h: Here.
1474 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
1475 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
1476 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
1477 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
1478 TARGET_AVX512F from TARGET_AVX512CD.
1479
477145c8
RB
14802014-02-26 Richard Biener <rguenther@suse.de>
1481
1482 PR ipa/60327
1483 * ipa.c (walk_polymorphic_call_targets): Properly guard
1484 call to inline_update_overall_summary.
1485
a3afdbb8
BC
14862014-02-26 Bin Cheng <bin.cheng@arm.com>
1487
1488 PR target/60280
84d7e312
UB
1489 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
1490 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
1491 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
1492 LOOPS_HAVE_PREHEADERS.
1493
b8a542c6
AP
14942014-02-25 Andrew Pinski <apinski@cavium.com>
1495
1496 * builtins.c (expand_builtin_thread_pointer): Create a new target
1497 when the target is NULL.
1498
88def637
VM
14992014-02-25 Vladimir Makarov <vmakarov@redhat.com>
1500
1501 PR rtl-optimization/60317
1502 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
1503 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
1504 * lra-assigns.c: Include params.h.
1505 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
1506 other reload pseudos considerations.
1507
68908a06
BS
15082014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1509
cf36d2cc
WS
1510 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
1511 to use canonical form for nor<mode>3.
68908a06 1512
db57bbc9
KT
15132014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1514
1515 PR target/55426
1516 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
1517 conversions.
1518
43b3f52f
IT
15192014-02-25 Ilya Tocar <ilya.tocar@intel.com>
1520
1521 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
1522 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
1523 (ix86_handle_option): Handle OPT_mprefetchwt1.
1524 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
1525 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
1526 PREFETCHWT1 CPUID.
1527 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
1528 OPTION_MASK_ISA_PREFETCHWT1.
1529 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
1530 (PTA_PREFETCHWT1): New.
1531 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
1532 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 1533 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
1534 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
1535 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 1536 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
1537 * config/i386/i386.opt (mprefetchwt1): New.
1538 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
1539 (_mm_prefetch): Handle intent to write.
1540 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
1541
84053e02
RB
15422014-02-25 Richard Biener <rguenther@suse.de>
1543
1544 PR middle-end/60291
1545 * emit-rtl.c (mem_attrs_htab): Remove.
1546 (mem_attrs_htab_hash): Likewise.
1547 (mem_attrs_htab_eq): Likewise.
84d7e312 1548 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
1549 (init_emit_once): Do not allocate mem_attrs_htab.
1550
4094757e
RB
15512014-02-25 Richard Biener <rguenther@suse.de>
1552
1553 PR lto/60319
1554 * lto-opts.c (lto_write_options): Output non-explicit conservative
1555 -fwrapv, -fno-trapv and -fno-strict-overflow.
1556 * lto-wrapper.c (merge_and_complain): Handle merging those options.
1557 (run_gcc): And pass them through.
1558
41b2d514 15592014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 1560
41b2d514
AB
1561 * sel-sched.c (calculate_new_fences): New parameter ptime.
1562 Calculate it as a maximum over all fence cycles.
1563 (sel_sched_region_2): Adjust the call to calculate_new_fences.
1564 Print the final schedule timing when sched_verbose.
1565
c1c99405
AB
15662014-02-25 Andrey Belevantsev <abel@ispras.ru>
1567
1568 PR rtl-optimization/60292
1569 * sel-sched.c (fill_vec_av_set): Do not reset target availability
1570 bit fot the fence instruction.
1571
1d9def42
AD
15722014-02-24 Alangi Derick <alangiderick@gmail.com>
1573
1574 * calls.h: Fix typo in comment.
1575
325fefe0
JDA
15762014-02-24 John David Anglin <danglin@gcc.gnu.org>
1577
1578 * config/pa/pa.c (pa_output_move_double): Don't valididate when
1579 adjusting offsetable addresses.
1580
ad43b47a
GW
15812014-02-24 Guozhi Wei <carrot@google.com>
1582
1583 * sparseset.h (sparseset_pop): Fix the wrong index.
1584
341c653c
WL
15852014-02-24 Walter Lee <walt@tilera.com>
1586
1587 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
1588 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
1589 triplet.
1590 * common/config/tilegx/tilegx-common.c
1591 (TARGET_DEFAULT_TARGET_FLAGS): Define.
1592 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
1593 (LINK_SPEC): Ditto.
1594 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
1595 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
1596 (tilegx_gimplify_va_arg_expr): Handle big endian.
1597 (tilegx_expand_unaligned_load): Ditto.
1598 (tilegx_expand_unaligned_store): Ditto.
1599 (TARGET_RETURN_IN_MSB): New.
1600 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
1601 (TARGET_ENDIAN_DEFAULT): New.
1602 (TARGET_BIG_ENDIAN): Handle big endian.
1603 (BYTES_BIG_ENDIAN): Ditto.
1604 (WORDS_BIG_ENDIAN): Ditto.
1605 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
1606 (ENDIAN_SPEC): New.
1607 (EXTRA_SPECS): New.
1608 * config/tilegx/tilegx.md (extv): Handle big endian.
1609 (extzv): Ditto.
1610 (insn_st<n>): Ditto.
1611 (insn_st<n>_add<bitsuffix>): Ditto.
1612 (insn_stnt<n>): Ditto.
1613 (insn_stnt<n>_add<bitsuffix>):Ditto.
1614 (vec_interleave_highv8qi): Handle big endian.
1615 (vec_interleave_highv8qi_be): New.
1616 (vec_interleave_highv8qi_le): New.
1617 (insn_v1int_h): Handle big endian.
1618 (vec_interleave_lowv8qi): Handle big endian.
1619 (vec_interleave_lowv8qi_be): New.
1620 (vec_interleave_lowv8qi_le): New.
1621 (insn_v1int_l): Handle big endian.
1622 (vec_interleave_highv4hi): Handle big endian.
1623 (vec_interleave_highv4hi_be): New.
1624 (vec_interleave_highv4hi_le): New.
1625 (insn_v2int_h): Handle big endian.
1626 (vec_interleave_lowv4hi): Handle big endian.
1627 (vec_interleave_lowv4hi_be): New.
1628 (vec_interleave_lowv4hi_le): New.
1629 (insn_v2int_l): Handle big endian.
1630 (vec_interleave_highv2si): Handle big endian.
1631 (vec_interleave_highv2si_be): New.
1632 (vec_interleave_highv2si_le): New.
1633 (insn_v4int_h): Handle big endian.
1634 (vec_interleave_lowv2si): Handle big endian.
1635 (vec_interleave_lowv2si_be): New.
1636 (vec_interleave_lowv2si_le): New.
1637 (insn_v4int_l): Handle big endian.
1638 * config/tilegx/tilegx.opt (mbig-endian): New option.
1639 (mlittle-endian): New option.
1640 * doc/install.texi: Document tilegxbe-linux.
1641 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
1642
f3fec19f
MJ
16432014-02-24 Martin Jambor <mjambor@suse.cz>
1644
1645 PR ipa/60266
1646 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
1647 there are no parameter descriptors.
1648
9039622a
AB
16492014-02-24 Andrey Belevantsev <abel@ispras.ru>
1650
1651 PR rtl-optimization/60268
1652 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
1653 initialization to ...
1654 (sched_rgn_init): ... here.
1655 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
1656
e7e7bc4b
DH
16572014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
1658
9039622a
AB
1659 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
1660 names.
e7e7bc4b 1661
8011ccca
ME
16622014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
1663
1664 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
1665 definition.
1666
c332c7df
DH
16672014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
1668
84d7e312
UB
1669 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
1670 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 1671
d5a19af1
DH
16722014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
1673
1674 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 1675 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 1676 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 1677 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
1678 to microblaze_expand_conditional_branch and consolidate logic.
1679 (microblaze_expand_conditional_branch): emit branch_compare
1680 insn instead of handling cmp op separate from branch insn.
1681
34c25d23
BS
16822014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1683
1684 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
1685 to permit subregs.
1686
a6eecdc1
BS
16872014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1688
d5a19af1
DH
1689 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
1690 define_insn with define_expand and new define_insn
1691 *altivec_lve<VI_char>x_internal.
1692 (altivec_stve<VI_char>x): Replace define_insn with define_expand
1693 and new define_insn *altivec_stve<VI_char>x_internal.
1694 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
1695 prototype.
1696 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
1697 lve*x built-ins.
1698 (altivec_expand_stvex_be): New function.
a6eecdc1 1699
8aa7d1fc
JR
17002014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
1701
1702 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 1703 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
1704 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
1705 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
1706
a810ee82
VM
17072014-02-21 Vladimir Makarov <vmakarov@redhat.com>
1708
1709 PR target/60298
1710 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
1711 instead of emit_move_insn.
1712
b90ab1ba
BS
17132014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1714
1715 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
1716 vspltw with vsldoi.
1717 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
1718 gen_altivec_vsumsws.
1719
1af73690
WS
17202014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1721
1722 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 1723 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
1724 (altivec_lvxl_<mode>): New define_expand incorporating
1725 -maltivec=be semantics where needed.
1726 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
1727 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
1728 semantics where needed.
1729 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
1730 (altivec_stvx_<mode>): New define_expand incorporating
1731 -maltivec=be semantics where needed.
1732 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
1733 VM2 iterator instead of V4SI.
1734 (altivec_stvxl_<mode>): New define_expand incorporating
1735 -maltivec=be semantics where needed.
1736 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
1737 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
1738 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
1739 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
1740 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
1741 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
1742 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
1743 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
1744 ALTIVEC_BUILTIN_STVXL.
84d7e312 1745 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
1746 (altivec_expand_stvx_be): Likewise.
1747 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
1748 (altivec_expand_lvx_be): Likewise.
1749 (altivec_expand_stvx_be): Likewise.
1750 (altivec_expand_builtin): Add cases for
1751 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
1752 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
1753 (altivec_init_builtins): Add definitions for
1754 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 1755 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 1756
0a39d07b
CM
17572014-02-21 Catherine Moore <clm@codesourcery.com>
1758
1759 * doc/invoke.texi (mvirt, mno-virt): Document.
1760 * config/mips/mips.opt (mvirt): New option.
1761 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
1762
f2556b68
RB
17632014-02-21 Richard Biener <rguenther@suse.de>
1764
1765 PR tree-optimization/60276
1766 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
1767 (STMT_VINFO_MIN_NEG_DIST): New macro.
1768 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
1769 STMT_VINFO_MIN_NEG_DIST.
1770 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
1771 made for negative dependence distances still hold.
1772
32417082
RB
17732014-02-21 Richard Biener <rguenther@suse.de>
1774
1775 PR middle-end/60291
1776 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
1777 DECL_INITIAL for globals not in the current function context.
1778
92261ce0
JJ
17792014-02-21 Jakub Jelinek <jakub@redhat.com>
1780
1781 PR tree-optimization/56490
1782 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
1783 * tree-ssa-uninit.c: Include params.h.
1784 (compute_control_dep_chain): Add num_calls argument, return false
1785 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
1786 num_calls to recursive call.
1787 (find_predicates): Change dep_chain into normal array,
1788 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
1789 variable and adjust compute_control_dep_chain caller.
1790 (find_def_preds): Likewise.
1791
aa6ef874
TS
17922014-02-21 Thomas Schwinge <thomas@codesourcery.com>
1793
1794 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
1795 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
1796
4b156fd0
NC
17972014-02-21 Nick Clifton <nickc@redhat.com>
1798
1799 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
1800 (pushhi1): Likewise.
1801 (popqi1): Add mode to pre_dec.
1802 (pophi1): Likewise.
1803
dffd569e
JJ
18042014-02-21 Jakub Jelinek <jakub@redhat.com>
1805
1806 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
1807 mode for mask of V8SFmode permutation.
1808
2fdc29e8
RH
18092014-02-20 Richard Henderson <rth@redhat.com>
1810
1811 PR c++/60272
1812 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
1813 a new pseudo for OLDVAL.
1814
aa637f66
JJ
18152014-02-20 Jakub Jelinek <jakub@redhat.com>
1816
1817 PR target/57896
1818 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
1819 gen_reg_rtx if d->testing_p.
1820 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
1821 if d->testing_p and we will certainly return true.
1822 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
1823 if d->testing_p.
1824
004a7e45
UB
18252014-02-20 Uros Bizjak <ubizjak@gmail.com>
1826
1827 * emit-rtl.c (gen_reg_rtx): Assert that
1828 crtl->emit.regno_pointer_align_length is non-zero.
1829
18302014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
1831
1832 PR c++/60272
1833 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
1834 on failure the store back into EXPECT.
1835
95ce7613
CLT
18362014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
1837 Sandra Loosemore <sandra@codesourcery.com>
1838
1839 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
1840 * config/nios2/nios2.c (nios2_function_profiler): Add
1841 -fPIC (flag_pic == 2) support.
95ce7613
CLT
1842 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
1843 (nios2_large_offset_p): New function.
1844 (nios2_unspec_reloc_p): Move up position, update to use
1845 nios2_large_offset_p.
1846 (nios2_unspec_address): Remove function.
1847 (nios2_unspec_offset): New function.
1848 (nios2_large_got_address): New function.
1849 (nios2_got_address): Add large offset support.
1850 (nios2_legitimize_tls_address): Update usage of removed and new
1851 functions.
1852 (nios2_symbol_binds_local_p): New function.
1853 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
1854 (nios2_legitimize_address): Update to use nios2_large_offset_p.
1855 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
1856 (nios2_print_operand): Merge H/L processing, add hiadj/lo
1857 processing for (const (unspec ...)).
1858 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
1859
efd2d3c8
RB
18602014-02-20 Richard Biener <rguenther@suse.de>
1861
1862 * tree-cfg.c (replace_uses_by): Mark altered BBs before
1863 doing the substitution.
004a7e45 1864 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 1865
9576e7b1
MJ
18662014-02-20 Martin Jambor <mjambor@suse.cz>
1867
1868 PR ipa/55260
1869 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
1870 info when checking whether lattices are bottom.
1871
25fe40b0
RB
18722014-02-20 Richard Biener <rguenther@suse.de>
1873
1874 PR middle-end/60221
1875 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
1876 regions at -O0.
1877
bd936951
JH
18782014-02-20 Jan Hubicka <hubicka@ucw.cz>
1879
1880 PR ipa/58555
004a7e45
UB
1881 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
1882 parameter specifying the scaling.
bd936951
JH
1883 (inline_call): Update.
1884 (want_inline_recursively): Guard division by zero.
1885 (recursive_inlining): Update.
1886 * ipa-inline.h (clone_inlined_nodes): Update.
1887
3c898e1a
IT
18882014-02-20 Ilya Tocar <ilya.tocar@intel.com>
1889
1890 PR target/60204
1891 * config/i386/i386.c (classify_argument): Pass structures of size
1892 64 bytes or less in register.
1893
df62b4af 18942014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 1895 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
1896
1897 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
1898 (_mm_rcp28_round_ss): Ditto.
1899 (_mm_rsqrt28_round_sd): Ditto.
1900 (_mm_rsqrt28_round_ss): Ditto.
1901 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
1902 (_mm_rcp14_round_ss): Ditto.
1903 (_mm_rsqrt14_round_sd): Ditto.
1904 (_mm_rsqrt14_round_ss): Ditto.
1905 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
1906 the first input operand, get rid of match_dup.
1907 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
1908 attribute to sse.
1909 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
1910 Ditto.
1911 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
1912 operand as the first input operand, set type attribute.
1913 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
1914 Set type attribute.
1915 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
1916 operand as the first input operand, set type attribute.
1917
9254148e
BS
19182014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1919
1920 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
1921 bit of zero.
1922
fff91793
L
19232014-02-19 H.J. Lu <hongjiu.lu@intel.com>
1924
1925 PR target/60207
1926 * config/i386/i386.c (construct_container): Remove TFmode check
1927 for X86_64_INTEGER_CLASS.
1928
6aa5b4b8
UB
19292014-02-19 Uros Bizjak <ubizjak@gmail.com>
1930
1931 PR target/59794
1932 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
1933 only when -Wpsabi is enabled.
1934
aadc1c43
MHD
19352014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
1936
1937 PR target/59799
1938 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
1939 passing arrays in registers are the same as for structs, so remove the
1940 special case for them.
1941
322913f8
EB
19422014-02-19 Eric Botcazou <ebotcazou@adacore.com>
1943
1944 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
1945 destination type, extract only the valid bits if the source type is not
1946 integral and has a different mode.
1947
fd9710dc
RB
19482014-02-19 Richard Biener <rguenther@suse.de>
1949
1950 PR ipa/60243
1951 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
1952 for all calls.
1953
4df65a85
RB
19542014-02-19 Richard Biener <rguenther@suse.de>
1955
1956 PR ipa/60243
1957 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
1958 (ipa_modify_call_arguments): Emit an argument load explicitely and
1959 preserve virtual SSA form there and for the replacement call.
1960 Do not update SSA form nor free dominance info.
1961
7fea98d8
JH
19622014-02-18 Jan Hubicka <hubicka@ucw.cz>
1963
1964 * ipa.c (function_and_variable_visibility): Also clear WEAK
1965 flag when disolving COMDAT_GROUP.
1966
0a2550e7
JH
19672014-02-18 Jan Hubicka <hubicka@ucw.cz>
1968
1969 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
1970 * ipa-prop.c (ipa_set_jf_known_type): Return early when
1971 not devirtualizing.
1972 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
1973 do more sanity checks.
1974 (detect_type_change): Return true when giving up early.
1975 (compute_complex_assign_jump_func): Fix type parameter of
1976 ipa_set_ancestor_jf.
1977 (compute_complex_ancestor_jump_func): Likewise.
1978 (update_jump_functions_after_inlining): Fix updating of
1979 ancestor function.
6aa5b4b8 1980 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 1981
2dbe8b70
JH
19822014-02-18 Jan Hubicka <hubicka@ucw.cz>
1983
1984 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
1985 inline clones when edge disappears.
1986
b9809dc4
MM
19872014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
1988
1989 PR target/60203
1990 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
1991 Split 64-bit moves into 2 patterns. Do not allow the use of
1992 direct move for TDmode in little endian, since the decimal value
1993 has little endian bytes within a word, but the 64-bit pieces are
1994 ordered in a big endian fashion, and normal subreg's of TDmode are
1995 not allowed.
1996 (mov<mode>_64bit_dm): Likewise.
1997 (movtd_64bit_nodm): Likewise.
1998
bababbfb
EB
19992014-02-18 Eric Botcazou <ebotcazou@adacore.com>
2000
2001 PR tree-optimization/60174
2002 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
2003 statement of an SSA_NAME that occurs in an abnormal PHI node.
2004
70aacc97
JJ
20052014-02-18 Jakub Jelinek <jakub@redhat.com>
2006
2007 PR sanitizer/60142
2008 * final.c (SEEN_BB): Remove.
2009 (SEEN_NOTE, SEEN_EMITTED): Renumber.
2010 (final_scan_insn): Don't force_source_line on second
2011 NOTE_INSN_BASIC_BLOCK.
2012
223cdd15
UB
20132014-02-18 Uros Bizjak <ubizjak@gmail.com>
2014
2015 PR target/60205
2016 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
2017 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
2018 (type_natural_mode): Warn ABI change when %zmm register is not
2019 available for AVX512F vector value passing.
2020
48810be0
KT
20212014-02-18 Kai Tietz <ktietz@redhat.com>
2022
2023 PR target/60193
223cdd15
UB
2024 * config/i386/i386.c (ix86_expand_prologue): Use value in
2025 rax register as displacement when restoring %r10 or %rax.
2026 Fix wrong offset when restoring both registers.
48810be0 2027
20afe640
EB
20282014-02-18 Eric Botcazou <ebotcazou@adacore.com>
2029
2030 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
2031 assertion with conditional return.
2032
d0b50387
JJ
20332014-02-18 Jakub Jelinek <jakub@redhat.com>
2034 Uros Bizjak <ubizjak@gmail.com>
2035
2036 PR driver/60233
2037 * config/i386/driver-i386.c (host_detect_local_cpu): If
2038 YMM state is not saved by the OS, also clear has_f16c. Move
2039 CPUID 0x80000001 handling before YMM state saving checking.
2040
c4cd7435
AB
20412014-02-18 Andrey Belevantsev <abel@ispras.ru>
2042
2043 PR rtl-optimization/58960
2044 * haifa-sched.c (alloc_global_sched_pressure_data): New,
2045 factored out from ...
2046 (sched_init): ... here.
2047 (free_global_sched_pressure_data): New, factored out from ...
2048 (sched_finish): ... here.
2049 * sched-int.h (free_global_sched_pressure_data): Declare.
2050 * sched-rgn.c (nr_regions_initial): New static global.
2051 (haifa_find_rgns): Initialize it.
2052 (schedule_region): Disable sched-pressure for the newly
2053 generated regions.
2054
f0281fde
RB
20552014-02-17 Richard Biener <rguenther@suse.de>
2056
2057 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
2058 release SSA defs of pattern stmts.
2059
c742772c
RB
20602014-02-17 Richard Biener <rguenther@suse.de>
2061
2062 * tree-inline.c (expand_call_inline): Release the virtual
2063 operand defined by the call we are about to inline.
2064
0492158e
RB
20652014-02-17 Richard Biener <rguenther@suse.de>
2066
2067 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
2068
583a9919
KY
20692014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
2070 Ilya Tocar <ilya.tocar@intel.com>
2071
2072 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
2073 arguments order in builtin.
2074 (_mm512_permutexvar_epi64): Ditto.
2075 (_mm512_mask_permutexvar_epi64): Ditto
2076 (_mm512_maskz_permutexvar_epi32): Ditto
2077 (_mm512_permutexvar_epi32): Ditto
2078 (_mm512_mask_permutexvar_epi32): Ditto
2079
d737743f
BS
20802014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2081
223cdd15 2082 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
2083 (p8_vmrgow): Likewise.
2084
54c4bfd7
BS
20852014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2086
2087 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
2088 endian targets.
2089
518fea64
MM
20902014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
2091
2092 PR target/60203
2093 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
2094 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
2095 into 64-bit and 32-bit moves. On 64-bit moves, add support for
2096 using direct move instructions on ISA 2.07. Also adjust
2097 instruction length for 64-bit.
2098 (mov<mode>_64bit, TFmode/TDmode): Likewise.
2099 (mov<mode>_32bit, TFmode/TDmode): Likewise.
2100
61640916
AM
21012014-02-15 Alan Modra <amodra@gmail.com>
2102
2103 PR target/58675
2104 PR target/57935
2105 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
2106 find_replacement on parts of insn rtl that might be reloaded.
2107
a2b33cc3
RB
21082014-02-15 Richard Biener <rguenther@suse.de>
2109
2110 PR tree-optimization/60183
223cdd15 2111 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
2112 (tree_ssa_phiprop): Calculate and free post-dominators.
2113
059742a4
JL
21142014-02-14 Jeff Law <law@redhat.com>
2115
2116 PR rtl-optimization/60131
2117 * ree.c (get_extended_src_reg): New function.
223cdd15 2118 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
2119 (find_and_remove_re): Verify first operand of extension is
2120 a REG before adding the insns to the copy list.
2121
88f7c49a
RM
21222014-02-14 Roland McGrath <mcgrathr@google.com>
2123
2124 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
2125 * configure: Regenerated.
2126 * config.in: Regenerated.
2127 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
2128 instead of ASM_SHORT.
2129
2ae577fd
VM
21302014-02-14 Vladimir Makarov <vmakarov@redhat.com>
2131 Richard Earnshaw <rearnsha@arm.com>
2132
2133 PR rtl-optimization/59535
2134 * lra-constraints.c (process_alt_operands): Encourage alternative
2135 when unassigned pseudo class is superset of the alternative class.
2136 (inherit_reload_reg): Don't inherit when optimizing for code size.
2137 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
2138 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
2139 modes not less than 4 for Thumb1.
2140
5d88af08
KM
21412014-02-14 Kyle McMartin <kyle@redhat.com>
2142
2143 PR pch/60010
2144 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
2145
3069b421
RB
21462014-02-14 Richard Biener <rguenther@suse.de>
2147
2148 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
2149 (get_frame_arg): Drop the assert with langhook types_compatible_p.
2150 Do not strip INDIRECT_REFs.
2151
1966fd99
RB
21522014-02-14 Richard Biener <rguenther@suse.de>
2153
2154 PR lto/60179
2155 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
2156 DECL_FUNCTION_SPECIFIC_TARGET.
2157 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
2158 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 2159 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
2160 (write_ts_function_decl_tree_pointers): Do not stream
2161 DECL_FUNCTION_SPECIFIC_TARGET.
2162 * tree-streamer-in.c (unpack_ts_target_option): Remove.
2163 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
2164 (lto_input_ts_function_decl_tree_pointers): Do not stream
2165 DECL_FUNCTION_SPECIFIC_TARGET.
2166
b010d601
JJ
21672014-02-14 Jakub Jelinek <jakub@redhat.com>
2168
223cdd15 2169 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
2170 (get_initial_def_for_induction, vectorizable_induction): Ignore
2171 debug stmts when looking for exit_phi.
2172 (vectorizable_live_operation): Fix up condition.
2173
f2dafb91
CJW
21742014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
2175
2176 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
2177 nreverse() because it changes the content of original tree list.
2178
59043e75
CJW
21792014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
2180
2181 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
2182 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
2183
810f736f
CJW
21842014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
2185
2186 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
2187 GNU coding standards.
2188
1a025bbf
JJ
21892014-02-13 Jakub Jelinek <jakub@redhat.com>
2190
2191 PR debug/60152
2192 * dwarf2out.c (gen_subprogram_die): Don't call
2193 add_calling_convention_attribute if subr_die is old_die.
2194
69479ebd
SS
21952014-02-13 Sharad Singhai <singhai@google.com>
2196
2197 * doc/optinfo.texi: Fix order of nodes.
2198
1287ae50
UB
21992014-02-13 Uros Bizjak <ubizjak@gmail.com>
2200
2201 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
2202 operands[2], not operands[3].
2203
43372236
RB
22042014-02-13 Richard Biener <rguenther@suse.de>
2205
2206 PR bootstrap/59878
2207 * doc/install.texi (ISL): Update recommended version to 0.12.2,
2208 mention the possibility of an in-tree build.
2209 (CLooG): Update recommended version to 0.18.1, mention the
2210 possibility of an in-tree build and clarify that the ISL
2211 bundled with CLooG does not work.
2212
a4d70cfa
JJ
22132014-02-13 Jakub Jelinek <jakub@redhat.com>
2214
2215 PR target/43546
2216 * expr.c (compress_float_constant): If x is a hard register,
2217 extend into a pseudo and then move to x.
2218
e697d119
DV
22192014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
2220
2221 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
2222 caused by bad second argument to warning_at() with -mhotpatch and
2223 nested functions (e.g. with gfortran).
2224
9f8da907
RS
22252014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
2226
2227 * opts.c (option_name): Remove "enabled by default" rider.
2228
0fdd1196
JDA
22292014-02-12 John David Anglin <danglin@gcc.gnu.org>
2230
2231 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
2232
0544c448
L
22332014-02-12 H.J. Lu <hongjiu.lu@intel.com>
2234 Uros Bizjak <ubizjak@gmail.com>
2235
2236 PR target/60151
1287ae50 2237 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
2238 * configure: Regenerated.
2239
3a938d75
RB
22402014-02-12 Richard Biener <rguenther@suse.de>
2241
2242 * vec.c (vec_prefix::calculate_allocation): Move as
2243 inline variant to vec.h.
2244 (vec_prefix::calculate_allocation_1): New out-of-line version.
2245 * vec.h (vec_prefix::calculate_allocation_1): Declare.
2246 (vec_prefix::m_has_auto_buf): Rename to ...
2247 (vec_prefix::m_using_auto_storage): ... this.
2248 (vec_prefix::calculate_allocation): Inline the easy cases
2249 and dispatch to calculate_allocation_1 which doesn't need the
2250 prefix address.
2251 (va_heap::reserve): Use gcc_checking_assert.
2252 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
2253 m_using_auto_storage.
2254 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
2255 member and adjust.
2256 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
2257 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
2258 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
2259
ad0188be
RB
22602014-02-12 Richard Biener <rguenther@suse.de>
2261
2262 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
2263 when we found a dependence.
2264
64e5ace5
TS
22652014-02-12 Thomas Schwinge <thomas@codesourcery.com>
2266
88ac13da
TS
2267 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
2268 common code...
2269 (maybe_fold_stmt): ... into this new function.
2270 * omp-low.c (lower_omp): Update comment.
2271
bae729a2
TS
2272 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
2273 last use.
2274
64e5ace5
TS
2275 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
2276 dereference.
2277
7b40f5cf
JG
22782014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
2279
2280 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
2281 identifiers in comments.
2282 (cortexa53_extra_costs): Likewise.
1287ae50 2283 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
2284 (cortexa7_extra_costs): Likewise.
2285 (cortexa12_extra_costs): Likewise.
2286 (cortexa15_extra_costs): Likewise.
2287 (v7m_extra_costs): Likewise.
2288
c4c8514e
RB
22892014-02-12 Richard Biener <rguenther@suse.de>
2290
2291 PR middle-end/60092
2292 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
2293 of posix_memalign being successful.
2294 (lower_stmt): Restrict lowering of posix_memalign to when
2295 -ftree-bit-ccp is enabled.
2296
8eb651bd
SKS
22972014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2298
2299 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
2300 arg_loc.
2301 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
2302
62b03553
EB
23032014-02-12 Eric Botcazou <ebotcazou@adacore.com>
2304
2305 PR rtl-optimization/60116
2306 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
2307 other_insn once the combination has been validated.
2308
ec77d61f
JH
23092014-02-11 Jan Hubicka <hubicka@ucw.cz>
2310
2311 PR lto/59468
2312 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
2313 and wrapper.
2314 * ipa-devirt.c: Include demangle.h
2315 (odr_violation_reported): New static variable.
2316 (add_type_duplicate): Update odr_violations.
2317 (maybe_record_node): Add completep parameter; update it.
2318 (record_target_from_binfo): Add COMPLETEP parameter;
2319 update it as needed.
2320 (possible_polymorphic_call_targets_1): Likewise.
2321 (struct polymorphic_call_target_d): Add nonconstruction_targets;
2322 rename FINAL to COMPLETE.
2323 (record_targets_from_bases): Sanity check we found the binfo;
2324 fix COMPLETEP updating.
2325 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
2326 parameter, fix computing of COMPLETEP.
1287ae50
UB
2327 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
2328 at LTO time do demangling.
ec77d61f
JH
2329 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
2330 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
2331 parameter.
2332 (gimple_get_virt_method_for_binfo): Likewise.
2333 * gimple-fold.h (gimple_get_virt_method_for_binfo,
2334 gimple_get_virt_method_for_vtable): Update prototypes.
2335
5a4dcd9b
VM
23362014-02-11 Vladimir Makarov <vmakarov@redhat.com>
2337
2338 PR target/49008
2339 * genautomata.c (add_presence_absence): Fix typo with
2340 {final_}presence_list.
2341
69b7afed
MM
23422014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2343
2344 PR target/60137
2345 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
2346 for VSX/Altivec vectors that land in GPR registers.
2347
8268ad5c
JJ
23482014-02-11 Richard Henderson <rth@redhat.com>
2349 Jakub Jelinek <jakub@redhat.com>
2350
2351 PR debug/59776
2352 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
2353 around drhs if type conversion to lacc->type is not useless.
2354
4fd92af6
KT
23552014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2356
2357 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
2358 tuning struct.
2359 (cortex-a57.cortex-a53): Likewise.
2360 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
2361
7cb14cb8
KT
23622014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2363
2364 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
2365 arm_restrict_it.
2366
6d3715b9
RL
23672014-02-11 Renlin Li <Renlin.Li@arm.com>
2368
2369 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
2370 add_options_for_arm_vfp3.
2371
cddddfff
JL
23722014-02-11 Jeff Law <law@redhat.com>
2373
2374 PR middle-end/54041
2375 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
2376 object with an undesirable mode.
2377
7c1aef7e
RO
23782014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2379
2380 PR libgomp/60107
2381 * config/i386/sol2-9.h: New file.
2382 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
2383 *-*-solaris2.9*): Use it.
2384
d63f1311
NM
23852014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
2386
2387 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
2388 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
2389
23902014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
2391
2392 * config/microblaze/microblaze.c: Extend mcpu version format
2393
9b5414c6
DH
23942014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
2395
2396 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
2397
004a7e45 23982014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
2399
2400 PR target/59927
2401 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
2402 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
2403 ms-abi vs -mno-accumulate-outgoing-args.
2404 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
2405 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
2406 respect to ms-abi.
2407
e2fc3b4f
BE
24082014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
2409
2410 PR middle-end/60080
2411 * cfgexpand.c (expand_asm_operands): Attach source location to
2412 ASM_INPUT rtx objects.
2413 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
2414
3a22ad89
NC
24152014-02-10 Nick Clifton <nickc@redhat.com>
2416
2417 * config/mn10300/mn10300.c (popcount): New function.
2418 (mn10300_expand_prologue): Include saved registers in stack usage
2419 count.
2420
f27be550
JL
24212014-02-10 Jeff Law <law@redhat.com>
2422
2423 PR middle-end/52306
2424 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 2425 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 2426
e15e3815
UW
24272014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2428
2429 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
2430 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
2431 -mcall-openbsd, or -mcall-linux.
2432 (CC1_ENDIAN_BIG_SPEC): Remove.
2433 (CC1_ENDIAN_LITTLE_SPEC): Remove.
2434 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
2435 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
2436 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
2437 and %cc1_endian_default.
2438 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
2439
4e1f39e4
RB
24402014-02-10 Richard Biener <rguenther@suse.de>
2441
2442 PR tree-optimization/60115
2443 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
2444 MEM_REF handling. Properly verify that the accesses are not
2445 out of the objects bound.
2446
e7af1c22
KT
24472014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2448
2449 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
2450 coretex to cortex.
2451
79c7de84
EB
24522014-02-10 Eric Botcazou <ebotcazou@adacore.com>
2453
2454 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
2455 proper constants and fix formatting.
2456 (possible_polymorphic_call_targets): Fix formatting.
2457
cf73ee60
KY
24582014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
2459 Ilya Tocar <ilya.tocar@intel.com>
2460
2461 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
2462 (_mm512_loadu_epi32): Renamed into...
2463 (_mm512_loadu_si512): This.
2464 (_mm512_storeu_epi32): Renamed into...
2465 (_mm512_storeu_si512): This.
2466 (_mm512_maskz_ceil_ps): Removed.
2467 (_mm512_maskz_ceil_pd): Ditto.
2468 (_mm512_maskz_floor_ps): Ditto.
2469 (_mm512_maskz_floor_pd): Ditto.
2470 (_mm512_floor_round_ps): Ditto.
2471 (_mm512_floor_round_pd): Ditto.
2472 (_mm512_ceil_round_ps): Ditto.
2473 (_mm512_ceil_round_pd): Ditto.
2474 (_mm512_mask_floor_round_ps): Ditto.
2475 (_mm512_mask_floor_round_pd): Ditto.
2476 (_mm512_mask_ceil_round_ps): Ditto.
2477 (_mm512_mask_ceil_round_pd): Ditto.
2478 (_mm512_maskz_floor_round_ps): Ditto.
2479 (_mm512_maskz_floor_round_pd): Ditto.
2480 (_mm512_maskz_ceil_round_ps): Ditto.
2481 (_mm512_maskz_ceil_round_pd): Ditto.
2482 (_mm512_expand_pd): Ditto.
2483 (_mm512_expand_ps): Ditto.
2484 * config/i386/i386.c (ix86_builtins): Remove
2485 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
2486 (bdesc_args): Ditto.
2487 * config/i386/predicates.md (const1256_operand): New.
2488 (const_1_to_2_operand): Ditto.
2489 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
2490 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
2491 (*avx512pf_gatherpf<mode>sf): Ditto.
2492 (avx512pf_gatherpf<mode>df): Ditto.
2493 (*avx512pf_gatherpf<mode>df_mask): Ditto.
2494 (*avx512pf_gatherpf<mode>df): Ditto.
2495 (avx512pf_scatterpf<mode>sf): Ditto.
2496 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2497 (*avx512pf_scatterpf<mode>sf): Ditto.
2498 (avx512pf_scatterpf<mode>df): Ditto.
2499 (*avx512pf_scatterpf<mode>df_mask): Ditto.
2500 (*avx512pf_scatterpf<mode>df): Ditto.
2501 (avx512f_expand<mode>): Removed.
2502 (<shift_insn><mode>3<mask_name>): Change predicate type.
2503
8fcbce72
JJ
25042014-02-08 Jakub Jelinek <jakub@redhat.com>
2505
41475e96
JJ
2506 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
2507 not at the end of datarefs vector use ordered_remove to avoid
2508 reordering datarefs vector.
2509
c74559df
JJ
2510 PR c/59984
2511 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
2512 mark local addressable non-static vars as GOVD_PRIVATE
2513 instead of GOVD_LOCAL.
2514 * omp-low.c (lower_omp_for): Move gimple_bind_vars
2515 and BLOCK_VARS of gimple_bind_block to new_stmt rather
2516 than copying them.
2517
8fcbce72
JJ
2518 PR middle-end/60092
2519 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
2520 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
2521 assume_aligned or alloc_align attributes.
2522 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
2523 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
2524 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
2525 calls to functions with assume_aligned or alloc_align attributes.
2526 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 2527
451bdd23
TG
25282014-02-08 Terry Guo <terry.guo@arm.com>
2529
2530 * doc/invoke.texi: Document ARM -march=armv7e-m.
2531
d31d42c7
JJ
25322014-02-08 Jakub Jelinek <jakub@redhat.com>
2533
d71dfeb7
JJ
2534 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
2535 flag on __cilkrts_rethrow builtin.
2536
d31d42c7
JJ
2537 PR ipa/60026
2538 * ipa-cp.c (determine_versionability): Fail at -O0
2539 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
2540 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
2541
2542 Revert:
2543 2014-02-04 Jakub Jelinek <jakub@redhat.com>
2544
2545 PR ipa/60026
2546 * tree-inline.c (copy_forbidden): Fail for
2547 __attribute__((optimize (0))) functions.
2548
a0a98fef
JH
25492014-02-07 Jan Hubicka <hubicka@ucw.cz>
2550
2551 * varpool.c: Include pointer-set.h.
2552 (varpool_remove_unreferenced_decls): Variables in other partitions
2553 will not be output; be however careful to not lose information
2554 about partitioning.
2555
8c311b50
JH
25562014-02-07 Jan Hubicka <hubicka@ucw.cz>
2557
2558 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
2559 lookup in the vtable constructor.
2560
7ba03e5e
JL
25612014-02-07 Jeff Law <law@redhat.com>
2562
63e6247d
JL
2563 PR target/40977
2564 * config/m68k/m68k.md (ashldi_extsi): Turn into a
2565 define_insn_and_split.
2566
7ba03e5e
JL
2567 * ipa-inline.c (inline_small_functions): Fix typos.
2568
177bc204
RS
25692014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2570
2571 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
2572 (s390_can_use_return_insn): Declare.
2573 * config/s390/s390.h (EPILOGUE_USES): Define.
2574 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
2575 instructions.
2576 (s390_chunkify_start): Handle return JUMP_LABELs.
2577 (s390_early_mach): Emit a main_pool instruction on the entry edge.
2578 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
2579 (s390_can_use_return_insn): New functions.
2580 (s390_fix_long_loop_prediction): Handle conditional returns.
2581 (TARGET_SET_UP_BY_PROLOGUE): Define.
2582 * config/s390/s390.md (ANY_RETURN): New code iterator.
2583 (*creturn, *csimple_return, return, simple_return): New patterns.
2584
0621cf3c
RS
25852014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2586
2587 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
2588 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
2589 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
2590 REG_CFA_RESTORE list when deciding not to restore a register.
2591
4099494d
RS
25922014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2593
2594 * config/s390/s390.c: Include tree-pass.h and context.h.
2595 (s390_early_mach): New function, split out from...
2596 (s390_emit_prologue): ...here.
2597 (pass_data_s390_early_mach): New pass structure.
2598 (pass_s390_early_mach): New class.
2599 (s390_option_override): Create and register early_mach pass.
2600 Move to end of file.
2601
3489cc33
RS
26022014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2603
2604 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
2605 to match for the exit block.
2606
75cc21e2
AK
26072014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2608
2609 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
2610 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
2611 Reject misaligned operands.
2612
8bd7070a
AK
26132014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2614
1287ae50 2615 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 2616
831806cb
RB
26172014-02-07 Richard Biener <rguenther@suse.de>
2618
2619 PR middle-end/60092
2620 * gimple-low.c (lower_builtin_posix_memalign): New function.
2621 (lower_stmt): Call it to lower posix_memalign in a way
2622 to make alignment info accessible.
2623
7ee9c16f
JJ
26242014-02-07 Jakub Jelinek <jakub@redhat.com>
2625
2626 PR c++/60082
2627 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
2628 __builtin_setjmp_receiver.
2629
32cab212
RB
26302014-02-07 Richard Biener <rguenther@suse.de>
2631
2632 PR middle-end/60092
2633 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
2634 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
2635 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2636 Handle BUILT_IN_POSIX_MEMALIGN.
2637 (find_func_clobbers): Likewise.
2638 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
2639 (call_may_clobber_ref_p_1): Likewise.
2640
6d6af792
JH
26412014-02-06 Jan Hubicka <hubicka@ucw.cz>
2642
2643 PR ipa/59918
1287ae50
UB
2644 * ipa-devirt.c (record_target_from_binfo): Remove overactive
2645 sanity check.
6d6af792 2646
3c0f1105
JH
26472014-02-06 Jan Hubicka <hubicka@ucw.cz>
2648
2649 PR ipa/59469
2650 * lto-cgraph.c (lto_output_node): Use
2651 symtab_get_symbol_partitioning_class.
2652 (lto_output_varpool_node): likewise.
2653 (symtab_get_symbol_partitioning_class): Move here from
2654 lto/lto-partition.c
2655 * cgraph.h (symbol_partitioning_class): Likewise.
2656 (symtab_get_symbol_partitioning_class): Declare.
2657
b3bb0eb9
JH
26582014-02-06 Jan Hubicka <hubicka@ucw.cz>
2659
2660 * ggc.h (ggc_internal_cleared_alloc): New macro.
2661 * vec.h (vec_safe_copy): Handle memory stats.
2662 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
2663 * target-globals.c (save_target_globals): Likewise.
2664
26652014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
2666
2667 PR target/60077
2668 * expr.c (emit_move_resolve_push): Export; be bit more selective
2669 on when to clear alias set.
2670 * expr.h (emit_move_resolve_push): Declare.
2671 * function.h (struct function): Add tail_call_marked.
2672 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
2673 * config/i386/i386-protos.h (ix86_expand_push): Remove.
2674 * config/i386/i386.md (TImode move expander): De not call
2675 ix86_expand_push.
2676 (FP push expanders): Preserve memory attributes.
2677 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 2678 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
2679 (ix86_expand_push): Remove.
2680 * config/i386/mmx.md (push<mode>1): Remove.
2681
47d552eb
JJ
26822014-02-06 Jakub Jelinek <jakub@redhat.com>
2683
2684 PR rtl-optimization/60030
2685 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
2686 lopart with paradoxical subreg before shifting it up by hprec.
2687
45c75ea7
KT
26882014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2689
2690 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
2691 Remove extra newline at end of file.
2692 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
2693 (arm_issue_rate): Handle cortexa57.
2694 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
2695 (cortex-a57.cortex-a53): Likewise.
2696
af116cae
JJ
26972014-02-06 Jakub Jelinek <jakub@redhat.com>
2698
652a3e3a
JJ
2699 PR target/59575
2700 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
2701 don't record in REG_FRAME_RELATED_EXPR registers not set in that
2702 bitmask.
2703 (arm_expand_prologue): Adjust all callers.
2704 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
2705 info, registers also at the lowest numbered registers side. Use
2706 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
2707 XEXP.
2708
af116cae 2709 PR debug/59992
1287ae50
UB
2710 * var-tracking.c (adjust_mems): Before adding a SET to
2711 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 2712
fdcee33b
AM
27132014-02-06 Alan Modra <amodra@gmail.com>
2714
2715 PR target/60032
2716 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
2717 change SDmode to DDmode when lra_in_progress.
2718
251901a0
JJ
27192014-02-06 Jakub Jelinek <jakub@redhat.com>
2720
d3ef8c53
JJ
2721 PR middle-end/59150
2722 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
2723 free_data_ref on the dr first, and before goto again also set dr
2724 to the next dr. For simd_lane_access, free old datarefs[i] before
2725 overwriting it. For get_vectype_for_scalar_type failure, don't
2726 free_data_ref if simd_lane_access.
2727
2754b38f
JJ
2728 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
2729
251901a0
JJ
2730 PR target/60062
2731 * tree.h (opts_for_fn): New inline function.
2732 (opt_for_fn): Define.
2733 * config/i386/i386.c (ix86_function_regparm): Use
2734 opt_for_fn (decl, optimize) instead of optimize.
2735
4a985a37
MS
27362014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
2737
2738 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
2739 for SYMBOL_REF in large memory model.
2740
c366d38c
KT
27412014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2742
2743 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
2744 and crypto support.
2745 (cortex-a57): Likewise.
2746 (cortex-a57.cortex-a53): Likewise.
2747
c801e246
YG
27482014-02-06 Yury Gribov <y.gribov@samsung.com>
2749 Kugan Vivekanandarajah <kuganv@linaro.org>
2750
2751 * config/arm/arm.c (arm_vector_alignment_reachable): Check
2752 unaligned_access.
2753 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
2754
d50f7b84
RB
27552014-02-06 Richard Biener <rguenther@suse.de>
2756
2757 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
2758 set_loop_copy and initialize_original_copy_tables.
2759
179d2941
AV
27602014-02-06 Alex Velenko <Alex.Velenko@arm.com>
2761
2762 * config/aarch64/aarch64-simd.md
2763 (aarch64_ashr_simddi): Change QI to SI.
2764
78b1469d
JH
27652014-02-05 Jan Hubicka <hubicka@ucw.cz>
2766 Jakub Jelinek <jakub@redhat.com>
2767
2768 PR middle-end/60013
2769 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
2770 of the dataflow.
2771
d85f364c
BS
27722014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2773
2774 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
2775 CODE_FOR_altivec_vpku[hw]um to
2776 CODE_FOR_altivec_vpku[hw]um_direct.
2777 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
2778 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
2779 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
2780 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
2781
7b1cd427
BS
27822014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2783
2784 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
2785 generation for -maltivec=be.
2786 (altivec_vsumsws): Simplify redundant test.
2787
52a93551
BS
27882014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2789
2790 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
2791 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
2792 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
2793 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
2794 gen_altivec_vpkuwum.
2795 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
2796 BYTES_BIG_ENDIAN.
2797 (altivec_vpks<VI_char>ss): Likewise.
2798 (altivec_vpks<VI_char>us): Likewise.
2799 (altivec_vpku<VI_char>us): Likewise.
2800 (altivec_vpku<VI_char>um): Likewise.
2801 (altivec_vpku<VI_char>um_direct): New (copy of
2802 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
2803 internal use).
2804 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
2805 target is little endian and -maltivec=be is not specified.
2806 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 2807 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
2808 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
2809 target is little endian and -maltivec=be is not specified.
2810 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 2811 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
2812 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
2813 little endian and -maltivec=be is not specified.
2814 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
2815 little endian and -maltivec=be is not specified.
2816
004a7e45 28172014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
2818
2819 PR debug/52727
2820 * combine-stack-adj.c: Revert r206943.
2821 * sched-int.h (struct deps_desc): Add last_args_size.
2822 * sched-deps.c (init_deps): Initialize it.
2823 (sched_analyze_insn): Add OUTPUT dependencies between insns that
2824 contain REG_ARGS_SIZE notes.
2825
f300e7b8
JH
28262014-02-05 Jan Hubicka <hubicka@ucw.cz>
2827
2828 * lto-cgraph.c (asm_nodes_output): Make global.
2829 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 2830 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
2831 (driver_handle_option): Handle OPT_fwpa.
2832
609524d2
JJ
28332014-02-05 Jakub Jelinek <jakub@redhat.com>
2834
add5c763
JJ
2835 PR ipa/59947
2836 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
2837 a comment typo and formatting issue. If odr_hash hasn't been
2838 created, return vNULL and set *completep to false.
2839
609524d2
JJ
2840 PR middle-end/57499
2841 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
2842 bb with no successors.
2843
05ab6e21
JG
28442014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
2845
2846 PR target/59718
2847 * doc/invoke.texi (-march): Clarify documentation for ARM.
2848 (-mtune): Likewise.
2849 (-mcpu): Likewise.
2850
d55d9ed0
RB
28512014-02-05 Richard Biener <rguenther@suse.de>
2852
2853 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
2854 when not vectorizing because of too many alias checks.
2855 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
2856 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
2857
c70da878
NC
28582014-02-05 Nick Clifton <nickc@redhat.com>
2859
2860 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 2861 accept extended registers in any mode when compiling for the MN10300.
c70da878 2862
25a07c7e
YG
28632014-02-05 Yury Gribov <y.gribov@samsung.com>
2864
2865 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
2866 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
2867 sanitization attributes.
2868 (can_inline_edge_p): Likewise.
2869 (sanitize_attrs_match_for_inline_p): New function.
2870
4bf2a588
JH
28712014-02-04 Jan Hubicka <hubicka@ucw.cz>
2872
2873 * ipa-prop.c (detect_type_change): Shor circuit testing of
2874 type changes on THIS pointer.
2875
d92f4df0
JDA
28762014-02-04 John David Anglin <danglin@gcc.gnu.org>
2877
2878 PR target/59777
2879 * config/pa/pa.c (legitimize_tls_address): Return original address
2880 if not passed a SYMBOL_REF rtx.
2881 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
2882 addresses.
2883 (pa_emit_move_sequence): Simplify TLS source operands.
2884 (pa_legitimate_constant_p): Reject all TLS constants.
2885 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
2886 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
2887
d665f8dd
JH
28882014-02-04 Jan Hubicka <hubicka@ucw.cz>
2889
2890 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
2891 groups when we know they are controlled by LTO.
2892 * varasm.c (default_binds_local_p_1): If object is in other partition,
2893 it will be resolved locally.
2894
6a071860
BE
28952014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
2896
e2fc3b4f 2897 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 2898 use SSIZE_MAX because it is not always defined.
6a071860 2899
8e9d68a9
VM
29002014-02-04 Vladimir Makarov <vmakarov@redhat.com>
2901
2902 PR bootstrap/59913
2903 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
2904 threshold for pseudo splitting.
2905 (update_ebb_live_info): Process call argument hard registers and
2906 hard registers from insn definition too.
2907 (max_small_class_regs_num): New constant.
2908 (inherit_in_ebb): Update live hard regs through EBBs. Update
2909 reloads_num only for small register classes. Don't split for
2910 outputs of jumps.
2911
8472fa80
MT
29122014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
2913
2914 PR ipa/60058
2915 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
2916 is non-null.
2917
df98e37f
JH
29182014-02-04 Jan Hubicka <hubicka@ucw.cz>
2919
1287ae50
UB
2920 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
2921 visibility is safe.
df98e37f 2922
71e55f04
MP
29232014-02-04 Marek Polacek <polacek@redhat.com>
2924
2925 * gdbinit.in (pel): Define.
2926
229e56f9
BE
29272014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
2928
2929 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
2930 behavior.
2931
c39276b8
RB
29322014-02-04 Richard Biener <rguenther@suse.de>
2933
2934 PR lto/59723
2935 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
2936 in function context local.
2937 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
2938 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
2939 similar to LTO_imported_decl_ref.
2940
66b3ed5f
JJ
29412014-02-04 Jakub Jelinek <jakub@redhat.com>
2942
029ce7a2
JJ
2943 PR tree-optimization/60002
2944 * cgraphclones.c (build_function_decl_skip_args): Clear
2945 DECL_LANG_SPECIFIC.
2946
8e91d222
JJ
2947 PR tree-optimization/60023
2948 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
2949 false to gsi_replace.
2950 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
2951 has been in some EH region and vec_stmt could throw, add
2952 vec_stmt into the same EH region.
2953 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
2954 has no lhs, ignore it.
2955 * internal-fn.c (expand_MASK_LOAD): Likewise.
2956
eb259c4a
JJ
2957 PR ipa/60026
2958 * tree-inline.c (copy_forbidden): Fail for
2959 __attribute__((optimize (0))) functions.
2960
92d05580
JJ
2961 PR other/58712
2962 * omp-low.c (simd_clone_struct_copy): If from->inbranch
2963 is set, copy one less argument.
30540e79
JJ
2964 (expand_simd_clones): Don't subtract clone_info->inbranch
2965 from simd_clone_struct_alloc argument.
92d05580 2966
be3afd67
JJ
2967 PR rtl-optimization/57915
2968 * recog.c (simplify_while_replacing): If all unary/binary/relational
2969 operation arguments are constant, attempt to simplify those.
2970
66b3ed5f
JJ
2971 PR middle-end/59261
2972 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
2973 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
2974
5961d779
RB
29752014-02-04 Richard Biener <rguenther@suse.de>
2976
2977 PR tree-optimization/60012
2978 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
2979 TBAA disambiguation to all DDRs.
2980
91da0481
RO
29812014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2982
2983 PR target/59788
2984 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
2985 (LINK_SPEC): Use it for -shared, -shared-libgcc.
2986
39960d1c
JH
29872014-02-03 Jan Hubicka <hubicka@ucw.cz>
2988
2989 PR ipa/59882
2990 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
2991
29922014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
2993
2994 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
2995 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
2996
39960d1c 29972014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
2998
2999 PR ipa/59831
3000 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
3001 to figure out targets of polymorphic calls with known decl.
3002 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
3003 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
3004 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
3005 (get_polymorphic_call_info): ... here.
3006 (get_polymorphic_call_info_from_invariant): New function.
3007
39960d1c 30082014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
3009
3010 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
3011 lookup via vtable pointer; check for type consistency
3012 and turn inconsitent facts into UNREACHABLE.
3013 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
3014 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
3015 type inconsistent querries; return UNREACHABLE instead.
9de2f554 3016
ade3ff24
RH
30172014-02-03 Richard Henderson <rth@twiddle.net>
3018
3019 PR tree-opt/59924
3020 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
3021 already processed this node.
3022 (normalize_one_pred_1): Pass along mark_set.
3023 (normalize_one_pred): Create and destroy a pointer_set_t.
3024 (normalize_one_pred_chain): Likewise.
3025
55428cc3
LA
30262014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
3027
3028 PR gcov-profile/58602
1287ae50 3029 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 3030
85942f45
JH
30312014-02-03 Jan Hubicka <hubicka@ucw.cz>
3032
3033 PR ipa/59831
1287ae50
UB
3034 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
3035 -fno-devirtualize; try to devirtualize by the knowledge of
3036 virtual table pointer given by aggregate propagation.
85942f45 3037 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 3038 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
3039 is relevant for polymorphic calls.
3040 (determine_known_aggregate_parts): Add arg_type parameter; use it
3041 instead of determining the type from pointer type.
3042 (ipa_compute_jump_functions_for_edge): Update call of
3043 determine_known_aggregate_parts.
3044 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
3045 (gimple_get_virt_method_for_binfo): ... here; simplify using
3046 vtable_pointer_value_to_vtable.
3047 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
3048 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 3049 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
3050 (vtable_pointer_value_to_vtable): Break out from ...; handle also
3051 POINTER_PLUS_EXPR.
3052 (vtable_pointer_value_to_binfo): ... here.
3053 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
3054
bddc974e
TJ
30552014-02-03 Teresa Johnson <tejohnson@google.com>
3056
3057 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
3058 redef of outer loop index variable.
3059
5d77fb19
MG
30602014-02-03 Marc Glisse <marc.glisse@inria.fr>
3061
3062 PR c++/53017
3063 PR c++/59211
3064 * doc/extend.texi (Function Attributes): Typo.
3065
cf5b2be2
CH
30662014-02-03 Cong Hou <congh@google.com>
3067
3068 PR tree-optimization/60000
3069 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
3070 if the vectorized statement is a store. A store statement can only
3071 appear at the end of pattern statements.
3072
a2a1ddb5
L
30732014-02-03 H.J. Lu <hongjiu.lu@intel.com>
3074
3075 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
3076 (ix86_option_override_internal): Default long double to 64-bit for
3077 32-bit Bionic and to 128-bit for 64-bit Bionic.
3078
3079 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
3080 TARGET_LONG_DOUBLE_128 is true.
3081 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
3082
3083 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
3084 (mlong-double-64): Negate -mlong-double-128.
3085 (mlong-double-128): New option.
3086
3087 * config/i386/i386-c.c (ix86_target_macros): Define
3088 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
3089
3090 * doc/invoke.texi: Document -mlong-double-128.
3091
f742cf90
L
30922014-02-03 H.J. Lu <hongjiu.lu@intel.com>
3093
3094 PR rtl-optimization/60024
3095 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
3096
8f36fd30
MT
30972014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
3098
1287ae50 3099 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 3100
861ec4f3
AB
31012014-02-03 Andrey Belevantsev <abel@ispras.ru>
3102
3103 PR rtl-optimization/57662
3104 * sel-sched.c (code_motion_path_driver): Do not mark already not
3105 existing blocks in the visiting bitmap.
3106
fe08255d
AB
31072014-02-03 Andrey Belevantsev <abel@ispras.ru>
3108
3109 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
3110 on the insn being emitted.
3111
96d3a240
JG
31122014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
3113 Will Deacon <will.deacon@arm.com>
3114
3115 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
3116
9dd6c9f7
KT
31172014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3118
3119 * config/arm/arm-tables.opt: Regenerate.
3120
60331d00
BS
31212014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3122
3123 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
3124 for vector types other than V16QImode.
3125 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
3126 define_expand, and call altivec_expand_vec_perm_le when producing
3127 code with little endian element order.
3128 (*altivec_vperm_<mode>_internal): New insn having previous
3129 behavior of altivec_vperm_<mode>.
3130 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
3131 altivec_expand_vec_perm_le when producing code with little endian
3132 element order.
3133 (*altivec_vperm_<mode>_uns_internal): New insn having previous
3134 behavior of altivec_vperm_<mode>_uns.
3135
b80afde9
BS
31362014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3137
3138 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
3139 (altivec_vsumsws): Add handling for -maltivec=be with a little
3140 endian target.
3141 (altivec_vsumsws_direct): New.
3142 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
3143 gen_altivec_vsumsws.
3144
39960d1c 31452014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
3146
3147 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
3148 vtable_pointer_value_to_binfo): New functions.
3149 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
3150 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
3151
02b67731
SL
31522014-02-02 Sandra Loosemore <sandra@codesourcery.com>
3153
3154 * config/nios2/nios2.md (load_got_register): Initialize GOT
3155 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
3156 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
3157
2ace77c2
JH
31582014-02-02 Jan Hubicka <hubicka@ucw.cz>
3159
3160 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
3161 preserverd by passthrough, do not propagate the type.
3162
70b2d364
RS
31632014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
3164
3165 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
3166 (mips_atomic_assign_expand_fenv): New function.
3167 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
3168
a90c0245
RS
31692014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
3170
3171 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
3172 (__builtin_mips_set_fcsr): Likewise.
3173 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
3174 MIPS_USI_FTYPE_VOID.
3175 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
3176 (mips16_expand_set_fcsr): Likewise.
3177 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
3178 (mips16_set_fcsr_stub): Likewise.
3179 (mips16_get_fcsr_one_only_stub): New class.
3180 (mips16_set_fcsr_one_only_stub): Likewise.
3181 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
3182 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
3183 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
3184 (hard_float): New availability predicate.
3185 (mips_builtins): Add get_fcsr and set_fcsr.
3186 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
3187 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
3188 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
3189 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
3190 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
3191 patterns.
3192
6d51cc90
RS
31932014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
3194
3195 * config/mips/mips.c (mips_one_only_stub): New class.
3196 (mips_need_mips16_rdhwr_p): Replace with...
3197 (mips16_rdhwr_stub): ...this new variable.
3198 (mips16_stub_call_address): New function.
3199 (mips16_rdhwr_one_only_stub): New class.
3200 (mips_expand_thread_pointer): Use mips16_stub_call_address.
3201 (mips_output_mips16_rdhwr): Delete.
3202 (mips_finish_stub): New function.
3203 (mips_code_end): Use it to handle rdhwr stubs.
3204
6c90f137
UB
32052014-02-02 Uros Bizjak <ubizjak@gmail.com>
3206
3207 PR target/60017
3208 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
3209 when calculating size of integer atomic types.
3210
5e64bbbb
L
32112014-02-02 H.J. Lu <hongjiu.lu@intel.com>
3212
3213 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
3214
021293cb
JJ
32152014-02-01 Jakub Jelinek <jakub@redhat.com>
3216
3217 PR tree-optimization/60003
3218 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
3219 * profile.c (branch_prob): Use gimple_call_builtin_p
3220 to check for BUILT_IN_SETJMP_RECEIVER.
3221 * tree-inline.c (copy_bb): Call notice_special_calls.
3222
6334f3e9
VM
32232014-01-31 Vladimir Makarov <vmakarov@redhat.com>
3224
3225 PR bootstrap/59985
3226 * lra-constraints.c (process_alt_operands): Update reload_sum only
3227 on the first pass.
3228
efa7882f
RH
32292014-01-31 Richard Henderson <rth@redhat.com>
3230
3231 PR middle-end/60004
3232 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
3233 until after else_eh is processed.
3234
de72ea02
IT
32352014-01-31 Ilya Tocar <ilya.tocar@intel.com>
3236
3237 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
3238 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
3239 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
3240 in smmintrin.h, remove them.
3241 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
3242 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
3243 * config/i386/i386.md (ROUND_SAE): Fix value.
3244 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
3245 (const48_operand): New.
3246 * config/i386/subst.md (round), (round_expand): Use
3247 const_4_or_8_to_11_operand.
3248 (round_saeonly), (round_saeonly_expand): Use const48_operand.
3249
be792bce
IT
32502014-01-31 Ilya Tocar <ilya.tocar@intel.com>
3251
3252 * config/i386/constraints.md (Yk): Swap meaning with k.
3253 * config/i386/i386.md (movhi_internal): Change Yk to k.
3254 (movqi_internal): Ditto.
3255 (*k<logic><mode>): Ditto.
3256 (*andhi_1): Ditto.
3257 (*andqi_1): Ditto.
3258 (kandn<mode>): Ditto.
3259 (*<code>hi_1): Ditto.
3260 (*<code>qi_1): Ditto.
3261 (kxnor<mode>): Ditto.
3262 (kortestzhi): Ditto.
3263 (kortestchi): Ditto.
3264 (kunpckhi): Ditto.
3265 (*one_cmplhi2_1): Ditto.
3266 (*one_cmplqi2_1): Ditto.
3267 * config/i386/sse.md (): Change k to Yk.
3268 (avx512f_load<mode>_mask): Ditto.
3269 (avx512f_blendm<mode>): Ditto.
3270 (avx512f_store<mode>_mask): Ditto.
3271 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
3272 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
3273 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
3274 Ditto.
be792bce
IT
3275 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
3276 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
3277 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
3278 (avx512f_maskcmp<mode>3): Ditto.
3279 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
3280 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
3281 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
3282 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
3283 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
3284 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
3285 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
3286 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
3287 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
3288 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
3289 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
3290 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
3291 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
3292 (vec_extract_lo_<mode>_maskm): Ditto.
3293 (vec_extract_hi_<mode>_maskm): Ditto.
3294 (avx512f_vternlog<mode>_mask): Ditto.
3295 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
3296 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
3297 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
3298 (avx512f_<code>v8div16qi2_mask): Ditto.
3299 (avx512f_<code>v8div16qi2_mask_store): Ditto.
3300 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
3301 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
3302 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
3303 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
3304 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
3305 (*avx512pf_gatherpf<mode>df_mask): Ditto.
3306 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
3307 (*avx512pf_scatterpf<mode>df_mask): Ditto.
3308 (avx512cd_maskb_vec_dupv8di): Ditto.
3309 (avx512cd_maskw_vec_dupv16si): Ditto.
3310 (avx512f_vpermi2var<mode>3_maskz): Ditto.
3311 (avx512f_vpermi2var<mode>3_mask): Ditto.
3312 (avx512f_vpermi2var<mode>3_mask): Ditto.
3313 (avx512f_vpermt2var<mode>3_maskz): Ditto.
3314 (*avx512f_gathersi<mode>): Ditto.
3315 (*avx512f_gathersi<mode>_2): Ditto.
3316 (*avx512f_gatherdi<mode>): Ditto.
3317 (*avx512f_gatherdi<mode>_2): Ditto.
3318 (*avx512f_scattersi<mode>): Ditto.
3319 (*avx512f_scatterdi<mode>): Ditto.
3320 (avx512f_compress<mode>_mask): Ditto.
3321 (avx512f_compressstore<mode>_mask): Ditto.
3322 (avx512f_expand<mode>_mask): Ditto.
3323 * config/i386/subst.md (mask): Change k to Yk.
3324 (mask_scalar_merge): Ditto.
3325 (sd): Ditto.
3326
0878d68a
MG
33272014-01-31 Marc Glisse <marc.glisse@inria.fr>
3328
3329 * doc/extend.texi (Vector Extensions): Document ?: in C++.
3330
fdfd537b
RB
33312014-01-31 Richard Biener <rguenther@suse.de>
3332
3333 PR middle-end/59990
3334 * builtins.c (fold_builtin_memory_op): Make sure to not
3335 use a floating-point mode or a boolean or enumeral type for
3336 the copy operation.
3337
4f50b9ff
DD
33382014-01-30 DJ Delorie <dj@redhat.com>
3339
3340 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
3341 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
3342 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
3343 whenever main() has an epilogue.
3344
c3e96073
BS
33452014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3346
3347 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
3348 unused variable "field".
3349 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
3350 (vsx_mergeh_<mode>): Likewise.
3351 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
3352 (altivec_vmrghh): Likewise.
3353 (altivec_vmrghw): Likewise.
3354 (altivec_vmrglb): Likewise.
3355 (altivec_vmrglh): Likewise.
3356 (altivec_vmrglw): Likewise.
3357 (altivec_vspltb): Add missing uses.
3358 (altivec_vsplth): Likewise.
3359 (altivec_vspltw): Likewise.
3360 (altivec_vspltsf): Likewise.
3361
4bb9c32d
JJ
33622014-01-30 Jakub Jelinek <jakub@redhat.com>
3363
3364 PR target/59923
3365 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
3366 frame related instructions.
3367
7613fa50
VM
33682014-01-30 Vladimir Makarov <vmakarov@redhat.com>
3369
3370 PR rtl-optimization/59959
3371 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
3372 any reload of register whose subreg is invalid.
3373
6fb82517
JJ
33742014-01-30 Jakub Jelinek <jakub@redhat.com>
3375
33425d6c 3376 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
3377 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
3378 Add missing return type - void.
3379
bf53d4b8
BS
33802014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3381
3382 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
3383 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
3384 remove element index adjustment for endian (now handled in vsx.md
3385 and altivec.md).
3386 (altivec_expand_vec_perm_const): Use
3387 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
3388 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
3389 (vsx_xxspltw_<mode>): Adjust element index for little endian.
3390 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
3391 define_expand and a new define_insn *altivec_vspltb_internal;
3392 adjust for -maltivec=be on a little endian target.
3393 (altivec_vspltb_direct): New.
3394 (altivec_vsplth): Divide into a define_expand and a new
3395 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
3396 little endian target.
3397 (altivec_vsplth_direct): New.
3398 (altivec_vspltw): Divide into a define_expand and a new
3399 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
3400 little endian target.
3401 (altivec_vspltw_direct): New.
3402 (altivec_vspltsf): Divide into a define_expand and a new
3403 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
3404 a little endian target.
3405
c965e187
RB
34062014-01-30 Richard Biener <rguenther@suse.de>
3407
3408 PR tree-optimization/59993
3409 * tree-ssa-forwprop.c (associate_pointerplus): Check we
3410 can propagate form the earlier stmt and avoid the transform
3411 when the intermediate result is needed.
3412
ba117645
AD
34132014-01-30 Alangi Derick <alangiderick@gmail.com>
3414
3415 * README.Portability: Fix typo.
3416
29bd5728
DH
34172014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
3418
3419 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
3420 comparison_operator with ordered_comparison_operator.
3421
c345a0b1
NC
34222014-01-30 Nick Clifton <nickc@redhat.com>
3423
3424 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
3425 Rename to mn10300_store_multiple_regs.
3426 * config/mn10300/mn10300.c: Likewise.
3427 * config/mn10300/mn10300.md (store_movm): Fix typo: call
3428 store_multiple_regs.
3429 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
3430 Call mn10300_store_multiple_regs.
3431
2d70f6d4
NC
34322014-01-30 Nick Clifton <nickc@redhat.com>
3433 DJ Delorie <dj@redhat.com>
3434
3435 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
3436 %fp 2 to keep registers after it properly word-aligned.
3437 (rl78_alloc_physical_registers_umul): Handle the case where both
3438 input operands are the same.
3439
c972624e
RB
34402014-01-30 Richard Biener <rguenther@suse.de>
3441
3442 PR tree-optimization/59903
3443 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
3444 check properly.
3445
fc044323
JM
34462014-01-30 Jason Merrill <jason@redhat.com>
3447
404c2aea
JM
3448 PR c++/59633
3449 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
3450
fc044323
JM
3451 PR c++/59645
3452 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
3453
f30a0ba5
RB
34542014-01-30 Richard Biener <rguenther@suse.de>
3455
3456 PR tree-optimization/59951
33425d6c 3457 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 3458
aad8816f
SZ
34592014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
3460
3461 PR target/59784
3462 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
3463 SFmode to DFmode case.
3464
3b16363e
DD
34652014-01-29 DJ Delorie <dj@redhat.com>
3466
3467 * config/msp430/msp430.opt (-minrt): New.
3468 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
3469 if -minrt given.
3470 (ENDFILE_SPEC): Likewise.
3471
39960d1c 34722014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
3473
3474 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
3475 (estimate_function_body_sizes): Use it.
3476
1200933c
PC
34772014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
3478
3479 PR c++/58561
3480 * dwarf2out.c (is_cxx_auto): New.
3481 (is_base_type): Use it.
3482 (gen_type_die_with_usage): Likewise.
3483
68d3bacf
BS
34842014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3485
3486 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
3487 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
3488 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
3489 -maltivec=be with LE targets.
3490 (vsx_mergeh_<mode>): Likewise.
33425d6c 3491 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
3492 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
3493 (altivec_vmrghb): Replace with define_expand and new
33425d6c 3494 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
3495 (altivec_vmrghb_direct): New define_insn.
3496 (altivec_vmrghh): Replace with define_expand and new
33425d6c 3497 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
3498 (altivec_vmrghh_direct): New define_insn.
3499 (altivec_vmrghw): Replace with define_expand and new
33425d6c 3500 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
3501 (altivec_vmrghw_direct): New define_insn.
3502 (*altivec_vmrghsf): Adjust for endianness.
3503 (altivec_vmrglb): Replace with define_expand and new
33425d6c 3504 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
3505 (altivec_vmrglb_direct): New define_insn.
3506 (altivec_vmrglh): Replace with define_expand and new
33425d6c 3507 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
3508 (altivec_vmrglh_direct): New define_insn.
3509 (altivec_vmrglw): Replace with define_expand and new
33425d6c 3510 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
3511 (altivec_vmrglw_direct): New define_insn.
3512 (*altivec_vmrglsf): Adjust for endianness.
3513 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
3514 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
3515 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
3516 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
3517 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
3518 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
3519 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
3520 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
3521
aef66c94
MS
35222014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
3523
3524 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
3525 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
3526 whitespace.
3527
77574c35
RB
35282014-01-29 Richard Biener <rguenther@suse.de>
3529
3530 PR tree-optimization/58742
3531 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
3532 associate_pointerplus_align.
3533 (associate_pointerplus_diff): New function.
3534 (associate_pointerplus): Likewise. Call associate_pointerplus_align
3535 and associate_pointerplus_diff.
3536
15b25b24
RB
35372014-01-29 Richard Biener <rguenther@suse.de>
3538
3539 * lto-streamer.h (LTO_major_version): Bump to 3.
3540 (LTO_minor_version): Reset to 0.
3541
eb6006ad
RL
35422014-01-29 Renlin Li <Renlin.Li@arm.com>
3543
3544 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
3545 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
3546 (arm_file_start): Generate correct asm header for armv7ve.
3547 * config/arm/bpabi.h: Add multilib support for armv7ve.
3548 * config/arm/driver-arm.c: Change the architectures of cortex-a7
3549 and cortex-a15 to armv7ve.
3550 * config/arm/t-aprofile: Add multilib support for armv7ve.
3551 * doc/invoke.texi: Document -march=armv7ve.
3552
4bfb2fa2
RB
35532014-01-29 Richard Biener <rguenther@suse.de>
3554
3555 PR tree-optimization/58742
3556 * tree-ssa-forwprop.c (associate_plusminus): Return true
3557 if we changed sth, defer EH cleanup to ...
3558 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
3559 (simplify_mult): New function.
3560
42eb8bd1
JJ
35612014-01-29 Jakub Jelinek <jakub@redhat.com>
3562
09b22f48
JJ
3563 PR middle-end/59917
3564 PR tree-optimization/59920
3565 * tree.c (build_common_builtin_nodes): Remove
3566 __builtin_setjmp_dispatcher initialization.
3567 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
3568 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
3569 instead of gsi_after_labels + manually skipping debug stmts.
3570 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
3571 ignore bbs with IFN_ABNORMAL_DISPATCHER.
3572 * tree-inline.c (copy_edges_for_bb): Remove
3573 can_make_abnormal_goto argument, instead add abnormal_goto_dest
3574 argument. Ignore computed_goto_p stmts. Don't call
3575 make_abnormal_goto_edges. If a call might need abnormal edges
3576 for non-local gotos, see if it already has an edge to
3577 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
3578 with true argument, don't do anything then, otherwise add
3579 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
3580 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
3581 caller.
3582 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
3583 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
3584 (lower_stmt): Don't set data->calls_builtin_setjmp.
3585 (lower_builtin_setjmp): Adjust comment.
3586 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
3587 * tree-cfg.c (found_computed_goto): Remove.
3588 (factor_computed_gotos): Remove.
3589 (make_goto_expr_edges): Return bool, true for computed gotos.
3590 Don't call make_abnormal_goto_edges.
3591 (build_gimple_cfg): Don't set found_computed_goto, don't call
3592 factor_computed_gotos.
3593 (computed_goto_p): No longer static.
3594 (make_blocks): Don't set found_computed_goto.
3595 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
3596 (make_edges): If make_goto_expr_edges returns true, push bb
3597 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
3598 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
3599 vector. Record mapping between bbs and OpenMP regions if there
3600 are any, adjust make_gimple_omp_edges caller. Call
3601 handle_abnormal_edges.
3602 (make_abnormal_goto_edges): Remove.
3603 * tree-cfg.h (make_abnormal_goto_edges): Remove.
3604 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
3605 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 3606 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
3607 * internal-fn.def (ABNORMAL_DISPATCHER): New.
3608 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
3609 filling *region also set *region_idx to (*region)->entry->index.
3610
42eb8bd1
JJ
3611 PR other/58712
3612 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
3613 For REGs set ORIGINAL_REGNO.
3614
4a271b7e
BM
36152014-01-29 Bingfeng Mei <bmei@broadcom.com>
3616
33425d6c 3617 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
3618 vec_widen_(s|u)mul_even/odd pair if it is less efficient
3619 than hi/lo pair.
3620
3d54b29d
JJ
36212014-01-29 Jakub Jelinek <jakub@redhat.com>
3622
3623 PR tree-optimization/59594
3624 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
3625 a copy of the datarefs vector rather than the vector itself.
3626
2e5e7103
JM
36272014-01-28 Jason Merrill <jason@redhat.com>
3628
3629 PR c++/53756
3630 * dwarf2out.c (auto_die): New static.
3631 (gen_type_die_with_usage): Handle C++1y 'auto'.
3632 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
3633 on definition.
3634
d5d618b5
L
36352014-01-28 H.J. Lu <hongjiu.lu@intel.com>
3636
3637 PR target/59672
3638 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
3639 (SPEC_X32): Likewise.
3640 (SPEC_64): Likewise.
3641 * config/i386/i386.c (ix86_option_override_internal): Turn off
3642 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
3643 for TARGET_16BIT.
3644 (x86_file_start): Output .code16gcc for TARGET_16BIT.
3645 * config/i386/i386.h (TARGET_16BIT): New macro.
3646 (TARGET_16BIT_P): Likewise.
3647 * config/i386/i386.opt: Add m16.
3648 * doc/invoke.texi: Document -m16.
3649
367c8286
DS
36502014-01-28 Jakub Jelinek <jakub@redhat.com>
3651
3652 PR preprocessor/59935
3653 * input.c (location_get_source_line): Bail out on when line number
33425d6c 3654 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 3655
07ec81f9
RB
36562014-01-28 Richard Biener <rguenther@suse.de>
3657
3658 PR tree-optimization/58742
3659 * tree-ssa-forwprop.c (associate_plusminus): Handle
3660 pointer subtraction of the form (T)(P + A) - (T)P.
3661
5facb998
KT
36622014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3663
3664 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
3665 at const_int_cost.
3666
e04faf24
RB
36672014-01-28 Richard Biener <rguenther@suse.de>
3668
3669 Revert
3670 2014-01-28 Richard Biener <rguenther@suse.de>
3671
3672 PR rtl-optimization/45364
3673 PR rtl-optimization/59890
3674 * var-tracking.c (local_get_addr_clear_given_value): Handle
3675 already cleared slot.
3676 (val_reset): Handle not allocated local_get_addr_cache.
3677 (vt_find_locations): Use post-order on the inverted CFG.
3678
6593260b
RB
36792014-01-28 Richard Biener <rguenther@suse.de>
3680
33425d6c 3681 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 3682
9ec2d2c1
RB
36832014-01-28 Richard Biener <rguenther@suse.de>
3684
3685 PR rtl-optimization/45364
3686 PR rtl-optimization/59890
3687 * var-tracking.c (local_get_addr_clear_given_value): Handle
3688 already cleared slot.
3689 (val_reset): Handle not allocated local_get_addr_cache.
3690 (vt_find_locations): Use post-order on the inverted CFG.
3691
2ceb362d
AM
36922014-01-28 Alan Modra <amodra@gmail.com>
3693
3694 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
3695 * configure.ac <recursive call for build != host>: Define
3696 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
3697 and LD_FOR_BUILD too.
3698 * configure: Regenerate.
3699
0ebe2584
ASJ
37002014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
3701
3702 * config/i386/i386.c (get_builtin_code_for_version): Separate
3703 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
3704 Broadwell from Haswell.
3705
a33fc7fe
SE
37062014-01-27 Steve Ellcey <sellcey@mips.com>
3707
3708 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
3709 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
3710 * config/mips/mips.c (mips_option_override): Change setting
3711 of TARGET_DSP.
3712 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
3713 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
3714 Change from Mask to Var.
a33fc7fe 3715
a99be3c9
JL
37162014-01-27 Jeff Law <law@redhat.com>
3717
3718 * ipa-inline.c (inline_small_functions): Fix typo.
3719
d256b866
IT
37202014-01-27 Ilya Tocar <ilya.tocar@intel.com>
3721
3722 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
3723 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
3724 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
3725 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
3726 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
3727 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
3728 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
3729 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
3730 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
3731 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
3732 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
3733 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
3734 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
3735 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
3736 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
3737 (_mm512_storeu_epi64): Ditto.
3738 (_mm512_cmpge_epi32_mask): Ditto.
3739 (_mm512_cmpge_epu32_mask): Ditto.
3740 (_mm512_cmpge_epi64_mask): Ditto.
3741 (_mm512_cmpge_epu64_mask): Ditto.
3742 (_mm512_cmple_epi32_mask): Ditto.
3743 (_mm512_cmple_epu32_mask): Ditto.
3744 (_mm512_cmple_epi64_mask): Ditto.
3745 (_mm512_cmple_epu64_mask): Ditto.
3746 (_mm512_cmplt_epi32_mask): Ditto.
3747 (_mm512_cmplt_epu32_mask): Ditto.
3748 (_mm512_cmplt_epi64_mask): Ditto.
3749 (_mm512_cmplt_epu64_mask): Ditto.
3750 (_mm512_cmpneq_epi32_mask): Ditto.
3751 (_mm512_cmpneq_epu32_mask): Ditto.
3752 (_mm512_cmpneq_epi64_mask): Ditto.
3753 (_mm512_cmpneq_epu64_mask): Ditto.
3754 (_mm512_expand_pd): Ditto.
3755 (_mm512_expand_ps): Ditto.
3756 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
3757 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
3758 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
3759 * config/i386/i386.c (ix86_builtins): Add
3760 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
3761 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
3762 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
3763 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
3764 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
3765 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
3766 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
3767 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
3768 IX86_BUILTIN_PMOVUSQW512_MEM.
3769 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
3770 __builtin_ia32_pmovsqd512mem_mask,
3771 __builtin_ia32_pmovqd512mem_mask,
3772 __builtin_ia32_pmovusqw512mem_mask,
3773 __builtin_ia32_pmovsqw512mem_mask,
3774 __builtin_ia32_pmovqw512mem_mask,
3775 __builtin_ia32_pmovusdw512mem_mask,
3776 __builtin_ia32_pmovsdw512mem_mask,
3777 __builtin_ia32_pmovdw512mem_mask,
3778 __builtin_ia32_pmovqb512mem_mask,
3779 __builtin_ia32_pmovusqb512mem_mask,
3780 __builtin_ia32_pmovsqb512mem_mask,
3781 __builtin_ia32_pmovusdb512mem_mask,
3782 __builtin_ia32_pmovsdb512mem_mask,
3783 __builtin_ia32_pmovdb512mem_mask.
3784 (bdesc_args): Add __builtin_ia32_expanddf512,
3785 __builtin_ia32_expandsf512.
3786 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
3787 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
3788 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
3789 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
3790 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
3791 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
3792 (avx512f_<code>v8div16qi2_mask_store): This.
3793 (avx512f_expand<mode>): New.
3794
e711dffd
KY
37952014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
3796
1287ae50 3797 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 3798 New.
e711dffd
KY
3799 (_mm512_mask_prefetch_i64gather_pd): Ditto.
3800 (_mm512_prefetch_i32scatter_pd): Ditto.
3801 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
3802 (_mm512_prefetch_i64scatter_pd): Ditto.
3803 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
3804 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
3805 (_mm512_mask_prefetch_i64gather_ps): Ditto.
3806 (_mm512_prefetch_i32scatter_ps): Ditto.
3807 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
3808 (_mm512_prefetch_i64scatter_ps): Ditto.
3809 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
3810 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
3811 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
3812 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
3813 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
3814 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
3815 IX86_BUILTIN_SCATTERPFQPD.
3816 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
3817 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
3818 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
3819 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
3820 __builtin_ia32_scatterpfqps.
3821 (ix86_expand_builtin): Expand new built-ins.
3822 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
3823 fix memory access data type.
3824 (*avx512pf_gatherpf<mode>_mask): Ditto.
3825 (*avx512pf_gatherpf<mode>): Ditto.
3826 (avx512pf_scatterpf<mode>): Ditto.
3827 (*avx512pf_scatterpf<mode>_mask): Ditto.
3828 (*avx512pf_scatterpf<mode>): Ditto.
3829 (GATHER_SCATTER_SF_MEM_MODE): New.
3830 (avx512pf_gatherpf<mode>df): Ditto.
3831 (*avx512pf_gatherpf<mode>df_mask): Ditto.
3832 (*avx512pf_scatterpf<mode>df): Ditto.
3833
904e5ccd
JJ
38342014-01-27 Jakub Jelinek <jakub@redhat.com>
3835
3836 PR bootstrap/59934
3837 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
3838 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
3839 reached.
3840
84e90123
JG
38412014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
3842
3843 * common/config/arm/arm-common.c
3844 (arm_rewrite_mcpu): Handle multiple names.
3845 * config/arm/arm.h
3846 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
3847
c6f6157a
JG
38482014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
3849
3850 * gimple-builder.h (create_gimple_tmp): Delete.
3851
770516c9
CB
38522014-01-27 Christian Bruel <christian.bruel@st.com>
3853
3854 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
3855 words comparisons.
3856
cc5cec10
JDA
38572014-01-26 John David Anglin <danglin@gcc.gnu.org>
3858
5aa3c762
JDA
3859 * config/pa/pa.md (call): Generate indirect long calls to non-local
3860 functions when outputing 32-bit code.
3861 (call_value): Likewise except for special call to buggy powf function.
3862
cc5cec10
JDA
3863 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
3864 portable runtime and PIC indirect calls.
3865 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
3866 and PIC call sequences. Use ldo instead of blr to set return register
3867 in PIC call sequence.
3868
6bb0e248
WL
38692014-01-25 Walter Lee <walt@tilera.com>
3870
3871 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
3872 avoid clobbering a live register.
3873
dab03fe3
WL
38742014-01-25 Walter Lee <walt@tilera.com>
3875
770516c9 3876 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 3877 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 3878 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
3879 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
3880
905c20c1
WL
38812014-01-25 Walter Lee <walt@tilera.com>
3882
3883 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
3884 arguments on even registers.
3885 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
3886 STACK_BOUNDARY.
3887 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
3888 (BIGGEST_ALIGNMENT): Ditto.
3889 (BIGGEST_FIELD_ALIGNMENT): Ditto.
3890
8e90a625
WL
38912014-01-25 Walter Lee <walt@tilera.com>
3892
3893 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
3894 insns before bundling.
0ebe2584 3895 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 3896
450c1ffe
WL
38972014-01-25 Walter Lee <walt@tilera.com>
3898
3899 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
3900 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
3901 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 3902
450c1ffe 39032014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 3904
317a951f
RS
3905 * config/mips/constraints.md (kl): Delete.
3906 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
3907 define expands, using...
3908 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
3909 instructions for MIPS16.
3910 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
3911 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
3912
3abe9053
WL
39132014-01-25 Walter Lee <walt@tilera.com>
3914
0ebe2584 3915 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
3916 (clzdi2): Ditto.
3917 (ffsdi2): Ditto.
3918
b0e0fe41
WL
39192014-01-25 Walter Lee <walt@tilera.com>
3920
3921 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
3922 (TARGET_EXPAND_TO_RTL_HOOK): Define.
3923
2c8798a2
RS
39242014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
3925
3926 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
3927 Handle XOR.
3928
2105be5a
JJ
39292014-01-25 Jakub Jelinek <jakub@redhat.com>
3930
4def6060
JJ
3931 * print-rtl.c (in_call_function_usage): New var.
3932 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
3933 EXPR_LIST mode as mode and not as reg note name.
3934
2105be5a
JJ
3935 PR middle-end/59561
3936 * cfgloopmanip.c (copy_loop_info): If
3937 loop->warned_aggressive_loop_optimizations, make sure
3938 the flag is set in target loop too.
3939
b72271b9
BI
39402014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
3941
3942 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
3943 flag_cilkplus.
3944 * builtins.def: Likewise.
3945 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
3946 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
3947 * ira.c (ira_setup_eliminable_regset): Likewise.
3948 * omp-low.c (gate_expand_omp): Likewise.
3949 (execute_lower_omp): Likewise.
3950 (diagnose_sb_0): Likewise.
3951 (gate_diagnose_omp_blocks): Likewise.
3952 (simd_clone_clauses_extract): Likewise.
3953 (gate): Likewise.
3954
8adcc78b
BS
39552014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3956
3957 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
3958 correction for little endian...
3959 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
3960 here.
3961
3d750496
JL
39622014-01-24 Jeff Law <law@redhat.com>
3963
3964 PR tree-optimization/59919
3965 * tree-vrp.c (find_assert_locations_1): Do not register asserts
3966 for non-returning calls.
3967
1c05df59
JG
39682014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
3969
3970 * common/config/aarch64/aarch64-common.c
3971 (aarch64_rewrite_mcpu): Handle multiple names.
3972 * config/aarch64/aarch64.h
3973 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
3974
317363b4
DS
39752014-01-24 Dodji Seketeli <dodji@redhat.com>
3976
3977 * input.c (add_file_to_cache_tab): Handle the case where fopen
3978 returns NULL.
3979
16370fa7
L
39802014-01-23 H.J. Lu <hongjiu.lu@intel.com>
3981
3982 PR target/59929
3983 * config/i386/i386.md (pushsf splitter): Get stack adjustment
3984 from push operand if code of push isn't PRE_DEC.
3985
b846c948
MM
39862014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
3987
3988 PR target/59909
3989 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3990 -mquad-memory-atomic. Update -mquad-memory documentation to say
3991 it is only used for non-atomic loads/stores.
3992
3993 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
3994 -mquad-memory or -mquad-memory-atomic switches.
3995
3996 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
3997 -mquad-memory-atomic to ISA 2.07 support.
3998
3999 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
4000 to separate support of normal quad word memory operations (ldq, stq)
4001 from the atomic quad word memory operations.
b846c948
MM
4002
4003 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
4004 support to separate non-atomic quad word operations from atomic
4005 quad word operations. Disable non-atomic quad word operations in
4006 little endian mode so that we don't have to swap words after the
4007 load and before the store.
4008 (quad_load_store_p): Add comment about atomic quad word support.
4009 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
4010 options printed with -mdebug=reg.
4011
4012 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
4013 -mquad-memory-atomic as the test for whether we have quad word
4014 atomic instructions.
0ebe2584
ASJ
4015 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
4016 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
4017
4018 * config/rs6000/sync.md (load_lockedti): Insure that the address
4019 is a proper indexed or indirect address for the lqarx instruction.
4020 On little endian systems, swap the hi/lo registers after the lqarx
4021 instruction.
4022 (load_lockedpti): Use indexed_or_indirect_operand predicate to
4023 insure the address is valid for the lqarx instruction.
4024 (store_conditionalti): Insure that the address is a proper indexed
4025 or indirect address for the stqcrx. instruction. On little endian
4026 systems, swap the hi/lo registers before doing the stqcrx.
4027 instruction.
4028 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
4029 insure the address is valid for the stqcrx. instruction.
4030
4031 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
4032 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
4033 type of quad memory support is available.
4034
6e23f296
VM
40352014-01-23 Vladimir Makarov <vmakarov@redhat.com>
4036
4037 PR regression/59915
4038 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
4039 there is a danger of looping.
4040
0a4f04e5
PH
40412014-01-23 Pat Haugen <pthaugen@us.ibm.com>
4042
4043 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
4044 force flag_ira_loop_pressure if set via command line.
4045
f9a4c9a6
AV
40462014-01-23 Alex Velenko <Alex.Velenko@arm.com>
4047
4048 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
4049 (ashr_simd): New builtin handling DI mode.
4050 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
4051 (aarch64_sshr_simddi): New match pattern.
4052 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
4053 (vshrd_n_s64): Likewise.
4054 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
4055
949ad971
NC
40562014-01-23 Nick Clifton <nickc@redhat.com>
4057
4058 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
4059 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
4060 favour of mcu specific scripts.
4061 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
4062 430x multilibs.
4063
d5ecead9
JG
40642014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
4065 Alex Velenko <Alex.Velenko@arm.com>
4066
4067 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
4068 (vaddv_s16): Likewise.
4069 (vaddv_s32): Likewise.
4070 (vaddv_u8): Likewise.
4071 (vaddv_u16): Likewise.
4072 (vaddv_u32): Likewise.
4073 (vaddvq_s8): Likewise.
4074 (vaddvq_s16): Likewise.
4075 (vaddvq_s32): Likewise.
4076 (vaddvq_s64): Likewise.
4077 (vaddvq_u8): Likewise.
4078 (vaddvq_u16): Likewise.
4079 (vaddvq_u32): Likewise.
4080 (vaddvq_u64): Likewise.
4081 (vaddv_f32): Likewise.
4082 (vaddvq_f32): Likewise.
4083 (vaddvq_f64): Likewise.
4084 (vmaxv_f32): Likewise.
4085 (vmaxv_s8): Likewise.
4086 (vmaxv_s16): Likewise.
4087 (vmaxv_s32): Likewise.
4088 (vmaxv_u8): Likewise.
4089 (vmaxv_u16): Likewise.
4090 (vmaxv_u32): Likewise.
4091 (vmaxvq_f32): Likewise.
4092 (vmaxvq_f64): Likewise.
4093 (vmaxvq_s8): Likewise.
4094 (vmaxvq_s16): Likewise.
4095 (vmaxvq_s32): Likewise.
4096 (vmaxvq_u8): Likewise.
4097 (vmaxvq_u16): Likewise.
4098 (vmaxvq_u32): Likewise.
4099 (vmaxnmv_f32): Likewise.
4100 (vmaxnmvq_f32): Likewise.
4101 (vmaxnmvq_f64): Likewise.
4102 (vminv_f32): Likewise.
4103 (vminv_s8): Likewise.
4104 (vminv_s16): Likewise.
4105 (vminv_s32): Likewise.
4106 (vminv_u8): Likewise.
4107 (vminv_u16): Likewise.
4108 (vminv_u32): Likewise.
4109 (vminvq_f32): Likewise.
4110 (vminvq_f64): Likewise.
4111 (vminvq_s8): Likewise.
4112 (vminvq_s16): Likewise.
4113 (vminvq_s32): Likewise.
4114 (vminvq_u8): Likewise.
4115 (vminvq_u16): Likewise.
4116 (vminvq_u32): Likewise.
4117 (vminnmv_f32): Likewise.
4118 (vminnmvq_f32): Likewise.
4119 (vminnmvq_f64): Likewise.
4120
1dd055a2
JG
41212014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
4122
4123 * config/aarch64/aarch64-simd.md
4124 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
4125 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
4126 (*aarch64_mul3_elt<mode>): Likewise.
4127 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
4128 (*aarch64_mul3_elt_to_64v2df): Likewise.
4129 (*aarch64_mla_elt<mode>): Likewise.
4130 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
4131 (*aarch64_mls_elt<mode>): Likewise.
4132 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
4133 (*aarch64_fma4_elt<mode>): Likewise.
4134 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
4135 (*aarch64_fma4_elt_to_64v2df): Likewise.
4136 (*aarch64_fnma4_elt<mode>): Likewise.
4137 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
4138 (*aarch64_fnma4_elt_to_64v2df): Likewise.
4139 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
4140 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
4141 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
4142 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
4143 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
4144 (aarch64_sqdmull_lane<mode>_internal): Likewise.
4145 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
4146
dafb9b64
AV
41472013-01-23 Alex Velenko <Alex.Velenko@arm.com>
4148
4149 * config/aarch64/aarch64-simd.md
4150 (aarch64_be_checked_get_lane<mode>): New define_expand.
4151 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 4152 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
4153 New builtin definition.
4154 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
4155 Use new safe be builtin.
4156
89b4515c
AV
41572014-01-23 Alex Velenko <Alex.Velenko@arm.com>
4158
4159 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
4160 New define_insn.
4161 (aarch64_be_st1<mode>): Likewise.
4162 (aarch_ld1<VALL:mode>): Define_expand modified.
4163 (aarch_st1<VALL:mode>): Likewise.
4164 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
4165 (UNSPEC_ST1): Likewise.
4166
f3eeb82c
DH
41672014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
4168
4169 * config/microblaze/microblaze.md: Add trap insn and attribute
4170
7ecc3eb9
DS
41712014-01-23 Dodji Seketeli <dodji@redhat.com>
4172
4173 PR preprocessor/58580
4174 * input.h (location_get_source_line): Take an additional line_size
4175 parameter.
4176 (void diagnostics_file_cache_fini): Declare new function.
4177 * input.c (struct fcache): New type.
4178 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
4179 New static constants.
4180 (diagnostic_file_cache_init, total_lines_num)
4181 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
4182 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
4183 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
4184 (get_next_line, read_next_line, goto_next_line, read_line_num):
4185 New static function definitions.
4186 (diagnostic_file_cache_fini): New function.
4187 (location_get_source_line): Take an additional output line_len
4188 parameter. Re-write using lookup_or_add_file_to_cache_tab and
4189 read_line_num.
4190 * diagnostic.c (diagnostic_finish): Call
4191 diagnostic_file_cache_fini.
4192 (adjust_line): Take an additional input parameter for the length
4193 of the line, rather than calculating it with strlen.
4194 (diagnostic_show_locus): Adjust the use of
4195 location_get_source_line and adjust_line with respect to their new
4196 signature. While displaying a line now, do not stop at the first
4197 null byte. Rather, display the zero byte as a space and keep
4198 going until we reach the size of the line.
4199 * Makefile.in: Add vec.o to OBJS-libcommon
4200
2196a885
KY
42012014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
4202 Ilya Tocar <ilya.tocar@intel.com>
4203
4204 * config/i386/avx512fintrin.h (_mm512_kmov): New.
4205 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
4206 (__builtin_ia32_kmov16): Ditto.
4207 * config/i386/i386.md (UNSPEC_KMOV): New.
4208 (kmovw): Ditto.
4209
70473c63
KY
42102014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
4211
4212 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
4213 (_mm512_storeu_si512): Ditto.
4214
f9ae4df8
RS
42152014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
4216
4217 PR target/52125
4218 * rtl.h (get_referenced_operands): Declare.
4219 * recog.c (get_referenced_operands): New function.
4220 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
4221 operands have been referenced when recording LO_SUM references.
4222
e50f5f2e
DH
42232014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
4224
4225 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
4226
39960d1c 42272014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
4228
4229 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
4230 Enable for generic and recent AMD targets.
4231
39960d1c 42322014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
4233
4234 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
4235 ARG_SIZE note when adjustment was eliminated.
4236
bb50b870
JL
42372014-01-22 Jeff Law <law@redhat.com>
4238
4239 PR tree-optimization/59597
4240 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
4241 in file. Accept new argument REGISTERING and use it to modify
4242 dump output appropriately.
4243 (register_jump_thread): Corresponding changes.
4244 (mark_threaded_blocks): Reinstate code to cancel unprofitable
4245 thread paths involving joiner blocks. Add code to dump cancelled
4246 jump threading paths.
4247
df2980be
VM
42482014-01-22 Vladimir Makarov <vmakarov@redhat.com>
4249
4250 PR rtl-optimization/59477
4251 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 4252 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 4253
1bb99900
TT
42542014-01-22 Tom Tromey <tromey@redhat.com>
4255
4256 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
4257 PARAMS.
4258 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
4259
9102dadd
VM
42602014-01-21 Vladimir Makarov <vmakarov@redhat.com>
4261
4262 PR rtl-optimization/59896
4263 * lra-constraints.c (process_alt_operands): Check unused note for
4264 matched operands of insn with no output reloads.
4265
ca376eb8
RS
42662014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
4267
4268 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
4269 (mips_move_from_gpr_cost): Likewise.
4270
a9711f36
VM
42712014-01-21 Vladimir Makarov <vmakarov@redhat.com>
4272
4273 PR rtl-optimization/59858
4274 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
4275 ira_class_hard_regs_num.
4276 (process_alt_operands): Increase reject for dying matched operand.
4277
f8ea7cb0
JJ
42782014-01-21 Jakub Jelinek <jakub@redhat.com>
4279
4280 PR target/59003
4281 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
4282 smaller than size, perform several stores or loads and stores
4283 at dst + count - size to store or copy all of size bytes, rather
4284 than just last modesize bytes.
4285
84db09e3
DD
42862014-01-20 DJ Delorie <dj@redhat.com>
4287
4288 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
4289 that CLOBBERs are REGs before propogating their values.
4290
1cf11770
L
42912014-01-20 H.J. Lu <hongjiu.lu@intel.com>
4292
4293 PR middle-end/59789
4294 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
4295 (cgraph_inline_failed_type): New function.
4296 * cgraph.h (DEFCIFCODE): Add type.
4297 (cgraph_inline_failed_type_t): New enum.
4298 (cgraph_inline_failed_type): New prototype.
4299 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
4300 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
4301 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
4302 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
4303 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
4304 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
4305 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 4306 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
4307 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
4308 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
4309 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
4310 OPTIMIZATION_MISMATCH.
4311 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 4312 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 4313
8586e4bd
UB
43142014-01-20 Uros Bizjak <ubizjak@gmail.com>
4315
4316 PR target/59685
4317 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
4318 mode attribute in insn output.
4319
99482090
EB
43202014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4321
4322 * output.h (output_constant): Delete.
4323 * varasm.c (output_constant): Make private.
4324
ede23272
AV
43252014-01-20 Alex Velenko <Alex.Velenko@arm.com>
4326
4327 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
4328
9a7eefec
JJ
43292014-01-20 Jakub Jelinek <jakub@redhat.com>
4330
4331 PR middle-end/59860
4332 * tree.h (fold_builtin_strcat): New prototype.
4333 * builtins.c (fold_builtin_strcat): No longer static. Add len
4334 argument, if non-NULL, don't call c_strlen. Optimize
4335 directly into __builtin_memcpy instead of __builtin_strcpy.
4336 (fold_builtin_2): Adjust fold_builtin_strcat caller.
4337 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
4338
3e729145
UB
43392014-01-20 Uros Bizjak <ubizjak@gmail.com>
4340
4341 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
4342 for SImode_address_operand operands, having only a REG argument.
4343
eee0e487
MS
43442014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
4345
4346 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
4347 loader name using mbig-endian.
4348 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
4349
9e540e37
JG
43502014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
4351
4352 * doc/invoke.texi (-march): Clarify documentation for AArch64.
4353 (-mtune): Likewise.
4354 (-mcpu): Likewise.
4355
69675d50
TB
43562014-01-20 Tejas Belagod <tejas.belagod@arm.com>
4357
4358 * config/aarch64/aarch64-protos.h
4359 (aarch64_cannot_change_mode_class_ptr): Declare.
4360 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
4361 aarch64_cannot_change_mode_class_ptr): New.
4362 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
4363 backend hook aarch64_cannot_change_mode_class.
4364
ffee7aa9
JG
43652014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
4366
4367 * common/config/aarch64/aarch64-common.c
4368 (aarch64_handle_option): Don't handle any option order logic here.
4369 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
4370 selected_cpu, warn on architecture version mismatch.
4371 (aarch64_override_options): Fix parsing order for option strings.
4372
c7169779
JBG
43732014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4374 Iain Sandoe <iain@codesourcery.com>
4375
4376 PR bootstrap/59496
4377 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
4378 warning. Amend comment to reflect current functionality.
4379
409b6ac1
RB
43802014-01-20 Richard Biener <rguenther@suse.de>
4381
4382 PR middle-end/59860
4383 * builtins.c (fold_builtin_strcat): Remove case better handled
4384 by tree-ssa-strlen.c.
4385
608df31f
AL
43862014-01-20 Alan Lawrence <alan.lawrence@arm.com>
4387
4388 * config/aarch64/aarch64.opt
4389 (mcpu, march, mtune): Make case-insensitive.
4390
0fabe5f3
JJ
43912014-01-20 Jakub Jelinek <jakub@redhat.com>
4392
4393 PR target/59880
4394 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
4395 if operands[1] is a REG or ZERO_EXTEND of a REG.
4396
39960d1c 43972014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
4398
4399 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
4400
925cb97d
JDA
44012014-01-19 John David Anglin <danglin@gcc.gnu.org>
4402
4403 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
4404 long non-pic millicode calls.
4405
f43856db
JBG
44062014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4407
4408 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
4409
d2be9965
ILT
44102014-01-19 Kito Cheng <kito@0xlab.org>
4411
4412 * builtins.c (expand_movstr): Check movstr expand done or fail.
4413
efc90043
UB
44142014-01-18 Uros Bizjak <ubizjak@gmail.com>
4415 H.J. Lu <hongjiu.lu@intel.com>
4416
4417 PR target/59379
4418 * config/i386/i386.md (*lea<mode>): Zero-extend return register
4419 to DImode for zero-extended addresses.
4420
8fce217e
JJ
44212014-01-19 Jakub Jelinek <jakub@redhat.com>
4422
4423 PR rtl-optimization/57763
4424 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
4425 on the new indirect jump_insn and increment LABEL_NUSES (label).
4426
efc90043 44272014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
4428
4429 PR bootstrap/59580
4430 PR bootstrap/59583
4431 * config.gcc (x86_archs): New variable.
4432 (x86_64_archs): Likewise.
4433 (x86_cpus): Likewise.
4434 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
4435 --with-arch/--with-cpu= options.
4436 Support --with-arch=/--with-cpu={nehalem,westmere,
4437 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
4438
7f3af6d3
UB
44392014-01-18 Uros Bizjak <ubizjak@gmail.com>
4440
4441 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
4442 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
4443
44442014-01-18 Uros Bizjak <ubizjak@gmail.com>
4445
4446 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
4447
fa5d6c75
JJ
44482014-01-18 Jakub Jelinek <jakub@redhat.com>
4449
4450 PR target/58944
4451 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
4452 clear cpp_get_options (parse_in)->warn_unused_macros for
4453 ix86_target_macros_internal with cpp_define.
4454
04da5680
RS
44552014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
4456
4457 * jump.c (delete_related_insns): Keep (use (insn))s.
4458 * reorg.c (redundant_insn): Check for barriers too.
4459
1e99bee5
L
44602014-01-17 H.J. Lu <hongjiu.lu@intel.com>
4461
7f3af6d3 4462 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 4463
fa7d0c60
JDA
44642014-01-17 John David Anglin <danglin@gcc.gnu.org>
4465
4466 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
4467 call to $$dyncall when TARGET_LONG_CALLS is true.
4468
2043135a
JL
44692014-01-17 Jeff Law <law@redhat.com>
4470
4471 * ree.c (combine_set_extension): Temporarily disable test for
4472 changing number of hard registers.
4473
39960d1c 44742014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
4475
4476 PR middle-end/58125
4477 * ipa-inline-analysis.c (inline_free_summary):
4478 Do not free summary of aliases.
4479
664ceb1e
JJ
44802014-01-17 Jakub Jelinek <jakub@redhat.com>
4481
4482 PR middle-end/59706
4483 * gimplify.c (gimplify_expr): Use create_tmp_var
4484 instead of create_tmp_var_raw. If cond doesn't have
4485 integral type, don't add the IFN_ANNOTATE builtin at all.
4486
aef83682
MJ
44872014-01-17 Martin Jambor <mjambor@suse.cz>
4488
4489 PR ipa/59736
4490 * ipa-cp.c (prev_edge_clone): New variable.
4491 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
4492 Also resize prev_edge_clone vector.
4493 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
4494 (ipcp_edge_removal_hook): New function.
4495 (ipcp_driver): Register ipcp_edge_removal_hook.
4496
3b9c787b
AP
44972014-01-17 Andrew Pinski <apinski@cavium.com>
4498 Steve Ellcey <sellcey@mips.com>
4499
4500 PR target/59462
4501 * config/mips/mips.c (mips_print_operand): Check operand mode instead
4502 of operator mode.
4503
4ee5c752
JL
45042014-01-17 Jeff Law <law@redhat.com>
4505
4506 PR middle-end/57904
4507 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
4508 so that pass_ccp runs first.
4509
40cfac7c
L
45102014-01-17 H.J. Lu <hongjiu.lu@intel.com>
4511
4512 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
4513 (ix86_adjust_cost): Use !TARGET_XXX.
4514 (do_reorder_for_imul): Likewise.
4515 (swap_top_of_ready_list): Likewise.
4516 (ix86_sched_reorder): Likewise.
4517
9a7f94d7
L
45182014-01-17 H.J. Lu <hongjiu.lu@intel.com>
4519
4520 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
4521 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
4522 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
4523 (intel_memset): New. Duplicate slm_memset.
4524 (intel_cost): New. Duplicate slm_cost.
4525 (m_INTEL): New macro.
4526 (processor_target_table): Add "intel".
4527 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
4528 with PROCESSOR_INTEL for "intel".
4529 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
4530 PROCESSOR_SILVERMONT.
9a7f94d7
L
4531 (ix86_issue_rate): Likewise.
4532 (ix86_adjust_cost): Likewise.
4533 (ia32_multipass_dfa_lookahead): Likewise.
4534 (swap_top_of_ready_list): Likewise.
4535 (ix86_sched_reorder): Likewise.
8cdcf750
L
4536 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
4537 instead of TARGET_OPT_AGU.
9a7f94d7
L
4538 * config/i386/i386.h (TARGET_INTEL): New.
4539 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
4540 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
4541 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
4542 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 4543
30078c0a
MP
45442014-01-17 Marek Polacek <polacek@redhat.com>
4545
4546 PR c/58346
4547 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
4548 size is zero.
4549
14379e66
RB
45502014-01-17 Richard Biener <rguenther@suse.de>
4551
4552 PR tree-optimization/46590
4553 * opts.c (default_options_table): Add entries for
4554 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
4555 all enabled at -O1 but not for -Og.
4556 * common.opt (fbranch-count-reg): Remove Init(1).
4557 (fmove-loop-invariants): Likewise.
4558 (ftree-pta): Likewise.
4559
f7d594d2
JJ
45602014-01-17 Jakub Jelinek <jakub@redhat.com>
4561
88e18bd5
JJ
4562 * config/i386/i386.c (ix86_data_alignment): For compatibility with
4563 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
4564 decls to at least the GCC 4.8 used alignments.
4565
f7d594d2
JJ
4566 PR fortran/59440
4567 * tree-nested.c (convert_nonlocal_reference_stmt,
4568 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
4569 of GIMPLE_BIND stmts, adjust associated decls.
4570
32500433
RB
45712014-01-17 Richard Biener <rguenther@suse.de>
4572
4573 PR tree-optimization/46590
4574 * vec.h (vec<>::bseach): New member function implementing
4575 binary search according to C89 bsearch.
4576 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
4577 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
4578 bitmap pointer again. Make accesses_in_loop a flat array.
4579 (mem_ref_obstack): New global.
4580 (outermost_indep_loop): Adjust for mem_ref->stored changes.
4581 (mark_ref_stored): Likewise.
4582 (ref_indep_loop_p_2): Likewise.
4583 (set_ref_stored_in_loop): New helper function.
4584 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
4585 (memref_free): Adjust.
4586 (record_mem_ref_loc): Simplify.
4587 (gather_mem_refs_stmt): Adjust.
4588 (sort_locs_in_loop_postorder_cmp): New function.
4589 (analyze_memory_references): Sort accesses_in_loop after
4590 loop postorder number.
4591 (find_ref_loc_in_loop_cmp): New function.
4592 (for_all_locs_in_loop): Find relevant cluster of locs in
4593 accesses_in_loop and iterate without recursion.
4594 (execute_sm): Avoid uninit warning.
4595 (struct ref_always_accessed): Simplify.
4596 (ref_always_accessed::operator ()): Likewise.
4597 (ref_always_accessed_p): Likewise.
4598 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
4599 loop postorder numbers here.
4600 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
4601 numbers.
4602
24fcf4bc
JJ
46032014-01-17 Jan Hubicka <hubicka@ucw.cz>
4604
4605 PR c++/57945
4606 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
4607 on decls for which assemble_alias has been called.
4608
d4f283a1
NC
46092014-01-17 Nick Clifton <nickc@redhat.com>
4610
4611 * config/msp430/msp430.opt: (mcpu): New option.
4612 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
4613 (msp430_option_override): Parse target_cpu. If the MCU name
4614 matches a generic string, clear target_mcu.
4615 (msp430_attr): Allow numeric interrupt values up to 63.
4616 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
4617 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
4618 option.
4619 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
4620 Add mcpu matches.
4621 * config/msp430/msp430.md (popm): Use %J rather than %I.
4622 (addsi3): Use msp430_nonimmediate_operand for operand 2.
4623 (addhi_cy_i): Use immediate_operand for operand 2.
4624 * doc/invoke.texi: Document -mcpu option.
4625
7be64667
RB
46262014-01-17 Richard Biener <rguenther@suse.de>
4627
4628 PR rtl-optimization/38518
4629 * df.h (df_analyze_loop): Declare.
4630 * df-core.c: Include cfgloop.h.
4631 (df_analyze_1): Split out main part of df_analyze.
4632 (df_analyze): Adjust.
4633 (loop_inverted_post_order_compute): New function.
4634 (loop_post_order_compute): Likewise.
4635 (df_analyze_loop): New function avoiding whole-function
4636 postorder computes.
4637 * loop-invariant.c (find_defs): Use df_analyze_loop.
4638 (find_invariants): Adjust.
4639 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
4640
82a197a2
ZC
46412014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
4642
4643 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
4644 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
4645
c68b3f52
IE
46462014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
4647
4648 * ipa-ref.c (ipa_remove_stmt_references): Fix references
4649 traversal when removing references.
4650
39960d1c 46512014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
4652
4653 PR ipa/59775
4654 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
4655
9e6f9ad6
BS
46562014-01-16 Bernd Schmidt <bernds@codesourcery.com>
4657
4658 PR middle-end/56791
4659 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
4660 pushing a reload for an autoinc when we had previously reloaded an
4661 inner part of the address.
4662
a611d7cb
JJ
46632014-01-16 Jakub Jelinek <jakub@redhat.com>
4664
d1417442
JJ
4665 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
4666 field.
4667 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
4668 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
4669 when not giving up or versioning for alias only because of
4670 loop->safelen.
4671 (vect_analyze_data_ref_dependences): Set to true.
4672 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
4673 is a GIMPLE_PHI.
4674 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
4675 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
4676 to the condition.
4677
42ed6cde
JJ
4678 PR middle-end/58344
4679 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
4680
a611d7cb 4681 PR target/59839
7f3af6d3
UB
4682 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
4683 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 4684
8f21260c
VM
46852014-01-16 Vladimir Makarov <vmakarov@redhat.com>
4686
4687 PR middle-end/59609
7f3af6d3
UB
4688 * lra-constraints.c (process_alt_operands): Add printing debug info.
4689 Check absence of input/output reloads for matched operands too.
8f21260c 4690
1a788c05
VM
46912014-01-16 Vladimir Makarov <vmakarov@redhat.com>
4692
4693 PR rtl-optimization/59835
4694 * ira.c (ira_init_register_move_cost): Increase cost for
4695 impossible modes.
4696
4cf24d27
AL
46972014-01-16 Alan Lawrence <alan.lawrence@arm.com>
4698
cc3a9f0d 4699 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 4700
030d03b8
RE
47012014-01-16 Richard Earnshaw <rearnsha@arm.com>
4702
4703 PR target/59780
4704 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
4705 non-register objects. Use gen_(high/low)part more consistently.
4706 Fix assertions.
4707
e78f06a8
MM
47082014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
4709
4710 PR target/59844
4711 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
4712 endian support, remove tests for WORDS_BIG_ENDIAN.
4713 (p8_mfvsrd_3_<mode>): Likewise.
4714 (reload_gpr_from_vsx<mode>): Likewise.
4715 (reload_gpr_from_vsxsf): Likewise.
4716 (p8_mfvsrd_4_disf): Likewise.
4717
9d1ae52c
RB
47182014-01-16 Richard Biener <rguenther@suse.de>
4719
4720 PR rtl-optimization/46590
4721 * lcm.c (compute_antinout_edge): Use postorder iteration.
4722 (compute_laterin): Use inverted postorder iteration.
4723
54c7a7f3
NC
47242014-01-16 Nick Clifton <nickc@redhat.com>
4725
4726 PR middle-end/28865
4727 * varasm.c (output_constant): Return the number of bytes actually
4728 emitted.
4729 (output_constructor_array_range): Update the field size with the
4730 number of bytes emitted by output_constant.
4731 (output_constructor_regular_field): Likewise. Also do not
4732 complain if the total number of bytes emitted is now greater
4733 than the expected fieldpos.
7f3af6d3 4734 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 4735
5147d10a
MP
47362014-01-16 Marek Polacek <polacek@redhat.com>
4737
4738 PR middle-end/59827
4739 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
4740 it is error_mark_node.
4741
4ac005ba
UB
47422014-01-15 Uros Bizjak <ubizjak@gmail.com>
4743
4744 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
4745 VALID_AVX256_REG_OR_OI_MODE.
4746
5d7574fa
PH
47472014-01-15 Pat Haugen <pthaugen@us.ibm.com>
4748
4749 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
4750 current procedure should be profiled.
4751
6ee70f81
AP
47522014-01-15 Andrew Pinski <apinski@cavium.com>
4753
4754 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
4755 of moving from/to the STACK_REG register class.
4756
004a7e45 47572014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
4758
4759 PR debug/54694
4760 * reginfo.c (global_regs_decl): Globalize.
4761 * rtl.h (global_regs_decl): Declare.
4762 * ira.c (do_reload): Diagnose frame_pointer_needed and it
4763 reserved via global_regs.
4764
4583fada
TJ
47652014-01-15 Teresa Johnson <tejohnson@google.com>
4766
4767 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
4768
d13dfec8
BS
47692014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
4770
4771 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
4772 and vmulosh rather than call gen_vec_widen_smult_*.
4773 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
4774 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
4775 (vec_widen_smult_even_v16qi): Likewise.
4776 (vec_widen_umult_even_v8hi): Likewise.
4777 (vec_widen_smult_even_v8hi): Likewise.
4778 (vec_widen_umult_odd_v16qi): Likewise.
4779 (vec_widen_smult_odd_v16qi): Likewise.
4780 (vec_widen_umult_odd_v8hi): Likewise.
4781 (vec_widen_smult_odd_v8hi): Likewise.
4782 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
4783 vmuloub rather than call gen_vec_widen_umult_*.
4784 (vec_widen_umult_lo_v16qi): Likewise.
4785 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
4786 vmulosb rather than call gen_vec_widen_smult_*.
4787 (vec_widen_smult_lo_v16qi): Likewise.
4788 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
4789 rather than call gen_vec_widen_umult_*.
4790 (vec_widen_umult_lo_v8hi): Likewise.
4791 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
4792 rather than call gen_vec_widen_smult_*.
4793 (vec_widen_smult_lo_v8hi): Likewise.
4794
a6a2d67b
JL
47952014-01-15 Jeff Law <law@redhat.com>
4796
4797 PR tree-optimization/59747
4798 * ree.c (find_and_remove_re): Properly handle case where a second
4799 eliminated extension requires widening a copy created for elimination
4800 of a prior extension.
4801 (combine_set_extension): Ensure that the number of hard regs needed
4802 for a destination register does not change when we widen it.
4803
aefe4056
SH
48042014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
4805
4806 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
4807 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
4808 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
4809 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
4810 (avr-*-rtems*): Likewise.
4811 (bfin*-rtems*): Likewise.
4812 (moxie-*-rtems*): Likewise.
4813 (h8300-*-rtems*): Likewise.
4814 (i[34567]86-*-rtems*): Likewise.
4815 (lm32-*-rtems*): Likewise.
4816 (m32r-*-rtems*): Likewise.
4817 (m68k-*-rtems*): Likewise.
4818 (microblaze*-*-rtems*): Likewise.
4819 (mips*-*-rtems*): Likewise.
4820 (powerpc-*-rtems*): Likewise.
4821 (sh-*-rtems*): Likewise.
4822 (sparc-*-rtems*): Likewise.
4823 (sparc64-*-rtems*): Likewise.
4824 (v850-*-rtems*): Likewise.
4825 (m32c-*-rtems*): Likewise.
4826
fef37404
VM
48272014-01-15 Vladimir Makarov <vmakarov@redhat.com>
4828
4829 PR rtl-optimization/59511
4830 * ira.c (ira_init_register_move_cost): Use memory costs for some
4831 cases of register move cost calculations.
4832 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
4833 instead of BB frequency.
4834 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
4835 * lra-assigns.c (find_hard_regno_for): Ditto.
4836
6b916b36
RB
48372014-01-15 Richard Biener <rguenther@suse.de>
4838
4839 PR tree-optimization/59822
4840 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
4841 (vectorizable_load): Use it to hoist defs of uses of invariant
4842 loads out of the loop.
4843
d103f29b 48442014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 4845 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
4846
4847 PR target/59695
4848 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
4849 truncation.
4850
95cb8697
RB
48512014-01-15 Richard Biener <rguenther@suse.de>
4852
4853 PR rtl-optimization/59802
4854 * lcm.c (compute_available): Use inverted postorder to seed
4855 the initial worklist.
4856
cb4b6d17
AK
48572014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4858
1c8b5303 4859 PR target/59803
cb4b6d17
AK
4860 * config/s390/s390.c (s390_preferred_reload_class): Don't return
4861 ADDR_REGS for invalid symrefs in non-PIC code.
4862
2738b4c7
JJ
48632014-01-15 Jakub Jelinek <jakub@redhat.com>
4864
4865 PR other/58712
4866 * builtins.c (determine_block_size): Initialize *probable_max_size
4867 even if len_rtx is CONST_INT.
4868
d126a4ae
AP
48692014-01-14 Andrew Pinski <apinski@cavium.com>
4870
4871 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
4872 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
4873 (cortexa53_tunings): Likewise.
4874 (aarch64_sched_issue_rate): New function.
4875 (TARGET_SCHED_ISSUE_RATE): Define.
4876
dc687582
VM
48772014-01-14 Vladimir Makarov <vmakarov@redhat.com>
4878
4879 * ira-costs.c (find_costs_and_classes): Add missed
4880 ira_init_register_move_cost_if_necessary.
4881
e940b2ec
VM
48822014-01-14 Vladimir Makarov <vmakarov@redhat.com>
4883
4884 PR target/59787
4885 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
4886
3292e376
L
48872014-01-14 H.J. Lu <hongjiu.lu@intel.com>
4888
4889 PR target/59794
4890 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
4891 to indicate if type is used for function return value. Warn ABI
4892 change if the vector mode isn't available for function return value.
3292e376
L
4893 (ix86_function_arg_advance): Pass false to type_natural_mode.
4894 (ix86_function_arg): Likewise.
4895 (ix86_gimplify_va_arg): Likewise.
4896 (function_arg_32): Don't warn ABI change.
4897 (ix86_function_value): Pass true to type_natural_mode.
4898 (ix86_return_in_memory): Likewise.
4899 (ix86_struct_value_rtx): Removed.
4900 (TARGET_STRUCT_VALUE_RTX): Likewise.
4901
db930875
RS
49022014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4903
4904 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
4905 converting a conditional jump into a conditional return.
4906
a0e35eb0
RB
49072014-01-14 Richard Biener <rguenther@suse.de>
4908
4909 PR tree-optimization/58921
4910 PR tree-optimization/59006
4911 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
4912 hoisting invariant stmts.
4913 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
4914 invariant loads on the preheader edge if possible.
4915
a984e92e
JY
49162014-01-14 Joey Ye <joey.ye@arm.com>
4917
4918 * doc/plugin.texi (Building GCC plugins): Update to C++.
4919
c56a42b9
KY
49202014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
4921
3292e376 4922 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
4923 (_mm_rcp28_round_ss): Ditto.
4924 (_mm_rsqrt28_round_sd): Ditto.
4925 (_mm_rsqrt28_round_ss): Ditto.
4926 (_mm_rcp28_sd): Ditto.
4927 (_mm_rcp28_ss): Ditto.
4928 (_mm_rsqrt28_sd): Ditto.
4929 (_mm_rsqrt28_ss): Ditto.
4930 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
4931 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
4932 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
4933 (IX86_BUILTIN_RCP28SD): Ditto.
4934 (IX86_BUILTIN_RCP28SS): Ditto.
4935 (IX86_BUILTIN_RSQRT28SD): Ditto.
4936 (IX86_BUILTIN_RSQRT28SS): Ditto.
4937 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
4938 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
4939 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
4940 (ix86_expand_special_args_builtin): Expand new FTYPE.
4941 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
4942 (srcp14<mode>): Make insn unary.
4943 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
4944 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
4945 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
4946 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
4947 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
4948 Fix rounding: make it SAE only.
4ac005ba
UB
4949 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
4950 Ditto.
4951 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
4952 Ditto.
c56a42b9
KY
4953 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
4954 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
4955 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
4956 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
4957 (round_saeonly_mask_scalar_operand4): Ditto.
4958 (round_saeonly_mask_scalar_op3): Ditto.
4959 (round_saeonly_mask_scalar_op4): Ditto.
4960
09fccb62
BS
49612014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4962
4963 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
4964 Implement -maltivec=be for vec_insert and vec_extract.
4965
fb28dac0
DD
49662014-01-10 DJ Delorie <dj@redhat.com>
4967
4968 * config/msp430/msp430.md (call_internal): Don't allow memory
4969 references with SP as the base register.
4970 (call_value_internal): Likewise.
4971 * config/msp430/constraints.md (Yc): New. For memory references
4972 that don't use SP as a base register.
4973
4974 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
4975 "an integer without a # prefix"
4976 * config/msp430/msp430.md (epilogue_helper): Use it.
4977
19e51b40
JJ
49782014-01-13 Jakub Jelinek <jakub@redhat.com>
4979
03b9e8e4
JJ
4980 PR target/59617
4981 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
4982 AVX512F gather builtins.
4983 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
4984 on gather decls with INTEGER_TYPE masktype.
4985 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
4986 directly into the builtin rather than hoisting it before loop.
4987
19e51b40
JJ
4988 PR tree-optimization/59387
4989 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
4990 (scev_const_prop): If folded_casts and type has undefined overflow,
4991 use force_gimple_operand instead of force_gimple_operand_gsi and
4992 for each added stmt if it is assign with
4993 arith_code_with_undefined_signed_overflow, call
4994 rewrite_to_defined_overflow.
4995 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
4996 gimple-fold.h instead.
4997 (arith_code_with_undefined_signed_overflow,
4998 rewrite_to_defined_overflow): Moved to ...
4999 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
5000 rewrite_to_defined_overflow): ... here. No longer static.
5001 Include gimplify-me.h.
5002 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
5003 rewrite_to_defined_overflow): New prototypes.
5004
cd794ed4
KT
50052014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5006
5007 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
5008
e75fde1a
EB
50092014-01-13 Eric Botcazou <ebotcazou@adacore.com>
5010
5011 * builtins.c (get_object_alignment_2): Minor tweak.
5012 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
5013
eae298d6
CB
50142014-01-13 Christian Bruel <christian.bruel@st.com>
5015
5016 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 5017 optimized non constant lengths.
eae298d6 5018
8175be9a
JJ
50192014-01-13 Jakub Jelinek <jakub@redhat.com>
5020
5021 PR libgomp/59194
5022 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
5023 load as __atomic_load_N if possible.
5024
9c111368
DE
50252014-01-11 David Edelsohn <dje.gcc@gmail.com>
5026
5027 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
5028 target parameter.
5029 (rs6000_expand_builtin): Adjust call.
5030
c82846bc
DE
50312014-01-11 David Edelsohn <dje.gcc@gmail.com>
5032
5033 PR target/58115
5034 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
5035 * config/rs6000/rs6000.c: Include target-globals.h.
5036 (rs6000_set_current_function): Instead of doing target_reinit
5037 unconditionally, use save_target_globals_default_opts and
5038 restore_target_globals.
5039
5040 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
5041 FPSCR.
5042 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
5043 (rs6000_expand_builtin): Handle mffs and mtfsf.
5044 (rs6000_init_builtins): Define mffs and mtfsf.
5045 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
5046 (rs6000_mffs): New pattern.
5047 (rs6000_mtfsf): New pattern.
5048
2c407426
BC
50492014-01-11 Bin Cheng <bin.cheng@arm.com>
5050
5051 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
5052 Start narrowing with START. Apply candidate-use pair
5053 and check overall cost in narrowing.
5054 (iv_ca_prune): Pass new argument.
5055
7e41c852
JL
50562014-01-10 Jeff Law <law@redhat.com>
5057
5058 PR middle-end/59743
5059 * ree.c (combine_reaching_defs): Ensure the defining statement
5060 occurs before the extension when optimizing extensions with
5061 different source and destination hard registers.
5062
39960d1c 50632014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
5064
5065 PR ipa/58585
4ac005ba
UB
5066 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
5067 vtables into the type inheritance graph.
b270b096 5068
0d6d7b9a
JJ
50692014-01-10 Jakub Jelinek <jakub@redhat.com>
5070
5071 PR rtl-optimization/59754
5072 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
5073 modes in the REGNO != REGNO case.
5074
110132c1
BS
50752014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5076
5077 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
5078
5da96960
JJ
50792014-01-10 Jakub Jelinek <jakub@redhat.com>
5080
4f87d581
JJ
5081 PR tree-optimization/59745
5082 * tree-predcom.c (tree_predictive_commoning_loop): Call
5083 free_affine_expand_cache if giving up because components is NULL.
5084
5da96960
JJ
5085 * target-globals.c (save_target_globals): Allocate < 4KB structs using
5086 GC in payload of target_globals struct instead of allocating them on
5087 the heap and the larger structs separately using GC.
5088 * target-globals.h (struct target_globals): Make regs, hard_regs,
5089 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
5090 of GTY((skip)) and change type to void *.
5091 (reset_target_globals): Cast loads from those fields to corresponding
5092 types.
5093
1aa26aac
SE
50942014-01-10 Steve Ellcey <sellcey@mips.com>
5095
5096 PR plugins/59335
5097 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
5098 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
5099 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
5100
1c992d1e
RE
51012014-01-10 Richard Earnshaw <rearnsha@arm.com>
5102
7783a246 5103 PR target/59744
1c992d1e
RE
5104 * aarch64-modes.def (CC_Zmode): New flags mode.
5105 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
5106 represents an equality.
7783a246 5107 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
5108 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
5109
86464cbd
AK
51102014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5111
5112 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
5113 extraction in good case.
5114
5e6667b2
RB
51152014-01-10 Richard Biener <rguenther@suse.de>
5116
5117 PR tree-optimization/59374
5118 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
5119 checking after SLP discovery. Mark stmts not participating
5120 in any SLP instance properly.
5121
5619162c
KT
51222014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5123
5124 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
5125 when handling a SET rtx.
5126
2d17b99f
KT
51272014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5128
5129 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
5130 (cortex-a57): Likewise.
5131 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
5132
bcca645c
KT
51332014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5134
5135 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
5136 non-iwmmxt builtins.
5137
a3788dde
JH
51382014-01-10 Jan Hubicka <hubicka@ucw.cz>
5139
5140 PR ipa/58252
5141 PR ipa/59226
5142 * ipa-devirt.c record_target_from_binfo): Take as argument
5143 stack of binfos and lookup matching one for virtual inheritance.
5144 (possible_polymorphic_call_targets_1): Update.
5145
87ed883e
HC
51462014-01-10 Huacai Chen <chenhc@lemote.com>
5147
5148 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
5149 kernel strings for Loongson-2E/2F/3A.
5150
cd4447e2
JJ
51512014-01-10 Jakub Jelinek <jakub@redhat.com>
5152
5153 PR middle-end/59670
5154 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
5155 is_gimple_call before calling gimple_call_internal_p.
5156
3fadf78a
SE
51572014-01-09 Steve Ellcey <sellcey@mips.com>
5158
5159 * Makefile.in (TREE_FLOW_H): Remove.
5160 (TREE_SSA_H): Add file names from tree-flow.h.
5161 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
5162 * tree.h: Remove tree-flow.h reference.
5163 * hash-table.h: Remove tree-flow.h reference.
5164 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
5165 reference with tree-ssa-loop.h.
5166
6edc217d
BS
51672014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5168
5169 * doc/invoke.texi: Add -maltivec={be,le} options, and document
5170 default element-order behavior for -maltivec.
5171 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
5172 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
5173 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
5174 when targeting big endian, at least for now.
5175 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
5176
a70e9985
JJ
51772014-01-09 Jakub Jelinek <jakub@redhat.com>
5178
3396aba5
JJ
5179 PR middle-end/47735
5180 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
5181 var satisfies use_register_for_decl, just take into account type
5182 alignment, rather than decl alignment.
5183
a70e9985
JJ
5184 PR tree-optimization/59622
5185 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
5186 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
5187 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
5188 Don't devirtualize for inplace at all. For targets.length () == 1,
5189 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
5190
6e9cc565
L
51912014-01-09 H.J. Lu <hongjiu.lu@intel.com>
5192
5193 * config/i386/i386.md (cpu): Remove the unused btver1.
5194
d1c0e4ac
L
51952014-01-09 H.J. Lu <hongjiu.lu@intel.com>
5196
5197 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
5198
e83b8e2e
JJ
51992014-01-09 Jakub Jelinek <jakub@redhat.com>
5200
5201 PR target/58115
5202 * tree-core.h (struct target_globals): New forward declaration.
5203 (struct tree_target_option): Add globals field.
5204 * tree.h (TREE_TARGET_GLOBALS): Define.
5205 (prepare_target_option_nodes_for_pch): New prototype.
5206 * target-globals.h (struct target_globals): Define even if
5207 !SWITCHABLE_TARGET.
5208 * tree.c (prepare_target_option_node_for_pch,
5209 prepare_target_option_nodes_for_pch): New functions.
5210 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
5211 * config/i386/i386.c: Include target-globals.h.
5212 (ix86_set_current_function): Instead of doing target_reinit
5213 unconditionally, use save_target_globals_default_opts and
5214 restore_target_globals.
5215
2aaed0f3
RB
52162014-01-09 Richard Biener <rguenther@suse.de>
5217
5218 PR tree-optimization/59715
5219 * tree-cfg.h (split_critical_edges): Declare.
5220 * tree-cfg.c (split_critical_edges): Export.
5221 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
5222
b5ebc991
MO
52232014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
5224
4ac005ba 5225 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
5226 asan stack protection.
5227 (expand_used_vars): Likewise.
5228 (partition_stack_vars): Likewise.
4ac005ba 5229 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 5230 after return stack usage.
7f3af6d3 5231 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
5232 (instrument_builtin_call): Likewise.
5233 (instrument_strlen_call): Likewise.
7f3af6d3 5234 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
5235 * doc/invoke.texi: Added doc for new options.
5236 * params.def: Added new options.
5237 * params.h: Likewise.
5238
b59e0455
JJ
52392014-01-09 Jakub Jelinek <jakub@redhat.com>
5240
5241 PR rtl-optimization/59724
5242 * ifcvt.c (cond_exec_process_if_block): Don't call
5243 flow_find_head_matching_sequence with 0 longest_match.
5244 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
5245 non-active insns if !stop_after.
5246 (try_head_merge_bb): Revert 2014-01-07 changes.
5247
650c4c85
JL
52482014-01-08 Jeff Law <law@redhat.com>
5249
5250 * ree.c (get_sub_rtx): New function, extracted from...
5251 (merge_def_and_ext): Here.
5252 (combine_reaching_defs): Use get_sub_rtx.
5253
ff36fcbe
EB
52542014-01-08 Eric Botcazou <ebotcazou@adacore.com>
5255
5256 * cgraph.h (varpool_variable_node): Do not choke on null node.
5257
9f9d82aa
CM
52582014-01-08 Catherine Moore <clm@codesourcery.com>
5259
4ac005ba
UB
5260 * config/mips/mips.md (simple_return): Attempt to use JRC
5261 for microMIPS.
9f9d82aa
CM
5262 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
5263
df6c8808
RS
52642014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
5265
5266 PR rtl-optimization/59137
5267 * reorg.c (steal_delay_list_from_target): Call update_block for
5268 elided insns.
5269 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
5270
6170ceff
BS
52712014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5272
5273 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
5274 two duplicate entries.
5275
3f140f32
RS
52762014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
5277
5278 Revert:
5279 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
5280
5281 * config/mips/mips.c (mips_truncated_op_cost): New function.
5282 (mips_rtx_costs): Adjust test for BADDU.
5283 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
5284
5285 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
5286
5287 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
5288 (*baddu_si): ...this new pattern.
5289
c6de6665
JJ
52902014-01-08 Jakub Jelinek <jakub@redhat.com>
5291
5292 PR ipa/59722
5293 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
5294
4c437f02
BE
52952014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
5296
5297 PR middle-end/57748
5298 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
5299 inner_reference_p.
5300 (expand_expr, expand_normal): Adjust.
5301 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
5302 inner_reference_p. Use inner_reference_p to expand inner references.
5303 (store_expr): Adjust.
5304 * cfgexpand.c (expand_call_stmt): Adjust.
5305
4ac005ba 53062014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
5307
5308 * gcov-io.c (gcov_var): Move from gcov-io.h.
5309 (gcov_position): Ditto.
5310 (gcov_is_error): Ditto.
5311 (gcov_rewrite): Ditto.
5312 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
5313 only part to libgcc/libgcov.h.
5314
ab04b46e
MP
53152014-01-08 Marek Polacek <polacek@redhat.com>
5316
5317 PR middle-end/59669
5318 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
5319
06636b32
MP
53202014-01-08 Marek Polacek <polacek@redhat.com>
5321
5322 PR sanitizer/59667
5323 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
5324
c15677b6
JJ
53252014-01-08 Jakub Jelinek <jakub@redhat.com>
5326
5327 PR rtl-optimization/59649
5328 * stor-layout.c (get_mode_bounds): For BImode return
5329 0 and STORE_FLAG_VALUE.
5330
5c944c6c
RB
53312014-01-08 Richard Biener <rguenther@suse.de>
5332
5333 PR middle-end/59630
5334 * gimple.h (is_gimple_builtin_call): Remove.
5335 (gimple_builtin_call_types_compatible_p): New.
5336 (gimple_call_builtin_p): New overload.
5337 * gimple.c (is_gimple_builtin_call): Remove.
5338 (validate_call): Rename to ...
5339 (gimple_builtin_call_types_compatible_p): ... this and export. Also
5340 check return types.
5341 (validate_type): New static function.
5342 (gimple_call_builtin_p): New overload and adjust.
5343 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
5344 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
5345 (gimple_fold_stmt_to_constant_1): Likewise.
5346 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
5347
0bd34ae4
RB
53482014-01-08 Richard Biener <rguenther@suse.de>
5349
5350 PR middle-end/59471
5351 * gimplify.c (gimplify_expr): Gimplify register-register type
5352 VIEW_CONVERT_EXPRs to separate stmts.
5353
04af8ab6
JL
53542014-01-07 Jeff Law <law@redhat.com>
5355
3c92da90
JL
5356 PR middle-end/53623
5357 * ree.c (combine_set_extension): Handle case where source
5358 and destination registers in an extension insn are different.
4ac005ba
UB
5359 (combine_reaching_defs): Allow source and destination registers
5360 in extension to be different under limited circumstances.
3c92da90 5361 (add_removable_extension): Remove restriction that the
4ac005ba 5362 source and destination registers in the extension are the same.
3c92da90
JL
5363 (find_and_remove_re): Emit a copy from the extension's
5364 destination to its source after the defining insn if
5365 the source and destination registers are different.
5366
04af8ab6
JL
5367 PR middle-end/59285
5368 * ifcvt.c (merge_if_block): If we are merging a block with more than
5369 one successor with a block with no successors, remove any BARRIER
5370 after the second block.
5371
955b33ed
JL
53722014-01-07 Dan Xio Qiang <ziyan01@163.com>
5373
5374 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
5375
55ada375
JDA
53762014-01-07 John David Anglin <danglin@gcc.gnu.org>
5377
5378 PR target/59652
5379 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
5380 for 14-bit register offsets when INT14_OK_STRICT is false.
5381
877c72e7
RS
53822014-01-07 Roland Stigge <stigge@antcom.de>
5383 Michael Meissner <meissner@linux.vnet.ibm.com>
5384
5385 PR 57386/target
5386 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 5387 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 5388
8b2721da
JG
53892014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
5390
5391 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
5392 -mcpu.
5393
5d72b79f
YZ
53942014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
5395
5396 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
5397 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
5398 rtx is const0_rtx or not.
5399
48d53439
RS
54002014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
5401
5402 PR target/58115
5403 * target-globals.c (save_target_globals): Remove this_fn_optab
5404 handling.
5405 * toplev.c: Include optabs.h.
5406 (target_reinit): Temporarily restore the global options if another
5407 set of options are in force.
5408
41626746
JJ
54092014-01-07 Jakub Jelinek <jakub@redhat.com>
5410
a0cbe71e
JJ
5411 PR rtl-optimization/58668
5412 * cfgcleanup.c (flow_find_cross_jump): Don't count
5413 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
5414 to determine what is counted.
5415 (flow_find_head_matching_sequence): Use active_insn_p to determine
5416 what is counted.
5417 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
5418 counting change.
5419 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
5420 determine what is counted.
5421
41626746
JJ
5422 PR tree-optimization/59643
5423 * tree-predcom.c (split_data_refs_to_components): If one dr is
5424 read and one write, determine_offset fails and the write isn't
5425 in the bad component, just put the read into the bad component.
5426
cc349a39
MS
54272014-01-07 Mike Stump <mikestump@comcast.net>
5428 Jakub Jelinek <jakub@redhat.com>
5429
5430 PR pch/59436
5431 * tree-core.h (struct tree_optimization_option): Change optabs
5432 type from unsigned char * to void *.
5433 * optabs.c (init_tree_optimization_optabs): Adjust
5434 TREE_OPTIMIZATION_OPTABS initialization.
5435
529a6471
JJ
54362014-01-06 Jakub Jelinek <jakub@redhat.com>
5437
5438 PR target/59644
5439 * config/i386/i386.h (struct machine_function): Add
5440 no_drap_save_restore field.
5441 * config/i386/i386.c (ix86_save_reg): Use
5442 !cfun->machine->no_drap_save_restore instead of
5443 crtl->stack_realign_needed.
5444 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
5445 this function clears frame_pointer_needed. Set
5446 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
5447 and DRAP reg is needed.
5448
96066ce1
MP
54492014-01-06 Marek Polacek <polacek@redhat.com>
5450
5451 PR c/57773
5452 * doc/implement-c.texi: Mention that other integer types are
5453 permitted as bit-field types in strictly conforming mode.
5454
955b33ed 54552014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
5456
5457 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
5458 is newly allocated.
5459
328402a9
RE
54602014-01-06 Richard Earnshaw <rearnsha@arm.com>
5461
5462 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
5463
a4e33812
MJ
54642014-01-06 Martin Jambor <mjambor@suse.cz>
5465
5466 PR ipa/59008
5467 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
5468 to int.
5469 * ipa-prop.c (ipa_print_node_params): Fix indentation.
5470
b5cd2a02
EB
54712014-01-06 Eric Botcazou <ebotcazou@adacore.com>
5472
5473 PR debug/59350
5474 PR debug/59510
5475 * var-tracking.c (add_stores): Preserve the value of the source even if
5476 we don't record the store.
5477
c7d19c0b
TG
54782014-01-06 Terry Guo <terry.guo@arm.com>
5479
5480 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
5481
e0c70bd7
IS
54822014-01-05 Iain Sandoe <iain@codesourcery.com>
5483
5484 PR bootstrap/59541
5485 * config/darwin.c (darwin_function_section): Adjust return values to
5486 correspond to optimisation changes made in r206070.
5487
c30f016c
UB
54882014-01-05 Uros Bizjak <ubizjak@gmail.com>
5489
5490 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
5491 from prefetch_block tune setting.
5492 (nocona_cost): Correct size of prefetch block to 64.
5493
f2bc252b
EB
54942014-01-04 Eric Botcazou <ebotcazou@adacore.com>
5495
5496 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
5497 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
5498 used to save the static chain register in the computation of the offset
5499 from which the FP registers need to be restored.
5500
dad5ed2e
JJ
55012014-01-04 Jakub Jelinek <jakub@redhat.com>
5502
39719c84
JJ
5503 PR tree-optimization/59519
5504 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
5505 ICE if get_current_def (current_new_name) is already non-NULL, as long
5506 as it is a phi result of some other phi in *new_exit_bb that has
5507 the same argument.
5508
dad5ed2e
JJ
5509 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
5510 or vmovdqu* for misaligned_operand.
5511 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
5512 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
5513 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
5514 aligned_mem for AVX512F masked aligned load and store builtins and for
5515 non-temporal moves.
5516
55172014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
5518
5519 PR tree-optimization/59651
c30f016c 5520 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
5521 Address range for negative step should be added by TYPE_SIZE_UNIT.
5522
e864837a
AS
55232014-01-03 Andreas Schwab <schwab@linux-m68k.org>
5524
5525 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 5526 overlapping registers also for registers other than the stack pointer.
e864837a 5527
56a34230
MP
55282014-01-03 Marek Polacek <polacek@redhat.com>
5529
5530 PR other/59661
5531 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
5532 __builtin_FILE.
5533
039eee3f
JJ
55342014-01-03 Jakub Jelinek <jakub@redhat.com>
5535
3bcdbd50
JJ
5536 PR target/59625
5537 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
5538 asm goto as jump.
5539
039eee3f
JJ
5540 * config/i386/i386.md (MODE_SIZE): New mode attribute.
5541 (push splitter): Use <P:MODE_SIZE> instead of
5542 GET_MODE_SIZE (<P:MODE>mode).
5543 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
5544 (mov -1, reg peephole2): Likewise.
5545 * config/i386/sse.md (*mov<mode>_internal,
5546 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
5547 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
5548 *<code><mode>3, *andnot<mode>3<mask_name>,
5549 <mask_codefor><code><mode>3<mask_name>): Likewise.
5550 * config/i386/subst.md (mask_mode512bit_condition,
5551 sd_mask_mode512bit_condition): Likewise.
5552
927734cf
XDL
55532014-01-02 Xinliang David Li <davidxl@google.com>
5554
5555 PR tree-optimization/59303
039eee3f 5556 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
5557 (dump_predicates): Better output format.
5558 (pred_equal_p): New function.
5559 (is_neq_relop_p): Ditto.
5560 (is_neq_zero_form_p): Ditto.
5561 (pred_expr_equal_p): Ditto.
5562 (pred_neg_p): Ditto.
5563 (simplify_pred): Ditto.
5564 (simplify_preds_2): Ditto.
5565 (simplify_preds_3): Ditto.
5566 (simplify_preds_4): Ditto.
5567 (simplify_preds): Ditto.
5568 (push_pred): Ditto.
5569 (push_to_worklist): Ditto.
5570 (get_pred_info_from_cmp): Ditto.
5571 (is_degenerated_phi): Ditto.
5572 (normalize_one_pred_1): Ditto.
5573 (normalize_one_pred): Ditto.
5574 (normalize_one_pred_chain): Ditto.
5575 (normalize_preds): Ditto.
5576 (normalize_cond_1): Remove function.
5577 (normalize_cond): Ditto.
5578 (is_gcond_subset_of): Ditto.
5579 (is_subset_of_any): Ditto.
5580 (is_or_set_subset_of): Ditto.
5581 (is_and_set_subset_of): Ditto.
5582 (is_norm_cond_subset_of): Ditto.
5583 (pred_chain_length_cmp): Ditto.
5584 (convert_control_dep_chain_into_preds): Type change.
5585 (find_predicates): Ditto.
5586 (find_def_preds): Ditto.
5587 (destroy_predicates_vecs): Ditto.
5588 (find_matching_predicates_in_rest_chains): Ditto.
5589 (use_pred_not_overlap_with_undef_path_pred): Ditto.
5590 (is_pred_expr_subset): Ditto.
5591 (is_pred_chain_subset_of): Ditto.
5592 (is_included_in): Ditto.
5593 (is_superset_of): Ditto.
5594
23a5b65a
RS
55952014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5596
c30f016c 5597 Update copyright years.
23a5b65a 5598
f9030485
RS
55992014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5600
5601 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
5602 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
5603 config/arc/arc.md, config/arc/arc.opt,
5604 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
5605 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
5606 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
5607 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
5608 config/linux-protos.h, config/linux.c, config/winnt-c.c,
5609 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
5610 vtable-verify.c, vtable-verify.h: Use the standard form for the
5611 copyright notice.
f9030485 5612
98db73df
TB
56132014-01-02 Tobias Burnus <burnus@net-b.de>
5614
5615 * gcc.c (process_command): Update copyright notice dates.
5616 * gcov-dump.c: Ditto.
5617 * gcov.c: Ditto.
5618 * doc/cpp.texi: Bump @copying's copyright year.
5619 * doc/cppinternals.texi: Ditto.
5620 * doc/gcc.texi: Ditto.
5621 * doc/gccint.texi: Ditto.
5622 * doc/gcov.texi: Ditto.
5623 * doc/install.texi: Ditto.
5624 * doc/invoke.texi: Ditto.
5625
2898d204 56262014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
5627
5628 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
5629
dfebbdc6 56302014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 5631
726c3546
JJ
5632 * config/i386/sse.md (*mov<mode>_internal): Guard
5633 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
5634
dfebbdc6
JJ
5635 PR rtl-optimization/59647
5636 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
5637 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 5638\f
970c3b33 5639Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
5640
5641Copying and distribution of this file, with or without modification,
5642are permitted in any medium without royalty provided the copyright
5643notice and this notice are preserved.
This page took 6.628087 seconds and 5 git commands to generate.