]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO timevar
[gcc.git] / gcc / ChangeLog
CommitLineData
917dd9bf
JH
12014-07-12 Jan Hubicka <hubicka@ucw.cz>
2
3 * timevar.def (TV_IPA_LTO_DECL_INIT_IO): Remove.
4 (TV_IPA_LTO_CTORS_IN, TV_IPA_LTO_CTORS_OUT): New timevar.
5 * cgraph.c (cgraph_get_body): Push GIMPLE_IN timevar.
6 (varpool_get_constructor): Push CTORS_IN timevar.
7 * lto-streamer-out.c (lto_output): Push TV_IPA_LTO_CTORS_OUT
8 timevar.
9
e0770e2a
UB
102014-07-12 Uros Bizjak <ubizjak@gmail.com>
11
12 * config/i386/i386-builtin-types.def: Add USHORT_FTYPE_VOID.
13 Remove VOID_FTYPE_PUSHORT.
14 * config/i386/i386.c (bdesc_special_args) <__builtin_ia32_fnstsw>:
15 Change code to USHORT_FTYPE_VOID.
16 (ix86_expand_special_args_builtin): Handle USHORT_FTYPE_VOID.
17 (ix86_expand_builtin): Remove IX86_BUILTIN_FNSTSW handling.
18 (ix86_atomic_assign_expand_fenv): Update for
19 __builtin_ia32_fnstsw changes.
20 * config/i386/i386.md (x86_fnstsw_1): Set length unconditionally to 2.
21 (fnstsw): Change operand 0 to nonimmediate operand.
22
0b83e688
JH
232014-07-11 Jan Hubicka <hubicka@ucw.cz>
24
25 * vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.h
26 (varpool_get_constructor): New function.
27 (varpool_ctor_useable_for_folding_p): Break out from ...
28 (ctor_for_folding): ... here; use varpool_get_constructor.
29 (varpool_assemble_decl): Likewise.
30 * lto-streamer.h (struct output_block): Turn cgraph_node
31 to symbol filed.
32 (lto_input_variable_constructor): Declare.
33 * ipa-visibility.c (function_and_variable_visibility): Use
34 varpool_get_constructor.
35 * cgraph.h (varpool_get_constructor): Declare.
36 (varpool_ctor_useable_for_folding_p): New function.
37 * lto-streamer-out.c (get_symbol_initial_value): Take encoder
38 parameter; return error_mark_node for non-trivial constructors.
e0770e2a 39 (lto_write_tree_1, DFS_write_tree): Update use of
0b83e688
JH
40 get_symbol_initial_value.
41 (output_function): Update initialization of symbol.
42 (output_constructor): New function.
43 (copy_function): Rename to ..
44 (copy_function_or_variable): ... this one; handle vars too.
45 (lto_output): Output variable sections.
46 * lto-streamer-in.c (input_constructor): New function.
47 (lto_read_body): Rename from ...
e0770e2a 48 (lto_read_body_or_constructor): ... this one; handle vars too.
0b83e688
JH
49 (lto_input_variable_constructor): New function.
50 * ipa-prop.c (ipa_prop_write_jump_functions,
51 ipa_prop_write_all_agg_replacement): Update.
52 * lto-cgraph.c (compute_ltrans_boundary): Use it.
53 (output_cgraph_opt_summary): Set symbol to NULL.
54
01a92e70
JH
552014-07-11 Jan Hubicka <hubicka@ucw.cz>
56
57 * ipa-prop.c (ipa_binfo_from_known_type_jfunc): In LTO do not walk
58 non-polymorphic types.
59 * ipa-cp.c (ipa_get_jf_ancestor_result): Likewise.
60 * ipa-devirt.c (types_same_for_odr): Do not explode when one
61 of types is not polymorphic.
62
12b308fa
VM
632014-07-11 Vladimir Makarov <vmakarov@redhat.com>
64
65 * lra-constraints.c (remove_inheritance_pseudos): Process
66 destination pseudo too.
67
68f68004
RX
682014-07-11 Rong Xu <xur@google.com>
69
70 * gcov-tool.c (gcov_output_files): Fix build error introduced in
71 commit r212448.
72
cba4ea9e
PS
732014-07-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
74
75 * config/avr/avr-arch.h (avr_mcu_t): Add text section start attribute.
76 * config/avr/avr-devices.c (AVR_MCU): Same.
77 (avr_mcu_types): add text start value to end of device list.
78 * config/avr/avr-mcus.def: Add text section start for all devices.
79 (ata5782): Add new avr5 device.
80 (ata5831): Same.
81 * config/avr/avr-tables.opt: Regenerate.
82 * config/avr/avr.h: Add declaration for text section start handler.
e0770e2a
UB
83 (EXTRA_SPEC_FUNCTIONS): Add text section start handler to
84 SPEC functions.
cba4ea9e
PS
85 (LINK_SPEC): Include text section start handler to linker spec.
86 * config/avr/driver-avr.c (avr_device_to_text_start): New function to
e0770e2a
UB
87 pass -Ttext option to linker if the text section start for the device
88 is not zero.
cba4ea9e
PS
89 * config/avr/t-multilib: Regenerate.
90 * doc/avr-mmcu.texi: Regenerate.
91
8762d747
DE
922014-07-11 David Edelsohn <dje.gcc@gmail.com>
93
94 * config/rs6000/aix51.h (LINK_SPEC): Remove -bnodelcsect.
95 * config/rs6000/aix52.h (LINK_SPEC): Same.
96 * config/rs6000/aix53.h (LINK_SPEC): Same.
97 * config/rs6000/aix61.h (LINK_SPEC): Same.
98 * config/rs6000/xcoff.h (MAKE_DECL_ONE_ONLY): Define.
99
a78cfa7f
RG
1002014-07-11 Roman Gareev <gareevroman@gmail.com>
101
e0770e2a 102 * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): New function.
a78cfa7f
RG
103 (graphite_verify): New function.
104 (ivs_params_clear): New function.
105 (gcc_expression_from_isl_ast_expr_id): New function.
106 (gcc_expression_from_isl_expr_int): New function.
107 (binary_op_to_tree): New function.
108 (ternary_op_to_tree): New function.
109 (unary_op_to_tree): New function.
110 (nary_op_to_tree): New function.
111 (gcc_expression_from_isl_expr_op): New function.
112 (gcc_expression_from_isl_expression): New function.
113 (graphite_create_new_loop): New function.
114 (translate_isl_ast_for_loop): New function.
115 (get_upper_bound): New function.
116 (graphite_create_new_loop_guard): New function.
117 (translate_isl_ast_node_for): New function.
118 (translate_isl_ast): New function.
119 (add_parameters_to_ivs_params): New function.
120 (scop_to_isl_ast): New parameter ip.
121 (graphite_regenerate_ast_isl): Add generation of GIMPLE code.
122
0218574f
JH
1232014-07-11 Jan Hubicka <hubicka@ucw.cz>
124
125 * config/xtensa/predicates.md (call expander): Update for
126 DECL_SECTION_NAME being string.
127
21e8fb22
RB
1282014-07-11 Richard Biener <rguenther@suse.de>
129
130 PR middle-end/61473
e0770e2a
UB
131 * builtins.c (fold_builtin_memory_op): Inline memory moves that
132 can be implemented with a single load followed by a single store.
21e8fb22
RB
133 (c_strlen): Only warn when only_value is not 2.
134
53f5803e
ES
1352014-07-11 Evgeny Stupachenko <evstupac@gmail.com>
136
137 * config/i386/i386.c (expand_vec_perm_pblendv): Disable for AVX.
138
d1c1cbd5
MZ
1392014-07-11 Marat Zakirov <m.zakirov@samsung.com>
140
141 PR target/61561
142 * config/arm/arm.md (*movhi_insn_arch4): Handle stack pointer.
143 (*movhi_bytes): Likewise.
e0770e2a 144 (*arm_movqi_insn): Likewise.
d1c1cbd5 145
4bdf6418
UB
1462014-07-11 Uros Bizjak <ubizjak@gmail.com>
147
148 PR target/56858
149 * config/alpha/alpha.c: Include tree-pass.h, context.h
150 and pass_manager.h.
151 (pass_data_handle_trap_shadows): New pass.
152 (pass_handle_trap_shadows::gate): New pass gate function.
153 (make_pass_handle_trap_shadows): New function.
154 (rest_of_handle_trap_shadows): Ditto.
155
156 (alpha_align_insns_1): Rename from alpha_align_insns.
157 (pass_data_align_insns): New pass.
158 (pass_align_insns::gate): New pass gate function.
159 (make_pass_aling_insns): New function.
160 (rest_of_align_insns): Ditto.
161 (alpha_align_insns): Ditto.
162
163 (alpha_option_override): Declare handle_trap_shadows info
164 and align_insns_info. Register handle_trap_shadows and align_insns
165 passes here.
166 (alpha_reorg): Do not call alpha_trap_shadows and
167 alpha_align_insn from here.
168
169 (alpha_pad_function_end): Do not skip BARRIERs.
170
c77556a5
RX
1712014-07-10 Rong Xu <xur@google.com>
172
4bdf6418 173 Add gcov-tool: an offline gcda profile processing tool support.
c77556a5
RX
174 * gcov-io.c (gcov_position): Make avaialble to gcov-tool.
175 (gcov_is_error): Ditto.
176 (gcov_read_string): Ditto.
177 (gcov_read_sync): Ditto.
178 * gcov-io.h: Move counter defines to gcov-counter.def.
179 * gcov-dump.c (tag_counters): Use gcov-counter.def.
180 * coverage.c: Ditto.
181 * gcov-tool.c: Offline gcda profile processing tool.
182 (unlink_gcda_file): Remove one gcda file.
183 (unlink_profile_dir): Remove gcda files from the profile path.
184 (gcov_output_files): Output gcda files to an output dir.
185 (profile_merge): Merge two profiles in directory.
186 (print_merge_usage_message): Print merge usage.
187 (merge_usage): Print merge usage and exit.
188 (do_merge): Driver for profile merge sub-command.
189 (profile_rewrite): Rewrite profile.
190 (print_rewrite_usage_message): Print rewrite usage.
191 (rewrite_usage): Print rewrite usage and exit.
192 (do_rewrite): Driver for profile rewrite sub-command.
193 (print_usage): Print gcov-info usage and exit.
194 (print_version): Print gcov-info version.
195 (process_args): Process arguments.
196 (main): Main routine for gcov-tool.
197 * Makefile.in: Build and install gcov-tool.
198 * gcov-counter.def: New file split from gcov-io.h.
199 * doc/gcc.texi: Include gcov-tool.texi.
200 * doc/gcov-tool.texi: Document for gcov-tool.
201
218e53ea
RB
2022014-07-10 Richard Biener <rguenther@suse.de>
203
204 PR tree-optimization/61757
205 * tree-ssa-dom.c (loop_depth_of_name): Restore.
206 (propagate_rhs_into_lhs): Revert part of last change.
207
f9abc06c
TS
2082014-07-10 Thomas Schwinge <thomas@codesourcery.com>
209
210 * fold-const.c (fold_checksum_tree): Look at DECL_VINDEX only for
211 FUNCTION_DECLs.
212
d764963b
EB
2132014-07-10 Eric Botcazou <ebotcazou@adacore.com>
214
215 PR middle-end/53590
216 * function.c (allocate_struct_function): Revert r188667 change.
217
218 * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
219
64d57736
TC
2202014-07-10 Tom G. Christensen <tgc@jupiterrise.com>
221
222 * doc/install.texi: Remove links to defunct package providers for
223 Solaris.
224
e5718043
TV
2252014-07-09 Tom de Vries <tom@codesourcery.com>
226
4bdf6418
UB
227 * final.c (get_call_fndecl): Declare.
228 (self_recursive_call_p): New function.
229 (collect_fn_hard_reg_usage): Handle self-recursive function calls.
e5718043 230
958c1d61
JH
2312014-07-08 Jan Hubicka <hubicka@ucw.cz>
232
233 * ipa-devirt.c (record_node): Walk through aliases.
234
da22f505
JH
2352014-07-08 Jan Hubicka <hubicka@ucw.cz>
236
237 * lto-streamer-out.c (hash_scc): Avoid quadratic hashing loop.
238
1469344a
JH
2392014-07-08 Jan Hubicka <hubicka@ucw.cz>
240
241 Revert:
242 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
243
ef68f4ab
JH
2442014-07-08 Jan Hubicka <hubicka@ucw.cz>
245
246 * ipa-visibility.c (function_and_variable_visibility): Remove
247 temporary hack disabling local aliases on AIX.
248
8ad274d2
JH
2492014-07-08 Jan Hubicka <hubicka@ucw.cz>
250
251 * ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
252 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Likewise.
253
9af46873
JH
2542014-07-08 Jan Hubicka <hubicka@ucw.cz>
255
256 * rs6000/rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
257 * rs6000/rs6000.c: Inline output of .set instruction.
258 (declare_alias_data): New struct.
259 (rs6000_declare_alias): New function.
260 (rs6000_xcoff_declare_function_name): Use it.
261 (rs6000_xcoff_declare_object_name): New function.
262 * config/rs6000/xcoff.h: Define ASM_DECLARE_OBJECT_NAME.
263 (ASM_OUTPUT_DEF): Turn to empty definition.
264
e4e01495
TS
2652014-07-08 Trevor Saunders <tsaunders@mozilla.com>
266
267 PR bootstrap/61679
4bdf6418
UB
268 * hash-table.h: use hash_table::value_type instead of
269 Descriptor::value_type in the return types of several methods.
e4e01495 270
558d2559
TS
2712014-07-08 Trevor Saunders <tsaunders@mozilla.com>
272
273 * tree-pass.h (pass_data): Remove has_execute member.
274 * passes.c (execute_one_pass): Don't check pass->has_execute.
275 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
276 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
277 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
278 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
279 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
280 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
281 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
282 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
283 gimple-low.c, gimple-ssa-isolate-paths.c,
284 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
285 ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
286 ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
287 ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
288 lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
289 postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
290 reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
291 stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
292 tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
293 tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
294 tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
295 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
296 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
297 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
298 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
299 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
300 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
301 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
302 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
303 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
304 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
305 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
306 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
307 web.c: Remove initializer for pass_data::has_execute.
308
f98df77c
TS
3092014-07-08 Trevor Saunders <tsaunders@mozilla.com>
310
311 * graphite-htab.h: Use hash_map instead of hash_table.
312 * graphite-clast-to-gimple.c: Adjust.
313 * passes.c: Use hash_map instead of hash_table.
314 * sese.c: Likewise.
315 * sese.h: Remove now unused code.
316
dc58164b
ST
3172014-07-08 Sriraman Tallam <tmsriram@google.com>
318
319 PR target/61599
320 * config/i386/i386.c (ix86_in_large_data_p): Check for size less
321 than zero.
322
7e6d8fd9
JJ
3232014-07-08 Jakub Jelinek <jakub@redhat.com>
324
325 PR rtl-optimization/61673
326 * combine.c (simplify_comparison): Test just mode's sign bit
327 in tmode rather than the sign bit and any bits above it.
328
e4a452b2
RG
3292014-07-08 Roman Gareev <gareevroman@gmail.com>
330
331 * graphite-isl-ast-to-gimple.c (generate_isl_context):
332 Add __isl_give to the declaration.
333 (generate_isl_schedule): Likewise.
334 (scop_to_isl_ast): Likewise.
335
b2c06385
KT
3362014-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
337
338 * config/arm/arm.c (cortexa5_extra_costs): New table.
339 (arm_cortex_a5_tune): Use cortexa5_extra_costs.
340
b48e3948
JJ
3412014-07-08 Jakub Jelinek <jakub@redhat.com>
342
343 PR tree-optimization/61725
344 * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
345 range, use range_includes_zerop_p instead of integer_zerop on
346 vr0->min, only use log2 of max if min is not negative.
347
a59d8e8e
RB
3482014-07-08 Richard Biener <rguenther@suse.de>
349
350 * tree-ssa-dom.h (loop_depth_of_name): Remove.
351 * tree-ssa-dom.c (record_equivalences_from_phis): Remove
352 restriction on loop depth difference.
353 (record_equality): Likewise.
354 (propagate_rhs_into_lhs): Likewise. Simplify condition.
355 (loop_depth_of_name): Remove.
356 * tree-ssa-copy.c (copy_prop_visit_phi_node): Remove
357 restriction on loop depth difference.
358 (init_copy_prop): Likewise.
359
70f633c5
JH
3602014-07-08 Jan Hubicka <hubicka@ucw.cz>
361
362 * tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED
363 parameter.
364 (walk_aliased_vdefs): Likewise.
365 * tree-ssa-alias.h (walk_aliased_vdefs): Likewise.
366 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers
367 (detect_type_change_from_memory_writes): Check if entry was reached.
368
e8e938e0
RB
3692014-07-08 Richard Biener <rguenther@suse.de>
370
371 PR tree-optimization/61681
372 * tree-ssa-structalias.c (find_what_var_points_to): Expand
373 NONLOCAL inside ESCAPED.
374
e33f43b9
RB
3752014-07-08 Richard Biener <rguenther@suse.de>
376
377 PR tree-optimization/61680
378 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
379 Handle properly all read-write dependences with group accesses.
380
0f6284d2
YR
3812014-07-08 Yuri Rumyantsev <ysrumyan@gmail.com>
382
383 PR tree-optimization/61576
4bdf6418
UB
384 * tree-if-conv.c (is_cond_scalar_reduction): Add check that basic
385 block containing reduction statement is predecessor of phi basi block.
0f6284d2 386
605f12f4
MP
3872014-07-08 Marek Polacek <polacek@redhat.com>
388
389 PR c/60226
390 * fold-const.c (round_up_loc): Change the parameter type.
391 Remove assert.
392 * fold-const.h (round_up_loc): Adjust declaration.
393 * stor-layout.c (finalize_record_size): Check for too large types.
394
72732f3e
JH
3952014-07-07 Jan Hubicka <hubicka@ucw.cz>
396
4bdf6418
UB
397 * symtab.c: Include calls.h.
398 (symtab_nonoverwritable_alias_1): Check sanity of the local alias.
72732f3e 399
3ca588d3
MR
4002014-07-07 Maciej W. Rozycki <macro@codesourcery.com>
401
402 * config/rs6000/rs6000.c (output_vec_const_move): Handle
403 little-endian code generation.
404 * config/rs6000/spe.md (spe_evmergehi): Rename to...
4bdf6418 405 (vec_perm00_v2si): ... this. Handle little-endian code generation.
3ca588d3 406 (spe_evmergehilo): Rename to...
4bdf6418 407 (vec_perm01_v2si): ... this. Handle little-endian code generation.
3ca588d3 408 (spe_evmergelo): Rename to...
4bdf6418 409 (vec_perm11_v2si): ... this. Handle little-endian code generation.
3ca588d3 410 (spe_evmergelohi): Rename to...
4bdf6418 411 (vec_perm10_v2si): ... this. Handle little-endian code generation.
3ca588d3
MR
412 (spe_evmergehi, spe_evmergehilo): New expanders.
413 (spe_evmergelo, spe_evmergelohi): Likewise.
4bdf6418 414 (*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code generation.
3ca588d3
MR
415 (*frob_tf_ti): Likewise.
416 (*frob_<mode>_di_2): Likewise.
417 (*frob_tf_di_8_2): Likewise.
418 (*frob_di_<mode>): Likewise.
419 (*frob_ti_tf): Likewise.
420 (*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
421 (*frob_ti_<mode>_8_2): Likewise.
422 (*frob_ti_tf_2): Likewise.
423 (mov_si<mode>_e500_subreg0): Rename to...
424 (mov_si<mode>_e500_subreg0_be): ... this. Restrict to the big
425 endianness only.
426 (*mov_si<mode>_e500_subreg0_le): New instruction pattern.
427 (*mov_si<mode>_e500_subreg0_elf_low): Rename to...
4bdf6418 428 (*mov_si<mode>_e500_subreg0_elf_low_be): ... this. Restrict to
3ca588d3
MR
429 the big endianness only.
430 (*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
431 (*mov_si<mode>_e500_subreg0_2): Rename to...
432 (*mov_si<mode>_e500_subreg0_2_be): ... this. Restrict to the
433 big big endianness only.
434 (*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
435 (*mov_si<mode>_e500_subreg4): Rename to...
436 (*mov_si<mode>_e500_subreg4_be): ... this. Restrict to the big
437 endianness only.
438 (mov_si<mode>_e500_subreg4_le): New instruction pattern.
439 (*mov_si<mode>_e500_subreg4_elf_low): Rename to...
440 (*mov_si<mode>_e500_subreg4_elf_low_be): ... this. Restrict to
441 the big endianness only.
442 (*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
443 pattern.
444 (*mov_si<mode>_e500_subreg4_2): Rename to...
445 (*mov_si<mode>_e500_subreg4_2_be): ... this. Restrict to the big
446 endianness only.
447 (*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
448 (*mov_sitf_e500_subreg8): Rename to...
449 (*mov_sitf_e500_subreg8_be): ... this. Restrict to the big
450 endianness only.
451 (*mov_sitf_e500_subreg8_le): New instruction pattern.
452 (*mov_sitf_e500_subreg8_2): Rename to...
453 (*mov_sitf_e500_subreg8_2_be): ... this. Restrict to the big
454 endianness only.
455 (*mov_sitf_e500_subreg8_2_le): New instruction pattern.
456 (*mov_sitf_e500_subreg12): Rename to...
457 (*mov_sitf_e500_subreg12_be): ... this. Restrict to the big
458 endianness only.
459 (*mov_sitf_e500_subreg12_le): New instruction pattern.
460 (*mov_sitf_e500_subreg12_2): Rename to...
461 (*mov_sitf_e500_subreg12_2_be): ... this. Restrict to the big
462 endianness only.
463 (*mov_sitf_e500_subreg12_2_le): New instruction pattern.
464
e7623929 4652014-07-07 Max Ostapenko <m.ostapenko@partner.samsung.com>
0f05a199 466
4bdf6418
UB
467 * asan.c (instrument_strlen_call): Do not instrument first byte
468 in strlen if already instrumented.
0f05a199 469
8adb5dc7
KT
4702014-07-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
471
472 * config/arm/arm.opt (mwords-little-endian): Delete.
473 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
474 of TARGET_LITTLE_WORDS.
475 (WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
476 * config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
477 warning.
478 * doc/invoke.texi: Remove references to -mwords-little-endian.
479
c83cf304
JJ
4802014-07-07 Jakub Jelinek <jakub@redhat.com>
481
482 * expmed.c (struct init_expmed_rtl): Change all fields but
483 pow2 and cint from struct rtx_def to rtx.
484 (init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
485 (init_expmed): Likewise. Allocate all the 18 rtxes and ggc_free them
486 at the end again.
487
773ec47f
MP
4882014-07-06 Marek Polacek <polacek@redhat.com>
489
490 PR c/6940
491 * doc/invoke.texi: Document -Wsizeof-array-argument.
492
a4ff2ef3
GP
4932014-07-05 Gerald Pfeifer <gerald@pfeifer.com>
494
88e03ffe 495 * wide-int.h (wide_int_storage): Change declaration from struct
a4ff2ef3
GP
496 to class.
497
88e03ffe 4982014-07-05 Jan Hubicka <hubicka@ucw.cz>
058d0a90
JH
499
500 * cgraph.c (cgraph_create_indirect_edge): Update call of
501 get_polymorphic_call_info.
502 * ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
503 (possible_polymorphic_call_targets): Add parameter call.
504 (decl_maybe_in_construction_p): New predicate.
505 (get_polymorphic_call_info): Add parameter call;
506 use decl_maybe_in_construction_p.
507 * gimple-fold.c (fold_gimple_assign): Update use of
508 possible_polymorphic_call_targets.
509 (gimple_fold_call): Likewise.
510 * ipa-prop.c: Inlcude calls.h
511 (ipa_binfo_from_known_type_jfunc): Check that known type is record.
512 (param_type_may_change_p): New predicate.
513 (detect_type_change_from_memory_writes): Break out from ...
88e03ffe 514 (detect_type_change): ... this one; use param_type_may_change_p.
058d0a90
JH
515 (detect_type_change_ssa): Use param_type_may_change_p.
516 (compute_known_type_jump_func): Use decl_maybe_in_construction_p.
517
aed773a2
CB
5182014-07-05 Charles Baylis <charles.baylis@linaro.org>
519
520 PR target/49423
521 * config/arm/arm-protos.h (arm_legitimate_address_p,
522 arm_is_constant_pool_ref): Add prototypes.
523 * config/arm/arm.c (arm_legitimate_address_p): Remove static.
524 (arm_is_constant_pool_ref) New function.
525 * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
526 arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
527 (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
528 operand. Remove pool_range and neg_pool_range attributes.
529 (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
530 pool_range and neg_pool_range attributes.
531 * config/arm/constraints.md (Uh): New constraint.
532 (Uq): Don't allow constant pool references.
533
5a908485
JG
5342014-07-04 James Greenhalgh <james.greenhalgh@arm.com>
535
536 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
537 (move_lo_quad_internal_be_<mode>): Likewise.
538 (move_lo_quad_<mode>): Convert to define_expand.
539 (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
540 (aarch64_simd_move_hi_quad_be_<mode>): New.
541 (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
542 (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
543 (aarch64_combinez_be<mode>): New.
544 (aarch64_combine<mode>): Convert to define_expand.
545 (aarch64_combine_internal<mode>): New.
546 (aarch64_simd_combine<mode>): Remove bogus RTL description.
547
34386e79
TV
5482014-07-04 Tom de Vries <tom@codesourcery.com>
549
550 * doc/md.texi (@subsection Constraint Modifier Characters): Clarify
551 combination of earlyclobber and read/write modifiers.
552
7973ca62
TV
5532014-07-04 Tom de Vries <tom@codesourcery.com>
554
555 * config/aarch64/aarch64-simd.md
556 (define_insn "vec_unpack_trunc_<mode>"): Fix constraint.
557
9815fafa
RE
5582014-07-04 Richard Earnshaw <rearnsha@arm.com>
559
560 PR target/61714
88e03ffe 561 * config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Define.
9815fafa 562
14e000de
JJ
5632014-07-04 Jakub Jelinek <jakub@redhat.com>
564
253eab4f
JJ
565 PR middle-end/61654
566 * cgraphunit.c (expand_thunk): Call free_dominance_info.
567
14e000de
JJ
568 PR tree-optimization/61684
569 * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
570 rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
571
17bf6d25
CJW
5722014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
573 Kito Cheng <kito@0xlab.org>
574 Monk Chiang <sh.chiang04@gmail.com>
575
576 * config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
577 (nds32_symbol_load_store_p): Move to ...
578 (nds32_fp_as_gp_check_available): Move to ...
579 * config/nds32/nds32-fp-as-gp.c: ... here.
580 * config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
581 extern declaration.
582
f1fac1bc
CJW
5832014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
584 Kito Cheng <kito@0xlab.org>
585 Monk Chiang <sh.chiang04@gmail.com>
586
587 * config/nds32/nds32.c (nds32_expand_load_multiple): Move to ...
588 (nds32_expand_store_multiple): Move to ...
589 (nds32_expand_movmemqi): Move to ...
590 * config/nds32/nds32-memory-manipulation.c: ... here.
591
9e9dbc42
CJW
5922014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
593 Kito Cheng <kito@0xlab.org>
594 Monk Chiang <sh.chiang04@gmail.com>
595
596 * config/nds32/nds32.c (nds32_byte_to_size): Move to ...
597 (nds32_output_casesi_pc_relative): Move to ...
598 (nds32_output_casesi): Move to ...
599 (nds32_mem_format): Move to ...
600 (nds32_output_16bit_store): Move to ...
601 (nds32_output_16bit_load): Move to ...
602 (nds32_output_32bit_store): Move to ...
603 (nds32_output_32bit_load): Move to ...
604 (nds32_output_32bit_load_s): Move to ...
605 (nds32_output_stack_push): Move to ...
606 (nds32_output_stack_pop): Move to ...
607 * config/nds32/nds32-md-auxiliary.c: ... here.
608
c65cef10
CJW
6092014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
610 Ling-Hua Tseng <uranus@tinlans.org>
611
612 * config/nds32/nds32-pipelines-auxiliary.c: Add comment to describe
613 the purpose of this file.
614
89a4b547
CJW
6152014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
616 Kito Cheng <kito@0xlab.org>
617 Monk Chiang <sh.chiang04@gmail.com>
618
619 * config/nds32/nds32.c (nds32_rtx_costs): Move implementation to ...
620 (nds32_address_cost): Move implementation to ...
621 * config/nds32/nds32-cost.c: ... here.
622 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Declare.
623 (nds32_address_cost_impl): Declare.
624
6a2a98b1
CJW
6252014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
626 Kito Cheng <kito@0xlab.org>
627 Monk Chiang <sh.chiang04@gmail.com>
628
629 * config/nds32/nds32.c
630 (nds32_consecutive_registers_load_store_p): Move to ...
631 (nds32_valid_multiple_load_store): Move to ...
632 (nds32_valid_stack_push_pop): Move to ...
633 (nds32_can_use_bclr_p): Move to ...
634 (nds32_can_use_bset_p): Move to ...
635 (nds32_can_use_btgl_p): Move to ...
636 (nds32_can_use_bitci_p): Move to ...
637 * config/nds32/nds32-predicates.c: ... here.
638
aaa44d2d
CJW
6392014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
640 Kito Cheng <kito@0xlab.org>
641 Monk Chiang <sh.chiang04@gmail.com>
642
643 * config/nds32/nds32.c
644 (nds32_expand_builtin_null_ftype_reg): Move to ...
645 (nds32_expand_builtin_reg_ftype_imm): Move to ...
646 (nds32_expand_builtin_null_ftype_reg_imm): Move to ...
647 (nds32_init_builtins): Move implementation to ...
648 (nds32_expand_builtin): Move implementation to ...
649 * config/nds32/nds32-intrinsic.c: ... here.
650 * config/nds32/nds32-protos.h (nds32_init_builtins_impl): Declare.
651 (nds32_expand_builtin_impl): Declare.
652
c23a919b
CJW
6532014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
654 Kito Cheng <kito@0xlab.org>
655 Monk Chiang <sh.chiang04@gmail.com>
656
657 * config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
658 (nds32_emit_section_tail_template): Move to ...
659 (nds32_emit_isr_jmptbl_section): Move to ...
660 (nds32_emit_isr_vector_section): Move to ...
661 (nds32_emit_isr_reset_conten): Move to ...
662 (nds32_check_isr_attrs_conflict): Move to ...
663 (nds32_construct_isr_vectors_information): Move to ...
664 (nds32_asm_file_start): Move implementation to ...
665 (nds32_asm_file_end): Move implementation to ...
666 * config/nds32/nds32-isr.c: ... here.
667 * config/nds32/nds32-protos.h
668 (nds32_check_isr_attrs_conflict): Declare.
669 (nds32_construct_isr_vectors_information): Declare.
670 (nds32_asm_file_start_for_isr): Declare.
671 (nds32_asm_file_end_for_isr): Declare.
672
c0c935b5
CJW
6732014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
674 Kito Cheng <kito@0xlab.org>
675 Monk Chiang <sh.chiang04@gmail.com>
676
677 * config.gcc (nds32*): Add new modules to extra_objs.
678 (nds32le-*-*): Use t-nds32 makefile fragment for new modules.
679 (nds32be-*-*): Likewise.
680 * config/nds32/nds32-cost.c: New file.
681 * config/nds32/nds32-fp-as-gp.c: New file.
682 * config/nds32/nds32-intrinsic.c: New file.
683 * config/nds32/nds32-isr.c: New file.
684 * config/nds32/nds32-md-auxiliary.c: New file.
685 * config/nds32/nds32-memory-manipulation.c: New file.
686 * config/nds32/nds32-pipelines-auxiliary.c: New file.
687 * config/nds32/nds32-predicates.c: New file.
688 * config/nds32/t-nds32: New file.
689
c01d6ad9
JJ
6902014-07-03 Jakub Jelinek <jakub@redhat.com>
691
692 PR tree-optimization/61682
88e03ffe
UB
693 * wide-int.cc (wi::mul_internal): Handle high correctly for umul_ppmm
694 using cases and when one of the operands is equal to 1.
c01d6ad9 695
9e5f78f1
SB
6962014-07-03 Segher Boessenkool <segher@kernel.crashing.org>
697
698 * config/rs6000/rs6000.md (rotl<mode>3, ashl<mode>3, lshr<mode>3,
699 ashr<mode>3): Correct mode of operands[2].
700 (rotl<mode>3_dot, rotl<mode>3_dot2, ashl<mode>3_dot, ashl<mode>3_dot2,
701 lshr<mode>3_dot, lshr<mode>3_dot2, ashr<mode>3_dot, ashr<mode>3_dot2):
702 Correct mode of operands[2]. Fix split condition.
703
a89b02c0
RE
7042014-07-03 Richard Earnshaw <rearnsha@arm.com>
705
706 * arm.md (arch): Add armv6_or_vfpv3.
707 (arch_enabled): Add test for the above.
708 * vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
709 on VFP9.
710 (sqrtsf_vfp, sqrtdf_vfp): Likewise.
88e03ffe 711
00a7ba58
JJ
7122014-07-03 Jakub Jelinek <jakub@redhat.com>
713
714 * gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
715 * data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
716 HWI 1 and negate the unsigned value.
717 * expmed.c (expand_sdiv_pow2): For modes wider than word always
718 use AND instead of shift.
719 * wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
720
e71d7987
MP
7212014-07-03 Marek Polacek <polacek@redhat.com>
722
723 * doc/invoke.texi (-fsanitize=bounds): Tweak wording.
724 (-fsanitize=float-divide-by-zero): Move to the table with
725 -fsanitize=undefined suboptions.
726 (-fsanitize=float-cast-overflow): Likewise.
727
283bbe35
MR
7282014-07-03 Maciej W. Rozycki <macro@codesourcery.com>
729
730 * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
731 BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
732 endianness.
733
e42e3d15
ZC
7342014-07-03 Zhenqiang Chen <zhenqiang.chen@linaro.org>
735
736 * loop-invariant.c (struct invariant): Add a new member: eqno;
737 (find_identical_invariants): Update eqno;
738 (create_new_invariant): Init eqno;
739 (get_inv_cost): Compute comp_cost with eqno;
740
4ed3092f
SB
7412014-07-02 Segher Boessenkool <segher@kernel.crashing.org>
742
743 * genconfig.c (have_rotate_flag, have_rotatert_flag): New variables.
744 (walk_insn_part) <ROTATE, ROTATERT>: New cases.
745 (main): Conditionally write HAVE_rotate resp. HAVE_rotatert.
746 * simplify-rtx.c (simplify_binary_operation_1) <ROTATE, ROTATERT>:
747 Only do the transformation if both HAVE_rotate and HAVE_rotatert.
748
cbb1e3d9
CB
7492014-07-02 Christian Bruel <christian.bruel@st.com>
750
513c5c74
CB
751 PR target/29349
752 PR target/53513
cbb1e3d9
CB
753 * mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
754 (make_preds_opaque): Delete.
755 (clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
756 (commit_mode_sets): New function.
757 (optimize_mode_switching): Handle current_mode to mode_switching_emit.
758 Process all modes at once.
759 * basic-block.h (pre_edge_lcm_avs): Declare.
760 * lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
761 Call clear_aux_for_edges. Fix comments.
762 (pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
763 (pre_edge_rev_lcm): Idem.
88e03ffe
UB
764 * config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode
765 parameter.
cbb1e3d9 766 * config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
88e03ffe
UB
767 * config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute):
768 Idem.
cbb1e3d9
CB
769 * config/i386/i386.c (x96_emit_mode_set): Idem.
770 * config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
771 * config/sh/sh.md (toggle_pr): Defined if TARGET_FPU_SINGLE.
772 (fpscr_toggle) Disallow from delay slot.
773 * target.def (emit_mode_set): Add prev_mode parameter.
774 * doc/tm.texi: Regenerate.
775
c9d1a16a
KT
7762014-07-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
777
778 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
779 variable i.
780
d570d364
JH
7812014-07-01 Jan Hubicka <hubicka@ucw.cz>
782
783 * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
784 vtable_pointer_value_to_vtable): Constify.
785 (contains_polymorphic_type_p): Declare.
786 * ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
787 vtable_pointer_value_to_vtable): Constify.
788 (contains_polymorphic_type_p): New predicate.
789 * ipa-prop.c (ipa_set_jf_known_type): Allow types containing
790 polymorphic types.
791 (ipa_set_ancestor_jf): Likewise.
792 (detect_type_change): Return false in easy cases.
793 (compute_complex_assign_jump_func): Require type to contain
794 polymorphic type.
795 (compute_known_type_jump_func): Likewise.
796
549bcbd1
JH
7972014-07-01 Jan Hubicka <hubicka@ucw.cz>
798
88e03ffe
UB
799 * tree.c (decls_same_for_odr, decls_same_for_odr, types_same_for_odr):
800 Remove.
549bcbd1 801 (type_in_anonymous_namespace_p): Constify argument.
88e03ffe 802 * tree.h (types_same_for_odr, type_in_anonymous_namespace_p): Constify.
549bcbd1
JH
803 * ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
804 (main_odr_variant): New function.
805 (hash_type_name): Make static; update assert; do not ICE on
806 non-records.
88e03ffe
UB
807 (types_same_for_odr): Bring here from tree.c; simplify and remove
808 old structural comparing code that doesn't work for templates.
549bcbd1
JH
809 (odr_hasher::equal): Update assert.
810 (add_type_duplicate): Return true when bases should be computed;
811 replace incomplete loader by complete; do not output duplicated
812 warnings; do not ICE on non-records; set odr_violated flag.
813 (get_odr_type): Be ready to replace incomplete type by complete
814 one; work on ODR variants instead of main variants; reorder item
815 in array so bases have still smaller indexes.
88e03ffe 816 (dump_type_inheritance_graph): Be ready for holdes in odr_types array.
549bcbd1
JH
817 (possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.
818
25eff60d
CC
8192014-07-01 Cary Coutant <ccoutant@google.com>
820
821 * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
88e03ffe 822 lookup.
25eff60d 823 (resolve_addr_in_expr): When replacing the rtx in a location list
88e03ffe 824 entry, get a new address table entry.
25eff60d 825 (dwarf2out_finish): Call index_location_lists even if there are no
88e03ffe 826 addr_index_table entries yet.
25eff60d 827
6ab56804
TS
8282014-07-01 Trevor Saunders <tsaunders@mozilla.com>
829
830 * config/i386/winnt.c (i386_pe_section_type_flags): Revert previous
831 change for not being obvious.
832
5c9130b3
TS
8332014-07-01 Trevor Saunders <tsaunders@mozilla.com>
834
835 * config/i386/winnt.c (i386_pe_section_type_flags): Remove name of
836 unused argument.
837
39f90912
KT
8382014-07-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
839
840 * config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
841 (vcagt_f64): Likewise.
842 (vcale_f64): Likewise.
843 (vcaled_f64): Likewise.
844 (vcales_f32): Likewise.
845 (vcalt_f64): Likewise.
846 (vcaltd_f64): Likewise.
847 (vcalts_f32): Likewise.
848
52ec0ea3
MP
8492014-07-01 Marek Polacek <polacek@redhat.com>
850
851 * doc/invoke.texi: Document -Wint-conversion.
852
d5c3d343
MP
8532014-07-01 Marek Polacek <polacek@redhat.com>
854
855 PR c/58286
856 * doc/invoke.texi: Document -Wincompatible-pointer-types.
857
e55637b7
ML
8582014-07-01 Martin Liska <mliska@suse.cz>
859
860 IPA REF alias refactoring
861 * cgraph.h (iterate_direct_aliases): New function.
862 (FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
863 * cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
864 FOR_EACH_ALIAS added.
865 (cgraph_for_node_and_aliases): Likewise.
866 * cgraphunit.c (assemble_thunks_and_aliases): Likewise.
867 * ipa-inline.c (reset_edge_caches): Likewise.
868 (update_caller_keys): Likewise.
869 * trans-mem.c (ipa_tm_execute): Likewise.
870 *varpool.c (varpool_analyze_node): Likewise.
871 (varpool_for_node_and_aliases): Likewise.
872 * ipa-ref.h (first_alias): New function.
873 (last_alias): Likewise.
874 (has_aliases_p): Likewise.
875 * ipa-ref.c (ipa_ref::remove_reference): Removal function
876 is sensitive to IPA_REF_ALIASes.
877 * symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
878 are put at the beginning of the list.
879 (symtab_node::iterate_direct_aliases): New function.
880
010f4e27
JH
8812014-06-28 Jan Hubicka <hubicka@ucw.cz>
882
883 Revert:
88e03ffe 884 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
010f4e27 885 type is complete.
88e03ffe
UB
886 (write_ts_type_common_tree_pointers): Do not stream fields not set
887 for incomplete types; do not stream duplicated fields for variants;
888 sanity check that variant and type match.
889 (write_ts_type_non_common_tree_pointers): Likewise.
890 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
891 TYPE_SIZE whether type is complete.
010f4e27
JH
892 (lto_input_ts_type_common_tree_pointers): Do same changes as in
893 write_ts_type_common_tree_pointers
894 (lto_input_ts_type_non_common_tree_pointers): Likewise.
895
0ca59830
JM
8962014-06-30 Joseph Myers <joseph@codesourcery.com>
897
898 * var-tracking.c (add_stores): Return instead of asserting if old
899 and new values for conditional store are the same.
900
fc56f9d2
RH
9012014-06-30 Richard Henderson <rth@redhat.com>
902
903 PR rtl-opt/61608
904 PR target/39284
905 * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
906 the cfg if there were any changes.
907 * passes.def: Revert move of peephole2 after reorder_blocks;
908 move duplicate_computed_gotos before peephole2.
909
a4a51a52
UB
9102014-06-30 Uros Bizjak <ubizjak@gmail.com>
911
912 * except.c (emit_note_eh_region_end): New helper function.
913 (convert_to_eh_region_ranges): Use emit_note_eh_region_end to
914 emit EH_REGION_END note.
915 * jump.c (cleanup_barriers): Do not split a call and its
916 corresponding CALL_ARG_LOCATION note.
917
4f82fed2
JL
9182014-06-30 Jeff Law <law@redhat.com>
919
920 PR tree-optimization/61607
921 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
922 deeper into the SSA_NAME_VALUE chain.
923
6a7253a4
MP
9242014-06-30 Marek Polacek <polacek@redhat.com>
925
926 * convert.c (convert_to_integer): Don't instrument conversions if the
927 function has no_sanitize_undefined attribute.
928 * ubsan.c: Don't run the ubsan pass if the function has
929 no_sanitize_undefined attribute.
930
670d96d7
JJ
9312014-06-30 Jakub Jelinek <jakub@redhat.com>
932
933 * doc/invoke.texi (-fsanitize=bounds): Move to the table with
934 -fsanitize=undefined suboptions.
935
f7c4e5b8
AL
9362014-06-30 Alan Lawrence <alan.lawrence@arm.com>
937
938 * config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
939 * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
940 against bigendian and adjust indices.
941
10e4b632
GP
9422014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
943
944 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
945
21a7b5e1
MS
9462014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
947
948 PR target/61633
949 * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
950 Add alternative; make early clobber. Adjust both split patterns
951 to use operand 0 as the working register.
952
85c00e0b
JJ
9532014-06-30 Jakub Jelinek <jakub@redhat.com>
954
5acd5cf0
UB
955 * ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0,
956 as ira_object_id_map might be NULL, or 1.
85c00e0b 957
51a69168
ZC
9582014-06-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
959
960 * loop-invariant.c (get_inv_cost): Handle register class.
961 (gain_for_invariant): Check the register pressure of the inv
962 and its overlapped register class, other than all.
963
a938d018
GP
9642014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
965
966 * doc/invoke.texi (Optimize Options): Fix descriptions of
967 ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
968
3a96c7cc
DW
9692014-06-29 David Wohlferd <dw@LimeGreenSocks.com>
970
971 * doc/extend.texi (Function Attributes): Update 'naked' attribute
972 documentation.
973
7d1ceb93
TG
9742014-06-29 Tobias Grosser <tobias@grosser.es>
975
dabb1a20 976 PR bootstrap/61650
7d1ceb93
TG
977 * graphite-isl-ast-to-gimple.c: Add missing guards.
978
f6cc3103
RG
9792014-06-29 Roman Gareev <gareevroman@gmail.com>
980
5acd5cf0
UB
981 * Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
982 * common.opt: Add new switch fgraphite-code-generator=[isl|cloog].
983 * flag-types.h: Add new enum fgraphite_generator.
f6cc3103
RG
984 * graphite-isl-ast-to-gimple.c: New.
985 * graphite-isl-ast-to-gimple.h: New.
5acd5cf0
UB
986 * graphite.c (graphite_transform_loops): Add choice of Graphite
987 code generator, which depends on flag_graphite_code_gen.
f6cc3103 988
516a84f7
RG
9892014-06-29 Roman Gareev <gareevroman@gmail.com>
990
5acd5cf0
UB
991 * graphite-dependences.c (subtract_commutative_associative_deps):
992 Add NULL checking of the following variables: must_raw_no_source,
993 may_raw_no_source, must_war_no_source, may_war_no_source,
994 must_waw_no_source, may_waw_no_source, must_raw, may_raw,
995 must_war, may_war, must_waw, may_waw.
516a84f7 996
db72d606
RG
9972014-06-29 Roman Gareev <gareevroman@gmail.com>
998
5acd5cf0
UB
999 * graphite-clast-to-gimple.c: gloog is renamed to
1000 graphite_regenerate_ast_cloog. gloog_error is renamed to
1001 graphite_regenerate_error.
1002 * graphite-clast-to-gimple.h: The definition of the struct
1003 bb_pbb_def is moved to graphite-htab.h.
db72d606 1004 Add inclusion of the hash-table.h.
5acd5cf0 1005 * graphite-htab.h: The declaration of the function gloog is moved
db72d606
RG
1006 to graphite-clast-to-gimple.h and renamed to
1007 graphite_regenerate_ast_cloog.
5acd5cf0
UB
1008 * graphite.c (graphite_transform_loops): gloog is renamed
1009 to graphite_regenerate_ast_cloog.
db72d606 1010
288eeff7
JH
10112014-06-28 Jan Hubicka <hubicka@ucw.cz>
1012
5acd5cf0 1013 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
288eeff7 1014 type is complete.
5acd5cf0
UB
1015 (write_ts_type_common_tree_pointers): Do not stream fields not set
1016 for incomplete types; do not stream duplicated fields for variants;
1017 sanity check that variant and type match.
1018 (write_ts_type_non_common_tree_pointers): Likewise.
1019 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
1020 TYPE_SIZE whether type is complete.
288eeff7
JH
1021 (lto_input_ts_type_common_tree_pointers): Do same changes as in
1022 write_ts_type_common_tree_pointers
1023 (lto_input_ts_type_non_common_tree_pointers): Likewise.
1024
d0bd8245
JH
10252014-06-28 Jan Hubicka <hubicka@ucw.cz>
1026
1027 * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
1028
8910466a
JH
10292014-06-28 Jan Hubicka <hubicka@ucw.cz>
1030
1031 * tree-inline.c (remap_type_1): Do not duplicate fields
1032 that are shared in between type and its main variant.
1033
b49407f8
JH
10342014-06-28 Jan Hubicka <hubicka@ucw.cz>
1035
1036 * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
1037 of the type.
1038 (ipa_set_ancestor_jf) Likewise.
1039 (check_stmt_for_type_change): Check that we work on main variant.
1040 (detect_type_change): Look into main variant.
1041 (compute_known_type_jump_func): Check that main variant has BINFO.
1042
c7e1befa
JH
10432014-06-28 Jan Hubicka <hubicka@ucw.cz>
1044
1045 * ipa-devirt.c (set_type_binfo): New function.
1046 (add_type_duplicate): Use it.
1047 (get_odr_type): Sanity check that binfos points to main variants.
1048 (get_class_context): Be sure the context's outer_type is main variant.
1049 (contains_type_p): Walk main variant.
5acd5cf0
UB
1050 (get_polymorphic_call_info_for_decl): Set outer_type to be
1051 main variant.
c7e1befa 1052 (get_polymorphic_call_info): Likewise.
5acd5cf0
UB
1053 (possible_polymorphic_call_targets): Sanity check that we operate
1054 on main variant.
c7e1befa 1055
7ae2e72c
JH
10562014-06-28 Jan Hubicka <hubicka@ucw.cz>
1057
5acd5cf0 1058 * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
7ae2e72c 1059
a8647163
UW
10602014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1061
1062 * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
1063 accidental change due to wide-int branch merge.
1064
29d7cbd1
RO
10652014-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1066
1067 * configure.ac (gcc_cv_as_compress_debug): Check for assembler
1068 compressed debug support.
5acd5cf0 1069 (gcc_cv_ld_compress_debug): Check for linker compressed debug support.
29d7cbd1
RO
1070 * configure: Regenerate.
1071 * config.in: Regenerate.
1072 * common.opt (compressed_debug_sections): New enum.
1073 (gz, gz=): New options.
5acd5cf0 1074 * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC): Define.
29d7cbd1
RO
1075 (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
1076 (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
1077 * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
1078 LINK_COMPRESS_DEBUG_SPEC.
1079 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
1080 * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
5acd5cf0 1081 * doc/invoke.texi (Option Summary, Debugging Options): Add -gz[=type].
29d7cbd1
RO
1082 (Debugging Options): Document -gz[=type].
1083
d284e1b8
MJ
10842014-06-27 Martin Jambor <mjambor@suse.cz>
1085
1086 PR ipa/61160
1087 * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
1088 args_to_skip, use those from node instead. Copy args_to_skip and
1089 combined_args_to_skip from node to the new thunk.
1090 (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
1091 (cgraph_create_virtual_clone): Moved computation of
1092 combined_args_to_skip...
1093 (cgraph_clone_node): ...here, simplify it to bitmap_ior..
1094
f012c1ab
TS
10952014-06-27 trevor Saunders <tsaunders@mozilla.com>
1096
1097 * config/i386/winnt.c (i386_pe_section_type_flags): Remove
1098 redundant diagnostic machinary.
1099
3fd269db
RB
11002014-06-27 Richard Biener <rguenther@suse.de>
1101
1102 * tree-ssa-math-opts.c (bswap_replace): Fix
1103 SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
1104
807b7d62
ML
11052014-06-27 Martin Liska <mliska@suse.cz>
1106
1107 * gimple.h (gimple_location_safe): New function introduced.
1108 * cgraphunit.c (walk_polymorphic_call_targets): Usage
1109 of gimple_location_safe replaces gimple_location.
1110 (gimple_fold_call): Likewise.
1111 * ipa-devirt.c (ipa_devirt): Likewise.
1112 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
1113 * ipa.c (walk_polymorphic_call_targets): Likewise.
1114 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
1115
a4ee446d
JJ
11162014-06-27 Jakub Jelinek <jakub@redhat.com>
1117
1118 PR tree-optimization/57233
1119 PR tree-optimization/61299
1120 * tree-vect-generic.c (get_compute_type, count_type_subparts): New
1121 functions.
1122 (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
1123 would be lowered to scalar shifts, check if corresponding
1124 shifts and vector BIT_IOR_EXPR are supported and don't lower
1125 or lower just to narrower vector type in that case.
1126 * expmed.c (expand_shift_1): Fix up handling of vector
1127 shifts and rotates.
1128
dd5e7837
UB
11292014-06-26 Uros Bizjak <ubizjak@gmail.com>
1130
1131 PR target/61586
1132 * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
1133
e288a46c
JH
11342014-06-26 Jan Hubicka <hubicka@ucw.cz>
1135
1136 * doc/invoke.texi (-fsemantic-interposition): Document.
1137 * common.opt (fsemantic-interposition): New flag.
1138 * varasm.c (decl_replaceable_p): Use it.
1139
6a742466
BS
11402014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1141
1142 PR target/61542
1143 * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
1144 extraction other than index 3.
1145
f14726bd
TJ
11462014-06-26 Teresa Johnson <tejohnson@google.com>
1147
1148 * doc/invoke.texi: Fix typo.
1149 * dumpfile.c: Add support for documented -fdump-* options
1150 optimized/missed/note/optall.
1151
680a5a7c
MJ
11522014-06-26 Martin Jambor <mjambor@suse.cz>
1153
1154 * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
1155 (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
1156 (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
1157 (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
1158 * opts.c (default_options_optimization): Set
1159 PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
1160 * doc/invoke.texi (allow-load-data-races)
dd5e7837 1161 (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
680a5a7c
MJ
1162 (allow-store-data-races): Document the new default.
1163
72972c22
MJ
11642014-06-26 Martin Jambor <mjambor@suse.cz>
1165
1166 * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
1167 renamed to ipa_impossible_devirt_target. Fix typo.
1168 * ipa-prop.h (ipa_impossible_devirt_target): Declare.
1169 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
1170 ipa_impossible_devirt_target.
1171
73c7d6bc
RB
11722014-06-26 Richard Biener <rguenther@suse.de>
1173
1174 PR tree-optimization/61607
1175 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
1176 explaining why we restrict copies on loop depth.
1177 * tree-ssa-dom.c (cprop_operand): Remove restriction on
1178 on loop depth.
1179 (record_equivalences_from_phis): Instead add it here.
1180
a185856a
BS
11812014-06-26 Bernd Schmidt <bernds@codesourcery.com>
1182
dd5e7837
UB
1183 * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
1184 (LTO_WRAPPER_OBJS): New variable.
1185 (lto-wrapper$(exeext)): Use it.
1186 * collect2.c: Include "collect-utils.h".
1187 (verbose, debug): Remove variables.
1188 (at_file_supplied): No longer static.
1189 (tool_name): New variable.
1190 (do_wait, fork_execute, maybe_unlink): Don't declare.
1191 (tool_cleanup): No longer static.
1192 (notice): Remove function.
1193 (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
1194 fork_execute calls.
1195 (collect_wait, do_wait, collect_execute): Remove functions.
1196 (maybe_unlink): No longer static.
1197 * collect2.h (verbose, debug): Don't declare.
1198 (at_file_supplied): Declare.
1199 * collect-utils.c (utils_cleanup): New arg from_signal. All callers
1200 changed.
1201 (collect_execute): Replace with implementation from collect2, plus a
1202 new arg use_atfile. All callers changed.
1203 (collect_wait): Replace with implementation from collect2.
1204 (maybe_unlink_file): Remove function.
1205 (fork_execute): Replace with implementation from collect2, plus a
1206 new arg use_atfile. All callers changed.
1207 (do_wait): Add call to utils_cleanup to the error path.
1208 * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
1209 (tool_cleanup): Adjust declarations.
1210 * lto-wrapper.c (tool_cleanup): Add unused bool argument.
1211 * tlink.c: Include "collect-utils.h".
1212 (tlink_execute): New arg use_atfile. All callers changed.
1213 (tlink_init, tlink_execute): Remove declarations.
1214
1215 * collect-utils.c (save_temps): New variable.
1216 (do_wait): Use it instead of debug. Use fatal_error.
1217 * collect-utils.h (save_temps): Declare.
1218 * collect2.c (verbose): Rename from vflag. All uses changed.
1219 (tool_cleanup): New function, copied from collect_atexit.
1220 (collect_atexit, handler): Just call it.
1221 * collect2.h (verbose): Declaration renamed from vflag.
1222 * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
1223 debug.
1224
1225 * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
1226 (lto-wrapper$(exeext)): Link with collect-utils.o.
1227 * collect-utils.c: New file.
1228 * collect-utils.h: New file.
1229 * lto-wrapper.c: Include "collect-utils.h".
1230 (args_name): Delete variable.
1231 (tool_name): New variable.
1232 (tool_cleanup): New function.
1233 (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
1234 (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
1235 (fork_execute): Remove functions.
a185856a 1236
5ed8a176
NC
12372014-06-26 Nick Clifton <nickc@redhat.com>
1238
53d51ddb
NC
1239 * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
1240
5ed8a176
NC
1241 * doc/extend.texi (Function Attributes): Fix typo in description
1242 of RX vector attribute.
1243
0cdb761c
JG
12442014-06-26 James Greenhalgh <james.greenhalgh@arm.com>
1245
1246 * config.gcc (supported_defaults): Error when passing either
1247 --with-tune or --with-arch in conjunction with --with-cpu for ARM.
1248
cbe26b97
RB
12492014-06-26 Richard Biener <rguenther@suse.de>
1250
1251 * tree-ssa-dom.c (cprop_operand): Remove restriction on
1252 propagating volatile pointers.
1253
974bb959
RB
12542014-06-26 Richard Biener <rguenther@suse.de>
1255
1256 PR tree-optimization/61607
1257 * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
1258 loop if we redirected its latch edge.
1259 (thread_block_1): Do not cancel loops prematurely.
1260
b9b5f433
JH
12612014-06-25 Jan Hubicka <hubicka@ucw.cz>
1262
dd5e7837
UB
1263 * toplev.c (backend_init_target): Move init_emit_regs and
1264 init_regs to...
b9b5f433 1265 (backend_init) ... here; skip ira_init_once and backend_init_target.
dd5e7837
UB
1266 (target_reinit) ... and here; clear
1267 this_target_rtl->lang_dependent_initialized.
1268 (lang_dependent_init_target): Clear
1269 this_target_rtl->lang_dependent_initialized;
b9b5f433 1270 break out rtl initialization to ...
dd5e7837
UB
1271 (initialize_rtl): ... here; call also backend_init_target
1272 and ira_init_once.
b9b5f433
JH
1273 * toplev.h (initialize_rtl): New function.
1274 * function.c: Include toplev.h
1275 (init_function_start): Call initialize_rtl.
1276 * rtl.h (target_rtl): Add target_specific_initialized,
1277 lang_dependent_initialized.
1278
646d1bed
PG
12792014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
1280 Jakub Jelinek <jakub@redhat.com>
1281
1282 * gcc.c (set_multilib_dir): Malloc "." pointer as well.
1283
db88b449
TV
12842014-06-25 Tom de Vries <tom@codesourcery.com>
1285
1286 * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
1287
f9bb13f3
BE
12882014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
1289
1290 * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
1291 check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
1292 Issue a strict overflow warning if appropriate.
1293
d122681a
ML
12942014-06-25 Martin Liska <mliska@suse.cz>
1295
1296 IPA REF refactoring
1297 * Makefile.in: Removed header file (ipa-ref-inline.h).
1298 * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
1299 called.
1300 (cgraph_speculative_call_info): Likewise.
1301 (cgraph_for_node_thunks_and_aliases): Likewise.
1302 (cgraph_for_node_and_aliases): Likewise.
1303 (verify_cgraph_node): Likewise.
1304 * cgraph.h: Batch of IPA REF functions become member functions of
1305 symtab_node: add_reference, maybe_add_reference, clone_references,
1306 clone_referring, clone_reference, find_reference,
1307 remove_stmt_references, remove_all_references,
1308 remove_all_referring, dump_references, dump_referring,
1309 has_alias_p, iterate_reference, iterate_referring.
1310 * cgraphbuild.c (record_reference): New IPA REF function used.
1311 (record_type_list): Likewise.
1312 (record_eh_tables): Likewise.
1313 (mark_address): Likewise.
1314 (mark_load): Likewise.
1315 (mark_store): Likewise.
1316 (pass_build_cgraph_edges): Likewise.
1317 (rebuild_cgraph_edge): Likewise.
1318 (cgraph_rebuild_references): Likewise.
1319 (pass_remove_cgraph_callee_edges): Likewise.
1320 * cgraphclones.c (cgraph_clone_node): Likewise.
1321 (cgraph_create_virtual_clone): Likewise.
1322 (cgraph_materialize_clone): Likewise.
1323 (cgraph_materialize_all_clones): Likewise.
1324 * cgraphunit.c (cgraph_reset_node): Likewise.
1325 (cgraph_reset_node): Likewise.
1326 (analyze_function): Likewise.
1327 (assemble_thunks_and_aliases): Likewise.
1328 (expand_function): Likewise.
1329 * ipa-comdats.c (propagate_comdat_group): Likewise.
1330 (enqueue_references): Likewise.
1331 * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
1332 (create_specialized_node): Likewise.
1333 * ipa-devirt.c (referenced_from_vtable_p): Likewise.
1334 * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
1335 * ipa-inline.c (reset_edge_caches): Likewise.
1336 (update_caller_keys): Likewise.
1337 (execute): Likewise.
1338 * ipa-prop.c (remove_described_reference): Likewise.
1339 (propagate_controlled_uses): Likewise.
1340 (ipa_edge_duplication_hook): Likewise.
1341 (ipa_modify_call_arguments): Likewise.
1342 * ipa-pure-const.c (propagate_pure_const): Likewise.
1343 * ipa-ref-inline.h: Header file removed, functions moved
1344 to symtab_node class.
1345 * ipa-ref.c (remove_reference): New class member function.
1346 (cannot_lead_to_return): New class member function.
1347 (referring_ref_list): Likewise.
1348 (referred_ref_list): Likewise.
1349 Rest of functions moved to symtab_node class.
1350 * ipa-ref.h: New member functions remove_reference,
1351 cannot_lead_to_return, referring_ref_list, referred_ref_list added
1352 to ipa_ref class.
1353 ipa_ref_list class has new member functions: first_reference,
1354 first_referring, clear, nreferences.
1355 * ipa-reference.c (analyze_function): New IPA REF function used.
1356 (write_node_summary_p): Likewise.
1357 (ipa_reference_write_optimization_summary): Likewise.
1358 * ipa-split.c (split_function): Likewise.
1359 * ipa-utils.c (ipa_reverse_postorder): Likewise.
1360 * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
1361 (function_and_variable_visibility): Likewise.
1362 * ipa.c (has_addr_references_p): Likewise.
1363 (process_references): Argument type changed.
1364 (symtab_remove_unreachable_nodes): New IPA REF function used.
1365 (process_references): Likewise.
1366 (set_writeonly_bit): Likewise.
1367 * lto-cgraph.c: Implementation of new symtab_node member functions
1368 that uses new IPA REF functions.
dd5e7837
UB
1369 * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
1370 function used.
d122681a
ML
1371 * lto-streamer-out.c (output_symbol_p): Likewise.
1372 * lto-streamer.h (referenced_from_this_partition_p): Argument type
1373 changed.
d122681a
ML
1374 * symtab.c: Implementation of new IPA REF API.
1375 * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
1376 (ipa_tm_create_version): Likewise.
1377 (ipa_tm_execute): Likewise.
1378 * tree-emutls.c (gen_emutls_addr): Likewise.
1379 * tree-inline.c (copy_bb): Likewise.
1380 (delete_unreachable_blocks_update_callgraph): Likewise.
1381 * varpool.c (varpool_remove_unreferenced_decls): Likewise.
1382 (varpool_for_node_and_aliases): Likewise.
1383
81d0a226
TS
13842014-06-25 Trevor Saunders <tsaunders@mozilla.com>
1385
1386 * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
1387
86fcf7ce
TS
13882014-06-25 Trevor Saunders <tsaunders@mozilla.com>
1389
1390 PR bootstrap/61598
1391 * fold-const.c (fold_checksum_tree): Use a hash_table of const
1392 tree_node * instead of tree_node *.
1393 (fold): Adjust.
1394 (print_fold_checksum): Likewise.
1395 (fold_check_failed): Likewise.
1396 (debug_fold_checksum): Likewise.
1397 (fold_build1_stat_loc): Likewise.
1398 (fold_build2_stat_loc): Likewise.
1399 (fold_build3_stat_loc): Likewise.
1400 (fold_build_call_array_loc): Likewise.
1401
b36e833f
DE
14022014-06-25 David Edelsohn <dje.gcc@gmail.com>
1403
1404 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
1405 implementation with call to...
1406 * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
1407 function.
1408 * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
1409 Declare.
1410
20cb2258
MG
14112014-06-25 Marc Glisse <marc.glisse@inria.fr>
1412
1413 PR tree-optimization/57742
1414 * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
1415 after replacing the statement.
1416
cd47dfd0
NC
14172014-06-25 Nick Clifton <nickc@redhat.com>
1418
1419 * config/v850/v850.c (GHS_default_section_names): Change to const
1420 char * type.
1421 (GHS_current_section_names): Likewise.
1422 (v850_insert_attributes): Do not build strings, just assign the
1423 names directly. Change the type of 'chosen_section' to const
1424 char*.
1425 * config/v850/v850-c.c (ghs_pragma_section): Assign the alias
1426 directly to the array entry.
1427 * config/v850/v850.h (GHS_default_section_names): Change to const
1428 char * type.
1429 (GHS_current_section_names): Likewise.
1430
da6f124d
JJ
14312014-06-25 Jakub Jelinek <jakub@redhat.com>
1432
1433 * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
1434 (LANG_HOOKS_DECLS): Add it.
1435 * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
1436 has correct type.
1437 * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
1438 * langhooks.h (struct lang_hooks_for_decls): Add
1439 omp_clause_linear_ctor hook.
1440 * omp-low.c (lower_rec_input_clauses): Set max_vf even if
1441 OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
1442 OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
1443 combined simd loop use omp_clause_linear_ctor hook.
1444
79d652a5
CH
14452014-06-24 Cong Hou <congh@google.com>
1446
1447 * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
1448 pattern recognition.
1449 (type_conversion_p): PROMOTION is true if it's a type promotion
1450 conversion, and false otherwise. Return true if the given expression
1451 is a type conversion one.
1452 * tree-vectorizer.h: Adjust the number of patterns.
1453 * tree.def: Add SAD_EXPR.
1454 * optabs.def: Add sad_optab.
1455 * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
1456 * expr.c (expand_expr_real_2): Likewise.
1457 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
1458 * gimple.c (get_gimple_rhs_num_ops): Likewise.
1459 * optabs.c (optab_for_tree_code): Likewise.
1460 * tree-cfg.c (estimate_operator_cost): Likewise.
1461 * tree-ssa-operands.c (get_expr_operands): Likewise.
1462 * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
1463 * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
1464 * doc/generic.texi: Add document for SAD_EXPR.
1465 * doc/md.texi: Add document for ssad and usad.
1466
3c032229
TS
14672014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1468
1469 * config/i386/winnt.c (i386_pe_section_type_flags): Fix const
1470 qualification in cast.
1471
aaf8a23e
JH
14722014-06-24 Jan Hubicka <hubicka@ucw.cz>
1473
1474 * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
1475 * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
1476 * tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
1477 (tree_function_decl): ... here.
1478 * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
1479 streaming of vindex to ...
1480 (write_ts_function_decl_tree_pointers): ... here.
1481 * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
1482 Do not stream DECL_VINDEX.
1483 (lto_input_ts_function_decl_tree_pointers): Stream it here.
1484
ecc63043
CM
14852014-06-24 Catherine Moore <clm@codesourcery.com>
1486 Sandra Loosemore <sandra@codesourcery.com>
1487
1488 * config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
1489 * config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
1490 * config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
1491
db8965fc
MG
14922014-06-24 Marc Glisse <marc.glisse@inria.fr>
1493
1494 * doc/invoke.texi (Warning Options): Remove duplicated
1495 -Wmaybe-uninitialized.
1496
24314386
MG
14972014-06-24 Marc Glisse <marc.glisse@inria.fr>
1498
1499 PR tree-optimization/57742
1500 * tree-ssa-strlen.c (get_string_length): Ignore malloc.
1501 (handle_builtin_malloc, handle_builtin_memset): New functions.
1502 (strlen_optimize_stmt): Call them.
1503 * passes.def: Move strlen after loop+dom but before vrp.
1504
8d37375b
JJ
15052014-06-24 Jakub Jelinek <jakub@redhat.com>
1506
1507 PR target/61570
1508 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
1509 model family 6 CPU with has_longmode never use a CPU without
1510 64-bit support.
1511
fb112177
L
15122014-06-24 H.J. Lu <hongjiu.lu@intel.com>
1513
1514 PR target/61570
1515 * config/i386/driver-i386.c (host_detect_local_cpu): Revert
1516 the last change.
1517
1eb68d2d
TS
15182014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1519
1520 * alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
1521 * dominance.c (iterate_fix_dominators): Use hash_map instead of
1522 pointer_map.
1523 * hash-map.h: New file.
1524 * ipa-comdats.c: Use hash_map instead of pointer_map.
1525 * ipa.c: Likewise.
1526 * lto-section-out.c: Adjust.
1527 * lto-streamer.h: Replace pointer_map with hash_map.
1528 * symtab.c (verify_symtab): Likewise.
1529 * tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
1530 * tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
1531 * tree-streamer.h: Likewise.
1532 * tree-streamer.c: Adjust.
1533 * pointer-set.h: Remove pointer_map.
1534
84baa4b9
TS
15352014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1536
1537 * hash-table.h: Add a template arg to choose between storing values
1538 and storing pointers to values, and then provide partial
1539 specializations for both.
1540 * tree-browser.c (tree_upper_hasher): Provide the type the hash table
1541 should store, not the type values should point to.
1542 * tree-into-ssa.c (var_info_hasher): Likewise.
1543 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
1544 * tree-complex.c: Adjust.
1545 * tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
1546 table instead of int_tree_map *.
1547 * tree-parloops.c: Adjust.
1548 * tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
1549 type is being stored.
1550 * tree-vectorizer.c: Adjust.
1551
c203e8a7
TS
15522014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1553
1554 * hash-table.h: Remove a layer of indirection from hash_table so that
1555 it contains the hash table's data instead of a pointer to the data.
1556 * alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
1557 config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
1558 config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
1559 data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
1560 fold-const.c, gcse.c, ggc-common.c,
1561 gimple-ssa-strength-reduction.c, gimplify.c,
1562 graphite-clast-to-gimple.c, graphite-dependences.c,
1563 graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
1564 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
1565 loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
1566 lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
1567 postreload-gcse.c, sese.c, statistics.c, store-motion.c,
1568 trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
1569 tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
1570 tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
1571 tree-ssa-live.c, tree-ssa-loop-im.c,
1572 tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
1573 tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
1574 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
1575 tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
dd5e7837
UB
1576 tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
1577 tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
1578 vtable-verify.c, vtable-verify.h: Adjust.
c203e8a7 1579
99753277
RB
15802014-06-24 Richard Biener <rguenther@suse.de>
1581
1582 PR tree-optimization/61572
1583 * tree-ssa-sink.c (statement_sink_location): Do not sink
1584 loads from hard registers.
1585
b46ebd6c
JJ
15862014-06-24 Jakub Jelinek <jakub@redhat.com>
1587
56ad0e38
JJ
1588 * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
1589 not mentioned in clauses use private clause if the iterator is
1590 declared in #pragma omp for simd, and when adding lastprivate
1591 instead, add it to the outer #pragma omp for too. Diagnose
1592 if the variable is private in outer context. For simd collapse > 1
1593 loops, replace all iterators with temporaries.
1594 * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
1595 same even in collapse > 1 loops.
1596
b46ebd6c
JJ
1597 * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
1598 OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
1599 non-NULL.
1600 <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
1601 (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
1602 non-NULL.
1603 (gimplify_adjust_omp_clauses): Likewise.
1604 * omp-low.c (lower_rec_simd_input_clauses,
1605 lower_rec_input_clauses, expand_omp_simd): Handle non-constant
1606 safelen the same as safelen(1).
1607 * tree-nested.c (convert_nonlocal_omp_clauses,
1608 convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
1609 OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
1610 (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
1611 Fixup handling of GIMPLE_OMP_TARGET.
1612 (convert_tramp_reference_stmt, convert_gimple_call): Handle
1613 GIMPLE_OMP_TARGET.
1614
33512353
CLT
16152014-06-24 Chung-Lin Tang <cltang@codesourcery.com>
1616
1617 PR tree-optimization/61554
1618 * tree-ssa-propagate.c: Include "bitmap.h".
1619 (substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
1620 properly update constructor/destructor.
1621 (substitute_and_fold_dom_walker::before_dom_children):
1622 Remove call to gimple_purge_dead_eh_edges, add bb->index to
1623 need_eh_cleaup instead.
1624 (substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
1625 need_eh_cleanup.
1626
eb6a09a7
JH
16272014-06-23 Jan Hubicka <hubicka@ucw.cz>
1628
1629 * varpool.c (dump_varpool_node): Dump used_by_single_function.
1630 * tree-pass.h (make_pass_ipa_single_use): New pass.
1631 * cgraph.h (used_by_single_function): New flag.
dd5e7837
UB
1632 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
1633 Stream it.
eb6a09a7
JH
1634 * passes.def (pass_ipa_single_use): Scedule.
1635 * ipa.c (BOTTOM): New macro.
1636 (meet): New function
1637 (propagate_single_user): New function.
1638 (ipa_single_use): New function.
1639 (pass_data_ipa_single_use): New pass.
1640 (pass_ipa_single_use): New pass.
1641 (pass_ipa_single_use::gate): New gate.
1642 (make_pass_ipa_single_use): New function.
1643
47c80ef5
KT
16442014-06-23 Kai Tietz <ktietz@redhat.com>
1645
1646 PR target/39284
dd5e7837
UB
1647 * passes.def (peephole2): Move peephole2 pass before sched2 pass.
1648 * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
47c80ef5 1649
e5d8bd8c
RB
16502014-06-23 Richard Biener <rguenther@suse.de>
1651
1652 * tree-ssa-loop.c (gate_loop): New function.
1653 (pass_tree_loop::gate): Call it.
1654 (pass_data_tree_no_loop, pass_tree_no_loop,
1655 make_pass_tree_no_loop): New.
1656 * tree-vectorizer.c: Include tree-scalar-evolution.c
1657 (pass_slp_vectorize::execute): Initialize loops and SCEV if
1658 required.
1659 (pass_slp_vectorize::clone): New method.
1660 * timevar.def (TV_TREE_NOLOOP): New.
1661 * tree-pass.h (make_pass_tree_no_loop): Declare.
1662 * passes.def (pass_tree_no_loop): New pass group with
1663 SLP vectorizer.
1664
228e5d2b
L
16652014-06-23 H.J. Lu <hongjiu.lu@intel.com>
1666
1667 PR target/61570
1668 * config/i386/driver-i386.c (host_detect_local_cpu): Set arch
1669 to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
1670
0379033b
JG
16712014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
1672
1673 * config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
1674 "yes" where needed.
1675
82bb9245
AM
16762014-06-23 Alan Modra <amodra@gmail.com>
1677
1678 PR bootstrap/61583
1679 * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
1680 to zero on debug statements.
1681
de6c4e1f 16822014-06-23 Alan Lawrence <alan.lawrence@arm.com>
096c59be
AL
1683
1684 PR target/60825
1685 * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
1686 Ignore third operand if present by marking qualifier_internal.
1687
1688 * config/aarch64/aarch64-simd-builtins.def (abs): Comment.
1689
1690 * config/aarch64/arm_neon.h (int64x1_t, uint64x1_t): Typedef to GCC
1691 vector extension.
1692 (aarch64_vget_lane_s64, aarch64_vdup_lane_s64,
1693 arch64_vdupq_lane_s64, aarch64_vdupq_lane_u64): Remove macro.
1694 (vqadd_s64, vqadd_u64, vqsub_s64, vqsub_u64, vqneg_s64, vqabs_s64,
1695 vcreate_s64, vcreate_u64, vreinterpret_s64_f64, vreinterpret_u64_f64,
1696 vcombine_u64, vbsl_s64, vbsl_u64, vceq_s64, vceq_u64, vceqz_s64,
1697 vceqz_u64, vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64,
1698 vcgtz_s64, vcle_s64, vcle_u64, vclez_s64, vclt_s64, vclt_u64,
1699 vcltz_s64, vdup_n_s64, vdup_n_u64, vld1_s64, vld1_u64, vmov_n_s64,
1700 vmov_n_u64, vqdmlals_lane_s32, vqdmlsls_lane_s32,
1701 vqdmulls_lane_s32, vqrshl_s64, vqrshl_u64, vqrshl_u64, vqshl_s64,
1702 vqshl_u64, vqshl_n_s64, vqshl_n_u64, vqshl_n_s64, vqshl_n_u64,
1703 vqshlu_n_s64, vrshl_s64, vrshl_u64, vrshr_n_s64, vrshr_n_u64,
1704 vrsra_n_s64, vrsra_n_u64, vshl_n_s64, vshl_n_u64, vshl_s64,
1705 vshl_u64, vshr_n_s64, vshr_n_u64, vsli_n_s64, vsli_n_u64,
1706 vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
1707 vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
1708 logic in GCC vector extensions
82bb9245 1709
096c59be
AL
1710 (vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
1711 vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
1712 vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
1713 vcltzd_s64, vqdmlals_s32, vqdmlsls_s32, vqmovnd_s64, vqmovnd_u64
1714 vqmovund_s64, vqrshld_s64, vqrshld_u64, vqrshrnd_n_s64,
1715 vqrshrnd_n_u64, vqrshrund_n_s64, vqshld_s64, vqshld_u64,
1716 vqshld_n_u64, vqshrnd_n_s64, vqshrnd_n_u64, vqshrund_n_s64,
1717 vrshld_u64, vrshrd_n_u64, vrsrad_n_u64, vshld_n_u64, vshld_s64,
1718 vshld_u64, vslid_n_u64, vsqaddd_u64, vsrad_n_u64, vsrid_n_u64,
1719 vsubd_s64, vsubd_u64, vtstd_s64, vtstd_u64): Fix type signature.
1720
1721 (vabs_s64): Use GCC vector extensions; call __builtin_aarch64_absdi.
1722
1723 (vget_high_s64, vget_high_u64): Reimplement with GCC vector
1724 extensions.
1725
1726 (__GET_LOW, vget_low_u64): Wrap result using vcreate_u64.
1727 (vget_low_s64): Use __GET_LOW macro.
1728 (vget_lane_s64, vget_lane_u64, vdupq_lane_s64, vdupq_lane_u64): Use
1729 gcc vector extensions, add call to __builtin_aarch64_lane_boundsi.
1730 (vdup_lane_s64, vdup_lane_u64,): Add __builtin_aarch64_lane_bound_si.
1731 (vdupd_lane_s64, vdupd_lane_u64): Fix type signature, add
1732 __builtin_aarch64_lane_boundsi, use GCC vector extensions.
1733
1734 (vcombine_s64): Use GCC vector extensions; remove cast.
1735 (vqaddd_s64, vqaddd_u64, vqdmulls_s32, vqshld_n_s64, vqshlud_n_s64,
1736 vqsubd_s64, vqsubd_u64, vrshld_s64, vrshrd_n_s64, vrsrad_n_s64,
1737 vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
1738 Fix type signature; remove cast.
1739
de6c4e1f 17402014-06-23 Alan Lawrence <alan.lawrence@arm.com>
c6a29a09
AL
1741
1742 PR target/60825
1743 * config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
1744 V1DFmode.
1745 * config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_type_mode):
1746 add V1DFmode
1747 (BUILTIN_VD1): New.
1748 (BUILTIN_VD_RE): Remove.
1749 (aarch64_init_simd_builtins): Add V1DF to modes/modenames.
1750 (aarch64_fold_builtin): Update reinterpret patterns, df becomes v1df.
1751 * config/aarch64/aarch64-simd-builtins.def (create): Make a v1df
1752 variant but not df.
1753 (vreinterpretv1df*, vreinterpret*v1df): New.
1754 (vreinterpretdf*, vreinterpret*df): Remove.
dd5e7837
UB
1755 * config/aarch64/aarch64-simd.md (aarch64_create,
1756 aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
c6a29a09
AL
1757 * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
1758 (VD1): New.
1759 * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
1760 (vcreate_f64): Remove cast, use v1df builtin.
1761 (vcombine_f64): Remove cast, get elements with gcc vector extensions.
1762 (vget_low_f64, vabs_f64, vceq_f64, vceqz_f64, vcge_f64, vgfez_f64,
1763 vcgt_f64, vcgtz_f64, vcle_f64, vclez_f64, vclt_f64, vcltz_f64,
1764 vdup_n_f64, vdupq_lane_f64, vld1_f64, vld2_f64, vld3_f64, vld4_f64,
1765 vmov_n_f64, vst1_f64): Use gcc vector extensions.
1766 (vget_lane_f64, vdupd_lane_f64, vmulq_lane_f64, ): Use gcc extensions,
1767 add range check using __builtin_aarch64_im_lane_boundsi.
1768 (vfma_lane_f64, vfmad_lane_f64, vfma_laneq_f64, vfmaq_lane_f64,
1769 vfms_lane_f64, vfmsd_lane_f64, vfms_laneq_f64, vfmsq_lane_f64): Fix
1770 type signature, use gcc vector extensions.
1771 (vreinterpret_p8_f64, vreinterpret_p16_f64, vreinterpret_f32_f64,
1772 vreinterpret_f64_f32, vreinterpret_f64_p8, vreinterpret_f64_p16,
1773 vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32,
1774 vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16,
1775 vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpret_s8_f64,
1776 vreinterpret_s16_f64, vreinterpret_s32_f64, vreinterpret_s64_f64,
1777 vreinterpret_u8_f64, vreinterpret_u16_f64, vreinterpret_u32_f64,
1778 vreinterpret_u64_f64): Use v1df builtin not df.
1779
463036be
JG
17802014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
1781
1782 * config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
1783 vector registers.
1784
1cff83e2
JH
17852014-06-23 Jan Hubicka <hubicka@ucw.cz>
1786
dd5e7837
UB
1787 * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
1788 priority directly.
1cff83e2 1789
2c97f472
ZC
17902014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1791
1792 * loop-invariant.c (pre_check_invariant_p): New function.
1793 (find_invariant_insn): Call pre_check_invariant_p.
1794
08281ce0
RH
17952014-06-22 Richard Henderson <rth@redhat.com>
1796
1797 PR target/61565
1798 * compare-elim.c (struct comparison): Add eh_note.
1799 (find_comparison_dom_walker::before_dom_children): Don't eliminate
1800 a redundant comparison in a different EH region. Purge EH edges if
1801 necessary.
1802
37317a1f
SB
18032014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1804
1805 * config/rs6000/rs6000.md (maybe_var_shift): New define_attr.
1806 (var_shift): Use it.
1807 (rotl<mode>3, *rotlsi3_64, *rotl<mode>3_dot, *rotl<mode>3_dot2,
1808 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
1809 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
1810 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
1811 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
1812 *rotlsi3_internal12be, ashl<mode>3, *ashlsi3_64, *ashl<mode>3_dot,
1813 *ashl<mode>3_dot2, lshr<mode>3, *lshrsi3_64, *lshr<mode>3_dot,
1814 *lshr<mode>3_dot2, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot,
1815 *ashr<mode>3_dot2, *rotldi3_internal4, *rotldi3_internal5,
1816 *rotldi3_internal6, *rotldi3_internal7le, *rotldi3_internal7be,
1817 *rotldi3_internal8le, *rotldi3_internal8be, *rotldi3_internal9le,
1818 *rotldi3_internal9be, *rotldi3_internal10le, *rotldi3_internal10be,
1819 *rotldi3_internal11le, *rotldi3_internal11be, *rotldi3_internal12le,
1820 *rotldi3_internal12be, *rotldi3_internal13le, *rotldi3_internal13be,
1821 *rotldi3_internal14le, *rotldi3_internal14be, *rotldi3_internal15le,
1822 *rotldi3_internal15be): Use the new attribute. Merge register and
1823 integer alternatives.
1824
85c1cb22
SB
18252014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1826
1827 * config/rs6000/rs6000.md (ashrsi3, two anonymous define_insns and
1828 define_splits, ashrdi3, *ashrdi3_internal1, *ashrdi3_internal2 and
1829 split, *ashrdi3_internal3 and split): Delete, merge into...
1830 (ashr<mode>3): New expander.
1831 (*ashr<mode>3, ashr<mode>3_dot, ashr<mode>3_dot2): New.
1832 (*ashrsi3_64): Fix formatting. Replace "i" by "n".
1833
137b8eb2
SB
18342014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1835
1836 * config/rs6000/rs6000.md (rotlsi3, *rotlsi3_internal2 and split,
1837 *rotlsi3_internal3 and split, rotldi3, *rotldi3_internal2 and split,
1838 *rotldi3_internal3 and split): Delete, merge into...
1839 (rotl<mode>3, rotl<mode>3_dot, rotl<mode>3_dot2): New.
1840 (*rotlsi3_64): Fix formatting. Fix condition. Replace "i" by "n".
1841 Use "rotlw" extended mnemonic.
1842
d70be98e
SB
18432014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1844
1845 * config/rs6000/rs6000.md (ashlsi3, two anonymous define_insns
1846 and define_splits, ashldi3, *ashldi3_internal1, *ashldi3_internal2
1847 and split, *ashldi3_internal3 and split): Delete, merge into...
1848 (ashl<mode>3, ashl<mode>3_dot, ashl<mode>3_dot2): New.
1849 (*ashlsi3_64): Fix formatting. Replace "i" by "n".
1850
f39a447c
SB
18512014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1852
1853 * config/rs6000/rs6000.md ("hH"): New define_mode_attr.
1854 (lshrsi3, two anonymous define_insns and define_splits,
1855 lshrdi3, *lshrdi3_internal1, *lshrdi3_internal2 and split,
1856 *lshrdi3_internal3 and split): Delete, merge into...
1857 (lshr<mode>3, lshr<mode>3_dot, lshr<mode>3_dot2): New.
1858 (*lshrsi3_64): Fix formatting. Replace "i" by "n".
1859
1a2443af
SB
18602014-06-22 Segher Boessenkool <segher@kernel.crashing.org>
1861
1862 * config/rs6000/rs6000.md (lshrsi3, and its two dot patterns):
1863 Remove "O" alternative.
1864
82db17cb
RS
18652014-06-22 Richard Sandiford <rdsandiford@googlemail.com>
1866
1867 * config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
1868 (mips_move_from_gpr_cost): Likewise.
1869 (mips_register_move_cost): Update accordingly.
1870 (mips_secondary_reload_class): Remove name of in_p.
1871
43c5fcfc
MG
18722014-06-22 Marc Glisse <marc.glisse@inria.fr>
1873
1874 PR target/61503
1875 * config/i386/i386.md (x86_64_shrd, x86_shrd,
1876 ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
1877
47657153
JBG
18782014-06-21 Jan-Benedict Glaw <jbglaw@lug-owl.de>
1879
1880 * config/nios2/nios2.c: Include "builtins.h".
1881
714c800f
JH
18822014-06-20 Jan Hubicka <hubicka@ucw.cz>
1883
1884 * cgraph.h (tls_model_names): New variable.
1885 * print-tree.c (print_node): Simplify.
1886 * varpool.c (tls_model_names): New variable.
1887 (dump_varpool_node): Output tls model.
1888
b4897212
JH
18892014-06-20 Jan Hubicka <hubicka@ucw.cz>
1890
1891 * ipa-visibility.c (function_and_variable_visibility): Disable
1892 temporarily local aliases for some targets.
1893
0e37a2f3
MP
18942014-06-20 Marek Polacek <polacek@redhat.com>
1895
1896 * asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
1897 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
1898 into SANITIZE_UNDEFINED.
1899 * doc/invoke.texi: Describe -fsanitize=bounds.
1900 * gimplify.c (gimplify_call_expr): Add gimplification of internal
1901 functions created in the FEs.
1902 * internal-fn.c: Move "internal-fn.h" after "tree.h".
1903 (expand_UBSAN_BOUNDS): New function.
1904 * internal-fn.def (UBSAN_BOUNDS): New internal function.
1905 * internal-fn.h: Don't define internal functions here.
1906 * opts.c (common_handle_option): Add -fsanitize=bounds.
1907 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
1908 BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
1909 * tree-core.h: Define internal functions here.
1910 (struct tree_base): Add ifn field.
1911 * tree-pretty-print.c: Include "internal-fn.h".
1912 (dump_generic_node): Handle functions without CALL_EXPR_FN.
1913 * tree.c (get_callee_fndecl): Likewise.
1914 (build_call_expr_internal_loc): New function.
1915 * tree.def (CALL_EXPR): Update description.
1916 * tree.h (CALL_EXPR_IFN): Define.
1917 (build_call_expr_internal_loc): Declare.
1918 * ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
1919 types.
1920 (ubsan_type_descriptor): Change bool parameter to enum
1921 ubsan_print_style. Adjust the code. Add handling of
1922 UBSAN_PRINT_ARRAY.
1923 (ubsan_expand_bounds_ifn): New function.
1924 (ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
1925 (ubsan_build_overflow_builtin): Likewise.
1926 (instrument_bool_enum_load): Likewise.
1927 (ubsan_instrument_float_cast): Likewise.
1928 * ubsan.h (enum ubsan_print_style): New enum.
1929 (ubsan_expand_bounds_ifn): Declare.
1930 (ubsan_type_descriptor): Adjust declaration. Use a default parameter.
1931
96740472
MR
19322014-06-20 Maciej W. Rozycki <macro@codesourcery.com>
1933
1934 * config/rs6000/rs6000.md: Append `DONE' to preparation
1935 statements of `bswap' pattern splitters.
1936
73b3e61b
TV
19372014-06-20 Tom de Vries <tom@codesourcery.com>
1938
1939 * target.def (call_fusage_contains_non_callee_clobbers): Update
1940 definition.
1941 * doc/tm.texi: Regenerate.
1942
0cbf438b
YG
19432014-06-20 Yury Gribov <y.gribov@samsung.com>
1944 Max Ostapenko <m.ostapenko@partner.samsung.com>
1945
1946 PR sanitizer/61547
1947 * asan.c (instrument_strlen_call): Fixed instrumentation of
1948 trailing byte.
1949
bec81025
MJ
19502014-06-20 Martin Jambor <mjambor@suse.cz>
1951
1952 PR ipa/61540
1953 * ipa-prop.c (impossible_devirt_target): New function.
1954 (try_make_edge_direct_virtual_call): Use it, also instead of
1955 asserting.
1956
bf613c02
YG
19572014-06-20 Yury Gribov <y.gribov@samsung.com>
1958 Max Ostapenko <m.ostapenko@partner.samsung.com>
1959
1960 PR sanitizer/61530
1961 * asan.c (build_check_stmt): Add condition.
1962
803d0ab0
MJ
19632014-06-20 Martin Jambor <mjambor@suse.cz>
1964
1965 PR ipa/61211
1966 * cgraph.c (clone_of_p): Allow skipped_branch to deal with
1967 expanded clones.
1968
278821f2
KT
19692014-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1970
1971 * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
1972 Update comments.
1973 (VCONQ): Make comment more helpful.
1974 (VCON): Delete.
1975 * config/aarch64/aarch64-simd.md
1976 (aarch64_sqdmulh_lane<mode>):
1977 Use VCOND for operands 2. Update lane checking and flipping logic.
1978 (aarch64_sqrdmulh_lane<mode>): Likewise.
1979 (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
1980 (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
1981 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
1982 attribute of operand 3 to VCOND.
1983 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
1984 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
1985 (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
1986 (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
1987 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
1988 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
1989 define_insn.
1990 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
1991 (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
1992 (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
1993 (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
1994 (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
1995 (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
1996 operand to VCOND. Update lane flipping and bounds checking logic.
1997 (aarch64_sqdmlal2_lane<mode>): Likewise.
1998 (aarch64_sqdmlsl_lane<mode>): Likewise.
1999 (aarch64_sqdmull_lane<mode>): Likewise.
2000 (aarch64_sqdmull2_lane<mode>): Likewise.
2001 (aarch64_sqdmlal_laneq<mode>):
2002 Replace VCON usage with VCONQ.
2003 Emit aarch64_sqdmlal_laneq<mode>_internal insn.
2004 (aarch64_sqdmlal2_laneq<mode>): Emit
2005 aarch64_sqdmlal2_laneq<mode>_internal insn.
2006 Replace VCON with VCONQ.
2007 (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
2008 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
2009 (aarch64_sqdmull_laneq<mode>): Emit
2010 aarch64_sqdmull_laneq<mode>_internal insn.
2011 Replace VCON with VCONQ.
2012 (aarch64_sqdmull2_laneq<mode>): Emit
2013 aarch64_sqdmull2_laneq<mode>_internal insn.
2014 (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
2015 * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
2016 of 3rd argument to int16x4_t.
2017 (vqdmlalh_lane_s16): Likewise.
2018 (vqdmlslh_lane_s16): Likewise.
2019 (vqdmull_high_lane_s16): Likewise.
2020 (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
2021 (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
2022 (vqdmlsl_lane_s16): Likewise.
2023 (vqdmull_lane_s16): Don't create temporary int16x8_t value.
2024 (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
2025 (vqdmlals_lane_s32): Likewise.
2026 (vqdmlsls_lane_s32): Likewise.
2027 (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
2028 (vqdmulls_lane_s32): Likewise.
2029 (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
2030 (vqdmlsl_lane_s32): Likewise.
2031 (vqdmull_lane_s32): Don't create temporary int32x4_t value.
2032 (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
2033 (vqrdmulhh_lane_s16): Likewise.
2034 (vqdmlsl_high_lane_s16): Likewise.
2035 (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
2036 (vqdmlsl_high_lane_s32): Likewise.
2037 (vqrdmulhs_lane_s32): Likewise.
2038
6621ab68
TV
20392014-06-20 Tom de Vries <tom@codesourcery.com>
2040
2041 * final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
2042 get_call_reg_set_usage.
2043
5fea8186
TV
20442014-06-20 Tom de Vries <tom@codesourcery.com>
2045
2046 * final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
2047 it contains all call_used_regs.
2048
53f2f6c1
TV
20492014-06-20 Tom de Vries <tom@codesourcery.com>
2050
2051 * final.c (collect_fn_hard_reg_usage): Add and use variable
2052 function_used_regs.
2053
569b1784
JH
20542014-06-20 Jan Hubicka <hubicka@ucw.cz>
2055
2056 * cgraph.h (struct symtab_node): Add field in_init_priority_hash
2057 (set_init_priority, get_init_priority, set_fini_priority,
2058 get_fini_priority): New methods.
2059 * tree.c (init_priority_for_decl): Remove.
2060 (init_ttree): Do not initialize init priority.
2061 (decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
2062 (decl_priority_info): Remove.
2063 (decl_init_priority_insert): Rewrite.
2064 (decl_fini_priority_insert): Rewrite.
2065 * tree.h (tree_priority_map_eq, tree_priority_map_hash,
2066 tree_priority_map_marked_p): Remove.
2067 * lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
2068 * lto-streamer-out.c (hash_tree): Do not hash priorities.
2069 * tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
2070 not output priorities.
2071 (pack_ts_function_decl_value_fields): Likewise.
2072 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
2073 not input priorities.
2074 (unpack_ts_function_decl_value_fields): Likewise.
2075 * symtab.c (symbol_priority_map): Declare.
2076 (init_priority_hash): Declare.
2077 (symtab_unregister_node): Unregister from priority hash, too.
2078 (symtab_node::get_init_priority, cgraph_node::get_fini_priority):
2079 New methods.
2080 (symbol_priority_map_eq, symbol_priority_map_hash): New functions.
2081 (symbol_priority_info): New function.
2082 (symtab_node::set_init_priority, cgraph_node::set_fini_priority):
2083 New methods.
2084 * tree-core.h (tree_priority_map): Remove.
2085
88f5cfcd
JJ
20862014-06-20 Jakub Jelinek <jakub@redhat.com>
2087
2088 * tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
2089 0xff to uint64_t before shifting it up.
2090
6d45574a
JB
20912014-06-20 Julian Brown <julian@codesourcery.com>
2092 Chung-Lin Tang <cltang@codesourcery.com>
2093
2094 * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
2095 TARGET_THUMB1_ONLY. Add comments.
2096
d07a3fed
TV
20972014-06-19 Tom de Vries <tom@codesourcery.com>
2098
2099 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
2100 return type to void.
2101 * config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.
2102
61fc05c7
ZC
21032014-06-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2104
2105 * loop-invariant.c (get_inv_cost): Skip invariants, which are marked
2106 as "move", from depends_on.
2107
dbb73879
TG
21082014-06-19 Terry Guo <terry.guo@arm.com>
2109
2110 * config/arm/thumb1.md (define_split): Split 64bit constant in earlier
2111 stage.
2112
36bd0c3e
SB
21132014-06-18 Segher Boessenkool <segher@kernel.crashing.org>
2114
2115 * config/rs6000/rs6000.h (FIXED_REGISTERS): Update comment.
2116 Remove cr5.
2117 (REG_ALLOC_ORDER): Update comment. Move cr5 earlier.
2118
be6b0bec
KK
21192014-06-18 Kaz Kojima <kkojima@gcc.gnu.org>
2120
2121 PR target/61550
2122 * config/sh/sh.c (prepare_move_operands): Don't process TLS
2123 addresses here if reload in progress or completed.
2124
c31d2d11
RS
21252014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
2126
a78cc314
RS
2127 * config/mips/constraints.md ("d"): BASE_REG_CLASS replaced by
2128 "TARGET_MIPS16 ? M16_REGS : GR_REGS".
2129 * config/mips/mips.c (mips_regno_to_class): Update for M16_SP_REGS.
2130 (mips_regno_mode_ok_for_base_p): Remove use of !strict_p for MIPS16.
2131 (mips_register_priority): New function that implements the target
2132 hook TARGET_REGISTER_PRIORITY.
2133 (mips_spill_class): Likewise for TARGET_SPILL_CLASS.
2134 (mips_lra_p): Likewise for TARGET_LRA_P.
2135 (TARGET_REGISTER_PRIORITY): Define macro.
2136 (TARGET_SPILL_CLASS): Likewise.
2137 (TARGET_LRA_P): Likewise.
2138 * config/mips/mips.h (reg_class): Add M16_SP_REGS and SPILL_REGS
2139 classes.
2140 (REG_CLASS_NAMES): Likewise.
2141 (REG_CLASS_CONTENTS): Likewise.
2142 (BASE_REG_CLASS): Use M16_SP_REGS.
2143 * config/mips/mips.md (*mul_acc_si): Add alternative tuned for LRA.
2144 New set attribute to enable alternatives depending on the register
2145 allocator used.
2146 (*mul_acc_si_r3900, *mul_sub_si): Likewise.
2147 (*lea64): Disable pattern for MIPS16.
2148 * config/mips/mips.opt (mlra): New option.
2149
21502014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
2151
82bb9245
AM
2152 * lra-constraints.c (base_to_reg): New function.
2153 (process_address): Use new function.
c31d2d11 2154
78607708
TV
21552014-06-18 Tom de Vries <tom@codesourcery.com>
2156
2157 * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
2158 * config/aarch64/aarch64.c
2159 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
2160 (aarch64_emit_call_insn): New function.
2161 (aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
2162 of emit_call_insn.
2163 * config/aarch64/aarch64.md (define_expand "call_internal")
2164 (define_expand "call_value_internal", define_expand "sibcall_internal")
2165 (define_expand "sibcall_value_internal"): New.
2166 (define_expand "call", define_expand "call_value")
2167 (define_expand "sibcall", define_expand "sibcall_value"): Use internal
2168 expand variant and aarch64_emit_call_insn.
2169
7a32d6c4 21702014-06-18 Radovan Obradovic <robradovic@mips.com>
dd5e7837 2171 Tom de Vries <tom@codesourcery.com>
7a32d6c4
RO
2172
2173 * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
2174 * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
2175 Redefine to true.
2176 (arm_emit_call_insn): Add and use sibcall parameter. Add IP and CC
2177 clobbers to CALL_INSN_FUNCTION_USAGE.
2178 (define_expand "sibcall_internal")
2179 (define_expand "sibcall_value_internal"): New.
2180 (define_expand "call", define_expand "call_value"): Add argument to
2181 arm_emit_call_insn.
2182 (define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
2183 (define_expand "sibcall_value"): Use sibcall_value_internal and
2184 arm_emit_call_insn.
2185
4b9fcb37
CB
21862014-06-18 Charles Baylis <charles.baylis@linaro.org>
2187
2188 * config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.
2189
a7a7d3c8
CB
21902014-06-18 Charles Baylis <charles.baylis@linaro.org>
2191
2192 * config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
2193 __udivmoddi4.
2194
158ef346
CB
21952014-06-18 Charles Baylis <charles.baylis@linaro.org>
2196
2197 * config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
2198 push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
2199 annotations. Fix DWARF information.
2200
13381189
CB
22012014-06-18 Charles Baylis <charles.baylis@linaro.org>
2202
2203 * config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
2204 __udivmoddi4, and fixups for negative operands.
2205
f493def1
CB
22062014-06-18 Charles Baylis <charles.baylis@linaro.org>
2207
2208 * config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
2209
0b227df4
CB
22102014-06-18 Charles Baylis <charles.baylis@linaro.org>
2211
2212 * config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
2213 to __udivmoddi4.
2214
c9dae335
CB
22152014-06-18 Charles Baylis <charles.baylis@linaro.org>
2216
2217 * config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
2218 manipulation.
2219
6857b807
CB
22202014-06-18 Charles Baylis <charles.baylis@linaro.org>
2221
2222 * config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
2223 describing register usage on function entry and exit.
2224
f21d8faa
CB
22252014-06-18 Charles Baylis <charles.baylis@linaro.org>
2226
2227 * config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
2228 (__aeabi_ldivmod): Fix whitespace.
2229
544aee0d
AS
22302014-06-18 Andreas Schwab <schwab@suse.de>
2231
2232 * doc/md.texi (Standard Names): Use @itemx for grouped items.
2233 Remove blank line after @item.
2234
0bc11714
RH
22352014-06-18 Richard Henderson <rth@redhat.com>
2236
2237 PR target/61545
2238 * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.
2239
7b5b78b1
CB
22402014-06-18 Charles Baylis <charles.baylis@linaro.org>
2241
2242 * config/arm/arm.c (neon_vector_mem_operand): Allow register
2243 POST_MODIFY for neon loads and stores.
2244 (arm_print_operand): Output post-index register for neon loads and
2245 stores.
2246
54ed41ea
RB
22472014-06-18 Richard Biener <rguenther@suse.de>
2248
2249 * tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.
2250
30866dc9
RB
22512014-06-18 Richard Biener <rguenther@suse.de>
2252
2253 * tree-pass.h (make_pass_dce_loop): Remove.
2254 * passes.def: Replace pass_dce_loop with pass_dce.
2255 * tree-ssa-dce.c (perform_tree_ssa_dce): If something
2256 changed free niter estimates and reset the scev cache.
2257 (tree_ssa_dce_loop, pass_data_dce_loop, pass_dce_loop,
2258 make_pass_dce_loop): Remove.
2259 * tree-ssa-copy.c: Include tree-ssa-loop-niter.h.
2260 (fini_copy_prop): Return whether something changed. Always
2261 let substitute_and_fold perform DCE and free niter estimates
2262 and reset the scev cache if so.
2263 (execute_copy_prop): If sth changed schedule cleanup-cfg.
2264 (pass_data_copy_prop): Do not unconditionally schedule
2265 cleanup-cfg or update-ssa.
2266
560c75e9
YR
22672014-06-18 Yuri Rumyantsev <ysrumyan@gmail.com>
2268
2269 PR tree-optimization/61518
2270 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
2271 reduction var is used in reduction stmt or phi-function only.
2272
751738cb
KT
22732014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2274
2275 * config/arm/arm_neon.h (vadd_f32): Change #ifdef to __FAST_MATH.
2276
a31d2741
TP
22772014-06-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
2278
2279 PR tree-optimization/61517
2280 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt
2281 whose rhs's first tree is the source expression instead of the
2282 expression itself.
2283 (find_bswap_or_nop): Likewise.
2284 (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a
2285 gimple stmt whose rhs's first tree is the source. In the memory source
2286 case, move the stmt to be replaced close to one of the original load to
2287 avoid the problem of a store between the load and the stmt's original
2288 location.
2289 (pass_optimize_bswap::execute): Adapt to change in bswap_replace's
2290 signature.
2291
a0f37b26
AS
22922014-06-18 Andreas Schwab <schwab@suse.de>
2293
2294 PR rtl-optimization/54555
2295 * postreload.c (move2add_use_add2_insn): Substitute
2296 STRICT_LOW_PART only if it is cheaper.
2297
9fdb837f
UB
22982014-06-18 Uros Bizjak <ubizjak@gmail.com>
2299
2300 * config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern.
2301 Do not use unspec as call operand. Use memory_operand instead of
2302 memory_nox32_operand and add "m" operand constraint. Disable
2303 pattern for TARGET_X32.
2304 (*sibcall_pop_memory): Ditto.
2305 (*sibcall_value_memory): Ditto.
2306 (*sibcall_value_pop_memory): Ditto.
2307 (sibcall peepholes): Merge SImode and DImode patterns using
2308 W mode iterator. Use memory_operand instead of memory_nox32_operand.
2309 Disable pattern for TARGET_X32. Check if eliminated register is
2310 really dead after call insn. Generate call RTX without unspec operand.
2311 (sibcall_value peepholes): Ditto.
2312 (sibcall_pop peepholes): Fix call insn RTXes. Use memory_operand
2313 instead of memory_nox32_operand. Check if eliminated register is
2314 really dead after call insn. Generate call RTX without unspec operand.
2315 (sibcall_value_pop peepholes): Ditto.
2316 * config/i386/predicates.md (memory_nox32_operand): Remove predicate.
2317
35d147ef
TG
23182014-06-18 Terry Guo <terry.guo@arm.com>
2319
2320 PR target/61544
2321 * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
2322 reach the head.
2323
c41f1c42
BE
23242014-06-18 Olivier Hainque <hainque@adacore.com>
2325
2326 * tree-core.h (tree_block): Add an "end_locus" field, allowing
2327 memorization of the end of block source location.
2328 * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
2329 * gimplify.c (gimplify_bind_expr): Propagate the block start and
2330 end source location info we have on the block entry/exit code we
2331 generate.
2332
68f6df73
RB
23332014-06-18 Richard Biener <rguenther@suse.de>
2334
2335 * common.opt (fssa-phiopt): New option.
2336 * opts.c (default_options_table): Enable -fssa-phiopt with -O1+
2337 but not with -Og.
2338 * tree-ssa-phiopt.c (pass_phiopt): Add gate method.
2339 * doc/invoke.texi (-fssa-phiopt): Document.
2340
419d45db
KT
23412014-06-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2342
2343 * genattrtab.c (n_bypassed): New variable.
2344 (process_bypasses): Initialise n_bypassed.
2345 Count number of bypassed reservations.
2346 (make_automaton_attrs): Allocate space for bypassed reservations
2347 rather than number of bypasses.
2348
25b7069a
RB
23492014-06-18 Richard Biener <rguenther@suse.de>
2350
2351 * tree-ssa-propagate.c (replace_phi_args_in): Return whether
2352 we propagated anything.
2353 (substitute_and_fold_dom_walker::before_dom_children): Something
2354 changed if we propagated into PHI arguments.
2355 * tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
2356 we removed a stmt.
2357
f7917029
ES
23582014-06-18 Evgeny Stupachenko <evstupac@gmail.com>
2359
2360 * config/i386/i386.c (ix86_reassociation_width): Add alternative for
2361 vector case.
2362 * config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
2363 * config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
2364 * tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
2365 Introduces alternative way of loads group permutaions.
2366 (vect_transform_grouped_load): Try alternative way of permutations.
2367
f014c653
JJ
23682014-06-18 Jakub Jelinek <jakub@redhat.com>
2369
9fdb837f
UB
2370 * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
2371 changed in ORT_TARGET region, don't jump to do_outer.
f014c653
JJ
2372 (struct gimplify_adjust_omp_clauses_data): New type.
2373 (gimplify_adjust_omp_clauses_1): Adjust for data being
2374 a struct gimplify_adjust_omp_clauses_data pointer instead
2375 of tree *. Pass pre_p as a new argument to
2376 lang_hooks.decls.omp_finish_clause hook.
2377 (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
2378 splay_tree_foreach to pass both list_p and pre_p.
2379 (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
2380 gimplify_omp_workshare, gimplify_omp_target_update): Adjust
2381 gimplify_adjust_omp_clauses callers.
2382 * langhooks.c (lhd_omp_finish_clause): New function.
2383 * langhooks-def.h (lhd_omp_finish_clause): New prototype.
2384 (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
2385 * langhooks.h (struct lang_hooks_for_decls): Add a new
2386 gimple_seq * argument to omp_finish_clause hook.
2387 * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
2388 non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
2389 (scan_omp_parallel, lower_omp_for): When adding
9fdb837f 2390 _LOOPTEMP_ clause var, add it to outer ctx's decl_map as identity.
f014c653
JJ
2391 * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
2392 * tree-nested.c (convert_nonlocal_omp_clauses,
2393 convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
9fdb837f 2394 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
f014c653 2395
f2918c18
AM
23962014-06-17 Andrew MacLeod <amacleod@redhat.com>
2397
2398 * tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
2399 * tree-dfa.c (get_addr_base_and_unit_offset_1): To here.
2400
90d0d8d3
XDL
24012014-06-17 Xinliang David Li <davidxl@google.com>
2402
2403 * tree-pretty-print.c (dump_function_header): Print cgraph uid.
2404 * passes.c (pass_init_dump_file): Do not set initialize
2405 flag to false unconditionally.
2406
75509ba2
RB
24072014-06-17 Richard Biener <rguenther@suse.de>
2408
2409 * genopinit.c (main): Use vec<>::qsort method.
2410 * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
2411 Likewise.
2412 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
2413
e58b74ea
MF
24142014-06-17 Matthew Fortune <matthew.fortune@imgtec.com>
2415
2416 * config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
2417 * config/mips/mips.c (mips_expand_fcc_reload): Remove.
2418 (mips_move_to_gpr_cost): Remove ST_REGS case.
2419 (mips_move_from_gpr_cost): Likewise.
2420 (mips_register_move_cost): Likewise.
2421 (mips_secondary_reload_class): Likewise.
2422
9e4f27ef
RB
24232014-06-17 Richard Biener <rguenther@suse.de>
2424
2425 * passes.def (pass_all_early_optimizations): Remove copy-prop pass.
2426 (pass_all_optimizations): Move 3rd copy-prop pass from after
2427 fre to before ifcombine/phiopt.
2428
866f20d6
RB
24292014-06-17 Richard Biener <rguenther@suse.de>
2430
2431 * tree-switch-conversion.c (collect_switch_conv_info): Simplify
2432 and allow all blocks to be forwarders.
2433
3abf17cf
YZ
24342014-06-17 Yufeng Zhang <yufeng.zhang@arm.com>
2435
2436 PR target/61483
2437 * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
2438 variable 'size'; calculate 'size' right in the front; use
2439 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
2440 pcum->aapcs_stack_words.
2441
ba3cf9f1
NC
24422014-06-17 Nick Clifton <nickc@redhat.com>
2443
2444 * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
2445 (umulhi3, mulsidi3, umulsidi3): Likewise.
2446
7a75b6e2
TS
24472014-06-17 Thomas Schwinge <thomas@codesourcery.com>
2448
2449 PR middle-end/61508
2450 * fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
2451 check for section name.
2452
ec18e2eb
RB
24532014-06-17 Richard Biener <rguenther@suse.de>
2454
2455 * tree-ssa-propagate.c: Include domwalk.h.
2456 (substitute_and_fold): Outline main worker into a domwalker ...
2457 (substitute_and_fold_dom_walker::before_dom_children): ... here.
2458 Schedule stmts we can fully propagate for removal. Remove
2459 poor-mans DCE.
2460 (substitute_and_fold): Apply a dominator walk to perform
2461 substitution. Process stmts scheduled for removal here.
2462
a4ab23b6
RB
24632014-06-17 Richard Biener <rguenther@suse.de>
2464
2465 * tree-ssa-loop-im.c (determine_max_movement): Adjust cost
2466 of PHI node moving.
2467
5db37871
KV
24682014-06-17 Kugan Vivekanandarajah <kuganv@linaro.org>
2469
2470 * config/arm/arm.c (arm_atomic_assign_expand_fenv): call
2471 default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
2472 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
2473 __builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
2474 * config/arm/vfp.md (set_fpscr): Make pattern conditional on
2475 TARGET_HARD_FLOAT.
2476 (get_fpscr) : Likewise.
2477
ba38538f
VM
24782014-06-16 Vladimir Makarov <vmakarov@redhat.com>
2479
2480 PR rtl-optimization/61325
2481 * lra-constraints.c (valid_address_p): Add forward declaration.
2482 (simplify_operand_subreg): Check address validity before and after
2483 alter_reg of memory subreg.
2484
7049aed6
UB
24852014-06-16 Uros Bizjak <ubizjak@gmail.com>
2486
2487 * config/i386/i386.c (decide_alg): Correctly handle
2488 maximum size of stringop algorithm.
2489
241e298a
YG
24902014-06-16 Yury Gribov <y.gribov@samsung.com>
2491
2492 * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
2493
1df2287f
VM
24942014-06-16 Vladimir Makarov <vmakarov@redhat.com>
2495
2496 PR rtl-optimization/61522
7049aed6 2497 * lra-assigns.c (assign_by_spills): Check null targetm.spill_class.
1df2287f 2498
da66d596
JH
24992014-06-16 Jan Hubicka <hubicka@ucw.cz>
2500
2501 Revert:
2502 * symtab.c (symtab_node::reset_section): New method.
2503 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
2504 for localization.
2505 * cgraph.h (reset_section): Declare.
2506 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
2507 do not consider comdat locals.
2508 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
2509 for new symbol.
2510 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
2511 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
2512 reset sections of symbols dragged out of the comdats.
9fdb837f
UB
2513 (function_and_variable_visibility): Reset sections of
2514 localized symbols.
da66d596 2515
9e9f6bf0
RB
25162014-06-16 Richard Biener <rguenther@suse.de>
2517
2518 PR tree-optimization/61482
2519 * tree-vrp.c (adjust_range_with_scev): Avoid setting of
2520 [-INF(OVF), +INF(OVF)] range.
2521
2bd4bfee
GG
25222014-06-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2523
7964957f
AS
2524 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
2525 instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2bd4bfee
GG
2526 handling 32-bit multiplication.
2527
debd8f30
CLT
25282014-06-16 Chung-Lin Tang <cltang@codesourcery.com>
2529
2530 PR middle-end/61430
2531 * lra-lives.c (process_bb_lives): Skip creating copy during
2532 insn scan when src/dest has constrained to same regno.
2533
6192fa79
JH
25342014-06-15 Jan Hubicka <hubicka@ucw.cz>
2535
2536 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
2537 DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
2538
8946c29e
YG
25392014-06-16 Yury Gribov <y.gribov@samsung.com>
2540
2541 * asan.c (check_func): New function.
2542 (maybe_create_ssa_name): Likewise.
2543 (build_check_stmt_with_calls): Likewise.
2544 (use_calls_p): Likewise.
2545 (report_error_func): Change interface.
2546 (build_check_stmt): Allow non-integer lengths; add support
2547 for new parameter.
2548 (asan_instrument): Likewise.
7049aed6 2549 (instrument_mem_region_access): Moved code to build_check_stmt.
8946c29e
YG
2550 (instrument_derefs): Likewise.
2551 (instrument_strlen_call): Likewise.
7049aed6 2552 * cfgcleanup.c (old_insns_match_p): Add support for new functions.
8946c29e
YG
2553 * doc/invoke.texi: Describe new parameter.
2554 * params.def: Define new parameter.
2555 * params.h: Likewise.
2556 * sanitizer.def: Describe new builtins.
2557
5d5cb4d4
RB
25582014-06-16 Richard Biener <rguenther@suse.de>
2559
2560 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2561 Make all defs available at the end.
2562 (eliminate): If we remove a PHI node schedule cfg-cleanup.
2563
4e4fa3c5
JJ
25642014-06-18 Jakub Jelinek <jakub@redhat.com>
2565
2566 PR plugins/45078
2567 * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
2568
737c262e
RS
25692014-06-16 Richard Sandiford <rdsandiford@googlemail.com>
2570
2571 PR bootstrap/61516
2572 * auto-inc-dec.c (merge_in_block): Fix location of insn_info
2573 initialization. Replace remaining use of uid.
2574
56363ffd
JH
25752014-06-15 Jan Hubicka <hubicka@ucw.cz>
2576
7049aed6
UB
2577 * c-family/c-common.c (handle_tls_model_attribute): Use
2578 set_decl_tls_model.
5d5cb4d4
RB
2579 * c-family/c-common.c (handle_tls_model_attribute): Use
2580 set_decl_tls_model.
56363ffd
JH
2581 * cgraph.h (struct varpool_node): Add tls_model.
2582 * tree.c (decl_tls_model, set_decl_tls_model): New functions.
2583 * tree.h (DECL_TLS_MODEL): Update.
2584 (DECL_THREAD_LOCAL_P): Check that variable is static.
2585 (decl_tls_model): Declare.
2586 (set_decl_tls_model): Declare.
2587 * tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
2588 set symbol prorperties.
2589 (get_emutls_init_templ_addr): Cleanup.
2590 (new_emutls_decl): Update.
2591 * lto-cgraph.c (lto_output_varpool_node): Stream TLS model
2592 (lto_input_varpool_node): Likewise.
2593 * lto-streamer-out.c (hash_tree): Likewise.
2594 * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
2595 not stream DECL_TLS_MODEL.
30256bef
UB
2596 * tree-profile.c (init_ic_make_global_vars): Use set_decl_tls_model.
2597 * tree-core.h (tree_decl_with_vis): Remove tls_model; update comments.
56363ffd 2598
3bb5c996
RS
25992014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2600
2601 * df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
2602
b512946c
RS
26032014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2604
2605 * df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
2606 (df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
2607 lists.
2608 (df_scan_bb_info): Likewise artificial_defs and artificial_uses.
2609 (DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
2610 (FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
2611 (FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
2612 (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
2613 (df_get_artificial_defs, df_get_artificial_uses)
2614 (df_single_def, df_single_use): Update accordingly.
2615 (df_refs_chain_dump): Take the first element in a linked list as
2616 parameter, rather than a pointer to an array of pointers.
2617 * df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
2618 * df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
2619 (df_chain_create_bb_process_use): Likewise.
2620 (df_md_bb_local_compute_process_def): Likewise.
2621 * fwprop.c (process_defs, process_uses): Likewise.
2622 (register_active_defs, update_uses): Likewise.
2623 (forward_propagate_asm): Update for new df_ref linking.
2624 * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
2625 (df_null_ref_rec, df_null_mw_rec): Likewise.
2626 (df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
2627 explicitly.
2628 (df_scan_free_bb_info): Remove check for null artificial_defs.
2629 (df_install_ref_incremental): Adjust for new df_ref linking.
2630 Use a single-element insertion rather than a full sort.
2631 (df_ref_chain_delete_du_chain): Take the first element
2632 in a linked list as parameter, rather than a pointer to an array of
2633 pointers.
2634 (df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
2635 (df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
2636 (df_insn_info_delete): Remove check for null defs and call to
2637 df_scan_free_mws_vec.
2638 (df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
2639 null rather than df_null_*_rec.
2640 (df_insn_rescan_debug_internal): Likewise, and update null
2641 checks in the same way. Remove check for null defs.
2642 (df_ref_change_reg_with_loc_1): Fix choice of list for defs.
2643 Move a single element rather doing a full sort.
2644 (df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
2645 linking.
2646 (df_notes_rescan): Likewise. Use a merge rather than a full sort.
2647 Initialize df_ref and df_mw_hardreg lists to null rather than
2648 df_null_*_rec.
2649 (df_ref_compare): Take df_refs as parameter, transferring the
2650 old interface to...
2651 (df_ref_ptr_compare): ...this new function.
2652 (df_sort_and_compress_refs): Update accordingly.
2653 (df_mw_compare): Take df_mw_hardregs as parameter, transferring the
2654 old interface to...
2655 (df_mw_ptr_compare): ...this new function.
2656 (df_sort_and_compress_mws): Update accordingly.
2657 (df_install_refs, df_install_mws): Return a linked list rather than
2658 an array of pointers.
2659 (df_refs_add_to_chains): Assert that old lists are empty rather
2660 than freeing them.
2661 (df_insn_refs_verify): Don't handle null defs speciailly.
2662 * web.c (union_match_dups): Update for new df_ref linking.
2663
5a474220
RS
26642014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2665
2666 * df.h (df_ref_create, df_ref_remove): Delete.
2667 * df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
2668 (df_ref_remove): Likewise.
2669
74e59b6c
RS
26702014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2671
2672 * df.h (df_single_def, df_single_use): New functions.
2673 * ira.c (find_moveable_pseudos): Use them.
2674
fc8e9f58
RS
26752014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2676
2677 * df.h (FOR_EACH_INSN_INFO_MW): New macro.
2678 * df-problems.c (df_note_bb_compute): Use it.
2679 * regstat.c (regstat_bb_compute_ri): Likewise.
2680
292321a5
RS
26812014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2682
2683 * df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
2684 * cse.c (cse_extended_basic_block): Use them.
2685 * dce.c (mark_artificial_use): Likewise.
2686 * df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
2687 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
2688 (df_chain_remove_problem, df_chain_bb_dump): Likewise.
2689 (df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
2690 (df_simulate_initialize_backwards): Likewise.
2691 (df_simulate_finalize_backwards): Likewise.
2692 (df_simulate_initialize_forwards): Likewise.
2693 (df_md_simulate_artificial_defs_at_top): Likewise.
2694 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
2695 * regrename.c (init_rename_info): Likewise.
2696 * regstat.c (regstat_bb_compute_ri): Likewise.
2697 (regstat_bb_compute_calls_crossed): Likewise.
2698
bfac633a
RS
26992014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2700
2701 * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
2702 (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
2703 (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
2704 * auto-inc-dec.c (find_inc, merge_in_block): Use them.
2705 * combine.c (create_log_links): Likewise.
2706 * compare-elim.c (find_flags_uses_in_insn): Likewise.
2707 (try_eliminate_compare): Likewise.
2708 * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
2709 * dce.c (deletable_insn_p, find_call_stack_args): Likewise.
2710 (remove_reg_equal_equiv_notes_for_defs): Likewise.
2711 (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
2712 (word_dce_process_block, dce_process_block): Likewise.
2713 * ddg.c (def_has_ccmode_p): Likewise.
2714 * df-core.c (df_bb_regno_first_def_find): Likewise.
2715 (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
2716 * df-problems.c (df_rd_simulate_one_insn): Likewise.
2717 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
2718 (df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
2719 (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
2720 (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
2721 (df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
2722 (df_simulate_find_defs, df_simulate_find_uses): Likewise.
2723 (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
2724 (df_simulate_uses, df_md_simulate_one_insn): Likewise.
2725 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
2726 * fwprop.c (local_ref_killed_between_p): Likewise.
2727 (all_uses_available_at, free_load_extend): Likewise.
2728 * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
2729 * hw-doloop.c (scan_loop): Likewise.
2730 * ifcvt.c (dead_or_predicable): Likewise.
2731 * init-regs.c (initialize_uninitialized_regs): Likewise.
2732 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
2733 (process_bb_node_lives): Likewise.
2734 * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
2735 (find_moveable_pseudos): Likewise.
2736 * loop-invariant.c (check_dependencies, record_uses): Likewise.
2737 * recog.c (peep2_find_free_register): Likewise.
2738 * ree.c (get_defs): Likewise.
2739 * regstat.c (regstat_bb_compute_ri): Likewise.
2740 (regstat_bb_compute_calls_crossed): Likewise.
2741 * sched-deps.c (find_inc, find_mem): Likewise.
2742 * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
2743 (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
2744 * shrink-wrap.c (requires_stack_frame_p): Likewise.
2745 (prepare_shrink_wrap): Likewise.
2746 * store-motion.c (compute_store_table, build_store_vectors): Likewise.
2747 * web.c (union_defs, pass_web::execute): Likewise.
2748 * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
2749 (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
2750
9afb455c
VM
27512014-06-13 Vladimir Makarov <vmakarov@redhat.com>
2752
2753 * lra-assign.c (assign_by_spills): Add code to assign vector regs
2754 to inheritance pseudos.
2755 * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
2756
8241efd1
PB
27572014-06-13 Peter Bergner <bergner@vnet.ibm.com>
2758
2759 PR target/61415
2760 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
2761 (BU_MISC_2): Rename to ...
2762 (BU_LDBL128_2): ... this.
2763 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
2764 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
2765 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
2766 RS6000_BTM_LDBL128.
2767 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
2768 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
2769 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
2770 (unpacktf_1): Likewise.
2771 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
2772 (__builtin_longdouble_dw1): Likewise.
2773 * doc/sourcebuild.texi (longdouble128): Document.
2774
c7ece684
JL
27752014-06-13 Jeff Law <law@redhat.com>
2776
2777 PR rtl-optimization/61094
2778 PR rtl-optimization/61446
2779 * ree.c (combine_reaching_defs): Get the mode for the copy from
2780 the extension insn rather than the defining insn.
2781
8e96d784
DC
27822014-06-13 Dehao Chen <dehao@google.com>
2783
2784 * dwarf2out.c (add_linkage_name): Emit more linkage name.
2785
45b3824d
TS
27862014-06-13 Thomas Schwinge <thomas@codesourcery.com>
2787
2788 * doc/install.texi (--enable-linker-plugin-configure-flags)
2789 (--enable-linker-plugin-flags): Document new flags.
2790
beb683ab
MJ
27912014-06-13 Martin Jambor <mjambor@suse.cz>
2792
2793 PR ipa/61186
2794 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
2795 cache_token if returning early.
2796
f6c43824
NC
27972014-06-13 Nick Clifton <nickc@redhat.com>
2798
2799 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
2800 requested alignment is active.
2801 (LABEL_ALIGN): Likewise.
2802 (LOOP_ALIGN): Likewise.
2803
6aa4c5b6
RB
28042014-06-13 Richard Biener <rguenther@suse.de>
2805
2806 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2807 Rewrite to propagate the VN result into all uses where
2808 possible and to remove stmts becoming dead because of that.
2809 (eliminate): Generalize stmt removal handling, remove in
2810 reverse dominator order to support proper debug stmt
2811 generation. Update stmts before removing stmts.
7049aed6 2812 * tree-ssa-propagate.c (propagate_tree_value): Remove bogus assert.
6aa4c5b6 2813
ca6cbdca
TP
28142014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2815
2816 PR tree-optimization/61375
2817 * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
2818 symbolic number cannot be represented in an uint64_t.
2819 (find_bswap_or_nop_1): Likewise.
2820
24e49ea0
JH
28212014-06-12 Jan Hubicka <hubicka@ucw.cz>
2822
2823 * symtab.c (symtab_node::reset_section): New method.
2824 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
2825 for localization.
2826 * cgraph.h (reset_section): Declare.
2827 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
2828 do not consider comdat locals.
2829 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
2830 for new symbol.
2831 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
2832 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
2833 reset sections of symbols dragged out of the comdats.
7049aed6
UB
2834 (function_and_variable_visibility): Reset sections of
2835 localized symbols.
24e49ea0 2836
6ad386b7
JH
28372014-06-12 Jan Hubicka <hubicka@ucw.cz>
2838
2839 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
2840 to use symtab and decl_binds_to_current_def_p
2841 * tree-vectorizer.c (increase_alignment): Increase alignment
2842 of alias target, too.
2843
9cf32741
JJ
28442014-06-12 Jakub Jelinek <jakub@redhat.com>
2845
2846 PR middle-end/61486
2847 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
2848 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
2849 if outer combined construct is distribute.
2850 (gimplify_omp_for): For OMP_DISTRIBUTE set
2851 gimplify_omp_ctxp->distribute.
2852 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
2853 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
2854 mapping into decl map.
2855
ca0e51a0
JM
28562014-06-12 Jason Merrill <jason@redhat.com>
2857
2858 * common.opt (fabi-version): Change default to 0.
2859
90d84934
JM
28602014-06-12 Jason Merrill <jason@redhat.com>
2861
2862 * toplev.c (process_options): Reject -fabi-version=1.
2863
551a6341
JL
28642014-06-12 Jeff Law <law@redhat.com>
2865
7964957f 2866 PR tree-optimization/61009
551a6341
JL
2867 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
2868 value when we stop processing a block due to problematic PHIs.
2869
5eba0999
AL
28702014-06-12 Alan Lawrence <alan.lawrence@arm.com>
2871
2872 * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
2873 vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
2874 vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
2875 vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
2876 vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
2877 vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
7049aed6
UB
2878 vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they
2879 are not in the spec.
5eba0999 2880
ad7d90cc
AL
28812014-06-10 Alan Lawrence <alan.lawrence@arm.com>
2882
2883 PR target/59843
2884 * config/aarch64/aarch64-modes.def: Add V1DFmode.
2885 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
2886 Support V1DFmode.
2887
9c85aeb6
EB
28882014-06-12 Eric Botcazou <ebotcazou@adacore.com>
2889
2890 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
2891
c407027e
GJL
28922014-06-12 Georg-Johann Lay <avr@gjlay.de>
2893
2894 PR target/61443
2895 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
2896 loading from address spaces.
2897
3c9e6fca
ML
28982014-06-12 Martin Liska <mliska@suse.cz>
2899
2900 PR ipa/61462
2901 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
7964957f 2902 statement is reachable.
3c9e6fca 2903
f961457f
JH
29042014-06-11 Jan Hubicka <hubicka@ucw.cz>
2905
2906 * symtab.c (section_hash): New hash.
2907 (symtab_unregister_node): Clear section before freeing.
2908 (hash_section_hash_entry): New haser.
2909 (eq_sections): New function.
2910 (symtab_node::set_section_for_node): New method.
2911 (set_section_1): Update.
2912 (symtab_node::set_section): Take string instead of tree as parameter.
2913 (symtab_resolve_alias): Update.
2914 * cgraph.h (section_hash_entry_d): New structure.
2915 (section_hash_entry): New typedef.
2916 (cgraph_node): Change comdat_group_ to x_comdat_group,
2917 change section_ to x_section and turn into section_hash_entry;
2918 update accestors; put set_section_for_node offline.
2919 * tree.c (decl_section_name): Turn into string.
2920 (set_decl_section_name): Change parameter to be string.
2921 * tree.h (decl_section_name, set_decl_section_name): Update prototypes.
2922 * sdbout.c (sdbout_one_type): Update.
2923 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
9fdb837f
UB
2924 * varasm.c (IN_NAMED_SECTION, get_named_section,
2925 resolve_unique_section, hot_function_section, get_named_text_section,
7049aed6
UB
2926 USE_SELECT_SECTION_FOR_FUNCTIONS, default_function_rodata_section,
2927 make_decl_rtl, default_unique_section): Update.
f961457f
JH
2928 * config/c6x/c6x.c (c6x_in_small_data_p): Update.
2929 (c6x_elf_unique_section): Update.
2930 * config/nios2/nios2.c (nios2_in_small_data_p): Update.
2931 * config/pa/pa.c (pa_function_section): Update.
2932 * config/pa/pa.h (IN_NAMED_SECTION_P): Update.
2933 * config/ia64/ia64.c (ia64_in_small_data_p): Update.
2934 * config/arc/arc.c (arc_in_small_data_p): Update.
2935 * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
2936 * config/mcore/mcore.c (mcore_unique_section): Update.
2937 * config/mips/mips.c (mips16_build_function_stub): Update.
2938 (mips16_build_call_stub): Update.
2939 (mips_function_rodata_section): Update.
2940 (mips_in_small_data_p): Update.
2941 * config/score/score.c (score_in_small_data_p): Update.
2942 * config/rx/rx.c (rx_in_small_data): Update.
2943 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
2944 (rs6000_xcoff_asm_named_section): Update.
2945 (rs6000_xcoff_unique_section): Update.
2946 * config/frv/frv.c (frv_string_begins_with): Update.
2947 (frv_in_small_data_p): Update.
2948 * config/v850/v850.c (v850_encode_data_area): Update.
2949 * config/bfin/bfin.c (DECL_SECTION_NAME): Update.
2950 (bfin_handle_l1_data_attribute): Update.
2951 (bfin_handle_l2_attribute): Update.
2952 * config/mep/mep.c (mep_unique_section): Update.
7049aed6
UB
2953 * config/microblaze/microblaze.c (microblaze_elf_in_small_data_p):
2954 Update.
f961457f
JH
2955 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
2956 (h8300_handle_tiny_data_attribute): Update.
2957 * config/m32r/m32r.c (m32r_in_small_data_p): Update.
2958 (m32r_in_small_data_p): Update.
2959 * config/alpha/alpha.c (alpha_in_small_data_p): Update.
2960 * config/i386/i386.c (ix86_in_large_data_p): Update.
2961 * config/i386/winnt.c (i386_pe_unique_section): Update.
2962 * config/darwin.c (darwin_function_section): Update.
2963 * config/lm32/lm32.c (lm32_in_small_data_p): Update.
2964 * tree-emutls.c (get_emutls_init_templ_addr): Update.
2965 (new_emutls_decl): Update.
2966 * lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
2967 input_varpool_node): Update.
2968 (ead_string_cst): Turn to ...
2969 (read_string): ... this one.
2970 * dwarf2out.c (secname_for_decl): Update.
2971 * asan.c (asan_protect_global): Update.
2972
1704a72b
DD
29732014-06-11 DJ Delorie <dj@redhat.com>
2974
1cf1574d
DD
2975 * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
2976 cache lines.
2977 * config/rx/rx.c (rx_option_override): Likewise.
2978 (rx_align_for_label): Likewise.
2979
1704a72b
DD
2980 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
2981
37251385
MR
29822014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
2983
2984 * config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
2985 prototype.
2986
8677664e
RS
29872014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
2988
2989 * common.md: New file.
2990 * doc/md.texi: Update description of generic, machine-independent
2991 constraints.
2992 * config/s390/constraints.md (e): Delete.
2993 * Makefile.in (md_file): Include common.md.
2994 * config/m32c/t-m32c (md_file): Likewise.
2995 * genpreds.c (general_mem): New array.
2996 (generic_constraint_letters): Remove constraints now defined by
2997 common.md.
2998 (add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
2999 Allow the first character to be '<' or '>' as well.
3000 * genoutput.c (general_mem): New array.
3001 (indep_constraints): Remove constraints now defined by common.md.
3002 (note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
3003 Remove special handling of 'm'.
3004 * ira-costs.c (record_reg_classes): Remove special handling of
3005 constraints now defined by common.md.
3006 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
3007 * ira-lives.c (single_reg_class): Likewise.
3008 (ira_implicitly_set_insn_hard_regs): Likewise.
3009 * lra-constraints.c (reg_class_from_constraints): Likewise.
3010 (process_alt_operands, process_address, curr_insn_transform): Likewise.
3011 * postreload.c (reload_cse_simplify_operands): Likewise.
3012 * reload.c (push_secondary_reload, scratch_reload_class)
3013 (find_reloads, alternative_allows_const_pool_ref): Likewise.
3014 * reload1.c (maybe_fix_stack_asms): Likewise.
3015 * targhooks.c (default_secondary_reload): Likewise.
3016 * stmt.c (parse_output_constraint): Likewise.
3017 * recog.c (preprocess_constraints): Likewise.
3018 (constrain_operands, peep2_find_free_register): Likewise.
3019 (asm_operand_ok): Likewise, but add a comment saying why 'o'
3020 must be handled specially.
3021
7fd308cf
RS
30222014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
3023
3024 * system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
3025 * genpreds.c (have_const_dbl_constraints): Delete.
3026 (add_constraint): Don't set it.
3027 (write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
3028 * ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
3029 constraints using the lookup_constraint logic.
3030 * ira-lives.c (single_reg_class): Likewise.
3031 * ira.c (ira_setup_alts): Likewise.
3032 * lra-constraints.c (process_alt_operands): Likewise.
3033 * recog.c (asm_operand_ok, constrain_operands): Likewise.
3034 * reload.c (find_reloads): Likewise.
3035
d9c35eee
RS
30362014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
3037
3038 * genpreds.c (const_int_start, const_int_end): New variables.
3039 (choose_enum_order): Output CONST_INT constraints before memory
3040 constraints.
3041 (write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
3042 Add CT_CONST_INT.
3043 * ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
3044 * ira.c (ira_setup_alts): Likewise.
3045 * lra-constraints.c (process_alt_operands): Likewise.
3046 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
3047 * reload.c (find_reloads): Likewise.
3048
3c4c42e8
RS
30492014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
3050
3051 * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
3052 decmem_ok and incmem_ok. Reformat other bitfields for consistency.
3053 * recog.c (preprocess_constraints): Update accordingly.
3054
777e635f
RS
30552014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
3056
3057 * system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
3058 (REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
3059 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
3060 * genpreds.c (print_type_tree): New function.
3061 (write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
3062 REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
3063 EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
3064 Write out enum constraint_type and get_constraint_type.
3065 * lra-constraints.c (satisfies_memory_constraint_p): Take a
3066 constraint_num rather than a constraint string.
3067 (satisfies_address_constraint_p): Likewise.
3068 (reg_class_from_constraints): Avoid old constraint macros.
3069 (process_alt_operands, process_address_1): Likewise.
3070 (curr_insn_transform): Likewise.
3071 * ira-costs.c (record_reg_classes): Likewise.
3072 (record_operand_costs): Likewise.
3073 * ira-lives.c (single_reg_class): Likewise.
3074 (ira_implicitly_set_insn_hard_regs): Likewise.
3075 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
3076 * postreload.c (reload_cse_simplify_operands): Likewise.
3077 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
3078 (constrain_operands, peep2_find_free_register): Likewise.
3079 * reload.c (push_secondary_reload, scratch_reload_class): Likewise.
3080 (find_reloads, alternative_allows_const_pool_ref): Likewise.
3081 * reload1.c (maybe_fix_stack_asms): Likewise.
3082 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
3083 * targhooks.c (default_secondary_reload): Likewise.
3084 * config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
3085 to EXTRA_CONSTRAINT_STR.
3086 * config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
3087
9e6b7874
RS
30882014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
3089
3090 * genpreds.c (write_constraint_satisfied_p_1): Replace with...
3091 (write_constraint_satisfied_p_array): ...this new function.
3092 (write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
3093 an array.
3094 (write_insn_preds_c): Update accordingly.
3095
16a26e42
RS
30962014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
3097
3098 * genpreds.c (write_lookup_constraint): Rename to...
3099 (write_lookup_constraint_1): ...this.
3100 (write_lookup_constraint_array): New function.
3101 (write_tm_preds_h): Define lookup_constraint as an inline function
3102 that uses write_lookup_constraint_array where possible.
3103 (write_insn_preds_c): Update for the changes above.
3104
2aeedf58
RS
31052014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
3106
3107 * doc/md.texi (regclass_for_constraint): Rename to...
3108 (reg_class_for_constraint): ...this.
3109 * genpreds.c (num_constraints, enum_order, register_start)
3110 (register_end, satisfied_start, memory_start, memory_end)
3111 (address_start, address_end): New variables.
3112 (add_constraint): Count the number of constraints.
3113 (choose_enum_order): New function.
3114 (write_enum_constraint_num): Iterate over enum_order.
3115 (write_regclass_for_constraint): Rename to...
3116 (write_reg_class_for_constraint_1): ...this and update output
3117 accordingly.
3118 (write_constraint_satisfied_p): Rename to...
3119 (write_constraint_satisfied_p_1): ...this and update output
3120 accordingly. Do nothing if all extra constraints are register
3121 constraints.
3122 (write_insn_extra_memory_constraint): Delete.
3123 (write_insn_extra_address_constraint): Delete.
3124 (write_range_function): New function.
3125 (write_tm_preds_h): Define constraint_satisfied_p and
3126 reg_class_for_constraint as inline functions that do a range check
3127 before calling the out-of-line function. Use write_range_function
3128 to implement insn_extra_{register,memory,address}_constraint,
3129 the first of which is new.
3130 (write_insn_preds_c): Update after above changes to write_* functions.
3131 (main): Call choose_enum_order.
3132
698ff107
TP
31332014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
3134
3135 PR tree-optimization/61306
3136 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
3137 expression instead of its size.
3138 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
3139 false to prevent optimization when the result is unpredictable due to
3140 arithmetic right shift of signed type with highest byte is set.
3141 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
3142 (init_symbolic_number): Likewise.
3143 (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
3144 when the result is unpredictable due to sign extension.
3145
1d02d8b8
TG
31462014-06-11 Terry Guo <terry.guo@arm.com>
3147
3148 * config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
3149 (*thumb1_addsi3): Ditto.
3150 (*thumb_subdi3): Ditto.
3151 (thumb1_subsi3_insn): Ditto.
3152 (*thumb_mulsi3): Ditto.
3153 (*thumb_mulsi3_v6): Ditto.
3154 (*thumb1_andsi3_insn): Ditto.
3155 (thumb1_bicsi3): Ditto.
3156 (*thumb1_iorsi3_insn): Ditto.
3157 (*thumb1_xorsi3_insn): Ditto.
3158 (*thumb1_ashlsi3): Ditto.
3159 (*thumb1_ashrsi3): Ditto.
3160 (*thumb1_lshrsi3): Ditto.
3161 (*thumb1_rotrsi3): Ditto.
3162 (*thumb1_negdi2): Ditto.
3163 (*thumb1_negsi2): Ditto.
3164 (*thumb1_abssi2): Ditto.
3165 (*thumb1_neg_abssi2): Ditto.
3166 (*thumb1_one_cmplsi2): Ditto.
3167 (*thumb1_zero_extendhisi2): Ditto.
3168 (*thumb1_zero_extendqisi2): Ditto.
3169 (*thumb1_zero_extendqisi2_v6): Ditto.
3170 (thumb1_extendhisi2): Ditto.
3171 (thumb1_extendqisi2): Ditto.
3172 (*thumb1_movdi_insn): Ditto.
3173 (*thumb1_movsi_insn): Ditto.
3174 (*thumb1_movhi_insn): Ditto.
3175 (thumb_movhi_clobber): Ditto.
3176 (*thumb1_movqi_insn): Ditto.
3177 (*thumb1_movhf): Ditto.
3178 (*thumb1_movsf_insn): Ditto.
3179 (*thumb_movdf_insn): Ditto.
3180 (movmem12b): Ditto.
3181 (movmem8b): Ditto.
3182 (cbranchqi4): Ditto.
3183 (cbranchsi4_insn): Ditto.
3184 (cbranchsi4_scratch): Ditto.
3185 (*negated_cbranchsi4): Ditto.
3186 (*tbit_cbranch): Ditto.
3187 (*tlobits_cbranch): Ditto.
3188 (*tstsi3_cbranch): Ditto.
3189 (*cbranchne_decr1): Ditto.
3190 (*addsi3_cbranch): Ditto.
3191 (*addsi3_cbranch_scratch): Ditto.
3192 (*thumb_cmpdi_zero): Ditto.
3193 (cstoresi_eq0_thumb1): Ditto.
3194 (cstoresi_ne0_thumb1): Ditto.
3195 (*cstoresi_eq0_thumb1_insn): Ditto.
3196 (*cstoresi_ne0_thumb1_insn): Ditto.
3197 (cstoresi_nltu_thumb1): Ditto.
3198 (cstoresi_ltu_thumb1): Ditto.
3199 (thumb1_addsi3_addgeu): Ditto.
3200 (*thumb_jump): Ditto.
3201 (*call_reg_thumb1_v5): Ditto.
3202 (*call_reg_thumb1): Ditto.
3203 (*call_value_reg_thumb1_v5): Ditto.
3204 (*call_value_reg_thumb1): Ditto.
3205 (*call_insn): Ditto.
3206 (*call_value_insn): Ditto.
3207 (thumb1_casesi_internal_pic): Ditto.
3208 (thumb1_casesi_dispatch): Ditto.
3209 (*thumb1_indirect_jump): Ditto.
3210 (prologue_thumb1_interwork): Ditto.
3211 (*epilogue_insns): Ditto.
3212 (consttable_1): Ditto.
3213 (consttable_2): Ditto.
3214 (tablejump): Ditto.
3215 (*thumb1_tablejump): Ditto.
3216 (thumb_eh_return): Ditto.
3217 (define_peephole2): Two of them are thumb1 only and got moved into
3218 new file thumb1.md.
3219 (define_split): Six of them are thumb1 only and got moved into new
3220 file thumb1.md.
3221 * config/arm/thumb1.md: New file comprised of above thumb1 only
3222 patterns.
3223
5d357f26
KT
32242014-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3225
3226 * config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
3227 * Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
3228 dependencies.
3229 * config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
3230 (aarch64_crc_builtin_datum): New struct.
3231 (aarch64_crc_builtin_data): New.
3232 (aarch64_init_crc32_builtins): New function.
3233 (aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
3234 (aarch64_crc32_expand_builtin): New.
3235 (aarch64_expand_builtin): Add CRC32 builtin expansion case.
3236 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
3237 __ARM_FEATURE_CRC32 when appropriate.
3238 (TARGET_CRC32): Define.
3239 * config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
3240 UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
3241 UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
3242 (aarch64_<crc_variant>): New pattern.
3243 * config/aarch64/arm_acle.h: New file.
3244 * config/aarch64/iterators.md (CRC): New int iterator.
3245 (crc_variant, crc_mode): New int attributes.
3246 * doc/aarch64-acle-intrinsics.texi: New file.
3247 * doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
3248 Include aarch64-acle-intrinsics.texi.
3249
e1377713
ES
32502014-06-11 Evgeny Stupachenko <evstupac@gmail.com>
3251
3252 * tree-vect-data-refs.c (vect_grouped_store_supported): New
3253 check for stores group of length 3.
3254 (vect_permute_store_chain): New permutations for stores group of
3255 length 3.
3256 * tree-vect-stmts.c (vect_model_store_cost): Change cost
3257 of vec_perm_shuffle for the new permutations.
3258
862b3da6
JH
32592014-06-11 Jan Hubicka <hubicka@ucw.cz>
3260
7049aed6
UB
3261 * ipa-visibility.c (function_and_variable_visibility): Disable virtual
3262 table rewriting temporarily on targets not supporting ONE_ONLY.
862b3da6 3263
96a3f4df
RB
32642014-06-11 Richard Biener <rguenther@suse.de>
3265
3266 PR middle-end/61437
3267 Revert
3268 2014-06-04 Richard Biener <rguenther@suse.de>
3269
3270 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
3271 TREE_PUBLIC and DECL_EXTERNAL decls.
3272
e257a17c
JH
32732014-06-10 Jan Hubicka <hubicka@ucw.cz>
3274
3275 * varasm.c (set_implicit_section): New function.
3276 (resolve_unique_section): Use it to set implicit section
3277 for aliases, too.
3278 (get_named_text_section): Use symtab_get_node (decl)->implicit_section
3279 (default_function_section): Likewise.
3280 (decl_binds_to_current_def_p): Constify argument.
3281 * varasm.h (decl_binds_to_current_def_p): Update prototype.
96a3f4df
RB
3282 * asan.c (asan_protect_global): Use
3283 symtab_get_node (decl)->implicit_section.
e257a17c
JH
3284 * symtab.c (dump_symtab_base): Dump implicit sections.
3285 (verify_symtab_base): Verify sanity of sectoins and comdats.
3286 (symtab_resolve_alias): Alias share the section of its target.
3287 (set_section_1): New function.
3288 (symtab_node::set_section): Move here, recurse to aliases.
3289 (verify_symtab): Check for duplicated symtab lists.
3290 * tree-core.h (implicit_section_name_p): Remove.
3291 * tree-vect-data-refs.c: Include varasm.h.
3292 (vect_can_force_dr_alignment_p): Fix conditional on when
3293 decl bints to current definition; use
3294 symtab_get_node (decl)->implicit_section.
3295 * cgraph.c (cgraph_make_node_local_1): Fix section set.
3296 * cgraph.h (struct symtab_node): Add implicit_section.
3297 (set_section): Rename to ...
3298 (set_section_for_node): ... this one.
3299 (set_section): Declare.
3300 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
3301 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
3302 input_overwrite_node, input_varpool_node): Stream implicit_section.
3303 * ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
3304 removal; it will fail in LTO.
3305
d7256bb8
KT
33062014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3307
3308 * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
3309 Change second alternative type to f_mcr.
3310 * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
3311 and 12th alternatives' types to f_mcr and f_mrc.
3312 (*movdi_aarch64): Same for 12th and 13th alternatives.
3313 (*movsf_aarch64): Change 9th alternatives' type to mov_reg.
3314 (aarch64_movtilow_tilow): Change type to fmov.
3315
dadf084c
JW
33162014-06-10 Jiong Wang <jiong.wang@arm.com>
3317
3318 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
3319 (aarch64_save_or_restore_callee_save_registers): Fix layout.
3320
2a74759f
KT
33212014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3322
3323 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
3324 New expander.
3325 (aarch64_sqrdmulh_lane<mode>): Likewise.
3326 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3327 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
3328 (aarch64_sqdmulh_laneq<mode>): New expander.
3329 (aarch64_sqrdmulh_laneq<mode>): Likewise.
3330 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
3331 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
3332 (aarch64_sqdmulh_lane<mode>): New expander.
3333 (aarch64_sqrdmulh_lane<mode>): Likewise.
3334 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3335 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
3336 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
3337 (aarch64_sqdmlal_laneq<mode>): Likewise.
3338 (aarch64_sqdmlsl_lane<mode>): Likewise.
3339 (aarch64_sqdmlsl_laneq<mode>): Likewise.
3340 (aarch64_sqdmlal2_lane<mode>): Likewise.
3341 (aarch64_sqdmlal2_laneq<mode>): Likewise.
3342 (aarch64_sqdmlsl2_lane<mode>): Likewise.
3343 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
3344 (aarch64_sqdmull_lane<mode>): Likewise.
3345 (aarch64_sqdmull_laneq<mode>): Likewise.
3346 (aarch64_sqdmull2_lane<mode>): Likewise.
3347 (aarch64_sqdmull2_laneq<mode>): Likewise.
3348
b82ef848
RB
33492014-06-10 Richard Biener <rguenther@suse.de>
3350
3351 PR tree-optimization/61438
3352 * tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
3353 (eliminate_dom_walker::before_dom_children): Only try to inhibit
3354 insertion of IVs if running PRE.
3355 (eliminate): Adjust.
3356 (pass_pre::execute): Likewise.
3357 (pass_fre::execute): Likewise.
3358
cdf0ab72
RB
33592014-06-10 Richard Biener <rguenther@suse.de>
3360
3361 PR middle-end/61456
3362 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
3363 Do not use the main variant for the type comparison.
3364 (ncr_compar): Likewise.
3365 (nonoverlapping_component_refs_p): Likewise.
3366
e29b8d5b
MS
33672014-06-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
3368
3369 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
3370 REG_CFA_RESTORE mode.
3371
6ba197c1
ES
33722014-06-10 Evgeny Stupachenko <evstupac@gmail.com>
3373
3374 * config/i386/i386.c (expand_vec_perm_pblendv): New.
3375 * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
3376 expand_vec_perm_pblendv.
3377
87ee52ef
KT
33782014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3379
3380 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
3381 available.
3382 Simplify description of __crc32d and __crc32cd intrinsics.
3383 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
3384 availability.
3385
35fa894a
TS
33862014-06-10 Thomas Schwinge <thomas@codesourcery.com>
3387
3388 PR lto/61334
9fdb837f 3389 * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype.
35fa894a
TS
3390 * config.in: Regenerate.
3391 * configure: Likewise.
3392
1685ecf3
JH
33932014-06-10 Jan Hubicka <hubicka@ucw.cz>
3394
7049aed6
UB
3395 * ipa-reference.c (is_proper_for_analysis): Exclude addressable
3396 and public vars.
1685ecf3
JH
3397 (intersect_static_var_sets): Remove.
3398 (propagate): Do not prune local statics.
3399
92d28cbb
JJ
34002014-06-10 Jakub Jelinek <jakub@redhat.com>
3401
3402 PR fortran/60928
3403 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
3404 Set lastprivate_firstprivate even if omp_private_outer_ref
3405 langhook returns true.
3406 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
3407 langhook, call unshare_expr on new_var and call
3408 build_outer_var_ref to get the last argument.
3409
c9f2b7e9
MP
34102014-06-10 Marek Polacek <polacek@redhat.com>
3411
3412 PR c/60988
3413 * doc/extend.texi: Add cindex for transparent_union.
3414
2cfa504a
TP
34152014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
3416
3417 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
3418 init_symbolic_number ().
3419
748e88da
JDA
34202014-05-18 John David Anglin <danglin@gcc.gnu.org>
3421
3422 PR middle-end/61141
3423 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
3424 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
7964957f 3425 (verify_rtl_sharing): Likewise.
748e88da 3426
00f30445
MG
34272014-06-09 Marc Glisse <marc.glisse@inria.fr>
3428
3429 PR c++/54442
3430 * tree.c (build_qualified_type): Use a canonical type for
3431 TYPE_CANONICAL.
3432
545fb0e8
RR
34332014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3434
3435 * config/arm/arm-modes.def: Remove XFmode.
3436
842cbb73
AL
34372014-06-09 Alan Lawrence <alan.lawrence@arm.com>
3438
3439 PR target/61062
3440 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
3441 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
7049aed6
UB
3442 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
3443 vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
3444 vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
3445 vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
3446 vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
3447 vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
3448 vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
842cbb73 3449
8de98ad4
JH
34502014-06-09 Jan Hubicka <hubicka@ucw.cz>
3451
3452 * tree-core.h (tree_decl_with_vis): Remove section_name.
3453
001010df
KC
34542014-06-09 Kito Cheng <kito@0xlab.org>
3455
3456 * ira.c (ira): Don't call init_caller_save if LRA enabled
3457 since LRA use its own infrastructure to handle that.
3458
24d047a3
JH
34592014-06-07 Jan Hubicka <hubicka@ucw.cz>
3460
3461 * symtab.c (dump_symtab_base): Update dumping.
3462 (symtab_make_decl_local): Clear only DECL_COMDAT.
3463 * tree-vect-data-refs.c (Check that variable is static before
3464 tampering with sections.
3465 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
3466 (cgraph_create_virtual_clone): Likewise.
3467 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
3468 (decl_section_name, set_decl_section_name): New accessors.
3469 (find_decls_types_r): Do not walk section name
7049aed6 3470 * tree.h (DECL_SECTION_NAME): Implement using decl_section_name.
24d047a3
JH
3471 (decl_comdat_group, decl_comdat_group_id): Constify.
3472 (decl_section_name, set_decl_section_name): Update.
7049aed6 3473 * varpool.c (varpool_finalize_named_section_flags): Use get_section.
24d047a3
JH
3474 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
3475 (cgraph_make_node_local_1): Clear section and comdat group.
3476 * cgraph.h (set_comdat_group): Sanity check.
3477 (get_section, set_section): New.
3478 * ipa-comdats.c (ipa_comdats): Use get_section.
3479 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
3480 * lto-streamer-out.c: Do not follow section names.
7049aed6 3481 * c-family/c-common.c (handle_section_attribute): Update.
24d047a3
JH
3482 * lto-cgraph.c (lto_output_node): Output section.
3483 (lto_output_varpool_node): Likewise.
3484 (read_comdat_group): Rename to ...
3485 (read_identifier): ... this one.
3486 (read_string_cst): New function.
3487 (input_node, input_varpool_node): Input section names.
3488 * tree-emutls.c (get_emutls_init_templ_addr): Update.
3489 (new_emutls_decl): Update.
7049aed6 3490 (secname_for_decl): Check section names only of static vars.
24d047a3
JH
3491 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
3492 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
3493 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
3494 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
3495 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
3496 * config/mcore/mcore.c (mcore_unique_section): Likewise.
3497 * config/mips/mips.c (mips16_build_function_stub): Likewise.
3498 * config/v850/v850.c (v850_insert_attributes): Likewise.
7049aed6 3499 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
24d047a3
JH
3500 Likewise.
3501 (h8300_handle_tiny_data_attribute): Likewise.
3502 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
3503 (bfin_handle_l2_attribute): Likewise.
3504
80bc9b6e
JH
35052014-06-07 Jan Hubicka <hubicka@ucw.cz>
3506
3507 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
3508 remove static initializer.
3509
684a3aa7
JH
35102014-06-07 Jan Hubicka <hubicka@ucw.cz>
3511
7049aed6
UB
3512 * varasm.c (use_blocks_for_decl_p): Check symbol table
3513 instead of alias attribute.
684a3aa7
JH
3514 (place_block_symbol): Recurse on aliases.
3515
94c2e46c
JH
35162014-06-07 Jan Hubicka <hubicka@ucw.cz>
3517
3518 * ipa-visibility.c: Include varasm.h
3519 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
3520
136a5f45
JH
35212014-06-07 Jan Hubicka <hubicka@ucw.cz>
3522
3523 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
3524 outputting aliases.
3525
0dbaf51e
SB
35262014-06-07 Steven Bosscher <steven@gcc.gnu.org>
3527
7964957f 3528 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
0dbaf51e
SB
3529 from test_insn into GGC space escape via SET_SRC.
3530
51d2abeb
EB
35312014-06-07 Eric Botcazou <ebotcazou@adacore.com>
3532
3533 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
3534 call statement, if any.
3535 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
3536 statements, if any. Tidy up.
3537
b528fc5c
MM
35382014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
3539
3540 PR target/61431
3541 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
3542 iterators, VSX_D that handles 64-bit types, and VSX_LE that
3543 handles swapping the two 64-bit double words on little endian
3544 systems. Include V1TImode and optionally TImode in VSX_LE so that
3545 these types are properly swapped. Change all of the insns and
3546 splits that do the 64-bit swaps to use VSX_LE.
3547 (vsx_le_perm_load_<mode>): Likewise.
3548 (vsx_le_perm_store_<mode>): Likewise.
3549 (splitters for little endian memory operations): Likewise.
3550 (vsx_xxpermdi2_le_<mode>): Likewise.
3551 (vsx_lxvd2x2_le_<mode>): Likewise.
3552 (vsx_stxvd2x2_le_<mode>): Likewise.
3553
7b11cab7
UB
35542014-06-06 Uros Bizjak <ubizjak@gmail.com>
3555
3556 PR target/61423
3557 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
3558 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
3559 and corresponding splitters. Zero extend general register
3560 or memory input operand to XMM temporary. Enable for
3561 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
3562 (floatunssi<mode>2): Update expander predicate.
3563
5a770e01
VM
35642014-06-06 Vladimir Makarov <vmakarov@redhat.com>
3565
3566 PR rtl-optimization/61325
3567 * lra-constraints.c (process_address_1): Check scale equal to one
3568 to prevent transformation: base + scale * index => base + new_reg.
3569
acce8ce3
RB
35702014-06-06 Richard Biener <rguenther@suse.de>
3571
3572 PR tree-optimization/59299
3573 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
3574 a def operand.
3575 (nearest_common_dominator_of_uses): Likewise.
3576 (statement_sink_location): Adjust. Support sinking loads.
3577
0d48ee34
MJ
35782014-06-06 Martin Jambor <mjambor@suse.cz>
3579
3580 * ipa-prop.c (get_place_in_agg_contents_list): New function.
3581 (build_agg_jump_func_from_list): Likewise.
3582 (determine_known_aggregate_parts): Renamed to
3583 determine_locally_known_aggregate_parts. Moved some functionality
3584 to the two functions above, removed bound checks.
3585
e2c75eea
JG
35862014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
3587
3588 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
3589 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
3590 (aarch64_progress_pointer): Likewise.
3591 (aarch64_copy_one_part_and_move_pointers): Likewise.
3592 (aarch64_expand_movmen): Likewise.
3593 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
3594 * config/aarch64/aarch64.md (movmem<mode>): New.
3595
58e5400a
BM
35962014-06-06 Bingfeng Mei <bmei@broadcom.com>
3597
3598 * targhooks.c (default_add_stmt_cost): Call target specific
3599 hook instead of default one.
3600
58126368
TP
36012014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
3602
3603 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
3604 endianness instead of host endianness.
3605 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
3606 comments.
3607
3fd48b12
EB
36082014-06-06 Eric Botcazou <ebotcazou@adacore.com>
3609
3610 PR debug/53927
3611 * function.c (instantiate_decls): Process the saved static chain.
3612 (expand_function_start): If not optimizing, save the static chain
3613 onto the stack.
3614 * tree-nested.c (convert_all_function_calls): Always create the static
3615 chain for nested functions if not optimizing.
3616
9b7a11e1
EB
36172014-06-06 Eric Botcazou <ebotcazou@adacore.com>
3618
3619 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
3620
726338f4
RB
36212014-06-06 Richard Biener <rguenther@suse.de>
3622
3623 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
3624 (construct_init_block): Likewise.
3625 (construct_exit_block): Likewise.
3626 (pass_expand::execute): Likewise.
3627 * graphite.c (graphite_transforms): Replace check for current_loops
3628 with a check for > 1 loops.
3629 (pass_graphite_transforms::execute): Adjust.
3630 * ipa-split.c (split_function): Remove check for current_loops.
3631 * omp-low.c (expand_parallel_call): Likewise.
3632 (expand_omp_for_init_counts): Likewise.
3633 (extract_omp_for_update_vars): Likewise.
3634 (expand_omp_for_generic): Likewise.
3635 (expand_omp_sections): Likewise.
3636 (expand_omp_target): Likewise.
3637 * tracer.c (tail_duplicate): Likewise.
3638 (pass_tracer::execute): Likewise.
3639 * trans-mem.c (expand_transaction): Likewise.
3640 * tree-complex.c (expand_complex_div_wide): Likewise.
3641 * tree-eh.c (lower_resx): Likewise.
3642 (cleanup_empty_eh_merge_phis): Likewise.
3643 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
3644 current_loops with a check for > 1 loops.
3645 (pass_predcom::execute): Adjust.
3646 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
3647 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
3648 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
3649 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
3650 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
3651 * tree-switch-conversion.c (process_switch): Likewise.
3652 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
3653 * tree-vrp.c (vrp_visit_phi_node): Likewise.
3654 (execute_vrp): Likewise.
3655 * ubsan.c (ubsan_expand_null_ifn): Likewise.
3656
ffa4602f
EB
36572014-06-06 Eric Botcazou <ebotcazou@adacore.com>
3658
3659 * rtl.h (insn_location): Declare.
3660 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
3661 with UNKNOWN_LOCATION.
3662 * emit-rtl.c (insn_location): New function.
3663 * final.c (notice_source_line): Check that the instruction has a
3664 location before retrieving it and use insn_location.
3665 * modulo-sched.c (loop_single_full_bb_p): Likewise.
3666 * print-rtl.c (print_rtx): Likewise.
3667
28a4a292
RB
36682014-06-06 Richard Biener <rguenther@suse.de>
3669
3670 * passes.def: Move 2nd VRP pass before phi-only-cprop.
3671
d969f3c1
CB
36722014-06-06 Christian Bruel <christian.bruel@st.com>
3673
3674 PR tree-optimization/43934
28a4a292
RB
3675 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
3676 cost.
d969f3c1 3677
b58923e2
RS
36782014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
3679
3680 * ira-lives.c (single_reg_class): Add missing break. Explicitly
3681 return NO_REGS for extra address and memory constraints. Handle
3682 operands that match (or are equivalent to something that matches)
3683 extra constant constraints. Ignore other non-register operands.
3684
ddbb449f
AM
36852014-06-06 Alan Modra <amodra@gmail.com>
3686
3687 PR target/61300
3688 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
3689 * doc/tm.texi: Regenerate.
3690 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
3691 Use throughout in place of REG_PARM_STACK_SPACE.
3692 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
3693 "incoming" param. Pass to rs6000_function_parms_need_stack.
3694 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
3695 prototype_p when incoming. Use function decl when incoming
3696 to handle K&R style functions.
3697 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
3698 (INCOMING_REG_PARM_STACK_SPACE): Define.
3699
a148c4b2
SKS
37002014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3701
3702 PR target/52472
3703 * cfgexpand.c (expand_debug_expr): Use address space of nested
3704 TREE_TYPE for ADDR_EXPR and MEM_REF.
3705
64e13bcd
JL
37062014-06-05 Jeff Law <law@redhat.com>
3707
3708 PR tree-optimization/61289
3709 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
3710 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
3711 looking for those which match LHS. All callers changed.
3712 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
3713 parameters and code which manipulated them. All callers changed.
3714 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
3715 and DST_MAP parameters. Simplify invalidation code by just calling
3716 invalidate_equivalences. All callers changed.
3717 (thread_across_edge): Simplify now that we don't need to maintain
3718 the map of equivalences to invalidate.
3719
5853e181
KT
37202014-06-05 Kai Tietz <ktietz@redhat.com>
3721 Richard Henderson <rth@redhat.com>
3722
3723 PR target/46219
3724 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
3725 checking for !TARGET_X32.
3726 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
3727 (sibcall_intern): New define_insn, plus required peepholes.
3728 (sibcall_pop_intern): Likewise.
3729 (sibcall_value_intern): Likewise.
3730 (sibcall_value_pop_intern): Likewise.
3731
95cc0a1a
IE
37322014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
3733
3734 * tree-inline.c (tree_function_versioning): Check DF info existence
3735 before accessing it.
3736
1c960e02
MS
37372014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3738
3739 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
3740 frame_size.
3741 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
3742 aarch64_frame hard_fp_offset and frame_size.
3743 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
3744 frame_size; remove original_frame_size.
3745 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
3746 (aarch64_initial_elimination_offset): Remove frame_size and
3747 offset. Use aarch64_frame frame_size.
3748
2e1cdae5
MS
37492014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3750 Jiong Wang <jiong.wang@arm.com>
4a450ea0 3751 Renlin <renlin.li@arm.com>
2e1cdae5
MS
3752
3753 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
3754 initialization of R30 offset. Update offset. Iterate core
3755 regisers upto X30. Remove X29, X30 specific code.
3756
97826595
MS
37572014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3758 Jiong Wang <jiong.wang@arm.com>
3759
3760 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
3761 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
3762 (aarch64_register_saved_on_entry): Adjust test.
3763
8799637a
MS
37642014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3765
3766 * config/aarch64/aarch64.h (machine_function): Move
3767 saved_varargs_size from here...
4a450ea0 3768 (aarch64_frame): ... to here.
8799637a
MS
3769
3770 * config/aarch64/aarch64.c (aarch64_expand_prologue)
3771 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
3772 (aarch64_initial_elimination_offset)
3773 (aarch64_setup_incoming_varargs): Adjust location of
3774 saved_varargs_size.
3775
34834420
MS
37762014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
3777
3778 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
3779 layout comment.
3780
aaaa9efc
JP
37812014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
3782 Prachi Godbole <Prachi.Godbole@imgtec.com>
3783
3784 * config/mips/mips-cpus.def: Add definition for p5600. Updated
3785 mips32r5 entry to use PROCESSOR_P5600.
3786 * config/mips/mips-tables.opt: Regenerate.
3787 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
3788 * config/mips/mips.c (mips_fmadd_bypass): New function.
3789 (mips_rtx_cost_data): Add costs for p5600.
3790 (mips_issue_rate): Add support for p5600.
3791 (mips_multipass_dfa_lookahead): Likewise.
3792 * config/mips/mips.h (TUNE_P5600): New define.
3793 (TUNE_MACC_CHAINS): Add TUNE_P5600.
3794 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
3795 * config/mips/mips.md: Include p5600.md.
3796 (processor): Add p5600.
3797 * config/mips/p5600.md: New file.
3798
edbb0749
ES
37992014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
3800
3801 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
3802 * config/i386/predicates.md (palignr_operand): New.
3803 Indicates if permutation is suitable for palignr instruction.
3804
e12355ef
YR
38052014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
3806
3807 PR tree-optimization/61319
3808 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
3809 stmt belongs to loop.
3810
947ca6a0
RB
38112014-06-05 Richard Biener <rguenther@suse.de>
3812
3813 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
3814 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
3815 (lookup_tmp_var): Adjust.
3816 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
3817
63e70d3c
RR
38182014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3819
3820 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
3821
742938c9
MP
38222014-06-05 Marek Polacek <polacek@redhat.com>
3823
3824 PR c/49706
3825 * doc/invoke.texi: Document -Wlogical-not-parentheses.
3826
357ddc7d
TV
38272014-06-04 Tom de Vries <tom@codesourcery.com>
3828
3829 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
3830 CONST_INT.
3831
ca73a1f7
MG
38322014-06-04 Marc Glisse <marc.glisse@inria.fr>
3833
3834 PR tree-optimization/61385
3835 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
3836
ffb1f5ef
BS
38372014-06-04 Bernd Schmidt <bernds@codesourcery.com>
3838
3839 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
3840 changed to use fatal_error.
3841 (main): Ensure lto_wrapper_cleanup is run atexit.
3842
a953491e
RS
38432014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3844
3845 * lra-constraints.c (valid_address_p): Move earlier in file.
3846 (address_eliminator): New structure.
3847 (satisfies_memory_constraint_p): New function.
3848 (satisfies_address_constraint_p): Likewise.
3849 (process_alt_operands, process_address, curr_insn_transform): Use them.
3850
0c331756
RS
38512014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3852
3853 * lra-int.h (lra_static_insn_data): Make operand_alternative a
3854 const pointer.
3855 (target_lra_int, default_target_lra_int, this_target_lra_int)
3856 (op_alt_data): Delete.
3857 * lra.h (lra_init): Delete.
3858 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
3859 (init_insn_code_data_once): Remove op_alt_data handling.
3860 (finish_insn_code_data_once): Likewise.
3861 (init_op_alt_data): Delete.
3862 (get_static_insn_data): Initialize operand_alternative to null.
3863 (free_insn_recog_data): Cast operand_alternative before freeing it.
3864 (setup_operand_alternative): Take the operand_alternative as
3865 parameter and assume it isn't already cached in the static
3866 insn data.
3867 (lra_set_insn_recog_data): Update accordingly.
3868 (lra_init): Delete.
3869 * ira.c (ira_init): Don't call lra_init.
3870 * target-globals.h (this_target_lra_int): Declare.
3871 (target_globals): Remove lra_int.
3872 (restore_target_globals): Update accordingly.
3873 * target-globals.c: Don't include lra-int.h.
3874 (default_target_globals, save_target_globals): Remove lra_int.
3875
1145837d
RS
38762014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3877
3878 * recog.h (operand_alternative): Convert reg_class, reject,
3879 matched and matches into bitfields.
3880 (preprocess_constraints): New overload.
3881 (preprocess_insn_constraints): New function.
3882 (preprocess_constraints): Take the insn as parameter.
3883 (recog_op_alt): Change into a pointer.
3884 (target_recog): Add x_op_alt.
3885 * recog.c (asm_op_alt): New variable.
3886 (recog_op_alt): Change into a pointer.
3887 (preprocess_constraints): New overload, replacing the old function
3888 definition with one that doesn't use global state.
3889 (preprocess_insn_constraints): New function.
3890 (preprocess_constraints): Use them. Take the insn as parameter.
3891 Use asm_op_alt for asms.
3892 (recog_init): Free existing x_op_alt entries.
3893 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
3894 pointer const.
3895 (make_early_clobber_and_input_conflicts): Likewise.
3896 (process_bb_node_lives): Pass the insn to process_constraints.
3897 * reg-stack.c (check_asm_stack_operands): Likewise.
3898 (subst_asm_stack_regs): Likewise.
3899 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
3900 * regrename.c (build_def_use): Likewise.
3901 * sched-deps.c (sched_analyze_insn): Likewise.
3902 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
3903 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
3904 (note_invalid_constants): Likewise.
3905 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
3906 (ix86_legitimate_combined_insn): Make operand_alternative pointer
3907 const.
3908
5f2e0797
RS
39092014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3910
3911 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
3912 * ira-lives.c (check_and_make_def_conflict): Check for disabled
3913 alternatives.
3914 (make_early_clobber_and_input_conflicts): Likewise.
3915 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
3916
5efe5dec
RS
39172014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3918
3919 * recog.h (alternative_class): New function.
3920 (which_op_alt): Return a const recog_op_alt.
3921 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
3922 (subst_asm_stack_regs): Likewise.
3923 * config/arm/arm.c (note_invalid_constants): Likewise.
3924 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
3925 the operand_alternative; use alternative class instead.
3926 * sel-sched.c (get_reg_class): Likewise.
3927 * regrename.c (build_def_use): Likewise.
3928 (hide_operands, restore_operands, record_out_operands): Update type
3929 accordingly.
3930
29d70a0f
RS
39312014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
3932
3933 * recog.h (recog_op_alt): Convert to a flat array.
3934 (which_op_alt): New function.
3935 * recog.c (recog_op_alt): Convert to a flat array.
3936 (preprocess_constraints): Update accordingly, grouping all
3937 operands of the same alternative together, rather than the
3938 other way around.
3939 * ira-lives.c (check_and_make_def_conflict): Likewise.
3940 (make_early_clobber_and_input_conflicts): Likewise.
3941 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
3942 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
3943 (subst_asm_stack_regs): Likewise.
3944 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
3945 * regrename.c (hide_operands, record_out_operands): Likewise.
3946 (build_def_use): Likewise.
3947 * sel-sched.c (get_reg_class): Likewise.
3948 * config/arm/arm.c (note_invalid_constants): Likewise.
3949
fe6ebcf1
JM
39502014-06-04 Jason Merrill <jason@redhat.com>
3951
3952 PR c++/51253
3953 PR c++/61382
3954 * gimplify.c (gimplify_arg): Non-static.
3955 * gimplify.h: Declare it.
3956
38af3208
RB
39572014-06-04 Richard Biener <rguenther@suse.de>
3958
3959 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
3960 TREE_PUBLIC and DECL_EXTERNAL decls.
3961
9ccac701
MF
39622014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
3963
7964957f 3964 * regcprop.c (copyprop_hardreg_forward_1): Account for
9ccac701
MF
3965 HARD_REGNO_CALL_PART_CLOBBERED.
3966
35987ae9
RB
39672014-06-04 Richard Biener <rguenther@suse.de>
3968
3969 * configure.ac: Check whether the underlying type of int64_t
3970 is long or long long.
3971 * configure: Regenerate.
3972 * config.in: Likewise.
3973 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
3974 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
3975
0ea48022
RB
39762014-06-04 Richard Biener <rguenther@suse.de>
3977
3978 PR tree-optimization/60098
3979 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
3980 we hit a kill.
3981 (dse_optimize_stmt): Simplify, now that we found a kill
3982 earlier.
3983
b1259d34
RB
39842014-06-04 Richard Biener <rguenther@suse.de>
3985
3986 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
3987 of accesses with non-invariant address.
3988
8be2dc8c
ML
39892014-06-04 Martin Liska <mliska@suse.cz>
3990
3991 * cgraph.h (cgraph_make_wrapper): New function introduced.
3992 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
3993 * ipa-inline.h (inline_analyze_function): The function is global.
3994 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
3995
8a57e88d
ML
39962014-06-04 Martin Liska <mliska@suse.cz>
3997
3998 * tree.h (private_lookup_attribute_starting): New function.
3999 (lookup_attribute_starting): Likewise.
4000 * tree.c (private_lookup_attribute_starting): Likewise.
4001
d211e471
ML
40022014-06-04 Martin Liska <mliska@suse.cz>
4003
4004 * cgraph.h (expand_thunk): New argument added.
4005 (address_taken_from_non_vtable_p): New global function.
4006 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
4007 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
4008 * cgraphunit.c (analyze_function): Likewise.
4009 (assemble_thunks_and_aliases): Argument added to call.
4010 (expand_thunk): New argument forces to produce GIMPLE thunk.
4011
a96bf0d3
ML
40122014-06-04 Martin Liska <mliska@suse.cz>
4013
4014 * coverage.h (coverage_compute_cfg_checksum): Argument added.
4015 * coverage.c (coverage_compute_cfg_checksum): Likewise.
4016 * profile.c (branch_prob): Likewise.
4017
7d2268ea
MJ
40182014-06-04 Martin Jambor <mjambor@suse.cz>
4019
4020 PR ipa/61340
4021 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
4022 handler for switch on an ipa_ref_use enum.
4023 * ipa-reference.c (analyze_function): Likewise.
4024
0dac3001
KT
40252014-06-04 Kai Tietz <ktietz@redhat.com>
4026
4027 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
4028 from old call-instruction.
4029
348d4b0a
BC
40302014-06-04 Bin Cheng <bin.cheng@arm.com>
4031
4032 * config/aarch64/aarch64.c (aarch64_classify_address)
4033 (aarch64_legitimize_reload_address): Support full addressing modes
4034 for vector modes.
4035 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
4036 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
4037
b9e3afe9
AP
40382014-06-03 Andrew Pinski <apinski@cavium.com>
4039
4040 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
4041 for OP0.
4042
40432014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
4044
4045 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
4046 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
4047
3ce7abdd
KT
40482014-06-03 Kai Tietz <ktietz@redhat.com>
4049
4050 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
4051 for 64-bit ms-abi.
4052
47e78f98
DC
40532014-06-03 Dehao Chen <dehao@google.com>
4054
4055 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
4056 the same loop.
4057
fedfecef
MP
40582014-06-03 Marek Polacek <polacek@redhat.com>
4059
4060 PR c/60439
4061 * doc/invoke.texi: Document -Wswitch-bool.
4062 * function.c (stack_protect_epilogue): Cast controlling expression of
4063 the switch to int.
4064 * gengtype.c (walk_type): Generate switch expression with its
4065 controlling expression cast to int.
4066
40672014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
4068
4069 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
4070 and attiny841.
4071 * config/avr/avr-tables.opt: Regenerate.
4072 * config/avr/t-multilib: Regenerate.
4073 * doc/avr-mmcu.texi: Regenerate.
4074
fedfecef
MP
40752014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
4076 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
4077
4078 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
4079 (ata6617c, ata664251): Add new avr35 devices.
4080 (ata6612c): Add new avr4 device.
4081 (ata6613c, ata6614q): Add new avr5 devices.
4082 * config/avr/avr-tables.opt: Regenerate.
4083 * config/avr/t-multilib: Regenerate.
4084 * doc/avr-mmcu.texi: Regenerate.
4085
918621d3
AL
40862014-06-03 Alan Lawrence <alan.lawrence@arm.com>
4087
4088 * gcc/config/aarch64/aarch64-builtins.c
4089 (aarch64_types_binop_ssu_qualifiers): New static data.
4090 (TYPES_BINOP_SSU): Define.
4091 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
4092 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
4093 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
4094 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
4095 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
4096 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
4097 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
4098 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
4099 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
4100 suffix to builtin function name, remove cast.
4101 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
4102 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
4103 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
4104
de10bcce
AL
41052014-06-03 Alan Lawrence <alan.lawrence@arm.com>
4106
4107 * gcc/config/aarch64/aarch64-builtins.c
4108 (aarch64_types_binop_uus_qualifiers,
4109 aarch64_types_shift_to_unsigned_qualifiers,
4110 aarch64_types_unsigned_shiftacc_qualifiers): Define.
4111 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
4112 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
4113 sqshlu_n, uqshl_n): Update qualifiers.
4114 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
4115 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
4116 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
4117 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
4118 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
4119 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
4120 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
4121 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
4122 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
4123 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
4124 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
4125 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
4126 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
4127 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
4128 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
4129 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
4130 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
4131 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
4132 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
4133 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
4134 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
4135 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
4136 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
4137 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
4138 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
4139 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
4140 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
4141
878d3618
TJ
41422014-06-03 Teresa Johnson <tejohnson@google.com>
4143
4144 * tree-sra.c (modify_function): Record caller nodes after rebuild.
4145
616abc64
JM
41462014-06-02 Jason Merrill <jason@redhat.com>
4147
4148 PR c++/61020
4149 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
4150
b31e65bb
AL
41512014-06-03 Alan Lawrence <alan.lawrence@arm.com>
4152
4153 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
4154 location == 0.
4155
923fcec3
AL
41562014-06-03 Alan Lawrence <alan.lawrence@arm.com>
4157
4158 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
4159 New pattern.
4160 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
4161 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
4162 * config/aarch64/iterators.md (REVERSE): New iterator.
4163 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
4164 (rev_op): New int_attribute.
4165 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
4166 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
4167 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
4168 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
4169 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
4170 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
4171 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
4172 Replace temporary __asm__ with __builtin_shuffle.
4173
7b11cab7 41742014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
4175
4176 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
4177 mips64r5.
4178 * config/mips/mips-tables.opt: Regenerate.
4179 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
4180 to use mips_isa_rev rather than ISA_MIPS32R2.
4181 * config/mips/mips.h (ISA_MIPS32R3): New define.
4182 (ISA_MIPS32R5): New define.
4183 (ISA_MIPS64R3): New define.
4184 (ISA_MIPS64R5): New define.
7b11cab7
UB
4185 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
4186 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
4187 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
4188 and mips64r5.
4189 (MIPS_ISA_SYNCI_SPEC): Likewise.
4190 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
4191 (LINK_SPEC): Added mips32r3 and mips32r5.
4192 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
4193 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
4194 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
4195 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
4196 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
4197 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
4198 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
4199
35773f53
AB
42002014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
4201
4202 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
4203 options.
4204 * config/mips/mips.opt (mxpa): New option.
7b11cab7 4205 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
4206 assembler.
4207
d3fb5cf0
MJ
42082014-06-03 Martin Jambor <mjambor@suse.cz>
4209
4210 PR ipa/61160
4211 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
4212 thunks.
4213
3cc272c1
TP
42142014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
4215
4216 PR tree-optimization/61328
4217 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
4218 initialization from find_bswap_or_nop_1.
4219 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
4220 in source_expr2 before using the size value the function sets. Also
4221 make use of init_symbolic_number () in both the old place and
4222 find_bswap_or_nop_load () to avoid reading uninitialized memory when
4223 doing recursion in the GIMPLE_BINARY_RHS case.
4224
597c6315
RB
42252014-06-03 Richard Biener <rguenther@suse.de>
4226
4227 PR tree-optimization/61383
4228 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
4229 stmts can't trap.
4230
b48e9677
RS
42312014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
4232
4233 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
4234 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
4235 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
4236 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
4237 in this file.
4238 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
4239 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
4240 * system.h: ...here and make it unconditional.
4241 * target.def (conditional_register_usage): Mention
4242 define_register_constraint instead of old-style constraint macros.
4243 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
4244 * doc/tm.texi: Regenerate.
4245 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
4246 protected by !USE_MD_CONSTRAINTS.
4247 * config/frv/frv.md: Remove quote from old version of documentation.
4248 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
4249 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
4250 CONST_DOUBLE_OK_FOR_LETTER.
4251 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
4252
b94f5533 42532014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 4254
3a87ac45
AP
4255 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
4256 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
4257 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
4258 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
4259 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
4260 Handle LP64 better and handle ilp32 too.
b94f5533
AP
4261 (MULTILIB_OPTIONS): Delete.
4262 (MULTILIB_DIRNAMES): Delete.
4263
9b2b7279
AM
42642014-06-02 Andrew MacLeod <amacleod@redhat.com>
4265
4266 * expr.h: Remove prototypes of functions defined in builtins.c.
4267 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
4268 Remove prototypes of functions defined in builtins.c.
4269 * builtins.h: Update prototype list to include all exported functions.
4270 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
4271 no_c99_libc_has_function): Move to targhooks.c
4272 (build_string_literal, build_call_expr_loc_array,
4273 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
4274 to tree.c.
4275 (expand_builtin_object_size, fold_builtin_object_size): Make static.
4276 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
4277 no_c99_libc_has_function): Relocate from builtins.c.
4278 * tree.c: Include builtins.h.
4279 (build_call_expr_loc_array, build_call_expr_loc_vec,
4280 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
4281 from builtins.c.
4282 * fold-const.h (fold_fma): Move prototype to builtins.h.
4283 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
4284 * asan.c: Include builtins.h.
4285 * cfgexpand.c: Likewise.
4286 * convert.c: Likewise.
4287 * emit-rtl.c: Likewise.
4288 * except.c: Likewise.
4289 * expr.c: Likewise.
4290 * fold-const.c: Likewise.
4291 * gimple-fold.c: Likewise.
4292 * gimple-ssa-strength-reduction.c: Likewise.
4293 * gimplify.c: Likewise.
4294 * ipa-inline.c: Likewise.
4295 * ipa-prop.c: Likewise.
4296 * lto-streamer-out.c: Likewise.
4297 * stmt.c: Likewise.
4298 * tree-inline.c: Likewise.
4299 * tree-object-size.c: Likewise.
4300 * tree-sra.c: Likewise.
4301 * tree-ssa-ccp.c: Likewise.
4302 * tree-ssa-forwprop.c: Likewise.
4303 * tree-ssa-loop-ivcanon.c: Likewise.
4304 * tree-ssa-loop-ivopts.c: Likewise.
4305 * tree-ssa-math-opts.c: Likewise.
4306 * tree-ssa-reassoc.c: Likewise.
4307 * tree-ssa-threadedge.c: Likewise.
4308 * tree-streamer-in.c: Likewise.
4309 * tree-vect-data-refs.c: Likewise.
4310 * tree-vect-patterns.c: Likewise.
4311 * tree-vect-stmts.c: Likewise.
4312 * config/aarch64/aarch64.c: Likewise.
4313 * config/alpha/alpha.c: Likewise.
4314 * config/arc/arc.c: Likewise.
4315 * config/arm/arm.c: Likewise.
4316 * config/avr/avr.c: Likewise.
4317 * config/bfin/bfin.c: Likewise.
4318 * config/c6x/c6x.c: Likewise.
4319 * config/cr16/cr16.c: Likewise.
4320 * config/cris/cris.c: Likewise.
4321 * config/epiphany/epiphany.c: Likewise.
4322 * config/fr30/fr30.c: Likewise.
4323 * config/frv/frv.c: Likewise.
4324 * config/h8300/h8300.c: Likewise.
4325 * config/i386/i386.c: Likewise.
4326 * config/i386/winnt.c: Likewise.
4327 * config/ia64/ia64.c: Likewise.
4328 * config/iq2000/iq2000.c: Likewise.
4329 * config/lm32/lm32.c: Likewise.
4330 * config/m32c/m32c.c: Likewise.
4331 * config/m32r/m32r.c: Likewise.
4332 * config/m68k/m68k.c: Likewise.
4333 * config/mcore/mcore.c: Likewise.
4334 * config/mep/mep.c: Likewise.
4335 * config/microblaze/microblaze.c: Likewise.
4336 * config/mips/mips.c: Likewise.
4337 * config/mmix/mmix.c: Likewise.
4338 * config/mn10300/mn10300.c: Likewise.
4339 * config/moxie/moxie.c: Likewise.
4340 * config/msp430/msp430.c: Likewise.
4341 * config/nds32/nds32.c: Likewise.
4342 * config/pa/pa.c: Likewise.
4343 * config/pdp11/pdp11.c: Likewise.
4344 * config/picochip/picochip.c: Likewise.
4345 * config/rl78/rl78.c: Likewise.
4346 * config/rs6000/rs6000.c: Likewise.
4347 * config/rx/rx.c: Likewise.
4348 * config/s390/s390.c: Likewise.
4349 * config/score/score.c: Likewise.
4350 * config/sh/sh.c: Likewise.
4351 * config/sparc/sparc.c: Likewise.
4352 * config/spu/spu.c: Likewise.
4353 * config/stormy16/stormy16.c: Likewise.
4354 * config/tilegx/tilegx.c: Likewise.
4355 * config/tilepro/tilepro.c: Likewise.
4356 * config/v850/v850.c: Likewise.
4357 * config/vax/vax.c: Likewise.
4358 * config/xtensa/xtensa.c: Likewise.
4359
0d732cca
JL
43602014-06-02 Jeff Law <law@redhat.com>
4361
4362 PR rtl-optimization/61094
4363 * ree.c (combine_reaching_defs): Do not reextend an insn if it
4364 was marked as do_no_reextend. If a copy is needed to eliminate
4365 an extension, then mark it as do_not_reextend.
4366
a2adad8b
MS
43672014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
4368
4369 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
4370
20a951e6
RH
43712014-06-02 Richard Henderson <rth@redhat.com>
4372
4373 PR target/61336
4374 * config/alpha/alpha.c (print_operand_address): Allow symbolic
4375 addresses inside asms. Use output_operand_lossage instead of
4376 gcc_unreachable.
4377
40c0a159
UB
43782014-06-02 Uros Bizjak <ubizjak@gmail.com>
4379
4380 PR target/61239
4381 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
4382 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
4383
94bfa2da
TV
43842014-06-02 Tom de Vries <tom@codesourcery.com>
4385
4386 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
4387 case that x has VOIDmode.
4388
4a1f940f
BS
43892014-06-02 Bernd Schmidt <bernds@codesourcery.com>
4390
4391 * varasm.c (copy_constant): Delete function.
4392 (build_constant_desc): Don't call it.
4393
27e83a44
RR
43942014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4395
4396 PR target/61154
4397 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
4398 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
4399 with immediate_operand.
4400
31815ed7
AS
44012014-06-02 Andreas Schwab <schwab@suse.de>
4402
4403 * config/ia64/ia64.c
4404 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
4405 pending_data_specs first.
4406
61dd7fbc
RB
44072014-06-02 Richard Biener <rguenther@suse.de>
4408
4409 PR tree-optimization/61378
4410 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
4411 valueized_anything.
4412
1828d3e6
UB
44132014-06-01 Uros Bizjak <ubizjak@gmail.com>
4414
4415 * config/i386/constraints.md (Bw): Rename from 'w'.
4416 (Bz): Rename from 'z'.
4417 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
4418
6041d142
KT
44192014-06-01 Kai Tietz <ktietz@redhat.com>
4420
4421 PR target/61377
1828d3e6
UB
4422 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
4423 * config/i386/i386.md (sibcall_insn_operand): Use Bs
4424 instead of m constraint.
6041d142 4425
aef1bf3b
AS
44262014-05-31 Andreas Schwab <schwab@linux-m68k.org>
4427
4428 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
4429 a separate alternative where the scratch operand 2 is marked as
4430 early clobber.
4431
f10743d3
KV
44322014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
4433
4434 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
4435 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
4436 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
4437 and __builtins_arm_get_fpscr.
4438 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
4439 __builtins_arm_get_fpscr.
4440 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
4441 __builtins_arm_ldfpscr.
4442 (arm_atomic_assign_expand_fenv): New function.
4443 * config/arm/vfp.md (set_fpscr): New pattern.
4444 (get_fpscr) : Likewise.
4445 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
4446 VUNSPEC_SET_FPSCR.
4447 * doc/extend.texi (AARCH64 Built-in Functions) : Document
4448 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
4449
40f9f6bb
JJ
44502014-05-30 Jakub Jelinek <jakub@redhat.com>
4451
b3f1051b
JJ
4452 * asan.c (report_error_func): Add SLOW_P argument, use
4453 BUILT_IN_ASAN_*_N if set.
4454 (build_check_stmt): Likewise.
4455 (instrument_derefs): If T has insufficient alignment,
4456 force same handling as for odd sizes.
4457
40f9f6bb
JJ
4458 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
4459 BUILT_IN_ASAN_REPORT_STORE_N): New.
4460 * asan.c (struct asan_mem_ref): Change access_size type to
4461 HOST_WIDE_INT.
4462 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
4463 update_mem_ref_hash_table): Likewise.
4464 (asan_mem_ref_hasher::hash): Hash in a HWI.
4465 (report_error_func): Change size_in_bytes argument to HWI.
4466 Use *_N builtins if size_in_bytes is larger than 16 or not power of
4467 two.
4468 (build_shadow_mem_access): New function.
4469 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
4470 Handle size_in_bytes not power of two or larger than 16.
4471 (instrument_derefs): Don't give up if size_in_bytes is not
4472 power of two or is larger than 16.
4473
cb105922
KT
44742014-05-30 Kai Tietz <ktietz@redhat.com>
4475
4476 PR target/60104
4477 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
4478 for sibling-tail-calls.
4479 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
4480 to its use.
4481 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
4482 (sibcall_insn_operand): Add check for sibcall_memory_operand.
4483
150e0639
PS
44842014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
4485
4486 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
4487 * config/avr/avr-tables.opt: Regenerate.
4488 * config/avr/t-multilib: Regenerate.
4489 * doc/avr-mmcu.texi: Regenerate.
4490
f9a8f6d9
ILT
44912014-05-30 Ian Lance Taylor <iant@google.com>
4492
4493 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
4494 target("sse").
4495
5028356f
TV
44962014-05-30 Tom de Vries <tom@codesourcery.com>
4497
4498 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
4499 Redefine as true.
4500
10e1bdb2
TV
45012014-05-30 Tom de Vries <tom@codesourcery.com>
4502
4503 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
4504 * lra.c (initialize_lra_reg_info_element): Add init of
4505 actual_call_used_reg_set field.
4506 (lra): Call lra_create_live_ranges before lra_inheritance for
4507 -fuse-caller-save.
4508 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
4509 -fuse-caller-save.
4510 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
4511 instead of call_used_reg_set for -fuse-caller-save.
4512 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
4513
56912037
KT
45142014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4515
4516 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
4517 to mov_imm.
4518 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
4519
98f2f031
RS
45202014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
4521
4522 * ira.c (ira_get_dup_out_num): Check for output operands at
4523 the start of the loop. Handle cases where an included alternative
4524 follows an excluded one.
4525
79abf19f
MS
45262014-05-29 Mike Stump <mikestump@comcast.net>
4527
4528 PR debug/61352
4529 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
4530 post ld passes when lto is used.
4531
cc8849a1
VM
45322014-05-29 Vladimir Makarov <vmakarov@redhat.com>
4533
4534 PR rtl-optimization/61325
40c0a159 4535 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
4536 (process_address): New function.
4537
ae0533da
AL
45382014-05-29 Alan Lawrence <alan.lawrence@arm.com>
4539
4540 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
4541 TYPES_BINOPV): New static data.
40c0a159
UB
4542 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
4543 New builtin.
4544 * config/aarch64/aarch64-simd.md (aarch64_ext,
4545 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
4546 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
4547 patterns for EXT.
4548 (aarch64_evpc_ext): New function.
4549
4550 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
4551
4552 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
4553 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
4554 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
4555 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
4556 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
4557
ed00b1fb
TV
45582014-05-29 Tom de Vries <tom@codesourcery.com>
4559
4560 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
4561
004d3809 45622014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 4563 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 4564
40c0a159
UB
4565 * arm/iterators.md (shiftable_ops): New code iterator.
4566 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 4567 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
4568 * arm/arm.md (insn_enabled): Delete.
4569 (enabled): Remove insn_enabled test.
4570 (*arith_shiftsi): Delete. Replace with ...
4571 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
4572 (*<arith_shift_insn>_shiftsi): ... new pattern.
4573 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
4574
c2db3f3d 45752014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 4576 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
4577
4578 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
4579 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
4580 clobber.
4581 (mips_split_call): Use POST_CALL_TMP_REG.
4582 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
4583
4b29b965
TV
45842014-05-29 Tom de Vries <tom@codesourcery.com>
4585
4586 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
4587 with #ifdef STACK_REGS.
4588
726f0774
JH
45892014-05-28 Jan Hubicka <hubicka@ucw.cz>
4590
4591 * varasm.c (get_variable_section): Walk aliases.
4592 (place_block_symbol): Walk aliases.
4593
ea0b381f
TV
45942014-05-28 Tom de Vries <tom@codesourcery.com>
4595
4596 Revert:
4597 2014-05-28 Tom de Vries <tom@codesourcery.com>
4598
4599 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
4600 * lra.c (initialize_lra_reg_info_element): Add init of
4601 actual_call_used_reg_set field.
4602 (lra): Call lra_create_live_ranges before lra_inheritance for
4603 -fuse-caller-save.
4604 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
4605 -fuse-caller-save.
40c0a159
UB
4606 * lra-constraints.c (need_for_call_save_p): Use
4607 actual_call_used_reg_set instead of call_used_reg_set for
4608 -fuse-caller-save.
ea0b381f
TV
4609 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
4610
73f793e3
RS
46112014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
4612
4613 * doc/md.texi: Document that the % constraint character must
4614 be at the beginning of the string.
4615 * genoutput.c (validate_insn_alternatives): Check that '=',
4616 '+' and '%' only appear at the beginning of a constraint.
4617 * ira.c (commutative_constraint_p): Delete.
4618 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
4619 at the start of the string.
4620 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
4621 duplicate '='s.
4622 * config/arm/neon.md (bicdi3_neon): Likewise.
4623 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
4624 (slt_si, sltu_si): Likewise.
4625 * config/vax/vax.md (sbcdi3): Likewise.
4626 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
4627 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
4628 (mul64): Move '%' to beginning of constraint.
4629 * config/arm/arm.md (*xordi3_insn): Likewise.
4630 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
4631 (xorsi3): Likewise.
4632
5a7555ab
RS
46332014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
4634
4635 * doc/md.texi: Document the restrictions on the "enabled" attribute.
4636
d67ff7b7
JM
46372014-05-28 Jason Merrill <jason@redhat.com>
4638
4639 PR c++/47202
4640 * cgraph.h (symtab_node::get_comdat_group_id): New.
4641 * cgraphunit.c (analyze_functions): Call it.
4642 * symtab.c (dump_symtab_node): Likewise.
4643 * tree.c (decl_comdat_group_id): New.
4644 * tree.h: Declare it.
4645 * lto-streamer-out.c (write_symbol): Use it.
4646 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
4647
ecc7533a
FXC
46482014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4649
4650 PR bootstrap/PR61146
4651 * wide-int.cc: Do not include longlong.h when compiling with clang.
4652
6e5799b9
RB
46532014-05-28 Richard Biener <rguenther@suse.de>
4654
4655 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
4656 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
4657 (vrp_visit_assignment_or_call): Print less vertical space.
4658 (vrp_visit_stmt): Likewise.
4659 (vrp_visit_phi_node): Likewise. For a PHI argument with
4660 VR_VARYING range consider recording it as copy.
4661
47f9fca8
RB
46622014-05-28 Richard Biener <rguenther@suse.de>
4663
4664 Revert
4665 2014-05-28 Richard Biener <rguenther@suse.de>
4666
4667 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
4668
7fbf8a3e
BE
46692014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
4670
4671 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
4672 sufficiently aligned and an offset is used at the same time.
4673 (expand_expr_real_1): Likewise.
4674
b017a174
RB
46752014-05-28 Richard Biener <rguenther@suse.de>
4676
4677 PR middle-end/61045
4678 * fold-const.c (fold_comparison): When folding
4679 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
4680 the sign of the remaining constant operand stays the same.
4681
96360888
KP
46822014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
4683
4684 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
4685 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
4686 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
4687 to the assembler.
40c0a159 4688 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
4689 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
4690 (m32bit-doubles) Likewise.
4691 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
4692 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
4693 option for RL78.
4694
3c698bf0
RO
46952014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4696
4697 * configure.ac ($gcc_cv_ld_clearcap): New test.
4698 * configure: Regenerate.
4699 * config.in: Regenerate.
4700 * config/sol2.opt (mclear-hwcap): New option.
4701 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
4702 * config/sol2-clearcap.map: Moved here from
4703 testsuite/gcc.target/i386/clearcap.map.
4704 * config/sol2-clearcapv2.map: Move here from
4705 gcc.target/i386/clearcapv2.map.
4706 * config/t-sol2 (install): Depend on install-clearcap-map.
4707 (install-clearcap-map): New target.
4708 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
4709 -mclear-hwcap.
4710
4c8bd90f
RB
47112014-05-28 Richard Biener <rguenther@suse.de>
4712
4713 * hwint.h (*_HALF_WIDE_INT*): Move to ...
4714 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
4715 ... here and remove the rest.
4716 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
4717
a896172d
RB
47182014-05-28 Richard Biener <rguenther@suse.de>
4719
4720 PR tree-optimization/61335
4721 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
4722 new range fails, drop to varying.
4723
c41f1c42
BE
47242014-05-28 Olivier Hainque <hainque@adacore.com>
4725
4726 * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
4727 (CPP_SPEC): Add entry for -mcpu=8548.
4728 * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
4729 * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
4730
b8c6a45a
TV
47312014-05-28 Tom de Vries <tom@codesourcery.com>
4732
4733 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
4734 * lra.c (initialize_lra_reg_info_element): Add init of
4735 actual_call_used_reg_set field.
4736 (lra): Call lra_create_live_ranges before lra_inheritance for
4737 -fuse-caller-save.
4738 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
4739 -fuse-caller-save.
40c0a159
UB
4740 * lra-constraints.c (need_for_call_save_p): Use
4741 actual_call_used_reg_set instead of call_used_reg_set for
4742 -fuse-caller-save.
b8c6a45a
TV
4743 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
4744
dbe7d9e3 47452014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4746 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 4747
40c0a159
UB
4748 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
4749 to gccoptlist.
dbe7d9e3
RO
4750 (@item -fuse-caller-save): New item.
4751
5c989bbf 47522014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4753 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
4754
4755 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
4756 OPT_fuse_caller_save.
4757
c2ba7e7a 47582014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4759 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
4760
4761 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
4762 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
4763 get_call_reg_set_usage.
4764 * resource.c (mark_set_resources, mark_target_live_regs): Use
4765 get_call_reg_set_usage.
4766 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
4767 field.
4768 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
4769 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
4770 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
4771 * ira-build.c (ira_create_allocno): Init
4772 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
4773 (create_cap_allocno, propagate_allocno_info)
4774 (propagate_some_info_from_allocno)
4775 (copy_info_to_removed_store_destinations): Handle
4776 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
4777 * ira-costs.c (ira_tune_allocno_costs): Use
4778 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
4779
27c07cc5 47802014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 4781 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
4782
4783 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
4784 and function_used_regs_valid fields.
4785 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
4786 find_all_hard_reg_sets.
4787 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
4788 (get_call_reg_set_usage): New function.
4789 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
4790 * regs.h (get_call_reg_set_usage): Declare.
4791
ca48e5ef
GJL
47922014-05-28 Georg-Johann Lay <avr@gjlay.de>
4793
4794 PR libgcc/61152
4795 * config/dbx.h (License): Add Runtime Library Exception.
4796 * config/newlib-stdint.h (License): Same.
4797 * config/rtems.h (License): Same
4798 * config/initfini-array.h (License): Same
4799 * config/v850/v850.h (License): Same.
4800 * config/v850/v850-opts.h (License): Same
4801 * config/v850/rtems.h (License): Same.
4802
92747f7d
GJL
48032014-05-28 Georg-Johann Lay <avr@gjlay.de>
4804
4805 PR target/61044
4806 * doc/extend.texi (Local Labels): Note that label differences are
4807 not supported for AVR.
4808
c41f1c42
BE
48092014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
4810 Olivier Hainque <hainque@adacore.com>
4811
4812 * rtl.h (set_for_reg_notes): Declare.
4813 * emit-rtl.c (set_for_reg_notes): New function.
4814 (set_unique_reg_note): Use it.
4815 * optabs.c (add_equal_note): Likewise
4816
9c6ab05f
AP
48172014-05-27 Andrew Pinski <apinski@cavium.com>
4818
4819 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
4820 Use <w> for the register in assembly template.
40c0a159 4821 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
4822 (stack_protect_test_<mode>): Use <w> for the register
4823 in assembly template.
4824
69c7a374
DD
48252014-05-27 DJ Delorie <dj@redhat.com>
4826
4827 * config/rx/rx.c (add_vector_labels): New.
4828 (rx_output_function_prologue): Call it.
4829 (rx_handle_func_attribute): Don't require empty arguments.
4830 (rx_handle_vector_attribute): New.
4831 (rx_attribute_table): Add "vector" attribute.
4832 * doc/extend.texi (interrupt, vector): Document new/changed
4833 RX-specific attributes.
4834
4835 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
4836
5e67547d
EB
48372014-05-27 Eric Botcazou <ebotcazou@adacore.com>
4838
4839 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
4840 predicate to detect a negative quotient.
4841
d378c07e
EB
48422014-05-27 Eric Botcazou <ebotcazou@adacore.com>
4843
4844 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
4845 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
4846 Add X - Y CMP 0 to X CMP Y transformation.
4847 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
4848
3ce6c715
SB
48492014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
4850
4851 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
4852 before printing.
4853
11237229
SE
48542014-05-27 Steve Ellcey <sellcey@mips.com>
4855
4856 * config/mips/mips.c: Add include of cgraph.h.
4857
7ea7f668
RB
48582014-05-27 Richard Biener <rguenther@suse.de>
4859
4860 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
4861
c7eca9fe
GJL
48622014-05-27 Georg-Johann Lay <avr@gjlay.de>
4863
4864 PR libgcc/61152
4865 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
4866 * config/arm/arm-cores.def (License): Same.
4867 * config/arm/arm-opts.h (License): Same.
4868 * config/arm/aout.h (License): Same.
4869 * config/arm/bpabi.h (License): Same.
4870 * config/arm/elf.h (License): Same.
4871 * config/arm/linux-elf.h (License): Same.
4872 * config/arm/linux-gas.h (License): Same.
4873 * config/arm/netbsd-elf.h (License): Same.
4874 * config/arm/uclinux-eabi.h (License): Same.
4875 * config/arm/uclinux-elf.h (License): Same.
4876 * config/arm/vxworks.h (License): Same.
4877
7a10ea9f
KT
48782014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4879
4880 * config/arm/neon.md (neon_bswap<mode>): New pattern.
4881 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
4882 (arm_init_neon_builtins): Handle NEON_BSWAP.
4883 Define required type nodes.
4884 (arm_expand_neon_builtin): Handle NEON_BSWAP.
4885 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
4886 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
4887 * config/arm/iterators.md (VDQHSD): New mode iterator.
4888
597f5997
RB
48892014-05-27 Richard Biener <rguenther@suse.de>
4890
4891 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
4892 Try using literal operands when comparing value-ranges failed.
4893
f571b63f
RS
48942014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
4895
4896 * ira.c (commutative_operand): Adjust for change to recog_data.
4897 [Missing from previous commit.]
4898
4cc8d9d2
RS
48992014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
4900
4901 * system.h (TEST_BIT): New macro.
4902 * recog.h (alternative_mask): New type.
4903 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
4904 (recog_data_d): Replace alternative_enabled_p array with
4905 enabled_alternatives.
4906 (target_recog): New structure.
4907 (default_target_recog, this_target_recog): Declare.
4908 (get_enabled_alternatives, recog_init): Likewise.
4909 * recog.c (default_target_recog, this_target_recog): New variables.
4910 (get_enabled_alternatives): New function.
4911 (extract_insn): Use it.
4912 (recog_init): New function.
4913 (preprocess_constraints, constrain_operands): Adjust for change to
4914 recog_data.
4915 * postreload.c (reload_cse_simplify_operands): Likewise.
4916 * reload.c (find_reloads): Likewise.
4917 * ira-costs.c (record_reg_classes): Likewise.
4918 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
4919 all alternatives after a disabled one would be skipped.
4920 (ira_implicitly_set_insn_hard_regs): Likewise.
4921 * ira.c (ira_setup_alts): Adjust for change to recog_data.
4922 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
4923 with enabled_alternatives.
4924 * lra.c (free_insn_recog_data): Update accordingly.
4925 (lra_update_insn_recog_data): Likewise.
4926 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
4927 * lra-constraints.c (process_alt_operands): Likewise. Handle
4928 only_alternative as part of the enabled mask.
4929 * target-globals.h (this_target_recog): Declare.
4930 (target_globals): Add a recog field.
4931 (restore_target_globals): Restore this_target_recog.
4932 * target-globals.c: Include recog.h.
4933 (default_target_globals): Initialize recog field.
4934 (save_target_globals): Likewise.
4935 * reginfo.c (reinit_regs): Call recog_init.
4936 * toplev.c (backend_init_target): Likewise.
4937
9921417d
RS
49382014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
4939
4940 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
4941 rather than any named insn's code.
4942
a5024e01
GJL
49432014-05-27 Georg-Johann Lay <avr@gjlay.de>
4944
4945 PR libgcc/61152
4946 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
4947 * config/arm/arm-cores.def (License): Same.
4948
50efcce1
JH
49492014-05-26 Jan Hubicka <hubicka@ucw.cz>
4950
4951 * tree.h (decl_comdat_group): Declare.
4952 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
4953 * tree.c (decl_comdat_group): Here.
4954
3e26c8f6
RS
49552014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
4956
4957 PR rtl-optimization/61222
4958 * combine.c (simplify_shift_const_1): When moving a PLUS outside
4959 the shift, truncate the PLUS operand to the result mode.
4960
b8140cd6
UB
49612014-05-26 Uros Bizjak <ubizjak@gmail.com>
4962
4963 PR target/61271
4964 * config/i386/i386.c (ix86_rtx_costs)
4965 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
4966 Fix condition.
4967
acea91c9
MJ
49682014-05-26 Martin Jambor <mjambor@suse.cz>
4969
4970 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
4971 subreg uses.
4972
d93461f7
RB
49732014-05-26 Richard Biener <rguenther@suse.de>
4974
4975 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
4976 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
4977 Provide specializations.
4978 (wi::int_traits <HOST_WIDE_INT>,
4979 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
4980
bfe51f42
AM
49812014-05-26 Alan Modra <amodra@gmail.com>
4982
4983 PR target/61098
4984 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
4985 params and return a bool. Remove dead code. Update comment.
4986 Assert we have a const_int source. Remove bogus code from
4987 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
4988 handling of constants > 2G and reg_equal note, from..
4989 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
4990 return value. Update comment. If we can, use a new pseudo
4991 for intermediate calculations.
4992 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
4993 prototype.
4994 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
4995 call to rs6000_emit_set_const in splitter.
4996 (movdi_internal64+2, +3): Likewise.
4997
a9243bfc
RB
49982014-05-26 Richard Biener <rguenther@suse.de>
4999
5000 * system.h: Define __STDC_FORMAT_MACROS before
5001 including inttypes.h.
5002 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
5003 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
5004 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
5005 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
5006 HOST_WIDEST_INT_C): Remove.
5007 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
5008 if C99 inttypes.h is not available.
5009 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
5010 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
5011 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
5012 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
5013 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
5014 (struct output_info): Likewise.
5015 (print_statistics): Adjust.
5016 (dump_bitmap_statistics): Likewise.
5017 * bt-load.c (migrate_btr_defs): Print with PRId64.
5018 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
5019 (MAX_SAFE_MULTIPLIER): Adjust.
5020 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
5021 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
5022 dump_cgraph_node): Likewise.
5023 * final.c (dump_basic_block_info): Likewise.
5024 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
5025 * gcov.c (format_gcov): Likewise.
5026 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
5027 for calculation.
5028 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
5029 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
5030 (inline_small_functions, dump_overall_stats, dump_inline_stats):
5031 Use PRId64 for dumping.
5032 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
5033 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
5034 (add_allocno_hard_regs): Adjust.
5035 * loop-doloop.c (doloop_modify): Print using PRId64.
5036 * loop-iv.c (inverse): Compute in uint64_t.
5037 (determine_max_iter, iv_number_of_iterations): Likewise.
5038 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
5039 Print using PRId64.
5040 * lto-streamer-out.c (write_symbol): Use uint64_t.
5041 * mcf.c (CAP_INFINITY): Use int64_t maximum.
5042 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
5043 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
5044 * modulo-sched.c (const_iteration_count): Use int64_t.
5045 (sms_schedule): Dump using PRId64.
5046 * predict.c (dump_prediction): Likewise.
5047 * pretty-print.h (pp_widest_integer): Remove.
5048 * profile.c (get_working_sets, is_edge_inconsistent,
5049 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
5050 * tree-pretty-print.c (pp_double_int): Remove case handling
5051 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
5052 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
5053 and adjust users.
5054 (pass_optimize_bswap::execute): Remove restriction on hosts.
5055 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
5056 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
5057 * tree.c (widest_int_cst_value): Remove.
5058 * tree.h (widest_int_cst_value): Likewise.
5059 * value-prof.c (dump_histogram_value): Print using PRId64.
5060 * gengtype.c (main): Also inject int64_t.
5061 * ggc-page.c (struct max_alignment): Use int64_t.
5062 * alloc-pool.c (struct allocation_object_def): Likewise.
5063 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
5064 for computation.
5065 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
5066 * doc/tm.texi: Regenerated.
5067 * gengtype-lex.l (IWORD): Handle [u]int64_t.
5068 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
5069 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
5070 mmix_output_register_setting): Use [u]int64_t in prototypes.
5071 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
5072 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
5073 mmix_output_octa, mmix_output_shifted_value): Adjust.
5074 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 5075 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 5076
edf6ddf6
RB
50772014-05-26 Richard Biener <rguenther@suse.de>
5078
5079 * configure.ac: Drop __int64 type check. Insist that we
5080 found uint64_t and int64_t.
5081 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 5082 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
5083 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
5084 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
5085 (HOST_WIDEST_FAST_INT): Remove __int64 case.
5086 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
5087 for dst_q_src_df_rms_cdt.
5088 * configure: Regenerate.
5089 * config.in: Likewise.
5090
d4082970
MT
50912014-05-26 Michael Tautschnig <mt@debian.org>
5092
5093 PR target/61249
49f002b6
UB
5094 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
5095 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 5096
d29d688a
ZC
50972014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5098
5099 PR rtl-optimization/61278
5100 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
5101
88f32f0f
ZC
51022014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5103
5104 PR rtl-optimization/61220
5105 Part of PR rtl-optimization/61225
5106 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
5107 insn; skip split_edge for a block with only one successor.
5108
97ae6b64
JH
51092014-05-23 Jan Hubicka <hubicka@ucw.cz>
5110
d4082970
MT
5111 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
5112 for variables.
97ae6b64 5113
07990a5e
JH
51142014-05-23 Jan Hubicka <hubicka@ucw.cz>
5115
5116 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
5117 (update_vtable_references): New function.
5118 (function_and_variable_visibility): Rewrite also vtable initializers.
5119 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
5120
fd1e9302
JH
51212014-05-23 Jan Hubicka <hubicka@ucw.cz>
5122
5123 * ggc.h (ggc_grow): New function.
5124 * ggc-none.c (ggc_grow): New function.
5125 * ggc-page.c (ggc_grow): Likewise.
5126
7f7beb3f
JH
51272014-05-23 Jan Hubicka <hubicka@ucw.cz>
5128
d4082970
MT
5129 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
5130 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
5131 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
5132 varpool_externally_visible_p, can_replace_by_local_alias,
5133 update_visibility_by_resolution_info, function_and_variable_visibility,
5134 pass_data_ipa_function_and_variable_visibility,
5135 make_pass_ipa_function_and_variable_visibility,
5136 whole_program_function_and_variable_visibility,
5137 pass_data_ipa_whole_program_visibility,
5138 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
5139 * cgraph.h (cgraph_local_node_p): Declare.
5140 * ipa-visibility.c: New file.
5141 * Makefile.in (OBJS): Add ipa-visiblity.o
5142
6adda80b
JH
51432014-05-23 Jan Hubicka <hubicka@ucw.cz>
5144
5145 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
5146 that var decl is available.
5147
aede2c10
JH
51482014-05-23 Jan Hubicka <hubicka@ucw.cz>
5149
5150 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
5151 symtab_node pointer.
d4082970 5152 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
5153 (find_decls_types_r): Do not walk COMDAT_GROUP.
5154 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
5155 * varasm.c (make_decl_one_only): Use set_comdat_group;
5156 create node if needed.
5157 * ipa-inline-transform.c (save_inline_function_body): Update
5158 way we decl->symtab mapping.
5159 * symtab.c (symtab_hash, hash_node, eq_node
5160 symtab_insert_node_to_hashtable): Remove.
5161 (symtab_register_node): Update.
5162 (symtab_unregister_node): Update.
5163 (symtab_get_node): Reimplement as inline function.
5164 (symtab_add_to_same_comdat_group): Update.
5165 (symtab_dissolve_same_comdat_group_list): Update.
5166 (dump_symtab_base): Update.
5167 (verify_symtab_base): Update.
5168 (symtab_make_decl_local): Update.
5169 (fixup_same_cpp_alias_visibility): Update.
5170 (symtab_nonoverwritable_alias): Update.
5171 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
5172 * ipa.c (update_visibility_by_resolution_info): UPdate.
5173 * bb-reorder.c: Include cgraph.h
5174 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
5175 with comdat groups.
5176 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
5177 * cgraph.c (cgraph_get_create_node): Update.
5178 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
5179 and comdat_group_.
5180 (symtab_get_node): Make inline.
5181 (symtab_insert_node_to_hashtable): Remove.
5182 (symtab_can_be_discarded): Update.
5183 (decl_comdat_group): New function.
d4082970
MT
5184 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
5185 Update.
aede2c10
JH
5186 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
5187 comdat group name.
5188 (read_comdat_group): New function.
5189 (input_node, input_varpool_node): Use it.
5190 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
5191 comdat groups.
5192 * mips.c (mips_start_unique_function): Likewise.
5193 (ix86_code_end): Likewise.
5194 (rs6000_code_end): Likweise.
d4082970 5195 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 5196
4df199d1
JH
51972014-05-23 Jan Hubicka <hubicka@ucw.cz>
5198
5199 * gengtype-state.c (fatal_reading_state): Bring offline.
5200 * optabs.c (widening_optab_handler): Bring offline.
5201 * optabs.h (widening_optab_handler): Likewise.
5202 * final.c (get_attr_length_1): Likewise.
5203
e0e349f3
JH
52042014-05-23 Jan Hubicka <hubicka@ucw.cz>
5205
5206 * sched-int.h (sd_iterator_cond): Manually tail recurse.
5207
a35dd1fa
SB
52082014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5209
d4082970 5210 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 5211 (ppc440-compare): Include shift with dot.
d4082970 5212 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
5213 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
5214 without dot.
5215 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
5216 without dot.
5217 (e6500_sfx2): Include it.
5218 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
5219 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
5220 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
5221 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
5222 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
5223 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
5224 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
5225 *lshiftrt_internal1le, *lshiftrt_internal1be,
5226 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
5227 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
5228 *rotldi3_internal10le, *rotldi3_internal10be,
5229 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
5230 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
5231 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
5232 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
5233 define_insns): Use type "shift" in the appropriate alternatives.
5234
73c076c8
SB
52352014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5236
5237 * config/rs6000/rs6000.md (type): Add "logical". Delete
5238 "fast_compare".
5239 (dot): Adjust comment.
5240 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
5241 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
5242 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
5243 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
5244 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
5245 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 5246 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
5247 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
5248
d4082970
MT
5249 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
5250 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
5251 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
5252 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
5253 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
5254 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
5255 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
5256 * config/rs6000/8540.md (ppc8540_su): Adjust.
5257 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 5258 cell-cmp-microcoded): Adjust.
d4082970
MT
5259 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
5260 * config/rs6000/e500mc.md (e500mc_su): Adjust.
5261 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
5262 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
5263 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
5264 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
5265 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
5266 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
5267 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 5268 Adjust.
d4082970
MT
5269 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
5270 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 5271 Adjust. Adjust comment.
d4082970
MT
5272 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
5273 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 5274
0cbb4f58
SB
52752014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5276
5277 * config/rs6000/rs6000.md (type): Add "add".
5278 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
5279 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
5280 define_insns): Use it.
5281 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
5282
5283 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
5284 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 5285 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
5286 * config/rs6000/601.md (ppc601-integer): Adjust.
5287 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
5288 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
5289 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
5290 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
5291 * config/rs6000/8540.md (ppc8540_su): Adjust.
5292 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
5293 cell-cmp-microcoded): Adjust.
5294 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
5295 * config/rs6000/e500mc.md (e500mc_su): Adjust.
5296 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
5297 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
5298 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
5299 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
5300 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
5301 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
5302 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
5303 Adjust.
5304 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 5305 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
5306 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
5307 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
5308
892e7fa6
SB
53092014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5310
5311 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
5312 "delayed_compare", "var_delayed_compare".
5313 (var_shift): New attribute.
5314 (cell_micro): Adjust.
5315 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
5316 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
5317 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
5318 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
5319 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
5320 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
5321 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
5322 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
5323 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
5324 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
5325 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
5326 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
5327 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
5328 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
5329 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
5330 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
5331 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
5332 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
5333 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
5334 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
5335 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
5336 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
5337 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
5338 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
5339 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
5340
5341 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
5342 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 5343 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
5344 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
5345 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
5346 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 5347 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
5348 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
5349 * config/rs6000/8540.md (ppc8540_su): Adjust.
5350 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
5351 cell-cmp-microcoded): Adjust.
5352 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
5353 * config/rs6000/e500mc.md (e500mc_su): Adjust.
5354 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
5355 e500mc64_delayed): Adjust.
5356 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
5357 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
5358 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
5359 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
5360 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
5361 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
5362 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 5363 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
5364 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
5365 Adjust comment.
5366 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
5367 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
5368
441e02a5
SB
53692014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5370
d4082970 5371 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
5372 (bits): New mode_attr.
5373 (idiv_ldiv): Delete mode_attr.
5374 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
5375 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
5376 rs6000_adjust_priority, is_nonpipeline_insn,
5377 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
5378
5379 * config/rs6000/40x.md (ppc403-idiv): Adjust.
5380 * config/rs6000/440.md (ppc440-idiv): Adjust.
5381 * config/rs6000/476.md (ppc476-idiv): Adjust.
5382 * config/rs6000/601.md (ppc601-idiv): Adjust.
5383 * config/rs6000/603.md (ppc603-idiv): Adjust.
5384 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
5385 ppc620-ldiv): Adjust.
5386 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
5387 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
5388 * config/rs6000/8540.md (ppc8540_divide): Adjust.
5389 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
5390 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
5391 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
5392 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
5393 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
5394 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
5395 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
5396 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
5397 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
5398 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
5399 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
5400 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
5401 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
5402 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
5403 * config/rs6000/titan.md (titan_fxu_div): Adjust.
5404
58ee9e66
SB
54052014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5406
5407 * config/rs6000/rs6000.md (type): Delete "insert_word",
5408 "insert_dword". Add "insert".
5409 (size): Update comment.
5410 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
5411 insn_must_be_first_in_group): Adjust.
5412 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
5413 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
5414 *insvsi_internal6, insvdi_internal): Adjust.
5415
5416 * config/rs6000/40x.md (ppc403-integer): Adjust.
5417 * config/rs6000/440.md (ppc440-integer): Adjust.
5418 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
5419 * config/rs6000/601.md (ppc601-integer): Adjust.
5420 * config/rs6000/603.md (ppc603-integer): Adjust.
5421 * config/rs6000/6xx.md (ppc604-integer): Adjust.
5422 * config/rs6000/7450.md (ppc7450-integer): Adjust.
5423 * config/rs6000/7xx.md (ppc750-integer): Adjust.
5424 * config/rs6000/8540.md (ppc8540_su): Adjust.
5425 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
5426 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
5427 * config/rs6000/e500mc.md (e500mc_su): Adjust.
5428 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
5429 * config/rs6000/e5500.md (e5500_sfx): Adjust.
5430 * config/rs6000/e6500.md (e6500_sfx): Adjust.
5431 * config/rs6000/mpc.md (mpccore-integer): Adjust.
5432 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
5433 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 5434 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
5435 * config/rs6000/power7.md (power7-integer): Adjust.
5436 * config/rs6000/power8.md (power8-1cyc): Adjust.
5437 * config/rs6000/rs64.md (rs64a-integer): Adjust.
5438 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
5439
e0528ed9
SB
54402014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5441
5442 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
5443 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
5444 (size): New attribute.
5445 (dot): New attribute.
5446 (cell_micro): Adjust.
5447 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
5448 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
5449 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
5450 umuldi3_highpart): Adjust.
5451 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
5452 rs6000_adjust_priority, is_nonpipeline_insn,
5453 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
5454
5455 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
5456 ppc405-imul3): Adjust.
5457 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
5458 * config/rs6000/476.md (ppc476-imul): Adjust.
5459 * config/rs6000/601.md (ppc601-imul): Adjust.
5460 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
5461 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
5462 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
5463 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
5464 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
5465 Adjust.
5466 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
5467 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
5468 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
5469 cell-imul): Adjust.
5470 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
5471 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
5472 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
5473 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
5474 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
5475 * config/rs6000/mpc.md (mpccore-imul): Adjust.
5476 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
5477 power4-lmul, power4-imul, power4-imul3): Adjust.
5478 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
5479 power5-lmul, power5-imul, power5-imul3): Adjust.
5480 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
5481 power6-lmul, power6-imul, power6-imul3): Adjust.
5482 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
5483 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
5484
5485 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
5486 rs64a-lmul): Adjust.
5487 * config/rs6000/titan.md (titan_imul): Adjust.
5488
1263d642
SB
54892014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5490
5491 * config/rs6000/rs6000.md (type): Add new value "halfmul".
5492 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
5493 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
5494 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
5495 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 5496 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
5497 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
5498 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
5499 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
5500 * config/rs6000/titan.md: Delete nonsensical comment.
5501 (titan_imul): Add type imul3.
5502 (titan_mulhw): Remove type imul3; add type halfmul.
5503
1be6301a
SB
55042014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
5505
5506 * config/rs6000/rs6000.md (type): Reorder, reformat.
5507
8aab5218
MJ
55082014-05-23 Martin Jambor <mjambor@suse.cz>
5509
5510 PR tree-optimization/53787
5511 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
5512 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
5513 analysis_done, update all uses.
5514 * ipa-prop.c: Include domwalk.h
5515 (param_analysis_info): Removed.
5516 (param_aa_status): New type.
5517 (ipa_bb_info): Likewise.
5518 (func_body_info): Likewise.
5519 (ipa_get_bb_info): New function.
5520 (aa_overwalked): Likewise.
5521 (find_dominating_aa_status): Likewise.
5522 (parm_bb_aa_status_for_bb): Likewise.
5523 (parm_preserved_before_stmt_p): Changed to use new param AA info.
5524 (load_from_unmodified_param): Accept func_body_info as a parameter
5525 instead of parms_ainfo.
5526 (parm_ref_data_preserved_p): Changed to use new param AA info.
5527 (parm_ref_data_pass_through_p): Likewise.
5528 (ipa_load_from_parm_agg_1): Likewise. Update callers.
5529 (compute_complex_assign_jump_func): Changed to use new param AA info.
5530 (compute_complex_ancestor_jump_func): Likewise.
5531 (ipa_compute_jump_functions_for_edge): Likewise.
5532 (ipa_compute_jump_functions): Removed.
5533 (ipa_compute_jump_functions_for_bb): New function.
5534 (ipa_analyze_indirect_call_uses): Likewise, moved variable
5535 declarations down.
5536 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
5537 and info, moved variable declarations down.
5538 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
5539 node and info.
5540 (ipa_analyze_stmt_uses): Likewise.
5541 (ipa_analyze_params_uses): Removed.
5542 (ipa_analyze_params_uses_in_bb): New function.
5543 (ipa_analyze_controlled_uses): Likewise.
5544 (free_ipa_bb_info): Likewise.
5545 (analysis_dom_walker): New class.
5546 (ipa_analyze_node): Handle node-specific forbidden analysis,
5547 initialize and free func_body_info, use dominator walker.
5548 (ipcp_modif_dom_walker): New class.
5549 (ipcp_transform_function): Create and free func_body_info, use
5550 ipcp_modif_dom_walker, moved a lot of functionality there.
5551
85a16bf8
MP
55522014-05-23 Marek Polacek <polacek@redhat.com>
5553 Jakub Jelinek <jakub@redhat.com>
5554
5555 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
5556 * gcc.c (sanitize_spec_function): Likewise.
5557 * convert.c (convert_to_integer): Include "ubsan.h". Add
5558 floating-point to integer instrumentation.
5559 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
5560 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
5561 SANITIZE_NONDEFAULT.
5562 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
5563 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
5564 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
5565 * ubsan.c: Include "realmpfr.h" and "dfp.h".
5566 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
5567 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
5568 float/double/long double.
5569 (ubsan_instrument_float_cast): New function.
5570 * ubsan.h (ubsan_instrument_float_cast): Declare.
5571
40c0a159 55722014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
5573
5574 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
5575 predicate.
5576 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
5577 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
5578 Adjust for tailcalling through registers.
5579 * config/aarch64/aarch64.h (enum reg_class): New caller save
5580 register class.
5581 (REG_CLASS_NAMES): Likewise.
5582 (REG_CLASS_CONTENTS): Likewise.
5583 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
5584 Allow tailcalling without decls.
5585
ed20ae98
TS
55862014-05-23 Thomas Schwinge <thomas@codesourcery.com>
5587
09af4b4c
TS
5588 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
5589 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
5590
ed20ae98
TS
5591 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
5592 gsi, and variables v_* to v*.
5593
4adf63f9
EB
55942014-05-23 Eric Botcazou <ebotcazou@adacore.com>
5595
5596 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
5597
a5a5434f
TS
55982014-05-23 Thomas Schwinge <thomas@codesourcery.com>
5599
0aadce73
TS
5600 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
5601 * omp-low.c: Update accordingly.
5602
eb63c927
TS
5603 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
5604 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
5605 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
5606 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
5607 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
5608 GF_OMP_TARGET_KIND_UPDATE.
5609
a5a5434f
TS
5610 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
5611 Explicitly enumerate the expected region types.
5612
ee526ea7
PE
56132014-05-23 Paul Eggert <eggert@cs.ucla.edu>
5614
5615 PR other/56955
5616 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
5617 documentation; the old documentation didn't clearly state the
5618 constraints on the contents of the pointed-to storage.
5619
676cad4d
MK
56202014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5621
5622 Fix bootstrap error on ia64
5623 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
5624 Return default value.
5625
73984f84
TP
56262014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
5627
5628 PR tree-optimization/54733
5629 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
5630 (CMPNOP): Define.
5631 (find_bswap_or_nop_load): New.
5632 (find_bswap_1): Renamed to ...
5633 (find_bswap_or_nop_1): This. Also add support for memory source.
5634 (find_bswap): Renamed to ...
5635 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
5636 detection of bitwise operations equivalent to load in target
5637 endianness.
73984f84
TP
5638 (execute_optimize_bswap): Likewise. Also move its leading comment back
5639 in place and split statement transformation into ...
5640 (bswap_replace): This.
5641
b17ec42d
VM
56422014-05-22 Vladimir Makarov <vmakarov@redhat.com>
5643
5644 PR rtl-optimization/61215
5645 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
5646 simplify_gen_subreg until final substitution.
5647
ea9364db
AM
56482014-05-23 Alan Modra <amodra@gmail.com>
5649
5650 PR target/61231
5651 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
5652 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
5653 Use "Y" constraint rather than "m".
5654
aa87aced
KV
56552014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
5656
5657 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
5658 define.
5659 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
5660 New function declaration.
5661 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
5662 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
5663 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
5664 (aarch64_init_builtins) : Initialize builtins
5665 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
5666 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
5667 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
5668 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
5669 and __builtins_aarch64_set_fpsr.
5670 (aarch64_atomic_assign_expand_fenv): New function.
5671 * config/aarch64/aarch64.md (set_fpcr): New pattern.
5672 (get_fpcr) : Likewise.
5673 (set_fpsr) : Likewise.
5674 (get_fpsr) : Likewise.
5675 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
5676 and UNSPECV_SET_FPSR.
5677 * doc/extend.texi (AARCH64 Built-in Functions) : Document
5678 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
5679 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
5680
0a1eb350
VM
56812014-05-22 Vladimir Makarov <vmakarov@redhat.com>
5682
5683 PR rtl-optimization/60969
5684 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
5685 constraints. Set up mem cost for NO_REGS case.
5686
f6a7cffc
TS
56872014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5688
5689 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
5690
4000360e
BS
56912012-05-22 Bernd Schmidt <bernds@codesourcery.com>
5692
5693 * config/darwin.c: Include "lto-section-names.h".
5694 (LTO_SEGMENT_NAME): Don't define.
5695 * config/i386/winnt.c: Include "lto-section-names.h".
5696 * lto-streamer.c: Include "lto-section-names.h".
5697 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
5698 * lto-wrapper.c: Include "lto-section-names.h".
5699 (LTO_SECTION_NAME_PREFIX): Don't define.
5700 * lto-section-names.h: New file.
5701 * cgraphunit.c: Include "lto-section-names.h".
5702
c9aee450
PB
57032014-05-22 Peter Bergner <bergner@vnet.ibm.com>
5704
5705 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
5706
37f2edf5
RE
57072014-05-22 Richard Earnshaw <rearnsha@arm.com>
5708
5709 PR target/61208
5710 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
5711
1ad47ee5
NC
57122014-05-22 Nick Clifton <nickc@redhat.com>
5713
d4082970 5714 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 5715
1f9c420b
EB
57162014-05-22 Eric Botcazou <ebotcazou@adacore.com>
5717
5718 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
5719 -> (T)A transformation to integer types.
5720
e3f0315f
TJ
57212014-05-22 Teresa Johnson <tejohnson@google.com>
5722
5723 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
5724 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
5725 (gcov_rewrite): Use gcov_nonruntime_assert.
5726 (gcov_open): Ditto.
5727 (gcov_write_words): Ditto.
5728 (gcov_write_length): Ditto.
5729 (gcov_read_words): Use gcov_nonruntime_assert, and remove
5730 gcc_assert from IN_LIBGCOV code.
5731 (gcov_read_summary): Use gcov_error to flag profile corruption.
5732 (gcov_sync): Use gcov_nonruntime_assert.
5733 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
5734 (gcov_histo_index): Use gcov_nonruntime_assert.
5735 (static void gcov_histogram_merge): Ditto.
5736 (compute_working_sets): Ditto.
5737 * gcov-io.h (gcov_nonruntime_assert): Define.
5738 (gcov_error): Define for !IN_LIBGCOV
5739
c8f49949
RB
57402014-05-22 Richard Biener <rguenther@suse.de>
5741
5742 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
5743 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
5744 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
5745 and deallocation site.
5746 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5747 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
5748 passing through the incoming points-to set.
5749 (handle_lhs_call): Use flags argument instead of recomputing it.
5750 (find_func_aliases_for_call): Call handle_lhs_call with proper
5751 call return flags.
5752
a822564d
JJ
57532014-05-22 Jakub Jelinek <jakub@redhat.com>
5754
5755 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
5756 all padding bits in REAL_VALUE_TYPE are cleared.
5757
4960a0cb
MK
57582014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5759
5760 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
5761 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
5762 (core2i7_first_cycle_multipass_begin,)
5763 (core2i7_first_cycle_multipass_issue,)
5764 (core2i7_first_cycle_multipass_backtrack): Update signature.
5765 * config/ia64/ia64.c
5766 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
5767 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
5768 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
5769 hook definition.
5770 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
5771 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
5772 values.
5773 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
5774 return values.
5775 * doc/tm.texi: Regenerate.
5776 * doc/tm.texi.in
5777 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
5778 * haifa-sched.c (ready_try): Make signed to allow negative values.
5779 (rebug_ready_list_1): Update.
5780 (choose_ready): Simplify.
5781 (sched_extend_ready_list): Update.
4960a0cb 5782
16d83dd6
MK
57832014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5784
5785 Remove IA64 speculation tweaking flags
d4082970
MT
5786 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
5787 speculation tuning flags.
5788 (msched-prefer-non-data-spec-insns,)
5789 (msched-prefer-non-control-spec-insns): Obsolete options.
5790 * haifa-sched.c (choose_ready): Remove handling of
5791 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
5792 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
5793 and PREFER_NON_DATA_SPEC.
5794 * sel-sched.c (process_spec_exprs): Remove handling of
5795 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 5796
69da098b
MK
57972014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5798
5799 Improve scheduling debug output
5800 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
5801 (advance_one_cycle): Update.
5802 (schedule_insn, queue_to_ready): Add debug printouts.
5803 (debug_ready_list_1): New static function.
5804 (debug_ready_list): Update.
5805 (max_issue): Add debug printouts.
5806 (dump_insn_stream): New static function.
5807 (schedule_block): Use it. Also better indent printouts.
5808
58092014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
5810
5811 Fix sched_insn debug counter
5812 * haifa-sched.c (schedule_insn): Update.
5813 (struct haifa_saved_data): Add nonscheduled_insns_begin.
5814 (save_backtrack_point, restore_backtrack_point): Update.
5815 (first_nonscheduled_insn): New static function.
5816 (queue_to_ready, choose_ready): Use it.
5817 (schedule_block): Init nonscheduled_insns_begin.
5818 (sched_emit_insn): Update.
5819
5820
a4a182c6
KV
58212014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
5822
5823 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
5824 to GENERAL_REGS.
5825 (aarch64_secondary_reload) : LikeWise.
5826 (aarch64_class_max_nregs) : Remove CORE_REGS.
5827 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
5828 (REG_CLASS_NAMES) : Likewise.
5829 (REG_CLASS_CONTENTS) : LikeWise.
5830 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
5831
9652331a
GW
58322014-05-21 Guozhi Wei <carrot@google.com>
5833
5834 PR target/61202
5835 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
5836 constraint.
5837 (vqdmulhq_n_s16): Likewise.
5838
0bfba043
SB
58392014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
5840
5841 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
5842
1edb7356
MP
58432014-05-21 Marek Polacek <polacek@redhat.com>
5844
5845 PR sanitizer/61272
5846 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
5847
2acb1027
MJ
58482014-05-21 Martin Jambor <mjambor@suse.cz>
5849
5850 * doc/invoke.texi (Optimize Options): Document parameters
5851 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
5852 ipa-cp-array-index-hint-bonus.
5853
7315daa6
MW
58542014-05-21 Mark Wielaard <mjw@redhat.com>
5855
5856 PR debug/16063
5857 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
5858 version >= 3 or not strict DWARF.
5859 * langhooks.h (struct lang_hooks_for_types): Add
5860 enum_underlying_base_type.
5861 * langhooks.c (lhd_enum_underlying_base_type): New function.
5862 * gcc/langhooks.h (struct lang_hooks_for_types): Add
5863 enum_underlying_base_type.
5864 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
5865 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
5866 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
5867
95989e5c
RB
58682014-05-21 Richard Biener <rguenther@suse.de>
5869
d4082970 5870 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 5871
dbed5a9b
JM
58722014-05-21 John Marino <gnugcc@marino.st>
5873
5874 * config.gcc (*-*-dragonfly*): New target.
5875 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
5876 * configure: Regenerate.
5877 * config/dragonfly-stdint.h: New.
5878 * config/dragonfly.h: New.
5879 * config/dragonfly.opt: New.
5880 * config/i386/dragonfly.h: New.
5881 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
5882
632f2871
RS
58832014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5884
5885 * tree.def (VOID_CST): New.
5886 * tree-core.h (TI_VOID): New.
5887 * tree.h (void_node): New.
5888 * tree.c (tree_node_structure_for_code, tree_code_size)
5889 (iterative_hash_expr): Handle VOID_CST.
5890 (build_common_tree_nodes): Initialize void_node.
5891
8a9e6b45
BS
58922014-05-21 Bernd Schmidt <bernds@codesourcery.com>
5893
bffe67e7
BS
5894 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
5895 functions.
5896 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
5897
0836b77f
BS
5898 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
5899 more places.
5900
8a9e6b45
BS
5901 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
5902 flag_reorder_blocks_and_partition.
5903 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
5904
c4e5de1b
OE
59052014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
5906
5907 PR target/54236
5908 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
5909 constraints.
5910 (*addc_r_t): Add new insn_and_split.
5911
decaaec8
JJ
59122014-05-21 Jakub Jelinek <jakub@redhat.com>
5913
5914 PR middle-end/61252
5915 * omp-low.c (handle_simd_reference): New function.
5916 (lower_rec_input_clauses): Use it. Defer adding reference
5917 initialization even for reduction without placeholder if in simd,
5918 handle it properly later on.
5919
3aaf0529
JH
59202014-05-20 Jan Hubicka <hubicka@ucw.cz>
5921
5922 PR tree-optimization/60899
5923 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
5924 assume all static symbols will have definition wile parsing and
5925 check the do have definition later in compilation; check that
5926 variable referring symbol will be output before concluding that
5927 reference is safe; be conservative for referring local statics;
5928 be more precise about when comdat is output in other partition.
5929
1bbb87c4
JH
59302014-05-20 Jan Hubicka <hubicka@ucw.cz>
5931
5932 PR bootstrap/60984
d4082970
MT
5933 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
5934 parameter.
1bbb87c4 5935 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
5936 (ipa_inline): Loop inline_to_all_callers until no more aliases
5937 are removed.
1bbb87c4 5938
d5ce4663
JH
59392014-05-20 Jan Hubicka <hubicka@ucw.cz>
5940
5941 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
5942 set writeonly flag only for vars actually written to.
5943
98339851
DC
59442014-05-20 Dehao Chen <dehao@google.com>
5945
5946 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
5947 and callee count to get clone count.
5948 * tree-inline.c (expand_call_inline): Use callee count instead of bb
5949 count in copy_body.
5950
ec27069c
RS
59512014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
5952
5953 PR rtl-optimization/61243
5954 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
5955
2b5f0895
XDL
59562014-05-20 Xinliang David Li <davidxl@google.com>
5957
5958 * cgraphunit.c (walk_polymorphic_call_targets): Add
5959 dbgcnt and fopt-info support.
5960 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
5961 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 5962 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
5963 * ipa.c (walk_polymorphic_call_targets): Ditto.
5964 * gimple-fold.c (fold_gimple_assign): Ditto.
5965 (gimple_fold_call): Ditto.
5966 * dbgcnt.def: New counter.
5967
9c5f6203
DD
59682014-05-20 DJ Delorie <dj@redhat.com>
5969
5970 * config/msp430/msp430.md (split): Don't allow subregs when
5971 splitting SImode adds.
5972 (andneghi): Fix subtraction logic.
5973 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
5974
cf288ed3
JH
59752014-05-20 Jan Hubicka <hubicka@ucw.cz>
5976
5977 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
5978 symbols.
5979 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 5980 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
5981 align_variable, get_block_for_decl, default_section_type_flags):
5982 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
5983 * symtab.c (symtab_add_to_same_comdat_group,
5984 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
5985 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
5986 Likewise.
5987 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
5988 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
5989 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
5990 (c6x_function_in_section_p): Likewise.
5991 * config/darwin.c (machopic_select_section): Likewise.
5992 * config/arm/arm.c (arm_function_in_section_p): Likewise.
5993 * config/mips/mips.c (mips_function_rodata_section): Likewise.
5994 * config/mep/mep.c (mep_select_section): LIkewise.
5995 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
5996
7eab31ed
EB
59972014-05-20 Eric Botcazou <ebotcazou@adacore.com>
5998
5999 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
6000 EH region of calls to pure functions that can throw an exception.
6001 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
6002 (copy_reference_ops_from_call): Also copy the EH region of the call if
6003 it can throw an exception.
6004
ec217bd8
BS
60052014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6006
6007 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
6008 nested VEC_SELECTs that are inverses of each other.
6009
b2b222b3
RB
60102014-05-20 Richard Biener <rguenther@suse.de>
6011
d4082970 6012 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
6013 (extract_and_process_scc_for_name): not here.
6014 (cond_dom_walker::before_dom_children): Only process
6015 stmts that end the BB in interesting ways.
6016 (run_scc_vn): Mark param uses as visited.
6017
e9ea5185
KT
60182014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6019
6020 * config/arm/arm.md (arith_shiftsi): Do not predicate for
6021 arm_restrict_it.
6022
8f0e7f6f
NC
60232014-05-20 Nick Clifton <nickc@redhat.com>
6024
467fc67c
NC
6025 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
6026 (msp430_gimplify_va_arg_expr): New function.
6027 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
6028
8f0e7f6f
NC
6029 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
6030 operand 0 in order to prevent confusion about the number of
6031 registers involved.
6032
d1c0308e
RB
60332014-05-20 Richard Biener <rguenther@suse.de>
6034
6035 PR tree-optimization/61221
6036 * tree-ssa-pre.c (el_to_update): Remove.
6037 (eliminate_dom_walker::before_dom_children): Handle released
6038 VDEFs by value-numbering them to the associated VUSE. Update
6039 stmt immediately for substituted call address.
6040 (eliminate): Remove delayed stmt updating code.
6041 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
6042 possibly late re-numbered vuses.
6043 (vn_reference_lookup_2): Adjust.
6044 (vn_reference_lookup_pieces): Likewise.
6045 (vn_reference_lookup): Likewise.
6046
54da09ee
RB
60472014-05-20 Richard Biener <rguenther@suse.de>
6048
6049 * config.gcc: Remove need_64bit_hwint.
6050 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
6051 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
6052 it to be true.
6053 * config.in: Regenerate.
6054 * configure: Likewise.
6055
883755a1
DW
60562014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
6057
6058 * doc/extend.texi: Create Label Attributes section,
6059 move all label attributes into it and reference it.
6060
514b3156
RE
60612014-05-19 Richard Earnshaw <rearnsha@arm.com>
6062
6063 * arm.c (thumb1_reorg): When scanning backwards skip anything
6064 that's not a proper insn.
6065
1d44def2
RB
60662014-05-19 Richard Biener <rguenther@suse.de>
6067
6068 PR tree-optimization/61221
6069 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
6070 Do nothing for unreachable blocks.
6071 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
6072 Improve unreachability detection.
6073
05135136
RB
60742014-05-19 Richard Biener <rguenther@suse.de>
6075
6076 PR tree-optimization/61209
6077 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
6078
40ba8dfb
NC
60792014-05-19 Nick Clifton <nickc@redhat.com>
6080
6081 * except.c (init_eh): Fix computation of builtin setjmp buffer
6082 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
6083
cb460086
RB
60842014-05-19 Richard Biener <rguenther@suse.de>
6085
6086 PR tree-optimization/61184
6087 * tree-vrp.c (is_negative_overflow_infinity): Use
6088 TREE_OVERFLOW_P and do that check first.
6089 (is_positive_overflow_infinity): Likewise.
6090 (is_overflow_infinity): Likewise.
6091 (vrp_operand_equal_p): Properly treat operands with
6092 differing overflow as not equal.
6093
bddd3671
BS
60942014-05-19 Bernd Schmidt <bernds@codesourcery.com>
6095
6096 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
6097 shift simplification where it was intended.
6098
72d82e7a
CB
60992014-05-19 Christian Bruel <christian.bruel@st.com>
6100
6101 PR target/61195
6102 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
6103
34dbb287
RS
61042014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
6105
6106 PR target/61084
6107 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
6108 than wide_int.
6109
339ba33b
RS
61102014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
6111
6112 * reg-notes.def (CROSSING_JUMP): Likewise.
6113 * rtl.h (rtx_def): Update comment for jump flag.
6114 (CROSSING_JUMP_P): Define.
6115 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
6116 of a REG_CROSSING_JUMP note.
6117 * cfghooks.c (tidy_fallthru_edges): Likewise.
6118 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
6119 * emit-rtl.c (try_split): Likewise.
6120 * haifa-sched.c (sched_create_recovery_edges): Likewise.
6121 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
6122 * jump.c (redirect_jump_2): Likewise.
6123 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
6124 (relax_delay_slots): Likewise.
6125 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
6126 (bbit_di): Likewise.
6127 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
6128 * config/sh/sh.md (jump_compact): Likewise.
6129 * bb-reorder.c (rotate_loop): Likewise.
6130 (pass_duplicate_computed_gotos::execute): Likewise.
6131 (add_reg_crossing_jump_notes): Rename to...
6132 (update_crossing_jump_flags): ...this.
6133 (pass_partition_blocks::execute): Update accordingly.
6134
a65d5b87
RS
61352014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
6136
6137 * tree.h: Remove extraneous template <>.
6138
7b3376a0
JH
61392014-05-17 Jan Hubicka <hubicka@ucw.cz>
6140
6141 * ipa.c (symtab_remove_unreachable_nodes): Remove
6142 symbol from comdat group if its body was eliminated.
d4082970
MT
6143 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
6144 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
6145 (symtab_unregister_node): ... this one.
6146 (verify_symtab_base): More strict checking of comdats.
6147 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
6148
a04d9035
JH
61492014-05-17 Jan Hubicka <hubicka@ucw.cz>
6150
6151 * tree-pass.h (make_pass_ipa_comdats): New pass.
6152 * timevar.def (TV_IPA_COMDATS): New timevar.
6153 * passes.def (pass_ipa_comdats): Add.
6154 * Makefile.in (OBJS): Add ipa-comdats.o
6155 * ipa-comdats.c: New file.
6156
24a71ba8
JH
61572014-05-17 Jan Hubicka <hubicka@ucw.cz>
6158
6159 * ipa.c (update_visibility_by_resolution_info): New function.
6160 (function_and_variable_visibility): Use it.
6161
d6d229c6
JH
61622014-05-17 Jan Hubicka <hubicka@ucw.cz>
6163
6164 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
6165 New functions.
6166 (FOR_EACH_DEFINED_SYMBOL): New macro.
6167 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
6168 varpool_first_defined_variable, varpool_next_defined_variable):
6169 Fix comments.
d6d229c6
JH
6170 (symtab_in_same_comdat_p): Correctly deal with inline functions.
6171
c3af645c
TS
61722014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6173
6174 * ggc-page.c (ggc_handle_finalizers): Add comment.
6175
de49ce19
TS
61762014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6177
6178 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
6179 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
6180 (ggc_internal_cleared_alloc): Likewise.
6181 * ggc-page.c (finalizer): New class.
16f8dfdb 6182 (vec_finalizer): Likewise.
de49ce19 6183 (globals::finalizers): New member.
16f8dfdb 6184 (globals::vec_finalizers): Likewise.
de49ce19
TS
6185 (ggc_internal_alloc): Record the finalizer if any for the block being
6186 allocated.
6187 (ggc_handle_finalizers): New function.
6188 (ggc_collect): Call ggc_handle_finalizers.
6189 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
6190 finalizer.
6191 (ggc_internal_cleared_alloc): Likewise.
6192 (finalize): New function.
6193 (need_finalization_p): Likewise.
6194 (ggc_alloc): Install the type's destructor as the finalizer if it
6195 might do something.
6196 (ggc_cleared_alloc): Likewise.
6197 (ggc_vec_alloc): Likewise.
6198 (ggc_cleared_vec_alloc): Likewise.
6199
04eec987
TS
62002014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6201
6202 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
6203
766090c2
TS
62042014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6205
6206 * alias.c (record_alias_subset): Adjust.
6207 * bitmap.c (bitmap_element_allocate): Likewise.
6208 (bitmap_gc_alloc_stat): Likewise.
6209 * cfg.c (init_flow): Likewise.
6210 (alloc_block): Likewise.
6211 (unchecked_make_edge): Likewise.
6212 * cfgloop.c (alloc_loop): Likewise.
6213 (flow_loops_find): Likewise.
6214 (rescan_loop_exit): Likewise.
6215 * cfgrtl.c (init_rtl_bb_info): Likewise.
6216 * cgraph.c (insert_new_cgraph_node_version): Likewise.
6217 (cgraph_allocate_node): Likewise.
6218 (cgraph_create_edge_1): Likewise.
6219 (cgraph_allocate_init_indirect_info): Likewise.
6220 * cgraphclones.c (cgraph_clone_edge): Likewise.
6221 * cgraphunit.c (add_asm_node): Likewise.
6222 (init_lowered_empty_function): Likewise.
16f8dfdb 6223 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
6224 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
6225 (alpha_use_linkage): Likewise.
6226 * config/arc/arc.c (arc_init_machine_status): Likewise.
6227 * config/arm/arm.c (arm_init_machine_status): Likewise.
6228 * config/avr/avr.c (avr_init_machine_status): Likewise.
6229 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
6230 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
6231 * config/cris/cris.c (cris_init_machine_status): Likewise.
6232 * config/darwin.c (machopic_indirection_name): Likewise.
6233 (darwin_build_constant_cfstring): Likewise.
6234 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 6235 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
6236 * config/frv/frv.c (frv_init_machine_status): Likewise.
6237 * config/i386/i386.c (get_dllimport_decl): Likewise.
6238 (ix86_init_machine_status): Likewise.
6239 (assign_386_stack_local): Likewise.
16f8dfdb 6240 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
6241 (i386_pe_maybe_record_exported_symbol): Likewise.
6242 (i386_pe_record_stub): Likewise.
6243 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
6244 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
6245 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
6246 (m32c_note_pragma_address): Likewise.
6247 * config/mep/mep.c (mep_init_machine_status): Likewise.
6248 (mep_note_pragma_flag): Likewise.
6249 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
6250 (mips16_local_alias): Likewise.
6251 (mips_init_machine_status): Likewise.
6252 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
6253 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
6254 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
6255 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
6256 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
6257 * config/pa/pa.c (pa_init_machine_status): Likewise.
6258 (pa_get_deferred_plabel): Likewise.
6259 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
6260 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
6261 (rs6000_init_machine_status): Likewise.
6262 (output_toc): Likewise.
6263 * config/s390/s390.c (s390_init_machine_status): Likewise.
6264 * config/score/score.c (score_output_external): Likewise.
6265 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
6266 * config/spu/spu.c (spu_init_machine_status): Likewise.
6267 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 6268 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
6269 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
6270 * coverage.c (coverage_end_function): Likewise.
6271 * dbxout.c (dbxout_init): Likewise.
6272 * doc/gty.texi: Don't mention variable_size attribute.
6273 * dwarf2cfi.c (new_cfi): Adjust.
6274 (new_cfi_row): Likewise.
6275 (copy_cfi_row): Likewise.
6276 (create_cie_data): Likewise.
6277 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
6278 (new_loc_descr): Likewise.
6279 (find_AT_string_in_table): Likewise.
6280 (add_addr_table_entry): Likewise.
6281 (new_die): Likewise.
6282 (add_var_loc_to_decl): Likewise.
6283 (clone_die): Likewise.
6284 (clone_as_declaration): Likewise.
6285 (break_out_comdat_types): Likewise.
6286 (new_loc_list): Likewise.
6287 (add_loc_descr_to_each): Likewise.
6288 (add_location_or_const_value_attribute): Likewise.
6289 (add_linkage_name): Likewise.
6290 (lookup_filename): Likewise.
6291 (dwarf2out_var_location): Likewise.
6292 (new_line_info_table): Likewise.
6293 (dwarf2out_init): Likewise.
6294 (mem_loc_descriptor): Likewise.
6295 (loc_descriptor): Likewise.
6296 (add_const_value_attribute): Likewise.
6297 (tree_add_const_value_attribute): Likewise.
6298 (comp_dir_string): Likewise.
6299 (dwarf2out_vms_debug_main_pointer): Likewise.
6300 (string_cst_pool_decl): Likewise.
6301 * emit-rtl.c (set_mem_attrs): Likewise.
6302 (get_reg_attrs): Likewise.
6303 (start_sequence): Likewise.
6304 (init_emit): Likewise.
6305 (init_emit_regs): Likewise.
6306 * except.c (init_eh_for_function): Likewise.
6307 (gen_eh_region): Likewise.
6308 (gen_eh_region_catch): Likewise.
6309 (gen_eh_landing_pad): Likewise.
6310 (add_call_site): Likewise.
6311 * function.c (add_frame_space): Likewise.
6312 (insert_temp_slot_address): Likewise.
6313 (assign_stack_temp_for_type): Likewise.
6314 (get_hard_reg_initial_val): Likewise.
6315 (allocate_struct_function): Likewise.
6316 (prepare_function_start): Likewise.
6317 (types_used_by_var_decl_insert): Likewise.
6318 * gengtype.c (variable_size_p): Remove function.
6319 (enum alloc_quantity): Remove enum.
6320 (write_typed_alloc_def): Remove function.
6321 (write_typed_struct_alloc_def): Likewise.
6322 (write_typed_typedef_alloc_def): Likewise.
6323 (write_typed_alloc_defns): Likewise.
6324 (main): Adjust.
6325 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
6326 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
6327 * ggc.h (ggc_alloc): new function.
6328 (ggc_cleared_alloc): Likewise.
6329 (ggc_vec_alloc): Template on type of vector element, and remove
6330 element size argument.
6331 (ggc_cleared_vec_alloc): Likewise.
6332 * gimple.c (gimple_build_omp_for): Adjust.
6333 (gimple_copy): Likewise.
6334 * ipa-cp.c (get_replacement_map): Likewise.
6335 (find_aggregate_values_for_callers_subset): Likewise.
6336 (known_aggs_to_agg_replacement_list): Likewise.
6337 * ipa-devirt.c (get_odr_type): Likewise.
6338 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
6339 (read_agg_replacement_chain): Likewise.
6340 * loop-iv.c (get_simple_loop_desc): Likewise.
6341 * lto-cgraph.c (input_node_opt_summary): Likewise.
6342 * lto-section-in.c (lto_new_in_decl_state): Likewise.
6343 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
6344 (input_eh_region): Likewise.
6345 (input_eh_lp): Likewise.
6346 (input_cfg): Likewise.
6347 * optabs.c (set_optab_libfunc): Likewise.
6348 (init_tree_optimization_optabs): Likewise.
6349 (set_conv_libfunc): Likewise.
6350 * passes.c (do_per_function_toporder): Likewise.
6351 * rtl.h: Don't use variable_size gty attribute.
6352 * sese.c (if_region_set_false_region): Adjust.
6353 * stringpool.c (gt_pch_save_stringpool): Likewise.
6354 * target-globals.c (save_target_globals): Likewise.
6355 * toplev.c (general_init): Likewise.
6356 * trans-mem.c (record_tm_replacement): Likewise.
6357 (split_bb_make_tm_edge): Likewise.
6358 * tree-cfg.c (move_sese_region_to_fn): Likewise.
6359 * tree-data-ref.h (lambda_vector_new): Likewise.
6360 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
6361 * tree-iterator.c (tsi_link_before): Likewise.
6362 (tsi_link_after): Likewise.
6363 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
6364 * tree-ssa-loop-niter.c (record_estimate): Likewise.
6365 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
6366 * tree-ssa-operands.h: Don't use variable_size gty attribute.
6367 * tree-ssa.c (init_tree_ssa): Adjust.
6368 * tree-ssanames.c (set_range_info): Likewise.
6369 (get_ptr_info): Likewise.
6370 (duplicate_ssa_name_ptr_info): Likewise.
6371 (duplicate_ssa_name_range_info): Likewise.
6372 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
6373 (unpack_ts_fixed_cst_value_fields): Likewise.
6374 * tree.c (build_fixed): Likewise.
6375 (build_real): Likewise.
6376 (build_string): Likewise.
6377 (decl_priority_info): Likewise.
6378 (decl_debug_expr_insert): Likewise.
6379 (decl_value_expr_insert): Likewise.
6380 (decl_debug_args_insert): Likewise.
6381 (type_hash_add): Likewise.
6382 (build_omp_clause): Likewise.
6383 * ubsan.c (decl_for_type_insert): Likewise.
6384 * varasm.c (get_unnamed_section): Likewise.
6385 (get_noswitch_section): Likewise.
6386 (get_section): Likewise.
6387 (get_block_for_section): Likewise.
6388 (create_block_symbol): Likewise.
6389 (build_constant_desc): Likewise.
6390 (create_constant_pool): Likewise.
6391 (force_const_mem): Likewise.
6392 (record_tm_clone_pair): Likewise.
6393 * varpool.c (varpool_create_empty_node): Likewise.
6394
231120e5
TS
63952014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6396
6397 * dwarf2out.c (tree_add_const_value_attribute): Call
6398 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
6399 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
6400 instead of ggc_internal_<x>alloc_stat.
6401 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
6402 (ggc_realloc): Likewise.
6403 * ggc-none.c (ggc_internal_alloc): Likewise.
6404 (ggc_internal_cleared_alloc): Likewise.
6405 * ggc-page.c: Likewise.
6406 * ggc.h (ggc_internal_alloc_stat): Likewise.
6407 (ggc_internal_alloc): Remove macro.
6408 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
6409 (ggc_internal_cleared_alloc): Remove macro.
6410 (GGC_RESIZEVEC): Adjust.
6411 (ggc_resizevar): Remove macro.
6412 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
6413 (ggc_internal_cleared_vec_alloc_stat): Likewise.
6414 (ggc_internal_vec_cleared_alloc): Remove macro.
6415 (ggc_alloc_atomic_stat): Drop _stat suffix.
6416 (ggc_alloc_atomic): Remove macro.
6417 (ggc_alloc_cleared_atomic): Remove macro.
6418 (ggc_alloc_string_stat): Drop _stat suffix.
6419 (ggc_alloc_string): Remove macro.
6420 (ggc_alloc_rtx_def_stat): Adjust.
6421 (ggc_alloc_tree_node_stat): Likewise.
6422 (ggc_alloc_cleared_tree_node_stat): Likewise.
6423 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
6424 (ggc_alloc_cleared_simd_clone_stat): Likewise.
6425 * gimple.c (gimple_build_omp_for): Likewise.
6426 (gimple_copy): Likewise.
6427 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
6428 * toplev.c (realloc_for_line_map): Adjust.
6429 * tree-data-ref.h (lambda_vector_new): Likewise.
6430 * tree-phinodes.c (allocate_phi_node): Likewise.
6431 * tree.c (grow_tree_vec_stat): Likewise.
6432 * vec.h (va_gc::reserve): Adjust.
6433
16f8dfdb 64342014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 6435
16f8dfdb
UB
6436 * config/microblaze/microblaze.c (break_handler): New Declaration.
6437 (microblaze_break_function_p,microblaze_is_break_handler): New.
6438 (compute_frame_size): Use microblaze_break_function_p.
6439 Add the test of break_handler.
6440 (microblaze_function_prologue) : Add the test of variable
6441 break_handler. Check the fnname by BREAK_HANDLER_NAME.
6442 (microblaze_function_epilogue) : Add the test of break_handler.
6443 (microblaze_globalize_label) : Add the test of break_handler.
6444 Check the name by BREAK_HANDLER_NAME.
86498dba 6445
16f8dfdb 6446 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 6447
16f8dfdb
UB
6448 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
6449 microblaze_is_break_handler test.
6450 (call_internal1,call_value_intern): Use microblaze_break_function_p.
6451 Use SYMBOL_REF_DECL.
86498dba
AA
6452
6453 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
6454 (microblaze_break_function_p,microblaze_is_break_handler):
6455 New Declaration.
86498dba 6456
16f8dfdb
UB
6457 * doc/extend.texi (MicroBlaze break_handler Functions): Document
6458 new MicroBlaze break_handler functions.
86498dba 6459
71ca3028
UB
64602014-05-17 Uros Bizjak <ubizjak@gmail.com>
6461
6462 * doc/extend.texi (Size of an asm): Move node text according
6463 to its @menu entry position.
6464
87a34442
MG
64652014-05-17 Marc Glisse <marc.glisse@inria.fr>
6466
6467 PR tree-optimization/61140
6468 PR tree-optimization/61150
6469 PR tree-optimization/61197
6470 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
6471
6ca74b5c
UB
64722014-05-17 Uros Bizjak <ubizjak@gmail.com>
6473
6474 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
6475
60f82c42
RS
64762014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
6477
6478 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
6479 __SIZEOF_INT128__ is defined.
6480
a1242f17
RS
64812014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
6482
6483 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
6484 (rs6000_delegitimize_address): Use it.
6485
23b33725
RS
64862014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
6487
6488 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
6489 inplace argument. Store the new address in the original MEM when true.
6490 * emit-rtl.c (change_address_1): Likewise.
6491 (adjust_address_1, adjust_automodify_address_1, offset_address):
6492 Update accordingly.
6493 * rtl.h (plus_constant): Add an inplace argument.
6494 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
6495 when true. Avoid generating (plus X (const_int 0)).
6496 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
6497 in-place. Pass true to plus_constant.
6498 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
6499
2f6eed01
DC
65002014-05-16 Dehao Chen <dehao@google.com>
6501
6502 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
6503
b200de02
OE
65042014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
6505
6506 PR target/54089
6507 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
6508 patterns.
6509 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
6510
cf40f973
DC
65112014-05-16 Dehao Chen <dehao@google.com>
6512
6b8ebd00
UB
6513 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
6514 optimize_function_for_size_p.
cf40f973
DC
6515 * regs.h (REG_FREQ_FROM_BB): Likewise.
6516
48d8568e
OE
65172014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
6518
6519 PR target/51244
6520 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
6521 negt_reg_operand cases.
6522 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
6523 predicate.
6524 * config/sh/predicates.md (cbranch_treg_value): Simplify.
6525
d580af0f
OE
65262014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
6527
6528 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
6529 target variants.
6530
6c7571a2
DM
65312014-05-16 David Malcolm <dmalcolm@redhat.com>
6532
6533 Revert:
6534 2014-04-29 David Malcolm <dmalcolm@redhat.com>
6535
6536 * tree-cfg.c (dump_function_to_file): Dump the return type of
6537 functions, in a line to itself before the function body, mimicking
6538 the layout of a C function.
6539
b0e66512
DC
65402014-05-16 Dehao Chen <dehao@google.com>
6541
6542 * cfghooks.c (make_forwarder_block): Use direct computation to
6543 get fall-through edge's count and frequency.
6544
6b8ebd00 65452014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
6546
6547 * config/arc/arc.c (arc_init): Fix typo in error message.
6548 * config/i386/i386.c (ix86_expand_builtin): Likewise.
6549 (split_stack_prologue_scratch_regno): Likewise.
6550 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
6551 word from error message.
6552
420ab54b
ZZ
65532014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
6554
6555 * ira-costs.c: Fix typo in comment.
6556
8e90f610
DW
65572014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
6558
6b8ebd00 6559 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 6560
6de88c6a
JH
65612014-05-16 Jan Hubicka <hubicka@ucw.cz>
6562
6563 * varpool.c (dump_varpool_node): Dump write-only flag.
6564 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
6565 write-only flag.
6b8ebd00
UB
6566 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
6567 write-only variables.
6568 * ipa.c (process_references): New function.
6569 (set_readonly_bit): New function.
6570 (set_writeonly_bit): New function.
6571 (clear_addressable_bit): New function.
6572 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
6573 fix handling of aliases.
6574 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 6575
f4e075e7
VM
65762014-05-16 Vladimir Makarov <vmakarov@redhat.com>
6577
6578 PR rtl-optimization/60969
6579 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
6580 Calculate costs for this case.
6581
8b628e86
EB
65822014-05-16 Eric Botcazou <ebotcazou@adacore.com>
6583
6584 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
6585 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
6586
52264dbf
RB
65872014-05-16 Richard Biener <rguenther@suse.de>
6588
6589 PR tree-optimization/61194
6590 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
6591 bool patterns ending in a COND_EXPR.
6592
3d840f7d
JG
65932014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6594
6595 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
6596
88d4fbcf
JG
65972014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6598
6599 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
6600 where we were unable to cost an RTX.
6601
909734be
JG
66022014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6603
6604 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
6605 HIGH, LO_SUM.
6606
fb620c4a
JG
66072014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6608 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6609
6610 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
6611
b292109f
JG
66122014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6613 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6614
6615 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
6616 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
6617
a8eecd00
JG
66182014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6619 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6620
6621 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
6622 operators.
6623
4105fe38
JG
66242014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6625 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6626
6627 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
6628 DIV/MOD.
6629
66302014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
6631 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6632
6633 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
6634 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
6635
ba0cfa17
JG
66362014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6637 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6638
6639 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
6640 rotates and shifts.
6641
b1685e62
JG
66422014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6643 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6644
6645 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
6646 ZERO_EXTEND and SIGN_EXTEND better.
6647
268c3b47
JG
66482014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6649 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6650
6651 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
6652 logical operations.
6653
2961177e
JG
66542014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6655 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6656
6657 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
6658 costs when costing loads and stores to memory.
6659
ba123b0d
JG
66602014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6661 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
6662
6663 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
6664 for SET RTX.
6665
7fc5ef02
JG
66662014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6667
6668 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
6669
4745e701
JG
66702014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6671 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6672
6673 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
6674 to...
6675 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
6676 well formed.
6677 (aarch64_rtx_mult_cost): New.
6678 (aarch64_rtx_costs): Use it, refactor as appropriate.
6679
9dfc162c
JG
66802014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6681 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6682
6683 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
6684 emit instructions, return number of instructions which would
6685 be emitted.
6686 (aarch64_add_constant): Update call to aarch64_build_constant.
6687 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 6688 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
6689 a CONST_DOUBLE.
6690
0ee859b5
JG
66912014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6692
6693 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
6694 (TARGET_RTX_COSTS): Call it.
6695
60bff090
JG
66962014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6697
6698 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
6699 (cortexa57_vector_cost): Likewise.
6700 (cortexa57_tunings): Use them.
6701
67747367
JG
67022014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
6703
6704 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
6705 (cpu_addrcost_table): Use it.
6706 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
6707 (aarch64_address_cost): Rewrite using aarch64_classify_address,
6708 move it.
6709
a764d660
RB
67102014-05-16 Richard Biener <rguenther@suse.de>
6711
6712 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
6713 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
6714 (visit_phi): Ignore edges marked as not executable.
6715 (class cond_dom_walker): New.
6716 (cond_dom_walker::before_dom_children): Value-number
6717 control statements and mark successor edges as not
6718 executable if possible.
6719 (run_scc_vn): First walk all control statements in
6720 dominator order, marking edges as not executable.
6721 * tree-inline.c (copy_edges_for_bb): Be not confused
6722 about random edge flags.
6723
a27c3860
RB
67242014-05-16 Richard Biener <rguenther@suse.de>
6725
6726 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
6727
d8c55b91
PB
67282014-05-15 Peter Bergner <bergner@vnet.ibm.com>
6729
6730 PR target/61193
6731 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
6732 (__TM_simple_begin): Use it.
6733 (__TM_begin): Likewise.
6734
8a2256dd
MJ
67352014-05-15 Martin Jambor <mjambor@suse.cz>
6736
6737 PR ipa/61085
6738 * ipa-prop.c (update_indirect_edges_after_inlining): Check
6739 type_preserved flag when the indirect edge is polymorphic.
6740
9d2681a3
MJ
67412014-05-15 Martin Jambor <mjambor@suse.cz>
6742
6743 PR tree-optimization/61090
6744 * tree-sra.c (sra_modify_expr): Pass the current gsi to
6745 build_ref_for_model.
6746
927450d0
KT
67472014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6748
6749 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
6750 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
6751
ceed6e67
JJ
67522014-05-15 Jakub Jelinek <jakub@redhat.com>
6753
6754 PR tree-optimization/61158
6755 * fold-const.c (fold_binary_loc): If X is zero-extended and
6756 shiftc >= prec, make sure zerobits is all ones instead of
6757 invoking undefined behavior.
6758
a2e6c10c
ZC
67592014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6760
6761 * regcprop.h: New file.
6762 * regcprop.c (skip_debug_insn_p): New decl.
6763 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
6764 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
6765 * shrink-wrap.c: Include regcprop.h.
6766 (prepare_shrink_wrap): Call
6767 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 6768
e974b93b
ZC
67692014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6770
6771 * shrink-wrap.h: Update comment.
6772 * shrink-wrap.c: Update comment.
6773 (next_block_for_reg): Rename to live_edge_for_reg.
6774 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
6775 (move_insn_for_shrink_wrap): Split live_edge.
6776 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
6777
88fe5e91
EB
67782014-05-14 Eric Botcazou <ebotcazou@adacore.com>
6779
6780 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
6781 Delete.
6782 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
6783 * config/sparc/sparc.md (fptype_ut699): New attribute.
6784 (in_branch_delay): Return false if -mfix-ut699 is specified and
6785 fptype_ut699 is set to single.
6786 (truncdfsf2): Add fptype_ut699 attribute.
6787 (fix_truncdfsi2): Likewise.
6788 (floatsisf2): Change fptype attribute.
6789 (fix_truncsfsi2): Likewise.
6790 (negtf2_notv9): Delete.
6791 (negtf2_v9): Likewise.
6792 (negtf2_hq): New instruction.
6793 (negtf2): New instruction and splitter.
6794 (negdf2_notv9): Rewrite.
6795 (abstf2_notv9): Delete.
6796 (abstf2_hq_v9): Likewise.
6797 (abstf2_v9): Likewise.
6798 (abstf2_hq): New instruction.
6799 (abstf2): New instruction and splitter.
6800 (absdf2_notv9): Rewrite.
6801
bc91b0e0
CC
68022014-05-14 Cary Coutant <ccoutant@google.com>
6803
6b8ebd00 6804 PR debug/61013
bc91b0e0
CC
6805 * opts.c (common_handle_option): Don't special-case "-g".
6806 (set_debug_level): Default to at least level 2 with "-g".
6807
5f35dde5
DD
68082014-05-14 DJ Delorie <dj@redhat.com>
6809
6810 * config/msp430/msp430.c (msp430_builtin): Add
6811 MSP430_BUILTIN_DELAY_CYCLES.
6812 (msp430_init_builtins): Register void __delay_cycles(long long).
6813 (msp430_builtin_decl): Add it.
6814 (cg_magic_constant): New.
6815 (msp430_expand_delay_cycles): New.
6816 (msp430_expand_builtin): Call it.
6817 (msp430_print_operand_raw): Change integer printing from "int" to
6818 HOST_WIDE_INT.
6819 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
6820 (delay_cycles_start): New.
6821 (delay_cycles_end): New.
6822 (delay_cycles_32): New.
6823 (delay_cycles_32x): New.
6824 (delay_cycles_16): New.
6825 (delay_cycles_16x): New.
6826 (delay_cycles_2): New.
6827 (delay_cycles_1): New.
6828 * doc/extend.texi: Document __delay_cycles().
6829
5d40b20f
SL
68302014-05-14 Sandra Loosemore <sandra@codesourcery.com>
6831
6832 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
6833 length attribute computation.
6834
25109109
RS
68352014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
6836
6837 PR debug/61188
6838 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
6839
7e7e4032
RS
68402014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
6841
6842 PR target/61084
6843 * config/sparc/sparc.md: Fix types of low and high in DI constant
6844 splitter. Use gen_int_mode in some other splitters.
6845
70d6d5c1
MJ
68462014-05-14 Martin Jambor <mjambor@suse.cz>
6847
6848 PR ipa/60897
6849 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
6850
23b02de3
JN
68512014-05-14 James Norris <jnorris@codesourcery.com>
6852
6853 * omp-low.c (expand_parallel_call): Remove shadow variable.
6854 (expand_omp_taskreg): Likewise.
6855
9cdea277
IT
68562014-05-14 Ilya Tocar <ilya.tocar@intel.com>
6857
6858 * common/config/i386/i386-common.c
6859 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
6860 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
6861 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
6862 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
6863 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
6864 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 6865 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
6866 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
6867 xsavecintrin.h, xsavesintrin.h.
6868 (x86_64-*-*): Ditto.
6869 * config/i386/clflushoptintrin.h: New.
6870 * config/i386/xsavecintrin.h: Ditto.
6871 * config/i386/xsavesintrin.h: Ditto.
6872 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
6873 (bit_XSAVES): Ditto.
6874 (bit_XSAVES): Ditto.
6875 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
6876 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
6877 -mno-clflushopt.
6878 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6879 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
6880 OPTION_MASK_ISA_XSAVES.
6881 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
6882 -mxsavec, -mxsaves.
6883 (PTA_CLFLUSHOPT) Define.
6884 (PTA_XSAVEC): Ditto.
6885 (PTA_XSAVES): Ditto.
6886 (ix86_option_override_internal): Handle new options.
6887 (ix86_valid_target_attribute_inner_p): Ditto.
6888 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
6889 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
6890 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
6891 (bdesc_special_args): Add __builtin_ia32_xsaves,
6892 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
6893 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
6894 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
6895 (ix86_expand_builtin): Handle new builtins.
6896 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
6897 (TARGET_CLFLUSHOPT_P): Ditto.
6898 (TARGET_XSAVEC): Ditto.
6899 (TARGET_XSAVEC_P): Ditto.
6900 (TARGET_XSAVES): Ditto.
6901 (TARGET_XSAVES_P): Ditto.
6902 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
6903 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
6904 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
6905 (ANY_XRSTOR): New.
6906 (ANY_XRSTOR64): Ditto.
6907 (xrstor): Ditto.
6908 (xrstor): Change into <xrstor>.
6909 (xrstor_rex64): Change into <xrstor>_rex64.
6910 (xrstor64): Change into <xrstor>64
6911 (clflushopt): New.
6912 * config/i386/i386.opt (mclflushopt): New.
6913 (mxsavec): Ditto.
6914 (mxsaves): Ditto.
6915 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
6916 xsavecintrin.h.
6917 * doc/invoke.texi: Document new options.
6918
92e265ac
AB
69192014-05-14 Andrey Belevantsev <abel@ispras.ru>
6920
6921 PR rtl-optimization/60866
6922 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
6923 Default it to -1. Pass it down to init_simplejump_data.
6924 (init_simplejump_data): New parameter old_seqno. Pass it down
6925 to get_seqno_for_a_jump.
6926 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
6927 initializing new jump seqno as a last resort. Add comment.
6928 (sel_redirect_edge_and_branch): Save old seqno of the conditional
6929 jump and pass it down to sel_init_new_insn.
6930 (sel_redirect_edge_and_branch_force): Likewise.
6931
fa96aa45
GJL
69322014-05-14 Georg-Johann Lay <avr@gjlay.de>
6933
6934 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
6935 shifted values to avoid build warning.
6936
8a829274
EB
69372014-05-14 Eric Botcazou <ebotcazou@adacore.com>
6938
6939 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
6940 * cfgrtl.c (rtl_merge_blocks): Fix comment.
6941 (cfg_layout_merge_blocks): Likewise.
6942 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
6943
11290308
AB
69442014-05-14 Andrey Belevantsev <abel@ispras.ru>
6945
6946 PR rtl-optimization/60901
6947 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
6948 bb predecessor belongs to the same scheduling region. Adjust comment.
6949
f4853e92
PB
69502014-05-13 Peter Bergner <bergner@vnet.ibm.com>
6951
6952 * doc/sourcebuild.texi: (dfp_hw): Document.
6953 (p8vector_hw): Likewise.
6954 (powerpc_eabi_ok): Likewise.
6955 (powerpc_elfv2): Likewise.
6956 (powerpc_htm_ok): Likewise.
6957 (ppc_recip_hw): Likewise.
6958 (vsx_hw): Likewise.
6959
bd5c3baa
CC
69602014-05-13 Cary Coutant <ccoutant@google.com>
6961
6962 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
6963
9aa54cc9
DM
69642014-05-13 David Malcolm <dmalcolm@redhat.com>
6965
6966 * gengtype-parse.c (require3): Eliminate in favor of...
6967 (require4): New.
6968 (require_template_declaration): Update to support optional single *
6969 on a type.
6970
6971 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
6972 (create_user_defined_type): Handle a single level of explicit
6973 pointerness within template arguments.
6974 (struct write_types_data): Add field "kind".
6975 (filter_type_name): Handle "*" character.
6976 (write_user_func_for_structure_ptr): Require a write_types_data
6977 rather than just a prefix string, so that we can look up the kind
6978 of the wtd and use it as an index into wrote_user_func_for_ptr,
6979 ensuring that such functions are written at most once. Support
6b8ebd00 6980 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
6981 (write_user_func_for_structure_body): Require a write_types_data
6982 rather than just a prefix string, so that we can pass this to
6983 write_user_func_for_structure_ptr.
6984 (write_func_for_structure): Likewise.
6985 (ggc_wtd): Add initializer of new "kind" field.
6986 (pch_wtd): Likewise.
6987
6988 * gengtype.h (enum write_types_kinds): New.
6989 (struct type): Add field wrote_user_func_for_ptr to the "s"
6990 union member.
6991
5c0f009c
RS
69922014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
6993
6994 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
6995 instead of const_binop.
6996 (fold_binary_loc): Likewise.
6997
460d1e22
RS
69982014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
6999
7000 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
7001 calculation to match get_ref_base_and_extent.
7002
1e1f96b5
CM
70032014-05-13 Catherine Moore <clm@codesourcery.com>
7004 Sandra Loosemore <sandra@codesourcery.com>
7005
7006 * configure.ac: Fix assembly for explicit JALR relocation check.
7007 * configure: Regenerate.
7008
411f86ad
KT
70092014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7010
7011 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
7012 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
7013 Remove associated type declarations and initialisations.
7014 (arm_expand_neon_builtin): Likewise.
7015 (neon_emit_pair_result_insn): Delete.
7016 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
7017 * config/arm/neon.md (neon_vtrn<mode>): Delete.
7018 (neon_vzip<mode>): Likewise.
7019 (neon_vuzp<mode>): Likewise.
7020
6b77934e
RB
70212014-05-13 Richard Biener <rguenther@suse.de>
7022
7023 PR ipa/60973
7024 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
7025 it needs revisiting whether the call still may be tail-called.
7026
da3cd113
RS
70272014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
7028
7029 * rtl.def (SYMBOL_REF): Remove middle "0" field.
7030 * rtl.h (block_symbol): Reduce number of fields to 2.
7031 (rtx_def): Add u2.symbol_ref_flags.
7032 (SYMBOL_REF_FLAGS): Use it.
7033 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
7034 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
7035 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
7036 Lower index of SYMBOL_REF_DATA.
7037 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
7038 Print SYMBOL_REF_FLAGS at the same time.
7039 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
7040
fcc74520
RS
70412014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
7042
7043 * rtl.def (VAR_LOCATION): Remove "i" field.
7044 * rtl.h (rtx_def): Add u2.var_location_status.
7045 (PAT_VAR_LOCATION_STATUS): Use it.
7046 (gen_rtx_VAR_LOCATION): Declare.
7047 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
7048 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
7049 * var-tracking.c (emit_note_insn_var_location): Remove casts.
7050
feb09dd9
RS
70512014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
7052
7053 * rtl.def (scratch): Fix outdated comment and remove "0" field.
7054 * gengtype.c (adjust_field_rtx_def): Update accordingly.
7055
ed8921dc
RS
70562014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
7057
7058 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
7059 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
7060 * rtl.h (rtx_def): Add insn_uid to u2 field.
7061 (RTX_FLAG_CHECK8): Delete in favor of...
7062 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
7063 (INSN_DELETED_P): Update accordingly.
7064 (INSN_UID): Use u2.insn_uid.
7065 (INSN_CHAIN_CODE_P): Define.
7066 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
7067 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
7068 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
7069 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
7070 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
7071 indices accordingly.
7072 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
7073 Update indices for insn-chain rtxes.
7074 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
7075 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
7076 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
7077 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
7078 * combine.c (try_combine): Likewise.
7079 * ira.c (setup_prohibited_mode_move_regs): Likewise.
7080
fccc5515
RS
70812014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
7082
7083 * rtl.def (REG): Remove middle field.
7084 * rtl.h (rtx_def): Add orignal_regno to u2.
7085 (ORIGINAL_REGNO): Use it instead of field 1.
7086 (REG_ATTRS): Lower field index accordingly.
7087 * gengtype.c (adjust_field_rtx_def): Remove handling of
7088 ORIGINAL_REGNO. Move REG_ATTRS index down.
7089 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
7090 code that prints the REGNO.
7091
925c1bae
RS
70922014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
7093
7094 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
7095 GENERATOR_FILE.
7096
13b0c5ac
RS
70972014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
7098
7099 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
7100
be9a0da5
BC
71012014-05-13 Bin Cheng <bin.cheng@arm.com>
7102
7103 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
7104 (alloc_iv): Lower base expressions containing ADDR_EXPR.
7105
73d9ac6a
IB
71062014-05-13 Ian Bolton <ian.bolton@arm.com>
7107
7108 * config/aarch64/aarch64-protos.h
7109 (aarch64_hard_regno_caller_save_mode): New prototype.
7110 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
7111 New function.
7112 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
7113
06b90602
CB
71142014-05-13 Christian Bruel <christian.bruel@st.com>
7115
7116 * target.def (mode_switching): New hook vector.
7117 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
7118 (mode_exit, modepriority_to_mode): Likewise.
7119 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
7120 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
7121 * target.h: Include tm.h and hard-reg-set.h.
7122 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
7123 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
7124 * doc/tm.texi Regenerate.
7125 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
7126 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
7127 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
7128 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
7129 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
7130 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
7131 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
7132 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
7133 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
7134 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
7135 (ix86_emit_mode_set): Hookify.
06b90602 7136 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 7137 Delete.
06b90602 7138 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
7139 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
7140 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
7141 (epiphany_mode_priority_to_mode): Remove declaration.
7142 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
7143 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
7144 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
7145 Likewise.
6b8ebd00 7146 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
7147 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
7148 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
7149
455464ab
JJ
71502014-05-13 Jakub Jelinek <jakub@redhat.com>
7151
7152 PR target/61060
7153 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
7154 is const0_rtx, return immediately. Don't test count == 0 when
7155 it is always true.
7156
f30e25a3
ZC
71572014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
7158
7159 * Makefile.in: add shrink-wrap.o.
7160 * config/i386/i386.c: include "shrink-wrap.h"
7161 * function.c: Likewise.
7162 (requires_stack_frame_p, next_block_for_reg,
7163 move_insn_for_shrink_wrap, prepare_shrink_wrap,
7164 dup_block_and_redirect): Move to shrink-wrap.c
7165 (thread_prologue_and_epilogue_insns): Extract three code segments
7166 as functions in shrink-wrap.c
7167 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
7168 shrink-wrap.h
7169 * shrink-wrap.c: New file.
7170 * shrink-wrap.h: New file.
7171
f95c6a78
DW
71722014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
7173
7174 * doc/extend.texi: Reflect current numbers of pragmas. Remove
7175 reference to Solaris.
7176
77a1da2c
MS
71772014-05-12 Mike Stump <mikestump@comcast.net>
7178
7179 PR other/31778
7180 * genattrtab.c (filename): Add.
7181 (convert_set_attr_alternative): Improve error message.
7182 (check_defs): Restore read_md_filename for error messages.
7183 (gen_insn): Save filename.
7184
dff8943f
DP
71852014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
7186
7187 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
7188 -fno-local-ivars and -fivar-visibility.
7189 * c-family/c.opt: Make -Wshadow also implicitly enable
7190 -Wshadow-ivar.
7191
6b8ebd00 71922014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
7193
7194 * doc/tm.texi: Remove reference to deleted macro.
7195 * doc/tm.texi.in: Likewise.
7196
079f1420
SKS
71972014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7198
7199 PR target/60991
7200 * config/avr/avr.c (avr_out_store_psi): Use correct constant
7201 to restore Y.
7202
999db125
GJL
72032014-05-12 Georg-Johann Lay <avr@gjlay.de>
7204
a5024e01 7205 PR libgcc/61152
999db125
GJL
7206 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
7207 * config/arm/aout.h (License): Same.
7208 * config/arm/bpabi.h (License): Same.
7209 * config/arm/elf.h (License): Same.
7210 * config/arm/linux-elf.h (License): Same.
7211 * config/arm/linux-gas.h (License): Same.
7212 * config/arm/netbsd-elf.h (License): Same.
7213 * config/arm/uclinux-eabi.h (License): Same.
7214 * config/arm/uclinux-elf.h (License): Same.
7215 * config/arm/vxworks.h (License): Same.
7216
dd2fc525
JJ
72172014-05-11 Jakub Jelinek <jakub@redhat.com>
7218
7219 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
7220 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
7221 number of operands to 3.
7222 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
7223 * tree-nested.c (convert_nonlocal_omp_clauses,
7224 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
7225 * gimplify.c (gimplify_scan_omp_clauses): Handle
7226 OMP_CLAUSE_LINEAR_STMT.
7227 * omp-low.c (lower_rec_input_clauses): Fix typo.
7228 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
7229 cast between Fortran boolean_type_node and C _Bool if
7230 needed.
7231
7588d8aa
RS
72322014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
7233
7234 PR tree-optimization/61136
7235 * wide-int.h (multiple_of_p): Define a version that doesn't return
7236 the quotient.
7237 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
7238 integer_zerop/const_binop pair.
7239 (multiple_of_p): Likewise, converting both operands to widest_int
7240 precision.
7241
e7eee636
TJ
72422014-05-09 Teresa Johnson <tejohnson@google.com>
7243
7244 * cgraphunit.c (analyze_functions): Use correct dump file.
7245
6545746e
FW
72462014-05-09 Florian Weimer <fweimer@redhat.com>
7247
7248 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
7249 expand_used_vars.
7250 (stack_protect_return_slot_p): New function.
7251 (expand_used_vars): Call stack_protect_decl_p and
7252 stack_protect_return_slot_p for -fstack-protector-strong.
7253
2556511e
DW
72542014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
7255 Andrew Haley <aph@redhat.com>
7256 Richard Sandiford <rdsandiford@googlemail.com>
7257
7258 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
7259 pages.
7260
971ed35d 72612014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
7262
7263 PR middle-end/61111
7264 * fold-const.c (fold_binary_loc): Changed width of mask.
7265
c204f1b5
GJL
72662014-05-09 Georg-Johann Lay <avr@gjlay.de>
7267
7268 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
7269 unsigned int initializers for regno_in, regno_out.
7270
b8469805
GJL
72712014-05-09 Georg-Johann Lay <avr@gjlay.de>
7272
7273 PR target/61055
7274 * config/avr/avr.md (cc): Add new attribute set_vzn.
7275 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
7276 Set cc insn attribute to set_vzn instead of set_zn for alternatives
7277 with INC, DEC or NEG.
7278 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
7279 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
7280 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
7281
9db25c6a
RR
72822014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7283
7284 Revert:
7285 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7286
7287 * wide-int.cc (UTItype): Define.
7288 (UDWtype): Define for appropriate W_TYPE_SIZE.
7289
ee3958cf
RB
72902014-05-09 Richard Biener <rguenther@suse.de>
7291
7292 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
7293 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
7294 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
7295 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
7296 ssa_propagate): Adjust.
7297
0600049c
JL
72982014-05-08 Jeff Law <law@redhat.com>
7299
7300 PR tree-optimization/61009
7301 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
7302 tri-state rather than a boolean. When a block is too big to
7303 thread through, inform caller via negative return value.
7304 (thread_across_edge): If a block was too big for normal threading,
7305 then it's too big for a joiner too, so remove temporary equivalences
7306 and return immediately.
7307
a82122df
MK
73082014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7309 Matthias Klose <doko@ubuntu.com>
7310
7311 PR driver/61106
7312 * optc-gen.awk: Fix option handling for -Wunused-parameter.
7313
30e494f1
UB
73142014-05-08 Uros Bizjak <ubizjak@gmail.com>
7315
7316 PR target/59952
7317 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
7318
b6db8af6
UB
73192014-05-08 Uros Bizjak <ubizjak@gmail.com>
7320
7321 PR target/61092
7322 * config/alpha/alpha.c: Include gimple-iterator.h.
7323 (alpha_gimple_fold_builtin): New function. Move
7324 ALPHA_BUILTIN_UMULH folding from ...
7325 (alpha_fold_builtin): ... here.
7326 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
7327
272325bd
WM
73282014-05-08 Wei Mi <wmi@google.com>
7329
7330 PR target/58066
b6db8af6
UB
7331 * config/i386/i386.c (ix86_compute_frame_layout): Update
7332 preferred_stack_boundary for call, expanded from tls descriptor.
7333 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
7334 to depend on SP register.
272325bd
WM
7335 (*tls_local_dynamic_base_32_gnu): Ditto.
7336 (*tls_local_dynamic_32_once): Ditto.
7337 (tls_global_dynamic_64_<mode>): Set
7338 ix86_tls_descriptor_calls_expanded_in_cfun.
7339 (tls_local_dynamic_base_64_<mode>): Ditto.
7340 (tls_global_dynamic_32): Set
7341 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
7342 to depend on SP register.
7343 (tls_local_dynamic_base_32): Ditto.
7344
e79cb1a3
RR
73452014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7346
7347 * config/arm/arm_neon.h: Update comment.
7348 * config/arm/neon-docgen.ml: Delete.
7349 * config/arm/neon-gen.ml: Delete.
7350 * doc/arm-neon-intrinsics.texi: Update comment.
7351
0d0b79a6
RR
73522014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7353
7354 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
7355 and v4sf versions.
7356 (vand, vorr, veor, vorn, vbic): Remove.
7357 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
7358 iterator.
7359 (neon_vsub_unspec): Likewise.
7360 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
7361
add0c111
RR
73622014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7363
7364 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
7365 (vadd_s16): Likewise.
7366 (vadd_s32): Likewise.
7367 (vadd_f32): Likewise.
7368 (vadd_u8): Likewise.
7369 (vadd_u16): Likewise.
7370 (vadd_u32): Likewise.
7371 (vadd_s64): Likewise.
7372 (vadd_u64): Likewise.
7373 (vaddq_s8): Likewise.
7374 (vaddq_s16): Likewise.
7375 (vaddq_s32): Likewise.
7376 (vaddq_s64): Likewise.
7377 (vaddq_f32): Likewise.
7378 (vaddq_u8): Likewise.
7379 (vaddq_u16): Likewise.
7380 (vaddq_u32): Likewise.
7381 (vaddq_u64): Likewise.
7382 (vmul_s8): Likewise.
7383 (vmul_s16): Likewise.
7384 (vmul_s32): Likewise.
7385 (vmul_f32): Likewise.
7386 (vmul_u8): Likewise.
7387 (vmul_u16): Likewise.
7388 (vmul_u32): Likewise.
7389 (vmul_p8): Likewise.
7390 (vmulq_s8): Likewise.
7391 (vmulq_s16): Likewise.
7392 (vmulq_s32): Likewise.
7393 (vmulq_f32): Likewise.
7394 (vmulq_u8): Likewise.
7395 (vmulq_u16): Likewise.
7396 (vmulq_u32): Likewise.
7397 (vsub_s8): Likewise.
7398 (vsub_s16): Likewise.
7399 (vsub_s32): Likewise.
7400 (vsub_f32): Likewise.
7401 (vsub_u8): Likewise.
7402 (vsub_u16): Likewise.
7403 (vsub_u32): Likewise.
7404 (vsub_s64): Likewise.
7405 (vsub_u64): Likewise.
7406 (vsubq_s8): Likewise.
7407 (vsubq_s16): Likewise.
7408 (vsubq_s32): Likewise.
7409 (vsubq_s64): Likewise.
7410 (vsubq_f32): Likewise.
7411 (vsubq_u8): Likewise.
7412 (vsubq_u16): Likewise.
7413 (vsubq_u32): Likewise.
7414 (vsubq_u64): Likewise.
7415 (vand_s8): Likewise.
7416 (vand_s16): Likewise.
7417 (vand_s32): Likewise.
7418 (vand_u8): Likewise.
7419 (vand_u16): Likewise.
7420 (vand_u32): Likewise.
7421 (vand_s64): Likewise.
7422 (vand_u64): Likewise.
7423 (vandq_s8): Likewise.
7424 (vandq_s16): Likewise.
7425 (vandq_s32): Likewise.
7426 (vandq_s64): Likewise.
7427 (vandq_u8): Likewise.
7428 (vandq_u16): Likewise.
7429 (vandq_u32): Likewise.
7430 (vandq_u64): Likewise.
7431 (vorr_s8): Likewise.
7432 (vorr_s16): Likewise.
7433 (vorr_s32): Likewise.
7434 (vorr_u8): Likewise.
7435 (vorr_u16): Likewise.
7436 (vorr_u32): Likewise.
7437 (vorr_s64): Likewise.
7438 (vorr_u64): Likewise.
7439 (vorrq_s8): Likewise.
7440 (vorrq_s16): Likewise.
7441 (vorrq_s32): Likewise.
7442 (vorrq_s64): Likewise.
7443 (vorrq_u8): Likewise.
7444 (vorrq_u16): Likewise.
7445 (vorrq_u32): Likewise.
7446 (vorrq_u64): Likewise.
7447 (veor_s8): Likewise.
7448 (veor_s16): Likewise.
7449 (veor_s32): Likewise.
7450 (veor_u8): Likewise.
7451 (veor_u16): Likewise.
7452 (veor_u32): Likewise.
7453 (veor_s64): Likewise.
7454 (veor_u64): Likewise.
7455 (veorq_s8): Likewise.
7456 (veorq_s16): Likewise.
7457 (veorq_s32): Likewise.
7458 (veorq_s64): Likewise.
7459 (veorq_u8): Likewise.
7460 (veorq_u16): Likewise.
7461 (veorq_u32): Likewise.
7462 (veorq_u64): Likewise.
7463 (vbic_s8): Likewise.
7464 (vbic_s16): Likewise.
7465 (vbic_s32): Likewise.
7466 (vbic_u8): Likewise.
7467 (vbic_u16): Likewise.
7468 (vbic_u32): Likewise.
7469 (vbic_s64): Likewise.
7470 (vbic_u64): Likewise.
7471 (vbicq_s8): Likewise.
7472 (vbicq_s16): Likewise.
7473 (vbicq_s32): Likewise.
7474 (vbicq_s64): Likewise.
7475 (vbicq_u8): Likewise.
7476 (vbicq_u16): Likewise.
7477 (vbicq_u32): Likewise.
7478 (vbicq_u64): Likewise.
7479 (vorn_s8): Likewise.
7480 (vorn_s16): Likewise.
7481 (vorn_s32): Likewise.
7482 (vorn_u8): Likewise.
7483 (vorn_u16): Likewise.
7484 (vorn_u32): Likewise.
7485 (vorn_s64): Likewise.
7486 (vorn_u64): Likewise.
7487 (vornq_s8): Likewise.
7488 (vornq_s16): Likewise.
7489 (vornq_s32): Likewise.
7490 (vornq_s64): Likewise.
7491 (vornq_u8): Likewise.
7492 (vornq_u16): Likewise.
7493 (vornq_u32): Likewise.
7494 (vornq_u64): Likewise.
7495
ca40fb28
RR
74962014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7497
7498 * wide-int.cc (UTItype): Define.
b6db8af6 7499 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 7500
421bf780
MG
75012014-05-08 Marc Glisse <marc.glisse@inria.fr>
7502
7503 PR tree-optimization/59100
7504 * tree-ssa-phiopt.c: Include tree-inline.h.
7505 (neutral_element_p, absorbing_element_p): New functions.
7506 (value_replacement): Handle conditional binary operations with a
7507 neutral or absorbing element.
7508
a5eaec42
RB
75092014-05-08 Richard Biener <rguenther@suse.de>
7510
7511 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
7512 folding the expression.
7513 (valueize_expr): Remove.
7514 (visit_reference_op_load): Do not valueize the result of
7515 vn_get_expr_for.
7516 (simplify_binary_expression): Likewise.
7517 (simplify_unary_expression): Likewise.
7518
a96c6a62
RB
75192014-05-08 Richard Biener <rguenther@suse.de>
7520
7521 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
7522 looking at TYPE_ARG_TYPES.
7523
fb42e303
RB
75242014-05-08 Richard Biener <rguenther@suse.de>
7525
7526 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
7527 pointer propagation special-case.
7528
d1f1a283
BC
75292014-05-08 Bin Cheng <bin.cheng@arm.com>
7530
7531 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
7532 core part of address expressions.
7533
42aea2d8
AM
75342014-05-08 Alan Modra <amodra@gmail.com>
7535
7536 PR target/60737
7537 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
7538 loads and stores when -mno-strict-align at any alignment.
7539 (expand_block_clear): Similarly. Also correct calculation of
7540 instruction count.
7541
10e08855
TP
75422014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
7543
7544 PR middle-end/39246
7545 * tree-complex.c (expand_complex_move): Keep line info when expanding
7546 complex move.
7547 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
7548 of complex expression. Use new argument to display correct location
7549 for values coming from phi statement.
7550 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
7551 (warn_uninitialized_phi): Pass location of phi argument to
7552 warn_uninit.
7553 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
7554 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
7555
d839f53b
SB
75562014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
7557
7558 * config/rs6000/predicates.md (indexed_address_mem): New.
7559 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
7560 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
7561 fpstore_ux, fpstore_u.
7562 (sign_extend, indexed, update): New.
7563 (cell_micro): Adjust.
7564 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
7565 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
7566 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
7567 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
7568 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
7569 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
7570 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
7571 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
7572 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
7573 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
7574 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
7575 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
7576 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
7577 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
7578 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
7579
7580 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
7581 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
7582 *vsx_extract_<mode>_store): Adjust.
7583 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
7584 is_cracked_insn, insn_must_be_first_in_group,
7585 insn_must_be_last_in_group): Adjust.
7586
7587 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
7588 Adjust.
7589 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
7590 ppc440-fpstore): Adjust.
7591 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
7592 ppc476-fpstore): Adjust.
7593 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
7594 ppc601-fpstore): Adjust.
7595 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
7596 Adjust.
7597 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
7598 Adjust.
7599 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
7600 ppc7450-fpstore): Adjust.
7601 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
7602 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
7603 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
7604 Adjust.
7605 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
7606 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
7607 cell-fpstore, cell-fpstore-update): Adjust.
7608 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
7609 ppce300c3_store, ppce300c3_fpstore): Adjust.
7610 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
7611 e500mc_fpstore): Adjust.
7612 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
7613 e500mc64_store, e500mc64_fpstore): Adjust.
7614 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
7615 e5500_fpstore): Adjust.
7616 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
7617 e6500_fpstore): Adjust.
7618 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
7619 Adjust.
7620 * config/rs6000/power4.md (power4-load, power4-load-ext,
7621 power4-load-ext-update, power4-load-ext-update-indexed,
7622 power4-load-update-indexed, power4-load-update, power4-fpload,
7623 power4-fpload-update, power4-store, power4-store-update,
7624 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
7625 Adjust.
7626 * config/rs6000/power5.md (power5-load, power5-load-ext,
7627 power5-load-ext-update, power5-load-ext-update-indexed,
7628 power5-load-update-indexed, power5-load-update, power5-fpload,
7629 power5-fpload-update, power5-store, power5-store-update,
7630 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
7631 Adjust.
7632 * config/rs6000/power6.md (power6-load, power6-load-ext,
7633 power6-load-update, power6-load-update-indexed,
7634 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
7635 power6-fpload-update, power6-store, power6-store-update,
7636 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
7637 Adjust.
7638 * config/rs6000/power7.md (power7-load, power7-load-ext,
7639 power7-load-update, power7-load-update-indexed,
7640 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
7641 power7-fpload-update, power7-store, power7-store-update,
7642 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
7643 Adjust.
7644 * config/rs6000/power8.md (power8-load, power8-load-update,
7645 power8-load-ext, power8-load-ext-update, power8-fpload,
7646 power8-fpload-update, power8-store, power8-store-update-indexed,
7647 power8-fpstore, power8-fpstore-update): Adjust.
7648 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
7649 Adjust.
7650 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
7651 titan_lsu_store, titan_lsu_fpstore): Adjust.
7652 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
7653
36dc9ae8
OE
76542014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
7655
7656 PR target/60884
7657 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
7658 unrolled byte insns. Emit address increments after move insns.
7659
9bbf45f6
DM
76602014-05-07 David Malcolm <dmalcolm@redhat.com>
7661
7662 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
7663 const_gimple, rather than a gimple.
7664 (gimple_call_builtin_p): Likewise, for the three variants.
7665
7666 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
7667 (gimple_call_builtin_p): Likewise, for the three variants.
7668
1a51f10c
RS
76692014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7670
7671 PR tree-optimization/61095
7672 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
7673
50f0aa20
RB
76742014-05-07 Richard Biener <rguenther@suse.de>
7675
7676 PR tree-optimization/61034
7677 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
7678 (maybe_skip_until): Use translate to take into account
7679 lattices when trying to do disambiguations.
7680 (get_continuation_for_phi_1): Likewise.
b6db8af6 7681 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 7682 (walk_non_aliased_vuses): Likewise.
b6db8af6 7683 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
7684 (walk_non_aliased_vuses): Likewise.
7685 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
7686 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
7687 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
7688 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
7689
e7b7077e
JR
76902014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
7691
7692 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
7693 Emit an error when the function has arguments.
7694
c4597c1d
TS
76952014-05-07 Thomas Schwinge <thomas@codesourcery.com>
7696
7697 * cfgloop.h (unswitch_loops): Remove.
7698 * doc/passes.texi: Remove references to loop-unswitch.c
7699 * timevar.def (TV_LOOP_UNSWITCH): Remove.
7700
2c23db6d
ES
77012014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
7702
7703 * tree-vect-data-refs.c (vect_grouped_load_supported): New
7704 check for loads group of length 3.
7705 (vect_permute_load_chain): New permutations for loads group of
7706 length 3.
7707 * tree-vect-stmts.c (vect_model_load_cost): Change cost
7708 of vec_perm_shuffle for the new permutations.
7709
1d175503
AL
77102014-05-07 Alan Lawrence <alan.lawrence@arm.com>
7711
7712 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
7713 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
7714 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
7715 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
7716 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
7717 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
7718 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
7719 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
7720
e2d87487
TS
77212014-05-07 Thomas Schwinge <thomas@codesourcery.com>
7722
7723 * loop-unswitch.c: Delete.
7724
f543058d
RB
77252014-05-07 Richard Biener <rguenther@suse.de>
7726
7727 * config.gcc: Always set need_64bit_hwint to yes.
7728
96092404
CJW
77292014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
7730
7731 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
7732 of using optimize_size.
7733
ca66f89b
MS
77342014-05-06 Mike Stump <mikestump@comcast.net>
7735
7736 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
7737
659c0e68
JM
77382014-05-06 Joseph Myers <joseph@codesourcery.com>
7739
7740 * config/i386/sse.md (*mov<mode>_internal)
7741 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
7742 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
7743 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
7744 (*<code><mode>3, *andnot<mode>3<mask_name>)
7745 (<mask_codefor><code><mode>3<mask_name>): Only consider
7746 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
7747
3379b71f
RS
77482014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
7749
7750 Revert:
7751 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
7752
7753 * lra-constraints.c (valid_address_p): Move earlier in file.
7754 Add a constraint argument to the address_info version.
7755 (satisfies_memory_constraint_p): New function.
7756 (satisfies_address_constraint_p): Likewise.
7757 (process_alt_operands, curr_insn_transform): Use them.
7758 (process_address): Pass the constraint to valid_address_p when
7759 checking address operands.
7760
224dbc07
RS
77612014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
7762
7763 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
7764 to their respective blocks. Fix inadvertent use of "node".
7765
aa3a12d6
RS
77662014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
7767
7768 * emit-rtl.c (init_derived_machine_modes): New functionm, split
7769 out from...
7770 (init_emit_once): ...here.
7771 * rtl.h (init_derived_machine_modes): Declare.
7772 * toplev.c (do_compile): Call it even if no_backend.
7773
1d60af08
KZ
77742014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7775 Mike Stump <mikestump@comcast.net>
7776 Richard Sandiford <rdsandiford@googlemail.com>
7777 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7778
7779 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
7780 (rtx_equal_for_memref_p): Update comment.
7781 (adjust_offset_for_component_ref): Use wide-int interfaces.
7782 * builtins.c (get_object_alignment_2): Likewise.
7783 (c_readstr): Likewise.
7784 (target_char_cast): Add comment.
7785 (determine_block_size): Use wide-int interfaces.
7786 (expand_builtin_signbit): Likewise.
7787 (fold_builtin_int_roundingfn): Likewise.
7788 (fold_builtin_bitop): Likewise.
7789 (fold_builtin_bswap): Likewise.
7790 (fold_builtin_logarithm): Use signop.
7791 (fold_builtin_pow): Likewise.
7792 (fold_builtin_memory_op): Use wide-int interfaces.
7793 (fold_builtin_object_size): Likewise.
7794 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
7795 nb_iterations_estimate.
7796 (record_niter_bound): Use wide-int interfaces.
7797 (get_estimated_loop_iterations_int): Likewise.
7798 (get_estimated_loop_iterations): Likewise.
7799 (get_max_loop_iterations): Likewise.
7800 * cfgloop.h: Include wide-int.h.
7801 (struct nb_iter_bound): Change bound to widest_int.
7802 (struct loop): Change nb_iterations_upper_bound and
7803 nb_iterations_estimate to widest_int.
7804 (record_niter_bound): Switch to use widest_int.
7805 (get_estimated_loop_iterations): Likewise.
7806 (get_max_loop_iterations): Likewise.
7807 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
7808 update for wide-int.
7809 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
7810 * combine.c (try_combine): Likewise.
7811 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
7812 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
7813 interfaces.
7814 (aarch64_float_const_representable_p): Likewise.
7815 * config/arc/arc.c: Include wide-int.h.
7816 (arc_can_use_doloop_p): Use wide-int interfaces.
7817 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
7818 (vfp3_const_double_index): Likewise.
7819 * config/avr/avr.c (avr_out_round): Likewise.
7820 (avr_fold_builtin): Likewise.
7821 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
7822 (bfin_can_use_doloop_p): Likewise.
7823 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
7824 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
7825 * config/i386/i386.c: Include wide-int.h.
7826 (ix86_data_alignment): Use wide-int interfaces.
7827 (ix86_local_alignment): Likewise.
7828 (ix86_emit_swsqrtsf): Update real_from_integer.
7829 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
7830 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
7831 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
7832 (zero_constant): Likewise.
7833 (input_operand): Likewise.
7834 (splat_input_operand): Likewise.
7835 (non_logical_cint_operand): Change const_double to const_wide_int.
7836 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
7837 (easy_altivec_constant): Remove comment.
7838 (paired_expand_vector_init): Use CONSTANT_P.
7839 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
7840 (rs6000_emit_move): Update checks.
7841 (rs6000_aggregate_candidate): Use wide-int interfaces.
7842 (rs6000_expand_ternop_builtin): Likewise.
7843 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
7844 (rs6000_assemble_integer): Likewise.
7845 (rs6000_hash_constant): Likewise.
7846 (output_toc): Likewise.
7847 (rs6000_rtx_costs): Likewise.
7848 (rs6000_emit_swrsqrt); Update call to real_from_integer.
7849 * config/rs6000/rs6000-c.c: Include wide-int.h.
7850 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
7851 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
7852 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
7853 Handle CONST_WIDE_INT.
7854 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
7855 Use tree_fits_uhwi_p.
7856 * config/sparc/sparc.c: Include wide-int.h.
7857 (sparc_fold_builtin): Use wide-int interfaces.
7858 * config/vax/vax.c: Include wide-int.h.
7859 (vax_float_literal): Use real_from_integer.
7860 * coretypes.h (struct hwivec_def): New.
7861 (hwivec): New.
7862 (const_hwivec): New.
7863 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
7864 (equiv_constant): Handle CONST_WIDE_INT.
7865 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
7866 (cselib_hash_rtx): Handle CONST_WIDE_INT.
7867 * dbxout.c (stabstr_U): Use wide-int interfaces.
7868 (dbxout_type): Update to use cst_fits_shwi_p.
7869 * defaults.h (LOG2_BITS_PER_UNIT): Define.
7870 (TARGET_SUPPORTS_WIDE_INT): Add default.
7871 * dfp.c: Include wide-int.h.
7872 (decimal_real_to_integer2): Use wide-int interfaces and rename to
7873 decimal_real_to_integer.
7874 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
7875 decimal_real_to_integer.
7876 * doc/generic.texi (Constant expressions): Update for wide_int.
7877 * doc/rtl.texi (const_double): Likewise.
7878 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
7879 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
7880 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
7881 (REAL_VALUE_FROM_INT): Remove.
7882 (TARGET_SUPPORTS_WIDE_INT): New.
7883 * doc/tm.texi: Regenerate.
7884 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
7885 * double-int.h: Include wide-int.h.
7886 (struct wi::int_traits): New.
7887 * dwarf2out.c (get_full_len): New.
7888 (dw_val_equal_p): Add case dw_val_class_wide_int.
7889 (size_of_loc_descr): Likewise.
7890 (output_loc_operands): Likewise.
7891 (insert_double): Remove.
7892 (insert_wide_int): New.
7893 (add_AT_wide): New.
7894 (print_die): Add case dw_val_class_wide_int.
7895 (attr_checksum): Likewise.
7896 (attr_checksum_ordered): Likewise.
7897 (same_dw_val_p): Likewise.
7898 (size_of_die): Likewise.
7899 (value_format): Likewise.
7900 (output_die): Likewise.
7901 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
7902 Use wide-int.
7903 (clz_loc_descriptor): Use wide-int interfaces.
7904 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
7905 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
7906 (round_up_to_align): Use wide-int interfaces.
7907 (field_byte_offset): Likewise.
7908 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
7909 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
7910 CONST_DOUBLE handling. Use wide-int interfaces.
7911 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
7912 (gen_enumeration_type_die): Use add_AT_wide.
7913 (hash_loc_operands): Add case dw_val_class_wide_int.
7914 (compare_loc_operands): Likewise.
7915 * dwarf2out.h: Include wide-int.h.
7916 (wide_int_ptr): New.
7917 (enum dw_val_class): Add dw_val_class_wide_int.
7918 (struct dw_val_struct): Add val_wide.
7919 * emit-rtl.c (const_wide_int_htab): New.
7920 (const_wide_int_htab_hash): New.
7921 (const_wide_int_htab_eq): New.
7922 (lookup_const_wide_int): New.
7923 (const_double_htab_hash): Use wide-int interfaces.
7924 (const_double_htab_eq): Likewise.
7925 (rtx_to_double_int): Conditionally compile for wide-int.
7926 (immed_double_int_const): Rename to immed_wide_int_const and
7927 update for wide-int.
7928 (immed_double_const): Conditionally compile for wide-int.
7929 (init_emit_once): Use wide-int interfaces.
7930 * explow.c (plus_constant): Likewise.
7931 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
7932 (lshift_value): Use wide-int interfaces.
7933 (expand_mult): Likewise.
7934 (choose_multiplier): Likewise.
7935 (expand_smod_pow2): Likewise.
7936 (make_tree): Likewise.
7937 * expr.c (convert_modes): Consolidate handling of constants.
7938 Use wide-int interfaces.
7939 (emit_group_load_1): Add note.
7940 (store_expr): Update comment.
7941 (get_inner_reference): Use wide-int interfaces.
7942 (expand_constructor): Update comment.
7943 (expand_expr_real_2): Use wide-int interfaces.
7944 (expand_expr_real_1): Likewise.
7945 (reduce_to_bit_field_precision): Likewise.
7946 (const_vector_from_tree): Likewise.
7947 * final.c: Include wide-int-print.h.
7948 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
7949 * fixed-value.c: Include wide-int.h.
7950 (fixed_from_string): Use wide-int interfaces.
7951 (fixed_to_decimal): Likewise.
7952 (fixed_convert_from_real): Likewise.
7953 (real_convert_from_fixed): Likewise.
7954 * fold-const.h (mem_ref_offset): Return an offset_int.
7955 (div_if_zero_remainder): Remove code parameter.
7956 * fold-const.c (div_if_zero_remainder): Remove code parameter.
7957 Use wide-int interfaces.
7958 (may_negate_without_overflow_p): Use wide-int interfaces.
7959 (negate_expr_p): Likewise.
7960 (fold_negate_expr): Likewise.
7961 (int_const_binop_1): Likewise.
7962 (const_binop): Likewise.
7963 (fold_convert_const_int_from_int): Likewise.
7964 (fold_convert_const_int_from_real): Likewise.
7965 (fold_convert_const_int_from_fixed): Likewise.
7966 (fold_convert_const_fixed_from_int): Likewise.
7967 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
7968 (sign_bit_p): Use wide-int interfaces.
7969 (make_range_step): Likewise.
7970 (build_range_check): Likewise. Pass an integer of the correct type
7971 instead of using integer_one_node.
7972 (range_predecessor): Pass an integer of the correct type instead
7973 of using integer_one_node.
7974 (range_successor): Likewise.
7975 (merge_ranges): Likewise.
7976 (unextend): Use wide-int interfaces.
7977 (extract_muldiv_1): Likewise.
7978 (fold_div_compare): Likewise.
7979 (fold_single_bit_test): Likewise.
7980 (fold_sign_changed_comparison): Likewise.
7981 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
7982 (fold_plusminus_mult_expr): Use wide-int interfaces.
7983 (native_encode_int): Likewise.
7984 (native_interpret_int): Likewise.
7985 (fold_unary_loc): Likewise.
7986 (pointer_may_wrap_p): Likewise.
7987 (size_low_cst): Likewise.
7988 (mask_with_tz): Likewise.
7989 (fold_binary_loc): Likewise.
7990 (fold_ternary_loc): Likewise.
7991 (multiple_of_p): Likewise.
7992 (tree_call_nonnegative_warnv_p): Update calls to
7993 tree_int_cst_min_precision and real_from_integer.
7994 (fold_negate_const): Use wide-int interfaces.
7995 (fold_abs_const): Likewise.
7996 (fold_relational_const): Use tree_int_cst_lt.
7997 (round_up_loc): Use wide-int interfaces.
7998 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
7999 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
8000 * gengtype.c: Remove include of double-int.h.
8001 (do_typedef): Use wide-int interfaces.
8002 (open_base_files): Add wide-int.h.
8003 (main): Add offset_int and widest_int typedefs.
8004 * gengtype-lex.l: Handle "^".
8005 (CXX_KEYWORD): Add "static".
8006 * gengtype-parse.c (require3): New.
8007 (require_template_declaration): Handle constant template arguments
8008 and nested templates.
8009 * gengtype-state.c: Don't include "double-int.h".
8010 * genpreds.c (write_one_predicate_function): Update comment.
8011 (write_tm_constrs_h): Add check for hval and lval use in
8012 CONST_WIDE_INT.
8013 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
8014 (add_to_sequence): Likewise.
8015 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
8016 and const_double_operand.
8017 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
8018 interfaces.
8019 * gimple-fold.c (get_base_constructor): Likewise.
8020 (fold_array_ctor_reference): Likewise.
8021 (fold_nonarray_ctor_reference): Likewise.
8022 (fold_const_aggregate_ref_1): Likewise.
8023 (gimple_val_nonnegative_real_p): Likewise.
8024 (gimple_fold_indirect_ref): Likewise.
8025 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
8026 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
8027 (struct slsr_cand_d): Change index to be widest_int.
8028 (struct incr_info_d): Change incr to be widest_int.
8029 (alloc_cand_and_find_basis): Use wide-int interfaces.
8030 (slsr_process_phi): Likewise.
8031 (backtrace_base_for_ref): Likewise. Return a widest_int.
8032 (restructure_reference): Take a widest_int instead of a double_int.
8033 (slsr_process_ref): Use wide-int interfaces.
8034 (create_mul_ssa_cand): Likewise.
8035 (create_mul_imm_cand): Likewise.
8036 (create_add_ssa_cand): Likewise.
8037 (create_add_imm_cand): Take a widest_int instead of a double_int.
8038 (slsr_process_add): Use wide-int interfaces.
8039 (slsr_process_cast): Likewise.
8040 (slsr_process_copy): Likewise.
8041 (dump_candidate): Likewise.
8042 (dump_incr_vec): Likewise.
8043 (replace_ref): Likewise.
8044 (cand_increment): Likewise. Return a widest_int.
8045 (cand_abs_increment): Likewise.
8046 (replace_mult_candidate): Take a widest_int instead of a double_int.
8047 (replace_unconditional_candidate): Use wide-int interfaces.
8048 (incr_vec_index): Take a widest_int instead of a double_int.
8049 (create_add_on_incoming_edge): Likewise.
8050 (create_phi_basis): Use wide-int interfaces.
8051 (replace_conditional_candidate): Likewise.
8052 (record_increment): Take a widest_int instead of a double_int.
8053 (record_phi_increments): Use wide-int interfaces.
8054 (phi_incr_cost): Take a widest_int instead of a double_int.
8055 (lowest_cost_path): Likewise.
8056 (total_savings): Likewise.
8057 (analyze_increments): Use wide-int interfaces.
8058 (ncd_with_phi): Take a widest_int instead of a double_int.
8059 (ncd_of_cand_and_phis): Likewise.
8060 (nearest_common_dominator_for_cands): Likewise.
8061 (insert_initializers): Use wide-int interfaces.
8062 (all_phi_incrs_profitable): Likewise.
8063 (replace_one_candidate): Likewise.
8064 (replace_profitable_candidates): Likewise.
8065 * godump.c: Include wide-int-print.h.
8066 (go_output_typedef): Use wide-int interfaces.
8067 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
8068 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
8069 (build_loop_iteration_domains): Likewise.
8070 * hooks.h: Include wide-int.h rather than double-int.h.
8071 (hook_bool_dint_dint_uint_bool_true): Delete.
8072 (hook_bool_wint_wint_uint_bool_true): Declare.
8073 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
8074 (hook_bool_wint_wint_uint_bool_true): New.
8075 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
8076 interfaces.
8077 (ubsan_expand_si_overflow_mul_check): Likewise.
8078 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
8079 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
8080 (get_ancestor_addr_info): Likewise.
8081 (ipa_modify_call_arguments): Likewise.
8082 * loop-doloop.c (doloop_modify): Likewise.
8083 (doloop_optimize): Likewise.
8084 * loop-iv.c (iv_number_of_iterations): Likewise.
8085 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
8086 (unroll_loop_constant_iterations): Likewise.
8087 (decide_unroll_runtime_iterations): Likewise.
8088 (unroll_loop_runtime_iterations): Likewise.
8089 (decide_peel_simple): Likewise.
8090 (decide_unroll_stupid): Likewise.
8091 * lto-streamer-in.c (streamer_read_wi): Add.
8092 (input_cfg): Use wide-int interfaces.
8093 (lto_input_tree_1): Likewise.
8094 * lto-streamer-out.c (streamer_write_wi): Add.
8095 (hash_tree): Use wide-int interfaces.
8096 (output_cfg): Likewise.
8097 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
8098 (GTFILES): Add wide-int.h and signop.h.
8099 (TAGS): Look for .cc files too.
8100 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
8101 * optabs.c (expand_subword_shift): Likewise.
8102 (expand_doubleword_shift): Likewise.
8103 (expand_absneg_bit): Likewise.
8104 (expand_copysign_absneg): Likewise.
8105 (expand_copysign_bit): Likewise.
8106 * postreload.c (reload_cse_simplify_set): Likewise.
8107 * predict.c (predict_iv_comparison): Likewise.
8108 * pretty-print.h: Include wide-int-print.h.
8109 (pp_wide_int) New.
8110 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
8111 * print-tree.c: Include wide-int-print.h.
8112 (print_node_brief): Use wide-int interfaces.
8113 (print_node): Likewise.
8114 * read-rtl.c (validate_const_wide_int): New.
8115 (read_rtx_code): Add CONST_WIDE_INT case.
8116 * real.c: Include wide-int.h.
8117 (real_to_integer2): Delete.
8118 (real_to_integer): New function, returning a wide_int.
8119 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
8120 (ten_to_ptwo): Update call to real_from_integer.
8121 (real_digit): Likewise.
8122 * real.h: Include signop.h, wide-int.h and insn-modes.h.
8123 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
8124 (REAL_VALUE_TO_INT): Delete.
8125 (real_to_integer): Declare a wide-int form.
8126 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
8127 * recog.c (const_int_operand): Improve comment.
8128 (const_scalar_int_operand): New.
8129 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
8130 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
8131 (split_double): Likewise.
8132 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
8133 (rtx_size): Likewise.
8134 (rtx_alloc_stat_v): New.
8135 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
8136 (cwi_output_hex): New.
8137 (iterative_hash_rtx): Handle CONST_WIDE_INT.
8138 (cwi_check_failed_bounds): New.
8139 * rtl.def (CONST_WIDE_INT): New.
8140 * rtl.h: Include <utility> and wide-int.h.
8141 (struct hwivec_def): New.
8142 (CWI_GET_NUM_ELEM): New.
8143 (CWI_PUT_NUM_ELEM): New.
8144 (struct rtx_def): Add num_elem and hwiv.
8145 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
8146 (CASE_CONST_UNIQUE): Likewise.
8147 (CASE_CONST_ANY): Likewise.
8148 (CONST_SCALAR_INT_P): Likewise.
8149 (CONST_WIDE_INT_P): New.
8150 (CWI_ELT): New.
8151 (HWIVEC_CHECK): New.
8152 (cwi_check_failed_bounds): New.
8153 (CWI_ELT): New.
8154 (HWIVEC_CHECK): New.
8155 (CONST_WIDE_INT_VEC) New.
8156 (CONST_WIDE_INT_NUNITS) New.
8157 (CONST_WIDE_INT_ELT) New.
8158 (rtx_mode_t): New type.
8159 (wi::int_traits <rtx_mode_t>): New.
8160 (wi::shwi): New.
8161 (wi::min_value): New.
8162 (wi::max_value): New.
8163 (rtx_alloc_v) New.
8164 (const_wide_int_alloc): New.
8165 (immed_wide_int_const): New.
8166 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
8167 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
8168 * signop.h: New file.
8169 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
8170 (simplify_const_unary_operation): Use wide-int interfaces.
8171 (simplify_binary_operation_1): Likewise.
8172 (simplify_const_binary_operation): Likewise.
8173 (simplify_const_relational_operation): Likewise.
8174 (simplify_immed_subreg): Likewise.
8175 * stmt.c (expand_case): Likewise.
8176 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
8177 signop rather than a bool.
8178 * stor-layout.c (layout_type): Use wide-int interfaces.
8179 (initialize_sizetypes): Update calls to
8180 set_min_and_max_values_for_integral_type.
8181 (set_min_and_max_values_for_integral_type): Take a signop rather
8182 than a bool. Use wide-int interfaces.
8183 (fixup_signed_type): Update accordingly. Remove
8184 HOST_BITS_PER_DOUBLE_INT limit.
8185 (fixup_unsigned_type): Likewise.
8186 * system.h (STATIC_CONSTANT_P): New.
8187 (STATIC_ASSERT): New.
8188 * target.def (can_use_doloop_p): Take widest_ints rather than
8189 double_ints.
8190 * target.h: Include wide-int.h rather than double-int.h.
8191 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
8192 than double_ints.
8193 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
8194 rather than INT_CST_LT_UNSIGNED.
8195 (can_use_doloop_if_innermost): Take widest_ints rather than
8196 double_ints.
8197 * tree-affine.c: Include wide-int-print.h.
8198 (double_int_ext_for_comb): Delete.
8199 (wide_int_ext_for_comb): New.
8200 (aff_combination_zero): Use wide-int interfaces.
8201 (aff_combination_const): Take a widest_int instead of a double_int.
8202 (aff_combination_elt): Use wide-int interfaces.
8203 (aff_combination_scale): Take a widest_int instead of a double_int.
8204 (aff_combination_add_elt): Likewise.
8205 (aff_combination_add_cst): Likewise.
8206 (aff_combination_add): Use wide-int interfaces.
8207 (aff_combination_convert): Likewise.
8208 (tree_to_aff_combination): Likewise.
8209 (add_elt_to_tree): Take a widest_int instead of a double_int.
8210 (aff_combination_to_tree): Use wide-int interfaces.
8211 (aff_combination_remove_elt): Likewise.
8212 (aff_combination_add_product): Take a widest_int instead of
8213 a double_int.
8214 (aff_combination_mult): Use wide-int interfaces.
8215 (aff_combination_expand): Likewise.
8216 (double_int_constant_multiple_p): Delete.
8217 (wide_int_constant_multiple_p): New.
8218 (aff_combination_constant_multiple_p): Take a widest_int pointer
8219 instead of a double_int pointer.
8220 (print_aff): Use wide-int interfaces.
8221 (get_inner_reference_aff): Take a widest_int pointer
8222 instead of a double_int pointer.
8223 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
8224 * tree-affine.h: Include wide-int.h.
8225 (struct aff_comb_elt): Change type of coef to widest_int.
8226 (struct affine_tree_combination): Change type of offset to widest_int.
8227 (double_int_ext_for_comb): Delete.
8228 (wide_int_ext_for_comb): New.
8229 (aff_combination_const): Use widest_int instead of double_int.
8230 (aff_combination_scale): Likewise.
8231 (aff_combination_add_elt): Likewise.
8232 (aff_combination_constant_multiple_p): Likewise.
8233 (get_inner_reference_aff): Likewise.
8234 (aff_comb_cannot_overlap_p): Likewise.
8235 (aff_combination_zero_p): Use wide-int interfaces.
8236 * tree.c: Include tree.h.
8237 (init_ttree): Use make_int_cst.
8238 (tree_code_size): Removed code for INTEGER_CST case.
8239 (tree_size): Add INTEGER_CST case.
8240 (make_node_stat): Update comment.
8241 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
8242 (build_int_cst_type): Use wide-int interfaces.
8243 (double_int_to_tree): Likewise.
8244 (double_int_fits_to_tree_p): Delete.
8245 (force_fit_type_double): Delete.
8246 (force_fit_type): New.
8247 (int_cst_hash_hash): Use wide-int interfaces.
8248 (int_cst_hash_eq): Likewise.
8249 (build_int_cst_wide): Delete.
8250 (wide_int_to_tree): New.
8251 (cache_integer_cst): Use wide-int interfaces.
8252 (build_low_bits_mask): Likewise.
8253 (cst_and_fits_in_hwi): Likewise.
8254 (real_value_from_int_cst): Likewise.
8255 (make_int_cst_stat): New.
8256 (integer_zerop): Use wide_int interfaces.
8257 (integer_onep): Likewise.
8258 (integer_all_onesp): Likewise.
8259 (integer_pow2p): Likewise.
8260 (integer_nonzerop): Likewise.
8261 (tree_log2): Likewise.
8262 (tree_floor_log2): Likewise.
8263 (tree_ctz): Likewise.
8264 (int_size_in_bytes): Likewise.
8265 (mem_ref_offset): Return an offset_int rather than a double_int.
8266 (build_type_attribute_qual_variant): Use wide_int interfaces.
8267 (type_hash_eq): Likewise
8268 (tree_int_cst_equal): Likewise.
8269 (tree_int_cst_lt): Delete.
8270 (tree_int_cst_compare): Likewise.
8271 (tree_fits_shwi_p): Use wide_int interfaces.
8272 (tree_fits_uhwi_p): Likewise.
8273 (tree_int_cst_sign_bit): Likewise.
8274 (tree_int_cst_sgn): Likewise.
8275 (tree_int_cst_min_precision): Take a signop rather than a bool.
8276 (simple_cst_equal): Use wide_int interfaces.
8277 (compare_tree_int): Likewise.
8278 (iterative_hash_expr): Likewise.
8279 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
8280 INT_CST_LT.
8281 (get_type_static_bounds): Use wide_int interfaces.
8282 (tree_int_cst_elt_check_failed): New.
8283 (build_common_tree_nodes): Reordered to set prec before filling in
8284 value.
8285 (int_cst_value): Check cst_and_fits_in_hwi.
8286 (widest_int_cst_value): Use wide_int interfaces.
8287 (upper_bound_in_type): Likewise.
8288 (lower_bound_in_type): Likewise.
8289 (num_ending_zeros): Likewise.
8290 (drop_tree_overflow): Likewise.
8291 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
8292 (gen_conditions_for_pow_cst_base): Likewise.
8293 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
8294 (group_case_labels_stmt): Use wide-int interfaces.
8295 (verify_gimple_assign_binary): Likewise.
8296 (print_loop): Likewise.
8297 * tree-chrec.c (tree_fold_binomial): Likewise.
8298 * tree-core.h (struct tree_base): Add int_length.
8299 (struct tree_int_cst): Change rep of value.
8300 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
8301 (dr_may_alias_p): Likewise.
8302 (max_stmt_executions_tree): Likewise.
8303 * tree.def (INTEGER_CST): Update comment.
8304 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
8305 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
8306 * tree-dump.c: Include wide-int.h and wide-int-print.h.
8307 (dequeue_and_dump): Use wide-int interfaces.
8308 * tree.h: Include wide-int.h.
8309 (NULL_TREE): Moved to earlier loc in file.
8310 (TREE_INT_CST_ELT_CHECK): New.
8311 (tree_int_cst_elt_check_failed): New.
8312 (TYPE_SIGN): New.
8313 (TREE_INT_CST): Delete.
8314 (TREE_INT_CST_LOW): Use wide-int interfaces.
8315 (TREE_INT_CST_HIGH): Delete.
8316 (TREE_INT_CST_NUNITS): New.
8317 (TREE_INT_CST_EXT_NUNITS): Likewise.
8318 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
8319 (TREE_INT_CST_ELT): Likewise.
8320 (INT_CST_LT): Delete.
8321 (tree_int_cst_elt_check): New (two forms).
8322 (type_code_size): Update comment.
8323 (make_int_cst_stat, make_int_cst): New.
8324 (tree_to_double_int): Delete.
8325 (double_int_fits_to_tree_p): Delete.
8326 (force_fit_type_double): Delete.
8327 (build_int_cstu): Replace with out-of-line function.
8328 (build_int_cst_wide): Delete.
8329 (tree_int_cst_lt): Define inline.
8330 (tree_int_cst_le): New.
8331 (tree_int_cst_compare): Define inline.
8332 (tree_int_cst_min_precision): Take a signop rather than a bool.
8333 (wi::int_traits <const_tree>): New.
8334 (wi::int_traits <tree>): New.
8335 (wi::extended_tree): New.
8336 (wi::int_traits <wi::extended_tree>): New.
8337 (wi::to_widest): New.
8338 (wi::to_offset): New.
8339 (wi::fits_to_tree_p): New.
8340 (wi::min_value): New.
8341 (wi::max_value): New.
8342 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
8343 (copy_tree_body_r): Likewise.
8344 * tree-object-size.c (compute_object_offset): Likewise.
8345 (addr_object_size): Likewise.
8346 * tree-predcom.c: Include wide-int-print.h.
8347 (struct dref_d): Change type of offset to widest_int.
8348 (dump_dref): Call wide-int printer.
8349 (aff_combination_dr_offset): Use wide-int interfaces.
8350 (determine_offset): Take a widest_int pointer rather than a
8351 double_int pointer.
8352 (split_data_refs_to_components): Use wide-int interfaces.
8353 (suitable_component_p): Likewise.
8354 (order_drefs): Likewise.
8355 (add_ref_to_chain): Likewise.
8356 (valid_initializer_p): Likewise.
8357 (determine_roots_comp): Likewise.
8358 * tree-pretty-print.c: Include wide-int-print.h.
8359 (dump_generic_node): Use wide-int interfaces.
8360 * tree-sra.c (sra_ipa_modify_expr): Likewise.
8361 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
8362 (move_fixed_address_to_symbol): Likewise.
8363 (move_hint_to_base): Likewise.
8364 (move_pointer_to_base): Likewise.
8365 (move_variant_to_index): Likewise.
8366 (most_expensive_mult_to_index): Likewise.
8367 (addr_to_parts): Likewise.
8368 (copy_ref_info): Likewise.
8369 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
8370 (indirect_refs_may_alias_p): Likewise.
8371 (stmt_kills_ref_p_1): Likewise.
8372 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
8373 * tree-ssa-ccp.c: Update comment at top of file. Include
8374 wide-int-print.h.
8375 (struct prop_value_d): Change type of mask to widest_int.
8376 (extend_mask): New function.
8377 (dump_lattice_value): Use wide-int interfaces.
8378 (get_default_value): Likewise.
8379 (set_constant_value): Likewise.
8380 (set_value_varying): Likewise.
8381 (valid_lattice_transition): Likewise.
8382 (set_lattice_value): Likewise.
8383 (value_to_double_int): Delete.
8384 (value_to_wide_int): New.
8385 (get_value_from_alignment): Use wide-int interfaces.
8386 (get_value_for_expr): Likewise.
8387 (do_dbg_cnt): Likewise.
8388 (ccp_finalize): Likewise.
8389 (ccp_lattice_meet): Likewise.
8390 (bit_value_unop_1): Use widest_ints rather than double_ints.
8391 (bit_value_binop_1): Likewise.
8392 (bit_value_unop): Use wide-int interfaces.
8393 (bit_value_binop): Likewise.
8394 (bit_value_assume_aligned): Likewise.
8395 (evaluate_stmt): Likewise.
8396 (ccp_fold_stmt): Likewise.
8397 (visit_cond_stmt): Likewise.
8398 (ccp_visit_stmt): Likewise.
8399 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
8400 (constant_pointer_difference): Likewise.
8401 (associate_pointerplus): Likewise.
8402 (combine_conversions): Likewise.
8403 * tree-ssa-loop.h: Include wide-int.h.
8404 (struct tree_niter_desc): Change type of max to widest_int.
8405 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
8406 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
8407 (remove_redundant_iv_tests): Likewise.
8408 (canonicalize_loop_induction_variables): Likewise.
8409 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
8410 (constant_multiple_of): Take a widest_int pointer instead of
8411 a double_int pointer.
8412 (get_computation_aff): Use wide-int interfaces.
8413 (ptr_difference_cost): Likewise.
8414 (difference_cost): Likewise.
8415 (get_loop_invariant_expr_id): Likewise.
8416 (get_computation_cost_at): Likewise.
8417 (iv_elimination_compare_lt): Likewise.
8418 (may_eliminate_iv): Likewise.
8419 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
8420 instead of double_int.
8421 (max_loop_iterations): Likewise.
8422 (max_stmt_executions): Likewise.
8423 (estimated_stmt_executions): Likewise.
8424 * tree-ssa-loop-niter.c: Include wide-int-print.h.
8425 (split_to_var_and_offset): Use wide-int interfaces.
8426 (determine_value_range): Likewise.
8427 (bound_difference_of_offsetted_base): Likewise.
8428 (bounds_add): Take a widest_int instead of a double_int.
8429 (number_of_iterations_ne_max): Use wide-int interfaces.
8430 (number_of_iterations_ne): Likewise.
8431 (number_of_iterations_lt_to_ne): Likewise.
8432 (assert_loop_rolls_lt): Likewise.
8433 (number_of_iterations_lt): Likewise.
8434 (number_of_iterations_le): Likewise.
8435 (number_of_iterations_cond): Likewise.
8436 (number_of_iterations_exit): Likewise.
8437 (finite_loop_p): Likewise.
8438 (derive_constant_upper_bound_assign): Likewise.
8439 (derive_constant_upper_bound): Return a widest_int.
8440 (derive_constant_upper_bound_ops): Likewise.
8441 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
8442 (record_estimate): Take a widest_int rather than a double_int.
8443 (record_nonwrapping_iv): Use wide-int interfaces.
8444 (double_int_cmp): Delete.
8445 (wide_int_cmp): New.
8446 (bound_index): Take a widest_int rather than a double_int.
8447 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
8448 (maybe_lower_iteration_bound): Likewise.
8449 (estimate_numbers_of_iterations_loop): Likewise.
8450 (estimated_loop_iterations): Take a widest_int pointer than than
8451 a double_int pointer.
8452 (estimated_loop_iterations_int): Use wide-int interfaces.
8453 (max_loop_iterations): Take a widest_int pointer than than
8454 a double_int pointer.
8455 (max_loop_iterations_int): Use wide-int interfaces.
8456 (max_stmt_executions): Take a widest_int pointer than than
8457 a double_int pointer.
8458 (estimated_stmt_executions): Likewise.
8459 (n_of_executions_at_most): Use wide-int interfaces.
8460 (scev_probably_wraps_p): Likewise.
8461 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
8462 to real_to_integer.
8463 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
8464 interfaces.
8465 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
8466 double_ints. Adjust for trailing_wide_ints <3> representation.
8467 (set_nonzero_bits): Likewise.
8468 (get_range_info): Return wide_ints rather than double_ints.
8469 Adjust for trailing_wide_ints <3> representation.
8470 (get_nonzero_bits): Likewise.
8471 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
8472 representation.
8473 * tree-ssanames.h (struct range_info_def): Replace min, max and
8474 nonzero_bits with a trailing_wide_ints <3>.
8475 (set_range_info): Use wide_int_refs rather than double_ints.
8476 (set_nonzero_bits): Likewise.
8477 (get_range_info): Return wide_ints rather than double_ints.
8478 (get_nonzero_bits): Likewise.
8479 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
8480 * tree-ssa-pre.c (phi_translate_1): Likewise.
8481 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
8482 (acceptable_pow_call): Likewise.
8483 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
8484 interfaces.
8485 (vn_reference_fold_indirect): Likewise.
8486 (vn_reference_maybe_forwprop_address): Likewise.
8487 (valueize_refs_1): Likewise.
8488 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
8489 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
8490 tree_int_cst_lt and tree_int_cst_le.
8491 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
8492 interfaces.
8493 (streamer_alloc_tree): Likewise.
8494 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
8495 (streamer_write_tree_header): Likewise.
8496 (streamer_write_integer_cst): Likewise.
8497 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
8498 (build_constructors): Likewise.
8499 (array_value_type): Likewise.
8500 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
8501 (vect_check_gather): Likewise.
8502 * tree-vect-generic.c (build_replicated_const): Likewise.
8503 (expand_vector_divmod): Likewise.
8504 * tree-vect-loop.c (vect_transform_loop): Likewise.
8505 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
8506 (vect_do_peeling_for_alignment): Likewise.
8507 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
8508 * tree-vrp.c: Include wide-int.h.
8509 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
8510 (extract_range_from_assert): Use wide-int interfaces.
8511 (vrp_int_const_binop): Likewise.
8512 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
8513 double_int pointers.
8514 (ranges_from_anti_range): Use wide-int interfaces.
8515 (quad_int_cmp): Delete.
8516 (quad_int_pair_sort): Likewise.
8517 (extract_range_from_binary_expr_1): Use wide-int interfaces.
8518 (extract_range_from_unary_expr_1): Likewise.
8519 (adjust_range_with_scev): Likewise.
8520 (masked_increment): Take and return wide_ints rather than double_ints.
8521 (register_edge_assert_for_2): Use wide-int interfaces.
8522 (check_array_ref): Likewise.
8523 (search_for_addr_array): Likewise.
8524 (maybe_set_nonzero_bits): Likewise.
8525 (union_ranges): Pass an integer of the correct type instead of
8526 using integer_one_node.
8527 (intersect_ranges): Likewise.
8528 (simplify_truth_ops_using_ranges): Likewise.
8529 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
8530 (range_fits_type_p): Likewise.
8531 (simplify_cond_using_ranges): Likewise. Take a signop rather than
8532 a bool.
8533 (simplify_conversion_using_ranges): Use wide-int interfaces.
8534 (simplify_float_conversion_using_ranges): Likewise.
8535 (vrp_finalize): Likewise.
8536 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
8537 (gimple_stringops_transform): Likewise.
8538 * varasm.c (decode_addr_const): Likewise.
8539 (const_hash_1): Likewise.
8540 (const_rtx_hash_1): Likewise
8541 (output_constant): Likewise.
8542 (array_size_for_constructor): Likewise.
8543 (output_constructor_regular_field): Likewise.
8544 (output_constructor_bitfield): Likewise.
8545 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
8546 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
8547 GENERATOR_FILEs.
8548 * gencheck.c: Define BITS_PER_UNIT.
8549 * wide-int.cc: New.
8550 * wide-int.h: New.
8551 * wide-int-print.cc: New.
8552 * wide-int-print.h: New.
8553
3134fb19
JBG
85542014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8555
8556 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
8557
3bea341f
RB
85582014-05-06 Richard Biener <rguenther@suse.de>
8559
8560 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
8561 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
8562 (TODO_verify_all): Adjust.
8563 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
8564 TODO_verify_stmts and TODO_verify_rtl_sharing.
8565 * bb-reorder.c: Likewise.
8566 * cfgexpand.c: Likewise.
8567 * cprop.c: Likewise.
8568 * cse.c: Likewise.
8569 * function.c: Likewise.
8570 * fwprop.c: Likewise.
8571 * gcse.c: Likewise.
8572 * gimple-ssa-isolate-paths.c: Likewise.
8573 * gimple-ssa-strength-reduction.c: Likewise.
8574 * ipa-split.c: Likewise.
8575 * loop-init.c: Likewise.
8576 * loop-unroll.c: Likewise.
8577 * lower-subreg.c: Likewise.
8578 * modulo-sched.c: Likewise.
8579 * postreload-gcse.c: Likewise.
8580 * predict.c: Likewise.
8581 * recog.c: Likewise.
8582 * sched-rgn.c: Likewise.
8583 * store-motion.c: Likewise.
8584 * tracer.c: Likewise.
8585 * trans-mem.c: Likewise.
8586 * tree-call-cdce.c: Likewise.
8587 * tree-cfg.c: Likewise.
8588 * tree-cfgcleanup.c: Likewise.
8589 * tree-complex.c: Likewise.
8590 * tree-eh.c: Likewise.
8591 * tree-emutls.c: Likewise.
8592 * tree-if-conv.c: Likewise.
8593 * tree-into-ssa.c: Likewise.
8594 * tree-loop-distribution.c: Likewise.
8595 * tree-object-size.c: Likewise.
8596 * tree-parloops.c: Likewise.
8597 * tree-pass.h: Likewise.
8598 * tree-sra.c: Likewise.
8599 * tree-ssa-ccp.c: Likewise.
8600 * tree-ssa-copy.c: Likewise.
8601 * tree-ssa-copyrename.c: Likewise.
8602 * tree-ssa-dce.c: Likewise.
8603 * tree-ssa-dom.c: Likewise.
8604 * tree-ssa-dse.c: Likewise.
8605 * tree-ssa-forwprop.c: Likewise.
8606 * tree-ssa-ifcombine.c: Likewise.
8607 * tree-ssa-loop-ch.c: Likewise.
8608 * tree-ssa-loop-ivcanon.c: Likewise.
8609 * tree-ssa-loop.c: Likewise.
8610 * tree-ssa-math-opts.c: Likewise.
8611 * tree-ssa-phiopt.c: Likewise.
8612 * tree-ssa-phiprop.c: Likewise.
8613 * tree-ssa-pre.c: Likewise.
8614 * tree-ssa-reassoc.c: Likewise.
8615 * tree-ssa-sink.c: Likewise.
8616 * tree-ssa-strlen.c: Likewise.
8617 * tree-ssa-tail-merge.c: Likewise.
8618 * tree-ssa-uncprop.c: Likewise.
8619 * tree-switch-conversion.c: Likewise.
8620 * tree-tailcall.c: Likewise.
8621 * tree-vect-generic.c: Likewise.
8622 * tree-vectorizer.c: Likewise.
8623 * tree-vrp.c: Likewise.
8624 * tsan.c: Likewise.
8625 * var-tracking.c: Likewise.
8626 * bt-load.c: Likewise.
8627 * cfgcleanup.c: Likewise.
8628 * combine-stack-adj.c: Likewise.
8629 * combine.c: Likewise.
8630 * compare-elim.c: Likewise.
8631 * config/epiphany/resolve-sw-modes.c: Likewise.
8632 * config/i386/i386.c: Likewise.
8633 * config/mips/mips.c: Likewise.
8634 * config/s390/s390.c: Likewise.
8635 * config/sh/sh_treg_combine.cc: Likewise.
8636 * config/sparc/sparc.c: Likewise.
8637 * dce.c: Likewise.
8638 * dse.c: Likewise.
8639 * final.c: Likewise.
8640 * ifcvt.c: Likewise.
8641 * mode-switching.c: Likewise.
8642 * passes.c: Likewise.
8643 * postreload.c: Likewise.
8644 * ree.c: Likewise.
8645 * reg-stack.c: Likewise.
8646 * regcprop.c: Likewise.
8647 * regrename.c: Likewise.
8648 * web.c: Likewise.
8649
3d224d46
RB
86502014-05-06 Richard Biener <rguenther@suse.de>
8651
8652 PR middle-end/61070
8653 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
8654 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
8655
e400f081
JH
86562014-05-05 Jan Hubicka <hubicka@ucw.cz>
8657
8658 PR ipa/60965
8659 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
8660
aaeaa9a9 86612014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 8662 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 8663
b6db8af6
UB
8664 * target.def (call_fusage_contains_non_callee_clobbers): New
8665 DEFHOOKPOD.
aaeaa9a9
RO
8666 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
8667 Hooks to @menu.
8668 (@node Miscellaneous Register Hooks): New node.
8669 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
8670 * doc/tm.texi: Regenerate.
8671
c2ac23fe
MP
86722014-05-05 Marek Polacek <polacek@redhat.com>
8673
8674 PR driver/61065
8675 * opts.c (common_handle_option): Call error_at instead of warning_at.
8676
0db74577
RB
86772014-05-05 Richard Biener <rguenther@suse.de>
8678
8679 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
8680 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
8681 under the TODO_verify_il umbrella.
8682
7e7f8713
RB
86832014-05-05 Richard Biener <rguenther@suse.de>
8684
8685 * passes.c (execute_function_todo): Move TODO_verify_flow under
8686 the TODO_verify_ul umbrella.
8687
7e2c9f14
RB
86882014-05-05 Richard Biener <rguenther@suse.de>
8689
8690 PR middle-end/61010
b6db8af6
UB
8691 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
8692 X & CST away from a CST that is the mask of a mode.
7e2c9f14 8693
33ecf108
JBG
86942014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8695
8696 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
8697 int argument to enum machine_mode.
8698 (picochip_class_max_nregs): Ditto.
8699 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
8700 (picochip_class_max_nregs): Ditto.
8701
d56a43a0
AK
87022014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8703
8704 * target.def: Add new target hook.
8705 * doc/tm.texi: Regenerate.
8706 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
8707 * targhooks.c (default_keep_leaf_when_profiled): New function.
8708
8709 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
8710 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
8711
cb8f1a57
BC
87122014-05-05 Bin Cheng <bin.cheng@arm.com>
8713
8714 PR tree-optimization/60363
8715 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
8716 (copy_phi_args): New parameters. Call get_value_locus_in_path.
8717 (update_destination_phis): New parameter.
8718 (create_edge_and_update_destination_phis): Ditto.
8719 (ssa_fix_duplicate_block_edges): Pass new arguments.
8720 (thread_single_edge): Ditto.
8721
f93bc5b3
PB
87222014-05-04 Peter Bergner <bergner@vnet.ibm.com>
8723
8724 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
8725 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
8726 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
8727 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
8728 Use RS6000_BTM_HARD_FLOAT.
8729 (BU_MISC_2): Likewise.
8730 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
8731 RS6000_BTM_HARD_FLOAT.
8732 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
8733 is explicitly used.
8734 (rs6000_invalid_builtin): Add hard floating builtin support.
8735 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
8736 hard float builtins.
8737 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
8738
579f4e64
OE
87392014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8740
8741 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
8742 Add missing function* argument.
8743
0be7287d
RS
87442014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
8745
8746 * lra-constraints.c (valid_address_p): Move earlier in file.
8747 Add a constraint argument to the address_info version.
8748 (satisfies_memory_constraint_p): New function.
8749 (satisfies_address_constraint_p): Likewise.
8750 (process_alt_operands, curr_insn_transform): Use them.
8751 (process_address): Pass the constraint to valid_address_p when
8752 checking address operands.
8753
ad782bc9
RS
87542014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
8755
8756 * config/mips/mips.c (mips_isa_rev): New variable.
8757 (mips_set_architecture): Set it.
8758 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
8759 from mips_isa_rev.
8760 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
8761 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
8762 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
8763 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
8764 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
8765 conditions in terms of mips_isa_rev.
8766 (mips_isa_rev): Declare.
8767
45731f37
OE
87682014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8769
8770 * config/sh/sh-mem.cc: Use tabs instead of spaces.
8771 (prob_unlikely, prob_likely): Make variables const.
8772
c61dfa63
DC
87732014-05-03 Denis Chertykov <chertykov@gmail.com>
8774
8775 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
8776
1b8da635
OE
87772014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8778
8779 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
8780
f6982a08
OE
87812014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8782
8783 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
8784 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
8785 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
8786 functions.
8787 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
8788 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
8789 sh_pass_in_reg_p.
8790 Replace usage of ROUND_REG with sh_round_reg.
8791 Use CEIL instead of ROUND_ADVANCE.
8792
0bcf70f8
OE
87932014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
8794
8795 PR target/61026
8796 * config/sh/sh.c: Include stdlib headers before everything else.
8797
95782571
JJ
87982014-05-02 Jakub Jelinek <jakub@redhat.com>
8799
8800 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
8801 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
8802 (gimplify_adjust_omp_clauses): Simd region is never
8803 directly nested in combined parallel. Instead, for linear
8804 with copyin/copyout, if in combined for simd loop, make decl
8805 firstprivate/lastprivate on OMP_FOR.
8806 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
8807 expand_omp_for_static_chunk): When setting endvar, also set
8808 fd->loop.v to the same value.
8809
e13b3dfd
RS
88102014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8811
8812 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
8813
0696116a
AL
88142014-05-02 Alan Lawrence <alan.lawrence@arm.com>
8815
8816 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
8817 expression.
8818
fb90f9f3
MP
88192014-05-02 Marek Polacek <polacek@redhat.com>
8820
8821 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
8822
153df826 88232014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
8824
8825 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
8826 to a C expression marco.
8827 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
8828 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
8829 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
8830 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
8831 HONOR_REG_ALLOC_ORDER.
8832 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
8833
53c8d5a7
JBG
88342014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8835
8836 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
8837
486c559b
JBG
88382014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8839
8840 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
8841
944052b9
YR
88422014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
8843
8844 * tree-if-conv.c (is_cond_scalar_reduction): New function.
8845 (convert_scalar_cond_reduction): Likewise.
8846 (predicate_scalar_phi): Add recognition and transformation
8847 of simple conditioanl reduction to be vectorizable.
8848
d00887e8
MP
88492014-05-01 Marek Polacek <polacek@redhat.com>
8850
8851 PR c/43245
8852 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
8853
7211512a
AL
88542014-04-30 Alan Lawrence <alan.lawrence@arm.com>
8855
8856 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
8857 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
8858 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
8859 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
8860 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
8861 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
8862 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
8863 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
8864
e5bd20a4
JR
88652014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
8866
8867 * config/arc/arc.opt (mlra): Move comment above option name
8868 to avoid mis-parsing as language options.
8869
2cf03b11
RO
88702014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8871
8872 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
8873 * config/sol2.h: ... here.
8874 * config/sol2-10.h: Remove.
8875
8876 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
8877 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
8878 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
8879 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
8880 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
8881 * config/sol2.h: ... here.
8882 (SECTION_NAME_FORMAT): Don't redefine.
8883 (STARTFILE_ARCH32_SPEC): Rename to ...
8884 (STARTFILE_ARCH_SPEC): ... this.
8885 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
8886 * config/sparc/sol2.h: ... here.
8887 (SECTION_NAME_FORMAT): Don't undef.
8888 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
8889 (SUBTARGET_EXTRA_SPECS): Remove.
8890 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
8891
8892 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
8893 (MD_STARTFILE_PREFIX): Remove.
8894 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
8895 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
8896 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
8897 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
8898 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
8899 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
8900 * config/i386/sol2.h: ... here.
8901 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
8902 * config/i386/sol2-bi.h: Remove.
8903 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
8904 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
8905
8906 * config/i386/t-sol2-64: Rename to ...
8907 * config/i386/t-sol2: ... this.
8908 * config/sparc/t-sol2-64: Rename to ...
8909 * config/sparc/t-sol2: ... this.
8910
8911 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
8912 sol2_tm_file_head, sol2_tm_file_tail.
8913 Include ${cpu_type}/sol2.h before sol2.h.
8914 Remove sol2-10.h.
8915 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
8916 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
8917 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
8918 Reflect i386/t-sol2-64 renaming.
8919 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
8920 Reflect sparc/t-sol2-64 renaming.
8921
e9ff9caf
RB
89222014-04-30 Richard Biener <rguenther@suse.de>
8923
8924 * passes.c (execute_function_todo): Move TODO_verify_stmts
8925 and TODO_verify_ssa under the TODO_verify_il umbrella.
8926 * tree-ssa.h (verify_ssa): Adjust prototype.
8927 * tree-ssa.c (verify_ssa): Add parameter to tell whether
8928 we should verify SSA operands.
8929 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
8930 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
8931 whether we should verify whether not throwing stmts have EH info.
8932 * graphite-scop-detection.c (create_sese_edges): Adjust.
8933 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
8934 * tree-eh.c (lower_try_finally_switch): Do not add the
8935 default case label twice.
8936
f8ed5150
MP
89372014-04-30 Marek Polacek <polacek@redhat.com>
8938
8939 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
8940 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
8941 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
8942 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
8943
7cb0403f
AL
89442014-04-29 Alan Lawrence <alan.lawrence@arm.com>
8945
8946 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
8947 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
8948 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
8949 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
8950 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
8951 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
8952 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
8953 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
8954
3979649a
DM
89552014-04-29 David Malcolm <dmalcolm@redhat.com>
8956
8957 * tree-cfg.c (dump_function_to_file): Dump the return type of
8958 functions, in a line to itself before the function body, mimicking
8959 the layout of a C function.
8960
62fb101e
JJ
89612014-04-29 Jakub Jelinek <jakub@redhat.com>
8962
8963 PR tree-optimization/60971
8964 * tree-tailcall.c (process_assignment): Reject conversions which
8965 reduce precision.
8966
3d9684ae
JG
89672014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
8968
8969 * calls.c (initialize_argument_information): Always treat
8970 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
8971 (expand_call): Likewise.
8972 (emit_library_call_calue_1): Likewise.
8973 * expr.c (PUSH_ARGS_REVERSED): Do not define.
8974 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
8975 code accordingly.
8976
d77f7b19
NC
89772014-04-29 Nick Clifton <nickc@redhat.com>
8978
8979 * config/msp430/msp430.md (umulsidi): Fix typo.
8980 (mulhisi3): Enable even inside interrupt handlers.
8981 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
8982 bigger return address pushed in large mode.
8983
f8d91e80
NC
89842014-04-29 Nick Clifton <nickc@redhat.com>
8985
8986 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
8987 (arc_init_reg_tables): Use a machine_mode enum to iterate over
8988 available modes.
8989 * config/m32r/m32r.c (init_reg_tables): Likewise.
8990 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
8991 enum to hold the modes.
8992
e3f613cb
RB
89932014-04-29 Richard Biener <rguenther@suse.de>
8994
8995 * dominance.c (free_dominance_info): Add overload with
8996 function parameter.
8997 (dom_info_state): Likewise.
8998 (dom_info_available_p): Likewise.
8999 * basic-block.h (free_dominance_info, dom_info_state,
9000 dom_info_available_p): Declare overloads.
9001 * passes.c (execute_function_todo): Verify that verifiers
9002 don't change dominator info state. Drop dominator info
9003 for IPA pass invocations.
9004 * cgraph.c (release_function_body): Restore asserts that
9005 dominator information is released.
9006
36f291f7
PP
90072014-04-29 Patrick Palka <patrick@parcs.ath.cx>
9008
9009 * doc/invoke.texi: Fix typo.
9010 * tree-vrp.c: Fix typos.
b6db8af6 9011 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 9012
d3a3182b
ZC
90132014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9014
9015 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
9016
ba081b77
JG
90172014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
9018
9019 * config/aarch64/aarch64-builtins.c
9020 (aarch64_types_storestruct_lane_qualifiers): New.
9021 (TYPES_STORESTRUCT_LANE): Likewise.
9022 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
9023 (st3_lane): Likewise.
9024 (st4_lane): Likewise.
9025 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
9026 (vec_store_lanesci_lane<mode>): Likewise.
9027 (vec_store_lanesxi_lane<mode>): Likewise.
9028 (aarch64_st2_lane<VQ:mode>): Likewise.
9029 (aarch64_st3_lane<VQ:mode>): Likewise.
9030 (aarch64_st4_lane<VQ:mode>): Likewise.
9031 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
9032 * config/aarch64/arm_neon.h
9033 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
9034 use new macro arguments.
9035 (__ST3_LANE_FUNC): Likewise.
9036 (__ST4_LANE_FUNC): Likewise.
9037 * config/aarch64/iterators.md (V_TWO_ELEM): New.
9038 (V_THREE_ELEM): Likewise.
9039 (V_FOUR_ELEM): Likewise.
9040
1bc6d43c
DM
90412014-04-28 David Malcolm <dmalcolm@redhat.com>
9042
9043 * doc/gimple.texi: Replace the description of the now-defunct
9044 union gimple_statement_d with a diagram showing the
9045 gimple_statement_base class hierarchy and its relationships to
9046 the GSS_ and GIMPLE_ enums.
9047
97e1ad78
JG
90482014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
9049
9050 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
9051 * config/aarch64/aarch64.c
9052 (aarch64_cannot_change_mode_class): Weaken conditions.
9053 (aarch64_modes_tieable_p): New.
9054 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
9055
bf245bf4
PH
90562014-04-28 Pat Haugen <pthaugen@us.ibm.com>
9057
9058 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
9059 (loadsync_<mode>): Change mode.
9060 (load_quadpti, store_quadpti): New.
9061 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
9062 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
9063
28151221
MJ
90642014-04-28 Martin Jambor <mjambor@suse.cz>
9065
9066 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
9067 same alias type as the original statement.
9068 (subreplacement_assignment_data): New type.
9069 (handle_unscalarized_data_in_subtree): New type of parameter,
9070 generate new memory accesses with same alias type as the original
9071 statement.
9072 (load_assign_lhs_subreplacements): Likewise.
9073 (sra_modify_constructor_assign): Generate new memory accesses with
9074 same alias type as the original statement.
9075
9ba5fb43
RB
90762014-04-28 Richard Biener <rguenther@suse.de>
9077
9078 * tree-pass.h (TODO_verify_il): Define.
9079 (TODO_verify_all): Complete properly.
9080 * passes.c (execute_function_todo): Move existing loop-closed
9081 SSA verification under TODO_verify_il.
9082 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
9083 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
9084 Fix tree sharing issue.
9085
22869a37
RB
90862014-04-28 Richard Biener <rguenther@suse.de>
9087
9088 PR middle-end/60092
9089 * builtins.def (DEF_C11_BUILTIN): Add.
9090 (BUILT_IN_ALIGNED_ALLOC): Likewise.
9091 * coretypes.h (enum function_class): Add function_c11_misc.
9092 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
9093 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
9094 (call_may_clobber_ref_p_1): Likewise.
9095 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
9096 (mark_all_reaching_defs_necessary_1): Likewise.
9097 (propagate_necessity): Likewise.
9098 (eliminate_unnecessary_stmts): Likewise.
9099 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
9100
771c9501
RB
91012014-04-28 Richard Biener <rguenther@suse.de>
9102
9103 * tree-vrp.c (vrp_var_may_overflow): Remove.
9104 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
9105 with overflow immediately bump to one before that value and
9106 let iteration figure out overflow status.
9107
279a935f
RB
91082014-04-28 Richard Biener <rguenther@suse.de>
9109
9110 * configure.ac: Do valgrind header checks unconditionally.
9111 Add --enable-valgrind-annotations.
9112 * system.h: Guard valgrind header inclusion with
9113 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
9114 * alloc-pool.c (pool_alloc, pool_free): Use
9115 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
9116 to guard possibly dead code.
9117 * config.in: Regenerated.
9118 * configure: Likewise.
9119
07357f2f
JL
91202014-04-28 Jeff Law <law@redhat.com>
9121
9122 PR tree-optimization/60902
9123 * tree-ssa-threadedge.c
9124 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
9125 over real defs when invalidating outputs from statements that do not
9126 produce useful outputs for threading.
9127
6c6aa8e6
RB
91282014-04-28 Richard Biener <rguenther@suse.de>
9129
9130 PR tree-optimization/60979
9131 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
9132 SCOPs that end in a block with a successor with abnormal
9133 predecessors.
9134
2cbf2d95
RB
91352014-04-28 Richard Biener <rguenther@suse.de>
9136
9137 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 9138 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
9139 (do_per_function): Change callback signature, push all actual
9140 work to the callbals.
9141 (do_per_function_toporder): Likewise.
9142 (execute_function_dump): Adjust.
9143 (execute_function_todo): Likewise.
9144 (clear_last_verified): Likewise.
9145 (verify_curr_properties): Likewise.
9146 (update_properties_after_pass): Likewise.
9147 (execute_pass_list_1): Split out from ...
9148 (execute_pass_list): ... here. Adjust.
9149 (execute_ipa_pass_list): Likewise.
9150 * cgraphunit.c (cgraph_add_new_function): Adjust.
9151 (analyze_function): Likewise.
9152 (expand_function): Likewise.
9153 * cgraph.c (release_function_body): Free dominance info
9154 here instead of asserting it was magically freed elsewhere.
9155
ba21a04a
EB
91562014-04-28 Eric Botcazou <ebotcazou@adacore.com>
9157
9158 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
9159 * configure: Regenerate.
9160 * config/sparc/sparc.opt (muser-mode): New option.
9161 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
9162 for LEON3.
9163 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
9164 * doc/invoke.texi (SPARC options): Document -muser-mode.
9165
f956adb9
RS
91662014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
9167
9168 * cselib.c (find_slot_memmode): Delete.
9169 (cselib_hasher): Change compare_type to a struct.
9170 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
9171 constants.
9172 (preserve_constants_and_equivs): Adjust for new compare_type.
9173 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
9174 (wrap_constant): Delete.
9175 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
9176
167c3e96
MT
91772014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
9178
9179 * doc/install.texi (Building with profile feedback): Remove
9180 outdated sentence.
9181
4148ef5f
TV
91822014-04-26 Tom de Vries <tom@codesourcery.com>
9183
9184 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
9185 array accesses.
9186
8d8ffd86
CC
91872014-04-25 Cary Coutant <ccoutant@google.com>
9188
b6db8af6 9189 PR debug/60929
8d8ffd86 9190 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
9191 can contain a subprogram definition, but don't move it to a
9192 comdat unit.
8d8ffd86 9193 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
9194 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
9195 from original DIE.
8d8ffd86
CC
9196 (clone_tree_hash): Rename to...
9197 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 9198 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 9199 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 9200 type unit.
8d8ffd86 9201
255671b0
L
92022014-04-25 H.J. Lu <hongjiu.lu@intel.com>
9203
9204 PR target/60969
9205 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
9206 alternative 12.
9207
10432733
JW
92082014-04-25 Jiong Wang <jiong.wang@arm.com>
9209
9210 * config/arm/predicates.md (call_insn_operand): Add long_call check.
9211 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
9212 reg for long_call.
9213 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
9214 restriction.
9215
0e4c913f
KT
92162014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9217
b6db8af6 9218 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 9219
61ba7329
BS
92202014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9221
9222 PR tree-optimization/60930
9223 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
9224 creating a multiply candidate by folding two constant
9225 multiplicands when the result overflows.
9226
2b332829
JJ
92272014-04-25 Jakub Jelinek <jakub@redhat.com>
9228
9229 PR tree-optimization/60960
9230 * tree-vect-generic.c (expand_vector_operation): Only call
9231 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
9232
97891c11
TV
92332014-04-25 Tom de Vries <tom@codesourcery.com>
9234
9235 * expr.c (clobber_reg_mode): New function.
9236 * expr.h (clobber_reg): New function.
9237
3ee634fd
TV
92382014-04-25 Tom de Vries <tom@codesourcery.com>
9239
9240 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
9241 clobbers.
9242
356bf593 92432014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 9244 Tom de Vries <tom@codesourcery.com>
356bf593
RO
9245
9246 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
9247 handle.
9248 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
9249 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
9250 new argument to find_all_hard_reg_sets call.
9251
fe65a7ed
KT
92522014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9253
9254 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
9255 Use HOST_WIDE_INT_C for mask literal.
9256 (aarch_rev16_shleft_mask_imm_p): Likewise.
9257
b357d40d
EB
92582014-04-25 Eric Botcazou <ebotcazou@adacore.com>
9259
9260 PR target/60941
9261 * config/sparc/sparc.md (ashlsi3_extend): Delete.
9262
30c0a59a
MG
92632014-04-25 Marc Glisse <marc.glisse@inria.fr>
9264
9265 PR preprocessor/56540
9266 * config/i386/i386-c.c (ix86_target_macros): Define
9267 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
9268
c02f59e2
RO
92692014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9270
9271 * configure.ac (tga_func): Remove.
9272 (LIB_TLS_SPEC): Remove.
9273 * configure: Regenerate.
9274 * config.in: Regenerate.
9275 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
9276
92b3326b
RB
92772014-04-25 Richard Biener <rguenther@suse.de>
9278
9279 PR ipa/60912
9280 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
9281 call stmt use/clobber sets during stmt walk instead of
9282 walking the possibly incomplete set of caller edges.
9283
78422fb1
RB
92842014-04-25 Richard Biener <rguenther@suse.de>
9285
9286 PR ipa/60911
9287 * passes.c (apply_ipa_transforms): Inline into only caller ...
9288 (execute_one_pass): ... here. Properly bring in function
9289 bodies for nodes we want to apply IPA transforms to.
9290
56f8faae
CH
92912014-04-24 Cong Hou <congh@google.com>
9292
9293 PR tree-optimization/60896
9294 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
9295 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
9296 (vect_mark_pattern_stmts): Set the def type of all statements in
9297 PATTERN_DEF_SEQ as vect_internal_def.
9298
06b39289
MM
92992014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
9300
9301 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 9302 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
9303 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
9304
9305 * config/rs6000/predicates.md (const_0_to_3_operand): New
9306 predicate to match 0..3 integer constants.
9307
9308 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
9309 to support adding miscellaneous builtin functions.
9310 (BU_DFP_MISC_2): Likewise.
9311 (BU_P7_MISC_1): Likewise.
9312 (BU_P7_MISC_2): Likewise.
9313 (BU_P8V_MISC_3): Likewise.
9314 (BU_MISC_1): Likewise.
9315 (BU_MISC_2): Likewise.
9316 (DIVWE): Add extended divide builtin functions.
9317 (DIVWEO): Likewise.
9318 (DIVWEU): Likewise.
9319 (DIVWEUO): Likewise.
9320 (DIVDE): Likewise.
9321 (DIVDEO): Likewise.
9322 (DIVDEU): Likewise.
9323 (DIVDEUO): Likewise.
9324 (DXEX): Add decimal floating-point builtin functions.
9325 (DXEXQ): Likewise.
9326 (DDEDPD): Likewise.
9327 (DDEDPDQ): Likewise.
9328 (DENBCD): Likewise.
9329 (DENBCDQ): Likewise.
9330 (DIEX): Likewise.
9331 (DIEXQ): Likewise.
9332 (DSCLI): Likewise.
9333 (DSCLIQ): Likewise.
9334 (DSCRI): Likewise.
9335 (DSCRIQ): Likewise.
9336 (CDTBCD): Add new BCD builtin functions.
9337 (CBCDTD): Likewise.
9338 (ADDG6S): Likewise.
9339 (BCDADD): Likewise.
9340 (BCDADD_LT): Likewise.
9341 (BCDADD_EQ): Likewise.
9342 (BCDADD_GT): Likewise.
9343 (BCDADD_OV): Likewise.
9344 (BCDSUB): Likewise.
9345 (BCDSUB_LT): Likewise.
9346 (BCDSUB_EQ): Likewise.
9347 (BCDSUB_GT): Likewise.
9348 (BCDSUB_OV): Likewise.
9349 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
9350 (UNPACK_TD): Likewise.
9351 (PACK_TF): Likewise.
9352 (UNPACK_TF): Likewise.
9353 (UNPACK_TF_0): Likewise.
9354 (UNPACK_TF_1): Likewise.
9355 (PACK_V1TI): Likewise.
9356 (UNPACK_V1TI): Likewise.
9357
9358 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
9359 support for decimal floating point builtin functions.
9360 (rs6000_expand_ternop_builtin): Add checks for the new builtin
9361 functions that take constant arguments.
b6db8af6 9362 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
9363 (rs6000_init_builtins): Setup long double, _Decimal64, and
9364 _Decimal128 types for new builtin functions.
9365 (builtin_function_type): Set the unsigned flags appropriately for
9366 the new builtin functions.
9367 (rs6000_opt_masks): Add support for decimal floating point builtin
9368 functions.
9369
9370 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
9371 floating point builtin functions.
9372 (RS6000_BTM_COMMON): Likewise.
9373 (RS6000_BTI_long_double): Likewise.
9374 (RS6000_BTI_dfloat64): Likewise.
9375 (RS6000_BTI_dfloat128): Likewise.
9376 (long_double_type_internal_node): Likewise.
9377 (dfloat64_type_internal_node): Likewise.
9378 (dfloat128_type_internal_node): Likewise.
9379
9380 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
9381 2.07 bcd arithmetic instructions.
9382 (UNSPEC_BCDSUB): Likewise.
9383 (UNSPEC_BCD_OVERFLOW): Likewise.
9384 (UNSPEC_BCD_ADD_SUB): Likewise.
9385 (bcd_add_sub): Likewise.
9386 (BCD_TEST): Likewise.
9387 (bcd<bcd_add_sub>): Likewise.
9388 (bcd<bcd_add_sub>_test): Likewise.
9389 (bcd<bcd_add_sub>_test2): Likewise.
9390 (bcd<bcd_add_sub>_<code>): Likewise.
9391 (peephole2 for combined bcd ops): Likewise.
9392
9393 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
9394 decimal floating point builtin functions.
9395 (UNSPEC_DENBCD): Likewise.
9396 (UNSPEC_DXEX): Likewise.
9397 (UNSPEC_DIEX): Likewise.
9398 (UNSPEC_DSCLI): Likewise.
9399 (UNSPEC_DSCRI): Likewise.
9400 (D64_D128): Likewise.
9401 (dfp_suffix): Likewise.
9402 (dfp_ddedpd_<mode>): Likewise.
9403 (dfp_denbcd_<mode>): Likewise.
9404 (dfp_dxex_<mode>): Likewise.
9405 (dfp_diex_<mode>): Likewise.
9406 (dfp_dscli_<mode>): Likewise.
9407 (dfp_dscri_<mode>): Likewise.
9408
9409 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
9410 builtin functions.
9411 (UNSPEC_CDTBCD): Likewise.
9412 (UNSPEC_CBCDTD): Likewise.
b6db8af6 9413 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
9414 (UNSPEC_DIVEO): Likewise.
9415 (UNSPEC_DIVEU): Likewise.
9416 (UNSPEC_DIVEUO): Likewise.
9417 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
9418 pack/unpack 128-bit types.
9419 (UNSPEC_PACK_128BIT): Likewise.
9420 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
9421 (udiv<mode>3): Use idiv_ldiv mode attribute.
9422 (div<mode>3): Likewise.
9423 (addg6s): Add new BCD builtin functions.
9424 (cdtbcd): Likewise.
9425 (cbcdtd): Likewise.
b6db8af6 9426 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
9427 (div_extend): Likewise.
9428 (div<div_extend>_<mode>"): Likewise.
9429 (FP128_64): Add support for new builtin functions to pack/unpack
9430 128-bit types.
9431 (unpack<mode>): Likewise.
9432 (unpacktf_0): Likewise.
9433 (unpacktf_1): Likewise.
9434 (unpack<mode>_dm): Likewise.
9435 (unpack<mode>_nodm): Likewise.
9436 (pack<mode>): Likewise.
9437 (unpackv1ti): Likewise.
9438 (packv1ti): Likewise.
9439
6e4f81db
V
94402014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
9441
9442 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
9443 is disabled.
9444
f7468577
JJ
94452014-04-24 Jakub Jelinek <jakub@redhat.com>
9446
9447 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
9448 * gimplify.c (omp_is_private): Change last argument's type to int.
9449 Only diagnose lastprivate if the simd argument is 1, only diagnose
9450 linear if the simd argument is 2.
9451 (gimplify_omp_for): Adjust omp_is_private callers. When adding
9452 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
9453 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
9454 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
9455 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
9456 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
9457 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
9458 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
9459 * tree-nested.c (convert_nonlocal_omp_clauses,
9460 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
9461
2f7ac5ce
JL
94622014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
9463
9464 PR target/60822
9465 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
9466 operand 1.
9467
dcaaa5a0
DP
94682014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
9469
9470 * flag-types.h (enum ivar_visibility): Add.
9471
78c7d18e
TS
94722014-04-24 Trevor Saunders <tsaunders@mozilla.com>
9473
9474 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
9475 function * argument.
9476
fbbde65e
AL
94772014-04-24 Alan Lawrence <alan.lawrence@arm.com>
9478
9479 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
9480
4f660b15 94812014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 9482 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
9483
9484 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
9485 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
9486 reg-note.
9487 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
9488 * emit-rtl.c (try_split): Same.
9489
d996e61a 94902014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 9491 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
9492
9493 * common.opt (fuse-caller-save): New option.
9494
bbcc9c00
TB
94952014-04-24 Tejas Belagod <tejas.belagod@arm.com>
9496
b6db8af6
UB
9497 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
9498 elements for big-endian.
bbcc9c00 9499
d2d11532
RB
95002014-04-24 Richard Biener <rguenther@suse.de>
9501
9502 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
9503 during TER and instead use the sepops interface for expanding
9504 non-GIMPLE_SINGLE_RHS.
9505
8117ef98
RO
95062014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9507
9508 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
9509 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
9510
ab0afae3
RO
95112014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9512
9513 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
9514 assembler 64-bit option.
9515 * configure: Regenerate.
9516
683e3333
KT
95172014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9518
9519 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
9520 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
9521 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
9522 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
9523 (TARGET_CRYPTO): Take TARGET_SIMD into account.
9524
c7f28cd5
KT
95252014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9526
9527 * config/aarch64/aarch64-builtins.c
9528 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
9529 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
9530 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
9531 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
9532 builtins.
9533 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
9534 (Vrevsuff): New mode attribute.
9535
b0419491
TG
95362014-04-24 Terry Guo <terry.guo@arm.com>
9537
9538 * config/arm/arm.h (machine_function): Define variable
9539 after_arm_reorg here.
9540 * config/arm/arm.c (after_arm_reorg): Remove the definition.
9541 (arm_split_constant): Update the way to access variable
9542 after_arm_reorg.
9543 (arm_reorg): Ditto.
9544 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
9545
74e4d71a
TV
95462014-04-23 Tom de Vries <tom@codesourcery.com>
9547
9548 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
9549
7de90a6c
DM
95502014-04-23 David Malcolm <dmalcolm@redhat.com>
9551
9552 * is-a.h: Update comments to reflect the following changes to the
9553 "pointerness" of the API, making the template parameter match the
9554 return type, allowing use of is-a.h with typedefs of pointers.
9555 (is_a_helper::cast): Return a T rather then a pointer to a T, so
9556 that the return type matches the parameter to the is_a_helper.
9557 (as_a): Likewise.
9558 (dyn_cast): Likewise.
9559
9560 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
9561 pointer from the is-a.h API.
9562
9563 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
9564 (is_a_helper <cgraph_node *>::test): ...this, matching change to
9565 is-a.h API.
9566 (is_a_helper <varpool_node>::test): Likewise, convert to...
9567 (is_a_helper <varpool_node *>::test): ...this.
9568
9569 (varpool_first_variable): Update for removal of implicit pointer
9570 from the is-a.h API.
9571 (varpool_next_variable): Likewise.
9572 (varpool_first_static_initializer): Likewise.
9573 (varpool_next_static_initializer): Likewise.
9574 (varpool_first_defined_variable): Likewise.
9575 (varpool_next_defined_variable): Likewise.
9576 (cgraph_first_defined_function): Likewise.
9577 (cgraph_next_defined_function): Likewise.
9578 (cgraph_first_function): Likewise.
9579 (cgraph_next_function): Likewise.
9580 (cgraph_first_function_with_gimple_body): Likewise.
9581 (cgraph_next_function_with_gimple_body): Likewise.
9582 (cgraph_alias_target): Likewise.
9583 (varpool_alias_target): Likewise.
9584 (cgraph_function_or_thunk_node): Likewise.
9585 (varpool_variable_node): Likewise.
9586 (symtab_real_symbol_p): Likewise.
9587 * cgraphunit.c (referred_to_p): Likewise.
9588 (analyze_functions): Likewise.
9589 (handle_alias_pairs): Likewise.
9590 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
9591 * gimple-ssa.h (gimple_vuse_op): Likewise.
9592 (gimple_vdef_op): Likewise.
9593 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
9594 * gimple.c (gimple_build_asm_1): Likewise.
9595 (gimple_build_try): Likewise.
9596 (gimple_build_resx): Likewise.
9597 (gimple_build_eh_dispatch): Likewise.
9598 (gimple_build_omp_for): Likewise.
9599 (gimple_omp_for_set_clauses): Likewise.
9600
9601 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
9602 (is_a_helper <gimple_statement_asm *>::test): ...this.
9603 (is_a_helper <gimple_statement_bind>::test): Convert to...
9604 (is_a_helper <gimple_statement_bind *>::test): ...this.
9605 (is_a_helper <gimple_statement_call>::test): Convert to...
9606 (is_a_helper <gimple_statement_call *>::test): ...this.
9607 (is_a_helper <gimple_statement_catch>::test): Convert to...
9608 (is_a_helper <gimple_statement_catch *>::test): ...this.
9609 (is_a_helper <gimple_statement_resx>::test): Convert to...
9610 (is_a_helper <gimple_statement_resx *>::test): ...this.
9611 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
9612 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
9613 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
9614 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
9615 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
9616 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
9617 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
9618 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
9619 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
9620 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
9621 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
9622 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
9623 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
9624 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
9625 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
9626 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
9627 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
9628 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
9629 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
9630 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
9631 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
9632 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
9633 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
9634 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
9635 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
9636 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
9637 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
9638 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
9639 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
9640 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
9641 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
9642 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
9643 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
9644 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
9645 (is_a_helper <gimple_statement_phi>::test): Convert to...
9646 (is_a_helper <gimple_statement_phi *>::test): ...this.
9647 (is_a_helper <gimple_statement_transaction>::test): Convert to...
9648 (is_a_helper <gimple_statement_transaction *>::test): ...this.
9649 (is_a_helper <gimple_statement_try>::test): Convert to...
9650 (is_a_helper <gimple_statement_try *>::test): ...this.
9651 (is_a_helper <gimple_statement_wce>::test): Convert to...
9652 (is_a_helper <gimple_statement_wce *>::test): ...this.
9653 (is_a_helper <const gimple_statement_asm>::test): Convert to...
9654 (is_a_helper <const gimple_statement_asm *>::test): ...this.
9655 (is_a_helper <const gimple_statement_bind>::test): Convert to...
9656 (is_a_helper <const gimple_statement_bind *>::test): ...this.
9657 (is_a_helper <const gimple_statement_call>::test): Convert to...
9658 (is_a_helper <const gimple_statement_call *>::test): ...this.
9659 (is_a_helper <const gimple_statement_catch>::test): Convert to...
9660 (is_a_helper <const gimple_statement_catch *>::test): ...this.
9661 (is_a_helper <const gimple_statement_resx>::test): Convert to...
9662 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
9663 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
9664 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
9665 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
9666 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
9667 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
9668 Convert to...
9669 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
9670 ...this.
9671 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
9672 Convert to...
9673 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
9674 ...this.
b6db8af6 9675 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
9676 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
9677 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
9678 to...
9679 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
9680 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
9681 to...
9682 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
9683 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
9684 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 9685 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
9686 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
9687 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
9688 to...
9689 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 9690 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
9691 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
9692 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
9693 to...
9694 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 9695 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 9696 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 9697 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 9698 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 9699 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
9700 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
9701 (is_a_helper <const gimple_statement_phi>::test): Convert to...
9702 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 9703 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 9704 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 9705 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
9706 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
9707 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
9708 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
9709 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
9710 to...
7de90a6c
DM
9711 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
9712 ...this.
b6db8af6 9713 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
9714 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
9715
9716 (gimple_use_ops): Update for removal of implicit pointer from the
9717 is-a.h API.
9718 (gimple_set_use_ops): Likewise.
9719 (gimple_vuse): Likewise.
9720 (gimple_vdef): Likewise.
9721 (gimple_vuse_ptr): Likewise.
9722 (gimple_vdef_ptr): Likewise.
9723 (gimple_set_vuse): Likewise.
9724 (gimple_set_vdef): Likewise.
9725 (gimple_omp_return_set_lhs): Likewise.
9726 (gimple_omp_return_lhs): Likewise.
9727 (gimple_omp_return_lhs_ptr): Likewise.
9728 (gimple_call_fntype): Likewise.
9729 (gimple_call_set_fntype): Likewise.
9730 (gimple_call_set_internal_fn): Likewise.
9731 (gimple_call_use_set): Likewise.
9732 (gimple_call_clobber_set): Likewise.
9733 (gimple_bind_vars): Likewise.
9734 (gimple_bind_set_vars): Likewise.
9735 (gimple_bind_body_ptr): Likewise.
9736 (gimple_bind_set_body): Likewise.
9737 (gimple_bind_add_stmt): Likewise.
9738 (gimple_bind_block): Likewise.
9739 (gimple_bind_set_block): Likewise.
9740 (gimple_asm_ninputs): Likewise.
9741 (gimple_asm_noutputs): Likewise.
9742 (gimple_asm_nclobbers): Likewise.
9743 (gimple_asm_nlabels): Likewise.
9744 (gimple_asm_input_op): Likewise.
9745 (gimple_asm_input_op_ptr): Likewise.
9746 (gimple_asm_output_op): Likewise.
9747 (gimple_asm_output_op_ptr): Likewise.
9748 (gimple_asm_set_output_op): Likewise.
9749 (gimple_asm_clobber_op): Likewise.
9750 (gimple_asm_set_clobber_op): Likewise.
9751 (gimple_asm_label_op): Likewise.
9752 (gimple_asm_set_label_op): Likewise.
9753 (gimple_asm_string): Likewise.
9754 (gimple_catch_types): Likewise.
9755 (gimple_catch_types_ptr): Likewise.
9756 (gimple_catch_handler_ptr): Likewise.
9757 (gimple_catch_set_types): Likewise.
9758 (gimple_catch_set_handler): Likewise.
9759 (gimple_eh_filter_types): Likewise.
9760 (gimple_eh_filter_types_ptr): Likewise.
9761 (gimple_eh_filter_failure_ptr): Likewise.
9762 (gimple_eh_filter_set_types): Likewise.
9763 (gimple_eh_filter_set_failure): Likewise.
9764 (gimple_eh_must_not_throw_fndecl): Likewise.
9765 (gimple_eh_must_not_throw_set_fndecl): Likewise.
9766 (gimple_eh_else_n_body_ptr): Likewise.
9767 (gimple_eh_else_e_body_ptr): Likewise.
9768 (gimple_eh_else_set_n_body): Likewise.
9769 (gimple_eh_else_set_e_body): Likewise.
9770 (gimple_try_eval_ptr): Likewise.
9771 (gimple_try_cleanup_ptr): Likewise.
9772 (gimple_try_set_eval): Likewise.
9773 (gimple_try_set_cleanup): Likewise.
9774 (gimple_wce_cleanup_ptr): Likewise.
9775 (gimple_wce_set_cleanup): Likewise.
9776 (gimple_phi_capacity): Likewise.
9777 (gimple_phi_num_args): Likewise.
9778 (gimple_phi_result): Likewise.
9779 (gimple_phi_result_ptr): Likewise.
9780 (gimple_phi_set_result): Likewise.
9781 (gimple_phi_arg): Likewise.
9782 (gimple_phi_set_arg): Likewise.
9783 (gimple_resx_region): Likewise.
9784 (gimple_resx_set_region): Likewise.
9785 (gimple_eh_dispatch_region): Likewise.
9786 (gimple_eh_dispatch_set_region): Likewise.
9787 (gimple_omp_critical_name): Likewise.
9788 (gimple_omp_critical_name_ptr): Likewise.
9789 (gimple_omp_critical_set_name): Likewise.
9790 (gimple_omp_for_clauses): Likewise.
9791 (gimple_omp_for_clauses_ptr): Likewise.
9792 (gimple_omp_for_set_clauses): Likewise.
9793 (gimple_omp_for_collapse): Likewise.
9794 (gimple_omp_for_index): Likewise.
9795 (gimple_omp_for_index_ptr): Likewise.
9796 (gimple_omp_for_set_index): Likewise.
9797 (gimple_omp_for_initial): Likewise.
9798 (gimple_omp_for_initial_ptr): Likewise.
9799 (gimple_omp_for_set_initial): Likewise.
9800 (gimple_omp_for_final): Likewise.
9801 (gimple_omp_for_final_ptr): Likewise.
9802 (gimple_omp_for_set_final): Likewise.
9803 (gimple_omp_for_incr): Likewise.
9804 (gimple_omp_for_incr_ptr): Likewise.
9805 (gimple_omp_for_set_incr): Likewise.
9806 (gimple_omp_for_pre_body_ptr): Likewise.
9807 (gimple_omp_for_set_pre_body): Likewise.
9808 (gimple_omp_parallel_clauses): Likewise.
9809 (gimple_omp_parallel_clauses_ptr): Likewise.
9810 (gimple_omp_parallel_set_clauses): Likewise.
9811 (gimple_omp_parallel_child_fn): Likewise.
9812 (gimple_omp_parallel_child_fn_ptr): Likewise.
9813 (gimple_omp_parallel_set_child_fn): Likewise.
9814 (gimple_omp_parallel_data_arg): Likewise.
9815 (gimple_omp_parallel_data_arg_ptr): Likewise.
9816 (gimple_omp_parallel_set_data_arg): Likewise.
9817 (gimple_omp_task_clauses): Likewise.
9818 (gimple_omp_task_clauses_ptr): Likewise.
9819 (gimple_omp_task_set_clauses): Likewise.
9820 (gimple_omp_task_child_fn): Likewise.
9821 (gimple_omp_task_child_fn_ptr): Likewise.
9822 (gimple_omp_task_set_child_fn): Likewise.
9823 (gimple_omp_task_data_arg): Likewise.
9824 (gimple_omp_task_data_arg_ptr): Likewise.
9825 (gimple_omp_task_set_data_arg): Likewise.
9826 (gimple_omp_taskreg_clauses): Likewise.
9827 (gimple_omp_taskreg_clauses_ptr): Likewise.
9828 (gimple_omp_taskreg_set_clauses): Likewise.
9829 (gimple_omp_taskreg_child_fn): Likewise.
9830 (gimple_omp_taskreg_child_fn_ptr): Likewise.
9831 (gimple_omp_taskreg_set_child_fn): Likewise.
9832 (gimple_omp_taskreg_data_arg): Likewise.
9833 (gimple_omp_taskreg_data_arg_ptr): Likewise.
9834 (gimple_omp_taskreg_set_data_arg): Likewise.
9835 (gimple_omp_task_copy_fn): Likewise.
9836 (gimple_omp_task_copy_fn_ptr): Likewise.
9837 (gimple_omp_task_set_copy_fn): Likewise.
9838 (gimple_omp_task_arg_size): Likewise.
9839 (gimple_omp_task_arg_size_ptr): Likewise.
9840 (gimple_omp_task_set_arg_size): Likewise.
9841 (gimple_omp_task_arg_align): Likewise.
9842 (gimple_omp_task_arg_align_ptr): Likewise.
9843 (gimple_omp_task_set_arg_align): Likewise.
9844 (gimple_omp_single_clauses): Likewise.
9845 (gimple_omp_single_clauses_ptr): Likewise.
9846 (gimple_omp_single_set_clauses): Likewise.
9847 (gimple_omp_target_clauses): Likewise.
9848 (gimple_omp_target_clauses_ptr): Likewise.
9849 (gimple_omp_target_set_clauses): Likewise.
9850 (gimple_omp_target_child_fn): Likewise.
9851 (gimple_omp_target_child_fn_ptr): Likewise.
9852 (gimple_omp_target_set_child_fn): Likewise.
9853 (gimple_omp_target_data_arg): Likewise.
9854 (gimple_omp_target_data_arg_ptr): Likewise.
9855 (gimple_omp_target_set_data_arg): Likewise.
9856 (gimple_omp_teams_clauses): Likewise.
9857 (gimple_omp_teams_clauses_ptr): Likewise.
9858 (gimple_omp_teams_set_clauses): Likewise.
9859 (gimple_omp_sections_clauses): Likewise.
9860 (gimple_omp_sections_clauses_ptr): Likewise.
9861 (gimple_omp_sections_set_clauses): Likewise.
9862 (gimple_omp_sections_control): Likewise.
9863 (gimple_omp_sections_control_ptr): Likewise.
9864 (gimple_omp_sections_set_control): Likewise.
9865 (gimple_omp_for_set_cond): Likewise.
9866 (gimple_omp_for_cond): Likewise.
9867 (gimple_omp_atomic_store_set_val): Likewise.
9868 (gimple_omp_atomic_store_val): Likewise.
9869 (gimple_omp_atomic_store_val_ptr): Likewise.
9870 (gimple_omp_atomic_load_set_lhs): Likewise.
9871 (gimple_omp_atomic_load_lhs): Likewise.
9872 (gimple_omp_atomic_load_lhs_ptr): Likewise.
9873 (gimple_omp_atomic_load_set_rhs): Likewise.
9874 (gimple_omp_atomic_load_rhs): Likewise.
9875 (gimple_omp_atomic_load_rhs_ptr): Likewise.
9876 (gimple_omp_continue_control_def): Likewise.
9877 (gimple_omp_continue_control_def_ptr): Likewise.
9878 (gimple_omp_continue_set_control_def): Likewise.
9879 (gimple_omp_continue_control_use): Likewise.
9880 (gimple_omp_continue_control_use_ptr): Likewise.
9881 (gimple_omp_continue_set_control_use): Likewise.
9882 (gimple_transaction_body_ptr): Likewise.
9883 (gimple_transaction_label): Likewise.
9884 (gimple_transaction_label_ptr): Likewise.
9885 (gimple_transaction_set_body): Likewise.
9886 (gimple_transaction_set_label): Likewise.
9887
9888 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
9889 * ipa-inline-analysis.c (inline_write_summary): Likewise.
9890 * ipa-ref.c (ipa_record_reference): Likewise.
9891 * ipa-reference.c (analyze_function): Likewise.
9892 (ipa_reference_write_optimization_summary): Likewise.
9893 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
9894 (address_taken_from_non_vtable_p): Likewise.
9895 (comdat_can_be_unshared_p_1): Likewise.
9896 * lto-cgraph.c (lto_output_ref): Likewise.
9897 (add_references): Likewise.
9898 (compute_ltrans_boundary): Likewise.
9899 (output_symtab): Likewise.
9900 (input_ref): Likewise.
9901 (input_cgraph_1): Likewise.
9902 (output_cgraph_opt_summary): Likewise.
9903 * lto-streamer-out.c (lto_output): Likewise.
9904 (output_symbol_p): Likewise.
9905 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
9906 (lsei_start_function_in_partition): Likewise.
9907 (lsei_next_variable_in_partition): Likewise.
9908 (lsei_start_variable_in_partition): Likewise.
9909 * symtab.c (insert_to_assembler_name_hash): Likewise.
9910 (unlink_from_assembler_name_hash): Likewise.
9911 (symtab_unregister_node): Likewise.
9912 (symtab_remove_node): Likewise.
9913 (dump_symtab_node): Likewise.
9914 (verify_symtab_base): Likewise.
9915 (verify_symtab_node): Likewise.
9916 (symtab_make_decl_local): Likewise.
9917 (symtab_alias_ultimate_target): Likewise.
9918 (symtab_resolve_alias): Likewise.
9919 (symtab_get_symbol_partitioning_class): Likewise.
9920 * tree-phinodes.c (allocate_phi_node): Likewise.
9921 (reserve_phi_args_for_new_edge): Likewise.
9922 (remove_phi_args): Likewise.
9923 * varpool.c (varpool_node_for_asm): Likewise.
9924 (varpool_remove_unreferenced_decls): Likewise.
9925
9219922e
JL
99262014-04-23 Jeff Law <law@redhat.com>
9927
9928 PR tree-optimization/60902
9929 * tree-ssa-threadedge.c
9930 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
9931 invalidate outputs from statements that do not produce useful
9932 outputs for threading.
9933
b6db8af6 99342014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
9935
9936 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
9937 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
9938 machine descriptions for Stack Smashing Protector.
9939
57b77d46
RE
99402014-04-23 Richard Earnshaw <rearnsha@arm.com>
9941
9942 * aarch64.md (<optab>_rol<mode>3): New pattern.
9943 (<optab>_rolsi3_uxtw): Likewise.
9944 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
9945
984c2f30
JG
99462014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
9947
9948 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
9949 (arm_cortex_a12_tune): Likewise.
9950
18b42b2a
KT
99512014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9952
9953 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
9954
ea1e9168
KT
99552014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9956
9957 * config/arm/arm.md (arm_rev16si2): New pattern.
9958 (arm_rev16si2_alt): Likewise.
9959 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
9960
f7d5cf8d
KT
99612014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9962
b6db8af6
UB
9963 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
9964 (rev16<mode>2_alt): Likewise.
9965 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
9966 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
9967 (aarch_rev16_shleft_mask_imm_p): Likewise.
9968 (aarch_rev16_p_1): Likewise.
9969 (aarch_rev16_p): Likewise.
9970 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
9971 (aarch_rev16_shright_mask_imm_p): Likewise.
9972 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 9973
9ac05ae5
KT
99742014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9975
b6db8af6
UB
9976 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
9977 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
9978 rev cost.
9979 (cortex_a53_extra_costs): Likewise.
9980 (cortex_a57_extra_costs): Likewise.
9981 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
9982 (cortexa7_extra_costs): Likewise.
9983 (cortexa8_extra_costs): Likewise.
9984 (cortexa12_extra_costs): Likewise.
9985 (cortexa15_extra_costs): Likewise.
9986 (v7m_extra_costs): Likewise.
9987 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 9988
e0d8c86c
KT
99892013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9990
b6db8af6
UB
9991 * config/arm/arm.c (cortexa8_extra_costs): New table.
9992 (arm_cortex_a8_tune): New tuning struct.
9993 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 9994
ba9b1a63
KT
99952014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9996
b6db8af6 9997 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 9998
da4cfeac
RB
99992014-04-23 Richard Biener <rguenther@suse.de>
10000
10001 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
10002 * tree-pass.h (make_pass_rtl_unswitch): Remove.
10003 * passes.def (pass_rtl_unswitch): Likewise.
10004 * loop-init.c (gate_rtl_unswitch): Likewise.
10005 (rtl_unswitch): Likewise.
10006 (pass_data_rtl_unswitch): Likewise.
10007 (pass_rtl_unswitch): Likewise.
10008 (make_pass_rtl_unswitch): Likewise.
10009 * rtl.h (reversed_condition): Likewise.
10010 (compare_and_jump_seq): Likewise.
10011 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
10012 and make static.
10013 * loop-unroll.c (compare_and_jump_seq): Likewise.
10014
22718afe
RB
100152014-04-23 Richard Biener <rguenther@suse.de>
10016
10017 PR tree-optimization/60903
10018 * tree-ssa-loop-im.c (analyze_memory_references): Remove
10019 commented code block.
10020 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
10021 loop flags to newly created BBs and edges.
10022
f7961364
NC
100232014-04-23 Nick Clifton <nickc@redhat.com>
10024
10025 * config/msp430/msp430.c (msp430_handle_option): Move function
10026 to msp430-common.c
10027 (msp430_option_override): Simplify mcu and mcpu option handling.
10028 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
10029 support for -mhwmult command line option.
10030 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
10031 -mhwmult command line option.
10032 (msp430_hwmult_enabled): Delete.
b6db8af6 10033 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
10034 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
10035 (umulsidi3): Likewise.
10036 * config/msp430/msp430.opt (mmcu): Add Report attribute.
10037 (mcpu, mlarge, msmall): Likewise.
10038 (mhwmult): New option.
10039 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
10040 prototype.
10041 (msp430_is_f5_mcu): Remove prototype.
10042 (msp430_use_f5_series_hwmult): Add prototype.
10043 * config/msp430/msp430-opts.h: New file.
10044 * common/config/msp430: New directory.
10045 * common/config/msp430/msp430-common.c: New file.
10046 * config.gcc (msp430): Remove target_has_targetm_common.
10047 * doc/invoke.texi: Document -mhwmult command line option.
10048
f70df035
NC
100492014-04-23 Nick Clifton <nickc@redhat.com>
10050
10051 * config/i386/cygwin.h (ENDFILE_SPEC): Include
10052 default-manifest.o if it can be found in the search path.
10053 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
10054
6a9accca
TG
100552014-04-23 Terry Guo <terry.guo@arm.com>
10056
10057 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
10058
62ba699e
RB
100592014-04-23 Richard Biener <rguenther@suse.de>
10060
10061 PR middle-end/60895
10062 * tree-inline.c (declare_return_variable): Use mark_addressable.
10063
92562f88
RB
100642014-04-23 Richard Biener <rguenther@suse.de>
10065
10066 PR middle-end/60891
10067 * loop-init.c (loop_optimizer_init): Make sure to apply
10068 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
10069
1c33c9b7
JJ
100702014-04-22 Jakub Jelinek <jakub@redhat.com>
10071
10072 PR sanitizer/60275
10073 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
10074 New options.
10075 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
10076 if flag_sanitize_undefined_trap_on_error.
10077 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
10078 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
10079 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
10080 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
10081 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
10082 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
10083 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
10084 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
10085 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
10086 * ubsan.c (ubsan_instrument_unreachable): Return
10087 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
10088 (ubsan_expand_null_ifn): Emit __builtin_trap ()
10089 if flag_sanitize_undefined_trap_on_error and
10090 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
10091 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
10092 instrument_bool_enum_load): Emit __builtin_trap () if
10093 flag_sanitize_undefined_trap_on_error and
10094 __builtin_handle_*_abort () if !flag_sanitize_recover.
10095 * doc/invoke.texi (-fsanitize-recover,
10096 -fsanitize-undefined-trap-on-error): Document.
10097
5e66b2e5
CB
100982014-04-22 Christian Bruel <christian.bruel@st.com>
10099
10100 * config/sh/sh.md (mov<mode>): Replace movQIHI.
10101 Force immediates to SImode.
10102
aa221564
SL
101032014-04-22 Sandra Loosemore <sandra@codesourcery.com>
10104
10105 * config/nios2/nios2.md (UNSPEC_ROUND): New.
10106 (lroundsfsi2): New.
10107 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
10108 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
10109 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
10110 (nios2_fpu_insn): Add entry for round.
10111 (N2FPU_NO_ERRNO_P): Define.
10112 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
10113 flag_errno_math.
10114 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
10115
2195867f
RH
101162014-04-22 Richard Henderson <rth@redhat.com>
10117
10118 * config/aarch64/aarch64 (addti3, subti3): New expanders.
10119 (add<GPI>3_compare0): Remove leading * from name.
10120 (add<GPI>3_carryin): Likewise.
10121 (sub<GPI>3_compare0): Likewise.
10122 (sub<GPI>3_carryin): Likewise.
10123 (<su_optab>mulditi3): New expander.
10124 (multi3): New expander.
10125 (madd<GPI>): Remove leading * from name.
10126
c6d43074
MJ
101272014-04-22 Martin Jambor <mjambor@suse.cz>
10128
10129 * cgraphclones.c (cgraph_function_versioning): Copy
10130 ipa_transforms_to_apply instead of asserting it is empty.
10131
e54c2dd3
L
101322014-04-22 H.J. Lu <hongjiu.lu@intel.com>
10133
10134 PR target/60868
f70df035 10135 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
10136 on count_exp to get mode.
10137
621ad2de
AP
101382014-04-22 Andrew Pinski <apinski@cavium.com>
10139
10140 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
10141 Handle TLS for ILP32.
10142 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
10143 (tlsie_small_<mode>): this and handle PTR.
10144 (tlsie_small_sidi): New pattern.
10145 (tlsle_small): Change to an expand to handle ILP32.
10146 (tlsle_small_<mode>): New pattern.
10147 (tlsdesc_small): Rename to ...
10148 (tlsdesc_small_<mode>): this and handle PTR.
10149
5cb74e90
RR
101502014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10151
10152 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
10153
bcd48995
AV
101542014-04-22 Alex Velenko <Alex.Velenko@arm.com>
10155
10156 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
10157 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
10158 (aarch64_types_signed_poly_qualifiers): Likewise.
10159 (aarch64_types_unsigned_signed_qualifiers): Likewise.
10160 (aarch64_types_poly_signed_qualifiers): Likewise.
10161 (TYPES_REINTERP_SS): Type macro added.
10162 (TYPES_REINTERP_SU): Likewise.
10163 (TYPES_REINTERP_SP): Likewise.
10164 (TYPES_REINTERP_US): Likewise.
10165 (TYPES_REINTERP_PS): Likewise.
10166 (aarch64_fold_builtin): New expression folding added.
10167 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
10168 Declarations removed.
10169 (REINTERP_SS): Declarations added.
10170 (REINTERP_US): Likewise.
10171 (REINTERP_PS): Likewise.
10172 (REINTERP_SU): Likewise.
10173 (REINTERP_SP): Likewise.
10174 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
10175 (vreinterpretq_p8_f64): Likewise.
10176 (vreinterpret_p16_f64): Likewise.
10177 (vreinterpretq_p16_f64): Likewise.
10178 (vreinterpret_f32_f64): Likewise.
10179 (vreinterpretq_f32_f64): Likewise.
10180 (vreinterpret_f64_f32): Likewise.
10181 (vreinterpret_f64_p8): Likewise.
10182 (vreinterpret_f64_p16): Likewise.
10183 (vreinterpret_f64_s8): Likewise.
10184 (vreinterpret_f64_s16): Likewise.
10185 (vreinterpret_f64_s32): Likewise.
10186 (vreinterpret_f64_s64): Likewise.
10187 (vreinterpret_f64_u8): Likewise.
10188 (vreinterpret_f64_u16): Likewise.
10189 (vreinterpret_f64_u32): Likewise.
10190 (vreinterpret_f64_u64): Likewise.
10191 (vreinterpretq_f64_f32): Likewise.
10192 (vreinterpretq_f64_p8): Likewise.
10193 (vreinterpretq_f64_p16): Likewise.
10194 (vreinterpretq_f64_s8): Likewise.
10195 (vreinterpretq_f64_s16): Likewise.
10196 (vreinterpretq_f64_s32): Likewise.
10197 (vreinterpretq_f64_s64): Likewise.
10198 (vreinterpretq_f64_u8): Likewise.
10199 (vreinterpretq_f64_u16): Likewise.
10200 (vreinterpretq_f64_u32): Likewise.
10201 (vreinterpretq_f64_u64): Likewise.
10202 (vreinterpret_s64_f64): Likewise.
10203 (vreinterpretq_s64_f64): Likewise.
10204 (vreinterpret_u64_f64): Likewise.
10205 (vreinterpretq_u64_f64): Likewise.
10206 (vreinterpret_s8_f64): Likewise.
10207 (vreinterpretq_s8_f64): Likewise.
10208 (vreinterpret_s16_f64): Likewise.
10209 (vreinterpretq_s16_f64): Likewise.
10210 (vreinterpret_s32_f64): Likewise.
10211 (vreinterpretq_s32_f64): Likewise.
10212 (vreinterpret_u8_f64): Likewise.
10213 (vreinterpretq_u8_f64): Likewise.
10214 (vreinterpret_u16_f64): Likewise.
10215 (vreinterpretq_u16_f64): Likewise.
10216 (vreinterpret_u32_f64): Likewise.
10217 (vreinterpretq_u32_f64): Likewise.
10218
0bf3afc1
AV
102192014-04-22 Alex Velenko <Alex.Velenko@arm.com>
10220
10221 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
10222 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
10223 (vreinterpret_p8_s8): Likewise.
10224 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
10225 (vreinterpret_p8_s16): Likewise.
10226 (vreinterpret_p8_s32): Likewise.
10227 (vreinterpret_p8_s64): Likewise.
10228 (vreinterpret_p8_f32): Likewise.
10229 (vreinterpret_p8_u8): Likewise.
10230 (vreinterpret_p8_u16): Likewise.
10231 (vreinterpret_p8_u32): Likewise.
10232 (vreinterpret_p8_u64): Likewise.
10233 (vreinterpret_p8_p16): Likewise.
10234 (vreinterpretq_p8_s8): Likewise.
10235 (vreinterpretq_p8_s16): Likewise.
10236 (vreinterpretq_p8_s32): Likewise.
10237 (vreinterpretq_p8_s64): Likewise.
10238 (vreinterpretq_p8_f32): Likewise.
10239 (vreinterpretq_p8_u8): Likewise.
10240 (vreinterpretq_p8_u16): Likewise.
10241 (vreinterpretq_p8_u32): Likewise.
10242 (vreinterpretq_p8_u64): Likewise.
10243 (vreinterpretq_p8_p16): Likewise.
10244 (vreinterpret_p16_s8): Likewise.
10245 (vreinterpret_p16_s16): Likewise.
10246 (vreinterpret_p16_s32): Likewise.
10247 (vreinterpret_p16_s64): Likewise.
10248 (vreinterpret_p16_f32): Likewise.
10249 (vreinterpret_p16_u8): Likewise.
10250 (vreinterpret_p16_u16): Likewise.
10251 (vreinterpret_p16_u32): Likewise.
10252 (vreinterpret_p16_u64): Likewise.
10253 (vreinterpret_p16_p8): Likewise.
10254 (vreinterpretq_p16_s8): Likewise.
10255 (vreinterpretq_p16_s16): Likewise.
10256 (vreinterpretq_p16_s32): Likewise.
10257 (vreinterpretq_p16_s64): Likewise.
10258 (vreinterpretq_p16_f32): Likewise.
10259 (vreinterpretq_p16_u8): Likewise.
10260 (vreinterpretq_p16_u16): Likewise.
10261 (vreinterpretq_p16_u32): Likewise.
10262 (vreinterpretq_p16_u64): Likewise.
10263 (vreinterpretq_p16_p8): Likewise.
10264 (vreinterpret_f32_s8): Likewise.
10265 (vreinterpret_f32_s16): Likewise.
10266 (vreinterpret_f32_s32): Likewise.
10267 (vreinterpret_f32_s64): Likewise.
10268 (vreinterpret_f32_u8): Likewise.
10269 (vreinterpret_f32_u16): Likewise.
10270 (vreinterpret_f32_u32): Likewise.
10271 (vreinterpret_f32_u64): Likewise.
10272 (vreinterpret_f32_p8): Likewise.
10273 (vreinterpret_f32_p16): Likewise.
10274 (vreinterpretq_f32_s8): Likewise.
10275 (vreinterpretq_f32_s16): Likewise.
10276 (vreinterpretq_f32_s32): Likewise.
10277 (vreinterpretq_f32_s64): Likewise.
10278 (vreinterpretq_f32_u8): Likewise.
10279 (vreinterpretq_f32_u16): Likewise.
10280 (vreinterpretq_f32_u32): Likewise.
10281 (vreinterpretq_f32_u64): Likewise.
10282 (vreinterpretq_f32_p8): Likewise.
10283 (vreinterpretq_f32_p16): Likewise.
10284 (vreinterpret_s64_s8): Likewise.
10285 (vreinterpret_s64_s16): Likewise.
10286 (vreinterpret_s64_s32): Likewise.
10287 (vreinterpret_s64_f32): Likewise.
10288 (vreinterpret_s64_u8): Likewise.
10289 (vreinterpret_s64_u16): Likewise.
10290 (vreinterpret_s64_u32): Likewise.
10291 (vreinterpret_s64_u64): Likewise.
10292 (vreinterpret_s64_p8): Likewise.
10293 (vreinterpret_s64_p16): Likewise.
10294 (vreinterpretq_s64_s8): Likewise.
10295 (vreinterpretq_s64_s16): Likewise.
10296 (vreinterpretq_s64_s32): Likewise.
10297 (vreinterpretq_s64_f32): Likewise.
10298 (vreinterpretq_s64_u8): Likewise.
10299 (vreinterpretq_s64_u16): Likewise.
10300 (vreinterpretq_s64_u32): Likewise.
10301 (vreinterpretq_s64_u64): Likewise.
10302 (vreinterpretq_s64_p8): Likewise.
10303 (vreinterpretq_s64_p16): Likewise.
10304 (vreinterpret_u64_s8): Likewise.
10305 (vreinterpret_u64_s16): Likewise.
10306 (vreinterpret_u64_s32): Likewise.
10307 (vreinterpret_u64_s64): Likewise.
10308 (vreinterpret_u64_f32): Likewise.
10309 (vreinterpret_u64_u8): Likewise.
10310 (vreinterpret_u64_u16): Likewise.
10311 (vreinterpret_u64_u32): Likewise.
10312 (vreinterpret_u64_p8): Likewise.
10313 (vreinterpret_u64_p16): Likewise.
10314 (vreinterpretq_u64_s8): Likewise.
10315 (vreinterpretq_u64_s16): Likewise.
10316 (vreinterpretq_u64_s32): Likewise.
10317 (vreinterpretq_u64_s64): Likewise.
10318 (vreinterpretq_u64_f32): Likewise.
10319 (vreinterpretq_u64_u8): Likewise.
10320 (vreinterpretq_u64_u16): Likewise.
10321 (vreinterpretq_u64_u32): Likewise.
10322 (vreinterpretq_u64_p8): Likewise.
10323 (vreinterpretq_u64_p16): Likewise.
10324 (vreinterpret_s8_s16): Likewise.
10325 (vreinterpret_s8_s32): Likewise.
10326 (vreinterpret_s8_s64): Likewise.
10327 (vreinterpret_s8_f32): Likewise.
10328 (vreinterpret_s8_u8): Likewise.
10329 (vreinterpret_s8_u16): Likewise.
10330 (vreinterpret_s8_u32): Likewise.
10331 (vreinterpret_s8_u64): Likewise.
10332 (vreinterpret_s8_p8): Likewise.
10333 (vreinterpret_s8_p16): Likewise.
10334 (vreinterpretq_s8_s16): Likewise.
10335 (vreinterpretq_s8_s32): Likewise.
10336 (vreinterpretq_s8_s64): Likewise.
10337 (vreinterpretq_s8_f32): Likewise.
10338 (vreinterpretq_s8_u8): Likewise.
10339 (vreinterpretq_s8_u16): Likewise.
10340 (vreinterpretq_s8_u32): Likewise.
10341 (vreinterpretq_s8_u64): Likewise.
10342 (vreinterpretq_s8_p8): Likewise.
10343 (vreinterpretq_s8_p16): Likewise.
10344 (vreinterpret_s16_s8): Likewise.
10345 (vreinterpret_s16_s32): Likewise.
10346 (vreinterpret_s16_s64): Likewise.
10347 (vreinterpret_s16_f32): Likewise.
10348 (vreinterpret_s16_u8): Likewise.
10349 (vreinterpret_s16_u16): Likewise.
10350 (vreinterpret_s16_u32): Likewise.
10351 (vreinterpret_s16_u64): Likewise.
10352 (vreinterpret_s16_p8): Likewise.
10353 (vreinterpret_s16_p16): Likewise.
10354 (vreinterpretq_s16_s8): Likewise.
10355 (vreinterpretq_s16_s32): Likewise.
10356 (vreinterpretq_s16_s64): Likewise.
10357 (vreinterpretq_s16_f32): Likewise.
10358 (vreinterpretq_s16_u8): Likewise.
10359 (vreinterpretq_s16_u16): Likewise.
10360 (vreinterpretq_s16_u32): Likewise.
10361 (vreinterpretq_s16_u64): Likewise.
10362 (vreinterpretq_s16_p8): Likewise.
10363 (vreinterpretq_s16_p16): Likewise.
10364 (vreinterpret_s32_s8): Likewise.
10365 (vreinterpret_s32_s16): Likewise.
10366 (vreinterpret_s32_s64): Likewise.
10367 (vreinterpret_s32_f32): Likewise.
10368 (vreinterpret_s32_u8): Likewise.
10369 (vreinterpret_s32_u16): Likewise.
10370 (vreinterpret_s32_u32): Likewise.
10371 (vreinterpret_s32_u64): Likewise.
10372 (vreinterpret_s32_p8): Likewise.
10373 (vreinterpret_s32_p16): Likewise.
10374 (vreinterpretq_s32_s8): Likewise.
10375 (vreinterpretq_s32_s16): Likewise.
10376 (vreinterpretq_s32_s64): Likewise.
10377 (vreinterpretq_s32_f32): Likewise.
10378 (vreinterpretq_s32_u8): Likewise.
10379 (vreinterpretq_s32_u16): Likewise.
10380 (vreinterpretq_s32_u32): Likewise.
10381 (vreinterpretq_s32_u64): Likewise.
10382 (vreinterpretq_s32_p8): Likewise.
10383 (vreinterpretq_s32_p16): Likewise.
10384 (vreinterpret_u8_s8): Likewise.
10385 (vreinterpret_u8_s16): Likewise.
10386 (vreinterpret_u8_s32): Likewise.
10387 (vreinterpret_u8_s64): Likewise.
10388 (vreinterpret_u8_f32): Likewise.
10389 (vreinterpret_u8_u16): Likewise.
10390 (vreinterpret_u8_u32): Likewise.
10391 (vreinterpret_u8_u64): Likewise.
10392 (vreinterpret_u8_p8): Likewise.
10393 (vreinterpret_u8_p16): Likewise.
10394 (vreinterpretq_u8_s8): Likewise.
10395 (vreinterpretq_u8_s16): Likewise.
10396 (vreinterpretq_u8_s32): Likewise.
10397 (vreinterpretq_u8_s64): Likewise.
10398 (vreinterpretq_u8_f32): Likewise.
10399 (vreinterpretq_u8_u16): Likewise.
10400 (vreinterpretq_u8_u32): Likewise.
10401 (vreinterpretq_u8_u64): Likewise.
10402 (vreinterpretq_u8_p8): Likewise.
10403 (vreinterpretq_u8_p16): Likewise.
10404 (vreinterpret_u16_s8): Likewise.
10405 (vreinterpret_u16_s16): Likewise.
10406 (vreinterpret_u16_s32): Likewise.
10407 (vreinterpret_u16_s64): Likewise.
10408 (vreinterpret_u16_f32): Likewise.
10409 (vreinterpret_u16_u8): Likewise.
10410 (vreinterpret_u16_u32): Likewise.
10411 (vreinterpret_u16_u64): Likewise.
10412 (vreinterpret_u16_p8): Likewise.
10413 (vreinterpret_u16_p16): Likewise.
10414 (vreinterpretq_u16_s8): Likewise.
10415 (vreinterpretq_u16_s16): Likewise.
10416 (vreinterpretq_u16_s32): Likewise.
10417 (vreinterpretq_u16_s64): Likewise.
10418 (vreinterpretq_u16_f32): Likewise.
10419 (vreinterpretq_u16_u8): Likewise.
10420 (vreinterpretq_u16_u32): Likewise.
10421 (vreinterpretq_u16_u64): Likewise.
10422 (vreinterpretq_u16_p8): Likewise.
10423 (vreinterpretq_u16_p16): Likewise.
10424 (vreinterpret_u32_s8): Likewise.
10425 (vreinterpret_u32_s16): Likewise.
10426 (vreinterpret_u32_s32): Likewise.
10427 (vreinterpret_u32_s64): Likewise.
10428 (vreinterpret_u32_f32): Likewise.
10429 (vreinterpret_u32_u8): Likewise.
10430 (vreinterpret_u32_u16): Likewise.
10431 (vreinterpret_u32_u64): Likewise.
10432 (vreinterpret_u32_p8): Likewise.
10433 (vreinterpret_u32_p16): Likewise.
10434 (vreinterpretq_u32_s8): Likewise.
10435 (vreinterpretq_u32_s16): Likewise.
10436 (vreinterpretq_u32_s32): Likewise.
10437 (vreinterpretq_u32_s64): Likewise.
10438 (vreinterpretq_u32_f32): Likewise.
10439 (vreinterpretq_u32_u8): Likewise.
10440 (vreinterpretq_u32_u16): Likewise.
10441 (vreinterpretq_u32_u64): Likewise.
10442 (vreinterpretq_u32_p8): Likewise.
10443 (vreinterpretq_u32_p16): Likewise.
10444
9551c7ec
AV
104452014-04-22 Alex Velenko <Alex.Velenko@arm.com>
10446
10447 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
10448 Pattern extended.
b6db8af6 10449 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
10450 (sqabs): Likewise.
10451 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
10452 (vqnegd_s64): Likewise.
10453 (vqabs_s64): Likewise.
10454 (vqabsd_s64): Likewise.
10455
f2a2c4b5
RH
104562014-04-22 Richard Henderson <rth@redhat.com>
10457
10458 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
10459 computation to the top of the loop.
10460
53e5ace2
RL
104612014-04-22 Renlin <renlin.li@arm.com>
10462 Jiong Wang <jiong.wang@arm.com>
10463
10464 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
10465 * config/aarch64/aarch64.c (aarch64_layout_frame)
10466 (aarch64_initial_elimination_offset): Likewise.
10467
78c29983
MS
104682014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
10469
10470 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
10471 Fix indentation.
10472
dbf23a79
RS
104732014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
10474
10475 * machmode.h (bitwise_mode_for_mode): Declare.
10476 * stor-layout.h (bitwise_type_for_mode): Likewise.
10477 * stor-layout.c (bitwise_mode_for_mode): New function.
10478 (bitwise_type_for_mode): Likewise.
10479 * builtins.c (fold_builtin_memory_op): Use it instead of
10480 int_mode_for_mode and build_nonstandard_integer_type.
10481
d9f069ab
RO
104822014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10483
10484 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
10485 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
10486 (*-*-solaris2*): Simplify.
10487 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
10488 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
10489 *-*-solaris2.9* handling.
10490
10491 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
10492 as bug.
10493 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
10494 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
10495 handling, simplify.
10496 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
10497 * configure: Regenerate.
10498
10499 * config/i386/sol2-9.h: Remove.
10500
10501 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
10502 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
10503 Remove Solaris 9 references.
10504
0d35c5c2
VP
105052014-04-22 Vidya Praveen <vidyapraveen@arm.com>
10506
10507 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
10508 (floatuns<GPI:mode><GPF:mode>2): Remove.
10509 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
10510 and floatuns conversions.
10511 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
10512 and floatuns conversions.
10513 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
10514 (w1,w2): New mode attributes for inequal width conversions.
10515
16a3246f
RL
105162014-04-22 Renlin Li <Renlin.Li@arm.com>
10517
10518 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
10519 the output asm format.
10520
110e1ccc
JG
105212014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
10522
10523 * config/aarch64/aarch64-simd.md
10524 (aarch64_cm<optab>di): Always split.
10525 (*aarch64_cm<optab>di): New.
10526 (aarch64_cmtstdi): Always split.
10527 (*aarch64_cmtstdi): New.
10528
2044a4c3
JJ
105292014-04-22 Jakub Jelinek <jakub@redhat.com>
10530
10531 PR tree-optimization/60823
10532 * omp-low.c (ipa_simd_modify_function_body): Go through
10533 all SSA_NAMEs and for those refering to vector arguments
10534 which are going to be replaced adjust SSA_NAME_VAR and,
10535 if it is a default definition, change it into a non-default
10536 definition assigned at the beginning of function from new_decl.
10537 (ipa_simd_modify_stmt_ops): Rewritten.
10538 * tree-dfa.c (set_ssa_default_def): When removing default def,
10539 check for NULL loc instead of NULL *loc.
10540
9d8b4d1c
RR
105412014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10542
10543 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
10544 restrictions on core registers for DImode values in Thumb2.
10545
a01be1ae
IB
105462014-04-22 Ian Bolton <ian.bolton@arm.com>
10547
10548 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
10549 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
10550
80d3417b
IB
105512014-04-22 Ian Bolton <ian.bolton@arm.com>
10552
10553 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
10554 (*iordi_notzesidi_di): Likewise.
10555 (*iordi_notsesidi_di): Likewise.
10556
46fbb3eb
IB
105572014-04-22 Ian Bolton <ian.bolton@arm.com>
10558
10559 * config/arm/arm-protos.h (tune_params): New struct members.
10560 * config/arm/arm.c: Initialise tune_params per processor.
10561 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
10562 for speed, based on new tune_params.
10563
74dc11ed
AV
105642014-04-22 Alex Velenko <Alex.Velenko@arm.com>
10565
b6db8af6
UB
10566 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
10567 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
10568 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
10569 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
10570 * config/aarch64/arm_neon.h (vrnd_f64): Added.
10571 (vrnda_f64): Likewise.
10572 (vrndi_f64): Likewise.
10573 (vrndm_f64): Likewise.
10574 (vrndn_f64): Likewise.
10575 (vrndp_f64): Likewise.
10576 (vrndx_f64): Likewise.
10577
35923e46
ZC
105782014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
10579
10580 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
10581 GET_MODE_SIZE argument is enum machine_mode.
10582
4552e70c
JJ
105832014-04-22 Jakub Jelinek <jakub@redhat.com>
10584
10585 PR target/60910
10586 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
10587 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
10588
e5dcd695
LZ
105892014-04-22 Lin Zuojian <manjian2006@gmail.com>
10590
10591 PR middle-end/60281
10592 * asan.c (asan_emit_stack_protection): Force the base to align to
10593 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
10594 appropriate bits if STRICT_ALIGNMENT.
10595 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
10596 when asan is on.
10597 (expand_used_vars): Leave a space in the stack frame for alignment
10598 if STRICT_ALIGNMENT.
10599
7455080c
DM
106002014-04-21 David Malcolm <dmalcolm@redhat.com>
10601
10602 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
10603 than a gimple.
10604 (gimple_store_p): Likewise.
10605 (gimple_assign_load_p): Likewise.
10606 (gimple_assign_cast_p): Likewise.
10607 (gimple_clobber_p): Likewise.
10608
10609 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
10610 rather than a gimple.
10611 (gimple_assign_cast_p): Likewise.
10612
aeb9579a
MM
106132014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
10614
10615 PR target/60735
10616 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
10617 If mode is DDmode and TARGET_E500_DOUBLE allow move.
10618
10619 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
10620 more debug information for E500 if -mdebug=reg.
10621
b15d92bf
UB
106222014-04-21 Uros Bizjak <ubizjak@gmail.com>
10623
10624 PR target/60909
10625 * config/i386/i386.c (ix86_expand_builtin)
10626 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
10627 register for target RTX.
10628 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
10629
d367387c
CH
106302014-04-18 Cong Hou <congh@google.com>
10631
10632 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
10633 the widen-mult pattern by handling two operands with different sizes,
10634 and operands whose size is smaller than half of the result type.
d367387c 10635
b6d627e4
JH
106362014-04-18 Jan Hubicka <hubicka@ucw.cz>
10637
10638 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
10639 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
10640 (do_estimate_edge_time): Compute it.
10641 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 10642 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 10643
e86a910f
JH
106442014-04-18 Jan Hubicka <hubicka@ucw.cz>
10645
10646 * ipa-inline.c (spec_rem): New static variable.
10647 (dump_overall_stats): New function.
10648 (dump_inline_stats): New function.
10649
8a3a7e67
RH
106502014-04-18 Richard Henderson <rth@redhat.com>
10651
10652 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
10653 to GET_MODE_SIZE, not a reg_class_t.
10654
ed79f4d0
BS
106552014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10656
b15d92bf 10657 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
10658 (vsx_xxmrglw_<mode>): Likewise.
10659
fe799eea
MM
106602014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
10661
10662 PR target/60876
10663 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 10664 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
10665 (rs6000_init_hard_regno_mode_ok): Likewise.
10666
5e750dc6
JH
106672014-04-17 Jan Hubicka <hubicka@ucw.cz>
10668
10669 * ipa-inline.c (inline_small_functions): Account only non-cold
10670 functions.
10671 * doc/invoke.texi (inline-unit-growth): Update documentation.
10672
32337f10
PH
106732014-04-17 Pat Haugen <pthaugen@us.ibm.com>
10674
10675 * config/rs6000/rs6000.md (addti3, subti3): New.
10676
40ed344a
L
106772014-04-17 H.J. Lu <hongjiu.lu@intel.com>
10678
10679 PR target/60863
10680 * config/i386/i386.c (ix86_expand_clear): Remove outdated
10681 comment. Check optimize_insn_for_size_p instead of
10682 optimize_insn_for_speed_p.
10683
104cb50b
MJ
106842014-04-17 Martin Jambor <mjambor@suse.cz>
10685
10686 * gimple-iterator.c (gsi_start_edge): New function.
10687 * gimple-iterator.h (gsi_start_edge): Declare.
10688 * tree-sra.c (single_non_eh_succ): New function.
10689 (disqualify_ops_if_throwing_stmt): Renamed to
10690 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
10691 having one non-EH successor BB.
10692 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
10693 generate loads into replacements.
10694 (sra_modify_assign): Likewise and and also use the simple path for
10695 such statements.
10696 (sra_modify_function_body): Commit statements on edges.
10697
b94970bc
RB
106982014-04-17 Richard Biener <rguenther@suse.de>
10699
10700 PR middle-end/60849
10701 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
10702 comparison results and add clarifying comment.
10703
92f0f3ec
JJ
107042014-04-17 Jakub Jelinek <jakub@redhat.com>
10705
10706 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
10707 (blank_mode): Initialize it.
10708 (emit_mode_size_inline, emit_mode_nunits_inline,
10709 emit_mode_inner_inline): New functions.
10710 (emit_insn_modes_h): Call them and surround their output with
10711 #if GCC_VERSION >= 4001 ... #endif.
10712 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
10713 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
10714 mode_* arrays if the argument is __builtin_constant_p.
10715 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
10716 is enum machine_mode.
10717
be55bfe6
TS
107182014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10719
10720 * passes.c (opt_pass::execute): Adjust.
10721 (pass_manager::execute_pass_mode_switching): Likewise.
10722 (early_local_passes::execute): Likewise.
10723 (execute_one_pass): Pass cfun to the pass's execute method.
10724 * tree-pass.h (opt_pass::execute): Add function * argument.
10725 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
10726 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
10727 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
10728 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
10729 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
10730 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
10731 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
10732 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
10733 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
10734 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
10735 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
10736 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
10737 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
10738 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
10739 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
10740 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
10741 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
10742 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
10743 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
10744 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
10745 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
10746 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
10747 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
10748 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
10749 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
10750 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
10751 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
10752 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
10753 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
10754 Adjust.
10755
1a3d085c
TS
107562014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10757
10758 * passes.c (opt_pass::gate): Take function * argument.
10759 (gate_all_early_local_passes): Merge into
10760 (early_local_passes::gate): this.
10761 (gate_all_early_optimizations): Merge into
10762 (all_early_optimizations::gate): this.
10763 (gate_all_optimizations): Mege into
10764 (all_optimizations::gate): this.
10765 (gate_all_optimizations_g): Merge into
10766 (all_optimizations_g::gate): this.
10767 (gate_rest_of_compilation): Mege into
10768 (rest_of_compilation::gate): this.
10769 (gate_postreload): Merge into
10770 (postreload::gate): this.
10771 (dump_one_pass): Pass cfun to the pass's gate method.
10772 (execute_ipa_summary_passes): Likewise.
10773 (execute_one_pass): Likewise.
10774 (ipa_write_summaries_2): Likewise.
10775 (ipa_write_optimization_summaries_1): Likewise.
10776 (ipa_read_summaries_1): Likewise.
10777 (ipa_read_optimization_summaries_1): Likewise.
10778 (execute_ipa_stmt_fixups): Likewise.
10779 * tree-pass.h (opt_pass::gate): Add function * argument.
10780 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
10781 combine-stack-adj.c, combine.c, compare-elim.c,
10782 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
10783 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
10784 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
10785 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
10786 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
10787 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
10788 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
10789 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
10790 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
10791 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
10792 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
10793 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
10794 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
10795 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
10796 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
10797 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
10798 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
10799 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
10800 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
10801 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
10802 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
10803 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
10804 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
10805 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
10806 var-tracking.c, vtable-verify.c, web.c: Adjust.
10807
45887209
TS
108082014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10809
10810 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
10811 * configure: Regenerate.
10812
0481253d 108132014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 10814
0481253d
TS
10815 * passes.c (dump_one_pass): don't check pass->has_gate.
10816 (execute_ipa_summary_passes): Likewise.
10817 (execute_one_pass): Likewise.
10818 (ipa_write_summaries_2): Likewise.
10819 (ipa_write_optimization_summaries_1): Likewise.
10820 (ipa_read_optimization_summaries_1): Likewise.
10821 (execute_ipa_stmt_fixups): Likewise.
10822 * tree-pass.h (pass_data::has_gate): Remove.
10823 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
10824 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
10825 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
10826 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
10827 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
10828 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
10829 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
10830 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
10831 gimple-low.c, gimple-ssa-isolate-paths.c,
10832 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
10833 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
10834 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
10835 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
10836 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
10837 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
10838 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
10839 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
10840 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
10841 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
10842 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
10843 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
10844 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
10845 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
10846 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
10847 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
10848 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
10849 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
10850 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
10851 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
10852 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
10853 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
10854 Adjust.
10855
a23c217d
TS
108562014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10857
b15d92bf
UB
10858 * pass_manager.h (pass_manager::register_dump_files_1): Remove
10859 declaration.
a23c217d
TS
10860 * passes.c (pass_manager::register_dump_files_1): Merge into
10861 (pass_manager::register_dump_files): this, and remove its handling of
10862 properties since the pass always has the properties anyway.
10863 (pass_manager::pass_manager): Adjust.
10864
0cd11b40
TS
108652014-04-17 Trevor Saunders <tsaunders@mozilla.com>
10866
10867 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
10868 * passes.c (pass_manager::register_dump_files_1): Remove dead code
10869 dealing with properties.
10870 (pass_manager::register_dump_files): Adjust.
10871
79896351
MW
108722014-03-20 Mark Wielaard <mjw@redhat.com>
10873
10874 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
10875 then represent the bound as normal constant value.
10876
5a65129e
JJ
108772014-04-17 Jakub Jelinek <jakub@redhat.com>
10878
10879 PR target/60847
10880 Forward port from 4.8 branch
10881 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
10882
10883 * config/i386/bmiintrin.h (_blsi_u32): New.
10884 (_blsi_u64): Ditto.
10885 (_blsr_u32): Ditto.
10886 (_blsr_u64): Ditto.
10887 (_blsmsk_u32): Ditto.
10888 (_blsmsk_u64): Ditto.
10889 (_tzcnt_u32): Ditto.
10890 (_tzcnt_u64): Ditto.
10891
59b266b1
KC
108922014-04-17 Kito Cheng <kito@0xlab.org>
10893
10894 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
10895
83ad208e
RB
108962014-04-17 Richard Biener <rguenther@suse.de>
10897
10898 PR middle-end/60849
10899 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
10900 boolean results for comparisons.
10901
730e78b0
RB
109022014-04-17 Richard Biener <rguenther@suse.de>
10903
10904 PR tree-optimization/60836
10905 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
10906 initial PHI args to be gimple values.
10907
40c0a159 109082014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
10909
10910 PR tree-optimization/60841
10911 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
10912 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
10913 of stmts to SLP build.
10914 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
10915 (vect_analyze_slp): Likewise.
10916 (vect_analyze_slp_instance): Likewise.
10917 (vect_build_slp_tree): Limit overall SLP tree growth.
10918 * tree-vectorizer.h (vect_analyze_data_refs,
10919 vect_analyze_slp): Adjust prototypes.
10920
170c1776
ES
109212014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
10922
10923 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
10924 Silvermont.
10925
a4ef7f3e
ES
109262014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
10927
10928 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
10929 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
10930 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
10931 for TARGET_SLOW_PSHUFB
10932
cf055f6e
ES
109332014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
10934
10935 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
10936 * config/i386/i386.c (intel_cost): Ditto.
10937
eeee2277
JY
109382014-04-17 Joey Ye <joey.ye@arm.com>
10939
10940 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
10941
1c58fe29
JH
109422014-04-16 Jan Hubicka <hubicka@ucw.cz>
10943
10944 * opts.c (common_handle_option): Disable -fipa-reference coorectly
10945 with -fuse-profile.
10946
2d1644bf
JH
109472014-04-16 Jan Hubicka <hubicka@ucw.cz>
10948
10949 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
10950 (type_all_derivations_known_p): New predicate.
10951 (type_all_ctors_visible_p): New predicate.
10952 (type_possibly_instantiated_p): New predicate.
10953 (get_odr_type): Compute all_derivations_known.
10954 (dump_odr_type): Dump the flag.
10955 (maybe_record_type): Cleanup.
10956 (record_target_from_binfo): Add bases_to_consider array;
10957 record bases for types w/o instances and skip CXX destructor.
10958 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 10959 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
10960 (get_polymorphic_call_info): Set maybe_in_construction to true
10961 when we know nothing.
10962 (record_targets_from_bases): Skip CXX destructors; they are
10963 never called for types in construction.
10964 (possible_polymorphic_call_targets): Do not record target when
10965 type may not have instance.
10966
789c2741
JH
109672014-04-16 Jan Hubicka <hubicka@ucw.cz>
10968
10969 PR ipa/60854
10970 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
10971 external aliases alive, too.
10972
9950a4f2
AP
109732014-04-16 Andrew Pinski <apinski@cavium.com>
10974
10975 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 10976 definition.
9950a4f2 10977
82b9c015
EB
109782014-04-16 Eric Botcazou <ebotcazou@adacore.com>
10979
10980 * final.c (compute_alignments): Do not apply loop alignment to a block
10981 falling through to the exit.
10982
d2dfaca3
CM
109832014-04-16 Catherine Moore <clm@codesourcery.com>
10984
10985 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
10986 Adjust constraints for microMIPS store patterns.
10987
10353a79
PS
109882014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
10989
10990 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
10991
61c7fb30
EB
109922014-04-16 Eric Botcazou <ebotcazou@adacore.com>
10993
10994 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
10995 (append_use): Run at -O0.
10996 (append_vdef): Likewise.
10997 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
10998 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
10999
42fae17c
JJ
110002014-04-16 Jakub Jelinek <jakub@redhat.com>
11001
11002 PR tree-optimization/60844
11003 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
11004 (propagate_op_to_single_use, remove_visited_stmt_chain,
11005 linearize_expr, repropagate_negates, reassociate_bb): Use it
11006 instead of gsi_remove.
11007
ca860d03
MJ
110082014-04-16 Martin Jambor <mjambor@suse.cz>
11009
11010 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
11011 ipa_transforms_to_apply.
11012 (cgraph_function_versioning): Assert that old_node has empty
11013 ipa_transforms_to_apply.
11014 * trans-mem.c (ipa_tm_create_version): Likewise.
11015 * tree-inline.c (tree_function_versioning): Do not duplicate
11016 ipa_transforms_to_apply.
11017
fe4e71e4
RO
110182014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11019
11020 PR target/60817
11021 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
11022 x86_64-*-* cases.
11023 Pass necessary as flags on 64-bit Solaris/x86.
11024 Use lowercase relocs for x86_64-*-*.
11025 * configure: Regenerate.
11026
ccb05ef2
JH
110272014-04-15 Jan Hubicka <jh@suse.cz>
11028
11029 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
11030 (maybe_record_node, likely_target_p): Use it.
11031
dfe449d1
BS
110322014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11033
11034 PR target/60839
11035 Revert following patch
11036
11037 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
11038
11039 PR target/60735
11040 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
11041 software floating point or no floating point registers, do not
11042 allow any type in the FPRs. Eliminate a test for SPE SIMD types
11043 in GPRs that occurs after we tested for GPRs that would never be
11044 true.
11045
11046 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
11047 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
11048 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
11049 specifically allow DDmode, since that does not use the SPE SIMD
11050 instructions.
11051
25dce5c6
MW
110522014-03-21 Mark Wielaard <mjw@redhat.com>
11053
11054 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
11055 as unsigned or int depending on type and value used.
11056
8d3c076f
RB
110572014-04-15 Richard Biener <rguenther@suse.de>
11058
11059 PR rtl-optimization/56965
11060 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
11061 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
11062 ... here.
11063 * alias.c (true_dependence_1): Do not call
11064 nonoverlapping_component_refs_p.
11065 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
11066 nonoverlapping_component_refs_p.
11067 (indirect_refs_may_alias_p): Likewise.
11068
d00e4baa
TJ
110692014-04-15 Teresa Johnson <tejohnson@google.com>
11070
11071 * cfg.c (dump_bb_info): Fix flags check.
11072 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
11073
98a2fdfb
KT
110742014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11075
11076 PR rtl-optimization/60663
11077 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
11078 avoid 0 cost.
11079
b9ed2c2c
RB
110802014-04-15 Richard Biener <rguenther@suse.de>
11081
11082 * lto-streamer.h (LTO_major_version): Bump to 4.
11083
783dab6b
RB
110842014-04-15 Richard Biener <rguenther@suse.de>
11085
11086 * common.opt (lto_partition_model): New enum.
11087 (flto-partition=): Merge separate options with a single with argument,
11088 add -flto-partition=one support.
11089 * flag-types.h (enum lto_partition_model): Declare.
11090 * opts.c (finish_options): Remove duplicate -flto-partition=
11091 option check.
11092 * lto-wrapper.c (run_gcc): Adjust.
11093
d8e4ce6d
RB
110942014-04-15 Richard Biener <rguenther@suse.de>
11095
11096 * alias.c (ncr_compar): New function.
11097 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
11098
1999fd7d
RB
110992014-04-15 Richard Biener <rguenther@suse.de>
11100
11101 * alias.c (record_component_aliases): Do not walk BINFOs.
11102
628169e0
RB
111032014-04-15 Richard Biener <rguenther@suse.de>
11104
11105 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
11106 Add struct function argument and adjust.
11107 (find_func_aliases_for_call): Likewise.
11108 (find_func_aliases): Likewise.
11109 (find_func_clobbers): Likewise.
11110 (intra_create_variable_infos): Likewise.
11111 (compute_points_to_sets): Likewise.
11112 (ipa_pta_execute): Adjust. Do not push/pop cfun.
11113
349e6210
RB
111142014-04-15 Richard Biener <rguenther@suse.de>
11115
11116 * tree.c (iterative_hash_expr): Use enum tree_code_class
11117 to store TREE_CODE_CLASS.
11118 (tree_block): Likewise.
11119 (tree_set_block): Likewise.
11120 * tree.h (fold_build_pointer_plus_loc): Use
11121 convert_to_ptrofftype_loc.
11122
4f0ddb6f
JJ
111232014-04-15 Jakub Jelinek <jakub@redhat.com>
11124
11125 PR plugins/59335
11126 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
11127 added in 4.9.
11128
718c4601
EB
111292014-04-15 Eric Botcazou <ebotcazou@adacore.com>
11130
11131 * cfgloop.h (struct loop): Move force_vectorize down.
11132 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
11133 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
11134 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
11135 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
11136 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
11137 * tree-core.h (enum annot_expr_kind): Add new kind values.
11138 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
11139 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
11140 kinds.
11141 * tree.def (ANNOTATE_EXPR): Tweak comment.
11142
88f592e3
JH
111432014-04-14 Jan Hubicka <hubicka@ucw.cz>
11144
11145 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
11146 cxa_pure_virtual).
11147
9dba4b55
PC
111482014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
11149
11150 * tree.h (TYPE_IDENTIFIER): Declare.
11151 * tree.c (subrange_type_for_debug_p): Use it.
11152 * godump.c (go_format_type): Likewise.
11153 * dwarf2out.c (is_cxx_auto, modified_type_die,
11154 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
11155 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
11156
40c0a159 111572014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
11158
11159 PR lto/60820
11160 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
11161
e0a81db1
UB
111622014-04-14 Uros Bizjak <ubizjak@gmail.com>
11163
11164 * config/i386/i386.c (examine_argument): Return bool. Return true if
11165 parameter should be passed in memory.
11166 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
11167 (construct_container): Update calls to examine_argument.
11168 (function_arg_advance_64): Ditto.
11169 (return_in_memory_32): Merge with ix86_return_in_memory.
11170 (return_in_memory_64): Ditto.
11171 (return_in_memory_ms_64): Ditto.
11172
cb90235d
JH
111732014-04-14 Jan Hubicka <hubicka@ucw.cz>
11174
11175 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
11176 * coverage.c (coverage_compute_profile_id): Handle externally visible
11177 symbols.
11178
7b3b340e
MJ
111792014-04-14 Martin Jambor <mjambor@suse.cz>
11180
11181 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
11182 DECL_DISREGARD_INLINE_LIMITS functions.
11183
2ed3b4ee
L
111842014-04-14 H.J. Lu <hongjiu.lu@intel.com>
11185
11186 PR target/60827
e0a81db1 11187 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 11188
10fa463f
L
111892014-04-14 H.J. Lu <hongjiu.lu@intel.com>
11190
11191 PR target/60827
11192 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
11193 optimize_insn_for_speed_p instead of
11194 optimize_function_for_speed_p.
11195
b621e875
YZ
111962014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
11197
11198 * doc/invoke.texi (free): Document AArch64.
11199
cddaefa3
RB
112002014-04-14 Richard Biener <rguenther@suse.de>
11201
11202 PR tree-optimization/60042
11203 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
11204 (insert_into_preds_of_block): Do not prevent PHI insertion
11205 for REFERENCE exprs here ...
11206 (eliminate_dom_walker::before_dom_children): ... but prevent
11207 their use here under similar conditions when applied to the
11208 IL after PRE optimizations.
11209
a9e4c82f
RB
112102014-04-14 Richard Biener <rguenther@suse.de>
11211
11212 * passes.def: Move early points-to after early SRA.
11213
7b4cae1b
RB
112142014-04-14 Richard Biener <rguenther@suse.de>
11215
11216 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
11217 check for which sign-changes we allow when forwarding
11218 a converted value into a switch.
11219
cb27986c
EB
112202014-04-14 Eric Botcazou <ebotcazou@adacore.com>
11221
11222 * stor-layout.c (place_field): Finalize non-constant offset for the
11223 field, if any.
11224
72798784
RB
112252014-04-14 Richard Biener <rguenther@suse.de>
11226
11227 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
11228 as argument.
11229 (expand_switch_using_bit_tests_p): Likewise.
11230 (process_switch): Compute and pass on speed_p based on the
11231 switch stmt.
11232 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
11233 optimize_bb_for_speed_p.
11234
b15b5979
EB
112352014-04-14 Eric Botcazou <ebotcazou@adacore.com>
11236
11237 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
11238 * function.h (struct function): Rename has_force_vect_loops into
11239 has_force_vectorize_loops.
11240 * lto-streamer-in.c (input_cfg): Adjust for renaming.
11241 (input_struct_function_base): Likewise.
11242 * lto-streamer-out.c (output_cfg): Likewise.
11243 (output_struct_function_base): Likewise.
11244 * omp-low.c (expand_omp_simd): Likewise.
11245 * tree-cfg.c (move_sese_region_to_fn): Likewise.
11246 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
11247 (version_loop_for_if_conversion): Likewise.
11248 (tree_if_conversion): Likewise.
11249 (main_tree_if_conversion): Likewise.
11250 (gate_tree_if_conversion): Likewise.
11251 * tree-inline.c (copy_loops): Likewise.
11252 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
11253 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
11254 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
11255 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
11256 * tree-vectorizer.c (vectorize_loops): Likewise.
11257 * tree-vectorizer.h (unlimited_cost_model): Likewise.
11258
8359c87e
RB
112592014-04-14 Richard Biener <rguenther@suse.de>
11260
11261 PR lto/60720
11262 * lto-streamer-out.c (wrap_refs): New function.
11263 (lto_output): Wrap symbol references in global initializes in
11264 type-preserving MEM_REFs.
11265
9447df74
CB
112662014-04-14 Christian Bruel <christian.bruel@st.com>
11267
b15d92bf 11268 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 11269
fa1aecc1
CB
112702014-04-14 Christian Bruel <christian.bruel@st.com>
11271
11272 * config/sh/sh.md (setmemqi): New expand pattern.
11273 * config/sh/sh.h (CLEAR_RATIO): Define.
11274 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
11275 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
11276
a3c77ce9
RB
112772014-04-14 Richard Biener <rguenther@suse.de>
11278
11279 PR middle-end/55022
11280 * fold-const.c (negate_expr_p): Don't negate directional rounding
11281 division.
11282 (fold_negate_expr): Likewise.
11283
033aa406
RB
112842014-04-14 Richard Biener <rguenther@suse.de>
11285
11286 PR tree-optimization/59817
11287 PR tree-optimization/60453
11288 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
11289 recursion to catch all CHRECs in the scalar evolution and restrict
11290 the predicate for the remains appropriately.
11291
5e7d8b4c
RS
112922014-04-12 Catherine Moore <clm@codesourcery.com>
11293
11294 * config/mips/constraints.md: Add new register constraint "kb".
11295 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
11296 (*movhi_internal): Likewise.
11297 (*movqi_internal): Likewise.
11298 * config/mips/mips.h (M16_STORE_REGS): New register class.
11299 (REG_CLASS_NAMES): Add M16_STORE_REGS.
11300 (REG_CLASS_CONTENTS): Likewise.
11301 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
11302
cbbd2b1c
TB
113032014-04-11 Tobias Burnus <burnus@net-b.de>
11304
11305 PR c/60194
11306 * doc/invoke.texi (-Wformat-signedness): Document it.
11307 (Wformat=2): Mention that this enables -Wformat-signedness.
11308
d9bb5800
JR
113092014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
11310
11311 * common/config/epiphany/epiphany-common.c
11312 (epiphany_option_optimization_table): Enable section anchors by
11313 default at -O1 or higher.
11314 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
11315 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
11316 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
11317 carries no extra cost.
11318 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
11319 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
11320 * config/epiphany/predicates.md (memclob_operand): New predicate.
11321 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
11322 Use memclob_operand predicate and X constraint for operand 3.
11323
b5d0ecea
JR
113242014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
11325
11326 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
11327 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
11328 its operands.
11329
473fd99a
JR
113302014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
11331
11332 PR rtl-optimization/60651
11333 * mode-switching.c (optimize_mode_switching): Make sure to emit
11334 sets of a lower numbered entity before sets of a higher numbered
11335 entity to a mode of the same or lower priority.
11336 When creating a seginfo for a basic block that starts with a code
11337 label, move the insertion point past the code label.
11338 (new_seginfo): Document and enforce requirement that
11339 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
11340 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
11341 * doc/tm.texi: Regenerate.
11342
6ace1161
JR
113432014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
11344
11345 PR target/60811
11346 * config/arc/arc.c (arc_save_restore): Fix assert typo.
11347
89eb97de
JJ
113482013-04-11 Jakub Jelinek <jakub@redhat.com>
11349
6602e7fc 11350 * BASE-VER: Set to 4.10.0.
89eb97de 11351
9d0c7214
TB
113522014-04-11 Tobias Burnus <burnus@net-b.de>
11353
11354 PR other/59055
e0a81db1 11355 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
11356 * doc/gcc.texi (Service): Update description in the @menu
11357 * doc/invoke.texi (Option Summary): Remove misplaced and
11358 duplicated @menu.
11359
3662b277
SE
113602014-04-11 Steve Ellcey <sellcey@mips.com>
11361 Jakub Jelinek <jakub@redhat.com>
11362
11363 PR middle-end/60556
11364 * expr.c (convert_move): Use emit_store_flag_force instead of
11365 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
11366 argument to it.
11367
8330537b
RB
113682014-04-11 Richard Biener <rguenther@suse.de>
11369
11370 PR middle-end/60797
11371 * varasm.c (assemble_alias): Avoid endless error reporting
11372 recursion by setting TREE_ASM_WRITTEN.
11373
3c91f126
AK
113742014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11375
11376 * config/s390/s390.md: Add a splitter for NOT rtx.
11377
d8d6ea53
JJ
113782014-04-11 Jakub Jelinek <jakub@redhat.com>
11379
11380 PR rtl-optimization/60663
e0a81db1 11381 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 11382
fa5866c0
JJ
113832014-04-10 Jan Hubicka <hubicka@ucw.cz>
11384 Jakub Jelinek <jakub@redhat.com>
073afca6 11385
fa5866c0 11386 PR lto/60567
e0a81db1
UB
11387 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
11388 flag from decl_node to node.
073afca6 11389
b322c36a
RR
113902014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11391
11392 PR debug/60655
11393 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
11394 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
11395 ameliorating the cases where it can be.
11396
8267f6bb
DE
113972014-04-09 David Edelsohn <dje.gcc@gmail.com>
11398
11399 Revert
11400 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
11401
11402 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
11403 (loadsync_<mode>): Change mode.
11404 (load_quadpti, store_quadpti): New.
11405 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
11406 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
11407 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
11408
5d1a5a53
CH
114092014-04-09 Cong Hou <congh@google.com>
11410
11411 PR testsuite/60773
11412 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
11413 documentation.
11414
da90fa4c
BS
114152014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11416
11417 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
11418 instead of vnor to exploit possible fusion opportunity in the
11419 future.
11420 (altivec_expand_vec_perm_const_le): Likewise.
11421
98e6ecab
PH
114222014-04-08 Pat Haugen <pthaugen@us.ibm.com>
11423
11424 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
11425 (loadsync_<mode>): Change mode.
11426 (load_quadpti, store_quadpti): New.
11427 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
11428 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
11429
8418cf33
RS
114302014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
11431
11432 PR target/60763
11433 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
11434 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
11435 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
11436
3fa68ccb
RB
114372014-04-08 Richard Biener <rguenther@suse.de>
11438
11439 PR middle-end/60706
11440 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
11441 a 64bit widest int print double-int similar to on HWI64 hosts.
11442
9038ae48
RB
114432014-04-08 Richard Biener <rguenther@suse.de>
11444
11445 PR tree-optimization/60785
11446 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
11447 default defs properly.
11448
38f09da3
NS
114492014-04-08 Nathan Sidwell <nathan@codesourcery.com>
11450
11451 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
11452 (Weffc++): Likewise.
11453
0439a947
JH
114542014-04-07 Jan Hubicka <hubcika@ucw.cz>
11455
11456 * ipa-devirt.c (maybe_record_node): When node is not recorded,
11457 set completep to false rather than true.
11458
3f2f838e
EB
114592014-04-07 Douglas B Rupp <rupp@adacore.com>
11460
11461 PR target/60504
11462 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
11463 ARM_TARGET2_DWARF_FORMAT.
11464
e75c1617
CB
114652014-04-07 Charles Baylis <charles.baylis@linaro.org>
11466
11467 PR target/60609
11468 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
11469 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
11470 ADDR_DIFF_VEC.
11471
d6adff07
RB
114722014-04-07 Richard Biener <rguenther@suse.de>
11473
11474 PR tree-optimization/60766
3f2f838e
EB
11475 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
11476 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 11477
da34ade5
JM
114782014-04-07 Jason Merrill <jason@redhat.com>
11479
11480 PR c++/60731
11481 * common.opt (-fno-gnu-unique): Add.
11482 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
11483
151e9aac
KT
114842014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11485
11486 * haifa-sched.c: Fix outdated function reference and minor
11487 grammar errors in introductory comment.
11488
308173e3
RB
114892014-04-07 Richard Biener <rguenther@suse.de>
11490
11491 PR middle-end/60750
11492 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
11493 for noreturn calls.
11494 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
11495
a9a302d9
JDA
114962014-04-06 John David Anglin <danglin@gcc.gnu.org>
11497
11498 PR debug/55794
11499 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
11500 size accounting for thunks.
11501 (pa_asm_output_mi_thunk): Use final_start_function() and
11502 final_end_function() to output function start and end directives.
11503
576ba35c
PS
115042014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
11505
e0a81db1
UB
11506 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
11507 device specific ISA/ feature information. Remove short_sp and
11508 errata_skip ds. Add avr_device_specific_features enum to have device
11509 specific info.
576ba35c
PS
11510 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
11511 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
11512 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
11513 updated device specific info.
11514 * config/avr/avr-mcus.def: Merge device specific details to
11515 dev_attribute field.
11516 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
11517 errata_skip.
11518 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
11519 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
11520 assembler if RMW isa supported by current device.
11521 * config/avr/genmultilib.awk: Update as device info structure changed.
11522 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
11523
ebc047a2
CH
115242014-04-04 Cong Hou <congh@google.com>
11525
11526 PR tree-optimization/60656
11527 * tree-vect-stmts.c (supportable_widening_operation):
11528 Fix a bug that elements in a vector with vect_used_by_reduction
11529 property are incorrectly reordered when the operation on it is not
11530 consistant with the one in reduction operation.
11531
b6808818
JDA
115322014-04-04 John David Anglin <danglin@gcc.gnu.org>
11533
11534 PR rtl-optimization/60155
11535 * gcse.c (record_set_data): New function.
11536 (single_set_gcse): New function.
11537 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
11538 (hoist_code): Likewise.
11539 (get_pressure_class_and_nregs): Likewise.
11540
eabcc725
EB
115412014-04-04 Eric Botcazou <ebotcazou@adacore.com>
11542
11543 * explow.c (probe_stack_range): Emit a final optimization blockage.
11544
e005b753
AG
115452014-04-04 Anthony Green <green@moxielogic.com>
11546
11547 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
11548 typos.
11549
8fe91ca8
JH
115502014-04-04 Jan Hubicka <hubicka@ucw.cz>
11551
11552 PR ipa/59626
11553 * lto-cgraph.c (input_overwrite_node): Check that partitioning
11554 flags are set only during streaming.
11555 * ipa.c (process_references, walk_polymorphic_call_targets,
11556 symtab_remove_unreachable_nodes): Drop bodies of always inline
11557 after early inlining.
11558 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 11559
88d94632
RR
115602014-04-04 Jakub Jelinek <jakub@redhat.com>
11561 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11562
11563 PR debug/60655
11564 * dwarf2out.c (const_ok_for_output_1): Reject expressions
11565 containing a NOT.
11566
094bc219
KT
115672014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11568
11569 PR bootstrap/60743
11570 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
11571 duration.
11572 (cortex_a53_fdivd): Likewise.
11573
610c8ef0
MJ
115742014-04-04 Martin Jambor <mjambor@suse.cz>
11575
11576 PR ipa/60640
b15d92bf
UB
11577 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
11578 Adjust all callers.
610c8ef0
MJ
11579 * cgraph.c (clone_of_p): Also return true if thunks match.
11580 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
11581 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
11582 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
11583 file.
11584 (build_function_decl_skip_args): Likewise.
610c8ef0 11585 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
11586 (duplicate_thunk_for_node): Likewise.
11587 (redirect_edge_duplicating_thunks): Likewise.
11588 (cgraph_clone_node): New parameter args_to_skip, pass it to
11589 redirect_edge_duplicating_thunks which is called instead of
11590 cgraph_redirect_edge_callee.
11591 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
11592 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
11593
fc02bcca
JL
115942014-04-04 Jeff Law <law@redhat.com>
11595
57ef133b 11596 PR target/60657
fc02bcca
JL
11597 * config/arm/predicates.md (const_int_I_operand): New predicate.
11598 (const_int_M_operand): Similarly.
11599 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
11600 const_int_operand.
11601 (insv_t2, extv_reg, extzv_t2): Likewise.
11602 (load_multiple_with_writeback): Similarly for const_int_I_operand.
11603 (pop_multiple_with_writeback_and_return): Likewise.
11604 (vfp_pop_multiple_with_writeback): Likewise
11605
45b62594
RB
116062014-04-04 Richard Biener <rguenther@suse.de>
11607
11608 PR ipa/60746
11609 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
11610 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
11611 non-GIMPLE_LABELs.
11612 * gimplify.h (gimple_add_tmp_var_fn): Declare.
11613 * gimplify.c (gimple_add_tmp_var_fn): New function.
11614 * gimple-expr.h (create_tmp_reg_fn): Declare.
11615 * gimple-expr.c (create_tmp_reg_fn): New function.
11616 * gimple-low.c (record_vars_into): Don't change cfun.
11617 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
11618 code generation without cfun.
11619
bb609c35
TS
116202014-04-04 Thomas Schwinge <thomas@codesourcery.com>
11621
11622 PR bootstrap/60719
11623 * Makefile.in (install-driver): Fix shell scripting.
11624
090cd8dc
CH
116252014-04-03 Cong Hou <congh@google.com>
11626
11627 PR tree-optimization/60505
11628 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
11629 threshold of number of iterations below which no vectorization
11630 will be done.
090cd8dc
CH
11631 * tree-vect-loop.c (new_loop_vec_info):
11632 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
11633 * tree-vect-loop.c (vect_analyze_loop_operations):
11634 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
11635 * tree-vect-loop.c (vect_transform_loop):
11636 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
11637 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
11638 of iterations of the loop and see if we should build the epilogue.
11639
bdc67fd6
RB
116402014-04-03 Richard Biener <rguenther@suse.de>
11641
e0a81db1 11642 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
11643 (streamer_tree_cache_create): Adjust.
11644 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
11645 to allow optional nodes array.
11646 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
11647 (streamer_tree_cache_append): Likewise.
11648 (streamer_tree_cache_create): Create nodes array optionally
11649 as specified by parameter.
11650 * lto-streamer-out.c (create_output_block): Avoid maintaining
11651 the node array in the writer cache.
11652 (DFS_write_tree): Remove assertion.
e0a81db1 11653 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
11654 * lto-streamer-in.c (lto_data_in_create): Adjust for
11655 streamer_tree_cache_create prototype change.
11656
a0daf659
RB
116572014-04-03 Richard Biener <rguenther@suse.de>
11658
11659 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
11660 set TREE_CHAIN to NULL_TREE.
11661
f16c88d2
RB
116622014-04-03 Richard Biener <rguenther@suse.de>
11663
11664 PR tree-optimization/60740
11665 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
11666 over all GIMPLE_COND operands.
11667
880a467b
NS
116682014-04-03 Nathan Sidwell <nathan@codesourcery.com>
11669
11670 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
11671 (Weffc++): Remove Scott's numbering, merge lists and reference
11672 Wnon-virtual-dtor.
11673
08866760
NC
116742014-04-03 Nick Clifton <nickc@redhat.com>
11675
11676 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
11677 properly.
11678
5bed50e8
MJ
116792014-04-03 Martin Jambor <mjambor@suse.cz>
11680
11681 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
11682 mention gcc_unreachable before failing.
11683 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
11684 removed symbols.
11685
3e86c6a8
JH
116862014-04-02 Jan Hubicka <hubicka@ucw.cz>
11687
11688 PR ipa/60659
e0a81db1
UB
11689 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
11690 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
11691 (possible_polymorphic_call_targets): For inconsistent contexts
11692 return empty complete list.
11693
2b9912aa
AG
116942014-04-02 Anthony Green <green@moxielogic.com>
11695
11696 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
11697 (extendqisi2, extendhisi2): Define.
11698 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
11699 (WCHAR_TYPE): Change to unsigned int.
11700
1e386bb8
BS
117012014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11702
11703 PR tree-optimization/60733
11704 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
11705 insertion point for PHI candidates to be the end of the feeding
11706 block for the PHI argument.
11707
f4581282
VM
117082014-04-02 Vladimir Makarov <vmakarov@redhat.com>
11709
11710 PR rtl-optimization/60650
11711 * lra-constraints.c (process_alt_operands): Decrease reject for
11712 earlyclobber matching.
11713
a9d46e32
AK
117142014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11715
11716 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
11717
7c40228a
UW
117182014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11719
11720 * config/spu/spu.c (pad_bb): Do not crash when the last
11721 insn is CODE_FOR_blockage.
11722
c6596193
UW
117232014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11724
11725 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
11726 lies outside the target mode.
11727
690c229f
MM
117282014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
11729
11730 PR target/60735
11731 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
11732 software floating point or no floating point registers, do not
11733 allow any type in the FPRs. Eliminate a test for SPE SIMD types
11734 in GPRs that occurs after we tested for GPRs that would never be
11735 true.
11736
11737 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
11738 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
11739 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
11740 specifically allow DDmode, since that does not use the SPE SIMD
11741 instructions.
11742
dad16761
RB
117432014-04-02 Richard Biener <rguenther@suse.de>
11744
11745 PR middle-end/60729
11746 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
11747 MODE_INTs. Properly use negv_optab.
11748 (expand_abs): Likewise.
11749
a1ce39be
RB
117502014-04-02 Richard Biener <rguenther@suse.de>
11751
11752 PR bootstrap/60719
11753 * Makefile.in (install-driver): Guard extra installs with special
11754 names properly.
11755
6fb619e4
MM
117562014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
11757
11758 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11759 Document vec_vgbbd.
11760
2a1ffd6d
RH
117612014-04-01 Richard Henderson <rth@redhat.com>
11762
11763 PR target/60704
11764 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
11765 alternative enabled before register allocation.
11766
98e8dd4d
CLT
117672014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
11768
11769 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
11770 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
11771 typo.
11772 (nios2_large_got_address): Remove unneeded 'sym' parameter.
11773 (nios2_got_address): Update nios2_large_got_address call site.
11774 (nios2_delegitimize_address): New function.
11775 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
11776 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11777 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
11778
8785c60a
MH
117792014-04-01 Martin Husemann <martin@duskware.de>
11780
11781 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
11782 for -mabi=32.
11783
3343cf6a
RS
117842014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
11785
11786 PR rtl-optimization/60604
11787 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
11788 check from register_operand.
11789 (register_operand): Redefine in terms of general_operand.
11790 (nonmemory_operand): Use register_operand for the non-constant cases.
11791
1503cb6b
RB
117922014-04-01 Richard Biener <rguenther@suse.de>
11793
e0a81db1 11794 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 11795
cded08ea
SH
117962014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
11797
11798 * doc/invoke.texi (mapp-regs): Clarify.
11799
7d9088c2
UD
118002014-03-31 Ulrich Drepper <drepper@gmail.com>
11801
11802 * config/i386/avx512fintrin.h (__v32hi): Define type.
11803 (__v64qi): Likewise.
11804 (_mm512_set1_epi8): Define.
11805 (_mm512_set1_epi16): Define.
11806 (_mm512_set4_epi32): Define.
11807 (_mm512_set4_epi64): Define.
11808 (_mm512_set4_pd): Define.
11809 (_mm512_set4_ps): Define.
11810 (_mm512_setr4_epi64): Define.
11811 (_mm512_setr4_epi32): Define.
11812 (_mm512_setr4_pd): Define.
11813 (_mm512_setr4_ps): Define.
11814 (_mm512_setzero_epi32): Define.
11815
c18ff8a4
MJ
118162014-03-31 Martin Jambor <mjambor@suse.cz>
11817
11818 PR middle-end/60647
11819 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
11820 callsite_arguments_match_p. Updated all callers. Also check types of
11821 corresponding formal parameters and actual arguments.
11822 (not_all_callers_have_enough_arguments_p) Renamed to
11823 some_callers_have_mismatched_arguments_p.
11824
9a96d5b7
YR
118252014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
11826
11827 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
11828
6c031d8d
KV
118292014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
11830
11831 PR target/60034
11832 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
11833 section anchor.
11834
429749e2
UB
118352014-03-30 Uros Bizjak <ubizjak@gmail.com>
11836
11837 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
11838 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
11839 Split out
11840 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
11841 Use FMAMODE_NOVF512 mode iterator.
11842 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
11843 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
11844 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
11845 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
11846 Split out
11847 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
11848 Use VF_128_256 mode iterator.
11849 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
11850 Ditto.
11851
1f91035f
JH
118522014-03-28 Jan Hubicka <hubicka@ucw.cz>
11853
11854 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
11855 static chain if needed.
11856
6e071b1e
VM
118572014-03-28 Vladimir Makarov <vmakarov@redhat.com>
11858
11859 PR target/60697
11860 * lra-constraints.c (index_part_to_reg): New.
11861 (process_address): Use it.
11862
e7f31789 118632014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 11864 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
11865
11866 PR target/60648
4bb66ef3
JJ
11867 * expr.c (do_tablejump): Use simplify_gen_binary rather than
11868 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 11869
4bb66ef3
JJ
11870 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
11871 creating non-canonical RTL.
e7f31789 11872
4cd8957f
JH
118732014-03-28 Jan Hubicka <hubicka@ucw.cz>
11874
11875 PR ipa/60243
11876 * ipa-inline.c (want_inline_small_function_p): Short circuit large
11877 functions; reorganize to make cheap checks first.
11878 (inline_small_functions): Do not estimate growth when dumping;
11879 it is expensive.
11880 * ipa-inline.h (inline_summary): Add min_size.
11881 (growth_likely_positive): New function.
11882 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
11883 (set_cond_stmt_execution_predicate): Cleanup.
11884 (estimate_edge_size_and_time): Compute min_size.
11885 (estimate_calls_size_and_time): Likewise.
11886 (estimate_node_size_and_time): Likewise.
11887 (inline_update_overall_summary): Update min_size.
11888 (do_estimate_edge_time): Likewise.
11889 (do_estimate_edge_size): Update.
11890 (do_estimate_edge_hints): Update.
11891 (growth_likely_positive): New function.
11892
ff76f4e2
JJ
118932014-03-28 Jakub Jelinek <jakub@redhat.com>
11894
11895 PR target/60693
11896 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
11897 also if addr has VOIDmode.
11898
ed6eb6dc
KT
118992014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11900
11901 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
11902 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
11903 Declare extern.
11904 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
11905 instructions as well as AdvancedSIMD loads.
11906
b10baa95
KT
119072014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11908
11909 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
11910 Use crypto_aese type.
11911 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
11912 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
11913 crypto_aese, crypto_aesmc. Move to types.md.
11914 * config/arm/types.md (crypto_aes): Split into crypto_aese,
11915 crypto_aesmc.
11916 * config/arm/iterators.md (crypto_type): Likewise.
11917
23a04216
JH
119182014-03-28 Jan Hubicka <hubicka@ucw.cz>
11919
11920 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
11921 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
11922 remove LHS.
23a04216 11923
a4971e68
VM
119242014-03-28 Vladimir Makarov <vmakarov@redhat.com>
11925
11926 PR target/60675
11927 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
11928 regs from checking multi-reg pseudos.
11929
7ac84c02
RR
119302014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11931
11932 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
11933
bd302a18
UW
119342014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11935
11936 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
11937 if it would clobber the stack pointer, even temporarily.
11938
cee9defb
EB
119392014-03-28 Eric Botcazou <ebotcazou@adacore.com>
11940
11941 * mode-switching.c: Make small adjustments to the top comment.
11942
117f16fb
MM
119432014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
11944
11945 * config/rs6000/constraints.md (wD constraint): New constraint to
11946 match the constant integer to get the top DImode/DFmode out of a
11947 vector in a VSX register.
11948
11949 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
11950 match the constant integer to get the top DImode/DFmode out of a
11951 vector in a VSX register.
11952
11953 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
11954 for ISA 2.07.
11955
11956 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
11957 vbpermq builtins.
11958
11959 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
11960 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
11961
11962 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
11963 Optimize vec_extract of 64-bit values, where the value being
11964 extracted is in the top word, where we can use scalar
11965 instructions. Add direct move and store support. Combine the big
429749e2 11966 endian/little endian vector select load support into a single insn.
117f16fb
MM
11967 (vsx_extract_<mode>_internal1): Likewise.
11968 (vsx_extract_<mode>_internal2): Likewise.
11969 (vsx_extract_<mode>_load): Likewise.
11970 (vsx_extract_<mode>_store): Likewise.
11971 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
11972 combined into vsx_extract_<mode>_load.
11973 (vsx_extract_<mode>_one_le): Likewise.
11974
11975 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
11976 define the top 64-bit vector element.
11977
11978 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
11979 constraint.
11980
6788164b
MM
11981 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11982 Document vec_vbpermq builtin.
11983
117f16fb
MM
11984 PR target/60672
11985 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
11986 enable use of xxsldwi and xxpermdi builtin functions.
11987 (vec_xxpermdi): Likewise.
11988
11989 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11990 Document use of vec_xxsldwi and vec_xxpermdi builtins.
11991
9e038952
VM
119922014-03-27 Vladimir Makarov <vmakarov@redhat.com>
11993
11994 PR rtl-optimization/60650
f4581282 11995 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
11996 first_p. Use it.
11997 (find_spills_for): New.
11998 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
11999 Spill all pseudos on the second iteration.
12000
324dc401
MP
120012014-03-27 Marek Polacek <polacek@redhat.com>
12002
12003 PR c/50347
12004 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
12005 types.
12006
6e77facf
AK
120072014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12008
12009 * config/s390/s390.c (s390_can_use_return_insn): Check for
12010 call-saved FPRs on 31 bit.
12011
47519a14
JJ
120122014-03-27 Jakub Jelinek <jakub@redhat.com>
12013
12014 PR middle-end/60682
12015 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
12016 if they need regimplification, just drop them instead of
12017 calling gimple_regimplify_operands on them.
12018
0b7f8166
MS
120192014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
12020
12021 PR target/60580
12022 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
12023 (aarch64_frame_pointer_required): Adjust logic.
12024 (aarch64_can_eliminate): Adjust logic.
12025 (aarch64_override_options_after_change): Adjust logic.
12026
2f2a7d15
DC
120272014-03-27 Dehao Chen <dehao@google.com>
12028
12029 * ipa-inline.c (early_inliner): Update node's inline info.
12030
a0dbf285
DC
120312014-03-26 Dehao Chen <dehao@google.com>
12032
12033 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
12034 compiler inserted conditional jumps for NAN float check.
12035
ed0ca1e1
JJ
120362014-03-26 Jakub Jelinek <jakub@redhat.com>
12037
07d72e1d
JJ
12038 * ubsan.h (ubsan_create_data): Change second argument's type
12039 to const location_t *.
12040 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
12041 _("<unknown>").
12042 (ubsan_create_data): Change second argument to const location_t *PLOC.
12043 Create Loc field whenever PLOC is non-NULL.
12044 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
12045 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
12046 callers.
12047
ed0ca1e1
JJ
12048 PR other/59545
12049 * real.c (real_to_integer2): Change type of low to UHWI.
12050
b9487dd8
TB
120512014-03-26 Tobias Burnus <burnus@net-b.de>
12052
12053 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
12054 (CILK_SELF_SPECS): New define.
12055 (driver_self_specs): Use it.
12056
3a2700f6
RB
120572014-03-26 Richard Biener <rguenther@suse.de>
12058
12059 * tree-pretty-print.c (percent_K_format): Implement special
12060 case for LTO and its stripped down BLOCK tree.
12061
368b454d
JJ
120622014-03-26 Jakub Jelinek <jakub@redhat.com>
12063
aa6b742f
JJ
12064 PR sanitizer/60636
12065 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
12066
368b454d
JJ
12067 * tree-vrp.c (simplify_internal_call_using_ranges): If only
12068 one range is range_int_cst_p, but not both, at least optimize
12069 addition/subtraction of 0 and multiplication by 0 or 1.
12070 * gimple-fold.c (gimple_fold_call): Fold
12071 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
12072 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
12073 INTEGER_CSTs, try to fold at least x * 0 and y - y.
12074
c7e30a96
EB
120752014-03-26 Eric Botcazou <ebotcazou@adacore.com>
12076
12077 PR rtl-optimization/60452
12078 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
12079 <case REG>: Return 1 for invalid offsets from the frame pointer.
12080
d615d763
MP
120812014-03-26 Marek Polacek <polacek@redhat.com>
12082
12083 PR c/37428
12084 * doc/extend.texi (C Extensions): Mention variable-length arrays in
12085 a structure/union.
12086
1b226529
MP
120872014-03-26 Marek Polacek <polacek@redhat.com>
12088
12089 PR c/39525
12090 * doc/extend.texi (Designated Inits): Describe what happens to omitted
12091 field members.
12092
6686e0bc
MP
120932014-03-26 Marek Polacek <polacek@redhat.com>
12094
12095 PR other/59545
12096 * ira-color.c (update_conflict_hard_regno_costs): Perform the
12097 multiplication in unsigned type.
12098
d4fbc3ae
CJW
120992014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
12100
12101 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
12102
dfa6c87b
CJW
121032014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
12104
12105 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
12106
9de6f6c3
JH
121072014-03-25 Jan Hubicka <hubicka@ucw.cz>
12108
12109 PR ipa/60315
12110 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
12111 * ipa-inline.c (inline_small_functions): Skip edges to
12112 __builtlin_unreachable.
9de6f6c3
JH
12113 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
12114 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
12115 predicate to __bulitin_unreachable.
429749e2
UB
12116 (set_cond_stmt_execution_predicate): Fix issue when
12117 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
12118 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
12119 propagate to inline clones.
12120 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
12121 to unreachable.
12122 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
12123 * cgraphclones.c (cgraph_clone_node): If call destination is already
12124 ureachable, do not redirect it back.
12125 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
12126 unreachable.
12127
d7636f56
JH
121282014-03-25 Jan Hubicka <hubicka@ucw.cz>
12129
12130 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
12131 Do not modify inline clones.
12132
d1873c57
JJ
121332014-03-25 Jakub Jelinek <jakub@redhat.com>
12134
12135 * config/i386/i386.md (general_sext_operand): New mode attr.
12136 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
12137 don't generate (sign_extend (const_int)).
12138 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
12139 operands[2]. Use We constraint instead of <i> and
12140 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
12141 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
12142 * config/i386/constraints.md (We): New constraint.
12143 * config/i386/predicates.md (x86_64_sext_operand,
12144 sext_operand): New predicates.
12145
b5165eb0
MJ
121462014-03-25 Martin Jambor <mjambor@suse.cz>
12147
12148 PR ipa/60600
12149 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
12150 inconsistent devirtualizations to __builtin_unreachable.
12151
3102858d
MP
121522014-03-25 Marek Polacek <polacek@redhat.com>
12153
12154 PR c/35449
12155 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
12156
4b1e108c
AL
121572014-03-25 Alan Lawrence <alan.lawrence@arm.com>
12158
12159 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
12160 order of elements for big-endian.
12161
40b0722f
RB
121622014-03-25 Richard Biener <rguenther@suse.de>
12163
12164 PR middle-end/60635
12165 * gimplify-me.c (gimple_regimplify_operands): Update the
12166 re-gimplifed stmt.
12167
4a5798de
MJ
121682014-03-25 Martin Jambor <mjambor@suse.cz>
12169
12170 PR ipa/59176
12171 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
12172 (lto_output_varpool_node): Likewise.
12173 (input_overwrite_node): Likewise.
12174 (input_varpool_node): Likewise.
12175
585d0088
RB
121762014-03-25 Richard Biener <rguenther@suse.de>
12177
429749e2 12178 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
12179 (run_gcc): Likewise.
12180
a8acccdd
JJ
121812014-03-25 Jakub Jelinek <jakub@redhat.com>
12182
51ee05d0
JJ
12183 * combine.c (simplify_compare_const): Add MODE argument.
12184 Handle mode_width 0 as very large mode_width.
12185 (try_combine, simplify_comparison): Adjust callers.
12186
a8acccdd
JJ
12187 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
12188 type to avoid signed integer overflow.
12189 * explow.c (plus_constant): Likewise.
12190
57fc74a4
DV
121912014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
12192
12193 * doc/generic.texi: Correct typos.
12194
09f15d1b
TB
121952014-03-24 Tobias Burnus <burnus@net-b.de>
12196
12197 * doc/invoke.texi (-flto): Expand section about
12198 using static libraries with LTO.
12199
72a4ddf2
AK
122002014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12201
12202 PR rtl-optimization/60501
12203 * optabs.def (addptr3_optab): New optab.
12204 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
12205 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
12206 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
12207
12208 * lra.c (emit_add3_insn): Use the addptr pattern if available.
12209
12210 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
12211
0b192937
UD
122122014-03-24 Ulrich Drepper <drepper@gmail.com>
12213
2b2384e8
UD
12214 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
12215 _mm512_set1_pd.
12216
0b192937
UD
12217 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
12218 (_mm256_undefined_ps): Define.
12219 (_mm256_undefined_pd): Define.
12220 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
12221 (_mm_undefined_pd): Define.
12222 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
12223 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
12224 (_mm512_undefined_ps): Define.
12225 (_mm512_undefined_pd): Define.
12226 Use _mm*_undefined_*.
12227 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
12228
252c7556
AV
122292014-03-24 Alex Velenko <Alex.Velenko@arm.com>
12230
12231 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
12232 (lshr_simd): DI mode added.
12233 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
12234 (aarch64_ushr_simddi): Likewise.
12235 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
12236 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
12237 (vshrd_n_u64): Likewise.
12238
15e3d4f1
RO
122392014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12240
12241 * Makefile.in (s-macro_list): Depend on cc1.
12242
1858c2d3
TJ
122432014-03-23 Teresa Johnson <tejohnson@google.com>
12244
12245 * ipa-utils.c (ipa_print_order): Use specified dump file.
12246
f87604f8
EB
122472014-03-23 Eric Botcazou <ebotcazou@adacore.com>
12248
12249 PR rtl-optimization/60601
12250 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
12251
12252 * gcc.c (eval_spec_function): Initialize save_growing_value.
12253
3db31fd1
JJ
122542014-03-22 Jakub Jelinek <jakub@redhat.com>
12255
f451d3a8
JJ
12256 PR sanitizer/60613
12257 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
12258 code == MINUS_EXPR, never swap op0 with op1.
12259
3db31fd1
JJ
12260 * toplev.c (init_local_tick): Avoid signed integer multiplication
12261 overflow.
12262 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
12263 shift by first operand's bitsize.
12264
e49080ec
JJ
122652014-03-21 Jakub Jelinek <jakub@redhat.com>
12266
12267 PR target/60610
12268 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
12269 redefine to 1 or 0.
12270 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
12271 TARGET_ISA_64BIT_P(x).
12272
44eb6c40
BS
122732014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12274
12275 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
12276 pattern for vector nor instead of subtract from splat(-1).
12277 (altivec_expand_vec_perm_const_le): Likewise.
12278
ec6f831a
RH
122792014-03-21 Richard Henderson <rth@twiddle.net>
12280
12281 PR target/60598
12282 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
12283 related insns after epilogue_completed.
12284
3d8d0043
MJ
122852014-03-21 Martin Jambor <mjambor@suse.cz>
12286
12287 PR ipa/59176
12288 * cgraph.h (symtab_node): New flag body_removed.
12289 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
12290 when removing bodies.
12291 * symtab.c (dump_symtab_base): Dump body_removed flag.
12292 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
12293 had their bodies removed.
12294
d833415c
MJ
122952014-03-21 Martin Jambor <mjambor@suse.cz>
12296
12297 PR ipa/60419
12298 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
12299 in the border.
12300
400a4f6c
RB
123012014-03-21 Richard Biener <rguenther@suse.de>
12302
12303 PR tree-optimization/60577
12304 * tree-core.h (struct tree_base): Document nothrow_flag use
9c85aeb6
EB
12305 in DECL_NONALIASED.
12306 * tree.h (DECL_NONALIASED): New.
400a4f6c 12307 (may_be_aliased): Adjust.
9c85aeb6 12308 * coverage.c (build_var): Set DECL_NONALIASED.
400a4f6c 12309
c6c2314f
EB
123102014-03-20 Eric Botcazou <ebotcazou@adacore.com>
12311
12312 * expr.c (expand_expr_real_1): Remove outdated comment.
12313
d02b6ac7
JJ
123142014-03-20 Jakub Jelinek <jakub@redhat.com>
12315
b8f045e2
JJ
12316 PR middle-end/60597
12317 * ira.c (adjust_cleared_regs): Call copy_rtx on
12318 *reg_equiv[REGNO (loc)].src_p before passing it to
12319 simplify_replace_fn_rtx.
12320
d02b6ac7
JJ
12321 PR target/60568
12322 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
12323 into CONST, put pic register as first operand of PLUS. Use
12324 gen_const_mem for both 32-bit and 64-bit PIC got loads.
12325
e2f98c01
RR
123262014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12327
12328 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
12329
7075c792
EB
123302014-03-20 Eric Botcazou <ebotcazou@adacore.com>
12331
12332 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
12333 around for store forwarding issue in the FPU on the UT699.
12334 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
12335 loads and operations if -mfix-ut699 is specified.
12336 (divtf3_hq): Tweak attribute.
12337 (sqrttf2_hq): Likewise.
12338
9ee5337d
EB
123392014-03-20 Eric Botcazou <ebotcazou@adacore.com>
12340
12341 * calls.c (store_one_arg): Remove incorrect const qualification on the
12342 type of the temporary.
12343 * cfgexpand.c (expand_return): Likewise.
12344 * expr.c (expand_constructor): Likewise.
12345 (expand_expr_real_1): Likewise.
12346
a69e09c8
ZC
123472014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
12348
12349 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
12350 of parts.
12351
8659d57b
KK
123522014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
12353
12354 PR target/60039
12355 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
12356
985e0d33
JG
123572014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
12358
12359 * config/arm/aarch-common-protos.h
12360 (alu_cost_table): Fix spelling of "extend".
12361 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
12362
ce2f49b3
RB
123632014-03-19 Richard Biener <rguenther@suse.de>
12364
12365 PR middle-end/60553
12366 * tree-core.h (tree_type_common): Re-order pointer members
12367 to reduce recursion depth during GC walks.
12368
6daa2d91
MP
123692014-03-19 Marek Polacek <polacek@redhat.com>
12370
12371 PR sanitizer/60569
12372 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
12373 before accessing it.
12374
8c9cfbe6
RB
123752014-03-19 Richard Biener <rguenther@suse.de>
12376
12377 PR lto/59543
12378 * lto-streamer-in.c (input_function): In WPA stage do not drop
12379 debug stmts.
12380
3efe2e2c
JJ
123812014-03-19 Jakub Jelinek <jakub@redhat.com>
12382
12383 PR tree-optimization/60559
12384 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
12385 with build_zero_cst assignment.
12386
234f76cb
KT
123872014-03-18 Kai Tietz <ktietz@redhat.com>
12388
12389 PR rtl-optimization/56356
12390 * sdbout.c (sdbout_parms): Verify that parms'
12391 incoming argument is valid.
12392 (sdbout_reg_parms): Likewise.
12393
58ca6edf
RH
123942014-03-18 Richard Henderson <rth@redhat.com>
12395
12396 PR target/60562
12397 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
12398 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 12399 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
12400
124012014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
12402
4bb66ef3 12403 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 12404 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 12405 Italicize plugin event names in description. Explain that
429749e2
UB
12406 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
12407 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 12408 Explain what pragmas with expansion are.
b318e404 12409
eb14a79f
ML
124102014-03-18 Martin Liska <mliska@suse.cz>
12411
12412 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
12413 gimple call statement is update.
12414 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
12415 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
12416
415e2e6b
JJ
124172014-03-18 Jakub Jelinek <jakub@redhat.com>
12418
ead96f13
JJ
12419 PR sanitizer/60557
12420 * ubsan.c (ubsan_instrument_unreachable): Call
12421 initialize_sanitizer_builtins.
12422 (ubsan_pass): Likewise.
12423
415e2e6b
JJ
12424 PR sanitizer/60535
12425 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
12426 varpool_finalize_decl instead of rest_of_decl_compilation.
12427
4ca40f52
RB
124282014-03-18 Richard Biener <rguenther@suse.de>
12429
12430 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
12431 by using bitmap_and_compl instead of bitmap_and_compl_into.
12432 (df_rd_transfer_function): Likewise.
12433
6404e190
RB
124342014-03-18 Richard Biener <rguenther@suse.de>
12435
12436 * doc/lto.texi (fresolution): Fix typo.
12437
b9abf793
RB
124382014-03-18 Richard Biener <rguenther@suse.de>
12439
12440 * doc/invoke.texi (flto): Update for changes in 4.9.
12441
3f00cf18
RB
124422014-03-18 Richard Biener <rguenther@suse.de>
12443
12444 * doc/loop.texi: Remove section on the removed lambda framework.
12445 Update loop docs with recent changes in preserving loop structure.
12446
c2679d84
RB
124472014-03-18 Richard Biener <rguenther@suse.de>
12448
12449 * doc/lto.texi (-fresolution): Document.
12450
c07990cc
RB
124512014-03-18 Richard Biener <rguenther@suse.de>
12452
12453 * doc/contrib.texi: Adjust my name.
12454
ed9c79e1
JJ
124552014-03-18 Jakub Jelinek <jakub@redhat.com>
12456
12457 PR ipa/58721
12458 * internal-fn.c: Include diagnostic-core.h.
12459 (expand_BUILTIN_EXPECT): New function.
12460 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
12461 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
12462 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
12463 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
12464 IFN_BUILTIN_EXPECT.
12465 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
12466 Revert 3 argument __builtin_expect code.
12467 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
12468 * gimple-fold.c (gimple_fold_call): Likewise.
12469 * tree.h (fold_builtin_expect): New prototype.
12470 * builtins.c (build_builtin_expect_predicate): Add predictor
12471 argument, if non-NULL, create 3 argument __builtin_expect.
12472 (fold_builtin_expect): No longer static. Add ARG2 argument,
12473 pass it through to build_builtin_expect_predicate.
12474 (fold_builtin_2): Adjust caller.
12475 (fold_builtin_3): Handle BUILT_IN_EXPECT.
12476 * internal-fn.def (BUILTIN_EXPECT): New.
12477
124782014-03-18 Tobias Burnus <burnus@net-b.de>
12479
12480 PR ipa/58721
12481 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
12482 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
12483 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
12484
124852014-03-18 Jan Hubicka <hubicka@ucw.cz>
12486
12487 PR ipa/58721
12488 * predict.c (combine_predictions_for_bb): Fix up formatting.
12489 (expr_expected_value_1, expr_expected_value): Add predictor argument,
12490 fill what it points to if non-NULL.
12491 (tree_predict_by_opcode): Adjust caller, use the predictor.
12492 * predict.def (PRED_COMPARE_AND_SWAP): Add.
12493
e33da4a1
EB
124942014-03-18 Eric Botcazou <ebotcazou@adacore.com>
12495
12496 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
12497 proper constant for the store mode.
12498
1fed15fc
IE
124992014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
12500
12501 * symtab.c (change_decl_assembler_name): Fix transparent alias
12502 chain construction.
12503
454fdba9
RL
125042014-03-16 Renlin Li <Renlin.Li@arm.com>
12505
12506 * config/aarch64/aarch64.c: Correct the comments about the
12507 aarch64 stack layout.
12508
e2110f8f
TS
125092014-03-18 Thomas Schwinge <thomas@codesourcery.com>
12510
12511 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
12512 check for GF_OMP_FOR_KIND_FOR.
12513
7c831c4d
KY
125142013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
12515
12516 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
12517 ymm and zmm register names.
12518
e318c1e1
JJ
125192014-03-17 Jakub Jelinek <jakub@redhat.com>
12520
12521 PR target/60516
12522 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
12523 note creation for the 2010-08-31 changes.
12524
ab2ffbeb
MP
125252014-03-17 Marek Polacek <polacek@redhat.com>
12526
12527 PR middle-end/60534
12528 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
12529 as -fno-tree-loop-vectorize.
12530 (expand_omp_simd): Likewise.
12531
890fa568
EB
125322014-03-15 Eric Botcazou <ebotcazou@adacore.com>
12533
12534 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
12535 (eligible_for_call_delay): New prototype.
12536 * config/sparc/sparc.c (tls_call_delay): Rename into...
12537 (eligible_for_call_delay): ...this. Return false if the instruction
12538 cannot be put in the delay slot of a branch.
12539 (eligible_for_restore_insn): Simplify.
12540 (eligible_for_return_delay): Return false if the instruction cannot be
12541 put in the delay slot of a branch and simplify.
12542 (eligible_for_sibcall_delay): Return false if the instruction cannot be
12543 put in the delay slot of a branch.
12544 * config/sparc/sparc.md (fix_ut699): New attribute.
12545 (tls_call_delay): Delete.
12546 (in_call_delay): Reimplement.
12547 (eligible_for_sibcall_delay): Rename into...
12548 (in_sibcall_delay): ...this.
12549 (eligible_for_return_delay): Rename into...
12550 (in_return_delay): ...this.
12551 (in_branch_delay): Reimplement.
12552 (in_uncond_branch_delay): Delete.
12553 (in_annul_branch_delay): Delete.
12554
cfce90ac
RH
125552014-03-14 Richard Henderson <rth@redhat.com>
12556
12557 PR target/60525
12558 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
12559 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
12560 (*floathi<X87MODEF>2_i387_with_temp): Remove.
12561 (floathi splitters): Remove.
12562 (float<SWI48x>xf2): New pattern.
12563 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
12564 code that tried to handle DImode for 32-bit, but which was excluded
12565 by the pattern's condition. Drop allocation of stack temporary.
12566 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
12567 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
12568 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
12569 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
12570 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
12571 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
12572 (*float<SWI48><MODEF>2_sse_interunit): Remove.
12573 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
12574 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
12575 (*float<SWI48x><X87MODEF>2_i387): Remove.
12576 (all float _with_temp splitters): Remove.
12577 (*float<SWI48x><MODEF>2_i387): New pattern.
12578 (*float<SWI48><MODEF>2_sse): New pattern.
12579 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
12580 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
12581
91035653
JJ
125822014-03-14 Jakub Jelinek <jakub@redhat.com>
12583 Marek Polacek <polacek@redhat.com>
12584
12585 PR middle-end/60484
12586 * common.opt (dump_base_name_prefixed): New Variable.
12587 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
12588 if x_dump_base_name_prefixed is already set, set it at the end.
12589
95921002
VM
125902014-03-14 Vladimir Makarov <vmakarov@redhat.com>
12591
12592 PR rtl-optimization/60508
12593 * lra-constraints.c (get_reload_reg): Add new parameter
12594 in_subreg_p.
12595 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
12596 Pass the new parameter values.
12597
25e57622
RB
125982014-03-14 Richard Biener <rguenther@suse.de>
12599
12600 * common.opt: Revert unintented changes from r205065.
12601 * opts.c: Likewise.
12602
1f3388fe
RB
126032014-03-14 Richard Biener <rguenther@suse.de>
12604
12605 PR middle-end/60518
12606 * cfghooks.c (split_block): Properly adjust all loops the
12607 block was a latch of.
12608
126092014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
12610
12611 PR lto/60461
12612 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
12613 and simplify it.
12614
2832dc22
GJL
126152014-03-14 Georg-Johann Lay <avr@gjlay.de>
12616
12617 PR target/59396
12618 * config/avr/avr.c (avr_set_current_function): Pass function name
12619 through default_strip_name_encoding before sanity checking instead
12620 of skipping the first char of the assembler name.
12621
3386d77e
RH
126222014-03-13 Richard Henderson <rth@redhat.com>
12623
12624 PR debug/60438
12625 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
12626 (ix86_force_to_memory, ix86_free_from_memory): Remove.
12627 * config/i386/i386-protos.h: Likewise.
12628 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
12629 in the expander instead of a splitter.
12630 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
12631 any possibility of requiring a memory.
12632 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
12633 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
12634 (fp branch splitters): Update for ix86_split_fp_branch.
12635 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
12636 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
12637 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
12638 (*fop_<MODEF>_2_i387): Remove f/r alternative.
12639 (*fop_<MODEF>_3_i387): Likewise.
12640 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
12641 (splitters for the fop_* register patterns): Remove.
12642 (fscalexf4_i387): Rename from *fscalexf4_i387.
12643 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 12644
5b5d7f31
JJ
126452014-03-13 Jakub Jelinek <jakub@redhat.com>
12646
12647 PR tree-optimization/59779
12648 * tree-dfa.c (get_ref_base_and_extent): Use double_int
12649 type for bitsize and maxsize instead of HOST_WIDE_INT.
12650
bdc6e1ae
SB
126512014-03-13 Steven Bosscher <steven@gcc.gnu.org>
12652
12653 PR rtl-optimization/57320
12654 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
12655 the CFG after thread_prologue_and_epilogue_insns.
12656
7891065a
VM
126572014-03-13 Vladimir Makarov <vmakarov@redhat.com>
12658
12659 PR rtl-optimization/57189
12660 * lra-constraints.c (process_alt_operands): Disfavor spilling
12661 vector pseudos.
12662
eba14fca
CP
126632014-03-13 Cesar Philippidis <cesar@codesourcery.com>
12664
429749e2 12665 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 12666
f661b085
JJ
126672014-03-13 Jakub Jelinek <jakub@redhat.com>
12668
12669 PR tree-optimization/59025
12670 PR middle-end/60418
12671 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
12672 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
12673
8f3a3138
GJL
126742014-03-13 Georg-Johann Lay <avr@gjlay.de>
12675
12676 PR target/60486
12677 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
12678 calls of avr_out_plus_1.
12679
d731ee04
BC
126802014-03-13 Bin Cheng <bin.cheng@arm.com>
12681
12682 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
12683 BB's single pred and update the father loop's latch info later.
12684
a16a872d
MM
126852014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
12686
12687 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
12688 (VEC_M): Likewise.
12689 (VEC_N): Likewise.
12690 (VEC_R): Likewise.
12691 (VEC_base): Likewise.
12692 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
12693 registers, we need to swap double words in little endian mode.
12694
12695 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
12696 to be a container mode for 128-bit integer operations added in ISA
12697 2.07. Unlike TImode and PTImode, the preferred register set is
12698 the Altivec/VMX registers for the 128-bit operations.
12699
12700 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
12701 declarations.
12702 (rs6000_split_128bit_ok_p): Likewise.
12703
12704 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
12705 macros for creating ISA 2.07 normal and overloaded builtin
12706 functions with 3 arguments.
12707 (BU_P8V_OVERLOAD_3): Likewise.
12708 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
12709 for use as overloaded functions.
12710 (VPERM_1TI_UNS): Likewise.
12711 (VSEL_1TI): Likewise.
12712 (VSEL_1TI_UNS): Likewise.
12713 (ST_INTERNAL_1ti): Likewise.
12714 (LD_INTERNAL_1ti): Likewise.
12715 (XXSEL_1TI): Likewise.
12716 (XXSEL_1TI_UNS): Likewise.
12717 (VPERM_1TI): Likewise.
12718 (VPERM_1TI_UNS): Likewise.
12719 (XXPERMDI_1TI): Likewise.
12720 (SET_1TI): Likewise.
12721 (LXVD2X_V1TI): Likewise.
12722 (STXVD2X_V1TI): Likewise.
12723 (VEC_INIT_V1TI): Likewise.
12724 (VEC_SET_V1TI): Likewise.
12725 (VEC_EXT_V1TI): Likewise.
12726 (EQV_V1TI): Likewise.
12727 (NAND_V1TI): Likewise.
12728 (ORC_V1TI): Likewise.
12729 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
12730 added in ISA 2.07. Add both normal 'altivec' builtins, and the
12731 overloaded builtin.
12732 (VADDUQM): Likewise.
12733 (VSUBCUQ): Likewise.
12734 (VADDEUQM): Likewise.
12735 (VADDECUQ): Likewise.
12736 (VSUBEUQM): Likewise.
12737 (VSUBECUQ): Likewise.
12738
12739 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
12740 __int128_t and __uint128_t types.
12741 (__uint128_type): Likewise.
12742 (altivec_categorize_keyword): Add support for vector __int128_t,
12743 vector __uint128_t, vector __int128, and vector unsigned __int128
12744 as a container type for TImode operations that need to be done in
12745 VSX/Altivec registers.
12746 (rs6000_macro_to_expand): Likewise.
12747 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
12748 to support 128-bit integer instructions vaddcuq, vadduqm,
12749 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
12750 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
12751
12752 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
12753 for V1TImode, and set up preferences to use VSX/Altivec registers.
12754 Setup VSX reload handlers.
a16a872d
MM
12755 (rs6000_debug_reg_global): Likewise.
12756 (rs6000_init_hard_regno_mode_ok): Likewise.
12757 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 12758 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
12759 (easy_altivec_constant): Likewise.
12760 (output_vec_const_move): Likewise.
12761 (rs6000_expand_vector_set): Convert V1TImode set and extract to
12762 simple move.
12763 (rs6000_expand_vector_extract): Likewise.
12764 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
12765 addressing.
12766 (rs6000_const_vec): Add support for V1TImode.
12767 (rs6000_emit_le_vsx_load): Swap double words when loading or
12768 storing TImode/V1TImode.
12769 (rs6000_emit_le_vsx_store): Likewise.
12770 (rs6000_emit_le_vsx_move): Likewise.
12771 (rs6000_emit_move): Add support for V1TImode.
12772 (altivec_expand_ld_builtin): Likewise.
12773 (altivec_expand_st_builtin): Likewise.
12774 (altivec_expand_vec_init_builtin): Likewise.
12775 (altivec_expand_builtin): Likewise.
12776 (rs6000_init_builtins): Add support for V1TImode type. Add
12777 support for ISA 2.07 128-bit integer builtins. Define type names
12778 for the VSX/Altivec vector types.
12779 (altivec_init_builtins): Add support for overloaded vector
12780 functions with V1TImode type.
0bb29a05 12781 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
12782 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
12783 external function.
12784 (rs6000_split_128bit_ok_p): Likewise.
12785 (rs6000_handle_altivec_attribute): Create V1TImode from vector
12786 __int128_t and vector __uint128_t.
12787
12788 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
12789 and mode attributes.
12790 (VSX_M): Likewise.
12791 (VSX_M2): Likewise.
12792 (VSm): Likewise.
12793 (VSs): Likewise.
12794 (VSr): Likewise.
12795 (VSv): Likewise.
12796 (VS_scalar): Likewise.
12797 (VS_double): Likewise.
0bb29a05 12798 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 12799
0bb29a05
UB
12800 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
12801 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
12802 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
12803 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
12804 and TImode types for use with the builtin functions.
12805 (V1TI_type_node): Likewise.
12806 (unsigned_V1TI_type_node): Likewise.
12807 (intTI_type_internal_node): Likewise.
12808 (uintTI_type_internal_node): Likewise.
12809
0bb29a05
UB
12810 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
12811 128-bit builtin functions.
a16a872d
MM
12812 (UNSPEC_VADDEUQM): Likewise.
12813 (UNSPEC_VADDECUQ): Likewise.
12814 (UNSPEC_VSUBCUQ): Likewise.
12815 (UNSPEC_VSUBEUQM): Likewise.
12816 (UNSPEC_VSUBECUQ): Likewise.
12817 (VM): Add V1TImode to vector mode iterators.
12818 (VM2): Likewise.
12819 (VI_unit): Likewise.
12820 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
12821 (altivec_vaddcuq): Likewise.
12822 (altivec_vsubuqm): Likewise.
12823 (altivec_vsubcuq): Likewise.
12824 (altivec_vaddeuqm): Likewise.
12825 (altivec_vaddecuq): Likewise.
12826 (altivec_vsubeuqm): Likewise.
12827 (altivec_vsubecuq): Likewise.
12828
12829 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
12830 mode iterators.
12831 (BOOL_128): Likewise.
12832 (BOOL_REGS_OUTPUT): Likewise.
12833 (BOOL_REGS_OP1): Likewise.
12834 (BOOL_REGS_OP2): Likewise.
12835 (BOOL_REGS_UNARY): Likewise.
12836 (BOOL_REGS_AND_CR0): Likewise.
12837
12838 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
12839 128-bit integer builtin support.
12840 (vec_vadduqm): Likewise.
12841 (vec_vaddecuq): Likewise.
12842 (vec_vaddeuqm): Likewise.
12843 (vec_vsubecuq): Likewise.
12844 (vec_vsubeuqm): Likewise.
12845 (vec_vsubcuq): Likewise.
12846 (vec_vsubuqm): Likewise.
12847
12848 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
12849 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
12850 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
12851 128-bit integer add/subtract to ISA 2.07.
12852
eeac7d15
JR
128532014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
12854
12855 * config/arc/arc.c (arc_predicate_delay_insns):
12856 Fix third argument passed to conditionalize_nonjump.
12857
bf0f324e
YZ
128582014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
12859
12860 * config/aarch64/aarch64-builtins.c
12861 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
12862 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
12863 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
12864 instead of __builtin_lfloor.
12865 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
12866
bf4787b2
JJ
128672014-03-12 Jakub Jelinek <jakub@redhat.com>
12868
12869 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
12870 (tree_ssa_ifcombine_bb_1): New function.
12871 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
12872 is an empty forwarder block to then_bb or vice versa and then_bb
12873 and else_bb are effectively swapped.
12874
7d55b948
CB
128752014-03-12 Christian Bruel <christian.bruel@st.com>
12876
12877 PR target/60264
0bb29a05
UB
12878 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
12879 REG_CFA_DEF_CFA note.
7d55b948
CB
12880 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
12881 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
12882
882a5fbe
TP
128832014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
12884
12885 PR tree-optimization/60454
12886 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
12887
a3cd0246
KT
128882014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12889
12890 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
12891 Do not define target_cpu_default2 to generic.
12892 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
12893 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
12894 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
12895
c888139c
JJ
128962014-03-12 Jakub Jelinek <jakub@redhat.com>
12897 Marc Glisse <marc.glisse@inria.fr>
12898
12899 PR tree-optimization/60502
12900 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
12901 instead of build_low_bits_mask.
12902
b24ca895
JJ
129032014-03-12 Jakub Jelinek <jakub@redhat.com>
12904
12905 PR middle-end/60482
12906 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
12907 if there are multiple uses, but op doesn't live on E edge.
12908 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
12909 clobber stmts before __builtin_unreachable.
12910
f1257268
RS
129112014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
12912
12913 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
12914 hard_frame_pointer_rtx.
12915 * cse.c (cse_insn): Remove volatile check.
12916 * cselib.c (cselib_process_insn): Likewise.
12917 * dse.c (scan_insn): Likewise.
12918
bae56bbb
JR
129192014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
12920
0bb29a05
UB
12921 * config/arc/arc.c (conditionalize_nonjump): New function,
12922 broken out of ...
12923 (arc_ifcvt): ... this.
bae56bbb
JR
12924 (arc_predicate_delay_insns): Use it.
12925
167ba5b9
JR
129262014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
12927
12928 * config/arc/predicates.md (extend_operand): During/after reload,
12929 allow const_int_operand.
12930 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
12931 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
12932 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
12933 to "i".
12934 (umulsi3_highpart_i): Likewise.
12935
dfd7d2d6
RB
129362014-03-11 Richard Biener <rguenther@suse.de>
12937
12938 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
12939 Add asserts to guard possible wrong-code bugs.
12940
af1ab449
RB
129412014-03-11 Richard Biener <rguenther@suse.de>
12942
12943 PR tree-optimization/60429
12944 PR tree-optimization/60485
12945 * tree-ssa-structalias.c (set_union_with_increment): Properly
12946 take into account all fields that overlap the shifted vars.
12947 (do_sd_constraint): Likewise.
12948 (do_ds_constraint): Likewise.
12949 (get_constraint_for_ptr_offset): Likewise.
12950
747425d0
CLT
129512014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
12952
12953 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
12954 (nios2_compute_frame_layout):
12955 Add calculation of cfun->machine->fp_save_offset.
12956 (nios2_expand_prologue): Correct setting of frame pointer register
12957 in prologue.
12958 (nios2_expand_epilogue): Update recovery of stack pointer from
12959 frame pointer accordingly.
12960 (nios2_initial_elimination_offset): Update calculation of offset
12961 for eliminating to HARD_FRAME_POINTER_REGNUM.
12962
31dad809
JJ
129632014-03-10 Jakub Jelinek <jakub@redhat.com>
12964
12965 PR ipa/60457
12966 * ipa.c (symtab_remove_unreachable_nodes): Don't call
12967 cgraph_get_create_node on VAR_DECLs.
12968
3c1c08d6
RB
129692014-03-10 Richard Biener <rguenther@suse.de>
12970
12971 PR middle-end/60474
12972 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
12973
21d89690
DR
129742014-03-08 Douglas B Rupp <rupp@gnat.com>
12975
12976 * config/vms/vms.opt (vms_float_format): New variable.
12977
634b8e9b
TB
129782014-03-08 Tobias Burnus <burnus@net-b.de>
12979
0bb29a05 12980 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 12981
f42c637e
PM
129822014-03-08 Paulo Matos <paulo@matos-sorge.com>
12983 Richard Biener <rguenther@suse.de>
12984
12985 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
12986 consistently accross all TUs.
12987 (run_gcc): Enable -fshort-double automatically at link at link-time
12988 and disallow override.
12989
bd65fc87
RS
129902014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
12991
12992 PR target/58271
12993 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
12994 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
12995 if they can't be used.
12996
040c446d
RO
129972014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12998
0bb29a05
UB
12999 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
13000 for Solaris 11/x86 ld.
040c446d
RO
13001 * configure: Regenerate.
13002
caa16d41
RO
130032014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13004
13005 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
13006 (LIB_TLS_SPEC): Save as ld_tls_libs.
13007 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
13008 (HAVE_AS_IX86_TLSLDM): New test.
13009 * configure, config.in: Regenerate.
13010 * config/i386/i386.c (legitimize_tls_address): Fall back to
13011 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
13012 cannot support TLS_MODEL_LOCAL_DYNAMIC.
13013 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
13014 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
13015
f3d83ffe
PM
130162014-03-07 Paulo Matos <paulo@matos-sorge.com>
13017
13018 * common.opt (fira-loop-pressure): Mark as optimization.
13019
b17a8b07
TS
130202014-03-07 Thomas Schwinge <thomas@codesourcery.com>
13021
13022 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
13023 an OpenMP mappable type.
13024
4973b0f9
MK
130252014-03-06 Matthias Klose <doko@ubuntu.com>
13026
13027 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
13028 MULTILIB_OSDIRNAMES is not defined.
13029
ab19cc6c
JJ
130302014-03-06 Jakub Jelinek <jakub@redhat.com>
13031 Meador Inge <meadori@codesourcery.com>
13032
13033 PR target/58595
13034 * config/arm/arm.c (arm_tls_symbol_p): Remove.
13035 (arm_legitimize_address): Call legitimize_tls_address for any
13036 arm_tls_referenced_p expression, handle constant addend. Call it
13037 before testing for !TARGET_ARM.
13038 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
13039
a74158c7
RB
130402014-03-06 Richard Biener <rguenther@suse.de>
13041
13042 PR middle-end/60445
13043 PR lto/60424
13044 PR lto/60427
13045 Revert
13046 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
13047
0bb29a05
UB
13048 * tree-streamer.c (record_common_node): Assert we don't record
13049 nodes with type double.
13050 (preload_common_node): Skip type double, complex double and double
13051 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 13052
f3ba16d0
RB
130532014-03-06 Richard Biener <rguenther@suse.de>
13054
13055 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
13056 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
13057 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
13058 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
13059 * lto-wrapper.c (merge_and_complain): Merge compile-time
13060 optimization levels.
13061 (run_gcc): And pass it through to the link options.
13062
4bb66ef3 130632014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
13064
13065 PR debug/60381
13066 Revert:
4bb66ef3 13067 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
13068 PR debug/59992
13069 * cselib.c (remove_useless_values): Skip to avoid quadratic
13070 behavior if the condition moved from...
13071 (cselib_process_insn): ... here holds.
13072
a05cca9b
JJ
130732014-03-05 Jakub Jelinek <jakub@redhat.com>
13074
487125e7
JJ
13075 PR plugins/59335
13076 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
13077 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
13078
a05cca9b
JJ
13079 PR plugins/59335
13080 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
13081 (TM_H): Add x86-tune.def.
13082
4e2cd668
KT
130832014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13084
13085 * config/aarch64/aarch64.c (generic_tunings):
13086 Use cortexa57_extra_costs.
13087
5525ed38
JJ
130882014-03-05 Jakub Jelinek <jakub@redhat.com>
13089
13090 PR lto/60404
13091 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
13092 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
13093 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
13094 cost for in_lto_p.
13095
0c72fa78
H
130962014-03-04 Heiher <r@hev.cc>
13097
13098 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
13099 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
13100
66b03f81
UB
131012014-03-04 Uros Bizjak <ubizjak@gmail.com>
13102
13103 * config/i386/predicates.md (const2356_operand): Change to ...
13104 (const2367_operand): ... this.
13105 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
13106 const2367_operand.
13107 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
13108 (*avx512pf_scatterpf<mode>sf): Ditto.
13109 (avx512pf_scatterpf<mode>df): Ditto.
13110 (*avx512pf_scatterpf<mode>df_mask): Ditto.
13111 (*avx512pf_scatterpf<mode>df): Ditto.
13112 * config/i386/i386.c (ix86_expand_builtin): Update
13113 incorrect hint operand error message.
13114
3c24e842
RB
131152014-03-04 Richard Biener <rguenther@suse.de>
13116
13117 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 13118
3740bda6
PM
131192014-03-04 Paulo Matos <paulo@matos-sorge.com>
13120
0bb29a05
UB
13121 * tree-streamer.c (record_common_node): Assert we don't record
13122 nodes with type double.
13123 (preload_common_node): Skip type double, complex double and double
13124 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 13125
91856735
RB
131262014-03-04 Richard Biener <rguenther@suse.de>
13127
13128 PR lto/60405
66b03f81 13129 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
13130 (lto_input_toplevel_asms): Likewise.
13131 * lto-section-in.c (lto_get_section_data): Instead do it here
13132 for every section.
66b03f81 13133
b75f28e1
RB
131342014-03-04 Richard Biener <rguenther@suse.de>
13135
13136 PR tree-optimization/60382
13137 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
13138 dead PHIs a reduction.
13139
dd96e83a
UB
131402014-03-03 Uros Bizjak <ubizjak@gmail.com>
13141
13142 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
13143 hint value.
13144 (_mm_prefetch): Move out of GCC target("sse") pragma.
13145 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
13146 GCC target("prfchw") pragma.
13147 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
13148 for locality <= 2.
13149 * config/i386/i386.c (ix86_option_override_internal): Enable
13150 -mprfchw with -mprefetchwt1.
13151
220c1a51
JR
131522014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
13153
13154 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
13155 Mark as varying.
13156
212bfe71
JR
131572014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
13158
13159 * opts.h (CL_PCH_IGNORE): Define.
13160 * targhooks.c (option_affects_pch_p):
13161 Return false for options that have CL_PCH_IGNORE set.
13162 * opt-functions.awk: Process PchIgnore.
13163 * doc/options.texi: Document PchIgnore.
13164
7a3d0a39
JR
13165 * config/arc/arc.opt (misize): Add PchIgnore property.
13166
b46ed885
BS
131672014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13168
13169 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
13170 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
13171 constraint on constants to permit them being loaded into
13172 GENERAL_REGS or BASE_REGS.
13173
c6f709ec
NC
131742014-03-03 Nick Clifton <nickc@redhat.com>
13175
13176 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
13177 anti-cacnonical alternatives.
13178 (negandhi3_real): New pattern.
13179 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
13180
5752f78f
SKS
131812014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
13182
13183 * config/avr/avr-mcus.def: Remove atxmega16x1.
13184 * config/avr/avr-tables.opt: Regenerate.
13185 * config/avr/t-multilib: Regenerate.
13186 * doc/avr-mmcu.texi: Regenerate.
13187
0afe7332 131882014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 13189 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
13190
13191 PR tree-optimization/58028
13192 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
13193 scalar dimensions.
13194
3416dd87
RR
131952014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13196
13197 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
13198 not handled by recognizers.
13199
79c7fda6
JJ
132002014-03-03 Jakub Jelinek <jakub@redhat.com>
13201
13202 PR middle-end/60175
13203 * function.c (expand_function_end): Don't emit
13204 clobber_return_register sequence if clobber_after is a BARRIER.
13205 * cfgexpand.c (construct_exit_block): Append instructions before
13206 return_label to prev_bb.
13207
715a5c85
BS
132082014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13209
13210 * config/rs6000/constraints.md: Document reserved use of "wc".
13211
9ffbf271
JH
132122014-03-02 Jan Hubicka <hubicka@ucw.cz>
13213
13214 PR ipa/60150
13215 * ipa.c (function_and_variable_visibility): When dissolving comdat
13216 group, also set all symbols to local.
13217
993df21e 132182014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 13219
993df21e
JH
13220 PR ipa/60306
13221
13222 Revert:
40c0a159 13223 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
13224 PR middle-end/58477
13225 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 13226
9b0af790
JB
132272014-03-02 Jon Beniston <jon@beniston.com>
13228
13229 PR bootstrap/48230
13230 PR bootstrap/50927
13231 PR bootstrap/52466
13232 PR target/46898
13233 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 13234 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 13235 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 13236 (simple_return, *simple_return): New patterns
9b0af790
JB
13237 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
13238 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
13239
c582aac9
PC
132402014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
13241
13242 * dwarf2out.c (gen_subprogram_die): Tidy.
13243
19305875
OE
132442014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
13245
13246 PR target/60071
13247 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
13248 (*mov_t_msb_neg_negc): ... this new insn.
13249
570215f9
JM
132502014-02-28 Jason Merrill <jason@redhat.com>
13251
13252 PR c++/58678
13253 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
13254 function.
13255
c5b001b5
PC
132562014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
13257
13258 PR c++/60314
13259 * dwarf2out.c (decltype_auto_die): New static.
13260 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
13261 (gen_type_die_with_usage): Handle 'decltype(auto)'.
13262 (is_cxx_auto): Likewise.
13263
5750e120
IB
132642014-02-28 Ian Bolton <ian.bolton@arm.com>
13265
13266 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
13267 we are not using general regs only.
13268
fba7c564
RB
132692014-02-28 Richard Biener <rguenther@suse.de>
13270
13271 PR target/60280
13272 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
13273 previous fix and only allow to remove trivial pre-headers
13274 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 13275 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 13276
4bb66ef3 132772014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
13278
13279 PR debug/59992
13280 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
13281 (cselib_preserved_hash_table): New.
13282 (preserve_constants_and_equivs): Move preserved vals to it.
13283 (cselib_find_slot): Look it up first.
13284 (cselib_init): Initialize it.
13285 (cselib_finish): Release it.
13286 (dump_cselib_table): Dump it.
13287
4bb66ef3 132882014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
13289
13290 PR debug/59992
13291 * cselib.c (remove_useless_values): Skip to avoid quadratic
13292 behavior if the condition moved from...
13293 (cselib_process_insn): ... here holds.
13294
4bb66ef3 132952014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
13296
13297 PR debug/57232
13298 * var-tracking.c (vt_initialize): Apply the same condition to
13299 preserve the CFA base value.
13300
9910c53c
JY
133012014-02-28 Joey Ye <joey.ye@arm.com>
13302
13303 PR target/PR60169
13304 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
13305 if reload in progress or completed.
13306
ef271341
TB
133072014-02-28 Tobias Burnus <burnus@net-b.de>
13308
13309 PR middle-end/60147
13310 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
13311 NAMELIST_DECL.
13312
c4f6267b
L
133132014-02-27 H.J. Lu <hongjiu.lu@intel.com>
13314
13315 * doc/tm.texi.in (Condition Code Status): Update documention for
13316 relative locations of cc0-setter and cc0-user.
13317
7a76df7f
JL
133182014-02-27 Jeff Law <law@redhat.com>
13319
13320 PR rtl-optimization/52714
13321 * combine.c (try_combine): When splitting an unrecognized PARALLEL
13322 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 13323 pattern we place into I3 is a (set (pc) ...).
7a76df7f 13324
728acca0
MP
133252014-02-27 Mikael Pettersson <mikpe@it.uu.se>
13326 Jeff Law <law@redhat.com>
13327
13328 PR rtl-optimization/49847
13329 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
13330 are in different blocks.
13331 * doc/tm.texi (Condition Code Status): Update documention for
13332 relative locations of cc0-setter and cc0-user.
13333
93aaa05d
VM
133342014-02-27 Vladimir Makarov <vmakarov@redhat.com>
13335
13336 PR target/59222
13337 * lra.c (lra_emit_add): Check SUBREG too.
13338
1ee6eb01
AS
133392014-02-27 Andreas Schwab <schwab@suse.de>
13340
13341 * config/m68k/m68k.c (m68k_option_override): Disable
13342 -flive-range-shrinkage for classic m68k.
13343 (m68k_override_options_after_change): Likewise.
13344
bb0d8e84
MP
133452014-02-27 Marek Polacek <polacek@redhat.com>
13346
13347 PR middle-end/59223
13348 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
13349 -Wmaybe-uninitialized.
13350
3157b879
AM
133512014-02-27 Alan Modra <amodra@gmail.com>
13352
3e17cad2 13353 PR target/57936
3157b879
AM
13354 * reload1.c (emit_input_reload_insns): When reload_override_in,
13355 set old to rl->in_reg when rl->in_reg is a subreg.
13356
bb750f4f
RB
133572014-02-26 Richard Biener <rguenther@suse.de>
13358
13359 PR bootstrap/60343
13360 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
13361
22c8aab3
IT
133622014-02-25 Ilya Tocar <ilya.tocar@intel.com>
13363
13364 * common/config/i386/predicates.md (const1256_operand): Remove.
13365 (const2356_operand): New.
13366 (const_1_to_2_operand): Remove.
13367 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
13368 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
13369 (*avx512pf_gatherpf<mode>sf): Ditto.
13370 (avx512pf_gatherpf<mode>df): Ditto.
13371 (*avx512pf_gatherpf<mode>df_mask): Ditto.
13372 (*avx512pf_gatherpf<mode>df): Ditto.
13373 (avx512pf_scatterpf<mode>sf): Ditto.
13374 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
13375 (*avx512pf_scatterpf<mode>sf): Ditto.
13376 (avx512pf_scatterpf<mode>df): Ditto.
13377 (*avx512pf_scatterpf<mode>df_mask): Ditto.
13378 (*avx512pf_scatterpf<mode>df): Ditto.
13379 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
13380
260d3642
IT
133812014-02-26 Ilya Tocar <ilya.tocar@intel.com>
13382
13383 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
13384 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
13385 (_mm512_mask_testn_epi64_mask): Move to ...
13386 * config/i386/avx512cdintrin.h: Here.
13387 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
13388 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
13389 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
13390 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
13391 TARGET_AVX512F from TARGET_AVX512CD.
13392
477145c8
RB
133932014-02-26 Richard Biener <rguenther@suse.de>
13394
13395 PR ipa/60327
13396 * ipa.c (walk_polymorphic_call_targets): Properly guard
13397 call to inline_update_overall_summary.
13398
a3afdbb8
BC
133992014-02-26 Bin Cheng <bin.cheng@arm.com>
13400
13401 PR target/60280
84d7e312
UB
13402 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
13403 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
13404 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
13405 LOOPS_HAVE_PREHEADERS.
13406
b8a542c6
AP
134072014-02-25 Andrew Pinski <apinski@cavium.com>
13408
13409 * builtins.c (expand_builtin_thread_pointer): Create a new target
13410 when the target is NULL.
13411
88def637
VM
134122014-02-25 Vladimir Makarov <vmakarov@redhat.com>
13413
13414 PR rtl-optimization/60317
13415 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
13416 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
13417 * lra-assigns.c: Include params.h.
13418 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
13419 other reload pseudos considerations.
13420
68908a06
BS
134212014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13422
cf36d2cc
WS
13423 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
13424 to use canonical form for nor<mode>3.
68908a06 13425
db57bbc9
KT
134262014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13427
13428 PR target/55426
13429 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
13430 conversions.
13431
43b3f52f
IT
134322014-02-25 Ilya Tocar <ilya.tocar@intel.com>
13433
13434 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
13435 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
13436 (ix86_handle_option): Handle OPT_mprefetchwt1.
13437 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
13438 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
13439 PREFETCHWT1 CPUID.
13440 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
13441 OPTION_MASK_ISA_PREFETCHWT1.
13442 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
13443 (PTA_PREFETCHWT1): New.
13444 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
13445 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 13446 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
13447 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
13448 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 13449 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
13450 * config/i386/i386.opt (mprefetchwt1): New.
13451 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
13452 (_mm_prefetch): Handle intent to write.
13453 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
13454
84053e02
RB
134552014-02-25 Richard Biener <rguenther@suse.de>
13456
13457 PR middle-end/60291
13458 * emit-rtl.c (mem_attrs_htab): Remove.
13459 (mem_attrs_htab_hash): Likewise.
13460 (mem_attrs_htab_eq): Likewise.
84d7e312 13461 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
13462 (init_emit_once): Do not allocate mem_attrs_htab.
13463
4094757e
RB
134642014-02-25 Richard Biener <rguenther@suse.de>
13465
13466 PR lto/60319
13467 * lto-opts.c (lto_write_options): Output non-explicit conservative
13468 -fwrapv, -fno-trapv and -fno-strict-overflow.
13469 * lto-wrapper.c (merge_and_complain): Handle merging those options.
13470 (run_gcc): And pass them through.
13471
41b2d514 134722014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 13473
41b2d514
AB
13474 * sel-sched.c (calculate_new_fences): New parameter ptime.
13475 Calculate it as a maximum over all fence cycles.
13476 (sel_sched_region_2): Adjust the call to calculate_new_fences.
13477 Print the final schedule timing when sched_verbose.
13478
c1c99405
AB
134792014-02-25 Andrey Belevantsev <abel@ispras.ru>
13480
13481 PR rtl-optimization/60292
13482 * sel-sched.c (fill_vec_av_set): Do not reset target availability
13483 bit fot the fence instruction.
13484
1d9def42
AD
134852014-02-24 Alangi Derick <alangiderick@gmail.com>
13486
13487 * calls.h: Fix typo in comment.
13488
325fefe0
JDA
134892014-02-24 John David Anglin <danglin@gcc.gnu.org>
13490
13491 * config/pa/pa.c (pa_output_move_double): Don't valididate when
13492 adjusting offsetable addresses.
13493
ad43b47a
GW
134942014-02-24 Guozhi Wei <carrot@google.com>
13495
13496 * sparseset.h (sparseset_pop): Fix the wrong index.
13497
341c653c
WL
134982014-02-24 Walter Lee <walt@tilera.com>
13499
13500 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
13501 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
13502 triplet.
13503 * common/config/tilegx/tilegx-common.c
13504 (TARGET_DEFAULT_TARGET_FLAGS): Define.
13505 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
13506 (LINK_SPEC): Ditto.
13507 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
13508 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
13509 (tilegx_gimplify_va_arg_expr): Handle big endian.
13510 (tilegx_expand_unaligned_load): Ditto.
13511 (tilegx_expand_unaligned_store): Ditto.
13512 (TARGET_RETURN_IN_MSB): New.
13513 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
13514 (TARGET_ENDIAN_DEFAULT): New.
13515 (TARGET_BIG_ENDIAN): Handle big endian.
13516 (BYTES_BIG_ENDIAN): Ditto.
13517 (WORDS_BIG_ENDIAN): Ditto.
13518 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
13519 (ENDIAN_SPEC): New.
13520 (EXTRA_SPECS): New.
13521 * config/tilegx/tilegx.md (extv): Handle big endian.
13522 (extzv): Ditto.
13523 (insn_st<n>): Ditto.
13524 (insn_st<n>_add<bitsuffix>): Ditto.
13525 (insn_stnt<n>): Ditto.
13526 (insn_stnt<n>_add<bitsuffix>):Ditto.
13527 (vec_interleave_highv8qi): Handle big endian.
13528 (vec_interleave_highv8qi_be): New.
13529 (vec_interleave_highv8qi_le): New.
13530 (insn_v1int_h): Handle big endian.
13531 (vec_interleave_lowv8qi): Handle big endian.
13532 (vec_interleave_lowv8qi_be): New.
13533 (vec_interleave_lowv8qi_le): New.
13534 (insn_v1int_l): Handle big endian.
13535 (vec_interleave_highv4hi): Handle big endian.
13536 (vec_interleave_highv4hi_be): New.
13537 (vec_interleave_highv4hi_le): New.
13538 (insn_v2int_h): Handle big endian.
13539 (vec_interleave_lowv4hi): Handle big endian.
13540 (vec_interleave_lowv4hi_be): New.
13541 (vec_interleave_lowv4hi_le): New.
13542 (insn_v2int_l): Handle big endian.
13543 (vec_interleave_highv2si): Handle big endian.
13544 (vec_interleave_highv2si_be): New.
13545 (vec_interleave_highv2si_le): New.
13546 (insn_v4int_h): Handle big endian.
13547 (vec_interleave_lowv2si): Handle big endian.
13548 (vec_interleave_lowv2si_be): New.
13549 (vec_interleave_lowv2si_le): New.
13550 (insn_v4int_l): Handle big endian.
13551 * config/tilegx/tilegx.opt (mbig-endian): New option.
13552 (mlittle-endian): New option.
13553 * doc/install.texi: Document tilegxbe-linux.
13554 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
13555
f3fec19f
MJ
135562014-02-24 Martin Jambor <mjambor@suse.cz>
13557
13558 PR ipa/60266
13559 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
13560 there are no parameter descriptors.
13561
9039622a
AB
135622014-02-24 Andrey Belevantsev <abel@ispras.ru>
13563
13564 PR rtl-optimization/60268
13565 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
13566 initialization to ...
13567 (sched_rgn_init): ... here.
13568 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
13569
4bb66ef3 135702014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 13571
9039622a
AB
13572 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
13573 names.
e7e7bc4b 13574
4bb66ef3 135752014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
13576
13577 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
13578 definition.
13579
4bb66ef3 135802014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 13581
84d7e312
UB
13582 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
13583 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 13584
4bb66ef3 135852014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
13586
13587 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 13588 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 13589 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 13590 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
13591 to microblaze_expand_conditional_branch and consolidate logic.
13592 (microblaze_expand_conditional_branch): emit branch_compare
13593 insn instead of handling cmp op separate from branch insn.
13594
34c25d23
BS
135952014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13596
13597 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
13598 to permit subregs.
13599
a6eecdc1
BS
136002014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13601
d5a19af1
DH
13602 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
13603 define_insn with define_expand and new define_insn
13604 *altivec_lve<VI_char>x_internal.
13605 (altivec_stve<VI_char>x): Replace define_insn with define_expand
13606 and new define_insn *altivec_stve<VI_char>x_internal.
13607 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
13608 prototype.
13609 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
13610 lve*x built-ins.
13611 (altivec_expand_stvex_be): New function.
a6eecdc1 13612
8aa7d1fc
JR
136132014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
13614
13615 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 13616 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
13617 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
13618 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
13619
a810ee82
VM
136202014-02-21 Vladimir Makarov <vmakarov@redhat.com>
13621
13622 PR target/60298
13623 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
13624 instead of emit_move_insn.
13625
b90ab1ba
BS
136262014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13627
13628 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
13629 vspltw with vsldoi.
13630 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
13631 gen_altivec_vsumsws.
13632
1af73690
WS
136332014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13634
13635 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 13636 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
13637 (altivec_lvxl_<mode>): New define_expand incorporating
13638 -maltivec=be semantics where needed.
13639 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
13640 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
13641 semantics where needed.
13642 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
13643 (altivec_stvx_<mode>): New define_expand incorporating
13644 -maltivec=be semantics where needed.
13645 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
13646 VM2 iterator instead of V4SI.
13647 (altivec_stvxl_<mode>): New define_expand incorporating
13648 -maltivec=be semantics where needed.
13649 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
13650 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
13651 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
13652 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
13653 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
13654 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
13655 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
13656 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
13657 ALTIVEC_BUILTIN_STVXL.
84d7e312 13658 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
13659 (altivec_expand_stvx_be): Likewise.
13660 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
13661 (altivec_expand_lvx_be): Likewise.
13662 (altivec_expand_stvx_be): Likewise.
13663 (altivec_expand_builtin): Add cases for
13664 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
13665 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
13666 (altivec_init_builtins): Add definitions for
13667 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 13668 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 13669
0a39d07b
CM
136702014-02-21 Catherine Moore <clm@codesourcery.com>
13671
13672 * doc/invoke.texi (mvirt, mno-virt): Document.
13673 * config/mips/mips.opt (mvirt): New option.
13674 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
13675
f2556b68
RB
136762014-02-21 Richard Biener <rguenther@suse.de>
13677
13678 PR tree-optimization/60276
13679 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
13680 (STMT_VINFO_MIN_NEG_DIST): New macro.
13681 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
13682 STMT_VINFO_MIN_NEG_DIST.
13683 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
13684 made for negative dependence distances still hold.
13685
32417082
RB
136862014-02-21 Richard Biener <rguenther@suse.de>
13687
13688 PR middle-end/60291
13689 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
13690 DECL_INITIAL for globals not in the current function context.
13691
92261ce0
JJ
136922014-02-21 Jakub Jelinek <jakub@redhat.com>
13693
13694 PR tree-optimization/56490
13695 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
13696 * tree-ssa-uninit.c: Include params.h.
13697 (compute_control_dep_chain): Add num_calls argument, return false
13698 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
13699 num_calls to recursive call.
13700 (find_predicates): Change dep_chain into normal array,
13701 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
13702 variable and adjust compute_control_dep_chain caller.
13703 (find_def_preds): Likewise.
13704
aa6ef874
TS
137052014-02-21 Thomas Schwinge <thomas@codesourcery.com>
13706
13707 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
13708 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
13709
4b156fd0
NC
137102014-02-21 Nick Clifton <nickc@redhat.com>
13711
13712 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
13713 (pushhi1): Likewise.
13714 (popqi1): Add mode to pre_dec.
13715 (pophi1): Likewise.
13716
dffd569e
JJ
137172014-02-21 Jakub Jelinek <jakub@redhat.com>
13718
13719 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
13720 mode for mask of V8SFmode permutation.
13721
2fdc29e8
RH
137222014-02-20 Richard Henderson <rth@redhat.com>
13723
13724 PR c++/60272
13725 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
13726 a new pseudo for OLDVAL.
13727
aa637f66
JJ
137282014-02-20 Jakub Jelinek <jakub@redhat.com>
13729
13730 PR target/57896
13731 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
13732 gen_reg_rtx if d->testing_p.
13733 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
13734 if d->testing_p and we will certainly return true.
13735 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
13736 if d->testing_p.
13737
004a7e45
UB
137382014-02-20 Uros Bizjak <ubizjak@gmail.com>
13739
13740 * emit-rtl.c (gen_reg_rtx): Assert that
13741 crtl->emit.regno_pointer_align_length is non-zero.
13742
137432014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
13744
13745 PR c++/60272
13746 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
13747 on failure the store back into EXPECT.
13748
95ce7613
CLT
137492014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
13750 Sandra Loosemore <sandra@codesourcery.com>
13751
13752 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
13753 * config/nios2/nios2.c (nios2_function_profiler): Add
13754 -fPIC (flag_pic == 2) support.
95ce7613
CLT
13755 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
13756 (nios2_large_offset_p): New function.
13757 (nios2_unspec_reloc_p): Move up position, update to use
13758 nios2_large_offset_p.
13759 (nios2_unspec_address): Remove function.
13760 (nios2_unspec_offset): New function.
13761 (nios2_large_got_address): New function.
13762 (nios2_got_address): Add large offset support.
13763 (nios2_legitimize_tls_address): Update usage of removed and new
13764 functions.
13765 (nios2_symbol_binds_local_p): New function.
13766 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
13767 (nios2_legitimize_address): Update to use nios2_large_offset_p.
13768 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
13769 (nios2_print_operand): Merge H/L processing, add hiadj/lo
13770 processing for (const (unspec ...)).
13771 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
13772
efd2d3c8
RB
137732014-02-20 Richard Biener <rguenther@suse.de>
13774
13775 * tree-cfg.c (replace_uses_by): Mark altered BBs before
13776 doing the substitution.
004a7e45 13777 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 13778
9576e7b1
MJ
137792014-02-20 Martin Jambor <mjambor@suse.cz>
13780
13781 PR ipa/55260
13782 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
13783 info when checking whether lattices are bottom.
13784
25fe40b0
RB
137852014-02-20 Richard Biener <rguenther@suse.de>
13786
13787 PR middle-end/60221
13788 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
13789 regions at -O0.
13790
bd936951
JH
137912014-02-20 Jan Hubicka <hubicka@ucw.cz>
13792
13793 PR ipa/58555
004a7e45
UB
13794 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
13795 parameter specifying the scaling.
bd936951
JH
13796 (inline_call): Update.
13797 (want_inline_recursively): Guard division by zero.
13798 (recursive_inlining): Update.
13799 * ipa-inline.h (clone_inlined_nodes): Update.
13800
3c898e1a
IT
138012014-02-20 Ilya Tocar <ilya.tocar@intel.com>
13802
13803 PR target/60204
13804 * config/i386/i386.c (classify_argument): Pass structures of size
13805 64 bytes or less in register.
13806
df62b4af 138072014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 13808 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
13809
13810 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
13811 (_mm_rcp28_round_ss): Ditto.
13812 (_mm_rsqrt28_round_sd): Ditto.
13813 (_mm_rsqrt28_round_ss): Ditto.
13814 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
13815 (_mm_rcp14_round_ss): Ditto.
13816 (_mm_rsqrt14_round_sd): Ditto.
13817 (_mm_rsqrt14_round_ss): Ditto.
13818 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
13819 the first input operand, get rid of match_dup.
13820 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
13821 attribute to sse.
13822 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
13823 Ditto.
13824 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
13825 operand as the first input operand, set type attribute.
13826 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
13827 Set type attribute.
13828 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
13829 operand as the first input operand, set type attribute.
13830
9254148e
BS
138312014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13832
13833 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
13834 bit of zero.
13835
fff91793
L
138362014-02-19 H.J. Lu <hongjiu.lu@intel.com>
13837
13838 PR target/60207
13839 * config/i386/i386.c (construct_container): Remove TFmode check
13840 for X86_64_INTEGER_CLASS.
13841
6aa5b4b8
UB
138422014-02-19 Uros Bizjak <ubizjak@gmail.com>
13843
13844 PR target/59794
13845 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
13846 only when -Wpsabi is enabled.
13847
aadc1c43
MHD
138482014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
13849
13850 PR target/59799
13851 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
13852 passing arrays in registers are the same as for structs, so remove the
13853 special case for them.
13854
322913f8
EB
138552014-02-19 Eric Botcazou <ebotcazou@adacore.com>
13856
13857 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
13858 destination type, extract only the valid bits if the source type is not
13859 integral and has a different mode.
13860
fd9710dc
RB
138612014-02-19 Richard Biener <rguenther@suse.de>
13862
13863 PR ipa/60243
13864 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
13865 for all calls.
13866
4df65a85
RB
138672014-02-19 Richard Biener <rguenther@suse.de>
13868
13869 PR ipa/60243
13870 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
13871 (ipa_modify_call_arguments): Emit an argument load explicitely and
13872 preserve virtual SSA form there and for the replacement call.
13873 Do not update SSA form nor free dominance info.
13874
7fea98d8
JH
138752014-02-18 Jan Hubicka <hubicka@ucw.cz>
13876
13877 * ipa.c (function_and_variable_visibility): Also clear WEAK
13878 flag when disolving COMDAT_GROUP.
13879
0a2550e7
JH
138802014-02-18 Jan Hubicka <hubicka@ucw.cz>
13881
13882 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
13883 * ipa-prop.c (ipa_set_jf_known_type): Return early when
13884 not devirtualizing.
13885 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
13886 do more sanity checks.
13887 (detect_type_change): Return true when giving up early.
13888 (compute_complex_assign_jump_func): Fix type parameter of
13889 ipa_set_ancestor_jf.
13890 (compute_complex_ancestor_jump_func): Likewise.
13891 (update_jump_functions_after_inlining): Fix updating of
13892 ancestor function.
6aa5b4b8 13893 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 13894
2dbe8b70
JH
138952014-02-18 Jan Hubicka <hubicka@ucw.cz>
13896
13897 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
13898 inline clones when edge disappears.
13899
b9809dc4
MM
139002014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
13901
13902 PR target/60203
13903 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
13904 Split 64-bit moves into 2 patterns. Do not allow the use of
13905 direct move for TDmode in little endian, since the decimal value
13906 has little endian bytes within a word, but the 64-bit pieces are
13907 ordered in a big endian fashion, and normal subreg's of TDmode are
13908 not allowed.
13909 (mov<mode>_64bit_dm): Likewise.
13910 (movtd_64bit_nodm): Likewise.
13911
bababbfb
EB
139122014-02-18 Eric Botcazou <ebotcazou@adacore.com>
13913
13914 PR tree-optimization/60174
13915 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
13916 statement of an SSA_NAME that occurs in an abnormal PHI node.
13917
70aacc97
JJ
139182014-02-18 Jakub Jelinek <jakub@redhat.com>
13919
13920 PR sanitizer/60142
13921 * final.c (SEEN_BB): Remove.
13922 (SEEN_NOTE, SEEN_EMITTED): Renumber.
13923 (final_scan_insn): Don't force_source_line on second
13924 NOTE_INSN_BASIC_BLOCK.
13925
223cdd15
UB
139262014-02-18 Uros Bizjak <ubizjak@gmail.com>
13927
13928 PR target/60205
13929 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
13930 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
13931 (type_natural_mode): Warn ABI change when %zmm register is not
13932 available for AVX512F vector value passing.
13933
48810be0
KT
139342014-02-18 Kai Tietz <ktietz@redhat.com>
13935
13936 PR target/60193
223cdd15
UB
13937 * config/i386/i386.c (ix86_expand_prologue): Use value in
13938 rax register as displacement when restoring %r10 or %rax.
13939 Fix wrong offset when restoring both registers.
48810be0 13940
20afe640
EB
139412014-02-18 Eric Botcazou <ebotcazou@adacore.com>
13942
13943 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
13944 assertion with conditional return.
13945
d0b50387
JJ
139462014-02-18 Jakub Jelinek <jakub@redhat.com>
13947 Uros Bizjak <ubizjak@gmail.com>
13948
13949 PR driver/60233
13950 * config/i386/driver-i386.c (host_detect_local_cpu): If
13951 YMM state is not saved by the OS, also clear has_f16c. Move
13952 CPUID 0x80000001 handling before YMM state saving checking.
13953
c4cd7435
AB
139542014-02-18 Andrey Belevantsev <abel@ispras.ru>
13955
13956 PR rtl-optimization/58960
13957 * haifa-sched.c (alloc_global_sched_pressure_data): New,
13958 factored out from ...
13959 (sched_init): ... here.
13960 (free_global_sched_pressure_data): New, factored out from ...
13961 (sched_finish): ... here.
13962 * sched-int.h (free_global_sched_pressure_data): Declare.
13963 * sched-rgn.c (nr_regions_initial): New static global.
13964 (haifa_find_rgns): Initialize it.
13965 (schedule_region): Disable sched-pressure for the newly
13966 generated regions.
13967
f0281fde
RB
139682014-02-17 Richard Biener <rguenther@suse.de>
13969
13970 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
13971 release SSA defs of pattern stmts.
13972
c742772c
RB
139732014-02-17 Richard Biener <rguenther@suse.de>
13974
13975 * tree-inline.c (expand_call_inline): Release the virtual
13976 operand defined by the call we are about to inline.
13977
0492158e
RB
139782014-02-17 Richard Biener <rguenther@suse.de>
13979
13980 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
13981
583a9919
KY
139822014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
13983 Ilya Tocar <ilya.tocar@intel.com>
13984
13985 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
13986 arguments order in builtin.
13987 (_mm512_permutexvar_epi64): Ditto.
13988 (_mm512_mask_permutexvar_epi64): Ditto
13989 (_mm512_maskz_permutexvar_epi32): Ditto
13990 (_mm512_permutexvar_epi32): Ditto
13991 (_mm512_mask_permutexvar_epi32): Ditto
13992
d737743f
BS
139932014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13994
223cdd15 13995 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
13996 (p8_vmrgow): Likewise.
13997
54c4bfd7
BS
139982014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13999
14000 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
14001 endian targets.
14002
518fea64
MM
140032014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
14004
14005 PR target/60203
14006 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
14007 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
14008 into 64-bit and 32-bit moves. On 64-bit moves, add support for
14009 using direct move instructions on ISA 2.07. Also adjust
14010 instruction length for 64-bit.
14011 (mov<mode>_64bit, TFmode/TDmode): Likewise.
14012 (mov<mode>_32bit, TFmode/TDmode): Likewise.
14013
61640916
AM
140142014-02-15 Alan Modra <amodra@gmail.com>
14015
14016 PR target/58675
14017 PR target/57935
14018 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
14019 find_replacement on parts of insn rtl that might be reloaded.
14020
a2b33cc3
RB
140212014-02-15 Richard Biener <rguenther@suse.de>
14022
14023 PR tree-optimization/60183
223cdd15 14024 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
14025 (tree_ssa_phiprop): Calculate and free post-dominators.
14026
059742a4
JL
140272014-02-14 Jeff Law <law@redhat.com>
14028
14029 PR rtl-optimization/60131
14030 * ree.c (get_extended_src_reg): New function.
223cdd15 14031 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
14032 (find_and_remove_re): Verify first operand of extension is
14033 a REG before adding the insns to the copy list.
14034
88f7c49a
RM
140352014-02-14 Roland McGrath <mcgrathr@google.com>
14036
14037 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
14038 * configure: Regenerated.
14039 * config.in: Regenerated.
14040 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
14041 instead of ASM_SHORT.
14042
2ae577fd
VM
140432014-02-14 Vladimir Makarov <vmakarov@redhat.com>
14044 Richard Earnshaw <rearnsha@arm.com>
14045
14046 PR rtl-optimization/59535
14047 * lra-constraints.c (process_alt_operands): Encourage alternative
14048 when unassigned pseudo class is superset of the alternative class.
14049 (inherit_reload_reg): Don't inherit when optimizing for code size.
14050 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
14051 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
14052 modes not less than 4 for Thumb1.
14053
5d88af08
KM
140542014-02-14 Kyle McMartin <kyle@redhat.com>
14055
14056 PR pch/60010
14057 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
14058
3069b421
RB
140592014-02-14 Richard Biener <rguenther@suse.de>
14060
14061 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
14062 (get_frame_arg): Drop the assert with langhook types_compatible_p.
14063 Do not strip INDIRECT_REFs.
14064
1966fd99
RB
140652014-02-14 Richard Biener <rguenther@suse.de>
14066
14067 PR lto/60179
14068 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
14069 DECL_FUNCTION_SPECIFIC_TARGET.
14070 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
14071 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 14072 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
14073 (write_ts_function_decl_tree_pointers): Do not stream
14074 DECL_FUNCTION_SPECIFIC_TARGET.
14075 * tree-streamer-in.c (unpack_ts_target_option): Remove.
14076 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
14077 (lto_input_ts_function_decl_tree_pointers): Do not stream
14078 DECL_FUNCTION_SPECIFIC_TARGET.
14079
b010d601
JJ
140802014-02-14 Jakub Jelinek <jakub@redhat.com>
14081
223cdd15 14082 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
14083 (get_initial_def_for_induction, vectorizable_induction): Ignore
14084 debug stmts when looking for exit_phi.
14085 (vectorizable_live_operation): Fix up condition.
14086
f2dafb91
CJW
140872014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
14088
14089 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
14090 nreverse() because it changes the content of original tree list.
14091
59043e75
CJW
140922014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
14093
14094 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
14095 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
14096
810f736f
CJW
140972014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
14098
14099 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
14100 GNU coding standards.
14101
1a025bbf
JJ
141022014-02-13 Jakub Jelinek <jakub@redhat.com>
14103
14104 PR debug/60152
14105 * dwarf2out.c (gen_subprogram_die): Don't call
14106 add_calling_convention_attribute if subr_die is old_die.
14107
69479ebd
SS
141082014-02-13 Sharad Singhai <singhai@google.com>
14109
14110 * doc/optinfo.texi: Fix order of nodes.
14111
1287ae50
UB
141122014-02-13 Uros Bizjak <ubizjak@gmail.com>
14113
14114 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
14115 operands[2], not operands[3].
14116
43372236
RB
141172014-02-13 Richard Biener <rguenther@suse.de>
14118
14119 PR bootstrap/59878
14120 * doc/install.texi (ISL): Update recommended version to 0.12.2,
14121 mention the possibility of an in-tree build.
14122 (CLooG): Update recommended version to 0.18.1, mention the
14123 possibility of an in-tree build and clarify that the ISL
14124 bundled with CLooG does not work.
14125
a4d70cfa
JJ
141262014-02-13 Jakub Jelinek <jakub@redhat.com>
14127
14128 PR target/43546
14129 * expr.c (compress_float_constant): If x is a hard register,
14130 extend into a pseudo and then move to x.
14131
e697d119
DV
141322014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
14133
14134 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
14135 caused by bad second argument to warning_at() with -mhotpatch and
14136 nested functions (e.g. with gfortran).
14137
9f8da907
RS
141382014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
14139
14140 * opts.c (option_name): Remove "enabled by default" rider.
14141
0fdd1196
JDA
141422014-02-12 John David Anglin <danglin@gcc.gnu.org>
14143
14144 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
14145
0544c448
L
141462014-02-12 H.J. Lu <hongjiu.lu@intel.com>
14147 Uros Bizjak <ubizjak@gmail.com>
14148
14149 PR target/60151
1287ae50 14150 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
14151 * configure: Regenerated.
14152
3a938d75
RB
141532014-02-12 Richard Biener <rguenther@suse.de>
14154
14155 * vec.c (vec_prefix::calculate_allocation): Move as
14156 inline variant to vec.h.
14157 (vec_prefix::calculate_allocation_1): New out-of-line version.
14158 * vec.h (vec_prefix::calculate_allocation_1): Declare.
14159 (vec_prefix::m_has_auto_buf): Rename to ...
14160 (vec_prefix::m_using_auto_storage): ... this.
14161 (vec_prefix::calculate_allocation): Inline the easy cases
14162 and dispatch to calculate_allocation_1 which doesn't need the
14163 prefix address.
14164 (va_heap::reserve): Use gcc_checking_assert.
14165 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
14166 m_using_auto_storage.
14167 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
14168 member and adjust.
14169 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
14170 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
14171 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
14172
ad0188be
RB
141732014-02-12 Richard Biener <rguenther@suse.de>
14174
14175 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
14176 when we found a dependence.
14177
64e5ace5
TS
141782014-02-12 Thomas Schwinge <thomas@codesourcery.com>
14179
88ac13da
TS
14180 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
14181 common code...
14182 (maybe_fold_stmt): ... into this new function.
14183 * omp-low.c (lower_omp): Update comment.
14184
bae729a2
TS
14185 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
14186 last use.
14187
64e5ace5
TS
14188 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
14189 dereference.
14190
7b40f5cf
JG
141912014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
14192
14193 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
14194 identifiers in comments.
14195 (cortexa53_extra_costs): Likewise.
1287ae50 14196 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
14197 (cortexa7_extra_costs): Likewise.
14198 (cortexa12_extra_costs): Likewise.
14199 (cortexa15_extra_costs): Likewise.
14200 (v7m_extra_costs): Likewise.
14201
c4c8514e
RB
142022014-02-12 Richard Biener <rguenther@suse.de>
14203
14204 PR middle-end/60092
14205 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
14206 of posix_memalign being successful.
14207 (lower_stmt): Restrict lowering of posix_memalign to when
14208 -ftree-bit-ccp is enabled.
14209
8eb651bd
SKS
142102014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
14211
14212 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
14213 arg_loc.
14214 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
14215
62b03553
EB
142162014-02-12 Eric Botcazou <ebotcazou@adacore.com>
14217
14218 PR rtl-optimization/60116
14219 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
14220 other_insn once the combination has been validated.
14221
ec77d61f
JH
142222014-02-11 Jan Hubicka <hubicka@ucw.cz>
14223
14224 PR lto/59468
14225 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
14226 and wrapper.
14227 * ipa-devirt.c: Include demangle.h
14228 (odr_violation_reported): New static variable.
14229 (add_type_duplicate): Update odr_violations.
14230 (maybe_record_node): Add completep parameter; update it.
14231 (record_target_from_binfo): Add COMPLETEP parameter;
14232 update it as needed.
14233 (possible_polymorphic_call_targets_1): Likewise.
14234 (struct polymorphic_call_target_d): Add nonconstruction_targets;
14235 rename FINAL to COMPLETE.
14236 (record_targets_from_bases): Sanity check we found the binfo;
14237 fix COMPLETEP updating.
14238 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
14239 parameter, fix computing of COMPLETEP.
1287ae50
UB
14240 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
14241 at LTO time do demangling.
ec77d61f
JH
14242 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
14243 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
14244 parameter.
14245 (gimple_get_virt_method_for_binfo): Likewise.
14246 * gimple-fold.h (gimple_get_virt_method_for_binfo,
14247 gimple_get_virt_method_for_vtable): Update prototypes.
14248
5a4dcd9b
VM
142492014-02-11 Vladimir Makarov <vmakarov@redhat.com>
14250
14251 PR target/49008
14252 * genautomata.c (add_presence_absence): Fix typo with
14253 {final_}presence_list.
14254
69b7afed
MM
142552014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
14256
14257 PR target/60137
14258 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
14259 for VSX/Altivec vectors that land in GPR registers.
14260
8268ad5c
JJ
142612014-02-11 Richard Henderson <rth@redhat.com>
14262 Jakub Jelinek <jakub@redhat.com>
14263
14264 PR debug/59776
14265 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
14266 around drhs if type conversion to lacc->type is not useless.
14267
4fd92af6
KT
142682014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14269
14270 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
14271 tuning struct.
14272 (cortex-a57.cortex-a53): Likewise.
14273 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
14274
7cb14cb8
KT
142752014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14276
14277 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
14278 arm_restrict_it.
14279
6d3715b9
RL
142802014-02-11 Renlin Li <Renlin.Li@arm.com>
14281
14282 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
14283 add_options_for_arm_vfp3.
14284
cddddfff
JL
142852014-02-11 Jeff Law <law@redhat.com>
14286
14287 PR middle-end/54041
14288 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
14289 object with an undesirable mode.
14290
7c1aef7e
RO
142912014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14292
14293 PR libgomp/60107
14294 * config/i386/sol2-9.h: New file.
14295 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
14296 *-*-solaris2.9*): Use it.
14297
4bb66ef3 142982014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
14299
14300 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
14301 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
14302
4bb66ef3 143032014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
14304
14305 * config/microblaze/microblaze.c: Extend mcpu version format
14306
4bb66ef3 143072014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
14308
14309 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
14310
004a7e45 143112014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
14312
14313 PR target/59927
14314 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
14315 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
14316 ms-abi vs -mno-accumulate-outgoing-args.
14317 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
14318 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
14319 respect to ms-abi.
14320
e2fc3b4f
BE
143212014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
14322
14323 PR middle-end/60080
14324 * cfgexpand.c (expand_asm_operands): Attach source location to
14325 ASM_INPUT rtx objects.
14326 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
14327
3a22ad89
NC
143282014-02-10 Nick Clifton <nickc@redhat.com>
14329
14330 * config/mn10300/mn10300.c (popcount): New function.
14331 (mn10300_expand_prologue): Include saved registers in stack usage
14332 count.
14333
f27be550
JL
143342014-02-10 Jeff Law <law@redhat.com>
14335
14336 PR middle-end/52306
14337 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 14338 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 14339
e15e3815
UW
143402014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14341
14342 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
14343 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
14344 -mcall-openbsd, or -mcall-linux.
14345 (CC1_ENDIAN_BIG_SPEC): Remove.
14346 (CC1_ENDIAN_LITTLE_SPEC): Remove.
14347 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
14348 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
14349 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
14350 and %cc1_endian_default.
14351 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
14352
4e1f39e4
RB
143532014-02-10 Richard Biener <rguenther@suse.de>
14354
14355 PR tree-optimization/60115
14356 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
14357 MEM_REF handling. Properly verify that the accesses are not
14358 out of the objects bound.
14359
e7af1c22
KT
143602014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14361
14362 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
14363 coretex to cortex.
14364
79c7de84
EB
143652014-02-10 Eric Botcazou <ebotcazou@adacore.com>
14366
14367 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
14368 proper constants and fix formatting.
14369 (possible_polymorphic_call_targets): Fix formatting.
14370
cf73ee60
KY
143712014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
14372 Ilya Tocar <ilya.tocar@intel.com>
14373
14374 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
14375 (_mm512_loadu_epi32): Renamed into...
14376 (_mm512_loadu_si512): This.
14377 (_mm512_storeu_epi32): Renamed into...
14378 (_mm512_storeu_si512): This.
14379 (_mm512_maskz_ceil_ps): Removed.
14380 (_mm512_maskz_ceil_pd): Ditto.
14381 (_mm512_maskz_floor_ps): Ditto.
14382 (_mm512_maskz_floor_pd): Ditto.
14383 (_mm512_floor_round_ps): Ditto.
14384 (_mm512_floor_round_pd): Ditto.
14385 (_mm512_ceil_round_ps): Ditto.
14386 (_mm512_ceil_round_pd): Ditto.
14387 (_mm512_mask_floor_round_ps): Ditto.
14388 (_mm512_mask_floor_round_pd): Ditto.
14389 (_mm512_mask_ceil_round_ps): Ditto.
14390 (_mm512_mask_ceil_round_pd): Ditto.
14391 (_mm512_maskz_floor_round_ps): Ditto.
14392 (_mm512_maskz_floor_round_pd): Ditto.
14393 (_mm512_maskz_ceil_round_ps): Ditto.
14394 (_mm512_maskz_ceil_round_pd): Ditto.
14395 (_mm512_expand_pd): Ditto.
14396 (_mm512_expand_ps): Ditto.
14397 * config/i386/i386.c (ix86_builtins): Remove
14398 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
14399 (bdesc_args): Ditto.
14400 * config/i386/predicates.md (const1256_operand): New.
14401 (const_1_to_2_operand): Ditto.
14402 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
14403 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
14404 (*avx512pf_gatherpf<mode>sf): Ditto.
14405 (avx512pf_gatherpf<mode>df): Ditto.
14406 (*avx512pf_gatherpf<mode>df_mask): Ditto.
14407 (*avx512pf_gatherpf<mode>df): Ditto.
14408 (avx512pf_scatterpf<mode>sf): Ditto.
14409 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
14410 (*avx512pf_scatterpf<mode>sf): Ditto.
14411 (avx512pf_scatterpf<mode>df): Ditto.
14412 (*avx512pf_scatterpf<mode>df_mask): Ditto.
14413 (*avx512pf_scatterpf<mode>df): Ditto.
14414 (avx512f_expand<mode>): Removed.
14415 (<shift_insn><mode>3<mask_name>): Change predicate type.
14416
8fcbce72
JJ
144172014-02-08 Jakub Jelinek <jakub@redhat.com>
14418
41475e96
JJ
14419 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
14420 not at the end of datarefs vector use ordered_remove to avoid
14421 reordering datarefs vector.
14422
c74559df
JJ
14423 PR c/59984
14424 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
14425 mark local addressable non-static vars as GOVD_PRIVATE
14426 instead of GOVD_LOCAL.
14427 * omp-low.c (lower_omp_for): Move gimple_bind_vars
14428 and BLOCK_VARS of gimple_bind_block to new_stmt rather
14429 than copying them.
14430
8fcbce72
JJ
14431 PR middle-end/60092
14432 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
14433 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
14434 assume_aligned or alloc_align attributes.
14435 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
14436 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
14437 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
14438 calls to functions with assume_aligned or alloc_align attributes.
14439 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 14440
451bdd23
TG
144412014-02-08 Terry Guo <terry.guo@arm.com>
14442
14443 * doc/invoke.texi: Document ARM -march=armv7e-m.
14444
d31d42c7
JJ
144452014-02-08 Jakub Jelinek <jakub@redhat.com>
14446
d71dfeb7
JJ
14447 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
14448 flag on __cilkrts_rethrow builtin.
14449
d31d42c7
JJ
14450 PR ipa/60026
14451 * ipa-cp.c (determine_versionability): Fail at -O0
14452 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
14453 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
14454
14455 Revert:
14456 2014-02-04 Jakub Jelinek <jakub@redhat.com>
14457
14458 PR ipa/60026
14459 * tree-inline.c (copy_forbidden): Fail for
14460 __attribute__((optimize (0))) functions.
14461
a0a98fef
JH
144622014-02-07 Jan Hubicka <hubicka@ucw.cz>
14463
14464 * varpool.c: Include pointer-set.h.
14465 (varpool_remove_unreferenced_decls): Variables in other partitions
14466 will not be output; be however careful to not lose information
14467 about partitioning.
14468
8c311b50
JH
144692014-02-07 Jan Hubicka <hubicka@ucw.cz>
14470
14471 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
14472 lookup in the vtable constructor.
14473
7ba03e5e
JL
144742014-02-07 Jeff Law <law@redhat.com>
14475
63e6247d
JL
14476 PR target/40977
14477 * config/m68k/m68k.md (ashldi_extsi): Turn into a
14478 define_insn_and_split.
14479
7ba03e5e
JL
14480 * ipa-inline.c (inline_small_functions): Fix typos.
14481
177bc204
RS
144822014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
14483
14484 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
14485 (s390_can_use_return_insn): Declare.
14486 * config/s390/s390.h (EPILOGUE_USES): Define.
14487 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
14488 instructions.
14489 (s390_chunkify_start): Handle return JUMP_LABELs.
14490 (s390_early_mach): Emit a main_pool instruction on the entry edge.
14491 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
14492 (s390_can_use_return_insn): New functions.
14493 (s390_fix_long_loop_prediction): Handle conditional returns.
14494 (TARGET_SET_UP_BY_PROLOGUE): Define.
14495 * config/s390/s390.md (ANY_RETURN): New code iterator.
14496 (*creturn, *csimple_return, return, simple_return): New patterns.
14497
0621cf3c
RS
144982014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
14499
14500 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
14501 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
14502 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
14503 REG_CFA_RESTORE list when deciding not to restore a register.
14504
4099494d
RS
145052014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
14506
14507 * config/s390/s390.c: Include tree-pass.h and context.h.
14508 (s390_early_mach): New function, split out from...
14509 (s390_emit_prologue): ...here.
14510 (pass_data_s390_early_mach): New pass structure.
14511 (pass_s390_early_mach): New class.
14512 (s390_option_override): Create and register early_mach pass.
14513 Move to end of file.
14514
3489cc33
RS
145152014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
14516
14517 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
14518 to match for the exit block.
14519
75cc21e2
AK
145202014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14521
14522 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
14523 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
14524 Reject misaligned operands.
14525
8bd7070a
AK
145262014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14527
1287ae50 14528 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 14529
831806cb
RB
145302014-02-07 Richard Biener <rguenther@suse.de>
14531
14532 PR middle-end/60092
14533 * gimple-low.c (lower_builtin_posix_memalign): New function.
14534 (lower_stmt): Call it to lower posix_memalign in a way
14535 to make alignment info accessible.
14536
7ee9c16f
JJ
145372014-02-07 Jakub Jelinek <jakub@redhat.com>
14538
14539 PR c++/60082
14540 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
14541 __builtin_setjmp_receiver.
14542
32cab212
RB
145432014-02-07 Richard Biener <rguenther@suse.de>
14544
14545 PR middle-end/60092
14546 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
14547 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
14548 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
14549 Handle BUILT_IN_POSIX_MEMALIGN.
14550 (find_func_clobbers): Likewise.
14551 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
14552 (call_may_clobber_ref_p_1): Likewise.
14553
6d6af792
JH
145542014-02-06 Jan Hubicka <hubicka@ucw.cz>
14555
14556 PR ipa/59918
1287ae50
UB
14557 * ipa-devirt.c (record_target_from_binfo): Remove overactive
14558 sanity check.
6d6af792 14559
3c0f1105
JH
145602014-02-06 Jan Hubicka <hubicka@ucw.cz>
14561
14562 PR ipa/59469
14563 * lto-cgraph.c (lto_output_node): Use
14564 symtab_get_symbol_partitioning_class.
14565 (lto_output_varpool_node): likewise.
14566 (symtab_get_symbol_partitioning_class): Move here from
14567 lto/lto-partition.c
14568 * cgraph.h (symbol_partitioning_class): Likewise.
14569 (symtab_get_symbol_partitioning_class): Declare.
14570
b3bb0eb9
JH
145712014-02-06 Jan Hubicka <hubicka@ucw.cz>
14572
14573 * ggc.h (ggc_internal_cleared_alloc): New macro.
14574 * vec.h (vec_safe_copy): Handle memory stats.
14575 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
14576 * target-globals.c (save_target_globals): Likewise.
14577
145782014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
14579
14580 PR target/60077
14581 * expr.c (emit_move_resolve_push): Export; be bit more selective
14582 on when to clear alias set.
14583 * expr.h (emit_move_resolve_push): Declare.
14584 * function.h (struct function): Add tail_call_marked.
14585 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
14586 * config/i386/i386-protos.h (ix86_expand_push): Remove.
14587 * config/i386/i386.md (TImode move expander): De not call
14588 ix86_expand_push.
14589 (FP push expanders): Preserve memory attributes.
14590 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 14591 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
14592 (ix86_expand_push): Remove.
14593 * config/i386/mmx.md (push<mode>1): Remove.
14594
47d552eb
JJ
145952014-02-06 Jakub Jelinek <jakub@redhat.com>
14596
14597 PR rtl-optimization/60030
14598 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
14599 lopart with paradoxical subreg before shifting it up by hprec.
14600
45c75ea7
KT
146012014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14602
14603 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
14604 Remove extra newline at end of file.
14605 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
14606 (arm_issue_rate): Handle cortexa57.
14607 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
14608 (cortex-a57.cortex-a53): Likewise.
14609
af116cae
JJ
146102014-02-06 Jakub Jelinek <jakub@redhat.com>
14611
652a3e3a
JJ
14612 PR target/59575
14613 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
14614 don't record in REG_FRAME_RELATED_EXPR registers not set in that
14615 bitmask.
14616 (arm_expand_prologue): Adjust all callers.
14617 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
14618 info, registers also at the lowest numbered registers side. Use
14619 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
14620 XEXP.
14621
af116cae 14622 PR debug/59992
1287ae50
UB
14623 * var-tracking.c (adjust_mems): Before adding a SET to
14624 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 14625
fdcee33b
AM
146262014-02-06 Alan Modra <amodra@gmail.com>
14627
14628 PR target/60032
14629 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
14630 change SDmode to DDmode when lra_in_progress.
14631
251901a0
JJ
146322014-02-06 Jakub Jelinek <jakub@redhat.com>
14633
d3ef8c53
JJ
14634 PR middle-end/59150
14635 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
14636 free_data_ref on the dr first, and before goto again also set dr
14637 to the next dr. For simd_lane_access, free old datarefs[i] before
14638 overwriting it. For get_vectype_for_scalar_type failure, don't
14639 free_data_ref if simd_lane_access.
14640
2754b38f
JJ
14641 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
14642
251901a0
JJ
14643 PR target/60062
14644 * tree.h (opts_for_fn): New inline function.
14645 (opt_for_fn): Define.
14646 * config/i386/i386.c (ix86_function_regparm): Use
14647 opt_for_fn (decl, optimize) instead of optimize.
14648
4a985a37
MS
146492014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
14650
14651 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
14652 for SYMBOL_REF in large memory model.
14653
c366d38c
KT
146542014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14655
14656 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
14657 and crypto support.
14658 (cortex-a57): Likewise.
14659 (cortex-a57.cortex-a53): Likewise.
14660
c801e246
YG
146612014-02-06 Yury Gribov <y.gribov@samsung.com>
14662 Kugan Vivekanandarajah <kuganv@linaro.org>
14663
14664 * config/arm/arm.c (arm_vector_alignment_reachable): Check
14665 unaligned_access.
14666 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
14667
d50f7b84
RB
146682014-02-06 Richard Biener <rguenther@suse.de>
14669
14670 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
14671 set_loop_copy and initialize_original_copy_tables.
14672
179d2941
AV
146732014-02-06 Alex Velenko <Alex.Velenko@arm.com>
14674
14675 * config/aarch64/aarch64-simd.md
14676 (aarch64_ashr_simddi): Change QI to SI.
14677
78b1469d
JH
146782014-02-05 Jan Hubicka <hubicka@ucw.cz>
14679 Jakub Jelinek <jakub@redhat.com>
14680
14681 PR middle-end/60013
14682 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
14683 of the dataflow.
14684
d85f364c
BS
146852014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14686
14687 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
14688 CODE_FOR_altivec_vpku[hw]um to
14689 CODE_FOR_altivec_vpku[hw]um_direct.
14690 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
14691 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
14692 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
14693 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
14694
7b1cd427
BS
146952014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14696
14697 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
14698 generation for -maltivec=be.
14699 (altivec_vsumsws): Simplify redundant test.
14700
52a93551
BS
147012014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14702
14703 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
14704 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
14705 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
14706 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
14707 gen_altivec_vpkuwum.
14708 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
14709 BYTES_BIG_ENDIAN.
14710 (altivec_vpks<VI_char>ss): Likewise.
14711 (altivec_vpks<VI_char>us): Likewise.
14712 (altivec_vpku<VI_char>us): Likewise.
14713 (altivec_vpku<VI_char>um): Likewise.
14714 (altivec_vpku<VI_char>um_direct): New (copy of
14715 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
14716 internal use).
14717 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
14718 target is little endian and -maltivec=be is not specified.
14719 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 14720 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
14721 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
14722 target is little endian and -maltivec=be is not specified.
14723 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 14724 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
14725 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
14726 little endian and -maltivec=be is not specified.
14727 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
14728 little endian and -maltivec=be is not specified.
14729
004a7e45 147302014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
14731
14732 PR debug/52727
14733 * combine-stack-adj.c: Revert r206943.
14734 * sched-int.h (struct deps_desc): Add last_args_size.
14735 * sched-deps.c (init_deps): Initialize it.
14736 (sched_analyze_insn): Add OUTPUT dependencies between insns that
14737 contain REG_ARGS_SIZE notes.
14738
f300e7b8
JH
147392014-02-05 Jan Hubicka <hubicka@ucw.cz>
14740
14741 * lto-cgraph.c (asm_nodes_output): Make global.
14742 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 14743 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
14744 (driver_handle_option): Handle OPT_fwpa.
14745
609524d2
JJ
147462014-02-05 Jakub Jelinek <jakub@redhat.com>
14747
add5c763
JJ
14748 PR ipa/59947
14749 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
14750 a comment typo and formatting issue. If odr_hash hasn't been
14751 created, return vNULL and set *completep to false.
14752
609524d2
JJ
14753 PR middle-end/57499
14754 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
14755 bb with no successors.
14756
05ab6e21
JG
147572014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
14758
14759 PR target/59718
14760 * doc/invoke.texi (-march): Clarify documentation for ARM.
14761 (-mtune): Likewise.
14762 (-mcpu): Likewise.
14763
d55d9ed0
RB
147642014-02-05 Richard Biener <rguenther@suse.de>
14765
14766 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
14767 when not vectorizing because of too many alias checks.
14768 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
14769 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
14770
c70da878
NC
147712014-02-05 Nick Clifton <nickc@redhat.com>
14772
14773 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 14774 accept extended registers in any mode when compiling for the MN10300.
c70da878 14775
25a07c7e
YG
147762014-02-05 Yury Gribov <y.gribov@samsung.com>
14777
14778 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
14779 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
14780 sanitization attributes.
14781 (can_inline_edge_p): Likewise.
14782 (sanitize_attrs_match_for_inline_p): New function.
14783
4bf2a588
JH
147842014-02-04 Jan Hubicka <hubicka@ucw.cz>
14785
14786 * ipa-prop.c (detect_type_change): Shor circuit testing of
14787 type changes on THIS pointer.
14788
d92f4df0
JDA
147892014-02-04 John David Anglin <danglin@gcc.gnu.org>
14790
14791 PR target/59777
14792 * config/pa/pa.c (legitimize_tls_address): Return original address
14793 if not passed a SYMBOL_REF rtx.
14794 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
14795 addresses.
14796 (pa_emit_move_sequence): Simplify TLS source operands.
14797 (pa_legitimate_constant_p): Reject all TLS constants.
14798 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
14799 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
14800
d665f8dd
JH
148012014-02-04 Jan Hubicka <hubicka@ucw.cz>
14802
14803 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
14804 groups when we know they are controlled by LTO.
14805 * varasm.c (default_binds_local_p_1): If object is in other partition,
14806 it will be resolved locally.
14807
6a071860
BE
148082014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
14809
e2fc3b4f 14810 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 14811 use SSIZE_MAX because it is not always defined.
6a071860 14812
8e9d68a9
VM
148132014-02-04 Vladimir Makarov <vmakarov@redhat.com>
14814
14815 PR bootstrap/59913
14816 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
14817 threshold for pseudo splitting.
14818 (update_ebb_live_info): Process call argument hard registers and
14819 hard registers from insn definition too.
14820 (max_small_class_regs_num): New constant.
14821 (inherit_in_ebb): Update live hard regs through EBBs. Update
14822 reloads_num only for small register classes. Don't split for
14823 outputs of jumps.
14824
8472fa80
MT
148252014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
14826
14827 PR ipa/60058
14828 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
14829 is non-null.
14830
df98e37f
JH
148312014-02-04 Jan Hubicka <hubicka@ucw.cz>
14832
1287ae50
UB
14833 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
14834 visibility is safe.
df98e37f 14835
71e55f04
MP
148362014-02-04 Marek Polacek <polacek@redhat.com>
14837
14838 * gdbinit.in (pel): Define.
14839
229e56f9
BE
148402014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
14841
14842 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
14843 behavior.
14844
c39276b8
RB
148452014-02-04 Richard Biener <rguenther@suse.de>
14846
14847 PR lto/59723
14848 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
14849 in function context local.
14850 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
14851 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
14852 similar to LTO_imported_decl_ref.
14853
66b3ed5f
JJ
148542014-02-04 Jakub Jelinek <jakub@redhat.com>
14855
029ce7a2
JJ
14856 PR tree-optimization/60002
14857 * cgraphclones.c (build_function_decl_skip_args): Clear
14858 DECL_LANG_SPECIFIC.
14859
8e91d222
JJ
14860 PR tree-optimization/60023
14861 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
14862 false to gsi_replace.
14863 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
14864 has been in some EH region and vec_stmt could throw, add
14865 vec_stmt into the same EH region.
14866 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
14867 has no lhs, ignore it.
14868 * internal-fn.c (expand_MASK_LOAD): Likewise.
14869
eb259c4a
JJ
14870 PR ipa/60026
14871 * tree-inline.c (copy_forbidden): Fail for
14872 __attribute__((optimize (0))) functions.
14873
92d05580
JJ
14874 PR other/58712
14875 * omp-low.c (simd_clone_struct_copy): If from->inbranch
14876 is set, copy one less argument.
30540e79
JJ
14877 (expand_simd_clones): Don't subtract clone_info->inbranch
14878 from simd_clone_struct_alloc argument.
92d05580 14879
be3afd67
JJ
14880 PR rtl-optimization/57915
14881 * recog.c (simplify_while_replacing): If all unary/binary/relational
14882 operation arguments are constant, attempt to simplify those.
14883
66b3ed5f
JJ
14884 PR middle-end/59261
14885 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
14886 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
14887
5961d779
RB
148882014-02-04 Richard Biener <rguenther@suse.de>
14889
14890 PR tree-optimization/60012
14891 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
14892 TBAA disambiguation to all DDRs.
14893
91da0481
RO
148942014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14895
14896 PR target/59788
14897 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
14898 (LINK_SPEC): Use it for -shared, -shared-libgcc.
14899
39960d1c
JH
149002014-02-03 Jan Hubicka <hubicka@ucw.cz>
14901
14902 PR ipa/59882
14903 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
14904
149052014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
14906
14907 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
14908 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
14909
39960d1c 149102014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
14911
14912 PR ipa/59831
14913 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
14914 to figure out targets of polymorphic calls with known decl.
14915 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
14916 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
14917 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
14918 (get_polymorphic_call_info): ... here.
14919 (get_polymorphic_call_info_from_invariant): New function.
14920
39960d1c 149212014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
14922
14923 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
14924 lookup via vtable pointer; check for type consistency
14925 and turn inconsitent facts into UNREACHABLE.
14926 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
14927 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
14928 type inconsistent querries; return UNREACHABLE instead.
9de2f554 14929
ade3ff24
RH
149302014-02-03 Richard Henderson <rth@twiddle.net>
14931
14932 PR tree-opt/59924
14933 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
14934 already processed this node.
14935 (normalize_one_pred_1): Pass along mark_set.
14936 (normalize_one_pred): Create and destroy a pointer_set_t.
14937 (normalize_one_pred_chain): Likewise.
14938
55428cc3
LA
149392014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
14940
14941 PR gcov-profile/58602
1287ae50 14942 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 14943
85942f45
JH
149442014-02-03 Jan Hubicka <hubicka@ucw.cz>
14945
14946 PR ipa/59831
1287ae50
UB
14947 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
14948 -fno-devirtualize; try to devirtualize by the knowledge of
14949 virtual table pointer given by aggregate propagation.
85942f45 14950 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 14951 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
14952 is relevant for polymorphic calls.
14953 (determine_known_aggregate_parts): Add arg_type parameter; use it
14954 instead of determining the type from pointer type.
14955 (ipa_compute_jump_functions_for_edge): Update call of
14956 determine_known_aggregate_parts.
14957 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
14958 (gimple_get_virt_method_for_binfo): ... here; simplify using
14959 vtable_pointer_value_to_vtable.
14960 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
14961 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 14962 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
14963 (vtable_pointer_value_to_vtable): Break out from ...; handle also
14964 POINTER_PLUS_EXPR.
14965 (vtable_pointer_value_to_binfo): ... here.
14966 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
14967
bddc974e
TJ
149682014-02-03 Teresa Johnson <tejohnson@google.com>
14969
14970 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
14971 redef of outer loop index variable.
14972
5d77fb19
MG
149732014-02-03 Marc Glisse <marc.glisse@inria.fr>
14974
14975 PR c++/53017
14976 PR c++/59211
14977 * doc/extend.texi (Function Attributes): Typo.
14978
cf5b2be2
CH
149792014-02-03 Cong Hou <congh@google.com>
14980
14981 PR tree-optimization/60000
14982 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
14983 if the vectorized statement is a store. A store statement can only
14984 appear at the end of pattern statements.
14985
a2a1ddb5
L
149862014-02-03 H.J. Lu <hongjiu.lu@intel.com>
14987
14988 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
14989 (ix86_option_override_internal): Default long double to 64-bit for
14990 32-bit Bionic and to 128-bit for 64-bit Bionic.
14991
14992 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
14993 TARGET_LONG_DOUBLE_128 is true.
14994 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
14995
14996 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
14997 (mlong-double-64): Negate -mlong-double-128.
14998 (mlong-double-128): New option.
14999
15000 * config/i386/i386-c.c (ix86_target_macros): Define
15001 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
15002
15003 * doc/invoke.texi: Document -mlong-double-128.
15004
f742cf90
L
150052014-02-03 H.J. Lu <hongjiu.lu@intel.com>
15006
15007 PR rtl-optimization/60024
15008 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
15009
8f36fd30
MT
150102014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
15011
1287ae50 15012 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 15013
861ec4f3
AB
150142014-02-03 Andrey Belevantsev <abel@ispras.ru>
15015
15016 PR rtl-optimization/57662
15017 * sel-sched.c (code_motion_path_driver): Do not mark already not
15018 existing blocks in the visiting bitmap.
15019
fe08255d
AB
150202014-02-03 Andrey Belevantsev <abel@ispras.ru>
15021
15022 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
15023 on the insn being emitted.
15024
96d3a240
JG
150252014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
15026 Will Deacon <will.deacon@arm.com>
15027
15028 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
15029
9dd6c9f7
KT
150302014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15031
15032 * config/arm/arm-tables.opt: Regenerate.
15033
60331d00
BS
150342014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15035
15036 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
15037 for vector types other than V16QImode.
15038 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
15039 define_expand, and call altivec_expand_vec_perm_le when producing
15040 code with little endian element order.
15041 (*altivec_vperm_<mode>_internal): New insn having previous
15042 behavior of altivec_vperm_<mode>.
15043 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
15044 altivec_expand_vec_perm_le when producing code with little endian
15045 element order.
15046 (*altivec_vperm_<mode>_uns_internal): New insn having previous
15047 behavior of altivec_vperm_<mode>_uns.
15048
b80afde9
BS
150492014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15050
15051 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
15052 (altivec_vsumsws): Add handling for -maltivec=be with a little
15053 endian target.
15054 (altivec_vsumsws_direct): New.
15055 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
15056 gen_altivec_vsumsws.
15057
39960d1c 150582014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
15059
15060 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
15061 vtable_pointer_value_to_binfo): New functions.
15062 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
15063 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
15064
02b67731
SL
150652014-02-02 Sandra Loosemore <sandra@codesourcery.com>
15066
15067 * config/nios2/nios2.md (load_got_register): Initialize GOT
15068 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
15069 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
15070
2ace77c2
JH
150712014-02-02 Jan Hubicka <hubicka@ucw.cz>
15072
15073 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
15074 preserverd by passthrough, do not propagate the type.
15075
70b2d364
RS
150762014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
15077
15078 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
15079 (mips_atomic_assign_expand_fenv): New function.
15080 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
15081
a90c0245
RS
150822014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
15083
15084 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
15085 (__builtin_mips_set_fcsr): Likewise.
15086 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
15087 MIPS_USI_FTYPE_VOID.
15088 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
15089 (mips16_expand_set_fcsr): Likewise.
15090 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
15091 (mips16_set_fcsr_stub): Likewise.
15092 (mips16_get_fcsr_one_only_stub): New class.
15093 (mips16_set_fcsr_one_only_stub): Likewise.
15094 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
15095 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
15096 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
15097 (hard_float): New availability predicate.
15098 (mips_builtins): Add get_fcsr and set_fcsr.
15099 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
15100 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
15101 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
15102 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
15103 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
15104 patterns.
15105
6d51cc90
RS
151062014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
15107
15108 * config/mips/mips.c (mips_one_only_stub): New class.
15109 (mips_need_mips16_rdhwr_p): Replace with...
15110 (mips16_rdhwr_stub): ...this new variable.
15111 (mips16_stub_call_address): New function.
15112 (mips16_rdhwr_one_only_stub): New class.
15113 (mips_expand_thread_pointer): Use mips16_stub_call_address.
15114 (mips_output_mips16_rdhwr): Delete.
15115 (mips_finish_stub): New function.
15116 (mips_code_end): Use it to handle rdhwr stubs.
15117
6c90f137
UB
151182014-02-02 Uros Bizjak <ubizjak@gmail.com>
15119
15120 PR target/60017
15121 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
15122 when calculating size of integer atomic types.
15123
5e64bbbb
L
151242014-02-02 H.J. Lu <hongjiu.lu@intel.com>
15125
15126 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
15127
021293cb
JJ
151282014-02-01 Jakub Jelinek <jakub@redhat.com>
15129
15130 PR tree-optimization/60003
15131 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
15132 * profile.c (branch_prob): Use gimple_call_builtin_p
15133 to check for BUILT_IN_SETJMP_RECEIVER.
15134 * tree-inline.c (copy_bb): Call notice_special_calls.
15135
6334f3e9
VM
151362014-01-31 Vladimir Makarov <vmakarov@redhat.com>
15137
15138 PR bootstrap/59985
15139 * lra-constraints.c (process_alt_operands): Update reload_sum only
15140 on the first pass.
15141
efa7882f
RH
151422014-01-31 Richard Henderson <rth@redhat.com>
15143
15144 PR middle-end/60004
15145 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
15146 until after else_eh is processed.
15147
de72ea02
IT
151482014-01-31 Ilya Tocar <ilya.tocar@intel.com>
15149
15150 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
15151 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
15152 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
15153 in smmintrin.h, remove them.
15154 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
15155 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
15156 * config/i386/i386.md (ROUND_SAE): Fix value.
15157 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
15158 (const48_operand): New.
15159 * config/i386/subst.md (round), (round_expand): Use
15160 const_4_or_8_to_11_operand.
15161 (round_saeonly), (round_saeonly_expand): Use const48_operand.
15162
be792bce
IT
151632014-01-31 Ilya Tocar <ilya.tocar@intel.com>
15164
15165 * config/i386/constraints.md (Yk): Swap meaning with k.
15166 * config/i386/i386.md (movhi_internal): Change Yk to k.
15167 (movqi_internal): Ditto.
15168 (*k<logic><mode>): Ditto.
15169 (*andhi_1): Ditto.
15170 (*andqi_1): Ditto.
15171 (kandn<mode>): Ditto.
15172 (*<code>hi_1): Ditto.
15173 (*<code>qi_1): Ditto.
15174 (kxnor<mode>): Ditto.
15175 (kortestzhi): Ditto.
15176 (kortestchi): Ditto.
15177 (kunpckhi): Ditto.
15178 (*one_cmplhi2_1): Ditto.
15179 (*one_cmplqi2_1): Ditto.
15180 * config/i386/sse.md (): Change k to Yk.
15181 (avx512f_load<mode>_mask): Ditto.
15182 (avx512f_blendm<mode>): Ditto.
15183 (avx512f_store<mode>_mask): Ditto.
15184 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
15185 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
15186 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
15187 Ditto.
be792bce
IT
15188 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
15189 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
15190 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
15191 (avx512f_maskcmp<mode>3): Ditto.
15192 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
15193 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
15194 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
15195 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
15196 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
15197 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
15198 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
15199 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
15200 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
15201 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
15202 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
15203 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
15204 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
15205 (vec_extract_lo_<mode>_maskm): Ditto.
15206 (vec_extract_hi_<mode>_maskm): Ditto.
15207 (avx512f_vternlog<mode>_mask): Ditto.
15208 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
15209 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
15210 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
15211 (avx512f_<code>v8div16qi2_mask): Ditto.
15212 (avx512f_<code>v8div16qi2_mask_store): Ditto.
15213 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
15214 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
15215 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
15216 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
15217 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
15218 (*avx512pf_gatherpf<mode>df_mask): Ditto.
15219 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
15220 (*avx512pf_scatterpf<mode>df_mask): Ditto.
15221 (avx512cd_maskb_vec_dupv8di): Ditto.
15222 (avx512cd_maskw_vec_dupv16si): Ditto.
15223 (avx512f_vpermi2var<mode>3_maskz): Ditto.
15224 (avx512f_vpermi2var<mode>3_mask): Ditto.
15225 (avx512f_vpermi2var<mode>3_mask): Ditto.
15226 (avx512f_vpermt2var<mode>3_maskz): Ditto.
15227 (*avx512f_gathersi<mode>): Ditto.
15228 (*avx512f_gathersi<mode>_2): Ditto.
15229 (*avx512f_gatherdi<mode>): Ditto.
15230 (*avx512f_gatherdi<mode>_2): Ditto.
15231 (*avx512f_scattersi<mode>): Ditto.
15232 (*avx512f_scatterdi<mode>): Ditto.
15233 (avx512f_compress<mode>_mask): Ditto.
15234 (avx512f_compressstore<mode>_mask): Ditto.
15235 (avx512f_expand<mode>_mask): Ditto.
15236 * config/i386/subst.md (mask): Change k to Yk.
15237 (mask_scalar_merge): Ditto.
15238 (sd): Ditto.
15239
0878d68a
MG
152402014-01-31 Marc Glisse <marc.glisse@inria.fr>
15241
15242 * doc/extend.texi (Vector Extensions): Document ?: in C++.
15243
fdfd537b
RB
152442014-01-31 Richard Biener <rguenther@suse.de>
15245
15246 PR middle-end/59990
15247 * builtins.c (fold_builtin_memory_op): Make sure to not
15248 use a floating-point mode or a boolean or enumeral type for
15249 the copy operation.
15250
4f50b9ff
DD
152512014-01-30 DJ Delorie <dj@redhat.com>
15252
15253 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
15254 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
15255 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
15256 whenever main() has an epilogue.
15257
c3e96073
BS
152582014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15259
15260 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
15261 unused variable "field".
15262 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
15263 (vsx_mergeh_<mode>): Likewise.
15264 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
15265 (altivec_vmrghh): Likewise.
15266 (altivec_vmrghw): Likewise.
15267 (altivec_vmrglb): Likewise.
15268 (altivec_vmrglh): Likewise.
15269 (altivec_vmrglw): Likewise.
15270 (altivec_vspltb): Add missing uses.
15271 (altivec_vsplth): Likewise.
15272 (altivec_vspltw): Likewise.
15273 (altivec_vspltsf): Likewise.
15274
4bb9c32d
JJ
152752014-01-30 Jakub Jelinek <jakub@redhat.com>
15276
15277 PR target/59923
15278 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
15279 frame related instructions.
15280
7613fa50
VM
152812014-01-30 Vladimir Makarov <vmakarov@redhat.com>
15282
15283 PR rtl-optimization/59959
15284 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
15285 any reload of register whose subreg is invalid.
15286
6fb82517
JJ
152872014-01-30 Jakub Jelinek <jakub@redhat.com>
15288
33425d6c 15289 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
15290 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
15291 Add missing return type - void.
15292
bf53d4b8
BS
152932014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15294
15295 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
15296 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
15297 remove element index adjustment for endian (now handled in vsx.md
15298 and altivec.md).
15299 (altivec_expand_vec_perm_const): Use
15300 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
15301 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
15302 (vsx_xxspltw_<mode>): Adjust element index for little endian.
15303 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
15304 define_expand and a new define_insn *altivec_vspltb_internal;
15305 adjust for -maltivec=be on a little endian target.
15306 (altivec_vspltb_direct): New.
15307 (altivec_vsplth): Divide into a define_expand and a new
15308 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
15309 little endian target.
15310 (altivec_vsplth_direct): New.
15311 (altivec_vspltw): Divide into a define_expand and a new
15312 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
15313 little endian target.
15314 (altivec_vspltw_direct): New.
15315 (altivec_vspltsf): Divide into a define_expand and a new
15316 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
15317 a little endian target.
15318
c965e187
RB
153192014-01-30 Richard Biener <rguenther@suse.de>
15320
15321 PR tree-optimization/59993
15322 * tree-ssa-forwprop.c (associate_pointerplus): Check we
15323 can propagate form the earlier stmt and avoid the transform
15324 when the intermediate result is needed.
15325
ba117645
AD
153262014-01-30 Alangi Derick <alangiderick@gmail.com>
15327
15328 * README.Portability: Fix typo.
15329
4bb66ef3 153302014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
15331
15332 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
15333 comparison_operator with ordered_comparison_operator.
15334
c345a0b1
NC
153352014-01-30 Nick Clifton <nickc@redhat.com>
15336
15337 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
15338 Rename to mn10300_store_multiple_regs.
15339 * config/mn10300/mn10300.c: Likewise.
15340 * config/mn10300/mn10300.md (store_movm): Fix typo: call
15341 store_multiple_regs.
15342 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
15343 Call mn10300_store_multiple_regs.
15344
2d70f6d4
NC
153452014-01-30 Nick Clifton <nickc@redhat.com>
15346 DJ Delorie <dj@redhat.com>
15347
15348 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
15349 %fp 2 to keep registers after it properly word-aligned.
15350 (rl78_alloc_physical_registers_umul): Handle the case where both
15351 input operands are the same.
15352
c972624e
RB
153532014-01-30 Richard Biener <rguenther@suse.de>
15354
15355 PR tree-optimization/59903
15356 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
15357 check properly.
15358
fc044323
JM
153592014-01-30 Jason Merrill <jason@redhat.com>
15360
404c2aea
JM
15361 PR c++/59633
15362 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
15363
fc044323
JM
15364 PR c++/59645
15365 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
15366
f30a0ba5
RB
153672014-01-30 Richard Biener <rguenther@suse.de>
15368
15369 PR tree-optimization/59951
33425d6c 15370 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 15371
aad8816f
SZ
153722014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
15373
15374 PR target/59784
15375 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
15376 SFmode to DFmode case.
15377
3b16363e
DD
153782014-01-29 DJ Delorie <dj@redhat.com>
15379
15380 * config/msp430/msp430.opt (-minrt): New.
15381 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
15382 if -minrt given.
15383 (ENDFILE_SPEC): Likewise.
15384
39960d1c 153852014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
15386
15387 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
15388 (estimate_function_body_sizes): Use it.
15389
1200933c
PC
153902014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
15391
15392 PR c++/58561
15393 * dwarf2out.c (is_cxx_auto): New.
15394 (is_base_type): Use it.
15395 (gen_type_die_with_usage): Likewise.
15396
68d3bacf
BS
153972014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15398
15399 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
15400 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
15401 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
15402 -maltivec=be with LE targets.
15403 (vsx_mergeh_<mode>): Likewise.
33425d6c 15404 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
15405 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
15406 (altivec_vmrghb): Replace with define_expand and new
33425d6c 15407 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
15408 (altivec_vmrghb_direct): New define_insn.
15409 (altivec_vmrghh): Replace with define_expand and new
33425d6c 15410 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
15411 (altivec_vmrghh_direct): New define_insn.
15412 (altivec_vmrghw): Replace with define_expand and new
33425d6c 15413 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
15414 (altivec_vmrghw_direct): New define_insn.
15415 (*altivec_vmrghsf): Adjust for endianness.
15416 (altivec_vmrglb): Replace with define_expand and new
33425d6c 15417 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
15418 (altivec_vmrglb_direct): New define_insn.
15419 (altivec_vmrglh): Replace with define_expand and new
33425d6c 15420 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
15421 (altivec_vmrglh_direct): New define_insn.
15422 (altivec_vmrglw): Replace with define_expand and new
33425d6c 15423 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
15424 (altivec_vmrglw_direct): New define_insn.
15425 (*altivec_vmrglsf): Adjust for endianness.
15426 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
15427 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
15428 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
15429 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
15430 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
15431 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
15432 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
15433 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
15434
aef66c94
MS
154352014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
15436
15437 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
15438 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
15439 whitespace.
15440
77574c35
RB
154412014-01-29 Richard Biener <rguenther@suse.de>
15442
15443 PR tree-optimization/58742
15444 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
15445 associate_pointerplus_align.
15446 (associate_pointerplus_diff): New function.
15447 (associate_pointerplus): Likewise. Call associate_pointerplus_align
15448 and associate_pointerplus_diff.
15449
15b25b24
RB
154502014-01-29 Richard Biener <rguenther@suse.de>
15451
15452 * lto-streamer.h (LTO_major_version): Bump to 3.
15453 (LTO_minor_version): Reset to 0.
15454
eb6006ad
RL
154552014-01-29 Renlin Li <Renlin.Li@arm.com>
15456
15457 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
15458 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
15459 (arm_file_start): Generate correct asm header for armv7ve.
15460 * config/arm/bpabi.h: Add multilib support for armv7ve.
15461 * config/arm/driver-arm.c: Change the architectures of cortex-a7
15462 and cortex-a15 to armv7ve.
15463 * config/arm/t-aprofile: Add multilib support for armv7ve.
15464 * doc/invoke.texi: Document -march=armv7ve.
15465
4bfb2fa2
RB
154662014-01-29 Richard Biener <rguenther@suse.de>
15467
15468 PR tree-optimization/58742
15469 * tree-ssa-forwprop.c (associate_plusminus): Return true
15470 if we changed sth, defer EH cleanup to ...
15471 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
15472 (simplify_mult): New function.
15473
42eb8bd1
JJ
154742014-01-29 Jakub Jelinek <jakub@redhat.com>
15475
09b22f48
JJ
15476 PR middle-end/59917
15477 PR tree-optimization/59920
15478 * tree.c (build_common_builtin_nodes): Remove
15479 __builtin_setjmp_dispatcher initialization.
15480 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
15481 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
15482 instead of gsi_after_labels + manually skipping debug stmts.
15483 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
15484 ignore bbs with IFN_ABNORMAL_DISPATCHER.
15485 * tree-inline.c (copy_edges_for_bb): Remove
15486 can_make_abnormal_goto argument, instead add abnormal_goto_dest
15487 argument. Ignore computed_goto_p stmts. Don't call
15488 make_abnormal_goto_edges. If a call might need abnormal edges
15489 for non-local gotos, see if it already has an edge to
15490 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
15491 with true argument, don't do anything then, otherwise add
15492 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
15493 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
15494 caller.
15495 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
15496 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
15497 (lower_stmt): Don't set data->calls_builtin_setjmp.
15498 (lower_builtin_setjmp): Adjust comment.
15499 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
15500 * tree-cfg.c (found_computed_goto): Remove.
15501 (factor_computed_gotos): Remove.
15502 (make_goto_expr_edges): Return bool, true for computed gotos.
15503 Don't call make_abnormal_goto_edges.
15504 (build_gimple_cfg): Don't set found_computed_goto, don't call
15505 factor_computed_gotos.
15506 (computed_goto_p): No longer static.
15507 (make_blocks): Don't set found_computed_goto.
15508 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
15509 (make_edges): If make_goto_expr_edges returns true, push bb
15510 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
15511 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
15512 vector. Record mapping between bbs and OpenMP regions if there
15513 are any, adjust make_gimple_omp_edges caller. Call
15514 handle_abnormal_edges.
15515 (make_abnormal_goto_edges): Remove.
15516 * tree-cfg.h (make_abnormal_goto_edges): Remove.
15517 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
15518 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 15519 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
15520 * internal-fn.def (ABNORMAL_DISPATCHER): New.
15521 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
15522 filling *region also set *region_idx to (*region)->entry->index.
15523
42eb8bd1
JJ
15524 PR other/58712
15525 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
15526 For REGs set ORIGINAL_REGNO.
15527
4a271b7e
BM
155282014-01-29 Bingfeng Mei <bmei@broadcom.com>
15529
33425d6c 15530 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
15531 vec_widen_(s|u)mul_even/odd pair if it is less efficient
15532 than hi/lo pair.
15533
3d54b29d
JJ
155342014-01-29 Jakub Jelinek <jakub@redhat.com>
15535
15536 PR tree-optimization/59594
15537 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
15538 a copy of the datarefs vector rather than the vector itself.
15539
2e5e7103
JM
155402014-01-28 Jason Merrill <jason@redhat.com>
15541
15542 PR c++/53756
15543 * dwarf2out.c (auto_die): New static.
15544 (gen_type_die_with_usage): Handle C++1y 'auto'.
15545 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
15546 on definition.
15547
d5d618b5
L
155482014-01-28 H.J. Lu <hongjiu.lu@intel.com>
15549
15550 PR target/59672
15551 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
15552 (SPEC_X32): Likewise.
15553 (SPEC_64): Likewise.
15554 * config/i386/i386.c (ix86_option_override_internal): Turn off
15555 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
15556 for TARGET_16BIT.
15557 (x86_file_start): Output .code16gcc for TARGET_16BIT.
15558 * config/i386/i386.h (TARGET_16BIT): New macro.
15559 (TARGET_16BIT_P): Likewise.
15560 * config/i386/i386.opt: Add m16.
15561 * doc/invoke.texi: Document -m16.
15562
367c8286
DS
155632014-01-28 Jakub Jelinek <jakub@redhat.com>
15564
15565 PR preprocessor/59935
15566 * input.c (location_get_source_line): Bail out on when line number
33425d6c 15567 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 15568
07ec81f9
RB
155692014-01-28 Richard Biener <rguenther@suse.de>
15570
15571 PR tree-optimization/58742
15572 * tree-ssa-forwprop.c (associate_plusminus): Handle
15573 pointer subtraction of the form (T)(P + A) - (T)P.
15574
5facb998
KT
155752014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15576
15577 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
15578 at const_int_cost.
15579
e04faf24
RB
155802014-01-28 Richard Biener <rguenther@suse.de>
15581
15582 Revert
15583 2014-01-28 Richard Biener <rguenther@suse.de>
15584
15585 PR rtl-optimization/45364
15586 PR rtl-optimization/59890
15587 * var-tracking.c (local_get_addr_clear_given_value): Handle
15588 already cleared slot.
15589 (val_reset): Handle not allocated local_get_addr_cache.
15590 (vt_find_locations): Use post-order on the inverted CFG.
15591
6593260b
RB
155922014-01-28 Richard Biener <rguenther@suse.de>
15593
33425d6c 15594 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 15595
9ec2d2c1
RB
155962014-01-28 Richard Biener <rguenther@suse.de>
15597
15598 PR rtl-optimization/45364
15599 PR rtl-optimization/59890
15600 * var-tracking.c (local_get_addr_clear_given_value): Handle
15601 already cleared slot.
15602 (val_reset): Handle not allocated local_get_addr_cache.
15603 (vt_find_locations): Use post-order on the inverted CFG.
15604
2ceb362d
AM
156052014-01-28 Alan Modra <amodra@gmail.com>
15606
15607 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
15608 * configure.ac <recursive call for build != host>: Define
15609 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
15610 and LD_FOR_BUILD too.
15611 * configure: Regenerate.
15612
0ebe2584
ASJ
156132014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
15614
15615 * config/i386/i386.c (get_builtin_code_for_version): Separate
15616 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
15617 Broadwell from Haswell.
15618
a33fc7fe
SE
156192014-01-27 Steve Ellcey <sellcey@mips.com>
15620
15621 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
15622 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
15623 * config/mips/mips.c (mips_option_override): Change setting
15624 of TARGET_DSP.
15625 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
15626 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
15627 Change from Mask to Var.
a33fc7fe 15628
a99be3c9
JL
156292014-01-27 Jeff Law <law@redhat.com>
15630
15631 * ipa-inline.c (inline_small_functions): Fix typo.
15632
d256b866
IT
156332014-01-27 Ilya Tocar <ilya.tocar@intel.com>
15634
15635 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
15636 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
15637 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
15638 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
15639 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
15640 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
15641 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
15642 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
15643 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
15644 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
15645 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
15646 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
15647 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
15648 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
15649 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
15650 (_mm512_storeu_epi64): Ditto.
15651 (_mm512_cmpge_epi32_mask): Ditto.
15652 (_mm512_cmpge_epu32_mask): Ditto.
15653 (_mm512_cmpge_epi64_mask): Ditto.
15654 (_mm512_cmpge_epu64_mask): Ditto.
15655 (_mm512_cmple_epi32_mask): Ditto.
15656 (_mm512_cmple_epu32_mask): Ditto.
15657 (_mm512_cmple_epi64_mask): Ditto.
15658 (_mm512_cmple_epu64_mask): Ditto.
15659 (_mm512_cmplt_epi32_mask): Ditto.
15660 (_mm512_cmplt_epu32_mask): Ditto.
15661 (_mm512_cmplt_epi64_mask): Ditto.
15662 (_mm512_cmplt_epu64_mask): Ditto.
15663 (_mm512_cmpneq_epi32_mask): Ditto.
15664 (_mm512_cmpneq_epu32_mask): Ditto.
15665 (_mm512_cmpneq_epi64_mask): Ditto.
15666 (_mm512_cmpneq_epu64_mask): Ditto.
15667 (_mm512_expand_pd): Ditto.
15668 (_mm512_expand_ps): Ditto.
15669 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
15670 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
15671 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
15672 * config/i386/i386.c (ix86_builtins): Add
15673 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
15674 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
15675 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
15676 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
15677 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
15678 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
15679 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
15680 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
15681 IX86_BUILTIN_PMOVUSQW512_MEM.
15682 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
15683 __builtin_ia32_pmovsqd512mem_mask,
15684 __builtin_ia32_pmovqd512mem_mask,
15685 __builtin_ia32_pmovusqw512mem_mask,
15686 __builtin_ia32_pmovsqw512mem_mask,
15687 __builtin_ia32_pmovqw512mem_mask,
15688 __builtin_ia32_pmovusdw512mem_mask,
15689 __builtin_ia32_pmovsdw512mem_mask,
15690 __builtin_ia32_pmovdw512mem_mask,
15691 __builtin_ia32_pmovqb512mem_mask,
15692 __builtin_ia32_pmovusqb512mem_mask,
15693 __builtin_ia32_pmovsqb512mem_mask,
15694 __builtin_ia32_pmovusdb512mem_mask,
15695 __builtin_ia32_pmovsdb512mem_mask,
15696 __builtin_ia32_pmovdb512mem_mask.
15697 (bdesc_args): Add __builtin_ia32_expanddf512,
15698 __builtin_ia32_expandsf512.
15699 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
15700 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
15701 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
15702 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
15703 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
15704 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
15705 (avx512f_<code>v8div16qi2_mask_store): This.
15706 (avx512f_expand<mode>): New.
15707
e711dffd
KY
157082014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
15709
1287ae50 15710 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 15711 New.
e711dffd
KY
15712 (_mm512_mask_prefetch_i64gather_pd): Ditto.
15713 (_mm512_prefetch_i32scatter_pd): Ditto.
15714 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
15715 (_mm512_prefetch_i64scatter_pd): Ditto.
15716 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
15717 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
15718 (_mm512_mask_prefetch_i64gather_ps): Ditto.
15719 (_mm512_prefetch_i32scatter_ps): Ditto.
15720 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
15721 (_mm512_prefetch_i64scatter_ps): Ditto.
15722 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
15723 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
15724 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
15725 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
15726 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
15727 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
15728 IX86_BUILTIN_SCATTERPFQPD.
15729 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
15730 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
15731 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
15732 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
15733 __builtin_ia32_scatterpfqps.
15734 (ix86_expand_builtin): Expand new built-ins.
15735 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
15736 fix memory access data type.
15737 (*avx512pf_gatherpf<mode>_mask): Ditto.
15738 (*avx512pf_gatherpf<mode>): Ditto.
15739 (avx512pf_scatterpf<mode>): Ditto.
15740 (*avx512pf_scatterpf<mode>_mask): Ditto.
15741 (*avx512pf_scatterpf<mode>): Ditto.
15742 (GATHER_SCATTER_SF_MEM_MODE): New.
15743 (avx512pf_gatherpf<mode>df): Ditto.
15744 (*avx512pf_gatherpf<mode>df_mask): Ditto.
15745 (*avx512pf_scatterpf<mode>df): Ditto.
15746
904e5ccd
JJ
157472014-01-27 Jakub Jelinek <jakub@redhat.com>
15748
15749 PR bootstrap/59934
15750 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
15751 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
15752 reached.
15753
84e90123
JG
157542014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
15755
15756 * common/config/arm/arm-common.c
15757 (arm_rewrite_mcpu): Handle multiple names.
15758 * config/arm/arm.h
15759 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
15760
c6f6157a
JG
157612014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
15762
15763 * gimple-builder.h (create_gimple_tmp): Delete.
15764
770516c9
CB
157652014-01-27 Christian Bruel <christian.bruel@st.com>
15766
15767 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
15768 words comparisons.
15769
cc5cec10
JDA
157702014-01-26 John David Anglin <danglin@gcc.gnu.org>
15771
5aa3c762
JDA
15772 * config/pa/pa.md (call): Generate indirect long calls to non-local
15773 functions when outputing 32-bit code.
15774 (call_value): Likewise except for special call to buggy powf function.
15775
cc5cec10
JDA
15776 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
15777 portable runtime and PIC indirect calls.
15778 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
15779 and PIC call sequences. Use ldo instead of blr to set return register
15780 in PIC call sequence.
15781
6bb0e248
WL
157822014-01-25 Walter Lee <walt@tilera.com>
15783
15784 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
15785 avoid clobbering a live register.
15786
dab03fe3
WL
157872014-01-25 Walter Lee <walt@tilera.com>
15788
770516c9 15789 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 15790 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 15791 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
15792 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
15793
905c20c1
WL
157942014-01-25 Walter Lee <walt@tilera.com>
15795
15796 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
15797 arguments on even registers.
15798 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
15799 STACK_BOUNDARY.
15800 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
15801 (BIGGEST_ALIGNMENT): Ditto.
15802 (BIGGEST_FIELD_ALIGNMENT): Ditto.
15803
8e90a625
WL
158042014-01-25 Walter Lee <walt@tilera.com>
15805
15806 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
15807 insns before bundling.
0ebe2584 15808 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 15809
450c1ffe
WL
158102014-01-25 Walter Lee <walt@tilera.com>
15811
15812 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
15813 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
15814 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 15815
450c1ffe 158162014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 15817
317a951f
RS
15818 * config/mips/constraints.md (kl): Delete.
15819 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
15820 define expands, using...
15821 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
15822 instructions for MIPS16.
15823 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
15824 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
15825
3abe9053
WL
158262014-01-25 Walter Lee <walt@tilera.com>
15827
0ebe2584 15828 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
15829 (clzdi2): Ditto.
15830 (ffsdi2): Ditto.
15831
b0e0fe41
WL
158322014-01-25 Walter Lee <walt@tilera.com>
15833
15834 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
15835 (TARGET_EXPAND_TO_RTL_HOOK): Define.
15836
2c8798a2
RS
158372014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
15838
15839 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
15840 Handle XOR.
15841
2105be5a
JJ
158422014-01-25 Jakub Jelinek <jakub@redhat.com>
15843
4def6060
JJ
15844 * print-rtl.c (in_call_function_usage): New var.
15845 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
15846 EXPR_LIST mode as mode and not as reg note name.
15847
2105be5a
JJ
15848 PR middle-end/59561
15849 * cfgloopmanip.c (copy_loop_info): If
15850 loop->warned_aggressive_loop_optimizations, make sure
15851 the flag is set in target loop too.
15852
b72271b9
BI
158532014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
15854
15855 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
15856 flag_cilkplus.
15857 * builtins.def: Likewise.
15858 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
15859 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
15860 * ira.c (ira_setup_eliminable_regset): Likewise.
15861 * omp-low.c (gate_expand_omp): Likewise.
15862 (execute_lower_omp): Likewise.
15863 (diagnose_sb_0): Likewise.
15864 (gate_diagnose_omp_blocks): Likewise.
15865 (simd_clone_clauses_extract): Likewise.
15866 (gate): Likewise.
15867
8adcc78b
BS
158682014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15869
15870 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
15871 correction for little endian...
15872 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
15873 here.
15874
3d750496
JL
158752014-01-24 Jeff Law <law@redhat.com>
15876
15877 PR tree-optimization/59919
15878 * tree-vrp.c (find_assert_locations_1): Do not register asserts
15879 for non-returning calls.
15880
1c05df59
JG
158812014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
15882
15883 * common/config/aarch64/aarch64-common.c
15884 (aarch64_rewrite_mcpu): Handle multiple names.
15885 * config/aarch64/aarch64.h
15886 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
15887
317363b4
DS
158882014-01-24 Dodji Seketeli <dodji@redhat.com>
15889
15890 * input.c (add_file_to_cache_tab): Handle the case where fopen
15891 returns NULL.
15892
16370fa7
L
158932014-01-23 H.J. Lu <hongjiu.lu@intel.com>
15894
15895 PR target/59929
15896 * config/i386/i386.md (pushsf splitter): Get stack adjustment
15897 from push operand if code of push isn't PRE_DEC.
15898
b846c948
MM
158992014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
15900
15901 PR target/59909
15902 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15903 -mquad-memory-atomic. Update -mquad-memory documentation to say
15904 it is only used for non-atomic loads/stores.
15905
15906 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
15907 -mquad-memory or -mquad-memory-atomic switches.
15908
15909 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
15910 -mquad-memory-atomic to ISA 2.07 support.
15911
15912 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
15913 to separate support of normal quad word memory operations (ldq, stq)
15914 from the atomic quad word memory operations.
b846c948
MM
15915
15916 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
15917 support to separate non-atomic quad word operations from atomic
15918 quad word operations. Disable non-atomic quad word operations in
15919 little endian mode so that we don't have to swap words after the
15920 load and before the store.
15921 (quad_load_store_p): Add comment about atomic quad word support.
15922 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
15923 options printed with -mdebug=reg.
15924
15925 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
15926 -mquad-memory-atomic as the test for whether we have quad word
15927 atomic instructions.
0ebe2584
ASJ
15928 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
15929 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
15930
15931 * config/rs6000/sync.md (load_lockedti): Insure that the address
15932 is a proper indexed or indirect address for the lqarx instruction.
15933 On little endian systems, swap the hi/lo registers after the lqarx
15934 instruction.
15935 (load_lockedpti): Use indexed_or_indirect_operand predicate to
15936 insure the address is valid for the lqarx instruction.
15937 (store_conditionalti): Insure that the address is a proper indexed
15938 or indirect address for the stqcrx. instruction. On little endian
15939 systems, swap the hi/lo registers before doing the stqcrx.
15940 instruction.
15941 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
15942 insure the address is valid for the stqcrx. instruction.
15943
15944 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
15945 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
15946 type of quad memory support is available.
15947
6e23f296
VM
159482014-01-23 Vladimir Makarov <vmakarov@redhat.com>
15949
15950 PR regression/59915
15951 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
15952 there is a danger of looping.
15953
0a4f04e5
PH
159542014-01-23 Pat Haugen <pthaugen@us.ibm.com>
15955
15956 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
15957 force flag_ira_loop_pressure if set via command line.
15958
f9a4c9a6
AV
159592014-01-23 Alex Velenko <Alex.Velenko@arm.com>
15960
15961 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
15962 (ashr_simd): New builtin handling DI mode.
15963 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
15964 (aarch64_sshr_simddi): New match pattern.
15965 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
15966 (vshrd_n_s64): Likewise.
15967 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
15968
949ad971
NC
159692014-01-23 Nick Clifton <nickc@redhat.com>
15970
15971 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
15972 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
15973 favour of mcu specific scripts.
15974 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
15975 430x multilibs.
15976
d5ecead9
JG
159772014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
15978 Alex Velenko <Alex.Velenko@arm.com>
15979
15980 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
15981 (vaddv_s16): Likewise.
15982 (vaddv_s32): Likewise.
15983 (vaddv_u8): Likewise.
15984 (vaddv_u16): Likewise.
15985 (vaddv_u32): Likewise.
15986 (vaddvq_s8): Likewise.
15987 (vaddvq_s16): Likewise.
15988 (vaddvq_s32): Likewise.
15989 (vaddvq_s64): Likewise.
15990 (vaddvq_u8): Likewise.
15991 (vaddvq_u16): Likewise.
15992 (vaddvq_u32): Likewise.
15993 (vaddvq_u64): Likewise.
15994 (vaddv_f32): Likewise.
15995 (vaddvq_f32): Likewise.
15996 (vaddvq_f64): Likewise.
15997 (vmaxv_f32): Likewise.
15998 (vmaxv_s8): Likewise.
15999 (vmaxv_s16): Likewise.
16000 (vmaxv_s32): Likewise.
16001 (vmaxv_u8): Likewise.
16002 (vmaxv_u16): Likewise.
16003 (vmaxv_u32): Likewise.
16004 (vmaxvq_f32): Likewise.
16005 (vmaxvq_f64): Likewise.
16006 (vmaxvq_s8): Likewise.
16007 (vmaxvq_s16): Likewise.
16008 (vmaxvq_s32): Likewise.
16009 (vmaxvq_u8): Likewise.
16010 (vmaxvq_u16): Likewise.
16011 (vmaxvq_u32): Likewise.
16012 (vmaxnmv_f32): Likewise.
16013 (vmaxnmvq_f32): Likewise.
16014 (vmaxnmvq_f64): Likewise.
16015 (vminv_f32): Likewise.
16016 (vminv_s8): Likewise.
16017 (vminv_s16): Likewise.
16018 (vminv_s32): Likewise.
16019 (vminv_u8): Likewise.
16020 (vminv_u16): Likewise.
16021 (vminv_u32): Likewise.
16022 (vminvq_f32): Likewise.
16023 (vminvq_f64): Likewise.
16024 (vminvq_s8): Likewise.
16025 (vminvq_s16): Likewise.
16026 (vminvq_s32): Likewise.
16027 (vminvq_u8): Likewise.
16028 (vminvq_u16): Likewise.
16029 (vminvq_u32): Likewise.
16030 (vminnmv_f32): Likewise.
16031 (vminnmvq_f32): Likewise.
16032 (vminnmvq_f64): Likewise.
16033
1dd055a2
JG
160342014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
16035
16036 * config/aarch64/aarch64-simd.md
16037 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
16038 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
16039 (*aarch64_mul3_elt<mode>): Likewise.
16040 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
16041 (*aarch64_mul3_elt_to_64v2df): Likewise.
16042 (*aarch64_mla_elt<mode>): Likewise.
16043 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
16044 (*aarch64_mls_elt<mode>): Likewise.
16045 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
16046 (*aarch64_fma4_elt<mode>): Likewise.
16047 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
16048 (*aarch64_fma4_elt_to_64v2df): Likewise.
16049 (*aarch64_fnma4_elt<mode>): Likewise.
16050 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
16051 (*aarch64_fnma4_elt_to_64v2df): Likewise.
16052 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
16053 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
16054 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
16055 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
16056 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
16057 (aarch64_sqdmull_lane<mode>_internal): Likewise.
16058 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
16059
dafb9b64
AV
160602013-01-23 Alex Velenko <Alex.Velenko@arm.com>
16061
16062 * config/aarch64/aarch64-simd.md
16063 (aarch64_be_checked_get_lane<mode>): New define_expand.
16064 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 16065 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
16066 New builtin definition.
16067 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
16068 Use new safe be builtin.
16069
89b4515c
AV
160702014-01-23 Alex Velenko <Alex.Velenko@arm.com>
16071
16072 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
16073 New define_insn.
16074 (aarch64_be_st1<mode>): Likewise.
16075 (aarch_ld1<VALL:mode>): Define_expand modified.
16076 (aarch_st1<VALL:mode>): Likewise.
16077 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
16078 (UNSPEC_ST1): Likewise.
16079
4bb66ef3 160802014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
16081
16082 * config/microblaze/microblaze.md: Add trap insn and attribute
16083
7ecc3eb9
DS
160842014-01-23 Dodji Seketeli <dodji@redhat.com>
16085
16086 PR preprocessor/58580
16087 * input.h (location_get_source_line): Take an additional line_size
16088 parameter.
16089 (void diagnostics_file_cache_fini): Declare new function.
16090 * input.c (struct fcache): New type.
16091 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
16092 New static constants.
16093 (diagnostic_file_cache_init, total_lines_num)
16094 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
16095 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
16096 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
16097 (get_next_line, read_next_line, goto_next_line, read_line_num):
16098 New static function definitions.
16099 (diagnostic_file_cache_fini): New function.
16100 (location_get_source_line): Take an additional output line_len
16101 parameter. Re-write using lookup_or_add_file_to_cache_tab and
16102 read_line_num.
16103 * diagnostic.c (diagnostic_finish): Call
16104 diagnostic_file_cache_fini.
16105 (adjust_line): Take an additional input parameter for the length
16106 of the line, rather than calculating it with strlen.
16107 (diagnostic_show_locus): Adjust the use of
16108 location_get_source_line and adjust_line with respect to their new
16109 signature. While displaying a line now, do not stop at the first
16110 null byte. Rather, display the zero byte as a space and keep
16111 going until we reach the size of the line.
16112 * Makefile.in: Add vec.o to OBJS-libcommon
16113
2196a885 161142014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 16115 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
16116
16117 * config/i386/avx512fintrin.h (_mm512_kmov): New.
16118 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
16119 (__builtin_ia32_kmov16): Ditto.
16120 * config/i386/i386.md (UNSPEC_KMOV): New.
16121 (kmovw): Ditto.
16122
70473c63
KY
161232014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
16124
16125 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
16126 (_mm512_storeu_si512): Ditto.
16127
f9ae4df8
RS
161282014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
16129
16130 PR target/52125
16131 * rtl.h (get_referenced_operands): Declare.
16132 * recog.c (get_referenced_operands): New function.
16133 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
16134 operands have been referenced when recording LO_SUM references.
16135
4bb66ef3 161362014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
16137
16138 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
16139
39960d1c 161402014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
16141
16142 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
16143 Enable for generic and recent AMD targets.
16144
39960d1c 161452014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
16146
16147 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
16148 ARG_SIZE note when adjustment was eliminated.
16149
bb50b870
JL
161502014-01-22 Jeff Law <law@redhat.com>
16151
16152 PR tree-optimization/59597
16153 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
16154 in file. Accept new argument REGISTERING and use it to modify
16155 dump output appropriately.
16156 (register_jump_thread): Corresponding changes.
16157 (mark_threaded_blocks): Reinstate code to cancel unprofitable
16158 thread paths involving joiner blocks. Add code to dump cancelled
16159 jump threading paths.
16160
df2980be
VM
161612014-01-22 Vladimir Makarov <vmakarov@redhat.com>
16162
16163 PR rtl-optimization/59477
16164 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 16165 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 16166
1bb99900
TT
161672014-01-22 Tom Tromey <tromey@redhat.com>
16168
16169 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
16170 PARAMS.
16171 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
16172
9102dadd
VM
161732014-01-21 Vladimir Makarov <vmakarov@redhat.com>
16174
16175 PR rtl-optimization/59896
16176 * lra-constraints.c (process_alt_operands): Check unused note for
16177 matched operands of insn with no output reloads.
16178
ca376eb8
RS
161792014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
16180
16181 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
16182 (mips_move_from_gpr_cost): Likewise.
16183
a9711f36
VM
161842014-01-21 Vladimir Makarov <vmakarov@redhat.com>
16185
16186 PR rtl-optimization/59858
16187 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
16188 ira_class_hard_regs_num.
16189 (process_alt_operands): Increase reject for dying matched operand.
16190
f8ea7cb0
JJ
161912014-01-21 Jakub Jelinek <jakub@redhat.com>
16192
16193 PR target/59003
16194 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
16195 smaller than size, perform several stores or loads and stores
16196 at dst + count - size to store or copy all of size bytes, rather
16197 than just last modesize bytes.
16198
84db09e3
DD
161992014-01-20 DJ Delorie <dj@redhat.com>
16200
16201 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
16202 that CLOBBERs are REGs before propogating their values.
16203
1cf11770
L
162042014-01-20 H.J. Lu <hongjiu.lu@intel.com>
16205
16206 PR middle-end/59789
16207 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
16208 (cgraph_inline_failed_type): New function.
16209 * cgraph.h (DEFCIFCODE): Add type.
16210 (cgraph_inline_failed_type_t): New enum.
16211 (cgraph_inline_failed_type): New prototype.
16212 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
16213 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
16214 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
16215 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
16216 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
16217 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
16218 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 16219 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
16220 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
16221 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
16222 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
16223 OPTIMIZATION_MISMATCH.
16224 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 16225 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 16226
8586e4bd
UB
162272014-01-20 Uros Bizjak <ubizjak@gmail.com>
16228
16229 PR target/59685
16230 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
16231 mode attribute in insn output.
16232
99482090
EB
162332014-01-20 Eric Botcazou <ebotcazou@adacore.com>
16234
16235 * output.h (output_constant): Delete.
16236 * varasm.c (output_constant): Make private.
16237
ede23272
AV
162382014-01-20 Alex Velenko <Alex.Velenko@arm.com>
16239
16240 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
16241
9a7eefec
JJ
162422014-01-20 Jakub Jelinek <jakub@redhat.com>
16243
16244 PR middle-end/59860
16245 * tree.h (fold_builtin_strcat): New prototype.
16246 * builtins.c (fold_builtin_strcat): No longer static. Add len
16247 argument, if non-NULL, don't call c_strlen. Optimize
16248 directly into __builtin_memcpy instead of __builtin_strcpy.
16249 (fold_builtin_2): Adjust fold_builtin_strcat caller.
16250 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
16251
3e729145
UB
162522014-01-20 Uros Bizjak <ubizjak@gmail.com>
16253
16254 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
16255 for SImode_address_operand operands, having only a REG argument.
16256
eee0e487
MS
162572014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
16258
16259 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
16260 loader name using mbig-endian.
16261 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
16262
9e540e37
JG
162632014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
16264
16265 * doc/invoke.texi (-march): Clarify documentation for AArch64.
16266 (-mtune): Likewise.
16267 (-mcpu): Likewise.
16268
69675d50
TB
162692014-01-20 Tejas Belagod <tejas.belagod@arm.com>
16270
16271 * config/aarch64/aarch64-protos.h
16272 (aarch64_cannot_change_mode_class_ptr): Declare.
16273 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
16274 aarch64_cannot_change_mode_class_ptr): New.
16275 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
16276 backend hook aarch64_cannot_change_mode_class.
16277
ffee7aa9
JG
162782014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
16279
16280 * common/config/aarch64/aarch64-common.c
16281 (aarch64_handle_option): Don't handle any option order logic here.
16282 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
16283 selected_cpu, warn on architecture version mismatch.
16284 (aarch64_override_options): Fix parsing order for option strings.
16285
c7169779
JBG
162862014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
16287 Iain Sandoe <iain@codesourcery.com>
16288
16289 PR bootstrap/59496
16290 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
16291 warning. Amend comment to reflect current functionality.
16292
409b6ac1
RB
162932014-01-20 Richard Biener <rguenther@suse.de>
16294
16295 PR middle-end/59860
16296 * builtins.c (fold_builtin_strcat): Remove case better handled
16297 by tree-ssa-strlen.c.
16298
608df31f
AL
162992014-01-20 Alan Lawrence <alan.lawrence@arm.com>
16300
16301 * config/aarch64/aarch64.opt
16302 (mcpu, march, mtune): Make case-insensitive.
16303
0fabe5f3
JJ
163042014-01-20 Jakub Jelinek <jakub@redhat.com>
16305
16306 PR target/59880
16307 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
16308 if operands[1] is a REG or ZERO_EXTEND of a REG.
16309
39960d1c 163102014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
16311
16312 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
16313
925cb97d
JDA
163142014-01-19 John David Anglin <danglin@gcc.gnu.org>
16315
16316 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
16317 long non-pic millicode calls.
16318
f43856db
JBG
163192014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
16320
16321 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
16322
d2be9965
ILT
163232014-01-19 Kito Cheng <kito@0xlab.org>
16324
16325 * builtins.c (expand_movstr): Check movstr expand done or fail.
16326
efc90043
UB
163272014-01-18 Uros Bizjak <ubizjak@gmail.com>
16328 H.J. Lu <hongjiu.lu@intel.com>
16329
16330 PR target/59379
16331 * config/i386/i386.md (*lea<mode>): Zero-extend return register
16332 to DImode for zero-extended addresses.
16333
8fce217e
JJ
163342014-01-19 Jakub Jelinek <jakub@redhat.com>
16335
16336 PR rtl-optimization/57763
16337 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
16338 on the new indirect jump_insn and increment LABEL_NUSES (label).
16339
efc90043 163402014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
16341
16342 PR bootstrap/59580
16343 PR bootstrap/59583
16344 * config.gcc (x86_archs): New variable.
16345 (x86_64_archs): Likewise.
16346 (x86_cpus): Likewise.
16347 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
16348 --with-arch/--with-cpu= options.
16349 Support --with-arch=/--with-cpu={nehalem,westmere,
16350 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
16351
7f3af6d3
UB
163522014-01-18 Uros Bizjak <ubizjak@gmail.com>
16353
16354 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
16355 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
16356
163572014-01-18 Uros Bizjak <ubizjak@gmail.com>
16358
16359 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
16360
fa5d6c75
JJ
163612014-01-18 Jakub Jelinek <jakub@redhat.com>
16362
16363 PR target/58944
16364 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
16365 clear cpp_get_options (parse_in)->warn_unused_macros for
16366 ix86_target_macros_internal with cpp_define.
16367
04da5680
RS
163682014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
16369
16370 * jump.c (delete_related_insns): Keep (use (insn))s.
16371 * reorg.c (redundant_insn): Check for barriers too.
16372
1e99bee5
L
163732014-01-17 H.J. Lu <hongjiu.lu@intel.com>
16374
7f3af6d3 16375 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 16376
fa7d0c60
JDA
163772014-01-17 John David Anglin <danglin@gcc.gnu.org>
16378
16379 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
16380 call to $$dyncall when TARGET_LONG_CALLS is true.
16381
2043135a
JL
163822014-01-17 Jeff Law <law@redhat.com>
16383
16384 * ree.c (combine_set_extension): Temporarily disable test for
16385 changing number of hard registers.
16386
39960d1c 163872014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
16388
16389 PR middle-end/58125
16390 * ipa-inline-analysis.c (inline_free_summary):
16391 Do not free summary of aliases.
16392
664ceb1e
JJ
163932014-01-17 Jakub Jelinek <jakub@redhat.com>
16394
16395 PR middle-end/59706
16396 * gimplify.c (gimplify_expr): Use create_tmp_var
16397 instead of create_tmp_var_raw. If cond doesn't have
16398 integral type, don't add the IFN_ANNOTATE builtin at all.
16399
aef83682
MJ
164002014-01-17 Martin Jambor <mjambor@suse.cz>
16401
16402 PR ipa/59736
16403 * ipa-cp.c (prev_edge_clone): New variable.
16404 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
16405 Also resize prev_edge_clone vector.
16406 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
16407 (ipcp_edge_removal_hook): New function.
16408 (ipcp_driver): Register ipcp_edge_removal_hook.
16409
4bb66ef3 164102014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
16411 Steve Ellcey <sellcey@mips.com>
16412
16413 PR target/59462
16414 * config/mips/mips.c (mips_print_operand): Check operand mode instead
16415 of operator mode.
16416
4ee5c752
JL
164172014-01-17 Jeff Law <law@redhat.com>
16418
16419 PR middle-end/57904
16420 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
16421 so that pass_ccp runs first.
16422
40cfac7c
L
164232014-01-17 H.J. Lu <hongjiu.lu@intel.com>
16424
16425 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
16426 (ix86_adjust_cost): Use !TARGET_XXX.
16427 (do_reorder_for_imul): Likewise.
16428 (swap_top_of_ready_list): Likewise.
16429 (ix86_sched_reorder): Likewise.
16430
9a7f94d7
L
164312014-01-17 H.J. Lu <hongjiu.lu@intel.com>
16432
16433 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
16434 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
16435 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
16436 (intel_memset): New. Duplicate slm_memset.
16437 (intel_cost): New. Duplicate slm_cost.
16438 (m_INTEL): New macro.
16439 (processor_target_table): Add "intel".
16440 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
16441 with PROCESSOR_INTEL for "intel".
16442 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
16443 PROCESSOR_SILVERMONT.
9a7f94d7
L
16444 (ix86_issue_rate): Likewise.
16445 (ix86_adjust_cost): Likewise.
16446 (ia32_multipass_dfa_lookahead): Likewise.
16447 (swap_top_of_ready_list): Likewise.
16448 (ix86_sched_reorder): Likewise.
8cdcf750
L
16449 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
16450 instead of TARGET_OPT_AGU.
9a7f94d7
L
16451 * config/i386/i386.h (TARGET_INTEL): New.
16452 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
16453 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
16454 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
16455 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 16456
30078c0a
MP
164572014-01-17 Marek Polacek <polacek@redhat.com>
16458
16459 PR c/58346
16460 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
16461 size is zero.
16462
14379e66
RB
164632014-01-17 Richard Biener <rguenther@suse.de>
16464
16465 PR tree-optimization/46590
16466 * opts.c (default_options_table): Add entries for
16467 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
16468 all enabled at -O1 but not for -Og.
16469 * common.opt (fbranch-count-reg): Remove Init(1).
16470 (fmove-loop-invariants): Likewise.
16471 (ftree-pta): Likewise.
16472
f7d594d2
JJ
164732014-01-17 Jakub Jelinek <jakub@redhat.com>
16474
88e18bd5
JJ
16475 * config/i386/i386.c (ix86_data_alignment): For compatibility with
16476 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
16477 decls to at least the GCC 4.8 used alignments.
16478
f7d594d2
JJ
16479 PR fortran/59440
16480 * tree-nested.c (convert_nonlocal_reference_stmt,
16481 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
16482 of GIMPLE_BIND stmts, adjust associated decls.
16483
32500433
RB
164842014-01-17 Richard Biener <rguenther@suse.de>
16485
16486 PR tree-optimization/46590
16487 * vec.h (vec<>::bseach): New member function implementing
16488 binary search according to C89 bsearch.
16489 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
16490 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
16491 bitmap pointer again. Make accesses_in_loop a flat array.
16492 (mem_ref_obstack): New global.
16493 (outermost_indep_loop): Adjust for mem_ref->stored changes.
16494 (mark_ref_stored): Likewise.
16495 (ref_indep_loop_p_2): Likewise.
16496 (set_ref_stored_in_loop): New helper function.
16497 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
16498 (memref_free): Adjust.
16499 (record_mem_ref_loc): Simplify.
16500 (gather_mem_refs_stmt): Adjust.
16501 (sort_locs_in_loop_postorder_cmp): New function.
16502 (analyze_memory_references): Sort accesses_in_loop after
16503 loop postorder number.
16504 (find_ref_loc_in_loop_cmp): New function.
16505 (for_all_locs_in_loop): Find relevant cluster of locs in
16506 accesses_in_loop and iterate without recursion.
16507 (execute_sm): Avoid uninit warning.
16508 (struct ref_always_accessed): Simplify.
16509 (ref_always_accessed::operator ()): Likewise.
16510 (ref_always_accessed_p): Likewise.
16511 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
16512 loop postorder numbers here.
16513 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
16514 numbers.
16515
24fcf4bc
JJ
165162014-01-17 Jan Hubicka <hubicka@ucw.cz>
16517
16518 PR c++/57945
16519 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
16520 on decls for which assemble_alias has been called.
16521
d4f283a1
NC
165222014-01-17 Nick Clifton <nickc@redhat.com>
16523
16524 * config/msp430/msp430.opt: (mcpu): New option.
16525 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
16526 (msp430_option_override): Parse target_cpu. If the MCU name
16527 matches a generic string, clear target_mcu.
16528 (msp430_attr): Allow numeric interrupt values up to 63.
16529 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
16530 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
16531 option.
16532 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
16533 Add mcpu matches.
16534 * config/msp430/msp430.md (popm): Use %J rather than %I.
16535 (addsi3): Use msp430_nonimmediate_operand for operand 2.
16536 (addhi_cy_i): Use immediate_operand for operand 2.
16537 * doc/invoke.texi: Document -mcpu option.
16538
7be64667
RB
165392014-01-17 Richard Biener <rguenther@suse.de>
16540
16541 PR rtl-optimization/38518
16542 * df.h (df_analyze_loop): Declare.
16543 * df-core.c: Include cfgloop.h.
16544 (df_analyze_1): Split out main part of df_analyze.
16545 (df_analyze): Adjust.
16546 (loop_inverted_post_order_compute): New function.
16547 (loop_post_order_compute): Likewise.
16548 (df_analyze_loop): New function avoiding whole-function
16549 postorder computes.
16550 * loop-invariant.c (find_defs): Use df_analyze_loop.
16551 (find_invariants): Adjust.
16552 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
16553
82a197a2
ZC
165542014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
16555
16556 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
16557 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
16558
c68b3f52
IE
165592014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
16560
16561 * ipa-ref.c (ipa_remove_stmt_references): Fix references
16562 traversal when removing references.
16563
39960d1c 165642014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
16565
16566 PR ipa/59775
16567 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
16568
9e6f9ad6
BS
165692014-01-16 Bernd Schmidt <bernds@codesourcery.com>
16570
16571 PR middle-end/56791
16572 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
16573 pushing a reload for an autoinc when we had previously reloaded an
16574 inner part of the address.
16575
a611d7cb
JJ
165762014-01-16 Jakub Jelinek <jakub@redhat.com>
16577
d1417442
JJ
16578 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
16579 field.
16580 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
16581 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
16582 when not giving up or versioning for alias only because of
16583 loop->safelen.
16584 (vect_analyze_data_ref_dependences): Set to true.
16585 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
16586 is a GIMPLE_PHI.
16587 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
16588 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
16589 to the condition.
16590
42ed6cde
JJ
16591 PR middle-end/58344
16592 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
16593
a611d7cb 16594 PR target/59839
7f3af6d3
UB
16595 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
16596 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 16597
8f21260c
VM
165982014-01-16 Vladimir Makarov <vmakarov@redhat.com>
16599
16600 PR middle-end/59609
7f3af6d3
UB
16601 * lra-constraints.c (process_alt_operands): Add printing debug info.
16602 Check absence of input/output reloads for matched operands too.
8f21260c 16603
1a788c05
VM
166042014-01-16 Vladimir Makarov <vmakarov@redhat.com>
16605
16606 PR rtl-optimization/59835
16607 * ira.c (ira_init_register_move_cost): Increase cost for
16608 impossible modes.
16609
4cf24d27
AL
166102014-01-16 Alan Lawrence <alan.lawrence@arm.com>
16611
cc3a9f0d 16612 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 16613
030d03b8
RE
166142014-01-16 Richard Earnshaw <rearnsha@arm.com>
16615
16616 PR target/59780
16617 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
16618 non-register objects. Use gen_(high/low)part more consistently.
16619 Fix assertions.
16620
e78f06a8
MM
166212014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
16622
16623 PR target/59844
16624 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
16625 endian support, remove tests for WORDS_BIG_ENDIAN.
16626 (p8_mfvsrd_3_<mode>): Likewise.
16627 (reload_gpr_from_vsx<mode>): Likewise.
16628 (reload_gpr_from_vsxsf): Likewise.
16629 (p8_mfvsrd_4_disf): Likewise.
16630
9d1ae52c
RB
166312014-01-16 Richard Biener <rguenther@suse.de>
16632
16633 PR rtl-optimization/46590
16634 * lcm.c (compute_antinout_edge): Use postorder iteration.
16635 (compute_laterin): Use inverted postorder iteration.
16636
54c7a7f3
NC
166372014-01-16 Nick Clifton <nickc@redhat.com>
16638
16639 PR middle-end/28865
16640 * varasm.c (output_constant): Return the number of bytes actually
16641 emitted.
16642 (output_constructor_array_range): Update the field size with the
16643 number of bytes emitted by output_constant.
16644 (output_constructor_regular_field): Likewise. Also do not
16645 complain if the total number of bytes emitted is now greater
16646 than the expected fieldpos.
7f3af6d3 16647 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 16648
5147d10a
MP
166492014-01-16 Marek Polacek <polacek@redhat.com>
16650
16651 PR middle-end/59827
16652 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
16653 it is error_mark_node.
16654
4ac005ba
UB
166552014-01-15 Uros Bizjak <ubizjak@gmail.com>
16656
16657 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
16658 VALID_AVX256_REG_OR_OI_MODE.
16659
5d7574fa
PH
166602014-01-15 Pat Haugen <pthaugen@us.ibm.com>
16661
16662 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
16663 current procedure should be profiled.
16664
6ee70f81
AP
166652014-01-15 Andrew Pinski <apinski@cavium.com>
16666
16667 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
16668 of moving from/to the STACK_REG register class.
16669
004a7e45 166702014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
16671
16672 PR debug/54694
16673 * reginfo.c (global_regs_decl): Globalize.
16674 * rtl.h (global_regs_decl): Declare.
16675 * ira.c (do_reload): Diagnose frame_pointer_needed and it
16676 reserved via global_regs.
16677
4583fada
TJ
166782014-01-15 Teresa Johnson <tejohnson@google.com>
16679
16680 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
16681
d13dfec8
BS
166822014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
16683
16684 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
16685 and vmulosh rather than call gen_vec_widen_smult_*.
16686 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
16687 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
16688 (vec_widen_smult_even_v16qi): Likewise.
16689 (vec_widen_umult_even_v8hi): Likewise.
16690 (vec_widen_smult_even_v8hi): Likewise.
16691 (vec_widen_umult_odd_v16qi): Likewise.
16692 (vec_widen_smult_odd_v16qi): Likewise.
16693 (vec_widen_umult_odd_v8hi): Likewise.
16694 (vec_widen_smult_odd_v8hi): Likewise.
16695 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
16696 vmuloub rather than call gen_vec_widen_umult_*.
16697 (vec_widen_umult_lo_v16qi): Likewise.
16698 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
16699 vmulosb rather than call gen_vec_widen_smult_*.
16700 (vec_widen_smult_lo_v16qi): Likewise.
16701 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
16702 rather than call gen_vec_widen_umult_*.
16703 (vec_widen_umult_lo_v8hi): Likewise.
16704 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
16705 rather than call gen_vec_widen_smult_*.
16706 (vec_widen_smult_lo_v8hi): Likewise.
16707
a6a2d67b
JL
167082014-01-15 Jeff Law <law@redhat.com>
16709
16710 PR tree-optimization/59747
16711 * ree.c (find_and_remove_re): Properly handle case where a second
16712 eliminated extension requires widening a copy created for elimination
16713 of a prior extension.
16714 (combine_set_extension): Ensure that the number of hard regs needed
16715 for a destination register does not change when we widen it.
16716
aefe4056
SH
167172014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
16718
16719 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
16720 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
16721 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
16722 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
16723 (avr-*-rtems*): Likewise.
16724 (bfin*-rtems*): Likewise.
16725 (moxie-*-rtems*): Likewise.
16726 (h8300-*-rtems*): Likewise.
16727 (i[34567]86-*-rtems*): Likewise.
16728 (lm32-*-rtems*): Likewise.
16729 (m32r-*-rtems*): Likewise.
16730 (m68k-*-rtems*): Likewise.
16731 (microblaze*-*-rtems*): Likewise.
16732 (mips*-*-rtems*): Likewise.
16733 (powerpc-*-rtems*): Likewise.
16734 (sh-*-rtems*): Likewise.
16735 (sparc-*-rtems*): Likewise.
16736 (sparc64-*-rtems*): Likewise.
16737 (v850-*-rtems*): Likewise.
16738 (m32c-*-rtems*): Likewise.
16739
fef37404
VM
167402014-01-15 Vladimir Makarov <vmakarov@redhat.com>
16741
16742 PR rtl-optimization/59511
16743 * ira.c (ira_init_register_move_cost): Use memory costs for some
16744 cases of register move cost calculations.
16745 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
16746 instead of BB frequency.
16747 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
16748 * lra-assigns.c (find_hard_regno_for): Ditto.
16749
6b916b36
RB
167502014-01-15 Richard Biener <rguenther@suse.de>
16751
16752 PR tree-optimization/59822
16753 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
16754 (vectorizable_load): Use it to hoist defs of uses of invariant
16755 loads out of the loop.
16756
d103f29b 167572014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 16758 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
16759
16760 PR target/59695
16761 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
16762 truncation.
16763
95cb8697
RB
167642014-01-15 Richard Biener <rguenther@suse.de>
16765
16766 PR rtl-optimization/59802
16767 * lcm.c (compute_available): Use inverted postorder to seed
16768 the initial worklist.
16769
cb4b6d17
AK
167702014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16771
1c8b5303 16772 PR target/59803
cb4b6d17
AK
16773 * config/s390/s390.c (s390_preferred_reload_class): Don't return
16774 ADDR_REGS for invalid symrefs in non-PIC code.
16775
2738b4c7
JJ
167762014-01-15 Jakub Jelinek <jakub@redhat.com>
16777
16778 PR other/58712
16779 * builtins.c (determine_block_size): Initialize *probable_max_size
16780 even if len_rtx is CONST_INT.
16781
d126a4ae
AP
167822014-01-14 Andrew Pinski <apinski@cavium.com>
16783
16784 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
16785 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
16786 (cortexa53_tunings): Likewise.
16787 (aarch64_sched_issue_rate): New function.
16788 (TARGET_SCHED_ISSUE_RATE): Define.
16789
dc687582
VM
167902014-01-14 Vladimir Makarov <vmakarov@redhat.com>
16791
16792 * ira-costs.c (find_costs_and_classes): Add missed
16793 ira_init_register_move_cost_if_necessary.
16794
e940b2ec
VM
167952014-01-14 Vladimir Makarov <vmakarov@redhat.com>
16796
16797 PR target/59787
16798 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
16799
3292e376
L
168002014-01-14 H.J. Lu <hongjiu.lu@intel.com>
16801
16802 PR target/59794
16803 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
16804 to indicate if type is used for function return value. Warn ABI
16805 change if the vector mode isn't available for function return value.
3292e376
L
16806 (ix86_function_arg_advance): Pass false to type_natural_mode.
16807 (ix86_function_arg): Likewise.
16808 (ix86_gimplify_va_arg): Likewise.
16809 (function_arg_32): Don't warn ABI change.
16810 (ix86_function_value): Pass true to type_natural_mode.
16811 (ix86_return_in_memory): Likewise.
16812 (ix86_struct_value_rtx): Removed.
16813 (TARGET_STRUCT_VALUE_RTX): Likewise.
16814
db930875
RS
168152014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
16816
16817 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
16818 converting a conditional jump into a conditional return.
16819
a0e35eb0
RB
168202014-01-14 Richard Biener <rguenther@suse.de>
16821
16822 PR tree-optimization/58921
16823 PR tree-optimization/59006
16824 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
16825 hoisting invariant stmts.
16826 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
16827 invariant loads on the preheader edge if possible.
16828
a984e92e
JY
168292014-01-14 Joey Ye <joey.ye@arm.com>
16830
16831 * doc/plugin.texi (Building GCC plugins): Update to C++.
16832
c56a42b9
KY
168332014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
16834
3292e376 16835 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
16836 (_mm_rcp28_round_ss): Ditto.
16837 (_mm_rsqrt28_round_sd): Ditto.
16838 (_mm_rsqrt28_round_ss): Ditto.
16839 (_mm_rcp28_sd): Ditto.
16840 (_mm_rcp28_ss): Ditto.
16841 (_mm_rsqrt28_sd): Ditto.
16842 (_mm_rsqrt28_ss): Ditto.
16843 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
16844 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
16845 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
16846 (IX86_BUILTIN_RCP28SD): Ditto.
16847 (IX86_BUILTIN_RCP28SS): Ditto.
16848 (IX86_BUILTIN_RSQRT28SD): Ditto.
16849 (IX86_BUILTIN_RSQRT28SS): Ditto.
16850 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
16851 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
16852 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
16853 (ix86_expand_special_args_builtin): Expand new FTYPE.
16854 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
16855 (srcp14<mode>): Make insn unary.
16856 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
16857 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
16858 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
16859 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
16860 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
16861 Fix rounding: make it SAE only.
4ac005ba
UB
16862 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
16863 Ditto.
16864 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
16865 Ditto.
c56a42b9
KY
16866 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
16867 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
16868 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
16869 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
16870 (round_saeonly_mask_scalar_operand4): Ditto.
16871 (round_saeonly_mask_scalar_op3): Ditto.
16872 (round_saeonly_mask_scalar_op4): Ditto.
16873
09fccb62
BS
168742014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16875
16876 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
16877 Implement -maltivec=be for vec_insert and vec_extract.
16878
fb28dac0
DD
168792014-01-10 DJ Delorie <dj@redhat.com>
16880
16881 * config/msp430/msp430.md (call_internal): Don't allow memory
16882 references with SP as the base register.
16883 (call_value_internal): Likewise.
16884 * config/msp430/constraints.md (Yc): New. For memory references
16885 that don't use SP as a base register.
16886
16887 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
16888 "an integer without a # prefix"
16889 * config/msp430/msp430.md (epilogue_helper): Use it.
16890
19e51b40
JJ
168912014-01-13 Jakub Jelinek <jakub@redhat.com>
16892
03b9e8e4
JJ
16893 PR target/59617
16894 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
16895 AVX512F gather builtins.
16896 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
16897 on gather decls with INTEGER_TYPE masktype.
16898 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
16899 directly into the builtin rather than hoisting it before loop.
16900
19e51b40
JJ
16901 PR tree-optimization/59387
16902 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
16903 (scev_const_prop): If folded_casts and type has undefined overflow,
16904 use force_gimple_operand instead of force_gimple_operand_gsi and
16905 for each added stmt if it is assign with
16906 arith_code_with_undefined_signed_overflow, call
16907 rewrite_to_defined_overflow.
16908 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
16909 gimple-fold.h instead.
16910 (arith_code_with_undefined_signed_overflow,
16911 rewrite_to_defined_overflow): Moved to ...
16912 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
16913 rewrite_to_defined_overflow): ... here. No longer static.
16914 Include gimplify-me.h.
16915 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
16916 rewrite_to_defined_overflow): New prototypes.
16917
cd794ed4
KT
169182014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16919
16920 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
16921
e75fde1a
EB
169222014-01-13 Eric Botcazou <ebotcazou@adacore.com>
16923
16924 * builtins.c (get_object_alignment_2): Minor tweak.
16925 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
16926
eae298d6
CB
169272014-01-13 Christian Bruel <christian.bruel@st.com>
16928
16929 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 16930 optimized non constant lengths.
eae298d6 16931
8175be9a
JJ
169322014-01-13 Jakub Jelinek <jakub@redhat.com>
16933
16934 PR libgomp/59194
16935 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
16936 load as __atomic_load_N if possible.
16937
9c111368
DE
169382014-01-11 David Edelsohn <dje.gcc@gmail.com>
16939
16940 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
16941 target parameter.
16942 (rs6000_expand_builtin): Adjust call.
16943
c82846bc
DE
169442014-01-11 David Edelsohn <dje.gcc@gmail.com>
16945
16946 PR target/58115
16947 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
16948 * config/rs6000/rs6000.c: Include target-globals.h.
16949 (rs6000_set_current_function): Instead of doing target_reinit
16950 unconditionally, use save_target_globals_default_opts and
16951 restore_target_globals.
16952
16953 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
16954 FPSCR.
16955 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
16956 (rs6000_expand_builtin): Handle mffs and mtfsf.
16957 (rs6000_init_builtins): Define mffs and mtfsf.
16958 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
16959 (rs6000_mffs): New pattern.
16960 (rs6000_mtfsf): New pattern.
16961
2c407426
BC
169622014-01-11 Bin Cheng <bin.cheng@arm.com>
16963
16964 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
16965 Start narrowing with START. Apply candidate-use pair
16966 and check overall cost in narrowing.
16967 (iv_ca_prune): Pass new argument.
16968
7e41c852
JL
169692014-01-10 Jeff Law <law@redhat.com>
16970
16971 PR middle-end/59743
16972 * ree.c (combine_reaching_defs): Ensure the defining statement
16973 occurs before the extension when optimizing extensions with
16974 different source and destination hard registers.
16975
39960d1c 169762014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
16977
16978 PR ipa/58585
4ac005ba
UB
16979 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
16980 vtables into the type inheritance graph.
b270b096 16981
0d6d7b9a
JJ
169822014-01-10 Jakub Jelinek <jakub@redhat.com>
16983
16984 PR rtl-optimization/59754
16985 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
16986 modes in the REGNO != REGNO case.
16987
110132c1
BS
169882014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16989
16990 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
16991
5da96960
JJ
169922014-01-10 Jakub Jelinek <jakub@redhat.com>
16993
4f87d581
JJ
16994 PR tree-optimization/59745
16995 * tree-predcom.c (tree_predictive_commoning_loop): Call
16996 free_affine_expand_cache if giving up because components is NULL.
16997
5da96960
JJ
16998 * target-globals.c (save_target_globals): Allocate < 4KB structs using
16999 GC in payload of target_globals struct instead of allocating them on
17000 the heap and the larger structs separately using GC.
17001 * target-globals.h (struct target_globals): Make regs, hard_regs,
17002 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
17003 of GTY((skip)) and change type to void *.
17004 (reset_target_globals): Cast loads from those fields to corresponding
17005 types.
17006
1aa26aac
SE
170072014-01-10 Steve Ellcey <sellcey@mips.com>
17008
17009 PR plugins/59335
17010 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
17011 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
17012 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
17013
1c992d1e
RE
170142014-01-10 Richard Earnshaw <rearnsha@arm.com>
17015
7783a246 17016 PR target/59744
1c992d1e
RE
17017 * aarch64-modes.def (CC_Zmode): New flags mode.
17018 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
17019 represents an equality.
7783a246 17020 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
17021 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
17022
86464cbd
AK
170232014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17024
17025 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
17026 extraction in good case.
17027
5e6667b2
RB
170282014-01-10 Richard Biener <rguenther@suse.de>
17029
17030 PR tree-optimization/59374
17031 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
17032 checking after SLP discovery. Mark stmts not participating
17033 in any SLP instance properly.
17034
5619162c
KT
170352014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17036
17037 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
17038 when handling a SET rtx.
17039
2d17b99f
KT
170402014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17041
17042 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
17043 (cortex-a57): Likewise.
17044 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
17045
bcca645c
KT
170462014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17047
17048 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
17049 non-iwmmxt builtins.
17050
a3788dde
JH
170512014-01-10 Jan Hubicka <hubicka@ucw.cz>
17052
17053 PR ipa/58252
17054 PR ipa/59226
17055 * ipa-devirt.c record_target_from_binfo): Take as argument
17056 stack of binfos and lookup matching one for virtual inheritance.
17057 (possible_polymorphic_call_targets_1): Update.
17058
87ed883e
HC
170592014-01-10 Huacai Chen <chenhc@lemote.com>
17060
17061 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
17062 kernel strings for Loongson-2E/2F/3A.
17063
cd4447e2
JJ
170642014-01-10 Jakub Jelinek <jakub@redhat.com>
17065
17066 PR middle-end/59670
17067 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
17068 is_gimple_call before calling gimple_call_internal_p.
17069
3fadf78a
SE
170702014-01-09 Steve Ellcey <sellcey@mips.com>
17071
17072 * Makefile.in (TREE_FLOW_H): Remove.
17073 (TREE_SSA_H): Add file names from tree-flow.h.
17074 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
17075 * tree.h: Remove tree-flow.h reference.
17076 * hash-table.h: Remove tree-flow.h reference.
17077 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
17078 reference with tree-ssa-loop.h.
17079
6edc217d
BS
170802014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17081
17082 * doc/invoke.texi: Add -maltivec={be,le} options, and document
17083 default element-order behavior for -maltivec.
17084 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
17085 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
17086 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
17087 when targeting big endian, at least for now.
17088 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
17089
a70e9985
JJ
170902014-01-09 Jakub Jelinek <jakub@redhat.com>
17091
3396aba5
JJ
17092 PR middle-end/47735
17093 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
17094 var satisfies use_register_for_decl, just take into account type
17095 alignment, rather than decl alignment.
17096
a70e9985
JJ
17097 PR tree-optimization/59622
17098 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
17099 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
17100 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
17101 Don't devirtualize for inplace at all. For targets.length () == 1,
17102 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
17103
6e9cc565
L
171042014-01-09 H.J. Lu <hongjiu.lu@intel.com>
17105
17106 * config/i386/i386.md (cpu): Remove the unused btver1.
17107
d1c0e4ac
L
171082014-01-09 H.J. Lu <hongjiu.lu@intel.com>
17109
17110 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
17111
e83b8e2e
JJ
171122014-01-09 Jakub Jelinek <jakub@redhat.com>
17113
17114 PR target/58115
17115 * tree-core.h (struct target_globals): New forward declaration.
17116 (struct tree_target_option): Add globals field.
17117 * tree.h (TREE_TARGET_GLOBALS): Define.
17118 (prepare_target_option_nodes_for_pch): New prototype.
17119 * target-globals.h (struct target_globals): Define even if
17120 !SWITCHABLE_TARGET.
17121 * tree.c (prepare_target_option_node_for_pch,
17122 prepare_target_option_nodes_for_pch): New functions.
17123 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
17124 * config/i386/i386.c: Include target-globals.h.
17125 (ix86_set_current_function): Instead of doing target_reinit
17126 unconditionally, use save_target_globals_default_opts and
17127 restore_target_globals.
17128
2aaed0f3
RB
171292014-01-09 Richard Biener <rguenther@suse.de>
17130
17131 PR tree-optimization/59715
17132 * tree-cfg.h (split_critical_edges): Declare.
17133 * tree-cfg.c (split_critical_edges): Export.
17134 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
17135
b5ebc991
MO
171362014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
17137
4ac005ba 17138 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
17139 asan stack protection.
17140 (expand_used_vars): Likewise.
17141 (partition_stack_vars): Likewise.
4ac005ba 17142 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 17143 after return stack usage.
7f3af6d3 17144 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
17145 (instrument_builtin_call): Likewise.
17146 (instrument_strlen_call): Likewise.
7f3af6d3 17147 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
17148 * doc/invoke.texi: Added doc for new options.
17149 * params.def: Added new options.
17150 * params.h: Likewise.
17151
b59e0455
JJ
171522014-01-09 Jakub Jelinek <jakub@redhat.com>
17153
17154 PR rtl-optimization/59724
17155 * ifcvt.c (cond_exec_process_if_block): Don't call
17156 flow_find_head_matching_sequence with 0 longest_match.
17157 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
17158 non-active insns if !stop_after.
17159 (try_head_merge_bb): Revert 2014-01-07 changes.
17160
650c4c85
JL
171612014-01-08 Jeff Law <law@redhat.com>
17162
17163 * ree.c (get_sub_rtx): New function, extracted from...
17164 (merge_def_and_ext): Here.
17165 (combine_reaching_defs): Use get_sub_rtx.
17166
ff36fcbe
EB
171672014-01-08 Eric Botcazou <ebotcazou@adacore.com>
17168
17169 * cgraph.h (varpool_variable_node): Do not choke on null node.
17170
9f9d82aa
CM
171712014-01-08 Catherine Moore <clm@codesourcery.com>
17172
4ac005ba
UB
17173 * config/mips/mips.md (simple_return): Attempt to use JRC
17174 for microMIPS.
9f9d82aa
CM
17175 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
17176
df6c8808
RS
171772014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
17178
17179 PR rtl-optimization/59137
17180 * reorg.c (steal_delay_list_from_target): Call update_block for
17181 elided insns.
17182 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
17183
6170ceff
BS
171842014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
17185
17186 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
17187 two duplicate entries.
17188
3f140f32
RS
171892014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
17190
17191 Revert:
17192 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
17193
17194 * config/mips/mips.c (mips_truncated_op_cost): New function.
17195 (mips_rtx_costs): Adjust test for BADDU.
17196 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
17197
17198 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
17199
17200 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
17201 (*baddu_si): ...this new pattern.
17202
c6de6665
JJ
172032014-01-08 Jakub Jelinek <jakub@redhat.com>
17204
17205 PR ipa/59722
17206 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
17207
4c437f02
BE
172082014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
17209
17210 PR middle-end/57748
17211 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
17212 inner_reference_p.
17213 (expand_expr, expand_normal): Adjust.
17214 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
17215 inner_reference_p. Use inner_reference_p to expand inner references.
17216 (store_expr): Adjust.
17217 * cfgexpand.c (expand_call_stmt): Adjust.
17218
4ac005ba 172192014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
17220
17221 * gcov-io.c (gcov_var): Move from gcov-io.h.
17222 (gcov_position): Ditto.
17223 (gcov_is_error): Ditto.
17224 (gcov_rewrite): Ditto.
17225 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
17226 only part to libgcc/libgcov.h.
17227
ab04b46e
MP
172282014-01-08 Marek Polacek <polacek@redhat.com>
17229
17230 PR middle-end/59669
17231 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
17232
06636b32
MP
172332014-01-08 Marek Polacek <polacek@redhat.com>
17234
17235 PR sanitizer/59667
17236 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
17237
c15677b6
JJ
172382014-01-08 Jakub Jelinek <jakub@redhat.com>
17239
17240 PR rtl-optimization/59649
17241 * stor-layout.c (get_mode_bounds): For BImode return
17242 0 and STORE_FLAG_VALUE.
17243
5c944c6c
RB
172442014-01-08 Richard Biener <rguenther@suse.de>
17245
17246 PR middle-end/59630
17247 * gimple.h (is_gimple_builtin_call): Remove.
17248 (gimple_builtin_call_types_compatible_p): New.
17249 (gimple_call_builtin_p): New overload.
17250 * gimple.c (is_gimple_builtin_call): Remove.
17251 (validate_call): Rename to ...
17252 (gimple_builtin_call_types_compatible_p): ... this and export. Also
17253 check return types.
17254 (validate_type): New static function.
17255 (gimple_call_builtin_p): New overload and adjust.
17256 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
17257 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
17258 (gimple_fold_stmt_to_constant_1): Likewise.
17259 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
17260
0bd34ae4
RB
172612014-01-08 Richard Biener <rguenther@suse.de>
17262
17263 PR middle-end/59471
17264 * gimplify.c (gimplify_expr): Gimplify register-register type
17265 VIEW_CONVERT_EXPRs to separate stmts.
17266
04af8ab6
JL
172672014-01-07 Jeff Law <law@redhat.com>
17268
3c92da90
JL
17269 PR middle-end/53623
17270 * ree.c (combine_set_extension): Handle case where source
17271 and destination registers in an extension insn are different.
4ac005ba
UB
17272 (combine_reaching_defs): Allow source and destination registers
17273 in extension to be different under limited circumstances.
3c92da90 17274 (add_removable_extension): Remove restriction that the
4ac005ba 17275 source and destination registers in the extension are the same.
3c92da90
JL
17276 (find_and_remove_re): Emit a copy from the extension's
17277 destination to its source after the defining insn if
17278 the source and destination registers are different.
17279
04af8ab6
JL
17280 PR middle-end/59285
17281 * ifcvt.c (merge_if_block): If we are merging a block with more than
17282 one successor with a block with no successors, remove any BARRIER
17283 after the second block.
17284
4bb66ef3 172852014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
17286
17287 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
17288
55ada375
JDA
172892014-01-07 John David Anglin <danglin@gcc.gnu.org>
17290
17291 PR target/59652
17292 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
17293 for 14-bit register offsets when INT14_OK_STRICT is false.
17294
877c72e7
RS
172952014-01-07 Roland Stigge <stigge@antcom.de>
17296 Michael Meissner <meissner@linux.vnet.ibm.com>
17297
17298 PR 57386/target
17299 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 17300 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 17301
8b2721da
JG
173022014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
17303
17304 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
17305 -mcpu.
17306
5d72b79f
YZ
173072014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
17308
17309 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
17310 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
17311 rtx is const0_rtx or not.
17312
48d53439
RS
173132014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
17314
17315 PR target/58115
17316 * target-globals.c (save_target_globals): Remove this_fn_optab
17317 handling.
17318 * toplev.c: Include optabs.h.
17319 (target_reinit): Temporarily restore the global options if another
17320 set of options are in force.
17321
41626746
JJ
173222014-01-07 Jakub Jelinek <jakub@redhat.com>
17323
a0cbe71e
JJ
17324 PR rtl-optimization/58668
17325 * cfgcleanup.c (flow_find_cross_jump): Don't count
17326 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
17327 to determine what is counted.
17328 (flow_find_head_matching_sequence): Use active_insn_p to determine
17329 what is counted.
17330 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
17331 counting change.
17332 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
17333 determine what is counted.
17334
41626746
JJ
17335 PR tree-optimization/59643
17336 * tree-predcom.c (split_data_refs_to_components): If one dr is
17337 read and one write, determine_offset fails and the write isn't
17338 in the bad component, just put the read into the bad component.
17339
cc349a39
MS
173402014-01-07 Mike Stump <mikestump@comcast.net>
17341 Jakub Jelinek <jakub@redhat.com>
17342
17343 PR pch/59436
17344 * tree-core.h (struct tree_optimization_option): Change optabs
17345 type from unsigned char * to void *.
17346 * optabs.c (init_tree_optimization_optabs): Adjust
17347 TREE_OPTIMIZATION_OPTABS initialization.
17348
529a6471
JJ
173492014-01-06 Jakub Jelinek <jakub@redhat.com>
17350
17351 PR target/59644
17352 * config/i386/i386.h (struct machine_function): Add
17353 no_drap_save_restore field.
17354 * config/i386/i386.c (ix86_save_reg): Use
17355 !cfun->machine->no_drap_save_restore instead of
17356 crtl->stack_realign_needed.
17357 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
17358 this function clears frame_pointer_needed. Set
17359 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
17360 and DRAP reg is needed.
17361
96066ce1
MP
173622014-01-06 Marek Polacek <polacek@redhat.com>
17363
17364 PR c/57773
17365 * doc/implement-c.texi: Mention that other integer types are
17366 permitted as bit-field types in strictly conforming mode.
17367
955b33ed 173682014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
17369
17370 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
17371 is newly allocated.
17372
328402a9
RE
173732014-01-06 Richard Earnshaw <rearnsha@arm.com>
17374
17375 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
17376
a4e33812
MJ
173772014-01-06 Martin Jambor <mjambor@suse.cz>
17378
17379 PR ipa/59008
17380 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
17381 to int.
17382 * ipa-prop.c (ipa_print_node_params): Fix indentation.
17383
b5cd2a02
EB
173842014-01-06 Eric Botcazou <ebotcazou@adacore.com>
17385
17386 PR debug/59350
17387 PR debug/59510
17388 * var-tracking.c (add_stores): Preserve the value of the source even if
17389 we don't record the store.
17390
c7d19c0b
TG
173912014-01-06 Terry Guo <terry.guo@arm.com>
17392
17393 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
17394
e0c70bd7
IS
173952014-01-05 Iain Sandoe <iain@codesourcery.com>
17396
17397 PR bootstrap/59541
17398 * config/darwin.c (darwin_function_section): Adjust return values to
17399 correspond to optimisation changes made in r206070.
17400
c30f016c
UB
174012014-01-05 Uros Bizjak <ubizjak@gmail.com>
17402
17403 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
17404 from prefetch_block tune setting.
17405 (nocona_cost): Correct size of prefetch block to 64.
17406
f2bc252b
EB
174072014-01-04 Eric Botcazou <ebotcazou@adacore.com>
17408
17409 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
17410 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
17411 used to save the static chain register in the computation of the offset
17412 from which the FP registers need to be restored.
17413
dad5ed2e
JJ
174142014-01-04 Jakub Jelinek <jakub@redhat.com>
17415
39719c84
JJ
17416 PR tree-optimization/59519
17417 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
17418 ICE if get_current_def (current_new_name) is already non-NULL, as long
17419 as it is a phi result of some other phi in *new_exit_bb that has
17420 the same argument.
17421
dad5ed2e
JJ
17422 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
17423 or vmovdqu* for misaligned_operand.
17424 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
17425 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
17426 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
17427 aligned_mem for AVX512F masked aligned load and store builtins and for
17428 non-temporal moves.
17429
174302014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
17431
17432 PR tree-optimization/59651
c30f016c 17433 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
17434 Address range for negative step should be added by TYPE_SIZE_UNIT.
17435
e864837a
AS
174362014-01-03 Andreas Schwab <schwab@linux-m68k.org>
17437
17438 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 17439 overlapping registers also for registers other than the stack pointer.
e864837a 17440
56a34230
MP
174412014-01-03 Marek Polacek <polacek@redhat.com>
17442
17443 PR other/59661
17444 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
17445 __builtin_FILE.
17446
039eee3f
JJ
174472014-01-03 Jakub Jelinek <jakub@redhat.com>
17448
3bcdbd50
JJ
17449 PR target/59625
17450 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
17451 asm goto as jump.
17452
039eee3f
JJ
17453 * config/i386/i386.md (MODE_SIZE): New mode attribute.
17454 (push splitter): Use <P:MODE_SIZE> instead of
17455 GET_MODE_SIZE (<P:MODE>mode).
17456 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
17457 (mov -1, reg peephole2): Likewise.
17458 * config/i386/sse.md (*mov<mode>_internal,
17459 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
17460 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
17461 *<code><mode>3, *andnot<mode>3<mask_name>,
17462 <mask_codefor><code><mode>3<mask_name>): Likewise.
17463 * config/i386/subst.md (mask_mode512bit_condition,
17464 sd_mask_mode512bit_condition): Likewise.
17465
927734cf
XDL
174662014-01-02 Xinliang David Li <davidxl@google.com>
17467
17468 PR tree-optimization/59303
039eee3f 17469 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
17470 (dump_predicates): Better output format.
17471 (pred_equal_p): New function.
17472 (is_neq_relop_p): Ditto.
17473 (is_neq_zero_form_p): Ditto.
17474 (pred_expr_equal_p): Ditto.
17475 (pred_neg_p): Ditto.
17476 (simplify_pred): Ditto.
17477 (simplify_preds_2): Ditto.
17478 (simplify_preds_3): Ditto.
17479 (simplify_preds_4): Ditto.
17480 (simplify_preds): Ditto.
17481 (push_pred): Ditto.
17482 (push_to_worklist): Ditto.
17483 (get_pred_info_from_cmp): Ditto.
17484 (is_degenerated_phi): Ditto.
17485 (normalize_one_pred_1): Ditto.
17486 (normalize_one_pred): Ditto.
17487 (normalize_one_pred_chain): Ditto.
17488 (normalize_preds): Ditto.
17489 (normalize_cond_1): Remove function.
17490 (normalize_cond): Ditto.
17491 (is_gcond_subset_of): Ditto.
17492 (is_subset_of_any): Ditto.
17493 (is_or_set_subset_of): Ditto.
17494 (is_and_set_subset_of): Ditto.
17495 (is_norm_cond_subset_of): Ditto.
17496 (pred_chain_length_cmp): Ditto.
17497 (convert_control_dep_chain_into_preds): Type change.
17498 (find_predicates): Ditto.
17499 (find_def_preds): Ditto.
17500 (destroy_predicates_vecs): Ditto.
17501 (find_matching_predicates_in_rest_chains): Ditto.
17502 (use_pred_not_overlap_with_undef_path_pred): Ditto.
17503 (is_pred_expr_subset): Ditto.
17504 (is_pred_chain_subset_of): Ditto.
17505 (is_included_in): Ditto.
17506 (is_superset_of): Ditto.
17507
23a5b65a
RS
175082014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17509
c30f016c 17510 Update copyright years.
23a5b65a 17511
f9030485
RS
175122014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17513
17514 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
17515 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
17516 config/arc/arc.md, config/arc/arc.opt,
17517 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
17518 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
17519 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
17520 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
17521 config/linux-protos.h, config/linux.c, config/winnt-c.c,
17522 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
17523 vtable-verify.c, vtable-verify.h: Use the standard form for the
17524 copyright notice.
f9030485 17525
98db73df
TB
175262014-01-02 Tobias Burnus <burnus@net-b.de>
17527
17528 * gcc.c (process_command): Update copyright notice dates.
17529 * gcov-dump.c: Ditto.
17530 * gcov.c: Ditto.
17531 * doc/cpp.texi: Bump @copying's copyright year.
17532 * doc/cppinternals.texi: Ditto.
17533 * doc/gcc.texi: Ditto.
17534 * doc/gccint.texi: Ditto.
17535 * doc/gcov.texi: Ditto.
17536 * doc/install.texi: Ditto.
17537 * doc/invoke.texi: Ditto.
17538
2898d204 175392014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
17540
17541 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
17542
dfebbdc6 175432014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 17544
726c3546
JJ
17545 * config/i386/sse.md (*mov<mode>_internal): Guard
17546 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
17547
dfebbdc6
JJ
17548 PR rtl-optimization/59647
17549 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
17550 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 17551\f
970c3b33 17552Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
17553
17554Copying and distribution of this file, with or without modification,
17555are permitted in any medium without royalty provided the copyright
17556notice and this notice are preserved.
This page took 7.630121 seconds and 5 git commands to generate.