]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
i386.c (x86_add_stmt_cost): Fix vector cost model for Silvermont.
[gcc.git] / gcc / ChangeLog
CommitLineData
170c1776
ES
12014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
2
3 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
4 Silvermont.
5
a4ef7f3e
ES
62014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7
8 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
9 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
10 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
11 for TARGET_SLOW_PSHUFB
12
cf055f6e
ES
132014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
14
15 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
16 * config/i386/i386.c (intel_cost): Ditto.
17
eeee2277
JY
182014-04-17 Joey Ye <joey.ye@arm.com>
19
20 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
21
1c58fe29
JH
222014-04-16 Jan Hubicka <hubicka@ucw.cz>
23
24 * opts.c (common_handle_option): Disable -fipa-reference coorectly
25 with -fuse-profile.
26
2d1644bf
JH
272014-04-16 Jan Hubicka <hubicka@ucw.cz>
28
29 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
30 (type_all_derivations_known_p): New predicate.
31 (type_all_ctors_visible_p): New predicate.
32 (type_possibly_instantiated_p): New predicate.
33 (get_odr_type): Compute all_derivations_known.
34 (dump_odr_type): Dump the flag.
35 (maybe_record_type): Cleanup.
36 (record_target_from_binfo): Add bases_to_consider array;
37 record bases for types w/o instances and skip CXX destructor.
38 (possible_polymorphic_call_targets_1): Add bases_to_consider
39 and consider_construction parameters; check if type may
40 have instance.
41 (get_polymorphic_call_info): Set maybe_in_construction to true
42 when we know nothing.
43 (record_targets_from_bases): Skip CXX destructors; they are
44 never called for types in construction.
45 (possible_polymorphic_call_targets): Do not record target when
46 type may not have instance.
47
789c2741
JH
482014-04-16 Jan Hubicka <hubicka@ucw.cz>
49
50 PR ipa/60854
51 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
52 external aliases alive, too.
53
9950a4f2
AP
542014-04-16 Andrew Pinski <apinski@cavium.com>
55
56 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
57 definition.
58
82b9c015
EB
592014-04-16 Eric Botcazou <ebotcazou@adacore.com>
60
61 * final.c (compute_alignments): Do not apply loop alignment to a block
62 falling through to the exit.
63
d2dfaca3
CM
642014-04-16 Catherine Moore <clm@codesourcery.com>
65
66 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
67 Adjust constraints for microMIPS store patterns.
68
10353a79
PS
692014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
70
71 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
72
61c7fb30
EB
732014-04-16 Eric Botcazou <ebotcazou@adacore.com>
74
75 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
76 (append_use): Run at -O0.
77 (append_vdef): Likewise.
78 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
79 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
80
42fae17c
JJ
812014-04-16 Jakub Jelinek <jakub@redhat.com>
82
83 PR tree-optimization/60844
84 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
85 (propagate_op_to_single_use, remove_visited_stmt_chain,
86 linearize_expr, repropagate_negates, reassociate_bb): Use it
87 instead of gsi_remove.
88
ca860d03
MJ
892014-04-16 Martin Jambor <mjambor@suse.cz>
90
91 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
92 ipa_transforms_to_apply.
93 (cgraph_function_versioning): Assert that old_node has empty
94 ipa_transforms_to_apply.
95 * trans-mem.c (ipa_tm_create_version): Likewise.
96 * tree-inline.c (tree_function_versioning): Do not duplicate
97 ipa_transforms_to_apply.
98
fe4e71e4
RO
992014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
100
101 PR target/60817
102 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
103 x86_64-*-* cases.
104 Pass necessary as flags on 64-bit Solaris/x86.
105 Use lowercase relocs for x86_64-*-*.
106 * configure: Regenerate.
107
ccb05ef2
JH
1082014-04-15 Jan Hubicka <jh@suse.cz>
109
110 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
111 (maybe_record_node, likely_target_p): Use it.
112
dfe449d1
BS
1132014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
114
115 PR target/60839
116 Revert following patch
117
118 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
119
120 PR target/60735
121 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
122 software floating point or no floating point registers, do not
123 allow any type in the FPRs. Eliminate a test for SPE SIMD types
124 in GPRs that occurs after we tested for GPRs that would never be
125 true.
126
127 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
128 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
129 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
130 specifically allow DDmode, since that does not use the SPE SIMD
131 instructions.
132
25dce5c6
MW
1332014-03-21 Mark Wielaard <mjw@redhat.com>
134
135 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
136 as unsigned or int depending on type and value used.
137
8d3c076f
RB
1382014-04-15 Richard Biener <rguenther@suse.de>
139
140 PR rtl-optimization/56965
141 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
142 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
143 ... here.
144 * alias.c (true_dependence_1): Do not call
145 nonoverlapping_component_refs_p.
146 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
147 nonoverlapping_component_refs_p.
148 (indirect_refs_may_alias_p): Likewise.
149
d00e4baa
TJ
1502014-04-15 Teresa Johnson <tejohnson@google.com>
151
152 * cfg.c (dump_bb_info): Fix flags check.
153 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
154
98a2fdfb
KT
1552014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
156
157 PR rtl-optimization/60663
158 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
159 avoid 0 cost.
160
b9ed2c2c
RB
1612014-04-15 Richard Biener <rguenther@suse.de>
162
163 * lto-streamer.h (LTO_major_version): Bump to 4.
164
783dab6b
RB
1652014-04-15 Richard Biener <rguenther@suse.de>
166
167 * common.opt (lto_partition_model): New enum.
168 (flto-partition=): Merge separate options with a single with argument,
169 add -flto-partition=one support.
170 * flag-types.h (enum lto_partition_model): Declare.
171 * opts.c (finish_options): Remove duplicate -flto-partition=
172 option check.
173 * lto-wrapper.c (run_gcc): Adjust.
174
d8e4ce6d
RB
1752014-04-15 Richard Biener <rguenther@suse.de>
176
177 * alias.c (ncr_compar): New function.
178 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
179
1999fd7d
RB
1802014-04-15 Richard Biener <rguenther@suse.de>
181
182 * alias.c (record_component_aliases): Do not walk BINFOs.
183
628169e0
RB
1842014-04-15 Richard Biener <rguenther@suse.de>
185
186 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
187 Add struct function argument and adjust.
188 (find_func_aliases_for_call): Likewise.
189 (find_func_aliases): Likewise.
190 (find_func_clobbers): Likewise.
191 (intra_create_variable_infos): Likewise.
192 (compute_points_to_sets): Likewise.
193 (ipa_pta_execute): Adjust. Do not push/pop cfun.
194
349e6210
RB
1952014-04-15 Richard Biener <rguenther@suse.de>
196
197 * tree.c (iterative_hash_expr): Use enum tree_code_class
198 to store TREE_CODE_CLASS.
199 (tree_block): Likewise.
200 (tree_set_block): Likewise.
201 * tree.h (fold_build_pointer_plus_loc): Use
202 convert_to_ptrofftype_loc.
203
4f0ddb6f
JJ
2042014-04-15 Jakub Jelinek <jakub@redhat.com>
205
206 PR plugins/59335
207 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
208 added in 4.9.
209
718c4601
EB
2102014-04-15 Eric Botcazou <ebotcazou@adacore.com>
211
212 * cfgloop.h (struct loop): Move force_vectorize down.
213 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
214 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
215 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
216 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
217 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
218 * tree-core.h (enum annot_expr_kind): Add new kind values.
219 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
220 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
221 kinds.
222 * tree.def (ANNOTATE_EXPR): Tweak comment.
223
88f592e3
JH
2242014-04-14 Jan Hubicka <hubicka@ucw.cz>
225
226 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
227 cxa_pure_virtual).
228
9dba4b55
PC
2292014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
230
231 * tree.h (TYPE_IDENTIFIER): Declare.
232 * tree.c (subrange_type_for_debug_p): Use it.
233 * godump.c (go_format_type): Likewise.
234 * dwarf2out.c (is_cxx_auto, modified_type_die,
235 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
236 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
237
006202e8
JH
2382014-04-14 Jan Hubicka <hubicka@ucw.cz>
239
240 PR lto/60820
241 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
242
e0a81db1
UB
2432014-04-14 Uros Bizjak <ubizjak@gmail.com>
244
245 * config/i386/i386.c (examine_argument): Return bool. Return true if
246 parameter should be passed in memory.
247 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
248 (construct_container): Update calls to examine_argument.
249 (function_arg_advance_64): Ditto.
250 (return_in_memory_32): Merge with ix86_return_in_memory.
251 (return_in_memory_64): Ditto.
252 (return_in_memory_ms_64): Ditto.
253
cb90235d
JH
2542014-04-14 Jan Hubicka <hubicka@ucw.cz>
255
256 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
257 * coverage.c (coverage_compute_profile_id): Handle externally visible
258 symbols.
259
7b3b340e
MJ
2602014-04-14 Martin Jambor <mjambor@suse.cz>
261
262 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
263 DECL_DISREGARD_INLINE_LIMITS functions.
264
2ed3b4ee
L
2652014-04-14 H.J. Lu <hongjiu.lu@intel.com>
266
267 PR target/60827
e0a81db1 268 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 269
10fa463f
L
2702014-04-14 H.J. Lu <hongjiu.lu@intel.com>
271
272 PR target/60827
273 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
274 optimize_insn_for_speed_p instead of
275 optimize_function_for_speed_p.
276
b621e875
YZ
2772014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
278
279 * doc/invoke.texi (free): Document AArch64.
280
cddaefa3
RB
2812014-04-14 Richard Biener <rguenther@suse.de>
282
283 PR tree-optimization/60042
284 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
285 (insert_into_preds_of_block): Do not prevent PHI insertion
286 for REFERENCE exprs here ...
287 (eliminate_dom_walker::before_dom_children): ... but prevent
288 their use here under similar conditions when applied to the
289 IL after PRE optimizations.
290
a9e4c82f
RB
2912014-04-14 Richard Biener <rguenther@suse.de>
292
293 * passes.def: Move early points-to after early SRA.
294
7b4cae1b
RB
2952014-04-14 Richard Biener <rguenther@suse.de>
296
297 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
298 check for which sign-changes we allow when forwarding
299 a converted value into a switch.
300
cb27986c
EB
3012014-04-14 Eric Botcazou <ebotcazou@adacore.com>
302
303 * stor-layout.c (place_field): Finalize non-constant offset for the
304 field, if any.
305
72798784
RB
3062014-04-14 Richard Biener <rguenther@suse.de>
307
308 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
309 as argument.
310 (expand_switch_using_bit_tests_p): Likewise.
311 (process_switch): Compute and pass on speed_p based on the
312 switch stmt.
313 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
314 optimize_bb_for_speed_p.
315
b15b5979
EB
3162014-04-14 Eric Botcazou <ebotcazou@adacore.com>
317
318 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
319 * function.h (struct function): Rename has_force_vect_loops into
320 has_force_vectorize_loops.
321 * lto-streamer-in.c (input_cfg): Adjust for renaming.
322 (input_struct_function_base): Likewise.
323 * lto-streamer-out.c (output_cfg): Likewise.
324 (output_struct_function_base): Likewise.
325 * omp-low.c (expand_omp_simd): Likewise.
326 * tree-cfg.c (move_sese_region_to_fn): Likewise.
327 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
328 (version_loop_for_if_conversion): Likewise.
329 (tree_if_conversion): Likewise.
330 (main_tree_if_conversion): Likewise.
331 (gate_tree_if_conversion): Likewise.
332 * tree-inline.c (copy_loops): Likewise.
333 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
334 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
335 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
336 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
337 * tree-vectorizer.c (vectorize_loops): Likewise.
338 * tree-vectorizer.h (unlimited_cost_model): Likewise.
339
8359c87e
RB
3402014-04-14 Richard Biener <rguenther@suse.de>
341
342 PR lto/60720
343 * lto-streamer-out.c (wrap_refs): New function.
344 (lto_output): Wrap symbol references in global initializes in
345 type-preserving MEM_REFs.
346
9447df74
CB
3472014-04-14 Christian Bruel <christian.bruel@st.com>
348
349 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
350
fa1aecc1
CB
3512014-04-14 Christian Bruel <christian.bruel@st.com>
352
353 * config/sh/sh.md (setmemqi): New expand pattern.
354 * config/sh/sh.h (CLEAR_RATIO): Define.
355 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
356 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
357
a3c77ce9
RB
3582014-04-14 Richard Biener <rguenther@suse.de>
359
360 PR middle-end/55022
361 * fold-const.c (negate_expr_p): Don't negate directional rounding
362 division.
363 (fold_negate_expr): Likewise.
364
033aa406
RB
3652014-04-14 Richard Biener <rguenther@suse.de>
366
367 PR tree-optimization/59817
368 PR tree-optimization/60453
369 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
370 recursion to catch all CHRECs in the scalar evolution and restrict
371 the predicate for the remains appropriately.
372
5e7d8b4c
RS
3732014-04-12 Catherine Moore <clm@codesourcery.com>
374
375 * config/mips/constraints.md: Add new register constraint "kb".
376 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
377 (*movhi_internal): Likewise.
378 (*movqi_internal): Likewise.
379 * config/mips/mips.h (M16_STORE_REGS): New register class.
380 (REG_CLASS_NAMES): Add M16_STORE_REGS.
381 (REG_CLASS_CONTENTS): Likewise.
382 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
383
cbbd2b1c
TB
3842014-04-11 Tobias Burnus <burnus@net-b.de>
385
386 PR c/60194
387 * doc/invoke.texi (-Wformat-signedness): Document it.
388 (Wformat=2): Mention that this enables -Wformat-signedness.
389
d9bb5800
JR
3902014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
391
392 * common/config/epiphany/epiphany-common.c
393 (epiphany_option_optimization_table): Enable section anchors by
394 default at -O1 or higher.
395 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
396 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
397 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
398 carries no extra cost.
399 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
400 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
401 * config/epiphany/predicates.md (memclob_operand): New predicate.
402 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
403 Use memclob_operand predicate and X constraint for operand 3.
404
b5d0ecea
JR
4052014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
406
407 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
408 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
409 its operands.
410
473fd99a
JR
4112014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
412
413 PR rtl-optimization/60651
414 * mode-switching.c (optimize_mode_switching): Make sure to emit
415 sets of a lower numbered entity before sets of a higher numbered
416 entity to a mode of the same or lower priority.
417 When creating a seginfo for a basic block that starts with a code
418 label, move the insertion point past the code label.
419 (new_seginfo): Document and enforce requirement that
420 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
421 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
422 * doc/tm.texi: Regenerate.
423
6ace1161
JR
4242014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
425
426 PR target/60811
427 * config/arc/arc.c (arc_save_restore): Fix assert typo.
428
89eb97de
JJ
4292013-04-11 Jakub Jelinek <jakub@redhat.com>
430
6602e7fc 431 * BASE-VER: Set to 4.10.0.
89eb97de 432
9d0c7214
TB
4332014-04-11 Tobias Burnus <burnus@net-b.de>
434
435 PR other/59055
e0a81db1 436 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
437 * doc/gcc.texi (Service): Update description in the @menu
438 * doc/invoke.texi (Option Summary): Remove misplaced and
439 duplicated @menu.
440
3662b277
SE
4412014-04-11 Steve Ellcey <sellcey@mips.com>
442 Jakub Jelinek <jakub@redhat.com>
443
444 PR middle-end/60556
445 * expr.c (convert_move): Use emit_store_flag_force instead of
446 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
447 argument to it.
448
8330537b
RB
4492014-04-11 Richard Biener <rguenther@suse.de>
450
451 PR middle-end/60797
452 * varasm.c (assemble_alias): Avoid endless error reporting
453 recursion by setting TREE_ASM_WRITTEN.
454
3c91f126
AK
4552014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
456
457 * config/s390/s390.md: Add a splitter for NOT rtx.
458
d8d6ea53
JJ
4592014-04-11 Jakub Jelinek <jakub@redhat.com>
460
461 PR rtl-optimization/60663
e0a81db1 462 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 463
fa5866c0
JJ
4642014-04-10 Jan Hubicka <hubicka@ucw.cz>
465 Jakub Jelinek <jakub@redhat.com>
073afca6 466
fa5866c0 467 PR lto/60567
e0a81db1
UB
468 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
469 flag from decl_node to node.
073afca6 470
b322c36a
RR
4712014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
472
473 PR debug/60655
474 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
475 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
476 ameliorating the cases where it can be.
477
8267f6bb
DE
4782014-04-09 David Edelsohn <dje.gcc@gmail.com>
479
480 Revert
481 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
482
483 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
484 (loadsync_<mode>): Change mode.
485 (load_quadpti, store_quadpti): New.
486 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
487 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
488 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
489
5d1a5a53
CH
4902014-04-09 Cong Hou <congh@google.com>
491
492 PR testsuite/60773
493 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
494 documentation.
495
da90fa4c
BS
4962014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
497
498 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
499 instead of vnor to exploit possible fusion opportunity in the
500 future.
501 (altivec_expand_vec_perm_const_le): Likewise.
502
98e6ecab
PH
5032014-04-08 Pat Haugen <pthaugen@us.ibm.com>
504
505 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
506 (loadsync_<mode>): Change mode.
507 (load_quadpti, store_quadpti): New.
508 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
509 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
510
8418cf33
RS
5112014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
512
513 PR target/60763
514 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
515 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
516 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
517
3fa68ccb
RB
5182014-04-08 Richard Biener <rguenther@suse.de>
519
520 PR middle-end/60706
521 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
522 a 64bit widest int print double-int similar to on HWI64 hosts.
523
9038ae48
RB
5242014-04-08 Richard Biener <rguenther@suse.de>
525
526 PR tree-optimization/60785
527 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
528 default defs properly.
529
38f09da3
NS
5302014-04-08 Nathan Sidwell <nathan@codesourcery.com>
531
532 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
533 (Weffc++): Likewise.
534
0439a947
JH
5352014-04-07 Jan Hubicka <hubcika@ucw.cz>
536
537 * ipa-devirt.c (maybe_record_node): When node is not recorded,
538 set completep to false rather than true.
539
3f2f838e
EB
5402014-04-07 Douglas B Rupp <rupp@adacore.com>
541
542 PR target/60504
543 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
544 ARM_TARGET2_DWARF_FORMAT.
545
e75c1617
CB
5462014-04-07 Charles Baylis <charles.baylis@linaro.org>
547
548 PR target/60609
549 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
550 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
551 ADDR_DIFF_VEC.
552
d6adff07
RB
5532014-04-07 Richard Biener <rguenther@suse.de>
554
555 PR tree-optimization/60766
3f2f838e
EB
556 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
557 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 558
da34ade5
JM
5592014-04-07 Jason Merrill <jason@redhat.com>
560
561 PR c++/60731
562 * common.opt (-fno-gnu-unique): Add.
563 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
564
151e9aac
KT
5652014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
566
567 * haifa-sched.c: Fix outdated function reference and minor
568 grammar errors in introductory comment.
569
308173e3
RB
5702014-04-07 Richard Biener <rguenther@suse.de>
571
572 PR middle-end/60750
573 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
574 for noreturn calls.
575 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
576
a9a302d9
JDA
5772014-04-06 John David Anglin <danglin@gcc.gnu.org>
578
579 PR debug/55794
580 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
581 size accounting for thunks.
582 (pa_asm_output_mi_thunk): Use final_start_function() and
583 final_end_function() to output function start and end directives.
584
576ba35c
PS
5852014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
586
e0a81db1
UB
587 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
588 device specific ISA/ feature information. Remove short_sp and
589 errata_skip ds. Add avr_device_specific_features enum to have device
590 specific info.
576ba35c
PS
591 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
592 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
593 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
594 updated device specific info.
595 * config/avr/avr-mcus.def: Merge device specific details to
596 dev_attribute field.
597 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
598 errata_skip.
599 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
600 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
601 assembler if RMW isa supported by current device.
602 * config/avr/genmultilib.awk: Update as device info structure changed.
603 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
604
ebc047a2
CH
6052014-04-04 Cong Hou <congh@google.com>
606
607 PR tree-optimization/60656
608 * tree-vect-stmts.c (supportable_widening_operation):
609 Fix a bug that elements in a vector with vect_used_by_reduction
610 property are incorrectly reordered when the operation on it is not
611 consistant with the one in reduction operation.
612
b6808818
JDA
6132014-04-04 John David Anglin <danglin@gcc.gnu.org>
614
615 PR rtl-optimization/60155
616 * gcse.c (record_set_data): New function.
617 (single_set_gcse): New function.
618 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
619 (hoist_code): Likewise.
620 (get_pressure_class_and_nregs): Likewise.
621
eabcc725
EB
6222014-04-04 Eric Botcazou <ebotcazou@adacore.com>
623
624 * explow.c (probe_stack_range): Emit a final optimization blockage.
625
e005b753
AG
6262014-04-04 Anthony Green <green@moxielogic.com>
627
628 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
629 typos.
630
8fe91ca8
JH
6312014-04-04 Jan Hubicka <hubicka@ucw.cz>
632
633 PR ipa/59626
634 * lto-cgraph.c (input_overwrite_node): Check that partitioning
635 flags are set only during streaming.
636 * ipa.c (process_references, walk_polymorphic_call_targets,
637 symtab_remove_unreachable_nodes): Drop bodies of always inline
638 after early inlining.
639 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 640
88d94632
RR
6412014-04-04 Jakub Jelinek <jakub@redhat.com>
642 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
643
644 PR debug/60655
645 * dwarf2out.c (const_ok_for_output_1): Reject expressions
646 containing a NOT.
647
094bc219
KT
6482014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
649
650 PR bootstrap/60743
651 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
652 duration.
653 (cortex_a53_fdivd): Likewise.
654
610c8ef0
MJ
6552014-04-04 Martin Jambor <mjambor@suse.cz>
656
657 PR ipa/60640
658 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
659 Adjust all callers.
660 * cgraph.c (clone_of_p): Also return true if thunks match.
661 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
662 cgraph_function_or_thunk_node and an obsolete comment.
663 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
664 file.
665 (build_function_decl_skip_args): Likewise.
666 (set_new_clone_decl_and_node_flags): New function.
667 (duplicate_thunk_for_node): Likewise.
668 (redirect_edge_duplicating_thunks): Likewise.
669 (cgraph_clone_node): New parameter args_to_skip, pass it to
670 redirect_edge_duplicating_thunks which is called instead of
671 cgraph_redirect_edge_callee.
672 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
673 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
674
fc02bcca
JL
6752014-04-04 Jeff Law <law@redhat.com>
676
57ef133b 677 PR target/60657
fc02bcca
JL
678 * config/arm/predicates.md (const_int_I_operand): New predicate.
679 (const_int_M_operand): Similarly.
680 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
681 const_int_operand.
682 (insv_t2, extv_reg, extzv_t2): Likewise.
683 (load_multiple_with_writeback): Similarly for const_int_I_operand.
684 (pop_multiple_with_writeback_and_return): Likewise.
685 (vfp_pop_multiple_with_writeback): Likewise
686
45b62594
RB
6872014-04-04 Richard Biener <rguenther@suse.de>
688
689 PR ipa/60746
690 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
691 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
692 non-GIMPLE_LABELs.
693 * gimplify.h (gimple_add_tmp_var_fn): Declare.
694 * gimplify.c (gimple_add_tmp_var_fn): New function.
695 * gimple-expr.h (create_tmp_reg_fn): Declare.
696 * gimple-expr.c (create_tmp_reg_fn): New function.
697 * gimple-low.c (record_vars_into): Don't change cfun.
698 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
699 code generation without cfun.
700
bb609c35
TS
7012014-04-04 Thomas Schwinge <thomas@codesourcery.com>
702
703 PR bootstrap/60719
704 * Makefile.in (install-driver): Fix shell scripting.
705
090cd8dc
CH
7062014-04-03 Cong Hou <congh@google.com>
707
708 PR tree-optimization/60505
709 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
710 threshold of number of iterations below which no vectorization
711 will be done.
090cd8dc
CH
712 * tree-vect-loop.c (new_loop_vec_info):
713 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
714 * tree-vect-loop.c (vect_analyze_loop_operations):
715 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
716 * tree-vect-loop.c (vect_transform_loop):
717 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
718 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
719 of iterations of the loop and see if we should build the epilogue.
720
bdc67fd6
RB
7212014-04-03 Richard Biener <rguenther@suse.de>
722
e0a81db1 723 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
724 (streamer_tree_cache_create): Adjust.
725 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
726 to allow optional nodes array.
727 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
728 (streamer_tree_cache_append): Likewise.
729 (streamer_tree_cache_create): Create nodes array optionally
730 as specified by parameter.
731 * lto-streamer-out.c (create_output_block): Avoid maintaining
732 the node array in the writer cache.
733 (DFS_write_tree): Remove assertion.
e0a81db1 734 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
735 * lto-streamer-in.c (lto_data_in_create): Adjust for
736 streamer_tree_cache_create prototype change.
737
a0daf659
RB
7382014-04-03 Richard Biener <rguenther@suse.de>
739
740 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
741 set TREE_CHAIN to NULL_TREE.
742
f16c88d2
RB
7432014-04-03 Richard Biener <rguenther@suse.de>
744
745 PR tree-optimization/60740
746 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
747 over all GIMPLE_COND operands.
748
880a467b
NS
7492014-04-03 Nathan Sidwell <nathan@codesourcery.com>
750
751 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
752 (Weffc++): Remove Scott's numbering, merge lists and reference
753 Wnon-virtual-dtor.
754
755 c-family/
756
757 cp/
758 * class.c (accessible_nvdtor_p): New.
759 (check_bases): Don't check base destructor here ...
760 (check_bases_and_members): ... check them here. Trigger on
761 Wnon-virtual-dtor flag.
762 (finish_struct_1): Use accessible_nvdtor_p.
763
764 testsuite/
765 * g++.dg/warn/Wnvdtor.C: Add non-polymorphic case.
766 * g++.dg/warn/Wnvdtor-2.C: New.
767 * g++.dg/warn/Wnvdtor-3.C: New.
768 * g++.dg/warn/Wnvdtor-4.C: New.
769 * g++.dg/warn/Weff1.C: Delete.
770 * g++.old-deja/g++.benjamin/15309-1.C: Delete.
771 * g++.old-deja/g++.benjamin/15309-2.C: Delete.
772
08866760
NC
7732014-04-03 Nick Clifton <nickc@redhat.com>
774
775 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
776 properly.
777
5bed50e8
MJ
7782014-04-03 Martin Jambor <mjambor@suse.cz>
779
780 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
781 mention gcc_unreachable before failing.
782 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
783 removed symbols.
784
3e86c6a8
JH
7852014-04-02 Jan Hubicka <hubicka@ucw.cz>
786
787 PR ipa/60659
e0a81db1
UB
788 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
789 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
790 (possible_polymorphic_call_targets): For inconsistent contexts
791 return empty complete list.
792
2b9912aa
AG
7932014-04-02 Anthony Green <green@moxielogic.com>
794
795 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
796 (extendqisi2, extendhisi2): Define.
797 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
798 (WCHAR_TYPE): Change to unsigned int.
799
1e386bb8
BS
8002014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
801
802 PR tree-optimization/60733
803 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
804 insertion point for PHI candidates to be the end of the feeding
805 block for the PHI argument.
806
f4581282
VM
8072014-04-02 Vladimir Makarov <vmakarov@redhat.com>
808
809 PR rtl-optimization/60650
810 * lra-constraints.c (process_alt_operands): Decrease reject for
811 earlyclobber matching.
812
a9d46e32
AK
8132014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
814
815 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
816
7c40228a
UW
8172014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
818
819 * config/spu/spu.c (pad_bb): Do not crash when the last
820 insn is CODE_FOR_blockage.
821
c6596193
UW
8222014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
823
824 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
825 lies outside the target mode.
826
690c229f
MM
8272014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
828
829 PR target/60735
830 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
831 software floating point or no floating point registers, do not
832 allow any type in the FPRs. Eliminate a test for SPE SIMD types
833 in GPRs that occurs after we tested for GPRs that would never be
834 true.
835
836 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
837 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
838 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
839 specifically allow DDmode, since that does not use the SPE SIMD
840 instructions.
841
dad16761
RB
8422014-04-02 Richard Biener <rguenther@suse.de>
843
844 PR middle-end/60729
845 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
846 MODE_INTs. Properly use negv_optab.
847 (expand_abs): Likewise.
848
a1ce39be
RB
8492014-04-02 Richard Biener <rguenther@suse.de>
850
851 PR bootstrap/60719
852 * Makefile.in (install-driver): Guard extra installs with special
853 names properly.
854
6fb619e4
MM
8552014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
856
857 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
858 Document vec_vgbbd.
859
2a1ffd6d
RH
8602014-04-01 Richard Henderson <rth@redhat.com>
861
862 PR target/60704
863 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
864 alternative enabled before register allocation.
865
98e8dd4d
CLT
8662014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
867
868 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
869 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
870 typo.
871 (nios2_large_got_address): Remove unneeded 'sym' parameter.
872 (nios2_got_address): Update nios2_large_got_address call site.
873 (nios2_delegitimize_address): New function.
874 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
875 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
876 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
877
8785c60a
MH
8782014-04-01 Martin Husemann <martin@duskware.de>
879
880 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
881 for -mabi=32.
882
3343cf6a
RS
8832014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
884
885 PR rtl-optimization/60604
886 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
887 check from register_operand.
888 (register_operand): Redefine in terms of general_operand.
889 (nonmemory_operand): Use register_operand for the non-constant cases.
890
1503cb6b
RB
8912014-04-01 Richard Biener <rguenther@suse.de>
892
e0a81db1 893 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 894
cded08ea
SH
8952014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
896
897 * doc/invoke.texi (mapp-regs): Clarify.
898
7d9088c2
UD
8992014-03-31 Ulrich Drepper <drepper@gmail.com>
900
901 * config/i386/avx512fintrin.h (__v32hi): Define type.
902 (__v64qi): Likewise.
903 (_mm512_set1_epi8): Define.
904 (_mm512_set1_epi16): Define.
905 (_mm512_set4_epi32): Define.
906 (_mm512_set4_epi64): Define.
907 (_mm512_set4_pd): Define.
908 (_mm512_set4_ps): Define.
909 (_mm512_setr4_epi64): Define.
910 (_mm512_setr4_epi32): Define.
911 (_mm512_setr4_pd): Define.
912 (_mm512_setr4_ps): Define.
913 (_mm512_setzero_epi32): Define.
914
c18ff8a4
MJ
9152014-03-31 Martin Jambor <mjambor@suse.cz>
916
917 PR middle-end/60647
918 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
919 callsite_arguments_match_p. Updated all callers. Also check types of
920 corresponding formal parameters and actual arguments.
921 (not_all_callers_have_enough_arguments_p) Renamed to
922 some_callers_have_mismatched_arguments_p.
923
9a96d5b7
YR
9242014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
925
926 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
927
6c031d8d
KV
9282014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
929
930 PR target/60034
931 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
932 section anchor.
933
429749e2
UB
9342014-03-30 Uros Bizjak <ubizjak@gmail.com>
935
936 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
937 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
938 Split out
939 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
940 Use FMAMODE_NOVF512 mode iterator.
941 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
942 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
943 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
944 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
945 Split out
946 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
947 Use VF_128_256 mode iterator.
948 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
949 Ditto.
950
1f91035f
JH
9512014-03-28 Jan Hubicka <hubicka@ucw.cz>
952
953 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
954 static chain if needed.
955
6e071b1e
VM
9562014-03-28 Vladimir Makarov <vmakarov@redhat.com>
957
958 PR target/60697
959 * lra-constraints.c (index_part_to_reg): New.
960 (process_address): Use it.
961
e7f31789 9622014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 963 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
964
965 PR target/60648
4bb66ef3
JJ
966 * expr.c (do_tablejump): Use simplify_gen_binary rather than
967 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 968
4bb66ef3
JJ
969 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
970 creating non-canonical RTL.
e7f31789 971
4cd8957f
JH
9722014-03-28 Jan Hubicka <hubicka@ucw.cz>
973
974 PR ipa/60243
975 * ipa-inline.c (want_inline_small_function_p): Short circuit large
976 functions; reorganize to make cheap checks first.
977 (inline_small_functions): Do not estimate growth when dumping;
978 it is expensive.
979 * ipa-inline.h (inline_summary): Add min_size.
980 (growth_likely_positive): New function.
981 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
982 (set_cond_stmt_execution_predicate): Cleanup.
983 (estimate_edge_size_and_time): Compute min_size.
984 (estimate_calls_size_and_time): Likewise.
985 (estimate_node_size_and_time): Likewise.
986 (inline_update_overall_summary): Update min_size.
987 (do_estimate_edge_time): Likewise.
988 (do_estimate_edge_size): Update.
989 (do_estimate_edge_hints): Update.
990 (growth_likely_positive): New function.
991
ff76f4e2
JJ
9922014-03-28 Jakub Jelinek <jakub@redhat.com>
993
994 PR target/60693
995 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
996 also if addr has VOIDmode.
997
ed6eb6dc
KT
9982014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
999
1000 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
1001 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
1002 Declare extern.
1003 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
1004 instructions as well as AdvancedSIMD loads.
1005
b10baa95
KT
10062014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1007
1008 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
1009 Use crypto_aese type.
1010 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
1011 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
1012 crypto_aese, crypto_aesmc. Move to types.md.
1013 * config/arm/types.md (crypto_aes): Split into crypto_aese,
1014 crypto_aesmc.
1015 * config/arm/iterators.md (crypto_type): Likewise.
1016
23a04216
JH
10172014-03-28 Jan Hubicka <hubicka@ucw.cz>
1018
1019 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
1020 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
1021 remove LHS.
23a04216 1022
a4971e68
VM
10232014-03-28 Vladimir Makarov <vmakarov@redhat.com>
1024
1025 PR target/60675
1026 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
1027 regs from checking multi-reg pseudos.
1028
7ac84c02
RR
10292014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1030
1031 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
1032
bd302a18
UW
10332014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1034
1035 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
1036 if it would clobber the stack pointer, even temporarily.
1037
cee9defb
EB
10382014-03-28 Eric Botcazou <ebotcazou@adacore.com>
1039
1040 * mode-switching.c: Make small adjustments to the top comment.
1041
117f16fb
MM
10422014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1043
1044 * config/rs6000/constraints.md (wD constraint): New constraint to
1045 match the constant integer to get the top DImode/DFmode out of a
1046 vector in a VSX register.
1047
1048 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
1049 match the constant integer to get the top DImode/DFmode out of a
1050 vector in a VSX register.
1051
1052 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
1053 for ISA 2.07.
1054
1055 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1056 vbpermq builtins.
1057
1058 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
1059 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
1060
1061 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
1062 Optimize vec_extract of 64-bit values, where the value being
1063 extracted is in the top word, where we can use scalar
1064 instructions. Add direct move and store support. Combine the big
429749e2 1065 endian/little endian vector select load support into a single insn.
117f16fb
MM
1066 (vsx_extract_<mode>_internal1): Likewise.
1067 (vsx_extract_<mode>_internal2): Likewise.
1068 (vsx_extract_<mode>_load): Likewise.
1069 (vsx_extract_<mode>_store): Likewise.
1070 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
1071 combined into vsx_extract_<mode>_load.
1072 (vsx_extract_<mode>_one_le): Likewise.
1073
1074 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
1075 define the top 64-bit vector element.
1076
1077 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
1078 constraint.
1079
6788164b
MM
1080 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1081 Document vec_vbpermq builtin.
1082
117f16fb
MM
1083 PR target/60672
1084 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
1085 enable use of xxsldwi and xxpermdi builtin functions.
1086 (vec_xxpermdi): Likewise.
1087
1088 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1089 Document use of vec_xxsldwi and vec_xxpermdi builtins.
1090
9e038952
VM
10912014-03-27 Vladimir Makarov <vmakarov@redhat.com>
1092
1093 PR rtl-optimization/60650
f4581282 1094 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
1095 first_p. Use it.
1096 (find_spills_for): New.
1097 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
1098 Spill all pseudos on the second iteration.
1099
324dc401
MP
11002014-03-27 Marek Polacek <polacek@redhat.com>
1101
1102 PR c/50347
1103 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
1104 types.
1105
6e77facf
AK
11062014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1107
1108 * config/s390/s390.c (s390_can_use_return_insn): Check for
1109 call-saved FPRs on 31 bit.
1110
47519a14
JJ
11112014-03-27 Jakub Jelinek <jakub@redhat.com>
1112
1113 PR middle-end/60682
1114 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
1115 if they need regimplification, just drop them instead of
1116 calling gimple_regimplify_operands on them.
1117
0b7f8166
MS
11182014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
1119
1120 PR target/60580
1121 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
1122 (aarch64_frame_pointer_required): Adjust logic.
1123 (aarch64_can_eliminate): Adjust logic.
1124 (aarch64_override_options_after_change): Adjust logic.
1125
2f2a7d15
DC
11262014-03-27 Dehao Chen <dehao@google.com>
1127
1128 * ipa-inline.c (early_inliner): Update node's inline info.
1129
a0dbf285
DC
11302014-03-26 Dehao Chen <dehao@google.com>
1131
1132 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
1133 compiler inserted conditional jumps for NAN float check.
1134
ed0ca1e1
JJ
11352014-03-26 Jakub Jelinek <jakub@redhat.com>
1136
07d72e1d
JJ
1137 * ubsan.h (ubsan_create_data): Change second argument's type
1138 to const location_t *.
1139 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
1140 _("<unknown>").
1141 (ubsan_create_data): Change second argument to const location_t *PLOC.
1142 Create Loc field whenever PLOC is non-NULL.
1143 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
1144 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
1145 callers.
1146
ed0ca1e1
JJ
1147 PR other/59545
1148 * real.c (real_to_integer2): Change type of low to UHWI.
1149
b9487dd8
TB
11502014-03-26 Tobias Burnus <burnus@net-b.de>
1151
1152 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
1153 (CILK_SELF_SPECS): New define.
1154 (driver_self_specs): Use it.
1155
3a2700f6
RB
11562014-03-26 Richard Biener <rguenther@suse.de>
1157
1158 * tree-pretty-print.c (percent_K_format): Implement special
1159 case for LTO and its stripped down BLOCK tree.
1160
368b454d
JJ
11612014-03-26 Jakub Jelinek <jakub@redhat.com>
1162
aa6b742f
JJ
1163 PR sanitizer/60636
1164 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
1165
368b454d
JJ
1166 * tree-vrp.c (simplify_internal_call_using_ranges): If only
1167 one range is range_int_cst_p, but not both, at least optimize
1168 addition/subtraction of 0 and multiplication by 0 or 1.
1169 * gimple-fold.c (gimple_fold_call): Fold
1170 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
1171 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
1172 INTEGER_CSTs, try to fold at least x * 0 and y - y.
1173
c7e30a96
EB
11742014-03-26 Eric Botcazou <ebotcazou@adacore.com>
1175
1176 PR rtl-optimization/60452
1177 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
1178 <case REG>: Return 1 for invalid offsets from the frame pointer.
1179
d615d763
MP
11802014-03-26 Marek Polacek <polacek@redhat.com>
1181
1182 PR c/37428
1183 * doc/extend.texi (C Extensions): Mention variable-length arrays in
1184 a structure/union.
1185
1b226529
MP
11862014-03-26 Marek Polacek <polacek@redhat.com>
1187
1188 PR c/39525
1189 * doc/extend.texi (Designated Inits): Describe what happens to omitted
1190 field members.
1191
6686e0bc
MP
11922014-03-26 Marek Polacek <polacek@redhat.com>
1193
1194 PR other/59545
1195 * ira-color.c (update_conflict_hard_regno_costs): Perform the
1196 multiplication in unsigned type.
1197
d4fbc3ae
CJW
11982014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
1199
1200 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
1201
dfa6c87b
CJW
12022014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
1203
1204 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
1205
9de6f6c3
JH
12062014-03-25 Jan Hubicka <hubicka@ucw.cz>
1207
1208 PR ipa/60315
1209 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
1210 * ipa-inline.c (inline_small_functions): Skip edges to
1211 __builtlin_unreachable.
9de6f6c3
JH
1212 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
1213 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
1214 predicate to __bulitin_unreachable.
429749e2
UB
1215 (set_cond_stmt_execution_predicate): Fix issue when
1216 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
1217 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
1218 propagate to inline clones.
1219 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
1220 to unreachable.
1221 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
1222 * cgraphclones.c (cgraph_clone_node): If call destination is already
1223 ureachable, do not redirect it back.
1224 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
1225 unreachable.
1226
d7636f56
JH
12272014-03-25 Jan Hubicka <hubicka@ucw.cz>
1228
1229 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
1230 Do not modify inline clones.
1231
d1873c57
JJ
12322014-03-25 Jakub Jelinek <jakub@redhat.com>
1233
1234 * config/i386/i386.md (general_sext_operand): New mode attr.
1235 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
1236 don't generate (sign_extend (const_int)).
1237 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
1238 operands[2]. Use We constraint instead of <i> and
1239 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
1240 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
1241 * config/i386/constraints.md (We): New constraint.
1242 * config/i386/predicates.md (x86_64_sext_operand,
1243 sext_operand): New predicates.
1244
b5165eb0
MJ
12452014-03-25 Martin Jambor <mjambor@suse.cz>
1246
1247 PR ipa/60600
1248 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
1249 inconsistent devirtualizations to __builtin_unreachable.
1250
3102858d
MP
12512014-03-25 Marek Polacek <polacek@redhat.com>
1252
1253 PR c/35449
1254 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
1255
4b1e108c
AL
12562014-03-25 Alan Lawrence <alan.lawrence@arm.com>
1257
1258 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
1259 order of elements for big-endian.
1260
40b0722f
RB
12612014-03-25 Richard Biener <rguenther@suse.de>
1262
1263 PR middle-end/60635
1264 * gimplify-me.c (gimple_regimplify_operands): Update the
1265 re-gimplifed stmt.
1266
4a5798de
MJ
12672014-03-25 Martin Jambor <mjambor@suse.cz>
1268
1269 PR ipa/59176
1270 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
1271 (lto_output_varpool_node): Likewise.
1272 (input_overwrite_node): Likewise.
1273 (input_varpool_node): Likewise.
1274
585d0088
RB
12752014-03-25 Richard Biener <rguenther@suse.de>
1276
429749e2 1277 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
1278 (run_gcc): Likewise.
1279
a8acccdd
JJ
12802014-03-25 Jakub Jelinek <jakub@redhat.com>
1281
51ee05d0
JJ
1282 * combine.c (simplify_compare_const): Add MODE argument.
1283 Handle mode_width 0 as very large mode_width.
1284 (try_combine, simplify_comparison): Adjust callers.
1285
a8acccdd
JJ
1286 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
1287 type to avoid signed integer overflow.
1288 * explow.c (plus_constant): Likewise.
1289
57fc74a4
DV
12902014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
1291
1292 * doc/generic.texi: Correct typos.
1293
09f15d1b
TB
12942014-03-24 Tobias Burnus <burnus@net-b.de>
1295
1296 * doc/invoke.texi (-flto): Expand section about
1297 using static libraries with LTO.
1298
72a4ddf2
AK
12992014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1300
1301 PR rtl-optimization/60501
1302 * optabs.def (addptr3_optab): New optab.
1303 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
1304 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
1305 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
1306
1307 * lra.c (emit_add3_insn): Use the addptr pattern if available.
1308
1309 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
1310
0b192937
UD
13112014-03-24 Ulrich Drepper <drepper@gmail.com>
1312
2b2384e8
UD
1313 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
1314 _mm512_set1_pd.
1315
0b192937
UD
1316 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
1317 (_mm256_undefined_ps): Define.
1318 (_mm256_undefined_pd): Define.
1319 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
1320 (_mm_undefined_pd): Define.
1321 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
1322 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
1323 (_mm512_undefined_ps): Define.
1324 (_mm512_undefined_pd): Define.
1325 Use _mm*_undefined_*.
1326 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
1327
252c7556
AV
13282014-03-24 Alex Velenko <Alex.Velenko@arm.com>
1329
1330 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
1331 (lshr_simd): DI mode added.
1332 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
1333 (aarch64_ushr_simddi): Likewise.
1334 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
1335 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
1336 (vshrd_n_u64): Likewise.
1337
15e3d4f1
RO
13382014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1339
1340 * Makefile.in (s-macro_list): Depend on cc1.
1341
1858c2d3
TJ
13422014-03-23 Teresa Johnson <tejohnson@google.com>
1343
1344 * ipa-utils.c (ipa_print_order): Use specified dump file.
1345
f87604f8
EB
13462014-03-23 Eric Botcazou <ebotcazou@adacore.com>
1347
1348 PR rtl-optimization/60601
1349 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
1350
1351 * gcc.c (eval_spec_function): Initialize save_growing_value.
1352
3db31fd1
JJ
13532014-03-22 Jakub Jelinek <jakub@redhat.com>
1354
f451d3a8
JJ
1355 PR sanitizer/60613
1356 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
1357 code == MINUS_EXPR, never swap op0 with op1.
1358
3db31fd1
JJ
1359 * toplev.c (init_local_tick): Avoid signed integer multiplication
1360 overflow.
1361 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
1362 shift by first operand's bitsize.
1363
e49080ec
JJ
13642014-03-21 Jakub Jelinek <jakub@redhat.com>
1365
1366 PR target/60610
1367 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
1368 redefine to 1 or 0.
1369 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
1370 TARGET_ISA_64BIT_P(x).
1371
44eb6c40
BS
13722014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1373
1374 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
1375 pattern for vector nor instead of subtract from splat(-1).
1376 (altivec_expand_vec_perm_const_le): Likewise.
1377
ec6f831a
RH
13782014-03-21 Richard Henderson <rth@twiddle.net>
1379
1380 PR target/60598
1381 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
1382 related insns after epilogue_completed.
1383
3d8d0043
MJ
13842014-03-21 Martin Jambor <mjambor@suse.cz>
1385
1386 PR ipa/59176
1387 * cgraph.h (symtab_node): New flag body_removed.
1388 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
1389 when removing bodies.
1390 * symtab.c (dump_symtab_base): Dump body_removed flag.
1391 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
1392 had their bodies removed.
1393
d833415c
MJ
13942014-03-21 Martin Jambor <mjambor@suse.cz>
1395
1396 PR ipa/60419
1397 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
1398 in the border.
1399
400a4f6c
RB
14002014-03-21 Richard Biener <rguenther@suse.de>
1401
1402 PR tree-optimization/60577
1403 * tree-core.h (struct tree_base): Document nothrow_flag use
1404 in VAR_DECL_NONALIASED.
1405 * tree.h (VAR_DECL_NONALIASED): New.
1406 (may_be_aliased): Adjust.
1407 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
1408
c6c2314f
EB
14092014-03-20 Eric Botcazou <ebotcazou@adacore.com>
1410
1411 * expr.c (expand_expr_real_1): Remove outdated comment.
1412
d02b6ac7
JJ
14132014-03-20 Jakub Jelinek <jakub@redhat.com>
1414
b8f045e2
JJ
1415 PR middle-end/60597
1416 * ira.c (adjust_cleared_regs): Call copy_rtx on
1417 *reg_equiv[REGNO (loc)].src_p before passing it to
1418 simplify_replace_fn_rtx.
1419
d02b6ac7
JJ
1420 PR target/60568
1421 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
1422 into CONST, put pic register as first operand of PLUS. Use
1423 gen_const_mem for both 32-bit and 64-bit PIC got loads.
1424
e2f98c01
RR
14252014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1426
1427 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
1428
7075c792
EB
14292014-03-20 Eric Botcazou <ebotcazou@adacore.com>
1430
1431 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
1432 around for store forwarding issue in the FPU on the UT699.
1433 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
1434 loads and operations if -mfix-ut699 is specified.
1435 (divtf3_hq): Tweak attribute.
1436 (sqrttf2_hq): Likewise.
1437
9ee5337d
EB
14382014-03-20 Eric Botcazou <ebotcazou@adacore.com>
1439
1440 * calls.c (store_one_arg): Remove incorrect const qualification on the
1441 type of the temporary.
1442 * cfgexpand.c (expand_return): Likewise.
1443 * expr.c (expand_constructor): Likewise.
1444 (expand_expr_real_1): Likewise.
1445
a69e09c8
ZC
14462014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1447
1448 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
1449 of parts.
1450
8659d57b
KK
14512014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
1452
1453 PR target/60039
1454 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
1455
985e0d33
JG
14562014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
1457
1458 * config/arm/aarch-common-protos.h
1459 (alu_cost_table): Fix spelling of "extend".
1460 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
1461
ce2f49b3
RB
14622014-03-19 Richard Biener <rguenther@suse.de>
1463
1464 PR middle-end/60553
1465 * tree-core.h (tree_type_common): Re-order pointer members
1466 to reduce recursion depth during GC walks.
1467
6daa2d91
MP
14682014-03-19 Marek Polacek <polacek@redhat.com>
1469
1470 PR sanitizer/60569
1471 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
1472 before accessing it.
1473
8c9cfbe6
RB
14742014-03-19 Richard Biener <rguenther@suse.de>
1475
1476 PR lto/59543
1477 * lto-streamer-in.c (input_function): In WPA stage do not drop
1478 debug stmts.
1479
3efe2e2c
JJ
14802014-03-19 Jakub Jelinek <jakub@redhat.com>
1481
1482 PR tree-optimization/60559
1483 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
1484 with build_zero_cst assignment.
1485
234f76cb
KT
14862014-03-18 Kai Tietz <ktietz@redhat.com>
1487
1488 PR rtl-optimization/56356
1489 * sdbout.c (sdbout_parms): Verify that parms'
1490 incoming argument is valid.
1491 (sdbout_reg_parms): Likewise.
1492
58ca6edf
RH
14932014-03-18 Richard Henderson <rth@redhat.com>
1494
1495 PR target/60562
1496 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
1497 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 1498 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
1499
15002014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
1501
4bb66ef3 1502 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 1503 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 1504 Italicize plugin event names in description. Explain that
429749e2
UB
1505 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
1506 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 1507 Explain what pragmas with expansion are.
b318e404 1508
eb14a79f
ML
15092014-03-18 Martin Liska <mliska@suse.cz>
1510
1511 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
1512 gimple call statement is update.
1513 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
1514 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
1515
415e2e6b
JJ
15162014-03-18 Jakub Jelinek <jakub@redhat.com>
1517
ead96f13
JJ
1518 PR sanitizer/60557
1519 * ubsan.c (ubsan_instrument_unreachable): Call
1520 initialize_sanitizer_builtins.
1521 (ubsan_pass): Likewise.
1522
415e2e6b
JJ
1523 PR sanitizer/60535
1524 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
1525 varpool_finalize_decl instead of rest_of_decl_compilation.
1526
4ca40f52
RB
15272014-03-18 Richard Biener <rguenther@suse.de>
1528
1529 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
1530 by using bitmap_and_compl instead of bitmap_and_compl_into.
1531 (df_rd_transfer_function): Likewise.
1532
6404e190
RB
15332014-03-18 Richard Biener <rguenther@suse.de>
1534
1535 * doc/lto.texi (fresolution): Fix typo.
1536
b9abf793
RB
15372014-03-18 Richard Biener <rguenther@suse.de>
1538
1539 * doc/invoke.texi (flto): Update for changes in 4.9.
1540
3f00cf18
RB
15412014-03-18 Richard Biener <rguenther@suse.de>
1542
1543 * doc/loop.texi: Remove section on the removed lambda framework.
1544 Update loop docs with recent changes in preserving loop structure.
1545
c2679d84
RB
15462014-03-18 Richard Biener <rguenther@suse.de>
1547
1548 * doc/lto.texi (-fresolution): Document.
1549
c07990cc
RB
15502014-03-18 Richard Biener <rguenther@suse.de>
1551
1552 * doc/contrib.texi: Adjust my name.
1553
ed9c79e1
JJ
15542014-03-18 Jakub Jelinek <jakub@redhat.com>
1555
1556 PR ipa/58721
1557 * internal-fn.c: Include diagnostic-core.h.
1558 (expand_BUILTIN_EXPECT): New function.
1559 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
1560 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
1561 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
1562 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
1563 IFN_BUILTIN_EXPECT.
1564 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
1565 Revert 3 argument __builtin_expect code.
1566 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
1567 * gimple-fold.c (gimple_fold_call): Likewise.
1568 * tree.h (fold_builtin_expect): New prototype.
1569 * builtins.c (build_builtin_expect_predicate): Add predictor
1570 argument, if non-NULL, create 3 argument __builtin_expect.
1571 (fold_builtin_expect): No longer static. Add ARG2 argument,
1572 pass it through to build_builtin_expect_predicate.
1573 (fold_builtin_2): Adjust caller.
1574 (fold_builtin_3): Handle BUILT_IN_EXPECT.
1575 * internal-fn.def (BUILTIN_EXPECT): New.
1576
15772014-03-18 Tobias Burnus <burnus@net-b.de>
1578
1579 PR ipa/58721
1580 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
1581 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
1582 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
1583
15842014-03-18 Jan Hubicka <hubicka@ucw.cz>
1585
1586 PR ipa/58721
1587 * predict.c (combine_predictions_for_bb): Fix up formatting.
1588 (expr_expected_value_1, expr_expected_value): Add predictor argument,
1589 fill what it points to if non-NULL.
1590 (tree_predict_by_opcode): Adjust caller, use the predictor.
1591 * predict.def (PRED_COMPARE_AND_SWAP): Add.
1592
e33da4a1
EB
15932014-03-18 Eric Botcazou <ebotcazou@adacore.com>
1594
1595 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
1596 proper constant for the store mode.
1597
1fed15fc
IE
15982014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
1599
1600 * symtab.c (change_decl_assembler_name): Fix transparent alias
1601 chain construction.
1602
454fdba9
RL
16032014-03-16 Renlin Li <Renlin.Li@arm.com>
1604
1605 * config/aarch64/aarch64.c: Correct the comments about the
1606 aarch64 stack layout.
1607
e2110f8f
TS
16082014-03-18 Thomas Schwinge <thomas@codesourcery.com>
1609
1610 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
1611 check for GF_OMP_FOR_KIND_FOR.
1612
7c831c4d
KY
16132013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
1614
1615 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
1616 ymm and zmm register names.
1617
e318c1e1
JJ
16182014-03-17 Jakub Jelinek <jakub@redhat.com>
1619
1620 PR target/60516
1621 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
1622 note creation for the 2010-08-31 changes.
1623
ab2ffbeb
MP
16242014-03-17 Marek Polacek <polacek@redhat.com>
1625
1626 PR middle-end/60534
1627 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
1628 as -fno-tree-loop-vectorize.
1629 (expand_omp_simd): Likewise.
1630
890fa568
EB
16312014-03-15 Eric Botcazou <ebotcazou@adacore.com>
1632
1633 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
1634 (eligible_for_call_delay): New prototype.
1635 * config/sparc/sparc.c (tls_call_delay): Rename into...
1636 (eligible_for_call_delay): ...this. Return false if the instruction
1637 cannot be put in the delay slot of a branch.
1638 (eligible_for_restore_insn): Simplify.
1639 (eligible_for_return_delay): Return false if the instruction cannot be
1640 put in the delay slot of a branch and simplify.
1641 (eligible_for_sibcall_delay): Return false if the instruction cannot be
1642 put in the delay slot of a branch.
1643 * config/sparc/sparc.md (fix_ut699): New attribute.
1644 (tls_call_delay): Delete.
1645 (in_call_delay): Reimplement.
1646 (eligible_for_sibcall_delay): Rename into...
1647 (in_sibcall_delay): ...this.
1648 (eligible_for_return_delay): Rename into...
1649 (in_return_delay): ...this.
1650 (in_branch_delay): Reimplement.
1651 (in_uncond_branch_delay): Delete.
1652 (in_annul_branch_delay): Delete.
1653
cfce90ac
RH
16542014-03-14 Richard Henderson <rth@redhat.com>
1655
1656 PR target/60525
1657 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
1658 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
1659 (*floathi<X87MODEF>2_i387_with_temp): Remove.
1660 (floathi splitters): Remove.
1661 (float<SWI48x>xf2): New pattern.
1662 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
1663 code that tried to handle DImode for 32-bit, but which was excluded
1664 by the pattern's condition. Drop allocation of stack temporary.
1665 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
1666 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
1667 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
1668 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
1669 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
1670 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
1671 (*float<SWI48><MODEF>2_sse_interunit): Remove.
1672 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
1673 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
1674 (*float<SWI48x><X87MODEF>2_i387): Remove.
1675 (all float _with_temp splitters): Remove.
1676 (*float<SWI48x><MODEF>2_i387): New pattern.
1677 (*float<SWI48><MODEF>2_sse): New pattern.
1678 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
1679 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
1680
91035653
JJ
16812014-03-14 Jakub Jelinek <jakub@redhat.com>
1682 Marek Polacek <polacek@redhat.com>
1683
1684 PR middle-end/60484
1685 * common.opt (dump_base_name_prefixed): New Variable.
1686 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
1687 if x_dump_base_name_prefixed is already set, set it at the end.
1688
95921002
VM
16892014-03-14 Vladimir Makarov <vmakarov@redhat.com>
1690
1691 PR rtl-optimization/60508
1692 * lra-constraints.c (get_reload_reg): Add new parameter
1693 in_subreg_p.
1694 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
1695 Pass the new parameter values.
1696
25e57622
RB
16972014-03-14 Richard Biener <rguenther@suse.de>
1698
1699 * common.opt: Revert unintented changes from r205065.
1700 * opts.c: Likewise.
1701
1f3388fe
RB
17022014-03-14 Richard Biener <rguenther@suse.de>
1703
1704 PR middle-end/60518
1705 * cfghooks.c (split_block): Properly adjust all loops the
1706 block was a latch of.
1707
17082014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
1709
1710 PR lto/60461
1711 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
1712 and simplify it.
1713
2832dc22
GJL
17142014-03-14 Georg-Johann Lay <avr@gjlay.de>
1715
1716 PR target/59396
1717 * config/avr/avr.c (avr_set_current_function): Pass function name
1718 through default_strip_name_encoding before sanity checking instead
1719 of skipping the first char of the assembler name.
1720
3386d77e
RH
17212014-03-13 Richard Henderson <rth@redhat.com>
1722
1723 PR debug/60438
1724 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
1725 (ix86_force_to_memory, ix86_free_from_memory): Remove.
1726 * config/i386/i386-protos.h: Likewise.
1727 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
1728 in the expander instead of a splitter.
1729 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
1730 any possibility of requiring a memory.
1731 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
1732 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
1733 (fp branch splitters): Update for ix86_split_fp_branch.
1734 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
1735 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
1736 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
1737 (*fop_<MODEF>_2_i387): Remove f/r alternative.
1738 (*fop_<MODEF>_3_i387): Likewise.
1739 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
1740 (splitters for the fop_* register patterns): Remove.
1741 (fscalexf4_i387): Rename from *fscalexf4_i387.
1742 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 1743
5b5d7f31
JJ
17442014-03-13 Jakub Jelinek <jakub@redhat.com>
1745
1746 PR tree-optimization/59779
1747 * tree-dfa.c (get_ref_base_and_extent): Use double_int
1748 type for bitsize and maxsize instead of HOST_WIDE_INT.
1749
bdc6e1ae
SB
17502014-03-13 Steven Bosscher <steven@gcc.gnu.org>
1751
1752 PR rtl-optimization/57320
1753 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
1754 the CFG after thread_prologue_and_epilogue_insns.
1755
7891065a
VM
17562014-03-13 Vladimir Makarov <vmakarov@redhat.com>
1757
1758 PR rtl-optimization/57189
1759 * lra-constraints.c (process_alt_operands): Disfavor spilling
1760 vector pseudos.
1761
eba14fca
CP
17622014-03-13 Cesar Philippidis <cesar@codesourcery.com>
1763
429749e2 1764 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 1765
f661b085
JJ
17662014-03-13 Jakub Jelinek <jakub@redhat.com>
1767
1768 PR tree-optimization/59025
1769 PR middle-end/60418
1770 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
1771 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
1772
8f3a3138
GJL
17732014-03-13 Georg-Johann Lay <avr@gjlay.de>
1774
1775 PR target/60486
1776 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
1777 calls of avr_out_plus_1.
1778
d731ee04
BC
17792014-03-13 Bin Cheng <bin.cheng@arm.com>
1780
1781 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
1782 BB's single pred and update the father loop's latch info later.
1783
a16a872d
MM
17842014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
1785
1786 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
1787 (VEC_M): Likewise.
1788 (VEC_N): Likewise.
1789 (VEC_R): Likewise.
1790 (VEC_base): Likewise.
1791 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
1792 registers, we need to swap double words in little endian mode.
1793
1794 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
1795 to be a container mode for 128-bit integer operations added in ISA
1796 2.07. Unlike TImode and PTImode, the preferred register set is
1797 the Altivec/VMX registers for the 128-bit operations.
1798
1799 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
1800 declarations.
1801 (rs6000_split_128bit_ok_p): Likewise.
1802
1803 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
1804 macros for creating ISA 2.07 normal and overloaded builtin
1805 functions with 3 arguments.
1806 (BU_P8V_OVERLOAD_3): Likewise.
1807 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
1808 for use as overloaded functions.
1809 (VPERM_1TI_UNS): Likewise.
1810 (VSEL_1TI): Likewise.
1811 (VSEL_1TI_UNS): Likewise.
1812 (ST_INTERNAL_1ti): Likewise.
1813 (LD_INTERNAL_1ti): Likewise.
1814 (XXSEL_1TI): Likewise.
1815 (XXSEL_1TI_UNS): Likewise.
1816 (VPERM_1TI): Likewise.
1817 (VPERM_1TI_UNS): Likewise.
1818 (XXPERMDI_1TI): Likewise.
1819 (SET_1TI): Likewise.
1820 (LXVD2X_V1TI): Likewise.
1821 (STXVD2X_V1TI): Likewise.
1822 (VEC_INIT_V1TI): Likewise.
1823 (VEC_SET_V1TI): Likewise.
1824 (VEC_EXT_V1TI): Likewise.
1825 (EQV_V1TI): Likewise.
1826 (NAND_V1TI): Likewise.
1827 (ORC_V1TI): Likewise.
1828 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
1829 added in ISA 2.07. Add both normal 'altivec' builtins, and the
1830 overloaded builtin.
1831 (VADDUQM): Likewise.
1832 (VSUBCUQ): Likewise.
1833 (VADDEUQM): Likewise.
1834 (VADDECUQ): Likewise.
1835 (VSUBEUQM): Likewise.
1836 (VSUBECUQ): Likewise.
1837
1838 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
1839 __int128_t and __uint128_t types.
1840 (__uint128_type): Likewise.
1841 (altivec_categorize_keyword): Add support for vector __int128_t,
1842 vector __uint128_t, vector __int128, and vector unsigned __int128
1843 as a container type for TImode operations that need to be done in
1844 VSX/Altivec registers.
1845 (rs6000_macro_to_expand): Likewise.
1846 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
1847 to support 128-bit integer instructions vaddcuq, vadduqm,
1848 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
1849 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
1850
1851 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
1852 for V1TImode, and set up preferences to use VSX/Altivec registers.
1853 Setup VSX reload handlers.
a16a872d
MM
1854 (rs6000_debug_reg_global): Likewise.
1855 (rs6000_init_hard_regno_mode_ok): Likewise.
1856 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 1857 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
1858 (easy_altivec_constant): Likewise.
1859 (output_vec_const_move): Likewise.
1860 (rs6000_expand_vector_set): Convert V1TImode set and extract to
1861 simple move.
1862 (rs6000_expand_vector_extract): Likewise.
1863 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
1864 addressing.
1865 (rs6000_const_vec): Add support for V1TImode.
1866 (rs6000_emit_le_vsx_load): Swap double words when loading or
1867 storing TImode/V1TImode.
1868 (rs6000_emit_le_vsx_store): Likewise.
1869 (rs6000_emit_le_vsx_move): Likewise.
1870 (rs6000_emit_move): Add support for V1TImode.
1871 (altivec_expand_ld_builtin): Likewise.
1872 (altivec_expand_st_builtin): Likewise.
1873 (altivec_expand_vec_init_builtin): Likewise.
1874 (altivec_expand_builtin): Likewise.
1875 (rs6000_init_builtins): Add support for V1TImode type. Add
1876 support for ISA 2.07 128-bit integer builtins. Define type names
1877 for the VSX/Altivec vector types.
1878 (altivec_init_builtins): Add support for overloaded vector
1879 functions with V1TImode type.
0bb29a05 1880 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
1881 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
1882 external function.
1883 (rs6000_split_128bit_ok_p): Likewise.
1884 (rs6000_handle_altivec_attribute): Create V1TImode from vector
1885 __int128_t and vector __uint128_t.
1886
1887 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
1888 and mode attributes.
1889 (VSX_M): Likewise.
1890 (VSX_M2): Likewise.
1891 (VSm): Likewise.
1892 (VSs): Likewise.
1893 (VSr): Likewise.
1894 (VSv): Likewise.
1895 (VS_scalar): Likewise.
1896 (VS_double): Likewise.
0bb29a05 1897 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 1898
0bb29a05
UB
1899 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
1900 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
1901 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
1902 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
1903 and TImode types for use with the builtin functions.
1904 (V1TI_type_node): Likewise.
1905 (unsigned_V1TI_type_node): Likewise.
1906 (intTI_type_internal_node): Likewise.
1907 (uintTI_type_internal_node): Likewise.
1908
0bb29a05
UB
1909 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
1910 128-bit builtin functions.
a16a872d
MM
1911 (UNSPEC_VADDEUQM): Likewise.
1912 (UNSPEC_VADDECUQ): Likewise.
1913 (UNSPEC_VSUBCUQ): Likewise.
1914 (UNSPEC_VSUBEUQM): Likewise.
1915 (UNSPEC_VSUBECUQ): Likewise.
1916 (VM): Add V1TImode to vector mode iterators.
1917 (VM2): Likewise.
1918 (VI_unit): Likewise.
1919 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
1920 (altivec_vaddcuq): Likewise.
1921 (altivec_vsubuqm): Likewise.
1922 (altivec_vsubcuq): Likewise.
1923 (altivec_vaddeuqm): Likewise.
1924 (altivec_vaddecuq): Likewise.
1925 (altivec_vsubeuqm): Likewise.
1926 (altivec_vsubecuq): Likewise.
1927
1928 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
1929 mode iterators.
1930 (BOOL_128): Likewise.
1931 (BOOL_REGS_OUTPUT): Likewise.
1932 (BOOL_REGS_OP1): Likewise.
1933 (BOOL_REGS_OP2): Likewise.
1934 (BOOL_REGS_UNARY): Likewise.
1935 (BOOL_REGS_AND_CR0): Likewise.
1936
1937 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
1938 128-bit integer builtin support.
1939 (vec_vadduqm): Likewise.
1940 (vec_vaddecuq): Likewise.
1941 (vec_vaddeuqm): Likewise.
1942 (vec_vsubecuq): Likewise.
1943 (vec_vsubeuqm): Likewise.
1944 (vec_vsubcuq): Likewise.
1945 (vec_vsubuqm): Likewise.
1946
1947 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1948 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
1949 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
1950 128-bit integer add/subtract to ISA 2.07.
1951
eeac7d15
JR
19522014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
1953
1954 * config/arc/arc.c (arc_predicate_delay_insns):
1955 Fix third argument passed to conditionalize_nonjump.
1956
bf0f324e
YZ
19572014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
1958
1959 * config/aarch64/aarch64-builtins.c
1960 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
1961 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
1962 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
1963 instead of __builtin_lfloor.
1964 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
1965
bf4787b2
JJ
19662014-03-12 Jakub Jelinek <jakub@redhat.com>
1967
1968 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
1969 (tree_ssa_ifcombine_bb_1): New function.
1970 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
1971 is an empty forwarder block to then_bb or vice versa and then_bb
1972 and else_bb are effectively swapped.
1973
7d55b948
CB
19742014-03-12 Christian Bruel <christian.bruel@st.com>
1975
1976 PR target/60264
0bb29a05
UB
1977 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
1978 REG_CFA_DEF_CFA note.
7d55b948
CB
1979 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
1980 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
1981
882a5fbe
TP
19822014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
1983
1984 PR tree-optimization/60454
1985 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
1986
a3cd0246
KT
19872014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1988
1989 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
1990 Do not define target_cpu_default2 to generic.
1991 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
1992 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
1993 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
1994
c888139c
JJ
19952014-03-12 Jakub Jelinek <jakub@redhat.com>
1996 Marc Glisse <marc.glisse@inria.fr>
1997
1998 PR tree-optimization/60502
1999 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
2000 instead of build_low_bits_mask.
2001
b24ca895
JJ
20022014-03-12 Jakub Jelinek <jakub@redhat.com>
2003
2004 PR middle-end/60482
2005 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
2006 if there are multiple uses, but op doesn't live on E edge.
2007 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
2008 clobber stmts before __builtin_unreachable.
2009
f1257268
RS
20102014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
2011
2012 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
2013 hard_frame_pointer_rtx.
2014 * cse.c (cse_insn): Remove volatile check.
2015 * cselib.c (cselib_process_insn): Likewise.
2016 * dse.c (scan_insn): Likewise.
2017
bae56bbb
JR
20182014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
2019
0bb29a05
UB
2020 * config/arc/arc.c (conditionalize_nonjump): New function,
2021 broken out of ...
2022 (arc_ifcvt): ... this.
bae56bbb
JR
2023 (arc_predicate_delay_insns): Use it.
2024
167ba5b9
JR
20252014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
2026
2027 * config/arc/predicates.md (extend_operand): During/after reload,
2028 allow const_int_operand.
2029 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
2030 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
2031 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
2032 to "i".
2033 (umulsi3_highpart_i): Likewise.
2034
dfd7d2d6
RB
20352014-03-11 Richard Biener <rguenther@suse.de>
2036
2037 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
2038 Add asserts to guard possible wrong-code bugs.
2039
af1ab449
RB
20402014-03-11 Richard Biener <rguenther@suse.de>
2041
2042 PR tree-optimization/60429
2043 PR tree-optimization/60485
2044 * tree-ssa-structalias.c (set_union_with_increment): Properly
2045 take into account all fields that overlap the shifted vars.
2046 (do_sd_constraint): Likewise.
2047 (do_ds_constraint): Likewise.
2048 (get_constraint_for_ptr_offset): Likewise.
2049
747425d0
CLT
20502014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
2051
2052 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
2053 (nios2_compute_frame_layout):
2054 Add calculation of cfun->machine->fp_save_offset.
2055 (nios2_expand_prologue): Correct setting of frame pointer register
2056 in prologue.
2057 (nios2_expand_epilogue): Update recovery of stack pointer from
2058 frame pointer accordingly.
2059 (nios2_initial_elimination_offset): Update calculation of offset
2060 for eliminating to HARD_FRAME_POINTER_REGNUM.
2061
31dad809
JJ
20622014-03-10 Jakub Jelinek <jakub@redhat.com>
2063
2064 PR ipa/60457
2065 * ipa.c (symtab_remove_unreachable_nodes): Don't call
2066 cgraph_get_create_node on VAR_DECLs.
2067
3c1c08d6
RB
20682014-03-10 Richard Biener <rguenther@suse.de>
2069
2070 PR middle-end/60474
2071 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
2072
21d89690
DR
20732014-03-08 Douglas B Rupp <rupp@gnat.com>
2074
2075 * config/vms/vms.opt (vms_float_format): New variable.
2076
634b8e9b
TB
20772014-03-08 Tobias Burnus <burnus@net-b.de>
2078
0bb29a05 2079 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 2080
f42c637e
PM
20812014-03-08 Paulo Matos <paulo@matos-sorge.com>
2082 Richard Biener <rguenther@suse.de>
2083
2084 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
2085 consistently accross all TUs.
2086 (run_gcc): Enable -fshort-double automatically at link at link-time
2087 and disallow override.
2088
bd65fc87
RS
20892014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
2090
2091 PR target/58271
2092 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
2093 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
2094 if they can't be used.
2095
040c446d
RO
20962014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2097
0bb29a05
UB
2098 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
2099 for Solaris 11/x86 ld.
040c446d
RO
2100 * configure: Regenerate.
2101
caa16d41
RO
21022014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2103
2104 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
2105 (LIB_TLS_SPEC): Save as ld_tls_libs.
2106 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
2107 (HAVE_AS_IX86_TLSLDM): New test.
2108 * configure, config.in: Regenerate.
2109 * config/i386/i386.c (legitimize_tls_address): Fall back to
2110 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
2111 cannot support TLS_MODEL_LOCAL_DYNAMIC.
2112 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
2113 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
2114
f3d83ffe
PM
21152014-03-07 Paulo Matos <paulo@matos-sorge.com>
2116
2117 * common.opt (fira-loop-pressure): Mark as optimization.
2118
b17a8b07
TS
21192014-03-07 Thomas Schwinge <thomas@codesourcery.com>
2120
2121 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
2122 an OpenMP mappable type.
2123
4973b0f9
MK
21242014-03-06 Matthias Klose <doko@ubuntu.com>
2125
2126 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
2127 MULTILIB_OSDIRNAMES is not defined.
2128
ab19cc6c
JJ
21292014-03-06 Jakub Jelinek <jakub@redhat.com>
2130 Meador Inge <meadori@codesourcery.com>
2131
2132 PR target/58595
2133 * config/arm/arm.c (arm_tls_symbol_p): Remove.
2134 (arm_legitimize_address): Call legitimize_tls_address for any
2135 arm_tls_referenced_p expression, handle constant addend. Call it
2136 before testing for !TARGET_ARM.
2137 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
2138
a74158c7
RB
21392014-03-06 Richard Biener <rguenther@suse.de>
2140
2141 PR middle-end/60445
2142 PR lto/60424
2143 PR lto/60427
2144 Revert
2145 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
2146
0bb29a05
UB
2147 * tree-streamer.c (record_common_node): Assert we don't record
2148 nodes with type double.
2149 (preload_common_node): Skip type double, complex double and double
2150 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 2151
f3ba16d0
RB
21522014-03-06 Richard Biener <rguenther@suse.de>
2153
2154 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
2155 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
2156 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
2157 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
2158 * lto-wrapper.c (merge_and_complain): Merge compile-time
2159 optimization levels.
2160 (run_gcc): And pass it through to the link options.
2161
4bb66ef3 21622014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
2163
2164 PR debug/60381
2165 Revert:
4bb66ef3 2166 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
2167 PR debug/59992
2168 * cselib.c (remove_useless_values): Skip to avoid quadratic
2169 behavior if the condition moved from...
2170 (cselib_process_insn): ... here holds.
2171
a05cca9b
JJ
21722014-03-05 Jakub Jelinek <jakub@redhat.com>
2173
487125e7
JJ
2174 PR plugins/59335
2175 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
2176 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
2177
a05cca9b
JJ
2178 PR plugins/59335
2179 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
2180 (TM_H): Add x86-tune.def.
2181
4e2cd668
KT
21822014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2183
2184 * config/aarch64/aarch64.c (generic_tunings):
2185 Use cortexa57_extra_costs.
2186
5525ed38
JJ
21872014-03-05 Jakub Jelinek <jakub@redhat.com>
2188
2189 PR lto/60404
2190 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
2191 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
2192 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
2193 cost for in_lto_p.
2194
0c72fa78
H
21952014-03-04 Heiher <r@hev.cc>
2196
2197 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
2198 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
2199
66b03f81
UB
22002014-03-04 Uros Bizjak <ubizjak@gmail.com>
2201
2202 * config/i386/predicates.md (const2356_operand): Change to ...
2203 (const2367_operand): ... this.
2204 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
2205 const2367_operand.
2206 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2207 (*avx512pf_scatterpf<mode>sf): Ditto.
2208 (avx512pf_scatterpf<mode>df): Ditto.
2209 (*avx512pf_scatterpf<mode>df_mask): Ditto.
2210 (*avx512pf_scatterpf<mode>df): Ditto.
2211 * config/i386/i386.c (ix86_expand_builtin): Update
2212 incorrect hint operand error message.
2213
3c24e842
RB
22142014-03-04 Richard Biener <rguenther@suse.de>
2215
2216 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 2217
3740bda6
PM
22182014-03-04 Paulo Matos <paulo@matos-sorge.com>
2219
0bb29a05
UB
2220 * tree-streamer.c (record_common_node): Assert we don't record
2221 nodes with type double.
2222 (preload_common_node): Skip type double, complex double and double
2223 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 2224
91856735
RB
22252014-03-04 Richard Biener <rguenther@suse.de>
2226
2227 PR lto/60405
66b03f81 2228 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
2229 (lto_input_toplevel_asms): Likewise.
2230 * lto-section-in.c (lto_get_section_data): Instead do it here
2231 for every section.
66b03f81 2232
b75f28e1
RB
22332014-03-04 Richard Biener <rguenther@suse.de>
2234
2235 PR tree-optimization/60382
2236 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
2237 dead PHIs a reduction.
2238
dd96e83a
UB
22392014-03-03 Uros Bizjak <ubizjak@gmail.com>
2240
2241 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
2242 hint value.
2243 (_mm_prefetch): Move out of GCC target("sse") pragma.
2244 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
2245 GCC target("prfchw") pragma.
2246 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
2247 for locality <= 2.
2248 * config/i386/i386.c (ix86_option_override_internal): Enable
2249 -mprfchw with -mprefetchwt1.
2250
220c1a51
JR
22512014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
2252
2253 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
2254 Mark as varying.
2255
212bfe71
JR
22562014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
2257
2258 * opts.h (CL_PCH_IGNORE): Define.
2259 * targhooks.c (option_affects_pch_p):
2260 Return false for options that have CL_PCH_IGNORE set.
2261 * opt-functions.awk: Process PchIgnore.
2262 * doc/options.texi: Document PchIgnore.
2263
7a3d0a39
JR
2264 * config/arc/arc.opt (misize): Add PchIgnore property.
2265
b46ed885
BS
22662014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2267
2268 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
2269 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
2270 constraint on constants to permit them being loaded into
2271 GENERAL_REGS or BASE_REGS.
2272
c6f709ec
NC
22732014-03-03 Nick Clifton <nickc@redhat.com>
2274
2275 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
2276 anti-cacnonical alternatives.
2277 (negandhi3_real): New pattern.
2278 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
2279
5752f78f
SKS
22802014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2281
2282 * config/avr/avr-mcus.def: Remove atxmega16x1.
2283 * config/avr/avr-tables.opt: Regenerate.
2284 * config/avr/t-multilib: Regenerate.
2285 * doc/avr-mmcu.texi: Regenerate.
2286
0afe7332 22872014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 2288 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
2289
2290 PR tree-optimization/58028
2291 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
2292 scalar dimensions.
2293
3416dd87
RR
22942014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2295
2296 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
2297 not handled by recognizers.
2298
79c7fda6
JJ
22992014-03-03 Jakub Jelinek <jakub@redhat.com>
2300
2301 PR middle-end/60175
2302 * function.c (expand_function_end): Don't emit
2303 clobber_return_register sequence if clobber_after is a BARRIER.
2304 * cfgexpand.c (construct_exit_block): Append instructions before
2305 return_label to prev_bb.
2306
715a5c85
BS
23072014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2308
2309 * config/rs6000/constraints.md: Document reserved use of "wc".
2310
9ffbf271
JH
23112014-03-02 Jan Hubicka <hubicka@ucw.cz>
2312
2313 PR ipa/60150
2314 * ipa.c (function_and_variable_visibility): When dissolving comdat
2315 group, also set all symbols to local.
2316
993df21e 23172014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 2318
993df21e
JH
2319 PR ipa/60306
2320
2321 Revert:
2322 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
2323 PR middle-end/58477
2324 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 2325
9b0af790
JB
23262014-03-02 Jon Beniston <jon@beniston.com>
2327
2328 PR bootstrap/48230
2329 PR bootstrap/50927
2330 PR bootstrap/52466
2331 PR target/46898
2332 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 2333 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 2334 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 2335 (simple_return, *simple_return): New patterns
9b0af790
JB
2336 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
2337 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
2338
c582aac9
PC
23392014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
2340
2341 * dwarf2out.c (gen_subprogram_die): Tidy.
2342
19305875
OE
23432014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
2344
2345 PR target/60071
2346 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
2347 (*mov_t_msb_neg_negc): ... this new insn.
2348
570215f9
JM
23492014-02-28 Jason Merrill <jason@redhat.com>
2350
2351 PR c++/58678
2352 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
2353 function.
2354
c5b001b5
PC
23552014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
2356
2357 PR c++/60314
2358 * dwarf2out.c (decltype_auto_die): New static.
2359 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
2360 (gen_type_die_with_usage): Handle 'decltype(auto)'.
2361 (is_cxx_auto): Likewise.
2362
5750e120
IB
23632014-02-28 Ian Bolton <ian.bolton@arm.com>
2364
2365 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
2366 we are not using general regs only.
2367
fba7c564
RB
23682014-02-28 Richard Biener <rguenther@suse.de>
2369
2370 PR target/60280
2371 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
2372 previous fix and only allow to remove trivial pre-headers
2373 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 2374 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 2375
4bb66ef3 23762014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
2377
2378 PR debug/59992
2379 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
2380 (cselib_preserved_hash_table): New.
2381 (preserve_constants_and_equivs): Move preserved vals to it.
2382 (cselib_find_slot): Look it up first.
2383 (cselib_init): Initialize it.
2384 (cselib_finish): Release it.
2385 (dump_cselib_table): Dump it.
2386
4bb66ef3 23872014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
2388
2389 PR debug/59992
2390 * cselib.c (remove_useless_values): Skip to avoid quadratic
2391 behavior if the condition moved from...
2392 (cselib_process_insn): ... here holds.
2393
4bb66ef3 23942014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
2395
2396 PR debug/57232
2397 * var-tracking.c (vt_initialize): Apply the same condition to
2398 preserve the CFA base value.
2399
9910c53c
JY
24002014-02-28 Joey Ye <joey.ye@arm.com>
2401
2402 PR target/PR60169
2403 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
2404 if reload in progress or completed.
2405
ef271341
TB
24062014-02-28 Tobias Burnus <burnus@net-b.de>
2407
2408 PR middle-end/60147
2409 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
2410 NAMELIST_DECL.
2411
c4f6267b
L
24122014-02-27 H.J. Lu <hongjiu.lu@intel.com>
2413
2414 * doc/tm.texi.in (Condition Code Status): Update documention for
2415 relative locations of cc0-setter and cc0-user.
2416
7a76df7f
JL
24172014-02-27 Jeff Law <law@redhat.com>
2418
2419 PR rtl-optimization/52714
2420 * combine.c (try_combine): When splitting an unrecognized PARALLEL
2421 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 2422 pattern we place into I3 is a (set (pc) ...).
7a76df7f 2423
728acca0
MP
24242014-02-27 Mikael Pettersson <mikpe@it.uu.se>
2425 Jeff Law <law@redhat.com>
2426
2427 PR rtl-optimization/49847
2428 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
2429 are in different blocks.
2430 * doc/tm.texi (Condition Code Status): Update documention for
2431 relative locations of cc0-setter and cc0-user.
2432
93aaa05d
VM
24332014-02-27 Vladimir Makarov <vmakarov@redhat.com>
2434
2435 PR target/59222
2436 * lra.c (lra_emit_add): Check SUBREG too.
2437
1ee6eb01
AS
24382014-02-27 Andreas Schwab <schwab@suse.de>
2439
2440 * config/m68k/m68k.c (m68k_option_override): Disable
2441 -flive-range-shrinkage for classic m68k.
2442 (m68k_override_options_after_change): Likewise.
2443
bb0d8e84
MP
24442014-02-27 Marek Polacek <polacek@redhat.com>
2445
2446 PR middle-end/59223
2447 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
2448 -Wmaybe-uninitialized.
2449
3157b879
AM
24502014-02-27 Alan Modra <amodra@gmail.com>
2451
3e17cad2 2452 PR target/57936
3157b879
AM
2453 * reload1.c (emit_input_reload_insns): When reload_override_in,
2454 set old to rl->in_reg when rl->in_reg is a subreg.
2455
bb750f4f
RB
24562014-02-26 Richard Biener <rguenther@suse.de>
2457
2458 PR bootstrap/60343
2459 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
2460
22c8aab3
IT
24612014-02-25 Ilya Tocar <ilya.tocar@intel.com>
2462
2463 * common/config/i386/predicates.md (const1256_operand): Remove.
2464 (const2356_operand): New.
2465 (const_1_to_2_operand): Remove.
2466 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
2467 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
2468 (*avx512pf_gatherpf<mode>sf): Ditto.
2469 (avx512pf_gatherpf<mode>df): Ditto.
2470 (*avx512pf_gatherpf<mode>df_mask): Ditto.
2471 (*avx512pf_gatherpf<mode>df): Ditto.
2472 (avx512pf_scatterpf<mode>sf): Ditto.
2473 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2474 (*avx512pf_scatterpf<mode>sf): Ditto.
2475 (avx512pf_scatterpf<mode>df): Ditto.
2476 (*avx512pf_scatterpf<mode>df_mask): Ditto.
2477 (*avx512pf_scatterpf<mode>df): Ditto.
2478 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
2479
260d3642
IT
24802014-02-26 Ilya Tocar <ilya.tocar@intel.com>
2481
2482 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
2483 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
2484 (_mm512_mask_testn_epi64_mask): Move to ...
2485 * config/i386/avx512cdintrin.h: Here.
2486 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
2487 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
2488 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
2489 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
2490 TARGET_AVX512F from TARGET_AVX512CD.
2491
477145c8
RB
24922014-02-26 Richard Biener <rguenther@suse.de>
2493
2494 PR ipa/60327
2495 * ipa.c (walk_polymorphic_call_targets): Properly guard
2496 call to inline_update_overall_summary.
2497
a3afdbb8
BC
24982014-02-26 Bin Cheng <bin.cheng@arm.com>
2499
2500 PR target/60280
84d7e312
UB
2501 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
2502 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
2503 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
2504 LOOPS_HAVE_PREHEADERS.
2505
b8a542c6
AP
25062014-02-25 Andrew Pinski <apinski@cavium.com>
2507
2508 * builtins.c (expand_builtin_thread_pointer): Create a new target
2509 when the target is NULL.
2510
88def637
VM
25112014-02-25 Vladimir Makarov <vmakarov@redhat.com>
2512
2513 PR rtl-optimization/60317
2514 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
2515 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
2516 * lra-assigns.c: Include params.h.
2517 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
2518 other reload pseudos considerations.
2519
68908a06
BS
25202014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2521
cf36d2cc
WS
2522 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
2523 to use canonical form for nor<mode>3.
68908a06 2524
db57bbc9
KT
25252014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2526
2527 PR target/55426
2528 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
2529 conversions.
2530
43b3f52f
IT
25312014-02-25 Ilya Tocar <ilya.tocar@intel.com>
2532
2533 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
2534 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
2535 (ix86_handle_option): Handle OPT_mprefetchwt1.
2536 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
2537 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
2538 PREFETCHWT1 CPUID.
2539 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
2540 OPTION_MASK_ISA_PREFETCHWT1.
2541 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
2542 (PTA_PREFETCHWT1): New.
2543 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
2544 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 2545 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
2546 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
2547 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 2548 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
2549 * config/i386/i386.opt (mprefetchwt1): New.
2550 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
2551 (_mm_prefetch): Handle intent to write.
2552 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
2553
84053e02
RB
25542014-02-25 Richard Biener <rguenther@suse.de>
2555
2556 PR middle-end/60291
2557 * emit-rtl.c (mem_attrs_htab): Remove.
2558 (mem_attrs_htab_hash): Likewise.
2559 (mem_attrs_htab_eq): Likewise.
84d7e312 2560 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
2561 (init_emit_once): Do not allocate mem_attrs_htab.
2562
4094757e
RB
25632014-02-25 Richard Biener <rguenther@suse.de>
2564
2565 PR lto/60319
2566 * lto-opts.c (lto_write_options): Output non-explicit conservative
2567 -fwrapv, -fno-trapv and -fno-strict-overflow.
2568 * lto-wrapper.c (merge_and_complain): Handle merging those options.
2569 (run_gcc): And pass them through.
2570
41b2d514 25712014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 2572
41b2d514
AB
2573 * sel-sched.c (calculate_new_fences): New parameter ptime.
2574 Calculate it as a maximum over all fence cycles.
2575 (sel_sched_region_2): Adjust the call to calculate_new_fences.
2576 Print the final schedule timing when sched_verbose.
2577
c1c99405
AB
25782014-02-25 Andrey Belevantsev <abel@ispras.ru>
2579
2580 PR rtl-optimization/60292
2581 * sel-sched.c (fill_vec_av_set): Do not reset target availability
2582 bit fot the fence instruction.
2583
1d9def42
AD
25842014-02-24 Alangi Derick <alangiderick@gmail.com>
2585
2586 * calls.h: Fix typo in comment.
2587
325fefe0
JDA
25882014-02-24 John David Anglin <danglin@gcc.gnu.org>
2589
2590 * config/pa/pa.c (pa_output_move_double): Don't valididate when
2591 adjusting offsetable addresses.
2592
ad43b47a
GW
25932014-02-24 Guozhi Wei <carrot@google.com>
2594
2595 * sparseset.h (sparseset_pop): Fix the wrong index.
2596
341c653c
WL
25972014-02-24 Walter Lee <walt@tilera.com>
2598
2599 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
2600 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
2601 triplet.
2602 * common/config/tilegx/tilegx-common.c
2603 (TARGET_DEFAULT_TARGET_FLAGS): Define.
2604 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
2605 (LINK_SPEC): Ditto.
2606 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
2607 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
2608 (tilegx_gimplify_va_arg_expr): Handle big endian.
2609 (tilegx_expand_unaligned_load): Ditto.
2610 (tilegx_expand_unaligned_store): Ditto.
2611 (TARGET_RETURN_IN_MSB): New.
2612 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
2613 (TARGET_ENDIAN_DEFAULT): New.
2614 (TARGET_BIG_ENDIAN): Handle big endian.
2615 (BYTES_BIG_ENDIAN): Ditto.
2616 (WORDS_BIG_ENDIAN): Ditto.
2617 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
2618 (ENDIAN_SPEC): New.
2619 (EXTRA_SPECS): New.
2620 * config/tilegx/tilegx.md (extv): Handle big endian.
2621 (extzv): Ditto.
2622 (insn_st<n>): Ditto.
2623 (insn_st<n>_add<bitsuffix>): Ditto.
2624 (insn_stnt<n>): Ditto.
2625 (insn_stnt<n>_add<bitsuffix>):Ditto.
2626 (vec_interleave_highv8qi): Handle big endian.
2627 (vec_interleave_highv8qi_be): New.
2628 (vec_interleave_highv8qi_le): New.
2629 (insn_v1int_h): Handle big endian.
2630 (vec_interleave_lowv8qi): Handle big endian.
2631 (vec_interleave_lowv8qi_be): New.
2632 (vec_interleave_lowv8qi_le): New.
2633 (insn_v1int_l): Handle big endian.
2634 (vec_interleave_highv4hi): Handle big endian.
2635 (vec_interleave_highv4hi_be): New.
2636 (vec_interleave_highv4hi_le): New.
2637 (insn_v2int_h): Handle big endian.
2638 (vec_interleave_lowv4hi): Handle big endian.
2639 (vec_interleave_lowv4hi_be): New.
2640 (vec_interleave_lowv4hi_le): New.
2641 (insn_v2int_l): Handle big endian.
2642 (vec_interleave_highv2si): Handle big endian.
2643 (vec_interleave_highv2si_be): New.
2644 (vec_interleave_highv2si_le): New.
2645 (insn_v4int_h): Handle big endian.
2646 (vec_interleave_lowv2si): Handle big endian.
2647 (vec_interleave_lowv2si_be): New.
2648 (vec_interleave_lowv2si_le): New.
2649 (insn_v4int_l): Handle big endian.
2650 * config/tilegx/tilegx.opt (mbig-endian): New option.
2651 (mlittle-endian): New option.
2652 * doc/install.texi: Document tilegxbe-linux.
2653 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
2654
f3fec19f
MJ
26552014-02-24 Martin Jambor <mjambor@suse.cz>
2656
2657 PR ipa/60266
2658 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
2659 there are no parameter descriptors.
2660
9039622a
AB
26612014-02-24 Andrey Belevantsev <abel@ispras.ru>
2662
2663 PR rtl-optimization/60268
2664 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
2665 initialization to ...
2666 (sched_rgn_init): ... here.
2667 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
2668
4bb66ef3 26692014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 2670
9039622a
AB
2671 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
2672 names.
e7e7bc4b 2673
4bb66ef3 26742014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
2675
2676 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
2677 definition.
2678
4bb66ef3 26792014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 2680
84d7e312
UB
2681 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
2682 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 2683
4bb66ef3 26842014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
2685
2686 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 2687 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 2688 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 2689 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
2690 to microblaze_expand_conditional_branch and consolidate logic.
2691 (microblaze_expand_conditional_branch): emit branch_compare
2692 insn instead of handling cmp op separate from branch insn.
2693
34c25d23
BS
26942014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2695
2696 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
2697 to permit subregs.
2698
a6eecdc1
BS
26992014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2700
d5a19af1
DH
2701 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
2702 define_insn with define_expand and new define_insn
2703 *altivec_lve<VI_char>x_internal.
2704 (altivec_stve<VI_char>x): Replace define_insn with define_expand
2705 and new define_insn *altivec_stve<VI_char>x_internal.
2706 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
2707 prototype.
2708 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
2709 lve*x built-ins.
2710 (altivec_expand_stvex_be): New function.
a6eecdc1 2711
8aa7d1fc
JR
27122014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
2713
2714 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 2715 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
2716 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
2717 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
2718
a810ee82
VM
27192014-02-21 Vladimir Makarov <vmakarov@redhat.com>
2720
2721 PR target/60298
2722 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
2723 instead of emit_move_insn.
2724
b90ab1ba
BS
27252014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2726
2727 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
2728 vspltw with vsldoi.
2729 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
2730 gen_altivec_vsumsws.
2731
1af73690
WS
27322014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2733
2734 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 2735 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
2736 (altivec_lvxl_<mode>): New define_expand incorporating
2737 -maltivec=be semantics where needed.
2738 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
2739 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
2740 semantics where needed.
2741 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
2742 (altivec_stvx_<mode>): New define_expand incorporating
2743 -maltivec=be semantics where needed.
2744 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
2745 VM2 iterator instead of V4SI.
2746 (altivec_stvxl_<mode>): New define_expand incorporating
2747 -maltivec=be semantics where needed.
2748 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
2749 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
2750 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
2751 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
2752 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
2753 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
2754 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
2755 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
2756 ALTIVEC_BUILTIN_STVXL.
84d7e312 2757 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
2758 (altivec_expand_stvx_be): Likewise.
2759 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
2760 (altivec_expand_lvx_be): Likewise.
2761 (altivec_expand_stvx_be): Likewise.
2762 (altivec_expand_builtin): Add cases for
2763 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
2764 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
2765 (altivec_init_builtins): Add definitions for
2766 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 2767 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 2768
0a39d07b
CM
27692014-02-21 Catherine Moore <clm@codesourcery.com>
2770
2771 * doc/invoke.texi (mvirt, mno-virt): Document.
2772 * config/mips/mips.opt (mvirt): New option.
2773 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
2774
f2556b68
RB
27752014-02-21 Richard Biener <rguenther@suse.de>
2776
2777 PR tree-optimization/60276
2778 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
2779 (STMT_VINFO_MIN_NEG_DIST): New macro.
2780 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
2781 STMT_VINFO_MIN_NEG_DIST.
2782 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
2783 made for negative dependence distances still hold.
2784
32417082
RB
27852014-02-21 Richard Biener <rguenther@suse.de>
2786
2787 PR middle-end/60291
2788 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
2789 DECL_INITIAL for globals not in the current function context.
2790
92261ce0
JJ
27912014-02-21 Jakub Jelinek <jakub@redhat.com>
2792
2793 PR tree-optimization/56490
2794 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
2795 * tree-ssa-uninit.c: Include params.h.
2796 (compute_control_dep_chain): Add num_calls argument, return false
2797 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
2798 num_calls to recursive call.
2799 (find_predicates): Change dep_chain into normal array,
2800 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
2801 variable and adjust compute_control_dep_chain caller.
2802 (find_def_preds): Likewise.
2803
aa6ef874
TS
28042014-02-21 Thomas Schwinge <thomas@codesourcery.com>
2805
2806 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
2807 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
2808
4b156fd0
NC
28092014-02-21 Nick Clifton <nickc@redhat.com>
2810
2811 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
2812 (pushhi1): Likewise.
2813 (popqi1): Add mode to pre_dec.
2814 (pophi1): Likewise.
2815
dffd569e
JJ
28162014-02-21 Jakub Jelinek <jakub@redhat.com>
2817
2818 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
2819 mode for mask of V8SFmode permutation.
2820
2fdc29e8
RH
28212014-02-20 Richard Henderson <rth@redhat.com>
2822
2823 PR c++/60272
2824 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
2825 a new pseudo for OLDVAL.
2826
aa637f66
JJ
28272014-02-20 Jakub Jelinek <jakub@redhat.com>
2828
2829 PR target/57896
2830 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
2831 gen_reg_rtx if d->testing_p.
2832 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
2833 if d->testing_p and we will certainly return true.
2834 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
2835 if d->testing_p.
2836
004a7e45
UB
28372014-02-20 Uros Bizjak <ubizjak@gmail.com>
2838
2839 * emit-rtl.c (gen_reg_rtx): Assert that
2840 crtl->emit.regno_pointer_align_length is non-zero.
2841
28422014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
2843
2844 PR c++/60272
2845 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
2846 on failure the store back into EXPECT.
2847
95ce7613
CLT
28482014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
2849 Sandra Loosemore <sandra@codesourcery.com>
2850
2851 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
2852 * config/nios2/nios2.c (nios2_function_profiler): Add
2853 -fPIC (flag_pic == 2) support.
95ce7613
CLT
2854 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
2855 (nios2_large_offset_p): New function.
2856 (nios2_unspec_reloc_p): Move up position, update to use
2857 nios2_large_offset_p.
2858 (nios2_unspec_address): Remove function.
2859 (nios2_unspec_offset): New function.
2860 (nios2_large_got_address): New function.
2861 (nios2_got_address): Add large offset support.
2862 (nios2_legitimize_tls_address): Update usage of removed and new
2863 functions.
2864 (nios2_symbol_binds_local_p): New function.
2865 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
2866 (nios2_legitimize_address): Update to use nios2_large_offset_p.
2867 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
2868 (nios2_print_operand): Merge H/L processing, add hiadj/lo
2869 processing for (const (unspec ...)).
2870 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
2871
efd2d3c8
RB
28722014-02-20 Richard Biener <rguenther@suse.de>
2873
2874 * tree-cfg.c (replace_uses_by): Mark altered BBs before
2875 doing the substitution.
004a7e45 2876 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 2877
9576e7b1
MJ
28782014-02-20 Martin Jambor <mjambor@suse.cz>
2879
2880 PR ipa/55260
2881 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
2882 info when checking whether lattices are bottom.
2883
25fe40b0
RB
28842014-02-20 Richard Biener <rguenther@suse.de>
2885
2886 PR middle-end/60221
2887 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
2888 regions at -O0.
2889
bd936951
JH
28902014-02-20 Jan Hubicka <hubicka@ucw.cz>
2891
2892 PR ipa/58555
004a7e45
UB
2893 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
2894 parameter specifying the scaling.
bd936951
JH
2895 (inline_call): Update.
2896 (want_inline_recursively): Guard division by zero.
2897 (recursive_inlining): Update.
2898 * ipa-inline.h (clone_inlined_nodes): Update.
2899
3c898e1a
IT
29002014-02-20 Ilya Tocar <ilya.tocar@intel.com>
2901
2902 PR target/60204
2903 * config/i386/i386.c (classify_argument): Pass structures of size
2904 64 bytes or less in register.
2905
df62b4af 29062014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 2907 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
2908
2909 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
2910 (_mm_rcp28_round_ss): Ditto.
2911 (_mm_rsqrt28_round_sd): Ditto.
2912 (_mm_rsqrt28_round_ss): Ditto.
2913 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
2914 (_mm_rcp14_round_ss): Ditto.
2915 (_mm_rsqrt14_round_sd): Ditto.
2916 (_mm_rsqrt14_round_ss): Ditto.
2917 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
2918 the first input operand, get rid of match_dup.
2919 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
2920 attribute to sse.
2921 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
2922 Ditto.
2923 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
2924 operand as the first input operand, set type attribute.
2925 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
2926 Set type attribute.
2927 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
2928 operand as the first input operand, set type attribute.
2929
9254148e
BS
29302014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2931
2932 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
2933 bit of zero.
2934
fff91793
L
29352014-02-19 H.J. Lu <hongjiu.lu@intel.com>
2936
2937 PR target/60207
2938 * config/i386/i386.c (construct_container): Remove TFmode check
2939 for X86_64_INTEGER_CLASS.
2940
6aa5b4b8
UB
29412014-02-19 Uros Bizjak <ubizjak@gmail.com>
2942
2943 PR target/59794
2944 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
2945 only when -Wpsabi is enabled.
2946
aadc1c43
MHD
29472014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
2948
2949 PR target/59799
2950 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
2951 passing arrays in registers are the same as for structs, so remove the
2952 special case for them.
2953
322913f8
EB
29542014-02-19 Eric Botcazou <ebotcazou@adacore.com>
2955
2956 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
2957 destination type, extract only the valid bits if the source type is not
2958 integral and has a different mode.
2959
fd9710dc
RB
29602014-02-19 Richard Biener <rguenther@suse.de>
2961
2962 PR ipa/60243
2963 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
2964 for all calls.
2965
4df65a85
RB
29662014-02-19 Richard Biener <rguenther@suse.de>
2967
2968 PR ipa/60243
2969 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
2970 (ipa_modify_call_arguments): Emit an argument load explicitely and
2971 preserve virtual SSA form there and for the replacement call.
2972 Do not update SSA form nor free dominance info.
2973
7fea98d8
JH
29742014-02-18 Jan Hubicka <hubicka@ucw.cz>
2975
2976 * ipa.c (function_and_variable_visibility): Also clear WEAK
2977 flag when disolving COMDAT_GROUP.
2978
0a2550e7
JH
29792014-02-18 Jan Hubicka <hubicka@ucw.cz>
2980
2981 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
2982 * ipa-prop.c (ipa_set_jf_known_type): Return early when
2983 not devirtualizing.
2984 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
2985 do more sanity checks.
2986 (detect_type_change): Return true when giving up early.
2987 (compute_complex_assign_jump_func): Fix type parameter of
2988 ipa_set_ancestor_jf.
2989 (compute_complex_ancestor_jump_func): Likewise.
2990 (update_jump_functions_after_inlining): Fix updating of
2991 ancestor function.
6aa5b4b8 2992 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 2993
2dbe8b70
JH
29942014-02-18 Jan Hubicka <hubicka@ucw.cz>
2995
2996 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
2997 inline clones when edge disappears.
2998
b9809dc4
MM
29992014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3000
3001 PR target/60203
3002 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
3003 Split 64-bit moves into 2 patterns. Do not allow the use of
3004 direct move for TDmode in little endian, since the decimal value
3005 has little endian bytes within a word, but the 64-bit pieces are
3006 ordered in a big endian fashion, and normal subreg's of TDmode are
3007 not allowed.
3008 (mov<mode>_64bit_dm): Likewise.
3009 (movtd_64bit_nodm): Likewise.
3010
bababbfb
EB
30112014-02-18 Eric Botcazou <ebotcazou@adacore.com>
3012
3013 PR tree-optimization/60174
3014 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
3015 statement of an SSA_NAME that occurs in an abnormal PHI node.
3016
70aacc97
JJ
30172014-02-18 Jakub Jelinek <jakub@redhat.com>
3018
3019 PR sanitizer/60142
3020 * final.c (SEEN_BB): Remove.
3021 (SEEN_NOTE, SEEN_EMITTED): Renumber.
3022 (final_scan_insn): Don't force_source_line on second
3023 NOTE_INSN_BASIC_BLOCK.
3024
223cdd15
UB
30252014-02-18 Uros Bizjak <ubizjak@gmail.com>
3026
3027 PR target/60205
3028 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
3029 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
3030 (type_natural_mode): Warn ABI change when %zmm register is not
3031 available for AVX512F vector value passing.
3032
48810be0
KT
30332014-02-18 Kai Tietz <ktietz@redhat.com>
3034
3035 PR target/60193
223cdd15
UB
3036 * config/i386/i386.c (ix86_expand_prologue): Use value in
3037 rax register as displacement when restoring %r10 or %rax.
3038 Fix wrong offset when restoring both registers.
48810be0 3039
20afe640
EB
30402014-02-18 Eric Botcazou <ebotcazou@adacore.com>
3041
3042 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
3043 assertion with conditional return.
3044
d0b50387
JJ
30452014-02-18 Jakub Jelinek <jakub@redhat.com>
3046 Uros Bizjak <ubizjak@gmail.com>
3047
3048 PR driver/60233
3049 * config/i386/driver-i386.c (host_detect_local_cpu): If
3050 YMM state is not saved by the OS, also clear has_f16c. Move
3051 CPUID 0x80000001 handling before YMM state saving checking.
3052
c4cd7435
AB
30532014-02-18 Andrey Belevantsev <abel@ispras.ru>
3054
3055 PR rtl-optimization/58960
3056 * haifa-sched.c (alloc_global_sched_pressure_data): New,
3057 factored out from ...
3058 (sched_init): ... here.
3059 (free_global_sched_pressure_data): New, factored out from ...
3060 (sched_finish): ... here.
3061 * sched-int.h (free_global_sched_pressure_data): Declare.
3062 * sched-rgn.c (nr_regions_initial): New static global.
3063 (haifa_find_rgns): Initialize it.
3064 (schedule_region): Disable sched-pressure for the newly
3065 generated regions.
3066
f0281fde
RB
30672014-02-17 Richard Biener <rguenther@suse.de>
3068
3069 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
3070 release SSA defs of pattern stmts.
3071
c742772c
RB
30722014-02-17 Richard Biener <rguenther@suse.de>
3073
3074 * tree-inline.c (expand_call_inline): Release the virtual
3075 operand defined by the call we are about to inline.
3076
0492158e
RB
30772014-02-17 Richard Biener <rguenther@suse.de>
3078
3079 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
3080
583a9919
KY
30812014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
3082 Ilya Tocar <ilya.tocar@intel.com>
3083
3084 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
3085 arguments order in builtin.
3086 (_mm512_permutexvar_epi64): Ditto.
3087 (_mm512_mask_permutexvar_epi64): Ditto
3088 (_mm512_maskz_permutexvar_epi32): Ditto
3089 (_mm512_permutexvar_epi32): Ditto
3090 (_mm512_mask_permutexvar_epi32): Ditto
3091
d737743f
BS
30922014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3093
223cdd15 3094 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
3095 (p8_vmrgow): Likewise.
3096
54c4bfd7
BS
30972014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3098
3099 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
3100 endian targets.
3101
518fea64
MM
31022014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
3103
3104 PR target/60203
3105 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
3106 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
3107 into 64-bit and 32-bit moves. On 64-bit moves, add support for
3108 using direct move instructions on ISA 2.07. Also adjust
3109 instruction length for 64-bit.
3110 (mov<mode>_64bit, TFmode/TDmode): Likewise.
3111 (mov<mode>_32bit, TFmode/TDmode): Likewise.
3112
61640916
AM
31132014-02-15 Alan Modra <amodra@gmail.com>
3114
3115 PR target/58675
3116 PR target/57935
3117 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
3118 find_replacement on parts of insn rtl that might be reloaded.
3119
a2b33cc3
RB
31202014-02-15 Richard Biener <rguenther@suse.de>
3121
3122 PR tree-optimization/60183
223cdd15 3123 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
3124 (tree_ssa_phiprop): Calculate and free post-dominators.
3125
059742a4
JL
31262014-02-14 Jeff Law <law@redhat.com>
3127
3128 PR rtl-optimization/60131
3129 * ree.c (get_extended_src_reg): New function.
223cdd15 3130 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
3131 (find_and_remove_re): Verify first operand of extension is
3132 a REG before adding the insns to the copy list.
3133
88f7c49a
RM
31342014-02-14 Roland McGrath <mcgrathr@google.com>
3135
3136 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
3137 * configure: Regenerated.
3138 * config.in: Regenerated.
3139 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
3140 instead of ASM_SHORT.
3141
2ae577fd
VM
31422014-02-14 Vladimir Makarov <vmakarov@redhat.com>
3143 Richard Earnshaw <rearnsha@arm.com>
3144
3145 PR rtl-optimization/59535
3146 * lra-constraints.c (process_alt_operands): Encourage alternative
3147 when unassigned pseudo class is superset of the alternative class.
3148 (inherit_reload_reg): Don't inherit when optimizing for code size.
3149 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
3150 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
3151 modes not less than 4 for Thumb1.
3152
5d88af08
KM
31532014-02-14 Kyle McMartin <kyle@redhat.com>
3154
3155 PR pch/60010
3156 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
3157
3069b421
RB
31582014-02-14 Richard Biener <rguenther@suse.de>
3159
3160 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
3161 (get_frame_arg): Drop the assert with langhook types_compatible_p.
3162 Do not strip INDIRECT_REFs.
3163
1966fd99
RB
31642014-02-14 Richard Biener <rguenther@suse.de>
3165
3166 PR lto/60179
3167 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
3168 DECL_FUNCTION_SPECIFIC_TARGET.
3169 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
3170 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 3171 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
3172 (write_ts_function_decl_tree_pointers): Do not stream
3173 DECL_FUNCTION_SPECIFIC_TARGET.
3174 * tree-streamer-in.c (unpack_ts_target_option): Remove.
3175 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
3176 (lto_input_ts_function_decl_tree_pointers): Do not stream
3177 DECL_FUNCTION_SPECIFIC_TARGET.
3178
b010d601
JJ
31792014-02-14 Jakub Jelinek <jakub@redhat.com>
3180
223cdd15 3181 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
3182 (get_initial_def_for_induction, vectorizable_induction): Ignore
3183 debug stmts when looking for exit_phi.
3184 (vectorizable_live_operation): Fix up condition.
3185
f2dafb91
CJW
31862014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
3187
3188 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
3189 nreverse() because it changes the content of original tree list.
3190
59043e75
CJW
31912014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
3192
3193 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
3194 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
3195
810f736f
CJW
31962014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
3197
3198 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
3199 GNU coding standards.
3200
1a025bbf
JJ
32012014-02-13 Jakub Jelinek <jakub@redhat.com>
3202
3203 PR debug/60152
3204 * dwarf2out.c (gen_subprogram_die): Don't call
3205 add_calling_convention_attribute if subr_die is old_die.
3206
69479ebd
SS
32072014-02-13 Sharad Singhai <singhai@google.com>
3208
3209 * doc/optinfo.texi: Fix order of nodes.
3210
1287ae50
UB
32112014-02-13 Uros Bizjak <ubizjak@gmail.com>
3212
3213 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
3214 operands[2], not operands[3].
3215
43372236
RB
32162014-02-13 Richard Biener <rguenther@suse.de>
3217
3218 PR bootstrap/59878
3219 * doc/install.texi (ISL): Update recommended version to 0.12.2,
3220 mention the possibility of an in-tree build.
3221 (CLooG): Update recommended version to 0.18.1, mention the
3222 possibility of an in-tree build and clarify that the ISL
3223 bundled with CLooG does not work.
3224
a4d70cfa
JJ
32252014-02-13 Jakub Jelinek <jakub@redhat.com>
3226
3227 PR target/43546
3228 * expr.c (compress_float_constant): If x is a hard register,
3229 extend into a pseudo and then move to x.
3230
e697d119
DV
32312014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
3232
3233 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
3234 caused by bad second argument to warning_at() with -mhotpatch and
3235 nested functions (e.g. with gfortran).
3236
9f8da907
RS
32372014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
3238
3239 * opts.c (option_name): Remove "enabled by default" rider.
3240
0fdd1196
JDA
32412014-02-12 John David Anglin <danglin@gcc.gnu.org>
3242
3243 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
3244
0544c448
L
32452014-02-12 H.J. Lu <hongjiu.lu@intel.com>
3246 Uros Bizjak <ubizjak@gmail.com>
3247
3248 PR target/60151
1287ae50 3249 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
3250 * configure: Regenerated.
3251
3a938d75
RB
32522014-02-12 Richard Biener <rguenther@suse.de>
3253
3254 * vec.c (vec_prefix::calculate_allocation): Move as
3255 inline variant to vec.h.
3256 (vec_prefix::calculate_allocation_1): New out-of-line version.
3257 * vec.h (vec_prefix::calculate_allocation_1): Declare.
3258 (vec_prefix::m_has_auto_buf): Rename to ...
3259 (vec_prefix::m_using_auto_storage): ... this.
3260 (vec_prefix::calculate_allocation): Inline the easy cases
3261 and dispatch to calculate_allocation_1 which doesn't need the
3262 prefix address.
3263 (va_heap::reserve): Use gcc_checking_assert.
3264 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
3265 m_using_auto_storage.
3266 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
3267 member and adjust.
3268 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
3269 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
3270 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
3271
ad0188be
RB
32722014-02-12 Richard Biener <rguenther@suse.de>
3273
3274 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
3275 when we found a dependence.
3276
64e5ace5
TS
32772014-02-12 Thomas Schwinge <thomas@codesourcery.com>
3278
88ac13da
TS
3279 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
3280 common code...
3281 (maybe_fold_stmt): ... into this new function.
3282 * omp-low.c (lower_omp): Update comment.
3283
bae729a2
TS
3284 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
3285 last use.
3286
64e5ace5
TS
3287 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
3288 dereference.
3289
7b40f5cf
JG
32902014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
3291
3292 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
3293 identifiers in comments.
3294 (cortexa53_extra_costs): Likewise.
1287ae50 3295 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
3296 (cortexa7_extra_costs): Likewise.
3297 (cortexa12_extra_costs): Likewise.
3298 (cortexa15_extra_costs): Likewise.
3299 (v7m_extra_costs): Likewise.
3300
c4c8514e
RB
33012014-02-12 Richard Biener <rguenther@suse.de>
3302
3303 PR middle-end/60092
3304 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
3305 of posix_memalign being successful.
3306 (lower_stmt): Restrict lowering of posix_memalign to when
3307 -ftree-bit-ccp is enabled.
3308
8eb651bd
SKS
33092014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3310
3311 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
3312 arg_loc.
3313 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
3314
62b03553
EB
33152014-02-12 Eric Botcazou <ebotcazou@adacore.com>
3316
3317 PR rtl-optimization/60116
3318 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
3319 other_insn once the combination has been validated.
3320
ec77d61f
JH
33212014-02-11 Jan Hubicka <hubicka@ucw.cz>
3322
3323 PR lto/59468
3324 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
3325 and wrapper.
3326 * ipa-devirt.c: Include demangle.h
3327 (odr_violation_reported): New static variable.
3328 (add_type_duplicate): Update odr_violations.
3329 (maybe_record_node): Add completep parameter; update it.
3330 (record_target_from_binfo): Add COMPLETEP parameter;
3331 update it as needed.
3332 (possible_polymorphic_call_targets_1): Likewise.
3333 (struct polymorphic_call_target_d): Add nonconstruction_targets;
3334 rename FINAL to COMPLETE.
3335 (record_targets_from_bases): Sanity check we found the binfo;
3336 fix COMPLETEP updating.
3337 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
3338 parameter, fix computing of COMPLETEP.
1287ae50
UB
3339 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
3340 at LTO time do demangling.
ec77d61f
JH
3341 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
3342 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
3343 parameter.
3344 (gimple_get_virt_method_for_binfo): Likewise.
3345 * gimple-fold.h (gimple_get_virt_method_for_binfo,
3346 gimple_get_virt_method_for_vtable): Update prototypes.
3347
5a4dcd9b
VM
33482014-02-11 Vladimir Makarov <vmakarov@redhat.com>
3349
3350 PR target/49008
3351 * genautomata.c (add_presence_absence): Fix typo with
3352 {final_}presence_list.
3353
69b7afed
MM
33542014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3355
3356 PR target/60137
3357 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
3358 for VSX/Altivec vectors that land in GPR registers.
3359
8268ad5c
JJ
33602014-02-11 Richard Henderson <rth@redhat.com>
3361 Jakub Jelinek <jakub@redhat.com>
3362
3363 PR debug/59776
3364 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
3365 around drhs if type conversion to lacc->type is not useless.
3366
4fd92af6
KT
33672014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3368
3369 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
3370 tuning struct.
3371 (cortex-a57.cortex-a53): Likewise.
3372 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
3373
7cb14cb8
KT
33742014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3375
3376 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
3377 arm_restrict_it.
3378
6d3715b9
RL
33792014-02-11 Renlin Li <Renlin.Li@arm.com>
3380
3381 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
3382 add_options_for_arm_vfp3.
3383
cddddfff
JL
33842014-02-11 Jeff Law <law@redhat.com>
3385
3386 PR middle-end/54041
3387 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
3388 object with an undesirable mode.
3389
7c1aef7e
RO
33902014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3391
3392 PR libgomp/60107
3393 * config/i386/sol2-9.h: New file.
3394 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
3395 *-*-solaris2.9*): Use it.
3396
4bb66ef3 33972014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
3398
3399 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
3400 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
3401
4bb66ef3 34022014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
3403
3404 * config/microblaze/microblaze.c: Extend mcpu version format
3405
4bb66ef3 34062014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
3407
3408 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
3409
004a7e45 34102014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
3411
3412 PR target/59927
3413 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
3414 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
3415 ms-abi vs -mno-accumulate-outgoing-args.
3416 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
3417 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
3418 respect to ms-abi.
3419
e2fc3b4f
BE
34202014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
3421
3422 PR middle-end/60080
3423 * cfgexpand.c (expand_asm_operands): Attach source location to
3424 ASM_INPUT rtx objects.
3425 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
3426
3a22ad89
NC
34272014-02-10 Nick Clifton <nickc@redhat.com>
3428
3429 * config/mn10300/mn10300.c (popcount): New function.
3430 (mn10300_expand_prologue): Include saved registers in stack usage
3431 count.
3432
f27be550
JL
34332014-02-10 Jeff Law <law@redhat.com>
3434
3435 PR middle-end/52306
3436 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 3437 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 3438
e15e3815
UW
34392014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3440
3441 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
3442 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
3443 -mcall-openbsd, or -mcall-linux.
3444 (CC1_ENDIAN_BIG_SPEC): Remove.
3445 (CC1_ENDIAN_LITTLE_SPEC): Remove.
3446 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
3447 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
3448 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
3449 and %cc1_endian_default.
3450 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
3451
4e1f39e4
RB
34522014-02-10 Richard Biener <rguenther@suse.de>
3453
3454 PR tree-optimization/60115
3455 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
3456 MEM_REF handling. Properly verify that the accesses are not
3457 out of the objects bound.
3458
e7af1c22
KT
34592014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3460
3461 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
3462 coretex to cortex.
3463
79c7de84
EB
34642014-02-10 Eric Botcazou <ebotcazou@adacore.com>
3465
3466 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
3467 proper constants and fix formatting.
3468 (possible_polymorphic_call_targets): Fix formatting.
3469
cf73ee60
KY
34702014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
3471 Ilya Tocar <ilya.tocar@intel.com>
3472
3473 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
3474 (_mm512_loadu_epi32): Renamed into...
3475 (_mm512_loadu_si512): This.
3476 (_mm512_storeu_epi32): Renamed into...
3477 (_mm512_storeu_si512): This.
3478 (_mm512_maskz_ceil_ps): Removed.
3479 (_mm512_maskz_ceil_pd): Ditto.
3480 (_mm512_maskz_floor_ps): Ditto.
3481 (_mm512_maskz_floor_pd): Ditto.
3482 (_mm512_floor_round_ps): Ditto.
3483 (_mm512_floor_round_pd): Ditto.
3484 (_mm512_ceil_round_ps): Ditto.
3485 (_mm512_ceil_round_pd): Ditto.
3486 (_mm512_mask_floor_round_ps): Ditto.
3487 (_mm512_mask_floor_round_pd): Ditto.
3488 (_mm512_mask_ceil_round_ps): Ditto.
3489 (_mm512_mask_ceil_round_pd): Ditto.
3490 (_mm512_maskz_floor_round_ps): Ditto.
3491 (_mm512_maskz_floor_round_pd): Ditto.
3492 (_mm512_maskz_ceil_round_ps): Ditto.
3493 (_mm512_maskz_ceil_round_pd): Ditto.
3494 (_mm512_expand_pd): Ditto.
3495 (_mm512_expand_ps): Ditto.
3496 * config/i386/i386.c (ix86_builtins): Remove
3497 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
3498 (bdesc_args): Ditto.
3499 * config/i386/predicates.md (const1256_operand): New.
3500 (const_1_to_2_operand): Ditto.
3501 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
3502 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
3503 (*avx512pf_gatherpf<mode>sf): Ditto.
3504 (avx512pf_gatherpf<mode>df): Ditto.
3505 (*avx512pf_gatherpf<mode>df_mask): Ditto.
3506 (*avx512pf_gatherpf<mode>df): Ditto.
3507 (avx512pf_scatterpf<mode>sf): Ditto.
3508 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
3509 (*avx512pf_scatterpf<mode>sf): Ditto.
3510 (avx512pf_scatterpf<mode>df): Ditto.
3511 (*avx512pf_scatterpf<mode>df_mask): Ditto.
3512 (*avx512pf_scatterpf<mode>df): Ditto.
3513 (avx512f_expand<mode>): Removed.
3514 (<shift_insn><mode>3<mask_name>): Change predicate type.
3515
8fcbce72
JJ
35162014-02-08 Jakub Jelinek <jakub@redhat.com>
3517
41475e96
JJ
3518 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
3519 not at the end of datarefs vector use ordered_remove to avoid
3520 reordering datarefs vector.
3521
c74559df
JJ
3522 PR c/59984
3523 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
3524 mark local addressable non-static vars as GOVD_PRIVATE
3525 instead of GOVD_LOCAL.
3526 * omp-low.c (lower_omp_for): Move gimple_bind_vars
3527 and BLOCK_VARS of gimple_bind_block to new_stmt rather
3528 than copying them.
3529
8fcbce72
JJ
3530 PR middle-end/60092
3531 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
3532 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
3533 assume_aligned or alloc_align attributes.
3534 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
3535 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
3536 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
3537 calls to functions with assume_aligned or alloc_align attributes.
3538 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 3539
451bdd23
TG
35402014-02-08 Terry Guo <terry.guo@arm.com>
3541
3542 * doc/invoke.texi: Document ARM -march=armv7e-m.
3543
d31d42c7
JJ
35442014-02-08 Jakub Jelinek <jakub@redhat.com>
3545
d71dfeb7
JJ
3546 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
3547 flag on __cilkrts_rethrow builtin.
3548
d31d42c7
JJ
3549 PR ipa/60026
3550 * ipa-cp.c (determine_versionability): Fail at -O0
3551 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
3552 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
3553
3554 Revert:
3555 2014-02-04 Jakub Jelinek <jakub@redhat.com>
3556
3557 PR ipa/60026
3558 * tree-inline.c (copy_forbidden): Fail for
3559 __attribute__((optimize (0))) functions.
3560
a0a98fef
JH
35612014-02-07 Jan Hubicka <hubicka@ucw.cz>
3562
3563 * varpool.c: Include pointer-set.h.
3564 (varpool_remove_unreferenced_decls): Variables in other partitions
3565 will not be output; be however careful to not lose information
3566 about partitioning.
3567
8c311b50
JH
35682014-02-07 Jan Hubicka <hubicka@ucw.cz>
3569
3570 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
3571 lookup in the vtable constructor.
3572
7ba03e5e
JL
35732014-02-07 Jeff Law <law@redhat.com>
3574
63e6247d
JL
3575 PR target/40977
3576 * config/m68k/m68k.md (ashldi_extsi): Turn into a
3577 define_insn_and_split.
3578
7ba03e5e
JL
3579 * ipa-inline.c (inline_small_functions): Fix typos.
3580
177bc204
RS
35812014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3582
3583 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
3584 (s390_can_use_return_insn): Declare.
3585 * config/s390/s390.h (EPILOGUE_USES): Define.
3586 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
3587 instructions.
3588 (s390_chunkify_start): Handle return JUMP_LABELs.
3589 (s390_early_mach): Emit a main_pool instruction on the entry edge.
3590 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
3591 (s390_can_use_return_insn): New functions.
3592 (s390_fix_long_loop_prediction): Handle conditional returns.
3593 (TARGET_SET_UP_BY_PROLOGUE): Define.
3594 * config/s390/s390.md (ANY_RETURN): New code iterator.
3595 (*creturn, *csimple_return, return, simple_return): New patterns.
3596
0621cf3c
RS
35972014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3598
3599 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
3600 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
3601 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
3602 REG_CFA_RESTORE list when deciding not to restore a register.
3603
4099494d
RS
36042014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3605
3606 * config/s390/s390.c: Include tree-pass.h and context.h.
3607 (s390_early_mach): New function, split out from...
3608 (s390_emit_prologue): ...here.
3609 (pass_data_s390_early_mach): New pass structure.
3610 (pass_s390_early_mach): New class.
3611 (s390_option_override): Create and register early_mach pass.
3612 Move to end of file.
3613
3489cc33
RS
36142014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3615
3616 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
3617 to match for the exit block.
3618
75cc21e2
AK
36192014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3620
3621 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
3622 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
3623 Reject misaligned operands.
3624
8bd7070a
AK
36252014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3626
1287ae50 3627 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 3628
831806cb
RB
36292014-02-07 Richard Biener <rguenther@suse.de>
3630
3631 PR middle-end/60092
3632 * gimple-low.c (lower_builtin_posix_memalign): New function.
3633 (lower_stmt): Call it to lower posix_memalign in a way
3634 to make alignment info accessible.
3635
7ee9c16f
JJ
36362014-02-07 Jakub Jelinek <jakub@redhat.com>
3637
3638 PR c++/60082
3639 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
3640 __builtin_setjmp_receiver.
3641
32cab212
RB
36422014-02-07 Richard Biener <rguenther@suse.de>
3643
3644 PR middle-end/60092
3645 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
3646 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
3647 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
3648 Handle BUILT_IN_POSIX_MEMALIGN.
3649 (find_func_clobbers): Likewise.
3650 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
3651 (call_may_clobber_ref_p_1): Likewise.
3652
6d6af792
JH
36532014-02-06 Jan Hubicka <hubicka@ucw.cz>
3654
3655 PR ipa/59918
1287ae50
UB
3656 * ipa-devirt.c (record_target_from_binfo): Remove overactive
3657 sanity check.
6d6af792 3658
3c0f1105
JH
36592014-02-06 Jan Hubicka <hubicka@ucw.cz>
3660
3661 PR ipa/59469
3662 * lto-cgraph.c (lto_output_node): Use
3663 symtab_get_symbol_partitioning_class.
3664 (lto_output_varpool_node): likewise.
3665 (symtab_get_symbol_partitioning_class): Move here from
3666 lto/lto-partition.c
3667 * cgraph.h (symbol_partitioning_class): Likewise.
3668 (symtab_get_symbol_partitioning_class): Declare.
3669
b3bb0eb9
JH
36702014-02-06 Jan Hubicka <hubicka@ucw.cz>
3671
3672 * ggc.h (ggc_internal_cleared_alloc): New macro.
3673 * vec.h (vec_safe_copy): Handle memory stats.
3674 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
3675 * target-globals.c (save_target_globals): Likewise.
3676
36772014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
3678
3679 PR target/60077
3680 * expr.c (emit_move_resolve_push): Export; be bit more selective
3681 on when to clear alias set.
3682 * expr.h (emit_move_resolve_push): Declare.
3683 * function.h (struct function): Add tail_call_marked.
3684 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
3685 * config/i386/i386-protos.h (ix86_expand_push): Remove.
3686 * config/i386/i386.md (TImode move expander): De not call
3687 ix86_expand_push.
3688 (FP push expanders): Preserve memory attributes.
3689 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 3690 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
3691 (ix86_expand_push): Remove.
3692 * config/i386/mmx.md (push<mode>1): Remove.
3693
47d552eb
JJ
36942014-02-06 Jakub Jelinek <jakub@redhat.com>
3695
3696 PR rtl-optimization/60030
3697 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
3698 lopart with paradoxical subreg before shifting it up by hprec.
3699
45c75ea7
KT
37002014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3701
3702 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
3703 Remove extra newline at end of file.
3704 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
3705 (arm_issue_rate): Handle cortexa57.
3706 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
3707 (cortex-a57.cortex-a53): Likewise.
3708
af116cae
JJ
37092014-02-06 Jakub Jelinek <jakub@redhat.com>
3710
652a3e3a
JJ
3711 PR target/59575
3712 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
3713 don't record in REG_FRAME_RELATED_EXPR registers not set in that
3714 bitmask.
3715 (arm_expand_prologue): Adjust all callers.
3716 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
3717 info, registers also at the lowest numbered registers side. Use
3718 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
3719 XEXP.
3720
af116cae 3721 PR debug/59992
1287ae50
UB
3722 * var-tracking.c (adjust_mems): Before adding a SET to
3723 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 3724
fdcee33b
AM
37252014-02-06 Alan Modra <amodra@gmail.com>
3726
3727 PR target/60032
3728 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
3729 change SDmode to DDmode when lra_in_progress.
3730
251901a0
JJ
37312014-02-06 Jakub Jelinek <jakub@redhat.com>
3732
d3ef8c53
JJ
3733 PR middle-end/59150
3734 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
3735 free_data_ref on the dr first, and before goto again also set dr
3736 to the next dr. For simd_lane_access, free old datarefs[i] before
3737 overwriting it. For get_vectype_for_scalar_type failure, don't
3738 free_data_ref if simd_lane_access.
3739
2754b38f
JJ
3740 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
3741
251901a0
JJ
3742 PR target/60062
3743 * tree.h (opts_for_fn): New inline function.
3744 (opt_for_fn): Define.
3745 * config/i386/i386.c (ix86_function_regparm): Use
3746 opt_for_fn (decl, optimize) instead of optimize.
3747
4a985a37
MS
37482014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
3749
3750 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
3751 for SYMBOL_REF in large memory model.
3752
c366d38c
KT
37532014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3754
3755 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
3756 and crypto support.
3757 (cortex-a57): Likewise.
3758 (cortex-a57.cortex-a53): Likewise.
3759
c801e246
YG
37602014-02-06 Yury Gribov <y.gribov@samsung.com>
3761 Kugan Vivekanandarajah <kuganv@linaro.org>
3762
3763 * config/arm/arm.c (arm_vector_alignment_reachable): Check
3764 unaligned_access.
3765 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
3766
d50f7b84
RB
37672014-02-06 Richard Biener <rguenther@suse.de>
3768
3769 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
3770 set_loop_copy and initialize_original_copy_tables.
3771
179d2941
AV
37722014-02-06 Alex Velenko <Alex.Velenko@arm.com>
3773
3774 * config/aarch64/aarch64-simd.md
3775 (aarch64_ashr_simddi): Change QI to SI.
3776
78b1469d
JH
37772014-02-05 Jan Hubicka <hubicka@ucw.cz>
3778 Jakub Jelinek <jakub@redhat.com>
3779
3780 PR middle-end/60013
3781 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
3782 of the dataflow.
3783
d85f364c
BS
37842014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3785
3786 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
3787 CODE_FOR_altivec_vpku[hw]um to
3788 CODE_FOR_altivec_vpku[hw]um_direct.
3789 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
3790 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
3791 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
3792 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
3793
7b1cd427
BS
37942014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3795
3796 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
3797 generation for -maltivec=be.
3798 (altivec_vsumsws): Simplify redundant test.
3799
52a93551
BS
38002014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3801
3802 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
3803 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
3804 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
3805 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
3806 gen_altivec_vpkuwum.
3807 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
3808 BYTES_BIG_ENDIAN.
3809 (altivec_vpks<VI_char>ss): Likewise.
3810 (altivec_vpks<VI_char>us): Likewise.
3811 (altivec_vpku<VI_char>us): Likewise.
3812 (altivec_vpku<VI_char>um): Likewise.
3813 (altivec_vpku<VI_char>um_direct): New (copy of
3814 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
3815 internal use).
3816 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
3817 target is little endian and -maltivec=be is not specified.
3818 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 3819 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
3820 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
3821 target is little endian and -maltivec=be is not specified.
3822 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 3823 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
3824 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
3825 little endian and -maltivec=be is not specified.
3826 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
3827 little endian and -maltivec=be is not specified.
3828
004a7e45 38292014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
3830
3831 PR debug/52727
3832 * combine-stack-adj.c: Revert r206943.
3833 * sched-int.h (struct deps_desc): Add last_args_size.
3834 * sched-deps.c (init_deps): Initialize it.
3835 (sched_analyze_insn): Add OUTPUT dependencies between insns that
3836 contain REG_ARGS_SIZE notes.
3837
f300e7b8
JH
38382014-02-05 Jan Hubicka <hubicka@ucw.cz>
3839
3840 * lto-cgraph.c (asm_nodes_output): Make global.
3841 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 3842 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
3843 (driver_handle_option): Handle OPT_fwpa.
3844
609524d2
JJ
38452014-02-05 Jakub Jelinek <jakub@redhat.com>
3846
add5c763
JJ
3847 PR ipa/59947
3848 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
3849 a comment typo and formatting issue. If odr_hash hasn't been
3850 created, return vNULL and set *completep to false.
3851
609524d2
JJ
3852 PR middle-end/57499
3853 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
3854 bb with no successors.
3855
05ab6e21
JG
38562014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
3857
3858 PR target/59718
3859 * doc/invoke.texi (-march): Clarify documentation for ARM.
3860 (-mtune): Likewise.
3861 (-mcpu): Likewise.
3862
d55d9ed0
RB
38632014-02-05 Richard Biener <rguenther@suse.de>
3864
3865 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
3866 when not vectorizing because of too many alias checks.
3867 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3868 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
3869
c70da878
NC
38702014-02-05 Nick Clifton <nickc@redhat.com>
3871
3872 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 3873 accept extended registers in any mode when compiling for the MN10300.
c70da878 3874
25a07c7e
YG
38752014-02-05 Yury Gribov <y.gribov@samsung.com>
3876
3877 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
3878 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
3879 sanitization attributes.
3880 (can_inline_edge_p): Likewise.
3881 (sanitize_attrs_match_for_inline_p): New function.
3882
4bf2a588
JH
38832014-02-04 Jan Hubicka <hubicka@ucw.cz>
3884
3885 * ipa-prop.c (detect_type_change): Shor circuit testing of
3886 type changes on THIS pointer.
3887
d92f4df0
JDA
38882014-02-04 John David Anglin <danglin@gcc.gnu.org>
3889
3890 PR target/59777
3891 * config/pa/pa.c (legitimize_tls_address): Return original address
3892 if not passed a SYMBOL_REF rtx.
3893 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
3894 addresses.
3895 (pa_emit_move_sequence): Simplify TLS source operands.
3896 (pa_legitimate_constant_p): Reject all TLS constants.
3897 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
3898 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
3899
d665f8dd
JH
39002014-02-04 Jan Hubicka <hubicka@ucw.cz>
3901
3902 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
3903 groups when we know they are controlled by LTO.
3904 * varasm.c (default_binds_local_p_1): If object is in other partition,
3905 it will be resolved locally.
3906
6a071860
BE
39072014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
3908
e2fc3b4f 3909 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 3910 use SSIZE_MAX because it is not always defined.
6a071860 3911
8e9d68a9
VM
39122014-02-04 Vladimir Makarov <vmakarov@redhat.com>
3913
3914 PR bootstrap/59913
3915 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
3916 threshold for pseudo splitting.
3917 (update_ebb_live_info): Process call argument hard registers and
3918 hard registers from insn definition too.
3919 (max_small_class_regs_num): New constant.
3920 (inherit_in_ebb): Update live hard regs through EBBs. Update
3921 reloads_num only for small register classes. Don't split for
3922 outputs of jumps.
3923
8472fa80
MT
39242014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
3925
3926 PR ipa/60058
3927 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
3928 is non-null.
3929
df98e37f
JH
39302014-02-04 Jan Hubicka <hubicka@ucw.cz>
3931
1287ae50
UB
3932 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
3933 visibility is safe.
df98e37f 3934
71e55f04
MP
39352014-02-04 Marek Polacek <polacek@redhat.com>
3936
3937 * gdbinit.in (pel): Define.
3938
229e56f9
BE
39392014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
3940
3941 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
3942 behavior.
3943
c39276b8
RB
39442014-02-04 Richard Biener <rguenther@suse.de>
3945
3946 PR lto/59723
3947 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
3948 in function context local.
3949 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
3950 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
3951 similar to LTO_imported_decl_ref.
3952
66b3ed5f
JJ
39532014-02-04 Jakub Jelinek <jakub@redhat.com>
3954
029ce7a2
JJ
3955 PR tree-optimization/60002
3956 * cgraphclones.c (build_function_decl_skip_args): Clear
3957 DECL_LANG_SPECIFIC.
3958
8e91d222
JJ
3959 PR tree-optimization/60023
3960 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
3961 false to gsi_replace.
3962 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
3963 has been in some EH region and vec_stmt could throw, add
3964 vec_stmt into the same EH region.
3965 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
3966 has no lhs, ignore it.
3967 * internal-fn.c (expand_MASK_LOAD): Likewise.
3968
eb259c4a
JJ
3969 PR ipa/60026
3970 * tree-inline.c (copy_forbidden): Fail for
3971 __attribute__((optimize (0))) functions.
3972
92d05580
JJ
3973 PR other/58712
3974 * omp-low.c (simd_clone_struct_copy): If from->inbranch
3975 is set, copy one less argument.
30540e79
JJ
3976 (expand_simd_clones): Don't subtract clone_info->inbranch
3977 from simd_clone_struct_alloc argument.
92d05580 3978
be3afd67
JJ
3979 PR rtl-optimization/57915
3980 * recog.c (simplify_while_replacing): If all unary/binary/relational
3981 operation arguments are constant, attempt to simplify those.
3982
66b3ed5f
JJ
3983 PR middle-end/59261
3984 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
3985 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
3986
5961d779
RB
39872014-02-04 Richard Biener <rguenther@suse.de>
3988
3989 PR tree-optimization/60012
3990 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
3991 TBAA disambiguation to all DDRs.
3992
91da0481
RO
39932014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3994
3995 PR target/59788
3996 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
3997 (LINK_SPEC): Use it for -shared, -shared-libgcc.
3998
39960d1c
JH
39992014-02-03 Jan Hubicka <hubicka@ucw.cz>
4000
4001 PR ipa/59882
4002 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
4003
40042014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
4005
4006 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
4007 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
4008
39960d1c 40092014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
4010
4011 PR ipa/59831
4012 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
4013 to figure out targets of polymorphic calls with known decl.
4014 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
4015 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
4016 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
4017 (get_polymorphic_call_info): ... here.
4018 (get_polymorphic_call_info_from_invariant): New function.
4019
39960d1c 40202014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
4021
4022 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
4023 lookup via vtable pointer; check for type consistency
4024 and turn inconsitent facts into UNREACHABLE.
4025 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
4026 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
4027 type inconsistent querries; return UNREACHABLE instead.
9de2f554 4028
ade3ff24
RH
40292014-02-03 Richard Henderson <rth@twiddle.net>
4030
4031 PR tree-opt/59924
4032 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
4033 already processed this node.
4034 (normalize_one_pred_1): Pass along mark_set.
4035 (normalize_one_pred): Create and destroy a pointer_set_t.
4036 (normalize_one_pred_chain): Likewise.
4037
55428cc3
LA
40382014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
4039
4040 PR gcov-profile/58602
1287ae50 4041 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 4042
85942f45
JH
40432014-02-03 Jan Hubicka <hubicka@ucw.cz>
4044
4045 PR ipa/59831
1287ae50
UB
4046 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
4047 -fno-devirtualize; try to devirtualize by the knowledge of
4048 virtual table pointer given by aggregate propagation.
85942f45 4049 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 4050 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
4051 is relevant for polymorphic calls.
4052 (determine_known_aggregate_parts): Add arg_type parameter; use it
4053 instead of determining the type from pointer type.
4054 (ipa_compute_jump_functions_for_edge): Update call of
4055 determine_known_aggregate_parts.
4056 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
4057 (gimple_get_virt_method_for_binfo): ... here; simplify using
4058 vtable_pointer_value_to_vtable.
4059 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
4060 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 4061 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
4062 (vtable_pointer_value_to_vtable): Break out from ...; handle also
4063 POINTER_PLUS_EXPR.
4064 (vtable_pointer_value_to_binfo): ... here.
4065 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
4066
bddc974e
TJ
40672014-02-03 Teresa Johnson <tejohnson@google.com>
4068
4069 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
4070 redef of outer loop index variable.
4071
5d77fb19
MG
40722014-02-03 Marc Glisse <marc.glisse@inria.fr>
4073
4074 PR c++/53017
4075 PR c++/59211
4076 * doc/extend.texi (Function Attributes): Typo.
4077
cf5b2be2
CH
40782014-02-03 Cong Hou <congh@google.com>
4079
4080 PR tree-optimization/60000
4081 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
4082 if the vectorized statement is a store. A store statement can only
4083 appear at the end of pattern statements.
4084
a2a1ddb5
L
40852014-02-03 H.J. Lu <hongjiu.lu@intel.com>
4086
4087 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
4088 (ix86_option_override_internal): Default long double to 64-bit for
4089 32-bit Bionic and to 128-bit for 64-bit Bionic.
4090
4091 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
4092 TARGET_LONG_DOUBLE_128 is true.
4093 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
4094
4095 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
4096 (mlong-double-64): Negate -mlong-double-128.
4097 (mlong-double-128): New option.
4098
4099 * config/i386/i386-c.c (ix86_target_macros): Define
4100 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
4101
4102 * doc/invoke.texi: Document -mlong-double-128.
4103
f742cf90
L
41042014-02-03 H.J. Lu <hongjiu.lu@intel.com>
4105
4106 PR rtl-optimization/60024
4107 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
4108
8f36fd30
MT
41092014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
4110
1287ae50 4111 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 4112
861ec4f3
AB
41132014-02-03 Andrey Belevantsev <abel@ispras.ru>
4114
4115 PR rtl-optimization/57662
4116 * sel-sched.c (code_motion_path_driver): Do not mark already not
4117 existing blocks in the visiting bitmap.
4118
fe08255d
AB
41192014-02-03 Andrey Belevantsev <abel@ispras.ru>
4120
4121 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
4122 on the insn being emitted.
4123
96d3a240
JG
41242014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
4125 Will Deacon <will.deacon@arm.com>
4126
4127 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
4128
9dd6c9f7
KT
41292014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4130
4131 * config/arm/arm-tables.opt: Regenerate.
4132
60331d00
BS
41332014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4134
4135 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
4136 for vector types other than V16QImode.
4137 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
4138 define_expand, and call altivec_expand_vec_perm_le when producing
4139 code with little endian element order.
4140 (*altivec_vperm_<mode>_internal): New insn having previous
4141 behavior of altivec_vperm_<mode>.
4142 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
4143 altivec_expand_vec_perm_le when producing code with little endian
4144 element order.
4145 (*altivec_vperm_<mode>_uns_internal): New insn having previous
4146 behavior of altivec_vperm_<mode>_uns.
4147
b80afde9
BS
41482014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4149
4150 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
4151 (altivec_vsumsws): Add handling for -maltivec=be with a little
4152 endian target.
4153 (altivec_vsumsws_direct): New.
4154 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
4155 gen_altivec_vsumsws.
4156
39960d1c 41572014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
4158
4159 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
4160 vtable_pointer_value_to_binfo): New functions.
4161 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
4162 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
4163
02b67731
SL
41642014-02-02 Sandra Loosemore <sandra@codesourcery.com>
4165
4166 * config/nios2/nios2.md (load_got_register): Initialize GOT
4167 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
4168 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
4169
2ace77c2
JH
41702014-02-02 Jan Hubicka <hubicka@ucw.cz>
4171
4172 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
4173 preserverd by passthrough, do not propagate the type.
4174
70b2d364
RS
41752014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
4176
4177 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
4178 (mips_atomic_assign_expand_fenv): New function.
4179 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
4180
a90c0245
RS
41812014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
4182
4183 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
4184 (__builtin_mips_set_fcsr): Likewise.
4185 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
4186 MIPS_USI_FTYPE_VOID.
4187 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
4188 (mips16_expand_set_fcsr): Likewise.
4189 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
4190 (mips16_set_fcsr_stub): Likewise.
4191 (mips16_get_fcsr_one_only_stub): New class.
4192 (mips16_set_fcsr_one_only_stub): Likewise.
4193 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
4194 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
4195 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
4196 (hard_float): New availability predicate.
4197 (mips_builtins): Add get_fcsr and set_fcsr.
4198 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
4199 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
4200 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
4201 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
4202 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
4203 patterns.
4204
6d51cc90
RS
42052014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
4206
4207 * config/mips/mips.c (mips_one_only_stub): New class.
4208 (mips_need_mips16_rdhwr_p): Replace with...
4209 (mips16_rdhwr_stub): ...this new variable.
4210 (mips16_stub_call_address): New function.
4211 (mips16_rdhwr_one_only_stub): New class.
4212 (mips_expand_thread_pointer): Use mips16_stub_call_address.
4213 (mips_output_mips16_rdhwr): Delete.
4214 (mips_finish_stub): New function.
4215 (mips_code_end): Use it to handle rdhwr stubs.
4216
6c90f137
UB
42172014-02-02 Uros Bizjak <ubizjak@gmail.com>
4218
4219 PR target/60017
4220 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
4221 when calculating size of integer atomic types.
4222
5e64bbbb
L
42232014-02-02 H.J. Lu <hongjiu.lu@intel.com>
4224
4225 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
4226
021293cb
JJ
42272014-02-01 Jakub Jelinek <jakub@redhat.com>
4228
4229 PR tree-optimization/60003
4230 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
4231 * profile.c (branch_prob): Use gimple_call_builtin_p
4232 to check for BUILT_IN_SETJMP_RECEIVER.
4233 * tree-inline.c (copy_bb): Call notice_special_calls.
4234
6334f3e9
VM
42352014-01-31 Vladimir Makarov <vmakarov@redhat.com>
4236
4237 PR bootstrap/59985
4238 * lra-constraints.c (process_alt_operands): Update reload_sum only
4239 on the first pass.
4240
efa7882f
RH
42412014-01-31 Richard Henderson <rth@redhat.com>
4242
4243 PR middle-end/60004
4244 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
4245 until after else_eh is processed.
4246
de72ea02
IT
42472014-01-31 Ilya Tocar <ilya.tocar@intel.com>
4248
4249 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
4250 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
4251 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
4252 in smmintrin.h, remove them.
4253 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
4254 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
4255 * config/i386/i386.md (ROUND_SAE): Fix value.
4256 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
4257 (const48_operand): New.
4258 * config/i386/subst.md (round), (round_expand): Use
4259 const_4_or_8_to_11_operand.
4260 (round_saeonly), (round_saeonly_expand): Use const48_operand.
4261
be792bce
IT
42622014-01-31 Ilya Tocar <ilya.tocar@intel.com>
4263
4264 * config/i386/constraints.md (Yk): Swap meaning with k.
4265 * config/i386/i386.md (movhi_internal): Change Yk to k.
4266 (movqi_internal): Ditto.
4267 (*k<logic><mode>): Ditto.
4268 (*andhi_1): Ditto.
4269 (*andqi_1): Ditto.
4270 (kandn<mode>): Ditto.
4271 (*<code>hi_1): Ditto.
4272 (*<code>qi_1): Ditto.
4273 (kxnor<mode>): Ditto.
4274 (kortestzhi): Ditto.
4275 (kortestchi): Ditto.
4276 (kunpckhi): Ditto.
4277 (*one_cmplhi2_1): Ditto.
4278 (*one_cmplqi2_1): Ditto.
4279 * config/i386/sse.md (): Change k to Yk.
4280 (avx512f_load<mode>_mask): Ditto.
4281 (avx512f_blendm<mode>): Ditto.
4282 (avx512f_store<mode>_mask): Ditto.
4283 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
4284 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
4285 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
4286 Ditto.
be792bce
IT
4287 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
4288 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
4289 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
4290 (avx512f_maskcmp<mode>3): Ditto.
4291 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
4292 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
4293 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
4294 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
4295 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
4296 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
4297 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
4298 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
4299 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
4300 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
4301 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
4302 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
4303 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
4304 (vec_extract_lo_<mode>_maskm): Ditto.
4305 (vec_extract_hi_<mode>_maskm): Ditto.
4306 (avx512f_vternlog<mode>_mask): Ditto.
4307 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
4308 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
4309 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
4310 (avx512f_<code>v8div16qi2_mask): Ditto.
4311 (avx512f_<code>v8div16qi2_mask_store): Ditto.
4312 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
4313 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
4314 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
4315 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
4316 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
4317 (*avx512pf_gatherpf<mode>df_mask): Ditto.
4318 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
4319 (*avx512pf_scatterpf<mode>df_mask): Ditto.
4320 (avx512cd_maskb_vec_dupv8di): Ditto.
4321 (avx512cd_maskw_vec_dupv16si): Ditto.
4322 (avx512f_vpermi2var<mode>3_maskz): Ditto.
4323 (avx512f_vpermi2var<mode>3_mask): Ditto.
4324 (avx512f_vpermi2var<mode>3_mask): Ditto.
4325 (avx512f_vpermt2var<mode>3_maskz): Ditto.
4326 (*avx512f_gathersi<mode>): Ditto.
4327 (*avx512f_gathersi<mode>_2): Ditto.
4328 (*avx512f_gatherdi<mode>): Ditto.
4329 (*avx512f_gatherdi<mode>_2): Ditto.
4330 (*avx512f_scattersi<mode>): Ditto.
4331 (*avx512f_scatterdi<mode>): Ditto.
4332 (avx512f_compress<mode>_mask): Ditto.
4333 (avx512f_compressstore<mode>_mask): Ditto.
4334 (avx512f_expand<mode>_mask): Ditto.
4335 * config/i386/subst.md (mask): Change k to Yk.
4336 (mask_scalar_merge): Ditto.
4337 (sd): Ditto.
4338
0878d68a
MG
43392014-01-31 Marc Glisse <marc.glisse@inria.fr>
4340
4341 * doc/extend.texi (Vector Extensions): Document ?: in C++.
4342
fdfd537b
RB
43432014-01-31 Richard Biener <rguenther@suse.de>
4344
4345 PR middle-end/59990
4346 * builtins.c (fold_builtin_memory_op): Make sure to not
4347 use a floating-point mode or a boolean or enumeral type for
4348 the copy operation.
4349
4f50b9ff
DD
43502014-01-30 DJ Delorie <dj@redhat.com>
4351
4352 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
4353 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
4354 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
4355 whenever main() has an epilogue.
4356
c3e96073
BS
43572014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4358
4359 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
4360 unused variable "field".
4361 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
4362 (vsx_mergeh_<mode>): Likewise.
4363 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
4364 (altivec_vmrghh): Likewise.
4365 (altivec_vmrghw): Likewise.
4366 (altivec_vmrglb): Likewise.
4367 (altivec_vmrglh): Likewise.
4368 (altivec_vmrglw): Likewise.
4369 (altivec_vspltb): Add missing uses.
4370 (altivec_vsplth): Likewise.
4371 (altivec_vspltw): Likewise.
4372 (altivec_vspltsf): Likewise.
4373
4bb9c32d
JJ
43742014-01-30 Jakub Jelinek <jakub@redhat.com>
4375
4376 PR target/59923
4377 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
4378 frame related instructions.
4379
7613fa50
VM
43802014-01-30 Vladimir Makarov <vmakarov@redhat.com>
4381
4382 PR rtl-optimization/59959
4383 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
4384 any reload of register whose subreg is invalid.
4385
6fb82517
JJ
43862014-01-30 Jakub Jelinek <jakub@redhat.com>
4387
33425d6c 4388 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
4389 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
4390 Add missing return type - void.
4391
bf53d4b8
BS
43922014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4393
4394 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
4395 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
4396 remove element index adjustment for endian (now handled in vsx.md
4397 and altivec.md).
4398 (altivec_expand_vec_perm_const): Use
4399 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
4400 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
4401 (vsx_xxspltw_<mode>): Adjust element index for little endian.
4402 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
4403 define_expand and a new define_insn *altivec_vspltb_internal;
4404 adjust for -maltivec=be on a little endian target.
4405 (altivec_vspltb_direct): New.
4406 (altivec_vsplth): Divide into a define_expand and a new
4407 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
4408 little endian target.
4409 (altivec_vsplth_direct): New.
4410 (altivec_vspltw): Divide into a define_expand and a new
4411 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
4412 little endian target.
4413 (altivec_vspltw_direct): New.
4414 (altivec_vspltsf): Divide into a define_expand and a new
4415 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
4416 a little endian target.
4417
c965e187
RB
44182014-01-30 Richard Biener <rguenther@suse.de>
4419
4420 PR tree-optimization/59993
4421 * tree-ssa-forwprop.c (associate_pointerplus): Check we
4422 can propagate form the earlier stmt and avoid the transform
4423 when the intermediate result is needed.
4424
ba117645
AD
44252014-01-30 Alangi Derick <alangiderick@gmail.com>
4426
4427 * README.Portability: Fix typo.
4428
4bb66ef3 44292014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
4430
4431 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
4432 comparison_operator with ordered_comparison_operator.
4433
c345a0b1
NC
44342014-01-30 Nick Clifton <nickc@redhat.com>
4435
4436 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
4437 Rename to mn10300_store_multiple_regs.
4438 * config/mn10300/mn10300.c: Likewise.
4439 * config/mn10300/mn10300.md (store_movm): Fix typo: call
4440 store_multiple_regs.
4441 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
4442 Call mn10300_store_multiple_regs.
4443
2d70f6d4
NC
44442014-01-30 Nick Clifton <nickc@redhat.com>
4445 DJ Delorie <dj@redhat.com>
4446
4447 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
4448 %fp 2 to keep registers after it properly word-aligned.
4449 (rl78_alloc_physical_registers_umul): Handle the case where both
4450 input operands are the same.
4451
c972624e
RB
44522014-01-30 Richard Biener <rguenther@suse.de>
4453
4454 PR tree-optimization/59903
4455 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
4456 check properly.
4457
fc044323
JM
44582014-01-30 Jason Merrill <jason@redhat.com>
4459
404c2aea
JM
4460 PR c++/59633
4461 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
4462
fc044323
JM
4463 PR c++/59645
4464 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
4465
f30a0ba5
RB
44662014-01-30 Richard Biener <rguenther@suse.de>
4467
4468 PR tree-optimization/59951
33425d6c 4469 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 4470
aad8816f
SZ
44712014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
4472
4473 PR target/59784
4474 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
4475 SFmode to DFmode case.
4476
3b16363e
DD
44772014-01-29 DJ Delorie <dj@redhat.com>
4478
4479 * config/msp430/msp430.opt (-minrt): New.
4480 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
4481 if -minrt given.
4482 (ENDFILE_SPEC): Likewise.
4483
39960d1c 44842014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
4485
4486 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
4487 (estimate_function_body_sizes): Use it.
4488
1200933c
PC
44892014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
4490
4491 PR c++/58561
4492 * dwarf2out.c (is_cxx_auto): New.
4493 (is_base_type): Use it.
4494 (gen_type_die_with_usage): Likewise.
4495
68d3bacf
BS
44962014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4497
4498 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
4499 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
4500 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
4501 -maltivec=be with LE targets.
4502 (vsx_mergeh_<mode>): Likewise.
33425d6c 4503 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
4504 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
4505 (altivec_vmrghb): Replace with define_expand and new
33425d6c 4506 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
4507 (altivec_vmrghb_direct): New define_insn.
4508 (altivec_vmrghh): Replace with define_expand and new
33425d6c 4509 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
4510 (altivec_vmrghh_direct): New define_insn.
4511 (altivec_vmrghw): Replace with define_expand and new
33425d6c 4512 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
4513 (altivec_vmrghw_direct): New define_insn.
4514 (*altivec_vmrghsf): Adjust for endianness.
4515 (altivec_vmrglb): Replace with define_expand and new
33425d6c 4516 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
4517 (altivec_vmrglb_direct): New define_insn.
4518 (altivec_vmrglh): Replace with define_expand and new
33425d6c 4519 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
4520 (altivec_vmrglh_direct): New define_insn.
4521 (altivec_vmrglw): Replace with define_expand and new
33425d6c 4522 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
4523 (altivec_vmrglw_direct): New define_insn.
4524 (*altivec_vmrglsf): Adjust for endianness.
4525 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
4526 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
4527 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
4528 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
4529 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
4530 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
4531 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
4532 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
4533
aef66c94
MS
45342014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
4535
4536 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
4537 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
4538 whitespace.
4539
77574c35
RB
45402014-01-29 Richard Biener <rguenther@suse.de>
4541
4542 PR tree-optimization/58742
4543 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
4544 associate_pointerplus_align.
4545 (associate_pointerplus_diff): New function.
4546 (associate_pointerplus): Likewise. Call associate_pointerplus_align
4547 and associate_pointerplus_diff.
4548
15b25b24
RB
45492014-01-29 Richard Biener <rguenther@suse.de>
4550
4551 * lto-streamer.h (LTO_major_version): Bump to 3.
4552 (LTO_minor_version): Reset to 0.
4553
eb6006ad
RL
45542014-01-29 Renlin Li <Renlin.Li@arm.com>
4555
4556 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
4557 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
4558 (arm_file_start): Generate correct asm header for armv7ve.
4559 * config/arm/bpabi.h: Add multilib support for armv7ve.
4560 * config/arm/driver-arm.c: Change the architectures of cortex-a7
4561 and cortex-a15 to armv7ve.
4562 * config/arm/t-aprofile: Add multilib support for armv7ve.
4563 * doc/invoke.texi: Document -march=armv7ve.
4564
4bfb2fa2
RB
45652014-01-29 Richard Biener <rguenther@suse.de>
4566
4567 PR tree-optimization/58742
4568 * tree-ssa-forwprop.c (associate_plusminus): Return true
4569 if we changed sth, defer EH cleanup to ...
4570 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
4571 (simplify_mult): New function.
4572
42eb8bd1
JJ
45732014-01-29 Jakub Jelinek <jakub@redhat.com>
4574
09b22f48
JJ
4575 PR middle-end/59917
4576 PR tree-optimization/59920
4577 * tree.c (build_common_builtin_nodes): Remove
4578 __builtin_setjmp_dispatcher initialization.
4579 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
4580 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
4581 instead of gsi_after_labels + manually skipping debug stmts.
4582 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
4583 ignore bbs with IFN_ABNORMAL_DISPATCHER.
4584 * tree-inline.c (copy_edges_for_bb): Remove
4585 can_make_abnormal_goto argument, instead add abnormal_goto_dest
4586 argument. Ignore computed_goto_p stmts. Don't call
4587 make_abnormal_goto_edges. If a call might need abnormal edges
4588 for non-local gotos, see if it already has an edge to
4589 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
4590 with true argument, don't do anything then, otherwise add
4591 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
4592 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
4593 caller.
4594 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
4595 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
4596 (lower_stmt): Don't set data->calls_builtin_setjmp.
4597 (lower_builtin_setjmp): Adjust comment.
4598 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
4599 * tree-cfg.c (found_computed_goto): Remove.
4600 (factor_computed_gotos): Remove.
4601 (make_goto_expr_edges): Return bool, true for computed gotos.
4602 Don't call make_abnormal_goto_edges.
4603 (build_gimple_cfg): Don't set found_computed_goto, don't call
4604 factor_computed_gotos.
4605 (computed_goto_p): No longer static.
4606 (make_blocks): Don't set found_computed_goto.
4607 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
4608 (make_edges): If make_goto_expr_edges returns true, push bb
4609 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
4610 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
4611 vector. Record mapping between bbs and OpenMP regions if there
4612 are any, adjust make_gimple_omp_edges caller. Call
4613 handle_abnormal_edges.
4614 (make_abnormal_goto_edges): Remove.
4615 * tree-cfg.h (make_abnormal_goto_edges): Remove.
4616 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
4617 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 4618 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
4619 * internal-fn.def (ABNORMAL_DISPATCHER): New.
4620 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
4621 filling *region also set *region_idx to (*region)->entry->index.
4622
42eb8bd1
JJ
4623 PR other/58712
4624 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
4625 For REGs set ORIGINAL_REGNO.
4626
4a271b7e
BM
46272014-01-29 Bingfeng Mei <bmei@broadcom.com>
4628
33425d6c 4629 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
4630 vec_widen_(s|u)mul_even/odd pair if it is less efficient
4631 than hi/lo pair.
4632
3d54b29d
JJ
46332014-01-29 Jakub Jelinek <jakub@redhat.com>
4634
4635 PR tree-optimization/59594
4636 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
4637 a copy of the datarefs vector rather than the vector itself.
4638
2e5e7103
JM
46392014-01-28 Jason Merrill <jason@redhat.com>
4640
4641 PR c++/53756
4642 * dwarf2out.c (auto_die): New static.
4643 (gen_type_die_with_usage): Handle C++1y 'auto'.
4644 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
4645 on definition.
4646
d5d618b5
L
46472014-01-28 H.J. Lu <hongjiu.lu@intel.com>
4648
4649 PR target/59672
4650 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
4651 (SPEC_X32): Likewise.
4652 (SPEC_64): Likewise.
4653 * config/i386/i386.c (ix86_option_override_internal): Turn off
4654 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
4655 for TARGET_16BIT.
4656 (x86_file_start): Output .code16gcc for TARGET_16BIT.
4657 * config/i386/i386.h (TARGET_16BIT): New macro.
4658 (TARGET_16BIT_P): Likewise.
4659 * config/i386/i386.opt: Add m16.
4660 * doc/invoke.texi: Document -m16.
4661
367c8286
DS
46622014-01-28 Jakub Jelinek <jakub@redhat.com>
4663
4664 PR preprocessor/59935
4665 * input.c (location_get_source_line): Bail out on when line number
33425d6c 4666 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 4667
07ec81f9
RB
46682014-01-28 Richard Biener <rguenther@suse.de>
4669
4670 PR tree-optimization/58742
4671 * tree-ssa-forwprop.c (associate_plusminus): Handle
4672 pointer subtraction of the form (T)(P + A) - (T)P.
4673
5facb998
KT
46742014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4675
4676 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
4677 at const_int_cost.
4678
e04faf24
RB
46792014-01-28 Richard Biener <rguenther@suse.de>
4680
4681 Revert
4682 2014-01-28 Richard Biener <rguenther@suse.de>
4683
4684 PR rtl-optimization/45364
4685 PR rtl-optimization/59890
4686 * var-tracking.c (local_get_addr_clear_given_value): Handle
4687 already cleared slot.
4688 (val_reset): Handle not allocated local_get_addr_cache.
4689 (vt_find_locations): Use post-order on the inverted CFG.
4690
6593260b
RB
46912014-01-28 Richard Biener <rguenther@suse.de>
4692
33425d6c 4693 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 4694
9ec2d2c1
RB
46952014-01-28 Richard Biener <rguenther@suse.de>
4696
4697 PR rtl-optimization/45364
4698 PR rtl-optimization/59890
4699 * var-tracking.c (local_get_addr_clear_given_value): Handle
4700 already cleared slot.
4701 (val_reset): Handle not allocated local_get_addr_cache.
4702 (vt_find_locations): Use post-order on the inverted CFG.
4703
2ceb362d
AM
47042014-01-28 Alan Modra <amodra@gmail.com>
4705
4706 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
4707 * configure.ac <recursive call for build != host>: Define
4708 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
4709 and LD_FOR_BUILD too.
4710 * configure: Regenerate.
4711
0ebe2584
ASJ
47122014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
4713
4714 * config/i386/i386.c (get_builtin_code_for_version): Separate
4715 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
4716 Broadwell from Haswell.
4717
a33fc7fe
SE
47182014-01-27 Steve Ellcey <sellcey@mips.com>
4719
4720 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
4721 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
4722 * config/mips/mips.c (mips_option_override): Change setting
4723 of TARGET_DSP.
4724 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
4725 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
4726 Change from Mask to Var.
a33fc7fe 4727
a99be3c9
JL
47282014-01-27 Jeff Law <law@redhat.com>
4729
4730 * ipa-inline.c (inline_small_functions): Fix typo.
4731
d256b866
IT
47322014-01-27 Ilya Tocar <ilya.tocar@intel.com>
4733
4734 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
4735 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
4736 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
4737 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
4738 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
4739 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
4740 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
4741 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
4742 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
4743 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
4744 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
4745 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
4746 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
4747 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
4748 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
4749 (_mm512_storeu_epi64): Ditto.
4750 (_mm512_cmpge_epi32_mask): Ditto.
4751 (_mm512_cmpge_epu32_mask): Ditto.
4752 (_mm512_cmpge_epi64_mask): Ditto.
4753 (_mm512_cmpge_epu64_mask): Ditto.
4754 (_mm512_cmple_epi32_mask): Ditto.
4755 (_mm512_cmple_epu32_mask): Ditto.
4756 (_mm512_cmple_epi64_mask): Ditto.
4757 (_mm512_cmple_epu64_mask): Ditto.
4758 (_mm512_cmplt_epi32_mask): Ditto.
4759 (_mm512_cmplt_epu32_mask): Ditto.
4760 (_mm512_cmplt_epi64_mask): Ditto.
4761 (_mm512_cmplt_epu64_mask): Ditto.
4762 (_mm512_cmpneq_epi32_mask): Ditto.
4763 (_mm512_cmpneq_epu32_mask): Ditto.
4764 (_mm512_cmpneq_epi64_mask): Ditto.
4765 (_mm512_cmpneq_epu64_mask): Ditto.
4766 (_mm512_expand_pd): Ditto.
4767 (_mm512_expand_ps): Ditto.
4768 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
4769 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
4770 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
4771 * config/i386/i386.c (ix86_builtins): Add
4772 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
4773 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
4774 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
4775 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
4776 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
4777 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
4778 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
4779 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
4780 IX86_BUILTIN_PMOVUSQW512_MEM.
4781 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
4782 __builtin_ia32_pmovsqd512mem_mask,
4783 __builtin_ia32_pmovqd512mem_mask,
4784 __builtin_ia32_pmovusqw512mem_mask,
4785 __builtin_ia32_pmovsqw512mem_mask,
4786 __builtin_ia32_pmovqw512mem_mask,
4787 __builtin_ia32_pmovusdw512mem_mask,
4788 __builtin_ia32_pmovsdw512mem_mask,
4789 __builtin_ia32_pmovdw512mem_mask,
4790 __builtin_ia32_pmovqb512mem_mask,
4791 __builtin_ia32_pmovusqb512mem_mask,
4792 __builtin_ia32_pmovsqb512mem_mask,
4793 __builtin_ia32_pmovusdb512mem_mask,
4794 __builtin_ia32_pmovsdb512mem_mask,
4795 __builtin_ia32_pmovdb512mem_mask.
4796 (bdesc_args): Add __builtin_ia32_expanddf512,
4797 __builtin_ia32_expandsf512.
4798 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
4799 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
4800 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
4801 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
4802 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
4803 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
4804 (avx512f_<code>v8div16qi2_mask_store): This.
4805 (avx512f_expand<mode>): New.
4806
e711dffd
KY
48072014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
4808
1287ae50 4809 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 4810 New.
e711dffd
KY
4811 (_mm512_mask_prefetch_i64gather_pd): Ditto.
4812 (_mm512_prefetch_i32scatter_pd): Ditto.
4813 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
4814 (_mm512_prefetch_i64scatter_pd): Ditto.
4815 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
4816 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
4817 (_mm512_mask_prefetch_i64gather_ps): Ditto.
4818 (_mm512_prefetch_i32scatter_ps): Ditto.
4819 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
4820 (_mm512_prefetch_i64scatter_ps): Ditto.
4821 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
4822 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
4823 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
4824 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
4825 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
4826 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
4827 IX86_BUILTIN_SCATTERPFQPD.
4828 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
4829 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
4830 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
4831 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
4832 __builtin_ia32_scatterpfqps.
4833 (ix86_expand_builtin): Expand new built-ins.
4834 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
4835 fix memory access data type.
4836 (*avx512pf_gatherpf<mode>_mask): Ditto.
4837 (*avx512pf_gatherpf<mode>): Ditto.
4838 (avx512pf_scatterpf<mode>): Ditto.
4839 (*avx512pf_scatterpf<mode>_mask): Ditto.
4840 (*avx512pf_scatterpf<mode>): Ditto.
4841 (GATHER_SCATTER_SF_MEM_MODE): New.
4842 (avx512pf_gatherpf<mode>df): Ditto.
4843 (*avx512pf_gatherpf<mode>df_mask): Ditto.
4844 (*avx512pf_scatterpf<mode>df): Ditto.
4845
904e5ccd
JJ
48462014-01-27 Jakub Jelinek <jakub@redhat.com>
4847
4848 PR bootstrap/59934
4849 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
4850 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
4851 reached.
4852
84e90123
JG
48532014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
4854
4855 * common/config/arm/arm-common.c
4856 (arm_rewrite_mcpu): Handle multiple names.
4857 * config/arm/arm.h
4858 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
4859
c6f6157a
JG
48602014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
4861
4862 * gimple-builder.h (create_gimple_tmp): Delete.
4863
770516c9
CB
48642014-01-27 Christian Bruel <christian.bruel@st.com>
4865
4866 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
4867 words comparisons.
4868
cc5cec10
JDA
48692014-01-26 John David Anglin <danglin@gcc.gnu.org>
4870
5aa3c762
JDA
4871 * config/pa/pa.md (call): Generate indirect long calls to non-local
4872 functions when outputing 32-bit code.
4873 (call_value): Likewise except for special call to buggy powf function.
4874
cc5cec10
JDA
4875 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
4876 portable runtime and PIC indirect calls.
4877 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
4878 and PIC call sequences. Use ldo instead of blr to set return register
4879 in PIC call sequence.
4880
6bb0e248
WL
48812014-01-25 Walter Lee <walt@tilera.com>
4882
4883 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
4884 avoid clobbering a live register.
4885
dab03fe3
WL
48862014-01-25 Walter Lee <walt@tilera.com>
4887
770516c9 4888 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 4889 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 4890 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
4891 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
4892
905c20c1
WL
48932014-01-25 Walter Lee <walt@tilera.com>
4894
4895 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
4896 arguments on even registers.
4897 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
4898 STACK_BOUNDARY.
4899 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
4900 (BIGGEST_ALIGNMENT): Ditto.
4901 (BIGGEST_FIELD_ALIGNMENT): Ditto.
4902
8e90a625
WL
49032014-01-25 Walter Lee <walt@tilera.com>
4904
4905 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
4906 insns before bundling.
0ebe2584 4907 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 4908
450c1ffe
WL
49092014-01-25 Walter Lee <walt@tilera.com>
4910
4911 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
4912 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
4913 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 4914
450c1ffe 49152014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 4916
317a951f
RS
4917 * config/mips/constraints.md (kl): Delete.
4918 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
4919 define expands, using...
4920 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
4921 instructions for MIPS16.
4922 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
4923 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
4924
3abe9053
WL
49252014-01-25 Walter Lee <walt@tilera.com>
4926
0ebe2584 4927 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
4928 (clzdi2): Ditto.
4929 (ffsdi2): Ditto.
4930
b0e0fe41
WL
49312014-01-25 Walter Lee <walt@tilera.com>
4932
4933 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
4934 (TARGET_EXPAND_TO_RTL_HOOK): Define.
4935
2c8798a2
RS
49362014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
4937
4938 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
4939 Handle XOR.
4940
2105be5a
JJ
49412014-01-25 Jakub Jelinek <jakub@redhat.com>
4942
4def6060
JJ
4943 * print-rtl.c (in_call_function_usage): New var.
4944 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
4945 EXPR_LIST mode as mode and not as reg note name.
4946
2105be5a
JJ
4947 PR middle-end/59561
4948 * cfgloopmanip.c (copy_loop_info): If
4949 loop->warned_aggressive_loop_optimizations, make sure
4950 the flag is set in target loop too.
4951
b72271b9
BI
49522014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4953
4954 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
4955 flag_cilkplus.
4956 * builtins.def: Likewise.
4957 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
4958 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
4959 * ira.c (ira_setup_eliminable_regset): Likewise.
4960 * omp-low.c (gate_expand_omp): Likewise.
4961 (execute_lower_omp): Likewise.
4962 (diagnose_sb_0): Likewise.
4963 (gate_diagnose_omp_blocks): Likewise.
4964 (simd_clone_clauses_extract): Likewise.
4965 (gate): Likewise.
4966
8adcc78b
BS
49672014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4968
4969 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
4970 correction for little endian...
4971 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
4972 here.
4973
3d750496
JL
49742014-01-24 Jeff Law <law@redhat.com>
4975
4976 PR tree-optimization/59919
4977 * tree-vrp.c (find_assert_locations_1): Do not register asserts
4978 for non-returning calls.
4979
1c05df59
JG
49802014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
4981
4982 * common/config/aarch64/aarch64-common.c
4983 (aarch64_rewrite_mcpu): Handle multiple names.
4984 * config/aarch64/aarch64.h
4985 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
4986
317363b4
DS
49872014-01-24 Dodji Seketeli <dodji@redhat.com>
4988
4989 * input.c (add_file_to_cache_tab): Handle the case where fopen
4990 returns NULL.
4991
16370fa7
L
49922014-01-23 H.J. Lu <hongjiu.lu@intel.com>
4993
4994 PR target/59929
4995 * config/i386/i386.md (pushsf splitter): Get stack adjustment
4996 from push operand if code of push isn't PRE_DEC.
4997
b846c948
MM
49982014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
4999
5000 PR target/59909
5001 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
5002 -mquad-memory-atomic. Update -mquad-memory documentation to say
5003 it is only used for non-atomic loads/stores.
5004
5005 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
5006 -mquad-memory or -mquad-memory-atomic switches.
5007
5008 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
5009 -mquad-memory-atomic to ISA 2.07 support.
5010
5011 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
5012 to separate support of normal quad word memory operations (ldq, stq)
5013 from the atomic quad word memory operations.
b846c948
MM
5014
5015 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
5016 support to separate non-atomic quad word operations from atomic
5017 quad word operations. Disable non-atomic quad word operations in
5018 little endian mode so that we don't have to swap words after the
5019 load and before the store.
5020 (quad_load_store_p): Add comment about atomic quad word support.
5021 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
5022 options printed with -mdebug=reg.
5023
5024 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
5025 -mquad-memory-atomic as the test for whether we have quad word
5026 atomic instructions.
0ebe2584
ASJ
5027 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
5028 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
5029
5030 * config/rs6000/sync.md (load_lockedti): Insure that the address
5031 is a proper indexed or indirect address for the lqarx instruction.
5032 On little endian systems, swap the hi/lo registers after the lqarx
5033 instruction.
5034 (load_lockedpti): Use indexed_or_indirect_operand predicate to
5035 insure the address is valid for the lqarx instruction.
5036 (store_conditionalti): Insure that the address is a proper indexed
5037 or indirect address for the stqcrx. instruction. On little endian
5038 systems, swap the hi/lo registers before doing the stqcrx.
5039 instruction.
5040 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
5041 insure the address is valid for the stqcrx. instruction.
5042
5043 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
5044 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
5045 type of quad memory support is available.
5046
6e23f296
VM
50472014-01-23 Vladimir Makarov <vmakarov@redhat.com>
5048
5049 PR regression/59915
5050 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
5051 there is a danger of looping.
5052
0a4f04e5
PH
50532014-01-23 Pat Haugen <pthaugen@us.ibm.com>
5054
5055 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
5056 force flag_ira_loop_pressure if set via command line.
5057
f9a4c9a6
AV
50582014-01-23 Alex Velenko <Alex.Velenko@arm.com>
5059
5060 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
5061 (ashr_simd): New builtin handling DI mode.
5062 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
5063 (aarch64_sshr_simddi): New match pattern.
5064 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
5065 (vshrd_n_s64): Likewise.
5066 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
5067
949ad971
NC
50682014-01-23 Nick Clifton <nickc@redhat.com>
5069
5070 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
5071 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
5072 favour of mcu specific scripts.
5073 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
5074 430x multilibs.
5075
d5ecead9
JG
50762014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
5077 Alex Velenko <Alex.Velenko@arm.com>
5078
5079 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
5080 (vaddv_s16): Likewise.
5081 (vaddv_s32): Likewise.
5082 (vaddv_u8): Likewise.
5083 (vaddv_u16): Likewise.
5084 (vaddv_u32): Likewise.
5085 (vaddvq_s8): Likewise.
5086 (vaddvq_s16): Likewise.
5087 (vaddvq_s32): Likewise.
5088 (vaddvq_s64): Likewise.
5089 (vaddvq_u8): Likewise.
5090 (vaddvq_u16): Likewise.
5091 (vaddvq_u32): Likewise.
5092 (vaddvq_u64): Likewise.
5093 (vaddv_f32): Likewise.
5094 (vaddvq_f32): Likewise.
5095 (vaddvq_f64): Likewise.
5096 (vmaxv_f32): Likewise.
5097 (vmaxv_s8): Likewise.
5098 (vmaxv_s16): Likewise.
5099 (vmaxv_s32): Likewise.
5100 (vmaxv_u8): Likewise.
5101 (vmaxv_u16): Likewise.
5102 (vmaxv_u32): Likewise.
5103 (vmaxvq_f32): Likewise.
5104 (vmaxvq_f64): Likewise.
5105 (vmaxvq_s8): Likewise.
5106 (vmaxvq_s16): Likewise.
5107 (vmaxvq_s32): Likewise.
5108 (vmaxvq_u8): Likewise.
5109 (vmaxvq_u16): Likewise.
5110 (vmaxvq_u32): Likewise.
5111 (vmaxnmv_f32): Likewise.
5112 (vmaxnmvq_f32): Likewise.
5113 (vmaxnmvq_f64): Likewise.
5114 (vminv_f32): Likewise.
5115 (vminv_s8): Likewise.
5116 (vminv_s16): Likewise.
5117 (vminv_s32): Likewise.
5118 (vminv_u8): Likewise.
5119 (vminv_u16): Likewise.
5120 (vminv_u32): Likewise.
5121 (vminvq_f32): Likewise.
5122 (vminvq_f64): Likewise.
5123 (vminvq_s8): Likewise.
5124 (vminvq_s16): Likewise.
5125 (vminvq_s32): Likewise.
5126 (vminvq_u8): Likewise.
5127 (vminvq_u16): Likewise.
5128 (vminvq_u32): Likewise.
5129 (vminnmv_f32): Likewise.
5130 (vminnmvq_f32): Likewise.
5131 (vminnmvq_f64): Likewise.
5132
1dd055a2
JG
51332014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
5134
5135 * config/aarch64/aarch64-simd.md
5136 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
5137 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
5138 (*aarch64_mul3_elt<mode>): Likewise.
5139 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
5140 (*aarch64_mul3_elt_to_64v2df): Likewise.
5141 (*aarch64_mla_elt<mode>): Likewise.
5142 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
5143 (*aarch64_mls_elt<mode>): Likewise.
5144 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
5145 (*aarch64_fma4_elt<mode>): Likewise.
5146 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
5147 (*aarch64_fma4_elt_to_64v2df): Likewise.
5148 (*aarch64_fnma4_elt<mode>): Likewise.
5149 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
5150 (*aarch64_fnma4_elt_to_64v2df): Likewise.
5151 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
5152 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
5153 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
5154 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
5155 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
5156 (aarch64_sqdmull_lane<mode>_internal): Likewise.
5157 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
5158
dafb9b64
AV
51592013-01-23 Alex Velenko <Alex.Velenko@arm.com>
5160
5161 * config/aarch64/aarch64-simd.md
5162 (aarch64_be_checked_get_lane<mode>): New define_expand.
5163 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 5164 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
5165 New builtin definition.
5166 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
5167 Use new safe be builtin.
5168
89b4515c
AV
51692014-01-23 Alex Velenko <Alex.Velenko@arm.com>
5170
5171 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
5172 New define_insn.
5173 (aarch64_be_st1<mode>): Likewise.
5174 (aarch_ld1<VALL:mode>): Define_expand modified.
5175 (aarch_st1<VALL:mode>): Likewise.
5176 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
5177 (UNSPEC_ST1): Likewise.
5178
4bb66ef3 51792014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
5180
5181 * config/microblaze/microblaze.md: Add trap insn and attribute
5182
7ecc3eb9
DS
51832014-01-23 Dodji Seketeli <dodji@redhat.com>
5184
5185 PR preprocessor/58580
5186 * input.h (location_get_source_line): Take an additional line_size
5187 parameter.
5188 (void diagnostics_file_cache_fini): Declare new function.
5189 * input.c (struct fcache): New type.
5190 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
5191 New static constants.
5192 (diagnostic_file_cache_init, total_lines_num)
5193 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
5194 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
5195 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
5196 (get_next_line, read_next_line, goto_next_line, read_line_num):
5197 New static function definitions.
5198 (diagnostic_file_cache_fini): New function.
5199 (location_get_source_line): Take an additional output line_len
5200 parameter. Re-write using lookup_or_add_file_to_cache_tab and
5201 read_line_num.
5202 * diagnostic.c (diagnostic_finish): Call
5203 diagnostic_file_cache_fini.
5204 (adjust_line): Take an additional input parameter for the length
5205 of the line, rather than calculating it with strlen.
5206 (diagnostic_show_locus): Adjust the use of
5207 location_get_source_line and adjust_line with respect to their new
5208 signature. While displaying a line now, do not stop at the first
5209 null byte. Rather, display the zero byte as a space and keep
5210 going until we reach the size of the line.
5211 * Makefile.in: Add vec.o to OBJS-libcommon
5212
2196a885
KY
52132014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
5214 Ilya Tocar <ilya.tocar@intel.com>
5215
5216 * config/i386/avx512fintrin.h (_mm512_kmov): New.
5217 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
5218 (__builtin_ia32_kmov16): Ditto.
5219 * config/i386/i386.md (UNSPEC_KMOV): New.
5220 (kmovw): Ditto.
5221
70473c63
KY
52222014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
5223
5224 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
5225 (_mm512_storeu_si512): Ditto.
5226
f9ae4df8
RS
52272014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
5228
5229 PR target/52125
5230 * rtl.h (get_referenced_operands): Declare.
5231 * recog.c (get_referenced_operands): New function.
5232 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
5233 operands have been referenced when recording LO_SUM references.
5234
4bb66ef3 52352014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
5236
5237 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
5238
39960d1c 52392014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
5240
5241 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
5242 Enable for generic and recent AMD targets.
5243
39960d1c 52442014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
5245
5246 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
5247 ARG_SIZE note when adjustment was eliminated.
5248
bb50b870
JL
52492014-01-22 Jeff Law <law@redhat.com>
5250
5251 PR tree-optimization/59597
5252 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
5253 in file. Accept new argument REGISTERING and use it to modify
5254 dump output appropriately.
5255 (register_jump_thread): Corresponding changes.
5256 (mark_threaded_blocks): Reinstate code to cancel unprofitable
5257 thread paths involving joiner blocks. Add code to dump cancelled
5258 jump threading paths.
5259
df2980be
VM
52602014-01-22 Vladimir Makarov <vmakarov@redhat.com>
5261
5262 PR rtl-optimization/59477
5263 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 5264 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 5265
1bb99900
TT
52662014-01-22 Tom Tromey <tromey@redhat.com>
5267
5268 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
5269 PARAMS.
5270 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
5271
9102dadd
VM
52722014-01-21 Vladimir Makarov <vmakarov@redhat.com>
5273
5274 PR rtl-optimization/59896
5275 * lra-constraints.c (process_alt_operands): Check unused note for
5276 matched operands of insn with no output reloads.
5277
ca376eb8
RS
52782014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
5279
5280 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
5281 (mips_move_from_gpr_cost): Likewise.
5282
a9711f36
VM
52832014-01-21 Vladimir Makarov <vmakarov@redhat.com>
5284
5285 PR rtl-optimization/59858
5286 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
5287 ira_class_hard_regs_num.
5288 (process_alt_operands): Increase reject for dying matched operand.
5289
f8ea7cb0
JJ
52902014-01-21 Jakub Jelinek <jakub@redhat.com>
5291
5292 PR target/59003
5293 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
5294 smaller than size, perform several stores or loads and stores
5295 at dst + count - size to store or copy all of size bytes, rather
5296 than just last modesize bytes.
5297
84db09e3
DD
52982014-01-20 DJ Delorie <dj@redhat.com>
5299
5300 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
5301 that CLOBBERs are REGs before propogating their values.
5302
1cf11770
L
53032014-01-20 H.J. Lu <hongjiu.lu@intel.com>
5304
5305 PR middle-end/59789
5306 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
5307 (cgraph_inline_failed_type): New function.
5308 * cgraph.h (DEFCIFCODE): Add type.
5309 (cgraph_inline_failed_type_t): New enum.
5310 (cgraph_inline_failed_type): New prototype.
5311 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
5312 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
5313 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
5314 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
5315 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
5316 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
5317 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 5318 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
5319 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
5320 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
5321 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
5322 OPTIMIZATION_MISMATCH.
5323 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 5324 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 5325
8586e4bd
UB
53262014-01-20 Uros Bizjak <ubizjak@gmail.com>
5327
5328 PR target/59685
5329 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
5330 mode attribute in insn output.
5331
99482090
EB
53322014-01-20 Eric Botcazou <ebotcazou@adacore.com>
5333
5334 * output.h (output_constant): Delete.
5335 * varasm.c (output_constant): Make private.
5336
ede23272
AV
53372014-01-20 Alex Velenko <Alex.Velenko@arm.com>
5338
5339 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
5340
9a7eefec
JJ
53412014-01-20 Jakub Jelinek <jakub@redhat.com>
5342
5343 PR middle-end/59860
5344 * tree.h (fold_builtin_strcat): New prototype.
5345 * builtins.c (fold_builtin_strcat): No longer static. Add len
5346 argument, if non-NULL, don't call c_strlen. Optimize
5347 directly into __builtin_memcpy instead of __builtin_strcpy.
5348 (fold_builtin_2): Adjust fold_builtin_strcat caller.
5349 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
5350
3e729145
UB
53512014-01-20 Uros Bizjak <ubizjak@gmail.com>
5352
5353 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
5354 for SImode_address_operand operands, having only a REG argument.
5355
eee0e487
MS
53562014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
5357
5358 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
5359 loader name using mbig-endian.
5360 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
5361
9e540e37
JG
53622014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
5363
5364 * doc/invoke.texi (-march): Clarify documentation for AArch64.
5365 (-mtune): Likewise.
5366 (-mcpu): Likewise.
5367
69675d50
TB
53682014-01-20 Tejas Belagod <tejas.belagod@arm.com>
5369
5370 * config/aarch64/aarch64-protos.h
5371 (aarch64_cannot_change_mode_class_ptr): Declare.
5372 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
5373 aarch64_cannot_change_mode_class_ptr): New.
5374 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
5375 backend hook aarch64_cannot_change_mode_class.
5376
ffee7aa9
JG
53772014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
5378
5379 * common/config/aarch64/aarch64-common.c
5380 (aarch64_handle_option): Don't handle any option order logic here.
5381 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
5382 selected_cpu, warn on architecture version mismatch.
5383 (aarch64_override_options): Fix parsing order for option strings.
5384
c7169779
JBG
53852014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5386 Iain Sandoe <iain@codesourcery.com>
5387
5388 PR bootstrap/59496
5389 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
5390 warning. Amend comment to reflect current functionality.
5391
409b6ac1
RB
53922014-01-20 Richard Biener <rguenther@suse.de>
5393
5394 PR middle-end/59860
5395 * builtins.c (fold_builtin_strcat): Remove case better handled
5396 by tree-ssa-strlen.c.
5397
608df31f
AL
53982014-01-20 Alan Lawrence <alan.lawrence@arm.com>
5399
5400 * config/aarch64/aarch64.opt
5401 (mcpu, march, mtune): Make case-insensitive.
5402
0fabe5f3
JJ
54032014-01-20 Jakub Jelinek <jakub@redhat.com>
5404
5405 PR target/59880
5406 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
5407 if operands[1] is a REG or ZERO_EXTEND of a REG.
5408
39960d1c 54092014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
5410
5411 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
5412
925cb97d
JDA
54132014-01-19 John David Anglin <danglin@gcc.gnu.org>
5414
5415 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
5416 long non-pic millicode calls.
5417
f43856db
JBG
54182014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5419
5420 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
5421
d2be9965
ILT
54222014-01-19 Kito Cheng <kito@0xlab.org>
5423
5424 * builtins.c (expand_movstr): Check movstr expand done or fail.
5425
efc90043
UB
54262014-01-18 Uros Bizjak <ubizjak@gmail.com>
5427 H.J. Lu <hongjiu.lu@intel.com>
5428
5429 PR target/59379
5430 * config/i386/i386.md (*lea<mode>): Zero-extend return register
5431 to DImode for zero-extended addresses.
5432
8fce217e
JJ
54332014-01-19 Jakub Jelinek <jakub@redhat.com>
5434
5435 PR rtl-optimization/57763
5436 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
5437 on the new indirect jump_insn and increment LABEL_NUSES (label).
5438
efc90043 54392014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
5440
5441 PR bootstrap/59580
5442 PR bootstrap/59583
5443 * config.gcc (x86_archs): New variable.
5444 (x86_64_archs): Likewise.
5445 (x86_cpus): Likewise.
5446 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
5447 --with-arch/--with-cpu= options.
5448 Support --with-arch=/--with-cpu={nehalem,westmere,
5449 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
5450
7f3af6d3
UB
54512014-01-18 Uros Bizjak <ubizjak@gmail.com>
5452
5453 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
5454 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
5455
54562014-01-18 Uros Bizjak <ubizjak@gmail.com>
5457
5458 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
5459
fa5d6c75
JJ
54602014-01-18 Jakub Jelinek <jakub@redhat.com>
5461
5462 PR target/58944
5463 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
5464 clear cpp_get_options (parse_in)->warn_unused_macros for
5465 ix86_target_macros_internal with cpp_define.
5466
04da5680
RS
54672014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
5468
5469 * jump.c (delete_related_insns): Keep (use (insn))s.
5470 * reorg.c (redundant_insn): Check for barriers too.
5471
1e99bee5
L
54722014-01-17 H.J. Lu <hongjiu.lu@intel.com>
5473
7f3af6d3 5474 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 5475
fa7d0c60
JDA
54762014-01-17 John David Anglin <danglin@gcc.gnu.org>
5477
5478 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
5479 call to $$dyncall when TARGET_LONG_CALLS is true.
5480
2043135a
JL
54812014-01-17 Jeff Law <law@redhat.com>
5482
5483 * ree.c (combine_set_extension): Temporarily disable test for
5484 changing number of hard registers.
5485
39960d1c 54862014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
5487
5488 PR middle-end/58125
5489 * ipa-inline-analysis.c (inline_free_summary):
5490 Do not free summary of aliases.
5491
664ceb1e
JJ
54922014-01-17 Jakub Jelinek <jakub@redhat.com>
5493
5494 PR middle-end/59706
5495 * gimplify.c (gimplify_expr): Use create_tmp_var
5496 instead of create_tmp_var_raw. If cond doesn't have
5497 integral type, don't add the IFN_ANNOTATE builtin at all.
5498
aef83682
MJ
54992014-01-17 Martin Jambor <mjambor@suse.cz>
5500
5501 PR ipa/59736
5502 * ipa-cp.c (prev_edge_clone): New variable.
5503 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
5504 Also resize prev_edge_clone vector.
5505 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
5506 (ipcp_edge_removal_hook): New function.
5507 (ipcp_driver): Register ipcp_edge_removal_hook.
5508
4bb66ef3 55092014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
5510 Steve Ellcey <sellcey@mips.com>
5511
5512 PR target/59462
5513 * config/mips/mips.c (mips_print_operand): Check operand mode instead
5514 of operator mode.
5515
4ee5c752
JL
55162014-01-17 Jeff Law <law@redhat.com>
5517
5518 PR middle-end/57904
5519 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
5520 so that pass_ccp runs first.
5521
40cfac7c
L
55222014-01-17 H.J. Lu <hongjiu.lu@intel.com>
5523
5524 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
5525 (ix86_adjust_cost): Use !TARGET_XXX.
5526 (do_reorder_for_imul): Likewise.
5527 (swap_top_of_ready_list): Likewise.
5528 (ix86_sched_reorder): Likewise.
5529
9a7f94d7
L
55302014-01-17 H.J. Lu <hongjiu.lu@intel.com>
5531
5532 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
5533 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
5534 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
5535 (intel_memset): New. Duplicate slm_memset.
5536 (intel_cost): New. Duplicate slm_cost.
5537 (m_INTEL): New macro.
5538 (processor_target_table): Add "intel".
5539 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
5540 with PROCESSOR_INTEL for "intel".
5541 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
5542 PROCESSOR_SILVERMONT.
9a7f94d7
L
5543 (ix86_issue_rate): Likewise.
5544 (ix86_adjust_cost): Likewise.
5545 (ia32_multipass_dfa_lookahead): Likewise.
5546 (swap_top_of_ready_list): Likewise.
5547 (ix86_sched_reorder): Likewise.
8cdcf750
L
5548 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
5549 instead of TARGET_OPT_AGU.
9a7f94d7
L
5550 * config/i386/i386.h (TARGET_INTEL): New.
5551 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
5552 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
5553 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
5554 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 5555
30078c0a
MP
55562014-01-17 Marek Polacek <polacek@redhat.com>
5557
5558 PR c/58346
5559 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
5560 size is zero.
5561
14379e66
RB
55622014-01-17 Richard Biener <rguenther@suse.de>
5563
5564 PR tree-optimization/46590
5565 * opts.c (default_options_table): Add entries for
5566 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
5567 all enabled at -O1 but not for -Og.
5568 * common.opt (fbranch-count-reg): Remove Init(1).
5569 (fmove-loop-invariants): Likewise.
5570 (ftree-pta): Likewise.
5571
f7d594d2
JJ
55722014-01-17 Jakub Jelinek <jakub@redhat.com>
5573
88e18bd5
JJ
5574 * config/i386/i386.c (ix86_data_alignment): For compatibility with
5575 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
5576 decls to at least the GCC 4.8 used alignments.
5577
f7d594d2
JJ
5578 PR fortran/59440
5579 * tree-nested.c (convert_nonlocal_reference_stmt,
5580 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
5581 of GIMPLE_BIND stmts, adjust associated decls.
5582
32500433
RB
55832014-01-17 Richard Biener <rguenther@suse.de>
5584
5585 PR tree-optimization/46590
5586 * vec.h (vec<>::bseach): New member function implementing
5587 binary search according to C89 bsearch.
5588 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
5589 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
5590 bitmap pointer again. Make accesses_in_loop a flat array.
5591 (mem_ref_obstack): New global.
5592 (outermost_indep_loop): Adjust for mem_ref->stored changes.
5593 (mark_ref_stored): Likewise.
5594 (ref_indep_loop_p_2): Likewise.
5595 (set_ref_stored_in_loop): New helper function.
5596 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
5597 (memref_free): Adjust.
5598 (record_mem_ref_loc): Simplify.
5599 (gather_mem_refs_stmt): Adjust.
5600 (sort_locs_in_loop_postorder_cmp): New function.
5601 (analyze_memory_references): Sort accesses_in_loop after
5602 loop postorder number.
5603 (find_ref_loc_in_loop_cmp): New function.
5604 (for_all_locs_in_loop): Find relevant cluster of locs in
5605 accesses_in_loop and iterate without recursion.
5606 (execute_sm): Avoid uninit warning.
5607 (struct ref_always_accessed): Simplify.
5608 (ref_always_accessed::operator ()): Likewise.
5609 (ref_always_accessed_p): Likewise.
5610 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
5611 loop postorder numbers here.
5612 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
5613 numbers.
5614
24fcf4bc
JJ
56152014-01-17 Jan Hubicka <hubicka@ucw.cz>
5616
5617 PR c++/57945
5618 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
5619 on decls for which assemble_alias has been called.
5620
d4f283a1
NC
56212014-01-17 Nick Clifton <nickc@redhat.com>
5622
5623 * config/msp430/msp430.opt: (mcpu): New option.
5624 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
5625 (msp430_option_override): Parse target_cpu. If the MCU name
5626 matches a generic string, clear target_mcu.
5627 (msp430_attr): Allow numeric interrupt values up to 63.
5628 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
5629 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
5630 option.
5631 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
5632 Add mcpu matches.
5633 * config/msp430/msp430.md (popm): Use %J rather than %I.
5634 (addsi3): Use msp430_nonimmediate_operand for operand 2.
5635 (addhi_cy_i): Use immediate_operand for operand 2.
5636 * doc/invoke.texi: Document -mcpu option.
5637
7be64667
RB
56382014-01-17 Richard Biener <rguenther@suse.de>
5639
5640 PR rtl-optimization/38518
5641 * df.h (df_analyze_loop): Declare.
5642 * df-core.c: Include cfgloop.h.
5643 (df_analyze_1): Split out main part of df_analyze.
5644 (df_analyze): Adjust.
5645 (loop_inverted_post_order_compute): New function.
5646 (loop_post_order_compute): Likewise.
5647 (df_analyze_loop): New function avoiding whole-function
5648 postorder computes.
5649 * loop-invariant.c (find_defs): Use df_analyze_loop.
5650 (find_invariants): Adjust.
5651 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
5652
82a197a2
ZC
56532014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
5654
5655 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
5656 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
5657
c68b3f52
IE
56582014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
5659
5660 * ipa-ref.c (ipa_remove_stmt_references): Fix references
5661 traversal when removing references.
5662
39960d1c 56632014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
5664
5665 PR ipa/59775
5666 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
5667
9e6f9ad6
BS
56682014-01-16 Bernd Schmidt <bernds@codesourcery.com>
5669
5670 PR middle-end/56791
5671 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
5672 pushing a reload for an autoinc when we had previously reloaded an
5673 inner part of the address.
5674
a611d7cb
JJ
56752014-01-16 Jakub Jelinek <jakub@redhat.com>
5676
d1417442
JJ
5677 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
5678 field.
5679 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
5680 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
5681 when not giving up or versioning for alias only because of
5682 loop->safelen.
5683 (vect_analyze_data_ref_dependences): Set to true.
5684 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
5685 is a GIMPLE_PHI.
5686 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
5687 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
5688 to the condition.
5689
42ed6cde
JJ
5690 PR middle-end/58344
5691 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
5692
a611d7cb 5693 PR target/59839
7f3af6d3
UB
5694 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
5695 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 5696
8f21260c
VM
56972014-01-16 Vladimir Makarov <vmakarov@redhat.com>
5698
5699 PR middle-end/59609
7f3af6d3
UB
5700 * lra-constraints.c (process_alt_operands): Add printing debug info.
5701 Check absence of input/output reloads for matched operands too.
8f21260c 5702
1a788c05
VM
57032014-01-16 Vladimir Makarov <vmakarov@redhat.com>
5704
5705 PR rtl-optimization/59835
5706 * ira.c (ira_init_register_move_cost): Increase cost for
5707 impossible modes.
5708
4cf24d27
AL
57092014-01-16 Alan Lawrence <alan.lawrence@arm.com>
5710
cc3a9f0d 5711 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 5712
030d03b8
RE
57132014-01-16 Richard Earnshaw <rearnsha@arm.com>
5714
5715 PR target/59780
5716 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
5717 non-register objects. Use gen_(high/low)part more consistently.
5718 Fix assertions.
5719
e78f06a8
MM
57202014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
5721
5722 PR target/59844
5723 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
5724 endian support, remove tests for WORDS_BIG_ENDIAN.
5725 (p8_mfvsrd_3_<mode>): Likewise.
5726 (reload_gpr_from_vsx<mode>): Likewise.
5727 (reload_gpr_from_vsxsf): Likewise.
5728 (p8_mfvsrd_4_disf): Likewise.
5729
9d1ae52c
RB
57302014-01-16 Richard Biener <rguenther@suse.de>
5731
5732 PR rtl-optimization/46590
5733 * lcm.c (compute_antinout_edge): Use postorder iteration.
5734 (compute_laterin): Use inverted postorder iteration.
5735
54c7a7f3
NC
57362014-01-16 Nick Clifton <nickc@redhat.com>
5737
5738 PR middle-end/28865
5739 * varasm.c (output_constant): Return the number of bytes actually
5740 emitted.
5741 (output_constructor_array_range): Update the field size with the
5742 number of bytes emitted by output_constant.
5743 (output_constructor_regular_field): Likewise. Also do not
5744 complain if the total number of bytes emitted is now greater
5745 than the expected fieldpos.
7f3af6d3 5746 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 5747
5147d10a
MP
57482014-01-16 Marek Polacek <polacek@redhat.com>
5749
5750 PR middle-end/59827
5751 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
5752 it is error_mark_node.
5753
4ac005ba
UB
57542014-01-15 Uros Bizjak <ubizjak@gmail.com>
5755
5756 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
5757 VALID_AVX256_REG_OR_OI_MODE.
5758
5d7574fa
PH
57592014-01-15 Pat Haugen <pthaugen@us.ibm.com>
5760
5761 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
5762 current procedure should be profiled.
5763
6ee70f81
AP
57642014-01-15 Andrew Pinski <apinski@cavium.com>
5765
5766 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
5767 of moving from/to the STACK_REG register class.
5768
004a7e45 57692014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
5770
5771 PR debug/54694
5772 * reginfo.c (global_regs_decl): Globalize.
5773 * rtl.h (global_regs_decl): Declare.
5774 * ira.c (do_reload): Diagnose frame_pointer_needed and it
5775 reserved via global_regs.
5776
4583fada
TJ
57772014-01-15 Teresa Johnson <tejohnson@google.com>
5778
5779 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
5780
d13dfec8
BS
57812014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
5782
5783 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
5784 and vmulosh rather than call gen_vec_widen_smult_*.
5785 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
5786 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
5787 (vec_widen_smult_even_v16qi): Likewise.
5788 (vec_widen_umult_even_v8hi): Likewise.
5789 (vec_widen_smult_even_v8hi): Likewise.
5790 (vec_widen_umult_odd_v16qi): Likewise.
5791 (vec_widen_smult_odd_v16qi): Likewise.
5792 (vec_widen_umult_odd_v8hi): Likewise.
5793 (vec_widen_smult_odd_v8hi): Likewise.
5794 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
5795 vmuloub rather than call gen_vec_widen_umult_*.
5796 (vec_widen_umult_lo_v16qi): Likewise.
5797 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
5798 vmulosb rather than call gen_vec_widen_smult_*.
5799 (vec_widen_smult_lo_v16qi): Likewise.
5800 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
5801 rather than call gen_vec_widen_umult_*.
5802 (vec_widen_umult_lo_v8hi): Likewise.
5803 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
5804 rather than call gen_vec_widen_smult_*.
5805 (vec_widen_smult_lo_v8hi): Likewise.
5806
a6a2d67b
JL
58072014-01-15 Jeff Law <law@redhat.com>
5808
5809 PR tree-optimization/59747
5810 * ree.c (find_and_remove_re): Properly handle case where a second
5811 eliminated extension requires widening a copy created for elimination
5812 of a prior extension.
5813 (combine_set_extension): Ensure that the number of hard regs needed
5814 for a destination register does not change when we widen it.
5815
aefe4056
SH
58162014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5817
5818 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
5819 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
5820 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
5821 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
5822 (avr-*-rtems*): Likewise.
5823 (bfin*-rtems*): Likewise.
5824 (moxie-*-rtems*): Likewise.
5825 (h8300-*-rtems*): Likewise.
5826 (i[34567]86-*-rtems*): Likewise.
5827 (lm32-*-rtems*): Likewise.
5828 (m32r-*-rtems*): Likewise.
5829 (m68k-*-rtems*): Likewise.
5830 (microblaze*-*-rtems*): Likewise.
5831 (mips*-*-rtems*): Likewise.
5832 (powerpc-*-rtems*): Likewise.
5833 (sh-*-rtems*): Likewise.
5834 (sparc-*-rtems*): Likewise.
5835 (sparc64-*-rtems*): Likewise.
5836 (v850-*-rtems*): Likewise.
5837 (m32c-*-rtems*): Likewise.
5838
fef37404
VM
58392014-01-15 Vladimir Makarov <vmakarov@redhat.com>
5840
5841 PR rtl-optimization/59511
5842 * ira.c (ira_init_register_move_cost): Use memory costs for some
5843 cases of register move cost calculations.
5844 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
5845 instead of BB frequency.
5846 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
5847 * lra-assigns.c (find_hard_regno_for): Ditto.
5848
6b916b36
RB
58492014-01-15 Richard Biener <rguenther@suse.de>
5850
5851 PR tree-optimization/59822
5852 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
5853 (vectorizable_load): Use it to hoist defs of uses of invariant
5854 loads out of the loop.
5855
d103f29b 58562014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 5857 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
5858
5859 PR target/59695
5860 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
5861 truncation.
5862
95cb8697
RB
58632014-01-15 Richard Biener <rguenther@suse.de>
5864
5865 PR rtl-optimization/59802
5866 * lcm.c (compute_available): Use inverted postorder to seed
5867 the initial worklist.
5868
cb4b6d17
AK
58692014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5870
1c8b5303 5871 PR target/59803
cb4b6d17
AK
5872 * config/s390/s390.c (s390_preferred_reload_class): Don't return
5873 ADDR_REGS for invalid symrefs in non-PIC code.
5874
2738b4c7
JJ
58752014-01-15 Jakub Jelinek <jakub@redhat.com>
5876
5877 PR other/58712
5878 * builtins.c (determine_block_size): Initialize *probable_max_size
5879 even if len_rtx is CONST_INT.
5880
d126a4ae
AP
58812014-01-14 Andrew Pinski <apinski@cavium.com>
5882
5883 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
5884 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
5885 (cortexa53_tunings): Likewise.
5886 (aarch64_sched_issue_rate): New function.
5887 (TARGET_SCHED_ISSUE_RATE): Define.
5888
dc687582
VM
58892014-01-14 Vladimir Makarov <vmakarov@redhat.com>
5890
5891 * ira-costs.c (find_costs_and_classes): Add missed
5892 ira_init_register_move_cost_if_necessary.
5893
e940b2ec
VM
58942014-01-14 Vladimir Makarov <vmakarov@redhat.com>
5895
5896 PR target/59787
5897 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
5898
3292e376
L
58992014-01-14 H.J. Lu <hongjiu.lu@intel.com>
5900
5901 PR target/59794
5902 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
5903 to indicate if type is used for function return value. Warn ABI
5904 change if the vector mode isn't available for function return value.
3292e376
L
5905 (ix86_function_arg_advance): Pass false to type_natural_mode.
5906 (ix86_function_arg): Likewise.
5907 (ix86_gimplify_va_arg): Likewise.
5908 (function_arg_32): Don't warn ABI change.
5909 (ix86_function_value): Pass true to type_natural_mode.
5910 (ix86_return_in_memory): Likewise.
5911 (ix86_struct_value_rtx): Removed.
5912 (TARGET_STRUCT_VALUE_RTX): Likewise.
5913
db930875
RS
59142014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5915
5916 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
5917 converting a conditional jump into a conditional return.
5918
a0e35eb0
RB
59192014-01-14 Richard Biener <rguenther@suse.de>
5920
5921 PR tree-optimization/58921
5922 PR tree-optimization/59006
5923 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
5924 hoisting invariant stmts.
5925 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
5926 invariant loads on the preheader edge if possible.
5927
a984e92e
JY
59282014-01-14 Joey Ye <joey.ye@arm.com>
5929
5930 * doc/plugin.texi (Building GCC plugins): Update to C++.
5931
c56a42b9
KY
59322014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
5933
3292e376 5934 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
5935 (_mm_rcp28_round_ss): Ditto.
5936 (_mm_rsqrt28_round_sd): Ditto.
5937 (_mm_rsqrt28_round_ss): Ditto.
5938 (_mm_rcp28_sd): Ditto.
5939 (_mm_rcp28_ss): Ditto.
5940 (_mm_rsqrt28_sd): Ditto.
5941 (_mm_rsqrt28_ss): Ditto.
5942 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
5943 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
5944 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
5945 (IX86_BUILTIN_RCP28SD): Ditto.
5946 (IX86_BUILTIN_RCP28SS): Ditto.
5947 (IX86_BUILTIN_RSQRT28SD): Ditto.
5948 (IX86_BUILTIN_RSQRT28SS): Ditto.
5949 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
5950 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
5951 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
5952 (ix86_expand_special_args_builtin): Expand new FTYPE.
5953 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
5954 (srcp14<mode>): Make insn unary.
5955 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
5956 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
5957 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
5958 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
5959 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
5960 Fix rounding: make it SAE only.
4ac005ba
UB
5961 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
5962 Ditto.
5963 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
5964 Ditto.
c56a42b9
KY
5965 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
5966 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
5967 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
5968 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
5969 (round_saeonly_mask_scalar_operand4): Ditto.
5970 (round_saeonly_mask_scalar_op3): Ditto.
5971 (round_saeonly_mask_scalar_op4): Ditto.
5972
09fccb62
BS
59732014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5974
5975 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
5976 Implement -maltivec=be for vec_insert and vec_extract.
5977
fb28dac0
DD
59782014-01-10 DJ Delorie <dj@redhat.com>
5979
5980 * config/msp430/msp430.md (call_internal): Don't allow memory
5981 references with SP as the base register.
5982 (call_value_internal): Likewise.
5983 * config/msp430/constraints.md (Yc): New. For memory references
5984 that don't use SP as a base register.
5985
5986 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
5987 "an integer without a # prefix"
5988 * config/msp430/msp430.md (epilogue_helper): Use it.
5989
19e51b40
JJ
59902014-01-13 Jakub Jelinek <jakub@redhat.com>
5991
03b9e8e4
JJ
5992 PR target/59617
5993 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
5994 AVX512F gather builtins.
5995 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
5996 on gather decls with INTEGER_TYPE masktype.
5997 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
5998 directly into the builtin rather than hoisting it before loop.
5999
19e51b40
JJ
6000 PR tree-optimization/59387
6001 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
6002 (scev_const_prop): If folded_casts and type has undefined overflow,
6003 use force_gimple_operand instead of force_gimple_operand_gsi and
6004 for each added stmt if it is assign with
6005 arith_code_with_undefined_signed_overflow, call
6006 rewrite_to_defined_overflow.
6007 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
6008 gimple-fold.h instead.
6009 (arith_code_with_undefined_signed_overflow,
6010 rewrite_to_defined_overflow): Moved to ...
6011 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
6012 rewrite_to_defined_overflow): ... here. No longer static.
6013 Include gimplify-me.h.
6014 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
6015 rewrite_to_defined_overflow): New prototypes.
6016
cd794ed4
KT
60172014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6018
6019 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
6020
e75fde1a
EB
60212014-01-13 Eric Botcazou <ebotcazou@adacore.com>
6022
6023 * builtins.c (get_object_alignment_2): Minor tweak.
6024 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
6025
eae298d6
CB
60262014-01-13 Christian Bruel <christian.bruel@st.com>
6027
6028 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 6029 optimized non constant lengths.
eae298d6 6030
8175be9a
JJ
60312014-01-13 Jakub Jelinek <jakub@redhat.com>
6032
6033 PR libgomp/59194
6034 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
6035 load as __atomic_load_N if possible.
6036
9c111368
DE
60372014-01-11 David Edelsohn <dje.gcc@gmail.com>
6038
6039 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
6040 target parameter.
6041 (rs6000_expand_builtin): Adjust call.
6042
c82846bc
DE
60432014-01-11 David Edelsohn <dje.gcc@gmail.com>
6044
6045 PR target/58115
6046 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
6047 * config/rs6000/rs6000.c: Include target-globals.h.
6048 (rs6000_set_current_function): Instead of doing target_reinit
6049 unconditionally, use save_target_globals_default_opts and
6050 restore_target_globals.
6051
6052 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
6053 FPSCR.
6054 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
6055 (rs6000_expand_builtin): Handle mffs and mtfsf.
6056 (rs6000_init_builtins): Define mffs and mtfsf.
6057 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
6058 (rs6000_mffs): New pattern.
6059 (rs6000_mtfsf): New pattern.
6060
2c407426
BC
60612014-01-11 Bin Cheng <bin.cheng@arm.com>
6062
6063 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
6064 Start narrowing with START. Apply candidate-use pair
6065 and check overall cost in narrowing.
6066 (iv_ca_prune): Pass new argument.
6067
7e41c852
JL
60682014-01-10 Jeff Law <law@redhat.com>
6069
6070 PR middle-end/59743
6071 * ree.c (combine_reaching_defs): Ensure the defining statement
6072 occurs before the extension when optimizing extensions with
6073 different source and destination hard registers.
6074
39960d1c 60752014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
6076
6077 PR ipa/58585
4ac005ba
UB
6078 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
6079 vtables into the type inheritance graph.
b270b096 6080
0d6d7b9a
JJ
60812014-01-10 Jakub Jelinek <jakub@redhat.com>
6082
6083 PR rtl-optimization/59754
6084 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
6085 modes in the REGNO != REGNO case.
6086
110132c1
BS
60872014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6088
6089 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
6090
5da96960
JJ
60912014-01-10 Jakub Jelinek <jakub@redhat.com>
6092
4f87d581
JJ
6093 PR tree-optimization/59745
6094 * tree-predcom.c (tree_predictive_commoning_loop): Call
6095 free_affine_expand_cache if giving up because components is NULL.
6096
5da96960
JJ
6097 * target-globals.c (save_target_globals): Allocate < 4KB structs using
6098 GC in payload of target_globals struct instead of allocating them on
6099 the heap and the larger structs separately using GC.
6100 * target-globals.h (struct target_globals): Make regs, hard_regs,
6101 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
6102 of GTY((skip)) and change type to void *.
6103 (reset_target_globals): Cast loads from those fields to corresponding
6104 types.
6105
1aa26aac
SE
61062014-01-10 Steve Ellcey <sellcey@mips.com>
6107
6108 PR plugins/59335
6109 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
6110 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
6111 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
6112
1c992d1e
RE
61132014-01-10 Richard Earnshaw <rearnsha@arm.com>
6114
7783a246 6115 PR target/59744
1c992d1e
RE
6116 * aarch64-modes.def (CC_Zmode): New flags mode.
6117 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
6118 represents an equality.
7783a246 6119 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
6120 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
6121
86464cbd
AK
61222014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6123
6124 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
6125 extraction in good case.
6126
5e6667b2
RB
61272014-01-10 Richard Biener <rguenther@suse.de>
6128
6129 PR tree-optimization/59374
6130 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
6131 checking after SLP discovery. Mark stmts not participating
6132 in any SLP instance properly.
6133
5619162c
KT
61342014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6135
6136 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
6137 when handling a SET rtx.
6138
2d17b99f
KT
61392014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6140
6141 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
6142 (cortex-a57): Likewise.
6143 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
6144
bcca645c
KT
61452014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6146
6147 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
6148 non-iwmmxt builtins.
6149
a3788dde
JH
61502014-01-10 Jan Hubicka <hubicka@ucw.cz>
6151
6152 PR ipa/58252
6153 PR ipa/59226
6154 * ipa-devirt.c record_target_from_binfo): Take as argument
6155 stack of binfos and lookup matching one for virtual inheritance.
6156 (possible_polymorphic_call_targets_1): Update.
6157
87ed883e
HC
61582014-01-10 Huacai Chen <chenhc@lemote.com>
6159
6160 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
6161 kernel strings for Loongson-2E/2F/3A.
6162
cd4447e2
JJ
61632014-01-10 Jakub Jelinek <jakub@redhat.com>
6164
6165 PR middle-end/59670
6166 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
6167 is_gimple_call before calling gimple_call_internal_p.
6168
3fadf78a
SE
61692014-01-09 Steve Ellcey <sellcey@mips.com>
6170
6171 * Makefile.in (TREE_FLOW_H): Remove.
6172 (TREE_SSA_H): Add file names from tree-flow.h.
6173 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
6174 * tree.h: Remove tree-flow.h reference.
6175 * hash-table.h: Remove tree-flow.h reference.
6176 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
6177 reference with tree-ssa-loop.h.
6178
6edc217d
BS
61792014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6180
6181 * doc/invoke.texi: Add -maltivec={be,le} options, and document
6182 default element-order behavior for -maltivec.
6183 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
6184 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
6185 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
6186 when targeting big endian, at least for now.
6187 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
6188
a70e9985
JJ
61892014-01-09 Jakub Jelinek <jakub@redhat.com>
6190
3396aba5
JJ
6191 PR middle-end/47735
6192 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
6193 var satisfies use_register_for_decl, just take into account type
6194 alignment, rather than decl alignment.
6195
a70e9985
JJ
6196 PR tree-optimization/59622
6197 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
6198 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
6199 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
6200 Don't devirtualize for inplace at all. For targets.length () == 1,
6201 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
6202
6e9cc565
L
62032014-01-09 H.J. Lu <hongjiu.lu@intel.com>
6204
6205 * config/i386/i386.md (cpu): Remove the unused btver1.
6206
d1c0e4ac
L
62072014-01-09 H.J. Lu <hongjiu.lu@intel.com>
6208
6209 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
6210
e83b8e2e
JJ
62112014-01-09 Jakub Jelinek <jakub@redhat.com>
6212
6213 PR target/58115
6214 * tree-core.h (struct target_globals): New forward declaration.
6215 (struct tree_target_option): Add globals field.
6216 * tree.h (TREE_TARGET_GLOBALS): Define.
6217 (prepare_target_option_nodes_for_pch): New prototype.
6218 * target-globals.h (struct target_globals): Define even if
6219 !SWITCHABLE_TARGET.
6220 * tree.c (prepare_target_option_node_for_pch,
6221 prepare_target_option_nodes_for_pch): New functions.
6222 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
6223 * config/i386/i386.c: Include target-globals.h.
6224 (ix86_set_current_function): Instead of doing target_reinit
6225 unconditionally, use save_target_globals_default_opts and
6226 restore_target_globals.
6227
2aaed0f3
RB
62282014-01-09 Richard Biener <rguenther@suse.de>
6229
6230 PR tree-optimization/59715
6231 * tree-cfg.h (split_critical_edges): Declare.
6232 * tree-cfg.c (split_critical_edges): Export.
6233 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
6234
b5ebc991
MO
62352014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
6236
4ac005ba 6237 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
6238 asan stack protection.
6239 (expand_used_vars): Likewise.
6240 (partition_stack_vars): Likewise.
4ac005ba 6241 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 6242 after return stack usage.
7f3af6d3 6243 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
6244 (instrument_builtin_call): Likewise.
6245 (instrument_strlen_call): Likewise.
7f3af6d3 6246 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
6247 * doc/invoke.texi: Added doc for new options.
6248 * params.def: Added new options.
6249 * params.h: Likewise.
6250
b59e0455
JJ
62512014-01-09 Jakub Jelinek <jakub@redhat.com>
6252
6253 PR rtl-optimization/59724
6254 * ifcvt.c (cond_exec_process_if_block): Don't call
6255 flow_find_head_matching_sequence with 0 longest_match.
6256 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
6257 non-active insns if !stop_after.
6258 (try_head_merge_bb): Revert 2014-01-07 changes.
6259
650c4c85
JL
62602014-01-08 Jeff Law <law@redhat.com>
6261
6262 * ree.c (get_sub_rtx): New function, extracted from...
6263 (merge_def_and_ext): Here.
6264 (combine_reaching_defs): Use get_sub_rtx.
6265
ff36fcbe
EB
62662014-01-08 Eric Botcazou <ebotcazou@adacore.com>
6267
6268 * cgraph.h (varpool_variable_node): Do not choke on null node.
6269
9f9d82aa
CM
62702014-01-08 Catherine Moore <clm@codesourcery.com>
6271
4ac005ba
UB
6272 * config/mips/mips.md (simple_return): Attempt to use JRC
6273 for microMIPS.
9f9d82aa
CM
6274 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
6275
df6c8808
RS
62762014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
6277
6278 PR rtl-optimization/59137
6279 * reorg.c (steal_delay_list_from_target): Call update_block for
6280 elided insns.
6281 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
6282
6170ceff
BS
62832014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6284
6285 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
6286 two duplicate entries.
6287
3f140f32
RS
62882014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
6289
6290 Revert:
6291 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
6292
6293 * config/mips/mips.c (mips_truncated_op_cost): New function.
6294 (mips_rtx_costs): Adjust test for BADDU.
6295 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
6296
6297 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
6298
6299 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
6300 (*baddu_si): ...this new pattern.
6301
c6de6665
JJ
63022014-01-08 Jakub Jelinek <jakub@redhat.com>
6303
6304 PR ipa/59722
6305 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
6306
4c437f02
BE
63072014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
6308
6309 PR middle-end/57748
6310 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
6311 inner_reference_p.
6312 (expand_expr, expand_normal): Adjust.
6313 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
6314 inner_reference_p. Use inner_reference_p to expand inner references.
6315 (store_expr): Adjust.
6316 * cfgexpand.c (expand_call_stmt): Adjust.
6317
4ac005ba 63182014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
6319
6320 * gcov-io.c (gcov_var): Move from gcov-io.h.
6321 (gcov_position): Ditto.
6322 (gcov_is_error): Ditto.
6323 (gcov_rewrite): Ditto.
6324 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
6325 only part to libgcc/libgcov.h.
6326
ab04b46e
MP
63272014-01-08 Marek Polacek <polacek@redhat.com>
6328
6329 PR middle-end/59669
6330 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
6331
06636b32
MP
63322014-01-08 Marek Polacek <polacek@redhat.com>
6333
6334 PR sanitizer/59667
6335 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
6336
c15677b6
JJ
63372014-01-08 Jakub Jelinek <jakub@redhat.com>
6338
6339 PR rtl-optimization/59649
6340 * stor-layout.c (get_mode_bounds): For BImode return
6341 0 and STORE_FLAG_VALUE.
6342
5c944c6c
RB
63432014-01-08 Richard Biener <rguenther@suse.de>
6344
6345 PR middle-end/59630
6346 * gimple.h (is_gimple_builtin_call): Remove.
6347 (gimple_builtin_call_types_compatible_p): New.
6348 (gimple_call_builtin_p): New overload.
6349 * gimple.c (is_gimple_builtin_call): Remove.
6350 (validate_call): Rename to ...
6351 (gimple_builtin_call_types_compatible_p): ... this and export. Also
6352 check return types.
6353 (validate_type): New static function.
6354 (gimple_call_builtin_p): New overload and adjust.
6355 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
6356 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
6357 (gimple_fold_stmt_to_constant_1): Likewise.
6358 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
6359
0bd34ae4
RB
63602014-01-08 Richard Biener <rguenther@suse.de>
6361
6362 PR middle-end/59471
6363 * gimplify.c (gimplify_expr): Gimplify register-register type
6364 VIEW_CONVERT_EXPRs to separate stmts.
6365
04af8ab6
JL
63662014-01-07 Jeff Law <law@redhat.com>
6367
3c92da90
JL
6368 PR middle-end/53623
6369 * ree.c (combine_set_extension): Handle case where source
6370 and destination registers in an extension insn are different.
4ac005ba
UB
6371 (combine_reaching_defs): Allow source and destination registers
6372 in extension to be different under limited circumstances.
3c92da90 6373 (add_removable_extension): Remove restriction that the
4ac005ba 6374 source and destination registers in the extension are the same.
3c92da90
JL
6375 (find_and_remove_re): Emit a copy from the extension's
6376 destination to its source after the defining insn if
6377 the source and destination registers are different.
6378
04af8ab6
JL
6379 PR middle-end/59285
6380 * ifcvt.c (merge_if_block): If we are merging a block with more than
6381 one successor with a block with no successors, remove any BARRIER
6382 after the second block.
6383
4bb66ef3 63842014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
6385
6386 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
6387
55ada375
JDA
63882014-01-07 John David Anglin <danglin@gcc.gnu.org>
6389
6390 PR target/59652
6391 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
6392 for 14-bit register offsets when INT14_OK_STRICT is false.
6393
877c72e7
RS
63942014-01-07 Roland Stigge <stigge@antcom.de>
6395 Michael Meissner <meissner@linux.vnet.ibm.com>
6396
6397 PR 57386/target
6398 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 6399 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 6400
8b2721da
JG
64012014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
6402
6403 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
6404 -mcpu.
6405
5d72b79f
YZ
64062014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
6407
6408 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
6409 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
6410 rtx is const0_rtx or not.
6411
48d53439
RS
64122014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
6413
6414 PR target/58115
6415 * target-globals.c (save_target_globals): Remove this_fn_optab
6416 handling.
6417 * toplev.c: Include optabs.h.
6418 (target_reinit): Temporarily restore the global options if another
6419 set of options are in force.
6420
41626746
JJ
64212014-01-07 Jakub Jelinek <jakub@redhat.com>
6422
a0cbe71e
JJ
6423 PR rtl-optimization/58668
6424 * cfgcleanup.c (flow_find_cross_jump): Don't count
6425 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
6426 to determine what is counted.
6427 (flow_find_head_matching_sequence): Use active_insn_p to determine
6428 what is counted.
6429 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
6430 counting change.
6431 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
6432 determine what is counted.
6433
41626746
JJ
6434 PR tree-optimization/59643
6435 * tree-predcom.c (split_data_refs_to_components): If one dr is
6436 read and one write, determine_offset fails and the write isn't
6437 in the bad component, just put the read into the bad component.
6438
cc349a39
MS
64392014-01-07 Mike Stump <mikestump@comcast.net>
6440 Jakub Jelinek <jakub@redhat.com>
6441
6442 PR pch/59436
6443 * tree-core.h (struct tree_optimization_option): Change optabs
6444 type from unsigned char * to void *.
6445 * optabs.c (init_tree_optimization_optabs): Adjust
6446 TREE_OPTIMIZATION_OPTABS initialization.
6447
529a6471
JJ
64482014-01-06 Jakub Jelinek <jakub@redhat.com>
6449
6450 PR target/59644
6451 * config/i386/i386.h (struct machine_function): Add
6452 no_drap_save_restore field.
6453 * config/i386/i386.c (ix86_save_reg): Use
6454 !cfun->machine->no_drap_save_restore instead of
6455 crtl->stack_realign_needed.
6456 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
6457 this function clears frame_pointer_needed. Set
6458 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
6459 and DRAP reg is needed.
6460
96066ce1
MP
64612014-01-06 Marek Polacek <polacek@redhat.com>
6462
6463 PR c/57773
6464 * doc/implement-c.texi: Mention that other integer types are
6465 permitted as bit-field types in strictly conforming mode.
6466
955b33ed 64672014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
6468
6469 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
6470 is newly allocated.
6471
328402a9
RE
64722014-01-06 Richard Earnshaw <rearnsha@arm.com>
6473
6474 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
6475
a4e33812
MJ
64762014-01-06 Martin Jambor <mjambor@suse.cz>
6477
6478 PR ipa/59008
6479 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
6480 to int.
6481 * ipa-prop.c (ipa_print_node_params): Fix indentation.
6482
b5cd2a02
EB
64832014-01-06 Eric Botcazou <ebotcazou@adacore.com>
6484
6485 PR debug/59350
6486 PR debug/59510
6487 * var-tracking.c (add_stores): Preserve the value of the source even if
6488 we don't record the store.
6489
c7d19c0b
TG
64902014-01-06 Terry Guo <terry.guo@arm.com>
6491
6492 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
6493
e0c70bd7
IS
64942014-01-05 Iain Sandoe <iain@codesourcery.com>
6495
6496 PR bootstrap/59541
6497 * config/darwin.c (darwin_function_section): Adjust return values to
6498 correspond to optimisation changes made in r206070.
6499
c30f016c
UB
65002014-01-05 Uros Bizjak <ubizjak@gmail.com>
6501
6502 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
6503 from prefetch_block tune setting.
6504 (nocona_cost): Correct size of prefetch block to 64.
6505
f2bc252b
EB
65062014-01-04 Eric Botcazou <ebotcazou@adacore.com>
6507
6508 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
6509 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
6510 used to save the static chain register in the computation of the offset
6511 from which the FP registers need to be restored.
6512
dad5ed2e
JJ
65132014-01-04 Jakub Jelinek <jakub@redhat.com>
6514
39719c84
JJ
6515 PR tree-optimization/59519
6516 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
6517 ICE if get_current_def (current_new_name) is already non-NULL, as long
6518 as it is a phi result of some other phi in *new_exit_bb that has
6519 the same argument.
6520
dad5ed2e
JJ
6521 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
6522 or vmovdqu* for misaligned_operand.
6523 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
6524 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
6525 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
6526 aligned_mem for AVX512F masked aligned load and store builtins and for
6527 non-temporal moves.
6528
65292014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
6530
6531 PR tree-optimization/59651
c30f016c 6532 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
6533 Address range for negative step should be added by TYPE_SIZE_UNIT.
6534
e864837a
AS
65352014-01-03 Andreas Schwab <schwab@linux-m68k.org>
6536
6537 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 6538 overlapping registers also for registers other than the stack pointer.
e864837a 6539
56a34230
MP
65402014-01-03 Marek Polacek <polacek@redhat.com>
6541
6542 PR other/59661
6543 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
6544 __builtin_FILE.
6545
039eee3f
JJ
65462014-01-03 Jakub Jelinek <jakub@redhat.com>
6547
3bcdbd50
JJ
6548 PR target/59625
6549 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
6550 asm goto as jump.
6551
039eee3f
JJ
6552 * config/i386/i386.md (MODE_SIZE): New mode attribute.
6553 (push splitter): Use <P:MODE_SIZE> instead of
6554 GET_MODE_SIZE (<P:MODE>mode).
6555 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
6556 (mov -1, reg peephole2): Likewise.
6557 * config/i386/sse.md (*mov<mode>_internal,
6558 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
6559 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
6560 *<code><mode>3, *andnot<mode>3<mask_name>,
6561 <mask_codefor><code><mode>3<mask_name>): Likewise.
6562 * config/i386/subst.md (mask_mode512bit_condition,
6563 sd_mask_mode512bit_condition): Likewise.
6564
927734cf
XDL
65652014-01-02 Xinliang David Li <davidxl@google.com>
6566
6567 PR tree-optimization/59303
039eee3f 6568 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
6569 (dump_predicates): Better output format.
6570 (pred_equal_p): New function.
6571 (is_neq_relop_p): Ditto.
6572 (is_neq_zero_form_p): Ditto.
6573 (pred_expr_equal_p): Ditto.
6574 (pred_neg_p): Ditto.
6575 (simplify_pred): Ditto.
6576 (simplify_preds_2): Ditto.
6577 (simplify_preds_3): Ditto.
6578 (simplify_preds_4): Ditto.
6579 (simplify_preds): Ditto.
6580 (push_pred): Ditto.
6581 (push_to_worklist): Ditto.
6582 (get_pred_info_from_cmp): Ditto.
6583 (is_degenerated_phi): Ditto.
6584 (normalize_one_pred_1): Ditto.
6585 (normalize_one_pred): Ditto.
6586 (normalize_one_pred_chain): Ditto.
6587 (normalize_preds): Ditto.
6588 (normalize_cond_1): Remove function.
6589 (normalize_cond): Ditto.
6590 (is_gcond_subset_of): Ditto.
6591 (is_subset_of_any): Ditto.
6592 (is_or_set_subset_of): Ditto.
6593 (is_and_set_subset_of): Ditto.
6594 (is_norm_cond_subset_of): Ditto.
6595 (pred_chain_length_cmp): Ditto.
6596 (convert_control_dep_chain_into_preds): Type change.
6597 (find_predicates): Ditto.
6598 (find_def_preds): Ditto.
6599 (destroy_predicates_vecs): Ditto.
6600 (find_matching_predicates_in_rest_chains): Ditto.
6601 (use_pred_not_overlap_with_undef_path_pred): Ditto.
6602 (is_pred_expr_subset): Ditto.
6603 (is_pred_chain_subset_of): Ditto.
6604 (is_included_in): Ditto.
6605 (is_superset_of): Ditto.
6606
23a5b65a
RS
66072014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6608
c30f016c 6609 Update copyright years.
23a5b65a 6610
f9030485
RS
66112014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6612
6613 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
6614 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
6615 config/arc/arc.md, config/arc/arc.opt,
6616 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
6617 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
6618 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
6619 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
6620 config/linux-protos.h, config/linux.c, config/winnt-c.c,
6621 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
6622 vtable-verify.c, vtable-verify.h: Use the standard form for the
6623 copyright notice.
f9030485 6624
98db73df
TB
66252014-01-02 Tobias Burnus <burnus@net-b.de>
6626
6627 * gcc.c (process_command): Update copyright notice dates.
6628 * gcov-dump.c: Ditto.
6629 * gcov.c: Ditto.
6630 * doc/cpp.texi: Bump @copying's copyright year.
6631 * doc/cppinternals.texi: Ditto.
6632 * doc/gcc.texi: Ditto.
6633 * doc/gccint.texi: Ditto.
6634 * doc/gcov.texi: Ditto.
6635 * doc/install.texi: Ditto.
6636 * doc/invoke.texi: Ditto.
6637
2898d204 66382014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
6639
6640 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
6641
dfebbdc6 66422014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 6643
726c3546
JJ
6644 * config/i386/sse.md (*mov<mode>_internal): Guard
6645 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
6646
dfebbdc6
JJ
6647 PR rtl-optimization/59647
6648 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
6649 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 6650\f
970c3b33 6651Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
6652
6653Copying and distribution of this file, with or without modification,
6654are permitted in any medium without royalty provided the copyright
6655notice and this notice are preserved.
This page took 6.817167 seconds and 5 git commands to generate.