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