]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
ipa-reference.c (is_proper_for_analysis): Exclude addressable and public vars.
[gcc.git] / gcc / ChangeLog
CommitLineData
1685ecf3
JH
12014-06-10 Jan Hubicka <hubicka@ucw.cz>
2
3 * ipa-reference.c (is_proper_for_analysis): Exclude addressable and public
4 vars.
5 (intersect_static_var_sets): Remove.
6 (propagate): Do not prune local statics.
7
92d28cbb
JJ
82014-06-10 Jakub Jelinek <jakub@redhat.com>
9
10 PR fortran/60928
11 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
12 Set lastprivate_firstprivate even if omp_private_outer_ref
13 langhook returns true.
14 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
15 langhook, call unshare_expr on new_var and call
16 build_outer_var_ref to get the last argument.
17
c9f2b7e9
MP
182014-06-10 Marek Polacek <polacek@redhat.com>
19
20 PR c/60988
21 * doc/extend.texi: Add cindex for transparent_union.
22
2cfa504a
TP
232014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
24
25 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
26 init_symbolic_number ().
27
748e88da
JDA
282014-05-18 John David Anglin <danglin@gcc.gnu.org>
29
30 PR middle-end/61141
31 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
32 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
33 (verify_rtl_sharing): Likewise.
34
00f30445
MG
352014-06-09 Marc Glisse <marc.glisse@inria.fr>
36
37 PR c++/54442
38 * tree.c (build_qualified_type): Use a canonical type for
39 TYPE_CANONICAL.
40
545fb0e8
RR
412014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
42
43 * config/arm/arm-modes.def: Remove XFmode.
44
842cbb73
AL
452014-06-09 Alan Lawrence <alan.lawrence@arm.com>
46
47 PR target/61062
48 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
49 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
50 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16, vzip_s8,
51 vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32, vzip_f32,
52 vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32, vzipq_u8,
53 vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16, vuzp_s32,
54 vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16, vuzpq_s8,
55 vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16, vuzpq_u32,
56 vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
57
8de98ad4
JH
582014-06-09 Jan Hubicka <hubicka@ucw.cz>
59
60 * tree-core.h (tree_decl_with_vis): Remove section_name.
61
001010df
KC
622014-06-09 Kito Cheng <kito@0xlab.org>
63
64 * ira.c (ira): Don't call init_caller_save if LRA enabled
65 since LRA use its own infrastructure to handle that.
66
24d047a3
JH
672014-06-07 Jan Hubicka <hubicka@ucw.cz>
68
69 * symtab.c (dump_symtab_base): Update dumping.
70 (symtab_make_decl_local): Clear only DECL_COMDAT.
71 * tree-vect-data-refs.c (Check that variable is static before
72 tampering with sections.
73 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
74 (cgraph_create_virtual_clone): Likewise.
75 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
76 (decl_section_name, set_decl_section_name): New accessors.
77 (find_decls_types_r): Do not walk section name
78 * tree.h (DECL_SECTION_NAME): Implement using
79 decl_section_name.
80 (decl_comdat_group, decl_comdat_group_id): Constify.
81 (decl_section_name, set_decl_section_name): Update.
82 * varpool.c (varpool_finalize_named_section_flags): Use
83 get_section.
84 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
85 (cgraph_make_node_local_1): Clear section and comdat group.
86 * cgraph.h (set_comdat_group): Sanity check.
87 (get_section, set_section): New.
88 * ipa-comdats.c (ipa_comdats): Use get_section.
89 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
90 * lto-streamer-out.c: Do not follow section names.
91 * c-family/c-common.c (handle_section_attribute):
92 Update.
93 * lto-cgraph.c (lto_output_node): Output section.
94 (lto_output_varpool_node): Likewise.
95 (read_comdat_group): Rename to ...
96 (read_identifier): ... this one.
97 (read_string_cst): New function.
98 (input_node, input_varpool_node): Input section names.
99 * tree-emutls.c (get_emutls_init_templ_addr): Update.
100 (new_emutls_decl): Update.
101 (secname_for_decl): Check section names only of static
102 vars.
103 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
104 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
105 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
106 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
107 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
108 * config/mcore/mcore.c (mcore_unique_section): Likewise.
109 * config/mips/mips.c (mips16_build_function_stub): Likewise.
110 * config/v850/v850.c (v850_insert_attributes): Likewise.
111 * config/h8300/h8300.c: (h8300_handle_eightbit_data_attribute):
112 Likewise.
113 (h8300_handle_tiny_data_attribute): Likewise.
114 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
115 (bfin_handle_l2_attribute): Likewise.
116
80bc9b6e
JH
1172014-06-07 Jan Hubicka <hubicka@ucw.cz>
118
119 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
120 remove static initializer.
121
684a3aa7
JH
1222014-06-07 Jan Hubicka <hubicka@ucw.cz>
123
124 * varasm.c (use_blocks_for_decl_p): Check symbol table instead of alias
125 attribute.
126 (place_block_symbol): Recurse on aliases.
127
94c2e46c
JH
1282014-06-07 Jan Hubicka <hubicka@ucw.cz>
129
130 * ipa-visibility.c: Include varasm.h
131 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
132
136a5f45
JH
1332014-06-07 Jan Hubicka <hubicka@ucw.cz>
134
135 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
136 outputting aliases.
137
0dbaf51e
SB
1382014-06-07 Steven Bosscher <steven@gcc.gnu.org>
139
140 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
141 from test_insn into GGC space escape via SET_SRC.
142
51d2abeb
EB
1432014-06-07 Eric Botcazou <ebotcazou@adacore.com>
144
145 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
146 call statement, if any.
147 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
148 statements, if any. Tidy up.
149
b528fc5c
MM
1502014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
151
152 PR target/61431
153 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
154 iterators, VSX_D that handles 64-bit types, and VSX_LE that
155 handles swapping the two 64-bit double words on little endian
156 systems. Include V1TImode and optionally TImode in VSX_LE so that
157 these types are properly swapped. Change all of the insns and
158 splits that do the 64-bit swaps to use VSX_LE.
159 (vsx_le_perm_load_<mode>): Likewise.
160 (vsx_le_perm_store_<mode>): Likewise.
161 (splitters for little endian memory operations): Likewise.
162 (vsx_xxpermdi2_le_<mode>): Likewise.
163 (vsx_lxvd2x2_le_<mode>): Likewise.
164 (vsx_stxvd2x2_le_<mode>): Likewise.
165
7b11cab7
UB
1662014-06-06 Uros Bizjak <ubizjak@gmail.com>
167
168 PR target/61423
169 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
170 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
171 and corresponding splitters. Zero extend general register
172 or memory input operand to XMM temporary. Enable for
173 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
174 (floatunssi<mode>2): Update expander predicate.
175
5a770e01
VM
1762014-06-06 Vladimir Makarov <vmakarov@redhat.com>
177
178 PR rtl-optimization/61325
179 * lra-constraints.c (process_address_1): Check scale equal to one
180 to prevent transformation: base + scale * index => base + new_reg.
181
acce8ce3
RB
1822014-06-06 Richard Biener <rguenther@suse.de>
183
184 PR tree-optimization/59299
185 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
186 a def operand.
187 (nearest_common_dominator_of_uses): Likewise.
188 (statement_sink_location): Adjust. Support sinking loads.
189
0d48ee34
MJ
1902014-06-06 Martin Jambor <mjambor@suse.cz>
191
192 * ipa-prop.c (get_place_in_agg_contents_list): New function.
193 (build_agg_jump_func_from_list): Likewise.
194 (determine_known_aggregate_parts): Renamed to
195 determine_locally_known_aggregate_parts. Moved some functionality
196 to the two functions above, removed bound checks.
197
e2c75eea
JG
1982014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
199
200 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
201 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
202 (aarch64_progress_pointer): Likewise.
203 (aarch64_copy_one_part_and_move_pointers): Likewise.
204 (aarch64_expand_movmen): Likewise.
205 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
206 * config/aarch64/aarch64.md (movmem<mode>): New.
207
58e5400a
BM
2082014-06-06 Bingfeng Mei <bmei@broadcom.com>
209
210 * targhooks.c (default_add_stmt_cost): Call target specific
211 hook instead of default one.
212
58126368
TP
2132014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
214
215 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
216 endianness instead of host endianness.
217 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
218 comments.
219
3fd48b12
EB
2202014-06-06 Eric Botcazou <ebotcazou@adacore.com>
221
222 PR debug/53927
223 * function.c (instantiate_decls): Process the saved static chain.
224 (expand_function_start): If not optimizing, save the static chain
225 onto the stack.
226 * tree-nested.c (convert_all_function_calls): Always create the static
227 chain for nested functions if not optimizing.
228
9b7a11e1
EB
2292014-06-06 Eric Botcazou <ebotcazou@adacore.com>
230
231 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
232
726338f4
RB
2332014-06-06 Richard Biener <rguenther@suse.de>
234
235 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
236 (construct_init_block): Likewise.
237 (construct_exit_block): Likewise.
238 (pass_expand::execute): Likewise.
239 * graphite.c (graphite_transforms): Replace check for current_loops
240 with a check for > 1 loops.
241 (pass_graphite_transforms::execute): Adjust.
242 * ipa-split.c (split_function): Remove check for current_loops.
243 * omp-low.c (expand_parallel_call): Likewise.
244 (expand_omp_for_init_counts): Likewise.
245 (extract_omp_for_update_vars): Likewise.
246 (expand_omp_for_generic): Likewise.
247 (expand_omp_sections): Likewise.
248 (expand_omp_target): Likewise.
249 * tracer.c (tail_duplicate): Likewise.
250 (pass_tracer::execute): Likewise.
251 * trans-mem.c (expand_transaction): Likewise.
252 * tree-complex.c (expand_complex_div_wide): Likewise.
253 * tree-eh.c (lower_resx): Likewise.
254 (cleanup_empty_eh_merge_phis): Likewise.
255 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
256 current_loops with a check for > 1 loops.
257 (pass_predcom::execute): Adjust.
258 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
259 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
260 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
261 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
262 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
263 * tree-switch-conversion.c (process_switch): Likewise.
264 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
265 * tree-vrp.c (vrp_visit_phi_node): Likewise.
266 (execute_vrp): Likewise.
267 * ubsan.c (ubsan_expand_null_ifn): Likewise.
268
ffa4602f
EB
2692014-06-06 Eric Botcazou <ebotcazou@adacore.com>
270
271 * rtl.h (insn_location): Declare.
272 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
273 with UNKNOWN_LOCATION.
274 * emit-rtl.c (insn_location): New function.
275 * final.c (notice_source_line): Check that the instruction has a
276 location before retrieving it and use insn_location.
277 * modulo-sched.c (loop_single_full_bb_p): Likewise.
278 * print-rtl.c (print_rtx): Likewise.
279
28a4a292
RB
2802014-06-06 Richard Biener <rguenther@suse.de>
281
282 * passes.def: Move 2nd VRP pass before phi-only-cprop.
283
d969f3c1
CB
2842014-06-06 Christian Bruel <christian.bruel@st.com>
285
286 PR tree-optimization/43934
28a4a292
RB
287 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
288 cost.
d969f3c1 289
b58923e2
RS
2902014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
291
292 * ira-lives.c (single_reg_class): Add missing break. Explicitly
293 return NO_REGS for extra address and memory constraints. Handle
294 operands that match (or are equivalent to something that matches)
295 extra constant constraints. Ignore other non-register operands.
296
ddbb449f
AM
2972014-06-06 Alan Modra <amodra@gmail.com>
298
299 PR target/61300
300 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
301 * doc/tm.texi: Regenerate.
302 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
303 Use throughout in place of REG_PARM_STACK_SPACE.
304 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
305 "incoming" param. Pass to rs6000_function_parms_need_stack.
306 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
307 prototype_p when incoming. Use function decl when incoming
308 to handle K&R style functions.
309 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
310 (INCOMING_REG_PARM_STACK_SPACE): Define.
311
a148c4b2
SKS
3122014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
313
314 PR target/52472
315 * cfgexpand.c (expand_debug_expr): Use address space of nested
316 TREE_TYPE for ADDR_EXPR and MEM_REF.
317
64e13bcd
JL
3182014-06-05 Jeff Law <law@redhat.com>
319
320 PR tree-optimization/61289
321 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
322 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
323 looking for those which match LHS. All callers changed.
324 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
325 parameters and code which manipulated them. All callers changed.
326 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
327 and DST_MAP parameters. Simplify invalidation code by just calling
328 invalidate_equivalences. All callers changed.
329 (thread_across_edge): Simplify now that we don't need to maintain
330 the map of equivalences to invalidate.
331
5853e181
KT
3322014-06-05 Kai Tietz <ktietz@redhat.com>
333 Richard Henderson <rth@redhat.com>
334
335 PR target/46219
336 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
337 checking for !TARGET_X32.
338 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
339 (sibcall_intern): New define_insn, plus required peepholes.
340 (sibcall_pop_intern): Likewise.
341 (sibcall_value_intern): Likewise.
342 (sibcall_value_pop_intern): Likewise.
343
95cc0a1a
IE
3442014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
345
346 * tree-inline.c (tree_function_versioning): Check DF info existence
347 before accessing it.
348
1c960e02
MS
3492014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
350
351 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
352 frame_size.
353 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
354 aarch64_frame hard_fp_offset and frame_size.
355 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
356 frame_size; remove original_frame_size.
357 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
358 (aarch64_initial_elimination_offset): Remove frame_size and
359 offset. Use aarch64_frame frame_size.
360
2e1cdae5
MS
3612014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
362 Jiong Wang <jiong.wang@arm.com>
4a450ea0 363 Renlin <renlin.li@arm.com>
2e1cdae5
MS
364
365 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
366 initialization of R30 offset. Update offset. Iterate core
367 regisers upto X30. Remove X29, X30 specific code.
368
97826595
MS
3692014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
370 Jiong Wang <jiong.wang@arm.com>
371
372 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
373 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
374 (aarch64_register_saved_on_entry): Adjust test.
375
8799637a
MS
3762014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
377
378 * config/aarch64/aarch64.h (machine_function): Move
379 saved_varargs_size from here...
4a450ea0 380 (aarch64_frame): ... to here.
8799637a
MS
381
382 * config/aarch64/aarch64.c (aarch64_expand_prologue)
383 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
384 (aarch64_initial_elimination_offset)
385 (aarch64_setup_incoming_varargs): Adjust location of
386 saved_varargs_size.
387
34834420
MS
3882014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
389
390 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
391 layout comment.
392
aaaa9efc
JP
3932014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
394 Prachi Godbole <Prachi.Godbole@imgtec.com>
395
396 * config/mips/mips-cpus.def: Add definition for p5600. Updated
397 mips32r5 entry to use PROCESSOR_P5600.
398 * config/mips/mips-tables.opt: Regenerate.
399 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
400 * config/mips/mips.c (mips_fmadd_bypass): New function.
401 (mips_rtx_cost_data): Add costs for p5600.
402 (mips_issue_rate): Add support for p5600.
403 (mips_multipass_dfa_lookahead): Likewise.
404 * config/mips/mips.h (TUNE_P5600): New define.
405 (TUNE_MACC_CHAINS): Add TUNE_P5600.
406 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
407 * config/mips/mips.md: Include p5600.md.
408 (processor): Add p5600.
409 * config/mips/p5600.md: New file.
410
edbb0749
ES
4112014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
412
413 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
414 * config/i386/predicates.md (palignr_operand): New.
415 Indicates if permutation is suitable for palignr instruction.
416
e12355ef
YR
4172014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
418
419 PR tree-optimization/61319
420 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
421 stmt belongs to loop.
422
947ca6a0
RB
4232014-06-05 Richard Biener <rguenther@suse.de>
424
425 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
426 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
427 (lookup_tmp_var): Adjust.
428 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
429
63e70d3c
RR
4302014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
431
432 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
433
742938c9
MP
4342014-06-05 Marek Polacek <polacek@redhat.com>
435
436 PR c/49706
437 * doc/invoke.texi: Document -Wlogical-not-parentheses.
438
357ddc7d
TV
4392014-06-04 Tom de Vries <tom@codesourcery.com>
440
441 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
442 CONST_INT.
443
ca73a1f7
MG
4442014-06-04 Marc Glisse <marc.glisse@inria.fr>
445
446 PR tree-optimization/61385
447 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
448
ffb1f5ef
BS
4492014-06-04 Bernd Schmidt <bernds@codesourcery.com>
450
451 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
452 changed to use fatal_error.
453 (main): Ensure lto_wrapper_cleanup is run atexit.
454
a953491e
RS
4552014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
456
457 * lra-constraints.c (valid_address_p): Move earlier in file.
458 (address_eliminator): New structure.
459 (satisfies_memory_constraint_p): New function.
460 (satisfies_address_constraint_p): Likewise.
461 (process_alt_operands, process_address, curr_insn_transform): Use them.
462
0c331756
RS
4632014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
464
465 * lra-int.h (lra_static_insn_data): Make operand_alternative a
466 const pointer.
467 (target_lra_int, default_target_lra_int, this_target_lra_int)
468 (op_alt_data): Delete.
469 * lra.h (lra_init): Delete.
470 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
471 (init_insn_code_data_once): Remove op_alt_data handling.
472 (finish_insn_code_data_once): Likewise.
473 (init_op_alt_data): Delete.
474 (get_static_insn_data): Initialize operand_alternative to null.
475 (free_insn_recog_data): Cast operand_alternative before freeing it.
476 (setup_operand_alternative): Take the operand_alternative as
477 parameter and assume it isn't already cached in the static
478 insn data.
479 (lra_set_insn_recog_data): Update accordingly.
480 (lra_init): Delete.
481 * ira.c (ira_init): Don't call lra_init.
482 * target-globals.h (this_target_lra_int): Declare.
483 (target_globals): Remove lra_int.
484 (restore_target_globals): Update accordingly.
485 * target-globals.c: Don't include lra-int.h.
486 (default_target_globals, save_target_globals): Remove lra_int.
487
1145837d
RS
4882014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
489
490 * recog.h (operand_alternative): Convert reg_class, reject,
491 matched and matches into bitfields.
492 (preprocess_constraints): New overload.
493 (preprocess_insn_constraints): New function.
494 (preprocess_constraints): Take the insn as parameter.
495 (recog_op_alt): Change into a pointer.
496 (target_recog): Add x_op_alt.
497 * recog.c (asm_op_alt): New variable.
498 (recog_op_alt): Change into a pointer.
499 (preprocess_constraints): New overload, replacing the old function
500 definition with one that doesn't use global state.
501 (preprocess_insn_constraints): New function.
502 (preprocess_constraints): Use them. Take the insn as parameter.
503 Use asm_op_alt for asms.
504 (recog_init): Free existing x_op_alt entries.
505 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
506 pointer const.
507 (make_early_clobber_and_input_conflicts): Likewise.
508 (process_bb_node_lives): Pass the insn to process_constraints.
509 * reg-stack.c (check_asm_stack_operands): Likewise.
510 (subst_asm_stack_regs): Likewise.
511 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
512 * regrename.c (build_def_use): Likewise.
513 * sched-deps.c (sched_analyze_insn): Likewise.
514 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
515 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
516 (note_invalid_constants): Likewise.
517 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
518 (ix86_legitimate_combined_insn): Make operand_alternative pointer
519 const.
520
5f2e0797
RS
5212014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
522
523 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
524 * ira-lives.c (check_and_make_def_conflict): Check for disabled
525 alternatives.
526 (make_early_clobber_and_input_conflicts): Likewise.
527 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
528
5efe5dec
RS
5292014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
530
531 * recog.h (alternative_class): New function.
532 (which_op_alt): Return a const recog_op_alt.
533 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
534 (subst_asm_stack_regs): Likewise.
535 * config/arm/arm.c (note_invalid_constants): Likewise.
536 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
537 the operand_alternative; use alternative class instead.
538 * sel-sched.c (get_reg_class): Likewise.
539 * regrename.c (build_def_use): Likewise.
540 (hide_operands, restore_operands, record_out_operands): Update type
541 accordingly.
542
29d70a0f
RS
5432014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
544
545 * recog.h (recog_op_alt): Convert to a flat array.
546 (which_op_alt): New function.
547 * recog.c (recog_op_alt): Convert to a flat array.
548 (preprocess_constraints): Update accordingly, grouping all
549 operands of the same alternative together, rather than the
550 other way around.
551 * ira-lives.c (check_and_make_def_conflict): Likewise.
552 (make_early_clobber_and_input_conflicts): Likewise.
553 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
554 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
555 (subst_asm_stack_regs): Likewise.
556 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
557 * regrename.c (hide_operands, record_out_operands): Likewise.
558 (build_def_use): Likewise.
559 * sel-sched.c (get_reg_class): Likewise.
560 * config/arm/arm.c (note_invalid_constants): Likewise.
561
fe6ebcf1
JM
5622014-06-04 Jason Merrill <jason@redhat.com>
563
564 PR c++/51253
565 PR c++/61382
566 * gimplify.c (gimplify_arg): Non-static.
567 * gimplify.h: Declare it.
568
38af3208
RB
5692014-06-04 Richard Biener <rguenther@suse.de>
570
571 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
572 TREE_PUBLIC and DECL_EXTERNAL decls.
573
9ccac701
MF
5742014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
575
576 * regcprop.c (copyprop_hardreg_forward_1): Account for
577 HARD_REGNO_CALL_PART_CLOBBERED.
578
35987ae9
RB
5792014-06-04 Richard Biener <rguenther@suse.de>
580
581 * configure.ac: Check whether the underlying type of int64_t
582 is long or long long.
583 * configure: Regenerate.
584 * config.in: Likewise.
585 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
586 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
587
0ea48022
RB
5882014-06-04 Richard Biener <rguenther@suse.de>
589
590 PR tree-optimization/60098
591 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
592 we hit a kill.
593 (dse_optimize_stmt): Simplify, now that we found a kill
594 earlier.
595
b1259d34
RB
5962014-06-04 Richard Biener <rguenther@suse.de>
597
598 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
599 of accesses with non-invariant address.
600
8be2dc8c
ML
6012014-06-04 Martin Liska <mliska@suse.cz>
602
603 * cgraph.h (cgraph_make_wrapper): New function introduced.
604 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
605 * ipa-inline.h (inline_analyze_function): The function is global.
606 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
607
8a57e88d
ML
6082014-06-04 Martin Liska <mliska@suse.cz>
609
610 * tree.h (private_lookup_attribute_starting): New function.
611 (lookup_attribute_starting): Likewise.
612 * tree.c (private_lookup_attribute_starting): Likewise.
613
d211e471
ML
6142014-06-04 Martin Liska <mliska@suse.cz>
615
616 * cgraph.h (expand_thunk): New argument added.
617 (address_taken_from_non_vtable_p): New global function.
618 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
619 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
620 * cgraphunit.c (analyze_function): Likewise.
621 (assemble_thunks_and_aliases): Argument added to call.
622 (expand_thunk): New argument forces to produce GIMPLE thunk.
623
a96bf0d3
ML
6242014-06-04 Martin Liska <mliska@suse.cz>
625
626 * coverage.h (coverage_compute_cfg_checksum): Argument added.
627 * coverage.c (coverage_compute_cfg_checksum): Likewise.
628 * profile.c (branch_prob): Likewise.
629
7d2268ea
MJ
6302014-06-04 Martin Jambor <mjambor@suse.cz>
631
632 PR ipa/61340
633 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
634 handler for switch on an ipa_ref_use enum.
635 * ipa-reference.c (analyze_function): Likewise.
636
0dac3001
KT
6372014-06-04 Kai Tietz <ktietz@redhat.com>
638
639 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
640 from old call-instruction.
641
348d4b0a
BC
6422014-06-04 Bin Cheng <bin.cheng@arm.com>
643
644 * config/aarch64/aarch64.c (aarch64_classify_address)
645 (aarch64_legitimize_reload_address): Support full addressing modes
646 for vector modes.
647 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
648 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
649
b9e3afe9
AP
6502014-06-03 Andrew Pinski <apinski@cavium.com>
651
652 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
653 for OP0.
654
6552014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
656
657 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
658 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
659
3ce7abdd
KT
6602014-06-03 Kai Tietz <ktietz@redhat.com>
661
662 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
663 for 64-bit ms-abi.
664
47e78f98
DC
6652014-06-03 Dehao Chen <dehao@google.com>
666
667 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
668 the same loop.
669
fedfecef
MP
6702014-06-03 Marek Polacek <polacek@redhat.com>
671
672 PR c/60439
673 * doc/invoke.texi: Document -Wswitch-bool.
674 * function.c (stack_protect_epilogue): Cast controlling expression of
675 the switch to int.
676 * gengtype.c (walk_type): Generate switch expression with its
677 controlling expression cast to int.
678
6792014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
680
681 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
682 and attiny841.
683 * config/avr/avr-tables.opt: Regenerate.
684 * config/avr/t-multilib: Regenerate.
685 * doc/avr-mmcu.texi: Regenerate.
686
fedfecef
MP
6872014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
688 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
689
690 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
691 (ata6617c, ata664251): Add new avr35 devices.
692 (ata6612c): Add new avr4 device.
693 (ata6613c, ata6614q): Add new avr5 devices.
694 * config/avr/avr-tables.opt: Regenerate.
695 * config/avr/t-multilib: Regenerate.
696 * doc/avr-mmcu.texi: Regenerate.
697
918621d3
AL
6982014-06-03 Alan Lawrence <alan.lawrence@arm.com>
699
700 * gcc/config/aarch64/aarch64-builtins.c
701 (aarch64_types_binop_ssu_qualifiers): New static data.
702 (TYPES_BINOP_SSU): Define.
703 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
704 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
705 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
706 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
707 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
708 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
709 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
710 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
711 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
712 suffix to builtin function name, remove cast.
713 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
714 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
715 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
716
de10bcce
AL
7172014-06-03 Alan Lawrence <alan.lawrence@arm.com>
718
719 * gcc/config/aarch64/aarch64-builtins.c
720 (aarch64_types_binop_uus_qualifiers,
721 aarch64_types_shift_to_unsigned_qualifiers,
722 aarch64_types_unsigned_shiftacc_qualifiers): Define.
723 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
724 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
725 sqshlu_n, uqshl_n): Update qualifiers.
726 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
727 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
728 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
729 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
730 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
731 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
732 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
733 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
734 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
735 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
736 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
737 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
738 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
739 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
740 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
741 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
742 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
743 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
744 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
745 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
746 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
747 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
748 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
749 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
750 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
751 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
752 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
753
878d3618
TJ
7542014-06-03 Teresa Johnson <tejohnson@google.com>
755
756 * tree-sra.c (modify_function): Record caller nodes after rebuild.
757
616abc64
JM
7582014-06-02 Jason Merrill <jason@redhat.com>
759
760 PR c++/61020
761 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
762
b31e65bb
AL
7632014-06-03 Alan Lawrence <alan.lawrence@arm.com>
764
765 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
766 location == 0.
767
923fcec3
AL
7682014-06-03 Alan Lawrence <alan.lawrence@arm.com>
769
770 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
771 New pattern.
772 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
773 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
774 * config/aarch64/iterators.md (REVERSE): New iterator.
775 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
776 (rev_op): New int_attribute.
777 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
778 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
779 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
780 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
781 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
782 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
783 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
784 Replace temporary __asm__ with __builtin_shuffle.
785
7b11cab7 7862014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
787
788 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
789 mips64r5.
790 * config/mips/mips-tables.opt: Regenerate.
791 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
792 to use mips_isa_rev rather than ISA_MIPS32R2.
793 * config/mips/mips.h (ISA_MIPS32R3): New define.
794 (ISA_MIPS32R5): New define.
795 (ISA_MIPS64R3): New define.
796 (ISA_MIPS64R5): New define.
7b11cab7
UB
797 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
798 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
799 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
800 and mips64r5.
801 (MIPS_ISA_SYNCI_SPEC): Likewise.
802 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
803 (LINK_SPEC): Added mips32r3 and mips32r5.
804 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
805 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
806 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
807 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
808 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
809 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
810 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
811
35773f53
AB
8122014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
813
814 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
815 options.
816 * config/mips/mips.opt (mxpa): New option.
7b11cab7 817 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
818 assembler.
819
d3fb5cf0
MJ
8202014-06-03 Martin Jambor <mjambor@suse.cz>
821
822 PR ipa/61160
823 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
824 thunks.
825
3cc272c1
TP
8262014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
827
828 PR tree-optimization/61328
829 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
830 initialization from find_bswap_or_nop_1.
831 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
832 in source_expr2 before using the size value the function sets. Also
833 make use of init_symbolic_number () in both the old place and
834 find_bswap_or_nop_load () to avoid reading uninitialized memory when
835 doing recursion in the GIMPLE_BINARY_RHS case.
836
597c6315
RB
8372014-06-03 Richard Biener <rguenther@suse.de>
838
839 PR tree-optimization/61383
840 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
841 stmts can't trap.
842
b48e9677
RS
8432014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
844
845 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
846 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
847 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
848 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
849 in this file.
850 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
851 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
852 * system.h: ...here and make it unconditional.
853 * target.def (conditional_register_usage): Mention
854 define_register_constraint instead of old-style constraint macros.
855 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
856 * doc/tm.texi: Regenerate.
857 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
858 protected by !USE_MD_CONSTRAINTS.
859 * config/frv/frv.md: Remove quote from old version of documentation.
860 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
861 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
862 CONST_DOUBLE_OK_FOR_LETTER.
863 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
864
b94f5533 8652014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 866
3a87ac45
AP
867 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
868 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
869 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
870 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
871 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
872 Handle LP64 better and handle ilp32 too.
b94f5533
AP
873 (MULTILIB_OPTIONS): Delete.
874 (MULTILIB_DIRNAMES): Delete.
875
9b2b7279
AM
8762014-06-02 Andrew MacLeod <amacleod@redhat.com>
877
878 * expr.h: Remove prototypes of functions defined in builtins.c.
879 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
880 Remove prototypes of functions defined in builtins.c.
881 * builtins.h: Update prototype list to include all exported functions.
882 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
883 no_c99_libc_has_function): Move to targhooks.c
884 (build_string_literal, build_call_expr_loc_array,
885 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
886 to tree.c.
887 (expand_builtin_object_size, fold_builtin_object_size): Make static.
888 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
889 no_c99_libc_has_function): Relocate from builtins.c.
890 * tree.c: Include builtins.h.
891 (build_call_expr_loc_array, build_call_expr_loc_vec,
892 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
893 from builtins.c.
894 * fold-const.h (fold_fma): Move prototype to builtins.h.
895 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
896 * asan.c: Include builtins.h.
897 * cfgexpand.c: Likewise.
898 * convert.c: Likewise.
899 * emit-rtl.c: Likewise.
900 * except.c: Likewise.
901 * expr.c: Likewise.
902 * fold-const.c: Likewise.
903 * gimple-fold.c: Likewise.
904 * gimple-ssa-strength-reduction.c: Likewise.
905 * gimplify.c: Likewise.
906 * ipa-inline.c: Likewise.
907 * ipa-prop.c: Likewise.
908 * lto-streamer-out.c: Likewise.
909 * stmt.c: Likewise.
910 * tree-inline.c: Likewise.
911 * tree-object-size.c: Likewise.
912 * tree-sra.c: Likewise.
913 * tree-ssa-ccp.c: Likewise.
914 * tree-ssa-forwprop.c: Likewise.
915 * tree-ssa-loop-ivcanon.c: Likewise.
916 * tree-ssa-loop-ivopts.c: Likewise.
917 * tree-ssa-math-opts.c: Likewise.
918 * tree-ssa-reassoc.c: Likewise.
919 * tree-ssa-threadedge.c: Likewise.
920 * tree-streamer-in.c: Likewise.
921 * tree-vect-data-refs.c: Likewise.
922 * tree-vect-patterns.c: Likewise.
923 * tree-vect-stmts.c: Likewise.
924 * config/aarch64/aarch64.c: Likewise.
925 * config/alpha/alpha.c: Likewise.
926 * config/arc/arc.c: Likewise.
927 * config/arm/arm.c: Likewise.
928 * config/avr/avr.c: Likewise.
929 * config/bfin/bfin.c: Likewise.
930 * config/c6x/c6x.c: Likewise.
931 * config/cr16/cr16.c: Likewise.
932 * config/cris/cris.c: Likewise.
933 * config/epiphany/epiphany.c: Likewise.
934 * config/fr30/fr30.c: Likewise.
935 * config/frv/frv.c: Likewise.
936 * config/h8300/h8300.c: Likewise.
937 * config/i386/i386.c: Likewise.
938 * config/i386/winnt.c: Likewise.
939 * config/ia64/ia64.c: Likewise.
940 * config/iq2000/iq2000.c: Likewise.
941 * config/lm32/lm32.c: Likewise.
942 * config/m32c/m32c.c: Likewise.
943 * config/m32r/m32r.c: Likewise.
944 * config/m68k/m68k.c: Likewise.
945 * config/mcore/mcore.c: Likewise.
946 * config/mep/mep.c: Likewise.
947 * config/microblaze/microblaze.c: Likewise.
948 * config/mips/mips.c: Likewise.
949 * config/mmix/mmix.c: Likewise.
950 * config/mn10300/mn10300.c: Likewise.
951 * config/moxie/moxie.c: Likewise.
952 * config/msp430/msp430.c: Likewise.
953 * config/nds32/nds32.c: Likewise.
954 * config/pa/pa.c: Likewise.
955 * config/pdp11/pdp11.c: Likewise.
956 * config/picochip/picochip.c: Likewise.
957 * config/rl78/rl78.c: Likewise.
958 * config/rs6000/rs6000.c: Likewise.
959 * config/rx/rx.c: Likewise.
960 * config/s390/s390.c: Likewise.
961 * config/score/score.c: Likewise.
962 * config/sh/sh.c: Likewise.
963 * config/sparc/sparc.c: Likewise.
964 * config/spu/spu.c: Likewise.
965 * config/stormy16/stormy16.c: Likewise.
966 * config/tilegx/tilegx.c: Likewise.
967 * config/tilepro/tilepro.c: Likewise.
968 * config/v850/v850.c: Likewise.
969 * config/vax/vax.c: Likewise.
970 * config/xtensa/xtensa.c: Likewise.
971
0d732cca
JL
9722014-06-02 Jeff Law <law@redhat.com>
973
974 PR rtl-optimization/61094
975 * ree.c (combine_reaching_defs): Do not reextend an insn if it
976 was marked as do_no_reextend. If a copy is needed to eliminate
977 an extension, then mark it as do_not_reextend.
978
a2adad8b
MS
9792014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
980
981 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
982
20a951e6
RH
9832014-06-02 Richard Henderson <rth@redhat.com>
984
985 PR target/61336
986 * config/alpha/alpha.c (print_operand_address): Allow symbolic
987 addresses inside asms. Use output_operand_lossage instead of
988 gcc_unreachable.
989
40c0a159
UB
9902014-06-02 Uros Bizjak <ubizjak@gmail.com>
991
992 PR target/61239
993 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
994 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
995
94bfa2da
TV
9962014-06-02 Tom de Vries <tom@codesourcery.com>
997
998 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
999 case that x has VOIDmode.
1000
4a1f940f
BS
10012014-06-02 Bernd Schmidt <bernds@codesourcery.com>
1002
1003 * varasm.c (copy_constant): Delete function.
1004 (build_constant_desc): Don't call it.
1005
27e83a44
RR
10062014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1007
1008 PR target/61154
1009 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
1010 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
1011 with immediate_operand.
1012
31815ed7
AS
10132014-06-02 Andreas Schwab <schwab@suse.de>
1014
1015 * config/ia64/ia64.c
1016 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
1017 pending_data_specs first.
1018
61dd7fbc
RB
10192014-06-02 Richard Biener <rguenther@suse.de>
1020
1021 PR tree-optimization/61378
1022 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
1023 valueized_anything.
1024
1828d3e6
UB
10252014-06-01 Uros Bizjak <ubizjak@gmail.com>
1026
1027 * config/i386/constraints.md (Bw): Rename from 'w'.
1028 (Bz): Rename from 'z'.
1029 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
1030
6041d142
KT
10312014-06-01 Kai Tietz <ktietz@redhat.com>
1032
1033 PR target/61377
1828d3e6
UB
1034 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
1035 * config/i386/i386.md (sibcall_insn_operand): Use Bs
1036 instead of m constraint.
6041d142 1037
aef1bf3b
AS
10382014-05-31 Andreas Schwab <schwab@linux-m68k.org>
1039
1040 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
1041 a separate alternative where the scratch operand 2 is marked as
1042 early clobber.
1043
f10743d3
KV
10442014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
1045
1046 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
1047 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
1048 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
1049 and __builtins_arm_get_fpscr.
1050 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
1051 __builtins_arm_get_fpscr.
1052 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
1053 __builtins_arm_ldfpscr.
1054 (arm_atomic_assign_expand_fenv): New function.
1055 * config/arm/vfp.md (set_fpscr): New pattern.
1056 (get_fpscr) : Likewise.
1057 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
1058 VUNSPEC_SET_FPSCR.
1059 * doc/extend.texi (AARCH64 Built-in Functions) : Document
1060 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
1061
40f9f6bb
JJ
10622014-05-30 Jakub Jelinek <jakub@redhat.com>
1063
b3f1051b
JJ
1064 * asan.c (report_error_func): Add SLOW_P argument, use
1065 BUILT_IN_ASAN_*_N if set.
1066 (build_check_stmt): Likewise.
1067 (instrument_derefs): If T has insufficient alignment,
1068 force same handling as for odd sizes.
1069
40f9f6bb
JJ
1070 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
1071 BUILT_IN_ASAN_REPORT_STORE_N): New.
1072 * asan.c (struct asan_mem_ref): Change access_size type to
1073 HOST_WIDE_INT.
1074 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
1075 update_mem_ref_hash_table): Likewise.
1076 (asan_mem_ref_hasher::hash): Hash in a HWI.
1077 (report_error_func): Change size_in_bytes argument to HWI.
1078 Use *_N builtins if size_in_bytes is larger than 16 or not power of
1079 two.
1080 (build_shadow_mem_access): New function.
1081 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
1082 Handle size_in_bytes not power of two or larger than 16.
1083 (instrument_derefs): Don't give up if size_in_bytes is not
1084 power of two or is larger than 16.
1085
cb105922
KT
10862014-05-30 Kai Tietz <ktietz@redhat.com>
1087
1088 PR target/60104
1089 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
1090 for sibling-tail-calls.
1091 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
1092 to its use.
1093 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
1094 (sibcall_insn_operand): Add check for sibcall_memory_operand.
1095
150e0639
PS
10962014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1097
1098 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
1099 * config/avr/avr-tables.opt: Regenerate.
1100 * config/avr/t-multilib: Regenerate.
1101 * doc/avr-mmcu.texi: Regenerate.
1102
f9a8f6d9
ILT
11032014-05-30 Ian Lance Taylor <iant@google.com>
1104
1105 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
1106 target("sse").
1107
5028356f
TV
11082014-05-30 Tom de Vries <tom@codesourcery.com>
1109
1110 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
1111 Redefine as true.
1112
10e1bdb2
TV
11132014-05-30 Tom de Vries <tom@codesourcery.com>
1114
1115 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1116 * lra.c (initialize_lra_reg_info_element): Add init of
1117 actual_call_used_reg_set field.
1118 (lra): Call lra_create_live_ranges before lra_inheritance for
1119 -fuse-caller-save.
1120 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1121 -fuse-caller-save.
1122 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
1123 instead of call_used_reg_set for -fuse-caller-save.
1124 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1125
56912037
KT
11262014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1127
1128 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
1129 to mov_imm.
1130 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
1131
98f2f031
RS
11322014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
1133
1134 * ira.c (ira_get_dup_out_num): Check for output operands at
1135 the start of the loop. Handle cases where an included alternative
1136 follows an excluded one.
1137
79abf19f
MS
11382014-05-29 Mike Stump <mikestump@comcast.net>
1139
1140 PR debug/61352
1141 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
1142 post ld passes when lto is used.
1143
cc8849a1
VM
11442014-05-29 Vladimir Makarov <vmakarov@redhat.com>
1145
1146 PR rtl-optimization/61325
40c0a159 1147 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
1148 (process_address): New function.
1149
ae0533da
AL
11502014-05-29 Alan Lawrence <alan.lawrence@arm.com>
1151
1152 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
1153 TYPES_BINOPV): New static data.
40c0a159
UB
1154 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
1155 New builtin.
1156 * config/aarch64/aarch64-simd.md (aarch64_ext,
1157 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
1158 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
1159 patterns for EXT.
1160 (aarch64_evpc_ext): New function.
1161
1162 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
1163
1164 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
1165 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
1166 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
1167 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
1168 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
1169
ed00b1fb
TV
11702014-05-29 Tom de Vries <tom@codesourcery.com>
1171
1172 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
1173
004d3809 11742014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 1175 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 1176
40c0a159
UB
1177 * arm/iterators.md (shiftable_ops): New code iterator.
1178 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 1179 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
1180 * arm/arm.md (insn_enabled): Delete.
1181 (enabled): Remove insn_enabled test.
1182 (*arith_shiftsi): Delete. Replace with ...
1183 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
1184 (*<arith_shift_insn>_shiftsi): ... new pattern.
1185 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
1186
c2db3f3d 11872014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 1188 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
1189
1190 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
1191 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
1192 clobber.
1193 (mips_split_call): Use POST_CALL_TMP_REG.
1194 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
1195
4b29b965
TV
11962014-05-29 Tom de Vries <tom@codesourcery.com>
1197
1198 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
1199 with #ifdef STACK_REGS.
1200
726f0774
JH
12012014-05-28 Jan Hubicka <hubicka@ucw.cz>
1202
1203 * varasm.c (get_variable_section): Walk aliases.
1204 (place_block_symbol): Walk aliases.
1205
ea0b381f
TV
12062014-05-28 Tom de Vries <tom@codesourcery.com>
1207
1208 Revert:
1209 2014-05-28 Tom de Vries <tom@codesourcery.com>
1210
1211 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1212 * lra.c (initialize_lra_reg_info_element): Add init of
1213 actual_call_used_reg_set field.
1214 (lra): Call lra_create_live_ranges before lra_inheritance for
1215 -fuse-caller-save.
1216 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1217 -fuse-caller-save.
40c0a159
UB
1218 * lra-constraints.c (need_for_call_save_p): Use
1219 actual_call_used_reg_set instead of call_used_reg_set for
1220 -fuse-caller-save.
ea0b381f
TV
1221 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1222
73f793e3
RS
12232014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
1224
1225 * doc/md.texi: Document that the % constraint character must
1226 be at the beginning of the string.
1227 * genoutput.c (validate_insn_alternatives): Check that '=',
1228 '+' and '%' only appear at the beginning of a constraint.
1229 * ira.c (commutative_constraint_p): Delete.
1230 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
1231 at the start of the string.
1232 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
1233 duplicate '='s.
1234 * config/arm/neon.md (bicdi3_neon): Likewise.
1235 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
1236 (slt_si, sltu_si): Likewise.
1237 * config/vax/vax.md (sbcdi3): Likewise.
1238 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
1239 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
1240 (mul64): Move '%' to beginning of constraint.
1241 * config/arm/arm.md (*xordi3_insn): Likewise.
1242 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
1243 (xorsi3): Likewise.
1244
5a7555ab
RS
12452014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
1246
1247 * doc/md.texi: Document the restrictions on the "enabled" attribute.
1248
d67ff7b7
JM
12492014-05-28 Jason Merrill <jason@redhat.com>
1250
1251 PR c++/47202
1252 * cgraph.h (symtab_node::get_comdat_group_id): New.
1253 * cgraphunit.c (analyze_functions): Call it.
1254 * symtab.c (dump_symtab_node): Likewise.
1255 * tree.c (decl_comdat_group_id): New.
1256 * tree.h: Declare it.
1257 * lto-streamer-out.c (write_symbol): Use it.
1258 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
1259
ecc7533a
FXC
12602014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1261
1262 PR bootstrap/PR61146
1263 * wide-int.cc: Do not include longlong.h when compiling with clang.
1264
6e5799b9
RB
12652014-05-28 Richard Biener <rguenther@suse.de>
1266
1267 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
1268 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
1269 (vrp_visit_assignment_or_call): Print less vertical space.
1270 (vrp_visit_stmt): Likewise.
1271 (vrp_visit_phi_node): Likewise. For a PHI argument with
1272 VR_VARYING range consider recording it as copy.
1273
47f9fca8
RB
12742014-05-28 Richard Biener <rguenther@suse.de>
1275
1276 Revert
1277 2014-05-28 Richard Biener <rguenther@suse.de>
1278
1279 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
1280
7fbf8a3e
BE
12812014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1282
1283 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
1284 sufficiently aligned and an offset is used at the same time.
1285 (expand_expr_real_1): Likewise.
1286
b017a174
RB
12872014-05-28 Richard Biener <rguenther@suse.de>
1288
1289 PR middle-end/61045
1290 * fold-const.c (fold_comparison): When folding
1291 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
1292 the sign of the remaining constant operand stays the same.
1293
96360888
KP
12942014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
1295
1296 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
1297 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
1298 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
1299 to the assembler.
40c0a159 1300 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
1301 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
1302 (m32bit-doubles) Likewise.
1303 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
1304 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
1305 option for RL78.
1306
3c698bf0
RO
13072014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1308
1309 * configure.ac ($gcc_cv_ld_clearcap): New test.
1310 * configure: Regenerate.
1311 * config.in: Regenerate.
1312 * config/sol2.opt (mclear-hwcap): New option.
1313 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
1314 * config/sol2-clearcap.map: Moved here from
1315 testsuite/gcc.target/i386/clearcap.map.
1316 * config/sol2-clearcapv2.map: Move here from
1317 gcc.target/i386/clearcapv2.map.
1318 * config/t-sol2 (install): Depend on install-clearcap-map.
1319 (install-clearcap-map): New target.
1320 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
1321 -mclear-hwcap.
1322
4c8bd90f
RB
13232014-05-28 Richard Biener <rguenther@suse.de>
1324
1325 * hwint.h (*_HALF_WIDE_INT*): Move to ...
1326 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
1327 ... here and remove the rest.
1328 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
1329
a896172d
RB
13302014-05-28 Richard Biener <rguenther@suse.de>
1331
1332 PR tree-optimization/61335
1333 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
1334 new range fails, drop to varying.
1335
b8c6a45a
TV
13362014-05-28 Tom de Vries <tom@codesourcery.com>
1337
1338 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1339 * lra.c (initialize_lra_reg_info_element): Add init of
1340 actual_call_used_reg_set field.
1341 (lra): Call lra_create_live_ranges before lra_inheritance for
1342 -fuse-caller-save.
1343 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1344 -fuse-caller-save.
40c0a159
UB
1345 * lra-constraints.c (need_for_call_save_p): Use
1346 actual_call_used_reg_set instead of call_used_reg_set for
1347 -fuse-caller-save.
b8c6a45a
TV
1348 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1349
dbe7d9e3 13502014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1351 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 1352
40c0a159
UB
1353 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
1354 to gccoptlist.
dbe7d9e3
RO
1355 (@item -fuse-caller-save): New item.
1356
5c989bbf 13572014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1358 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
1359
1360 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
1361 OPT_fuse_caller_save.
1362
c2ba7e7a 13632014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1364 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
1365
1366 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
1367 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
1368 get_call_reg_set_usage.
1369 * resource.c (mark_set_resources, mark_target_live_regs): Use
1370 get_call_reg_set_usage.
1371 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
1372 field.
1373 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
1374 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
1375 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1376 * ira-build.c (ira_create_allocno): Init
1377 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1378 (create_cap_allocno, propagate_allocno_info)
1379 (propagate_some_info_from_allocno)
1380 (copy_info_to_removed_store_destinations): Handle
1381 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1382 * ira-costs.c (ira_tune_allocno_costs): Use
1383 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
1384
27c07cc5 13852014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1386 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
1387
1388 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
1389 and function_used_regs_valid fields.
1390 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
1391 find_all_hard_reg_sets.
1392 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
1393 (get_call_reg_set_usage): New function.
1394 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
1395 * regs.h (get_call_reg_set_usage): Declare.
1396
ca48e5ef
GJL
13972014-05-28 Georg-Johann Lay <avr@gjlay.de>
1398
1399 PR libgcc/61152
1400 * config/dbx.h (License): Add Runtime Library Exception.
1401 * config/newlib-stdint.h (License): Same.
1402 * config/rtems.h (License): Same
1403 * config/initfini-array.h (License): Same
1404 * config/v850/v850.h (License): Same.
1405 * config/v850/v850-opts.h (License): Same
1406 * config/v850/rtems.h (License): Same.
1407
92747f7d
GJL
14082014-05-28 Georg-Johann Lay <avr@gjlay.de>
1409
1410 PR target/61044
1411 * doc/extend.texi (Local Labels): Note that label differences are
1412 not supported for AVR.
1413
9c6ab05f
AP
14142014-05-27 Andrew Pinski <apinski@cavium.com>
1415
1416 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
1417 Use <w> for the register in assembly template.
40c0a159 1418 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
1419 (stack_protect_test_<mode>): Use <w> for the register
1420 in assembly template.
1421
69c7a374
DD
14222014-05-27 DJ Delorie <dj@redhat.com>
1423
1424 * config/rx/rx.c (add_vector_labels): New.
1425 (rx_output_function_prologue): Call it.
1426 (rx_handle_func_attribute): Don't require empty arguments.
1427 (rx_handle_vector_attribute): New.
1428 (rx_attribute_table): Add "vector" attribute.
1429 * doc/extend.texi (interrupt, vector): Document new/changed
1430 RX-specific attributes.
1431
1432 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
1433
5e67547d
EB
14342014-05-27 Eric Botcazou <ebotcazou@adacore.com>
1435
1436 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
1437 predicate to detect a negative quotient.
1438
d378c07e
EB
14392014-05-27 Eric Botcazou <ebotcazou@adacore.com>
1440
1441 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
1442 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
1443 Add X - Y CMP 0 to X CMP Y transformation.
1444 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
1445
3ce6c715
SB
14462014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
1447
1448 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
1449 before printing.
1450
11237229
SE
14512014-05-27 Steve Ellcey <sellcey@mips.com>
1452
1453 * config/mips/mips.c: Add include of cgraph.h.
1454
7ea7f668
RB
14552014-05-27 Richard Biener <rguenther@suse.de>
1456
1457 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
1458
c7eca9fe
GJL
14592014-05-27 Georg-Johann Lay <avr@gjlay.de>
1460
1461 PR libgcc/61152
1462 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
1463 * config/arm/arm-cores.def (License): Same.
1464 * config/arm/arm-opts.h (License): Same.
1465 * config/arm/aout.h (License): Same.
1466 * config/arm/bpabi.h (License): Same.
1467 * config/arm/elf.h (License): Same.
1468 * config/arm/linux-elf.h (License): Same.
1469 * config/arm/linux-gas.h (License): Same.
1470 * config/arm/netbsd-elf.h (License): Same.
1471 * config/arm/uclinux-eabi.h (License): Same.
1472 * config/arm/uclinux-elf.h (License): Same.
1473 * config/arm/vxworks.h (License): Same.
1474
7a10ea9f
KT
14752014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1476
1477 * config/arm/neon.md (neon_bswap<mode>): New pattern.
1478 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
1479 (arm_init_neon_builtins): Handle NEON_BSWAP.
1480 Define required type nodes.
1481 (arm_expand_neon_builtin): Handle NEON_BSWAP.
1482 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
1483 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
1484 * config/arm/iterators.md (VDQHSD): New mode iterator.
1485
597f5997
RB
14862014-05-27 Richard Biener <rguenther@suse.de>
1487
1488 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
1489 Try using literal operands when comparing value-ranges failed.
1490
f571b63f
RS
14912014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1492
1493 * ira.c (commutative_operand): Adjust for change to recog_data.
1494 [Missing from previous commit.]
1495
4cc8d9d2
RS
14962014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1497
1498 * system.h (TEST_BIT): New macro.
1499 * recog.h (alternative_mask): New type.
1500 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
1501 (recog_data_d): Replace alternative_enabled_p array with
1502 enabled_alternatives.
1503 (target_recog): New structure.
1504 (default_target_recog, this_target_recog): Declare.
1505 (get_enabled_alternatives, recog_init): Likewise.
1506 * recog.c (default_target_recog, this_target_recog): New variables.
1507 (get_enabled_alternatives): New function.
1508 (extract_insn): Use it.
1509 (recog_init): New function.
1510 (preprocess_constraints, constrain_operands): Adjust for change to
1511 recog_data.
1512 * postreload.c (reload_cse_simplify_operands): Likewise.
1513 * reload.c (find_reloads): Likewise.
1514 * ira-costs.c (record_reg_classes): Likewise.
1515 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
1516 all alternatives after a disabled one would be skipped.
1517 (ira_implicitly_set_insn_hard_regs): Likewise.
1518 * ira.c (ira_setup_alts): Adjust for change to recog_data.
1519 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
1520 with enabled_alternatives.
1521 * lra.c (free_insn_recog_data): Update accordingly.
1522 (lra_update_insn_recog_data): Likewise.
1523 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
1524 * lra-constraints.c (process_alt_operands): Likewise. Handle
1525 only_alternative as part of the enabled mask.
1526 * target-globals.h (this_target_recog): Declare.
1527 (target_globals): Add a recog field.
1528 (restore_target_globals): Restore this_target_recog.
1529 * target-globals.c: Include recog.h.
1530 (default_target_globals): Initialize recog field.
1531 (save_target_globals): Likewise.
1532 * reginfo.c (reinit_regs): Call recog_init.
1533 * toplev.c (backend_init_target): Likewise.
1534
9921417d
RS
15352014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1536
1537 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
1538 rather than any named insn's code.
1539
a5024e01
GJL
15402014-05-27 Georg-Johann Lay <avr@gjlay.de>
1541
1542 PR libgcc/61152
1543 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
1544 * config/arm/arm-cores.def (License): Same.
1545
50efcce1
JH
15462014-05-26 Jan Hubicka <hubicka@ucw.cz>
1547
1548 * tree.h (decl_comdat_group): Declare.
1549 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
1550 * tree.c (decl_comdat_group): Here.
1551
3e26c8f6
RS
15522014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
1553
1554 PR rtl-optimization/61222
1555 * combine.c (simplify_shift_const_1): When moving a PLUS outside
1556 the shift, truncate the PLUS operand to the result mode.
1557
b8140cd6
UB
15582014-05-26 Uros Bizjak <ubizjak@gmail.com>
1559
1560 PR target/61271
1561 * config/i386/i386.c (ix86_rtx_costs)
1562 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
1563 Fix condition.
1564
acea91c9
MJ
15652014-05-26 Martin Jambor <mjambor@suse.cz>
1566
1567 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
1568 subreg uses.
1569
d93461f7
RB
15702014-05-26 Richard Biener <rguenther@suse.de>
1571
1572 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
1573 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
1574 Provide specializations.
1575 (wi::int_traits <HOST_WIDE_INT>,
1576 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
1577
bfe51f42
AM
15782014-05-26 Alan Modra <amodra@gmail.com>
1579
1580 PR target/61098
1581 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
1582 params and return a bool. Remove dead code. Update comment.
1583 Assert we have a const_int source. Remove bogus code from
1584 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
1585 handling of constants > 2G and reg_equal note, from..
1586 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
1587 return value. Update comment. If we can, use a new pseudo
1588 for intermediate calculations.
1589 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
1590 prototype.
1591 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
1592 call to rs6000_emit_set_const in splitter.
1593 (movdi_internal64+2, +3): Likewise.
1594
a9243bfc
RB
15952014-05-26 Richard Biener <rguenther@suse.de>
1596
1597 * system.h: Define __STDC_FORMAT_MACROS before
1598 including inttypes.h.
1599 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
1600 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
1601 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
1602 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
1603 HOST_WIDEST_INT_C): Remove.
1604 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
1605 if C99 inttypes.h is not available.
1606 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
1607 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
1608 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
1609 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
1610 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
1611 (struct output_info): Likewise.
1612 (print_statistics): Adjust.
1613 (dump_bitmap_statistics): Likewise.
1614 * bt-load.c (migrate_btr_defs): Print with PRId64.
1615 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
1616 (MAX_SAFE_MULTIPLIER): Adjust.
1617 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
1618 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
1619 dump_cgraph_node): Likewise.
1620 * final.c (dump_basic_block_info): Likewise.
1621 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
1622 * gcov.c (format_gcov): Likewise.
1623 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
1624 for calculation.
1625 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
1626 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
1627 (inline_small_functions, dump_overall_stats, dump_inline_stats):
1628 Use PRId64 for dumping.
1629 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
1630 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
1631 (add_allocno_hard_regs): Adjust.
1632 * loop-doloop.c (doloop_modify): Print using PRId64.
1633 * loop-iv.c (inverse): Compute in uint64_t.
1634 (determine_max_iter, iv_number_of_iterations): Likewise.
1635 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
1636 Print using PRId64.
1637 * lto-streamer-out.c (write_symbol): Use uint64_t.
1638 * mcf.c (CAP_INFINITY): Use int64_t maximum.
1639 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
1640 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
1641 * modulo-sched.c (const_iteration_count): Use int64_t.
1642 (sms_schedule): Dump using PRId64.
1643 * predict.c (dump_prediction): Likewise.
1644 * pretty-print.h (pp_widest_integer): Remove.
1645 * profile.c (get_working_sets, is_edge_inconsistent,
1646 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
1647 * tree-pretty-print.c (pp_double_int): Remove case handling
1648 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
1649 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
1650 and adjust users.
1651 (pass_optimize_bswap::execute): Remove restriction on hosts.
1652 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
1653 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
1654 * tree.c (widest_int_cst_value): Remove.
1655 * tree.h (widest_int_cst_value): Likewise.
1656 * value-prof.c (dump_histogram_value): Print using PRId64.
1657 * gengtype.c (main): Also inject int64_t.
1658 * ggc-page.c (struct max_alignment): Use int64_t.
1659 * alloc-pool.c (struct allocation_object_def): Likewise.
1660 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
1661 for computation.
1662 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
1663 * doc/tm.texi: Regenerated.
1664 * gengtype-lex.l (IWORD): Handle [u]int64_t.
1665 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
1666 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
1667 mmix_output_register_setting): Use [u]int64_t in prototypes.
1668 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
1669 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
1670 mmix_output_octa, mmix_output_shifted_value): Adjust.
1671 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 1672 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 1673
edf6ddf6
RB
16742014-05-26 Richard Biener <rguenther@suse.de>
1675
1676 * configure.ac: Drop __int64 type check. Insist that we
1677 found uint64_t and int64_t.
1678 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 1679 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
1680 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
1681 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
1682 (HOST_WIDEST_FAST_INT): Remove __int64 case.
1683 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
1684 for dst_q_src_df_rms_cdt.
1685 * configure: Regenerate.
1686 * config.in: Likewise.
1687
d4082970
MT
16882014-05-26 Michael Tautschnig <mt@debian.org>
1689
1690 PR target/61249
49f002b6
UB
1691 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
1692 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 1693
d29d688a
ZC
16942014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1695
1696 PR rtl-optimization/61278
1697 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
1698
88f32f0f
ZC
16992014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1700
1701 PR rtl-optimization/61220
1702 Part of PR rtl-optimization/61225
1703 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
1704 insn; skip split_edge for a block with only one successor.
1705
97ae6b64
JH
17062014-05-23 Jan Hubicka <hubicka@ucw.cz>
1707
d4082970
MT
1708 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
1709 for variables.
97ae6b64 1710
07990a5e
JH
17112014-05-23 Jan Hubicka <hubicka@ucw.cz>
1712
1713 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
1714 (update_vtable_references): New function.
1715 (function_and_variable_visibility): Rewrite also vtable initializers.
1716 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
1717
fd1e9302
JH
17182014-05-23 Jan Hubicka <hubicka@ucw.cz>
1719
1720 * ggc.h (ggc_grow): New function.
1721 * ggc-none.c (ggc_grow): New function.
1722 * ggc-page.c (ggc_grow): Likewise.
1723
7f7beb3f
JH
17242014-05-23 Jan Hubicka <hubicka@ucw.cz>
1725
d4082970
MT
1726 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
1727 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
1728 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
1729 varpool_externally_visible_p, can_replace_by_local_alias,
1730 update_visibility_by_resolution_info, function_and_variable_visibility,
1731 pass_data_ipa_function_and_variable_visibility,
1732 make_pass_ipa_function_and_variable_visibility,
1733 whole_program_function_and_variable_visibility,
1734 pass_data_ipa_whole_program_visibility,
1735 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
1736 * cgraph.h (cgraph_local_node_p): Declare.
1737 * ipa-visibility.c: New file.
1738 * Makefile.in (OBJS): Add ipa-visiblity.o
1739
6adda80b
JH
17402014-05-23 Jan Hubicka <hubicka@ucw.cz>
1741
1742 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
1743 that var decl is available.
1744
aede2c10
JH
17452014-05-23 Jan Hubicka <hubicka@ucw.cz>
1746
1747 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
1748 symtab_node pointer.
d4082970 1749 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
1750 (find_decls_types_r): Do not walk COMDAT_GROUP.
1751 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
1752 * varasm.c (make_decl_one_only): Use set_comdat_group;
1753 create node if needed.
1754 * ipa-inline-transform.c (save_inline_function_body): Update
1755 way we decl->symtab mapping.
1756 * symtab.c (symtab_hash, hash_node, eq_node
1757 symtab_insert_node_to_hashtable): Remove.
1758 (symtab_register_node): Update.
1759 (symtab_unregister_node): Update.
1760 (symtab_get_node): Reimplement as inline function.
1761 (symtab_add_to_same_comdat_group): Update.
1762 (symtab_dissolve_same_comdat_group_list): Update.
1763 (dump_symtab_base): Update.
1764 (verify_symtab_base): Update.
1765 (symtab_make_decl_local): Update.
1766 (fixup_same_cpp_alias_visibility): Update.
1767 (symtab_nonoverwritable_alias): Update.
1768 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
1769 * ipa.c (update_visibility_by_resolution_info): UPdate.
1770 * bb-reorder.c: Include cgraph.h
1771 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
1772 with comdat groups.
1773 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
1774 * cgraph.c (cgraph_get_create_node): Update.
1775 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
1776 and comdat_group_.
1777 (symtab_get_node): Make inline.
1778 (symtab_insert_node_to_hashtable): Remove.
1779 (symtab_can_be_discarded): Update.
1780 (decl_comdat_group): New function.
d4082970
MT
1781 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
1782 Update.
aede2c10
JH
1783 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
1784 comdat group name.
1785 (read_comdat_group): New function.
1786 (input_node, input_varpool_node): Use it.
1787 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
1788 comdat groups.
1789 * mips.c (mips_start_unique_function): Likewise.
1790 (ix86_code_end): Likewise.
1791 (rs6000_code_end): Likweise.
d4082970 1792 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 1793
4df199d1
JH
17942014-05-23 Jan Hubicka <hubicka@ucw.cz>
1795
1796 * gengtype-state.c (fatal_reading_state): Bring offline.
1797 * optabs.c (widening_optab_handler): Bring offline.
1798 * optabs.h (widening_optab_handler): Likewise.
1799 * final.c (get_attr_length_1): Likewise.
1800
e0e349f3
JH
18012014-05-23 Jan Hubicka <hubicka@ucw.cz>
1802
1803 * sched-int.h (sd_iterator_cond): Manually tail recurse.
1804
a35dd1fa
SB
18052014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1806
d4082970 1807 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 1808 (ppc440-compare): Include shift with dot.
d4082970 1809 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
1810 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
1811 without dot.
1812 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
1813 without dot.
1814 (e6500_sfx2): Include it.
1815 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
1816 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
1817 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
1818 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
1819 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
1820 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
1821 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
1822 *lshiftrt_internal1le, *lshiftrt_internal1be,
1823 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
1824 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
1825 *rotldi3_internal10le, *rotldi3_internal10be,
1826 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
1827 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
1828 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
1829 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
1830 define_insns): Use type "shift" in the appropriate alternatives.
1831
73c076c8
SB
18322014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1833
1834 * config/rs6000/rs6000.md (type): Add "logical". Delete
1835 "fast_compare".
1836 (dot): Adjust comment.
1837 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
1838 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
1839 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
1840 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
1841 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
1842 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 1843 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
1844 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1845
d4082970
MT
1846 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1847 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
1848 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
1849 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1850 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1851 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1852 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1853 * config/rs6000/8540.md (ppc8540_su): Adjust.
1854 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 1855 cell-cmp-microcoded): Adjust.
d4082970
MT
1856 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1857 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1858 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1859 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1860 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1861 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1862 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1863 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1864 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 1865 Adjust.
d4082970
MT
1866 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
1867 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 1868 Adjust. Adjust comment.
d4082970
MT
1869 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1870 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 1871
0cbb4f58
SB
18722014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1873
1874 * config/rs6000/rs6000.md (type): Add "add".
1875 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
1876 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
1877 define_insns): Use it.
1878 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1879
1880 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1881 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 1882 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
1883 * config/rs6000/601.md (ppc601-integer): Adjust.
1884 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1885 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1886 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1887 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1888 * config/rs6000/8540.md (ppc8540_su): Adjust.
1889 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1890 cell-cmp-microcoded): Adjust.
1891 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1892 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1893 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1894 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1895 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1896 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1897 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1898 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1899 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
1900 Adjust.
1901 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 1902 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
1903 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1904 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
1905
892e7fa6
SB
19062014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1907
1908 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
1909 "delayed_compare", "var_delayed_compare".
1910 (var_shift): New attribute.
1911 (cell_micro): Adjust.
1912 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
1913 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
1914 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
1915 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
1916 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
1917 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
1918 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
1919 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
1920 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
1921 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
1922 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
1923 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
1924 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
1925 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
1926 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
1927 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
1928 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
1929 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
1930 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
1931 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
1932 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
1933 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
1934 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
1935 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1936 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1937
1938 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1939 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 1940 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
1941 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
1942 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1943 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 1944 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
1945 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1946 * config/rs6000/8540.md (ppc8540_su): Adjust.
1947 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1948 cell-cmp-microcoded): Adjust.
1949 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
1950 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1951 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
1952 e500mc64_delayed): Adjust.
1953 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
1954 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
1955 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
1956 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
1957 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
1958 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
1959 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 1960 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
1961 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
1962 Adjust comment.
1963 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1964 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
1965
441e02a5
SB
19662014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1967
d4082970 1968 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
1969 (bits): New mode_attr.
1970 (idiv_ldiv): Delete mode_attr.
1971 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
1972 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1973 rs6000_adjust_priority, is_nonpipeline_insn,
1974 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1975
1976 * config/rs6000/40x.md (ppc403-idiv): Adjust.
1977 * config/rs6000/440.md (ppc440-idiv): Adjust.
1978 * config/rs6000/476.md (ppc476-idiv): Adjust.
1979 * config/rs6000/601.md (ppc601-idiv): Adjust.
1980 * config/rs6000/603.md (ppc603-idiv): Adjust.
1981 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
1982 ppc620-ldiv): Adjust.
1983 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
1984 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
1985 * config/rs6000/8540.md (ppc8540_divide): Adjust.
1986 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
1987 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
1988 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
1989 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
1990 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
1991 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
1992 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
1993 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
1994 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
1995 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
1996 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
1997 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
1998 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
1999 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
2000 * config/rs6000/titan.md (titan_fxu_div): Adjust.
2001
58ee9e66
SB
20022014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2003
2004 * config/rs6000/rs6000.md (type): Delete "insert_word",
2005 "insert_dword". Add "insert".
2006 (size): Update comment.
2007 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
2008 insn_must_be_first_in_group): Adjust.
2009 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
2010 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
2011 *insvsi_internal6, insvdi_internal): Adjust.
2012
2013 * config/rs6000/40x.md (ppc403-integer): Adjust.
2014 * config/rs6000/440.md (ppc440-integer): Adjust.
2015 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
2016 * config/rs6000/601.md (ppc601-integer): Adjust.
2017 * config/rs6000/603.md (ppc603-integer): Adjust.
2018 * config/rs6000/6xx.md (ppc604-integer): Adjust.
2019 * config/rs6000/7450.md (ppc7450-integer): Adjust.
2020 * config/rs6000/7xx.md (ppc750-integer): Adjust.
2021 * config/rs6000/8540.md (ppc8540_su): Adjust.
2022 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
2023 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
2024 * config/rs6000/e500mc.md (e500mc_su): Adjust.
2025 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
2026 * config/rs6000/e5500.md (e5500_sfx): Adjust.
2027 * config/rs6000/e6500.md (e6500_sfx): Adjust.
2028 * config/rs6000/mpc.md (mpccore-integer): Adjust.
2029 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
2030 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 2031 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
2032 * config/rs6000/power7.md (power7-integer): Adjust.
2033 * config/rs6000/power8.md (power8-1cyc): Adjust.
2034 * config/rs6000/rs64.md (rs64a-integer): Adjust.
2035 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
2036
e0528ed9
SB
20372014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2038
2039 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
2040 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
2041 (size): New attribute.
2042 (dot): New attribute.
2043 (cell_micro): Adjust.
2044 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
2045 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
2046 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
2047 umuldi3_highpart): Adjust.
2048 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
2049 rs6000_adjust_priority, is_nonpipeline_insn,
2050 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
2051
2052 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
2053 ppc405-imul3): Adjust.
2054 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
2055 * config/rs6000/476.md (ppc476-imul): Adjust.
2056 * config/rs6000/601.md (ppc601-imul): Adjust.
2057 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
2058 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
2059 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
2060 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
2061 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
2062 Adjust.
2063 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
2064 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
2065 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
2066 cell-imul): Adjust.
2067 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
2068 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
2069 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
2070 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
2071 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
2072 * config/rs6000/mpc.md (mpccore-imul): Adjust.
2073 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
2074 power4-lmul, power4-imul, power4-imul3): Adjust.
2075 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
2076 power5-lmul, power5-imul, power5-imul3): Adjust.
2077 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
2078 power6-lmul, power6-imul, power6-imul3): Adjust.
2079 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
2080 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
2081
2082 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
2083 rs64a-lmul): Adjust.
2084 * config/rs6000/titan.md (titan_imul): Adjust.
2085
1263d642
SB
20862014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2087
2088 * config/rs6000/rs6000.md (type): Add new value "halfmul".
2089 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
2090 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
2091 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
2092 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 2093 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
2094 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
2095 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
2096 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
2097 * config/rs6000/titan.md: Delete nonsensical comment.
2098 (titan_imul): Add type imul3.
2099 (titan_mulhw): Remove type imul3; add type halfmul.
2100
1be6301a
SB
21012014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2102
2103 * config/rs6000/rs6000.md (type): Reorder, reformat.
2104
8aab5218
MJ
21052014-05-23 Martin Jambor <mjambor@suse.cz>
2106
2107 PR tree-optimization/53787
2108 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
2109 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
2110 analysis_done, update all uses.
2111 * ipa-prop.c: Include domwalk.h
2112 (param_analysis_info): Removed.
2113 (param_aa_status): New type.
2114 (ipa_bb_info): Likewise.
2115 (func_body_info): Likewise.
2116 (ipa_get_bb_info): New function.
2117 (aa_overwalked): Likewise.
2118 (find_dominating_aa_status): Likewise.
2119 (parm_bb_aa_status_for_bb): Likewise.
2120 (parm_preserved_before_stmt_p): Changed to use new param AA info.
2121 (load_from_unmodified_param): Accept func_body_info as a parameter
2122 instead of parms_ainfo.
2123 (parm_ref_data_preserved_p): Changed to use new param AA info.
2124 (parm_ref_data_pass_through_p): Likewise.
2125 (ipa_load_from_parm_agg_1): Likewise. Update callers.
2126 (compute_complex_assign_jump_func): Changed to use new param AA info.
2127 (compute_complex_ancestor_jump_func): Likewise.
2128 (ipa_compute_jump_functions_for_edge): Likewise.
2129 (ipa_compute_jump_functions): Removed.
2130 (ipa_compute_jump_functions_for_bb): New function.
2131 (ipa_analyze_indirect_call_uses): Likewise, moved variable
2132 declarations down.
2133 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
2134 and info, moved variable declarations down.
2135 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
2136 node and info.
2137 (ipa_analyze_stmt_uses): Likewise.
2138 (ipa_analyze_params_uses): Removed.
2139 (ipa_analyze_params_uses_in_bb): New function.
2140 (ipa_analyze_controlled_uses): Likewise.
2141 (free_ipa_bb_info): Likewise.
2142 (analysis_dom_walker): New class.
2143 (ipa_analyze_node): Handle node-specific forbidden analysis,
2144 initialize and free func_body_info, use dominator walker.
2145 (ipcp_modif_dom_walker): New class.
2146 (ipcp_transform_function): Create and free func_body_info, use
2147 ipcp_modif_dom_walker, moved a lot of functionality there.
2148
85a16bf8
MP
21492014-05-23 Marek Polacek <polacek@redhat.com>
2150 Jakub Jelinek <jakub@redhat.com>
2151
2152 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
2153 * gcc.c (sanitize_spec_function): Likewise.
2154 * convert.c (convert_to_integer): Include "ubsan.h". Add
2155 floating-point to integer instrumentation.
2156 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
2157 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
2158 SANITIZE_NONDEFAULT.
2159 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
2160 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
2161 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
2162 * ubsan.c: Include "realmpfr.h" and "dfp.h".
2163 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
2164 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
2165 float/double/long double.
2166 (ubsan_instrument_float_cast): New function.
2167 * ubsan.h (ubsan_instrument_float_cast): Declare.
2168
40c0a159 21692014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
2170
2171 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
2172 predicate.
2173 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
2174 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
2175 Adjust for tailcalling through registers.
2176 * config/aarch64/aarch64.h (enum reg_class): New caller save
2177 register class.
2178 (REG_CLASS_NAMES): Likewise.
2179 (REG_CLASS_CONTENTS): Likewise.
2180 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
2181 Allow tailcalling without decls.
2182
ed20ae98
TS
21832014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2184
09af4b4c
TS
2185 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
2186 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
2187
ed20ae98
TS
2188 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
2189 gsi, and variables v_* to v*.
2190
4adf63f9
EB
21912014-05-23 Eric Botcazou <ebotcazou@adacore.com>
2192
2193 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
2194
a5a5434f
TS
21952014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2196
0aadce73
TS
2197 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
2198 * omp-low.c: Update accordingly.
2199
eb63c927
TS
2200 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
2201 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
2202 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
2203 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
2204 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
2205 GF_OMP_TARGET_KIND_UPDATE.
2206
a5a5434f
TS
2207 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
2208 Explicitly enumerate the expected region types.
2209
ee526ea7
PE
22102014-05-23 Paul Eggert <eggert@cs.ucla.edu>
2211
2212 PR other/56955
2213 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
2214 documentation; the old documentation didn't clearly state the
2215 constraints on the contents of the pointed-to storage.
2216
676cad4d
MK
22172014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2218
2219 Fix bootstrap error on ia64
2220 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
2221 Return default value.
2222
73984f84
TP
22232014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2224
2225 PR tree-optimization/54733
2226 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
2227 (CMPNOP): Define.
2228 (find_bswap_or_nop_load): New.
2229 (find_bswap_1): Renamed to ...
2230 (find_bswap_or_nop_1): This. Also add support for memory source.
2231 (find_bswap): Renamed to ...
2232 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
2233 detection of bitwise operations equivalent to load in target
2234 endianness.
73984f84
TP
2235 (execute_optimize_bswap): Likewise. Also move its leading comment back
2236 in place and split statement transformation into ...
2237 (bswap_replace): This.
2238
b17ec42d
VM
22392014-05-22 Vladimir Makarov <vmakarov@redhat.com>
2240
2241 PR rtl-optimization/61215
2242 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
2243 simplify_gen_subreg until final substitution.
2244
ea9364db
AM
22452014-05-23 Alan Modra <amodra@gmail.com>
2246
2247 PR target/61231
2248 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
2249 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
2250 Use "Y" constraint rather than "m".
2251
aa87aced
KV
22522014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
2253
2254 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
2255 define.
2256 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
2257 New function declaration.
2258 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
2259 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
2260 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
2261 (aarch64_init_builtins) : Initialize builtins
2262 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
2263 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
2264 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
2265 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
2266 and __builtins_aarch64_set_fpsr.
2267 (aarch64_atomic_assign_expand_fenv): New function.
2268 * config/aarch64/aarch64.md (set_fpcr): New pattern.
2269 (get_fpcr) : Likewise.
2270 (set_fpsr) : Likewise.
2271 (get_fpsr) : Likewise.
2272 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
2273 and UNSPECV_SET_FPSR.
2274 * doc/extend.texi (AARCH64 Built-in Functions) : Document
2275 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
2276 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
2277
0a1eb350
VM
22782014-05-22 Vladimir Makarov <vmakarov@redhat.com>
2279
2280 PR rtl-optimization/60969
2281 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
2282 constraints. Set up mem cost for NO_REGS case.
2283
f6a7cffc
TS
22842014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2285
2286 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
2287
4000360e
BS
22882012-05-22 Bernd Schmidt <bernds@codesourcery.com>
2289
2290 * config/darwin.c: Include "lto-section-names.h".
2291 (LTO_SEGMENT_NAME): Don't define.
2292 * config/i386/winnt.c: Include "lto-section-names.h".
2293 * lto-streamer.c: Include "lto-section-names.h".
2294 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
2295 * lto-wrapper.c: Include "lto-section-names.h".
2296 (LTO_SECTION_NAME_PREFIX): Don't define.
2297 * lto-section-names.h: New file.
2298 * cgraphunit.c: Include "lto-section-names.h".
2299
c9aee450
PB
23002014-05-22 Peter Bergner <bergner@vnet.ibm.com>
2301
2302 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
2303
37f2edf5
RE
23042014-05-22 Richard Earnshaw <rearnsha@arm.com>
2305
2306 PR target/61208
2307 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
2308
1ad47ee5
NC
23092014-05-22 Nick Clifton <nickc@redhat.com>
2310
d4082970 2311 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 2312
1f9c420b
EB
23132014-05-22 Eric Botcazou <ebotcazou@adacore.com>
2314
2315 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
2316 -> (T)A transformation to integer types.
2317
e3f0315f
TJ
23182014-05-22 Teresa Johnson <tejohnson@google.com>
2319
2320 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
2321 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
2322 (gcov_rewrite): Use gcov_nonruntime_assert.
2323 (gcov_open): Ditto.
2324 (gcov_write_words): Ditto.
2325 (gcov_write_length): Ditto.
2326 (gcov_read_words): Use gcov_nonruntime_assert, and remove
2327 gcc_assert from IN_LIBGCOV code.
2328 (gcov_read_summary): Use gcov_error to flag profile corruption.
2329 (gcov_sync): Use gcov_nonruntime_assert.
2330 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
2331 (gcov_histo_index): Use gcov_nonruntime_assert.
2332 (static void gcov_histogram_merge): Ditto.
2333 (compute_working_sets): Ditto.
2334 * gcov-io.h (gcov_nonruntime_assert): Define.
2335 (gcov_error): Define for !IN_LIBGCOV
2336
c8f49949
RB
23372014-05-22 Richard Biener <rguenther@suse.de>
2338
2339 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
2340 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
2341 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
2342 and deallocation site.
2343 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2344 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
2345 passing through the incoming points-to set.
2346 (handle_lhs_call): Use flags argument instead of recomputing it.
2347 (find_func_aliases_for_call): Call handle_lhs_call with proper
2348 call return flags.
2349
a822564d
JJ
23502014-05-22 Jakub Jelinek <jakub@redhat.com>
2351
2352 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
2353 all padding bits in REAL_VALUE_TYPE are cleared.
2354
4960a0cb
MK
23552014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2356
2357 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
2358 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
2359 (core2i7_first_cycle_multipass_begin,)
2360 (core2i7_first_cycle_multipass_issue,)
2361 (core2i7_first_cycle_multipass_backtrack): Update signature.
2362 * config/ia64/ia64.c
2363 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
2364 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
2365 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
2366 hook definition.
2367 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
2368 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
2369 values.
2370 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
2371 return values.
2372 * doc/tm.texi: Regenerate.
2373 * doc/tm.texi.in
2374 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
2375 * haifa-sched.c (ready_try): Make signed to allow negative values.
2376 (rebug_ready_list_1): Update.
2377 (choose_ready): Simplify.
2378 (sched_extend_ready_list): Update.
4960a0cb 2379
16d83dd6
MK
23802014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2381
2382 Remove IA64 speculation tweaking flags
d4082970
MT
2383 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
2384 speculation tuning flags.
2385 (msched-prefer-non-data-spec-insns,)
2386 (msched-prefer-non-control-spec-insns): Obsolete options.
2387 * haifa-sched.c (choose_ready): Remove handling of
2388 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
2389 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
2390 and PREFER_NON_DATA_SPEC.
2391 * sel-sched.c (process_spec_exprs): Remove handling of
2392 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 2393
69da098b
MK
23942014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2395
2396 Improve scheduling debug output
2397 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
2398 (advance_one_cycle): Update.
2399 (schedule_insn, queue_to_ready): Add debug printouts.
2400 (debug_ready_list_1): New static function.
2401 (debug_ready_list): Update.
2402 (max_issue): Add debug printouts.
2403 (dump_insn_stream): New static function.
2404 (schedule_block): Use it. Also better indent printouts.
2405
24062014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2407
2408 Fix sched_insn debug counter
2409 * haifa-sched.c (schedule_insn): Update.
2410 (struct haifa_saved_data): Add nonscheduled_insns_begin.
2411 (save_backtrack_point, restore_backtrack_point): Update.
2412 (first_nonscheduled_insn): New static function.
2413 (queue_to_ready, choose_ready): Use it.
2414 (schedule_block): Init nonscheduled_insns_begin.
2415 (sched_emit_insn): Update.
2416
2417
a4a182c6
KV
24182014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
2419
2420 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
2421 to GENERAL_REGS.
2422 (aarch64_secondary_reload) : LikeWise.
2423 (aarch64_class_max_nregs) : Remove CORE_REGS.
2424 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
2425 (REG_CLASS_NAMES) : Likewise.
2426 (REG_CLASS_CONTENTS) : LikeWise.
2427 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
2428
9652331a
GW
24292014-05-21 Guozhi Wei <carrot@google.com>
2430
2431 PR target/61202
2432 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
2433 constraint.
2434 (vqdmulhq_n_s16): Likewise.
2435
0bfba043
SB
24362014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
2437
2438 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
2439
1edb7356
MP
24402014-05-21 Marek Polacek <polacek@redhat.com>
2441
2442 PR sanitizer/61272
2443 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
2444
2acb1027
MJ
24452014-05-21 Martin Jambor <mjambor@suse.cz>
2446
2447 * doc/invoke.texi (Optimize Options): Document parameters
2448 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
2449 ipa-cp-array-index-hint-bonus.
2450
7315daa6
MW
24512014-05-21 Mark Wielaard <mjw@redhat.com>
2452
2453 PR debug/16063
2454 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
2455 version >= 3 or not strict DWARF.
2456 * langhooks.h (struct lang_hooks_for_types): Add
2457 enum_underlying_base_type.
2458 * langhooks.c (lhd_enum_underlying_base_type): New function.
2459 * gcc/langhooks.h (struct lang_hooks_for_types): Add
2460 enum_underlying_base_type.
2461 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
2462 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
2463 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
2464
95989e5c
RB
24652014-05-21 Richard Biener <rguenther@suse.de>
2466
d4082970 2467 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 2468
dbed5a9b
JM
24692014-05-21 John Marino <gnugcc@marino.st>
2470
2471 * config.gcc (*-*-dragonfly*): New target.
2472 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
2473 * configure: Regenerate.
2474 * config/dragonfly-stdint.h: New.
2475 * config/dragonfly.h: New.
2476 * config/dragonfly.opt: New.
2477 * config/i386/dragonfly.h: New.
2478 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
2479
632f2871
RS
24802014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2481
2482 * tree.def (VOID_CST): New.
2483 * tree-core.h (TI_VOID): New.
2484 * tree.h (void_node): New.
2485 * tree.c (tree_node_structure_for_code, tree_code_size)
2486 (iterative_hash_expr): Handle VOID_CST.
2487 (build_common_tree_nodes): Initialize void_node.
2488
8a9e6b45
BS
24892014-05-21 Bernd Schmidt <bernds@codesourcery.com>
2490
bffe67e7
BS
2491 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
2492 functions.
2493 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
2494
0836b77f
BS
2495 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
2496 more places.
2497
8a9e6b45
BS
2498 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
2499 flag_reorder_blocks_and_partition.
2500 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
2501
c4e5de1b
OE
25022014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
2503
2504 PR target/54236
2505 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
2506 constraints.
2507 (*addc_r_t): Add new insn_and_split.
2508
decaaec8
JJ
25092014-05-21 Jakub Jelinek <jakub@redhat.com>
2510
2511 PR middle-end/61252
2512 * omp-low.c (handle_simd_reference): New function.
2513 (lower_rec_input_clauses): Use it. Defer adding reference
2514 initialization even for reduction without placeholder if in simd,
2515 handle it properly later on.
2516
3aaf0529
JH
25172014-05-20 Jan Hubicka <hubicka@ucw.cz>
2518
2519 PR tree-optimization/60899
2520 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
2521 assume all static symbols will have definition wile parsing and
2522 check the do have definition later in compilation; check that
2523 variable referring symbol will be output before concluding that
2524 reference is safe; be conservative for referring local statics;
2525 be more precise about when comdat is output in other partition.
2526
1bbb87c4
JH
25272014-05-20 Jan Hubicka <hubicka@ucw.cz>
2528
2529 PR bootstrap/60984
d4082970
MT
2530 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
2531 parameter.
1bbb87c4 2532 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
2533 (ipa_inline): Loop inline_to_all_callers until no more aliases
2534 are removed.
1bbb87c4 2535
d5ce4663
JH
25362014-05-20 Jan Hubicka <hubicka@ucw.cz>
2537
2538 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
2539 set writeonly flag only for vars actually written to.
2540
98339851
DC
25412014-05-20 Dehao Chen <dehao@google.com>
2542
2543 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
2544 and callee count to get clone count.
2545 * tree-inline.c (expand_call_inline): Use callee count instead of bb
2546 count in copy_body.
2547
ec27069c
RS
25482014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
2549
2550 PR rtl-optimization/61243
2551 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
2552
2b5f0895
XDL
25532014-05-20 Xinliang David Li <davidxl@google.com>
2554
2555 * cgraphunit.c (walk_polymorphic_call_targets): Add
2556 dbgcnt and fopt-info support.
2557 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
2558 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 2559 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
2560 * ipa.c (walk_polymorphic_call_targets): Ditto.
2561 * gimple-fold.c (fold_gimple_assign): Ditto.
2562 (gimple_fold_call): Ditto.
2563 * dbgcnt.def: New counter.
2564
9c5f6203
DD
25652014-05-20 DJ Delorie <dj@redhat.com>
2566
2567 * config/msp430/msp430.md (split): Don't allow subregs when
2568 splitting SImode adds.
2569 (andneghi): Fix subtraction logic.
2570 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
2571
cf288ed3
JH
25722014-05-20 Jan Hubicka <hubicka@ucw.cz>
2573
2574 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
2575 symbols.
2576 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 2577 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
2578 align_variable, get_block_for_decl, default_section_type_flags):
2579 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
2580 * symtab.c (symtab_add_to_same_comdat_group,
2581 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
2582 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
2583 Likewise.
2584 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
2585 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
2586 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
2587 (c6x_function_in_section_p): Likewise.
2588 * config/darwin.c (machopic_select_section): Likewise.
2589 * config/arm/arm.c (arm_function_in_section_p): Likewise.
2590 * config/mips/mips.c (mips_function_rodata_section): Likewise.
2591 * config/mep/mep.c (mep_select_section): LIkewise.
2592 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
2593
7eab31ed
EB
25942014-05-20 Eric Botcazou <ebotcazou@adacore.com>
2595
2596 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
2597 EH region of calls to pure functions that can throw an exception.
2598 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
2599 (copy_reference_ops_from_call): Also copy the EH region of the call if
2600 it can throw an exception.
2601
ec217bd8
BS
26022014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2603
2604 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
2605 nested VEC_SELECTs that are inverses of each other.
2606
b2b222b3
RB
26072014-05-20 Richard Biener <rguenther@suse.de>
2608
d4082970 2609 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
2610 (extract_and_process_scc_for_name): not here.
2611 (cond_dom_walker::before_dom_children): Only process
2612 stmts that end the BB in interesting ways.
2613 (run_scc_vn): Mark param uses as visited.
2614
e9ea5185
KT
26152014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2616
2617 * config/arm/arm.md (arith_shiftsi): Do not predicate for
2618 arm_restrict_it.
2619
8f0e7f6f
NC
26202014-05-20 Nick Clifton <nickc@redhat.com>
2621
467fc67c
NC
2622 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
2623 (msp430_gimplify_va_arg_expr): New function.
2624 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
2625
8f0e7f6f
NC
2626 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
2627 operand 0 in order to prevent confusion about the number of
2628 registers involved.
2629
d1c0308e
RB
26302014-05-20 Richard Biener <rguenther@suse.de>
2631
2632 PR tree-optimization/61221
2633 * tree-ssa-pre.c (el_to_update): Remove.
2634 (eliminate_dom_walker::before_dom_children): Handle released
2635 VDEFs by value-numbering them to the associated VUSE. Update
2636 stmt immediately for substituted call address.
2637 (eliminate): Remove delayed stmt updating code.
2638 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
2639 possibly late re-numbered vuses.
2640 (vn_reference_lookup_2): Adjust.
2641 (vn_reference_lookup_pieces): Likewise.
2642 (vn_reference_lookup): Likewise.
2643
54da09ee
RB
26442014-05-20 Richard Biener <rguenther@suse.de>
2645
2646 * config.gcc: Remove need_64bit_hwint.
2647 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
2648 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
2649 it to be true.
2650 * config.in: Regenerate.
2651 * configure: Likewise.
2652
883755a1
DW
26532014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
2654
2655 * doc/extend.texi: Create Label Attributes section,
2656 move all label attributes into it and reference it.
2657
514b3156
RE
26582014-05-19 Richard Earnshaw <rearnsha@arm.com>
2659
2660 * arm.c (thumb1_reorg): When scanning backwards skip anything
2661 that's not a proper insn.
2662
1d44def2
RB
26632014-05-19 Richard Biener <rguenther@suse.de>
2664
2665 PR tree-optimization/61221
2666 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2667 Do nothing for unreachable blocks.
2668 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
2669 Improve unreachability detection.
2670
05135136
RB
26712014-05-19 Richard Biener <rguenther@suse.de>
2672
2673 PR tree-optimization/61209
2674 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
2675
40ba8dfb
NC
26762014-05-19 Nick Clifton <nickc@redhat.com>
2677
2678 * except.c (init_eh): Fix computation of builtin setjmp buffer
2679 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
2680
cb460086
RB
26812014-05-19 Richard Biener <rguenther@suse.de>
2682
2683 PR tree-optimization/61184
2684 * tree-vrp.c (is_negative_overflow_infinity): Use
2685 TREE_OVERFLOW_P and do that check first.
2686 (is_positive_overflow_infinity): Likewise.
2687 (is_overflow_infinity): Likewise.
2688 (vrp_operand_equal_p): Properly treat operands with
2689 differing overflow as not equal.
2690
bddd3671
BS
26912014-05-19 Bernd Schmidt <bernds@codesourcery.com>
2692
2693 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
2694 shift simplification where it was intended.
2695
72d82e7a
CB
26962014-05-19 Christian Bruel <christian.bruel@st.com>
2697
2698 PR target/61195
2699 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
2700
34dbb287
RS
27012014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
2702
2703 PR target/61084
2704 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
2705 than wide_int.
2706
339ba33b
RS
27072014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2708
2709 * reg-notes.def (CROSSING_JUMP): Likewise.
2710 * rtl.h (rtx_def): Update comment for jump flag.
2711 (CROSSING_JUMP_P): Define.
2712 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
2713 of a REG_CROSSING_JUMP note.
2714 * cfghooks.c (tidy_fallthru_edges): Likewise.
2715 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
2716 * emit-rtl.c (try_split): Likewise.
2717 * haifa-sched.c (sched_create_recovery_edges): Likewise.
2718 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
2719 * jump.c (redirect_jump_2): Likewise.
2720 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
2721 (relax_delay_slots): Likewise.
2722 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
2723 (bbit_di): Likewise.
2724 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
2725 * config/sh/sh.md (jump_compact): Likewise.
2726 * bb-reorder.c (rotate_loop): Likewise.
2727 (pass_duplicate_computed_gotos::execute): Likewise.
2728 (add_reg_crossing_jump_notes): Rename to...
2729 (update_crossing_jump_flags): ...this.
2730 (pass_partition_blocks::execute): Update accordingly.
2731
a65d5b87
RS
27322014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2733
2734 * tree.h: Remove extraneous template <>.
2735
7b3376a0
JH
27362014-05-17 Jan Hubicka <hubicka@ucw.cz>
2737
2738 * ipa.c (symtab_remove_unreachable_nodes): Remove
2739 symbol from comdat group if its body was eliminated.
d4082970
MT
2740 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
2741 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
2742 (symtab_unregister_node): ... this one.
2743 (verify_symtab_base): More strict checking of comdats.
2744 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
2745
a04d9035
JH
27462014-05-17 Jan Hubicka <hubicka@ucw.cz>
2747
2748 * tree-pass.h (make_pass_ipa_comdats): New pass.
2749 * timevar.def (TV_IPA_COMDATS): New timevar.
2750 * passes.def (pass_ipa_comdats): Add.
2751 * Makefile.in (OBJS): Add ipa-comdats.o
2752 * ipa-comdats.c: New file.
2753
24a71ba8
JH
27542014-05-17 Jan Hubicka <hubicka@ucw.cz>
2755
2756 * ipa.c (update_visibility_by_resolution_info): New function.
2757 (function_and_variable_visibility): Use it.
2758
d6d229c6
JH
27592014-05-17 Jan Hubicka <hubicka@ucw.cz>
2760
2761 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
2762 New functions.
2763 (FOR_EACH_DEFINED_SYMBOL): New macro.
2764 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
2765 varpool_first_defined_variable, varpool_next_defined_variable):
2766 Fix comments.
d6d229c6
JH
2767 (symtab_in_same_comdat_p): Correctly deal with inline functions.
2768
c3af645c
TS
27692014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2770
2771 * ggc-page.c (ggc_handle_finalizers): Add comment.
2772
de49ce19
TS
27732014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2774
2775 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
2776 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
2777 (ggc_internal_cleared_alloc): Likewise.
2778 * ggc-page.c (finalizer): New class.
16f8dfdb 2779 (vec_finalizer): Likewise.
de49ce19 2780 (globals::finalizers): New member.
16f8dfdb 2781 (globals::vec_finalizers): Likewise.
de49ce19
TS
2782 (ggc_internal_alloc): Record the finalizer if any for the block being
2783 allocated.
2784 (ggc_handle_finalizers): New function.
2785 (ggc_collect): Call ggc_handle_finalizers.
2786 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
2787 finalizer.
2788 (ggc_internal_cleared_alloc): Likewise.
2789 (finalize): New function.
2790 (need_finalization_p): Likewise.
2791 (ggc_alloc): Install the type's destructor as the finalizer if it
2792 might do something.
2793 (ggc_cleared_alloc): Likewise.
2794 (ggc_vec_alloc): Likewise.
2795 (ggc_cleared_vec_alloc): Likewise.
2796
04eec987
TS
27972014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2798
2799 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
2800
766090c2
TS
28012014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2802
2803 * alias.c (record_alias_subset): Adjust.
2804 * bitmap.c (bitmap_element_allocate): Likewise.
2805 (bitmap_gc_alloc_stat): Likewise.
2806 * cfg.c (init_flow): Likewise.
2807 (alloc_block): Likewise.
2808 (unchecked_make_edge): Likewise.
2809 * cfgloop.c (alloc_loop): Likewise.
2810 (flow_loops_find): Likewise.
2811 (rescan_loop_exit): Likewise.
2812 * cfgrtl.c (init_rtl_bb_info): Likewise.
2813 * cgraph.c (insert_new_cgraph_node_version): Likewise.
2814 (cgraph_allocate_node): Likewise.
2815 (cgraph_create_edge_1): Likewise.
2816 (cgraph_allocate_init_indirect_info): Likewise.
2817 * cgraphclones.c (cgraph_clone_edge): Likewise.
2818 * cgraphunit.c (add_asm_node): Likewise.
2819 (init_lowered_empty_function): Likewise.
16f8dfdb 2820 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
2821 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
2822 (alpha_use_linkage): Likewise.
2823 * config/arc/arc.c (arc_init_machine_status): Likewise.
2824 * config/arm/arm.c (arm_init_machine_status): Likewise.
2825 * config/avr/avr.c (avr_init_machine_status): Likewise.
2826 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
2827 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
2828 * config/cris/cris.c (cris_init_machine_status): Likewise.
2829 * config/darwin.c (machopic_indirection_name): Likewise.
2830 (darwin_build_constant_cfstring): Likewise.
2831 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 2832 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
2833 * config/frv/frv.c (frv_init_machine_status): Likewise.
2834 * config/i386/i386.c (get_dllimport_decl): Likewise.
2835 (ix86_init_machine_status): Likewise.
2836 (assign_386_stack_local): Likewise.
16f8dfdb 2837 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
2838 (i386_pe_maybe_record_exported_symbol): Likewise.
2839 (i386_pe_record_stub): Likewise.
2840 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
2841 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
2842 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
2843 (m32c_note_pragma_address): Likewise.
2844 * config/mep/mep.c (mep_init_machine_status): Likewise.
2845 (mep_note_pragma_flag): Likewise.
2846 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
2847 (mips16_local_alias): Likewise.
2848 (mips_init_machine_status): Likewise.
2849 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
2850 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
2851 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
2852 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
2853 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
2854 * config/pa/pa.c (pa_init_machine_status): Likewise.
2855 (pa_get_deferred_plabel): Likewise.
2856 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
2857 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
2858 (rs6000_init_machine_status): Likewise.
2859 (output_toc): Likewise.
2860 * config/s390/s390.c (s390_init_machine_status): Likewise.
2861 * config/score/score.c (score_output_external): Likewise.
2862 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
2863 * config/spu/spu.c (spu_init_machine_status): Likewise.
2864 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 2865 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
2866 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
2867 * coverage.c (coverage_end_function): Likewise.
2868 * dbxout.c (dbxout_init): Likewise.
2869 * doc/gty.texi: Don't mention variable_size attribute.
2870 * dwarf2cfi.c (new_cfi): Adjust.
2871 (new_cfi_row): Likewise.
2872 (copy_cfi_row): Likewise.
2873 (create_cie_data): Likewise.
2874 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
2875 (new_loc_descr): Likewise.
2876 (find_AT_string_in_table): Likewise.
2877 (add_addr_table_entry): Likewise.
2878 (new_die): Likewise.
2879 (add_var_loc_to_decl): Likewise.
2880 (clone_die): Likewise.
2881 (clone_as_declaration): Likewise.
2882 (break_out_comdat_types): Likewise.
2883 (new_loc_list): Likewise.
2884 (add_loc_descr_to_each): Likewise.
2885 (add_location_or_const_value_attribute): Likewise.
2886 (add_linkage_name): Likewise.
2887 (lookup_filename): Likewise.
2888 (dwarf2out_var_location): Likewise.
2889 (new_line_info_table): Likewise.
2890 (dwarf2out_init): Likewise.
2891 (mem_loc_descriptor): Likewise.
2892 (loc_descriptor): Likewise.
2893 (add_const_value_attribute): Likewise.
2894 (tree_add_const_value_attribute): Likewise.
2895 (comp_dir_string): Likewise.
2896 (dwarf2out_vms_debug_main_pointer): Likewise.
2897 (string_cst_pool_decl): Likewise.
2898 * emit-rtl.c (set_mem_attrs): Likewise.
2899 (get_reg_attrs): Likewise.
2900 (start_sequence): Likewise.
2901 (init_emit): Likewise.
2902 (init_emit_regs): Likewise.
2903 * except.c (init_eh_for_function): Likewise.
2904 (gen_eh_region): Likewise.
2905 (gen_eh_region_catch): Likewise.
2906 (gen_eh_landing_pad): Likewise.
2907 (add_call_site): Likewise.
2908 * function.c (add_frame_space): Likewise.
2909 (insert_temp_slot_address): Likewise.
2910 (assign_stack_temp_for_type): Likewise.
2911 (get_hard_reg_initial_val): Likewise.
2912 (allocate_struct_function): Likewise.
2913 (prepare_function_start): Likewise.
2914 (types_used_by_var_decl_insert): Likewise.
2915 * gengtype.c (variable_size_p): Remove function.
2916 (enum alloc_quantity): Remove enum.
2917 (write_typed_alloc_def): Remove function.
2918 (write_typed_struct_alloc_def): Likewise.
2919 (write_typed_typedef_alloc_def): Likewise.
2920 (write_typed_alloc_defns): Likewise.
2921 (main): Adjust.
2922 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
2923 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
2924 * ggc.h (ggc_alloc): new function.
2925 (ggc_cleared_alloc): Likewise.
2926 (ggc_vec_alloc): Template on type of vector element, and remove
2927 element size argument.
2928 (ggc_cleared_vec_alloc): Likewise.
2929 * gimple.c (gimple_build_omp_for): Adjust.
2930 (gimple_copy): Likewise.
2931 * ipa-cp.c (get_replacement_map): Likewise.
2932 (find_aggregate_values_for_callers_subset): Likewise.
2933 (known_aggs_to_agg_replacement_list): Likewise.
2934 * ipa-devirt.c (get_odr_type): Likewise.
2935 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
2936 (read_agg_replacement_chain): Likewise.
2937 * loop-iv.c (get_simple_loop_desc): Likewise.
2938 * lto-cgraph.c (input_node_opt_summary): Likewise.
2939 * lto-section-in.c (lto_new_in_decl_state): Likewise.
2940 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
2941 (input_eh_region): Likewise.
2942 (input_eh_lp): Likewise.
2943 (input_cfg): Likewise.
2944 * optabs.c (set_optab_libfunc): Likewise.
2945 (init_tree_optimization_optabs): Likewise.
2946 (set_conv_libfunc): Likewise.
2947 * passes.c (do_per_function_toporder): Likewise.
2948 * rtl.h: Don't use variable_size gty attribute.
2949 * sese.c (if_region_set_false_region): Adjust.
2950 * stringpool.c (gt_pch_save_stringpool): Likewise.
2951 * target-globals.c (save_target_globals): Likewise.
2952 * toplev.c (general_init): Likewise.
2953 * trans-mem.c (record_tm_replacement): Likewise.
2954 (split_bb_make_tm_edge): Likewise.
2955 * tree-cfg.c (move_sese_region_to_fn): Likewise.
2956 * tree-data-ref.h (lambda_vector_new): Likewise.
2957 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
2958 * tree-iterator.c (tsi_link_before): Likewise.
2959 (tsi_link_after): Likewise.
2960 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
2961 * tree-ssa-loop-niter.c (record_estimate): Likewise.
2962 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
2963 * tree-ssa-operands.h: Don't use variable_size gty attribute.
2964 * tree-ssa.c (init_tree_ssa): Adjust.
2965 * tree-ssanames.c (set_range_info): Likewise.
2966 (get_ptr_info): Likewise.
2967 (duplicate_ssa_name_ptr_info): Likewise.
2968 (duplicate_ssa_name_range_info): Likewise.
2969 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
2970 (unpack_ts_fixed_cst_value_fields): Likewise.
2971 * tree.c (build_fixed): Likewise.
2972 (build_real): Likewise.
2973 (build_string): Likewise.
2974 (decl_priority_info): Likewise.
2975 (decl_debug_expr_insert): Likewise.
2976 (decl_value_expr_insert): Likewise.
2977 (decl_debug_args_insert): Likewise.
2978 (type_hash_add): Likewise.
2979 (build_omp_clause): Likewise.
2980 * ubsan.c (decl_for_type_insert): Likewise.
2981 * varasm.c (get_unnamed_section): Likewise.
2982 (get_noswitch_section): Likewise.
2983 (get_section): Likewise.
2984 (get_block_for_section): Likewise.
2985 (create_block_symbol): Likewise.
2986 (build_constant_desc): Likewise.
2987 (create_constant_pool): Likewise.
2988 (force_const_mem): Likewise.
2989 (record_tm_clone_pair): Likewise.
2990 * varpool.c (varpool_create_empty_node): Likewise.
2991
231120e5
TS
29922014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2993
2994 * dwarf2out.c (tree_add_const_value_attribute): Call
2995 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
2996 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
2997 instead of ggc_internal_<x>alloc_stat.
2998 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
2999 (ggc_realloc): Likewise.
3000 * ggc-none.c (ggc_internal_alloc): Likewise.
3001 (ggc_internal_cleared_alloc): Likewise.
3002 * ggc-page.c: Likewise.
3003 * ggc.h (ggc_internal_alloc_stat): Likewise.
3004 (ggc_internal_alloc): Remove macro.
3005 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
3006 (ggc_internal_cleared_alloc): Remove macro.
3007 (GGC_RESIZEVEC): Adjust.
3008 (ggc_resizevar): Remove macro.
3009 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
3010 (ggc_internal_cleared_vec_alloc_stat): Likewise.
3011 (ggc_internal_vec_cleared_alloc): Remove macro.
3012 (ggc_alloc_atomic_stat): Drop _stat suffix.
3013 (ggc_alloc_atomic): Remove macro.
3014 (ggc_alloc_cleared_atomic): Remove macro.
3015 (ggc_alloc_string_stat): Drop _stat suffix.
3016 (ggc_alloc_string): Remove macro.
3017 (ggc_alloc_rtx_def_stat): Adjust.
3018 (ggc_alloc_tree_node_stat): Likewise.
3019 (ggc_alloc_cleared_tree_node_stat): Likewise.
3020 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
3021 (ggc_alloc_cleared_simd_clone_stat): Likewise.
3022 * gimple.c (gimple_build_omp_for): Likewise.
3023 (gimple_copy): Likewise.
3024 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
3025 * toplev.c (realloc_for_line_map): Adjust.
3026 * tree-data-ref.h (lambda_vector_new): Likewise.
3027 * tree-phinodes.c (allocate_phi_node): Likewise.
3028 * tree.c (grow_tree_vec_stat): Likewise.
3029 * vec.h (va_gc::reserve): Adjust.
3030
16f8dfdb 30312014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 3032
16f8dfdb
UB
3033 * config/microblaze/microblaze.c (break_handler): New Declaration.
3034 (microblaze_break_function_p,microblaze_is_break_handler): New.
3035 (compute_frame_size): Use microblaze_break_function_p.
3036 Add the test of break_handler.
3037 (microblaze_function_prologue) : Add the test of variable
3038 break_handler. Check the fnname by BREAK_HANDLER_NAME.
3039 (microblaze_function_epilogue) : Add the test of break_handler.
3040 (microblaze_globalize_label) : Add the test of break_handler.
3041 Check the name by BREAK_HANDLER_NAME.
86498dba 3042
16f8dfdb 3043 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 3044
16f8dfdb
UB
3045 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
3046 microblaze_is_break_handler test.
3047 (call_internal1,call_value_intern): Use microblaze_break_function_p.
3048 Use SYMBOL_REF_DECL.
86498dba
AA
3049
3050 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
3051 (microblaze_break_function_p,microblaze_is_break_handler):
3052 New Declaration.
86498dba 3053
16f8dfdb
UB
3054 * doc/extend.texi (MicroBlaze break_handler Functions): Document
3055 new MicroBlaze break_handler functions.
86498dba 3056
71ca3028
UB
30572014-05-17 Uros Bizjak <ubizjak@gmail.com>
3058
3059 * doc/extend.texi (Size of an asm): Move node text according
3060 to its @menu entry position.
3061
87a34442
MG
30622014-05-17 Marc Glisse <marc.glisse@inria.fr>
3063
3064 PR tree-optimization/61140
3065 PR tree-optimization/61150
3066 PR tree-optimization/61197
3067 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
3068
6ca74b5c
UB
30692014-05-17 Uros Bizjak <ubizjak@gmail.com>
3070
3071 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
3072
60f82c42
RS
30732014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
3074
3075 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
3076 __SIZEOF_INT128__ is defined.
3077
a1242f17
RS
30782014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
3079
3080 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
3081 (rs6000_delegitimize_address): Use it.
3082
23b33725
RS
30832014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
3084
3085 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
3086 inplace argument. Store the new address in the original MEM when true.
3087 * emit-rtl.c (change_address_1): Likewise.
3088 (adjust_address_1, adjust_automodify_address_1, offset_address):
3089 Update accordingly.
3090 * rtl.h (plus_constant): Add an inplace argument.
3091 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
3092 when true. Avoid generating (plus X (const_int 0)).
3093 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
3094 in-place. Pass true to plus_constant.
3095 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
3096
2f6eed01
DC
30972014-05-16 Dehao Chen <dehao@google.com>
3098
3099 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
3100
b200de02
OE
31012014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3102
3103 PR target/54089
3104 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
3105 patterns.
3106 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
3107
cf40f973
DC
31082014-05-16 Dehao Chen <dehao@google.com>
3109
6b8ebd00
UB
3110 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
3111 optimize_function_for_size_p.
cf40f973
DC
3112 * regs.h (REG_FREQ_FROM_BB): Likewise.
3113
48d8568e
OE
31142014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3115
3116 PR target/51244
3117 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
3118 negt_reg_operand cases.
3119 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
3120 predicate.
3121 * config/sh/predicates.md (cbranch_treg_value): Simplify.
3122
d580af0f
OE
31232014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3124
3125 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
3126 target variants.
3127
6c7571a2
DM
31282014-05-16 David Malcolm <dmalcolm@redhat.com>
3129
3130 Revert:
3131 2014-04-29 David Malcolm <dmalcolm@redhat.com>
3132
3133 * tree-cfg.c (dump_function_to_file): Dump the return type of
3134 functions, in a line to itself before the function body, mimicking
3135 the layout of a C function.
3136
b0e66512
DC
31372014-05-16 Dehao Chen <dehao@google.com>
3138
3139 * cfghooks.c (make_forwarder_block): Use direct computation to
3140 get fall-through edge's count and frequency.
3141
6b8ebd00 31422014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
3143
3144 * config/arc/arc.c (arc_init): Fix typo in error message.
3145 * config/i386/i386.c (ix86_expand_builtin): Likewise.
3146 (split_stack_prologue_scratch_regno): Likewise.
3147 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
3148 word from error message.
3149
420ab54b
ZZ
31502014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
3151
3152 * ira-costs.c: Fix typo in comment.
3153
8e90f610
DW
31542014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
3155
6b8ebd00 3156 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 3157
6de88c6a
JH
31582014-05-16 Jan Hubicka <hubicka@ucw.cz>
3159
3160 * varpool.c (dump_varpool_node): Dump write-only flag.
3161 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
3162 write-only flag.
6b8ebd00
UB
3163 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
3164 write-only variables.
3165 * ipa.c (process_references): New function.
3166 (set_readonly_bit): New function.
3167 (set_writeonly_bit): New function.
3168 (clear_addressable_bit): New function.
3169 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
3170 fix handling of aliases.
3171 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 3172
f4e075e7
VM
31732014-05-16 Vladimir Makarov <vmakarov@redhat.com>
3174
3175 PR rtl-optimization/60969
3176 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
3177 Calculate costs for this case.
3178
8b628e86
EB
31792014-05-16 Eric Botcazou <ebotcazou@adacore.com>
3180
3181 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
3182 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
3183
52264dbf
RB
31842014-05-16 Richard Biener <rguenther@suse.de>
3185
3186 PR tree-optimization/61194
3187 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
3188 bool patterns ending in a COND_EXPR.
3189
3d840f7d
JG
31902014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3191
3192 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
3193
88d4fbcf
JG
31942014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3195
3196 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
3197 where we were unable to cost an RTX.
3198
909734be
JG
31992014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3200
3201 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
3202 HIGH, LO_SUM.
3203
fb620c4a
JG
32042014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3205 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3206
3207 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
3208
b292109f
JG
32092014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3210 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3211
3212 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
3213 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
3214
a8eecd00
JG
32152014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3216 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3217
3218 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
3219 operators.
3220
4105fe38
JG
32212014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3222 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3223
3224 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
3225 DIV/MOD.
3226
32272014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
3228 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3229
3230 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
3231 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
3232
ba0cfa17
JG
32332014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3234 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3235
3236 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
3237 rotates and shifts.
3238
b1685e62
JG
32392014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3240 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3241
3242 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
3243 ZERO_EXTEND and SIGN_EXTEND better.
3244
268c3b47
JG
32452014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3246 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3247
3248 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
3249 logical operations.
3250
2961177e
JG
32512014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3252 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3253
3254 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
3255 costs when costing loads and stores to memory.
3256
ba123b0d
JG
32572014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3258 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
3259
3260 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
3261 for SET RTX.
3262
7fc5ef02
JG
32632014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3264
3265 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
3266
4745e701
JG
32672014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3268 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3269
3270 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
3271 to...
3272 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
3273 well formed.
3274 (aarch64_rtx_mult_cost): New.
3275 (aarch64_rtx_costs): Use it, refactor as appropriate.
3276
9dfc162c
JG
32772014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3278 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3279
3280 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
3281 emit instructions, return number of instructions which would
3282 be emitted.
3283 (aarch64_add_constant): Update call to aarch64_build_constant.
3284 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 3285 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
3286 a CONST_DOUBLE.
3287
0ee859b5
JG
32882014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3289
3290 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
3291 (TARGET_RTX_COSTS): Call it.
3292
60bff090
JG
32932014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3294
3295 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
3296 (cortexa57_vector_cost): Likewise.
3297 (cortexa57_tunings): Use them.
3298
67747367
JG
32992014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3300
3301 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
3302 (cpu_addrcost_table): Use it.
3303 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
3304 (aarch64_address_cost): Rewrite using aarch64_classify_address,
3305 move it.
3306
a764d660
RB
33072014-05-16 Richard Biener <rguenther@suse.de>
3308
3309 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
3310 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
3311 (visit_phi): Ignore edges marked as not executable.
3312 (class cond_dom_walker): New.
3313 (cond_dom_walker::before_dom_children): Value-number
3314 control statements and mark successor edges as not
3315 executable if possible.
3316 (run_scc_vn): First walk all control statements in
3317 dominator order, marking edges as not executable.
3318 * tree-inline.c (copy_edges_for_bb): Be not confused
3319 about random edge flags.
3320
a27c3860
RB
33212014-05-16 Richard Biener <rguenther@suse.de>
3322
3323 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
3324
d8c55b91
PB
33252014-05-15 Peter Bergner <bergner@vnet.ibm.com>
3326
3327 PR target/61193
3328 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
3329 (__TM_simple_begin): Use it.
3330 (__TM_begin): Likewise.
3331
8a2256dd
MJ
33322014-05-15 Martin Jambor <mjambor@suse.cz>
3333
3334 PR ipa/61085
3335 * ipa-prop.c (update_indirect_edges_after_inlining): Check
3336 type_preserved flag when the indirect edge is polymorphic.
3337
9d2681a3
MJ
33382014-05-15 Martin Jambor <mjambor@suse.cz>
3339
3340 PR tree-optimization/61090
3341 * tree-sra.c (sra_modify_expr): Pass the current gsi to
3342 build_ref_for_model.
3343
927450d0
KT
33442014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3345
3346 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
3347 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
3348
ceed6e67
JJ
33492014-05-15 Jakub Jelinek <jakub@redhat.com>
3350
3351 PR tree-optimization/61158
3352 * fold-const.c (fold_binary_loc): If X is zero-extended and
3353 shiftc >= prec, make sure zerobits is all ones instead of
3354 invoking undefined behavior.
3355
a2e6c10c
ZC
33562014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3357
3358 * regcprop.h: New file.
3359 * regcprop.c (skip_debug_insn_p): New decl.
3360 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
3361 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
3362 * shrink-wrap.c: Include regcprop.h.
3363 (prepare_shrink_wrap): Call
3364 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 3365
e974b93b
ZC
33662014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3367
3368 * shrink-wrap.h: Update comment.
3369 * shrink-wrap.c: Update comment.
3370 (next_block_for_reg): Rename to live_edge_for_reg.
3371 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
3372 (move_insn_for_shrink_wrap): Split live_edge.
3373 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
3374
88fe5e91
EB
33752014-05-14 Eric Botcazou <ebotcazou@adacore.com>
3376
3377 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
3378 Delete.
3379 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
3380 * config/sparc/sparc.md (fptype_ut699): New attribute.
3381 (in_branch_delay): Return false if -mfix-ut699 is specified and
3382 fptype_ut699 is set to single.
3383 (truncdfsf2): Add fptype_ut699 attribute.
3384 (fix_truncdfsi2): Likewise.
3385 (floatsisf2): Change fptype attribute.
3386 (fix_truncsfsi2): Likewise.
3387 (negtf2_notv9): Delete.
3388 (negtf2_v9): Likewise.
3389 (negtf2_hq): New instruction.
3390 (negtf2): New instruction and splitter.
3391 (negdf2_notv9): Rewrite.
3392 (abstf2_notv9): Delete.
3393 (abstf2_hq_v9): Likewise.
3394 (abstf2_v9): Likewise.
3395 (abstf2_hq): New instruction.
3396 (abstf2): New instruction and splitter.
3397 (absdf2_notv9): Rewrite.
3398
bc91b0e0
CC
33992014-05-14 Cary Coutant <ccoutant@google.com>
3400
6b8ebd00 3401 PR debug/61013
bc91b0e0
CC
3402 * opts.c (common_handle_option): Don't special-case "-g".
3403 (set_debug_level): Default to at least level 2 with "-g".
3404
5f35dde5
DD
34052014-05-14 DJ Delorie <dj@redhat.com>
3406
3407 * config/msp430/msp430.c (msp430_builtin): Add
3408 MSP430_BUILTIN_DELAY_CYCLES.
3409 (msp430_init_builtins): Register void __delay_cycles(long long).
3410 (msp430_builtin_decl): Add it.
3411 (cg_magic_constant): New.
3412 (msp430_expand_delay_cycles): New.
3413 (msp430_expand_builtin): Call it.
3414 (msp430_print_operand_raw): Change integer printing from "int" to
3415 HOST_WIDE_INT.
3416 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
3417 (delay_cycles_start): New.
3418 (delay_cycles_end): New.
3419 (delay_cycles_32): New.
3420 (delay_cycles_32x): New.
3421 (delay_cycles_16): New.
3422 (delay_cycles_16x): New.
3423 (delay_cycles_2): New.
3424 (delay_cycles_1): New.
3425 * doc/extend.texi: Document __delay_cycles().
3426
5d40b20f
SL
34272014-05-14 Sandra Loosemore <sandra@codesourcery.com>
3428
3429 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
3430 length attribute computation.
3431
25109109
RS
34322014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
3433
3434 PR debug/61188
3435 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
3436
7e7e4032
RS
34372014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3438
3439 PR target/61084
3440 * config/sparc/sparc.md: Fix types of low and high in DI constant
3441 splitter. Use gen_int_mode in some other splitters.
3442
70d6d5c1
MJ
34432014-05-14 Martin Jambor <mjambor@suse.cz>
3444
3445 PR ipa/60897
3446 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
3447
23b02de3
JN
34482014-05-14 James Norris <jnorris@codesourcery.com>
3449
3450 * omp-low.c (expand_parallel_call): Remove shadow variable.
3451 (expand_omp_taskreg): Likewise.
3452
9cdea277
IT
34532014-05-14 Ilya Tocar <ilya.tocar@intel.com>
3454
3455 * common/config/i386/i386-common.c
3456 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
3457 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
3458 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
3459 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
3460 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
3461 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 3462 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
3463 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
3464 xsavecintrin.h, xsavesintrin.h.
3465 (x86_64-*-*): Ditto.
3466 * config/i386/clflushoptintrin.h: New.
3467 * config/i386/xsavecintrin.h: Ditto.
3468 * config/i386/xsavesintrin.h: Ditto.
3469 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
3470 (bit_XSAVES): Ditto.
3471 (bit_XSAVES): Ditto.
3472 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
3473 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
3474 -mno-clflushopt.
3475 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
3476 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
3477 OPTION_MASK_ISA_XSAVES.
3478 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
3479 -mxsavec, -mxsaves.
3480 (PTA_CLFLUSHOPT) Define.
3481 (PTA_XSAVEC): Ditto.
3482 (PTA_XSAVES): Ditto.
3483 (ix86_option_override_internal): Handle new options.
3484 (ix86_valid_target_attribute_inner_p): Ditto.
3485 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
3486 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
3487 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
3488 (bdesc_special_args): Add __builtin_ia32_xsaves,
3489 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
3490 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
3491 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
3492 (ix86_expand_builtin): Handle new builtins.
3493 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
3494 (TARGET_CLFLUSHOPT_P): Ditto.
3495 (TARGET_XSAVEC): Ditto.
3496 (TARGET_XSAVEC_P): Ditto.
3497 (TARGET_XSAVES): Ditto.
3498 (TARGET_XSAVES_P): Ditto.
3499 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
3500 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
3501 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
3502 (ANY_XRSTOR): New.
3503 (ANY_XRSTOR64): Ditto.
3504 (xrstor): Ditto.
3505 (xrstor): Change into <xrstor>.
3506 (xrstor_rex64): Change into <xrstor>_rex64.
3507 (xrstor64): Change into <xrstor>64
3508 (clflushopt): New.
3509 * config/i386/i386.opt (mclflushopt): New.
3510 (mxsavec): Ditto.
3511 (mxsaves): Ditto.
3512 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
3513 xsavecintrin.h.
3514 * doc/invoke.texi: Document new options.
3515
92e265ac
AB
35162014-05-14 Andrey Belevantsev <abel@ispras.ru>
3517
3518 PR rtl-optimization/60866
3519 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
3520 Default it to -1. Pass it down to init_simplejump_data.
3521 (init_simplejump_data): New parameter old_seqno. Pass it down
3522 to get_seqno_for_a_jump.
3523 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
3524 initializing new jump seqno as a last resort. Add comment.
3525 (sel_redirect_edge_and_branch): Save old seqno of the conditional
3526 jump and pass it down to sel_init_new_insn.
3527 (sel_redirect_edge_and_branch_force): Likewise.
3528
fa96aa45
GJL
35292014-05-14 Georg-Johann Lay <avr@gjlay.de>
3530
3531 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
3532 shifted values to avoid build warning.
3533
8a829274
EB
35342014-05-14 Eric Botcazou <ebotcazou@adacore.com>
3535
3536 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
3537 * cfgrtl.c (rtl_merge_blocks): Fix comment.
3538 (cfg_layout_merge_blocks): Likewise.
3539 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
3540
11290308
AB
35412014-05-14 Andrey Belevantsev <abel@ispras.ru>
3542
3543 PR rtl-optimization/60901
3544 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
3545 bb predecessor belongs to the same scheduling region. Adjust comment.
3546
f4853e92
PB
35472014-05-13 Peter Bergner <bergner@vnet.ibm.com>
3548
3549 * doc/sourcebuild.texi: (dfp_hw): Document.
3550 (p8vector_hw): Likewise.
3551 (powerpc_eabi_ok): Likewise.
3552 (powerpc_elfv2): Likewise.
3553 (powerpc_htm_ok): Likewise.
3554 (ppc_recip_hw): Likewise.
3555 (vsx_hw): Likewise.
3556
bd5c3baa
CC
35572014-05-13 Cary Coutant <ccoutant@google.com>
3558
3559 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
3560
9aa54cc9
DM
35612014-05-13 David Malcolm <dmalcolm@redhat.com>
3562
3563 * gengtype-parse.c (require3): Eliminate in favor of...
3564 (require4): New.
3565 (require_template_declaration): Update to support optional single *
3566 on a type.
3567
3568 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
3569 (create_user_defined_type): Handle a single level of explicit
3570 pointerness within template arguments.
3571 (struct write_types_data): Add field "kind".
3572 (filter_type_name): Handle "*" character.
3573 (write_user_func_for_structure_ptr): Require a write_types_data
3574 rather than just a prefix string, so that we can look up the kind
3575 of the wtd and use it as an index into wrote_user_func_for_ptr,
3576 ensuring that such functions are written at most once. Support
6b8ebd00 3577 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
3578 (write_user_func_for_structure_body): Require a write_types_data
3579 rather than just a prefix string, so that we can pass this to
3580 write_user_func_for_structure_ptr.
3581 (write_func_for_structure): Likewise.
3582 (ggc_wtd): Add initializer of new "kind" field.
3583 (pch_wtd): Likewise.
3584
3585 * gengtype.h (enum write_types_kinds): New.
3586 (struct type): Add field wrote_user_func_for_ptr to the "s"
3587 union member.
3588
5c0f009c
RS
35892014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
3590
3591 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
3592 instead of const_binop.
3593 (fold_binary_loc): Likewise.
3594
460d1e22
RS
35952014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
3596
3597 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
3598 calculation to match get_ref_base_and_extent.
3599
1e1f96b5
CM
36002014-05-13 Catherine Moore <clm@codesourcery.com>
3601 Sandra Loosemore <sandra@codesourcery.com>
3602
3603 * configure.ac: Fix assembly for explicit JALR relocation check.
3604 * configure: Regenerate.
3605
411f86ad
KT
36062014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3607
3608 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
3609 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
3610 Remove associated type declarations and initialisations.
3611 (arm_expand_neon_builtin): Likewise.
3612 (neon_emit_pair_result_insn): Delete.
3613 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
3614 * config/arm/neon.md (neon_vtrn<mode>): Delete.
3615 (neon_vzip<mode>): Likewise.
3616 (neon_vuzp<mode>): Likewise.
3617
6b77934e
RB
36182014-05-13 Richard Biener <rguenther@suse.de>
3619
3620 PR ipa/60973
3621 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
3622 it needs revisiting whether the call still may be tail-called.
3623
da3cd113
RS
36242014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3625
3626 * rtl.def (SYMBOL_REF): Remove middle "0" field.
3627 * rtl.h (block_symbol): Reduce number of fields to 2.
3628 (rtx_def): Add u2.symbol_ref_flags.
3629 (SYMBOL_REF_FLAGS): Use it.
3630 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
3631 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
3632 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
3633 Lower index of SYMBOL_REF_DATA.
3634 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
3635 Print SYMBOL_REF_FLAGS at the same time.
3636 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
3637
fcc74520
RS
36382014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3639
3640 * rtl.def (VAR_LOCATION): Remove "i" field.
3641 * rtl.h (rtx_def): Add u2.var_location_status.
3642 (PAT_VAR_LOCATION_STATUS): Use it.
3643 (gen_rtx_VAR_LOCATION): Declare.
3644 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
3645 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
3646 * var-tracking.c (emit_note_insn_var_location): Remove casts.
3647
feb09dd9
RS
36482014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3649
3650 * rtl.def (scratch): Fix outdated comment and remove "0" field.
3651 * gengtype.c (adjust_field_rtx_def): Update accordingly.
3652
ed8921dc
RS
36532014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3654
3655 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
3656 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
3657 * rtl.h (rtx_def): Add insn_uid to u2 field.
3658 (RTX_FLAG_CHECK8): Delete in favor of...
3659 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
3660 (INSN_DELETED_P): Update accordingly.
3661 (INSN_UID): Use u2.insn_uid.
3662 (INSN_CHAIN_CODE_P): Define.
3663 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
3664 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
3665 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
3666 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
3667 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
3668 indices accordingly.
3669 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
3670 Update indices for insn-chain rtxes.
3671 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
3672 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
3673 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
3674 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
3675 * combine.c (try_combine): Likewise.
3676 * ira.c (setup_prohibited_mode_move_regs): Likewise.
3677
fccc5515
RS
36782014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3679
3680 * rtl.def (REG): Remove middle field.
3681 * rtl.h (rtx_def): Add orignal_regno to u2.
3682 (ORIGINAL_REGNO): Use it instead of field 1.
3683 (REG_ATTRS): Lower field index accordingly.
3684 * gengtype.c (adjust_field_rtx_def): Remove handling of
3685 ORIGINAL_REGNO. Move REG_ATTRS index down.
3686 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
3687 code that prints the REGNO.
3688
925c1bae
RS
36892014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3690
3691 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
3692 GENERATOR_FILE.
3693
13b0c5ac
RS
36942014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3695
3696 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
3697
be9a0da5
BC
36982014-05-13 Bin Cheng <bin.cheng@arm.com>
3699
3700 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
3701 (alloc_iv): Lower base expressions containing ADDR_EXPR.
3702
73d9ac6a
IB
37032014-05-13 Ian Bolton <ian.bolton@arm.com>
3704
3705 * config/aarch64/aarch64-protos.h
3706 (aarch64_hard_regno_caller_save_mode): New prototype.
3707 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
3708 New function.
3709 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
3710
06b90602
CB
37112014-05-13 Christian Bruel <christian.bruel@st.com>
3712
3713 * target.def (mode_switching): New hook vector.
3714 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
3715 (mode_exit, modepriority_to_mode): Likewise.
3716 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
3717 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3718 * target.h: Include tm.h and hard-reg-set.h.
3719 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
3720 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
3721 * doc/tm.texi Regenerate.
3722 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3723 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3724 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
3725 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
3726 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3727 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3728 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
3729 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
3730 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
3731 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
3732 (ix86_emit_mode_set): Hookify.
06b90602 3733 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 3734 Delete.
06b90602 3735 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3736 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
3737 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
3738 (epiphany_mode_priority_to_mode): Remove declaration.
3739 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
3740 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
3741 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
3742 Likewise.
6b8ebd00 3743 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
3744 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
3745 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
3746
455464ab
JJ
37472014-05-13 Jakub Jelinek <jakub@redhat.com>
3748
3749 PR target/61060
3750 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
3751 is const0_rtx, return immediately. Don't test count == 0 when
3752 it is always true.
3753
f30e25a3
ZC
37542014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3755
3756 * Makefile.in: add shrink-wrap.o.
3757 * config/i386/i386.c: include "shrink-wrap.h"
3758 * function.c: Likewise.
3759 (requires_stack_frame_p, next_block_for_reg,
3760 move_insn_for_shrink_wrap, prepare_shrink_wrap,
3761 dup_block_and_redirect): Move to shrink-wrap.c
3762 (thread_prologue_and_epilogue_insns): Extract three code segments
3763 as functions in shrink-wrap.c
3764 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
3765 shrink-wrap.h
3766 * shrink-wrap.c: New file.
3767 * shrink-wrap.h: New file.
3768
f95c6a78
DW
37692014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3770
3771 * doc/extend.texi: Reflect current numbers of pragmas. Remove
3772 reference to Solaris.
3773
77a1da2c
MS
37742014-05-12 Mike Stump <mikestump@comcast.net>
3775
3776 PR other/31778
3777 * genattrtab.c (filename): Add.
3778 (convert_set_attr_alternative): Improve error message.
3779 (check_defs): Restore read_md_filename for error messages.
3780 (gen_insn): Save filename.
3781
dff8943f
DP
37822014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
3783
3784 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
3785 -fno-local-ivars and -fivar-visibility.
3786 * c-family/c.opt: Make -Wshadow also implicitly enable
3787 -Wshadow-ivar.
3788
6b8ebd00 37892014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
3790
3791 * doc/tm.texi: Remove reference to deleted macro.
3792 * doc/tm.texi.in: Likewise.
3793
079f1420
SKS
37942014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3795
3796 PR target/60991
3797 * config/avr/avr.c (avr_out_store_psi): Use correct constant
3798 to restore Y.
3799
999db125
GJL
38002014-05-12 Georg-Johann Lay <avr@gjlay.de>
3801
a5024e01 3802 PR libgcc/61152
999db125
GJL
3803 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3804 * config/arm/aout.h (License): Same.
3805 * config/arm/bpabi.h (License): Same.
3806 * config/arm/elf.h (License): Same.
3807 * config/arm/linux-elf.h (License): Same.
3808 * config/arm/linux-gas.h (License): Same.
3809 * config/arm/netbsd-elf.h (License): Same.
3810 * config/arm/uclinux-eabi.h (License): Same.
3811 * config/arm/uclinux-elf.h (License): Same.
3812 * config/arm/vxworks.h (License): Same.
3813
dd2fc525
JJ
38142014-05-11 Jakub Jelinek <jakub@redhat.com>
3815
3816 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
3817 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
3818 number of operands to 3.
3819 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
3820 * tree-nested.c (convert_nonlocal_omp_clauses,
3821 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
3822 * gimplify.c (gimplify_scan_omp_clauses): Handle
3823 OMP_CLAUSE_LINEAR_STMT.
3824 * omp-low.c (lower_rec_input_clauses): Fix typo.
3825 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
3826 cast between Fortran boolean_type_node and C _Bool if
3827 needed.
3828
7588d8aa
RS
38292014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
3830
3831 PR tree-optimization/61136
3832 * wide-int.h (multiple_of_p): Define a version that doesn't return
3833 the quotient.
3834 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
3835 integer_zerop/const_binop pair.
3836 (multiple_of_p): Likewise, converting both operands to widest_int
3837 precision.
3838
e7eee636
TJ
38392014-05-09 Teresa Johnson <tejohnson@google.com>
3840
3841 * cgraphunit.c (analyze_functions): Use correct dump file.
3842
6545746e
FW
38432014-05-09 Florian Weimer <fweimer@redhat.com>
3844
3845 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
3846 expand_used_vars.
3847 (stack_protect_return_slot_p): New function.
3848 (expand_used_vars): Call stack_protect_decl_p and
3849 stack_protect_return_slot_p for -fstack-protector-strong.
3850
2556511e
DW
38512014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
3852 Andrew Haley <aph@redhat.com>
3853 Richard Sandiford <rdsandiford@googlemail.com>
3854
3855 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
3856 pages.
3857
971ed35d 38582014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
3859
3860 PR middle-end/61111
3861 * fold-const.c (fold_binary_loc): Changed width of mask.
3862
c204f1b5
GJL
38632014-05-09 Georg-Johann Lay <avr@gjlay.de>
3864
3865 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3866 unsigned int initializers for regno_in, regno_out.
3867
b8469805
GJL
38682014-05-09 Georg-Johann Lay <avr@gjlay.de>
3869
3870 PR target/61055
3871 * config/avr/avr.md (cc): Add new attribute set_vzn.
3872 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
3873 Set cc insn attribute to set_vzn instead of set_zn for alternatives
3874 with INC, DEC or NEG.
3875 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
3876 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
3877 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
3878
9db25c6a
RR
38792014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3880
3881 Revert:
3882 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3883
3884 * wide-int.cc (UTItype): Define.
3885 (UDWtype): Define for appropriate W_TYPE_SIZE.
3886
ee3958cf
RB
38872014-05-09 Richard Biener <rguenther@suse.de>
3888
3889 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
3890 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
3891 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
3892 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
3893 ssa_propagate): Adjust.
3894
0600049c
JL
38952014-05-08 Jeff Law <law@redhat.com>
3896
3897 PR tree-optimization/61009
3898 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
3899 tri-state rather than a boolean. When a block is too big to
3900 thread through, inform caller via negative return value.
3901 (thread_across_edge): If a block was too big for normal threading,
3902 then it's too big for a joiner too, so remove temporary equivalences
3903 and return immediately.
3904
a82122df
MK
39052014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3906 Matthias Klose <doko@ubuntu.com>
3907
3908 PR driver/61106
3909 * optc-gen.awk: Fix option handling for -Wunused-parameter.
3910
30e494f1
UB
39112014-05-08 Uros Bizjak <ubizjak@gmail.com>
3912
3913 PR target/59952
3914 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
3915
b6db8af6
UB
39162014-05-08 Uros Bizjak <ubizjak@gmail.com>
3917
3918 PR target/61092
3919 * config/alpha/alpha.c: Include gimple-iterator.h.
3920 (alpha_gimple_fold_builtin): New function. Move
3921 ALPHA_BUILTIN_UMULH folding from ...
3922 (alpha_fold_builtin): ... here.
3923 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
3924
272325bd
WM
39252014-05-08 Wei Mi <wmi@google.com>
3926
3927 PR target/58066
b6db8af6
UB
3928 * config/i386/i386.c (ix86_compute_frame_layout): Update
3929 preferred_stack_boundary for call, expanded from tls descriptor.
3930 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
3931 to depend on SP register.
272325bd
WM
3932 (*tls_local_dynamic_base_32_gnu): Ditto.
3933 (*tls_local_dynamic_32_once): Ditto.
3934 (tls_global_dynamic_64_<mode>): Set
3935 ix86_tls_descriptor_calls_expanded_in_cfun.
3936 (tls_local_dynamic_base_64_<mode>): Ditto.
3937 (tls_global_dynamic_32): Set
3938 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
3939 to depend on SP register.
3940 (tls_local_dynamic_base_32): Ditto.
3941
e79cb1a3
RR
39422014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3943
3944 * config/arm/arm_neon.h: Update comment.
3945 * config/arm/neon-docgen.ml: Delete.
3946 * config/arm/neon-gen.ml: Delete.
3947 * doc/arm-neon-intrinsics.texi: Update comment.
3948
0d0b79a6
RR
39492014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3950
3951 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
3952 and v4sf versions.
3953 (vand, vorr, veor, vorn, vbic): Remove.
3954 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
3955 iterator.
3956 (neon_vsub_unspec): Likewise.
3957 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
3958
add0c111
RR
39592014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3960
3961 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
3962 (vadd_s16): Likewise.
3963 (vadd_s32): Likewise.
3964 (vadd_f32): Likewise.
3965 (vadd_u8): Likewise.
3966 (vadd_u16): Likewise.
3967 (vadd_u32): Likewise.
3968 (vadd_s64): Likewise.
3969 (vadd_u64): Likewise.
3970 (vaddq_s8): Likewise.
3971 (vaddq_s16): Likewise.
3972 (vaddq_s32): Likewise.
3973 (vaddq_s64): Likewise.
3974 (vaddq_f32): Likewise.
3975 (vaddq_u8): Likewise.
3976 (vaddq_u16): Likewise.
3977 (vaddq_u32): Likewise.
3978 (vaddq_u64): Likewise.
3979 (vmul_s8): Likewise.
3980 (vmul_s16): Likewise.
3981 (vmul_s32): Likewise.
3982 (vmul_f32): Likewise.
3983 (vmul_u8): Likewise.
3984 (vmul_u16): Likewise.
3985 (vmul_u32): Likewise.
3986 (vmul_p8): Likewise.
3987 (vmulq_s8): Likewise.
3988 (vmulq_s16): Likewise.
3989 (vmulq_s32): Likewise.
3990 (vmulq_f32): Likewise.
3991 (vmulq_u8): Likewise.
3992 (vmulq_u16): Likewise.
3993 (vmulq_u32): Likewise.
3994 (vsub_s8): Likewise.
3995 (vsub_s16): Likewise.
3996 (vsub_s32): Likewise.
3997 (vsub_f32): Likewise.
3998 (vsub_u8): Likewise.
3999 (vsub_u16): Likewise.
4000 (vsub_u32): Likewise.
4001 (vsub_s64): Likewise.
4002 (vsub_u64): Likewise.
4003 (vsubq_s8): Likewise.
4004 (vsubq_s16): Likewise.
4005 (vsubq_s32): Likewise.
4006 (vsubq_s64): Likewise.
4007 (vsubq_f32): Likewise.
4008 (vsubq_u8): Likewise.
4009 (vsubq_u16): Likewise.
4010 (vsubq_u32): Likewise.
4011 (vsubq_u64): Likewise.
4012 (vand_s8): Likewise.
4013 (vand_s16): Likewise.
4014 (vand_s32): Likewise.
4015 (vand_u8): Likewise.
4016 (vand_u16): Likewise.
4017 (vand_u32): Likewise.
4018 (vand_s64): Likewise.
4019 (vand_u64): Likewise.
4020 (vandq_s8): Likewise.
4021 (vandq_s16): Likewise.
4022 (vandq_s32): Likewise.
4023 (vandq_s64): Likewise.
4024 (vandq_u8): Likewise.
4025 (vandq_u16): Likewise.
4026 (vandq_u32): Likewise.
4027 (vandq_u64): Likewise.
4028 (vorr_s8): Likewise.
4029 (vorr_s16): Likewise.
4030 (vorr_s32): Likewise.
4031 (vorr_u8): Likewise.
4032 (vorr_u16): Likewise.
4033 (vorr_u32): Likewise.
4034 (vorr_s64): Likewise.
4035 (vorr_u64): Likewise.
4036 (vorrq_s8): Likewise.
4037 (vorrq_s16): Likewise.
4038 (vorrq_s32): Likewise.
4039 (vorrq_s64): Likewise.
4040 (vorrq_u8): Likewise.
4041 (vorrq_u16): Likewise.
4042 (vorrq_u32): Likewise.
4043 (vorrq_u64): Likewise.
4044 (veor_s8): Likewise.
4045 (veor_s16): Likewise.
4046 (veor_s32): Likewise.
4047 (veor_u8): Likewise.
4048 (veor_u16): Likewise.
4049 (veor_u32): Likewise.
4050 (veor_s64): Likewise.
4051 (veor_u64): Likewise.
4052 (veorq_s8): Likewise.
4053 (veorq_s16): Likewise.
4054 (veorq_s32): Likewise.
4055 (veorq_s64): Likewise.
4056 (veorq_u8): Likewise.
4057 (veorq_u16): Likewise.
4058 (veorq_u32): Likewise.
4059 (veorq_u64): Likewise.
4060 (vbic_s8): Likewise.
4061 (vbic_s16): Likewise.
4062 (vbic_s32): Likewise.
4063 (vbic_u8): Likewise.
4064 (vbic_u16): Likewise.
4065 (vbic_u32): Likewise.
4066 (vbic_s64): Likewise.
4067 (vbic_u64): Likewise.
4068 (vbicq_s8): Likewise.
4069 (vbicq_s16): Likewise.
4070 (vbicq_s32): Likewise.
4071 (vbicq_s64): Likewise.
4072 (vbicq_u8): Likewise.
4073 (vbicq_u16): Likewise.
4074 (vbicq_u32): Likewise.
4075 (vbicq_u64): Likewise.
4076 (vorn_s8): Likewise.
4077 (vorn_s16): Likewise.
4078 (vorn_s32): Likewise.
4079 (vorn_u8): Likewise.
4080 (vorn_u16): Likewise.
4081 (vorn_u32): Likewise.
4082 (vorn_s64): Likewise.
4083 (vorn_u64): Likewise.
4084 (vornq_s8): Likewise.
4085 (vornq_s16): Likewise.
4086 (vornq_s32): Likewise.
4087 (vornq_s64): Likewise.
4088 (vornq_u8): Likewise.
4089 (vornq_u16): Likewise.
4090 (vornq_u32): Likewise.
4091 (vornq_u64): Likewise.
4092
ca40fb28
RR
40932014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4094
4095 * wide-int.cc (UTItype): Define.
b6db8af6 4096 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 4097
421bf780
MG
40982014-05-08 Marc Glisse <marc.glisse@inria.fr>
4099
4100 PR tree-optimization/59100
4101 * tree-ssa-phiopt.c: Include tree-inline.h.
4102 (neutral_element_p, absorbing_element_p): New functions.
4103 (value_replacement): Handle conditional binary operations with a
4104 neutral or absorbing element.
4105
a5eaec42
RB
41062014-05-08 Richard Biener <rguenther@suse.de>
4107
4108 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
4109 folding the expression.
4110 (valueize_expr): Remove.
4111 (visit_reference_op_load): Do not valueize the result of
4112 vn_get_expr_for.
4113 (simplify_binary_expression): Likewise.
4114 (simplify_unary_expression): Likewise.
4115
a96c6a62
RB
41162014-05-08 Richard Biener <rguenther@suse.de>
4117
4118 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
4119 looking at TYPE_ARG_TYPES.
4120
fb42e303
RB
41212014-05-08 Richard Biener <rguenther@suse.de>
4122
4123 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
4124 pointer propagation special-case.
4125
d1f1a283
BC
41262014-05-08 Bin Cheng <bin.cheng@arm.com>
4127
4128 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
4129 core part of address expressions.
4130
42aea2d8
AM
41312014-05-08 Alan Modra <amodra@gmail.com>
4132
4133 PR target/60737
4134 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
4135 loads and stores when -mno-strict-align at any alignment.
4136 (expand_block_clear): Similarly. Also correct calculation of
4137 instruction count.
4138
10e08855
TP
41392014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
4140
4141 PR middle-end/39246
4142 * tree-complex.c (expand_complex_move): Keep line info when expanding
4143 complex move.
4144 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
4145 of complex expression. Use new argument to display correct location
4146 for values coming from phi statement.
4147 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
4148 (warn_uninitialized_phi): Pass location of phi argument to
4149 warn_uninit.
4150 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
4151 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
4152
d839f53b
SB
41532014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
4154
4155 * config/rs6000/predicates.md (indexed_address_mem): New.
4156 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
4157 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
4158 fpstore_ux, fpstore_u.
4159 (sign_extend, indexed, update): New.
4160 (cell_micro): Adjust.
4161 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
4162 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
4163 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
4164 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
4165 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
4166 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
4167 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
4168 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
4169 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
4170 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
4171 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
4172 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
4173 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
4174 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
4175 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
4176
4177 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
4178 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
4179 *vsx_extract_<mode>_store): Adjust.
4180 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
4181 is_cracked_insn, insn_must_be_first_in_group,
4182 insn_must_be_last_in_group): Adjust.
4183
4184 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
4185 Adjust.
4186 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
4187 ppc440-fpstore): Adjust.
4188 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
4189 ppc476-fpstore): Adjust.
4190 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
4191 ppc601-fpstore): Adjust.
4192 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
4193 Adjust.
4194 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
4195 Adjust.
4196 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
4197 ppc7450-fpstore): Adjust.
4198 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
4199 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
4200 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
4201 Adjust.
4202 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
4203 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
4204 cell-fpstore, cell-fpstore-update): Adjust.
4205 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
4206 ppce300c3_store, ppce300c3_fpstore): Adjust.
4207 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
4208 e500mc_fpstore): Adjust.
4209 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
4210 e500mc64_store, e500mc64_fpstore): Adjust.
4211 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
4212 e5500_fpstore): Adjust.
4213 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
4214 e6500_fpstore): Adjust.
4215 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
4216 Adjust.
4217 * config/rs6000/power4.md (power4-load, power4-load-ext,
4218 power4-load-ext-update, power4-load-ext-update-indexed,
4219 power4-load-update-indexed, power4-load-update, power4-fpload,
4220 power4-fpload-update, power4-store, power4-store-update,
4221 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
4222 Adjust.
4223 * config/rs6000/power5.md (power5-load, power5-load-ext,
4224 power5-load-ext-update, power5-load-ext-update-indexed,
4225 power5-load-update-indexed, power5-load-update, power5-fpload,
4226 power5-fpload-update, power5-store, power5-store-update,
4227 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
4228 Adjust.
4229 * config/rs6000/power6.md (power6-load, power6-load-ext,
4230 power6-load-update, power6-load-update-indexed,
4231 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
4232 power6-fpload-update, power6-store, power6-store-update,
4233 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
4234 Adjust.
4235 * config/rs6000/power7.md (power7-load, power7-load-ext,
4236 power7-load-update, power7-load-update-indexed,
4237 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
4238 power7-fpload-update, power7-store, power7-store-update,
4239 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
4240 Adjust.
4241 * config/rs6000/power8.md (power8-load, power8-load-update,
4242 power8-load-ext, power8-load-ext-update, power8-fpload,
4243 power8-fpload-update, power8-store, power8-store-update-indexed,
4244 power8-fpstore, power8-fpstore-update): Adjust.
4245 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
4246 Adjust.
4247 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
4248 titan_lsu_store, titan_lsu_fpstore): Adjust.
4249 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
4250
36dc9ae8
OE
42512014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
4252
4253 PR target/60884
4254 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
4255 unrolled byte insns. Emit address increments after move insns.
4256
9bbf45f6
DM
42572014-05-07 David Malcolm <dmalcolm@redhat.com>
4258
4259 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
4260 const_gimple, rather than a gimple.
4261 (gimple_call_builtin_p): Likewise, for the three variants.
4262
4263 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
4264 (gimple_call_builtin_p): Likewise, for the three variants.
4265
1a51f10c
RS
42662014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4267
4268 PR tree-optimization/61095
4269 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
4270
50f0aa20
RB
42712014-05-07 Richard Biener <rguenther@suse.de>
4272
4273 PR tree-optimization/61034
4274 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
4275 (maybe_skip_until): Use translate to take into account
4276 lattices when trying to do disambiguations.
4277 (get_continuation_for_phi_1): Likewise.
b6db8af6 4278 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 4279 (walk_non_aliased_vuses): Likewise.
b6db8af6 4280 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
4281 (walk_non_aliased_vuses): Likewise.
4282 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
4283 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
4284 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
4285 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
4286
e7b7077e
JR
42872014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
4288
4289 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
4290 Emit an error when the function has arguments.
4291
c4597c1d
TS
42922014-05-07 Thomas Schwinge <thomas@codesourcery.com>
4293
4294 * cfgloop.h (unswitch_loops): Remove.
4295 * doc/passes.texi: Remove references to loop-unswitch.c
4296 * timevar.def (TV_LOOP_UNSWITCH): Remove.
4297
2c23db6d
ES
42982014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
4299
4300 * tree-vect-data-refs.c (vect_grouped_load_supported): New
4301 check for loads group of length 3.
4302 (vect_permute_load_chain): New permutations for loads group of
4303 length 3.
4304 * tree-vect-stmts.c (vect_model_load_cost): Change cost
4305 of vec_perm_shuffle for the new permutations.
4306
1d175503
AL
43072014-05-07 Alan Lawrence <alan.lawrence@arm.com>
4308
4309 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
4310 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
4311 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
4312 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
4313 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
4314 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
4315 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
4316 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
4317
e2d87487
TS
43182014-05-07 Thomas Schwinge <thomas@codesourcery.com>
4319
4320 * loop-unswitch.c: Delete.
4321
f543058d
RB
43222014-05-07 Richard Biener <rguenther@suse.de>
4323
4324 * config.gcc: Always set need_64bit_hwint to yes.
4325
96092404
CJW
43262014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
4327
4328 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
4329 of using optimize_size.
4330
ca66f89b
MS
43312014-05-06 Mike Stump <mikestump@comcast.net>
4332
4333 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
4334
659c0e68
JM
43352014-05-06 Joseph Myers <joseph@codesourcery.com>
4336
4337 * config/i386/sse.md (*mov<mode>_internal)
4338 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
4339 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
4340 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
4341 (*<code><mode>3, *andnot<mode>3<mask_name>)
4342 (<mask_codefor><code><mode>3<mask_name>): Only consider
4343 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
4344
3379b71f
RS
43452014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
4346
4347 Revert:
4348 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
4349
4350 * lra-constraints.c (valid_address_p): Move earlier in file.
4351 Add a constraint argument to the address_info version.
4352 (satisfies_memory_constraint_p): New function.
4353 (satisfies_address_constraint_p): Likewise.
4354 (process_alt_operands, curr_insn_transform): Use them.
4355 (process_address): Pass the constraint to valid_address_p when
4356 checking address operands.
4357
224dbc07
RS
43582014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
4359
4360 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
4361 to their respective blocks. Fix inadvertent use of "node".
4362
aa3a12d6
RS
43632014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
4364
4365 * emit-rtl.c (init_derived_machine_modes): New functionm, split
4366 out from...
4367 (init_emit_once): ...here.
4368 * rtl.h (init_derived_machine_modes): Declare.
4369 * toplev.c (do_compile): Call it even if no_backend.
4370
1d60af08
KZ
43712014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4372 Mike Stump <mikestump@comcast.net>
4373 Richard Sandiford <rdsandiford@googlemail.com>
4374 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4375
4376 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
4377 (rtx_equal_for_memref_p): Update comment.
4378 (adjust_offset_for_component_ref): Use wide-int interfaces.
4379 * builtins.c (get_object_alignment_2): Likewise.
4380 (c_readstr): Likewise.
4381 (target_char_cast): Add comment.
4382 (determine_block_size): Use wide-int interfaces.
4383 (expand_builtin_signbit): Likewise.
4384 (fold_builtin_int_roundingfn): Likewise.
4385 (fold_builtin_bitop): Likewise.
4386 (fold_builtin_bswap): Likewise.
4387 (fold_builtin_logarithm): Use signop.
4388 (fold_builtin_pow): Likewise.
4389 (fold_builtin_memory_op): Use wide-int interfaces.
4390 (fold_builtin_object_size): Likewise.
4391 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
4392 nb_iterations_estimate.
4393 (record_niter_bound): Use wide-int interfaces.
4394 (get_estimated_loop_iterations_int): Likewise.
4395 (get_estimated_loop_iterations): Likewise.
4396 (get_max_loop_iterations): Likewise.
4397 * cfgloop.h: Include wide-int.h.
4398 (struct nb_iter_bound): Change bound to widest_int.
4399 (struct loop): Change nb_iterations_upper_bound and
4400 nb_iterations_estimate to widest_int.
4401 (record_niter_bound): Switch to use widest_int.
4402 (get_estimated_loop_iterations): Likewise.
4403 (get_max_loop_iterations): Likewise.
4404 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
4405 update for wide-int.
4406 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
4407 * combine.c (try_combine): Likewise.
4408 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
4409 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
4410 interfaces.
4411 (aarch64_float_const_representable_p): Likewise.
4412 * config/arc/arc.c: Include wide-int.h.
4413 (arc_can_use_doloop_p): Use wide-int interfaces.
4414 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
4415 (vfp3_const_double_index): Likewise.
4416 * config/avr/avr.c (avr_out_round): Likewise.
4417 (avr_fold_builtin): Likewise.
4418 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
4419 (bfin_can_use_doloop_p): Likewise.
4420 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
4421 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
4422 * config/i386/i386.c: Include wide-int.h.
4423 (ix86_data_alignment): Use wide-int interfaces.
4424 (ix86_local_alignment): Likewise.
4425 (ix86_emit_swsqrtsf): Update real_from_integer.
4426 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
4427 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
4428 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
4429 (zero_constant): Likewise.
4430 (input_operand): Likewise.
4431 (splat_input_operand): Likewise.
4432 (non_logical_cint_operand): Change const_double to const_wide_int.
4433 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
4434 (easy_altivec_constant): Remove comment.
4435 (paired_expand_vector_init): Use CONSTANT_P.
4436 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
4437 (rs6000_emit_move): Update checks.
4438 (rs6000_aggregate_candidate): Use wide-int interfaces.
4439 (rs6000_expand_ternop_builtin): Likewise.
4440 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
4441 (rs6000_assemble_integer): Likewise.
4442 (rs6000_hash_constant): Likewise.
4443 (output_toc): Likewise.
4444 (rs6000_rtx_costs): Likewise.
4445 (rs6000_emit_swrsqrt); Update call to real_from_integer.
4446 * config/rs6000/rs6000-c.c: Include wide-int.h.
4447 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
4448 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
4449 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
4450 Handle CONST_WIDE_INT.
4451 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
4452 Use tree_fits_uhwi_p.
4453 * config/sparc/sparc.c: Include wide-int.h.
4454 (sparc_fold_builtin): Use wide-int interfaces.
4455 * config/vax/vax.c: Include wide-int.h.
4456 (vax_float_literal): Use real_from_integer.
4457 * coretypes.h (struct hwivec_def): New.
4458 (hwivec): New.
4459 (const_hwivec): New.
4460 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
4461 (equiv_constant): Handle CONST_WIDE_INT.
4462 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
4463 (cselib_hash_rtx): Handle CONST_WIDE_INT.
4464 * dbxout.c (stabstr_U): Use wide-int interfaces.
4465 (dbxout_type): Update to use cst_fits_shwi_p.
4466 * defaults.h (LOG2_BITS_PER_UNIT): Define.
4467 (TARGET_SUPPORTS_WIDE_INT): Add default.
4468 * dfp.c: Include wide-int.h.
4469 (decimal_real_to_integer2): Use wide-int interfaces and rename to
4470 decimal_real_to_integer.
4471 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
4472 decimal_real_to_integer.
4473 * doc/generic.texi (Constant expressions): Update for wide_int.
4474 * doc/rtl.texi (const_double): Likewise.
4475 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
4476 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
4477 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
4478 (REAL_VALUE_FROM_INT): Remove.
4479 (TARGET_SUPPORTS_WIDE_INT): New.
4480 * doc/tm.texi: Regenerate.
4481 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
4482 * double-int.h: Include wide-int.h.
4483 (struct wi::int_traits): New.
4484 * dwarf2out.c (get_full_len): New.
4485 (dw_val_equal_p): Add case dw_val_class_wide_int.
4486 (size_of_loc_descr): Likewise.
4487 (output_loc_operands): Likewise.
4488 (insert_double): Remove.
4489 (insert_wide_int): New.
4490 (add_AT_wide): New.
4491 (print_die): Add case dw_val_class_wide_int.
4492 (attr_checksum): Likewise.
4493 (attr_checksum_ordered): Likewise.
4494 (same_dw_val_p): Likewise.
4495 (size_of_die): Likewise.
4496 (value_format): Likewise.
4497 (output_die): Likewise.
4498 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
4499 Use wide-int.
4500 (clz_loc_descriptor): Use wide-int interfaces.
4501 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
4502 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
4503 (round_up_to_align): Use wide-int interfaces.
4504 (field_byte_offset): Likewise.
4505 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
4506 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
4507 CONST_DOUBLE handling. Use wide-int interfaces.
4508 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
4509 (gen_enumeration_type_die): Use add_AT_wide.
4510 (hash_loc_operands): Add case dw_val_class_wide_int.
4511 (compare_loc_operands): Likewise.
4512 * dwarf2out.h: Include wide-int.h.
4513 (wide_int_ptr): New.
4514 (enum dw_val_class): Add dw_val_class_wide_int.
4515 (struct dw_val_struct): Add val_wide.
4516 * emit-rtl.c (const_wide_int_htab): New.
4517 (const_wide_int_htab_hash): New.
4518 (const_wide_int_htab_eq): New.
4519 (lookup_const_wide_int): New.
4520 (const_double_htab_hash): Use wide-int interfaces.
4521 (const_double_htab_eq): Likewise.
4522 (rtx_to_double_int): Conditionally compile for wide-int.
4523 (immed_double_int_const): Rename to immed_wide_int_const and
4524 update for wide-int.
4525 (immed_double_const): Conditionally compile for wide-int.
4526 (init_emit_once): Use wide-int interfaces.
4527 * explow.c (plus_constant): Likewise.
4528 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
4529 (lshift_value): Use wide-int interfaces.
4530 (expand_mult): Likewise.
4531 (choose_multiplier): Likewise.
4532 (expand_smod_pow2): Likewise.
4533 (make_tree): Likewise.
4534 * expr.c (convert_modes): Consolidate handling of constants.
4535 Use wide-int interfaces.
4536 (emit_group_load_1): Add note.
4537 (store_expr): Update comment.
4538 (get_inner_reference): Use wide-int interfaces.
4539 (expand_constructor): Update comment.
4540 (expand_expr_real_2): Use wide-int interfaces.
4541 (expand_expr_real_1): Likewise.
4542 (reduce_to_bit_field_precision): Likewise.
4543 (const_vector_from_tree): Likewise.
4544 * final.c: Include wide-int-print.h.
4545 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
4546 * fixed-value.c: Include wide-int.h.
4547 (fixed_from_string): Use wide-int interfaces.
4548 (fixed_to_decimal): Likewise.
4549 (fixed_convert_from_real): Likewise.
4550 (real_convert_from_fixed): Likewise.
4551 * fold-const.h (mem_ref_offset): Return an offset_int.
4552 (div_if_zero_remainder): Remove code parameter.
4553 * fold-const.c (div_if_zero_remainder): Remove code parameter.
4554 Use wide-int interfaces.
4555 (may_negate_without_overflow_p): Use wide-int interfaces.
4556 (negate_expr_p): Likewise.
4557 (fold_negate_expr): Likewise.
4558 (int_const_binop_1): Likewise.
4559 (const_binop): Likewise.
4560 (fold_convert_const_int_from_int): Likewise.
4561 (fold_convert_const_int_from_real): Likewise.
4562 (fold_convert_const_int_from_fixed): Likewise.
4563 (fold_convert_const_fixed_from_int): Likewise.
4564 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
4565 (sign_bit_p): Use wide-int interfaces.
4566 (make_range_step): Likewise.
4567 (build_range_check): Likewise. Pass an integer of the correct type
4568 instead of using integer_one_node.
4569 (range_predecessor): Pass an integer of the correct type instead
4570 of using integer_one_node.
4571 (range_successor): Likewise.
4572 (merge_ranges): Likewise.
4573 (unextend): Use wide-int interfaces.
4574 (extract_muldiv_1): Likewise.
4575 (fold_div_compare): Likewise.
4576 (fold_single_bit_test): Likewise.
4577 (fold_sign_changed_comparison): Likewise.
4578 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
4579 (fold_plusminus_mult_expr): Use wide-int interfaces.
4580 (native_encode_int): Likewise.
4581 (native_interpret_int): Likewise.
4582 (fold_unary_loc): Likewise.
4583 (pointer_may_wrap_p): Likewise.
4584 (size_low_cst): Likewise.
4585 (mask_with_tz): Likewise.
4586 (fold_binary_loc): Likewise.
4587 (fold_ternary_loc): Likewise.
4588 (multiple_of_p): Likewise.
4589 (tree_call_nonnegative_warnv_p): Update calls to
4590 tree_int_cst_min_precision and real_from_integer.
4591 (fold_negate_const): Use wide-int interfaces.
4592 (fold_abs_const): Likewise.
4593 (fold_relational_const): Use tree_int_cst_lt.
4594 (round_up_loc): Use wide-int interfaces.
4595 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
4596 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
4597 * gengtype.c: Remove include of double-int.h.
4598 (do_typedef): Use wide-int interfaces.
4599 (open_base_files): Add wide-int.h.
4600 (main): Add offset_int and widest_int typedefs.
4601 * gengtype-lex.l: Handle "^".
4602 (CXX_KEYWORD): Add "static".
4603 * gengtype-parse.c (require3): New.
4604 (require_template_declaration): Handle constant template arguments
4605 and nested templates.
4606 * gengtype-state.c: Don't include "double-int.h".
4607 * genpreds.c (write_one_predicate_function): Update comment.
4608 (write_tm_constrs_h): Add check for hval and lval use in
4609 CONST_WIDE_INT.
4610 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
4611 (add_to_sequence): Likewise.
4612 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
4613 and const_double_operand.
4614 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
4615 interfaces.
4616 * gimple-fold.c (get_base_constructor): Likewise.
4617 (fold_array_ctor_reference): Likewise.
4618 (fold_nonarray_ctor_reference): Likewise.
4619 (fold_const_aggregate_ref_1): Likewise.
4620 (gimple_val_nonnegative_real_p): Likewise.
4621 (gimple_fold_indirect_ref): Likewise.
4622 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
4623 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
4624 (struct slsr_cand_d): Change index to be widest_int.
4625 (struct incr_info_d): Change incr to be widest_int.
4626 (alloc_cand_and_find_basis): Use wide-int interfaces.
4627 (slsr_process_phi): Likewise.
4628 (backtrace_base_for_ref): Likewise. Return a widest_int.
4629 (restructure_reference): Take a widest_int instead of a double_int.
4630 (slsr_process_ref): Use wide-int interfaces.
4631 (create_mul_ssa_cand): Likewise.
4632 (create_mul_imm_cand): Likewise.
4633 (create_add_ssa_cand): Likewise.
4634 (create_add_imm_cand): Take a widest_int instead of a double_int.
4635 (slsr_process_add): Use wide-int interfaces.
4636 (slsr_process_cast): Likewise.
4637 (slsr_process_copy): Likewise.
4638 (dump_candidate): Likewise.
4639 (dump_incr_vec): Likewise.
4640 (replace_ref): Likewise.
4641 (cand_increment): Likewise. Return a widest_int.
4642 (cand_abs_increment): Likewise.
4643 (replace_mult_candidate): Take a widest_int instead of a double_int.
4644 (replace_unconditional_candidate): Use wide-int interfaces.
4645 (incr_vec_index): Take a widest_int instead of a double_int.
4646 (create_add_on_incoming_edge): Likewise.
4647 (create_phi_basis): Use wide-int interfaces.
4648 (replace_conditional_candidate): Likewise.
4649 (record_increment): Take a widest_int instead of a double_int.
4650 (record_phi_increments): Use wide-int interfaces.
4651 (phi_incr_cost): Take a widest_int instead of a double_int.
4652 (lowest_cost_path): Likewise.
4653 (total_savings): Likewise.
4654 (analyze_increments): Use wide-int interfaces.
4655 (ncd_with_phi): Take a widest_int instead of a double_int.
4656 (ncd_of_cand_and_phis): Likewise.
4657 (nearest_common_dominator_for_cands): Likewise.
4658 (insert_initializers): Use wide-int interfaces.
4659 (all_phi_incrs_profitable): Likewise.
4660 (replace_one_candidate): Likewise.
4661 (replace_profitable_candidates): Likewise.
4662 * godump.c: Include wide-int-print.h.
4663 (go_output_typedef): Use wide-int interfaces.
4664 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
4665 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
4666 (build_loop_iteration_domains): Likewise.
4667 * hooks.h: Include wide-int.h rather than double-int.h.
4668 (hook_bool_dint_dint_uint_bool_true): Delete.
4669 (hook_bool_wint_wint_uint_bool_true): Declare.
4670 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
4671 (hook_bool_wint_wint_uint_bool_true): New.
4672 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
4673 interfaces.
4674 (ubsan_expand_si_overflow_mul_check): Likewise.
4675 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
4676 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
4677 (get_ancestor_addr_info): Likewise.
4678 (ipa_modify_call_arguments): Likewise.
4679 * loop-doloop.c (doloop_modify): Likewise.
4680 (doloop_optimize): Likewise.
4681 * loop-iv.c (iv_number_of_iterations): Likewise.
4682 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
4683 (unroll_loop_constant_iterations): Likewise.
4684 (decide_unroll_runtime_iterations): Likewise.
4685 (unroll_loop_runtime_iterations): Likewise.
4686 (decide_peel_simple): Likewise.
4687 (decide_unroll_stupid): Likewise.
4688 * lto-streamer-in.c (streamer_read_wi): Add.
4689 (input_cfg): Use wide-int interfaces.
4690 (lto_input_tree_1): Likewise.
4691 * lto-streamer-out.c (streamer_write_wi): Add.
4692 (hash_tree): Use wide-int interfaces.
4693 (output_cfg): Likewise.
4694 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
4695 (GTFILES): Add wide-int.h and signop.h.
4696 (TAGS): Look for .cc files too.
4697 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
4698 * optabs.c (expand_subword_shift): Likewise.
4699 (expand_doubleword_shift): Likewise.
4700 (expand_absneg_bit): Likewise.
4701 (expand_copysign_absneg): Likewise.
4702 (expand_copysign_bit): Likewise.
4703 * postreload.c (reload_cse_simplify_set): Likewise.
4704 * predict.c (predict_iv_comparison): Likewise.
4705 * pretty-print.h: Include wide-int-print.h.
4706 (pp_wide_int) New.
4707 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
4708 * print-tree.c: Include wide-int-print.h.
4709 (print_node_brief): Use wide-int interfaces.
4710 (print_node): Likewise.
4711 * read-rtl.c (validate_const_wide_int): New.
4712 (read_rtx_code): Add CONST_WIDE_INT case.
4713 * real.c: Include wide-int.h.
4714 (real_to_integer2): Delete.
4715 (real_to_integer): New function, returning a wide_int.
4716 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4717 (ten_to_ptwo): Update call to real_from_integer.
4718 (real_digit): Likewise.
4719 * real.h: Include signop.h, wide-int.h and insn-modes.h.
4720 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
4721 (REAL_VALUE_TO_INT): Delete.
4722 (real_to_integer): Declare a wide-int form.
4723 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4724 * recog.c (const_int_operand): Improve comment.
4725 (const_scalar_int_operand): New.
4726 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
4727 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
4728 (split_double): Likewise.
4729 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
4730 (rtx_size): Likewise.
4731 (rtx_alloc_stat_v): New.
4732 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
4733 (cwi_output_hex): New.
4734 (iterative_hash_rtx): Handle CONST_WIDE_INT.
4735 (cwi_check_failed_bounds): New.
4736 * rtl.def (CONST_WIDE_INT): New.
4737 * rtl.h: Include <utility> and wide-int.h.
4738 (struct hwivec_def): New.
4739 (CWI_GET_NUM_ELEM): New.
4740 (CWI_PUT_NUM_ELEM): New.
4741 (struct rtx_def): Add num_elem and hwiv.
4742 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
4743 (CASE_CONST_UNIQUE): Likewise.
4744 (CASE_CONST_ANY): Likewise.
4745 (CONST_SCALAR_INT_P): Likewise.
4746 (CONST_WIDE_INT_P): New.
4747 (CWI_ELT): New.
4748 (HWIVEC_CHECK): New.
4749 (cwi_check_failed_bounds): New.
4750 (CWI_ELT): New.
4751 (HWIVEC_CHECK): New.
4752 (CONST_WIDE_INT_VEC) New.
4753 (CONST_WIDE_INT_NUNITS) New.
4754 (CONST_WIDE_INT_ELT) New.
4755 (rtx_mode_t): New type.
4756 (wi::int_traits <rtx_mode_t>): New.
4757 (wi::shwi): New.
4758 (wi::min_value): New.
4759 (wi::max_value): New.
4760 (rtx_alloc_v) New.
4761 (const_wide_int_alloc): New.
4762 (immed_wide_int_const): New.
4763 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
4764 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
4765 * signop.h: New file.
4766 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
4767 (simplify_const_unary_operation): Use wide-int interfaces.
4768 (simplify_binary_operation_1): Likewise.
4769 (simplify_const_binary_operation): Likewise.
4770 (simplify_const_relational_operation): Likewise.
4771 (simplify_immed_subreg): Likewise.
4772 * stmt.c (expand_case): Likewise.
4773 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
4774 signop rather than a bool.
4775 * stor-layout.c (layout_type): Use wide-int interfaces.
4776 (initialize_sizetypes): Update calls to
4777 set_min_and_max_values_for_integral_type.
4778 (set_min_and_max_values_for_integral_type): Take a signop rather
4779 than a bool. Use wide-int interfaces.
4780 (fixup_signed_type): Update accordingly. Remove
4781 HOST_BITS_PER_DOUBLE_INT limit.
4782 (fixup_unsigned_type): Likewise.
4783 * system.h (STATIC_CONSTANT_P): New.
4784 (STATIC_ASSERT): New.
4785 * target.def (can_use_doloop_p): Take widest_ints rather than
4786 double_ints.
4787 * target.h: Include wide-int.h rather than double-int.h.
4788 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
4789 than double_ints.
4790 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
4791 rather than INT_CST_LT_UNSIGNED.
4792 (can_use_doloop_if_innermost): Take widest_ints rather than
4793 double_ints.
4794 * tree-affine.c: Include wide-int-print.h.
4795 (double_int_ext_for_comb): Delete.
4796 (wide_int_ext_for_comb): New.
4797 (aff_combination_zero): Use wide-int interfaces.
4798 (aff_combination_const): Take a widest_int instead of a double_int.
4799 (aff_combination_elt): Use wide-int interfaces.
4800 (aff_combination_scale): Take a widest_int instead of a double_int.
4801 (aff_combination_add_elt): Likewise.
4802 (aff_combination_add_cst): Likewise.
4803 (aff_combination_add): Use wide-int interfaces.
4804 (aff_combination_convert): Likewise.
4805 (tree_to_aff_combination): Likewise.
4806 (add_elt_to_tree): Take a widest_int instead of a double_int.
4807 (aff_combination_to_tree): Use wide-int interfaces.
4808 (aff_combination_remove_elt): Likewise.
4809 (aff_combination_add_product): Take a widest_int instead of
4810 a double_int.
4811 (aff_combination_mult): Use wide-int interfaces.
4812 (aff_combination_expand): Likewise.
4813 (double_int_constant_multiple_p): Delete.
4814 (wide_int_constant_multiple_p): New.
4815 (aff_combination_constant_multiple_p): Take a widest_int pointer
4816 instead of a double_int pointer.
4817 (print_aff): Use wide-int interfaces.
4818 (get_inner_reference_aff): Take a widest_int pointer
4819 instead of a double_int pointer.
4820 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
4821 * tree-affine.h: Include wide-int.h.
4822 (struct aff_comb_elt): Change type of coef to widest_int.
4823 (struct affine_tree_combination): Change type of offset to widest_int.
4824 (double_int_ext_for_comb): Delete.
4825 (wide_int_ext_for_comb): New.
4826 (aff_combination_const): Use widest_int instead of double_int.
4827 (aff_combination_scale): Likewise.
4828 (aff_combination_add_elt): Likewise.
4829 (aff_combination_constant_multiple_p): Likewise.
4830 (get_inner_reference_aff): Likewise.
4831 (aff_comb_cannot_overlap_p): Likewise.
4832 (aff_combination_zero_p): Use wide-int interfaces.
4833 * tree.c: Include tree.h.
4834 (init_ttree): Use make_int_cst.
4835 (tree_code_size): Removed code for INTEGER_CST case.
4836 (tree_size): Add INTEGER_CST case.
4837 (make_node_stat): Update comment.
4838 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
4839 (build_int_cst_type): Use wide-int interfaces.
4840 (double_int_to_tree): Likewise.
4841 (double_int_fits_to_tree_p): Delete.
4842 (force_fit_type_double): Delete.
4843 (force_fit_type): New.
4844 (int_cst_hash_hash): Use wide-int interfaces.
4845 (int_cst_hash_eq): Likewise.
4846 (build_int_cst_wide): Delete.
4847 (wide_int_to_tree): New.
4848 (cache_integer_cst): Use wide-int interfaces.
4849 (build_low_bits_mask): Likewise.
4850 (cst_and_fits_in_hwi): Likewise.
4851 (real_value_from_int_cst): Likewise.
4852 (make_int_cst_stat): New.
4853 (integer_zerop): Use wide_int interfaces.
4854 (integer_onep): Likewise.
4855 (integer_all_onesp): Likewise.
4856 (integer_pow2p): Likewise.
4857 (integer_nonzerop): Likewise.
4858 (tree_log2): Likewise.
4859 (tree_floor_log2): Likewise.
4860 (tree_ctz): Likewise.
4861 (int_size_in_bytes): Likewise.
4862 (mem_ref_offset): Return an offset_int rather than a double_int.
4863 (build_type_attribute_qual_variant): Use wide_int interfaces.
4864 (type_hash_eq): Likewise
4865 (tree_int_cst_equal): Likewise.
4866 (tree_int_cst_lt): Delete.
4867 (tree_int_cst_compare): Likewise.
4868 (tree_fits_shwi_p): Use wide_int interfaces.
4869 (tree_fits_uhwi_p): Likewise.
4870 (tree_int_cst_sign_bit): Likewise.
4871 (tree_int_cst_sgn): Likewise.
4872 (tree_int_cst_min_precision): Take a signop rather than a bool.
4873 (simple_cst_equal): Use wide_int interfaces.
4874 (compare_tree_int): Likewise.
4875 (iterative_hash_expr): Likewise.
4876 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
4877 INT_CST_LT.
4878 (get_type_static_bounds): Use wide_int interfaces.
4879 (tree_int_cst_elt_check_failed): New.
4880 (build_common_tree_nodes): Reordered to set prec before filling in
4881 value.
4882 (int_cst_value): Check cst_and_fits_in_hwi.
4883 (widest_int_cst_value): Use wide_int interfaces.
4884 (upper_bound_in_type): Likewise.
4885 (lower_bound_in_type): Likewise.
4886 (num_ending_zeros): Likewise.
4887 (drop_tree_overflow): Likewise.
4888 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
4889 (gen_conditions_for_pow_cst_base): Likewise.
4890 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
4891 (group_case_labels_stmt): Use wide-int interfaces.
4892 (verify_gimple_assign_binary): Likewise.
4893 (print_loop): Likewise.
4894 * tree-chrec.c (tree_fold_binomial): Likewise.
4895 * tree-core.h (struct tree_base): Add int_length.
4896 (struct tree_int_cst): Change rep of value.
4897 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
4898 (dr_may_alias_p): Likewise.
4899 (max_stmt_executions_tree): Likewise.
4900 * tree.def (INTEGER_CST): Update comment.
4901 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
4902 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
4903 * tree-dump.c: Include wide-int.h and wide-int-print.h.
4904 (dequeue_and_dump): Use wide-int interfaces.
4905 * tree.h: Include wide-int.h.
4906 (NULL_TREE): Moved to earlier loc in file.
4907 (TREE_INT_CST_ELT_CHECK): New.
4908 (tree_int_cst_elt_check_failed): New.
4909 (TYPE_SIGN): New.
4910 (TREE_INT_CST): Delete.
4911 (TREE_INT_CST_LOW): Use wide-int interfaces.
4912 (TREE_INT_CST_HIGH): Delete.
4913 (TREE_INT_CST_NUNITS): New.
4914 (TREE_INT_CST_EXT_NUNITS): Likewise.
4915 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
4916 (TREE_INT_CST_ELT): Likewise.
4917 (INT_CST_LT): Delete.
4918 (tree_int_cst_elt_check): New (two forms).
4919 (type_code_size): Update comment.
4920 (make_int_cst_stat, make_int_cst): New.
4921 (tree_to_double_int): Delete.
4922 (double_int_fits_to_tree_p): Delete.
4923 (force_fit_type_double): Delete.
4924 (build_int_cstu): Replace with out-of-line function.
4925 (build_int_cst_wide): Delete.
4926 (tree_int_cst_lt): Define inline.
4927 (tree_int_cst_le): New.
4928 (tree_int_cst_compare): Define inline.
4929 (tree_int_cst_min_precision): Take a signop rather than a bool.
4930 (wi::int_traits <const_tree>): New.
4931 (wi::int_traits <tree>): New.
4932 (wi::extended_tree): New.
4933 (wi::int_traits <wi::extended_tree>): New.
4934 (wi::to_widest): New.
4935 (wi::to_offset): New.
4936 (wi::fits_to_tree_p): New.
4937 (wi::min_value): New.
4938 (wi::max_value): New.
4939 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
4940 (copy_tree_body_r): Likewise.
4941 * tree-object-size.c (compute_object_offset): Likewise.
4942 (addr_object_size): Likewise.
4943 * tree-predcom.c: Include wide-int-print.h.
4944 (struct dref_d): Change type of offset to widest_int.
4945 (dump_dref): Call wide-int printer.
4946 (aff_combination_dr_offset): Use wide-int interfaces.
4947 (determine_offset): Take a widest_int pointer rather than a
4948 double_int pointer.
4949 (split_data_refs_to_components): Use wide-int interfaces.
4950 (suitable_component_p): Likewise.
4951 (order_drefs): Likewise.
4952 (add_ref_to_chain): Likewise.
4953 (valid_initializer_p): Likewise.
4954 (determine_roots_comp): Likewise.
4955 * tree-pretty-print.c: Include wide-int-print.h.
4956 (dump_generic_node): Use wide-int interfaces.
4957 * tree-sra.c (sra_ipa_modify_expr): Likewise.
4958 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
4959 (move_fixed_address_to_symbol): Likewise.
4960 (move_hint_to_base): Likewise.
4961 (move_pointer_to_base): Likewise.
4962 (move_variant_to_index): Likewise.
4963 (most_expensive_mult_to_index): Likewise.
4964 (addr_to_parts): Likewise.
4965 (copy_ref_info): Likewise.
4966 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
4967 (indirect_refs_may_alias_p): Likewise.
4968 (stmt_kills_ref_p_1): Likewise.
4969 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
4970 * tree-ssa-ccp.c: Update comment at top of file. Include
4971 wide-int-print.h.
4972 (struct prop_value_d): Change type of mask to widest_int.
4973 (extend_mask): New function.
4974 (dump_lattice_value): Use wide-int interfaces.
4975 (get_default_value): Likewise.
4976 (set_constant_value): Likewise.
4977 (set_value_varying): Likewise.
4978 (valid_lattice_transition): Likewise.
4979 (set_lattice_value): Likewise.
4980 (value_to_double_int): Delete.
4981 (value_to_wide_int): New.
4982 (get_value_from_alignment): Use wide-int interfaces.
4983 (get_value_for_expr): Likewise.
4984 (do_dbg_cnt): Likewise.
4985 (ccp_finalize): Likewise.
4986 (ccp_lattice_meet): Likewise.
4987 (bit_value_unop_1): Use widest_ints rather than double_ints.
4988 (bit_value_binop_1): Likewise.
4989 (bit_value_unop): Use wide-int interfaces.
4990 (bit_value_binop): Likewise.
4991 (bit_value_assume_aligned): Likewise.
4992 (evaluate_stmt): Likewise.
4993 (ccp_fold_stmt): Likewise.
4994 (visit_cond_stmt): Likewise.
4995 (ccp_visit_stmt): Likewise.
4996 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
4997 (constant_pointer_difference): Likewise.
4998 (associate_pointerplus): Likewise.
4999 (combine_conversions): Likewise.
5000 * tree-ssa-loop.h: Include wide-int.h.
5001 (struct tree_niter_desc): Change type of max to widest_int.
5002 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
5003 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
5004 (remove_redundant_iv_tests): Likewise.
5005 (canonicalize_loop_induction_variables): Likewise.
5006 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
5007 (constant_multiple_of): Take a widest_int pointer instead of
5008 a double_int pointer.
5009 (get_computation_aff): Use wide-int interfaces.
5010 (ptr_difference_cost): Likewise.
5011 (difference_cost): Likewise.
5012 (get_loop_invariant_expr_id): Likewise.
5013 (get_computation_cost_at): Likewise.
5014 (iv_elimination_compare_lt): Likewise.
5015 (may_eliminate_iv): Likewise.
5016 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
5017 instead of double_int.
5018 (max_loop_iterations): Likewise.
5019 (max_stmt_executions): Likewise.
5020 (estimated_stmt_executions): Likewise.
5021 * tree-ssa-loop-niter.c: Include wide-int-print.h.
5022 (split_to_var_and_offset): Use wide-int interfaces.
5023 (determine_value_range): Likewise.
5024 (bound_difference_of_offsetted_base): Likewise.
5025 (bounds_add): Take a widest_int instead of a double_int.
5026 (number_of_iterations_ne_max): Use wide-int interfaces.
5027 (number_of_iterations_ne): Likewise.
5028 (number_of_iterations_lt_to_ne): Likewise.
5029 (assert_loop_rolls_lt): Likewise.
5030 (number_of_iterations_lt): Likewise.
5031 (number_of_iterations_le): Likewise.
5032 (number_of_iterations_cond): Likewise.
5033 (number_of_iterations_exit): Likewise.
5034 (finite_loop_p): Likewise.
5035 (derive_constant_upper_bound_assign): Likewise.
5036 (derive_constant_upper_bound): Return a widest_int.
5037 (derive_constant_upper_bound_ops): Likewise.
5038 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
5039 (record_estimate): Take a widest_int rather than a double_int.
5040 (record_nonwrapping_iv): Use wide-int interfaces.
5041 (double_int_cmp): Delete.
5042 (wide_int_cmp): New.
5043 (bound_index): Take a widest_int rather than a double_int.
5044 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
5045 (maybe_lower_iteration_bound): Likewise.
5046 (estimate_numbers_of_iterations_loop): Likewise.
5047 (estimated_loop_iterations): Take a widest_int pointer than than
5048 a double_int pointer.
5049 (estimated_loop_iterations_int): Use wide-int interfaces.
5050 (max_loop_iterations): Take a widest_int pointer than than
5051 a double_int pointer.
5052 (max_loop_iterations_int): Use wide-int interfaces.
5053 (max_stmt_executions): Take a widest_int pointer than than
5054 a double_int pointer.
5055 (estimated_stmt_executions): Likewise.
5056 (n_of_executions_at_most): Use wide-int interfaces.
5057 (scev_probably_wraps_p): Likewise.
5058 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
5059 to real_to_integer.
5060 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
5061 interfaces.
5062 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
5063 double_ints. Adjust for trailing_wide_ints <3> representation.
5064 (set_nonzero_bits): Likewise.
5065 (get_range_info): Return wide_ints rather than double_ints.
5066 Adjust for trailing_wide_ints <3> representation.
5067 (get_nonzero_bits): Likewise.
5068 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
5069 representation.
5070 * tree-ssanames.h (struct range_info_def): Replace min, max and
5071 nonzero_bits with a trailing_wide_ints <3>.
5072 (set_range_info): Use wide_int_refs rather than double_ints.
5073 (set_nonzero_bits): Likewise.
5074 (get_range_info): Return wide_ints rather than double_ints.
5075 (get_nonzero_bits): Likewise.
5076 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
5077 * tree-ssa-pre.c (phi_translate_1): Likewise.
5078 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
5079 (acceptable_pow_call): Likewise.
5080 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
5081 interfaces.
5082 (vn_reference_fold_indirect): Likewise.
5083 (vn_reference_maybe_forwprop_address): Likewise.
5084 (valueize_refs_1): Likewise.
5085 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
5086 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
5087 tree_int_cst_lt and tree_int_cst_le.
5088 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
5089 interfaces.
5090 (streamer_alloc_tree): Likewise.
5091 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
5092 (streamer_write_tree_header): Likewise.
5093 (streamer_write_integer_cst): Likewise.
5094 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
5095 (build_constructors): Likewise.
5096 (array_value_type): Likewise.
5097 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
5098 (vect_check_gather): Likewise.
5099 * tree-vect-generic.c (build_replicated_const): Likewise.
5100 (expand_vector_divmod): Likewise.
5101 * tree-vect-loop.c (vect_transform_loop): Likewise.
5102 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
5103 (vect_do_peeling_for_alignment): Likewise.
5104 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
5105 * tree-vrp.c: Include wide-int.h.
5106 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
5107 (extract_range_from_assert): Use wide-int interfaces.
5108 (vrp_int_const_binop): Likewise.
5109 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
5110 double_int pointers.
5111 (ranges_from_anti_range): Use wide-int interfaces.
5112 (quad_int_cmp): Delete.
5113 (quad_int_pair_sort): Likewise.
5114 (extract_range_from_binary_expr_1): Use wide-int interfaces.
5115 (extract_range_from_unary_expr_1): Likewise.
5116 (adjust_range_with_scev): Likewise.
5117 (masked_increment): Take and return wide_ints rather than double_ints.
5118 (register_edge_assert_for_2): Use wide-int interfaces.
5119 (check_array_ref): Likewise.
5120 (search_for_addr_array): Likewise.
5121 (maybe_set_nonzero_bits): Likewise.
5122 (union_ranges): Pass an integer of the correct type instead of
5123 using integer_one_node.
5124 (intersect_ranges): Likewise.
5125 (simplify_truth_ops_using_ranges): Likewise.
5126 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
5127 (range_fits_type_p): Likewise.
5128 (simplify_cond_using_ranges): Likewise. Take a signop rather than
5129 a bool.
5130 (simplify_conversion_using_ranges): Use wide-int interfaces.
5131 (simplify_float_conversion_using_ranges): Likewise.
5132 (vrp_finalize): Likewise.
5133 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
5134 (gimple_stringops_transform): Likewise.
5135 * varasm.c (decode_addr_const): Likewise.
5136 (const_hash_1): Likewise.
5137 (const_rtx_hash_1): Likewise
5138 (output_constant): Likewise.
5139 (array_size_for_constructor): Likewise.
5140 (output_constructor_regular_field): Likewise.
5141 (output_constructor_bitfield): Likewise.
5142 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
5143 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
5144 GENERATOR_FILEs.
5145 * gencheck.c: Define BITS_PER_UNIT.
5146 * wide-int.cc: New.
5147 * wide-int.h: New.
5148 * wide-int-print.cc: New.
5149 * wide-int-print.h: New.
5150
3134fb19
JBG
51512014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5152
5153 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
5154
3bea341f
RB
51552014-05-06 Richard Biener <rguenther@suse.de>
5156
5157 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
5158 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
5159 (TODO_verify_all): Adjust.
5160 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
5161 TODO_verify_stmts and TODO_verify_rtl_sharing.
5162 * bb-reorder.c: Likewise.
5163 * cfgexpand.c: Likewise.
5164 * cprop.c: Likewise.
5165 * cse.c: Likewise.
5166 * function.c: Likewise.
5167 * fwprop.c: Likewise.
5168 * gcse.c: Likewise.
5169 * gimple-ssa-isolate-paths.c: Likewise.
5170 * gimple-ssa-strength-reduction.c: Likewise.
5171 * ipa-split.c: Likewise.
5172 * loop-init.c: Likewise.
5173 * loop-unroll.c: Likewise.
5174 * lower-subreg.c: Likewise.
5175 * modulo-sched.c: Likewise.
5176 * postreload-gcse.c: Likewise.
5177 * predict.c: Likewise.
5178 * recog.c: Likewise.
5179 * sched-rgn.c: Likewise.
5180 * store-motion.c: Likewise.
5181 * tracer.c: Likewise.
5182 * trans-mem.c: Likewise.
5183 * tree-call-cdce.c: Likewise.
5184 * tree-cfg.c: Likewise.
5185 * tree-cfgcleanup.c: Likewise.
5186 * tree-complex.c: Likewise.
5187 * tree-eh.c: Likewise.
5188 * tree-emutls.c: Likewise.
5189 * tree-if-conv.c: Likewise.
5190 * tree-into-ssa.c: Likewise.
5191 * tree-loop-distribution.c: Likewise.
5192 * tree-object-size.c: Likewise.
5193 * tree-parloops.c: Likewise.
5194 * tree-pass.h: Likewise.
5195 * tree-sra.c: Likewise.
5196 * tree-ssa-ccp.c: Likewise.
5197 * tree-ssa-copy.c: Likewise.
5198 * tree-ssa-copyrename.c: Likewise.
5199 * tree-ssa-dce.c: Likewise.
5200 * tree-ssa-dom.c: Likewise.
5201 * tree-ssa-dse.c: Likewise.
5202 * tree-ssa-forwprop.c: Likewise.
5203 * tree-ssa-ifcombine.c: Likewise.
5204 * tree-ssa-loop-ch.c: Likewise.
5205 * tree-ssa-loop-ivcanon.c: Likewise.
5206 * tree-ssa-loop.c: Likewise.
5207 * tree-ssa-math-opts.c: Likewise.
5208 * tree-ssa-phiopt.c: Likewise.
5209 * tree-ssa-phiprop.c: Likewise.
5210 * tree-ssa-pre.c: Likewise.
5211 * tree-ssa-reassoc.c: Likewise.
5212 * tree-ssa-sink.c: Likewise.
5213 * tree-ssa-strlen.c: Likewise.
5214 * tree-ssa-tail-merge.c: Likewise.
5215 * tree-ssa-uncprop.c: Likewise.
5216 * tree-switch-conversion.c: Likewise.
5217 * tree-tailcall.c: Likewise.
5218 * tree-vect-generic.c: Likewise.
5219 * tree-vectorizer.c: Likewise.
5220 * tree-vrp.c: Likewise.
5221 * tsan.c: Likewise.
5222 * var-tracking.c: Likewise.
5223 * bt-load.c: Likewise.
5224 * cfgcleanup.c: Likewise.
5225 * combine-stack-adj.c: Likewise.
5226 * combine.c: Likewise.
5227 * compare-elim.c: Likewise.
5228 * config/epiphany/resolve-sw-modes.c: Likewise.
5229 * config/i386/i386.c: Likewise.
5230 * config/mips/mips.c: Likewise.
5231 * config/s390/s390.c: Likewise.
5232 * config/sh/sh_treg_combine.cc: Likewise.
5233 * config/sparc/sparc.c: Likewise.
5234 * dce.c: Likewise.
5235 * dse.c: Likewise.
5236 * final.c: Likewise.
5237 * ifcvt.c: Likewise.
5238 * mode-switching.c: Likewise.
5239 * passes.c: Likewise.
5240 * postreload.c: Likewise.
5241 * ree.c: Likewise.
5242 * reg-stack.c: Likewise.
5243 * regcprop.c: Likewise.
5244 * regrename.c: Likewise.
5245 * web.c: Likewise.
5246
3d224d46
RB
52472014-05-06 Richard Biener <rguenther@suse.de>
5248
5249 PR middle-end/61070
5250 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
5251 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
5252
e400f081
JH
52532014-05-05 Jan Hubicka <hubicka@ucw.cz>
5254
5255 PR ipa/60965
5256 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
5257
aaeaa9a9 52582014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5259 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 5260
b6db8af6
UB
5261 * target.def (call_fusage_contains_non_callee_clobbers): New
5262 DEFHOOKPOD.
aaeaa9a9
RO
5263 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
5264 Hooks to @menu.
5265 (@node Miscellaneous Register Hooks): New node.
5266 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
5267 * doc/tm.texi: Regenerate.
5268
c2ac23fe
MP
52692014-05-05 Marek Polacek <polacek@redhat.com>
5270
5271 PR driver/61065
5272 * opts.c (common_handle_option): Call error_at instead of warning_at.
5273
0db74577
RB
52742014-05-05 Richard Biener <rguenther@suse.de>
5275
5276 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
5277 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
5278 under the TODO_verify_il umbrella.
5279
7e7f8713
RB
52802014-05-05 Richard Biener <rguenther@suse.de>
5281
5282 * passes.c (execute_function_todo): Move TODO_verify_flow under
5283 the TODO_verify_ul umbrella.
5284
7e2c9f14
RB
52852014-05-05 Richard Biener <rguenther@suse.de>
5286
5287 PR middle-end/61010
b6db8af6
UB
5288 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
5289 X & CST away from a CST that is the mask of a mode.
7e2c9f14 5290
33ecf108
JBG
52912014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5292
5293 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
5294 int argument to enum machine_mode.
5295 (picochip_class_max_nregs): Ditto.
5296 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
5297 (picochip_class_max_nregs): Ditto.
5298
d56a43a0
AK
52992014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5300
5301 * target.def: Add new target hook.
5302 * doc/tm.texi: Regenerate.
5303 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
5304 * targhooks.c (default_keep_leaf_when_profiled): New function.
5305
5306 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
5307 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
5308
cb8f1a57
BC
53092014-05-05 Bin Cheng <bin.cheng@arm.com>
5310
5311 PR tree-optimization/60363
5312 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
5313 (copy_phi_args): New parameters. Call get_value_locus_in_path.
5314 (update_destination_phis): New parameter.
5315 (create_edge_and_update_destination_phis): Ditto.
5316 (ssa_fix_duplicate_block_edges): Pass new arguments.
5317 (thread_single_edge): Ditto.
5318
f93bc5b3
PB
53192014-05-04 Peter Bergner <bergner@vnet.ibm.com>
5320
5321 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
5322 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
5323 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
5324 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
5325 Use RS6000_BTM_HARD_FLOAT.
5326 (BU_MISC_2): Likewise.
5327 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
5328 RS6000_BTM_HARD_FLOAT.
5329 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
5330 is explicitly used.
5331 (rs6000_invalid_builtin): Add hard floating builtin support.
5332 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
5333 hard float builtins.
5334 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
5335
579f4e64
OE
53362014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5337
5338 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
5339 Add missing function* argument.
5340
0be7287d
RS
53412014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
5342
5343 * lra-constraints.c (valid_address_p): Move earlier in file.
5344 Add a constraint argument to the address_info version.
5345 (satisfies_memory_constraint_p): New function.
5346 (satisfies_address_constraint_p): Likewise.
5347 (process_alt_operands, curr_insn_transform): Use them.
5348 (process_address): Pass the constraint to valid_address_p when
5349 checking address operands.
5350
ad782bc9
RS
53512014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
5352
5353 * config/mips/mips.c (mips_isa_rev): New variable.
5354 (mips_set_architecture): Set it.
5355 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
5356 from mips_isa_rev.
5357 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
5358 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
5359 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
5360 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
5361 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
5362 conditions in terms of mips_isa_rev.
5363 (mips_isa_rev): Declare.
5364
45731f37
OE
53652014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5366
5367 * config/sh/sh-mem.cc: Use tabs instead of spaces.
5368 (prob_unlikely, prob_likely): Make variables const.
5369
c61dfa63
DC
53702014-05-03 Denis Chertykov <chertykov@gmail.com>
5371
5372 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
5373
1b8da635
OE
53742014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5375
5376 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
5377
f6982a08
OE
53782014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5379
5380 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
5381 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
5382 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
5383 functions.
5384 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
5385 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
5386 sh_pass_in_reg_p.
5387 Replace usage of ROUND_REG with sh_round_reg.
5388 Use CEIL instead of ROUND_ADVANCE.
5389
0bcf70f8
OE
53902014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5391
5392 PR target/61026
5393 * config/sh/sh.c: Include stdlib headers before everything else.
5394
95782571
JJ
53952014-05-02 Jakub Jelinek <jakub@redhat.com>
5396
5397 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
5398 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
5399 (gimplify_adjust_omp_clauses): Simd region is never
5400 directly nested in combined parallel. Instead, for linear
5401 with copyin/copyout, if in combined for simd loop, make decl
5402 firstprivate/lastprivate on OMP_FOR.
5403 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
5404 expand_omp_for_static_chunk): When setting endvar, also set
5405 fd->loop.v to the same value.
5406
e13b3dfd
RS
54072014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5408
5409 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
5410
0696116a
AL
54112014-05-02 Alan Lawrence <alan.lawrence@arm.com>
5412
5413 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
5414 expression.
5415
fb90f9f3
MP
54162014-05-02 Marek Polacek <polacek@redhat.com>
5417
5418 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
5419
153df826 54202014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
5421
5422 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
5423 to a C expression marco.
5424 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
5425 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
5426 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
5427 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
5428 HONOR_REG_ALLOC_ORDER.
5429 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
5430
53c8d5a7
JBG
54312014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5432
5433 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
5434
486c559b
JBG
54352014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5436
5437 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
5438
944052b9
YR
54392014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
5440
5441 * tree-if-conv.c (is_cond_scalar_reduction): New function.
5442 (convert_scalar_cond_reduction): Likewise.
5443 (predicate_scalar_phi): Add recognition and transformation
5444 of simple conditioanl reduction to be vectorizable.
5445
d00887e8
MP
54462014-05-01 Marek Polacek <polacek@redhat.com>
5447
5448 PR c/43245
5449 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
5450
7211512a
AL
54512014-04-30 Alan Lawrence <alan.lawrence@arm.com>
5452
5453 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
5454 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
5455 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
5456 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
5457 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
5458 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
5459 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
5460 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
5461
e5bd20a4
JR
54622014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
5463
5464 * config/arc/arc.opt (mlra): Move comment above option name
5465 to avoid mis-parsing as language options.
5466
2cf03b11
RO
54672014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5468
5469 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
5470 * config/sol2.h: ... here.
5471 * config/sol2-10.h: Remove.
5472
5473 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
5474 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
5475 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
5476 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
5477 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
5478 * config/sol2.h: ... here.
5479 (SECTION_NAME_FORMAT): Don't redefine.
5480 (STARTFILE_ARCH32_SPEC): Rename to ...
5481 (STARTFILE_ARCH_SPEC): ... this.
5482 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
5483 * config/sparc/sol2.h: ... here.
5484 (SECTION_NAME_FORMAT): Don't undef.
5485 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
5486 (SUBTARGET_EXTRA_SPECS): Remove.
5487 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
5488
5489 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
5490 (MD_STARTFILE_PREFIX): Remove.
5491 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
5492 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
5493 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
5494 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
5495 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
5496 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
5497 * config/i386/sol2.h: ... here.
5498 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
5499 * config/i386/sol2-bi.h: Remove.
5500 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
5501 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
5502
5503 * config/i386/t-sol2-64: Rename to ...
5504 * config/i386/t-sol2: ... this.
5505 * config/sparc/t-sol2-64: Rename to ...
5506 * config/sparc/t-sol2: ... this.
5507
5508 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
5509 sol2_tm_file_head, sol2_tm_file_tail.
5510 Include ${cpu_type}/sol2.h before sol2.h.
5511 Remove sol2-10.h.
5512 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
5513 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
5514 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
5515 Reflect i386/t-sol2-64 renaming.
5516 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
5517 Reflect sparc/t-sol2-64 renaming.
5518
e9ff9caf
RB
55192014-04-30 Richard Biener <rguenther@suse.de>
5520
5521 * passes.c (execute_function_todo): Move TODO_verify_stmts
5522 and TODO_verify_ssa under the TODO_verify_il umbrella.
5523 * tree-ssa.h (verify_ssa): Adjust prototype.
5524 * tree-ssa.c (verify_ssa): Add parameter to tell whether
5525 we should verify SSA operands.
5526 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
5527 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
5528 whether we should verify whether not throwing stmts have EH info.
5529 * graphite-scop-detection.c (create_sese_edges): Adjust.
5530 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
5531 * tree-eh.c (lower_try_finally_switch): Do not add the
5532 default case label twice.
5533
f8ed5150
MP
55342014-04-30 Marek Polacek <polacek@redhat.com>
5535
5536 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
5537 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
5538 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
5539 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
5540
7cb0403f
AL
55412014-04-29 Alan Lawrence <alan.lawrence@arm.com>
5542
5543 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
5544 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
5545 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
5546 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
5547 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
5548 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
5549 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
5550 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
5551
3979649a
DM
55522014-04-29 David Malcolm <dmalcolm@redhat.com>
5553
5554 * tree-cfg.c (dump_function_to_file): Dump the return type of
5555 functions, in a line to itself before the function body, mimicking
5556 the layout of a C function.
5557
62fb101e
JJ
55582014-04-29 Jakub Jelinek <jakub@redhat.com>
5559
5560 PR tree-optimization/60971
5561 * tree-tailcall.c (process_assignment): Reject conversions which
5562 reduce precision.
5563
3d9684ae
JG
55642014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
5565
5566 * calls.c (initialize_argument_information): Always treat
5567 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
5568 (expand_call): Likewise.
5569 (emit_library_call_calue_1): Likewise.
5570 * expr.c (PUSH_ARGS_REVERSED): Do not define.
5571 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
5572 code accordingly.
5573
d77f7b19
NC
55742014-04-29 Nick Clifton <nickc@redhat.com>
5575
5576 * config/msp430/msp430.md (umulsidi): Fix typo.
5577 (mulhisi3): Enable even inside interrupt handlers.
5578 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
5579 bigger return address pushed in large mode.
5580
f8d91e80
NC
55812014-04-29 Nick Clifton <nickc@redhat.com>
5582
5583 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
5584 (arc_init_reg_tables): Use a machine_mode enum to iterate over
5585 available modes.
5586 * config/m32r/m32r.c (init_reg_tables): Likewise.
5587 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
5588 enum to hold the modes.
5589
e3f613cb
RB
55902014-04-29 Richard Biener <rguenther@suse.de>
5591
5592 * dominance.c (free_dominance_info): Add overload with
5593 function parameter.
5594 (dom_info_state): Likewise.
5595 (dom_info_available_p): Likewise.
5596 * basic-block.h (free_dominance_info, dom_info_state,
5597 dom_info_available_p): Declare overloads.
5598 * passes.c (execute_function_todo): Verify that verifiers
5599 don't change dominator info state. Drop dominator info
5600 for IPA pass invocations.
5601 * cgraph.c (release_function_body): Restore asserts that
5602 dominator information is released.
5603
36f291f7
PP
56042014-04-29 Patrick Palka <patrick@parcs.ath.cx>
5605
5606 * doc/invoke.texi: Fix typo.
5607 * tree-vrp.c: Fix typos.
b6db8af6 5608 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 5609
d3a3182b
ZC
56102014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5611
5612 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
5613
ba081b77
JG
56142014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
5615
5616 * config/aarch64/aarch64-builtins.c
5617 (aarch64_types_storestruct_lane_qualifiers): New.
5618 (TYPES_STORESTRUCT_LANE): Likewise.
5619 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
5620 (st3_lane): Likewise.
5621 (st4_lane): Likewise.
5622 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
5623 (vec_store_lanesci_lane<mode>): Likewise.
5624 (vec_store_lanesxi_lane<mode>): Likewise.
5625 (aarch64_st2_lane<VQ:mode>): Likewise.
5626 (aarch64_st3_lane<VQ:mode>): Likewise.
5627 (aarch64_st4_lane<VQ:mode>): Likewise.
5628 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
5629 * config/aarch64/arm_neon.h
5630 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
5631 use new macro arguments.
5632 (__ST3_LANE_FUNC): Likewise.
5633 (__ST4_LANE_FUNC): Likewise.
5634 * config/aarch64/iterators.md (V_TWO_ELEM): New.
5635 (V_THREE_ELEM): Likewise.
5636 (V_FOUR_ELEM): Likewise.
5637
1bc6d43c
DM
56382014-04-28 David Malcolm <dmalcolm@redhat.com>
5639
5640 * doc/gimple.texi: Replace the description of the now-defunct
5641 union gimple_statement_d with a diagram showing the
5642 gimple_statement_base class hierarchy and its relationships to
5643 the GSS_ and GIMPLE_ enums.
5644
97e1ad78
JG
56452014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
5646
5647 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
5648 * config/aarch64/aarch64.c
5649 (aarch64_cannot_change_mode_class): Weaken conditions.
5650 (aarch64_modes_tieable_p): New.
5651 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
5652
bf245bf4
PH
56532014-04-28 Pat Haugen <pthaugen@us.ibm.com>
5654
5655 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
5656 (loadsync_<mode>): Change mode.
5657 (load_quadpti, store_quadpti): New.
5658 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
5659 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
5660
28151221
MJ
56612014-04-28 Martin Jambor <mjambor@suse.cz>
5662
5663 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
5664 same alias type as the original statement.
5665 (subreplacement_assignment_data): New type.
5666 (handle_unscalarized_data_in_subtree): New type of parameter,
5667 generate new memory accesses with same alias type as the original
5668 statement.
5669 (load_assign_lhs_subreplacements): Likewise.
5670 (sra_modify_constructor_assign): Generate new memory accesses with
5671 same alias type as the original statement.
5672
9ba5fb43
RB
56732014-04-28 Richard Biener <rguenther@suse.de>
5674
5675 * tree-pass.h (TODO_verify_il): Define.
5676 (TODO_verify_all): Complete properly.
5677 * passes.c (execute_function_todo): Move existing loop-closed
5678 SSA verification under TODO_verify_il.
5679 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
5680 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
5681 Fix tree sharing issue.
5682
22869a37
RB
56832014-04-28 Richard Biener <rguenther@suse.de>
5684
5685 PR middle-end/60092
5686 * builtins.def (DEF_C11_BUILTIN): Add.
5687 (BUILT_IN_ALIGNED_ALLOC): Likewise.
5688 * coretypes.h (enum function_class): Add function_c11_misc.
5689 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
5690 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
5691 (call_may_clobber_ref_p_1): Likewise.
5692 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
5693 (mark_all_reaching_defs_necessary_1): Likewise.
5694 (propagate_necessity): Likewise.
5695 (eliminate_unnecessary_stmts): Likewise.
5696 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
5697
771c9501
RB
56982014-04-28 Richard Biener <rguenther@suse.de>
5699
5700 * tree-vrp.c (vrp_var_may_overflow): Remove.
5701 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
5702 with overflow immediately bump to one before that value and
5703 let iteration figure out overflow status.
5704
279a935f
RB
57052014-04-28 Richard Biener <rguenther@suse.de>
5706
5707 * configure.ac: Do valgrind header checks unconditionally.
5708 Add --enable-valgrind-annotations.
5709 * system.h: Guard valgrind header inclusion with
5710 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
5711 * alloc-pool.c (pool_alloc, pool_free): Use
5712 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
5713 to guard possibly dead code.
5714 * config.in: Regenerated.
5715 * configure: Likewise.
5716
07357f2f
JL
57172014-04-28 Jeff Law <law@redhat.com>
5718
5719 PR tree-optimization/60902
5720 * tree-ssa-threadedge.c
5721 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
5722 over real defs when invalidating outputs from statements that do not
5723 produce useful outputs for threading.
5724
6c6aa8e6
RB
57252014-04-28 Richard Biener <rguenther@suse.de>
5726
5727 PR tree-optimization/60979
5728 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
5729 SCOPs that end in a block with a successor with abnormal
5730 predecessors.
5731
2cbf2d95
RB
57322014-04-28 Richard Biener <rguenther@suse.de>
5733
5734 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 5735 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
5736 (do_per_function): Change callback signature, push all actual
5737 work to the callbals.
5738 (do_per_function_toporder): Likewise.
5739 (execute_function_dump): Adjust.
5740 (execute_function_todo): Likewise.
5741 (clear_last_verified): Likewise.
5742 (verify_curr_properties): Likewise.
5743 (update_properties_after_pass): Likewise.
5744 (execute_pass_list_1): Split out from ...
5745 (execute_pass_list): ... here. Adjust.
5746 (execute_ipa_pass_list): Likewise.
5747 * cgraphunit.c (cgraph_add_new_function): Adjust.
5748 (analyze_function): Likewise.
5749 (expand_function): Likewise.
5750 * cgraph.c (release_function_body): Free dominance info
5751 here instead of asserting it was magically freed elsewhere.
5752
ba21a04a
EB
57532014-04-28 Eric Botcazou <ebotcazou@adacore.com>
5754
5755 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
5756 * configure: Regenerate.
5757 * config/sparc/sparc.opt (muser-mode): New option.
5758 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
5759 for LEON3.
5760 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
5761 * doc/invoke.texi (SPARC options): Document -muser-mode.
5762
f956adb9
RS
57632014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
5764
5765 * cselib.c (find_slot_memmode): Delete.
5766 (cselib_hasher): Change compare_type to a struct.
5767 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
5768 constants.
5769 (preserve_constants_and_equivs): Adjust for new compare_type.
5770 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
5771 (wrap_constant): Delete.
5772 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
5773
167c3e96
MT
57742014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
5775
5776 * doc/install.texi (Building with profile feedback): Remove
5777 outdated sentence.
5778
4148ef5f
TV
57792014-04-26 Tom de Vries <tom@codesourcery.com>
5780
5781 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
5782 array accesses.
5783
8d8ffd86
CC
57842014-04-25 Cary Coutant <ccoutant@google.com>
5785
b6db8af6 5786 PR debug/60929
8d8ffd86 5787 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
5788 can contain a subprogram definition, but don't move it to a
5789 comdat unit.
8d8ffd86 5790 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
5791 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
5792 from original DIE.
8d8ffd86
CC
5793 (clone_tree_hash): Rename to...
5794 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 5795 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 5796 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 5797 type unit.
8d8ffd86 5798
255671b0
L
57992014-04-25 H.J. Lu <hongjiu.lu@intel.com>
5800
5801 PR target/60969
5802 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
5803 alternative 12.
5804
10432733
JW
58052014-04-25 Jiong Wang <jiong.wang@arm.com>
5806
5807 * config/arm/predicates.md (call_insn_operand): Add long_call check.
5808 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
5809 reg for long_call.
5810 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
5811 restriction.
5812
0e4c913f
KT
58132014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5814
b6db8af6 5815 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 5816
61ba7329
BS
58172014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5818
5819 PR tree-optimization/60930
5820 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
5821 creating a multiply candidate by folding two constant
5822 multiplicands when the result overflows.
5823
2b332829
JJ
58242014-04-25 Jakub Jelinek <jakub@redhat.com>
5825
5826 PR tree-optimization/60960
5827 * tree-vect-generic.c (expand_vector_operation): Only call
5828 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
5829
97891c11
TV
58302014-04-25 Tom de Vries <tom@codesourcery.com>
5831
5832 * expr.c (clobber_reg_mode): New function.
5833 * expr.h (clobber_reg): New function.
5834
3ee634fd
TV
58352014-04-25 Tom de Vries <tom@codesourcery.com>
5836
5837 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
5838 clobbers.
5839
356bf593 58402014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5841 Tom de Vries <tom@codesourcery.com>
356bf593
RO
5842
5843 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
5844 handle.
5845 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
5846 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
5847 new argument to find_all_hard_reg_sets call.
5848
fe65a7ed
KT
58492014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5850
5851 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
5852 Use HOST_WIDE_INT_C for mask literal.
5853 (aarch_rev16_shleft_mask_imm_p): Likewise.
5854
b357d40d
EB
58552014-04-25 Eric Botcazou <ebotcazou@adacore.com>
5856
5857 PR target/60941
5858 * config/sparc/sparc.md (ashlsi3_extend): Delete.
5859
30c0a59a
MG
58602014-04-25 Marc Glisse <marc.glisse@inria.fr>
5861
5862 PR preprocessor/56540
5863 * config/i386/i386-c.c (ix86_target_macros): Define
5864 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
5865
c02f59e2
RO
58662014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5867
5868 * configure.ac (tga_func): Remove.
5869 (LIB_TLS_SPEC): Remove.
5870 * configure: Regenerate.
5871 * config.in: Regenerate.
5872 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
5873
92b3326b
RB
58742014-04-25 Richard Biener <rguenther@suse.de>
5875
5876 PR ipa/60912
5877 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
5878 call stmt use/clobber sets during stmt walk instead of
5879 walking the possibly incomplete set of caller edges.
5880
78422fb1
RB
58812014-04-25 Richard Biener <rguenther@suse.de>
5882
5883 PR ipa/60911
5884 * passes.c (apply_ipa_transforms): Inline into only caller ...
5885 (execute_one_pass): ... here. Properly bring in function
5886 bodies for nodes we want to apply IPA transforms to.
5887
56f8faae
CH
58882014-04-24 Cong Hou <congh@google.com>
5889
5890 PR tree-optimization/60896
5891 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
5892 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
5893 (vect_mark_pattern_stmts): Set the def type of all statements in
5894 PATTERN_DEF_SEQ as vect_internal_def.
5895
06b39289
MM
58962014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
5897
5898 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 5899 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
5900 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
5901
5902 * config/rs6000/predicates.md (const_0_to_3_operand): New
5903 predicate to match 0..3 integer constants.
5904
5905 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
5906 to support adding miscellaneous builtin functions.
5907 (BU_DFP_MISC_2): Likewise.
5908 (BU_P7_MISC_1): Likewise.
5909 (BU_P7_MISC_2): Likewise.
5910 (BU_P8V_MISC_3): Likewise.
5911 (BU_MISC_1): Likewise.
5912 (BU_MISC_2): Likewise.
5913 (DIVWE): Add extended divide builtin functions.
5914 (DIVWEO): Likewise.
5915 (DIVWEU): Likewise.
5916 (DIVWEUO): Likewise.
5917 (DIVDE): Likewise.
5918 (DIVDEO): Likewise.
5919 (DIVDEU): Likewise.
5920 (DIVDEUO): Likewise.
5921 (DXEX): Add decimal floating-point builtin functions.
5922 (DXEXQ): Likewise.
5923 (DDEDPD): Likewise.
5924 (DDEDPDQ): Likewise.
5925 (DENBCD): Likewise.
5926 (DENBCDQ): Likewise.
5927 (DIEX): Likewise.
5928 (DIEXQ): Likewise.
5929 (DSCLI): Likewise.
5930 (DSCLIQ): Likewise.
5931 (DSCRI): Likewise.
5932 (DSCRIQ): Likewise.
5933 (CDTBCD): Add new BCD builtin functions.
5934 (CBCDTD): Likewise.
5935 (ADDG6S): Likewise.
5936 (BCDADD): Likewise.
5937 (BCDADD_LT): Likewise.
5938 (BCDADD_EQ): Likewise.
5939 (BCDADD_GT): Likewise.
5940 (BCDADD_OV): Likewise.
5941 (BCDSUB): Likewise.
5942 (BCDSUB_LT): Likewise.
5943 (BCDSUB_EQ): Likewise.
5944 (BCDSUB_GT): Likewise.
5945 (BCDSUB_OV): Likewise.
5946 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
5947 (UNPACK_TD): Likewise.
5948 (PACK_TF): Likewise.
5949 (UNPACK_TF): Likewise.
5950 (UNPACK_TF_0): Likewise.
5951 (UNPACK_TF_1): Likewise.
5952 (PACK_V1TI): Likewise.
5953 (UNPACK_V1TI): Likewise.
5954
5955 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
5956 support for decimal floating point builtin functions.
5957 (rs6000_expand_ternop_builtin): Add checks for the new builtin
5958 functions that take constant arguments.
b6db8af6 5959 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
5960 (rs6000_init_builtins): Setup long double, _Decimal64, and
5961 _Decimal128 types for new builtin functions.
5962 (builtin_function_type): Set the unsigned flags appropriately for
5963 the new builtin functions.
5964 (rs6000_opt_masks): Add support for decimal floating point builtin
5965 functions.
5966
5967 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
5968 floating point builtin functions.
5969 (RS6000_BTM_COMMON): Likewise.
5970 (RS6000_BTI_long_double): Likewise.
5971 (RS6000_BTI_dfloat64): Likewise.
5972 (RS6000_BTI_dfloat128): Likewise.
5973 (long_double_type_internal_node): Likewise.
5974 (dfloat64_type_internal_node): Likewise.
5975 (dfloat128_type_internal_node): Likewise.
5976
5977 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
5978 2.07 bcd arithmetic instructions.
5979 (UNSPEC_BCDSUB): Likewise.
5980 (UNSPEC_BCD_OVERFLOW): Likewise.
5981 (UNSPEC_BCD_ADD_SUB): Likewise.
5982 (bcd_add_sub): Likewise.
5983 (BCD_TEST): Likewise.
5984 (bcd<bcd_add_sub>): Likewise.
5985 (bcd<bcd_add_sub>_test): Likewise.
5986 (bcd<bcd_add_sub>_test2): Likewise.
5987 (bcd<bcd_add_sub>_<code>): Likewise.
5988 (peephole2 for combined bcd ops): Likewise.
5989
5990 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
5991 decimal floating point builtin functions.
5992 (UNSPEC_DENBCD): Likewise.
5993 (UNSPEC_DXEX): Likewise.
5994 (UNSPEC_DIEX): Likewise.
5995 (UNSPEC_DSCLI): Likewise.
5996 (UNSPEC_DSCRI): Likewise.
5997 (D64_D128): Likewise.
5998 (dfp_suffix): Likewise.
5999 (dfp_ddedpd_<mode>): Likewise.
6000 (dfp_denbcd_<mode>): Likewise.
6001 (dfp_dxex_<mode>): Likewise.
6002 (dfp_diex_<mode>): Likewise.
6003 (dfp_dscli_<mode>): Likewise.
6004 (dfp_dscri_<mode>): Likewise.
6005
6006 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
6007 builtin functions.
6008 (UNSPEC_CDTBCD): Likewise.
6009 (UNSPEC_CBCDTD): Likewise.
b6db8af6 6010 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
6011 (UNSPEC_DIVEO): Likewise.
6012 (UNSPEC_DIVEU): Likewise.
6013 (UNSPEC_DIVEUO): Likewise.
6014 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
6015 pack/unpack 128-bit types.
6016 (UNSPEC_PACK_128BIT): Likewise.
6017 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
6018 (udiv<mode>3): Use idiv_ldiv mode attribute.
6019 (div<mode>3): Likewise.
6020 (addg6s): Add new BCD builtin functions.
6021 (cdtbcd): Likewise.
6022 (cbcdtd): Likewise.
b6db8af6 6023 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
6024 (div_extend): Likewise.
6025 (div<div_extend>_<mode>"): Likewise.
6026 (FP128_64): Add support for new builtin functions to pack/unpack
6027 128-bit types.
6028 (unpack<mode>): Likewise.
6029 (unpacktf_0): Likewise.
6030 (unpacktf_1): Likewise.
6031 (unpack<mode>_dm): Likewise.
6032 (unpack<mode>_nodm): Likewise.
6033 (pack<mode>): Likewise.
6034 (unpackv1ti): Likewise.
6035 (packv1ti): Likewise.
6036
6e4f81db
V
60372014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
6038
6039 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
6040 is disabled.
6041
f7468577
JJ
60422014-04-24 Jakub Jelinek <jakub@redhat.com>
6043
6044 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
6045 * gimplify.c (omp_is_private): Change last argument's type to int.
6046 Only diagnose lastprivate if the simd argument is 1, only diagnose
6047 linear if the simd argument is 2.
6048 (gimplify_omp_for): Adjust omp_is_private callers. When adding
6049 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
6050 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
6051 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
6052 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
6053 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
6054 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
6055 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
6056 * tree-nested.c (convert_nonlocal_omp_clauses,
6057 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
6058
2f7ac5ce
JL
60592014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
6060
6061 PR target/60822
6062 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
6063 operand 1.
6064
dcaaa5a0
DP
60652014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6066
6067 * flag-types.h (enum ivar_visibility): Add.
6068
78c7d18e
TS
60692014-04-24 Trevor Saunders <tsaunders@mozilla.com>
6070
6071 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
6072 function * argument.
6073
fbbde65e
AL
60742014-04-24 Alan Lawrence <alan.lawrence@arm.com>
6075
6076 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
6077
4f660b15 60782014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 6079 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
6080
6081 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
6082 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
6083 reg-note.
6084 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
6085 * emit-rtl.c (try_split): Same.
6086
d996e61a 60872014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 6088 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
6089
6090 * common.opt (fuse-caller-save): New option.
6091
bbcc9c00
TB
60922014-04-24 Tejas Belagod <tejas.belagod@arm.com>
6093
b6db8af6
UB
6094 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
6095 elements for big-endian.
bbcc9c00 6096
d2d11532
RB
60972014-04-24 Richard Biener <rguenther@suse.de>
6098
6099 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
6100 during TER and instead use the sepops interface for expanding
6101 non-GIMPLE_SINGLE_RHS.
6102
8117ef98
RO
61032014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6104
6105 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
6106 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
6107
ab0afae3
RO
61082014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6109
6110 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
6111 assembler 64-bit option.
6112 * configure: Regenerate.
6113
683e3333
KT
61142014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6115
6116 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
6117 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
6118 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
6119 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
6120 (TARGET_CRYPTO): Take TARGET_SIMD into account.
6121
c7f28cd5
KT
61222014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6123
6124 * config/aarch64/aarch64-builtins.c
6125 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
6126 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
6127 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
6128 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
6129 builtins.
6130 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
6131 (Vrevsuff): New mode attribute.
6132
b0419491
TG
61332014-04-24 Terry Guo <terry.guo@arm.com>
6134
6135 * config/arm/arm.h (machine_function): Define variable
6136 after_arm_reorg here.
6137 * config/arm/arm.c (after_arm_reorg): Remove the definition.
6138 (arm_split_constant): Update the way to access variable
6139 after_arm_reorg.
6140 (arm_reorg): Ditto.
6141 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
6142
74e4d71a
TV
61432014-04-23 Tom de Vries <tom@codesourcery.com>
6144
6145 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
6146
7de90a6c
DM
61472014-04-23 David Malcolm <dmalcolm@redhat.com>
6148
6149 * is-a.h: Update comments to reflect the following changes to the
6150 "pointerness" of the API, making the template parameter match the
6151 return type, allowing use of is-a.h with typedefs of pointers.
6152 (is_a_helper::cast): Return a T rather then a pointer to a T, so
6153 that the return type matches the parameter to the is_a_helper.
6154 (as_a): Likewise.
6155 (dyn_cast): Likewise.
6156
6157 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
6158 pointer from the is-a.h API.
6159
6160 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
6161 (is_a_helper <cgraph_node *>::test): ...this, matching change to
6162 is-a.h API.
6163 (is_a_helper <varpool_node>::test): Likewise, convert to...
6164 (is_a_helper <varpool_node *>::test): ...this.
6165
6166 (varpool_first_variable): Update for removal of implicit pointer
6167 from the is-a.h API.
6168 (varpool_next_variable): Likewise.
6169 (varpool_first_static_initializer): Likewise.
6170 (varpool_next_static_initializer): Likewise.
6171 (varpool_first_defined_variable): Likewise.
6172 (varpool_next_defined_variable): Likewise.
6173 (cgraph_first_defined_function): Likewise.
6174 (cgraph_next_defined_function): Likewise.
6175 (cgraph_first_function): Likewise.
6176 (cgraph_next_function): Likewise.
6177 (cgraph_first_function_with_gimple_body): Likewise.
6178 (cgraph_next_function_with_gimple_body): Likewise.
6179 (cgraph_alias_target): Likewise.
6180 (varpool_alias_target): Likewise.
6181 (cgraph_function_or_thunk_node): Likewise.
6182 (varpool_variable_node): Likewise.
6183 (symtab_real_symbol_p): Likewise.
6184 * cgraphunit.c (referred_to_p): Likewise.
6185 (analyze_functions): Likewise.
6186 (handle_alias_pairs): Likewise.
6187 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
6188 * gimple-ssa.h (gimple_vuse_op): Likewise.
6189 (gimple_vdef_op): Likewise.
6190 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
6191 * gimple.c (gimple_build_asm_1): Likewise.
6192 (gimple_build_try): Likewise.
6193 (gimple_build_resx): Likewise.
6194 (gimple_build_eh_dispatch): Likewise.
6195 (gimple_build_omp_for): Likewise.
6196 (gimple_omp_for_set_clauses): Likewise.
6197
6198 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
6199 (is_a_helper <gimple_statement_asm *>::test): ...this.
6200 (is_a_helper <gimple_statement_bind>::test): Convert to...
6201 (is_a_helper <gimple_statement_bind *>::test): ...this.
6202 (is_a_helper <gimple_statement_call>::test): Convert to...
6203 (is_a_helper <gimple_statement_call *>::test): ...this.
6204 (is_a_helper <gimple_statement_catch>::test): Convert to...
6205 (is_a_helper <gimple_statement_catch *>::test): ...this.
6206 (is_a_helper <gimple_statement_resx>::test): Convert to...
6207 (is_a_helper <gimple_statement_resx *>::test): ...this.
6208 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
6209 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
6210 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
6211 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
6212 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
6213 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
6214 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
6215 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
6216 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
6217 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
6218 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
6219 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
6220 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
6221 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
6222 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
6223 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
6224 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
6225 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
6226 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
6227 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
6228 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
6229 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
6230 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
6231 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
6232 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
6233 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
6234 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
6235 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
6236 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
6237 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
6238 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
6239 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
6240 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
6241 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
6242 (is_a_helper <gimple_statement_phi>::test): Convert to...
6243 (is_a_helper <gimple_statement_phi *>::test): ...this.
6244 (is_a_helper <gimple_statement_transaction>::test): Convert to...
6245 (is_a_helper <gimple_statement_transaction *>::test): ...this.
6246 (is_a_helper <gimple_statement_try>::test): Convert to...
6247 (is_a_helper <gimple_statement_try *>::test): ...this.
6248 (is_a_helper <gimple_statement_wce>::test): Convert to...
6249 (is_a_helper <gimple_statement_wce *>::test): ...this.
6250 (is_a_helper <const gimple_statement_asm>::test): Convert to...
6251 (is_a_helper <const gimple_statement_asm *>::test): ...this.
6252 (is_a_helper <const gimple_statement_bind>::test): Convert to...
6253 (is_a_helper <const gimple_statement_bind *>::test): ...this.
6254 (is_a_helper <const gimple_statement_call>::test): Convert to...
6255 (is_a_helper <const gimple_statement_call *>::test): ...this.
6256 (is_a_helper <const gimple_statement_catch>::test): Convert to...
6257 (is_a_helper <const gimple_statement_catch *>::test): ...this.
6258 (is_a_helper <const gimple_statement_resx>::test): Convert to...
6259 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
6260 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
6261 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
6262 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
6263 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
6264 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
6265 Convert to...
6266 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
6267 ...this.
6268 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
6269 Convert to...
6270 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
6271 ...this.
b6db8af6 6272 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
6273 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
6274 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
6275 to...
6276 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
6277 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
6278 to...
6279 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
6280 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
6281 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 6282 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
6283 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
6284 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
6285 to...
6286 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 6287 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
6288 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
6289 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
6290 to...
6291 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 6292 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 6293 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 6294 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 6295 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 6296 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
6297 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
6298 (is_a_helper <const gimple_statement_phi>::test): Convert to...
6299 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 6300 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 6301 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 6302 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
6303 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
6304 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
6305 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
6306 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
6307 to...
7de90a6c
DM
6308 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
6309 ...this.
b6db8af6 6310 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
6311 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
6312
6313 (gimple_use_ops): Update for removal of implicit pointer from the
6314 is-a.h API.
6315 (gimple_set_use_ops): Likewise.
6316 (gimple_vuse): Likewise.
6317 (gimple_vdef): Likewise.
6318 (gimple_vuse_ptr): Likewise.
6319 (gimple_vdef_ptr): Likewise.
6320 (gimple_set_vuse): Likewise.
6321 (gimple_set_vdef): Likewise.
6322 (gimple_omp_return_set_lhs): Likewise.
6323 (gimple_omp_return_lhs): Likewise.
6324 (gimple_omp_return_lhs_ptr): Likewise.
6325 (gimple_call_fntype): Likewise.
6326 (gimple_call_set_fntype): Likewise.
6327 (gimple_call_set_internal_fn): Likewise.
6328 (gimple_call_use_set): Likewise.
6329 (gimple_call_clobber_set): Likewise.
6330 (gimple_bind_vars): Likewise.
6331 (gimple_bind_set_vars): Likewise.
6332 (gimple_bind_body_ptr): Likewise.
6333 (gimple_bind_set_body): Likewise.
6334 (gimple_bind_add_stmt): Likewise.
6335 (gimple_bind_block): Likewise.
6336 (gimple_bind_set_block): Likewise.
6337 (gimple_asm_ninputs): Likewise.
6338 (gimple_asm_noutputs): Likewise.
6339 (gimple_asm_nclobbers): Likewise.
6340 (gimple_asm_nlabels): Likewise.
6341 (gimple_asm_input_op): Likewise.
6342 (gimple_asm_input_op_ptr): Likewise.
6343 (gimple_asm_output_op): Likewise.
6344 (gimple_asm_output_op_ptr): Likewise.
6345 (gimple_asm_set_output_op): Likewise.
6346 (gimple_asm_clobber_op): Likewise.
6347 (gimple_asm_set_clobber_op): Likewise.
6348 (gimple_asm_label_op): Likewise.
6349 (gimple_asm_set_label_op): Likewise.
6350 (gimple_asm_string): Likewise.
6351 (gimple_catch_types): Likewise.
6352 (gimple_catch_types_ptr): Likewise.
6353 (gimple_catch_handler_ptr): Likewise.
6354 (gimple_catch_set_types): Likewise.
6355 (gimple_catch_set_handler): Likewise.
6356 (gimple_eh_filter_types): Likewise.
6357 (gimple_eh_filter_types_ptr): Likewise.
6358 (gimple_eh_filter_failure_ptr): Likewise.
6359 (gimple_eh_filter_set_types): Likewise.
6360 (gimple_eh_filter_set_failure): Likewise.
6361 (gimple_eh_must_not_throw_fndecl): Likewise.
6362 (gimple_eh_must_not_throw_set_fndecl): Likewise.
6363 (gimple_eh_else_n_body_ptr): Likewise.
6364 (gimple_eh_else_e_body_ptr): Likewise.
6365 (gimple_eh_else_set_n_body): Likewise.
6366 (gimple_eh_else_set_e_body): Likewise.
6367 (gimple_try_eval_ptr): Likewise.
6368 (gimple_try_cleanup_ptr): Likewise.
6369 (gimple_try_set_eval): Likewise.
6370 (gimple_try_set_cleanup): Likewise.
6371 (gimple_wce_cleanup_ptr): Likewise.
6372 (gimple_wce_set_cleanup): Likewise.
6373 (gimple_phi_capacity): Likewise.
6374 (gimple_phi_num_args): Likewise.
6375 (gimple_phi_result): Likewise.
6376 (gimple_phi_result_ptr): Likewise.
6377 (gimple_phi_set_result): Likewise.
6378 (gimple_phi_arg): Likewise.
6379 (gimple_phi_set_arg): Likewise.
6380 (gimple_resx_region): Likewise.
6381 (gimple_resx_set_region): Likewise.
6382 (gimple_eh_dispatch_region): Likewise.
6383 (gimple_eh_dispatch_set_region): Likewise.
6384 (gimple_omp_critical_name): Likewise.
6385 (gimple_omp_critical_name_ptr): Likewise.
6386 (gimple_omp_critical_set_name): Likewise.
6387 (gimple_omp_for_clauses): Likewise.
6388 (gimple_omp_for_clauses_ptr): Likewise.
6389 (gimple_omp_for_set_clauses): Likewise.
6390 (gimple_omp_for_collapse): Likewise.
6391 (gimple_omp_for_index): Likewise.
6392 (gimple_omp_for_index_ptr): Likewise.
6393 (gimple_omp_for_set_index): Likewise.
6394 (gimple_omp_for_initial): Likewise.
6395 (gimple_omp_for_initial_ptr): Likewise.
6396 (gimple_omp_for_set_initial): Likewise.
6397 (gimple_omp_for_final): Likewise.
6398 (gimple_omp_for_final_ptr): Likewise.
6399 (gimple_omp_for_set_final): Likewise.
6400 (gimple_omp_for_incr): Likewise.
6401 (gimple_omp_for_incr_ptr): Likewise.
6402 (gimple_omp_for_set_incr): Likewise.
6403 (gimple_omp_for_pre_body_ptr): Likewise.
6404 (gimple_omp_for_set_pre_body): Likewise.
6405 (gimple_omp_parallel_clauses): Likewise.
6406 (gimple_omp_parallel_clauses_ptr): Likewise.
6407 (gimple_omp_parallel_set_clauses): Likewise.
6408 (gimple_omp_parallel_child_fn): Likewise.
6409 (gimple_omp_parallel_child_fn_ptr): Likewise.
6410 (gimple_omp_parallel_set_child_fn): Likewise.
6411 (gimple_omp_parallel_data_arg): Likewise.
6412 (gimple_omp_parallel_data_arg_ptr): Likewise.
6413 (gimple_omp_parallel_set_data_arg): Likewise.
6414 (gimple_omp_task_clauses): Likewise.
6415 (gimple_omp_task_clauses_ptr): Likewise.
6416 (gimple_omp_task_set_clauses): Likewise.
6417 (gimple_omp_task_child_fn): Likewise.
6418 (gimple_omp_task_child_fn_ptr): Likewise.
6419 (gimple_omp_task_set_child_fn): Likewise.
6420 (gimple_omp_task_data_arg): Likewise.
6421 (gimple_omp_task_data_arg_ptr): Likewise.
6422 (gimple_omp_task_set_data_arg): Likewise.
6423 (gimple_omp_taskreg_clauses): Likewise.
6424 (gimple_omp_taskreg_clauses_ptr): Likewise.
6425 (gimple_omp_taskreg_set_clauses): Likewise.
6426 (gimple_omp_taskreg_child_fn): Likewise.
6427 (gimple_omp_taskreg_child_fn_ptr): Likewise.
6428 (gimple_omp_taskreg_set_child_fn): Likewise.
6429 (gimple_omp_taskreg_data_arg): Likewise.
6430 (gimple_omp_taskreg_data_arg_ptr): Likewise.
6431 (gimple_omp_taskreg_set_data_arg): Likewise.
6432 (gimple_omp_task_copy_fn): Likewise.
6433 (gimple_omp_task_copy_fn_ptr): Likewise.
6434 (gimple_omp_task_set_copy_fn): Likewise.
6435 (gimple_omp_task_arg_size): Likewise.
6436 (gimple_omp_task_arg_size_ptr): Likewise.
6437 (gimple_omp_task_set_arg_size): Likewise.
6438 (gimple_omp_task_arg_align): Likewise.
6439 (gimple_omp_task_arg_align_ptr): Likewise.
6440 (gimple_omp_task_set_arg_align): Likewise.
6441 (gimple_omp_single_clauses): Likewise.
6442 (gimple_omp_single_clauses_ptr): Likewise.
6443 (gimple_omp_single_set_clauses): Likewise.
6444 (gimple_omp_target_clauses): Likewise.
6445 (gimple_omp_target_clauses_ptr): Likewise.
6446 (gimple_omp_target_set_clauses): Likewise.
6447 (gimple_omp_target_child_fn): Likewise.
6448 (gimple_omp_target_child_fn_ptr): Likewise.
6449 (gimple_omp_target_set_child_fn): Likewise.
6450 (gimple_omp_target_data_arg): Likewise.
6451 (gimple_omp_target_data_arg_ptr): Likewise.
6452 (gimple_omp_target_set_data_arg): Likewise.
6453 (gimple_omp_teams_clauses): Likewise.
6454 (gimple_omp_teams_clauses_ptr): Likewise.
6455 (gimple_omp_teams_set_clauses): Likewise.
6456 (gimple_omp_sections_clauses): Likewise.
6457 (gimple_omp_sections_clauses_ptr): Likewise.
6458 (gimple_omp_sections_set_clauses): Likewise.
6459 (gimple_omp_sections_control): Likewise.
6460 (gimple_omp_sections_control_ptr): Likewise.
6461 (gimple_omp_sections_set_control): Likewise.
6462 (gimple_omp_for_set_cond): Likewise.
6463 (gimple_omp_for_cond): Likewise.
6464 (gimple_omp_atomic_store_set_val): Likewise.
6465 (gimple_omp_atomic_store_val): Likewise.
6466 (gimple_omp_atomic_store_val_ptr): Likewise.
6467 (gimple_omp_atomic_load_set_lhs): Likewise.
6468 (gimple_omp_atomic_load_lhs): Likewise.
6469 (gimple_omp_atomic_load_lhs_ptr): Likewise.
6470 (gimple_omp_atomic_load_set_rhs): Likewise.
6471 (gimple_omp_atomic_load_rhs): Likewise.
6472 (gimple_omp_atomic_load_rhs_ptr): Likewise.
6473 (gimple_omp_continue_control_def): Likewise.
6474 (gimple_omp_continue_control_def_ptr): Likewise.
6475 (gimple_omp_continue_set_control_def): Likewise.
6476 (gimple_omp_continue_control_use): Likewise.
6477 (gimple_omp_continue_control_use_ptr): Likewise.
6478 (gimple_omp_continue_set_control_use): Likewise.
6479 (gimple_transaction_body_ptr): Likewise.
6480 (gimple_transaction_label): Likewise.
6481 (gimple_transaction_label_ptr): Likewise.
6482 (gimple_transaction_set_body): Likewise.
6483 (gimple_transaction_set_label): Likewise.
6484
6485 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
6486 * ipa-inline-analysis.c (inline_write_summary): Likewise.
6487 * ipa-ref.c (ipa_record_reference): Likewise.
6488 * ipa-reference.c (analyze_function): Likewise.
6489 (ipa_reference_write_optimization_summary): Likewise.
6490 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
6491 (address_taken_from_non_vtable_p): Likewise.
6492 (comdat_can_be_unshared_p_1): Likewise.
6493 * lto-cgraph.c (lto_output_ref): Likewise.
6494 (add_references): Likewise.
6495 (compute_ltrans_boundary): Likewise.
6496 (output_symtab): Likewise.
6497 (input_ref): Likewise.
6498 (input_cgraph_1): Likewise.
6499 (output_cgraph_opt_summary): Likewise.
6500 * lto-streamer-out.c (lto_output): Likewise.
6501 (output_symbol_p): Likewise.
6502 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
6503 (lsei_start_function_in_partition): Likewise.
6504 (lsei_next_variable_in_partition): Likewise.
6505 (lsei_start_variable_in_partition): Likewise.
6506 * symtab.c (insert_to_assembler_name_hash): Likewise.
6507 (unlink_from_assembler_name_hash): Likewise.
6508 (symtab_unregister_node): Likewise.
6509 (symtab_remove_node): Likewise.
6510 (dump_symtab_node): Likewise.
6511 (verify_symtab_base): Likewise.
6512 (verify_symtab_node): Likewise.
6513 (symtab_make_decl_local): Likewise.
6514 (symtab_alias_ultimate_target): Likewise.
6515 (symtab_resolve_alias): Likewise.
6516 (symtab_get_symbol_partitioning_class): Likewise.
6517 * tree-phinodes.c (allocate_phi_node): Likewise.
6518 (reserve_phi_args_for_new_edge): Likewise.
6519 (remove_phi_args): Likewise.
6520 * varpool.c (varpool_node_for_asm): Likewise.
6521 (varpool_remove_unreferenced_decls): Likewise.
6522
9219922e
JL
65232014-04-23 Jeff Law <law@redhat.com>
6524
6525 PR tree-optimization/60902
6526 * tree-ssa-threadedge.c
6527 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
6528 invalidate outputs from statements that do not produce useful
6529 outputs for threading.
6530
b6db8af6 65312014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
6532
6533 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
6534 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
6535 machine descriptions for Stack Smashing Protector.
6536
57b77d46
RE
65372014-04-23 Richard Earnshaw <rearnsha@arm.com>
6538
6539 * aarch64.md (<optab>_rol<mode>3): New pattern.
6540 (<optab>_rolsi3_uxtw): Likewise.
6541 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
6542
984c2f30
JG
65432014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
6544
6545 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
6546 (arm_cortex_a12_tune): Likewise.
6547
18b42b2a
KT
65482014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6549
6550 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
6551
ea1e9168
KT
65522014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6553
6554 * config/arm/arm.md (arm_rev16si2): New pattern.
6555 (arm_rev16si2_alt): Likewise.
6556 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
6557
f7d5cf8d
KT
65582014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6559
b6db8af6
UB
6560 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
6561 (rev16<mode>2_alt): Likewise.
6562 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
6563 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
6564 (aarch_rev16_shleft_mask_imm_p): Likewise.
6565 (aarch_rev16_p_1): Likewise.
6566 (aarch_rev16_p): Likewise.
6567 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
6568 (aarch_rev16_shright_mask_imm_p): Likewise.
6569 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 6570
9ac05ae5
KT
65712014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6572
b6db8af6
UB
6573 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
6574 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
6575 rev cost.
6576 (cortex_a53_extra_costs): Likewise.
6577 (cortex_a57_extra_costs): Likewise.
6578 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
6579 (cortexa7_extra_costs): Likewise.
6580 (cortexa8_extra_costs): Likewise.
6581 (cortexa12_extra_costs): Likewise.
6582 (cortexa15_extra_costs): Likewise.
6583 (v7m_extra_costs): Likewise.
6584 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 6585
e0d8c86c
KT
65862013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6587
b6db8af6
UB
6588 * config/arm/arm.c (cortexa8_extra_costs): New table.
6589 (arm_cortex_a8_tune): New tuning struct.
6590 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 6591
ba9b1a63
KT
65922014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6593
b6db8af6 6594 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 6595
da4cfeac
RB
65962014-04-23 Richard Biener <rguenther@suse.de>
6597
6598 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
6599 * tree-pass.h (make_pass_rtl_unswitch): Remove.
6600 * passes.def (pass_rtl_unswitch): Likewise.
6601 * loop-init.c (gate_rtl_unswitch): Likewise.
6602 (rtl_unswitch): Likewise.
6603 (pass_data_rtl_unswitch): Likewise.
6604 (pass_rtl_unswitch): Likewise.
6605 (make_pass_rtl_unswitch): Likewise.
6606 * rtl.h (reversed_condition): Likewise.
6607 (compare_and_jump_seq): Likewise.
6608 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
6609 and make static.
6610 * loop-unroll.c (compare_and_jump_seq): Likewise.
6611
22718afe
RB
66122014-04-23 Richard Biener <rguenther@suse.de>
6613
6614 PR tree-optimization/60903
6615 * tree-ssa-loop-im.c (analyze_memory_references): Remove
6616 commented code block.
6617 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
6618 loop flags to newly created BBs and edges.
6619
f7961364
NC
66202014-04-23 Nick Clifton <nickc@redhat.com>
6621
6622 * config/msp430/msp430.c (msp430_handle_option): Move function
6623 to msp430-common.c
6624 (msp430_option_override): Simplify mcu and mcpu option handling.
6625 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
6626 support for -mhwmult command line option.
6627 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
6628 -mhwmult command line option.
6629 (msp430_hwmult_enabled): Delete.
b6db8af6 6630 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
6631 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
6632 (umulsidi3): Likewise.
6633 * config/msp430/msp430.opt (mmcu): Add Report attribute.
6634 (mcpu, mlarge, msmall): Likewise.
6635 (mhwmult): New option.
6636 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
6637 prototype.
6638 (msp430_is_f5_mcu): Remove prototype.
6639 (msp430_use_f5_series_hwmult): Add prototype.
6640 * config/msp430/msp430-opts.h: New file.
6641 * common/config/msp430: New directory.
6642 * common/config/msp430/msp430-common.c: New file.
6643 * config.gcc (msp430): Remove target_has_targetm_common.
6644 * doc/invoke.texi: Document -mhwmult command line option.
6645
f70df035
NC
66462014-04-23 Nick Clifton <nickc@redhat.com>
6647
6648 * config/i386/cygwin.h (ENDFILE_SPEC): Include
6649 default-manifest.o if it can be found in the search path.
6650 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
6651
6a9accca
TG
66522014-04-23 Terry Guo <terry.guo@arm.com>
6653
6654 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
6655
62ba699e
RB
66562014-04-23 Richard Biener <rguenther@suse.de>
6657
6658 PR middle-end/60895
6659 * tree-inline.c (declare_return_variable): Use mark_addressable.
6660
92562f88
RB
66612014-04-23 Richard Biener <rguenther@suse.de>
6662
6663 PR middle-end/60891
6664 * loop-init.c (loop_optimizer_init): Make sure to apply
6665 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
6666
1c33c9b7
JJ
66672014-04-22 Jakub Jelinek <jakub@redhat.com>
6668
6669 PR sanitizer/60275
6670 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
6671 New options.
6672 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
6673 if flag_sanitize_undefined_trap_on_error.
6674 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
6675 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
6676 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
6677 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
6678 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
6679 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
6680 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
6681 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
6682 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
6683 * ubsan.c (ubsan_instrument_unreachable): Return
6684 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
6685 (ubsan_expand_null_ifn): Emit __builtin_trap ()
6686 if flag_sanitize_undefined_trap_on_error and
6687 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
6688 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
6689 instrument_bool_enum_load): Emit __builtin_trap () if
6690 flag_sanitize_undefined_trap_on_error and
6691 __builtin_handle_*_abort () if !flag_sanitize_recover.
6692 * doc/invoke.texi (-fsanitize-recover,
6693 -fsanitize-undefined-trap-on-error): Document.
6694
5e66b2e5
CB
66952014-04-22 Christian Bruel <christian.bruel@st.com>
6696
6697 * config/sh/sh.md (mov<mode>): Replace movQIHI.
6698 Force immediates to SImode.
6699
aa221564
SL
67002014-04-22 Sandra Loosemore <sandra@codesourcery.com>
6701
6702 * config/nios2/nios2.md (UNSPEC_ROUND): New.
6703 (lroundsfsi2): New.
6704 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
6705 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
6706 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
6707 (nios2_fpu_insn): Add entry for round.
6708 (N2FPU_NO_ERRNO_P): Define.
6709 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
6710 flag_errno_math.
6711 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
6712
2195867f
RH
67132014-04-22 Richard Henderson <rth@redhat.com>
6714
6715 * config/aarch64/aarch64 (addti3, subti3): New expanders.
6716 (add<GPI>3_compare0): Remove leading * from name.
6717 (add<GPI>3_carryin): Likewise.
6718 (sub<GPI>3_compare0): Likewise.
6719 (sub<GPI>3_carryin): Likewise.
6720 (<su_optab>mulditi3): New expander.
6721 (multi3): New expander.
6722 (madd<GPI>): Remove leading * from name.
6723
c6d43074
MJ
67242014-04-22 Martin Jambor <mjambor@suse.cz>
6725
6726 * cgraphclones.c (cgraph_function_versioning): Copy
6727 ipa_transforms_to_apply instead of asserting it is empty.
6728
e54c2dd3
L
67292014-04-22 H.J. Lu <hongjiu.lu@intel.com>
6730
6731 PR target/60868
f70df035 6732 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
6733 on count_exp to get mode.
6734
621ad2de
AP
67352014-04-22 Andrew Pinski <apinski@cavium.com>
6736
6737 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
6738 Handle TLS for ILP32.
6739 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
6740 (tlsie_small_<mode>): this and handle PTR.
6741 (tlsie_small_sidi): New pattern.
6742 (tlsle_small): Change to an expand to handle ILP32.
6743 (tlsle_small_<mode>): New pattern.
6744 (tlsdesc_small): Rename to ...
6745 (tlsdesc_small_<mode>): this and handle PTR.
6746
5cb74e90
RR
67472014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6748
6749 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
6750
bcd48995
AV
67512014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6752
6753 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6754 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
6755 (aarch64_types_signed_poly_qualifiers): Likewise.
6756 (aarch64_types_unsigned_signed_qualifiers): Likewise.
6757 (aarch64_types_poly_signed_qualifiers): Likewise.
6758 (TYPES_REINTERP_SS): Type macro added.
6759 (TYPES_REINTERP_SU): Likewise.
6760 (TYPES_REINTERP_SP): Likewise.
6761 (TYPES_REINTERP_US): Likewise.
6762 (TYPES_REINTERP_PS): Likewise.
6763 (aarch64_fold_builtin): New expression folding added.
6764 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
6765 Declarations removed.
6766 (REINTERP_SS): Declarations added.
6767 (REINTERP_US): Likewise.
6768 (REINTERP_PS): Likewise.
6769 (REINTERP_SU): Likewise.
6770 (REINTERP_SP): Likewise.
6771 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
6772 (vreinterpretq_p8_f64): Likewise.
6773 (vreinterpret_p16_f64): Likewise.
6774 (vreinterpretq_p16_f64): Likewise.
6775 (vreinterpret_f32_f64): Likewise.
6776 (vreinterpretq_f32_f64): Likewise.
6777 (vreinterpret_f64_f32): Likewise.
6778 (vreinterpret_f64_p8): Likewise.
6779 (vreinterpret_f64_p16): Likewise.
6780 (vreinterpret_f64_s8): Likewise.
6781 (vreinterpret_f64_s16): Likewise.
6782 (vreinterpret_f64_s32): Likewise.
6783 (vreinterpret_f64_s64): Likewise.
6784 (vreinterpret_f64_u8): Likewise.
6785 (vreinterpret_f64_u16): Likewise.
6786 (vreinterpret_f64_u32): Likewise.
6787 (vreinterpret_f64_u64): Likewise.
6788 (vreinterpretq_f64_f32): Likewise.
6789 (vreinterpretq_f64_p8): Likewise.
6790 (vreinterpretq_f64_p16): Likewise.
6791 (vreinterpretq_f64_s8): Likewise.
6792 (vreinterpretq_f64_s16): Likewise.
6793 (vreinterpretq_f64_s32): Likewise.
6794 (vreinterpretq_f64_s64): Likewise.
6795 (vreinterpretq_f64_u8): Likewise.
6796 (vreinterpretq_f64_u16): Likewise.
6797 (vreinterpretq_f64_u32): Likewise.
6798 (vreinterpretq_f64_u64): Likewise.
6799 (vreinterpret_s64_f64): Likewise.
6800 (vreinterpretq_s64_f64): Likewise.
6801 (vreinterpret_u64_f64): Likewise.
6802 (vreinterpretq_u64_f64): Likewise.
6803 (vreinterpret_s8_f64): Likewise.
6804 (vreinterpretq_s8_f64): Likewise.
6805 (vreinterpret_s16_f64): Likewise.
6806 (vreinterpretq_s16_f64): Likewise.
6807 (vreinterpret_s32_f64): Likewise.
6808 (vreinterpretq_s32_f64): Likewise.
6809 (vreinterpret_u8_f64): Likewise.
6810 (vreinterpretq_u8_f64): Likewise.
6811 (vreinterpret_u16_f64): Likewise.
6812 (vreinterpretq_u16_f64): Likewise.
6813 (vreinterpret_u32_f64): Likewise.
6814 (vreinterpretq_u32_f64): Likewise.
6815
0bf3afc1
AV
68162014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6817
6818 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6819 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
6820 (vreinterpret_p8_s8): Likewise.
6821 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
6822 (vreinterpret_p8_s16): Likewise.
6823 (vreinterpret_p8_s32): Likewise.
6824 (vreinterpret_p8_s64): Likewise.
6825 (vreinterpret_p8_f32): Likewise.
6826 (vreinterpret_p8_u8): Likewise.
6827 (vreinterpret_p8_u16): Likewise.
6828 (vreinterpret_p8_u32): Likewise.
6829 (vreinterpret_p8_u64): Likewise.
6830 (vreinterpret_p8_p16): Likewise.
6831 (vreinterpretq_p8_s8): Likewise.
6832 (vreinterpretq_p8_s16): Likewise.
6833 (vreinterpretq_p8_s32): Likewise.
6834 (vreinterpretq_p8_s64): Likewise.
6835 (vreinterpretq_p8_f32): Likewise.
6836 (vreinterpretq_p8_u8): Likewise.
6837 (vreinterpretq_p8_u16): Likewise.
6838 (vreinterpretq_p8_u32): Likewise.
6839 (vreinterpretq_p8_u64): Likewise.
6840 (vreinterpretq_p8_p16): Likewise.
6841 (vreinterpret_p16_s8): Likewise.
6842 (vreinterpret_p16_s16): Likewise.
6843 (vreinterpret_p16_s32): Likewise.
6844 (vreinterpret_p16_s64): Likewise.
6845 (vreinterpret_p16_f32): Likewise.
6846 (vreinterpret_p16_u8): Likewise.
6847 (vreinterpret_p16_u16): Likewise.
6848 (vreinterpret_p16_u32): Likewise.
6849 (vreinterpret_p16_u64): Likewise.
6850 (vreinterpret_p16_p8): Likewise.
6851 (vreinterpretq_p16_s8): Likewise.
6852 (vreinterpretq_p16_s16): Likewise.
6853 (vreinterpretq_p16_s32): Likewise.
6854 (vreinterpretq_p16_s64): Likewise.
6855 (vreinterpretq_p16_f32): Likewise.
6856 (vreinterpretq_p16_u8): Likewise.
6857 (vreinterpretq_p16_u16): Likewise.
6858 (vreinterpretq_p16_u32): Likewise.
6859 (vreinterpretq_p16_u64): Likewise.
6860 (vreinterpretq_p16_p8): Likewise.
6861 (vreinterpret_f32_s8): Likewise.
6862 (vreinterpret_f32_s16): Likewise.
6863 (vreinterpret_f32_s32): Likewise.
6864 (vreinterpret_f32_s64): Likewise.
6865 (vreinterpret_f32_u8): Likewise.
6866 (vreinterpret_f32_u16): Likewise.
6867 (vreinterpret_f32_u32): Likewise.
6868 (vreinterpret_f32_u64): Likewise.
6869 (vreinterpret_f32_p8): Likewise.
6870 (vreinterpret_f32_p16): Likewise.
6871 (vreinterpretq_f32_s8): Likewise.
6872 (vreinterpretq_f32_s16): Likewise.
6873 (vreinterpretq_f32_s32): Likewise.
6874 (vreinterpretq_f32_s64): Likewise.
6875 (vreinterpretq_f32_u8): Likewise.
6876 (vreinterpretq_f32_u16): Likewise.
6877 (vreinterpretq_f32_u32): Likewise.
6878 (vreinterpretq_f32_u64): Likewise.
6879 (vreinterpretq_f32_p8): Likewise.
6880 (vreinterpretq_f32_p16): Likewise.
6881 (vreinterpret_s64_s8): Likewise.
6882 (vreinterpret_s64_s16): Likewise.
6883 (vreinterpret_s64_s32): Likewise.
6884 (vreinterpret_s64_f32): Likewise.
6885 (vreinterpret_s64_u8): Likewise.
6886 (vreinterpret_s64_u16): Likewise.
6887 (vreinterpret_s64_u32): Likewise.
6888 (vreinterpret_s64_u64): Likewise.
6889 (vreinterpret_s64_p8): Likewise.
6890 (vreinterpret_s64_p16): Likewise.
6891 (vreinterpretq_s64_s8): Likewise.
6892 (vreinterpretq_s64_s16): Likewise.
6893 (vreinterpretq_s64_s32): Likewise.
6894 (vreinterpretq_s64_f32): Likewise.
6895 (vreinterpretq_s64_u8): Likewise.
6896 (vreinterpretq_s64_u16): Likewise.
6897 (vreinterpretq_s64_u32): Likewise.
6898 (vreinterpretq_s64_u64): Likewise.
6899 (vreinterpretq_s64_p8): Likewise.
6900 (vreinterpretq_s64_p16): Likewise.
6901 (vreinterpret_u64_s8): Likewise.
6902 (vreinterpret_u64_s16): Likewise.
6903 (vreinterpret_u64_s32): Likewise.
6904 (vreinterpret_u64_s64): Likewise.
6905 (vreinterpret_u64_f32): Likewise.
6906 (vreinterpret_u64_u8): Likewise.
6907 (vreinterpret_u64_u16): Likewise.
6908 (vreinterpret_u64_u32): Likewise.
6909 (vreinterpret_u64_p8): Likewise.
6910 (vreinterpret_u64_p16): Likewise.
6911 (vreinterpretq_u64_s8): Likewise.
6912 (vreinterpretq_u64_s16): Likewise.
6913 (vreinterpretq_u64_s32): Likewise.
6914 (vreinterpretq_u64_s64): Likewise.
6915 (vreinterpretq_u64_f32): Likewise.
6916 (vreinterpretq_u64_u8): Likewise.
6917 (vreinterpretq_u64_u16): Likewise.
6918 (vreinterpretq_u64_u32): Likewise.
6919 (vreinterpretq_u64_p8): Likewise.
6920 (vreinterpretq_u64_p16): Likewise.
6921 (vreinterpret_s8_s16): Likewise.
6922 (vreinterpret_s8_s32): Likewise.
6923 (vreinterpret_s8_s64): Likewise.
6924 (vreinterpret_s8_f32): Likewise.
6925 (vreinterpret_s8_u8): Likewise.
6926 (vreinterpret_s8_u16): Likewise.
6927 (vreinterpret_s8_u32): Likewise.
6928 (vreinterpret_s8_u64): Likewise.
6929 (vreinterpret_s8_p8): Likewise.
6930 (vreinterpret_s8_p16): Likewise.
6931 (vreinterpretq_s8_s16): Likewise.
6932 (vreinterpretq_s8_s32): Likewise.
6933 (vreinterpretq_s8_s64): Likewise.
6934 (vreinterpretq_s8_f32): Likewise.
6935 (vreinterpretq_s8_u8): Likewise.
6936 (vreinterpretq_s8_u16): Likewise.
6937 (vreinterpretq_s8_u32): Likewise.
6938 (vreinterpretq_s8_u64): Likewise.
6939 (vreinterpretq_s8_p8): Likewise.
6940 (vreinterpretq_s8_p16): Likewise.
6941 (vreinterpret_s16_s8): Likewise.
6942 (vreinterpret_s16_s32): Likewise.
6943 (vreinterpret_s16_s64): Likewise.
6944 (vreinterpret_s16_f32): Likewise.
6945 (vreinterpret_s16_u8): Likewise.
6946 (vreinterpret_s16_u16): Likewise.
6947 (vreinterpret_s16_u32): Likewise.
6948 (vreinterpret_s16_u64): Likewise.
6949 (vreinterpret_s16_p8): Likewise.
6950 (vreinterpret_s16_p16): Likewise.
6951 (vreinterpretq_s16_s8): Likewise.
6952 (vreinterpretq_s16_s32): Likewise.
6953 (vreinterpretq_s16_s64): Likewise.
6954 (vreinterpretq_s16_f32): Likewise.
6955 (vreinterpretq_s16_u8): Likewise.
6956 (vreinterpretq_s16_u16): Likewise.
6957 (vreinterpretq_s16_u32): Likewise.
6958 (vreinterpretq_s16_u64): Likewise.
6959 (vreinterpretq_s16_p8): Likewise.
6960 (vreinterpretq_s16_p16): Likewise.
6961 (vreinterpret_s32_s8): Likewise.
6962 (vreinterpret_s32_s16): Likewise.
6963 (vreinterpret_s32_s64): Likewise.
6964 (vreinterpret_s32_f32): Likewise.
6965 (vreinterpret_s32_u8): Likewise.
6966 (vreinterpret_s32_u16): Likewise.
6967 (vreinterpret_s32_u32): Likewise.
6968 (vreinterpret_s32_u64): Likewise.
6969 (vreinterpret_s32_p8): Likewise.
6970 (vreinterpret_s32_p16): Likewise.
6971 (vreinterpretq_s32_s8): Likewise.
6972 (vreinterpretq_s32_s16): Likewise.
6973 (vreinterpretq_s32_s64): Likewise.
6974 (vreinterpretq_s32_f32): Likewise.
6975 (vreinterpretq_s32_u8): Likewise.
6976 (vreinterpretq_s32_u16): Likewise.
6977 (vreinterpretq_s32_u32): Likewise.
6978 (vreinterpretq_s32_u64): Likewise.
6979 (vreinterpretq_s32_p8): Likewise.
6980 (vreinterpretq_s32_p16): Likewise.
6981 (vreinterpret_u8_s8): Likewise.
6982 (vreinterpret_u8_s16): Likewise.
6983 (vreinterpret_u8_s32): Likewise.
6984 (vreinterpret_u8_s64): Likewise.
6985 (vreinterpret_u8_f32): Likewise.
6986 (vreinterpret_u8_u16): Likewise.
6987 (vreinterpret_u8_u32): Likewise.
6988 (vreinterpret_u8_u64): Likewise.
6989 (vreinterpret_u8_p8): Likewise.
6990 (vreinterpret_u8_p16): Likewise.
6991 (vreinterpretq_u8_s8): Likewise.
6992 (vreinterpretq_u8_s16): Likewise.
6993 (vreinterpretq_u8_s32): Likewise.
6994 (vreinterpretq_u8_s64): Likewise.
6995 (vreinterpretq_u8_f32): Likewise.
6996 (vreinterpretq_u8_u16): Likewise.
6997 (vreinterpretq_u8_u32): Likewise.
6998 (vreinterpretq_u8_u64): Likewise.
6999 (vreinterpretq_u8_p8): Likewise.
7000 (vreinterpretq_u8_p16): Likewise.
7001 (vreinterpret_u16_s8): Likewise.
7002 (vreinterpret_u16_s16): Likewise.
7003 (vreinterpret_u16_s32): Likewise.
7004 (vreinterpret_u16_s64): Likewise.
7005 (vreinterpret_u16_f32): Likewise.
7006 (vreinterpret_u16_u8): Likewise.
7007 (vreinterpret_u16_u32): Likewise.
7008 (vreinterpret_u16_u64): Likewise.
7009 (vreinterpret_u16_p8): Likewise.
7010 (vreinterpret_u16_p16): Likewise.
7011 (vreinterpretq_u16_s8): Likewise.
7012 (vreinterpretq_u16_s16): Likewise.
7013 (vreinterpretq_u16_s32): Likewise.
7014 (vreinterpretq_u16_s64): Likewise.
7015 (vreinterpretq_u16_f32): Likewise.
7016 (vreinterpretq_u16_u8): Likewise.
7017 (vreinterpretq_u16_u32): Likewise.
7018 (vreinterpretq_u16_u64): Likewise.
7019 (vreinterpretq_u16_p8): Likewise.
7020 (vreinterpretq_u16_p16): Likewise.
7021 (vreinterpret_u32_s8): Likewise.
7022 (vreinterpret_u32_s16): Likewise.
7023 (vreinterpret_u32_s32): Likewise.
7024 (vreinterpret_u32_s64): Likewise.
7025 (vreinterpret_u32_f32): Likewise.
7026 (vreinterpret_u32_u8): Likewise.
7027 (vreinterpret_u32_u16): Likewise.
7028 (vreinterpret_u32_u64): Likewise.
7029 (vreinterpret_u32_p8): Likewise.
7030 (vreinterpret_u32_p16): Likewise.
7031 (vreinterpretq_u32_s8): Likewise.
7032 (vreinterpretq_u32_s16): Likewise.
7033 (vreinterpretq_u32_s32): Likewise.
7034 (vreinterpretq_u32_s64): Likewise.
7035 (vreinterpretq_u32_f32): Likewise.
7036 (vreinterpretq_u32_u8): Likewise.
7037 (vreinterpretq_u32_u16): Likewise.
7038 (vreinterpretq_u32_u64): Likewise.
7039 (vreinterpretq_u32_p8): Likewise.
7040 (vreinterpretq_u32_p16): Likewise.
7041
9551c7ec
AV
70422014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7043
7044 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
7045 Pattern extended.
b6db8af6 7046 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
7047 (sqabs): Likewise.
7048 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
7049 (vqnegd_s64): Likewise.
7050 (vqabs_s64): Likewise.
7051 (vqabsd_s64): Likewise.
7052
f2a2c4b5
RH
70532014-04-22 Richard Henderson <rth@redhat.com>
7054
7055 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
7056 computation to the top of the loop.
7057
53e5ace2
RL
70582014-04-22 Renlin <renlin.li@arm.com>
7059 Jiong Wang <jiong.wang@arm.com>
7060
7061 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
7062 * config/aarch64/aarch64.c (aarch64_layout_frame)
7063 (aarch64_initial_elimination_offset): Likewise.
7064
78c29983
MS
70652014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
7066
7067 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
7068 Fix indentation.
7069
dbf23a79
RS
70702014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
7071
7072 * machmode.h (bitwise_mode_for_mode): Declare.
7073 * stor-layout.h (bitwise_type_for_mode): Likewise.
7074 * stor-layout.c (bitwise_mode_for_mode): New function.
7075 (bitwise_type_for_mode): Likewise.
7076 * builtins.c (fold_builtin_memory_op): Use it instead of
7077 int_mode_for_mode and build_nonstandard_integer_type.
7078
d9f069ab
RO
70792014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7080
7081 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
7082 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
7083 (*-*-solaris2*): Simplify.
7084 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
7085 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
7086 *-*-solaris2.9* handling.
7087
7088 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
7089 as bug.
7090 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
7091 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
7092 handling, simplify.
7093 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
7094 * configure: Regenerate.
7095
7096 * config/i386/sol2-9.h: Remove.
7097
7098 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
7099 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
7100 Remove Solaris 9 references.
7101
0d35c5c2
VP
71022014-04-22 Vidya Praveen <vidyapraveen@arm.com>
7103
7104 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
7105 (floatuns<GPI:mode><GPF:mode>2): Remove.
7106 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
7107 and floatuns conversions.
7108 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
7109 and floatuns conversions.
7110 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
7111 (w1,w2): New mode attributes for inequal width conversions.
7112
16a3246f
RL
71132014-04-22 Renlin Li <Renlin.Li@arm.com>
7114
7115 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
7116 the output asm format.
7117
110e1ccc
JG
71182014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
7119
7120 * config/aarch64/aarch64-simd.md
7121 (aarch64_cm<optab>di): Always split.
7122 (*aarch64_cm<optab>di): New.
7123 (aarch64_cmtstdi): Always split.
7124 (*aarch64_cmtstdi): New.
7125
2044a4c3
JJ
71262014-04-22 Jakub Jelinek <jakub@redhat.com>
7127
7128 PR tree-optimization/60823
7129 * omp-low.c (ipa_simd_modify_function_body): Go through
7130 all SSA_NAMEs and for those refering to vector arguments
7131 which are going to be replaced adjust SSA_NAME_VAR and,
7132 if it is a default definition, change it into a non-default
7133 definition assigned at the beginning of function from new_decl.
7134 (ipa_simd_modify_stmt_ops): Rewritten.
7135 * tree-dfa.c (set_ssa_default_def): When removing default def,
7136 check for NULL loc instead of NULL *loc.
7137
9d8b4d1c
RR
71382014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7139
7140 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
7141 restrictions on core registers for DImode values in Thumb2.
7142
a01be1ae
IB
71432014-04-22 Ian Bolton <ian.bolton@arm.com>
7144
7145 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
7146 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
7147
80d3417b
IB
71482014-04-22 Ian Bolton <ian.bolton@arm.com>
7149
7150 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
7151 (*iordi_notzesidi_di): Likewise.
7152 (*iordi_notsesidi_di): Likewise.
7153
46fbb3eb
IB
71542014-04-22 Ian Bolton <ian.bolton@arm.com>
7155
7156 * config/arm/arm-protos.h (tune_params): New struct members.
7157 * config/arm/arm.c: Initialise tune_params per processor.
7158 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
7159 for speed, based on new tune_params.
7160
74dc11ed
AV
71612014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7162
b6db8af6
UB
7163 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
7164 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
7165 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
7166 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
7167 * config/aarch64/arm_neon.h (vrnd_f64): Added.
7168 (vrnda_f64): Likewise.
7169 (vrndi_f64): Likewise.
7170 (vrndm_f64): Likewise.
7171 (vrndn_f64): Likewise.
7172 (vrndp_f64): Likewise.
7173 (vrndx_f64): Likewise.
7174
35923e46
ZC
71752014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
7176
7177 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
7178 GET_MODE_SIZE argument is enum machine_mode.
7179
4552e70c
JJ
71802014-04-22 Jakub Jelinek <jakub@redhat.com>
7181
7182 PR target/60910
7183 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
7184 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
7185
e5dcd695
LZ
71862014-04-22 Lin Zuojian <manjian2006@gmail.com>
7187
7188 PR middle-end/60281
7189 * asan.c (asan_emit_stack_protection): Force the base to align to
7190 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
7191 appropriate bits if STRICT_ALIGNMENT.
7192 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
7193 when asan is on.
7194 (expand_used_vars): Leave a space in the stack frame for alignment
7195 if STRICT_ALIGNMENT.
7196
7455080c
DM
71972014-04-21 David Malcolm <dmalcolm@redhat.com>
7198
7199 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
7200 than a gimple.
7201 (gimple_store_p): Likewise.
7202 (gimple_assign_load_p): Likewise.
7203 (gimple_assign_cast_p): Likewise.
7204 (gimple_clobber_p): Likewise.
7205
7206 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
7207 rather than a gimple.
7208 (gimple_assign_cast_p): Likewise.
7209
aeb9579a
MM
72102014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
7211
7212 PR target/60735
7213 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
7214 If mode is DDmode and TARGET_E500_DOUBLE allow move.
7215
7216 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
7217 more debug information for E500 if -mdebug=reg.
7218
b15d92bf
UB
72192014-04-21 Uros Bizjak <ubizjak@gmail.com>
7220
7221 PR target/60909
7222 * config/i386/i386.c (ix86_expand_builtin)
7223 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
7224 register for target RTX.
7225 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
7226
d367387c
CH
72272014-04-18 Cong Hou <congh@google.com>
7228
7229 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
7230 the widen-mult pattern by handling two operands with different sizes,
7231 and operands whose size is smaller than half of the result type.
d367387c 7232
b6d627e4
JH
72332014-04-18 Jan Hubicka <hubicka@ucw.cz>
7234
7235 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
7236 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
7237 (do_estimate_edge_time): Compute it.
7238 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 7239 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 7240
e86a910f
JH
72412014-04-18 Jan Hubicka <hubicka@ucw.cz>
7242
7243 * ipa-inline.c (spec_rem): New static variable.
7244 (dump_overall_stats): New function.
7245 (dump_inline_stats): New function.
7246
8a3a7e67
RH
72472014-04-18 Richard Henderson <rth@redhat.com>
7248
7249 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
7250 to GET_MODE_SIZE, not a reg_class_t.
7251
ed79f4d0
BS
72522014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7253
b15d92bf 7254 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
7255 (vsx_xxmrglw_<mode>): Likewise.
7256
fe799eea
MM
72572014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
7258
7259 PR target/60876
7260 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 7261 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
7262 (rs6000_init_hard_regno_mode_ok): Likewise.
7263
5e750dc6
JH
72642014-04-17 Jan Hubicka <hubicka@ucw.cz>
7265
7266 * ipa-inline.c (inline_small_functions): Account only non-cold
7267 functions.
7268 * doc/invoke.texi (inline-unit-growth): Update documentation.
7269
32337f10
PH
72702014-04-17 Pat Haugen <pthaugen@us.ibm.com>
7271
7272 * config/rs6000/rs6000.md (addti3, subti3): New.
7273
40ed344a
L
72742014-04-17 H.J. Lu <hongjiu.lu@intel.com>
7275
7276 PR target/60863
7277 * config/i386/i386.c (ix86_expand_clear): Remove outdated
7278 comment. Check optimize_insn_for_size_p instead of
7279 optimize_insn_for_speed_p.
7280
104cb50b
MJ
72812014-04-17 Martin Jambor <mjambor@suse.cz>
7282
7283 * gimple-iterator.c (gsi_start_edge): New function.
7284 * gimple-iterator.h (gsi_start_edge): Declare.
7285 * tree-sra.c (single_non_eh_succ): New function.
7286 (disqualify_ops_if_throwing_stmt): Renamed to
7287 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
7288 having one non-EH successor BB.
7289 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
7290 generate loads into replacements.
7291 (sra_modify_assign): Likewise and and also use the simple path for
7292 such statements.
7293 (sra_modify_function_body): Commit statements on edges.
7294
b94970bc
RB
72952014-04-17 Richard Biener <rguenther@suse.de>
7296
7297 PR middle-end/60849
7298 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
7299 comparison results and add clarifying comment.
7300
92f0f3ec
JJ
73012014-04-17 Jakub Jelinek <jakub@redhat.com>
7302
7303 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
7304 (blank_mode): Initialize it.
7305 (emit_mode_size_inline, emit_mode_nunits_inline,
7306 emit_mode_inner_inline): New functions.
7307 (emit_insn_modes_h): Call them and surround their output with
7308 #if GCC_VERSION >= 4001 ... #endif.
7309 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
7310 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
7311 mode_* arrays if the argument is __builtin_constant_p.
7312 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
7313 is enum machine_mode.
7314
be55bfe6
TS
73152014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7316
7317 * passes.c (opt_pass::execute): Adjust.
7318 (pass_manager::execute_pass_mode_switching): Likewise.
7319 (early_local_passes::execute): Likewise.
7320 (execute_one_pass): Pass cfun to the pass's execute method.
7321 * tree-pass.h (opt_pass::execute): Add function * argument.
7322 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
7323 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
7324 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
7325 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7326 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
7327 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
7328 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
7329 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
7330 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
7331 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
7332 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
7333 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
7334 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
7335 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
7336 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
7337 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
7338 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
7339 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
7340 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
7341 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7342 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7343 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7344 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7345 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7346 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7347 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7348 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
7349 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
7350 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
7351 Adjust.
7352
1a3d085c
TS
73532014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7354
7355 * passes.c (opt_pass::gate): Take function * argument.
7356 (gate_all_early_local_passes): Merge into
7357 (early_local_passes::gate): this.
7358 (gate_all_early_optimizations): Merge into
7359 (all_early_optimizations::gate): this.
7360 (gate_all_optimizations): Mege into
7361 (all_optimizations::gate): this.
7362 (gate_all_optimizations_g): Merge into
7363 (all_optimizations_g::gate): this.
7364 (gate_rest_of_compilation): Mege into
7365 (rest_of_compilation::gate): this.
7366 (gate_postreload): Merge into
7367 (postreload::gate): this.
7368 (dump_one_pass): Pass cfun to the pass's gate method.
7369 (execute_ipa_summary_passes): Likewise.
7370 (execute_one_pass): Likewise.
7371 (ipa_write_summaries_2): Likewise.
7372 (ipa_write_optimization_summaries_1): Likewise.
7373 (ipa_read_summaries_1): Likewise.
7374 (ipa_read_optimization_summaries_1): Likewise.
7375 (execute_ipa_stmt_fixups): Likewise.
7376 * tree-pass.h (opt_pass::gate): Add function * argument.
7377 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
7378 combine-stack-adj.c, combine.c, compare-elim.c,
7379 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7380 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
7381 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
7382 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
7383 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
7384 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
7385 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
7386 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
7387 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
7388 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
7389 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
7390 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
7391 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
7392 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
7393 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
7394 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7395 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7396 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7397 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7398 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7399 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7400 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7401 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
7402 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
7403 var-tracking.c, vtable-verify.c, web.c: Adjust.
7404
45887209
TS
74052014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7406
7407 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
7408 * configure: Regenerate.
7409
0481253d 74102014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 7411
0481253d
TS
7412 * passes.c (dump_one_pass): don't check pass->has_gate.
7413 (execute_ipa_summary_passes): Likewise.
7414 (execute_one_pass): Likewise.
7415 (ipa_write_summaries_2): Likewise.
7416 (ipa_write_optimization_summaries_1): Likewise.
7417 (ipa_read_optimization_summaries_1): Likewise.
7418 (execute_ipa_stmt_fixups): Likewise.
7419 * tree-pass.h (pass_data::has_gate): Remove.
7420 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
7421 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
7422 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
7423 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7424 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
7425 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
7426 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
7427 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
7428 gimple-low.c, gimple-ssa-isolate-paths.c,
7429 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
7430 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
7431 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
7432 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
7433 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
7434 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
7435 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
7436 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
7437 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
7438 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
7439 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
7440 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
7441 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7442 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7443 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7444 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7445 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7446 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7447 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7448 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
7449 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
7450 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
7451 Adjust.
7452
a23c217d
TS
74532014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7454
b15d92bf
UB
7455 * pass_manager.h (pass_manager::register_dump_files_1): Remove
7456 declaration.
a23c217d
TS
7457 * passes.c (pass_manager::register_dump_files_1): Merge into
7458 (pass_manager::register_dump_files): this, and remove its handling of
7459 properties since the pass always has the properties anyway.
7460 (pass_manager::pass_manager): Adjust.
7461
0cd11b40
TS
74622014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7463
7464 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
7465 * passes.c (pass_manager::register_dump_files_1): Remove dead code
7466 dealing with properties.
7467 (pass_manager::register_dump_files): Adjust.
7468
79896351
MW
74692014-03-20 Mark Wielaard <mjw@redhat.com>
7470
7471 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
7472 then represent the bound as normal constant value.
7473
5a65129e
JJ
74742014-04-17 Jakub Jelinek <jakub@redhat.com>
7475
7476 PR target/60847
7477 Forward port from 4.8 branch
7478 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
7479
7480 * config/i386/bmiintrin.h (_blsi_u32): New.
7481 (_blsi_u64): Ditto.
7482 (_blsr_u32): Ditto.
7483 (_blsr_u64): Ditto.
7484 (_blsmsk_u32): Ditto.
7485 (_blsmsk_u64): Ditto.
7486 (_tzcnt_u32): Ditto.
7487 (_tzcnt_u64): Ditto.
7488
59b266b1
KC
74892014-04-17 Kito Cheng <kito@0xlab.org>
7490
7491 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
7492
83ad208e
RB
74932014-04-17 Richard Biener <rguenther@suse.de>
7494
7495 PR middle-end/60849
7496 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
7497 boolean results for comparisons.
7498
730e78b0
RB
74992014-04-17 Richard Biener <rguenther@suse.de>
7500
7501 PR tree-optimization/60836
7502 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
7503 initial PHI args to be gimple values.
7504
40c0a159 75052014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
7506
7507 PR tree-optimization/60841
7508 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
7509 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
7510 of stmts to SLP build.
7511 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
7512 (vect_analyze_slp): Likewise.
7513 (vect_analyze_slp_instance): Likewise.
7514 (vect_build_slp_tree): Limit overall SLP tree growth.
7515 * tree-vectorizer.h (vect_analyze_data_refs,
7516 vect_analyze_slp): Adjust prototypes.
7517
170c1776
ES
75182014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7519
7520 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
7521 Silvermont.
7522
a4ef7f3e
ES
75232014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7524
7525 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
7526 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
7527 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
7528 for TARGET_SLOW_PSHUFB
7529
cf055f6e
ES
75302014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7531
7532 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
7533 * config/i386/i386.c (intel_cost): Ditto.
7534
eeee2277
JY
75352014-04-17 Joey Ye <joey.ye@arm.com>
7536
7537 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
7538
1c58fe29
JH
75392014-04-16 Jan Hubicka <hubicka@ucw.cz>
7540
7541 * opts.c (common_handle_option): Disable -fipa-reference coorectly
7542 with -fuse-profile.
7543
2d1644bf
JH
75442014-04-16 Jan Hubicka <hubicka@ucw.cz>
7545
7546 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
7547 (type_all_derivations_known_p): New predicate.
7548 (type_all_ctors_visible_p): New predicate.
7549 (type_possibly_instantiated_p): New predicate.
7550 (get_odr_type): Compute all_derivations_known.
7551 (dump_odr_type): Dump the flag.
7552 (maybe_record_type): Cleanup.
7553 (record_target_from_binfo): Add bases_to_consider array;
7554 record bases for types w/o instances and skip CXX destructor.
7555 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 7556 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
7557 (get_polymorphic_call_info): Set maybe_in_construction to true
7558 when we know nothing.
7559 (record_targets_from_bases): Skip CXX destructors; they are
7560 never called for types in construction.
7561 (possible_polymorphic_call_targets): Do not record target when
7562 type may not have instance.
7563
789c2741
JH
75642014-04-16 Jan Hubicka <hubicka@ucw.cz>
7565
7566 PR ipa/60854
7567 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
7568 external aliases alive, too.
7569
9950a4f2
AP
75702014-04-16 Andrew Pinski <apinski@cavium.com>
7571
7572 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 7573 definition.
9950a4f2 7574
82b9c015
EB
75752014-04-16 Eric Botcazou <ebotcazou@adacore.com>
7576
7577 * final.c (compute_alignments): Do not apply loop alignment to a block
7578 falling through to the exit.
7579
d2dfaca3
CM
75802014-04-16 Catherine Moore <clm@codesourcery.com>
7581
7582 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
7583 Adjust constraints for microMIPS store patterns.
7584
10353a79
PS
75852014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
7586
7587 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
7588
61c7fb30
EB
75892014-04-16 Eric Botcazou <ebotcazou@adacore.com>
7590
7591 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
7592 (append_use): Run at -O0.
7593 (append_vdef): Likewise.
7594 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
7595 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
7596
42fae17c
JJ
75972014-04-16 Jakub Jelinek <jakub@redhat.com>
7598
7599 PR tree-optimization/60844
7600 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
7601 (propagate_op_to_single_use, remove_visited_stmt_chain,
7602 linearize_expr, repropagate_negates, reassociate_bb): Use it
7603 instead of gsi_remove.
7604
ca860d03
MJ
76052014-04-16 Martin Jambor <mjambor@suse.cz>
7606
7607 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
7608 ipa_transforms_to_apply.
7609 (cgraph_function_versioning): Assert that old_node has empty
7610 ipa_transforms_to_apply.
7611 * trans-mem.c (ipa_tm_create_version): Likewise.
7612 * tree-inline.c (tree_function_versioning): Do not duplicate
7613 ipa_transforms_to_apply.
7614
fe4e71e4
RO
76152014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7616
7617 PR target/60817
7618 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
7619 x86_64-*-* cases.
7620 Pass necessary as flags on 64-bit Solaris/x86.
7621 Use lowercase relocs for x86_64-*-*.
7622 * configure: Regenerate.
7623
ccb05ef2
JH
76242014-04-15 Jan Hubicka <jh@suse.cz>
7625
7626 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
7627 (maybe_record_node, likely_target_p): Use it.
7628
dfe449d1
BS
76292014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7630
7631 PR target/60839
7632 Revert following patch
7633
7634 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
7635
7636 PR target/60735
7637 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
7638 software floating point or no floating point registers, do not
7639 allow any type in the FPRs. Eliminate a test for SPE SIMD types
7640 in GPRs that occurs after we tested for GPRs that would never be
7641 true.
7642
7643 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
7644 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
7645 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
7646 specifically allow DDmode, since that does not use the SPE SIMD
7647 instructions.
7648
25dce5c6
MW
76492014-03-21 Mark Wielaard <mjw@redhat.com>
7650
7651 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
7652 as unsigned or int depending on type and value used.
7653
8d3c076f
RB
76542014-04-15 Richard Biener <rguenther@suse.de>
7655
7656 PR rtl-optimization/56965
7657 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
7658 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
7659 ... here.
7660 * alias.c (true_dependence_1): Do not call
7661 nonoverlapping_component_refs_p.
7662 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
7663 nonoverlapping_component_refs_p.
7664 (indirect_refs_may_alias_p): Likewise.
7665
d00e4baa
TJ
76662014-04-15 Teresa Johnson <tejohnson@google.com>
7667
7668 * cfg.c (dump_bb_info): Fix flags check.
7669 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
7670
98a2fdfb
KT
76712014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7672
7673 PR rtl-optimization/60663
7674 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
7675 avoid 0 cost.
7676
b9ed2c2c
RB
76772014-04-15 Richard Biener <rguenther@suse.de>
7678
7679 * lto-streamer.h (LTO_major_version): Bump to 4.
7680
783dab6b
RB
76812014-04-15 Richard Biener <rguenther@suse.de>
7682
7683 * common.opt (lto_partition_model): New enum.
7684 (flto-partition=): Merge separate options with a single with argument,
7685 add -flto-partition=one support.
7686 * flag-types.h (enum lto_partition_model): Declare.
7687 * opts.c (finish_options): Remove duplicate -flto-partition=
7688 option check.
7689 * lto-wrapper.c (run_gcc): Adjust.
7690
d8e4ce6d
RB
76912014-04-15 Richard Biener <rguenther@suse.de>
7692
7693 * alias.c (ncr_compar): New function.
7694 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
7695
1999fd7d
RB
76962014-04-15 Richard Biener <rguenther@suse.de>
7697
7698 * alias.c (record_component_aliases): Do not walk BINFOs.
7699
628169e0
RB
77002014-04-15 Richard Biener <rguenther@suse.de>
7701
7702 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7703 Add struct function argument and adjust.
7704 (find_func_aliases_for_call): Likewise.
7705 (find_func_aliases): Likewise.
7706 (find_func_clobbers): Likewise.
7707 (intra_create_variable_infos): Likewise.
7708 (compute_points_to_sets): Likewise.
7709 (ipa_pta_execute): Adjust. Do not push/pop cfun.
7710
349e6210
RB
77112014-04-15 Richard Biener <rguenther@suse.de>
7712
7713 * tree.c (iterative_hash_expr): Use enum tree_code_class
7714 to store TREE_CODE_CLASS.
7715 (tree_block): Likewise.
7716 (tree_set_block): Likewise.
7717 * tree.h (fold_build_pointer_plus_loc): Use
7718 convert_to_ptrofftype_loc.
7719
4f0ddb6f
JJ
77202014-04-15 Jakub Jelinek <jakub@redhat.com>
7721
7722 PR plugins/59335
7723 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
7724 added in 4.9.
7725
718c4601
EB
77262014-04-15 Eric Botcazou <ebotcazou@adacore.com>
7727
7728 * cfgloop.h (struct loop): Move force_vectorize down.
7729 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
7730 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
7731 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
7732 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
7733 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
7734 * tree-core.h (enum annot_expr_kind): Add new kind values.
7735 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
7736 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
7737 kinds.
7738 * tree.def (ANNOTATE_EXPR): Tweak comment.
7739
88f592e3
JH
77402014-04-14 Jan Hubicka <hubicka@ucw.cz>
7741
7742 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
7743 cxa_pure_virtual).
7744
9dba4b55
PC
77452014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
7746
7747 * tree.h (TYPE_IDENTIFIER): Declare.
7748 * tree.c (subrange_type_for_debug_p): Use it.
7749 * godump.c (go_format_type): Likewise.
7750 * dwarf2out.c (is_cxx_auto, modified_type_die,
7751 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
7752 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
7753
40c0a159 77542014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
7755
7756 PR lto/60820
7757 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
7758
e0a81db1
UB
77592014-04-14 Uros Bizjak <ubizjak@gmail.com>
7760
7761 * config/i386/i386.c (examine_argument): Return bool. Return true if
7762 parameter should be passed in memory.
7763 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
7764 (construct_container): Update calls to examine_argument.
7765 (function_arg_advance_64): Ditto.
7766 (return_in_memory_32): Merge with ix86_return_in_memory.
7767 (return_in_memory_64): Ditto.
7768 (return_in_memory_ms_64): Ditto.
7769
cb90235d
JH
77702014-04-14 Jan Hubicka <hubicka@ucw.cz>
7771
7772 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
7773 * coverage.c (coverage_compute_profile_id): Handle externally visible
7774 symbols.
7775
7b3b340e
MJ
77762014-04-14 Martin Jambor <mjambor@suse.cz>
7777
7778 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
7779 DECL_DISREGARD_INLINE_LIMITS functions.
7780
2ed3b4ee
L
77812014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7782
7783 PR target/60827
e0a81db1 7784 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 7785
10fa463f
L
77862014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7787
7788 PR target/60827
7789 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
7790 optimize_insn_for_speed_p instead of
7791 optimize_function_for_speed_p.
7792
b621e875
YZ
77932014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
7794
7795 * doc/invoke.texi (free): Document AArch64.
7796
cddaefa3
RB
77972014-04-14 Richard Biener <rguenther@suse.de>
7798
7799 PR tree-optimization/60042
7800 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
7801 (insert_into_preds_of_block): Do not prevent PHI insertion
7802 for REFERENCE exprs here ...
7803 (eliminate_dom_walker::before_dom_children): ... but prevent
7804 their use here under similar conditions when applied to the
7805 IL after PRE optimizations.
7806
a9e4c82f
RB
78072014-04-14 Richard Biener <rguenther@suse.de>
7808
7809 * passes.def: Move early points-to after early SRA.
7810
7b4cae1b
RB
78112014-04-14 Richard Biener <rguenther@suse.de>
7812
7813 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
7814 check for which sign-changes we allow when forwarding
7815 a converted value into a switch.
7816
cb27986c
EB
78172014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7818
7819 * stor-layout.c (place_field): Finalize non-constant offset for the
7820 field, if any.
7821
72798784
RB
78222014-04-14 Richard Biener <rguenther@suse.de>
7823
7824 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
7825 as argument.
7826 (expand_switch_using_bit_tests_p): Likewise.
7827 (process_switch): Compute and pass on speed_p based on the
7828 switch stmt.
7829 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
7830 optimize_bb_for_speed_p.
7831
b15b5979
EB
78322014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7833
7834 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
7835 * function.h (struct function): Rename has_force_vect_loops into
7836 has_force_vectorize_loops.
7837 * lto-streamer-in.c (input_cfg): Adjust for renaming.
7838 (input_struct_function_base): Likewise.
7839 * lto-streamer-out.c (output_cfg): Likewise.
7840 (output_struct_function_base): Likewise.
7841 * omp-low.c (expand_omp_simd): Likewise.
7842 * tree-cfg.c (move_sese_region_to_fn): Likewise.
7843 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
7844 (version_loop_for_if_conversion): Likewise.
7845 (tree_if_conversion): Likewise.
7846 (main_tree_if_conversion): Likewise.
7847 (gate_tree_if_conversion): Likewise.
7848 * tree-inline.c (copy_loops): Likewise.
7849 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
7850 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
7851 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
7852 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
7853 * tree-vectorizer.c (vectorize_loops): Likewise.
7854 * tree-vectorizer.h (unlimited_cost_model): Likewise.
7855
8359c87e
RB
78562014-04-14 Richard Biener <rguenther@suse.de>
7857
7858 PR lto/60720
7859 * lto-streamer-out.c (wrap_refs): New function.
7860 (lto_output): Wrap symbol references in global initializes in
7861 type-preserving MEM_REFs.
7862
9447df74
CB
78632014-04-14 Christian Bruel <christian.bruel@st.com>
7864
b15d92bf 7865 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 7866
fa1aecc1
CB
78672014-04-14 Christian Bruel <christian.bruel@st.com>
7868
7869 * config/sh/sh.md (setmemqi): New expand pattern.
7870 * config/sh/sh.h (CLEAR_RATIO): Define.
7871 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
7872 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
7873
a3c77ce9
RB
78742014-04-14 Richard Biener <rguenther@suse.de>
7875
7876 PR middle-end/55022
7877 * fold-const.c (negate_expr_p): Don't negate directional rounding
7878 division.
7879 (fold_negate_expr): Likewise.
7880
033aa406
RB
78812014-04-14 Richard Biener <rguenther@suse.de>
7882
7883 PR tree-optimization/59817
7884 PR tree-optimization/60453
7885 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
7886 recursion to catch all CHRECs in the scalar evolution and restrict
7887 the predicate for the remains appropriately.
7888
5e7d8b4c
RS
78892014-04-12 Catherine Moore <clm@codesourcery.com>
7890
7891 * config/mips/constraints.md: Add new register constraint "kb".
7892 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
7893 (*movhi_internal): Likewise.
7894 (*movqi_internal): Likewise.
7895 * config/mips/mips.h (M16_STORE_REGS): New register class.
7896 (REG_CLASS_NAMES): Add M16_STORE_REGS.
7897 (REG_CLASS_CONTENTS): Likewise.
7898 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
7899
cbbd2b1c
TB
79002014-04-11 Tobias Burnus <burnus@net-b.de>
7901
7902 PR c/60194
7903 * doc/invoke.texi (-Wformat-signedness): Document it.
7904 (Wformat=2): Mention that this enables -Wformat-signedness.
7905
d9bb5800
JR
79062014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7907
7908 * common/config/epiphany/epiphany-common.c
7909 (epiphany_option_optimization_table): Enable section anchors by
7910 default at -O1 or higher.
7911 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
7912 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
7913 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
7914 carries no extra cost.
7915 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
7916 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
7917 * config/epiphany/predicates.md (memclob_operand): New predicate.
7918 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
7919 Use memclob_operand predicate and X constraint for operand 3.
7920
b5d0ecea
JR
79212014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7922
7923 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
7924 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
7925 its operands.
7926
473fd99a
JR
79272014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7928
7929 PR rtl-optimization/60651
7930 * mode-switching.c (optimize_mode_switching): Make sure to emit
7931 sets of a lower numbered entity before sets of a higher numbered
7932 entity to a mode of the same or lower priority.
7933 When creating a seginfo for a basic block that starts with a code
7934 label, move the insertion point past the code label.
7935 (new_seginfo): Document and enforce requirement that
7936 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
7937 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
7938 * doc/tm.texi: Regenerate.
7939
6ace1161
JR
79402014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
7941
7942 PR target/60811
7943 * config/arc/arc.c (arc_save_restore): Fix assert typo.
7944
89eb97de
JJ
79452013-04-11 Jakub Jelinek <jakub@redhat.com>
7946
6602e7fc 7947 * BASE-VER: Set to 4.10.0.
89eb97de 7948
9d0c7214
TB
79492014-04-11 Tobias Burnus <burnus@net-b.de>
7950
7951 PR other/59055
e0a81db1 7952 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
7953 * doc/gcc.texi (Service): Update description in the @menu
7954 * doc/invoke.texi (Option Summary): Remove misplaced and
7955 duplicated @menu.
7956
3662b277
SE
79572014-04-11 Steve Ellcey <sellcey@mips.com>
7958 Jakub Jelinek <jakub@redhat.com>
7959
7960 PR middle-end/60556
7961 * expr.c (convert_move): Use emit_store_flag_force instead of
7962 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
7963 argument to it.
7964
8330537b
RB
79652014-04-11 Richard Biener <rguenther@suse.de>
7966
7967 PR middle-end/60797
7968 * varasm.c (assemble_alias): Avoid endless error reporting
7969 recursion by setting TREE_ASM_WRITTEN.
7970
3c91f126
AK
79712014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7972
7973 * config/s390/s390.md: Add a splitter for NOT rtx.
7974
d8d6ea53
JJ
79752014-04-11 Jakub Jelinek <jakub@redhat.com>
7976
7977 PR rtl-optimization/60663
e0a81db1 7978 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 7979
fa5866c0
JJ
79802014-04-10 Jan Hubicka <hubicka@ucw.cz>
7981 Jakub Jelinek <jakub@redhat.com>
073afca6 7982
fa5866c0 7983 PR lto/60567
e0a81db1
UB
7984 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
7985 flag from decl_node to node.
073afca6 7986
b322c36a
RR
79872014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7988
7989 PR debug/60655
7990 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
7991 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
7992 ameliorating the cases where it can be.
7993
8267f6bb
DE
79942014-04-09 David Edelsohn <dje.gcc@gmail.com>
7995
7996 Revert
7997 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
7998
7999 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
8000 (loadsync_<mode>): Change mode.
8001 (load_quadpti, store_quadpti): New.
8002 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
8003 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
8004 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
8005
5d1a5a53
CH
80062014-04-09 Cong Hou <congh@google.com>
8007
8008 PR testsuite/60773
8009 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
8010 documentation.
8011
da90fa4c
BS
80122014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8013
8014 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
8015 instead of vnor to exploit possible fusion opportunity in the
8016 future.
8017 (altivec_expand_vec_perm_const_le): Likewise.
8018
98e6ecab
PH
80192014-04-08 Pat Haugen <pthaugen@us.ibm.com>
8020
8021 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
8022 (loadsync_<mode>): Change mode.
8023 (load_quadpti, store_quadpti): New.
8024 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
8025 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
8026
8418cf33
RS
80272014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
8028
8029 PR target/60763
8030 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
8031 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
8032 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
8033
3fa68ccb
RB
80342014-04-08 Richard Biener <rguenther@suse.de>
8035
8036 PR middle-end/60706
8037 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
8038 a 64bit widest int print double-int similar to on HWI64 hosts.
8039
9038ae48
RB
80402014-04-08 Richard Biener <rguenther@suse.de>
8041
8042 PR tree-optimization/60785
8043 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
8044 default defs properly.
8045
38f09da3
NS
80462014-04-08 Nathan Sidwell <nathan@codesourcery.com>
8047
8048 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
8049 (Weffc++): Likewise.
8050
0439a947
JH
80512014-04-07 Jan Hubicka <hubcika@ucw.cz>
8052
8053 * ipa-devirt.c (maybe_record_node): When node is not recorded,
8054 set completep to false rather than true.
8055
3f2f838e
EB
80562014-04-07 Douglas B Rupp <rupp@adacore.com>
8057
8058 PR target/60504
8059 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
8060 ARM_TARGET2_DWARF_FORMAT.
8061
e75c1617
CB
80622014-04-07 Charles Baylis <charles.baylis@linaro.org>
8063
8064 PR target/60609
8065 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
8066 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
8067 ADDR_DIFF_VEC.
8068
d6adff07
RB
80692014-04-07 Richard Biener <rguenther@suse.de>
8070
8071 PR tree-optimization/60766
3f2f838e
EB
8072 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
8073 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 8074
da34ade5
JM
80752014-04-07 Jason Merrill <jason@redhat.com>
8076
8077 PR c++/60731
8078 * common.opt (-fno-gnu-unique): Add.
8079 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
8080
151e9aac
KT
80812014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8082
8083 * haifa-sched.c: Fix outdated function reference and minor
8084 grammar errors in introductory comment.
8085
308173e3
RB
80862014-04-07 Richard Biener <rguenther@suse.de>
8087
8088 PR middle-end/60750
8089 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
8090 for noreturn calls.
8091 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
8092
a9a302d9
JDA
80932014-04-06 John David Anglin <danglin@gcc.gnu.org>
8094
8095 PR debug/55794
8096 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
8097 size accounting for thunks.
8098 (pa_asm_output_mi_thunk): Use final_start_function() and
8099 final_end_function() to output function start and end directives.
8100
576ba35c
PS
81012014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
8102
e0a81db1
UB
8103 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
8104 device specific ISA/ feature information. Remove short_sp and
8105 errata_skip ds. Add avr_device_specific_features enum to have device
8106 specific info.
576ba35c
PS
8107 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
8108 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
8109 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
8110 updated device specific info.
8111 * config/avr/avr-mcus.def: Merge device specific details to
8112 dev_attribute field.
8113 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
8114 errata_skip.
8115 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
8116 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
8117 assembler if RMW isa supported by current device.
8118 * config/avr/genmultilib.awk: Update as device info structure changed.
8119 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
8120
ebc047a2
CH
81212014-04-04 Cong Hou <congh@google.com>
8122
8123 PR tree-optimization/60656
8124 * tree-vect-stmts.c (supportable_widening_operation):
8125 Fix a bug that elements in a vector with vect_used_by_reduction
8126 property are incorrectly reordered when the operation on it is not
8127 consistant with the one in reduction operation.
8128
b6808818
JDA
81292014-04-04 John David Anglin <danglin@gcc.gnu.org>
8130
8131 PR rtl-optimization/60155
8132 * gcse.c (record_set_data): New function.
8133 (single_set_gcse): New function.
8134 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
8135 (hoist_code): Likewise.
8136 (get_pressure_class_and_nregs): Likewise.
8137
eabcc725
EB
81382014-04-04 Eric Botcazou <ebotcazou@adacore.com>
8139
8140 * explow.c (probe_stack_range): Emit a final optimization blockage.
8141
e005b753
AG
81422014-04-04 Anthony Green <green@moxielogic.com>
8143
8144 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
8145 typos.
8146
8fe91ca8
JH
81472014-04-04 Jan Hubicka <hubicka@ucw.cz>
8148
8149 PR ipa/59626
8150 * lto-cgraph.c (input_overwrite_node): Check that partitioning
8151 flags are set only during streaming.
8152 * ipa.c (process_references, walk_polymorphic_call_targets,
8153 symtab_remove_unreachable_nodes): Drop bodies of always inline
8154 after early inlining.
8155 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 8156
88d94632
RR
81572014-04-04 Jakub Jelinek <jakub@redhat.com>
8158 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8159
8160 PR debug/60655
8161 * dwarf2out.c (const_ok_for_output_1): Reject expressions
8162 containing a NOT.
8163
094bc219
KT
81642014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8165
8166 PR bootstrap/60743
8167 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
8168 duration.
8169 (cortex_a53_fdivd): Likewise.
8170
610c8ef0
MJ
81712014-04-04 Martin Jambor <mjambor@suse.cz>
8172
8173 PR ipa/60640
b15d92bf
UB
8174 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
8175 Adjust all callers.
610c8ef0
MJ
8176 * cgraph.c (clone_of_p): Also return true if thunks match.
8177 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
8178 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
8179 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
8180 file.
8181 (build_function_decl_skip_args): Likewise.
610c8ef0 8182 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
8183 (duplicate_thunk_for_node): Likewise.
8184 (redirect_edge_duplicating_thunks): Likewise.
8185 (cgraph_clone_node): New parameter args_to_skip, pass it to
8186 redirect_edge_duplicating_thunks which is called instead of
8187 cgraph_redirect_edge_callee.
8188 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
8189 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
8190
fc02bcca
JL
81912014-04-04 Jeff Law <law@redhat.com>
8192
57ef133b 8193 PR target/60657
fc02bcca
JL
8194 * config/arm/predicates.md (const_int_I_operand): New predicate.
8195 (const_int_M_operand): Similarly.
8196 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
8197 const_int_operand.
8198 (insv_t2, extv_reg, extzv_t2): Likewise.
8199 (load_multiple_with_writeback): Similarly for const_int_I_operand.
8200 (pop_multiple_with_writeback_and_return): Likewise.
8201 (vfp_pop_multiple_with_writeback): Likewise
8202
45b62594
RB
82032014-04-04 Richard Biener <rguenther@suse.de>
8204
8205 PR ipa/60746
8206 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
8207 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
8208 non-GIMPLE_LABELs.
8209 * gimplify.h (gimple_add_tmp_var_fn): Declare.
8210 * gimplify.c (gimple_add_tmp_var_fn): New function.
8211 * gimple-expr.h (create_tmp_reg_fn): Declare.
8212 * gimple-expr.c (create_tmp_reg_fn): New function.
8213 * gimple-low.c (record_vars_into): Don't change cfun.
8214 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
8215 code generation without cfun.
8216
bb609c35
TS
82172014-04-04 Thomas Schwinge <thomas@codesourcery.com>
8218
8219 PR bootstrap/60719
8220 * Makefile.in (install-driver): Fix shell scripting.
8221
090cd8dc
CH
82222014-04-03 Cong Hou <congh@google.com>
8223
8224 PR tree-optimization/60505
8225 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
8226 threshold of number of iterations below which no vectorization
8227 will be done.
090cd8dc
CH
8228 * tree-vect-loop.c (new_loop_vec_info):
8229 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
8230 * tree-vect-loop.c (vect_analyze_loop_operations):
8231 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
8232 * tree-vect-loop.c (vect_transform_loop):
8233 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
8234 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
8235 of iterations of the loop and see if we should build the epilogue.
8236
bdc67fd6
RB
82372014-04-03 Richard Biener <rguenther@suse.de>
8238
e0a81db1 8239 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
8240 (streamer_tree_cache_create): Adjust.
8241 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
8242 to allow optional nodes array.
8243 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
8244 (streamer_tree_cache_append): Likewise.
8245 (streamer_tree_cache_create): Create nodes array optionally
8246 as specified by parameter.
8247 * lto-streamer-out.c (create_output_block): Avoid maintaining
8248 the node array in the writer cache.
8249 (DFS_write_tree): Remove assertion.
e0a81db1 8250 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
8251 * lto-streamer-in.c (lto_data_in_create): Adjust for
8252 streamer_tree_cache_create prototype change.
8253
a0daf659
RB
82542014-04-03 Richard Biener <rguenther@suse.de>
8255
8256 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
8257 set TREE_CHAIN to NULL_TREE.
8258
f16c88d2
RB
82592014-04-03 Richard Biener <rguenther@suse.de>
8260
8261 PR tree-optimization/60740
8262 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
8263 over all GIMPLE_COND operands.
8264
880a467b
NS
82652014-04-03 Nathan Sidwell <nathan@codesourcery.com>
8266
8267 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
8268 (Weffc++): Remove Scott's numbering, merge lists and reference
8269 Wnon-virtual-dtor.
8270
08866760
NC
82712014-04-03 Nick Clifton <nickc@redhat.com>
8272
8273 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
8274 properly.
8275
5bed50e8
MJ
82762014-04-03 Martin Jambor <mjambor@suse.cz>
8277
8278 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
8279 mention gcc_unreachable before failing.
8280 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
8281 removed symbols.
8282
3e86c6a8
JH
82832014-04-02 Jan Hubicka <hubicka@ucw.cz>
8284
8285 PR ipa/60659
e0a81db1
UB
8286 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
8287 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
8288 (possible_polymorphic_call_targets): For inconsistent contexts
8289 return empty complete list.
8290
2b9912aa
AG
82912014-04-02 Anthony Green <green@moxielogic.com>
8292
8293 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
8294 (extendqisi2, extendhisi2): Define.
8295 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
8296 (WCHAR_TYPE): Change to unsigned int.
8297
1e386bb8
BS
82982014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8299
8300 PR tree-optimization/60733
8301 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
8302 insertion point for PHI candidates to be the end of the feeding
8303 block for the PHI argument.
8304
f4581282
VM
83052014-04-02 Vladimir Makarov <vmakarov@redhat.com>
8306
8307 PR rtl-optimization/60650
8308 * lra-constraints.c (process_alt_operands): Decrease reject for
8309 earlyclobber matching.
8310
a9d46e32
AK
83112014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8312
8313 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
8314
7c40228a
UW
83152014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8316
8317 * config/spu/spu.c (pad_bb): Do not crash when the last
8318 insn is CODE_FOR_blockage.
8319
c6596193
UW
83202014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8321
8322 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
8323 lies outside the target mode.
8324
690c229f
MM
83252014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8326
8327 PR target/60735
8328 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
8329 software floating point or no floating point registers, do not
8330 allow any type in the FPRs. Eliminate a test for SPE SIMD types
8331 in GPRs that occurs after we tested for GPRs that would never be
8332 true.
8333
8334 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
8335 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
8336 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
8337 specifically allow DDmode, since that does not use the SPE SIMD
8338 instructions.
8339
dad16761
RB
83402014-04-02 Richard Biener <rguenther@suse.de>
8341
8342 PR middle-end/60729
8343 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
8344 MODE_INTs. Properly use negv_optab.
8345 (expand_abs): Likewise.
8346
a1ce39be
RB
83472014-04-02 Richard Biener <rguenther@suse.de>
8348
8349 PR bootstrap/60719
8350 * Makefile.in (install-driver): Guard extra installs with special
8351 names properly.
8352
6fb619e4
MM
83532014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
8354
8355 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8356 Document vec_vgbbd.
8357
2a1ffd6d
RH
83582014-04-01 Richard Henderson <rth@redhat.com>
8359
8360 PR target/60704
8361 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
8362 alternative enabled before register allocation.
8363
98e8dd4d
CLT
83642014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
8365
8366 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
8367 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
8368 typo.
8369 (nios2_large_got_address): Remove unneeded 'sym' parameter.
8370 (nios2_got_address): Update nios2_large_got_address call site.
8371 (nios2_delegitimize_address): New function.
8372 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
8373 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
8374 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
8375
8785c60a
MH
83762014-04-01 Martin Husemann <martin@duskware.de>
8377
8378 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
8379 for -mabi=32.
8380
3343cf6a
RS
83812014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
8382
8383 PR rtl-optimization/60604
8384 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
8385 check from register_operand.
8386 (register_operand): Redefine in terms of general_operand.
8387 (nonmemory_operand): Use register_operand for the non-constant cases.
8388
1503cb6b
RB
83892014-04-01 Richard Biener <rguenther@suse.de>
8390
e0a81db1 8391 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 8392
cded08ea
SH
83932014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
8394
8395 * doc/invoke.texi (mapp-regs): Clarify.
8396
7d9088c2
UD
83972014-03-31 Ulrich Drepper <drepper@gmail.com>
8398
8399 * config/i386/avx512fintrin.h (__v32hi): Define type.
8400 (__v64qi): Likewise.
8401 (_mm512_set1_epi8): Define.
8402 (_mm512_set1_epi16): Define.
8403 (_mm512_set4_epi32): Define.
8404 (_mm512_set4_epi64): Define.
8405 (_mm512_set4_pd): Define.
8406 (_mm512_set4_ps): Define.
8407 (_mm512_setr4_epi64): Define.
8408 (_mm512_setr4_epi32): Define.
8409 (_mm512_setr4_pd): Define.
8410 (_mm512_setr4_ps): Define.
8411 (_mm512_setzero_epi32): Define.
8412
c18ff8a4
MJ
84132014-03-31 Martin Jambor <mjambor@suse.cz>
8414
8415 PR middle-end/60647
8416 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
8417 callsite_arguments_match_p. Updated all callers. Also check types of
8418 corresponding formal parameters and actual arguments.
8419 (not_all_callers_have_enough_arguments_p) Renamed to
8420 some_callers_have_mismatched_arguments_p.
8421
9a96d5b7
YR
84222014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
8423
8424 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
8425
6c031d8d
KV
84262014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
8427
8428 PR target/60034
8429 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
8430 section anchor.
8431
429749e2
UB
84322014-03-30 Uros Bizjak <ubizjak@gmail.com>
8433
8434 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
8435 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
8436 Split out
8437 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
8438 Use FMAMODE_NOVF512 mode iterator.
8439 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
8440 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
8441 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
8442 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
8443 Split out
8444 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
8445 Use VF_128_256 mode iterator.
8446 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
8447 Ditto.
8448
1f91035f
JH
84492014-03-28 Jan Hubicka <hubicka@ucw.cz>
8450
8451 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
8452 static chain if needed.
8453
6e071b1e
VM
84542014-03-28 Vladimir Makarov <vmakarov@redhat.com>
8455
8456 PR target/60697
8457 * lra-constraints.c (index_part_to_reg): New.
8458 (process_address): Use it.
8459
e7f31789 84602014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 8461 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
8462
8463 PR target/60648
4bb66ef3
JJ
8464 * expr.c (do_tablejump): Use simplify_gen_binary rather than
8465 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 8466
4bb66ef3
JJ
8467 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
8468 creating non-canonical RTL.
e7f31789 8469
4cd8957f
JH
84702014-03-28 Jan Hubicka <hubicka@ucw.cz>
8471
8472 PR ipa/60243
8473 * ipa-inline.c (want_inline_small_function_p): Short circuit large
8474 functions; reorganize to make cheap checks first.
8475 (inline_small_functions): Do not estimate growth when dumping;
8476 it is expensive.
8477 * ipa-inline.h (inline_summary): Add min_size.
8478 (growth_likely_positive): New function.
8479 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
8480 (set_cond_stmt_execution_predicate): Cleanup.
8481 (estimate_edge_size_and_time): Compute min_size.
8482 (estimate_calls_size_and_time): Likewise.
8483 (estimate_node_size_and_time): Likewise.
8484 (inline_update_overall_summary): Update min_size.
8485 (do_estimate_edge_time): Likewise.
8486 (do_estimate_edge_size): Update.
8487 (do_estimate_edge_hints): Update.
8488 (growth_likely_positive): New function.
8489
ff76f4e2
JJ
84902014-03-28 Jakub Jelinek <jakub@redhat.com>
8491
8492 PR target/60693
8493 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
8494 also if addr has VOIDmode.
8495
ed6eb6dc
KT
84962014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8497
8498 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
8499 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
8500 Declare extern.
8501 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
8502 instructions as well as AdvancedSIMD loads.
8503
b10baa95
KT
85042014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8505
8506 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
8507 Use crypto_aese type.
8508 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
8509 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
8510 crypto_aese, crypto_aesmc. Move to types.md.
8511 * config/arm/types.md (crypto_aes): Split into crypto_aese,
8512 crypto_aesmc.
8513 * config/arm/iterators.md (crypto_type): Likewise.
8514
23a04216
JH
85152014-03-28 Jan Hubicka <hubicka@ucw.cz>
8516
8517 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
8518 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
8519 remove LHS.
23a04216 8520
a4971e68
VM
85212014-03-28 Vladimir Makarov <vmakarov@redhat.com>
8522
8523 PR target/60675
8524 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
8525 regs from checking multi-reg pseudos.
8526
7ac84c02
RR
85272014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8528
8529 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
8530
bd302a18
UW
85312014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8532
8533 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
8534 if it would clobber the stack pointer, even temporarily.
8535
cee9defb
EB
85362014-03-28 Eric Botcazou <ebotcazou@adacore.com>
8537
8538 * mode-switching.c: Make small adjustments to the top comment.
8539
117f16fb
MM
85402014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
8541
8542 * config/rs6000/constraints.md (wD constraint): New constraint to
8543 match the constant integer to get the top DImode/DFmode out of a
8544 vector in a VSX register.
8545
8546 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
8547 match the constant integer to get the top DImode/DFmode out of a
8548 vector in a VSX register.
8549
8550 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
8551 for ISA 2.07.
8552
8553 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8554 vbpermq builtins.
8555
8556 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
8557 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
8558
8559 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
8560 Optimize vec_extract of 64-bit values, where the value being
8561 extracted is in the top word, where we can use scalar
8562 instructions. Add direct move and store support. Combine the big
429749e2 8563 endian/little endian vector select load support into a single insn.
117f16fb
MM
8564 (vsx_extract_<mode>_internal1): Likewise.
8565 (vsx_extract_<mode>_internal2): Likewise.
8566 (vsx_extract_<mode>_load): Likewise.
8567 (vsx_extract_<mode>_store): Likewise.
8568 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
8569 combined into vsx_extract_<mode>_load.
8570 (vsx_extract_<mode>_one_le): Likewise.
8571
8572 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
8573 define the top 64-bit vector element.
8574
8575 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
8576 constraint.
8577
6788164b
MM
8578 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8579 Document vec_vbpermq builtin.
8580
117f16fb
MM
8581 PR target/60672
8582 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
8583 enable use of xxsldwi and xxpermdi builtin functions.
8584 (vec_xxpermdi): Likewise.
8585
8586 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8587 Document use of vec_xxsldwi and vec_xxpermdi builtins.
8588
9e038952
VM
85892014-03-27 Vladimir Makarov <vmakarov@redhat.com>
8590
8591 PR rtl-optimization/60650
f4581282 8592 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
8593 first_p. Use it.
8594 (find_spills_for): New.
8595 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
8596 Spill all pseudos on the second iteration.
8597
324dc401
MP
85982014-03-27 Marek Polacek <polacek@redhat.com>
8599
8600 PR c/50347
8601 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
8602 types.
8603
6e77facf
AK
86042014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8605
8606 * config/s390/s390.c (s390_can_use_return_insn): Check for
8607 call-saved FPRs on 31 bit.
8608
47519a14
JJ
86092014-03-27 Jakub Jelinek <jakub@redhat.com>
8610
8611 PR middle-end/60682
8612 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
8613 if they need regimplification, just drop them instead of
8614 calling gimple_regimplify_operands on them.
8615
0b7f8166
MS
86162014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
8617
8618 PR target/60580
8619 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
8620 (aarch64_frame_pointer_required): Adjust logic.
8621 (aarch64_can_eliminate): Adjust logic.
8622 (aarch64_override_options_after_change): Adjust logic.
8623
2f2a7d15
DC
86242014-03-27 Dehao Chen <dehao@google.com>
8625
8626 * ipa-inline.c (early_inliner): Update node's inline info.
8627
a0dbf285
DC
86282014-03-26 Dehao Chen <dehao@google.com>
8629
8630 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
8631 compiler inserted conditional jumps for NAN float check.
8632
ed0ca1e1
JJ
86332014-03-26 Jakub Jelinek <jakub@redhat.com>
8634
07d72e1d
JJ
8635 * ubsan.h (ubsan_create_data): Change second argument's type
8636 to const location_t *.
8637 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
8638 _("<unknown>").
8639 (ubsan_create_data): Change second argument to const location_t *PLOC.
8640 Create Loc field whenever PLOC is non-NULL.
8641 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
8642 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
8643 callers.
8644
ed0ca1e1
JJ
8645 PR other/59545
8646 * real.c (real_to_integer2): Change type of low to UHWI.
8647
b9487dd8
TB
86482014-03-26 Tobias Burnus <burnus@net-b.de>
8649
8650 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
8651 (CILK_SELF_SPECS): New define.
8652 (driver_self_specs): Use it.
8653
3a2700f6
RB
86542014-03-26 Richard Biener <rguenther@suse.de>
8655
8656 * tree-pretty-print.c (percent_K_format): Implement special
8657 case for LTO and its stripped down BLOCK tree.
8658
368b454d
JJ
86592014-03-26 Jakub Jelinek <jakub@redhat.com>
8660
aa6b742f
JJ
8661 PR sanitizer/60636
8662 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
8663
368b454d
JJ
8664 * tree-vrp.c (simplify_internal_call_using_ranges): If only
8665 one range is range_int_cst_p, but not both, at least optimize
8666 addition/subtraction of 0 and multiplication by 0 or 1.
8667 * gimple-fold.c (gimple_fold_call): Fold
8668 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
8669 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
8670 INTEGER_CSTs, try to fold at least x * 0 and y - y.
8671
c7e30a96
EB
86722014-03-26 Eric Botcazou <ebotcazou@adacore.com>
8673
8674 PR rtl-optimization/60452
8675 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
8676 <case REG>: Return 1 for invalid offsets from the frame pointer.
8677
d615d763
MP
86782014-03-26 Marek Polacek <polacek@redhat.com>
8679
8680 PR c/37428
8681 * doc/extend.texi (C Extensions): Mention variable-length arrays in
8682 a structure/union.
8683
1b226529
MP
86842014-03-26 Marek Polacek <polacek@redhat.com>
8685
8686 PR c/39525
8687 * doc/extend.texi (Designated Inits): Describe what happens to omitted
8688 field members.
8689
6686e0bc
MP
86902014-03-26 Marek Polacek <polacek@redhat.com>
8691
8692 PR other/59545
8693 * ira-color.c (update_conflict_hard_regno_costs): Perform the
8694 multiplication in unsigned type.
8695
d4fbc3ae
CJW
86962014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8697
8698 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
8699
dfa6c87b
CJW
87002014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8701
8702 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
8703
9de6f6c3
JH
87042014-03-25 Jan Hubicka <hubicka@ucw.cz>
8705
8706 PR ipa/60315
8707 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
8708 * ipa-inline.c (inline_small_functions): Skip edges to
8709 __builtlin_unreachable.
9de6f6c3
JH
8710 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
8711 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
8712 predicate to __bulitin_unreachable.
429749e2
UB
8713 (set_cond_stmt_execution_predicate): Fix issue when
8714 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
8715 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
8716 propagate to inline clones.
8717 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
8718 to unreachable.
8719 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
8720 * cgraphclones.c (cgraph_clone_node): If call destination is already
8721 ureachable, do not redirect it back.
8722 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
8723 unreachable.
8724
d7636f56
JH
87252014-03-25 Jan Hubicka <hubicka@ucw.cz>
8726
8727 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
8728 Do not modify inline clones.
8729
d1873c57
JJ
87302014-03-25 Jakub Jelinek <jakub@redhat.com>
8731
8732 * config/i386/i386.md (general_sext_operand): New mode attr.
8733 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
8734 don't generate (sign_extend (const_int)).
8735 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
8736 operands[2]. Use We constraint instead of <i> and
8737 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
8738 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
8739 * config/i386/constraints.md (We): New constraint.
8740 * config/i386/predicates.md (x86_64_sext_operand,
8741 sext_operand): New predicates.
8742
b5165eb0
MJ
87432014-03-25 Martin Jambor <mjambor@suse.cz>
8744
8745 PR ipa/60600
8746 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
8747 inconsistent devirtualizations to __builtin_unreachable.
8748
3102858d
MP
87492014-03-25 Marek Polacek <polacek@redhat.com>
8750
8751 PR c/35449
8752 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
8753
4b1e108c
AL
87542014-03-25 Alan Lawrence <alan.lawrence@arm.com>
8755
8756 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
8757 order of elements for big-endian.
8758
40b0722f
RB
87592014-03-25 Richard Biener <rguenther@suse.de>
8760
8761 PR middle-end/60635
8762 * gimplify-me.c (gimple_regimplify_operands): Update the
8763 re-gimplifed stmt.
8764
4a5798de
MJ
87652014-03-25 Martin Jambor <mjambor@suse.cz>
8766
8767 PR ipa/59176
8768 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
8769 (lto_output_varpool_node): Likewise.
8770 (input_overwrite_node): Likewise.
8771 (input_varpool_node): Likewise.
8772
585d0088
RB
87732014-03-25 Richard Biener <rguenther@suse.de>
8774
429749e2 8775 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
8776 (run_gcc): Likewise.
8777
a8acccdd
JJ
87782014-03-25 Jakub Jelinek <jakub@redhat.com>
8779
51ee05d0
JJ
8780 * combine.c (simplify_compare_const): Add MODE argument.
8781 Handle mode_width 0 as very large mode_width.
8782 (try_combine, simplify_comparison): Adjust callers.
8783
a8acccdd
JJ
8784 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
8785 type to avoid signed integer overflow.
8786 * explow.c (plus_constant): Likewise.
8787
57fc74a4
DV
87882014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8789
8790 * doc/generic.texi: Correct typos.
8791
09f15d1b
TB
87922014-03-24 Tobias Burnus <burnus@net-b.de>
8793
8794 * doc/invoke.texi (-flto): Expand section about
8795 using static libraries with LTO.
8796
72a4ddf2
AK
87972014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8798
8799 PR rtl-optimization/60501
8800 * optabs.def (addptr3_optab): New optab.
8801 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
8802 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
8803 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
8804
8805 * lra.c (emit_add3_insn): Use the addptr pattern if available.
8806
8807 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
8808
0b192937
UD
88092014-03-24 Ulrich Drepper <drepper@gmail.com>
8810
2b2384e8
UD
8811 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
8812 _mm512_set1_pd.
8813
0b192937
UD
8814 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
8815 (_mm256_undefined_ps): Define.
8816 (_mm256_undefined_pd): Define.
8817 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
8818 (_mm_undefined_pd): Define.
8819 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
8820 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
8821 (_mm512_undefined_ps): Define.
8822 (_mm512_undefined_pd): Define.
8823 Use _mm*_undefined_*.
8824 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
8825
252c7556
AV
88262014-03-24 Alex Velenko <Alex.Velenko@arm.com>
8827
8828 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
8829 (lshr_simd): DI mode added.
8830 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
8831 (aarch64_ushr_simddi): Likewise.
8832 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
8833 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
8834 (vshrd_n_u64): Likewise.
8835
15e3d4f1
RO
88362014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8837
8838 * Makefile.in (s-macro_list): Depend on cc1.
8839
1858c2d3
TJ
88402014-03-23 Teresa Johnson <tejohnson@google.com>
8841
8842 * ipa-utils.c (ipa_print_order): Use specified dump file.
8843
f87604f8
EB
88442014-03-23 Eric Botcazou <ebotcazou@adacore.com>
8845
8846 PR rtl-optimization/60601
8847 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
8848
8849 * gcc.c (eval_spec_function): Initialize save_growing_value.
8850
3db31fd1
JJ
88512014-03-22 Jakub Jelinek <jakub@redhat.com>
8852
f451d3a8
JJ
8853 PR sanitizer/60613
8854 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
8855 code == MINUS_EXPR, never swap op0 with op1.
8856
3db31fd1
JJ
8857 * toplev.c (init_local_tick): Avoid signed integer multiplication
8858 overflow.
8859 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
8860 shift by first operand's bitsize.
8861
e49080ec
JJ
88622014-03-21 Jakub Jelinek <jakub@redhat.com>
8863
8864 PR target/60610
8865 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
8866 redefine to 1 or 0.
8867 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
8868 TARGET_ISA_64BIT_P(x).
8869
44eb6c40
BS
88702014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8871
8872 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
8873 pattern for vector nor instead of subtract from splat(-1).
8874 (altivec_expand_vec_perm_const_le): Likewise.
8875
ec6f831a
RH
88762014-03-21 Richard Henderson <rth@twiddle.net>
8877
8878 PR target/60598
8879 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
8880 related insns after epilogue_completed.
8881
3d8d0043
MJ
88822014-03-21 Martin Jambor <mjambor@suse.cz>
8883
8884 PR ipa/59176
8885 * cgraph.h (symtab_node): New flag body_removed.
8886 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
8887 when removing bodies.
8888 * symtab.c (dump_symtab_base): Dump body_removed flag.
8889 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
8890 had their bodies removed.
8891
d833415c
MJ
88922014-03-21 Martin Jambor <mjambor@suse.cz>
8893
8894 PR ipa/60419
8895 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
8896 in the border.
8897
400a4f6c
RB
88982014-03-21 Richard Biener <rguenther@suse.de>
8899
8900 PR tree-optimization/60577
8901 * tree-core.h (struct tree_base): Document nothrow_flag use
8902 in VAR_DECL_NONALIASED.
8903 * tree.h (VAR_DECL_NONALIASED): New.
8904 (may_be_aliased): Adjust.
8905 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
8906
c6c2314f
EB
89072014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8908
8909 * expr.c (expand_expr_real_1): Remove outdated comment.
8910
d02b6ac7
JJ
89112014-03-20 Jakub Jelinek <jakub@redhat.com>
8912
b8f045e2
JJ
8913 PR middle-end/60597
8914 * ira.c (adjust_cleared_regs): Call copy_rtx on
8915 *reg_equiv[REGNO (loc)].src_p before passing it to
8916 simplify_replace_fn_rtx.
8917
d02b6ac7
JJ
8918 PR target/60568
8919 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
8920 into CONST, put pic register as first operand of PLUS. Use
8921 gen_const_mem for both 32-bit and 64-bit PIC got loads.
8922
e2f98c01
RR
89232014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8924
8925 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
8926
7075c792
EB
89272014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8928
8929 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
8930 around for store forwarding issue in the FPU on the UT699.
8931 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
8932 loads and operations if -mfix-ut699 is specified.
8933 (divtf3_hq): Tweak attribute.
8934 (sqrttf2_hq): Likewise.
8935
9ee5337d
EB
89362014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8937
8938 * calls.c (store_one_arg): Remove incorrect const qualification on the
8939 type of the temporary.
8940 * cfgexpand.c (expand_return): Likewise.
8941 * expr.c (expand_constructor): Likewise.
8942 (expand_expr_real_1): Likewise.
8943
a69e09c8
ZC
89442014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8945
8946 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
8947 of parts.
8948
8659d57b
KK
89492014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
8950
8951 PR target/60039
8952 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
8953
985e0d33
JG
89542014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
8955
8956 * config/arm/aarch-common-protos.h
8957 (alu_cost_table): Fix spelling of "extend".
8958 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
8959
ce2f49b3
RB
89602014-03-19 Richard Biener <rguenther@suse.de>
8961
8962 PR middle-end/60553
8963 * tree-core.h (tree_type_common): Re-order pointer members
8964 to reduce recursion depth during GC walks.
8965
6daa2d91
MP
89662014-03-19 Marek Polacek <polacek@redhat.com>
8967
8968 PR sanitizer/60569
8969 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
8970 before accessing it.
8971
8c9cfbe6
RB
89722014-03-19 Richard Biener <rguenther@suse.de>
8973
8974 PR lto/59543
8975 * lto-streamer-in.c (input_function): In WPA stage do not drop
8976 debug stmts.
8977
3efe2e2c
JJ
89782014-03-19 Jakub Jelinek <jakub@redhat.com>
8979
8980 PR tree-optimization/60559
8981 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
8982 with build_zero_cst assignment.
8983
234f76cb
KT
89842014-03-18 Kai Tietz <ktietz@redhat.com>
8985
8986 PR rtl-optimization/56356
8987 * sdbout.c (sdbout_parms): Verify that parms'
8988 incoming argument is valid.
8989 (sdbout_reg_parms): Likewise.
8990
58ca6edf
RH
89912014-03-18 Richard Henderson <rth@redhat.com>
8992
8993 PR target/60562
8994 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
8995 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 8996 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
8997
89982014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
8999
4bb66ef3 9000 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 9001 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 9002 Italicize plugin event names in description. Explain that
429749e2
UB
9003 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
9004 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 9005 Explain what pragmas with expansion are.
b318e404 9006
eb14a79f
ML
90072014-03-18 Martin Liska <mliska@suse.cz>
9008
9009 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
9010 gimple call statement is update.
9011 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
9012 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
9013
415e2e6b
JJ
90142014-03-18 Jakub Jelinek <jakub@redhat.com>
9015
ead96f13
JJ
9016 PR sanitizer/60557
9017 * ubsan.c (ubsan_instrument_unreachable): Call
9018 initialize_sanitizer_builtins.
9019 (ubsan_pass): Likewise.
9020
415e2e6b
JJ
9021 PR sanitizer/60535
9022 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
9023 varpool_finalize_decl instead of rest_of_decl_compilation.
9024
4ca40f52
RB
90252014-03-18 Richard Biener <rguenther@suse.de>
9026
9027 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
9028 by using bitmap_and_compl instead of bitmap_and_compl_into.
9029 (df_rd_transfer_function): Likewise.
9030
6404e190
RB
90312014-03-18 Richard Biener <rguenther@suse.de>
9032
9033 * doc/lto.texi (fresolution): Fix typo.
9034
b9abf793
RB
90352014-03-18 Richard Biener <rguenther@suse.de>
9036
9037 * doc/invoke.texi (flto): Update for changes in 4.9.
9038
3f00cf18
RB
90392014-03-18 Richard Biener <rguenther@suse.de>
9040
9041 * doc/loop.texi: Remove section on the removed lambda framework.
9042 Update loop docs with recent changes in preserving loop structure.
9043
c2679d84
RB
90442014-03-18 Richard Biener <rguenther@suse.de>
9045
9046 * doc/lto.texi (-fresolution): Document.
9047
c07990cc
RB
90482014-03-18 Richard Biener <rguenther@suse.de>
9049
9050 * doc/contrib.texi: Adjust my name.
9051
ed9c79e1
JJ
90522014-03-18 Jakub Jelinek <jakub@redhat.com>
9053
9054 PR ipa/58721
9055 * internal-fn.c: Include diagnostic-core.h.
9056 (expand_BUILTIN_EXPECT): New function.
9057 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
9058 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
9059 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
9060 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
9061 IFN_BUILTIN_EXPECT.
9062 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
9063 Revert 3 argument __builtin_expect code.
9064 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
9065 * gimple-fold.c (gimple_fold_call): Likewise.
9066 * tree.h (fold_builtin_expect): New prototype.
9067 * builtins.c (build_builtin_expect_predicate): Add predictor
9068 argument, if non-NULL, create 3 argument __builtin_expect.
9069 (fold_builtin_expect): No longer static. Add ARG2 argument,
9070 pass it through to build_builtin_expect_predicate.
9071 (fold_builtin_2): Adjust caller.
9072 (fold_builtin_3): Handle BUILT_IN_EXPECT.
9073 * internal-fn.def (BUILTIN_EXPECT): New.
9074
90752014-03-18 Tobias Burnus <burnus@net-b.de>
9076
9077 PR ipa/58721
9078 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
9079 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
9080 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
9081
90822014-03-18 Jan Hubicka <hubicka@ucw.cz>
9083
9084 PR ipa/58721
9085 * predict.c (combine_predictions_for_bb): Fix up formatting.
9086 (expr_expected_value_1, expr_expected_value): Add predictor argument,
9087 fill what it points to if non-NULL.
9088 (tree_predict_by_opcode): Adjust caller, use the predictor.
9089 * predict.def (PRED_COMPARE_AND_SWAP): Add.
9090
e33da4a1
EB
90912014-03-18 Eric Botcazou <ebotcazou@adacore.com>
9092
9093 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
9094 proper constant for the store mode.
9095
1fed15fc
IE
90962014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
9097
9098 * symtab.c (change_decl_assembler_name): Fix transparent alias
9099 chain construction.
9100
454fdba9
RL
91012014-03-16 Renlin Li <Renlin.Li@arm.com>
9102
9103 * config/aarch64/aarch64.c: Correct the comments about the
9104 aarch64 stack layout.
9105
e2110f8f
TS
91062014-03-18 Thomas Schwinge <thomas@codesourcery.com>
9107
9108 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
9109 check for GF_OMP_FOR_KIND_FOR.
9110
7c831c4d
KY
91112013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
9112
9113 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
9114 ymm and zmm register names.
9115
e318c1e1
JJ
91162014-03-17 Jakub Jelinek <jakub@redhat.com>
9117
9118 PR target/60516
9119 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
9120 note creation for the 2010-08-31 changes.
9121
ab2ffbeb
MP
91222014-03-17 Marek Polacek <polacek@redhat.com>
9123
9124 PR middle-end/60534
9125 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
9126 as -fno-tree-loop-vectorize.
9127 (expand_omp_simd): Likewise.
9128
890fa568
EB
91292014-03-15 Eric Botcazou <ebotcazou@adacore.com>
9130
9131 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
9132 (eligible_for_call_delay): New prototype.
9133 * config/sparc/sparc.c (tls_call_delay): Rename into...
9134 (eligible_for_call_delay): ...this. Return false if the instruction
9135 cannot be put in the delay slot of a branch.
9136 (eligible_for_restore_insn): Simplify.
9137 (eligible_for_return_delay): Return false if the instruction cannot be
9138 put in the delay slot of a branch and simplify.
9139 (eligible_for_sibcall_delay): Return false if the instruction cannot be
9140 put in the delay slot of a branch.
9141 * config/sparc/sparc.md (fix_ut699): New attribute.
9142 (tls_call_delay): Delete.
9143 (in_call_delay): Reimplement.
9144 (eligible_for_sibcall_delay): Rename into...
9145 (in_sibcall_delay): ...this.
9146 (eligible_for_return_delay): Rename into...
9147 (in_return_delay): ...this.
9148 (in_branch_delay): Reimplement.
9149 (in_uncond_branch_delay): Delete.
9150 (in_annul_branch_delay): Delete.
9151
cfce90ac
RH
91522014-03-14 Richard Henderson <rth@redhat.com>
9153
9154 PR target/60525
9155 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
9156 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
9157 (*floathi<X87MODEF>2_i387_with_temp): Remove.
9158 (floathi splitters): Remove.
9159 (float<SWI48x>xf2): New pattern.
9160 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
9161 code that tried to handle DImode for 32-bit, but which was excluded
9162 by the pattern's condition. Drop allocation of stack temporary.
9163 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
9164 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
9165 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
9166 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
9167 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
9168 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
9169 (*float<SWI48><MODEF>2_sse_interunit): Remove.
9170 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
9171 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
9172 (*float<SWI48x><X87MODEF>2_i387): Remove.
9173 (all float _with_temp splitters): Remove.
9174 (*float<SWI48x><MODEF>2_i387): New pattern.
9175 (*float<SWI48><MODEF>2_sse): New pattern.
9176 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
9177 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
9178
91035653
JJ
91792014-03-14 Jakub Jelinek <jakub@redhat.com>
9180 Marek Polacek <polacek@redhat.com>
9181
9182 PR middle-end/60484
9183 * common.opt (dump_base_name_prefixed): New Variable.
9184 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
9185 if x_dump_base_name_prefixed is already set, set it at the end.
9186
95921002
VM
91872014-03-14 Vladimir Makarov <vmakarov@redhat.com>
9188
9189 PR rtl-optimization/60508
9190 * lra-constraints.c (get_reload_reg): Add new parameter
9191 in_subreg_p.
9192 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
9193 Pass the new parameter values.
9194
25e57622
RB
91952014-03-14 Richard Biener <rguenther@suse.de>
9196
9197 * common.opt: Revert unintented changes from r205065.
9198 * opts.c: Likewise.
9199
1f3388fe
RB
92002014-03-14 Richard Biener <rguenther@suse.de>
9201
9202 PR middle-end/60518
9203 * cfghooks.c (split_block): Properly adjust all loops the
9204 block was a latch of.
9205
92062014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
9207
9208 PR lto/60461
9209 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
9210 and simplify it.
9211
2832dc22
GJL
92122014-03-14 Georg-Johann Lay <avr@gjlay.de>
9213
9214 PR target/59396
9215 * config/avr/avr.c (avr_set_current_function): Pass function name
9216 through default_strip_name_encoding before sanity checking instead
9217 of skipping the first char of the assembler name.
9218
3386d77e
RH
92192014-03-13 Richard Henderson <rth@redhat.com>
9220
9221 PR debug/60438
9222 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
9223 (ix86_force_to_memory, ix86_free_from_memory): Remove.
9224 * config/i386/i386-protos.h: Likewise.
9225 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
9226 in the expander instead of a splitter.
9227 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
9228 any possibility of requiring a memory.
9229 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
9230 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
9231 (fp branch splitters): Update for ix86_split_fp_branch.
9232 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
9233 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
9234 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
9235 (*fop_<MODEF>_2_i387): Remove f/r alternative.
9236 (*fop_<MODEF>_3_i387): Likewise.
9237 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
9238 (splitters for the fop_* register patterns): Remove.
9239 (fscalexf4_i387): Rename from *fscalexf4_i387.
9240 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 9241
5b5d7f31
JJ
92422014-03-13 Jakub Jelinek <jakub@redhat.com>
9243
9244 PR tree-optimization/59779
9245 * tree-dfa.c (get_ref_base_and_extent): Use double_int
9246 type for bitsize and maxsize instead of HOST_WIDE_INT.
9247
bdc6e1ae
SB
92482014-03-13 Steven Bosscher <steven@gcc.gnu.org>
9249
9250 PR rtl-optimization/57320
9251 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
9252 the CFG after thread_prologue_and_epilogue_insns.
9253
7891065a
VM
92542014-03-13 Vladimir Makarov <vmakarov@redhat.com>
9255
9256 PR rtl-optimization/57189
9257 * lra-constraints.c (process_alt_operands): Disfavor spilling
9258 vector pseudos.
9259
eba14fca
CP
92602014-03-13 Cesar Philippidis <cesar@codesourcery.com>
9261
429749e2 9262 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 9263
f661b085
JJ
92642014-03-13 Jakub Jelinek <jakub@redhat.com>
9265
9266 PR tree-optimization/59025
9267 PR middle-end/60418
9268 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
9269 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
9270
8f3a3138
GJL
92712014-03-13 Georg-Johann Lay <avr@gjlay.de>
9272
9273 PR target/60486
9274 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
9275 calls of avr_out_plus_1.
9276
d731ee04
BC
92772014-03-13 Bin Cheng <bin.cheng@arm.com>
9278
9279 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
9280 BB's single pred and update the father loop's latch info later.
9281
a16a872d
MM
92822014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
9283
9284 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
9285 (VEC_M): Likewise.
9286 (VEC_N): Likewise.
9287 (VEC_R): Likewise.
9288 (VEC_base): Likewise.
9289 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
9290 registers, we need to swap double words in little endian mode.
9291
9292 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
9293 to be a container mode for 128-bit integer operations added in ISA
9294 2.07. Unlike TImode and PTImode, the preferred register set is
9295 the Altivec/VMX registers for the 128-bit operations.
9296
9297 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
9298 declarations.
9299 (rs6000_split_128bit_ok_p): Likewise.
9300
9301 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
9302 macros for creating ISA 2.07 normal and overloaded builtin
9303 functions with 3 arguments.
9304 (BU_P8V_OVERLOAD_3): Likewise.
9305 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
9306 for use as overloaded functions.
9307 (VPERM_1TI_UNS): Likewise.
9308 (VSEL_1TI): Likewise.
9309 (VSEL_1TI_UNS): Likewise.
9310 (ST_INTERNAL_1ti): Likewise.
9311 (LD_INTERNAL_1ti): Likewise.
9312 (XXSEL_1TI): Likewise.
9313 (XXSEL_1TI_UNS): Likewise.
9314 (VPERM_1TI): Likewise.
9315 (VPERM_1TI_UNS): Likewise.
9316 (XXPERMDI_1TI): Likewise.
9317 (SET_1TI): Likewise.
9318 (LXVD2X_V1TI): Likewise.
9319 (STXVD2X_V1TI): Likewise.
9320 (VEC_INIT_V1TI): Likewise.
9321 (VEC_SET_V1TI): Likewise.
9322 (VEC_EXT_V1TI): Likewise.
9323 (EQV_V1TI): Likewise.
9324 (NAND_V1TI): Likewise.
9325 (ORC_V1TI): Likewise.
9326 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
9327 added in ISA 2.07. Add both normal 'altivec' builtins, and the
9328 overloaded builtin.
9329 (VADDUQM): Likewise.
9330 (VSUBCUQ): Likewise.
9331 (VADDEUQM): Likewise.
9332 (VADDECUQ): Likewise.
9333 (VSUBEUQM): Likewise.
9334 (VSUBECUQ): Likewise.
9335
9336 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
9337 __int128_t and __uint128_t types.
9338 (__uint128_type): Likewise.
9339 (altivec_categorize_keyword): Add support for vector __int128_t,
9340 vector __uint128_t, vector __int128, and vector unsigned __int128
9341 as a container type for TImode operations that need to be done in
9342 VSX/Altivec registers.
9343 (rs6000_macro_to_expand): Likewise.
9344 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
9345 to support 128-bit integer instructions vaddcuq, vadduqm,
9346 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
9347 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
9348
9349 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
9350 for V1TImode, and set up preferences to use VSX/Altivec registers.
9351 Setup VSX reload handlers.
a16a872d
MM
9352 (rs6000_debug_reg_global): Likewise.
9353 (rs6000_init_hard_regno_mode_ok): Likewise.
9354 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 9355 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
9356 (easy_altivec_constant): Likewise.
9357 (output_vec_const_move): Likewise.
9358 (rs6000_expand_vector_set): Convert V1TImode set and extract to
9359 simple move.
9360 (rs6000_expand_vector_extract): Likewise.
9361 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
9362 addressing.
9363 (rs6000_const_vec): Add support for V1TImode.
9364 (rs6000_emit_le_vsx_load): Swap double words when loading or
9365 storing TImode/V1TImode.
9366 (rs6000_emit_le_vsx_store): Likewise.
9367 (rs6000_emit_le_vsx_move): Likewise.
9368 (rs6000_emit_move): Add support for V1TImode.
9369 (altivec_expand_ld_builtin): Likewise.
9370 (altivec_expand_st_builtin): Likewise.
9371 (altivec_expand_vec_init_builtin): Likewise.
9372 (altivec_expand_builtin): Likewise.
9373 (rs6000_init_builtins): Add support for V1TImode type. Add
9374 support for ISA 2.07 128-bit integer builtins. Define type names
9375 for the VSX/Altivec vector types.
9376 (altivec_init_builtins): Add support for overloaded vector
9377 functions with V1TImode type.
0bb29a05 9378 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
9379 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
9380 external function.
9381 (rs6000_split_128bit_ok_p): Likewise.
9382 (rs6000_handle_altivec_attribute): Create V1TImode from vector
9383 __int128_t and vector __uint128_t.
9384
9385 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
9386 and mode attributes.
9387 (VSX_M): Likewise.
9388 (VSX_M2): Likewise.
9389 (VSm): Likewise.
9390 (VSs): Likewise.
9391 (VSr): Likewise.
9392 (VSv): Likewise.
9393 (VS_scalar): Likewise.
9394 (VS_double): Likewise.
0bb29a05 9395 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 9396
0bb29a05
UB
9397 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
9398 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
9399 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
9400 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
9401 and TImode types for use with the builtin functions.
9402 (V1TI_type_node): Likewise.
9403 (unsigned_V1TI_type_node): Likewise.
9404 (intTI_type_internal_node): Likewise.
9405 (uintTI_type_internal_node): Likewise.
9406
0bb29a05
UB
9407 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
9408 128-bit builtin functions.
a16a872d
MM
9409 (UNSPEC_VADDEUQM): Likewise.
9410 (UNSPEC_VADDECUQ): Likewise.
9411 (UNSPEC_VSUBCUQ): Likewise.
9412 (UNSPEC_VSUBEUQM): Likewise.
9413 (UNSPEC_VSUBECUQ): Likewise.
9414 (VM): Add V1TImode to vector mode iterators.
9415 (VM2): Likewise.
9416 (VI_unit): Likewise.
9417 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
9418 (altivec_vaddcuq): Likewise.
9419 (altivec_vsubuqm): Likewise.
9420 (altivec_vsubcuq): Likewise.
9421 (altivec_vaddeuqm): Likewise.
9422 (altivec_vaddecuq): Likewise.
9423 (altivec_vsubeuqm): Likewise.
9424 (altivec_vsubecuq): Likewise.
9425
9426 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
9427 mode iterators.
9428 (BOOL_128): Likewise.
9429 (BOOL_REGS_OUTPUT): Likewise.
9430 (BOOL_REGS_OP1): Likewise.
9431 (BOOL_REGS_OP2): Likewise.
9432 (BOOL_REGS_UNARY): Likewise.
9433 (BOOL_REGS_AND_CR0): Likewise.
9434
9435 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
9436 128-bit integer builtin support.
9437 (vec_vadduqm): Likewise.
9438 (vec_vaddecuq): Likewise.
9439 (vec_vaddeuqm): Likewise.
9440 (vec_vsubecuq): Likewise.
9441 (vec_vsubeuqm): Likewise.
9442 (vec_vsubcuq): Likewise.
9443 (vec_vsubuqm): Likewise.
9444
9445 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
9446 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
9447 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
9448 128-bit integer add/subtract to ISA 2.07.
9449
eeac7d15
JR
94502014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
9451
9452 * config/arc/arc.c (arc_predicate_delay_insns):
9453 Fix third argument passed to conditionalize_nonjump.
9454
bf0f324e
YZ
94552014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
9456
9457 * config/aarch64/aarch64-builtins.c
9458 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
9459 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
9460 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
9461 instead of __builtin_lfloor.
9462 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
9463
bf4787b2
JJ
94642014-03-12 Jakub Jelinek <jakub@redhat.com>
9465
9466 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
9467 (tree_ssa_ifcombine_bb_1): New function.
9468 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
9469 is an empty forwarder block to then_bb or vice versa and then_bb
9470 and else_bb are effectively swapped.
9471
7d55b948
CB
94722014-03-12 Christian Bruel <christian.bruel@st.com>
9473
9474 PR target/60264
0bb29a05
UB
9475 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
9476 REG_CFA_DEF_CFA note.
7d55b948
CB
9477 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
9478 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
9479
882a5fbe
TP
94802014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
9481
9482 PR tree-optimization/60454
9483 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
9484
a3cd0246
KT
94852014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9486
9487 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
9488 Do not define target_cpu_default2 to generic.
9489 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
9490 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
9491 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
9492
c888139c
JJ
94932014-03-12 Jakub Jelinek <jakub@redhat.com>
9494 Marc Glisse <marc.glisse@inria.fr>
9495
9496 PR tree-optimization/60502
9497 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
9498 instead of build_low_bits_mask.
9499
b24ca895
JJ
95002014-03-12 Jakub Jelinek <jakub@redhat.com>
9501
9502 PR middle-end/60482
9503 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
9504 if there are multiple uses, but op doesn't live on E edge.
9505 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
9506 clobber stmts before __builtin_unreachable.
9507
f1257268
RS
95082014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
9509
9510 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
9511 hard_frame_pointer_rtx.
9512 * cse.c (cse_insn): Remove volatile check.
9513 * cselib.c (cselib_process_insn): Likewise.
9514 * dse.c (scan_insn): Likewise.
9515
bae56bbb
JR
95162014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
9517
0bb29a05
UB
9518 * config/arc/arc.c (conditionalize_nonjump): New function,
9519 broken out of ...
9520 (arc_ifcvt): ... this.
bae56bbb
JR
9521 (arc_predicate_delay_insns): Use it.
9522
167ba5b9
JR
95232014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
9524
9525 * config/arc/predicates.md (extend_operand): During/after reload,
9526 allow const_int_operand.
9527 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
9528 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
9529 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
9530 to "i".
9531 (umulsi3_highpart_i): Likewise.
9532
dfd7d2d6
RB
95332014-03-11 Richard Biener <rguenther@suse.de>
9534
9535 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
9536 Add asserts to guard possible wrong-code bugs.
9537
af1ab449
RB
95382014-03-11 Richard Biener <rguenther@suse.de>
9539
9540 PR tree-optimization/60429
9541 PR tree-optimization/60485
9542 * tree-ssa-structalias.c (set_union_with_increment): Properly
9543 take into account all fields that overlap the shifted vars.
9544 (do_sd_constraint): Likewise.
9545 (do_ds_constraint): Likewise.
9546 (get_constraint_for_ptr_offset): Likewise.
9547
747425d0
CLT
95482014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
9549
9550 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
9551 (nios2_compute_frame_layout):
9552 Add calculation of cfun->machine->fp_save_offset.
9553 (nios2_expand_prologue): Correct setting of frame pointer register
9554 in prologue.
9555 (nios2_expand_epilogue): Update recovery of stack pointer from
9556 frame pointer accordingly.
9557 (nios2_initial_elimination_offset): Update calculation of offset
9558 for eliminating to HARD_FRAME_POINTER_REGNUM.
9559
31dad809
JJ
95602014-03-10 Jakub Jelinek <jakub@redhat.com>
9561
9562 PR ipa/60457
9563 * ipa.c (symtab_remove_unreachable_nodes): Don't call
9564 cgraph_get_create_node on VAR_DECLs.
9565
3c1c08d6
RB
95662014-03-10 Richard Biener <rguenther@suse.de>
9567
9568 PR middle-end/60474
9569 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
9570
21d89690
DR
95712014-03-08 Douglas B Rupp <rupp@gnat.com>
9572
9573 * config/vms/vms.opt (vms_float_format): New variable.
9574
634b8e9b
TB
95752014-03-08 Tobias Burnus <burnus@net-b.de>
9576
0bb29a05 9577 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 9578
f42c637e
PM
95792014-03-08 Paulo Matos <paulo@matos-sorge.com>
9580 Richard Biener <rguenther@suse.de>
9581
9582 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
9583 consistently accross all TUs.
9584 (run_gcc): Enable -fshort-double automatically at link at link-time
9585 and disallow override.
9586
bd65fc87
RS
95872014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
9588
9589 PR target/58271
9590 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
9591 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
9592 if they can't be used.
9593
040c446d
RO
95942014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9595
0bb29a05
UB
9596 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
9597 for Solaris 11/x86 ld.
040c446d
RO
9598 * configure: Regenerate.
9599
caa16d41
RO
96002014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9601
9602 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
9603 (LIB_TLS_SPEC): Save as ld_tls_libs.
9604 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
9605 (HAVE_AS_IX86_TLSLDM): New test.
9606 * configure, config.in: Regenerate.
9607 * config/i386/i386.c (legitimize_tls_address): Fall back to
9608 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
9609 cannot support TLS_MODEL_LOCAL_DYNAMIC.
9610 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
9611 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
9612
f3d83ffe
PM
96132014-03-07 Paulo Matos <paulo@matos-sorge.com>
9614
9615 * common.opt (fira-loop-pressure): Mark as optimization.
9616
b17a8b07
TS
96172014-03-07 Thomas Schwinge <thomas@codesourcery.com>
9618
9619 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
9620 an OpenMP mappable type.
9621
4973b0f9
MK
96222014-03-06 Matthias Klose <doko@ubuntu.com>
9623
9624 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
9625 MULTILIB_OSDIRNAMES is not defined.
9626
ab19cc6c
JJ
96272014-03-06 Jakub Jelinek <jakub@redhat.com>
9628 Meador Inge <meadori@codesourcery.com>
9629
9630 PR target/58595
9631 * config/arm/arm.c (arm_tls_symbol_p): Remove.
9632 (arm_legitimize_address): Call legitimize_tls_address for any
9633 arm_tls_referenced_p expression, handle constant addend. Call it
9634 before testing for !TARGET_ARM.
9635 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
9636
a74158c7
RB
96372014-03-06 Richard Biener <rguenther@suse.de>
9638
9639 PR middle-end/60445
9640 PR lto/60424
9641 PR lto/60427
9642 Revert
9643 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
9644
0bb29a05
UB
9645 * tree-streamer.c (record_common_node): Assert we don't record
9646 nodes with type double.
9647 (preload_common_node): Skip type double, complex double and double
9648 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 9649
f3ba16d0
RB
96502014-03-06 Richard Biener <rguenther@suse.de>
9651
9652 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
9653 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
9654 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
9655 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
9656 * lto-wrapper.c (merge_and_complain): Merge compile-time
9657 optimization levels.
9658 (run_gcc): And pass it through to the link options.
9659
4bb66ef3 96602014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
9661
9662 PR debug/60381
9663 Revert:
4bb66ef3 9664 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
9665 PR debug/59992
9666 * cselib.c (remove_useless_values): Skip to avoid quadratic
9667 behavior if the condition moved from...
9668 (cselib_process_insn): ... here holds.
9669
a05cca9b
JJ
96702014-03-05 Jakub Jelinek <jakub@redhat.com>
9671
487125e7
JJ
9672 PR plugins/59335
9673 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
9674 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
9675
a05cca9b
JJ
9676 PR plugins/59335
9677 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
9678 (TM_H): Add x86-tune.def.
9679
4e2cd668
KT
96802014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9681
9682 * config/aarch64/aarch64.c (generic_tunings):
9683 Use cortexa57_extra_costs.
9684
5525ed38
JJ
96852014-03-05 Jakub Jelinek <jakub@redhat.com>
9686
9687 PR lto/60404
9688 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
9689 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
9690 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
9691 cost for in_lto_p.
9692
0c72fa78
H
96932014-03-04 Heiher <r@hev.cc>
9694
9695 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
9696 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
9697
66b03f81
UB
96982014-03-04 Uros Bizjak <ubizjak@gmail.com>
9699
9700 * config/i386/predicates.md (const2356_operand): Change to ...
9701 (const2367_operand): ... this.
9702 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
9703 const2367_operand.
9704 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9705 (*avx512pf_scatterpf<mode>sf): Ditto.
9706 (avx512pf_scatterpf<mode>df): Ditto.
9707 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9708 (*avx512pf_scatterpf<mode>df): Ditto.
9709 * config/i386/i386.c (ix86_expand_builtin): Update
9710 incorrect hint operand error message.
9711
3c24e842
RB
97122014-03-04 Richard Biener <rguenther@suse.de>
9713
9714 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 9715
3740bda6
PM
97162014-03-04 Paulo Matos <paulo@matos-sorge.com>
9717
0bb29a05
UB
9718 * tree-streamer.c (record_common_node): Assert we don't record
9719 nodes with type double.
9720 (preload_common_node): Skip type double, complex double and double
9721 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 9722
91856735
RB
97232014-03-04 Richard Biener <rguenther@suse.de>
9724
9725 PR lto/60405
66b03f81 9726 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
9727 (lto_input_toplevel_asms): Likewise.
9728 * lto-section-in.c (lto_get_section_data): Instead do it here
9729 for every section.
66b03f81 9730
b75f28e1
RB
97312014-03-04 Richard Biener <rguenther@suse.de>
9732
9733 PR tree-optimization/60382
9734 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
9735 dead PHIs a reduction.
9736
dd96e83a
UB
97372014-03-03 Uros Bizjak <ubizjak@gmail.com>
9738
9739 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
9740 hint value.
9741 (_mm_prefetch): Move out of GCC target("sse") pragma.
9742 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
9743 GCC target("prfchw") pragma.
9744 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
9745 for locality <= 2.
9746 * config/i386/i386.c (ix86_option_override_internal): Enable
9747 -mprfchw with -mprefetchwt1.
9748
220c1a51
JR
97492014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9750
9751 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
9752 Mark as varying.
9753
212bfe71
JR
97542014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9755
9756 * opts.h (CL_PCH_IGNORE): Define.
9757 * targhooks.c (option_affects_pch_p):
9758 Return false for options that have CL_PCH_IGNORE set.
9759 * opt-functions.awk: Process PchIgnore.
9760 * doc/options.texi: Document PchIgnore.
9761
7a3d0a39
JR
9762 * config/arc/arc.opt (misize): Add PchIgnore property.
9763
b46ed885
BS
97642014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9765
9766 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
9767 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
9768 constraint on constants to permit them being loaded into
9769 GENERAL_REGS or BASE_REGS.
9770
c6f709ec
NC
97712014-03-03 Nick Clifton <nickc@redhat.com>
9772
9773 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
9774 anti-cacnonical alternatives.
9775 (negandhi3_real): New pattern.
9776 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
9777
5752f78f
SKS
97782014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
9779
9780 * config/avr/avr-mcus.def: Remove atxmega16x1.
9781 * config/avr/avr-tables.opt: Regenerate.
9782 * config/avr/t-multilib: Regenerate.
9783 * doc/avr-mmcu.texi: Regenerate.
9784
0afe7332 97852014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 9786 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
9787
9788 PR tree-optimization/58028
9789 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
9790 scalar dimensions.
9791
3416dd87
RR
97922014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9793
9794 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
9795 not handled by recognizers.
9796
79c7fda6
JJ
97972014-03-03 Jakub Jelinek <jakub@redhat.com>
9798
9799 PR middle-end/60175
9800 * function.c (expand_function_end): Don't emit
9801 clobber_return_register sequence if clobber_after is a BARRIER.
9802 * cfgexpand.c (construct_exit_block): Append instructions before
9803 return_label to prev_bb.
9804
715a5c85
BS
98052014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9806
9807 * config/rs6000/constraints.md: Document reserved use of "wc".
9808
9ffbf271
JH
98092014-03-02 Jan Hubicka <hubicka@ucw.cz>
9810
9811 PR ipa/60150
9812 * ipa.c (function_and_variable_visibility): When dissolving comdat
9813 group, also set all symbols to local.
9814
993df21e 98152014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 9816
993df21e
JH
9817 PR ipa/60306
9818
9819 Revert:
40c0a159 9820 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
9821 PR middle-end/58477
9822 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 9823
9b0af790
JB
98242014-03-02 Jon Beniston <jon@beniston.com>
9825
9826 PR bootstrap/48230
9827 PR bootstrap/50927
9828 PR bootstrap/52466
9829 PR target/46898
9830 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 9831 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 9832 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 9833 (simple_return, *simple_return): New patterns
9b0af790
JB
9834 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
9835 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
9836
c582aac9
PC
98372014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
9838
9839 * dwarf2out.c (gen_subprogram_die): Tidy.
9840
19305875
OE
98412014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
9842
9843 PR target/60071
9844 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
9845 (*mov_t_msb_neg_negc): ... this new insn.
9846
570215f9
JM
98472014-02-28 Jason Merrill <jason@redhat.com>
9848
9849 PR c++/58678
9850 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
9851 function.
9852
c5b001b5
PC
98532014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
9854
9855 PR c++/60314
9856 * dwarf2out.c (decltype_auto_die): New static.
9857 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
9858 (gen_type_die_with_usage): Handle 'decltype(auto)'.
9859 (is_cxx_auto): Likewise.
9860
5750e120
IB
98612014-02-28 Ian Bolton <ian.bolton@arm.com>
9862
9863 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
9864 we are not using general regs only.
9865
fba7c564
RB
98662014-02-28 Richard Biener <rguenther@suse.de>
9867
9868 PR target/60280
9869 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
9870 previous fix and only allow to remove trivial pre-headers
9871 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 9872 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 9873
4bb66ef3 98742014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
9875
9876 PR debug/59992
9877 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
9878 (cselib_preserved_hash_table): New.
9879 (preserve_constants_and_equivs): Move preserved vals to it.
9880 (cselib_find_slot): Look it up first.
9881 (cselib_init): Initialize it.
9882 (cselib_finish): Release it.
9883 (dump_cselib_table): Dump it.
9884
4bb66ef3 98852014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
9886
9887 PR debug/59992
9888 * cselib.c (remove_useless_values): Skip to avoid quadratic
9889 behavior if the condition moved from...
9890 (cselib_process_insn): ... here holds.
9891
4bb66ef3 98922014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
9893
9894 PR debug/57232
9895 * var-tracking.c (vt_initialize): Apply the same condition to
9896 preserve the CFA base value.
9897
9910c53c
JY
98982014-02-28 Joey Ye <joey.ye@arm.com>
9899
9900 PR target/PR60169
9901 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
9902 if reload in progress or completed.
9903
ef271341
TB
99042014-02-28 Tobias Burnus <burnus@net-b.de>
9905
9906 PR middle-end/60147
9907 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
9908 NAMELIST_DECL.
9909
c4f6267b
L
99102014-02-27 H.J. Lu <hongjiu.lu@intel.com>
9911
9912 * doc/tm.texi.in (Condition Code Status): Update documention for
9913 relative locations of cc0-setter and cc0-user.
9914
7a76df7f
JL
99152014-02-27 Jeff Law <law@redhat.com>
9916
9917 PR rtl-optimization/52714
9918 * combine.c (try_combine): When splitting an unrecognized PARALLEL
9919 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 9920 pattern we place into I3 is a (set (pc) ...).
7a76df7f 9921
728acca0
MP
99222014-02-27 Mikael Pettersson <mikpe@it.uu.se>
9923 Jeff Law <law@redhat.com>
9924
9925 PR rtl-optimization/49847
9926 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
9927 are in different blocks.
9928 * doc/tm.texi (Condition Code Status): Update documention for
9929 relative locations of cc0-setter and cc0-user.
9930
93aaa05d
VM
99312014-02-27 Vladimir Makarov <vmakarov@redhat.com>
9932
9933 PR target/59222
9934 * lra.c (lra_emit_add): Check SUBREG too.
9935
1ee6eb01
AS
99362014-02-27 Andreas Schwab <schwab@suse.de>
9937
9938 * config/m68k/m68k.c (m68k_option_override): Disable
9939 -flive-range-shrinkage for classic m68k.
9940 (m68k_override_options_after_change): Likewise.
9941
bb0d8e84
MP
99422014-02-27 Marek Polacek <polacek@redhat.com>
9943
9944 PR middle-end/59223
9945 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
9946 -Wmaybe-uninitialized.
9947
3157b879
AM
99482014-02-27 Alan Modra <amodra@gmail.com>
9949
3e17cad2 9950 PR target/57936
3157b879
AM
9951 * reload1.c (emit_input_reload_insns): When reload_override_in,
9952 set old to rl->in_reg when rl->in_reg is a subreg.
9953
bb750f4f
RB
99542014-02-26 Richard Biener <rguenther@suse.de>
9955
9956 PR bootstrap/60343
9957 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
9958
22c8aab3
IT
99592014-02-25 Ilya Tocar <ilya.tocar@intel.com>
9960
9961 * common/config/i386/predicates.md (const1256_operand): Remove.
9962 (const2356_operand): New.
9963 (const_1_to_2_operand): Remove.
9964 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
9965 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
9966 (*avx512pf_gatherpf<mode>sf): Ditto.
9967 (avx512pf_gatherpf<mode>df): Ditto.
9968 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9969 (*avx512pf_gatherpf<mode>df): Ditto.
9970 (avx512pf_scatterpf<mode>sf): Ditto.
9971 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9972 (*avx512pf_scatterpf<mode>sf): Ditto.
9973 (avx512pf_scatterpf<mode>df): Ditto.
9974 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9975 (*avx512pf_scatterpf<mode>df): Ditto.
9976 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
9977
260d3642
IT
99782014-02-26 Ilya Tocar <ilya.tocar@intel.com>
9979
9980 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
9981 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
9982 (_mm512_mask_testn_epi64_mask): Move to ...
9983 * config/i386/avx512cdintrin.h: Here.
9984 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
9985 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
9986 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
9987 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
9988 TARGET_AVX512F from TARGET_AVX512CD.
9989
477145c8
RB
99902014-02-26 Richard Biener <rguenther@suse.de>
9991
9992 PR ipa/60327
9993 * ipa.c (walk_polymorphic_call_targets): Properly guard
9994 call to inline_update_overall_summary.
9995
a3afdbb8
BC
99962014-02-26 Bin Cheng <bin.cheng@arm.com>
9997
9998 PR target/60280
84d7e312
UB
9999 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
10000 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
10001 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
10002 LOOPS_HAVE_PREHEADERS.
10003
b8a542c6
AP
100042014-02-25 Andrew Pinski <apinski@cavium.com>
10005
10006 * builtins.c (expand_builtin_thread_pointer): Create a new target
10007 when the target is NULL.
10008
88def637
VM
100092014-02-25 Vladimir Makarov <vmakarov@redhat.com>
10010
10011 PR rtl-optimization/60317
10012 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
10013 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
10014 * lra-assigns.c: Include params.h.
10015 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
10016 other reload pseudos considerations.
10017
68908a06
BS
100182014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10019
cf36d2cc
WS
10020 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
10021 to use canonical form for nor<mode>3.
68908a06 10022
db57bbc9
KT
100232014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10024
10025 PR target/55426
10026 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
10027 conversions.
10028
43b3f52f
IT
100292014-02-25 Ilya Tocar <ilya.tocar@intel.com>
10030
10031 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
10032 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
10033 (ix86_handle_option): Handle OPT_mprefetchwt1.
10034 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
10035 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
10036 PREFETCHWT1 CPUID.
10037 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
10038 OPTION_MASK_ISA_PREFETCHWT1.
10039 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
10040 (PTA_PREFETCHWT1): New.
10041 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
10042 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 10043 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
10044 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
10045 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 10046 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
10047 * config/i386/i386.opt (mprefetchwt1): New.
10048 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
10049 (_mm_prefetch): Handle intent to write.
10050 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
10051
84053e02
RB
100522014-02-25 Richard Biener <rguenther@suse.de>
10053
10054 PR middle-end/60291
10055 * emit-rtl.c (mem_attrs_htab): Remove.
10056 (mem_attrs_htab_hash): Likewise.
10057 (mem_attrs_htab_eq): Likewise.
84d7e312 10058 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
10059 (init_emit_once): Do not allocate mem_attrs_htab.
10060
4094757e
RB
100612014-02-25 Richard Biener <rguenther@suse.de>
10062
10063 PR lto/60319
10064 * lto-opts.c (lto_write_options): Output non-explicit conservative
10065 -fwrapv, -fno-trapv and -fno-strict-overflow.
10066 * lto-wrapper.c (merge_and_complain): Handle merging those options.
10067 (run_gcc): And pass them through.
10068
41b2d514 100692014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 10070
41b2d514
AB
10071 * sel-sched.c (calculate_new_fences): New parameter ptime.
10072 Calculate it as a maximum over all fence cycles.
10073 (sel_sched_region_2): Adjust the call to calculate_new_fences.
10074 Print the final schedule timing when sched_verbose.
10075
c1c99405
AB
100762014-02-25 Andrey Belevantsev <abel@ispras.ru>
10077
10078 PR rtl-optimization/60292
10079 * sel-sched.c (fill_vec_av_set): Do not reset target availability
10080 bit fot the fence instruction.
10081
1d9def42
AD
100822014-02-24 Alangi Derick <alangiderick@gmail.com>
10083
10084 * calls.h: Fix typo in comment.
10085
325fefe0
JDA
100862014-02-24 John David Anglin <danglin@gcc.gnu.org>
10087
10088 * config/pa/pa.c (pa_output_move_double): Don't valididate when
10089 adjusting offsetable addresses.
10090
ad43b47a
GW
100912014-02-24 Guozhi Wei <carrot@google.com>
10092
10093 * sparseset.h (sparseset_pop): Fix the wrong index.
10094
341c653c
WL
100952014-02-24 Walter Lee <walt@tilera.com>
10096
10097 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
10098 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
10099 triplet.
10100 * common/config/tilegx/tilegx-common.c
10101 (TARGET_DEFAULT_TARGET_FLAGS): Define.
10102 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
10103 (LINK_SPEC): Ditto.
10104 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
10105 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
10106 (tilegx_gimplify_va_arg_expr): Handle big endian.
10107 (tilegx_expand_unaligned_load): Ditto.
10108 (tilegx_expand_unaligned_store): Ditto.
10109 (TARGET_RETURN_IN_MSB): New.
10110 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
10111 (TARGET_ENDIAN_DEFAULT): New.
10112 (TARGET_BIG_ENDIAN): Handle big endian.
10113 (BYTES_BIG_ENDIAN): Ditto.
10114 (WORDS_BIG_ENDIAN): Ditto.
10115 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
10116 (ENDIAN_SPEC): New.
10117 (EXTRA_SPECS): New.
10118 * config/tilegx/tilegx.md (extv): Handle big endian.
10119 (extzv): Ditto.
10120 (insn_st<n>): Ditto.
10121 (insn_st<n>_add<bitsuffix>): Ditto.
10122 (insn_stnt<n>): Ditto.
10123 (insn_stnt<n>_add<bitsuffix>):Ditto.
10124 (vec_interleave_highv8qi): Handle big endian.
10125 (vec_interleave_highv8qi_be): New.
10126 (vec_interleave_highv8qi_le): New.
10127 (insn_v1int_h): Handle big endian.
10128 (vec_interleave_lowv8qi): Handle big endian.
10129 (vec_interleave_lowv8qi_be): New.
10130 (vec_interleave_lowv8qi_le): New.
10131 (insn_v1int_l): Handle big endian.
10132 (vec_interleave_highv4hi): Handle big endian.
10133 (vec_interleave_highv4hi_be): New.
10134 (vec_interleave_highv4hi_le): New.
10135 (insn_v2int_h): Handle big endian.
10136 (vec_interleave_lowv4hi): Handle big endian.
10137 (vec_interleave_lowv4hi_be): New.
10138 (vec_interleave_lowv4hi_le): New.
10139 (insn_v2int_l): Handle big endian.
10140 (vec_interleave_highv2si): Handle big endian.
10141 (vec_interleave_highv2si_be): New.
10142 (vec_interleave_highv2si_le): New.
10143 (insn_v4int_h): Handle big endian.
10144 (vec_interleave_lowv2si): Handle big endian.
10145 (vec_interleave_lowv2si_be): New.
10146 (vec_interleave_lowv2si_le): New.
10147 (insn_v4int_l): Handle big endian.
10148 * config/tilegx/tilegx.opt (mbig-endian): New option.
10149 (mlittle-endian): New option.
10150 * doc/install.texi: Document tilegxbe-linux.
10151 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
10152
f3fec19f
MJ
101532014-02-24 Martin Jambor <mjambor@suse.cz>
10154
10155 PR ipa/60266
10156 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
10157 there are no parameter descriptors.
10158
9039622a
AB
101592014-02-24 Andrey Belevantsev <abel@ispras.ru>
10160
10161 PR rtl-optimization/60268
10162 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
10163 initialization to ...
10164 (sched_rgn_init): ... here.
10165 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
10166
4bb66ef3 101672014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 10168
9039622a
AB
10169 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
10170 names.
e7e7bc4b 10171
4bb66ef3 101722014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
10173
10174 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
10175 definition.
10176
4bb66ef3 101772014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 10178
84d7e312
UB
10179 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
10180 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 10181
4bb66ef3 101822014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
10183
10184 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 10185 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 10186 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 10187 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
10188 to microblaze_expand_conditional_branch and consolidate logic.
10189 (microblaze_expand_conditional_branch): emit branch_compare
10190 insn instead of handling cmp op separate from branch insn.
10191
34c25d23
BS
101922014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10193
10194 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
10195 to permit subregs.
10196
a6eecdc1
BS
101972014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10198
d5a19af1
DH
10199 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
10200 define_insn with define_expand and new define_insn
10201 *altivec_lve<VI_char>x_internal.
10202 (altivec_stve<VI_char>x): Replace define_insn with define_expand
10203 and new define_insn *altivec_stve<VI_char>x_internal.
10204 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
10205 prototype.
10206 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
10207 lve*x built-ins.
10208 (altivec_expand_stvex_be): New function.
a6eecdc1 10209
8aa7d1fc
JR
102102014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
10211
10212 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 10213 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
10214 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
10215 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
10216
a810ee82
VM
102172014-02-21 Vladimir Makarov <vmakarov@redhat.com>
10218
10219 PR target/60298
10220 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
10221 instead of emit_move_insn.
10222
b90ab1ba
BS
102232014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10224
10225 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
10226 vspltw with vsldoi.
10227 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
10228 gen_altivec_vsumsws.
10229
1af73690
WS
102302014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10231
10232 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 10233 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
10234 (altivec_lvxl_<mode>): New define_expand incorporating
10235 -maltivec=be semantics where needed.
10236 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
10237 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
10238 semantics where needed.
10239 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
10240 (altivec_stvx_<mode>): New define_expand incorporating
10241 -maltivec=be semantics where needed.
10242 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
10243 VM2 iterator instead of V4SI.
10244 (altivec_stvxl_<mode>): New define_expand incorporating
10245 -maltivec=be semantics where needed.
10246 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
10247 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
10248 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
10249 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
10250 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
10251 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
10252 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
10253 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
10254 ALTIVEC_BUILTIN_STVXL.
84d7e312 10255 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
10256 (altivec_expand_stvx_be): Likewise.
10257 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
10258 (altivec_expand_lvx_be): Likewise.
10259 (altivec_expand_stvx_be): Likewise.
10260 (altivec_expand_builtin): Add cases for
10261 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
10262 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
10263 (altivec_init_builtins): Add definitions for
10264 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 10265 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 10266
0a39d07b
CM
102672014-02-21 Catherine Moore <clm@codesourcery.com>
10268
10269 * doc/invoke.texi (mvirt, mno-virt): Document.
10270 * config/mips/mips.opt (mvirt): New option.
10271 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
10272
f2556b68
RB
102732014-02-21 Richard Biener <rguenther@suse.de>
10274
10275 PR tree-optimization/60276
10276 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
10277 (STMT_VINFO_MIN_NEG_DIST): New macro.
10278 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
10279 STMT_VINFO_MIN_NEG_DIST.
10280 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
10281 made for negative dependence distances still hold.
10282
32417082
RB
102832014-02-21 Richard Biener <rguenther@suse.de>
10284
10285 PR middle-end/60291
10286 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
10287 DECL_INITIAL for globals not in the current function context.
10288
92261ce0
JJ
102892014-02-21 Jakub Jelinek <jakub@redhat.com>
10290
10291 PR tree-optimization/56490
10292 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
10293 * tree-ssa-uninit.c: Include params.h.
10294 (compute_control_dep_chain): Add num_calls argument, return false
10295 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
10296 num_calls to recursive call.
10297 (find_predicates): Change dep_chain into normal array,
10298 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
10299 variable and adjust compute_control_dep_chain caller.
10300 (find_def_preds): Likewise.
10301
aa6ef874
TS
103022014-02-21 Thomas Schwinge <thomas@codesourcery.com>
10303
10304 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
10305 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
10306
4b156fd0
NC
103072014-02-21 Nick Clifton <nickc@redhat.com>
10308
10309 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
10310 (pushhi1): Likewise.
10311 (popqi1): Add mode to pre_dec.
10312 (pophi1): Likewise.
10313
dffd569e
JJ
103142014-02-21 Jakub Jelinek <jakub@redhat.com>
10315
10316 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
10317 mode for mask of V8SFmode permutation.
10318
2fdc29e8
RH
103192014-02-20 Richard Henderson <rth@redhat.com>
10320
10321 PR c++/60272
10322 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
10323 a new pseudo for OLDVAL.
10324
aa637f66
JJ
103252014-02-20 Jakub Jelinek <jakub@redhat.com>
10326
10327 PR target/57896
10328 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
10329 gen_reg_rtx if d->testing_p.
10330 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
10331 if d->testing_p and we will certainly return true.
10332 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
10333 if d->testing_p.
10334
004a7e45
UB
103352014-02-20 Uros Bizjak <ubizjak@gmail.com>
10336
10337 * emit-rtl.c (gen_reg_rtx): Assert that
10338 crtl->emit.regno_pointer_align_length is non-zero.
10339
103402014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
10341
10342 PR c++/60272
10343 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
10344 on failure the store back into EXPECT.
10345
95ce7613
CLT
103462014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
10347 Sandra Loosemore <sandra@codesourcery.com>
10348
10349 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
10350 * config/nios2/nios2.c (nios2_function_profiler): Add
10351 -fPIC (flag_pic == 2) support.
95ce7613
CLT
10352 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
10353 (nios2_large_offset_p): New function.
10354 (nios2_unspec_reloc_p): Move up position, update to use
10355 nios2_large_offset_p.
10356 (nios2_unspec_address): Remove function.
10357 (nios2_unspec_offset): New function.
10358 (nios2_large_got_address): New function.
10359 (nios2_got_address): Add large offset support.
10360 (nios2_legitimize_tls_address): Update usage of removed and new
10361 functions.
10362 (nios2_symbol_binds_local_p): New function.
10363 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
10364 (nios2_legitimize_address): Update to use nios2_large_offset_p.
10365 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
10366 (nios2_print_operand): Merge H/L processing, add hiadj/lo
10367 processing for (const (unspec ...)).
10368 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
10369
efd2d3c8
RB
103702014-02-20 Richard Biener <rguenther@suse.de>
10371
10372 * tree-cfg.c (replace_uses_by): Mark altered BBs before
10373 doing the substitution.
004a7e45 10374 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 10375
9576e7b1
MJ
103762014-02-20 Martin Jambor <mjambor@suse.cz>
10377
10378 PR ipa/55260
10379 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
10380 info when checking whether lattices are bottom.
10381
25fe40b0
RB
103822014-02-20 Richard Biener <rguenther@suse.de>
10383
10384 PR middle-end/60221
10385 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
10386 regions at -O0.
10387
bd936951
JH
103882014-02-20 Jan Hubicka <hubicka@ucw.cz>
10389
10390 PR ipa/58555
004a7e45
UB
10391 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
10392 parameter specifying the scaling.
bd936951
JH
10393 (inline_call): Update.
10394 (want_inline_recursively): Guard division by zero.
10395 (recursive_inlining): Update.
10396 * ipa-inline.h (clone_inlined_nodes): Update.
10397
3c898e1a
IT
103982014-02-20 Ilya Tocar <ilya.tocar@intel.com>
10399
10400 PR target/60204
10401 * config/i386/i386.c (classify_argument): Pass structures of size
10402 64 bytes or less in register.
10403
df62b4af 104042014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 10405 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
10406
10407 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
10408 (_mm_rcp28_round_ss): Ditto.
10409 (_mm_rsqrt28_round_sd): Ditto.
10410 (_mm_rsqrt28_round_ss): Ditto.
10411 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
10412 (_mm_rcp14_round_ss): Ditto.
10413 (_mm_rsqrt14_round_sd): Ditto.
10414 (_mm_rsqrt14_round_ss): Ditto.
10415 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
10416 the first input operand, get rid of match_dup.
10417 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
10418 attribute to sse.
10419 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
10420 Ditto.
10421 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
10422 operand as the first input operand, set type attribute.
10423 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
10424 Set type attribute.
10425 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
10426 operand as the first input operand, set type attribute.
10427
9254148e
BS
104282014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10429
10430 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
10431 bit of zero.
10432
fff91793
L
104332014-02-19 H.J. Lu <hongjiu.lu@intel.com>
10434
10435 PR target/60207
10436 * config/i386/i386.c (construct_container): Remove TFmode check
10437 for X86_64_INTEGER_CLASS.
10438
6aa5b4b8
UB
104392014-02-19 Uros Bizjak <ubizjak@gmail.com>
10440
10441 PR target/59794
10442 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
10443 only when -Wpsabi is enabled.
10444
aadc1c43
MHD
104452014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
10446
10447 PR target/59799
10448 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
10449 passing arrays in registers are the same as for structs, so remove the
10450 special case for them.
10451
322913f8
EB
104522014-02-19 Eric Botcazou <ebotcazou@adacore.com>
10453
10454 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
10455 destination type, extract only the valid bits if the source type is not
10456 integral and has a different mode.
10457
fd9710dc
RB
104582014-02-19 Richard Biener <rguenther@suse.de>
10459
10460 PR ipa/60243
10461 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
10462 for all calls.
10463
4df65a85
RB
104642014-02-19 Richard Biener <rguenther@suse.de>
10465
10466 PR ipa/60243
10467 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
10468 (ipa_modify_call_arguments): Emit an argument load explicitely and
10469 preserve virtual SSA form there and for the replacement call.
10470 Do not update SSA form nor free dominance info.
10471
7fea98d8
JH
104722014-02-18 Jan Hubicka <hubicka@ucw.cz>
10473
10474 * ipa.c (function_and_variable_visibility): Also clear WEAK
10475 flag when disolving COMDAT_GROUP.
10476
0a2550e7
JH
104772014-02-18 Jan Hubicka <hubicka@ucw.cz>
10478
10479 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
10480 * ipa-prop.c (ipa_set_jf_known_type): Return early when
10481 not devirtualizing.
10482 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
10483 do more sanity checks.
10484 (detect_type_change): Return true when giving up early.
10485 (compute_complex_assign_jump_func): Fix type parameter of
10486 ipa_set_ancestor_jf.
10487 (compute_complex_ancestor_jump_func): Likewise.
10488 (update_jump_functions_after_inlining): Fix updating of
10489 ancestor function.
6aa5b4b8 10490 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 10491
2dbe8b70
JH
104922014-02-18 Jan Hubicka <hubicka@ucw.cz>
10493
10494 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
10495 inline clones when edge disappears.
10496
b9809dc4
MM
104972014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10498
10499 PR target/60203
10500 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
10501 Split 64-bit moves into 2 patterns. Do not allow the use of
10502 direct move for TDmode in little endian, since the decimal value
10503 has little endian bytes within a word, but the 64-bit pieces are
10504 ordered in a big endian fashion, and normal subreg's of TDmode are
10505 not allowed.
10506 (mov<mode>_64bit_dm): Likewise.
10507 (movtd_64bit_nodm): Likewise.
10508
bababbfb
EB
105092014-02-18 Eric Botcazou <ebotcazou@adacore.com>
10510
10511 PR tree-optimization/60174
10512 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
10513 statement of an SSA_NAME that occurs in an abnormal PHI node.
10514
70aacc97
JJ
105152014-02-18 Jakub Jelinek <jakub@redhat.com>
10516
10517 PR sanitizer/60142
10518 * final.c (SEEN_BB): Remove.
10519 (SEEN_NOTE, SEEN_EMITTED): Renumber.
10520 (final_scan_insn): Don't force_source_line on second
10521 NOTE_INSN_BASIC_BLOCK.
10522
223cdd15
UB
105232014-02-18 Uros Bizjak <ubizjak@gmail.com>
10524
10525 PR target/60205
10526 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
10527 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
10528 (type_natural_mode): Warn ABI change when %zmm register is not
10529 available for AVX512F vector value passing.
10530
48810be0
KT
105312014-02-18 Kai Tietz <ktietz@redhat.com>
10532
10533 PR target/60193
223cdd15
UB
10534 * config/i386/i386.c (ix86_expand_prologue): Use value in
10535 rax register as displacement when restoring %r10 or %rax.
10536 Fix wrong offset when restoring both registers.
48810be0 10537
20afe640
EB
105382014-02-18 Eric Botcazou <ebotcazou@adacore.com>
10539
10540 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
10541 assertion with conditional return.
10542
d0b50387
JJ
105432014-02-18 Jakub Jelinek <jakub@redhat.com>
10544 Uros Bizjak <ubizjak@gmail.com>
10545
10546 PR driver/60233
10547 * config/i386/driver-i386.c (host_detect_local_cpu): If
10548 YMM state is not saved by the OS, also clear has_f16c. Move
10549 CPUID 0x80000001 handling before YMM state saving checking.
10550
c4cd7435
AB
105512014-02-18 Andrey Belevantsev <abel@ispras.ru>
10552
10553 PR rtl-optimization/58960
10554 * haifa-sched.c (alloc_global_sched_pressure_data): New,
10555 factored out from ...
10556 (sched_init): ... here.
10557 (free_global_sched_pressure_data): New, factored out from ...
10558 (sched_finish): ... here.
10559 * sched-int.h (free_global_sched_pressure_data): Declare.
10560 * sched-rgn.c (nr_regions_initial): New static global.
10561 (haifa_find_rgns): Initialize it.
10562 (schedule_region): Disable sched-pressure for the newly
10563 generated regions.
10564
f0281fde
RB
105652014-02-17 Richard Biener <rguenther@suse.de>
10566
10567 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
10568 release SSA defs of pattern stmts.
10569
c742772c
RB
105702014-02-17 Richard Biener <rguenther@suse.de>
10571
10572 * tree-inline.c (expand_call_inline): Release the virtual
10573 operand defined by the call we are about to inline.
10574
0492158e
RB
105752014-02-17 Richard Biener <rguenther@suse.de>
10576
10577 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
10578
583a9919
KY
105792014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
10580 Ilya Tocar <ilya.tocar@intel.com>
10581
10582 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
10583 arguments order in builtin.
10584 (_mm512_permutexvar_epi64): Ditto.
10585 (_mm512_mask_permutexvar_epi64): Ditto
10586 (_mm512_maskz_permutexvar_epi32): Ditto
10587 (_mm512_permutexvar_epi32): Ditto
10588 (_mm512_mask_permutexvar_epi32): Ditto
10589
d737743f
BS
105902014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10591
223cdd15 10592 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
10593 (p8_vmrgow): Likewise.
10594
54c4bfd7
BS
105952014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10596
10597 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
10598 endian targets.
10599
518fea64
MM
106002014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
10601
10602 PR target/60203
10603 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
10604 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
10605 into 64-bit and 32-bit moves. On 64-bit moves, add support for
10606 using direct move instructions on ISA 2.07. Also adjust
10607 instruction length for 64-bit.
10608 (mov<mode>_64bit, TFmode/TDmode): Likewise.
10609 (mov<mode>_32bit, TFmode/TDmode): Likewise.
10610
61640916
AM
106112014-02-15 Alan Modra <amodra@gmail.com>
10612
10613 PR target/58675
10614 PR target/57935
10615 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
10616 find_replacement on parts of insn rtl that might be reloaded.
10617
a2b33cc3
RB
106182014-02-15 Richard Biener <rguenther@suse.de>
10619
10620 PR tree-optimization/60183
223cdd15 10621 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
10622 (tree_ssa_phiprop): Calculate and free post-dominators.
10623
059742a4
JL
106242014-02-14 Jeff Law <law@redhat.com>
10625
10626 PR rtl-optimization/60131
10627 * ree.c (get_extended_src_reg): New function.
223cdd15 10628 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
10629 (find_and_remove_re): Verify first operand of extension is
10630 a REG before adding the insns to the copy list.
10631
88f7c49a
RM
106322014-02-14 Roland McGrath <mcgrathr@google.com>
10633
10634 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
10635 * configure: Regenerated.
10636 * config.in: Regenerated.
10637 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
10638 instead of ASM_SHORT.
10639
2ae577fd
VM
106402014-02-14 Vladimir Makarov <vmakarov@redhat.com>
10641 Richard Earnshaw <rearnsha@arm.com>
10642
10643 PR rtl-optimization/59535
10644 * lra-constraints.c (process_alt_operands): Encourage alternative
10645 when unassigned pseudo class is superset of the alternative class.
10646 (inherit_reload_reg): Don't inherit when optimizing for code size.
10647 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
10648 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
10649 modes not less than 4 for Thumb1.
10650
5d88af08
KM
106512014-02-14 Kyle McMartin <kyle@redhat.com>
10652
10653 PR pch/60010
10654 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
10655
3069b421
RB
106562014-02-14 Richard Biener <rguenther@suse.de>
10657
10658 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
10659 (get_frame_arg): Drop the assert with langhook types_compatible_p.
10660 Do not strip INDIRECT_REFs.
10661
1966fd99
RB
106622014-02-14 Richard Biener <rguenther@suse.de>
10663
10664 PR lto/60179
10665 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
10666 DECL_FUNCTION_SPECIFIC_TARGET.
10667 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
10668 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 10669 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
10670 (write_ts_function_decl_tree_pointers): Do not stream
10671 DECL_FUNCTION_SPECIFIC_TARGET.
10672 * tree-streamer-in.c (unpack_ts_target_option): Remove.
10673 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
10674 (lto_input_ts_function_decl_tree_pointers): Do not stream
10675 DECL_FUNCTION_SPECIFIC_TARGET.
10676
b010d601
JJ
106772014-02-14 Jakub Jelinek <jakub@redhat.com>
10678
223cdd15 10679 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
10680 (get_initial_def_for_induction, vectorizable_induction): Ignore
10681 debug stmts when looking for exit_phi.
10682 (vectorizable_live_operation): Fix up condition.
10683
f2dafb91
CJW
106842014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10685
10686 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
10687 nreverse() because it changes the content of original tree list.
10688
59043e75
CJW
106892014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10690
10691 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
10692 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
10693
810f736f
CJW
106942014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10695
10696 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
10697 GNU coding standards.
10698
1a025bbf
JJ
106992014-02-13 Jakub Jelinek <jakub@redhat.com>
10700
10701 PR debug/60152
10702 * dwarf2out.c (gen_subprogram_die): Don't call
10703 add_calling_convention_attribute if subr_die is old_die.
10704
69479ebd
SS
107052014-02-13 Sharad Singhai <singhai@google.com>
10706
10707 * doc/optinfo.texi: Fix order of nodes.
10708
1287ae50
UB
107092014-02-13 Uros Bizjak <ubizjak@gmail.com>
10710
10711 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
10712 operands[2], not operands[3].
10713
43372236
RB
107142014-02-13 Richard Biener <rguenther@suse.de>
10715
10716 PR bootstrap/59878
10717 * doc/install.texi (ISL): Update recommended version to 0.12.2,
10718 mention the possibility of an in-tree build.
10719 (CLooG): Update recommended version to 0.18.1, mention the
10720 possibility of an in-tree build and clarify that the ISL
10721 bundled with CLooG does not work.
10722
a4d70cfa
JJ
107232014-02-13 Jakub Jelinek <jakub@redhat.com>
10724
10725 PR target/43546
10726 * expr.c (compress_float_constant): If x is a hard register,
10727 extend into a pseudo and then move to x.
10728
e697d119
DV
107292014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
10730
10731 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
10732 caused by bad second argument to warning_at() with -mhotpatch and
10733 nested functions (e.g. with gfortran).
10734
9f8da907
RS
107352014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
10736
10737 * opts.c (option_name): Remove "enabled by default" rider.
10738
0fdd1196
JDA
107392014-02-12 John David Anglin <danglin@gcc.gnu.org>
10740
10741 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
10742
0544c448
L
107432014-02-12 H.J. Lu <hongjiu.lu@intel.com>
10744 Uros Bizjak <ubizjak@gmail.com>
10745
10746 PR target/60151
1287ae50 10747 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
10748 * configure: Regenerated.
10749
3a938d75
RB
107502014-02-12 Richard Biener <rguenther@suse.de>
10751
10752 * vec.c (vec_prefix::calculate_allocation): Move as
10753 inline variant to vec.h.
10754 (vec_prefix::calculate_allocation_1): New out-of-line version.
10755 * vec.h (vec_prefix::calculate_allocation_1): Declare.
10756 (vec_prefix::m_has_auto_buf): Rename to ...
10757 (vec_prefix::m_using_auto_storage): ... this.
10758 (vec_prefix::calculate_allocation): Inline the easy cases
10759 and dispatch to calculate_allocation_1 which doesn't need the
10760 prefix address.
10761 (va_heap::reserve): Use gcc_checking_assert.
10762 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
10763 m_using_auto_storage.
10764 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
10765 member and adjust.
10766 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
10767 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
10768 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
10769
ad0188be
RB
107702014-02-12 Richard Biener <rguenther@suse.de>
10771
10772 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
10773 when we found a dependence.
10774
64e5ace5
TS
107752014-02-12 Thomas Schwinge <thomas@codesourcery.com>
10776
88ac13da
TS
10777 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
10778 common code...
10779 (maybe_fold_stmt): ... into this new function.
10780 * omp-low.c (lower_omp): Update comment.
10781
bae729a2
TS
10782 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
10783 last use.
10784
64e5ace5
TS
10785 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
10786 dereference.
10787
7b40f5cf
JG
107882014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
10789
10790 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
10791 identifiers in comments.
10792 (cortexa53_extra_costs): Likewise.
1287ae50 10793 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
10794 (cortexa7_extra_costs): Likewise.
10795 (cortexa12_extra_costs): Likewise.
10796 (cortexa15_extra_costs): Likewise.
10797 (v7m_extra_costs): Likewise.
10798
c4c8514e
RB
107992014-02-12 Richard Biener <rguenther@suse.de>
10800
10801 PR middle-end/60092
10802 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
10803 of posix_memalign being successful.
10804 (lower_stmt): Restrict lowering of posix_memalign to when
10805 -ftree-bit-ccp is enabled.
10806
8eb651bd
SKS
108072014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10808
10809 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
10810 arg_loc.
10811 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
10812
62b03553
EB
108132014-02-12 Eric Botcazou <ebotcazou@adacore.com>
10814
10815 PR rtl-optimization/60116
10816 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
10817 other_insn once the combination has been validated.
10818
ec77d61f
JH
108192014-02-11 Jan Hubicka <hubicka@ucw.cz>
10820
10821 PR lto/59468
10822 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
10823 and wrapper.
10824 * ipa-devirt.c: Include demangle.h
10825 (odr_violation_reported): New static variable.
10826 (add_type_duplicate): Update odr_violations.
10827 (maybe_record_node): Add completep parameter; update it.
10828 (record_target_from_binfo): Add COMPLETEP parameter;
10829 update it as needed.
10830 (possible_polymorphic_call_targets_1): Likewise.
10831 (struct polymorphic_call_target_d): Add nonconstruction_targets;
10832 rename FINAL to COMPLETE.
10833 (record_targets_from_bases): Sanity check we found the binfo;
10834 fix COMPLETEP updating.
10835 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
10836 parameter, fix computing of COMPLETEP.
1287ae50
UB
10837 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
10838 at LTO time do demangling.
ec77d61f
JH
10839 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
10840 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
10841 parameter.
10842 (gimple_get_virt_method_for_binfo): Likewise.
10843 * gimple-fold.h (gimple_get_virt_method_for_binfo,
10844 gimple_get_virt_method_for_vtable): Update prototypes.
10845
5a4dcd9b
VM
108462014-02-11 Vladimir Makarov <vmakarov@redhat.com>
10847
10848 PR target/49008
10849 * genautomata.c (add_presence_absence): Fix typo with
10850 {final_}presence_list.
10851
69b7afed
MM
108522014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
10853
10854 PR target/60137
10855 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
10856 for VSX/Altivec vectors that land in GPR registers.
10857
8268ad5c
JJ
108582014-02-11 Richard Henderson <rth@redhat.com>
10859 Jakub Jelinek <jakub@redhat.com>
10860
10861 PR debug/59776
10862 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
10863 around drhs if type conversion to lacc->type is not useless.
10864
4fd92af6
KT
108652014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10866
10867 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
10868 tuning struct.
10869 (cortex-a57.cortex-a53): Likewise.
10870 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
10871
7cb14cb8
KT
108722014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10873
10874 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
10875 arm_restrict_it.
10876
6d3715b9
RL
108772014-02-11 Renlin Li <Renlin.Li@arm.com>
10878
10879 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
10880 add_options_for_arm_vfp3.
10881
cddddfff
JL
108822014-02-11 Jeff Law <law@redhat.com>
10883
10884 PR middle-end/54041
10885 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
10886 object with an undesirable mode.
10887
7c1aef7e
RO
108882014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10889
10890 PR libgomp/60107
10891 * config/i386/sol2-9.h: New file.
10892 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
10893 *-*-solaris2.9*): Use it.
10894
4bb66ef3 108952014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
10896
10897 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
10898 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
10899
4bb66ef3 109002014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
10901
10902 * config/microblaze/microblaze.c: Extend mcpu version format
10903
4bb66ef3 109042014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
10905
10906 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
10907
004a7e45 109082014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
10909
10910 PR target/59927
10911 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
10912 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
10913 ms-abi vs -mno-accumulate-outgoing-args.
10914 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
10915 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
10916 respect to ms-abi.
10917
e2fc3b4f
BE
109182014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
10919
10920 PR middle-end/60080
10921 * cfgexpand.c (expand_asm_operands): Attach source location to
10922 ASM_INPUT rtx objects.
10923 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
10924
3a22ad89
NC
109252014-02-10 Nick Clifton <nickc@redhat.com>
10926
10927 * config/mn10300/mn10300.c (popcount): New function.
10928 (mn10300_expand_prologue): Include saved registers in stack usage
10929 count.
10930
f27be550
JL
109312014-02-10 Jeff Law <law@redhat.com>
10932
10933 PR middle-end/52306
10934 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 10935 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 10936
e15e3815
UW
109372014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10938
10939 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
10940 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
10941 -mcall-openbsd, or -mcall-linux.
10942 (CC1_ENDIAN_BIG_SPEC): Remove.
10943 (CC1_ENDIAN_LITTLE_SPEC): Remove.
10944 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10945 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
10946 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
10947 and %cc1_endian_default.
10948 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10949
4e1f39e4
RB
109502014-02-10 Richard Biener <rguenther@suse.de>
10951
10952 PR tree-optimization/60115
10953 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
10954 MEM_REF handling. Properly verify that the accesses are not
10955 out of the objects bound.
10956
e7af1c22
KT
109572014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10958
10959 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
10960 coretex to cortex.
10961
79c7de84
EB
109622014-02-10 Eric Botcazou <ebotcazou@adacore.com>
10963
10964 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
10965 proper constants and fix formatting.
10966 (possible_polymorphic_call_targets): Fix formatting.
10967
cf73ee60
KY
109682014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
10969 Ilya Tocar <ilya.tocar@intel.com>
10970
10971 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
10972 (_mm512_loadu_epi32): Renamed into...
10973 (_mm512_loadu_si512): This.
10974 (_mm512_storeu_epi32): Renamed into...
10975 (_mm512_storeu_si512): This.
10976 (_mm512_maskz_ceil_ps): Removed.
10977 (_mm512_maskz_ceil_pd): Ditto.
10978 (_mm512_maskz_floor_ps): Ditto.
10979 (_mm512_maskz_floor_pd): Ditto.
10980 (_mm512_floor_round_ps): Ditto.
10981 (_mm512_floor_round_pd): Ditto.
10982 (_mm512_ceil_round_ps): Ditto.
10983 (_mm512_ceil_round_pd): Ditto.
10984 (_mm512_mask_floor_round_ps): Ditto.
10985 (_mm512_mask_floor_round_pd): Ditto.
10986 (_mm512_mask_ceil_round_ps): Ditto.
10987 (_mm512_mask_ceil_round_pd): Ditto.
10988 (_mm512_maskz_floor_round_ps): Ditto.
10989 (_mm512_maskz_floor_round_pd): Ditto.
10990 (_mm512_maskz_ceil_round_ps): Ditto.
10991 (_mm512_maskz_ceil_round_pd): Ditto.
10992 (_mm512_expand_pd): Ditto.
10993 (_mm512_expand_ps): Ditto.
10994 * config/i386/i386.c (ix86_builtins): Remove
10995 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
10996 (bdesc_args): Ditto.
10997 * config/i386/predicates.md (const1256_operand): New.
10998 (const_1_to_2_operand): Ditto.
10999 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
11000 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
11001 (*avx512pf_gatherpf<mode>sf): Ditto.
11002 (avx512pf_gatherpf<mode>df): Ditto.
11003 (*avx512pf_gatherpf<mode>df_mask): Ditto.
11004 (*avx512pf_gatherpf<mode>df): Ditto.
11005 (avx512pf_scatterpf<mode>sf): Ditto.
11006 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
11007 (*avx512pf_scatterpf<mode>sf): Ditto.
11008 (avx512pf_scatterpf<mode>df): Ditto.
11009 (*avx512pf_scatterpf<mode>df_mask): Ditto.
11010 (*avx512pf_scatterpf<mode>df): Ditto.
11011 (avx512f_expand<mode>): Removed.
11012 (<shift_insn><mode>3<mask_name>): Change predicate type.
11013
8fcbce72
JJ
110142014-02-08 Jakub Jelinek <jakub@redhat.com>
11015
41475e96
JJ
11016 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
11017 not at the end of datarefs vector use ordered_remove to avoid
11018 reordering datarefs vector.
11019
c74559df
JJ
11020 PR c/59984
11021 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
11022 mark local addressable non-static vars as GOVD_PRIVATE
11023 instead of GOVD_LOCAL.
11024 * omp-low.c (lower_omp_for): Move gimple_bind_vars
11025 and BLOCK_VARS of gimple_bind_block to new_stmt rather
11026 than copying them.
11027
8fcbce72
JJ
11028 PR middle-end/60092
11029 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
11030 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
11031 assume_aligned or alloc_align attributes.
11032 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
11033 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
11034 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
11035 calls to functions with assume_aligned or alloc_align attributes.
11036 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 11037
451bdd23
TG
110382014-02-08 Terry Guo <terry.guo@arm.com>
11039
11040 * doc/invoke.texi: Document ARM -march=armv7e-m.
11041
d31d42c7
JJ
110422014-02-08 Jakub Jelinek <jakub@redhat.com>
11043
d71dfeb7
JJ
11044 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
11045 flag on __cilkrts_rethrow builtin.
11046
d31d42c7
JJ
11047 PR ipa/60026
11048 * ipa-cp.c (determine_versionability): Fail at -O0
11049 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
11050 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
11051
11052 Revert:
11053 2014-02-04 Jakub Jelinek <jakub@redhat.com>
11054
11055 PR ipa/60026
11056 * tree-inline.c (copy_forbidden): Fail for
11057 __attribute__((optimize (0))) functions.
11058
a0a98fef
JH
110592014-02-07 Jan Hubicka <hubicka@ucw.cz>
11060
11061 * varpool.c: Include pointer-set.h.
11062 (varpool_remove_unreferenced_decls): Variables in other partitions
11063 will not be output; be however careful to not lose information
11064 about partitioning.
11065
8c311b50
JH
110662014-02-07 Jan Hubicka <hubicka@ucw.cz>
11067
11068 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
11069 lookup in the vtable constructor.
11070
7ba03e5e
JL
110712014-02-07 Jeff Law <law@redhat.com>
11072
63e6247d
JL
11073 PR target/40977
11074 * config/m68k/m68k.md (ashldi_extsi): Turn into a
11075 define_insn_and_split.
11076
7ba03e5e
JL
11077 * ipa-inline.c (inline_small_functions): Fix typos.
11078
177bc204
RS
110792014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11080
11081 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
11082 (s390_can_use_return_insn): Declare.
11083 * config/s390/s390.h (EPILOGUE_USES): Define.
11084 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
11085 instructions.
11086 (s390_chunkify_start): Handle return JUMP_LABELs.
11087 (s390_early_mach): Emit a main_pool instruction on the entry edge.
11088 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
11089 (s390_can_use_return_insn): New functions.
11090 (s390_fix_long_loop_prediction): Handle conditional returns.
11091 (TARGET_SET_UP_BY_PROLOGUE): Define.
11092 * config/s390/s390.md (ANY_RETURN): New code iterator.
11093 (*creturn, *csimple_return, return, simple_return): New patterns.
11094
0621cf3c
RS
110952014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11096
11097 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
11098 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
11099 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
11100 REG_CFA_RESTORE list when deciding not to restore a register.
11101
4099494d
RS
111022014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11103
11104 * config/s390/s390.c: Include tree-pass.h and context.h.
11105 (s390_early_mach): New function, split out from...
11106 (s390_emit_prologue): ...here.
11107 (pass_data_s390_early_mach): New pass structure.
11108 (pass_s390_early_mach): New class.
11109 (s390_option_override): Create and register early_mach pass.
11110 Move to end of file.
11111
3489cc33
RS
111122014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11113
11114 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
11115 to match for the exit block.
11116
75cc21e2
AK
111172014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11118
11119 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
11120 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
11121 Reject misaligned operands.
11122
8bd7070a
AK
111232014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11124
1287ae50 11125 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 11126
831806cb
RB
111272014-02-07 Richard Biener <rguenther@suse.de>
11128
11129 PR middle-end/60092
11130 * gimple-low.c (lower_builtin_posix_memalign): New function.
11131 (lower_stmt): Call it to lower posix_memalign in a way
11132 to make alignment info accessible.
11133
7ee9c16f
JJ
111342014-02-07 Jakub Jelinek <jakub@redhat.com>
11135
11136 PR c++/60082
11137 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
11138 __builtin_setjmp_receiver.
11139
32cab212
RB
111402014-02-07 Richard Biener <rguenther@suse.de>
11141
11142 PR middle-end/60092
11143 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
11144 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
11145 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
11146 Handle BUILT_IN_POSIX_MEMALIGN.
11147 (find_func_clobbers): Likewise.
11148 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
11149 (call_may_clobber_ref_p_1): Likewise.
11150
6d6af792
JH
111512014-02-06 Jan Hubicka <hubicka@ucw.cz>
11152
11153 PR ipa/59918
1287ae50
UB
11154 * ipa-devirt.c (record_target_from_binfo): Remove overactive
11155 sanity check.
6d6af792 11156
3c0f1105
JH
111572014-02-06 Jan Hubicka <hubicka@ucw.cz>
11158
11159 PR ipa/59469
11160 * lto-cgraph.c (lto_output_node): Use
11161 symtab_get_symbol_partitioning_class.
11162 (lto_output_varpool_node): likewise.
11163 (symtab_get_symbol_partitioning_class): Move here from
11164 lto/lto-partition.c
11165 * cgraph.h (symbol_partitioning_class): Likewise.
11166 (symtab_get_symbol_partitioning_class): Declare.
11167
b3bb0eb9
JH
111682014-02-06 Jan Hubicka <hubicka@ucw.cz>
11169
11170 * ggc.h (ggc_internal_cleared_alloc): New macro.
11171 * vec.h (vec_safe_copy): Handle memory stats.
11172 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
11173 * target-globals.c (save_target_globals): Likewise.
11174
111752014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
11176
11177 PR target/60077
11178 * expr.c (emit_move_resolve_push): Export; be bit more selective
11179 on when to clear alias set.
11180 * expr.h (emit_move_resolve_push): Declare.
11181 * function.h (struct function): Add tail_call_marked.
11182 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
11183 * config/i386/i386-protos.h (ix86_expand_push): Remove.
11184 * config/i386/i386.md (TImode move expander): De not call
11185 ix86_expand_push.
11186 (FP push expanders): Preserve memory attributes.
11187 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 11188 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
11189 (ix86_expand_push): Remove.
11190 * config/i386/mmx.md (push<mode>1): Remove.
11191
47d552eb
JJ
111922014-02-06 Jakub Jelinek <jakub@redhat.com>
11193
11194 PR rtl-optimization/60030
11195 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
11196 lopart with paradoxical subreg before shifting it up by hprec.
11197
45c75ea7
KT
111982014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11199
11200 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
11201 Remove extra newline at end of file.
11202 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
11203 (arm_issue_rate): Handle cortexa57.
11204 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
11205 (cortex-a57.cortex-a53): Likewise.
11206
af116cae
JJ
112072014-02-06 Jakub Jelinek <jakub@redhat.com>
11208
652a3e3a
JJ
11209 PR target/59575
11210 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
11211 don't record in REG_FRAME_RELATED_EXPR registers not set in that
11212 bitmask.
11213 (arm_expand_prologue): Adjust all callers.
11214 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
11215 info, registers also at the lowest numbered registers side. Use
11216 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
11217 XEXP.
11218
af116cae 11219 PR debug/59992
1287ae50
UB
11220 * var-tracking.c (adjust_mems): Before adding a SET to
11221 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 11222
fdcee33b
AM
112232014-02-06 Alan Modra <amodra@gmail.com>
11224
11225 PR target/60032
11226 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
11227 change SDmode to DDmode when lra_in_progress.
11228
251901a0
JJ
112292014-02-06 Jakub Jelinek <jakub@redhat.com>
11230
d3ef8c53
JJ
11231 PR middle-end/59150
11232 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
11233 free_data_ref on the dr first, and before goto again also set dr
11234 to the next dr. For simd_lane_access, free old datarefs[i] before
11235 overwriting it. For get_vectype_for_scalar_type failure, don't
11236 free_data_ref if simd_lane_access.
11237
2754b38f
JJ
11238 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
11239
251901a0
JJ
11240 PR target/60062
11241 * tree.h (opts_for_fn): New inline function.
11242 (opt_for_fn): Define.
11243 * config/i386/i386.c (ix86_function_regparm): Use
11244 opt_for_fn (decl, optimize) instead of optimize.
11245
4a985a37
MS
112462014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
11247
11248 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
11249 for SYMBOL_REF in large memory model.
11250
c366d38c
KT
112512014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11252
11253 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
11254 and crypto support.
11255 (cortex-a57): Likewise.
11256 (cortex-a57.cortex-a53): Likewise.
11257
c801e246
YG
112582014-02-06 Yury Gribov <y.gribov@samsung.com>
11259 Kugan Vivekanandarajah <kuganv@linaro.org>
11260
11261 * config/arm/arm.c (arm_vector_alignment_reachable): Check
11262 unaligned_access.
11263 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
11264
d50f7b84
RB
112652014-02-06 Richard Biener <rguenther@suse.de>
11266
11267 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
11268 set_loop_copy and initialize_original_copy_tables.
11269
179d2941
AV
112702014-02-06 Alex Velenko <Alex.Velenko@arm.com>
11271
11272 * config/aarch64/aarch64-simd.md
11273 (aarch64_ashr_simddi): Change QI to SI.
11274
78b1469d
JH
112752014-02-05 Jan Hubicka <hubicka@ucw.cz>
11276 Jakub Jelinek <jakub@redhat.com>
11277
11278 PR middle-end/60013
11279 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
11280 of the dataflow.
11281
d85f364c
BS
112822014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11283
11284 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
11285 CODE_FOR_altivec_vpku[hw]um to
11286 CODE_FOR_altivec_vpku[hw]um_direct.
11287 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
11288 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
11289 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
11290 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
11291
7b1cd427
BS
112922014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11293
11294 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
11295 generation for -maltivec=be.
11296 (altivec_vsumsws): Simplify redundant test.
11297
52a93551
BS
112982014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11299
11300 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
11301 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
11302 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
11303 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
11304 gen_altivec_vpkuwum.
11305 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
11306 BYTES_BIG_ENDIAN.
11307 (altivec_vpks<VI_char>ss): Likewise.
11308 (altivec_vpks<VI_char>us): Likewise.
11309 (altivec_vpku<VI_char>us): Likewise.
11310 (altivec_vpku<VI_char>um): Likewise.
11311 (altivec_vpku<VI_char>um_direct): New (copy of
11312 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
11313 internal use).
11314 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
11315 target is little endian and -maltivec=be is not specified.
11316 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 11317 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
11318 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
11319 target is little endian and -maltivec=be is not specified.
11320 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 11321 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
11322 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
11323 little endian and -maltivec=be is not specified.
11324 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
11325 little endian and -maltivec=be is not specified.
11326
004a7e45 113272014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
11328
11329 PR debug/52727
11330 * combine-stack-adj.c: Revert r206943.
11331 * sched-int.h (struct deps_desc): Add last_args_size.
11332 * sched-deps.c (init_deps): Initialize it.
11333 (sched_analyze_insn): Add OUTPUT dependencies between insns that
11334 contain REG_ARGS_SIZE notes.
11335
f300e7b8
JH
113362014-02-05 Jan Hubicka <hubicka@ucw.cz>
11337
11338 * lto-cgraph.c (asm_nodes_output): Make global.
11339 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 11340 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
11341 (driver_handle_option): Handle OPT_fwpa.
11342
609524d2
JJ
113432014-02-05 Jakub Jelinek <jakub@redhat.com>
11344
add5c763
JJ
11345 PR ipa/59947
11346 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
11347 a comment typo and formatting issue. If odr_hash hasn't been
11348 created, return vNULL and set *completep to false.
11349
609524d2
JJ
11350 PR middle-end/57499
11351 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
11352 bb with no successors.
11353
05ab6e21
JG
113542014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
11355
11356 PR target/59718
11357 * doc/invoke.texi (-march): Clarify documentation for ARM.
11358 (-mtune): Likewise.
11359 (-mcpu): Likewise.
11360
d55d9ed0
RB
113612014-02-05 Richard Biener <rguenther@suse.de>
11362
11363 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
11364 when not vectorizing because of too many alias checks.
11365 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
11366 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
11367
c70da878
NC
113682014-02-05 Nick Clifton <nickc@redhat.com>
11369
11370 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 11371 accept extended registers in any mode when compiling for the MN10300.
c70da878 11372
25a07c7e
YG
113732014-02-05 Yury Gribov <y.gribov@samsung.com>
11374
11375 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
11376 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
11377 sanitization attributes.
11378 (can_inline_edge_p): Likewise.
11379 (sanitize_attrs_match_for_inline_p): New function.
11380
4bf2a588
JH
113812014-02-04 Jan Hubicka <hubicka@ucw.cz>
11382
11383 * ipa-prop.c (detect_type_change): Shor circuit testing of
11384 type changes on THIS pointer.
11385
d92f4df0
JDA
113862014-02-04 John David Anglin <danglin@gcc.gnu.org>
11387
11388 PR target/59777
11389 * config/pa/pa.c (legitimize_tls_address): Return original address
11390 if not passed a SYMBOL_REF rtx.
11391 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
11392 addresses.
11393 (pa_emit_move_sequence): Simplify TLS source operands.
11394 (pa_legitimate_constant_p): Reject all TLS constants.
11395 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
11396 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
11397
d665f8dd
JH
113982014-02-04 Jan Hubicka <hubicka@ucw.cz>
11399
11400 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
11401 groups when we know they are controlled by LTO.
11402 * varasm.c (default_binds_local_p_1): If object is in other partition,
11403 it will be resolved locally.
11404
6a071860
BE
114052014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
11406
e2fc3b4f 11407 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 11408 use SSIZE_MAX because it is not always defined.
6a071860 11409
8e9d68a9
VM
114102014-02-04 Vladimir Makarov <vmakarov@redhat.com>
11411
11412 PR bootstrap/59913
11413 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
11414 threshold for pseudo splitting.
11415 (update_ebb_live_info): Process call argument hard registers and
11416 hard registers from insn definition too.
11417 (max_small_class_regs_num): New constant.
11418 (inherit_in_ebb): Update live hard regs through EBBs. Update
11419 reloads_num only for small register classes. Don't split for
11420 outputs of jumps.
11421
8472fa80
MT
114222014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
11423
11424 PR ipa/60058
11425 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
11426 is non-null.
11427
df98e37f
JH
114282014-02-04 Jan Hubicka <hubicka@ucw.cz>
11429
1287ae50
UB
11430 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
11431 visibility is safe.
df98e37f 11432
71e55f04
MP
114332014-02-04 Marek Polacek <polacek@redhat.com>
11434
11435 * gdbinit.in (pel): Define.
11436
229e56f9
BE
114372014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
11438
11439 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
11440 behavior.
11441
c39276b8
RB
114422014-02-04 Richard Biener <rguenther@suse.de>
11443
11444 PR lto/59723
11445 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
11446 in function context local.
11447 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
11448 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
11449 similar to LTO_imported_decl_ref.
11450
66b3ed5f
JJ
114512014-02-04 Jakub Jelinek <jakub@redhat.com>
11452
029ce7a2
JJ
11453 PR tree-optimization/60002
11454 * cgraphclones.c (build_function_decl_skip_args): Clear
11455 DECL_LANG_SPECIFIC.
11456
8e91d222
JJ
11457 PR tree-optimization/60023
11458 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
11459 false to gsi_replace.
11460 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
11461 has been in some EH region and vec_stmt could throw, add
11462 vec_stmt into the same EH region.
11463 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
11464 has no lhs, ignore it.
11465 * internal-fn.c (expand_MASK_LOAD): Likewise.
11466
eb259c4a
JJ
11467 PR ipa/60026
11468 * tree-inline.c (copy_forbidden): Fail for
11469 __attribute__((optimize (0))) functions.
11470
92d05580
JJ
11471 PR other/58712
11472 * omp-low.c (simd_clone_struct_copy): If from->inbranch
11473 is set, copy one less argument.
30540e79
JJ
11474 (expand_simd_clones): Don't subtract clone_info->inbranch
11475 from simd_clone_struct_alloc argument.
92d05580 11476
be3afd67
JJ
11477 PR rtl-optimization/57915
11478 * recog.c (simplify_while_replacing): If all unary/binary/relational
11479 operation arguments are constant, attempt to simplify those.
11480
66b3ed5f
JJ
11481 PR middle-end/59261
11482 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
11483 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
11484
5961d779
RB
114852014-02-04 Richard Biener <rguenther@suse.de>
11486
11487 PR tree-optimization/60012
11488 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
11489 TBAA disambiguation to all DDRs.
11490
91da0481
RO
114912014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11492
11493 PR target/59788
11494 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
11495 (LINK_SPEC): Use it for -shared, -shared-libgcc.
11496
39960d1c
JH
114972014-02-03 Jan Hubicka <hubicka@ucw.cz>
11498
11499 PR ipa/59882
11500 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
11501
115022014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
11503
11504 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
11505 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
11506
39960d1c 115072014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
11508
11509 PR ipa/59831
11510 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
11511 to figure out targets of polymorphic calls with known decl.
11512 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
11513 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
11514 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
11515 (get_polymorphic_call_info): ... here.
11516 (get_polymorphic_call_info_from_invariant): New function.
11517
39960d1c 115182014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
11519
11520 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
11521 lookup via vtable pointer; check for type consistency
11522 and turn inconsitent facts into UNREACHABLE.
11523 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
11524 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
11525 type inconsistent querries; return UNREACHABLE instead.
9de2f554 11526
ade3ff24
RH
115272014-02-03 Richard Henderson <rth@twiddle.net>
11528
11529 PR tree-opt/59924
11530 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
11531 already processed this node.
11532 (normalize_one_pred_1): Pass along mark_set.
11533 (normalize_one_pred): Create and destroy a pointer_set_t.
11534 (normalize_one_pred_chain): Likewise.
11535
55428cc3
LA
115362014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
11537
11538 PR gcov-profile/58602
1287ae50 11539 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 11540
85942f45
JH
115412014-02-03 Jan Hubicka <hubicka@ucw.cz>
11542
11543 PR ipa/59831
1287ae50
UB
11544 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
11545 -fno-devirtualize; try to devirtualize by the knowledge of
11546 virtual table pointer given by aggregate propagation.
85942f45 11547 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 11548 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
11549 is relevant for polymorphic calls.
11550 (determine_known_aggregate_parts): Add arg_type parameter; use it
11551 instead of determining the type from pointer type.
11552 (ipa_compute_jump_functions_for_edge): Update call of
11553 determine_known_aggregate_parts.
11554 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
11555 (gimple_get_virt_method_for_binfo): ... here; simplify using
11556 vtable_pointer_value_to_vtable.
11557 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
11558 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 11559 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
11560 (vtable_pointer_value_to_vtable): Break out from ...; handle also
11561 POINTER_PLUS_EXPR.
11562 (vtable_pointer_value_to_binfo): ... here.
11563 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
11564
bddc974e
TJ
115652014-02-03 Teresa Johnson <tejohnson@google.com>
11566
11567 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
11568 redef of outer loop index variable.
11569
5d77fb19
MG
115702014-02-03 Marc Glisse <marc.glisse@inria.fr>
11571
11572 PR c++/53017
11573 PR c++/59211
11574 * doc/extend.texi (Function Attributes): Typo.
11575
cf5b2be2
CH
115762014-02-03 Cong Hou <congh@google.com>
11577
11578 PR tree-optimization/60000
11579 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
11580 if the vectorized statement is a store. A store statement can only
11581 appear at the end of pattern statements.
11582
a2a1ddb5
L
115832014-02-03 H.J. Lu <hongjiu.lu@intel.com>
11584
11585 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
11586 (ix86_option_override_internal): Default long double to 64-bit for
11587 32-bit Bionic and to 128-bit for 64-bit Bionic.
11588
11589 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
11590 TARGET_LONG_DOUBLE_128 is true.
11591 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
11592
11593 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
11594 (mlong-double-64): Negate -mlong-double-128.
11595 (mlong-double-128): New option.
11596
11597 * config/i386/i386-c.c (ix86_target_macros): Define
11598 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
11599
11600 * doc/invoke.texi: Document -mlong-double-128.
11601
f742cf90
L
116022014-02-03 H.J. Lu <hongjiu.lu@intel.com>
11603
11604 PR rtl-optimization/60024
11605 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
11606
8f36fd30
MT
116072014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
11608
1287ae50 11609 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 11610
861ec4f3
AB
116112014-02-03 Andrey Belevantsev <abel@ispras.ru>
11612
11613 PR rtl-optimization/57662
11614 * sel-sched.c (code_motion_path_driver): Do not mark already not
11615 existing blocks in the visiting bitmap.
11616
fe08255d
AB
116172014-02-03 Andrey Belevantsev <abel@ispras.ru>
11618
11619 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
11620 on the insn being emitted.
11621
96d3a240
JG
116222014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
11623 Will Deacon <will.deacon@arm.com>
11624
11625 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
11626
9dd6c9f7
KT
116272014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11628
11629 * config/arm/arm-tables.opt: Regenerate.
11630
60331d00
BS
116312014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11632
11633 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
11634 for vector types other than V16QImode.
11635 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
11636 define_expand, and call altivec_expand_vec_perm_le when producing
11637 code with little endian element order.
11638 (*altivec_vperm_<mode>_internal): New insn having previous
11639 behavior of altivec_vperm_<mode>.
11640 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
11641 altivec_expand_vec_perm_le when producing code with little endian
11642 element order.
11643 (*altivec_vperm_<mode>_uns_internal): New insn having previous
11644 behavior of altivec_vperm_<mode>_uns.
11645
b80afde9
BS
116462014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11647
11648 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
11649 (altivec_vsumsws): Add handling for -maltivec=be with a little
11650 endian target.
11651 (altivec_vsumsws_direct): New.
11652 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
11653 gen_altivec_vsumsws.
11654
39960d1c 116552014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
11656
11657 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
11658 vtable_pointer_value_to_binfo): New functions.
11659 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
11660 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
11661
02b67731
SL
116622014-02-02 Sandra Loosemore <sandra@codesourcery.com>
11663
11664 * config/nios2/nios2.md (load_got_register): Initialize GOT
11665 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
11666 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
11667
2ace77c2
JH
116682014-02-02 Jan Hubicka <hubicka@ucw.cz>
11669
11670 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
11671 preserverd by passthrough, do not propagate the type.
11672
70b2d364
RS
116732014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11674
11675 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
11676 (mips_atomic_assign_expand_fenv): New function.
11677 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
11678
a90c0245
RS
116792014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11680
11681 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
11682 (__builtin_mips_set_fcsr): Likewise.
11683 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
11684 MIPS_USI_FTYPE_VOID.
11685 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
11686 (mips16_expand_set_fcsr): Likewise.
11687 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
11688 (mips16_set_fcsr_stub): Likewise.
11689 (mips16_get_fcsr_one_only_stub): New class.
11690 (mips16_set_fcsr_one_only_stub): Likewise.
11691 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
11692 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
11693 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
11694 (hard_float): New availability predicate.
11695 (mips_builtins): Add get_fcsr and set_fcsr.
11696 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
11697 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
11698 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
11699 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
11700 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
11701 patterns.
11702
6d51cc90
RS
117032014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11704
11705 * config/mips/mips.c (mips_one_only_stub): New class.
11706 (mips_need_mips16_rdhwr_p): Replace with...
11707 (mips16_rdhwr_stub): ...this new variable.
11708 (mips16_stub_call_address): New function.
11709 (mips16_rdhwr_one_only_stub): New class.
11710 (mips_expand_thread_pointer): Use mips16_stub_call_address.
11711 (mips_output_mips16_rdhwr): Delete.
11712 (mips_finish_stub): New function.
11713 (mips_code_end): Use it to handle rdhwr stubs.
11714
6c90f137
UB
117152014-02-02 Uros Bizjak <ubizjak@gmail.com>
11716
11717 PR target/60017
11718 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
11719 when calculating size of integer atomic types.
11720
5e64bbbb
L
117212014-02-02 H.J. Lu <hongjiu.lu@intel.com>
11722
11723 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
11724
021293cb
JJ
117252014-02-01 Jakub Jelinek <jakub@redhat.com>
11726
11727 PR tree-optimization/60003
11728 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
11729 * profile.c (branch_prob): Use gimple_call_builtin_p
11730 to check for BUILT_IN_SETJMP_RECEIVER.
11731 * tree-inline.c (copy_bb): Call notice_special_calls.
11732
6334f3e9
VM
117332014-01-31 Vladimir Makarov <vmakarov@redhat.com>
11734
11735 PR bootstrap/59985
11736 * lra-constraints.c (process_alt_operands): Update reload_sum only
11737 on the first pass.
11738
efa7882f
RH
117392014-01-31 Richard Henderson <rth@redhat.com>
11740
11741 PR middle-end/60004
11742 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
11743 until after else_eh is processed.
11744
de72ea02
IT
117452014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11746
11747 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
11748 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
11749 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
11750 in smmintrin.h, remove them.
11751 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
11752 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
11753 * config/i386/i386.md (ROUND_SAE): Fix value.
11754 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
11755 (const48_operand): New.
11756 * config/i386/subst.md (round), (round_expand): Use
11757 const_4_or_8_to_11_operand.
11758 (round_saeonly), (round_saeonly_expand): Use const48_operand.
11759
be792bce
IT
117602014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11761
11762 * config/i386/constraints.md (Yk): Swap meaning with k.
11763 * config/i386/i386.md (movhi_internal): Change Yk to k.
11764 (movqi_internal): Ditto.
11765 (*k<logic><mode>): Ditto.
11766 (*andhi_1): Ditto.
11767 (*andqi_1): Ditto.
11768 (kandn<mode>): Ditto.
11769 (*<code>hi_1): Ditto.
11770 (*<code>qi_1): Ditto.
11771 (kxnor<mode>): Ditto.
11772 (kortestzhi): Ditto.
11773 (kortestchi): Ditto.
11774 (kunpckhi): Ditto.
11775 (*one_cmplhi2_1): Ditto.
11776 (*one_cmplqi2_1): Ditto.
11777 * config/i386/sse.md (): Change k to Yk.
11778 (avx512f_load<mode>_mask): Ditto.
11779 (avx512f_blendm<mode>): Ditto.
11780 (avx512f_store<mode>_mask): Ditto.
11781 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
11782 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
11783 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
11784 Ditto.
be792bce
IT
11785 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
11786 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
11787 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
11788 (avx512f_maskcmp<mode>3): Ditto.
11789 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
11790 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
11791 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
11792 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
11793 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
11794 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
11795 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
11796 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
11797 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
11798 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
11799 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
11800 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
11801 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
11802 (vec_extract_lo_<mode>_maskm): Ditto.
11803 (vec_extract_hi_<mode>_maskm): Ditto.
11804 (avx512f_vternlog<mode>_mask): Ditto.
11805 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
11806 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
11807 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
11808 (avx512f_<code>v8div16qi2_mask): Ditto.
11809 (avx512f_<code>v8div16qi2_mask_store): Ditto.
11810 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
11811 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
11812 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
11813 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
11814 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
11815 (*avx512pf_gatherpf<mode>df_mask): Ditto.
11816 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
11817 (*avx512pf_scatterpf<mode>df_mask): Ditto.
11818 (avx512cd_maskb_vec_dupv8di): Ditto.
11819 (avx512cd_maskw_vec_dupv16si): Ditto.
11820 (avx512f_vpermi2var<mode>3_maskz): Ditto.
11821 (avx512f_vpermi2var<mode>3_mask): Ditto.
11822 (avx512f_vpermi2var<mode>3_mask): Ditto.
11823 (avx512f_vpermt2var<mode>3_maskz): Ditto.
11824 (*avx512f_gathersi<mode>): Ditto.
11825 (*avx512f_gathersi<mode>_2): Ditto.
11826 (*avx512f_gatherdi<mode>): Ditto.
11827 (*avx512f_gatherdi<mode>_2): Ditto.
11828 (*avx512f_scattersi<mode>): Ditto.
11829 (*avx512f_scatterdi<mode>): Ditto.
11830 (avx512f_compress<mode>_mask): Ditto.
11831 (avx512f_compressstore<mode>_mask): Ditto.
11832 (avx512f_expand<mode>_mask): Ditto.
11833 * config/i386/subst.md (mask): Change k to Yk.
11834 (mask_scalar_merge): Ditto.
11835 (sd): Ditto.
11836
0878d68a
MG
118372014-01-31 Marc Glisse <marc.glisse@inria.fr>
11838
11839 * doc/extend.texi (Vector Extensions): Document ?: in C++.
11840
fdfd537b
RB
118412014-01-31 Richard Biener <rguenther@suse.de>
11842
11843 PR middle-end/59990
11844 * builtins.c (fold_builtin_memory_op): Make sure to not
11845 use a floating-point mode or a boolean or enumeral type for
11846 the copy operation.
11847
4f50b9ff
DD
118482014-01-30 DJ Delorie <dj@redhat.com>
11849
11850 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
11851 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
11852 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
11853 whenever main() has an epilogue.
11854
c3e96073
BS
118552014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11856
11857 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
11858 unused variable "field".
11859 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
11860 (vsx_mergeh_<mode>): Likewise.
11861 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
11862 (altivec_vmrghh): Likewise.
11863 (altivec_vmrghw): Likewise.
11864 (altivec_vmrglb): Likewise.
11865 (altivec_vmrglh): Likewise.
11866 (altivec_vmrglw): Likewise.
11867 (altivec_vspltb): Add missing uses.
11868 (altivec_vsplth): Likewise.
11869 (altivec_vspltw): Likewise.
11870 (altivec_vspltsf): Likewise.
11871
4bb9c32d
JJ
118722014-01-30 Jakub Jelinek <jakub@redhat.com>
11873
11874 PR target/59923
11875 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
11876 frame related instructions.
11877
7613fa50
VM
118782014-01-30 Vladimir Makarov <vmakarov@redhat.com>
11879
11880 PR rtl-optimization/59959
11881 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
11882 any reload of register whose subreg is invalid.
11883
6fb82517
JJ
118842014-01-30 Jakub Jelinek <jakub@redhat.com>
11885
33425d6c 11886 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
11887 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
11888 Add missing return type - void.
11889
bf53d4b8
BS
118902014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11891
11892 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
11893 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
11894 remove element index adjustment for endian (now handled in vsx.md
11895 and altivec.md).
11896 (altivec_expand_vec_perm_const): Use
11897 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
11898 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
11899 (vsx_xxspltw_<mode>): Adjust element index for little endian.
11900 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
11901 define_expand and a new define_insn *altivec_vspltb_internal;
11902 adjust for -maltivec=be on a little endian target.
11903 (altivec_vspltb_direct): New.
11904 (altivec_vsplth): Divide into a define_expand and a new
11905 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
11906 little endian target.
11907 (altivec_vsplth_direct): New.
11908 (altivec_vspltw): Divide into a define_expand and a new
11909 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
11910 little endian target.
11911 (altivec_vspltw_direct): New.
11912 (altivec_vspltsf): Divide into a define_expand and a new
11913 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
11914 a little endian target.
11915
c965e187
RB
119162014-01-30 Richard Biener <rguenther@suse.de>
11917
11918 PR tree-optimization/59993
11919 * tree-ssa-forwprop.c (associate_pointerplus): Check we
11920 can propagate form the earlier stmt and avoid the transform
11921 when the intermediate result is needed.
11922
ba117645
AD
119232014-01-30 Alangi Derick <alangiderick@gmail.com>
11924
11925 * README.Portability: Fix typo.
11926
4bb66ef3 119272014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
11928
11929 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
11930 comparison_operator with ordered_comparison_operator.
11931
c345a0b1
NC
119322014-01-30 Nick Clifton <nickc@redhat.com>
11933
11934 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
11935 Rename to mn10300_store_multiple_regs.
11936 * config/mn10300/mn10300.c: Likewise.
11937 * config/mn10300/mn10300.md (store_movm): Fix typo: call
11938 store_multiple_regs.
11939 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
11940 Call mn10300_store_multiple_regs.
11941
2d70f6d4
NC
119422014-01-30 Nick Clifton <nickc@redhat.com>
11943 DJ Delorie <dj@redhat.com>
11944
11945 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
11946 %fp 2 to keep registers after it properly word-aligned.
11947 (rl78_alloc_physical_registers_umul): Handle the case where both
11948 input operands are the same.
11949
c972624e
RB
119502014-01-30 Richard Biener <rguenther@suse.de>
11951
11952 PR tree-optimization/59903
11953 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
11954 check properly.
11955
fc044323
JM
119562014-01-30 Jason Merrill <jason@redhat.com>
11957
404c2aea
JM
11958 PR c++/59633
11959 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
11960
fc044323
JM
11961 PR c++/59645
11962 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
11963
f30a0ba5
RB
119642014-01-30 Richard Biener <rguenther@suse.de>
11965
11966 PR tree-optimization/59951
33425d6c 11967 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 11968
aad8816f
SZ
119692014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
11970
11971 PR target/59784
11972 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
11973 SFmode to DFmode case.
11974
3b16363e
DD
119752014-01-29 DJ Delorie <dj@redhat.com>
11976
11977 * config/msp430/msp430.opt (-minrt): New.
11978 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
11979 if -minrt given.
11980 (ENDFILE_SPEC): Likewise.
11981
39960d1c 119822014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
11983
11984 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
11985 (estimate_function_body_sizes): Use it.
11986
1200933c
PC
119872014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
11988
11989 PR c++/58561
11990 * dwarf2out.c (is_cxx_auto): New.
11991 (is_base_type): Use it.
11992 (gen_type_die_with_usage): Likewise.
11993
68d3bacf
BS
119942014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11995
11996 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
11997 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
11998 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
11999 -maltivec=be with LE targets.
12000 (vsx_mergeh_<mode>): Likewise.
33425d6c 12001 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
12002 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
12003 (altivec_vmrghb): Replace with define_expand and new
33425d6c 12004 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12005 (altivec_vmrghb_direct): New define_insn.
12006 (altivec_vmrghh): Replace with define_expand and new
33425d6c 12007 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12008 (altivec_vmrghh_direct): New define_insn.
12009 (altivec_vmrghw): Replace with define_expand and new
33425d6c 12010 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12011 (altivec_vmrghw_direct): New define_insn.
12012 (*altivec_vmrghsf): Adjust for endianness.
12013 (altivec_vmrglb): Replace with define_expand and new
33425d6c 12014 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12015 (altivec_vmrglb_direct): New define_insn.
12016 (altivec_vmrglh): Replace with define_expand and new
33425d6c 12017 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12018 (altivec_vmrglh_direct): New define_insn.
12019 (altivec_vmrglw): Replace with define_expand and new
33425d6c 12020 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12021 (altivec_vmrglw_direct): New define_insn.
12022 (*altivec_vmrglsf): Adjust for endianness.
12023 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
12024 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
12025 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
12026 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
12027 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
12028 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
12029 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
12030 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
12031
aef66c94
MS
120322014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
12033
12034 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
12035 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
12036 whitespace.
12037
77574c35
RB
120382014-01-29 Richard Biener <rguenther@suse.de>
12039
12040 PR tree-optimization/58742
12041 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
12042 associate_pointerplus_align.
12043 (associate_pointerplus_diff): New function.
12044 (associate_pointerplus): Likewise. Call associate_pointerplus_align
12045 and associate_pointerplus_diff.
12046
15b25b24
RB
120472014-01-29 Richard Biener <rguenther@suse.de>
12048
12049 * lto-streamer.h (LTO_major_version): Bump to 3.
12050 (LTO_minor_version): Reset to 0.
12051
eb6006ad
RL
120522014-01-29 Renlin Li <Renlin.Li@arm.com>
12053
12054 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
12055 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
12056 (arm_file_start): Generate correct asm header for armv7ve.
12057 * config/arm/bpabi.h: Add multilib support for armv7ve.
12058 * config/arm/driver-arm.c: Change the architectures of cortex-a7
12059 and cortex-a15 to armv7ve.
12060 * config/arm/t-aprofile: Add multilib support for armv7ve.
12061 * doc/invoke.texi: Document -march=armv7ve.
12062
4bfb2fa2
RB
120632014-01-29 Richard Biener <rguenther@suse.de>
12064
12065 PR tree-optimization/58742
12066 * tree-ssa-forwprop.c (associate_plusminus): Return true
12067 if we changed sth, defer EH cleanup to ...
12068 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
12069 (simplify_mult): New function.
12070
42eb8bd1
JJ
120712014-01-29 Jakub Jelinek <jakub@redhat.com>
12072
09b22f48
JJ
12073 PR middle-end/59917
12074 PR tree-optimization/59920
12075 * tree.c (build_common_builtin_nodes): Remove
12076 __builtin_setjmp_dispatcher initialization.
12077 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
12078 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
12079 instead of gsi_after_labels + manually skipping debug stmts.
12080 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
12081 ignore bbs with IFN_ABNORMAL_DISPATCHER.
12082 * tree-inline.c (copy_edges_for_bb): Remove
12083 can_make_abnormal_goto argument, instead add abnormal_goto_dest
12084 argument. Ignore computed_goto_p stmts. Don't call
12085 make_abnormal_goto_edges. If a call might need abnormal edges
12086 for non-local gotos, see if it already has an edge to
12087 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
12088 with true argument, don't do anything then, otherwise add
12089 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
12090 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
12091 caller.
12092 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
12093 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
12094 (lower_stmt): Don't set data->calls_builtin_setjmp.
12095 (lower_builtin_setjmp): Adjust comment.
12096 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
12097 * tree-cfg.c (found_computed_goto): Remove.
12098 (factor_computed_gotos): Remove.
12099 (make_goto_expr_edges): Return bool, true for computed gotos.
12100 Don't call make_abnormal_goto_edges.
12101 (build_gimple_cfg): Don't set found_computed_goto, don't call
12102 factor_computed_gotos.
12103 (computed_goto_p): No longer static.
12104 (make_blocks): Don't set found_computed_goto.
12105 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
12106 (make_edges): If make_goto_expr_edges returns true, push bb
12107 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
12108 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
12109 vector. Record mapping between bbs and OpenMP regions if there
12110 are any, adjust make_gimple_omp_edges caller. Call
12111 handle_abnormal_edges.
12112 (make_abnormal_goto_edges): Remove.
12113 * tree-cfg.h (make_abnormal_goto_edges): Remove.
12114 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
12115 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 12116 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
12117 * internal-fn.def (ABNORMAL_DISPATCHER): New.
12118 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
12119 filling *region also set *region_idx to (*region)->entry->index.
12120
42eb8bd1
JJ
12121 PR other/58712
12122 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
12123 For REGs set ORIGINAL_REGNO.
12124
4a271b7e
BM
121252014-01-29 Bingfeng Mei <bmei@broadcom.com>
12126
33425d6c 12127 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
12128 vec_widen_(s|u)mul_even/odd pair if it is less efficient
12129 than hi/lo pair.
12130
3d54b29d
JJ
121312014-01-29 Jakub Jelinek <jakub@redhat.com>
12132
12133 PR tree-optimization/59594
12134 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
12135 a copy of the datarefs vector rather than the vector itself.
12136
2e5e7103
JM
121372014-01-28 Jason Merrill <jason@redhat.com>
12138
12139 PR c++/53756
12140 * dwarf2out.c (auto_die): New static.
12141 (gen_type_die_with_usage): Handle C++1y 'auto'.
12142 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
12143 on definition.
12144
d5d618b5
L
121452014-01-28 H.J. Lu <hongjiu.lu@intel.com>
12146
12147 PR target/59672
12148 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
12149 (SPEC_X32): Likewise.
12150 (SPEC_64): Likewise.
12151 * config/i386/i386.c (ix86_option_override_internal): Turn off
12152 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
12153 for TARGET_16BIT.
12154 (x86_file_start): Output .code16gcc for TARGET_16BIT.
12155 * config/i386/i386.h (TARGET_16BIT): New macro.
12156 (TARGET_16BIT_P): Likewise.
12157 * config/i386/i386.opt: Add m16.
12158 * doc/invoke.texi: Document -m16.
12159
367c8286
DS
121602014-01-28 Jakub Jelinek <jakub@redhat.com>
12161
12162 PR preprocessor/59935
12163 * input.c (location_get_source_line): Bail out on when line number
33425d6c 12164 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 12165
07ec81f9
RB
121662014-01-28 Richard Biener <rguenther@suse.de>
12167
12168 PR tree-optimization/58742
12169 * tree-ssa-forwprop.c (associate_plusminus): Handle
12170 pointer subtraction of the form (T)(P + A) - (T)P.
12171
5facb998
KT
121722014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12173
12174 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
12175 at const_int_cost.
12176
e04faf24
RB
121772014-01-28 Richard Biener <rguenther@suse.de>
12178
12179 Revert
12180 2014-01-28 Richard Biener <rguenther@suse.de>
12181
12182 PR rtl-optimization/45364
12183 PR rtl-optimization/59890
12184 * var-tracking.c (local_get_addr_clear_given_value): Handle
12185 already cleared slot.
12186 (val_reset): Handle not allocated local_get_addr_cache.
12187 (vt_find_locations): Use post-order on the inverted CFG.
12188
6593260b
RB
121892014-01-28 Richard Biener <rguenther@suse.de>
12190
33425d6c 12191 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 12192
9ec2d2c1
RB
121932014-01-28 Richard Biener <rguenther@suse.de>
12194
12195 PR rtl-optimization/45364
12196 PR rtl-optimization/59890
12197 * var-tracking.c (local_get_addr_clear_given_value): Handle
12198 already cleared slot.
12199 (val_reset): Handle not allocated local_get_addr_cache.
12200 (vt_find_locations): Use post-order on the inverted CFG.
12201
2ceb362d
AM
122022014-01-28 Alan Modra <amodra@gmail.com>
12203
12204 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
12205 * configure.ac <recursive call for build != host>: Define
12206 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
12207 and LD_FOR_BUILD too.
12208 * configure: Regenerate.
12209
0ebe2584
ASJ
122102014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
12211
12212 * config/i386/i386.c (get_builtin_code_for_version): Separate
12213 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
12214 Broadwell from Haswell.
12215
a33fc7fe
SE
122162014-01-27 Steve Ellcey <sellcey@mips.com>
12217
12218 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
12219 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
12220 * config/mips/mips.c (mips_option_override): Change setting
12221 of TARGET_DSP.
12222 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
12223 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
12224 Change from Mask to Var.
a33fc7fe 12225
a99be3c9
JL
122262014-01-27 Jeff Law <law@redhat.com>
12227
12228 * ipa-inline.c (inline_small_functions): Fix typo.
12229
d256b866
IT
122302014-01-27 Ilya Tocar <ilya.tocar@intel.com>
12231
12232 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
12233 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
12234 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
12235 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
12236 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
12237 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
12238 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
12239 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
12240 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
12241 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
12242 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
12243 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
12244 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
12245 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
12246 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
12247 (_mm512_storeu_epi64): Ditto.
12248 (_mm512_cmpge_epi32_mask): Ditto.
12249 (_mm512_cmpge_epu32_mask): Ditto.
12250 (_mm512_cmpge_epi64_mask): Ditto.
12251 (_mm512_cmpge_epu64_mask): Ditto.
12252 (_mm512_cmple_epi32_mask): Ditto.
12253 (_mm512_cmple_epu32_mask): Ditto.
12254 (_mm512_cmple_epi64_mask): Ditto.
12255 (_mm512_cmple_epu64_mask): Ditto.
12256 (_mm512_cmplt_epi32_mask): Ditto.
12257 (_mm512_cmplt_epu32_mask): Ditto.
12258 (_mm512_cmplt_epi64_mask): Ditto.
12259 (_mm512_cmplt_epu64_mask): Ditto.
12260 (_mm512_cmpneq_epi32_mask): Ditto.
12261 (_mm512_cmpneq_epu32_mask): Ditto.
12262 (_mm512_cmpneq_epi64_mask): Ditto.
12263 (_mm512_cmpneq_epu64_mask): Ditto.
12264 (_mm512_expand_pd): Ditto.
12265 (_mm512_expand_ps): Ditto.
12266 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
12267 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
12268 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
12269 * config/i386/i386.c (ix86_builtins): Add
12270 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
12271 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
12272 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
12273 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
12274 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
12275 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
12276 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
12277 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
12278 IX86_BUILTIN_PMOVUSQW512_MEM.
12279 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
12280 __builtin_ia32_pmovsqd512mem_mask,
12281 __builtin_ia32_pmovqd512mem_mask,
12282 __builtin_ia32_pmovusqw512mem_mask,
12283 __builtin_ia32_pmovsqw512mem_mask,
12284 __builtin_ia32_pmovqw512mem_mask,
12285 __builtin_ia32_pmovusdw512mem_mask,
12286 __builtin_ia32_pmovsdw512mem_mask,
12287 __builtin_ia32_pmovdw512mem_mask,
12288 __builtin_ia32_pmovqb512mem_mask,
12289 __builtin_ia32_pmovusqb512mem_mask,
12290 __builtin_ia32_pmovsqb512mem_mask,
12291 __builtin_ia32_pmovusdb512mem_mask,
12292 __builtin_ia32_pmovsdb512mem_mask,
12293 __builtin_ia32_pmovdb512mem_mask.
12294 (bdesc_args): Add __builtin_ia32_expanddf512,
12295 __builtin_ia32_expandsf512.
12296 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
12297 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
12298 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
12299 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
12300 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
12301 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
12302 (avx512f_<code>v8div16qi2_mask_store): This.
12303 (avx512f_expand<mode>): New.
12304
e711dffd
KY
123052014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
12306
1287ae50 12307 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 12308 New.
e711dffd
KY
12309 (_mm512_mask_prefetch_i64gather_pd): Ditto.
12310 (_mm512_prefetch_i32scatter_pd): Ditto.
12311 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
12312 (_mm512_prefetch_i64scatter_pd): Ditto.
12313 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
12314 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
12315 (_mm512_mask_prefetch_i64gather_ps): Ditto.
12316 (_mm512_prefetch_i32scatter_ps): Ditto.
12317 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
12318 (_mm512_prefetch_i64scatter_ps): Ditto.
12319 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
12320 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
12321 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
12322 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
12323 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
12324 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
12325 IX86_BUILTIN_SCATTERPFQPD.
12326 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
12327 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
12328 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
12329 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
12330 __builtin_ia32_scatterpfqps.
12331 (ix86_expand_builtin): Expand new built-ins.
12332 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
12333 fix memory access data type.
12334 (*avx512pf_gatherpf<mode>_mask): Ditto.
12335 (*avx512pf_gatherpf<mode>): Ditto.
12336 (avx512pf_scatterpf<mode>): Ditto.
12337 (*avx512pf_scatterpf<mode>_mask): Ditto.
12338 (*avx512pf_scatterpf<mode>): Ditto.
12339 (GATHER_SCATTER_SF_MEM_MODE): New.
12340 (avx512pf_gatherpf<mode>df): Ditto.
12341 (*avx512pf_gatherpf<mode>df_mask): Ditto.
12342 (*avx512pf_scatterpf<mode>df): Ditto.
12343
904e5ccd
JJ
123442014-01-27 Jakub Jelinek <jakub@redhat.com>
12345
12346 PR bootstrap/59934
12347 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
12348 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
12349 reached.
12350
84e90123
JG
123512014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
12352
12353 * common/config/arm/arm-common.c
12354 (arm_rewrite_mcpu): Handle multiple names.
12355 * config/arm/arm.h
12356 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
12357
c6f6157a
JG
123582014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
12359
12360 * gimple-builder.h (create_gimple_tmp): Delete.
12361
770516c9
CB
123622014-01-27 Christian Bruel <christian.bruel@st.com>
12363
12364 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
12365 words comparisons.
12366
cc5cec10
JDA
123672014-01-26 John David Anglin <danglin@gcc.gnu.org>
12368
5aa3c762
JDA
12369 * config/pa/pa.md (call): Generate indirect long calls to non-local
12370 functions when outputing 32-bit code.
12371 (call_value): Likewise except for special call to buggy powf function.
12372
cc5cec10
JDA
12373 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
12374 portable runtime and PIC indirect calls.
12375 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
12376 and PIC call sequences. Use ldo instead of blr to set return register
12377 in PIC call sequence.
12378
6bb0e248
WL
123792014-01-25 Walter Lee <walt@tilera.com>
12380
12381 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
12382 avoid clobbering a live register.
12383
dab03fe3
WL
123842014-01-25 Walter Lee <walt@tilera.com>
12385
770516c9 12386 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 12387 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 12388 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
12389 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
12390
905c20c1
WL
123912014-01-25 Walter Lee <walt@tilera.com>
12392
12393 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
12394 arguments on even registers.
12395 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
12396 STACK_BOUNDARY.
12397 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
12398 (BIGGEST_ALIGNMENT): Ditto.
12399 (BIGGEST_FIELD_ALIGNMENT): Ditto.
12400
8e90a625
WL
124012014-01-25 Walter Lee <walt@tilera.com>
12402
12403 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
12404 insns before bundling.
0ebe2584 12405 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 12406
450c1ffe
WL
124072014-01-25 Walter Lee <walt@tilera.com>
12408
12409 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
12410 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
12411 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 12412
450c1ffe 124132014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 12414
317a951f
RS
12415 * config/mips/constraints.md (kl): Delete.
12416 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
12417 define expands, using...
12418 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
12419 instructions for MIPS16.
12420 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
12421 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
12422
3abe9053
WL
124232014-01-25 Walter Lee <walt@tilera.com>
12424
0ebe2584 12425 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
12426 (clzdi2): Ditto.
12427 (ffsdi2): Ditto.
12428
b0e0fe41
WL
124292014-01-25 Walter Lee <walt@tilera.com>
12430
12431 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
12432 (TARGET_EXPAND_TO_RTL_HOOK): Define.
12433
2c8798a2
RS
124342014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
12435
12436 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
12437 Handle XOR.
12438
2105be5a
JJ
124392014-01-25 Jakub Jelinek <jakub@redhat.com>
12440
4def6060
JJ
12441 * print-rtl.c (in_call_function_usage): New var.
12442 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
12443 EXPR_LIST mode as mode and not as reg note name.
12444
2105be5a
JJ
12445 PR middle-end/59561
12446 * cfgloopmanip.c (copy_loop_info): If
12447 loop->warned_aggressive_loop_optimizations, make sure
12448 the flag is set in target loop too.
12449
b72271b9
BI
124502014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
12451
12452 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
12453 flag_cilkplus.
12454 * builtins.def: Likewise.
12455 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
12456 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
12457 * ira.c (ira_setup_eliminable_regset): Likewise.
12458 * omp-low.c (gate_expand_omp): Likewise.
12459 (execute_lower_omp): Likewise.
12460 (diagnose_sb_0): Likewise.
12461 (gate_diagnose_omp_blocks): Likewise.
12462 (simd_clone_clauses_extract): Likewise.
12463 (gate): Likewise.
12464
8adcc78b
BS
124652014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12466
12467 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
12468 correction for little endian...
12469 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
12470 here.
12471
3d750496
JL
124722014-01-24 Jeff Law <law@redhat.com>
12473
12474 PR tree-optimization/59919
12475 * tree-vrp.c (find_assert_locations_1): Do not register asserts
12476 for non-returning calls.
12477
1c05df59
JG
124782014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
12479
12480 * common/config/aarch64/aarch64-common.c
12481 (aarch64_rewrite_mcpu): Handle multiple names.
12482 * config/aarch64/aarch64.h
12483 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
12484
317363b4
DS
124852014-01-24 Dodji Seketeli <dodji@redhat.com>
12486
12487 * input.c (add_file_to_cache_tab): Handle the case where fopen
12488 returns NULL.
12489
16370fa7
L
124902014-01-23 H.J. Lu <hongjiu.lu@intel.com>
12491
12492 PR target/59929
12493 * config/i386/i386.md (pushsf splitter): Get stack adjustment
12494 from push operand if code of push isn't PRE_DEC.
12495
b846c948
MM
124962014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
12497
12498 PR target/59909
12499 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
12500 -mquad-memory-atomic. Update -mquad-memory documentation to say
12501 it is only used for non-atomic loads/stores.
12502
12503 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
12504 -mquad-memory or -mquad-memory-atomic switches.
12505
12506 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
12507 -mquad-memory-atomic to ISA 2.07 support.
12508
12509 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
12510 to separate support of normal quad word memory operations (ldq, stq)
12511 from the atomic quad word memory operations.
b846c948
MM
12512
12513 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
12514 support to separate non-atomic quad word operations from atomic
12515 quad word operations. Disable non-atomic quad word operations in
12516 little endian mode so that we don't have to swap words after the
12517 load and before the store.
12518 (quad_load_store_p): Add comment about atomic quad word support.
12519 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
12520 options printed with -mdebug=reg.
12521
12522 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
12523 -mquad-memory-atomic as the test for whether we have quad word
12524 atomic instructions.
0ebe2584
ASJ
12525 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
12526 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
12527
12528 * config/rs6000/sync.md (load_lockedti): Insure that the address
12529 is a proper indexed or indirect address for the lqarx instruction.
12530 On little endian systems, swap the hi/lo registers after the lqarx
12531 instruction.
12532 (load_lockedpti): Use indexed_or_indirect_operand predicate to
12533 insure the address is valid for the lqarx instruction.
12534 (store_conditionalti): Insure that the address is a proper indexed
12535 or indirect address for the stqcrx. instruction. On little endian
12536 systems, swap the hi/lo registers before doing the stqcrx.
12537 instruction.
12538 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
12539 insure the address is valid for the stqcrx. instruction.
12540
12541 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
12542 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
12543 type of quad memory support is available.
12544
6e23f296
VM
125452014-01-23 Vladimir Makarov <vmakarov@redhat.com>
12546
12547 PR regression/59915
12548 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
12549 there is a danger of looping.
12550
0a4f04e5
PH
125512014-01-23 Pat Haugen <pthaugen@us.ibm.com>
12552
12553 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
12554 force flag_ira_loop_pressure if set via command line.
12555
f9a4c9a6
AV
125562014-01-23 Alex Velenko <Alex.Velenko@arm.com>
12557
12558 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
12559 (ashr_simd): New builtin handling DI mode.
12560 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
12561 (aarch64_sshr_simddi): New match pattern.
12562 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
12563 (vshrd_n_s64): Likewise.
12564 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
12565
949ad971
NC
125662014-01-23 Nick Clifton <nickc@redhat.com>
12567
12568 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
12569 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
12570 favour of mcu specific scripts.
12571 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
12572 430x multilibs.
12573
d5ecead9
JG
125742014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
12575 Alex Velenko <Alex.Velenko@arm.com>
12576
12577 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
12578 (vaddv_s16): Likewise.
12579 (vaddv_s32): Likewise.
12580 (vaddv_u8): Likewise.
12581 (vaddv_u16): Likewise.
12582 (vaddv_u32): Likewise.
12583 (vaddvq_s8): Likewise.
12584 (vaddvq_s16): Likewise.
12585 (vaddvq_s32): Likewise.
12586 (vaddvq_s64): Likewise.
12587 (vaddvq_u8): Likewise.
12588 (vaddvq_u16): Likewise.
12589 (vaddvq_u32): Likewise.
12590 (vaddvq_u64): Likewise.
12591 (vaddv_f32): Likewise.
12592 (vaddvq_f32): Likewise.
12593 (vaddvq_f64): Likewise.
12594 (vmaxv_f32): Likewise.
12595 (vmaxv_s8): Likewise.
12596 (vmaxv_s16): Likewise.
12597 (vmaxv_s32): Likewise.
12598 (vmaxv_u8): Likewise.
12599 (vmaxv_u16): Likewise.
12600 (vmaxv_u32): Likewise.
12601 (vmaxvq_f32): Likewise.
12602 (vmaxvq_f64): Likewise.
12603 (vmaxvq_s8): Likewise.
12604 (vmaxvq_s16): Likewise.
12605 (vmaxvq_s32): Likewise.
12606 (vmaxvq_u8): Likewise.
12607 (vmaxvq_u16): Likewise.
12608 (vmaxvq_u32): Likewise.
12609 (vmaxnmv_f32): Likewise.
12610 (vmaxnmvq_f32): Likewise.
12611 (vmaxnmvq_f64): Likewise.
12612 (vminv_f32): Likewise.
12613 (vminv_s8): Likewise.
12614 (vminv_s16): Likewise.
12615 (vminv_s32): Likewise.
12616 (vminv_u8): Likewise.
12617 (vminv_u16): Likewise.
12618 (vminv_u32): Likewise.
12619 (vminvq_f32): Likewise.
12620 (vminvq_f64): Likewise.
12621 (vminvq_s8): Likewise.
12622 (vminvq_s16): Likewise.
12623 (vminvq_s32): Likewise.
12624 (vminvq_u8): Likewise.
12625 (vminvq_u16): Likewise.
12626 (vminvq_u32): Likewise.
12627 (vminnmv_f32): Likewise.
12628 (vminnmvq_f32): Likewise.
12629 (vminnmvq_f64): Likewise.
12630
1dd055a2
JG
126312014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
12632
12633 * config/aarch64/aarch64-simd.md
12634 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
12635 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
12636 (*aarch64_mul3_elt<mode>): Likewise.
12637 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
12638 (*aarch64_mul3_elt_to_64v2df): Likewise.
12639 (*aarch64_mla_elt<mode>): Likewise.
12640 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
12641 (*aarch64_mls_elt<mode>): Likewise.
12642 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
12643 (*aarch64_fma4_elt<mode>): Likewise.
12644 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
12645 (*aarch64_fma4_elt_to_64v2df): Likewise.
12646 (*aarch64_fnma4_elt<mode>): Likewise.
12647 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
12648 (*aarch64_fnma4_elt_to_64v2df): Likewise.
12649 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
12650 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
12651 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
12652 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
12653 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
12654 (aarch64_sqdmull_lane<mode>_internal): Likewise.
12655 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
12656
dafb9b64
AV
126572013-01-23 Alex Velenko <Alex.Velenko@arm.com>
12658
12659 * config/aarch64/aarch64-simd.md
12660 (aarch64_be_checked_get_lane<mode>): New define_expand.
12661 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 12662 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
12663 New builtin definition.
12664 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
12665 Use new safe be builtin.
12666
89b4515c
AV
126672014-01-23 Alex Velenko <Alex.Velenko@arm.com>
12668
12669 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
12670 New define_insn.
12671 (aarch64_be_st1<mode>): Likewise.
12672 (aarch_ld1<VALL:mode>): Define_expand modified.
12673 (aarch_st1<VALL:mode>): Likewise.
12674 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
12675 (UNSPEC_ST1): Likewise.
12676
4bb66ef3 126772014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
12678
12679 * config/microblaze/microblaze.md: Add trap insn and attribute
12680
7ecc3eb9
DS
126812014-01-23 Dodji Seketeli <dodji@redhat.com>
12682
12683 PR preprocessor/58580
12684 * input.h (location_get_source_line): Take an additional line_size
12685 parameter.
12686 (void diagnostics_file_cache_fini): Declare new function.
12687 * input.c (struct fcache): New type.
12688 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
12689 New static constants.
12690 (diagnostic_file_cache_init, total_lines_num)
12691 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
12692 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
12693 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
12694 (get_next_line, read_next_line, goto_next_line, read_line_num):
12695 New static function definitions.
12696 (diagnostic_file_cache_fini): New function.
12697 (location_get_source_line): Take an additional output line_len
12698 parameter. Re-write using lookup_or_add_file_to_cache_tab and
12699 read_line_num.
12700 * diagnostic.c (diagnostic_finish): Call
12701 diagnostic_file_cache_fini.
12702 (adjust_line): Take an additional input parameter for the length
12703 of the line, rather than calculating it with strlen.
12704 (diagnostic_show_locus): Adjust the use of
12705 location_get_source_line and adjust_line with respect to their new
12706 signature. While displaying a line now, do not stop at the first
12707 null byte. Rather, display the zero byte as a space and keep
12708 going until we reach the size of the line.
12709 * Makefile.in: Add vec.o to OBJS-libcommon
12710
2196a885 127112014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 12712 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
12713
12714 * config/i386/avx512fintrin.h (_mm512_kmov): New.
12715 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
12716 (__builtin_ia32_kmov16): Ditto.
12717 * config/i386/i386.md (UNSPEC_KMOV): New.
12718 (kmovw): Ditto.
12719
70473c63
KY
127202014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
12721
12722 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
12723 (_mm512_storeu_si512): Ditto.
12724
f9ae4df8
RS
127252014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
12726
12727 PR target/52125
12728 * rtl.h (get_referenced_operands): Declare.
12729 * recog.c (get_referenced_operands): New function.
12730 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
12731 operands have been referenced when recording LO_SUM references.
12732
4bb66ef3 127332014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
12734
12735 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
12736
39960d1c 127372014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
12738
12739 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
12740 Enable for generic and recent AMD targets.
12741
39960d1c 127422014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
12743
12744 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
12745 ARG_SIZE note when adjustment was eliminated.
12746
bb50b870
JL
127472014-01-22 Jeff Law <law@redhat.com>
12748
12749 PR tree-optimization/59597
12750 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
12751 in file. Accept new argument REGISTERING and use it to modify
12752 dump output appropriately.
12753 (register_jump_thread): Corresponding changes.
12754 (mark_threaded_blocks): Reinstate code to cancel unprofitable
12755 thread paths involving joiner blocks. Add code to dump cancelled
12756 jump threading paths.
12757
df2980be
VM
127582014-01-22 Vladimir Makarov <vmakarov@redhat.com>
12759
12760 PR rtl-optimization/59477
12761 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 12762 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 12763
1bb99900
TT
127642014-01-22 Tom Tromey <tromey@redhat.com>
12765
12766 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
12767 PARAMS.
12768 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
12769
9102dadd
VM
127702014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12771
12772 PR rtl-optimization/59896
12773 * lra-constraints.c (process_alt_operands): Check unused note for
12774 matched operands of insn with no output reloads.
12775
ca376eb8
RS
127762014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
12777
12778 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
12779 (mips_move_from_gpr_cost): Likewise.
12780
a9711f36
VM
127812014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12782
12783 PR rtl-optimization/59858
12784 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
12785 ira_class_hard_regs_num.
12786 (process_alt_operands): Increase reject for dying matched operand.
12787
f8ea7cb0
JJ
127882014-01-21 Jakub Jelinek <jakub@redhat.com>
12789
12790 PR target/59003
12791 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
12792 smaller than size, perform several stores or loads and stores
12793 at dst + count - size to store or copy all of size bytes, rather
12794 than just last modesize bytes.
12795
84db09e3
DD
127962014-01-20 DJ Delorie <dj@redhat.com>
12797
12798 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
12799 that CLOBBERs are REGs before propogating their values.
12800
1cf11770
L
128012014-01-20 H.J. Lu <hongjiu.lu@intel.com>
12802
12803 PR middle-end/59789
12804 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
12805 (cgraph_inline_failed_type): New function.
12806 * cgraph.h (DEFCIFCODE): Add type.
12807 (cgraph_inline_failed_type_t): New enum.
12808 (cgraph_inline_failed_type): New prototype.
12809 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
12810 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
12811 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
12812 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
12813 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
12814 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
12815 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 12816 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
12817 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
12818 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
12819 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
12820 OPTIMIZATION_MISMATCH.
12821 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 12822 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 12823
8586e4bd
UB
128242014-01-20 Uros Bizjak <ubizjak@gmail.com>
12825
12826 PR target/59685
12827 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
12828 mode attribute in insn output.
12829
99482090
EB
128302014-01-20 Eric Botcazou <ebotcazou@adacore.com>
12831
12832 * output.h (output_constant): Delete.
12833 * varasm.c (output_constant): Make private.
12834
ede23272
AV
128352014-01-20 Alex Velenko <Alex.Velenko@arm.com>
12836
12837 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
12838
9a7eefec
JJ
128392014-01-20 Jakub Jelinek <jakub@redhat.com>
12840
12841 PR middle-end/59860
12842 * tree.h (fold_builtin_strcat): New prototype.
12843 * builtins.c (fold_builtin_strcat): No longer static. Add len
12844 argument, if non-NULL, don't call c_strlen. Optimize
12845 directly into __builtin_memcpy instead of __builtin_strcpy.
12846 (fold_builtin_2): Adjust fold_builtin_strcat caller.
12847 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
12848
3e729145
UB
128492014-01-20 Uros Bizjak <ubizjak@gmail.com>
12850
12851 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12852 for SImode_address_operand operands, having only a REG argument.
12853
eee0e487
MS
128542014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
12855
12856 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
12857 loader name using mbig-endian.
12858 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
12859
9e540e37
JG
128602014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12861
12862 * doc/invoke.texi (-march): Clarify documentation for AArch64.
12863 (-mtune): Likewise.
12864 (-mcpu): Likewise.
12865
69675d50
TB
128662014-01-20 Tejas Belagod <tejas.belagod@arm.com>
12867
12868 * config/aarch64/aarch64-protos.h
12869 (aarch64_cannot_change_mode_class_ptr): Declare.
12870 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
12871 aarch64_cannot_change_mode_class_ptr): New.
12872 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
12873 backend hook aarch64_cannot_change_mode_class.
12874
ffee7aa9
JG
128752014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12876
12877 * common/config/aarch64/aarch64-common.c
12878 (aarch64_handle_option): Don't handle any option order logic here.
12879 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
12880 selected_cpu, warn on architecture version mismatch.
12881 (aarch64_override_options): Fix parsing order for option strings.
12882
c7169779
JBG
128832014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12884 Iain Sandoe <iain@codesourcery.com>
12885
12886 PR bootstrap/59496
12887 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
12888 warning. Amend comment to reflect current functionality.
12889
409b6ac1
RB
128902014-01-20 Richard Biener <rguenther@suse.de>
12891
12892 PR middle-end/59860
12893 * builtins.c (fold_builtin_strcat): Remove case better handled
12894 by tree-ssa-strlen.c.
12895
608df31f
AL
128962014-01-20 Alan Lawrence <alan.lawrence@arm.com>
12897
12898 * config/aarch64/aarch64.opt
12899 (mcpu, march, mtune): Make case-insensitive.
12900
0fabe5f3
JJ
129012014-01-20 Jakub Jelinek <jakub@redhat.com>
12902
12903 PR target/59880
12904 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12905 if operands[1] is a REG or ZERO_EXTEND of a REG.
12906
39960d1c 129072014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
12908
12909 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
12910
925cb97d
JDA
129112014-01-19 John David Anglin <danglin@gcc.gnu.org>
12912
12913 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
12914 long non-pic millicode calls.
12915
f43856db
JBG
129162014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12917
12918 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
12919
d2be9965
ILT
129202014-01-19 Kito Cheng <kito@0xlab.org>
12921
12922 * builtins.c (expand_movstr): Check movstr expand done or fail.
12923
efc90043
UB
129242014-01-18 Uros Bizjak <ubizjak@gmail.com>
12925 H.J. Lu <hongjiu.lu@intel.com>
12926
12927 PR target/59379
12928 * config/i386/i386.md (*lea<mode>): Zero-extend return register
12929 to DImode for zero-extended addresses.
12930
8fce217e
JJ
129312014-01-19 Jakub Jelinek <jakub@redhat.com>
12932
12933 PR rtl-optimization/57763
12934 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
12935 on the new indirect jump_insn and increment LABEL_NUSES (label).
12936
efc90043 129372014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
12938
12939 PR bootstrap/59580
12940 PR bootstrap/59583
12941 * config.gcc (x86_archs): New variable.
12942 (x86_64_archs): Likewise.
12943 (x86_cpus): Likewise.
12944 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
12945 --with-arch/--with-cpu= options.
12946 Support --with-arch=/--with-cpu={nehalem,westmere,
12947 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
12948
7f3af6d3
UB
129492014-01-18 Uros Bizjak <ubizjak@gmail.com>
12950
12951 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
12952 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
12953
129542014-01-18 Uros Bizjak <ubizjak@gmail.com>
12955
12956 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
12957
fa5d6c75
JJ
129582014-01-18 Jakub Jelinek <jakub@redhat.com>
12959
12960 PR target/58944
12961 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
12962 clear cpp_get_options (parse_in)->warn_unused_macros for
12963 ix86_target_macros_internal with cpp_define.
12964
04da5680
RS
129652014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
12966
12967 * jump.c (delete_related_insns): Keep (use (insn))s.
12968 * reorg.c (redundant_insn): Check for barriers too.
12969
1e99bee5
L
129702014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12971
7f3af6d3 12972 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 12973
fa7d0c60
JDA
129742014-01-17 John David Anglin <danglin@gcc.gnu.org>
12975
12976 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
12977 call to $$dyncall when TARGET_LONG_CALLS is true.
12978
2043135a
JL
129792014-01-17 Jeff Law <law@redhat.com>
12980
12981 * ree.c (combine_set_extension): Temporarily disable test for
12982 changing number of hard registers.
12983
39960d1c 129842014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
12985
12986 PR middle-end/58125
12987 * ipa-inline-analysis.c (inline_free_summary):
12988 Do not free summary of aliases.
12989
664ceb1e
JJ
129902014-01-17 Jakub Jelinek <jakub@redhat.com>
12991
12992 PR middle-end/59706
12993 * gimplify.c (gimplify_expr): Use create_tmp_var
12994 instead of create_tmp_var_raw. If cond doesn't have
12995 integral type, don't add the IFN_ANNOTATE builtin at all.
12996
aef83682
MJ
129972014-01-17 Martin Jambor <mjambor@suse.cz>
12998
12999 PR ipa/59736
13000 * ipa-cp.c (prev_edge_clone): New variable.
13001 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
13002 Also resize prev_edge_clone vector.
13003 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
13004 (ipcp_edge_removal_hook): New function.
13005 (ipcp_driver): Register ipcp_edge_removal_hook.
13006
4bb66ef3 130072014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
13008 Steve Ellcey <sellcey@mips.com>
13009
13010 PR target/59462
13011 * config/mips/mips.c (mips_print_operand): Check operand mode instead
13012 of operator mode.
13013
4ee5c752
JL
130142014-01-17 Jeff Law <law@redhat.com>
13015
13016 PR middle-end/57904
13017 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
13018 so that pass_ccp runs first.
13019
40cfac7c
L
130202014-01-17 H.J. Lu <hongjiu.lu@intel.com>
13021
13022 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
13023 (ix86_adjust_cost): Use !TARGET_XXX.
13024 (do_reorder_for_imul): Likewise.
13025 (swap_top_of_ready_list): Likewise.
13026 (ix86_sched_reorder): Likewise.
13027
9a7f94d7
L
130282014-01-17 H.J. Lu <hongjiu.lu@intel.com>
13029
13030 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
13031 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
13032 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
13033 (intel_memset): New. Duplicate slm_memset.
13034 (intel_cost): New. Duplicate slm_cost.
13035 (m_INTEL): New macro.
13036 (processor_target_table): Add "intel".
13037 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
13038 with PROCESSOR_INTEL for "intel".
13039 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
13040 PROCESSOR_SILVERMONT.
9a7f94d7
L
13041 (ix86_issue_rate): Likewise.
13042 (ix86_adjust_cost): Likewise.
13043 (ia32_multipass_dfa_lookahead): Likewise.
13044 (swap_top_of_ready_list): Likewise.
13045 (ix86_sched_reorder): Likewise.
8cdcf750
L
13046 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
13047 instead of TARGET_OPT_AGU.
9a7f94d7
L
13048 * config/i386/i386.h (TARGET_INTEL): New.
13049 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
13050 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
13051 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
13052 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 13053
30078c0a
MP
130542014-01-17 Marek Polacek <polacek@redhat.com>
13055
13056 PR c/58346
13057 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
13058 size is zero.
13059
14379e66
RB
130602014-01-17 Richard Biener <rguenther@suse.de>
13061
13062 PR tree-optimization/46590
13063 * opts.c (default_options_table): Add entries for
13064 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
13065 all enabled at -O1 but not for -Og.
13066 * common.opt (fbranch-count-reg): Remove Init(1).
13067 (fmove-loop-invariants): Likewise.
13068 (ftree-pta): Likewise.
13069
f7d594d2
JJ
130702014-01-17 Jakub Jelinek <jakub@redhat.com>
13071
88e18bd5
JJ
13072 * config/i386/i386.c (ix86_data_alignment): For compatibility with
13073 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
13074 decls to at least the GCC 4.8 used alignments.
13075
f7d594d2
JJ
13076 PR fortran/59440
13077 * tree-nested.c (convert_nonlocal_reference_stmt,
13078 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
13079 of GIMPLE_BIND stmts, adjust associated decls.
13080
32500433
RB
130812014-01-17 Richard Biener <rguenther@suse.de>
13082
13083 PR tree-optimization/46590
13084 * vec.h (vec<>::bseach): New member function implementing
13085 binary search according to C89 bsearch.
13086 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
13087 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
13088 bitmap pointer again. Make accesses_in_loop a flat array.
13089 (mem_ref_obstack): New global.
13090 (outermost_indep_loop): Adjust for mem_ref->stored changes.
13091 (mark_ref_stored): Likewise.
13092 (ref_indep_loop_p_2): Likewise.
13093 (set_ref_stored_in_loop): New helper function.
13094 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
13095 (memref_free): Adjust.
13096 (record_mem_ref_loc): Simplify.
13097 (gather_mem_refs_stmt): Adjust.
13098 (sort_locs_in_loop_postorder_cmp): New function.
13099 (analyze_memory_references): Sort accesses_in_loop after
13100 loop postorder number.
13101 (find_ref_loc_in_loop_cmp): New function.
13102 (for_all_locs_in_loop): Find relevant cluster of locs in
13103 accesses_in_loop and iterate without recursion.
13104 (execute_sm): Avoid uninit warning.
13105 (struct ref_always_accessed): Simplify.
13106 (ref_always_accessed::operator ()): Likewise.
13107 (ref_always_accessed_p): Likewise.
13108 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
13109 loop postorder numbers here.
13110 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
13111 numbers.
13112
24fcf4bc
JJ
131132014-01-17 Jan Hubicka <hubicka@ucw.cz>
13114
13115 PR c++/57945
13116 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
13117 on decls for which assemble_alias has been called.
13118
d4f283a1
NC
131192014-01-17 Nick Clifton <nickc@redhat.com>
13120
13121 * config/msp430/msp430.opt: (mcpu): New option.
13122 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
13123 (msp430_option_override): Parse target_cpu. If the MCU name
13124 matches a generic string, clear target_mcu.
13125 (msp430_attr): Allow numeric interrupt values up to 63.
13126 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
13127 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
13128 option.
13129 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
13130 Add mcpu matches.
13131 * config/msp430/msp430.md (popm): Use %J rather than %I.
13132 (addsi3): Use msp430_nonimmediate_operand for operand 2.
13133 (addhi_cy_i): Use immediate_operand for operand 2.
13134 * doc/invoke.texi: Document -mcpu option.
13135
7be64667
RB
131362014-01-17 Richard Biener <rguenther@suse.de>
13137
13138 PR rtl-optimization/38518
13139 * df.h (df_analyze_loop): Declare.
13140 * df-core.c: Include cfgloop.h.
13141 (df_analyze_1): Split out main part of df_analyze.
13142 (df_analyze): Adjust.
13143 (loop_inverted_post_order_compute): New function.
13144 (loop_post_order_compute): Likewise.
13145 (df_analyze_loop): New function avoiding whole-function
13146 postorder computes.
13147 * loop-invariant.c (find_defs): Use df_analyze_loop.
13148 (find_invariants): Adjust.
13149 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
13150
82a197a2
ZC
131512014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
13152
13153 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
13154 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
13155
c68b3f52
IE
131562014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
13157
13158 * ipa-ref.c (ipa_remove_stmt_references): Fix references
13159 traversal when removing references.
13160
39960d1c 131612014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
13162
13163 PR ipa/59775
13164 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
13165
9e6f9ad6
BS
131662014-01-16 Bernd Schmidt <bernds@codesourcery.com>
13167
13168 PR middle-end/56791
13169 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
13170 pushing a reload for an autoinc when we had previously reloaded an
13171 inner part of the address.
13172
a611d7cb
JJ
131732014-01-16 Jakub Jelinek <jakub@redhat.com>
13174
d1417442
JJ
13175 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
13176 field.
13177 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
13178 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
13179 when not giving up or versioning for alias only because of
13180 loop->safelen.
13181 (vect_analyze_data_ref_dependences): Set to true.
13182 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
13183 is a GIMPLE_PHI.
13184 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
13185 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
13186 to the condition.
13187
42ed6cde
JJ
13188 PR middle-end/58344
13189 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
13190
a611d7cb 13191 PR target/59839
7f3af6d3
UB
13192 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
13193 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 13194
8f21260c
VM
131952014-01-16 Vladimir Makarov <vmakarov@redhat.com>
13196
13197 PR middle-end/59609
7f3af6d3
UB
13198 * lra-constraints.c (process_alt_operands): Add printing debug info.
13199 Check absence of input/output reloads for matched operands too.
8f21260c 13200
1a788c05
VM
132012014-01-16 Vladimir Makarov <vmakarov@redhat.com>
13202
13203 PR rtl-optimization/59835
13204 * ira.c (ira_init_register_move_cost): Increase cost for
13205 impossible modes.
13206
4cf24d27
AL
132072014-01-16 Alan Lawrence <alan.lawrence@arm.com>
13208
cc3a9f0d 13209 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 13210
030d03b8
RE
132112014-01-16 Richard Earnshaw <rearnsha@arm.com>
13212
13213 PR target/59780
13214 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
13215 non-register objects. Use gen_(high/low)part more consistently.
13216 Fix assertions.
13217
e78f06a8
MM
132182014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
13219
13220 PR target/59844
13221 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
13222 endian support, remove tests for WORDS_BIG_ENDIAN.
13223 (p8_mfvsrd_3_<mode>): Likewise.
13224 (reload_gpr_from_vsx<mode>): Likewise.
13225 (reload_gpr_from_vsxsf): Likewise.
13226 (p8_mfvsrd_4_disf): Likewise.
13227
9d1ae52c
RB
132282014-01-16 Richard Biener <rguenther@suse.de>
13229
13230 PR rtl-optimization/46590
13231 * lcm.c (compute_antinout_edge): Use postorder iteration.
13232 (compute_laterin): Use inverted postorder iteration.
13233
54c7a7f3
NC
132342014-01-16 Nick Clifton <nickc@redhat.com>
13235
13236 PR middle-end/28865
13237 * varasm.c (output_constant): Return the number of bytes actually
13238 emitted.
13239 (output_constructor_array_range): Update the field size with the
13240 number of bytes emitted by output_constant.
13241 (output_constructor_regular_field): Likewise. Also do not
13242 complain if the total number of bytes emitted is now greater
13243 than the expected fieldpos.
7f3af6d3 13244 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 13245
5147d10a
MP
132462014-01-16 Marek Polacek <polacek@redhat.com>
13247
13248 PR middle-end/59827
13249 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
13250 it is error_mark_node.
13251
4ac005ba
UB
132522014-01-15 Uros Bizjak <ubizjak@gmail.com>
13253
13254 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
13255 VALID_AVX256_REG_OR_OI_MODE.
13256
5d7574fa
PH
132572014-01-15 Pat Haugen <pthaugen@us.ibm.com>
13258
13259 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
13260 current procedure should be profiled.
13261
6ee70f81
AP
132622014-01-15 Andrew Pinski <apinski@cavium.com>
13263
13264 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
13265 of moving from/to the STACK_REG register class.
13266
004a7e45 132672014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
13268
13269 PR debug/54694
13270 * reginfo.c (global_regs_decl): Globalize.
13271 * rtl.h (global_regs_decl): Declare.
13272 * ira.c (do_reload): Diagnose frame_pointer_needed and it
13273 reserved via global_regs.
13274
4583fada
TJ
132752014-01-15 Teresa Johnson <tejohnson@google.com>
13276
13277 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
13278
d13dfec8
BS
132792014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
13280
13281 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
13282 and vmulosh rather than call gen_vec_widen_smult_*.
13283 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
13284 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
13285 (vec_widen_smult_even_v16qi): Likewise.
13286 (vec_widen_umult_even_v8hi): Likewise.
13287 (vec_widen_smult_even_v8hi): Likewise.
13288 (vec_widen_umult_odd_v16qi): Likewise.
13289 (vec_widen_smult_odd_v16qi): Likewise.
13290 (vec_widen_umult_odd_v8hi): Likewise.
13291 (vec_widen_smult_odd_v8hi): Likewise.
13292 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
13293 vmuloub rather than call gen_vec_widen_umult_*.
13294 (vec_widen_umult_lo_v16qi): Likewise.
13295 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
13296 vmulosb rather than call gen_vec_widen_smult_*.
13297 (vec_widen_smult_lo_v16qi): Likewise.
13298 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
13299 rather than call gen_vec_widen_umult_*.
13300 (vec_widen_umult_lo_v8hi): Likewise.
13301 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
13302 rather than call gen_vec_widen_smult_*.
13303 (vec_widen_smult_lo_v8hi): Likewise.
13304
a6a2d67b
JL
133052014-01-15 Jeff Law <law@redhat.com>
13306
13307 PR tree-optimization/59747
13308 * ree.c (find_and_remove_re): Properly handle case where a second
13309 eliminated extension requires widening a copy created for elimination
13310 of a prior extension.
13311 (combine_set_extension): Ensure that the number of hard regs needed
13312 for a destination register does not change when we widen it.
13313
aefe4056
SH
133142014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
13315
13316 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
13317 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
13318 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
13319 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
13320 (avr-*-rtems*): Likewise.
13321 (bfin*-rtems*): Likewise.
13322 (moxie-*-rtems*): Likewise.
13323 (h8300-*-rtems*): Likewise.
13324 (i[34567]86-*-rtems*): Likewise.
13325 (lm32-*-rtems*): Likewise.
13326 (m32r-*-rtems*): Likewise.
13327 (m68k-*-rtems*): Likewise.
13328 (microblaze*-*-rtems*): Likewise.
13329 (mips*-*-rtems*): Likewise.
13330 (powerpc-*-rtems*): Likewise.
13331 (sh-*-rtems*): Likewise.
13332 (sparc-*-rtems*): Likewise.
13333 (sparc64-*-rtems*): Likewise.
13334 (v850-*-rtems*): Likewise.
13335 (m32c-*-rtems*): Likewise.
13336
fef37404
VM
133372014-01-15 Vladimir Makarov <vmakarov@redhat.com>
13338
13339 PR rtl-optimization/59511
13340 * ira.c (ira_init_register_move_cost): Use memory costs for some
13341 cases of register move cost calculations.
13342 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
13343 instead of BB frequency.
13344 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
13345 * lra-assigns.c (find_hard_regno_for): Ditto.
13346
6b916b36
RB
133472014-01-15 Richard Biener <rguenther@suse.de>
13348
13349 PR tree-optimization/59822
13350 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
13351 (vectorizable_load): Use it to hoist defs of uses of invariant
13352 loads out of the loop.
13353
d103f29b 133542014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 13355 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
13356
13357 PR target/59695
13358 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
13359 truncation.
13360
95cb8697
RB
133612014-01-15 Richard Biener <rguenther@suse.de>
13362
13363 PR rtl-optimization/59802
13364 * lcm.c (compute_available): Use inverted postorder to seed
13365 the initial worklist.
13366
cb4b6d17
AK
133672014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13368
1c8b5303 13369 PR target/59803
cb4b6d17
AK
13370 * config/s390/s390.c (s390_preferred_reload_class): Don't return
13371 ADDR_REGS for invalid symrefs in non-PIC code.
13372
2738b4c7
JJ
133732014-01-15 Jakub Jelinek <jakub@redhat.com>
13374
13375 PR other/58712
13376 * builtins.c (determine_block_size): Initialize *probable_max_size
13377 even if len_rtx is CONST_INT.
13378
d126a4ae
AP
133792014-01-14 Andrew Pinski <apinski@cavium.com>
13380
13381 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
13382 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
13383 (cortexa53_tunings): Likewise.
13384 (aarch64_sched_issue_rate): New function.
13385 (TARGET_SCHED_ISSUE_RATE): Define.
13386
dc687582
VM
133872014-01-14 Vladimir Makarov <vmakarov@redhat.com>
13388
13389 * ira-costs.c (find_costs_and_classes): Add missed
13390 ira_init_register_move_cost_if_necessary.
13391
e940b2ec
VM
133922014-01-14 Vladimir Makarov <vmakarov@redhat.com>
13393
13394 PR target/59787
13395 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
13396
3292e376
L
133972014-01-14 H.J. Lu <hongjiu.lu@intel.com>
13398
13399 PR target/59794
13400 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
13401 to indicate if type is used for function return value. Warn ABI
13402 change if the vector mode isn't available for function return value.
3292e376
L
13403 (ix86_function_arg_advance): Pass false to type_natural_mode.
13404 (ix86_function_arg): Likewise.
13405 (ix86_gimplify_va_arg): Likewise.
13406 (function_arg_32): Don't warn ABI change.
13407 (ix86_function_value): Pass true to type_natural_mode.
13408 (ix86_return_in_memory): Likewise.
13409 (ix86_struct_value_rtx): Removed.
13410 (TARGET_STRUCT_VALUE_RTX): Likewise.
13411
db930875
RS
134122014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13413
13414 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
13415 converting a conditional jump into a conditional return.
13416
a0e35eb0
RB
134172014-01-14 Richard Biener <rguenther@suse.de>
13418
13419 PR tree-optimization/58921
13420 PR tree-optimization/59006
13421 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
13422 hoisting invariant stmts.
13423 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
13424 invariant loads on the preheader edge if possible.
13425
a984e92e
JY
134262014-01-14 Joey Ye <joey.ye@arm.com>
13427
13428 * doc/plugin.texi (Building GCC plugins): Update to C++.
13429
c56a42b9
KY
134302014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
13431
3292e376 13432 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
13433 (_mm_rcp28_round_ss): Ditto.
13434 (_mm_rsqrt28_round_sd): Ditto.
13435 (_mm_rsqrt28_round_ss): Ditto.
13436 (_mm_rcp28_sd): Ditto.
13437 (_mm_rcp28_ss): Ditto.
13438 (_mm_rsqrt28_sd): Ditto.
13439 (_mm_rsqrt28_ss): Ditto.
13440 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
13441 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
13442 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
13443 (IX86_BUILTIN_RCP28SD): Ditto.
13444 (IX86_BUILTIN_RCP28SS): Ditto.
13445 (IX86_BUILTIN_RSQRT28SD): Ditto.
13446 (IX86_BUILTIN_RSQRT28SS): Ditto.
13447 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
13448 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
13449 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
13450 (ix86_expand_special_args_builtin): Expand new FTYPE.
13451 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
13452 (srcp14<mode>): Make insn unary.
13453 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
13454 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
13455 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
13456 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
13457 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
13458 Fix rounding: make it SAE only.
4ac005ba
UB
13459 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
13460 Ditto.
13461 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
13462 Ditto.
c56a42b9
KY
13463 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
13464 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
13465 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
13466 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
13467 (round_saeonly_mask_scalar_operand4): Ditto.
13468 (round_saeonly_mask_scalar_op3): Ditto.
13469 (round_saeonly_mask_scalar_op4): Ditto.
13470
09fccb62
BS
134712014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13472
13473 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13474 Implement -maltivec=be for vec_insert and vec_extract.
13475
fb28dac0
DD
134762014-01-10 DJ Delorie <dj@redhat.com>
13477
13478 * config/msp430/msp430.md (call_internal): Don't allow memory
13479 references with SP as the base register.
13480 (call_value_internal): Likewise.
13481 * config/msp430/constraints.md (Yc): New. For memory references
13482 that don't use SP as a base register.
13483
13484 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
13485 "an integer without a # prefix"
13486 * config/msp430/msp430.md (epilogue_helper): Use it.
13487
19e51b40
JJ
134882014-01-13 Jakub Jelinek <jakub@redhat.com>
13489
03b9e8e4
JJ
13490 PR target/59617
13491 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
13492 AVX512F gather builtins.
13493 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
13494 on gather decls with INTEGER_TYPE masktype.
13495 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
13496 directly into the builtin rather than hoisting it before loop.
13497
19e51b40
JJ
13498 PR tree-optimization/59387
13499 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
13500 (scev_const_prop): If folded_casts and type has undefined overflow,
13501 use force_gimple_operand instead of force_gimple_operand_gsi and
13502 for each added stmt if it is assign with
13503 arith_code_with_undefined_signed_overflow, call
13504 rewrite_to_defined_overflow.
13505 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
13506 gimple-fold.h instead.
13507 (arith_code_with_undefined_signed_overflow,
13508 rewrite_to_defined_overflow): Moved to ...
13509 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
13510 rewrite_to_defined_overflow): ... here. No longer static.
13511 Include gimplify-me.h.
13512 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
13513 rewrite_to_defined_overflow): New prototypes.
13514
cd794ed4
KT
135152014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13516
13517 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
13518
e75fde1a
EB
135192014-01-13 Eric Botcazou <ebotcazou@adacore.com>
13520
13521 * builtins.c (get_object_alignment_2): Minor tweak.
13522 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
13523
eae298d6
CB
135242014-01-13 Christian Bruel <christian.bruel@st.com>
13525
13526 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 13527 optimized non constant lengths.
eae298d6 13528
8175be9a
JJ
135292014-01-13 Jakub Jelinek <jakub@redhat.com>
13530
13531 PR libgomp/59194
13532 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
13533 load as __atomic_load_N if possible.
13534
9c111368
DE
135352014-01-11 David Edelsohn <dje.gcc@gmail.com>
13536
13537 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
13538 target parameter.
13539 (rs6000_expand_builtin): Adjust call.
13540
c82846bc
DE
135412014-01-11 David Edelsohn <dje.gcc@gmail.com>
13542
13543 PR target/58115
13544 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
13545 * config/rs6000/rs6000.c: Include target-globals.h.
13546 (rs6000_set_current_function): Instead of doing target_reinit
13547 unconditionally, use save_target_globals_default_opts and
13548 restore_target_globals.
13549
13550 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
13551 FPSCR.
13552 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
13553 (rs6000_expand_builtin): Handle mffs and mtfsf.
13554 (rs6000_init_builtins): Define mffs and mtfsf.
13555 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
13556 (rs6000_mffs): New pattern.
13557 (rs6000_mtfsf): New pattern.
13558
2c407426
BC
135592014-01-11 Bin Cheng <bin.cheng@arm.com>
13560
13561 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
13562 Start narrowing with START. Apply candidate-use pair
13563 and check overall cost in narrowing.
13564 (iv_ca_prune): Pass new argument.
13565
7e41c852
JL
135662014-01-10 Jeff Law <law@redhat.com>
13567
13568 PR middle-end/59743
13569 * ree.c (combine_reaching_defs): Ensure the defining statement
13570 occurs before the extension when optimizing extensions with
13571 different source and destination hard registers.
13572
39960d1c 135732014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
13574
13575 PR ipa/58585
4ac005ba
UB
13576 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
13577 vtables into the type inheritance graph.
b270b096 13578
0d6d7b9a
JJ
135792014-01-10 Jakub Jelinek <jakub@redhat.com>
13580
13581 PR rtl-optimization/59754
13582 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
13583 modes in the REGNO != REGNO case.
13584
110132c1
BS
135852014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13586
13587 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
13588
5da96960
JJ
135892014-01-10 Jakub Jelinek <jakub@redhat.com>
13590
4f87d581
JJ
13591 PR tree-optimization/59745
13592 * tree-predcom.c (tree_predictive_commoning_loop): Call
13593 free_affine_expand_cache if giving up because components is NULL.
13594
5da96960
JJ
13595 * target-globals.c (save_target_globals): Allocate < 4KB structs using
13596 GC in payload of target_globals struct instead of allocating them on
13597 the heap and the larger structs separately using GC.
13598 * target-globals.h (struct target_globals): Make regs, hard_regs,
13599 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
13600 of GTY((skip)) and change type to void *.
13601 (reset_target_globals): Cast loads from those fields to corresponding
13602 types.
13603
1aa26aac
SE
136042014-01-10 Steve Ellcey <sellcey@mips.com>
13605
13606 PR plugins/59335
13607 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
13608 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
13609 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
13610
1c992d1e
RE
136112014-01-10 Richard Earnshaw <rearnsha@arm.com>
13612
7783a246 13613 PR target/59744
1c992d1e
RE
13614 * aarch64-modes.def (CC_Zmode): New flags mode.
13615 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
13616 represents an equality.
7783a246 13617 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
13618 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
13619
86464cbd
AK
136202014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13621
13622 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
13623 extraction in good case.
13624
5e6667b2
RB
136252014-01-10 Richard Biener <rguenther@suse.de>
13626
13627 PR tree-optimization/59374
13628 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
13629 checking after SLP discovery. Mark stmts not participating
13630 in any SLP instance properly.
13631
5619162c
KT
136322014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13633
13634 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
13635 when handling a SET rtx.
13636
2d17b99f
KT
136372014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13638
13639 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
13640 (cortex-a57): Likewise.
13641 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
13642
bcca645c
KT
136432014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13644
13645 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
13646 non-iwmmxt builtins.
13647
a3788dde
JH
136482014-01-10 Jan Hubicka <hubicka@ucw.cz>
13649
13650 PR ipa/58252
13651 PR ipa/59226
13652 * ipa-devirt.c record_target_from_binfo): Take as argument
13653 stack of binfos and lookup matching one for virtual inheritance.
13654 (possible_polymorphic_call_targets_1): Update.
13655
87ed883e
HC
136562014-01-10 Huacai Chen <chenhc@lemote.com>
13657
13658 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
13659 kernel strings for Loongson-2E/2F/3A.
13660
cd4447e2
JJ
136612014-01-10 Jakub Jelinek <jakub@redhat.com>
13662
13663 PR middle-end/59670
13664 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
13665 is_gimple_call before calling gimple_call_internal_p.
13666
3fadf78a
SE
136672014-01-09 Steve Ellcey <sellcey@mips.com>
13668
13669 * Makefile.in (TREE_FLOW_H): Remove.
13670 (TREE_SSA_H): Add file names from tree-flow.h.
13671 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
13672 * tree.h: Remove tree-flow.h reference.
13673 * hash-table.h: Remove tree-flow.h reference.
13674 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
13675 reference with tree-ssa-loop.h.
13676
6edc217d
BS
136772014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13678
13679 * doc/invoke.texi: Add -maltivec={be,le} options, and document
13680 default element-order behavior for -maltivec.
13681 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
13682 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
13683 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
13684 when targeting big endian, at least for now.
13685 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
13686
a70e9985
JJ
136872014-01-09 Jakub Jelinek <jakub@redhat.com>
13688
3396aba5
JJ
13689 PR middle-end/47735
13690 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
13691 var satisfies use_register_for_decl, just take into account type
13692 alignment, rather than decl alignment.
13693
a70e9985
JJ
13694 PR tree-optimization/59622
13695 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
13696 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
13697 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
13698 Don't devirtualize for inplace at all. For targets.length () == 1,
13699 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
13700
6e9cc565
L
137012014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13702
13703 * config/i386/i386.md (cpu): Remove the unused btver1.
13704
d1c0e4ac
L
137052014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13706
13707 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
13708
e83b8e2e
JJ
137092014-01-09 Jakub Jelinek <jakub@redhat.com>
13710
13711 PR target/58115
13712 * tree-core.h (struct target_globals): New forward declaration.
13713 (struct tree_target_option): Add globals field.
13714 * tree.h (TREE_TARGET_GLOBALS): Define.
13715 (prepare_target_option_nodes_for_pch): New prototype.
13716 * target-globals.h (struct target_globals): Define even if
13717 !SWITCHABLE_TARGET.
13718 * tree.c (prepare_target_option_node_for_pch,
13719 prepare_target_option_nodes_for_pch): New functions.
13720 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
13721 * config/i386/i386.c: Include target-globals.h.
13722 (ix86_set_current_function): Instead of doing target_reinit
13723 unconditionally, use save_target_globals_default_opts and
13724 restore_target_globals.
13725
2aaed0f3
RB
137262014-01-09 Richard Biener <rguenther@suse.de>
13727
13728 PR tree-optimization/59715
13729 * tree-cfg.h (split_critical_edges): Declare.
13730 * tree-cfg.c (split_critical_edges): Export.
13731 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
13732
b5ebc991
MO
137332014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
13734
4ac005ba 13735 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
13736 asan stack protection.
13737 (expand_used_vars): Likewise.
13738 (partition_stack_vars): Likewise.
4ac005ba 13739 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 13740 after return stack usage.
7f3af6d3 13741 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
13742 (instrument_builtin_call): Likewise.
13743 (instrument_strlen_call): Likewise.
7f3af6d3 13744 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
13745 * doc/invoke.texi: Added doc for new options.
13746 * params.def: Added new options.
13747 * params.h: Likewise.
13748
b59e0455
JJ
137492014-01-09 Jakub Jelinek <jakub@redhat.com>
13750
13751 PR rtl-optimization/59724
13752 * ifcvt.c (cond_exec_process_if_block): Don't call
13753 flow_find_head_matching_sequence with 0 longest_match.
13754 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
13755 non-active insns if !stop_after.
13756 (try_head_merge_bb): Revert 2014-01-07 changes.
13757
650c4c85
JL
137582014-01-08 Jeff Law <law@redhat.com>
13759
13760 * ree.c (get_sub_rtx): New function, extracted from...
13761 (merge_def_and_ext): Here.
13762 (combine_reaching_defs): Use get_sub_rtx.
13763
ff36fcbe
EB
137642014-01-08 Eric Botcazou <ebotcazou@adacore.com>
13765
13766 * cgraph.h (varpool_variable_node): Do not choke on null node.
13767
9f9d82aa
CM
137682014-01-08 Catherine Moore <clm@codesourcery.com>
13769
4ac005ba
UB
13770 * config/mips/mips.md (simple_return): Attempt to use JRC
13771 for microMIPS.
9f9d82aa
CM
13772 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
13773
df6c8808
RS
137742014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13775
13776 PR rtl-optimization/59137
13777 * reorg.c (steal_delay_list_from_target): Call update_block for
13778 elided insns.
13779 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
13780
6170ceff
BS
137812014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13782
13783 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
13784 two duplicate entries.
13785
3f140f32
RS
137862014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13787
13788 Revert:
13789 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
13790
13791 * config/mips/mips.c (mips_truncated_op_cost): New function.
13792 (mips_rtx_costs): Adjust test for BADDU.
13793 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
13794
13795 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
13796
13797 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
13798 (*baddu_si): ...this new pattern.
13799
c6de6665
JJ
138002014-01-08 Jakub Jelinek <jakub@redhat.com>
13801
13802 PR ipa/59722
13803 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
13804
4c437f02
BE
138052014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
13806
13807 PR middle-end/57748
13808 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
13809 inner_reference_p.
13810 (expand_expr, expand_normal): Adjust.
13811 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
13812 inner_reference_p. Use inner_reference_p to expand inner references.
13813 (store_expr): Adjust.
13814 * cfgexpand.c (expand_call_stmt): Adjust.
13815
4ac005ba 138162014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
13817
13818 * gcov-io.c (gcov_var): Move from gcov-io.h.
13819 (gcov_position): Ditto.
13820 (gcov_is_error): Ditto.
13821 (gcov_rewrite): Ditto.
13822 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
13823 only part to libgcc/libgcov.h.
13824
ab04b46e
MP
138252014-01-08 Marek Polacek <polacek@redhat.com>
13826
13827 PR middle-end/59669
13828 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
13829
06636b32
MP
138302014-01-08 Marek Polacek <polacek@redhat.com>
13831
13832 PR sanitizer/59667
13833 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
13834
c15677b6
JJ
138352014-01-08 Jakub Jelinek <jakub@redhat.com>
13836
13837 PR rtl-optimization/59649
13838 * stor-layout.c (get_mode_bounds): For BImode return
13839 0 and STORE_FLAG_VALUE.
13840
5c944c6c
RB
138412014-01-08 Richard Biener <rguenther@suse.de>
13842
13843 PR middle-end/59630
13844 * gimple.h (is_gimple_builtin_call): Remove.
13845 (gimple_builtin_call_types_compatible_p): New.
13846 (gimple_call_builtin_p): New overload.
13847 * gimple.c (is_gimple_builtin_call): Remove.
13848 (validate_call): Rename to ...
13849 (gimple_builtin_call_types_compatible_p): ... this and export. Also
13850 check return types.
13851 (validate_type): New static function.
13852 (gimple_call_builtin_p): New overload and adjust.
13853 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
13854 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
13855 (gimple_fold_stmt_to_constant_1): Likewise.
13856 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
13857
0bd34ae4
RB
138582014-01-08 Richard Biener <rguenther@suse.de>
13859
13860 PR middle-end/59471
13861 * gimplify.c (gimplify_expr): Gimplify register-register type
13862 VIEW_CONVERT_EXPRs to separate stmts.
13863
04af8ab6
JL
138642014-01-07 Jeff Law <law@redhat.com>
13865
3c92da90
JL
13866 PR middle-end/53623
13867 * ree.c (combine_set_extension): Handle case where source
13868 and destination registers in an extension insn are different.
4ac005ba
UB
13869 (combine_reaching_defs): Allow source and destination registers
13870 in extension to be different under limited circumstances.
3c92da90 13871 (add_removable_extension): Remove restriction that the
4ac005ba 13872 source and destination registers in the extension are the same.
3c92da90
JL
13873 (find_and_remove_re): Emit a copy from the extension's
13874 destination to its source after the defining insn if
13875 the source and destination registers are different.
13876
04af8ab6
JL
13877 PR middle-end/59285
13878 * ifcvt.c (merge_if_block): If we are merging a block with more than
13879 one successor with a block with no successors, remove any BARRIER
13880 after the second block.
13881
4bb66ef3 138822014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
13883
13884 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
13885
55ada375
JDA
138862014-01-07 John David Anglin <danglin@gcc.gnu.org>
13887
13888 PR target/59652
13889 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
13890 for 14-bit register offsets when INT14_OK_STRICT is false.
13891
877c72e7
RS
138922014-01-07 Roland Stigge <stigge@antcom.de>
13893 Michael Meissner <meissner@linux.vnet.ibm.com>
13894
13895 PR 57386/target
13896 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 13897 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 13898
8b2721da
JG
138992014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
13900
13901 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
13902 -mcpu.
13903
5d72b79f
YZ
139042014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
13905
13906 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
13907 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
13908 rtx is const0_rtx or not.
13909
48d53439
RS
139102014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
13911
13912 PR target/58115
13913 * target-globals.c (save_target_globals): Remove this_fn_optab
13914 handling.
13915 * toplev.c: Include optabs.h.
13916 (target_reinit): Temporarily restore the global options if another
13917 set of options are in force.
13918
41626746
JJ
139192014-01-07 Jakub Jelinek <jakub@redhat.com>
13920
a0cbe71e
JJ
13921 PR rtl-optimization/58668
13922 * cfgcleanup.c (flow_find_cross_jump): Don't count
13923 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
13924 to determine what is counted.
13925 (flow_find_head_matching_sequence): Use active_insn_p to determine
13926 what is counted.
13927 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
13928 counting change.
13929 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
13930 determine what is counted.
13931
41626746
JJ
13932 PR tree-optimization/59643
13933 * tree-predcom.c (split_data_refs_to_components): If one dr is
13934 read and one write, determine_offset fails and the write isn't
13935 in the bad component, just put the read into the bad component.
13936
cc349a39
MS
139372014-01-07 Mike Stump <mikestump@comcast.net>
13938 Jakub Jelinek <jakub@redhat.com>
13939
13940 PR pch/59436
13941 * tree-core.h (struct tree_optimization_option): Change optabs
13942 type from unsigned char * to void *.
13943 * optabs.c (init_tree_optimization_optabs): Adjust
13944 TREE_OPTIMIZATION_OPTABS initialization.
13945
529a6471
JJ
139462014-01-06 Jakub Jelinek <jakub@redhat.com>
13947
13948 PR target/59644
13949 * config/i386/i386.h (struct machine_function): Add
13950 no_drap_save_restore field.
13951 * config/i386/i386.c (ix86_save_reg): Use
13952 !cfun->machine->no_drap_save_restore instead of
13953 crtl->stack_realign_needed.
13954 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
13955 this function clears frame_pointer_needed. Set
13956 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
13957 and DRAP reg is needed.
13958
96066ce1
MP
139592014-01-06 Marek Polacek <polacek@redhat.com>
13960
13961 PR c/57773
13962 * doc/implement-c.texi: Mention that other integer types are
13963 permitted as bit-field types in strictly conforming mode.
13964
955b33ed 139652014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
13966
13967 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
13968 is newly allocated.
13969
328402a9
RE
139702014-01-06 Richard Earnshaw <rearnsha@arm.com>
13971
13972 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
13973
a4e33812
MJ
139742014-01-06 Martin Jambor <mjambor@suse.cz>
13975
13976 PR ipa/59008
13977 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
13978 to int.
13979 * ipa-prop.c (ipa_print_node_params): Fix indentation.
13980
b5cd2a02
EB
139812014-01-06 Eric Botcazou <ebotcazou@adacore.com>
13982
13983 PR debug/59350
13984 PR debug/59510
13985 * var-tracking.c (add_stores): Preserve the value of the source even if
13986 we don't record the store.
13987
c7d19c0b
TG
139882014-01-06 Terry Guo <terry.guo@arm.com>
13989
13990 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
13991
e0c70bd7
IS
139922014-01-05 Iain Sandoe <iain@codesourcery.com>
13993
13994 PR bootstrap/59541
13995 * config/darwin.c (darwin_function_section): Adjust return values to
13996 correspond to optimisation changes made in r206070.
13997
c30f016c
UB
139982014-01-05 Uros Bizjak <ubizjak@gmail.com>
13999
14000 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
14001 from prefetch_block tune setting.
14002 (nocona_cost): Correct size of prefetch block to 64.
14003
f2bc252b
EB
140042014-01-04 Eric Botcazou <ebotcazou@adacore.com>
14005
14006 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
14007 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
14008 used to save the static chain register in the computation of the offset
14009 from which the FP registers need to be restored.
14010
dad5ed2e
JJ
140112014-01-04 Jakub Jelinek <jakub@redhat.com>
14012
39719c84
JJ
14013 PR tree-optimization/59519
14014 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
14015 ICE if get_current_def (current_new_name) is already non-NULL, as long
14016 as it is a phi result of some other phi in *new_exit_bb that has
14017 the same argument.
14018
dad5ed2e
JJ
14019 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
14020 or vmovdqu* for misaligned_operand.
14021 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
14022 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
14023 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
14024 aligned_mem for AVX512F masked aligned load and store builtins and for
14025 non-temporal moves.
14026
140272014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
14028
14029 PR tree-optimization/59651
c30f016c 14030 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
14031 Address range for negative step should be added by TYPE_SIZE_UNIT.
14032
e864837a
AS
140332014-01-03 Andreas Schwab <schwab@linux-m68k.org>
14034
14035 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 14036 overlapping registers also for registers other than the stack pointer.
e864837a 14037
56a34230
MP
140382014-01-03 Marek Polacek <polacek@redhat.com>
14039
14040 PR other/59661
14041 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
14042 __builtin_FILE.
14043
039eee3f
JJ
140442014-01-03 Jakub Jelinek <jakub@redhat.com>
14045
3bcdbd50
JJ
14046 PR target/59625
14047 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
14048 asm goto as jump.
14049
039eee3f
JJ
14050 * config/i386/i386.md (MODE_SIZE): New mode attribute.
14051 (push splitter): Use <P:MODE_SIZE> instead of
14052 GET_MODE_SIZE (<P:MODE>mode).
14053 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
14054 (mov -1, reg peephole2): Likewise.
14055 * config/i386/sse.md (*mov<mode>_internal,
14056 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
14057 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
14058 *<code><mode>3, *andnot<mode>3<mask_name>,
14059 <mask_codefor><code><mode>3<mask_name>): Likewise.
14060 * config/i386/subst.md (mask_mode512bit_condition,
14061 sd_mask_mode512bit_condition): Likewise.
14062
927734cf
XDL
140632014-01-02 Xinliang David Li <davidxl@google.com>
14064
14065 PR tree-optimization/59303
039eee3f 14066 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
14067 (dump_predicates): Better output format.
14068 (pred_equal_p): New function.
14069 (is_neq_relop_p): Ditto.
14070 (is_neq_zero_form_p): Ditto.
14071 (pred_expr_equal_p): Ditto.
14072 (pred_neg_p): Ditto.
14073 (simplify_pred): Ditto.
14074 (simplify_preds_2): Ditto.
14075 (simplify_preds_3): Ditto.
14076 (simplify_preds_4): Ditto.
14077 (simplify_preds): Ditto.
14078 (push_pred): Ditto.
14079 (push_to_worklist): Ditto.
14080 (get_pred_info_from_cmp): Ditto.
14081 (is_degenerated_phi): Ditto.
14082 (normalize_one_pred_1): Ditto.
14083 (normalize_one_pred): Ditto.
14084 (normalize_one_pred_chain): Ditto.
14085 (normalize_preds): Ditto.
14086 (normalize_cond_1): Remove function.
14087 (normalize_cond): Ditto.
14088 (is_gcond_subset_of): Ditto.
14089 (is_subset_of_any): Ditto.
14090 (is_or_set_subset_of): Ditto.
14091 (is_and_set_subset_of): Ditto.
14092 (is_norm_cond_subset_of): Ditto.
14093 (pred_chain_length_cmp): Ditto.
14094 (convert_control_dep_chain_into_preds): Type change.
14095 (find_predicates): Ditto.
14096 (find_def_preds): Ditto.
14097 (destroy_predicates_vecs): Ditto.
14098 (find_matching_predicates_in_rest_chains): Ditto.
14099 (use_pred_not_overlap_with_undef_path_pred): Ditto.
14100 (is_pred_expr_subset): Ditto.
14101 (is_pred_chain_subset_of): Ditto.
14102 (is_included_in): Ditto.
14103 (is_superset_of): Ditto.
14104
23a5b65a
RS
141052014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14106
c30f016c 14107 Update copyright years.
23a5b65a 14108
f9030485
RS
141092014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14110
14111 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
14112 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
14113 config/arc/arc.md, config/arc/arc.opt,
14114 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
14115 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
14116 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
14117 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
14118 config/linux-protos.h, config/linux.c, config/winnt-c.c,
14119 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
14120 vtable-verify.c, vtable-verify.h: Use the standard form for the
14121 copyright notice.
f9030485 14122
98db73df
TB
141232014-01-02 Tobias Burnus <burnus@net-b.de>
14124
14125 * gcc.c (process_command): Update copyright notice dates.
14126 * gcov-dump.c: Ditto.
14127 * gcov.c: Ditto.
14128 * doc/cpp.texi: Bump @copying's copyright year.
14129 * doc/cppinternals.texi: Ditto.
14130 * doc/gcc.texi: Ditto.
14131 * doc/gccint.texi: Ditto.
14132 * doc/gcov.texi: Ditto.
14133 * doc/install.texi: Ditto.
14134 * doc/invoke.texi: Ditto.
14135
2898d204 141362014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
14137
14138 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
14139
dfebbdc6 141402014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 14141
726c3546
JJ
14142 * config/i386/sse.md (*mov<mode>_internal): Guard
14143 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
14144
dfebbdc6
JJ
14145 PR rtl-optimization/59647
14146 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
14147 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 14148\f
970c3b33 14149Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
14150
14151Copying and distribution of this file, with or without modification,
14152are permitted in any medium without royalty provided the copyright
14153notice and this notice are preserved.
This page took 7.621374 seconds and 5 git commands to generate.