]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR middle-end/61141 (c-common.c:1502:1: ICE: in reset_insn_used_flags, at emit...
[gcc.git] / gcc / ChangeLog
CommitLineData
748e88da
JDA
12014-05-18 John David Anglin <danglin@gcc.gnu.org>
2
3 PR middle-end/61141
4 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
5 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
6 (verify_rtl_sharing): Likewise.
7
00f30445
MG
82014-06-09 Marc Glisse <marc.glisse@inria.fr>
9
10 PR c++/54442
11 * tree.c (build_qualified_type): Use a canonical type for
12 TYPE_CANONICAL.
13
545fb0e8
RR
142014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15
16 * config/arm/arm-modes.def: Remove XFmode.
17
842cbb73
AL
182014-06-09 Alan Lawrence <alan.lawrence@arm.com>
19
20 PR target/61062
21 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
22 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
23 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16, vzip_s8,
24 vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32, vzip_f32,
25 vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32, vzipq_u8,
26 vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16, vuzp_s32,
27 vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16, vuzpq_s8,
28 vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16, vuzpq_u32,
29 vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
30
8de98ad4
JH
312014-06-09 Jan Hubicka <hubicka@ucw.cz>
32
33 * tree-core.h (tree_decl_with_vis): Remove section_name.
34
001010df
KC
352014-06-09 Kito Cheng <kito@0xlab.org>
36
37 * ira.c (ira): Don't call init_caller_save if LRA enabled
38 since LRA use its own infrastructure to handle that.
39
24d047a3
JH
402014-06-07 Jan Hubicka <hubicka@ucw.cz>
41
42 * symtab.c (dump_symtab_base): Update dumping.
43 (symtab_make_decl_local): Clear only DECL_COMDAT.
44 * tree-vect-data-refs.c (Check that variable is static before
45 tampering with sections.
46 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
47 (cgraph_create_virtual_clone): Likewise.
48 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
49 (decl_section_name, set_decl_section_name): New accessors.
50 (find_decls_types_r): Do not walk section name
51 * tree.h (DECL_SECTION_NAME): Implement using
52 decl_section_name.
53 (decl_comdat_group, decl_comdat_group_id): Constify.
54 (decl_section_name, set_decl_section_name): Update.
55 * varpool.c (varpool_finalize_named_section_flags): Use
56 get_section.
57 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
58 (cgraph_make_node_local_1): Clear section and comdat group.
59 * cgraph.h (set_comdat_group): Sanity check.
60 (get_section, set_section): New.
61 * ipa-comdats.c (ipa_comdats): Use get_section.
62 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
63 * lto-streamer-out.c: Do not follow section names.
64 * c-family/c-common.c (handle_section_attribute):
65 Update.
66 * lto-cgraph.c (lto_output_node): Output section.
67 (lto_output_varpool_node): Likewise.
68 (read_comdat_group): Rename to ...
69 (read_identifier): ... this one.
70 (read_string_cst): New function.
71 (input_node, input_varpool_node): Input section names.
72 * tree-emutls.c (get_emutls_init_templ_addr): Update.
73 (new_emutls_decl): Update.
74 (secname_for_decl): Check section names only of static
75 vars.
76 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
77 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
78 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
79 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
80 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
81 * config/mcore/mcore.c (mcore_unique_section): Likewise.
82 * config/mips/mips.c (mips16_build_function_stub): Likewise.
83 * config/v850/v850.c (v850_insert_attributes): Likewise.
84 * config/h8300/h8300.c: (h8300_handle_eightbit_data_attribute):
85 Likewise.
86 (h8300_handle_tiny_data_attribute): Likewise.
87 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
88 (bfin_handle_l2_attribute): Likewise.
89
80bc9b6e
JH
902014-06-07 Jan Hubicka <hubicka@ucw.cz>
91
92 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
93 remove static initializer.
94
684a3aa7
JH
952014-06-07 Jan Hubicka <hubicka@ucw.cz>
96
97 * varasm.c (use_blocks_for_decl_p): Check symbol table instead of alias
98 attribute.
99 (place_block_symbol): Recurse on aliases.
100
94c2e46c
JH
1012014-06-07 Jan Hubicka <hubicka@ucw.cz>
102
103 * ipa-visibility.c: Include varasm.h
104 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
105
136a5f45
JH
1062014-06-07 Jan Hubicka <hubicka@ucw.cz>
107
108 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
109 outputting aliases.
110
0dbaf51e
SB
1112014-06-07 Steven Bosscher <steven@gcc.gnu.org>
112
113 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
114 from test_insn into GGC space escape via SET_SRC.
115
51d2abeb
EB
1162014-06-07 Eric Botcazou <ebotcazou@adacore.com>
117
118 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
119 call statement, if any.
120 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
121 statements, if any. Tidy up.
122
b528fc5c
MM
1232014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
124
125 PR target/61431
126 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
127 iterators, VSX_D that handles 64-bit types, and VSX_LE that
128 handles swapping the two 64-bit double words on little endian
129 systems. Include V1TImode and optionally TImode in VSX_LE so that
130 these types are properly swapped. Change all of the insns and
131 splits that do the 64-bit swaps to use VSX_LE.
132 (vsx_le_perm_load_<mode>): Likewise.
133 (vsx_le_perm_store_<mode>): Likewise.
134 (splitters for little endian memory operations): Likewise.
135 (vsx_xxpermdi2_le_<mode>): Likewise.
136 (vsx_lxvd2x2_le_<mode>): Likewise.
137 (vsx_stxvd2x2_le_<mode>): Likewise.
138
7b11cab7
UB
1392014-06-06 Uros Bizjak <ubizjak@gmail.com>
140
141 PR target/61423
142 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
143 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
144 and corresponding splitters. Zero extend general register
145 or memory input operand to XMM temporary. Enable for
146 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
147 (floatunssi<mode>2): Update expander predicate.
148
5a770e01
VM
1492014-06-06 Vladimir Makarov <vmakarov@redhat.com>
150
151 PR rtl-optimization/61325
152 * lra-constraints.c (process_address_1): Check scale equal to one
153 to prevent transformation: base + scale * index => base + new_reg.
154
acce8ce3
RB
1552014-06-06 Richard Biener <rguenther@suse.de>
156
157 PR tree-optimization/59299
158 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
159 a def operand.
160 (nearest_common_dominator_of_uses): Likewise.
161 (statement_sink_location): Adjust. Support sinking loads.
162
0d48ee34
MJ
1632014-06-06 Martin Jambor <mjambor@suse.cz>
164
165 * ipa-prop.c (get_place_in_agg_contents_list): New function.
166 (build_agg_jump_func_from_list): Likewise.
167 (determine_known_aggregate_parts): Renamed to
168 determine_locally_known_aggregate_parts. Moved some functionality
169 to the two functions above, removed bound checks.
170
e2c75eea
JG
1712014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
172
173 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
174 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
175 (aarch64_progress_pointer): Likewise.
176 (aarch64_copy_one_part_and_move_pointers): Likewise.
177 (aarch64_expand_movmen): Likewise.
178 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
179 * config/aarch64/aarch64.md (movmem<mode>): New.
180
58e5400a
BM
1812014-06-06 Bingfeng Mei <bmei@broadcom.com>
182
183 * targhooks.c (default_add_stmt_cost): Call target specific
184 hook instead of default one.
185
58126368
TP
1862014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
187
188 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
189 endianness instead of host endianness.
190 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
191 comments.
192
3fd48b12
EB
1932014-06-06 Eric Botcazou <ebotcazou@adacore.com>
194
195 PR debug/53927
196 * function.c (instantiate_decls): Process the saved static chain.
197 (expand_function_start): If not optimizing, save the static chain
198 onto the stack.
199 * tree-nested.c (convert_all_function_calls): Always create the static
200 chain for nested functions if not optimizing.
201
9b7a11e1
EB
2022014-06-06 Eric Botcazou <ebotcazou@adacore.com>
203
204 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
205
726338f4
RB
2062014-06-06 Richard Biener <rguenther@suse.de>
207
208 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
209 (construct_init_block): Likewise.
210 (construct_exit_block): Likewise.
211 (pass_expand::execute): Likewise.
212 * graphite.c (graphite_transforms): Replace check for current_loops
213 with a check for > 1 loops.
214 (pass_graphite_transforms::execute): Adjust.
215 * ipa-split.c (split_function): Remove check for current_loops.
216 * omp-low.c (expand_parallel_call): Likewise.
217 (expand_omp_for_init_counts): Likewise.
218 (extract_omp_for_update_vars): Likewise.
219 (expand_omp_for_generic): Likewise.
220 (expand_omp_sections): Likewise.
221 (expand_omp_target): Likewise.
222 * tracer.c (tail_duplicate): Likewise.
223 (pass_tracer::execute): Likewise.
224 * trans-mem.c (expand_transaction): Likewise.
225 * tree-complex.c (expand_complex_div_wide): Likewise.
226 * tree-eh.c (lower_resx): Likewise.
227 (cleanup_empty_eh_merge_phis): Likewise.
228 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
229 current_loops with a check for > 1 loops.
230 (pass_predcom::execute): Adjust.
231 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
232 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
233 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
234 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
235 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
236 * tree-switch-conversion.c (process_switch): Likewise.
237 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
238 * tree-vrp.c (vrp_visit_phi_node): Likewise.
239 (execute_vrp): Likewise.
240 * ubsan.c (ubsan_expand_null_ifn): Likewise.
241
ffa4602f
EB
2422014-06-06 Eric Botcazou <ebotcazou@adacore.com>
243
244 * rtl.h (insn_location): Declare.
245 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
246 with UNKNOWN_LOCATION.
247 * emit-rtl.c (insn_location): New function.
248 * final.c (notice_source_line): Check that the instruction has a
249 location before retrieving it and use insn_location.
250 * modulo-sched.c (loop_single_full_bb_p): Likewise.
251 * print-rtl.c (print_rtx): Likewise.
252
28a4a292
RB
2532014-06-06 Richard Biener <rguenther@suse.de>
254
255 * passes.def: Move 2nd VRP pass before phi-only-cprop.
256
d969f3c1
CB
2572014-06-06 Christian Bruel <christian.bruel@st.com>
258
259 PR tree-optimization/43934
28a4a292
RB
260 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
261 cost.
d969f3c1 262
b58923e2
RS
2632014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
264
265 * ira-lives.c (single_reg_class): Add missing break. Explicitly
266 return NO_REGS for extra address and memory constraints. Handle
267 operands that match (or are equivalent to something that matches)
268 extra constant constraints. Ignore other non-register operands.
269
ddbb449f
AM
2702014-06-06 Alan Modra <amodra@gmail.com>
271
272 PR target/61300
273 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
274 * doc/tm.texi: Regenerate.
275 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
276 Use throughout in place of REG_PARM_STACK_SPACE.
277 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
278 "incoming" param. Pass to rs6000_function_parms_need_stack.
279 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
280 prototype_p when incoming. Use function decl when incoming
281 to handle K&R style functions.
282 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
283 (INCOMING_REG_PARM_STACK_SPACE): Define.
284
a148c4b2
SKS
2852014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
286
287 PR target/52472
288 * cfgexpand.c (expand_debug_expr): Use address space of nested
289 TREE_TYPE for ADDR_EXPR and MEM_REF.
290
64e13bcd
JL
2912014-06-05 Jeff Law <law@redhat.com>
292
293 PR tree-optimization/61289
294 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
295 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
296 looking for those which match LHS. All callers changed.
297 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
298 parameters and code which manipulated them. All callers changed.
299 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
300 and DST_MAP parameters. Simplify invalidation code by just calling
301 invalidate_equivalences. All callers changed.
302 (thread_across_edge): Simplify now that we don't need to maintain
303 the map of equivalences to invalidate.
304
5853e181
KT
3052014-06-05 Kai Tietz <ktietz@redhat.com>
306 Richard Henderson <rth@redhat.com>
307
308 PR target/46219
309 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
310 checking for !TARGET_X32.
311 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
312 (sibcall_intern): New define_insn, plus required peepholes.
313 (sibcall_pop_intern): Likewise.
314 (sibcall_value_intern): Likewise.
315 (sibcall_value_pop_intern): Likewise.
316
95cc0a1a
IE
3172014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
318
319 * tree-inline.c (tree_function_versioning): Check DF info existence
320 before accessing it.
321
1c960e02
MS
3222014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
323
324 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
325 frame_size.
326 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
327 aarch64_frame hard_fp_offset and frame_size.
328 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
329 frame_size; remove original_frame_size.
330 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
331 (aarch64_initial_elimination_offset): Remove frame_size and
332 offset. Use aarch64_frame frame_size.
333
2e1cdae5
MS
3342014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
335 Jiong Wang <jiong.wang@arm.com>
4a450ea0 336 Renlin <renlin.li@arm.com>
2e1cdae5
MS
337
338 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
339 initialization of R30 offset. Update offset. Iterate core
340 regisers upto X30. Remove X29, X30 specific code.
341
97826595
MS
3422014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
343 Jiong Wang <jiong.wang@arm.com>
344
345 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
346 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
347 (aarch64_register_saved_on_entry): Adjust test.
348
8799637a
MS
3492014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
350
351 * config/aarch64/aarch64.h (machine_function): Move
352 saved_varargs_size from here...
4a450ea0 353 (aarch64_frame): ... to here.
8799637a
MS
354
355 * config/aarch64/aarch64.c (aarch64_expand_prologue)
356 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
357 (aarch64_initial_elimination_offset)
358 (aarch64_setup_incoming_varargs): Adjust location of
359 saved_varargs_size.
360
34834420
MS
3612014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
362
363 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
364 layout comment.
365
aaaa9efc
JP
3662014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
367 Prachi Godbole <Prachi.Godbole@imgtec.com>
368
369 * config/mips/mips-cpus.def: Add definition for p5600. Updated
370 mips32r5 entry to use PROCESSOR_P5600.
371 * config/mips/mips-tables.opt: Regenerate.
372 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
373 * config/mips/mips.c (mips_fmadd_bypass): New function.
374 (mips_rtx_cost_data): Add costs for p5600.
375 (mips_issue_rate): Add support for p5600.
376 (mips_multipass_dfa_lookahead): Likewise.
377 * config/mips/mips.h (TUNE_P5600): New define.
378 (TUNE_MACC_CHAINS): Add TUNE_P5600.
379 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
380 * config/mips/mips.md: Include p5600.md.
381 (processor): Add p5600.
382 * config/mips/p5600.md: New file.
383
edbb0749
ES
3842014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
385
386 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
387 * config/i386/predicates.md (palignr_operand): New.
388 Indicates if permutation is suitable for palignr instruction.
389
e12355ef
YR
3902014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
391
392 PR tree-optimization/61319
393 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
394 stmt belongs to loop.
395
947ca6a0
RB
3962014-06-05 Richard Biener <rguenther@suse.de>
397
398 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
399 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
400 (lookup_tmp_var): Adjust.
401 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
402
63e70d3c
RR
4032014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
404
405 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
406
742938c9
MP
4072014-06-05 Marek Polacek <polacek@redhat.com>
408
409 PR c/49706
410 * doc/invoke.texi: Document -Wlogical-not-parentheses.
411
357ddc7d
TV
4122014-06-04 Tom de Vries <tom@codesourcery.com>
413
414 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
415 CONST_INT.
416
ca73a1f7
MG
4172014-06-04 Marc Glisse <marc.glisse@inria.fr>
418
419 PR tree-optimization/61385
420 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
421
ffb1f5ef
BS
4222014-06-04 Bernd Schmidt <bernds@codesourcery.com>
423
424 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
425 changed to use fatal_error.
426 (main): Ensure lto_wrapper_cleanup is run atexit.
427
a953491e
RS
4282014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
429
430 * lra-constraints.c (valid_address_p): Move earlier in file.
431 (address_eliminator): New structure.
432 (satisfies_memory_constraint_p): New function.
433 (satisfies_address_constraint_p): Likewise.
434 (process_alt_operands, process_address, curr_insn_transform): Use them.
435
0c331756
RS
4362014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
437
438 * lra-int.h (lra_static_insn_data): Make operand_alternative a
439 const pointer.
440 (target_lra_int, default_target_lra_int, this_target_lra_int)
441 (op_alt_data): Delete.
442 * lra.h (lra_init): Delete.
443 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
444 (init_insn_code_data_once): Remove op_alt_data handling.
445 (finish_insn_code_data_once): Likewise.
446 (init_op_alt_data): Delete.
447 (get_static_insn_data): Initialize operand_alternative to null.
448 (free_insn_recog_data): Cast operand_alternative before freeing it.
449 (setup_operand_alternative): Take the operand_alternative as
450 parameter and assume it isn't already cached in the static
451 insn data.
452 (lra_set_insn_recog_data): Update accordingly.
453 (lra_init): Delete.
454 * ira.c (ira_init): Don't call lra_init.
455 * target-globals.h (this_target_lra_int): Declare.
456 (target_globals): Remove lra_int.
457 (restore_target_globals): Update accordingly.
458 * target-globals.c: Don't include lra-int.h.
459 (default_target_globals, save_target_globals): Remove lra_int.
460
1145837d
RS
4612014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
462
463 * recog.h (operand_alternative): Convert reg_class, reject,
464 matched and matches into bitfields.
465 (preprocess_constraints): New overload.
466 (preprocess_insn_constraints): New function.
467 (preprocess_constraints): Take the insn as parameter.
468 (recog_op_alt): Change into a pointer.
469 (target_recog): Add x_op_alt.
470 * recog.c (asm_op_alt): New variable.
471 (recog_op_alt): Change into a pointer.
472 (preprocess_constraints): New overload, replacing the old function
473 definition with one that doesn't use global state.
474 (preprocess_insn_constraints): New function.
475 (preprocess_constraints): Use them. Take the insn as parameter.
476 Use asm_op_alt for asms.
477 (recog_init): Free existing x_op_alt entries.
478 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
479 pointer const.
480 (make_early_clobber_and_input_conflicts): Likewise.
481 (process_bb_node_lives): Pass the insn to process_constraints.
482 * reg-stack.c (check_asm_stack_operands): Likewise.
483 (subst_asm_stack_regs): Likewise.
484 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
485 * regrename.c (build_def_use): Likewise.
486 * sched-deps.c (sched_analyze_insn): Likewise.
487 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
488 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
489 (note_invalid_constants): Likewise.
490 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
491 (ix86_legitimate_combined_insn): Make operand_alternative pointer
492 const.
493
5f2e0797
RS
4942014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
495
496 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
497 * ira-lives.c (check_and_make_def_conflict): Check for disabled
498 alternatives.
499 (make_early_clobber_and_input_conflicts): Likewise.
500 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
501
5efe5dec
RS
5022014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
503
504 * recog.h (alternative_class): New function.
505 (which_op_alt): Return a const recog_op_alt.
506 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
507 (subst_asm_stack_regs): Likewise.
508 * config/arm/arm.c (note_invalid_constants): Likewise.
509 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
510 the operand_alternative; use alternative class instead.
511 * sel-sched.c (get_reg_class): Likewise.
512 * regrename.c (build_def_use): Likewise.
513 (hide_operands, restore_operands, record_out_operands): Update type
514 accordingly.
515
29d70a0f
RS
5162014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
517
518 * recog.h (recog_op_alt): Convert to a flat array.
519 (which_op_alt): New function.
520 * recog.c (recog_op_alt): Convert to a flat array.
521 (preprocess_constraints): Update accordingly, grouping all
522 operands of the same alternative together, rather than the
523 other way around.
524 * ira-lives.c (check_and_make_def_conflict): Likewise.
525 (make_early_clobber_and_input_conflicts): Likewise.
526 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
527 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
528 (subst_asm_stack_regs): Likewise.
529 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
530 * regrename.c (hide_operands, record_out_operands): Likewise.
531 (build_def_use): Likewise.
532 * sel-sched.c (get_reg_class): Likewise.
533 * config/arm/arm.c (note_invalid_constants): Likewise.
534
fe6ebcf1
JM
5352014-06-04 Jason Merrill <jason@redhat.com>
536
537 PR c++/51253
538 PR c++/61382
539 * gimplify.c (gimplify_arg): Non-static.
540 * gimplify.h: Declare it.
541
38af3208
RB
5422014-06-04 Richard Biener <rguenther@suse.de>
543
544 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
545 TREE_PUBLIC and DECL_EXTERNAL decls.
546
9ccac701
MF
5472014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
548
549 * regcprop.c (copyprop_hardreg_forward_1): Account for
550 HARD_REGNO_CALL_PART_CLOBBERED.
551
35987ae9
RB
5522014-06-04 Richard Biener <rguenther@suse.de>
553
554 * configure.ac: Check whether the underlying type of int64_t
555 is long or long long.
556 * configure: Regenerate.
557 * config.in: Likewise.
558 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
559 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
560
0ea48022
RB
5612014-06-04 Richard Biener <rguenther@suse.de>
562
563 PR tree-optimization/60098
564 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
565 we hit a kill.
566 (dse_optimize_stmt): Simplify, now that we found a kill
567 earlier.
568
b1259d34
RB
5692014-06-04 Richard Biener <rguenther@suse.de>
570
571 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
572 of accesses with non-invariant address.
573
8be2dc8c
ML
5742014-06-04 Martin Liska <mliska@suse.cz>
575
576 * cgraph.h (cgraph_make_wrapper): New function introduced.
577 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
578 * ipa-inline.h (inline_analyze_function): The function is global.
579 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
580
8a57e88d
ML
5812014-06-04 Martin Liska <mliska@suse.cz>
582
583 * tree.h (private_lookup_attribute_starting): New function.
584 (lookup_attribute_starting): Likewise.
585 * tree.c (private_lookup_attribute_starting): Likewise.
586
d211e471
ML
5872014-06-04 Martin Liska <mliska@suse.cz>
588
589 * cgraph.h (expand_thunk): New argument added.
590 (address_taken_from_non_vtable_p): New global function.
591 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
592 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
593 * cgraphunit.c (analyze_function): Likewise.
594 (assemble_thunks_and_aliases): Argument added to call.
595 (expand_thunk): New argument forces to produce GIMPLE thunk.
596
a96bf0d3
ML
5972014-06-04 Martin Liska <mliska@suse.cz>
598
599 * coverage.h (coverage_compute_cfg_checksum): Argument added.
600 * coverage.c (coverage_compute_cfg_checksum): Likewise.
601 * profile.c (branch_prob): Likewise.
602
7d2268ea
MJ
6032014-06-04 Martin Jambor <mjambor@suse.cz>
604
605 PR ipa/61340
606 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
607 handler for switch on an ipa_ref_use enum.
608 * ipa-reference.c (analyze_function): Likewise.
609
0dac3001
KT
6102014-06-04 Kai Tietz <ktietz@redhat.com>
611
612 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
613 from old call-instruction.
614
348d4b0a
BC
6152014-06-04 Bin Cheng <bin.cheng@arm.com>
616
617 * config/aarch64/aarch64.c (aarch64_classify_address)
618 (aarch64_legitimize_reload_address): Support full addressing modes
619 for vector modes.
620 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
621 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
622
b9e3afe9
AP
6232014-06-03 Andrew Pinski <apinski@cavium.com>
624
625 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
626 for OP0.
627
6282014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
629
630 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
631 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
632
3ce7abdd
KT
6332014-06-03 Kai Tietz <ktietz@redhat.com>
634
635 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
636 for 64-bit ms-abi.
637
47e78f98
DC
6382014-06-03 Dehao Chen <dehao@google.com>
639
640 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
641 the same loop.
642
fedfecef
MP
6432014-06-03 Marek Polacek <polacek@redhat.com>
644
645 PR c/60439
646 * doc/invoke.texi: Document -Wswitch-bool.
647 * function.c (stack_protect_epilogue): Cast controlling expression of
648 the switch to int.
649 * gengtype.c (walk_type): Generate switch expression with its
650 controlling expression cast to int.
651
6522014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
653
654 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
655 and attiny841.
656 * config/avr/avr-tables.opt: Regenerate.
657 * config/avr/t-multilib: Regenerate.
658 * doc/avr-mmcu.texi: Regenerate.
659
fedfecef
MP
6602014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
661 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
662
663 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
664 (ata6617c, ata664251): Add new avr35 devices.
665 (ata6612c): Add new avr4 device.
666 (ata6613c, ata6614q): Add new avr5 devices.
667 * config/avr/avr-tables.opt: Regenerate.
668 * config/avr/t-multilib: Regenerate.
669 * doc/avr-mmcu.texi: Regenerate.
670
918621d3
AL
6712014-06-03 Alan Lawrence <alan.lawrence@arm.com>
672
673 * gcc/config/aarch64/aarch64-builtins.c
674 (aarch64_types_binop_ssu_qualifiers): New static data.
675 (TYPES_BINOP_SSU): Define.
676 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
677 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
678 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
679 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
680 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
681 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
682 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
683 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
684 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
685 suffix to builtin function name, remove cast.
686 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
687 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
688 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
689
de10bcce
AL
6902014-06-03 Alan Lawrence <alan.lawrence@arm.com>
691
692 * gcc/config/aarch64/aarch64-builtins.c
693 (aarch64_types_binop_uus_qualifiers,
694 aarch64_types_shift_to_unsigned_qualifiers,
695 aarch64_types_unsigned_shiftacc_qualifiers): Define.
696 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
697 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
698 sqshlu_n, uqshl_n): Update qualifiers.
699 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
700 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
701 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
702 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
703 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
704 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
705 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
706 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
707 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
708 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
709 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
710 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
711 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
712 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
713 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
714 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
715 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
716 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
717 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
718 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
719 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
720 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
721 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
722 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
723 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
724 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
725 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
726
878d3618
TJ
7272014-06-03 Teresa Johnson <tejohnson@google.com>
728
729 * tree-sra.c (modify_function): Record caller nodes after rebuild.
730
616abc64
JM
7312014-06-02 Jason Merrill <jason@redhat.com>
732
733 PR c++/61020
734 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
735
b31e65bb
AL
7362014-06-03 Alan Lawrence <alan.lawrence@arm.com>
737
738 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
739 location == 0.
740
923fcec3
AL
7412014-06-03 Alan Lawrence <alan.lawrence@arm.com>
742
743 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
744 New pattern.
745 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
746 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
747 * config/aarch64/iterators.md (REVERSE): New iterator.
748 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
749 (rev_op): New int_attribute.
750 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
751 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
752 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
753 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
754 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
755 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
756 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
757 Replace temporary __asm__ with __builtin_shuffle.
758
7b11cab7 7592014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
760
761 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
762 mips64r5.
763 * config/mips/mips-tables.opt: Regenerate.
764 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
765 to use mips_isa_rev rather than ISA_MIPS32R2.
766 * config/mips/mips.h (ISA_MIPS32R3): New define.
767 (ISA_MIPS32R5): New define.
768 (ISA_MIPS64R3): New define.
769 (ISA_MIPS64R5): New define.
7b11cab7
UB
770 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
771 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
772 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
773 and mips64r5.
774 (MIPS_ISA_SYNCI_SPEC): Likewise.
775 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
776 (LINK_SPEC): Added mips32r3 and mips32r5.
777 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
778 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
779 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
780 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
781 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
782 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
783 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
784
35773f53
AB
7852014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
786
787 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
788 options.
789 * config/mips/mips.opt (mxpa): New option.
7b11cab7 790 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
791 assembler.
792
d3fb5cf0
MJ
7932014-06-03 Martin Jambor <mjambor@suse.cz>
794
795 PR ipa/61160
796 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
797 thunks.
798
3cc272c1
TP
7992014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
800
801 PR tree-optimization/61328
802 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
803 initialization from find_bswap_or_nop_1.
804 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
805 in source_expr2 before using the size value the function sets. Also
806 make use of init_symbolic_number () in both the old place and
807 find_bswap_or_nop_load () to avoid reading uninitialized memory when
808 doing recursion in the GIMPLE_BINARY_RHS case.
809
597c6315
RB
8102014-06-03 Richard Biener <rguenther@suse.de>
811
812 PR tree-optimization/61383
813 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
814 stmts can't trap.
815
b48e9677
RS
8162014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
817
818 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
819 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
820 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
821 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
822 in this file.
823 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
824 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
825 * system.h: ...here and make it unconditional.
826 * target.def (conditional_register_usage): Mention
827 define_register_constraint instead of old-style constraint macros.
828 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
829 * doc/tm.texi: Regenerate.
830 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
831 protected by !USE_MD_CONSTRAINTS.
832 * config/frv/frv.md: Remove quote from old version of documentation.
833 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
834 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
835 CONST_DOUBLE_OK_FOR_LETTER.
836 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
837
b94f5533 8382014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 839
3a87ac45
AP
840 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
841 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
842 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
843 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
844 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
845 Handle LP64 better and handle ilp32 too.
b94f5533
AP
846 (MULTILIB_OPTIONS): Delete.
847 (MULTILIB_DIRNAMES): Delete.
848
9b2b7279
AM
8492014-06-02 Andrew MacLeod <amacleod@redhat.com>
850
851 * expr.h: Remove prototypes of functions defined in builtins.c.
852 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
853 Remove prototypes of functions defined in builtins.c.
854 * builtins.h: Update prototype list to include all exported functions.
855 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
856 no_c99_libc_has_function): Move to targhooks.c
857 (build_string_literal, build_call_expr_loc_array,
858 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
859 to tree.c.
860 (expand_builtin_object_size, fold_builtin_object_size): Make static.
861 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
862 no_c99_libc_has_function): Relocate from builtins.c.
863 * tree.c: Include builtins.h.
864 (build_call_expr_loc_array, build_call_expr_loc_vec,
865 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
866 from builtins.c.
867 * fold-const.h (fold_fma): Move prototype to builtins.h.
868 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
869 * asan.c: Include builtins.h.
870 * cfgexpand.c: Likewise.
871 * convert.c: Likewise.
872 * emit-rtl.c: Likewise.
873 * except.c: Likewise.
874 * expr.c: Likewise.
875 * fold-const.c: Likewise.
876 * gimple-fold.c: Likewise.
877 * gimple-ssa-strength-reduction.c: Likewise.
878 * gimplify.c: Likewise.
879 * ipa-inline.c: Likewise.
880 * ipa-prop.c: Likewise.
881 * lto-streamer-out.c: Likewise.
882 * stmt.c: Likewise.
883 * tree-inline.c: Likewise.
884 * tree-object-size.c: Likewise.
885 * tree-sra.c: Likewise.
886 * tree-ssa-ccp.c: Likewise.
887 * tree-ssa-forwprop.c: Likewise.
888 * tree-ssa-loop-ivcanon.c: Likewise.
889 * tree-ssa-loop-ivopts.c: Likewise.
890 * tree-ssa-math-opts.c: Likewise.
891 * tree-ssa-reassoc.c: Likewise.
892 * tree-ssa-threadedge.c: Likewise.
893 * tree-streamer-in.c: Likewise.
894 * tree-vect-data-refs.c: Likewise.
895 * tree-vect-patterns.c: Likewise.
896 * tree-vect-stmts.c: Likewise.
897 * config/aarch64/aarch64.c: Likewise.
898 * config/alpha/alpha.c: Likewise.
899 * config/arc/arc.c: Likewise.
900 * config/arm/arm.c: Likewise.
901 * config/avr/avr.c: Likewise.
902 * config/bfin/bfin.c: Likewise.
903 * config/c6x/c6x.c: Likewise.
904 * config/cr16/cr16.c: Likewise.
905 * config/cris/cris.c: Likewise.
906 * config/epiphany/epiphany.c: Likewise.
907 * config/fr30/fr30.c: Likewise.
908 * config/frv/frv.c: Likewise.
909 * config/h8300/h8300.c: Likewise.
910 * config/i386/i386.c: Likewise.
911 * config/i386/winnt.c: Likewise.
912 * config/ia64/ia64.c: Likewise.
913 * config/iq2000/iq2000.c: Likewise.
914 * config/lm32/lm32.c: Likewise.
915 * config/m32c/m32c.c: Likewise.
916 * config/m32r/m32r.c: Likewise.
917 * config/m68k/m68k.c: Likewise.
918 * config/mcore/mcore.c: Likewise.
919 * config/mep/mep.c: Likewise.
920 * config/microblaze/microblaze.c: Likewise.
921 * config/mips/mips.c: Likewise.
922 * config/mmix/mmix.c: Likewise.
923 * config/mn10300/mn10300.c: Likewise.
924 * config/moxie/moxie.c: Likewise.
925 * config/msp430/msp430.c: Likewise.
926 * config/nds32/nds32.c: Likewise.
927 * config/pa/pa.c: Likewise.
928 * config/pdp11/pdp11.c: Likewise.
929 * config/picochip/picochip.c: Likewise.
930 * config/rl78/rl78.c: Likewise.
931 * config/rs6000/rs6000.c: Likewise.
932 * config/rx/rx.c: Likewise.
933 * config/s390/s390.c: Likewise.
934 * config/score/score.c: Likewise.
935 * config/sh/sh.c: Likewise.
936 * config/sparc/sparc.c: Likewise.
937 * config/spu/spu.c: Likewise.
938 * config/stormy16/stormy16.c: Likewise.
939 * config/tilegx/tilegx.c: Likewise.
940 * config/tilepro/tilepro.c: Likewise.
941 * config/v850/v850.c: Likewise.
942 * config/vax/vax.c: Likewise.
943 * config/xtensa/xtensa.c: Likewise.
944
0d732cca
JL
9452014-06-02 Jeff Law <law@redhat.com>
946
947 PR rtl-optimization/61094
948 * ree.c (combine_reaching_defs): Do not reextend an insn if it
949 was marked as do_no_reextend. If a copy is needed to eliminate
950 an extension, then mark it as do_not_reextend.
951
a2adad8b
MS
9522014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
953
954 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
955
20a951e6
RH
9562014-06-02 Richard Henderson <rth@redhat.com>
957
958 PR target/61336
959 * config/alpha/alpha.c (print_operand_address): Allow symbolic
960 addresses inside asms. Use output_operand_lossage instead of
961 gcc_unreachable.
962
40c0a159
UB
9632014-06-02 Uros Bizjak <ubizjak@gmail.com>
964
965 PR target/61239
966 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
967 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
968
94bfa2da
TV
9692014-06-02 Tom de Vries <tom@codesourcery.com>
970
971 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
972 case that x has VOIDmode.
973
4a1f940f
BS
9742014-06-02 Bernd Schmidt <bernds@codesourcery.com>
975
976 * varasm.c (copy_constant): Delete function.
977 (build_constant_desc): Don't call it.
978
27e83a44
RR
9792014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
980
981 PR target/61154
982 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
983 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
984 with immediate_operand.
985
31815ed7
AS
9862014-06-02 Andreas Schwab <schwab@suse.de>
987
988 * config/ia64/ia64.c
989 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
990 pending_data_specs first.
991
61dd7fbc
RB
9922014-06-02 Richard Biener <rguenther@suse.de>
993
994 PR tree-optimization/61378
995 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
996 valueized_anything.
997
1828d3e6
UB
9982014-06-01 Uros Bizjak <ubizjak@gmail.com>
999
1000 * config/i386/constraints.md (Bw): Rename from 'w'.
1001 (Bz): Rename from 'z'.
1002 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
1003
6041d142
KT
10042014-06-01 Kai Tietz <ktietz@redhat.com>
1005
1006 PR target/61377
1828d3e6
UB
1007 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
1008 * config/i386/i386.md (sibcall_insn_operand): Use Bs
1009 instead of m constraint.
6041d142 1010
aef1bf3b
AS
10112014-05-31 Andreas Schwab <schwab@linux-m68k.org>
1012
1013 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
1014 a separate alternative where the scratch operand 2 is marked as
1015 early clobber.
1016
f10743d3
KV
10172014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
1018
1019 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
1020 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
1021 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
1022 and __builtins_arm_get_fpscr.
1023 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
1024 __builtins_arm_get_fpscr.
1025 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
1026 __builtins_arm_ldfpscr.
1027 (arm_atomic_assign_expand_fenv): New function.
1028 * config/arm/vfp.md (set_fpscr): New pattern.
1029 (get_fpscr) : Likewise.
1030 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
1031 VUNSPEC_SET_FPSCR.
1032 * doc/extend.texi (AARCH64 Built-in Functions) : Document
1033 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
1034
40f9f6bb
JJ
10352014-05-30 Jakub Jelinek <jakub@redhat.com>
1036
b3f1051b
JJ
1037 * asan.c (report_error_func): Add SLOW_P argument, use
1038 BUILT_IN_ASAN_*_N if set.
1039 (build_check_stmt): Likewise.
1040 (instrument_derefs): If T has insufficient alignment,
1041 force same handling as for odd sizes.
1042
40f9f6bb
JJ
1043 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
1044 BUILT_IN_ASAN_REPORT_STORE_N): New.
1045 * asan.c (struct asan_mem_ref): Change access_size type to
1046 HOST_WIDE_INT.
1047 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
1048 update_mem_ref_hash_table): Likewise.
1049 (asan_mem_ref_hasher::hash): Hash in a HWI.
1050 (report_error_func): Change size_in_bytes argument to HWI.
1051 Use *_N builtins if size_in_bytes is larger than 16 or not power of
1052 two.
1053 (build_shadow_mem_access): New function.
1054 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
1055 Handle size_in_bytes not power of two or larger than 16.
1056 (instrument_derefs): Don't give up if size_in_bytes is not
1057 power of two or is larger than 16.
1058
cb105922
KT
10592014-05-30 Kai Tietz <ktietz@redhat.com>
1060
1061 PR target/60104
1062 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
1063 for sibling-tail-calls.
1064 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
1065 to its use.
1066 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
1067 (sibcall_insn_operand): Add check for sibcall_memory_operand.
1068
150e0639
PS
10692014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1070
1071 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
1072 * config/avr/avr-tables.opt: Regenerate.
1073 * config/avr/t-multilib: Regenerate.
1074 * doc/avr-mmcu.texi: Regenerate.
1075
f9a8f6d9
ILT
10762014-05-30 Ian Lance Taylor <iant@google.com>
1077
1078 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
1079 target("sse").
1080
5028356f
TV
10812014-05-30 Tom de Vries <tom@codesourcery.com>
1082
1083 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
1084 Redefine as true.
1085
10e1bdb2
TV
10862014-05-30 Tom de Vries <tom@codesourcery.com>
1087
1088 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1089 * lra.c (initialize_lra_reg_info_element): Add init of
1090 actual_call_used_reg_set field.
1091 (lra): Call lra_create_live_ranges before lra_inheritance for
1092 -fuse-caller-save.
1093 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1094 -fuse-caller-save.
1095 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
1096 instead of call_used_reg_set for -fuse-caller-save.
1097 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1098
56912037
KT
10992014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1100
1101 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
1102 to mov_imm.
1103 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
1104
98f2f031
RS
11052014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
1106
1107 * ira.c (ira_get_dup_out_num): Check for output operands at
1108 the start of the loop. Handle cases where an included alternative
1109 follows an excluded one.
1110
79abf19f
MS
11112014-05-29 Mike Stump <mikestump@comcast.net>
1112
1113 PR debug/61352
1114 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
1115 post ld passes when lto is used.
1116
cc8849a1
VM
11172014-05-29 Vladimir Makarov <vmakarov@redhat.com>
1118
1119 PR rtl-optimization/61325
40c0a159 1120 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
1121 (process_address): New function.
1122
ae0533da
AL
11232014-05-29 Alan Lawrence <alan.lawrence@arm.com>
1124
1125 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
1126 TYPES_BINOPV): New static data.
40c0a159
UB
1127 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
1128 New builtin.
1129 * config/aarch64/aarch64-simd.md (aarch64_ext,
1130 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
1131 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
1132 patterns for EXT.
1133 (aarch64_evpc_ext): New function.
1134
1135 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
1136
1137 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
1138 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
1139 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
1140 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
1141 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
1142
ed00b1fb
TV
11432014-05-29 Tom de Vries <tom@codesourcery.com>
1144
1145 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
1146
004d3809 11472014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 1148 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 1149
40c0a159
UB
1150 * arm/iterators.md (shiftable_ops): New code iterator.
1151 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 1152 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
1153 * arm/arm.md (insn_enabled): Delete.
1154 (enabled): Remove insn_enabled test.
1155 (*arith_shiftsi): Delete. Replace with ...
1156 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
1157 (*<arith_shift_insn>_shiftsi): ... new pattern.
1158 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
1159
c2db3f3d 11602014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 1161 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
1162
1163 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
1164 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
1165 clobber.
1166 (mips_split_call): Use POST_CALL_TMP_REG.
1167 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
1168
4b29b965
TV
11692014-05-29 Tom de Vries <tom@codesourcery.com>
1170
1171 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
1172 with #ifdef STACK_REGS.
1173
726f0774
JH
11742014-05-28 Jan Hubicka <hubicka@ucw.cz>
1175
1176 * varasm.c (get_variable_section): Walk aliases.
1177 (place_block_symbol): Walk aliases.
1178
ea0b381f
TV
11792014-05-28 Tom de Vries <tom@codesourcery.com>
1180
1181 Revert:
1182 2014-05-28 Tom de Vries <tom@codesourcery.com>
1183
1184 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1185 * lra.c (initialize_lra_reg_info_element): Add init of
1186 actual_call_used_reg_set field.
1187 (lra): Call lra_create_live_ranges before lra_inheritance for
1188 -fuse-caller-save.
1189 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1190 -fuse-caller-save.
40c0a159
UB
1191 * lra-constraints.c (need_for_call_save_p): Use
1192 actual_call_used_reg_set instead of call_used_reg_set for
1193 -fuse-caller-save.
ea0b381f
TV
1194 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1195
73f793e3
RS
11962014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
1197
1198 * doc/md.texi: Document that the % constraint character must
1199 be at the beginning of the string.
1200 * genoutput.c (validate_insn_alternatives): Check that '=',
1201 '+' and '%' only appear at the beginning of a constraint.
1202 * ira.c (commutative_constraint_p): Delete.
1203 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
1204 at the start of the string.
1205 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
1206 duplicate '='s.
1207 * config/arm/neon.md (bicdi3_neon): Likewise.
1208 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
1209 (slt_si, sltu_si): Likewise.
1210 * config/vax/vax.md (sbcdi3): Likewise.
1211 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
1212 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
1213 (mul64): Move '%' to beginning of constraint.
1214 * config/arm/arm.md (*xordi3_insn): Likewise.
1215 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
1216 (xorsi3): Likewise.
1217
5a7555ab
RS
12182014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
1219
1220 * doc/md.texi: Document the restrictions on the "enabled" attribute.
1221
d67ff7b7
JM
12222014-05-28 Jason Merrill <jason@redhat.com>
1223
1224 PR c++/47202
1225 * cgraph.h (symtab_node::get_comdat_group_id): New.
1226 * cgraphunit.c (analyze_functions): Call it.
1227 * symtab.c (dump_symtab_node): Likewise.
1228 * tree.c (decl_comdat_group_id): New.
1229 * tree.h: Declare it.
1230 * lto-streamer-out.c (write_symbol): Use it.
1231 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
1232
ecc7533a
FXC
12332014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1234
1235 PR bootstrap/PR61146
1236 * wide-int.cc: Do not include longlong.h when compiling with clang.
1237
6e5799b9
RB
12382014-05-28 Richard Biener <rguenther@suse.de>
1239
1240 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
1241 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
1242 (vrp_visit_assignment_or_call): Print less vertical space.
1243 (vrp_visit_stmt): Likewise.
1244 (vrp_visit_phi_node): Likewise. For a PHI argument with
1245 VR_VARYING range consider recording it as copy.
1246
47f9fca8
RB
12472014-05-28 Richard Biener <rguenther@suse.de>
1248
1249 Revert
1250 2014-05-28 Richard Biener <rguenther@suse.de>
1251
1252 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
1253
7fbf8a3e
BE
12542014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1255
1256 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
1257 sufficiently aligned and an offset is used at the same time.
1258 (expand_expr_real_1): Likewise.
1259
b017a174
RB
12602014-05-28 Richard Biener <rguenther@suse.de>
1261
1262 PR middle-end/61045
1263 * fold-const.c (fold_comparison): When folding
1264 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
1265 the sign of the remaining constant operand stays the same.
1266
96360888
KP
12672014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
1268
1269 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
1270 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
1271 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
1272 to the assembler.
40c0a159 1273 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
1274 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
1275 (m32bit-doubles) Likewise.
1276 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
1277 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
1278 option for RL78.
1279
3c698bf0
RO
12802014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1281
1282 * configure.ac ($gcc_cv_ld_clearcap): New test.
1283 * configure: Regenerate.
1284 * config.in: Regenerate.
1285 * config/sol2.opt (mclear-hwcap): New option.
1286 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
1287 * config/sol2-clearcap.map: Moved here from
1288 testsuite/gcc.target/i386/clearcap.map.
1289 * config/sol2-clearcapv2.map: Move here from
1290 gcc.target/i386/clearcapv2.map.
1291 * config/t-sol2 (install): Depend on install-clearcap-map.
1292 (install-clearcap-map): New target.
1293 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
1294 -mclear-hwcap.
1295
4c8bd90f
RB
12962014-05-28 Richard Biener <rguenther@suse.de>
1297
1298 * hwint.h (*_HALF_WIDE_INT*): Move to ...
1299 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
1300 ... here and remove the rest.
1301 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
1302
a896172d
RB
13032014-05-28 Richard Biener <rguenther@suse.de>
1304
1305 PR tree-optimization/61335
1306 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
1307 new range fails, drop to varying.
1308
b8c6a45a
TV
13092014-05-28 Tom de Vries <tom@codesourcery.com>
1310
1311 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1312 * lra.c (initialize_lra_reg_info_element): Add init of
1313 actual_call_used_reg_set field.
1314 (lra): Call lra_create_live_ranges before lra_inheritance for
1315 -fuse-caller-save.
1316 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1317 -fuse-caller-save.
40c0a159
UB
1318 * lra-constraints.c (need_for_call_save_p): Use
1319 actual_call_used_reg_set instead of call_used_reg_set for
1320 -fuse-caller-save.
b8c6a45a
TV
1321 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1322
dbe7d9e3 13232014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1324 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 1325
40c0a159
UB
1326 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
1327 to gccoptlist.
dbe7d9e3
RO
1328 (@item -fuse-caller-save): New item.
1329
5c989bbf 13302014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1331 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
1332
1333 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
1334 OPT_fuse_caller_save.
1335
c2ba7e7a 13362014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1337 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
1338
1339 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
1340 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
1341 get_call_reg_set_usage.
1342 * resource.c (mark_set_resources, mark_target_live_regs): Use
1343 get_call_reg_set_usage.
1344 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
1345 field.
1346 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
1347 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
1348 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1349 * ira-build.c (ira_create_allocno): Init
1350 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1351 (create_cap_allocno, propagate_allocno_info)
1352 (propagate_some_info_from_allocno)
1353 (copy_info_to_removed_store_destinations): Handle
1354 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
1355 * ira-costs.c (ira_tune_allocno_costs): Use
1356 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
1357
27c07cc5 13582014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 1359 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
1360
1361 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
1362 and function_used_regs_valid fields.
1363 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
1364 find_all_hard_reg_sets.
1365 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
1366 (get_call_reg_set_usage): New function.
1367 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
1368 * regs.h (get_call_reg_set_usage): Declare.
1369
ca48e5ef
GJL
13702014-05-28 Georg-Johann Lay <avr@gjlay.de>
1371
1372 PR libgcc/61152
1373 * config/dbx.h (License): Add Runtime Library Exception.
1374 * config/newlib-stdint.h (License): Same.
1375 * config/rtems.h (License): Same
1376 * config/initfini-array.h (License): Same
1377 * config/v850/v850.h (License): Same.
1378 * config/v850/v850-opts.h (License): Same
1379 * config/v850/rtems.h (License): Same.
1380
92747f7d
GJL
13812014-05-28 Georg-Johann Lay <avr@gjlay.de>
1382
1383 PR target/61044
1384 * doc/extend.texi (Local Labels): Note that label differences are
1385 not supported for AVR.
1386
9c6ab05f
AP
13872014-05-27 Andrew Pinski <apinski@cavium.com>
1388
1389 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
1390 Use <w> for the register in assembly template.
40c0a159 1391 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
1392 (stack_protect_test_<mode>): Use <w> for the register
1393 in assembly template.
1394
69c7a374
DD
13952014-05-27 DJ Delorie <dj@redhat.com>
1396
1397 * config/rx/rx.c (add_vector_labels): New.
1398 (rx_output_function_prologue): Call it.
1399 (rx_handle_func_attribute): Don't require empty arguments.
1400 (rx_handle_vector_attribute): New.
1401 (rx_attribute_table): Add "vector" attribute.
1402 * doc/extend.texi (interrupt, vector): Document new/changed
1403 RX-specific attributes.
1404
1405 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
1406
5e67547d
EB
14072014-05-27 Eric Botcazou <ebotcazou@adacore.com>
1408
1409 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
1410 predicate to detect a negative quotient.
1411
d378c07e
EB
14122014-05-27 Eric Botcazou <ebotcazou@adacore.com>
1413
1414 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
1415 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
1416 Add X - Y CMP 0 to X CMP Y transformation.
1417 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
1418
3ce6c715
SB
14192014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
1420
1421 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
1422 before printing.
1423
11237229
SE
14242014-05-27 Steve Ellcey <sellcey@mips.com>
1425
1426 * config/mips/mips.c: Add include of cgraph.h.
1427
7ea7f668
RB
14282014-05-27 Richard Biener <rguenther@suse.de>
1429
1430 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
1431
c7eca9fe
GJL
14322014-05-27 Georg-Johann Lay <avr@gjlay.de>
1433
1434 PR libgcc/61152
1435 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
1436 * config/arm/arm-cores.def (License): Same.
1437 * config/arm/arm-opts.h (License): Same.
1438 * config/arm/aout.h (License): Same.
1439 * config/arm/bpabi.h (License): Same.
1440 * config/arm/elf.h (License): Same.
1441 * config/arm/linux-elf.h (License): Same.
1442 * config/arm/linux-gas.h (License): Same.
1443 * config/arm/netbsd-elf.h (License): Same.
1444 * config/arm/uclinux-eabi.h (License): Same.
1445 * config/arm/uclinux-elf.h (License): Same.
1446 * config/arm/vxworks.h (License): Same.
1447
7a10ea9f
KT
14482014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1449
1450 * config/arm/neon.md (neon_bswap<mode>): New pattern.
1451 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
1452 (arm_init_neon_builtins): Handle NEON_BSWAP.
1453 Define required type nodes.
1454 (arm_expand_neon_builtin): Handle NEON_BSWAP.
1455 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
1456 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
1457 * config/arm/iterators.md (VDQHSD): New mode iterator.
1458
597f5997
RB
14592014-05-27 Richard Biener <rguenther@suse.de>
1460
1461 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
1462 Try using literal operands when comparing value-ranges failed.
1463
f571b63f
RS
14642014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1465
1466 * ira.c (commutative_operand): Adjust for change to recog_data.
1467 [Missing from previous commit.]
1468
4cc8d9d2
RS
14692014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1470
1471 * system.h (TEST_BIT): New macro.
1472 * recog.h (alternative_mask): New type.
1473 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
1474 (recog_data_d): Replace alternative_enabled_p array with
1475 enabled_alternatives.
1476 (target_recog): New structure.
1477 (default_target_recog, this_target_recog): Declare.
1478 (get_enabled_alternatives, recog_init): Likewise.
1479 * recog.c (default_target_recog, this_target_recog): New variables.
1480 (get_enabled_alternatives): New function.
1481 (extract_insn): Use it.
1482 (recog_init): New function.
1483 (preprocess_constraints, constrain_operands): Adjust for change to
1484 recog_data.
1485 * postreload.c (reload_cse_simplify_operands): Likewise.
1486 * reload.c (find_reloads): Likewise.
1487 * ira-costs.c (record_reg_classes): Likewise.
1488 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
1489 all alternatives after a disabled one would be skipped.
1490 (ira_implicitly_set_insn_hard_regs): Likewise.
1491 * ira.c (ira_setup_alts): Adjust for change to recog_data.
1492 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
1493 with enabled_alternatives.
1494 * lra.c (free_insn_recog_data): Update accordingly.
1495 (lra_update_insn_recog_data): Likewise.
1496 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
1497 * lra-constraints.c (process_alt_operands): Likewise. Handle
1498 only_alternative as part of the enabled mask.
1499 * target-globals.h (this_target_recog): Declare.
1500 (target_globals): Add a recog field.
1501 (restore_target_globals): Restore this_target_recog.
1502 * target-globals.c: Include recog.h.
1503 (default_target_globals): Initialize recog field.
1504 (save_target_globals): Likewise.
1505 * reginfo.c (reinit_regs): Call recog_init.
1506 * toplev.c (backend_init_target): Likewise.
1507
9921417d
RS
15082014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
1509
1510 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
1511 rather than any named insn's code.
1512
a5024e01
GJL
15132014-05-27 Georg-Johann Lay <avr@gjlay.de>
1514
1515 PR libgcc/61152
1516 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
1517 * config/arm/arm-cores.def (License): Same.
1518
50efcce1
JH
15192014-05-26 Jan Hubicka <hubicka@ucw.cz>
1520
1521 * tree.h (decl_comdat_group): Declare.
1522 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
1523 * tree.c (decl_comdat_group): Here.
1524
3e26c8f6
RS
15252014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
1526
1527 PR rtl-optimization/61222
1528 * combine.c (simplify_shift_const_1): When moving a PLUS outside
1529 the shift, truncate the PLUS operand to the result mode.
1530
b8140cd6
UB
15312014-05-26 Uros Bizjak <ubizjak@gmail.com>
1532
1533 PR target/61271
1534 * config/i386/i386.c (ix86_rtx_costs)
1535 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
1536 Fix condition.
1537
acea91c9
MJ
15382014-05-26 Martin Jambor <mjambor@suse.cz>
1539
1540 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
1541 subreg uses.
1542
d93461f7
RB
15432014-05-26 Richard Biener <rguenther@suse.de>
1544
1545 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
1546 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
1547 Provide specializations.
1548 (wi::int_traits <HOST_WIDE_INT>,
1549 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
1550
bfe51f42
AM
15512014-05-26 Alan Modra <amodra@gmail.com>
1552
1553 PR target/61098
1554 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
1555 params and return a bool. Remove dead code. Update comment.
1556 Assert we have a const_int source. Remove bogus code from
1557 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
1558 handling of constants > 2G and reg_equal note, from..
1559 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
1560 return value. Update comment. If we can, use a new pseudo
1561 for intermediate calculations.
1562 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
1563 prototype.
1564 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
1565 call to rs6000_emit_set_const in splitter.
1566 (movdi_internal64+2, +3): Likewise.
1567
a9243bfc
RB
15682014-05-26 Richard Biener <rguenther@suse.de>
1569
1570 * system.h: Define __STDC_FORMAT_MACROS before
1571 including inttypes.h.
1572 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
1573 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
1574 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
1575 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
1576 HOST_WIDEST_INT_C): Remove.
1577 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
1578 if C99 inttypes.h is not available.
1579 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
1580 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
1581 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
1582 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
1583 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
1584 (struct output_info): Likewise.
1585 (print_statistics): Adjust.
1586 (dump_bitmap_statistics): Likewise.
1587 * bt-load.c (migrate_btr_defs): Print with PRId64.
1588 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
1589 (MAX_SAFE_MULTIPLIER): Adjust.
1590 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
1591 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
1592 dump_cgraph_node): Likewise.
1593 * final.c (dump_basic_block_info): Likewise.
1594 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
1595 * gcov.c (format_gcov): Likewise.
1596 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
1597 for calculation.
1598 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
1599 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
1600 (inline_small_functions, dump_overall_stats, dump_inline_stats):
1601 Use PRId64 for dumping.
1602 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
1603 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
1604 (add_allocno_hard_regs): Adjust.
1605 * loop-doloop.c (doloop_modify): Print using PRId64.
1606 * loop-iv.c (inverse): Compute in uint64_t.
1607 (determine_max_iter, iv_number_of_iterations): Likewise.
1608 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
1609 Print using PRId64.
1610 * lto-streamer-out.c (write_symbol): Use uint64_t.
1611 * mcf.c (CAP_INFINITY): Use int64_t maximum.
1612 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
1613 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
1614 * modulo-sched.c (const_iteration_count): Use int64_t.
1615 (sms_schedule): Dump using PRId64.
1616 * predict.c (dump_prediction): Likewise.
1617 * pretty-print.h (pp_widest_integer): Remove.
1618 * profile.c (get_working_sets, is_edge_inconsistent,
1619 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
1620 * tree-pretty-print.c (pp_double_int): Remove case handling
1621 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
1622 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
1623 and adjust users.
1624 (pass_optimize_bswap::execute): Remove restriction on hosts.
1625 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
1626 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
1627 * tree.c (widest_int_cst_value): Remove.
1628 * tree.h (widest_int_cst_value): Likewise.
1629 * value-prof.c (dump_histogram_value): Print using PRId64.
1630 * gengtype.c (main): Also inject int64_t.
1631 * ggc-page.c (struct max_alignment): Use int64_t.
1632 * alloc-pool.c (struct allocation_object_def): Likewise.
1633 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
1634 for computation.
1635 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
1636 * doc/tm.texi: Regenerated.
1637 * gengtype-lex.l (IWORD): Handle [u]int64_t.
1638 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
1639 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
1640 mmix_output_register_setting): Use [u]int64_t in prototypes.
1641 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
1642 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
1643 mmix_output_octa, mmix_output_shifted_value): Adjust.
1644 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 1645 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 1646
edf6ddf6
RB
16472014-05-26 Richard Biener <rguenther@suse.de>
1648
1649 * configure.ac: Drop __int64 type check. Insist that we
1650 found uint64_t and int64_t.
1651 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 1652 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
1653 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
1654 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
1655 (HOST_WIDEST_FAST_INT): Remove __int64 case.
1656 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
1657 for dst_q_src_df_rms_cdt.
1658 * configure: Regenerate.
1659 * config.in: Likewise.
1660
d4082970
MT
16612014-05-26 Michael Tautschnig <mt@debian.org>
1662
1663 PR target/61249
49f002b6
UB
1664 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
1665 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 1666
d29d688a
ZC
16672014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1668
1669 PR rtl-optimization/61278
1670 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
1671
88f32f0f
ZC
16722014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1673
1674 PR rtl-optimization/61220
1675 Part of PR rtl-optimization/61225
1676 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
1677 insn; skip split_edge for a block with only one successor.
1678
97ae6b64
JH
16792014-05-23 Jan Hubicka <hubicka@ucw.cz>
1680
d4082970
MT
1681 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
1682 for variables.
97ae6b64 1683
07990a5e
JH
16842014-05-23 Jan Hubicka <hubicka@ucw.cz>
1685
1686 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
1687 (update_vtable_references): New function.
1688 (function_and_variable_visibility): Rewrite also vtable initializers.
1689 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
1690
fd1e9302
JH
16912014-05-23 Jan Hubicka <hubicka@ucw.cz>
1692
1693 * ggc.h (ggc_grow): New function.
1694 * ggc-none.c (ggc_grow): New function.
1695 * ggc-page.c (ggc_grow): Likewise.
1696
7f7beb3f
JH
16972014-05-23 Jan Hubicka <hubicka@ucw.cz>
1698
d4082970
MT
1699 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
1700 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
1701 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
1702 varpool_externally_visible_p, can_replace_by_local_alias,
1703 update_visibility_by_resolution_info, function_and_variable_visibility,
1704 pass_data_ipa_function_and_variable_visibility,
1705 make_pass_ipa_function_and_variable_visibility,
1706 whole_program_function_and_variable_visibility,
1707 pass_data_ipa_whole_program_visibility,
1708 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
1709 * cgraph.h (cgraph_local_node_p): Declare.
1710 * ipa-visibility.c: New file.
1711 * Makefile.in (OBJS): Add ipa-visiblity.o
1712
6adda80b
JH
17132014-05-23 Jan Hubicka <hubicka@ucw.cz>
1714
1715 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
1716 that var decl is available.
1717
aede2c10
JH
17182014-05-23 Jan Hubicka <hubicka@ucw.cz>
1719
1720 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
1721 symtab_node pointer.
d4082970 1722 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
1723 (find_decls_types_r): Do not walk COMDAT_GROUP.
1724 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
1725 * varasm.c (make_decl_one_only): Use set_comdat_group;
1726 create node if needed.
1727 * ipa-inline-transform.c (save_inline_function_body): Update
1728 way we decl->symtab mapping.
1729 * symtab.c (symtab_hash, hash_node, eq_node
1730 symtab_insert_node_to_hashtable): Remove.
1731 (symtab_register_node): Update.
1732 (symtab_unregister_node): Update.
1733 (symtab_get_node): Reimplement as inline function.
1734 (symtab_add_to_same_comdat_group): Update.
1735 (symtab_dissolve_same_comdat_group_list): Update.
1736 (dump_symtab_base): Update.
1737 (verify_symtab_base): Update.
1738 (symtab_make_decl_local): Update.
1739 (fixup_same_cpp_alias_visibility): Update.
1740 (symtab_nonoverwritable_alias): Update.
1741 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
1742 * ipa.c (update_visibility_by_resolution_info): UPdate.
1743 * bb-reorder.c: Include cgraph.h
1744 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
1745 with comdat groups.
1746 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
1747 * cgraph.c (cgraph_get_create_node): Update.
1748 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
1749 and comdat_group_.
1750 (symtab_get_node): Make inline.
1751 (symtab_insert_node_to_hashtable): Remove.
1752 (symtab_can_be_discarded): Update.
1753 (decl_comdat_group): New function.
d4082970
MT
1754 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
1755 Update.
aede2c10
JH
1756 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
1757 comdat group name.
1758 (read_comdat_group): New function.
1759 (input_node, input_varpool_node): Use it.
1760 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
1761 comdat groups.
1762 * mips.c (mips_start_unique_function): Likewise.
1763 (ix86_code_end): Likewise.
1764 (rs6000_code_end): Likweise.
d4082970 1765 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 1766
4df199d1
JH
17672014-05-23 Jan Hubicka <hubicka@ucw.cz>
1768
1769 * gengtype-state.c (fatal_reading_state): Bring offline.
1770 * optabs.c (widening_optab_handler): Bring offline.
1771 * optabs.h (widening_optab_handler): Likewise.
1772 * final.c (get_attr_length_1): Likewise.
1773
e0e349f3
JH
17742014-05-23 Jan Hubicka <hubicka@ucw.cz>
1775
1776 * sched-int.h (sd_iterator_cond): Manually tail recurse.
1777
a35dd1fa
SB
17782014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1779
d4082970 1780 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 1781 (ppc440-compare): Include shift with dot.
d4082970 1782 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
1783 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
1784 without dot.
1785 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
1786 without dot.
1787 (e6500_sfx2): Include it.
1788 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
1789 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
1790 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
1791 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
1792 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
1793 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
1794 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
1795 *lshiftrt_internal1le, *lshiftrt_internal1be,
1796 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
1797 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
1798 *rotldi3_internal10le, *rotldi3_internal10be,
1799 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
1800 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
1801 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
1802 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
1803 define_insns): Use type "shift" in the appropriate alternatives.
1804
73c076c8
SB
18052014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1806
1807 * config/rs6000/rs6000.md (type): Add "logical". Delete
1808 "fast_compare".
1809 (dot): Adjust comment.
1810 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
1811 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
1812 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
1813 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
1814 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
1815 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 1816 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
1817 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1818
d4082970
MT
1819 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1820 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
1821 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
1822 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1823 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1824 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1825 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1826 * config/rs6000/8540.md (ppc8540_su): Adjust.
1827 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 1828 cell-cmp-microcoded): Adjust.
d4082970
MT
1829 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1830 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1831 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1832 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1833 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1834 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1835 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1836 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1837 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 1838 Adjust.
d4082970
MT
1839 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
1840 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 1841 Adjust. Adjust comment.
d4082970
MT
1842 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1843 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 1844
0cbb4f58
SB
18452014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1846
1847 * config/rs6000/rs6000.md (type): Add "add".
1848 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
1849 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
1850 define_insns): Use it.
1851 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
1852
1853 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1854 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 1855 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
1856 * config/rs6000/601.md (ppc601-integer): Adjust.
1857 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1858 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
1859 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
1860 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1861 * config/rs6000/8540.md (ppc8540_su): Adjust.
1862 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1863 cell-cmp-microcoded): Adjust.
1864 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
1865 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1866 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
1867 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
1868 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
1869 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
1870 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
1871 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
1872 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
1873 Adjust.
1874 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 1875 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
1876 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1877 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
1878
892e7fa6
SB
18792014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1880
1881 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
1882 "delayed_compare", "var_delayed_compare".
1883 (var_shift): New attribute.
1884 (cell_micro): Adjust.
1885 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
1886 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
1887 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
1888 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
1889 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
1890 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
1891 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
1892 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
1893 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
1894 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
1895 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
1896 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
1897 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
1898 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
1899 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
1900 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
1901 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
1902 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
1903 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
1904 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
1905 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
1906 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
1907 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
1908 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1909 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1910
1911 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
1912 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 1913 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
1914 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
1915 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
1916 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 1917 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
1918 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
1919 * config/rs6000/8540.md (ppc8540_su): Adjust.
1920 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
1921 cell-cmp-microcoded): Adjust.
1922 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
1923 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1924 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
1925 e500mc64_delayed): Adjust.
1926 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
1927 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
1928 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
1929 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
1930 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
1931 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
1932 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 1933 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
1934 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
1935 Adjust comment.
1936 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
1937 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
1938
441e02a5
SB
19392014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1940
d4082970 1941 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
1942 (bits): New mode_attr.
1943 (idiv_ldiv): Delete mode_attr.
1944 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
1945 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1946 rs6000_adjust_priority, is_nonpipeline_insn,
1947 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
1948
1949 * config/rs6000/40x.md (ppc403-idiv): Adjust.
1950 * config/rs6000/440.md (ppc440-idiv): Adjust.
1951 * config/rs6000/476.md (ppc476-idiv): Adjust.
1952 * config/rs6000/601.md (ppc601-idiv): Adjust.
1953 * config/rs6000/603.md (ppc603-idiv): Adjust.
1954 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
1955 ppc620-ldiv): Adjust.
1956 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
1957 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
1958 * config/rs6000/8540.md (ppc8540_divide): Adjust.
1959 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
1960 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
1961 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
1962 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
1963 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
1964 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
1965 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
1966 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
1967 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
1968 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
1969 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
1970 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
1971 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
1972 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
1973 * config/rs6000/titan.md (titan_fxu_div): Adjust.
1974
58ee9e66
SB
19752014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1976
1977 * config/rs6000/rs6000.md (type): Delete "insert_word",
1978 "insert_dword". Add "insert".
1979 (size): Update comment.
1980 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
1981 insn_must_be_first_in_group): Adjust.
1982 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
1983 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
1984 *insvsi_internal6, insvdi_internal): Adjust.
1985
1986 * config/rs6000/40x.md (ppc403-integer): Adjust.
1987 * config/rs6000/440.md (ppc440-integer): Adjust.
1988 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
1989 * config/rs6000/601.md (ppc601-integer): Adjust.
1990 * config/rs6000/603.md (ppc603-integer): Adjust.
1991 * config/rs6000/6xx.md (ppc604-integer): Adjust.
1992 * config/rs6000/7450.md (ppc7450-integer): Adjust.
1993 * config/rs6000/7xx.md (ppc750-integer): Adjust.
1994 * config/rs6000/8540.md (ppc8540_su): Adjust.
1995 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
1996 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
1997 * config/rs6000/e500mc.md (e500mc_su): Adjust.
1998 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
1999 * config/rs6000/e5500.md (e5500_sfx): Adjust.
2000 * config/rs6000/e6500.md (e6500_sfx): Adjust.
2001 * config/rs6000/mpc.md (mpccore-integer): Adjust.
2002 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
2003 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 2004 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
2005 * config/rs6000/power7.md (power7-integer): Adjust.
2006 * config/rs6000/power8.md (power8-1cyc): Adjust.
2007 * config/rs6000/rs64.md (rs64a-integer): Adjust.
2008 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
2009
e0528ed9
SB
20102014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2011
2012 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
2013 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
2014 (size): New attribute.
2015 (dot): New attribute.
2016 (cell_micro): Adjust.
2017 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
2018 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
2019 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
2020 umuldi3_highpart): Adjust.
2021 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
2022 rs6000_adjust_priority, is_nonpipeline_insn,
2023 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
2024
2025 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
2026 ppc405-imul3): Adjust.
2027 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
2028 * config/rs6000/476.md (ppc476-imul): Adjust.
2029 * config/rs6000/601.md (ppc601-imul): Adjust.
2030 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
2031 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
2032 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
2033 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
2034 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
2035 Adjust.
2036 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
2037 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
2038 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
2039 cell-imul): Adjust.
2040 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
2041 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
2042 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
2043 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
2044 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
2045 * config/rs6000/mpc.md (mpccore-imul): Adjust.
2046 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
2047 power4-lmul, power4-imul, power4-imul3): Adjust.
2048 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
2049 power5-lmul, power5-imul, power5-imul3): Adjust.
2050 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
2051 power6-lmul, power6-imul, power6-imul3): Adjust.
2052 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
2053 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
2054
2055 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
2056 rs64a-lmul): Adjust.
2057 * config/rs6000/titan.md (titan_imul): Adjust.
2058
1263d642
SB
20592014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2060
2061 * config/rs6000/rs6000.md (type): Add new value "halfmul".
2062 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
2063 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
2064 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
2065 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 2066 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
2067 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
2068 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
2069 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
2070 * config/rs6000/titan.md: Delete nonsensical comment.
2071 (titan_imul): Add type imul3.
2072 (titan_mulhw): Remove type imul3; add type halfmul.
2073
1be6301a
SB
20742014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2075
2076 * config/rs6000/rs6000.md (type): Reorder, reformat.
2077
8aab5218
MJ
20782014-05-23 Martin Jambor <mjambor@suse.cz>
2079
2080 PR tree-optimization/53787
2081 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
2082 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
2083 analysis_done, update all uses.
2084 * ipa-prop.c: Include domwalk.h
2085 (param_analysis_info): Removed.
2086 (param_aa_status): New type.
2087 (ipa_bb_info): Likewise.
2088 (func_body_info): Likewise.
2089 (ipa_get_bb_info): New function.
2090 (aa_overwalked): Likewise.
2091 (find_dominating_aa_status): Likewise.
2092 (parm_bb_aa_status_for_bb): Likewise.
2093 (parm_preserved_before_stmt_p): Changed to use new param AA info.
2094 (load_from_unmodified_param): Accept func_body_info as a parameter
2095 instead of parms_ainfo.
2096 (parm_ref_data_preserved_p): Changed to use new param AA info.
2097 (parm_ref_data_pass_through_p): Likewise.
2098 (ipa_load_from_parm_agg_1): Likewise. Update callers.
2099 (compute_complex_assign_jump_func): Changed to use new param AA info.
2100 (compute_complex_ancestor_jump_func): Likewise.
2101 (ipa_compute_jump_functions_for_edge): Likewise.
2102 (ipa_compute_jump_functions): Removed.
2103 (ipa_compute_jump_functions_for_bb): New function.
2104 (ipa_analyze_indirect_call_uses): Likewise, moved variable
2105 declarations down.
2106 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
2107 and info, moved variable declarations down.
2108 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
2109 node and info.
2110 (ipa_analyze_stmt_uses): Likewise.
2111 (ipa_analyze_params_uses): Removed.
2112 (ipa_analyze_params_uses_in_bb): New function.
2113 (ipa_analyze_controlled_uses): Likewise.
2114 (free_ipa_bb_info): Likewise.
2115 (analysis_dom_walker): New class.
2116 (ipa_analyze_node): Handle node-specific forbidden analysis,
2117 initialize and free func_body_info, use dominator walker.
2118 (ipcp_modif_dom_walker): New class.
2119 (ipcp_transform_function): Create and free func_body_info, use
2120 ipcp_modif_dom_walker, moved a lot of functionality there.
2121
85a16bf8
MP
21222014-05-23 Marek Polacek <polacek@redhat.com>
2123 Jakub Jelinek <jakub@redhat.com>
2124
2125 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
2126 * gcc.c (sanitize_spec_function): Likewise.
2127 * convert.c (convert_to_integer): Include "ubsan.h". Add
2128 floating-point to integer instrumentation.
2129 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
2130 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
2131 SANITIZE_NONDEFAULT.
2132 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
2133 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
2134 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
2135 * ubsan.c: Include "realmpfr.h" and "dfp.h".
2136 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
2137 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
2138 float/double/long double.
2139 (ubsan_instrument_float_cast): New function.
2140 * ubsan.h (ubsan_instrument_float_cast): Declare.
2141
40c0a159 21422014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
2143
2144 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
2145 predicate.
2146 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
2147 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
2148 Adjust for tailcalling through registers.
2149 * config/aarch64/aarch64.h (enum reg_class): New caller save
2150 register class.
2151 (REG_CLASS_NAMES): Likewise.
2152 (REG_CLASS_CONTENTS): Likewise.
2153 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
2154 Allow tailcalling without decls.
2155
ed20ae98
TS
21562014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2157
09af4b4c
TS
2158 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
2159 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
2160
ed20ae98
TS
2161 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
2162 gsi, and variables v_* to v*.
2163
4adf63f9
EB
21642014-05-23 Eric Botcazou <ebotcazou@adacore.com>
2165
2166 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
2167
a5a5434f
TS
21682014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2169
0aadce73
TS
2170 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
2171 * omp-low.c: Update accordingly.
2172
eb63c927
TS
2173 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
2174 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
2175 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
2176 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
2177 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
2178 GF_OMP_TARGET_KIND_UPDATE.
2179
a5a5434f
TS
2180 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
2181 Explicitly enumerate the expected region types.
2182
ee526ea7
PE
21832014-05-23 Paul Eggert <eggert@cs.ucla.edu>
2184
2185 PR other/56955
2186 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
2187 documentation; the old documentation didn't clearly state the
2188 constraints on the contents of the pointed-to storage.
2189
676cad4d
MK
21902014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2191
2192 Fix bootstrap error on ia64
2193 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
2194 Return default value.
2195
73984f84
TP
21962014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2197
2198 PR tree-optimization/54733
2199 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
2200 (CMPNOP): Define.
2201 (find_bswap_or_nop_load): New.
2202 (find_bswap_1): Renamed to ...
2203 (find_bswap_or_nop_1): This. Also add support for memory source.
2204 (find_bswap): Renamed to ...
2205 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
2206 detection of bitwise operations equivalent to load in target
2207 endianness.
73984f84
TP
2208 (execute_optimize_bswap): Likewise. Also move its leading comment back
2209 in place and split statement transformation into ...
2210 (bswap_replace): This.
2211
b17ec42d
VM
22122014-05-22 Vladimir Makarov <vmakarov@redhat.com>
2213
2214 PR rtl-optimization/61215
2215 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
2216 simplify_gen_subreg until final substitution.
2217
ea9364db
AM
22182014-05-23 Alan Modra <amodra@gmail.com>
2219
2220 PR target/61231
2221 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
2222 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
2223 Use "Y" constraint rather than "m".
2224
aa87aced
KV
22252014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
2226
2227 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
2228 define.
2229 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
2230 New function declaration.
2231 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
2232 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
2233 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
2234 (aarch64_init_builtins) : Initialize builtins
2235 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
2236 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
2237 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
2238 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
2239 and __builtins_aarch64_set_fpsr.
2240 (aarch64_atomic_assign_expand_fenv): New function.
2241 * config/aarch64/aarch64.md (set_fpcr): New pattern.
2242 (get_fpcr) : Likewise.
2243 (set_fpsr) : Likewise.
2244 (get_fpsr) : Likewise.
2245 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
2246 and UNSPECV_SET_FPSR.
2247 * doc/extend.texi (AARCH64 Built-in Functions) : Document
2248 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
2249 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
2250
0a1eb350
VM
22512014-05-22 Vladimir Makarov <vmakarov@redhat.com>
2252
2253 PR rtl-optimization/60969
2254 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
2255 constraints. Set up mem cost for NO_REGS case.
2256
f6a7cffc
TS
22572014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2258
2259 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
2260
4000360e
BS
22612012-05-22 Bernd Schmidt <bernds@codesourcery.com>
2262
2263 * config/darwin.c: Include "lto-section-names.h".
2264 (LTO_SEGMENT_NAME): Don't define.
2265 * config/i386/winnt.c: Include "lto-section-names.h".
2266 * lto-streamer.c: Include "lto-section-names.h".
2267 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
2268 * lto-wrapper.c: Include "lto-section-names.h".
2269 (LTO_SECTION_NAME_PREFIX): Don't define.
2270 * lto-section-names.h: New file.
2271 * cgraphunit.c: Include "lto-section-names.h".
2272
c9aee450
PB
22732014-05-22 Peter Bergner <bergner@vnet.ibm.com>
2274
2275 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
2276
37f2edf5
RE
22772014-05-22 Richard Earnshaw <rearnsha@arm.com>
2278
2279 PR target/61208
2280 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
2281
1ad47ee5
NC
22822014-05-22 Nick Clifton <nickc@redhat.com>
2283
d4082970 2284 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 2285
1f9c420b
EB
22862014-05-22 Eric Botcazou <ebotcazou@adacore.com>
2287
2288 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
2289 -> (T)A transformation to integer types.
2290
e3f0315f
TJ
22912014-05-22 Teresa Johnson <tejohnson@google.com>
2292
2293 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
2294 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
2295 (gcov_rewrite): Use gcov_nonruntime_assert.
2296 (gcov_open): Ditto.
2297 (gcov_write_words): Ditto.
2298 (gcov_write_length): Ditto.
2299 (gcov_read_words): Use gcov_nonruntime_assert, and remove
2300 gcc_assert from IN_LIBGCOV code.
2301 (gcov_read_summary): Use gcov_error to flag profile corruption.
2302 (gcov_sync): Use gcov_nonruntime_assert.
2303 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
2304 (gcov_histo_index): Use gcov_nonruntime_assert.
2305 (static void gcov_histogram_merge): Ditto.
2306 (compute_working_sets): Ditto.
2307 * gcov-io.h (gcov_nonruntime_assert): Define.
2308 (gcov_error): Define for !IN_LIBGCOV
2309
c8f49949
RB
23102014-05-22 Richard Biener <rguenther@suse.de>
2311
2312 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
2313 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
2314 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
2315 and deallocation site.
2316 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2317 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
2318 passing through the incoming points-to set.
2319 (handle_lhs_call): Use flags argument instead of recomputing it.
2320 (find_func_aliases_for_call): Call handle_lhs_call with proper
2321 call return flags.
2322
a822564d
JJ
23232014-05-22 Jakub Jelinek <jakub@redhat.com>
2324
2325 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
2326 all padding bits in REAL_VALUE_TYPE are cleared.
2327
4960a0cb
MK
23282014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2329
2330 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
2331 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
2332 (core2i7_first_cycle_multipass_begin,)
2333 (core2i7_first_cycle_multipass_issue,)
2334 (core2i7_first_cycle_multipass_backtrack): Update signature.
2335 * config/ia64/ia64.c
2336 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
2337 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
2338 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
2339 hook definition.
2340 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
2341 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
2342 values.
2343 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
2344 return values.
2345 * doc/tm.texi: Regenerate.
2346 * doc/tm.texi.in
2347 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
2348 * haifa-sched.c (ready_try): Make signed to allow negative values.
2349 (rebug_ready_list_1): Update.
2350 (choose_ready): Simplify.
2351 (sched_extend_ready_list): Update.
4960a0cb 2352
16d83dd6
MK
23532014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2354
2355 Remove IA64 speculation tweaking flags
d4082970
MT
2356 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
2357 speculation tuning flags.
2358 (msched-prefer-non-data-spec-insns,)
2359 (msched-prefer-non-control-spec-insns): Obsolete options.
2360 * haifa-sched.c (choose_ready): Remove handling of
2361 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
2362 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
2363 and PREFER_NON_DATA_SPEC.
2364 * sel-sched.c (process_spec_exprs): Remove handling of
2365 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 2366
69da098b
MK
23672014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2368
2369 Improve scheduling debug output
2370 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
2371 (advance_one_cycle): Update.
2372 (schedule_insn, queue_to_ready): Add debug printouts.
2373 (debug_ready_list_1): New static function.
2374 (debug_ready_list): Update.
2375 (max_issue): Add debug printouts.
2376 (dump_insn_stream): New static function.
2377 (schedule_block): Use it. Also better indent printouts.
2378
23792014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2380
2381 Fix sched_insn debug counter
2382 * haifa-sched.c (schedule_insn): Update.
2383 (struct haifa_saved_data): Add nonscheduled_insns_begin.
2384 (save_backtrack_point, restore_backtrack_point): Update.
2385 (first_nonscheduled_insn): New static function.
2386 (queue_to_ready, choose_ready): Use it.
2387 (schedule_block): Init nonscheduled_insns_begin.
2388 (sched_emit_insn): Update.
2389
2390
a4a182c6
KV
23912014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
2392
2393 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
2394 to GENERAL_REGS.
2395 (aarch64_secondary_reload) : LikeWise.
2396 (aarch64_class_max_nregs) : Remove CORE_REGS.
2397 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
2398 (REG_CLASS_NAMES) : Likewise.
2399 (REG_CLASS_CONTENTS) : LikeWise.
2400 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
2401
9652331a
GW
24022014-05-21 Guozhi Wei <carrot@google.com>
2403
2404 PR target/61202
2405 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
2406 constraint.
2407 (vqdmulhq_n_s16): Likewise.
2408
0bfba043
SB
24092014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
2410
2411 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
2412
1edb7356
MP
24132014-05-21 Marek Polacek <polacek@redhat.com>
2414
2415 PR sanitizer/61272
2416 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
2417
2acb1027
MJ
24182014-05-21 Martin Jambor <mjambor@suse.cz>
2419
2420 * doc/invoke.texi (Optimize Options): Document parameters
2421 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
2422 ipa-cp-array-index-hint-bonus.
2423
7315daa6
MW
24242014-05-21 Mark Wielaard <mjw@redhat.com>
2425
2426 PR debug/16063
2427 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
2428 version >= 3 or not strict DWARF.
2429 * langhooks.h (struct lang_hooks_for_types): Add
2430 enum_underlying_base_type.
2431 * langhooks.c (lhd_enum_underlying_base_type): New function.
2432 * gcc/langhooks.h (struct lang_hooks_for_types): Add
2433 enum_underlying_base_type.
2434 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
2435 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
2436 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
2437
95989e5c
RB
24382014-05-21 Richard Biener <rguenther@suse.de>
2439
d4082970 2440 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 2441
dbed5a9b
JM
24422014-05-21 John Marino <gnugcc@marino.st>
2443
2444 * config.gcc (*-*-dragonfly*): New target.
2445 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
2446 * configure: Regenerate.
2447 * config/dragonfly-stdint.h: New.
2448 * config/dragonfly.h: New.
2449 * config/dragonfly.opt: New.
2450 * config/i386/dragonfly.h: New.
2451 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
2452
632f2871
RS
24532014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2454
2455 * tree.def (VOID_CST): New.
2456 * tree-core.h (TI_VOID): New.
2457 * tree.h (void_node): New.
2458 * tree.c (tree_node_structure_for_code, tree_code_size)
2459 (iterative_hash_expr): Handle VOID_CST.
2460 (build_common_tree_nodes): Initialize void_node.
2461
8a9e6b45
BS
24622014-05-21 Bernd Schmidt <bernds@codesourcery.com>
2463
bffe67e7
BS
2464 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
2465 functions.
2466 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
2467
0836b77f
BS
2468 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
2469 more places.
2470
8a9e6b45
BS
2471 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
2472 flag_reorder_blocks_and_partition.
2473 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
2474
c4e5de1b
OE
24752014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
2476
2477 PR target/54236
2478 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
2479 constraints.
2480 (*addc_r_t): Add new insn_and_split.
2481
decaaec8
JJ
24822014-05-21 Jakub Jelinek <jakub@redhat.com>
2483
2484 PR middle-end/61252
2485 * omp-low.c (handle_simd_reference): New function.
2486 (lower_rec_input_clauses): Use it. Defer adding reference
2487 initialization even for reduction without placeholder if in simd,
2488 handle it properly later on.
2489
3aaf0529
JH
24902014-05-20 Jan Hubicka <hubicka@ucw.cz>
2491
2492 PR tree-optimization/60899
2493 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
2494 assume all static symbols will have definition wile parsing and
2495 check the do have definition later in compilation; check that
2496 variable referring symbol will be output before concluding that
2497 reference is safe; be conservative for referring local statics;
2498 be more precise about when comdat is output in other partition.
2499
1bbb87c4
JH
25002014-05-20 Jan Hubicka <hubicka@ucw.cz>
2501
2502 PR bootstrap/60984
d4082970
MT
2503 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
2504 parameter.
1bbb87c4 2505 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
2506 (ipa_inline): Loop inline_to_all_callers until no more aliases
2507 are removed.
1bbb87c4 2508
d5ce4663
JH
25092014-05-20 Jan Hubicka <hubicka@ucw.cz>
2510
2511 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
2512 set writeonly flag only for vars actually written to.
2513
98339851
DC
25142014-05-20 Dehao Chen <dehao@google.com>
2515
2516 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
2517 and callee count to get clone count.
2518 * tree-inline.c (expand_call_inline): Use callee count instead of bb
2519 count in copy_body.
2520
ec27069c
RS
25212014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
2522
2523 PR rtl-optimization/61243
2524 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
2525
2b5f0895
XDL
25262014-05-20 Xinliang David Li <davidxl@google.com>
2527
2528 * cgraphunit.c (walk_polymorphic_call_targets): Add
2529 dbgcnt and fopt-info support.
2530 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
2531 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 2532 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
2533 * ipa.c (walk_polymorphic_call_targets): Ditto.
2534 * gimple-fold.c (fold_gimple_assign): Ditto.
2535 (gimple_fold_call): Ditto.
2536 * dbgcnt.def: New counter.
2537
9c5f6203
DD
25382014-05-20 DJ Delorie <dj@redhat.com>
2539
2540 * config/msp430/msp430.md (split): Don't allow subregs when
2541 splitting SImode adds.
2542 (andneghi): Fix subtraction logic.
2543 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
2544
cf288ed3
JH
25452014-05-20 Jan Hubicka <hubicka@ucw.cz>
2546
2547 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
2548 symbols.
2549 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 2550 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
2551 align_variable, get_block_for_decl, default_section_type_flags):
2552 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
2553 * symtab.c (symtab_add_to_same_comdat_group,
2554 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
2555 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
2556 Likewise.
2557 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
2558 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
2559 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
2560 (c6x_function_in_section_p): Likewise.
2561 * config/darwin.c (machopic_select_section): Likewise.
2562 * config/arm/arm.c (arm_function_in_section_p): Likewise.
2563 * config/mips/mips.c (mips_function_rodata_section): Likewise.
2564 * config/mep/mep.c (mep_select_section): LIkewise.
2565 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
2566
7eab31ed
EB
25672014-05-20 Eric Botcazou <ebotcazou@adacore.com>
2568
2569 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
2570 EH region of calls to pure functions that can throw an exception.
2571 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
2572 (copy_reference_ops_from_call): Also copy the EH region of the call if
2573 it can throw an exception.
2574
ec217bd8
BS
25752014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2576
2577 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
2578 nested VEC_SELECTs that are inverses of each other.
2579
b2b222b3
RB
25802014-05-20 Richard Biener <rguenther@suse.de>
2581
d4082970 2582 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
2583 (extract_and_process_scc_for_name): not here.
2584 (cond_dom_walker::before_dom_children): Only process
2585 stmts that end the BB in interesting ways.
2586 (run_scc_vn): Mark param uses as visited.
2587
e9ea5185
KT
25882014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2589
2590 * config/arm/arm.md (arith_shiftsi): Do not predicate for
2591 arm_restrict_it.
2592
8f0e7f6f
NC
25932014-05-20 Nick Clifton <nickc@redhat.com>
2594
467fc67c
NC
2595 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
2596 (msp430_gimplify_va_arg_expr): New function.
2597 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
2598
8f0e7f6f
NC
2599 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
2600 operand 0 in order to prevent confusion about the number of
2601 registers involved.
2602
d1c0308e
RB
26032014-05-20 Richard Biener <rguenther@suse.de>
2604
2605 PR tree-optimization/61221
2606 * tree-ssa-pre.c (el_to_update): Remove.
2607 (eliminate_dom_walker::before_dom_children): Handle released
2608 VDEFs by value-numbering them to the associated VUSE. Update
2609 stmt immediately for substituted call address.
2610 (eliminate): Remove delayed stmt updating code.
2611 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
2612 possibly late re-numbered vuses.
2613 (vn_reference_lookup_2): Adjust.
2614 (vn_reference_lookup_pieces): Likewise.
2615 (vn_reference_lookup): Likewise.
2616
54da09ee
RB
26172014-05-20 Richard Biener <rguenther@suse.de>
2618
2619 * config.gcc: Remove need_64bit_hwint.
2620 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
2621 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
2622 it to be true.
2623 * config.in: Regenerate.
2624 * configure: Likewise.
2625
883755a1
DW
26262014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
2627
2628 * doc/extend.texi: Create Label Attributes section,
2629 move all label attributes into it and reference it.
2630
514b3156
RE
26312014-05-19 Richard Earnshaw <rearnsha@arm.com>
2632
2633 * arm.c (thumb1_reorg): When scanning backwards skip anything
2634 that's not a proper insn.
2635
1d44def2
RB
26362014-05-19 Richard Biener <rguenther@suse.de>
2637
2638 PR tree-optimization/61221
2639 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2640 Do nothing for unreachable blocks.
2641 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
2642 Improve unreachability detection.
2643
05135136
RB
26442014-05-19 Richard Biener <rguenther@suse.de>
2645
2646 PR tree-optimization/61209
2647 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
2648
40ba8dfb
NC
26492014-05-19 Nick Clifton <nickc@redhat.com>
2650
2651 * except.c (init_eh): Fix computation of builtin setjmp buffer
2652 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
2653
cb460086
RB
26542014-05-19 Richard Biener <rguenther@suse.de>
2655
2656 PR tree-optimization/61184
2657 * tree-vrp.c (is_negative_overflow_infinity): Use
2658 TREE_OVERFLOW_P and do that check first.
2659 (is_positive_overflow_infinity): Likewise.
2660 (is_overflow_infinity): Likewise.
2661 (vrp_operand_equal_p): Properly treat operands with
2662 differing overflow as not equal.
2663
bddd3671
BS
26642014-05-19 Bernd Schmidt <bernds@codesourcery.com>
2665
2666 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
2667 shift simplification where it was intended.
2668
72d82e7a
CB
26692014-05-19 Christian Bruel <christian.bruel@st.com>
2670
2671 PR target/61195
2672 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
2673
34dbb287
RS
26742014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
2675
2676 PR target/61084
2677 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
2678 than wide_int.
2679
339ba33b
RS
26802014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2681
2682 * reg-notes.def (CROSSING_JUMP): Likewise.
2683 * rtl.h (rtx_def): Update comment for jump flag.
2684 (CROSSING_JUMP_P): Define.
2685 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
2686 of a REG_CROSSING_JUMP note.
2687 * cfghooks.c (tidy_fallthru_edges): Likewise.
2688 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
2689 * emit-rtl.c (try_split): Likewise.
2690 * haifa-sched.c (sched_create_recovery_edges): Likewise.
2691 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
2692 * jump.c (redirect_jump_2): Likewise.
2693 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
2694 (relax_delay_slots): Likewise.
2695 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
2696 (bbit_di): Likewise.
2697 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
2698 * config/sh/sh.md (jump_compact): Likewise.
2699 * bb-reorder.c (rotate_loop): Likewise.
2700 (pass_duplicate_computed_gotos::execute): Likewise.
2701 (add_reg_crossing_jump_notes): Rename to...
2702 (update_crossing_jump_flags): ...this.
2703 (pass_partition_blocks::execute): Update accordingly.
2704
a65d5b87
RS
27052014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2706
2707 * tree.h: Remove extraneous template <>.
2708
7b3376a0
JH
27092014-05-17 Jan Hubicka <hubicka@ucw.cz>
2710
2711 * ipa.c (symtab_remove_unreachable_nodes): Remove
2712 symbol from comdat group if its body was eliminated.
d4082970
MT
2713 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
2714 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
2715 (symtab_unregister_node): ... this one.
2716 (verify_symtab_base): More strict checking of comdats.
2717 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
2718
a04d9035
JH
27192014-05-17 Jan Hubicka <hubicka@ucw.cz>
2720
2721 * tree-pass.h (make_pass_ipa_comdats): New pass.
2722 * timevar.def (TV_IPA_COMDATS): New timevar.
2723 * passes.def (pass_ipa_comdats): Add.
2724 * Makefile.in (OBJS): Add ipa-comdats.o
2725 * ipa-comdats.c: New file.
2726
24a71ba8
JH
27272014-05-17 Jan Hubicka <hubicka@ucw.cz>
2728
2729 * ipa.c (update_visibility_by_resolution_info): New function.
2730 (function_and_variable_visibility): Use it.
2731
d6d229c6
JH
27322014-05-17 Jan Hubicka <hubicka@ucw.cz>
2733
2734 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
2735 New functions.
2736 (FOR_EACH_DEFINED_SYMBOL): New macro.
2737 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
2738 varpool_first_defined_variable, varpool_next_defined_variable):
2739 Fix comments.
d6d229c6
JH
2740 (symtab_in_same_comdat_p): Correctly deal with inline functions.
2741
c3af645c
TS
27422014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2743
2744 * ggc-page.c (ggc_handle_finalizers): Add comment.
2745
de49ce19
TS
27462014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2747
2748 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
2749 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
2750 (ggc_internal_cleared_alloc): Likewise.
2751 * ggc-page.c (finalizer): New class.
16f8dfdb 2752 (vec_finalizer): Likewise.
de49ce19 2753 (globals::finalizers): New member.
16f8dfdb 2754 (globals::vec_finalizers): Likewise.
de49ce19
TS
2755 (ggc_internal_alloc): Record the finalizer if any for the block being
2756 allocated.
2757 (ggc_handle_finalizers): New function.
2758 (ggc_collect): Call ggc_handle_finalizers.
2759 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
2760 finalizer.
2761 (ggc_internal_cleared_alloc): Likewise.
2762 (finalize): New function.
2763 (need_finalization_p): Likewise.
2764 (ggc_alloc): Install the type's destructor as the finalizer if it
2765 might do something.
2766 (ggc_cleared_alloc): Likewise.
2767 (ggc_vec_alloc): Likewise.
2768 (ggc_cleared_vec_alloc): Likewise.
2769
04eec987
TS
27702014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2771
2772 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
2773
766090c2
TS
27742014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2775
2776 * alias.c (record_alias_subset): Adjust.
2777 * bitmap.c (bitmap_element_allocate): Likewise.
2778 (bitmap_gc_alloc_stat): Likewise.
2779 * cfg.c (init_flow): Likewise.
2780 (alloc_block): Likewise.
2781 (unchecked_make_edge): Likewise.
2782 * cfgloop.c (alloc_loop): Likewise.
2783 (flow_loops_find): Likewise.
2784 (rescan_loop_exit): Likewise.
2785 * cfgrtl.c (init_rtl_bb_info): Likewise.
2786 * cgraph.c (insert_new_cgraph_node_version): Likewise.
2787 (cgraph_allocate_node): Likewise.
2788 (cgraph_create_edge_1): Likewise.
2789 (cgraph_allocate_init_indirect_info): Likewise.
2790 * cgraphclones.c (cgraph_clone_edge): Likewise.
2791 * cgraphunit.c (add_asm_node): Likewise.
2792 (init_lowered_empty_function): Likewise.
16f8dfdb 2793 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
2794 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
2795 (alpha_use_linkage): Likewise.
2796 * config/arc/arc.c (arc_init_machine_status): Likewise.
2797 * config/arm/arm.c (arm_init_machine_status): Likewise.
2798 * config/avr/avr.c (avr_init_machine_status): Likewise.
2799 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
2800 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
2801 * config/cris/cris.c (cris_init_machine_status): Likewise.
2802 * config/darwin.c (machopic_indirection_name): Likewise.
2803 (darwin_build_constant_cfstring): Likewise.
2804 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 2805 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
2806 * config/frv/frv.c (frv_init_machine_status): Likewise.
2807 * config/i386/i386.c (get_dllimport_decl): Likewise.
2808 (ix86_init_machine_status): Likewise.
2809 (assign_386_stack_local): Likewise.
16f8dfdb 2810 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
2811 (i386_pe_maybe_record_exported_symbol): Likewise.
2812 (i386_pe_record_stub): Likewise.
2813 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
2814 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
2815 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
2816 (m32c_note_pragma_address): Likewise.
2817 * config/mep/mep.c (mep_init_machine_status): Likewise.
2818 (mep_note_pragma_flag): Likewise.
2819 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
2820 (mips16_local_alias): Likewise.
2821 (mips_init_machine_status): Likewise.
2822 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
2823 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
2824 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
2825 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
2826 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
2827 * config/pa/pa.c (pa_init_machine_status): Likewise.
2828 (pa_get_deferred_plabel): Likewise.
2829 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
2830 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
2831 (rs6000_init_machine_status): Likewise.
2832 (output_toc): Likewise.
2833 * config/s390/s390.c (s390_init_machine_status): Likewise.
2834 * config/score/score.c (score_output_external): Likewise.
2835 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
2836 * config/spu/spu.c (spu_init_machine_status): Likewise.
2837 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 2838 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
2839 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
2840 * coverage.c (coverage_end_function): Likewise.
2841 * dbxout.c (dbxout_init): Likewise.
2842 * doc/gty.texi: Don't mention variable_size attribute.
2843 * dwarf2cfi.c (new_cfi): Adjust.
2844 (new_cfi_row): Likewise.
2845 (copy_cfi_row): Likewise.
2846 (create_cie_data): Likewise.
2847 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
2848 (new_loc_descr): Likewise.
2849 (find_AT_string_in_table): Likewise.
2850 (add_addr_table_entry): Likewise.
2851 (new_die): Likewise.
2852 (add_var_loc_to_decl): Likewise.
2853 (clone_die): Likewise.
2854 (clone_as_declaration): Likewise.
2855 (break_out_comdat_types): Likewise.
2856 (new_loc_list): Likewise.
2857 (add_loc_descr_to_each): Likewise.
2858 (add_location_or_const_value_attribute): Likewise.
2859 (add_linkage_name): Likewise.
2860 (lookup_filename): Likewise.
2861 (dwarf2out_var_location): Likewise.
2862 (new_line_info_table): Likewise.
2863 (dwarf2out_init): Likewise.
2864 (mem_loc_descriptor): Likewise.
2865 (loc_descriptor): Likewise.
2866 (add_const_value_attribute): Likewise.
2867 (tree_add_const_value_attribute): Likewise.
2868 (comp_dir_string): Likewise.
2869 (dwarf2out_vms_debug_main_pointer): Likewise.
2870 (string_cst_pool_decl): Likewise.
2871 * emit-rtl.c (set_mem_attrs): Likewise.
2872 (get_reg_attrs): Likewise.
2873 (start_sequence): Likewise.
2874 (init_emit): Likewise.
2875 (init_emit_regs): Likewise.
2876 * except.c (init_eh_for_function): Likewise.
2877 (gen_eh_region): Likewise.
2878 (gen_eh_region_catch): Likewise.
2879 (gen_eh_landing_pad): Likewise.
2880 (add_call_site): Likewise.
2881 * function.c (add_frame_space): Likewise.
2882 (insert_temp_slot_address): Likewise.
2883 (assign_stack_temp_for_type): Likewise.
2884 (get_hard_reg_initial_val): Likewise.
2885 (allocate_struct_function): Likewise.
2886 (prepare_function_start): Likewise.
2887 (types_used_by_var_decl_insert): Likewise.
2888 * gengtype.c (variable_size_p): Remove function.
2889 (enum alloc_quantity): Remove enum.
2890 (write_typed_alloc_def): Remove function.
2891 (write_typed_struct_alloc_def): Likewise.
2892 (write_typed_typedef_alloc_def): Likewise.
2893 (write_typed_alloc_defns): Likewise.
2894 (main): Adjust.
2895 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
2896 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
2897 * ggc.h (ggc_alloc): new function.
2898 (ggc_cleared_alloc): Likewise.
2899 (ggc_vec_alloc): Template on type of vector element, and remove
2900 element size argument.
2901 (ggc_cleared_vec_alloc): Likewise.
2902 * gimple.c (gimple_build_omp_for): Adjust.
2903 (gimple_copy): Likewise.
2904 * ipa-cp.c (get_replacement_map): Likewise.
2905 (find_aggregate_values_for_callers_subset): Likewise.
2906 (known_aggs_to_agg_replacement_list): Likewise.
2907 * ipa-devirt.c (get_odr_type): Likewise.
2908 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
2909 (read_agg_replacement_chain): Likewise.
2910 * loop-iv.c (get_simple_loop_desc): Likewise.
2911 * lto-cgraph.c (input_node_opt_summary): Likewise.
2912 * lto-section-in.c (lto_new_in_decl_state): Likewise.
2913 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
2914 (input_eh_region): Likewise.
2915 (input_eh_lp): Likewise.
2916 (input_cfg): Likewise.
2917 * optabs.c (set_optab_libfunc): Likewise.
2918 (init_tree_optimization_optabs): Likewise.
2919 (set_conv_libfunc): Likewise.
2920 * passes.c (do_per_function_toporder): Likewise.
2921 * rtl.h: Don't use variable_size gty attribute.
2922 * sese.c (if_region_set_false_region): Adjust.
2923 * stringpool.c (gt_pch_save_stringpool): Likewise.
2924 * target-globals.c (save_target_globals): Likewise.
2925 * toplev.c (general_init): Likewise.
2926 * trans-mem.c (record_tm_replacement): Likewise.
2927 (split_bb_make_tm_edge): Likewise.
2928 * tree-cfg.c (move_sese_region_to_fn): Likewise.
2929 * tree-data-ref.h (lambda_vector_new): Likewise.
2930 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
2931 * tree-iterator.c (tsi_link_before): Likewise.
2932 (tsi_link_after): Likewise.
2933 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
2934 * tree-ssa-loop-niter.c (record_estimate): Likewise.
2935 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
2936 * tree-ssa-operands.h: Don't use variable_size gty attribute.
2937 * tree-ssa.c (init_tree_ssa): Adjust.
2938 * tree-ssanames.c (set_range_info): Likewise.
2939 (get_ptr_info): Likewise.
2940 (duplicate_ssa_name_ptr_info): Likewise.
2941 (duplicate_ssa_name_range_info): Likewise.
2942 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
2943 (unpack_ts_fixed_cst_value_fields): Likewise.
2944 * tree.c (build_fixed): Likewise.
2945 (build_real): Likewise.
2946 (build_string): Likewise.
2947 (decl_priority_info): Likewise.
2948 (decl_debug_expr_insert): Likewise.
2949 (decl_value_expr_insert): Likewise.
2950 (decl_debug_args_insert): Likewise.
2951 (type_hash_add): Likewise.
2952 (build_omp_clause): Likewise.
2953 * ubsan.c (decl_for_type_insert): Likewise.
2954 * varasm.c (get_unnamed_section): Likewise.
2955 (get_noswitch_section): Likewise.
2956 (get_section): Likewise.
2957 (get_block_for_section): Likewise.
2958 (create_block_symbol): Likewise.
2959 (build_constant_desc): Likewise.
2960 (create_constant_pool): Likewise.
2961 (force_const_mem): Likewise.
2962 (record_tm_clone_pair): Likewise.
2963 * varpool.c (varpool_create_empty_node): Likewise.
2964
231120e5
TS
29652014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2966
2967 * dwarf2out.c (tree_add_const_value_attribute): Call
2968 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
2969 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
2970 instead of ggc_internal_<x>alloc_stat.
2971 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
2972 (ggc_realloc): Likewise.
2973 * ggc-none.c (ggc_internal_alloc): Likewise.
2974 (ggc_internal_cleared_alloc): Likewise.
2975 * ggc-page.c: Likewise.
2976 * ggc.h (ggc_internal_alloc_stat): Likewise.
2977 (ggc_internal_alloc): Remove macro.
2978 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
2979 (ggc_internal_cleared_alloc): Remove macro.
2980 (GGC_RESIZEVEC): Adjust.
2981 (ggc_resizevar): Remove macro.
2982 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
2983 (ggc_internal_cleared_vec_alloc_stat): Likewise.
2984 (ggc_internal_vec_cleared_alloc): Remove macro.
2985 (ggc_alloc_atomic_stat): Drop _stat suffix.
2986 (ggc_alloc_atomic): Remove macro.
2987 (ggc_alloc_cleared_atomic): Remove macro.
2988 (ggc_alloc_string_stat): Drop _stat suffix.
2989 (ggc_alloc_string): Remove macro.
2990 (ggc_alloc_rtx_def_stat): Adjust.
2991 (ggc_alloc_tree_node_stat): Likewise.
2992 (ggc_alloc_cleared_tree_node_stat): Likewise.
2993 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
2994 (ggc_alloc_cleared_simd_clone_stat): Likewise.
2995 * gimple.c (gimple_build_omp_for): Likewise.
2996 (gimple_copy): Likewise.
2997 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
2998 * toplev.c (realloc_for_line_map): Adjust.
2999 * tree-data-ref.h (lambda_vector_new): Likewise.
3000 * tree-phinodes.c (allocate_phi_node): Likewise.
3001 * tree.c (grow_tree_vec_stat): Likewise.
3002 * vec.h (va_gc::reserve): Adjust.
3003
16f8dfdb 30042014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 3005
16f8dfdb
UB
3006 * config/microblaze/microblaze.c (break_handler): New Declaration.
3007 (microblaze_break_function_p,microblaze_is_break_handler): New.
3008 (compute_frame_size): Use microblaze_break_function_p.
3009 Add the test of break_handler.
3010 (microblaze_function_prologue) : Add the test of variable
3011 break_handler. Check the fnname by BREAK_HANDLER_NAME.
3012 (microblaze_function_epilogue) : Add the test of break_handler.
3013 (microblaze_globalize_label) : Add the test of break_handler.
3014 Check the name by BREAK_HANDLER_NAME.
86498dba 3015
16f8dfdb 3016 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 3017
16f8dfdb
UB
3018 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
3019 microblaze_is_break_handler test.
3020 (call_internal1,call_value_intern): Use microblaze_break_function_p.
3021 Use SYMBOL_REF_DECL.
86498dba
AA
3022
3023 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
3024 (microblaze_break_function_p,microblaze_is_break_handler):
3025 New Declaration.
86498dba 3026
16f8dfdb
UB
3027 * doc/extend.texi (MicroBlaze break_handler Functions): Document
3028 new MicroBlaze break_handler functions.
86498dba 3029
71ca3028
UB
30302014-05-17 Uros Bizjak <ubizjak@gmail.com>
3031
3032 * doc/extend.texi (Size of an asm): Move node text according
3033 to its @menu entry position.
3034
87a34442
MG
30352014-05-17 Marc Glisse <marc.glisse@inria.fr>
3036
3037 PR tree-optimization/61140
3038 PR tree-optimization/61150
3039 PR tree-optimization/61197
3040 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
3041
6ca74b5c
UB
30422014-05-17 Uros Bizjak <ubizjak@gmail.com>
3043
3044 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
3045
60f82c42
RS
30462014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
3047
3048 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
3049 __SIZEOF_INT128__ is defined.
3050
a1242f17
RS
30512014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
3052
3053 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
3054 (rs6000_delegitimize_address): Use it.
3055
23b33725
RS
30562014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
3057
3058 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
3059 inplace argument. Store the new address in the original MEM when true.
3060 * emit-rtl.c (change_address_1): Likewise.
3061 (adjust_address_1, adjust_automodify_address_1, offset_address):
3062 Update accordingly.
3063 * rtl.h (plus_constant): Add an inplace argument.
3064 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
3065 when true. Avoid generating (plus X (const_int 0)).
3066 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
3067 in-place. Pass true to plus_constant.
3068 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
3069
2f6eed01
DC
30702014-05-16 Dehao Chen <dehao@google.com>
3071
3072 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
3073
b200de02
OE
30742014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3075
3076 PR target/54089
3077 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
3078 patterns.
3079 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
3080
cf40f973
DC
30812014-05-16 Dehao Chen <dehao@google.com>
3082
6b8ebd00
UB
3083 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
3084 optimize_function_for_size_p.
cf40f973
DC
3085 * regs.h (REG_FREQ_FROM_BB): Likewise.
3086
48d8568e
OE
30872014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3088
3089 PR target/51244
3090 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
3091 negt_reg_operand cases.
3092 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
3093 predicate.
3094 * config/sh/predicates.md (cbranch_treg_value): Simplify.
3095
d580af0f
OE
30962014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3097
3098 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
3099 target variants.
3100
6c7571a2
DM
31012014-05-16 David Malcolm <dmalcolm@redhat.com>
3102
3103 Revert:
3104 2014-04-29 David Malcolm <dmalcolm@redhat.com>
3105
3106 * tree-cfg.c (dump_function_to_file): Dump the return type of
3107 functions, in a line to itself before the function body, mimicking
3108 the layout of a C function.
3109
b0e66512
DC
31102014-05-16 Dehao Chen <dehao@google.com>
3111
3112 * cfghooks.c (make_forwarder_block): Use direct computation to
3113 get fall-through edge's count and frequency.
3114
6b8ebd00 31152014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
3116
3117 * config/arc/arc.c (arc_init): Fix typo in error message.
3118 * config/i386/i386.c (ix86_expand_builtin): Likewise.
3119 (split_stack_prologue_scratch_regno): Likewise.
3120 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
3121 word from error message.
3122
420ab54b
ZZ
31232014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
3124
3125 * ira-costs.c: Fix typo in comment.
3126
8e90f610
DW
31272014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
3128
6b8ebd00 3129 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 3130
6de88c6a
JH
31312014-05-16 Jan Hubicka <hubicka@ucw.cz>
3132
3133 * varpool.c (dump_varpool_node): Dump write-only flag.
3134 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
3135 write-only flag.
6b8ebd00
UB
3136 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
3137 write-only variables.
3138 * ipa.c (process_references): New function.
3139 (set_readonly_bit): New function.
3140 (set_writeonly_bit): New function.
3141 (clear_addressable_bit): New function.
3142 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
3143 fix handling of aliases.
3144 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 3145
f4e075e7
VM
31462014-05-16 Vladimir Makarov <vmakarov@redhat.com>
3147
3148 PR rtl-optimization/60969
3149 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
3150 Calculate costs for this case.
3151
8b628e86
EB
31522014-05-16 Eric Botcazou <ebotcazou@adacore.com>
3153
3154 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
3155 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
3156
52264dbf
RB
31572014-05-16 Richard Biener <rguenther@suse.de>
3158
3159 PR tree-optimization/61194
3160 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
3161 bool patterns ending in a COND_EXPR.
3162
3d840f7d
JG
31632014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3164
3165 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
3166
88d4fbcf
JG
31672014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3168
3169 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
3170 where we were unable to cost an RTX.
3171
909734be
JG
31722014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3173
3174 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
3175 HIGH, LO_SUM.
3176
fb620c4a
JG
31772014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3178 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3179
3180 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
3181
b292109f
JG
31822014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3183 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3184
3185 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
3186 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
3187
a8eecd00
JG
31882014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3189 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3190
3191 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
3192 operators.
3193
4105fe38
JG
31942014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3195 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3196
3197 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
3198 DIV/MOD.
3199
32002014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
3201 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3202
3203 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
3204 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
3205
ba0cfa17
JG
32062014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3207 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3208
3209 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
3210 rotates and shifts.
3211
b1685e62
JG
32122014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3213 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3214
3215 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
3216 ZERO_EXTEND and SIGN_EXTEND better.
3217
268c3b47
JG
32182014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3219 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3220
3221 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
3222 logical operations.
3223
2961177e
JG
32242014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3225 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3226
3227 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
3228 costs when costing loads and stores to memory.
3229
ba123b0d
JG
32302014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3231 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
3232
3233 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
3234 for SET RTX.
3235
7fc5ef02
JG
32362014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3237
3238 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
3239
4745e701
JG
32402014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3241 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3242
3243 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
3244 to...
3245 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
3246 well formed.
3247 (aarch64_rtx_mult_cost): New.
3248 (aarch64_rtx_costs): Use it, refactor as appropriate.
3249
9dfc162c
JG
32502014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3251 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3252
3253 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
3254 emit instructions, return number of instructions which would
3255 be emitted.
3256 (aarch64_add_constant): Update call to aarch64_build_constant.
3257 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 3258 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
3259 a CONST_DOUBLE.
3260
0ee859b5
JG
32612014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3262
3263 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
3264 (TARGET_RTX_COSTS): Call it.
3265
60bff090
JG
32662014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3267
3268 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
3269 (cortexa57_vector_cost): Likewise.
3270 (cortexa57_tunings): Use them.
3271
67747367
JG
32722014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3273
3274 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
3275 (cpu_addrcost_table): Use it.
3276 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
3277 (aarch64_address_cost): Rewrite using aarch64_classify_address,
3278 move it.
3279
a764d660
RB
32802014-05-16 Richard Biener <rguenther@suse.de>
3281
3282 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
3283 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
3284 (visit_phi): Ignore edges marked as not executable.
3285 (class cond_dom_walker): New.
3286 (cond_dom_walker::before_dom_children): Value-number
3287 control statements and mark successor edges as not
3288 executable if possible.
3289 (run_scc_vn): First walk all control statements in
3290 dominator order, marking edges as not executable.
3291 * tree-inline.c (copy_edges_for_bb): Be not confused
3292 about random edge flags.
3293
a27c3860
RB
32942014-05-16 Richard Biener <rguenther@suse.de>
3295
3296 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
3297
d8c55b91
PB
32982014-05-15 Peter Bergner <bergner@vnet.ibm.com>
3299
3300 PR target/61193
3301 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
3302 (__TM_simple_begin): Use it.
3303 (__TM_begin): Likewise.
3304
8a2256dd
MJ
33052014-05-15 Martin Jambor <mjambor@suse.cz>
3306
3307 PR ipa/61085
3308 * ipa-prop.c (update_indirect_edges_after_inlining): Check
3309 type_preserved flag when the indirect edge is polymorphic.
3310
9d2681a3
MJ
33112014-05-15 Martin Jambor <mjambor@suse.cz>
3312
3313 PR tree-optimization/61090
3314 * tree-sra.c (sra_modify_expr): Pass the current gsi to
3315 build_ref_for_model.
3316
927450d0
KT
33172014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3318
3319 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
3320 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
3321
ceed6e67
JJ
33222014-05-15 Jakub Jelinek <jakub@redhat.com>
3323
3324 PR tree-optimization/61158
3325 * fold-const.c (fold_binary_loc): If X is zero-extended and
3326 shiftc >= prec, make sure zerobits is all ones instead of
3327 invoking undefined behavior.
3328
a2e6c10c
ZC
33292014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3330
3331 * regcprop.h: New file.
3332 * regcprop.c (skip_debug_insn_p): New decl.
3333 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
3334 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
3335 * shrink-wrap.c: Include regcprop.h.
3336 (prepare_shrink_wrap): Call
3337 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 3338
e974b93b
ZC
33392014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3340
3341 * shrink-wrap.h: Update comment.
3342 * shrink-wrap.c: Update comment.
3343 (next_block_for_reg): Rename to live_edge_for_reg.
3344 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
3345 (move_insn_for_shrink_wrap): Split live_edge.
3346 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
3347
88fe5e91
EB
33482014-05-14 Eric Botcazou <ebotcazou@adacore.com>
3349
3350 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
3351 Delete.
3352 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
3353 * config/sparc/sparc.md (fptype_ut699): New attribute.
3354 (in_branch_delay): Return false if -mfix-ut699 is specified and
3355 fptype_ut699 is set to single.
3356 (truncdfsf2): Add fptype_ut699 attribute.
3357 (fix_truncdfsi2): Likewise.
3358 (floatsisf2): Change fptype attribute.
3359 (fix_truncsfsi2): Likewise.
3360 (negtf2_notv9): Delete.
3361 (negtf2_v9): Likewise.
3362 (negtf2_hq): New instruction.
3363 (negtf2): New instruction and splitter.
3364 (negdf2_notv9): Rewrite.
3365 (abstf2_notv9): Delete.
3366 (abstf2_hq_v9): Likewise.
3367 (abstf2_v9): Likewise.
3368 (abstf2_hq): New instruction.
3369 (abstf2): New instruction and splitter.
3370 (absdf2_notv9): Rewrite.
3371
bc91b0e0
CC
33722014-05-14 Cary Coutant <ccoutant@google.com>
3373
6b8ebd00 3374 PR debug/61013
bc91b0e0
CC
3375 * opts.c (common_handle_option): Don't special-case "-g".
3376 (set_debug_level): Default to at least level 2 with "-g".
3377
5f35dde5
DD
33782014-05-14 DJ Delorie <dj@redhat.com>
3379
3380 * config/msp430/msp430.c (msp430_builtin): Add
3381 MSP430_BUILTIN_DELAY_CYCLES.
3382 (msp430_init_builtins): Register void __delay_cycles(long long).
3383 (msp430_builtin_decl): Add it.
3384 (cg_magic_constant): New.
3385 (msp430_expand_delay_cycles): New.
3386 (msp430_expand_builtin): Call it.
3387 (msp430_print_operand_raw): Change integer printing from "int" to
3388 HOST_WIDE_INT.
3389 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
3390 (delay_cycles_start): New.
3391 (delay_cycles_end): New.
3392 (delay_cycles_32): New.
3393 (delay_cycles_32x): New.
3394 (delay_cycles_16): New.
3395 (delay_cycles_16x): New.
3396 (delay_cycles_2): New.
3397 (delay_cycles_1): New.
3398 * doc/extend.texi: Document __delay_cycles().
3399
5d40b20f
SL
34002014-05-14 Sandra Loosemore <sandra@codesourcery.com>
3401
3402 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
3403 length attribute computation.
3404
25109109
RS
34052014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
3406
3407 PR debug/61188
3408 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
3409
7e7e4032
RS
34102014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3411
3412 PR target/61084
3413 * config/sparc/sparc.md: Fix types of low and high in DI constant
3414 splitter. Use gen_int_mode in some other splitters.
3415
70d6d5c1
MJ
34162014-05-14 Martin Jambor <mjambor@suse.cz>
3417
3418 PR ipa/60897
3419 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
3420
23b02de3
JN
34212014-05-14 James Norris <jnorris@codesourcery.com>
3422
3423 * omp-low.c (expand_parallel_call): Remove shadow variable.
3424 (expand_omp_taskreg): Likewise.
3425
9cdea277
IT
34262014-05-14 Ilya Tocar <ilya.tocar@intel.com>
3427
3428 * common/config/i386/i386-common.c
3429 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
3430 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
3431 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
3432 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
3433 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
3434 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 3435 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
3436 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
3437 xsavecintrin.h, xsavesintrin.h.
3438 (x86_64-*-*): Ditto.
3439 * config/i386/clflushoptintrin.h: New.
3440 * config/i386/xsavecintrin.h: Ditto.
3441 * config/i386/xsavesintrin.h: Ditto.
3442 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
3443 (bit_XSAVES): Ditto.
3444 (bit_XSAVES): Ditto.
3445 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
3446 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
3447 -mno-clflushopt.
3448 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
3449 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
3450 OPTION_MASK_ISA_XSAVES.
3451 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
3452 -mxsavec, -mxsaves.
3453 (PTA_CLFLUSHOPT) Define.
3454 (PTA_XSAVEC): Ditto.
3455 (PTA_XSAVES): Ditto.
3456 (ix86_option_override_internal): Handle new options.
3457 (ix86_valid_target_attribute_inner_p): Ditto.
3458 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
3459 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
3460 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
3461 (bdesc_special_args): Add __builtin_ia32_xsaves,
3462 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
3463 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
3464 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
3465 (ix86_expand_builtin): Handle new builtins.
3466 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
3467 (TARGET_CLFLUSHOPT_P): Ditto.
3468 (TARGET_XSAVEC): Ditto.
3469 (TARGET_XSAVEC_P): Ditto.
3470 (TARGET_XSAVES): Ditto.
3471 (TARGET_XSAVES_P): Ditto.
3472 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
3473 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
3474 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
3475 (ANY_XRSTOR): New.
3476 (ANY_XRSTOR64): Ditto.
3477 (xrstor): Ditto.
3478 (xrstor): Change into <xrstor>.
3479 (xrstor_rex64): Change into <xrstor>_rex64.
3480 (xrstor64): Change into <xrstor>64
3481 (clflushopt): New.
3482 * config/i386/i386.opt (mclflushopt): New.
3483 (mxsavec): Ditto.
3484 (mxsaves): Ditto.
3485 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
3486 xsavecintrin.h.
3487 * doc/invoke.texi: Document new options.
3488
92e265ac
AB
34892014-05-14 Andrey Belevantsev <abel@ispras.ru>
3490
3491 PR rtl-optimization/60866
3492 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
3493 Default it to -1. Pass it down to init_simplejump_data.
3494 (init_simplejump_data): New parameter old_seqno. Pass it down
3495 to get_seqno_for_a_jump.
3496 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
3497 initializing new jump seqno as a last resort. Add comment.
3498 (sel_redirect_edge_and_branch): Save old seqno of the conditional
3499 jump and pass it down to sel_init_new_insn.
3500 (sel_redirect_edge_and_branch_force): Likewise.
3501
fa96aa45
GJL
35022014-05-14 Georg-Johann Lay <avr@gjlay.de>
3503
3504 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
3505 shifted values to avoid build warning.
3506
8a829274
EB
35072014-05-14 Eric Botcazou <ebotcazou@adacore.com>
3508
3509 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
3510 * cfgrtl.c (rtl_merge_blocks): Fix comment.
3511 (cfg_layout_merge_blocks): Likewise.
3512 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
3513
11290308
AB
35142014-05-14 Andrey Belevantsev <abel@ispras.ru>
3515
3516 PR rtl-optimization/60901
3517 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
3518 bb predecessor belongs to the same scheduling region. Adjust comment.
3519
f4853e92
PB
35202014-05-13 Peter Bergner <bergner@vnet.ibm.com>
3521
3522 * doc/sourcebuild.texi: (dfp_hw): Document.
3523 (p8vector_hw): Likewise.
3524 (powerpc_eabi_ok): Likewise.
3525 (powerpc_elfv2): Likewise.
3526 (powerpc_htm_ok): Likewise.
3527 (ppc_recip_hw): Likewise.
3528 (vsx_hw): Likewise.
3529
bd5c3baa
CC
35302014-05-13 Cary Coutant <ccoutant@google.com>
3531
3532 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
3533
9aa54cc9
DM
35342014-05-13 David Malcolm <dmalcolm@redhat.com>
3535
3536 * gengtype-parse.c (require3): Eliminate in favor of...
3537 (require4): New.
3538 (require_template_declaration): Update to support optional single *
3539 on a type.
3540
3541 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
3542 (create_user_defined_type): Handle a single level of explicit
3543 pointerness within template arguments.
3544 (struct write_types_data): Add field "kind".
3545 (filter_type_name): Handle "*" character.
3546 (write_user_func_for_structure_ptr): Require a write_types_data
3547 rather than just a prefix string, so that we can look up the kind
3548 of the wtd and use it as an index into wrote_user_func_for_ptr,
3549 ensuring that such functions are written at most once. Support
6b8ebd00 3550 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
3551 (write_user_func_for_structure_body): Require a write_types_data
3552 rather than just a prefix string, so that we can pass this to
3553 write_user_func_for_structure_ptr.
3554 (write_func_for_structure): Likewise.
3555 (ggc_wtd): Add initializer of new "kind" field.
3556 (pch_wtd): Likewise.
3557
3558 * gengtype.h (enum write_types_kinds): New.
3559 (struct type): Add field wrote_user_func_for_ptr to the "s"
3560 union member.
3561
5c0f009c
RS
35622014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
3563
3564 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
3565 instead of const_binop.
3566 (fold_binary_loc): Likewise.
3567
460d1e22
RS
35682014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
3569
3570 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
3571 calculation to match get_ref_base_and_extent.
3572
1e1f96b5
CM
35732014-05-13 Catherine Moore <clm@codesourcery.com>
3574 Sandra Loosemore <sandra@codesourcery.com>
3575
3576 * configure.ac: Fix assembly for explicit JALR relocation check.
3577 * configure: Regenerate.
3578
411f86ad
KT
35792014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3580
3581 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
3582 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
3583 Remove associated type declarations and initialisations.
3584 (arm_expand_neon_builtin): Likewise.
3585 (neon_emit_pair_result_insn): Delete.
3586 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
3587 * config/arm/neon.md (neon_vtrn<mode>): Delete.
3588 (neon_vzip<mode>): Likewise.
3589 (neon_vuzp<mode>): Likewise.
3590
6b77934e
RB
35912014-05-13 Richard Biener <rguenther@suse.de>
3592
3593 PR ipa/60973
3594 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
3595 it needs revisiting whether the call still may be tail-called.
3596
da3cd113
RS
35972014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3598
3599 * rtl.def (SYMBOL_REF): Remove middle "0" field.
3600 * rtl.h (block_symbol): Reduce number of fields to 2.
3601 (rtx_def): Add u2.symbol_ref_flags.
3602 (SYMBOL_REF_FLAGS): Use it.
3603 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
3604 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
3605 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
3606 Lower index of SYMBOL_REF_DATA.
3607 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
3608 Print SYMBOL_REF_FLAGS at the same time.
3609 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
3610
fcc74520
RS
36112014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3612
3613 * rtl.def (VAR_LOCATION): Remove "i" field.
3614 * rtl.h (rtx_def): Add u2.var_location_status.
3615 (PAT_VAR_LOCATION_STATUS): Use it.
3616 (gen_rtx_VAR_LOCATION): Declare.
3617 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
3618 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
3619 * var-tracking.c (emit_note_insn_var_location): Remove casts.
3620
feb09dd9
RS
36212014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3622
3623 * rtl.def (scratch): Fix outdated comment and remove "0" field.
3624 * gengtype.c (adjust_field_rtx_def): Update accordingly.
3625
ed8921dc
RS
36262014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3627
3628 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
3629 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
3630 * rtl.h (rtx_def): Add insn_uid to u2 field.
3631 (RTX_FLAG_CHECK8): Delete in favor of...
3632 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
3633 (INSN_DELETED_P): Update accordingly.
3634 (INSN_UID): Use u2.insn_uid.
3635 (INSN_CHAIN_CODE_P): Define.
3636 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
3637 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
3638 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
3639 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
3640 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
3641 indices accordingly.
3642 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
3643 Update indices for insn-chain rtxes.
3644 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
3645 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
3646 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
3647 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
3648 * combine.c (try_combine): Likewise.
3649 * ira.c (setup_prohibited_mode_move_regs): Likewise.
3650
fccc5515
RS
36512014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3652
3653 * rtl.def (REG): Remove middle field.
3654 * rtl.h (rtx_def): Add orignal_regno to u2.
3655 (ORIGINAL_REGNO): Use it instead of field 1.
3656 (REG_ATTRS): Lower field index accordingly.
3657 * gengtype.c (adjust_field_rtx_def): Remove handling of
3658 ORIGINAL_REGNO. Move REG_ATTRS index down.
3659 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
3660 code that prints the REGNO.
3661
925c1bae
RS
36622014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3663
3664 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
3665 GENERATOR_FILE.
3666
13b0c5ac
RS
36672014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
3668
3669 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
3670
be9a0da5
BC
36712014-05-13 Bin Cheng <bin.cheng@arm.com>
3672
3673 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
3674 (alloc_iv): Lower base expressions containing ADDR_EXPR.
3675
73d9ac6a
IB
36762014-05-13 Ian Bolton <ian.bolton@arm.com>
3677
3678 * config/aarch64/aarch64-protos.h
3679 (aarch64_hard_regno_caller_save_mode): New prototype.
3680 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
3681 New function.
3682 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
3683
06b90602
CB
36842014-05-13 Christian Bruel <christian.bruel@st.com>
3685
3686 * target.def (mode_switching): New hook vector.
3687 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
3688 (mode_exit, modepriority_to_mode): Likewise.
3689 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
3690 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3691 * target.h: Include tm.h and hard-reg-set.h.
3692 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
3693 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
3694 * doc/tm.texi Regenerate.
3695 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3696 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3697 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
3698 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
3699 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
3700 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
3701 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
3702 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
3703 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
3704 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
3705 (ix86_emit_mode_set): Hookify.
06b90602 3706 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 3707 Delete.
06b90602 3708 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
3709 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
3710 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
3711 (epiphany_mode_priority_to_mode): Remove declaration.
3712 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
3713 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
3714 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
3715 Likewise.
6b8ebd00 3716 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
3717 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
3718 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
3719
455464ab
JJ
37202014-05-13 Jakub Jelinek <jakub@redhat.com>
3721
3722 PR target/61060
3723 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
3724 is const0_rtx, return immediately. Don't test count == 0 when
3725 it is always true.
3726
f30e25a3
ZC
37272014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3728
3729 * Makefile.in: add shrink-wrap.o.
3730 * config/i386/i386.c: include "shrink-wrap.h"
3731 * function.c: Likewise.
3732 (requires_stack_frame_p, next_block_for_reg,
3733 move_insn_for_shrink_wrap, prepare_shrink_wrap,
3734 dup_block_and_redirect): Move to shrink-wrap.c
3735 (thread_prologue_and_epilogue_insns): Extract three code segments
3736 as functions in shrink-wrap.c
3737 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
3738 shrink-wrap.h
3739 * shrink-wrap.c: New file.
3740 * shrink-wrap.h: New file.
3741
f95c6a78
DW
37422014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3743
3744 * doc/extend.texi: Reflect current numbers of pragmas. Remove
3745 reference to Solaris.
3746
77a1da2c
MS
37472014-05-12 Mike Stump <mikestump@comcast.net>
3748
3749 PR other/31778
3750 * genattrtab.c (filename): Add.
3751 (convert_set_attr_alternative): Improve error message.
3752 (check_defs): Restore read_md_filename for error messages.
3753 (gen_insn): Save filename.
3754
dff8943f
DP
37552014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
3756
3757 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
3758 -fno-local-ivars and -fivar-visibility.
3759 * c-family/c.opt: Make -Wshadow also implicitly enable
3760 -Wshadow-ivar.
3761
6b8ebd00 37622014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
3763
3764 * doc/tm.texi: Remove reference to deleted macro.
3765 * doc/tm.texi.in: Likewise.
3766
079f1420
SKS
37672014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3768
3769 PR target/60991
3770 * config/avr/avr.c (avr_out_store_psi): Use correct constant
3771 to restore Y.
3772
999db125
GJL
37732014-05-12 Georg-Johann Lay <avr@gjlay.de>
3774
a5024e01 3775 PR libgcc/61152
999db125
GJL
3776 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3777 * config/arm/aout.h (License): Same.
3778 * config/arm/bpabi.h (License): Same.
3779 * config/arm/elf.h (License): Same.
3780 * config/arm/linux-elf.h (License): Same.
3781 * config/arm/linux-gas.h (License): Same.
3782 * config/arm/netbsd-elf.h (License): Same.
3783 * config/arm/uclinux-eabi.h (License): Same.
3784 * config/arm/uclinux-elf.h (License): Same.
3785 * config/arm/vxworks.h (License): Same.
3786
dd2fc525
JJ
37872014-05-11 Jakub Jelinek <jakub@redhat.com>
3788
3789 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
3790 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
3791 number of operands to 3.
3792 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
3793 * tree-nested.c (convert_nonlocal_omp_clauses,
3794 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
3795 * gimplify.c (gimplify_scan_omp_clauses): Handle
3796 OMP_CLAUSE_LINEAR_STMT.
3797 * omp-low.c (lower_rec_input_clauses): Fix typo.
3798 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
3799 cast between Fortran boolean_type_node and C _Bool if
3800 needed.
3801
7588d8aa
RS
38022014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
3803
3804 PR tree-optimization/61136
3805 * wide-int.h (multiple_of_p): Define a version that doesn't return
3806 the quotient.
3807 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
3808 integer_zerop/const_binop pair.
3809 (multiple_of_p): Likewise, converting both operands to widest_int
3810 precision.
3811
e7eee636
TJ
38122014-05-09 Teresa Johnson <tejohnson@google.com>
3813
3814 * cgraphunit.c (analyze_functions): Use correct dump file.
3815
6545746e
FW
38162014-05-09 Florian Weimer <fweimer@redhat.com>
3817
3818 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
3819 expand_used_vars.
3820 (stack_protect_return_slot_p): New function.
3821 (expand_used_vars): Call stack_protect_decl_p and
3822 stack_protect_return_slot_p for -fstack-protector-strong.
3823
2556511e
DW
38242014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
3825 Andrew Haley <aph@redhat.com>
3826 Richard Sandiford <rdsandiford@googlemail.com>
3827
3828 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
3829 pages.
3830
971ed35d 38312014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
3832
3833 PR middle-end/61111
3834 * fold-const.c (fold_binary_loc): Changed width of mask.
3835
c204f1b5
GJL
38362014-05-09 Georg-Johann Lay <avr@gjlay.de>
3837
3838 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3839 unsigned int initializers for regno_in, regno_out.
3840
b8469805
GJL
38412014-05-09 Georg-Johann Lay <avr@gjlay.de>
3842
3843 PR target/61055
3844 * config/avr/avr.md (cc): Add new attribute set_vzn.
3845 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
3846 Set cc insn attribute to set_vzn instead of set_zn for alternatives
3847 with INC, DEC or NEG.
3848 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
3849 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
3850 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
3851
9db25c6a
RR
38522014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3853
3854 Revert:
3855 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3856
3857 * wide-int.cc (UTItype): Define.
3858 (UDWtype): Define for appropriate W_TYPE_SIZE.
3859
ee3958cf
RB
38602014-05-09 Richard Biener <rguenther@suse.de>
3861
3862 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
3863 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
3864 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
3865 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
3866 ssa_propagate): Adjust.
3867
0600049c
JL
38682014-05-08 Jeff Law <law@redhat.com>
3869
3870 PR tree-optimization/61009
3871 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
3872 tri-state rather than a boolean. When a block is too big to
3873 thread through, inform caller via negative return value.
3874 (thread_across_edge): If a block was too big for normal threading,
3875 then it's too big for a joiner too, so remove temporary equivalences
3876 and return immediately.
3877
a82122df
MK
38782014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3879 Matthias Klose <doko@ubuntu.com>
3880
3881 PR driver/61106
3882 * optc-gen.awk: Fix option handling for -Wunused-parameter.
3883
30e494f1
UB
38842014-05-08 Uros Bizjak <ubizjak@gmail.com>
3885
3886 PR target/59952
3887 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
3888
b6db8af6
UB
38892014-05-08 Uros Bizjak <ubizjak@gmail.com>
3890
3891 PR target/61092
3892 * config/alpha/alpha.c: Include gimple-iterator.h.
3893 (alpha_gimple_fold_builtin): New function. Move
3894 ALPHA_BUILTIN_UMULH folding from ...
3895 (alpha_fold_builtin): ... here.
3896 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
3897
272325bd
WM
38982014-05-08 Wei Mi <wmi@google.com>
3899
3900 PR target/58066
b6db8af6
UB
3901 * config/i386/i386.c (ix86_compute_frame_layout): Update
3902 preferred_stack_boundary for call, expanded from tls descriptor.
3903 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
3904 to depend on SP register.
272325bd
WM
3905 (*tls_local_dynamic_base_32_gnu): Ditto.
3906 (*tls_local_dynamic_32_once): Ditto.
3907 (tls_global_dynamic_64_<mode>): Set
3908 ix86_tls_descriptor_calls_expanded_in_cfun.
3909 (tls_local_dynamic_base_64_<mode>): Ditto.
3910 (tls_global_dynamic_32): Set
3911 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
3912 to depend on SP register.
3913 (tls_local_dynamic_base_32): Ditto.
3914
e79cb1a3
RR
39152014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3916
3917 * config/arm/arm_neon.h: Update comment.
3918 * config/arm/neon-docgen.ml: Delete.
3919 * config/arm/neon-gen.ml: Delete.
3920 * doc/arm-neon-intrinsics.texi: Update comment.
3921
0d0b79a6
RR
39222014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3923
3924 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
3925 and v4sf versions.
3926 (vand, vorr, veor, vorn, vbic): Remove.
3927 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
3928 iterator.
3929 (neon_vsub_unspec): Likewise.
3930 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
3931
add0c111
RR
39322014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3933
3934 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
3935 (vadd_s16): Likewise.
3936 (vadd_s32): Likewise.
3937 (vadd_f32): Likewise.
3938 (vadd_u8): Likewise.
3939 (vadd_u16): Likewise.
3940 (vadd_u32): Likewise.
3941 (vadd_s64): Likewise.
3942 (vadd_u64): Likewise.
3943 (vaddq_s8): Likewise.
3944 (vaddq_s16): Likewise.
3945 (vaddq_s32): Likewise.
3946 (vaddq_s64): Likewise.
3947 (vaddq_f32): Likewise.
3948 (vaddq_u8): Likewise.
3949 (vaddq_u16): Likewise.
3950 (vaddq_u32): Likewise.
3951 (vaddq_u64): Likewise.
3952 (vmul_s8): Likewise.
3953 (vmul_s16): Likewise.
3954 (vmul_s32): Likewise.
3955 (vmul_f32): Likewise.
3956 (vmul_u8): Likewise.
3957 (vmul_u16): Likewise.
3958 (vmul_u32): Likewise.
3959 (vmul_p8): Likewise.
3960 (vmulq_s8): Likewise.
3961 (vmulq_s16): Likewise.
3962 (vmulq_s32): Likewise.
3963 (vmulq_f32): Likewise.
3964 (vmulq_u8): Likewise.
3965 (vmulq_u16): Likewise.
3966 (vmulq_u32): Likewise.
3967 (vsub_s8): Likewise.
3968 (vsub_s16): Likewise.
3969 (vsub_s32): Likewise.
3970 (vsub_f32): Likewise.
3971 (vsub_u8): Likewise.
3972 (vsub_u16): Likewise.
3973 (vsub_u32): Likewise.
3974 (vsub_s64): Likewise.
3975 (vsub_u64): Likewise.
3976 (vsubq_s8): Likewise.
3977 (vsubq_s16): Likewise.
3978 (vsubq_s32): Likewise.
3979 (vsubq_s64): Likewise.
3980 (vsubq_f32): Likewise.
3981 (vsubq_u8): Likewise.
3982 (vsubq_u16): Likewise.
3983 (vsubq_u32): Likewise.
3984 (vsubq_u64): Likewise.
3985 (vand_s8): Likewise.
3986 (vand_s16): Likewise.
3987 (vand_s32): Likewise.
3988 (vand_u8): Likewise.
3989 (vand_u16): Likewise.
3990 (vand_u32): Likewise.
3991 (vand_s64): Likewise.
3992 (vand_u64): Likewise.
3993 (vandq_s8): Likewise.
3994 (vandq_s16): Likewise.
3995 (vandq_s32): Likewise.
3996 (vandq_s64): Likewise.
3997 (vandq_u8): Likewise.
3998 (vandq_u16): Likewise.
3999 (vandq_u32): Likewise.
4000 (vandq_u64): Likewise.
4001 (vorr_s8): Likewise.
4002 (vorr_s16): Likewise.
4003 (vorr_s32): Likewise.
4004 (vorr_u8): Likewise.
4005 (vorr_u16): Likewise.
4006 (vorr_u32): Likewise.
4007 (vorr_s64): Likewise.
4008 (vorr_u64): Likewise.
4009 (vorrq_s8): Likewise.
4010 (vorrq_s16): Likewise.
4011 (vorrq_s32): Likewise.
4012 (vorrq_s64): Likewise.
4013 (vorrq_u8): Likewise.
4014 (vorrq_u16): Likewise.
4015 (vorrq_u32): Likewise.
4016 (vorrq_u64): Likewise.
4017 (veor_s8): Likewise.
4018 (veor_s16): Likewise.
4019 (veor_s32): Likewise.
4020 (veor_u8): Likewise.
4021 (veor_u16): Likewise.
4022 (veor_u32): Likewise.
4023 (veor_s64): Likewise.
4024 (veor_u64): Likewise.
4025 (veorq_s8): Likewise.
4026 (veorq_s16): Likewise.
4027 (veorq_s32): Likewise.
4028 (veorq_s64): Likewise.
4029 (veorq_u8): Likewise.
4030 (veorq_u16): Likewise.
4031 (veorq_u32): Likewise.
4032 (veorq_u64): Likewise.
4033 (vbic_s8): Likewise.
4034 (vbic_s16): Likewise.
4035 (vbic_s32): Likewise.
4036 (vbic_u8): Likewise.
4037 (vbic_u16): Likewise.
4038 (vbic_u32): Likewise.
4039 (vbic_s64): Likewise.
4040 (vbic_u64): Likewise.
4041 (vbicq_s8): Likewise.
4042 (vbicq_s16): Likewise.
4043 (vbicq_s32): Likewise.
4044 (vbicq_s64): Likewise.
4045 (vbicq_u8): Likewise.
4046 (vbicq_u16): Likewise.
4047 (vbicq_u32): Likewise.
4048 (vbicq_u64): Likewise.
4049 (vorn_s8): Likewise.
4050 (vorn_s16): Likewise.
4051 (vorn_s32): Likewise.
4052 (vorn_u8): Likewise.
4053 (vorn_u16): Likewise.
4054 (vorn_u32): Likewise.
4055 (vorn_s64): Likewise.
4056 (vorn_u64): Likewise.
4057 (vornq_s8): Likewise.
4058 (vornq_s16): Likewise.
4059 (vornq_s32): Likewise.
4060 (vornq_s64): Likewise.
4061 (vornq_u8): Likewise.
4062 (vornq_u16): Likewise.
4063 (vornq_u32): Likewise.
4064 (vornq_u64): Likewise.
4065
ca40fb28
RR
40662014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4067
4068 * wide-int.cc (UTItype): Define.
b6db8af6 4069 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 4070
421bf780
MG
40712014-05-08 Marc Glisse <marc.glisse@inria.fr>
4072
4073 PR tree-optimization/59100
4074 * tree-ssa-phiopt.c: Include tree-inline.h.
4075 (neutral_element_p, absorbing_element_p): New functions.
4076 (value_replacement): Handle conditional binary operations with a
4077 neutral or absorbing element.
4078
a5eaec42
RB
40792014-05-08 Richard Biener <rguenther@suse.de>
4080
4081 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
4082 folding the expression.
4083 (valueize_expr): Remove.
4084 (visit_reference_op_load): Do not valueize the result of
4085 vn_get_expr_for.
4086 (simplify_binary_expression): Likewise.
4087 (simplify_unary_expression): Likewise.
4088
a96c6a62
RB
40892014-05-08 Richard Biener <rguenther@suse.de>
4090
4091 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
4092 looking at TYPE_ARG_TYPES.
4093
fb42e303
RB
40942014-05-08 Richard Biener <rguenther@suse.de>
4095
4096 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
4097 pointer propagation special-case.
4098
d1f1a283
BC
40992014-05-08 Bin Cheng <bin.cheng@arm.com>
4100
4101 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
4102 core part of address expressions.
4103
42aea2d8
AM
41042014-05-08 Alan Modra <amodra@gmail.com>
4105
4106 PR target/60737
4107 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
4108 loads and stores when -mno-strict-align at any alignment.
4109 (expand_block_clear): Similarly. Also correct calculation of
4110 instruction count.
4111
10e08855
TP
41122014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
4113
4114 PR middle-end/39246
4115 * tree-complex.c (expand_complex_move): Keep line info when expanding
4116 complex move.
4117 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
4118 of complex expression. Use new argument to display correct location
4119 for values coming from phi statement.
4120 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
4121 (warn_uninitialized_phi): Pass location of phi argument to
4122 warn_uninit.
4123 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
4124 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
4125
d839f53b
SB
41262014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
4127
4128 * config/rs6000/predicates.md (indexed_address_mem): New.
4129 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
4130 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
4131 fpstore_ux, fpstore_u.
4132 (sign_extend, indexed, update): New.
4133 (cell_micro): Adjust.
4134 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
4135 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
4136 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
4137 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
4138 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
4139 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
4140 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
4141 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
4142 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
4143 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
4144 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
4145 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
4146 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
4147 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
4148 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
4149
4150 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
4151 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
4152 *vsx_extract_<mode>_store): Adjust.
4153 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
4154 is_cracked_insn, insn_must_be_first_in_group,
4155 insn_must_be_last_in_group): Adjust.
4156
4157 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
4158 Adjust.
4159 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
4160 ppc440-fpstore): Adjust.
4161 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
4162 ppc476-fpstore): Adjust.
4163 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
4164 ppc601-fpstore): Adjust.
4165 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
4166 Adjust.
4167 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
4168 Adjust.
4169 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
4170 ppc7450-fpstore): Adjust.
4171 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
4172 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
4173 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
4174 Adjust.
4175 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
4176 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
4177 cell-fpstore, cell-fpstore-update): Adjust.
4178 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
4179 ppce300c3_store, ppce300c3_fpstore): Adjust.
4180 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
4181 e500mc_fpstore): Adjust.
4182 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
4183 e500mc64_store, e500mc64_fpstore): Adjust.
4184 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
4185 e5500_fpstore): Adjust.
4186 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
4187 e6500_fpstore): Adjust.
4188 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
4189 Adjust.
4190 * config/rs6000/power4.md (power4-load, power4-load-ext,
4191 power4-load-ext-update, power4-load-ext-update-indexed,
4192 power4-load-update-indexed, power4-load-update, power4-fpload,
4193 power4-fpload-update, power4-store, power4-store-update,
4194 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
4195 Adjust.
4196 * config/rs6000/power5.md (power5-load, power5-load-ext,
4197 power5-load-ext-update, power5-load-ext-update-indexed,
4198 power5-load-update-indexed, power5-load-update, power5-fpload,
4199 power5-fpload-update, power5-store, power5-store-update,
4200 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
4201 Adjust.
4202 * config/rs6000/power6.md (power6-load, power6-load-ext,
4203 power6-load-update, power6-load-update-indexed,
4204 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
4205 power6-fpload-update, power6-store, power6-store-update,
4206 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
4207 Adjust.
4208 * config/rs6000/power7.md (power7-load, power7-load-ext,
4209 power7-load-update, power7-load-update-indexed,
4210 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
4211 power7-fpload-update, power7-store, power7-store-update,
4212 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
4213 Adjust.
4214 * config/rs6000/power8.md (power8-load, power8-load-update,
4215 power8-load-ext, power8-load-ext-update, power8-fpload,
4216 power8-fpload-update, power8-store, power8-store-update-indexed,
4217 power8-fpstore, power8-fpstore-update): Adjust.
4218 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
4219 Adjust.
4220 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
4221 titan_lsu_store, titan_lsu_fpstore): Adjust.
4222 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
4223
36dc9ae8
OE
42242014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
4225
4226 PR target/60884
4227 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
4228 unrolled byte insns. Emit address increments after move insns.
4229
9bbf45f6
DM
42302014-05-07 David Malcolm <dmalcolm@redhat.com>
4231
4232 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
4233 const_gimple, rather than a gimple.
4234 (gimple_call_builtin_p): Likewise, for the three variants.
4235
4236 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
4237 (gimple_call_builtin_p): Likewise, for the three variants.
4238
1a51f10c
RS
42392014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4240
4241 PR tree-optimization/61095
4242 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
4243
50f0aa20
RB
42442014-05-07 Richard Biener <rguenther@suse.de>
4245
4246 PR tree-optimization/61034
4247 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
4248 (maybe_skip_until): Use translate to take into account
4249 lattices when trying to do disambiguations.
4250 (get_continuation_for_phi_1): Likewise.
b6db8af6 4251 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 4252 (walk_non_aliased_vuses): Likewise.
b6db8af6 4253 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
4254 (walk_non_aliased_vuses): Likewise.
4255 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
4256 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
4257 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
4258 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
4259
e7b7077e
JR
42602014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
4261
4262 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
4263 Emit an error when the function has arguments.
4264
c4597c1d
TS
42652014-05-07 Thomas Schwinge <thomas@codesourcery.com>
4266
4267 * cfgloop.h (unswitch_loops): Remove.
4268 * doc/passes.texi: Remove references to loop-unswitch.c
4269 * timevar.def (TV_LOOP_UNSWITCH): Remove.
4270
2c23db6d
ES
42712014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
4272
4273 * tree-vect-data-refs.c (vect_grouped_load_supported): New
4274 check for loads group of length 3.
4275 (vect_permute_load_chain): New permutations for loads group of
4276 length 3.
4277 * tree-vect-stmts.c (vect_model_load_cost): Change cost
4278 of vec_perm_shuffle for the new permutations.
4279
1d175503
AL
42802014-05-07 Alan Lawrence <alan.lawrence@arm.com>
4281
4282 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
4283 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
4284 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
4285 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
4286 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
4287 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
4288 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
4289 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
4290
e2d87487
TS
42912014-05-07 Thomas Schwinge <thomas@codesourcery.com>
4292
4293 * loop-unswitch.c: Delete.
4294
f543058d
RB
42952014-05-07 Richard Biener <rguenther@suse.de>
4296
4297 * config.gcc: Always set need_64bit_hwint to yes.
4298
96092404
CJW
42992014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
4300
4301 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
4302 of using optimize_size.
4303
ca66f89b
MS
43042014-05-06 Mike Stump <mikestump@comcast.net>
4305
4306 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
4307
659c0e68
JM
43082014-05-06 Joseph Myers <joseph@codesourcery.com>
4309
4310 * config/i386/sse.md (*mov<mode>_internal)
4311 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
4312 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
4313 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
4314 (*<code><mode>3, *andnot<mode>3<mask_name>)
4315 (<mask_codefor><code><mode>3<mask_name>): Only consider
4316 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
4317
3379b71f
RS
43182014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
4319
4320 Revert:
4321 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
4322
4323 * lra-constraints.c (valid_address_p): Move earlier in file.
4324 Add a constraint argument to the address_info version.
4325 (satisfies_memory_constraint_p): New function.
4326 (satisfies_address_constraint_p): Likewise.
4327 (process_alt_operands, curr_insn_transform): Use them.
4328 (process_address): Pass the constraint to valid_address_p when
4329 checking address operands.
4330
224dbc07
RS
43312014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
4332
4333 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
4334 to their respective blocks. Fix inadvertent use of "node".
4335
aa3a12d6
RS
43362014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
4337
4338 * emit-rtl.c (init_derived_machine_modes): New functionm, split
4339 out from...
4340 (init_emit_once): ...here.
4341 * rtl.h (init_derived_machine_modes): Declare.
4342 * toplev.c (do_compile): Call it even if no_backend.
4343
1d60af08
KZ
43442014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4345 Mike Stump <mikestump@comcast.net>
4346 Richard Sandiford <rdsandiford@googlemail.com>
4347 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4348
4349 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
4350 (rtx_equal_for_memref_p): Update comment.
4351 (adjust_offset_for_component_ref): Use wide-int interfaces.
4352 * builtins.c (get_object_alignment_2): Likewise.
4353 (c_readstr): Likewise.
4354 (target_char_cast): Add comment.
4355 (determine_block_size): Use wide-int interfaces.
4356 (expand_builtin_signbit): Likewise.
4357 (fold_builtin_int_roundingfn): Likewise.
4358 (fold_builtin_bitop): Likewise.
4359 (fold_builtin_bswap): Likewise.
4360 (fold_builtin_logarithm): Use signop.
4361 (fold_builtin_pow): Likewise.
4362 (fold_builtin_memory_op): Use wide-int interfaces.
4363 (fold_builtin_object_size): Likewise.
4364 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
4365 nb_iterations_estimate.
4366 (record_niter_bound): Use wide-int interfaces.
4367 (get_estimated_loop_iterations_int): Likewise.
4368 (get_estimated_loop_iterations): Likewise.
4369 (get_max_loop_iterations): Likewise.
4370 * cfgloop.h: Include wide-int.h.
4371 (struct nb_iter_bound): Change bound to widest_int.
4372 (struct loop): Change nb_iterations_upper_bound and
4373 nb_iterations_estimate to widest_int.
4374 (record_niter_bound): Switch to use widest_int.
4375 (get_estimated_loop_iterations): Likewise.
4376 (get_max_loop_iterations): Likewise.
4377 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
4378 update for wide-int.
4379 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
4380 * combine.c (try_combine): Likewise.
4381 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
4382 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
4383 interfaces.
4384 (aarch64_float_const_representable_p): Likewise.
4385 * config/arc/arc.c: Include wide-int.h.
4386 (arc_can_use_doloop_p): Use wide-int interfaces.
4387 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
4388 (vfp3_const_double_index): Likewise.
4389 * config/avr/avr.c (avr_out_round): Likewise.
4390 (avr_fold_builtin): Likewise.
4391 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
4392 (bfin_can_use_doloop_p): Likewise.
4393 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
4394 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
4395 * config/i386/i386.c: Include wide-int.h.
4396 (ix86_data_alignment): Use wide-int interfaces.
4397 (ix86_local_alignment): Likewise.
4398 (ix86_emit_swsqrtsf): Update real_from_integer.
4399 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
4400 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
4401 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
4402 (zero_constant): Likewise.
4403 (input_operand): Likewise.
4404 (splat_input_operand): Likewise.
4405 (non_logical_cint_operand): Change const_double to const_wide_int.
4406 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
4407 (easy_altivec_constant): Remove comment.
4408 (paired_expand_vector_init): Use CONSTANT_P.
4409 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
4410 (rs6000_emit_move): Update checks.
4411 (rs6000_aggregate_candidate): Use wide-int interfaces.
4412 (rs6000_expand_ternop_builtin): Likewise.
4413 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
4414 (rs6000_assemble_integer): Likewise.
4415 (rs6000_hash_constant): Likewise.
4416 (output_toc): Likewise.
4417 (rs6000_rtx_costs): Likewise.
4418 (rs6000_emit_swrsqrt); Update call to real_from_integer.
4419 * config/rs6000/rs6000-c.c: Include wide-int.h.
4420 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
4421 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
4422 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
4423 Handle CONST_WIDE_INT.
4424 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
4425 Use tree_fits_uhwi_p.
4426 * config/sparc/sparc.c: Include wide-int.h.
4427 (sparc_fold_builtin): Use wide-int interfaces.
4428 * config/vax/vax.c: Include wide-int.h.
4429 (vax_float_literal): Use real_from_integer.
4430 * coretypes.h (struct hwivec_def): New.
4431 (hwivec): New.
4432 (const_hwivec): New.
4433 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
4434 (equiv_constant): Handle CONST_WIDE_INT.
4435 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
4436 (cselib_hash_rtx): Handle CONST_WIDE_INT.
4437 * dbxout.c (stabstr_U): Use wide-int interfaces.
4438 (dbxout_type): Update to use cst_fits_shwi_p.
4439 * defaults.h (LOG2_BITS_PER_UNIT): Define.
4440 (TARGET_SUPPORTS_WIDE_INT): Add default.
4441 * dfp.c: Include wide-int.h.
4442 (decimal_real_to_integer2): Use wide-int interfaces and rename to
4443 decimal_real_to_integer.
4444 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
4445 decimal_real_to_integer.
4446 * doc/generic.texi (Constant expressions): Update for wide_int.
4447 * doc/rtl.texi (const_double): Likewise.
4448 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
4449 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
4450 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
4451 (REAL_VALUE_FROM_INT): Remove.
4452 (TARGET_SUPPORTS_WIDE_INT): New.
4453 * doc/tm.texi: Regenerate.
4454 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
4455 * double-int.h: Include wide-int.h.
4456 (struct wi::int_traits): New.
4457 * dwarf2out.c (get_full_len): New.
4458 (dw_val_equal_p): Add case dw_val_class_wide_int.
4459 (size_of_loc_descr): Likewise.
4460 (output_loc_operands): Likewise.
4461 (insert_double): Remove.
4462 (insert_wide_int): New.
4463 (add_AT_wide): New.
4464 (print_die): Add case dw_val_class_wide_int.
4465 (attr_checksum): Likewise.
4466 (attr_checksum_ordered): Likewise.
4467 (same_dw_val_p): Likewise.
4468 (size_of_die): Likewise.
4469 (value_format): Likewise.
4470 (output_die): Likewise.
4471 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
4472 Use wide-int.
4473 (clz_loc_descriptor): Use wide-int interfaces.
4474 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
4475 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
4476 (round_up_to_align): Use wide-int interfaces.
4477 (field_byte_offset): Likewise.
4478 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
4479 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
4480 CONST_DOUBLE handling. Use wide-int interfaces.
4481 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
4482 (gen_enumeration_type_die): Use add_AT_wide.
4483 (hash_loc_operands): Add case dw_val_class_wide_int.
4484 (compare_loc_operands): Likewise.
4485 * dwarf2out.h: Include wide-int.h.
4486 (wide_int_ptr): New.
4487 (enum dw_val_class): Add dw_val_class_wide_int.
4488 (struct dw_val_struct): Add val_wide.
4489 * emit-rtl.c (const_wide_int_htab): New.
4490 (const_wide_int_htab_hash): New.
4491 (const_wide_int_htab_eq): New.
4492 (lookup_const_wide_int): New.
4493 (const_double_htab_hash): Use wide-int interfaces.
4494 (const_double_htab_eq): Likewise.
4495 (rtx_to_double_int): Conditionally compile for wide-int.
4496 (immed_double_int_const): Rename to immed_wide_int_const and
4497 update for wide-int.
4498 (immed_double_const): Conditionally compile for wide-int.
4499 (init_emit_once): Use wide-int interfaces.
4500 * explow.c (plus_constant): Likewise.
4501 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
4502 (lshift_value): Use wide-int interfaces.
4503 (expand_mult): Likewise.
4504 (choose_multiplier): Likewise.
4505 (expand_smod_pow2): Likewise.
4506 (make_tree): Likewise.
4507 * expr.c (convert_modes): Consolidate handling of constants.
4508 Use wide-int interfaces.
4509 (emit_group_load_1): Add note.
4510 (store_expr): Update comment.
4511 (get_inner_reference): Use wide-int interfaces.
4512 (expand_constructor): Update comment.
4513 (expand_expr_real_2): Use wide-int interfaces.
4514 (expand_expr_real_1): Likewise.
4515 (reduce_to_bit_field_precision): Likewise.
4516 (const_vector_from_tree): Likewise.
4517 * final.c: Include wide-int-print.h.
4518 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
4519 * fixed-value.c: Include wide-int.h.
4520 (fixed_from_string): Use wide-int interfaces.
4521 (fixed_to_decimal): Likewise.
4522 (fixed_convert_from_real): Likewise.
4523 (real_convert_from_fixed): Likewise.
4524 * fold-const.h (mem_ref_offset): Return an offset_int.
4525 (div_if_zero_remainder): Remove code parameter.
4526 * fold-const.c (div_if_zero_remainder): Remove code parameter.
4527 Use wide-int interfaces.
4528 (may_negate_without_overflow_p): Use wide-int interfaces.
4529 (negate_expr_p): Likewise.
4530 (fold_negate_expr): Likewise.
4531 (int_const_binop_1): Likewise.
4532 (const_binop): Likewise.
4533 (fold_convert_const_int_from_int): Likewise.
4534 (fold_convert_const_int_from_real): Likewise.
4535 (fold_convert_const_int_from_fixed): Likewise.
4536 (fold_convert_const_fixed_from_int): Likewise.
4537 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
4538 (sign_bit_p): Use wide-int interfaces.
4539 (make_range_step): Likewise.
4540 (build_range_check): Likewise. Pass an integer of the correct type
4541 instead of using integer_one_node.
4542 (range_predecessor): Pass an integer of the correct type instead
4543 of using integer_one_node.
4544 (range_successor): Likewise.
4545 (merge_ranges): Likewise.
4546 (unextend): Use wide-int interfaces.
4547 (extract_muldiv_1): Likewise.
4548 (fold_div_compare): Likewise.
4549 (fold_single_bit_test): Likewise.
4550 (fold_sign_changed_comparison): Likewise.
4551 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
4552 (fold_plusminus_mult_expr): Use wide-int interfaces.
4553 (native_encode_int): Likewise.
4554 (native_interpret_int): Likewise.
4555 (fold_unary_loc): Likewise.
4556 (pointer_may_wrap_p): Likewise.
4557 (size_low_cst): Likewise.
4558 (mask_with_tz): Likewise.
4559 (fold_binary_loc): Likewise.
4560 (fold_ternary_loc): Likewise.
4561 (multiple_of_p): Likewise.
4562 (tree_call_nonnegative_warnv_p): Update calls to
4563 tree_int_cst_min_precision and real_from_integer.
4564 (fold_negate_const): Use wide-int interfaces.
4565 (fold_abs_const): Likewise.
4566 (fold_relational_const): Use tree_int_cst_lt.
4567 (round_up_loc): Use wide-int interfaces.
4568 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
4569 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
4570 * gengtype.c: Remove include of double-int.h.
4571 (do_typedef): Use wide-int interfaces.
4572 (open_base_files): Add wide-int.h.
4573 (main): Add offset_int and widest_int typedefs.
4574 * gengtype-lex.l: Handle "^".
4575 (CXX_KEYWORD): Add "static".
4576 * gengtype-parse.c (require3): New.
4577 (require_template_declaration): Handle constant template arguments
4578 and nested templates.
4579 * gengtype-state.c: Don't include "double-int.h".
4580 * genpreds.c (write_one_predicate_function): Update comment.
4581 (write_tm_constrs_h): Add check for hval and lval use in
4582 CONST_WIDE_INT.
4583 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
4584 (add_to_sequence): Likewise.
4585 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
4586 and const_double_operand.
4587 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
4588 interfaces.
4589 * gimple-fold.c (get_base_constructor): Likewise.
4590 (fold_array_ctor_reference): Likewise.
4591 (fold_nonarray_ctor_reference): Likewise.
4592 (fold_const_aggregate_ref_1): Likewise.
4593 (gimple_val_nonnegative_real_p): Likewise.
4594 (gimple_fold_indirect_ref): Likewise.
4595 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
4596 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
4597 (struct slsr_cand_d): Change index to be widest_int.
4598 (struct incr_info_d): Change incr to be widest_int.
4599 (alloc_cand_and_find_basis): Use wide-int interfaces.
4600 (slsr_process_phi): Likewise.
4601 (backtrace_base_for_ref): Likewise. Return a widest_int.
4602 (restructure_reference): Take a widest_int instead of a double_int.
4603 (slsr_process_ref): Use wide-int interfaces.
4604 (create_mul_ssa_cand): Likewise.
4605 (create_mul_imm_cand): Likewise.
4606 (create_add_ssa_cand): Likewise.
4607 (create_add_imm_cand): Take a widest_int instead of a double_int.
4608 (slsr_process_add): Use wide-int interfaces.
4609 (slsr_process_cast): Likewise.
4610 (slsr_process_copy): Likewise.
4611 (dump_candidate): Likewise.
4612 (dump_incr_vec): Likewise.
4613 (replace_ref): Likewise.
4614 (cand_increment): Likewise. Return a widest_int.
4615 (cand_abs_increment): Likewise.
4616 (replace_mult_candidate): Take a widest_int instead of a double_int.
4617 (replace_unconditional_candidate): Use wide-int interfaces.
4618 (incr_vec_index): Take a widest_int instead of a double_int.
4619 (create_add_on_incoming_edge): Likewise.
4620 (create_phi_basis): Use wide-int interfaces.
4621 (replace_conditional_candidate): Likewise.
4622 (record_increment): Take a widest_int instead of a double_int.
4623 (record_phi_increments): Use wide-int interfaces.
4624 (phi_incr_cost): Take a widest_int instead of a double_int.
4625 (lowest_cost_path): Likewise.
4626 (total_savings): Likewise.
4627 (analyze_increments): Use wide-int interfaces.
4628 (ncd_with_phi): Take a widest_int instead of a double_int.
4629 (ncd_of_cand_and_phis): Likewise.
4630 (nearest_common_dominator_for_cands): Likewise.
4631 (insert_initializers): Use wide-int interfaces.
4632 (all_phi_incrs_profitable): Likewise.
4633 (replace_one_candidate): Likewise.
4634 (replace_profitable_candidates): Likewise.
4635 * godump.c: Include wide-int-print.h.
4636 (go_output_typedef): Use wide-int interfaces.
4637 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
4638 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
4639 (build_loop_iteration_domains): Likewise.
4640 * hooks.h: Include wide-int.h rather than double-int.h.
4641 (hook_bool_dint_dint_uint_bool_true): Delete.
4642 (hook_bool_wint_wint_uint_bool_true): Declare.
4643 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
4644 (hook_bool_wint_wint_uint_bool_true): New.
4645 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
4646 interfaces.
4647 (ubsan_expand_si_overflow_mul_check): Likewise.
4648 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
4649 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
4650 (get_ancestor_addr_info): Likewise.
4651 (ipa_modify_call_arguments): Likewise.
4652 * loop-doloop.c (doloop_modify): Likewise.
4653 (doloop_optimize): Likewise.
4654 * loop-iv.c (iv_number_of_iterations): Likewise.
4655 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
4656 (unroll_loop_constant_iterations): Likewise.
4657 (decide_unroll_runtime_iterations): Likewise.
4658 (unroll_loop_runtime_iterations): Likewise.
4659 (decide_peel_simple): Likewise.
4660 (decide_unroll_stupid): Likewise.
4661 * lto-streamer-in.c (streamer_read_wi): Add.
4662 (input_cfg): Use wide-int interfaces.
4663 (lto_input_tree_1): Likewise.
4664 * lto-streamer-out.c (streamer_write_wi): Add.
4665 (hash_tree): Use wide-int interfaces.
4666 (output_cfg): Likewise.
4667 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
4668 (GTFILES): Add wide-int.h and signop.h.
4669 (TAGS): Look for .cc files too.
4670 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
4671 * optabs.c (expand_subword_shift): Likewise.
4672 (expand_doubleword_shift): Likewise.
4673 (expand_absneg_bit): Likewise.
4674 (expand_copysign_absneg): Likewise.
4675 (expand_copysign_bit): Likewise.
4676 * postreload.c (reload_cse_simplify_set): Likewise.
4677 * predict.c (predict_iv_comparison): Likewise.
4678 * pretty-print.h: Include wide-int-print.h.
4679 (pp_wide_int) New.
4680 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
4681 * print-tree.c: Include wide-int-print.h.
4682 (print_node_brief): Use wide-int interfaces.
4683 (print_node): Likewise.
4684 * read-rtl.c (validate_const_wide_int): New.
4685 (read_rtx_code): Add CONST_WIDE_INT case.
4686 * real.c: Include wide-int.h.
4687 (real_to_integer2): Delete.
4688 (real_to_integer): New function, returning a wide_int.
4689 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4690 (ten_to_ptwo): Update call to real_from_integer.
4691 (real_digit): Likewise.
4692 * real.h: Include signop.h, wide-int.h and insn-modes.h.
4693 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
4694 (REAL_VALUE_TO_INT): Delete.
4695 (real_to_integer): Declare a wide-int form.
4696 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
4697 * recog.c (const_int_operand): Improve comment.
4698 (const_scalar_int_operand): New.
4699 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
4700 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
4701 (split_double): Likewise.
4702 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
4703 (rtx_size): Likewise.
4704 (rtx_alloc_stat_v): New.
4705 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
4706 (cwi_output_hex): New.
4707 (iterative_hash_rtx): Handle CONST_WIDE_INT.
4708 (cwi_check_failed_bounds): New.
4709 * rtl.def (CONST_WIDE_INT): New.
4710 * rtl.h: Include <utility> and wide-int.h.
4711 (struct hwivec_def): New.
4712 (CWI_GET_NUM_ELEM): New.
4713 (CWI_PUT_NUM_ELEM): New.
4714 (struct rtx_def): Add num_elem and hwiv.
4715 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
4716 (CASE_CONST_UNIQUE): Likewise.
4717 (CASE_CONST_ANY): Likewise.
4718 (CONST_SCALAR_INT_P): Likewise.
4719 (CONST_WIDE_INT_P): New.
4720 (CWI_ELT): New.
4721 (HWIVEC_CHECK): New.
4722 (cwi_check_failed_bounds): New.
4723 (CWI_ELT): New.
4724 (HWIVEC_CHECK): New.
4725 (CONST_WIDE_INT_VEC) New.
4726 (CONST_WIDE_INT_NUNITS) New.
4727 (CONST_WIDE_INT_ELT) New.
4728 (rtx_mode_t): New type.
4729 (wi::int_traits <rtx_mode_t>): New.
4730 (wi::shwi): New.
4731 (wi::min_value): New.
4732 (wi::max_value): New.
4733 (rtx_alloc_v) New.
4734 (const_wide_int_alloc): New.
4735 (immed_wide_int_const): New.
4736 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
4737 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
4738 * signop.h: New file.
4739 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
4740 (simplify_const_unary_operation): Use wide-int interfaces.
4741 (simplify_binary_operation_1): Likewise.
4742 (simplify_const_binary_operation): Likewise.
4743 (simplify_const_relational_operation): Likewise.
4744 (simplify_immed_subreg): Likewise.
4745 * stmt.c (expand_case): Likewise.
4746 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
4747 signop rather than a bool.
4748 * stor-layout.c (layout_type): Use wide-int interfaces.
4749 (initialize_sizetypes): Update calls to
4750 set_min_and_max_values_for_integral_type.
4751 (set_min_and_max_values_for_integral_type): Take a signop rather
4752 than a bool. Use wide-int interfaces.
4753 (fixup_signed_type): Update accordingly. Remove
4754 HOST_BITS_PER_DOUBLE_INT limit.
4755 (fixup_unsigned_type): Likewise.
4756 * system.h (STATIC_CONSTANT_P): New.
4757 (STATIC_ASSERT): New.
4758 * target.def (can_use_doloop_p): Take widest_ints rather than
4759 double_ints.
4760 * target.h: Include wide-int.h rather than double-int.h.
4761 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
4762 than double_ints.
4763 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
4764 rather than INT_CST_LT_UNSIGNED.
4765 (can_use_doloop_if_innermost): Take widest_ints rather than
4766 double_ints.
4767 * tree-affine.c: Include wide-int-print.h.
4768 (double_int_ext_for_comb): Delete.
4769 (wide_int_ext_for_comb): New.
4770 (aff_combination_zero): Use wide-int interfaces.
4771 (aff_combination_const): Take a widest_int instead of a double_int.
4772 (aff_combination_elt): Use wide-int interfaces.
4773 (aff_combination_scale): Take a widest_int instead of a double_int.
4774 (aff_combination_add_elt): Likewise.
4775 (aff_combination_add_cst): Likewise.
4776 (aff_combination_add): Use wide-int interfaces.
4777 (aff_combination_convert): Likewise.
4778 (tree_to_aff_combination): Likewise.
4779 (add_elt_to_tree): Take a widest_int instead of a double_int.
4780 (aff_combination_to_tree): Use wide-int interfaces.
4781 (aff_combination_remove_elt): Likewise.
4782 (aff_combination_add_product): Take a widest_int instead of
4783 a double_int.
4784 (aff_combination_mult): Use wide-int interfaces.
4785 (aff_combination_expand): Likewise.
4786 (double_int_constant_multiple_p): Delete.
4787 (wide_int_constant_multiple_p): New.
4788 (aff_combination_constant_multiple_p): Take a widest_int pointer
4789 instead of a double_int pointer.
4790 (print_aff): Use wide-int interfaces.
4791 (get_inner_reference_aff): Take a widest_int pointer
4792 instead of a double_int pointer.
4793 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
4794 * tree-affine.h: Include wide-int.h.
4795 (struct aff_comb_elt): Change type of coef to widest_int.
4796 (struct affine_tree_combination): Change type of offset to widest_int.
4797 (double_int_ext_for_comb): Delete.
4798 (wide_int_ext_for_comb): New.
4799 (aff_combination_const): Use widest_int instead of double_int.
4800 (aff_combination_scale): Likewise.
4801 (aff_combination_add_elt): Likewise.
4802 (aff_combination_constant_multiple_p): Likewise.
4803 (get_inner_reference_aff): Likewise.
4804 (aff_comb_cannot_overlap_p): Likewise.
4805 (aff_combination_zero_p): Use wide-int interfaces.
4806 * tree.c: Include tree.h.
4807 (init_ttree): Use make_int_cst.
4808 (tree_code_size): Removed code for INTEGER_CST case.
4809 (tree_size): Add INTEGER_CST case.
4810 (make_node_stat): Update comment.
4811 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
4812 (build_int_cst_type): Use wide-int interfaces.
4813 (double_int_to_tree): Likewise.
4814 (double_int_fits_to_tree_p): Delete.
4815 (force_fit_type_double): Delete.
4816 (force_fit_type): New.
4817 (int_cst_hash_hash): Use wide-int interfaces.
4818 (int_cst_hash_eq): Likewise.
4819 (build_int_cst_wide): Delete.
4820 (wide_int_to_tree): New.
4821 (cache_integer_cst): Use wide-int interfaces.
4822 (build_low_bits_mask): Likewise.
4823 (cst_and_fits_in_hwi): Likewise.
4824 (real_value_from_int_cst): Likewise.
4825 (make_int_cst_stat): New.
4826 (integer_zerop): Use wide_int interfaces.
4827 (integer_onep): Likewise.
4828 (integer_all_onesp): Likewise.
4829 (integer_pow2p): Likewise.
4830 (integer_nonzerop): Likewise.
4831 (tree_log2): Likewise.
4832 (tree_floor_log2): Likewise.
4833 (tree_ctz): Likewise.
4834 (int_size_in_bytes): Likewise.
4835 (mem_ref_offset): Return an offset_int rather than a double_int.
4836 (build_type_attribute_qual_variant): Use wide_int interfaces.
4837 (type_hash_eq): Likewise
4838 (tree_int_cst_equal): Likewise.
4839 (tree_int_cst_lt): Delete.
4840 (tree_int_cst_compare): Likewise.
4841 (tree_fits_shwi_p): Use wide_int interfaces.
4842 (tree_fits_uhwi_p): Likewise.
4843 (tree_int_cst_sign_bit): Likewise.
4844 (tree_int_cst_sgn): Likewise.
4845 (tree_int_cst_min_precision): Take a signop rather than a bool.
4846 (simple_cst_equal): Use wide_int interfaces.
4847 (compare_tree_int): Likewise.
4848 (iterative_hash_expr): Likewise.
4849 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
4850 INT_CST_LT.
4851 (get_type_static_bounds): Use wide_int interfaces.
4852 (tree_int_cst_elt_check_failed): New.
4853 (build_common_tree_nodes): Reordered to set prec before filling in
4854 value.
4855 (int_cst_value): Check cst_and_fits_in_hwi.
4856 (widest_int_cst_value): Use wide_int interfaces.
4857 (upper_bound_in_type): Likewise.
4858 (lower_bound_in_type): Likewise.
4859 (num_ending_zeros): Likewise.
4860 (drop_tree_overflow): Likewise.
4861 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
4862 (gen_conditions_for_pow_cst_base): Likewise.
4863 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
4864 (group_case_labels_stmt): Use wide-int interfaces.
4865 (verify_gimple_assign_binary): Likewise.
4866 (print_loop): Likewise.
4867 * tree-chrec.c (tree_fold_binomial): Likewise.
4868 * tree-core.h (struct tree_base): Add int_length.
4869 (struct tree_int_cst): Change rep of value.
4870 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
4871 (dr_may_alias_p): Likewise.
4872 (max_stmt_executions_tree): Likewise.
4873 * tree.def (INTEGER_CST): Update comment.
4874 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
4875 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
4876 * tree-dump.c: Include wide-int.h and wide-int-print.h.
4877 (dequeue_and_dump): Use wide-int interfaces.
4878 * tree.h: Include wide-int.h.
4879 (NULL_TREE): Moved to earlier loc in file.
4880 (TREE_INT_CST_ELT_CHECK): New.
4881 (tree_int_cst_elt_check_failed): New.
4882 (TYPE_SIGN): New.
4883 (TREE_INT_CST): Delete.
4884 (TREE_INT_CST_LOW): Use wide-int interfaces.
4885 (TREE_INT_CST_HIGH): Delete.
4886 (TREE_INT_CST_NUNITS): New.
4887 (TREE_INT_CST_EXT_NUNITS): Likewise.
4888 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
4889 (TREE_INT_CST_ELT): Likewise.
4890 (INT_CST_LT): Delete.
4891 (tree_int_cst_elt_check): New (two forms).
4892 (type_code_size): Update comment.
4893 (make_int_cst_stat, make_int_cst): New.
4894 (tree_to_double_int): Delete.
4895 (double_int_fits_to_tree_p): Delete.
4896 (force_fit_type_double): Delete.
4897 (build_int_cstu): Replace with out-of-line function.
4898 (build_int_cst_wide): Delete.
4899 (tree_int_cst_lt): Define inline.
4900 (tree_int_cst_le): New.
4901 (tree_int_cst_compare): Define inline.
4902 (tree_int_cst_min_precision): Take a signop rather than a bool.
4903 (wi::int_traits <const_tree>): New.
4904 (wi::int_traits <tree>): New.
4905 (wi::extended_tree): New.
4906 (wi::int_traits <wi::extended_tree>): New.
4907 (wi::to_widest): New.
4908 (wi::to_offset): New.
4909 (wi::fits_to_tree_p): New.
4910 (wi::min_value): New.
4911 (wi::max_value): New.
4912 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
4913 (copy_tree_body_r): Likewise.
4914 * tree-object-size.c (compute_object_offset): Likewise.
4915 (addr_object_size): Likewise.
4916 * tree-predcom.c: Include wide-int-print.h.
4917 (struct dref_d): Change type of offset to widest_int.
4918 (dump_dref): Call wide-int printer.
4919 (aff_combination_dr_offset): Use wide-int interfaces.
4920 (determine_offset): Take a widest_int pointer rather than a
4921 double_int pointer.
4922 (split_data_refs_to_components): Use wide-int interfaces.
4923 (suitable_component_p): Likewise.
4924 (order_drefs): Likewise.
4925 (add_ref_to_chain): Likewise.
4926 (valid_initializer_p): Likewise.
4927 (determine_roots_comp): Likewise.
4928 * tree-pretty-print.c: Include wide-int-print.h.
4929 (dump_generic_node): Use wide-int interfaces.
4930 * tree-sra.c (sra_ipa_modify_expr): Likewise.
4931 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
4932 (move_fixed_address_to_symbol): Likewise.
4933 (move_hint_to_base): Likewise.
4934 (move_pointer_to_base): Likewise.
4935 (move_variant_to_index): Likewise.
4936 (most_expensive_mult_to_index): Likewise.
4937 (addr_to_parts): Likewise.
4938 (copy_ref_info): Likewise.
4939 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
4940 (indirect_refs_may_alias_p): Likewise.
4941 (stmt_kills_ref_p_1): Likewise.
4942 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
4943 * tree-ssa-ccp.c: Update comment at top of file. Include
4944 wide-int-print.h.
4945 (struct prop_value_d): Change type of mask to widest_int.
4946 (extend_mask): New function.
4947 (dump_lattice_value): Use wide-int interfaces.
4948 (get_default_value): Likewise.
4949 (set_constant_value): Likewise.
4950 (set_value_varying): Likewise.
4951 (valid_lattice_transition): Likewise.
4952 (set_lattice_value): Likewise.
4953 (value_to_double_int): Delete.
4954 (value_to_wide_int): New.
4955 (get_value_from_alignment): Use wide-int interfaces.
4956 (get_value_for_expr): Likewise.
4957 (do_dbg_cnt): Likewise.
4958 (ccp_finalize): Likewise.
4959 (ccp_lattice_meet): Likewise.
4960 (bit_value_unop_1): Use widest_ints rather than double_ints.
4961 (bit_value_binop_1): Likewise.
4962 (bit_value_unop): Use wide-int interfaces.
4963 (bit_value_binop): Likewise.
4964 (bit_value_assume_aligned): Likewise.
4965 (evaluate_stmt): Likewise.
4966 (ccp_fold_stmt): Likewise.
4967 (visit_cond_stmt): Likewise.
4968 (ccp_visit_stmt): Likewise.
4969 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
4970 (constant_pointer_difference): Likewise.
4971 (associate_pointerplus): Likewise.
4972 (combine_conversions): Likewise.
4973 * tree-ssa-loop.h: Include wide-int.h.
4974 (struct tree_niter_desc): Change type of max to widest_int.
4975 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
4976 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
4977 (remove_redundant_iv_tests): Likewise.
4978 (canonicalize_loop_induction_variables): Likewise.
4979 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
4980 (constant_multiple_of): Take a widest_int pointer instead of
4981 a double_int pointer.
4982 (get_computation_aff): Use wide-int interfaces.
4983 (ptr_difference_cost): Likewise.
4984 (difference_cost): Likewise.
4985 (get_loop_invariant_expr_id): Likewise.
4986 (get_computation_cost_at): Likewise.
4987 (iv_elimination_compare_lt): Likewise.
4988 (may_eliminate_iv): Likewise.
4989 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
4990 instead of double_int.
4991 (max_loop_iterations): Likewise.
4992 (max_stmt_executions): Likewise.
4993 (estimated_stmt_executions): Likewise.
4994 * tree-ssa-loop-niter.c: Include wide-int-print.h.
4995 (split_to_var_and_offset): Use wide-int interfaces.
4996 (determine_value_range): Likewise.
4997 (bound_difference_of_offsetted_base): Likewise.
4998 (bounds_add): Take a widest_int instead of a double_int.
4999 (number_of_iterations_ne_max): Use wide-int interfaces.
5000 (number_of_iterations_ne): Likewise.
5001 (number_of_iterations_lt_to_ne): Likewise.
5002 (assert_loop_rolls_lt): Likewise.
5003 (number_of_iterations_lt): Likewise.
5004 (number_of_iterations_le): Likewise.
5005 (number_of_iterations_cond): Likewise.
5006 (number_of_iterations_exit): Likewise.
5007 (finite_loop_p): Likewise.
5008 (derive_constant_upper_bound_assign): Likewise.
5009 (derive_constant_upper_bound): Return a widest_int.
5010 (derive_constant_upper_bound_ops): Likewise.
5011 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
5012 (record_estimate): Take a widest_int rather than a double_int.
5013 (record_nonwrapping_iv): Use wide-int interfaces.
5014 (double_int_cmp): Delete.
5015 (wide_int_cmp): New.
5016 (bound_index): Take a widest_int rather than a double_int.
5017 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
5018 (maybe_lower_iteration_bound): Likewise.
5019 (estimate_numbers_of_iterations_loop): Likewise.
5020 (estimated_loop_iterations): Take a widest_int pointer than than
5021 a double_int pointer.
5022 (estimated_loop_iterations_int): Use wide-int interfaces.
5023 (max_loop_iterations): Take a widest_int pointer than than
5024 a double_int pointer.
5025 (max_loop_iterations_int): Use wide-int interfaces.
5026 (max_stmt_executions): Take a widest_int pointer than than
5027 a double_int pointer.
5028 (estimated_stmt_executions): Likewise.
5029 (n_of_executions_at_most): Use wide-int interfaces.
5030 (scev_probably_wraps_p): Likewise.
5031 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
5032 to real_to_integer.
5033 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
5034 interfaces.
5035 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
5036 double_ints. Adjust for trailing_wide_ints <3> representation.
5037 (set_nonzero_bits): Likewise.
5038 (get_range_info): Return wide_ints rather than double_ints.
5039 Adjust for trailing_wide_ints <3> representation.
5040 (get_nonzero_bits): Likewise.
5041 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
5042 representation.
5043 * tree-ssanames.h (struct range_info_def): Replace min, max and
5044 nonzero_bits with a trailing_wide_ints <3>.
5045 (set_range_info): Use wide_int_refs rather than double_ints.
5046 (set_nonzero_bits): Likewise.
5047 (get_range_info): Return wide_ints rather than double_ints.
5048 (get_nonzero_bits): Likewise.
5049 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
5050 * tree-ssa-pre.c (phi_translate_1): Likewise.
5051 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
5052 (acceptable_pow_call): Likewise.
5053 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
5054 interfaces.
5055 (vn_reference_fold_indirect): Likewise.
5056 (vn_reference_maybe_forwprop_address): Likewise.
5057 (valueize_refs_1): Likewise.
5058 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
5059 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
5060 tree_int_cst_lt and tree_int_cst_le.
5061 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
5062 interfaces.
5063 (streamer_alloc_tree): Likewise.
5064 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
5065 (streamer_write_tree_header): Likewise.
5066 (streamer_write_integer_cst): Likewise.
5067 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
5068 (build_constructors): Likewise.
5069 (array_value_type): Likewise.
5070 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
5071 (vect_check_gather): Likewise.
5072 * tree-vect-generic.c (build_replicated_const): Likewise.
5073 (expand_vector_divmod): Likewise.
5074 * tree-vect-loop.c (vect_transform_loop): Likewise.
5075 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
5076 (vect_do_peeling_for_alignment): Likewise.
5077 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
5078 * tree-vrp.c: Include wide-int.h.
5079 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
5080 (extract_range_from_assert): Use wide-int interfaces.
5081 (vrp_int_const_binop): Likewise.
5082 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
5083 double_int pointers.
5084 (ranges_from_anti_range): Use wide-int interfaces.
5085 (quad_int_cmp): Delete.
5086 (quad_int_pair_sort): Likewise.
5087 (extract_range_from_binary_expr_1): Use wide-int interfaces.
5088 (extract_range_from_unary_expr_1): Likewise.
5089 (adjust_range_with_scev): Likewise.
5090 (masked_increment): Take and return wide_ints rather than double_ints.
5091 (register_edge_assert_for_2): Use wide-int interfaces.
5092 (check_array_ref): Likewise.
5093 (search_for_addr_array): Likewise.
5094 (maybe_set_nonzero_bits): Likewise.
5095 (union_ranges): Pass an integer of the correct type instead of
5096 using integer_one_node.
5097 (intersect_ranges): Likewise.
5098 (simplify_truth_ops_using_ranges): Likewise.
5099 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
5100 (range_fits_type_p): Likewise.
5101 (simplify_cond_using_ranges): Likewise. Take a signop rather than
5102 a bool.
5103 (simplify_conversion_using_ranges): Use wide-int interfaces.
5104 (simplify_float_conversion_using_ranges): Likewise.
5105 (vrp_finalize): Likewise.
5106 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
5107 (gimple_stringops_transform): Likewise.
5108 * varasm.c (decode_addr_const): Likewise.
5109 (const_hash_1): Likewise.
5110 (const_rtx_hash_1): Likewise
5111 (output_constant): Likewise.
5112 (array_size_for_constructor): Likewise.
5113 (output_constructor_regular_field): Likewise.
5114 (output_constructor_bitfield): Likewise.
5115 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
5116 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
5117 GENERATOR_FILEs.
5118 * gencheck.c: Define BITS_PER_UNIT.
5119 * wide-int.cc: New.
5120 * wide-int.h: New.
5121 * wide-int-print.cc: New.
5122 * wide-int-print.h: New.
5123
3134fb19
JBG
51242014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5125
5126 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
5127
3bea341f
RB
51282014-05-06 Richard Biener <rguenther@suse.de>
5129
5130 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
5131 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
5132 (TODO_verify_all): Adjust.
5133 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
5134 TODO_verify_stmts and TODO_verify_rtl_sharing.
5135 * bb-reorder.c: Likewise.
5136 * cfgexpand.c: Likewise.
5137 * cprop.c: Likewise.
5138 * cse.c: Likewise.
5139 * function.c: Likewise.
5140 * fwprop.c: Likewise.
5141 * gcse.c: Likewise.
5142 * gimple-ssa-isolate-paths.c: Likewise.
5143 * gimple-ssa-strength-reduction.c: Likewise.
5144 * ipa-split.c: Likewise.
5145 * loop-init.c: Likewise.
5146 * loop-unroll.c: Likewise.
5147 * lower-subreg.c: Likewise.
5148 * modulo-sched.c: Likewise.
5149 * postreload-gcse.c: Likewise.
5150 * predict.c: Likewise.
5151 * recog.c: Likewise.
5152 * sched-rgn.c: Likewise.
5153 * store-motion.c: Likewise.
5154 * tracer.c: Likewise.
5155 * trans-mem.c: Likewise.
5156 * tree-call-cdce.c: Likewise.
5157 * tree-cfg.c: Likewise.
5158 * tree-cfgcleanup.c: Likewise.
5159 * tree-complex.c: Likewise.
5160 * tree-eh.c: Likewise.
5161 * tree-emutls.c: Likewise.
5162 * tree-if-conv.c: Likewise.
5163 * tree-into-ssa.c: Likewise.
5164 * tree-loop-distribution.c: Likewise.
5165 * tree-object-size.c: Likewise.
5166 * tree-parloops.c: Likewise.
5167 * tree-pass.h: Likewise.
5168 * tree-sra.c: Likewise.
5169 * tree-ssa-ccp.c: Likewise.
5170 * tree-ssa-copy.c: Likewise.
5171 * tree-ssa-copyrename.c: Likewise.
5172 * tree-ssa-dce.c: Likewise.
5173 * tree-ssa-dom.c: Likewise.
5174 * tree-ssa-dse.c: Likewise.
5175 * tree-ssa-forwprop.c: Likewise.
5176 * tree-ssa-ifcombine.c: Likewise.
5177 * tree-ssa-loop-ch.c: Likewise.
5178 * tree-ssa-loop-ivcanon.c: Likewise.
5179 * tree-ssa-loop.c: Likewise.
5180 * tree-ssa-math-opts.c: Likewise.
5181 * tree-ssa-phiopt.c: Likewise.
5182 * tree-ssa-phiprop.c: Likewise.
5183 * tree-ssa-pre.c: Likewise.
5184 * tree-ssa-reassoc.c: Likewise.
5185 * tree-ssa-sink.c: Likewise.
5186 * tree-ssa-strlen.c: Likewise.
5187 * tree-ssa-tail-merge.c: Likewise.
5188 * tree-ssa-uncprop.c: Likewise.
5189 * tree-switch-conversion.c: Likewise.
5190 * tree-tailcall.c: Likewise.
5191 * tree-vect-generic.c: Likewise.
5192 * tree-vectorizer.c: Likewise.
5193 * tree-vrp.c: Likewise.
5194 * tsan.c: Likewise.
5195 * var-tracking.c: Likewise.
5196 * bt-load.c: Likewise.
5197 * cfgcleanup.c: Likewise.
5198 * combine-stack-adj.c: Likewise.
5199 * combine.c: Likewise.
5200 * compare-elim.c: Likewise.
5201 * config/epiphany/resolve-sw-modes.c: Likewise.
5202 * config/i386/i386.c: Likewise.
5203 * config/mips/mips.c: Likewise.
5204 * config/s390/s390.c: Likewise.
5205 * config/sh/sh_treg_combine.cc: Likewise.
5206 * config/sparc/sparc.c: Likewise.
5207 * dce.c: Likewise.
5208 * dse.c: Likewise.
5209 * final.c: Likewise.
5210 * ifcvt.c: Likewise.
5211 * mode-switching.c: Likewise.
5212 * passes.c: Likewise.
5213 * postreload.c: Likewise.
5214 * ree.c: Likewise.
5215 * reg-stack.c: Likewise.
5216 * regcprop.c: Likewise.
5217 * regrename.c: Likewise.
5218 * web.c: Likewise.
5219
3d224d46
RB
52202014-05-06 Richard Biener <rguenther@suse.de>
5221
5222 PR middle-end/61070
5223 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
5224 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
5225
e400f081
JH
52262014-05-05 Jan Hubicka <hubicka@ucw.cz>
5227
5228 PR ipa/60965
5229 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
5230
aaeaa9a9 52312014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5232 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 5233
b6db8af6
UB
5234 * target.def (call_fusage_contains_non_callee_clobbers): New
5235 DEFHOOKPOD.
aaeaa9a9
RO
5236 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
5237 Hooks to @menu.
5238 (@node Miscellaneous Register Hooks): New node.
5239 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
5240 * doc/tm.texi: Regenerate.
5241
c2ac23fe
MP
52422014-05-05 Marek Polacek <polacek@redhat.com>
5243
5244 PR driver/61065
5245 * opts.c (common_handle_option): Call error_at instead of warning_at.
5246
0db74577
RB
52472014-05-05 Richard Biener <rguenther@suse.de>
5248
5249 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
5250 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
5251 under the TODO_verify_il umbrella.
5252
7e7f8713
RB
52532014-05-05 Richard Biener <rguenther@suse.de>
5254
5255 * passes.c (execute_function_todo): Move TODO_verify_flow under
5256 the TODO_verify_ul umbrella.
5257
7e2c9f14
RB
52582014-05-05 Richard Biener <rguenther@suse.de>
5259
5260 PR middle-end/61010
b6db8af6
UB
5261 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
5262 X & CST away from a CST that is the mask of a mode.
7e2c9f14 5263
33ecf108
JBG
52642014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5265
5266 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
5267 int argument to enum machine_mode.
5268 (picochip_class_max_nregs): Ditto.
5269 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
5270 (picochip_class_max_nregs): Ditto.
5271
d56a43a0
AK
52722014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5273
5274 * target.def: Add new target hook.
5275 * doc/tm.texi: Regenerate.
5276 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
5277 * targhooks.c (default_keep_leaf_when_profiled): New function.
5278
5279 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
5280 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
5281
cb8f1a57
BC
52822014-05-05 Bin Cheng <bin.cheng@arm.com>
5283
5284 PR tree-optimization/60363
5285 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
5286 (copy_phi_args): New parameters. Call get_value_locus_in_path.
5287 (update_destination_phis): New parameter.
5288 (create_edge_and_update_destination_phis): Ditto.
5289 (ssa_fix_duplicate_block_edges): Pass new arguments.
5290 (thread_single_edge): Ditto.
5291
f93bc5b3
PB
52922014-05-04 Peter Bergner <bergner@vnet.ibm.com>
5293
5294 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
5295 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
5296 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
5297 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
5298 Use RS6000_BTM_HARD_FLOAT.
5299 (BU_MISC_2): Likewise.
5300 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
5301 RS6000_BTM_HARD_FLOAT.
5302 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
5303 is explicitly used.
5304 (rs6000_invalid_builtin): Add hard floating builtin support.
5305 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
5306 hard float builtins.
5307 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
5308
579f4e64
OE
53092014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5310
5311 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
5312 Add missing function* argument.
5313
0be7287d
RS
53142014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
5315
5316 * lra-constraints.c (valid_address_p): Move earlier in file.
5317 Add a constraint argument to the address_info version.
5318 (satisfies_memory_constraint_p): New function.
5319 (satisfies_address_constraint_p): Likewise.
5320 (process_alt_operands, curr_insn_transform): Use them.
5321 (process_address): Pass the constraint to valid_address_p when
5322 checking address operands.
5323
ad782bc9
RS
53242014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
5325
5326 * config/mips/mips.c (mips_isa_rev): New variable.
5327 (mips_set_architecture): Set it.
5328 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
5329 from mips_isa_rev.
5330 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
5331 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
5332 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
5333 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
5334 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
5335 conditions in terms of mips_isa_rev.
5336 (mips_isa_rev): Declare.
5337
45731f37
OE
53382014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5339
5340 * config/sh/sh-mem.cc: Use tabs instead of spaces.
5341 (prob_unlikely, prob_likely): Make variables const.
5342
c61dfa63
DC
53432014-05-03 Denis Chertykov <chertykov@gmail.com>
5344
5345 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
5346
1b8da635
OE
53472014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5348
5349 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
5350
f6982a08
OE
53512014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5352
5353 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
5354 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
5355 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
5356 functions.
5357 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
5358 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
5359 sh_pass_in_reg_p.
5360 Replace usage of ROUND_REG with sh_round_reg.
5361 Use CEIL instead of ROUND_ADVANCE.
5362
0bcf70f8
OE
53632014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
5364
5365 PR target/61026
5366 * config/sh/sh.c: Include stdlib headers before everything else.
5367
95782571
JJ
53682014-05-02 Jakub Jelinek <jakub@redhat.com>
5369
5370 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
5371 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
5372 (gimplify_adjust_omp_clauses): Simd region is never
5373 directly nested in combined parallel. Instead, for linear
5374 with copyin/copyout, if in combined for simd loop, make decl
5375 firstprivate/lastprivate on OMP_FOR.
5376 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
5377 expand_omp_for_static_chunk): When setting endvar, also set
5378 fd->loop.v to the same value.
5379
e13b3dfd
RS
53802014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5381
5382 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
5383
0696116a
AL
53842014-05-02 Alan Lawrence <alan.lawrence@arm.com>
5385
5386 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
5387 expression.
5388
fb90f9f3
MP
53892014-05-02 Marek Polacek <polacek@redhat.com>
5390
5391 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
5392
153df826 53932014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
5394
5395 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
5396 to a C expression marco.
5397 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
5398 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
5399 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
5400 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
5401 HONOR_REG_ALLOC_ORDER.
5402 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
5403
53c8d5a7
JBG
54042014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5405
5406 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
5407
486c559b
JBG
54082014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5409
5410 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
5411
944052b9
YR
54122014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
5413
5414 * tree-if-conv.c (is_cond_scalar_reduction): New function.
5415 (convert_scalar_cond_reduction): Likewise.
5416 (predicate_scalar_phi): Add recognition and transformation
5417 of simple conditioanl reduction to be vectorizable.
5418
d00887e8
MP
54192014-05-01 Marek Polacek <polacek@redhat.com>
5420
5421 PR c/43245
5422 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
5423
7211512a
AL
54242014-04-30 Alan Lawrence <alan.lawrence@arm.com>
5425
5426 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
5427 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
5428 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
5429 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
5430 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
5431 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
5432 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
5433 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
5434
e5bd20a4
JR
54352014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
5436
5437 * config/arc/arc.opt (mlra): Move comment above option name
5438 to avoid mis-parsing as language options.
5439
2cf03b11
RO
54402014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5441
5442 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
5443 * config/sol2.h: ... here.
5444 * config/sol2-10.h: Remove.
5445
5446 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
5447 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
5448 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
5449 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
5450 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
5451 * config/sol2.h: ... here.
5452 (SECTION_NAME_FORMAT): Don't redefine.
5453 (STARTFILE_ARCH32_SPEC): Rename to ...
5454 (STARTFILE_ARCH_SPEC): ... this.
5455 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
5456 * config/sparc/sol2.h: ... here.
5457 (SECTION_NAME_FORMAT): Don't undef.
5458 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
5459 (SUBTARGET_EXTRA_SPECS): Remove.
5460 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
5461
5462 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
5463 (MD_STARTFILE_PREFIX): Remove.
5464 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
5465 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
5466 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
5467 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
5468 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
5469 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
5470 * config/i386/sol2.h: ... here.
5471 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
5472 * config/i386/sol2-bi.h: Remove.
5473 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
5474 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
5475
5476 * config/i386/t-sol2-64: Rename to ...
5477 * config/i386/t-sol2: ... this.
5478 * config/sparc/t-sol2-64: Rename to ...
5479 * config/sparc/t-sol2: ... this.
5480
5481 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
5482 sol2_tm_file_head, sol2_tm_file_tail.
5483 Include ${cpu_type}/sol2.h before sol2.h.
5484 Remove sol2-10.h.
5485 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
5486 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
5487 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
5488 Reflect i386/t-sol2-64 renaming.
5489 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
5490 Reflect sparc/t-sol2-64 renaming.
5491
e9ff9caf
RB
54922014-04-30 Richard Biener <rguenther@suse.de>
5493
5494 * passes.c (execute_function_todo): Move TODO_verify_stmts
5495 and TODO_verify_ssa under the TODO_verify_il umbrella.
5496 * tree-ssa.h (verify_ssa): Adjust prototype.
5497 * tree-ssa.c (verify_ssa): Add parameter to tell whether
5498 we should verify SSA operands.
5499 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
5500 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
5501 whether we should verify whether not throwing stmts have EH info.
5502 * graphite-scop-detection.c (create_sese_edges): Adjust.
5503 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
5504 * tree-eh.c (lower_try_finally_switch): Do not add the
5505 default case label twice.
5506
f8ed5150
MP
55072014-04-30 Marek Polacek <polacek@redhat.com>
5508
5509 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
5510 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
5511 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
5512 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
5513
7cb0403f
AL
55142014-04-29 Alan Lawrence <alan.lawrence@arm.com>
5515
5516 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
5517 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
5518 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
5519 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
5520 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
5521 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
5522 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
5523 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
5524
3979649a
DM
55252014-04-29 David Malcolm <dmalcolm@redhat.com>
5526
5527 * tree-cfg.c (dump_function_to_file): Dump the return type of
5528 functions, in a line to itself before the function body, mimicking
5529 the layout of a C function.
5530
62fb101e
JJ
55312014-04-29 Jakub Jelinek <jakub@redhat.com>
5532
5533 PR tree-optimization/60971
5534 * tree-tailcall.c (process_assignment): Reject conversions which
5535 reduce precision.
5536
3d9684ae
JG
55372014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
5538
5539 * calls.c (initialize_argument_information): Always treat
5540 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
5541 (expand_call): Likewise.
5542 (emit_library_call_calue_1): Likewise.
5543 * expr.c (PUSH_ARGS_REVERSED): Do not define.
5544 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
5545 code accordingly.
5546
d77f7b19
NC
55472014-04-29 Nick Clifton <nickc@redhat.com>
5548
5549 * config/msp430/msp430.md (umulsidi): Fix typo.
5550 (mulhisi3): Enable even inside interrupt handlers.
5551 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
5552 bigger return address pushed in large mode.
5553
f8d91e80
NC
55542014-04-29 Nick Clifton <nickc@redhat.com>
5555
5556 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
5557 (arc_init_reg_tables): Use a machine_mode enum to iterate over
5558 available modes.
5559 * config/m32r/m32r.c (init_reg_tables): Likewise.
5560 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
5561 enum to hold the modes.
5562
e3f613cb
RB
55632014-04-29 Richard Biener <rguenther@suse.de>
5564
5565 * dominance.c (free_dominance_info): Add overload with
5566 function parameter.
5567 (dom_info_state): Likewise.
5568 (dom_info_available_p): Likewise.
5569 * basic-block.h (free_dominance_info, dom_info_state,
5570 dom_info_available_p): Declare overloads.
5571 * passes.c (execute_function_todo): Verify that verifiers
5572 don't change dominator info state. Drop dominator info
5573 for IPA pass invocations.
5574 * cgraph.c (release_function_body): Restore asserts that
5575 dominator information is released.
5576
36f291f7
PP
55772014-04-29 Patrick Palka <patrick@parcs.ath.cx>
5578
5579 * doc/invoke.texi: Fix typo.
5580 * tree-vrp.c: Fix typos.
b6db8af6 5581 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 5582
d3a3182b
ZC
55832014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5584
5585 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
5586
ba081b77
JG
55872014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
5588
5589 * config/aarch64/aarch64-builtins.c
5590 (aarch64_types_storestruct_lane_qualifiers): New.
5591 (TYPES_STORESTRUCT_LANE): Likewise.
5592 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
5593 (st3_lane): Likewise.
5594 (st4_lane): Likewise.
5595 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
5596 (vec_store_lanesci_lane<mode>): Likewise.
5597 (vec_store_lanesxi_lane<mode>): Likewise.
5598 (aarch64_st2_lane<VQ:mode>): Likewise.
5599 (aarch64_st3_lane<VQ:mode>): Likewise.
5600 (aarch64_st4_lane<VQ:mode>): Likewise.
5601 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
5602 * config/aarch64/arm_neon.h
5603 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
5604 use new macro arguments.
5605 (__ST3_LANE_FUNC): Likewise.
5606 (__ST4_LANE_FUNC): Likewise.
5607 * config/aarch64/iterators.md (V_TWO_ELEM): New.
5608 (V_THREE_ELEM): Likewise.
5609 (V_FOUR_ELEM): Likewise.
5610
1bc6d43c
DM
56112014-04-28 David Malcolm <dmalcolm@redhat.com>
5612
5613 * doc/gimple.texi: Replace the description of the now-defunct
5614 union gimple_statement_d with a diagram showing the
5615 gimple_statement_base class hierarchy and its relationships to
5616 the GSS_ and GIMPLE_ enums.
5617
97e1ad78
JG
56182014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
5619
5620 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
5621 * config/aarch64/aarch64.c
5622 (aarch64_cannot_change_mode_class): Weaken conditions.
5623 (aarch64_modes_tieable_p): New.
5624 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
5625
bf245bf4
PH
56262014-04-28 Pat Haugen <pthaugen@us.ibm.com>
5627
5628 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
5629 (loadsync_<mode>): Change mode.
5630 (load_quadpti, store_quadpti): New.
5631 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
5632 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
5633
28151221
MJ
56342014-04-28 Martin Jambor <mjambor@suse.cz>
5635
5636 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
5637 same alias type as the original statement.
5638 (subreplacement_assignment_data): New type.
5639 (handle_unscalarized_data_in_subtree): New type of parameter,
5640 generate new memory accesses with same alias type as the original
5641 statement.
5642 (load_assign_lhs_subreplacements): Likewise.
5643 (sra_modify_constructor_assign): Generate new memory accesses with
5644 same alias type as the original statement.
5645
9ba5fb43
RB
56462014-04-28 Richard Biener <rguenther@suse.de>
5647
5648 * tree-pass.h (TODO_verify_il): Define.
5649 (TODO_verify_all): Complete properly.
5650 * passes.c (execute_function_todo): Move existing loop-closed
5651 SSA verification under TODO_verify_il.
5652 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
5653 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
5654 Fix tree sharing issue.
5655
22869a37
RB
56562014-04-28 Richard Biener <rguenther@suse.de>
5657
5658 PR middle-end/60092
5659 * builtins.def (DEF_C11_BUILTIN): Add.
5660 (BUILT_IN_ALIGNED_ALLOC): Likewise.
5661 * coretypes.h (enum function_class): Add function_c11_misc.
5662 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
5663 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
5664 (call_may_clobber_ref_p_1): Likewise.
5665 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
5666 (mark_all_reaching_defs_necessary_1): Likewise.
5667 (propagate_necessity): Likewise.
5668 (eliminate_unnecessary_stmts): Likewise.
5669 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
5670
771c9501
RB
56712014-04-28 Richard Biener <rguenther@suse.de>
5672
5673 * tree-vrp.c (vrp_var_may_overflow): Remove.
5674 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
5675 with overflow immediately bump to one before that value and
5676 let iteration figure out overflow status.
5677
279a935f
RB
56782014-04-28 Richard Biener <rguenther@suse.de>
5679
5680 * configure.ac: Do valgrind header checks unconditionally.
5681 Add --enable-valgrind-annotations.
5682 * system.h: Guard valgrind header inclusion with
5683 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
5684 * alloc-pool.c (pool_alloc, pool_free): Use
5685 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
5686 to guard possibly dead code.
5687 * config.in: Regenerated.
5688 * configure: Likewise.
5689
07357f2f
JL
56902014-04-28 Jeff Law <law@redhat.com>
5691
5692 PR tree-optimization/60902
5693 * tree-ssa-threadedge.c
5694 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
5695 over real defs when invalidating outputs from statements that do not
5696 produce useful outputs for threading.
5697
6c6aa8e6
RB
56982014-04-28 Richard Biener <rguenther@suse.de>
5699
5700 PR tree-optimization/60979
5701 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
5702 SCOPs that end in a block with a successor with abnormal
5703 predecessors.
5704
2cbf2d95
RB
57052014-04-28 Richard Biener <rguenther@suse.de>
5706
5707 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 5708 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
5709 (do_per_function): Change callback signature, push all actual
5710 work to the callbals.
5711 (do_per_function_toporder): Likewise.
5712 (execute_function_dump): Adjust.
5713 (execute_function_todo): Likewise.
5714 (clear_last_verified): Likewise.
5715 (verify_curr_properties): Likewise.
5716 (update_properties_after_pass): Likewise.
5717 (execute_pass_list_1): Split out from ...
5718 (execute_pass_list): ... here. Adjust.
5719 (execute_ipa_pass_list): Likewise.
5720 * cgraphunit.c (cgraph_add_new_function): Adjust.
5721 (analyze_function): Likewise.
5722 (expand_function): Likewise.
5723 * cgraph.c (release_function_body): Free dominance info
5724 here instead of asserting it was magically freed elsewhere.
5725
ba21a04a
EB
57262014-04-28 Eric Botcazou <ebotcazou@adacore.com>
5727
5728 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
5729 * configure: Regenerate.
5730 * config/sparc/sparc.opt (muser-mode): New option.
5731 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
5732 for LEON3.
5733 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
5734 * doc/invoke.texi (SPARC options): Document -muser-mode.
5735
f956adb9
RS
57362014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
5737
5738 * cselib.c (find_slot_memmode): Delete.
5739 (cselib_hasher): Change compare_type to a struct.
5740 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
5741 constants.
5742 (preserve_constants_and_equivs): Adjust for new compare_type.
5743 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
5744 (wrap_constant): Delete.
5745 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
5746
167c3e96
MT
57472014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
5748
5749 * doc/install.texi (Building with profile feedback): Remove
5750 outdated sentence.
5751
4148ef5f
TV
57522014-04-26 Tom de Vries <tom@codesourcery.com>
5753
5754 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
5755 array accesses.
5756
8d8ffd86
CC
57572014-04-25 Cary Coutant <ccoutant@google.com>
5758
b6db8af6 5759 PR debug/60929
8d8ffd86 5760 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
5761 can contain a subprogram definition, but don't move it to a
5762 comdat unit.
8d8ffd86 5763 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
5764 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
5765 from original DIE.
8d8ffd86
CC
5766 (clone_tree_hash): Rename to...
5767 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 5768 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 5769 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 5770 type unit.
8d8ffd86 5771
255671b0
L
57722014-04-25 H.J. Lu <hongjiu.lu@intel.com>
5773
5774 PR target/60969
5775 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
5776 alternative 12.
5777
10432733
JW
57782014-04-25 Jiong Wang <jiong.wang@arm.com>
5779
5780 * config/arm/predicates.md (call_insn_operand): Add long_call check.
5781 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
5782 reg for long_call.
5783 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
5784 restriction.
5785
0e4c913f
KT
57862014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5787
b6db8af6 5788 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 5789
61ba7329
BS
57902014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5791
5792 PR tree-optimization/60930
5793 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
5794 creating a multiply candidate by folding two constant
5795 multiplicands when the result overflows.
5796
2b332829
JJ
57972014-04-25 Jakub Jelinek <jakub@redhat.com>
5798
5799 PR tree-optimization/60960
5800 * tree-vect-generic.c (expand_vector_operation): Only call
5801 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
5802
97891c11
TV
58032014-04-25 Tom de Vries <tom@codesourcery.com>
5804
5805 * expr.c (clobber_reg_mode): New function.
5806 * expr.h (clobber_reg): New function.
5807
3ee634fd
TV
58082014-04-25 Tom de Vries <tom@codesourcery.com>
5809
5810 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
5811 clobbers.
5812
356bf593 58132014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5814 Tom de Vries <tom@codesourcery.com>
356bf593
RO
5815
5816 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
5817 handle.
5818 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
5819 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
5820 new argument to find_all_hard_reg_sets call.
5821
fe65a7ed
KT
58222014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5823
5824 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
5825 Use HOST_WIDE_INT_C for mask literal.
5826 (aarch_rev16_shleft_mask_imm_p): Likewise.
5827
b357d40d
EB
58282014-04-25 Eric Botcazou <ebotcazou@adacore.com>
5829
5830 PR target/60941
5831 * config/sparc/sparc.md (ashlsi3_extend): Delete.
5832
30c0a59a
MG
58332014-04-25 Marc Glisse <marc.glisse@inria.fr>
5834
5835 PR preprocessor/56540
5836 * config/i386/i386-c.c (ix86_target_macros): Define
5837 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
5838
c02f59e2
RO
58392014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5840
5841 * configure.ac (tga_func): Remove.
5842 (LIB_TLS_SPEC): Remove.
5843 * configure: Regenerate.
5844 * config.in: Regenerate.
5845 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
5846
92b3326b
RB
58472014-04-25 Richard Biener <rguenther@suse.de>
5848
5849 PR ipa/60912
5850 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
5851 call stmt use/clobber sets during stmt walk instead of
5852 walking the possibly incomplete set of caller edges.
5853
78422fb1
RB
58542014-04-25 Richard Biener <rguenther@suse.de>
5855
5856 PR ipa/60911
5857 * passes.c (apply_ipa_transforms): Inline into only caller ...
5858 (execute_one_pass): ... here. Properly bring in function
5859 bodies for nodes we want to apply IPA transforms to.
5860
56f8faae
CH
58612014-04-24 Cong Hou <congh@google.com>
5862
5863 PR tree-optimization/60896
5864 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
5865 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
5866 (vect_mark_pattern_stmts): Set the def type of all statements in
5867 PATTERN_DEF_SEQ as vect_internal_def.
5868
06b39289
MM
58692014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
5870
5871 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 5872 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
5873 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
5874
5875 * config/rs6000/predicates.md (const_0_to_3_operand): New
5876 predicate to match 0..3 integer constants.
5877
5878 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
5879 to support adding miscellaneous builtin functions.
5880 (BU_DFP_MISC_2): Likewise.
5881 (BU_P7_MISC_1): Likewise.
5882 (BU_P7_MISC_2): Likewise.
5883 (BU_P8V_MISC_3): Likewise.
5884 (BU_MISC_1): Likewise.
5885 (BU_MISC_2): Likewise.
5886 (DIVWE): Add extended divide builtin functions.
5887 (DIVWEO): Likewise.
5888 (DIVWEU): Likewise.
5889 (DIVWEUO): Likewise.
5890 (DIVDE): Likewise.
5891 (DIVDEO): Likewise.
5892 (DIVDEU): Likewise.
5893 (DIVDEUO): Likewise.
5894 (DXEX): Add decimal floating-point builtin functions.
5895 (DXEXQ): Likewise.
5896 (DDEDPD): Likewise.
5897 (DDEDPDQ): Likewise.
5898 (DENBCD): Likewise.
5899 (DENBCDQ): Likewise.
5900 (DIEX): Likewise.
5901 (DIEXQ): Likewise.
5902 (DSCLI): Likewise.
5903 (DSCLIQ): Likewise.
5904 (DSCRI): Likewise.
5905 (DSCRIQ): Likewise.
5906 (CDTBCD): Add new BCD builtin functions.
5907 (CBCDTD): Likewise.
5908 (ADDG6S): Likewise.
5909 (BCDADD): Likewise.
5910 (BCDADD_LT): Likewise.
5911 (BCDADD_EQ): Likewise.
5912 (BCDADD_GT): Likewise.
5913 (BCDADD_OV): Likewise.
5914 (BCDSUB): Likewise.
5915 (BCDSUB_LT): Likewise.
5916 (BCDSUB_EQ): Likewise.
5917 (BCDSUB_GT): Likewise.
5918 (BCDSUB_OV): Likewise.
5919 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
5920 (UNPACK_TD): Likewise.
5921 (PACK_TF): Likewise.
5922 (UNPACK_TF): Likewise.
5923 (UNPACK_TF_0): Likewise.
5924 (UNPACK_TF_1): Likewise.
5925 (PACK_V1TI): Likewise.
5926 (UNPACK_V1TI): Likewise.
5927
5928 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
5929 support for decimal floating point builtin functions.
5930 (rs6000_expand_ternop_builtin): Add checks for the new builtin
5931 functions that take constant arguments.
b6db8af6 5932 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
5933 (rs6000_init_builtins): Setup long double, _Decimal64, and
5934 _Decimal128 types for new builtin functions.
5935 (builtin_function_type): Set the unsigned flags appropriately for
5936 the new builtin functions.
5937 (rs6000_opt_masks): Add support for decimal floating point builtin
5938 functions.
5939
5940 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
5941 floating point builtin functions.
5942 (RS6000_BTM_COMMON): Likewise.
5943 (RS6000_BTI_long_double): Likewise.
5944 (RS6000_BTI_dfloat64): Likewise.
5945 (RS6000_BTI_dfloat128): Likewise.
5946 (long_double_type_internal_node): Likewise.
5947 (dfloat64_type_internal_node): Likewise.
5948 (dfloat128_type_internal_node): Likewise.
5949
5950 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
5951 2.07 bcd arithmetic instructions.
5952 (UNSPEC_BCDSUB): Likewise.
5953 (UNSPEC_BCD_OVERFLOW): Likewise.
5954 (UNSPEC_BCD_ADD_SUB): Likewise.
5955 (bcd_add_sub): Likewise.
5956 (BCD_TEST): Likewise.
5957 (bcd<bcd_add_sub>): Likewise.
5958 (bcd<bcd_add_sub>_test): Likewise.
5959 (bcd<bcd_add_sub>_test2): Likewise.
5960 (bcd<bcd_add_sub>_<code>): Likewise.
5961 (peephole2 for combined bcd ops): Likewise.
5962
5963 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
5964 decimal floating point builtin functions.
5965 (UNSPEC_DENBCD): Likewise.
5966 (UNSPEC_DXEX): Likewise.
5967 (UNSPEC_DIEX): Likewise.
5968 (UNSPEC_DSCLI): Likewise.
5969 (UNSPEC_DSCRI): Likewise.
5970 (D64_D128): Likewise.
5971 (dfp_suffix): Likewise.
5972 (dfp_ddedpd_<mode>): Likewise.
5973 (dfp_denbcd_<mode>): Likewise.
5974 (dfp_dxex_<mode>): Likewise.
5975 (dfp_diex_<mode>): Likewise.
5976 (dfp_dscli_<mode>): Likewise.
5977 (dfp_dscri_<mode>): Likewise.
5978
5979 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
5980 builtin functions.
5981 (UNSPEC_CDTBCD): Likewise.
5982 (UNSPEC_CBCDTD): Likewise.
b6db8af6 5983 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
5984 (UNSPEC_DIVEO): Likewise.
5985 (UNSPEC_DIVEU): Likewise.
5986 (UNSPEC_DIVEUO): Likewise.
5987 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
5988 pack/unpack 128-bit types.
5989 (UNSPEC_PACK_128BIT): Likewise.
5990 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
5991 (udiv<mode>3): Use idiv_ldiv mode attribute.
5992 (div<mode>3): Likewise.
5993 (addg6s): Add new BCD builtin functions.
5994 (cdtbcd): Likewise.
5995 (cbcdtd): Likewise.
b6db8af6 5996 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
5997 (div_extend): Likewise.
5998 (div<div_extend>_<mode>"): Likewise.
5999 (FP128_64): Add support for new builtin functions to pack/unpack
6000 128-bit types.
6001 (unpack<mode>): Likewise.
6002 (unpacktf_0): Likewise.
6003 (unpacktf_1): Likewise.
6004 (unpack<mode>_dm): Likewise.
6005 (unpack<mode>_nodm): Likewise.
6006 (pack<mode>): Likewise.
6007 (unpackv1ti): Likewise.
6008 (packv1ti): Likewise.
6009
6e4f81db
V
60102014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
6011
6012 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
6013 is disabled.
6014
f7468577
JJ
60152014-04-24 Jakub Jelinek <jakub@redhat.com>
6016
6017 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
6018 * gimplify.c (omp_is_private): Change last argument's type to int.
6019 Only diagnose lastprivate if the simd argument is 1, only diagnose
6020 linear if the simd argument is 2.
6021 (gimplify_omp_for): Adjust omp_is_private callers. When adding
6022 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
6023 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
6024 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
6025 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
6026 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
6027 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
6028 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
6029 * tree-nested.c (convert_nonlocal_omp_clauses,
6030 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
6031
2f7ac5ce
JL
60322014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
6033
6034 PR target/60822
6035 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
6036 operand 1.
6037
dcaaa5a0
DP
60382014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6039
6040 * flag-types.h (enum ivar_visibility): Add.
6041
78c7d18e
TS
60422014-04-24 Trevor Saunders <tsaunders@mozilla.com>
6043
6044 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
6045 function * argument.
6046
fbbde65e
AL
60472014-04-24 Alan Lawrence <alan.lawrence@arm.com>
6048
6049 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
6050
4f660b15 60512014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 6052 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
6053
6054 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
6055 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
6056 reg-note.
6057 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
6058 * emit-rtl.c (try_split): Same.
6059
d996e61a 60602014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 6061 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
6062
6063 * common.opt (fuse-caller-save): New option.
6064
bbcc9c00
TB
60652014-04-24 Tejas Belagod <tejas.belagod@arm.com>
6066
b6db8af6
UB
6067 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
6068 elements for big-endian.
bbcc9c00 6069
d2d11532
RB
60702014-04-24 Richard Biener <rguenther@suse.de>
6071
6072 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
6073 during TER and instead use the sepops interface for expanding
6074 non-GIMPLE_SINGLE_RHS.
6075
8117ef98
RO
60762014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6077
6078 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
6079 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
6080
ab0afae3
RO
60812014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6082
6083 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
6084 assembler 64-bit option.
6085 * configure: Regenerate.
6086
683e3333
KT
60872014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6088
6089 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
6090 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
6091 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
6092 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
6093 (TARGET_CRYPTO): Take TARGET_SIMD into account.
6094
c7f28cd5
KT
60952014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6096
6097 * config/aarch64/aarch64-builtins.c
6098 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
6099 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
6100 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
6101 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
6102 builtins.
6103 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
6104 (Vrevsuff): New mode attribute.
6105
b0419491
TG
61062014-04-24 Terry Guo <terry.guo@arm.com>
6107
6108 * config/arm/arm.h (machine_function): Define variable
6109 after_arm_reorg here.
6110 * config/arm/arm.c (after_arm_reorg): Remove the definition.
6111 (arm_split_constant): Update the way to access variable
6112 after_arm_reorg.
6113 (arm_reorg): Ditto.
6114 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
6115
74e4d71a
TV
61162014-04-23 Tom de Vries <tom@codesourcery.com>
6117
6118 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
6119
7de90a6c
DM
61202014-04-23 David Malcolm <dmalcolm@redhat.com>
6121
6122 * is-a.h: Update comments to reflect the following changes to the
6123 "pointerness" of the API, making the template parameter match the
6124 return type, allowing use of is-a.h with typedefs of pointers.
6125 (is_a_helper::cast): Return a T rather then a pointer to a T, so
6126 that the return type matches the parameter to the is_a_helper.
6127 (as_a): Likewise.
6128 (dyn_cast): Likewise.
6129
6130 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
6131 pointer from the is-a.h API.
6132
6133 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
6134 (is_a_helper <cgraph_node *>::test): ...this, matching change to
6135 is-a.h API.
6136 (is_a_helper <varpool_node>::test): Likewise, convert to...
6137 (is_a_helper <varpool_node *>::test): ...this.
6138
6139 (varpool_first_variable): Update for removal of implicit pointer
6140 from the is-a.h API.
6141 (varpool_next_variable): Likewise.
6142 (varpool_first_static_initializer): Likewise.
6143 (varpool_next_static_initializer): Likewise.
6144 (varpool_first_defined_variable): Likewise.
6145 (varpool_next_defined_variable): Likewise.
6146 (cgraph_first_defined_function): Likewise.
6147 (cgraph_next_defined_function): Likewise.
6148 (cgraph_first_function): Likewise.
6149 (cgraph_next_function): Likewise.
6150 (cgraph_first_function_with_gimple_body): Likewise.
6151 (cgraph_next_function_with_gimple_body): Likewise.
6152 (cgraph_alias_target): Likewise.
6153 (varpool_alias_target): Likewise.
6154 (cgraph_function_or_thunk_node): Likewise.
6155 (varpool_variable_node): Likewise.
6156 (symtab_real_symbol_p): Likewise.
6157 * cgraphunit.c (referred_to_p): Likewise.
6158 (analyze_functions): Likewise.
6159 (handle_alias_pairs): Likewise.
6160 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
6161 * gimple-ssa.h (gimple_vuse_op): Likewise.
6162 (gimple_vdef_op): Likewise.
6163 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
6164 * gimple.c (gimple_build_asm_1): Likewise.
6165 (gimple_build_try): Likewise.
6166 (gimple_build_resx): Likewise.
6167 (gimple_build_eh_dispatch): Likewise.
6168 (gimple_build_omp_for): Likewise.
6169 (gimple_omp_for_set_clauses): Likewise.
6170
6171 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
6172 (is_a_helper <gimple_statement_asm *>::test): ...this.
6173 (is_a_helper <gimple_statement_bind>::test): Convert to...
6174 (is_a_helper <gimple_statement_bind *>::test): ...this.
6175 (is_a_helper <gimple_statement_call>::test): Convert to...
6176 (is_a_helper <gimple_statement_call *>::test): ...this.
6177 (is_a_helper <gimple_statement_catch>::test): Convert to...
6178 (is_a_helper <gimple_statement_catch *>::test): ...this.
6179 (is_a_helper <gimple_statement_resx>::test): Convert to...
6180 (is_a_helper <gimple_statement_resx *>::test): ...this.
6181 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
6182 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
6183 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
6184 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
6185 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
6186 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
6187 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
6188 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
6189 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
6190 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
6191 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
6192 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
6193 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
6194 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
6195 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
6196 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
6197 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
6198 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
6199 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
6200 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
6201 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
6202 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
6203 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
6204 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
6205 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
6206 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
6207 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
6208 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
6209 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
6210 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
6211 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
6212 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
6213 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
6214 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
6215 (is_a_helper <gimple_statement_phi>::test): Convert to...
6216 (is_a_helper <gimple_statement_phi *>::test): ...this.
6217 (is_a_helper <gimple_statement_transaction>::test): Convert to...
6218 (is_a_helper <gimple_statement_transaction *>::test): ...this.
6219 (is_a_helper <gimple_statement_try>::test): Convert to...
6220 (is_a_helper <gimple_statement_try *>::test): ...this.
6221 (is_a_helper <gimple_statement_wce>::test): Convert to...
6222 (is_a_helper <gimple_statement_wce *>::test): ...this.
6223 (is_a_helper <const gimple_statement_asm>::test): Convert to...
6224 (is_a_helper <const gimple_statement_asm *>::test): ...this.
6225 (is_a_helper <const gimple_statement_bind>::test): Convert to...
6226 (is_a_helper <const gimple_statement_bind *>::test): ...this.
6227 (is_a_helper <const gimple_statement_call>::test): Convert to...
6228 (is_a_helper <const gimple_statement_call *>::test): ...this.
6229 (is_a_helper <const gimple_statement_catch>::test): Convert to...
6230 (is_a_helper <const gimple_statement_catch *>::test): ...this.
6231 (is_a_helper <const gimple_statement_resx>::test): Convert to...
6232 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
6233 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
6234 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
6235 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
6236 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
6237 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
6238 Convert to...
6239 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
6240 ...this.
6241 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
6242 Convert to...
6243 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
6244 ...this.
b6db8af6 6245 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
6246 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
6247 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
6248 to...
6249 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
6250 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
6251 to...
6252 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
6253 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
6254 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 6255 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
6256 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
6257 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
6258 to...
6259 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 6260 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
6261 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
6262 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
6263 to...
6264 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 6265 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 6266 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 6267 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 6268 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 6269 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
6270 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
6271 (is_a_helper <const gimple_statement_phi>::test): Convert to...
6272 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 6273 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 6274 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 6275 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
6276 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
6277 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
6278 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
6279 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
6280 to...
7de90a6c
DM
6281 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
6282 ...this.
b6db8af6 6283 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
6284 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
6285
6286 (gimple_use_ops): Update for removal of implicit pointer from the
6287 is-a.h API.
6288 (gimple_set_use_ops): Likewise.
6289 (gimple_vuse): Likewise.
6290 (gimple_vdef): Likewise.
6291 (gimple_vuse_ptr): Likewise.
6292 (gimple_vdef_ptr): Likewise.
6293 (gimple_set_vuse): Likewise.
6294 (gimple_set_vdef): Likewise.
6295 (gimple_omp_return_set_lhs): Likewise.
6296 (gimple_omp_return_lhs): Likewise.
6297 (gimple_omp_return_lhs_ptr): Likewise.
6298 (gimple_call_fntype): Likewise.
6299 (gimple_call_set_fntype): Likewise.
6300 (gimple_call_set_internal_fn): Likewise.
6301 (gimple_call_use_set): Likewise.
6302 (gimple_call_clobber_set): Likewise.
6303 (gimple_bind_vars): Likewise.
6304 (gimple_bind_set_vars): Likewise.
6305 (gimple_bind_body_ptr): Likewise.
6306 (gimple_bind_set_body): Likewise.
6307 (gimple_bind_add_stmt): Likewise.
6308 (gimple_bind_block): Likewise.
6309 (gimple_bind_set_block): Likewise.
6310 (gimple_asm_ninputs): Likewise.
6311 (gimple_asm_noutputs): Likewise.
6312 (gimple_asm_nclobbers): Likewise.
6313 (gimple_asm_nlabels): Likewise.
6314 (gimple_asm_input_op): Likewise.
6315 (gimple_asm_input_op_ptr): Likewise.
6316 (gimple_asm_output_op): Likewise.
6317 (gimple_asm_output_op_ptr): Likewise.
6318 (gimple_asm_set_output_op): Likewise.
6319 (gimple_asm_clobber_op): Likewise.
6320 (gimple_asm_set_clobber_op): Likewise.
6321 (gimple_asm_label_op): Likewise.
6322 (gimple_asm_set_label_op): Likewise.
6323 (gimple_asm_string): Likewise.
6324 (gimple_catch_types): Likewise.
6325 (gimple_catch_types_ptr): Likewise.
6326 (gimple_catch_handler_ptr): Likewise.
6327 (gimple_catch_set_types): Likewise.
6328 (gimple_catch_set_handler): Likewise.
6329 (gimple_eh_filter_types): Likewise.
6330 (gimple_eh_filter_types_ptr): Likewise.
6331 (gimple_eh_filter_failure_ptr): Likewise.
6332 (gimple_eh_filter_set_types): Likewise.
6333 (gimple_eh_filter_set_failure): Likewise.
6334 (gimple_eh_must_not_throw_fndecl): Likewise.
6335 (gimple_eh_must_not_throw_set_fndecl): Likewise.
6336 (gimple_eh_else_n_body_ptr): Likewise.
6337 (gimple_eh_else_e_body_ptr): Likewise.
6338 (gimple_eh_else_set_n_body): Likewise.
6339 (gimple_eh_else_set_e_body): Likewise.
6340 (gimple_try_eval_ptr): Likewise.
6341 (gimple_try_cleanup_ptr): Likewise.
6342 (gimple_try_set_eval): Likewise.
6343 (gimple_try_set_cleanup): Likewise.
6344 (gimple_wce_cleanup_ptr): Likewise.
6345 (gimple_wce_set_cleanup): Likewise.
6346 (gimple_phi_capacity): Likewise.
6347 (gimple_phi_num_args): Likewise.
6348 (gimple_phi_result): Likewise.
6349 (gimple_phi_result_ptr): Likewise.
6350 (gimple_phi_set_result): Likewise.
6351 (gimple_phi_arg): Likewise.
6352 (gimple_phi_set_arg): Likewise.
6353 (gimple_resx_region): Likewise.
6354 (gimple_resx_set_region): Likewise.
6355 (gimple_eh_dispatch_region): Likewise.
6356 (gimple_eh_dispatch_set_region): Likewise.
6357 (gimple_omp_critical_name): Likewise.
6358 (gimple_omp_critical_name_ptr): Likewise.
6359 (gimple_omp_critical_set_name): Likewise.
6360 (gimple_omp_for_clauses): Likewise.
6361 (gimple_omp_for_clauses_ptr): Likewise.
6362 (gimple_omp_for_set_clauses): Likewise.
6363 (gimple_omp_for_collapse): Likewise.
6364 (gimple_omp_for_index): Likewise.
6365 (gimple_omp_for_index_ptr): Likewise.
6366 (gimple_omp_for_set_index): Likewise.
6367 (gimple_omp_for_initial): Likewise.
6368 (gimple_omp_for_initial_ptr): Likewise.
6369 (gimple_omp_for_set_initial): Likewise.
6370 (gimple_omp_for_final): Likewise.
6371 (gimple_omp_for_final_ptr): Likewise.
6372 (gimple_omp_for_set_final): Likewise.
6373 (gimple_omp_for_incr): Likewise.
6374 (gimple_omp_for_incr_ptr): Likewise.
6375 (gimple_omp_for_set_incr): Likewise.
6376 (gimple_omp_for_pre_body_ptr): Likewise.
6377 (gimple_omp_for_set_pre_body): Likewise.
6378 (gimple_omp_parallel_clauses): Likewise.
6379 (gimple_omp_parallel_clauses_ptr): Likewise.
6380 (gimple_omp_parallel_set_clauses): Likewise.
6381 (gimple_omp_parallel_child_fn): Likewise.
6382 (gimple_omp_parallel_child_fn_ptr): Likewise.
6383 (gimple_omp_parallel_set_child_fn): Likewise.
6384 (gimple_omp_parallel_data_arg): Likewise.
6385 (gimple_omp_parallel_data_arg_ptr): Likewise.
6386 (gimple_omp_parallel_set_data_arg): Likewise.
6387 (gimple_omp_task_clauses): Likewise.
6388 (gimple_omp_task_clauses_ptr): Likewise.
6389 (gimple_omp_task_set_clauses): Likewise.
6390 (gimple_omp_task_child_fn): Likewise.
6391 (gimple_omp_task_child_fn_ptr): Likewise.
6392 (gimple_omp_task_set_child_fn): Likewise.
6393 (gimple_omp_task_data_arg): Likewise.
6394 (gimple_omp_task_data_arg_ptr): Likewise.
6395 (gimple_omp_task_set_data_arg): Likewise.
6396 (gimple_omp_taskreg_clauses): Likewise.
6397 (gimple_omp_taskreg_clauses_ptr): Likewise.
6398 (gimple_omp_taskreg_set_clauses): Likewise.
6399 (gimple_omp_taskreg_child_fn): Likewise.
6400 (gimple_omp_taskreg_child_fn_ptr): Likewise.
6401 (gimple_omp_taskreg_set_child_fn): Likewise.
6402 (gimple_omp_taskreg_data_arg): Likewise.
6403 (gimple_omp_taskreg_data_arg_ptr): Likewise.
6404 (gimple_omp_taskreg_set_data_arg): Likewise.
6405 (gimple_omp_task_copy_fn): Likewise.
6406 (gimple_omp_task_copy_fn_ptr): Likewise.
6407 (gimple_omp_task_set_copy_fn): Likewise.
6408 (gimple_omp_task_arg_size): Likewise.
6409 (gimple_omp_task_arg_size_ptr): Likewise.
6410 (gimple_omp_task_set_arg_size): Likewise.
6411 (gimple_omp_task_arg_align): Likewise.
6412 (gimple_omp_task_arg_align_ptr): Likewise.
6413 (gimple_omp_task_set_arg_align): Likewise.
6414 (gimple_omp_single_clauses): Likewise.
6415 (gimple_omp_single_clauses_ptr): Likewise.
6416 (gimple_omp_single_set_clauses): Likewise.
6417 (gimple_omp_target_clauses): Likewise.
6418 (gimple_omp_target_clauses_ptr): Likewise.
6419 (gimple_omp_target_set_clauses): Likewise.
6420 (gimple_omp_target_child_fn): Likewise.
6421 (gimple_omp_target_child_fn_ptr): Likewise.
6422 (gimple_omp_target_set_child_fn): Likewise.
6423 (gimple_omp_target_data_arg): Likewise.
6424 (gimple_omp_target_data_arg_ptr): Likewise.
6425 (gimple_omp_target_set_data_arg): Likewise.
6426 (gimple_omp_teams_clauses): Likewise.
6427 (gimple_omp_teams_clauses_ptr): Likewise.
6428 (gimple_omp_teams_set_clauses): Likewise.
6429 (gimple_omp_sections_clauses): Likewise.
6430 (gimple_omp_sections_clauses_ptr): Likewise.
6431 (gimple_omp_sections_set_clauses): Likewise.
6432 (gimple_omp_sections_control): Likewise.
6433 (gimple_omp_sections_control_ptr): Likewise.
6434 (gimple_omp_sections_set_control): Likewise.
6435 (gimple_omp_for_set_cond): Likewise.
6436 (gimple_omp_for_cond): Likewise.
6437 (gimple_omp_atomic_store_set_val): Likewise.
6438 (gimple_omp_atomic_store_val): Likewise.
6439 (gimple_omp_atomic_store_val_ptr): Likewise.
6440 (gimple_omp_atomic_load_set_lhs): Likewise.
6441 (gimple_omp_atomic_load_lhs): Likewise.
6442 (gimple_omp_atomic_load_lhs_ptr): Likewise.
6443 (gimple_omp_atomic_load_set_rhs): Likewise.
6444 (gimple_omp_atomic_load_rhs): Likewise.
6445 (gimple_omp_atomic_load_rhs_ptr): Likewise.
6446 (gimple_omp_continue_control_def): Likewise.
6447 (gimple_omp_continue_control_def_ptr): Likewise.
6448 (gimple_omp_continue_set_control_def): Likewise.
6449 (gimple_omp_continue_control_use): Likewise.
6450 (gimple_omp_continue_control_use_ptr): Likewise.
6451 (gimple_omp_continue_set_control_use): Likewise.
6452 (gimple_transaction_body_ptr): Likewise.
6453 (gimple_transaction_label): Likewise.
6454 (gimple_transaction_label_ptr): Likewise.
6455 (gimple_transaction_set_body): Likewise.
6456 (gimple_transaction_set_label): Likewise.
6457
6458 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
6459 * ipa-inline-analysis.c (inline_write_summary): Likewise.
6460 * ipa-ref.c (ipa_record_reference): Likewise.
6461 * ipa-reference.c (analyze_function): Likewise.
6462 (ipa_reference_write_optimization_summary): Likewise.
6463 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
6464 (address_taken_from_non_vtable_p): Likewise.
6465 (comdat_can_be_unshared_p_1): Likewise.
6466 * lto-cgraph.c (lto_output_ref): Likewise.
6467 (add_references): Likewise.
6468 (compute_ltrans_boundary): Likewise.
6469 (output_symtab): Likewise.
6470 (input_ref): Likewise.
6471 (input_cgraph_1): Likewise.
6472 (output_cgraph_opt_summary): Likewise.
6473 * lto-streamer-out.c (lto_output): Likewise.
6474 (output_symbol_p): Likewise.
6475 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
6476 (lsei_start_function_in_partition): Likewise.
6477 (lsei_next_variable_in_partition): Likewise.
6478 (lsei_start_variable_in_partition): Likewise.
6479 * symtab.c (insert_to_assembler_name_hash): Likewise.
6480 (unlink_from_assembler_name_hash): Likewise.
6481 (symtab_unregister_node): Likewise.
6482 (symtab_remove_node): Likewise.
6483 (dump_symtab_node): Likewise.
6484 (verify_symtab_base): Likewise.
6485 (verify_symtab_node): Likewise.
6486 (symtab_make_decl_local): Likewise.
6487 (symtab_alias_ultimate_target): Likewise.
6488 (symtab_resolve_alias): Likewise.
6489 (symtab_get_symbol_partitioning_class): Likewise.
6490 * tree-phinodes.c (allocate_phi_node): Likewise.
6491 (reserve_phi_args_for_new_edge): Likewise.
6492 (remove_phi_args): Likewise.
6493 * varpool.c (varpool_node_for_asm): Likewise.
6494 (varpool_remove_unreferenced_decls): Likewise.
6495
9219922e
JL
64962014-04-23 Jeff Law <law@redhat.com>
6497
6498 PR tree-optimization/60902
6499 * tree-ssa-threadedge.c
6500 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
6501 invalidate outputs from statements that do not produce useful
6502 outputs for threading.
6503
b6db8af6 65042014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
6505
6506 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
6507 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
6508 machine descriptions for Stack Smashing Protector.
6509
57b77d46
RE
65102014-04-23 Richard Earnshaw <rearnsha@arm.com>
6511
6512 * aarch64.md (<optab>_rol<mode>3): New pattern.
6513 (<optab>_rolsi3_uxtw): Likewise.
6514 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
6515
984c2f30
JG
65162014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
6517
6518 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
6519 (arm_cortex_a12_tune): Likewise.
6520
18b42b2a
KT
65212014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6522
6523 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
6524
ea1e9168
KT
65252014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6526
6527 * config/arm/arm.md (arm_rev16si2): New pattern.
6528 (arm_rev16si2_alt): Likewise.
6529 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
6530
f7d5cf8d
KT
65312014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6532
b6db8af6
UB
6533 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
6534 (rev16<mode>2_alt): Likewise.
6535 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
6536 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
6537 (aarch_rev16_shleft_mask_imm_p): Likewise.
6538 (aarch_rev16_p_1): Likewise.
6539 (aarch_rev16_p): Likewise.
6540 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
6541 (aarch_rev16_shright_mask_imm_p): Likewise.
6542 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 6543
9ac05ae5
KT
65442014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6545
b6db8af6
UB
6546 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
6547 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
6548 rev cost.
6549 (cortex_a53_extra_costs): Likewise.
6550 (cortex_a57_extra_costs): Likewise.
6551 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
6552 (cortexa7_extra_costs): Likewise.
6553 (cortexa8_extra_costs): Likewise.
6554 (cortexa12_extra_costs): Likewise.
6555 (cortexa15_extra_costs): Likewise.
6556 (v7m_extra_costs): Likewise.
6557 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 6558
e0d8c86c
KT
65592013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6560
b6db8af6
UB
6561 * config/arm/arm.c (cortexa8_extra_costs): New table.
6562 (arm_cortex_a8_tune): New tuning struct.
6563 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 6564
ba9b1a63
KT
65652014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6566
b6db8af6 6567 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 6568
da4cfeac
RB
65692014-04-23 Richard Biener <rguenther@suse.de>
6570
6571 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
6572 * tree-pass.h (make_pass_rtl_unswitch): Remove.
6573 * passes.def (pass_rtl_unswitch): Likewise.
6574 * loop-init.c (gate_rtl_unswitch): Likewise.
6575 (rtl_unswitch): Likewise.
6576 (pass_data_rtl_unswitch): Likewise.
6577 (pass_rtl_unswitch): Likewise.
6578 (make_pass_rtl_unswitch): Likewise.
6579 * rtl.h (reversed_condition): Likewise.
6580 (compare_and_jump_seq): Likewise.
6581 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
6582 and make static.
6583 * loop-unroll.c (compare_and_jump_seq): Likewise.
6584
22718afe
RB
65852014-04-23 Richard Biener <rguenther@suse.de>
6586
6587 PR tree-optimization/60903
6588 * tree-ssa-loop-im.c (analyze_memory_references): Remove
6589 commented code block.
6590 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
6591 loop flags to newly created BBs and edges.
6592
f7961364
NC
65932014-04-23 Nick Clifton <nickc@redhat.com>
6594
6595 * config/msp430/msp430.c (msp430_handle_option): Move function
6596 to msp430-common.c
6597 (msp430_option_override): Simplify mcu and mcpu option handling.
6598 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
6599 support for -mhwmult command line option.
6600 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
6601 -mhwmult command line option.
6602 (msp430_hwmult_enabled): Delete.
b6db8af6 6603 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
6604 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
6605 (umulsidi3): Likewise.
6606 * config/msp430/msp430.opt (mmcu): Add Report attribute.
6607 (mcpu, mlarge, msmall): Likewise.
6608 (mhwmult): New option.
6609 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
6610 prototype.
6611 (msp430_is_f5_mcu): Remove prototype.
6612 (msp430_use_f5_series_hwmult): Add prototype.
6613 * config/msp430/msp430-opts.h: New file.
6614 * common/config/msp430: New directory.
6615 * common/config/msp430/msp430-common.c: New file.
6616 * config.gcc (msp430): Remove target_has_targetm_common.
6617 * doc/invoke.texi: Document -mhwmult command line option.
6618
f70df035
NC
66192014-04-23 Nick Clifton <nickc@redhat.com>
6620
6621 * config/i386/cygwin.h (ENDFILE_SPEC): Include
6622 default-manifest.o if it can be found in the search path.
6623 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
6624
6a9accca
TG
66252014-04-23 Terry Guo <terry.guo@arm.com>
6626
6627 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
6628
62ba699e
RB
66292014-04-23 Richard Biener <rguenther@suse.de>
6630
6631 PR middle-end/60895
6632 * tree-inline.c (declare_return_variable): Use mark_addressable.
6633
92562f88
RB
66342014-04-23 Richard Biener <rguenther@suse.de>
6635
6636 PR middle-end/60891
6637 * loop-init.c (loop_optimizer_init): Make sure to apply
6638 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
6639
1c33c9b7
JJ
66402014-04-22 Jakub Jelinek <jakub@redhat.com>
6641
6642 PR sanitizer/60275
6643 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
6644 New options.
6645 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
6646 if flag_sanitize_undefined_trap_on_error.
6647 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
6648 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
6649 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
6650 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
6651 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
6652 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
6653 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
6654 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
6655 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
6656 * ubsan.c (ubsan_instrument_unreachable): Return
6657 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
6658 (ubsan_expand_null_ifn): Emit __builtin_trap ()
6659 if flag_sanitize_undefined_trap_on_error and
6660 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
6661 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
6662 instrument_bool_enum_load): Emit __builtin_trap () if
6663 flag_sanitize_undefined_trap_on_error and
6664 __builtin_handle_*_abort () if !flag_sanitize_recover.
6665 * doc/invoke.texi (-fsanitize-recover,
6666 -fsanitize-undefined-trap-on-error): Document.
6667
5e66b2e5
CB
66682014-04-22 Christian Bruel <christian.bruel@st.com>
6669
6670 * config/sh/sh.md (mov<mode>): Replace movQIHI.
6671 Force immediates to SImode.
6672
aa221564
SL
66732014-04-22 Sandra Loosemore <sandra@codesourcery.com>
6674
6675 * config/nios2/nios2.md (UNSPEC_ROUND): New.
6676 (lroundsfsi2): New.
6677 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
6678 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
6679 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
6680 (nios2_fpu_insn): Add entry for round.
6681 (N2FPU_NO_ERRNO_P): Define.
6682 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
6683 flag_errno_math.
6684 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
6685
2195867f
RH
66862014-04-22 Richard Henderson <rth@redhat.com>
6687
6688 * config/aarch64/aarch64 (addti3, subti3): New expanders.
6689 (add<GPI>3_compare0): Remove leading * from name.
6690 (add<GPI>3_carryin): Likewise.
6691 (sub<GPI>3_compare0): Likewise.
6692 (sub<GPI>3_carryin): Likewise.
6693 (<su_optab>mulditi3): New expander.
6694 (multi3): New expander.
6695 (madd<GPI>): Remove leading * from name.
6696
c6d43074
MJ
66972014-04-22 Martin Jambor <mjambor@suse.cz>
6698
6699 * cgraphclones.c (cgraph_function_versioning): Copy
6700 ipa_transforms_to_apply instead of asserting it is empty.
6701
e54c2dd3
L
67022014-04-22 H.J. Lu <hongjiu.lu@intel.com>
6703
6704 PR target/60868
f70df035 6705 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
6706 on count_exp to get mode.
6707
621ad2de
AP
67082014-04-22 Andrew Pinski <apinski@cavium.com>
6709
6710 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
6711 Handle TLS for ILP32.
6712 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
6713 (tlsie_small_<mode>): this and handle PTR.
6714 (tlsie_small_sidi): New pattern.
6715 (tlsle_small): Change to an expand to handle ILP32.
6716 (tlsle_small_<mode>): New pattern.
6717 (tlsdesc_small): Rename to ...
6718 (tlsdesc_small_<mode>): this and handle PTR.
6719
5cb74e90
RR
67202014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6721
6722 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
6723
bcd48995
AV
67242014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6725
6726 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6727 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
6728 (aarch64_types_signed_poly_qualifiers): Likewise.
6729 (aarch64_types_unsigned_signed_qualifiers): Likewise.
6730 (aarch64_types_poly_signed_qualifiers): Likewise.
6731 (TYPES_REINTERP_SS): Type macro added.
6732 (TYPES_REINTERP_SU): Likewise.
6733 (TYPES_REINTERP_SP): Likewise.
6734 (TYPES_REINTERP_US): Likewise.
6735 (TYPES_REINTERP_PS): Likewise.
6736 (aarch64_fold_builtin): New expression folding added.
6737 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
6738 Declarations removed.
6739 (REINTERP_SS): Declarations added.
6740 (REINTERP_US): Likewise.
6741 (REINTERP_PS): Likewise.
6742 (REINTERP_SU): Likewise.
6743 (REINTERP_SP): Likewise.
6744 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
6745 (vreinterpretq_p8_f64): Likewise.
6746 (vreinterpret_p16_f64): Likewise.
6747 (vreinterpretq_p16_f64): Likewise.
6748 (vreinterpret_f32_f64): Likewise.
6749 (vreinterpretq_f32_f64): Likewise.
6750 (vreinterpret_f64_f32): Likewise.
6751 (vreinterpret_f64_p8): Likewise.
6752 (vreinterpret_f64_p16): Likewise.
6753 (vreinterpret_f64_s8): Likewise.
6754 (vreinterpret_f64_s16): Likewise.
6755 (vreinterpret_f64_s32): Likewise.
6756 (vreinterpret_f64_s64): Likewise.
6757 (vreinterpret_f64_u8): Likewise.
6758 (vreinterpret_f64_u16): Likewise.
6759 (vreinterpret_f64_u32): Likewise.
6760 (vreinterpret_f64_u64): Likewise.
6761 (vreinterpretq_f64_f32): Likewise.
6762 (vreinterpretq_f64_p8): Likewise.
6763 (vreinterpretq_f64_p16): Likewise.
6764 (vreinterpretq_f64_s8): Likewise.
6765 (vreinterpretq_f64_s16): Likewise.
6766 (vreinterpretq_f64_s32): Likewise.
6767 (vreinterpretq_f64_s64): Likewise.
6768 (vreinterpretq_f64_u8): Likewise.
6769 (vreinterpretq_f64_u16): Likewise.
6770 (vreinterpretq_f64_u32): Likewise.
6771 (vreinterpretq_f64_u64): Likewise.
6772 (vreinterpret_s64_f64): Likewise.
6773 (vreinterpretq_s64_f64): Likewise.
6774 (vreinterpret_u64_f64): Likewise.
6775 (vreinterpretq_u64_f64): Likewise.
6776 (vreinterpret_s8_f64): Likewise.
6777 (vreinterpretq_s8_f64): Likewise.
6778 (vreinterpret_s16_f64): Likewise.
6779 (vreinterpretq_s16_f64): Likewise.
6780 (vreinterpret_s32_f64): Likewise.
6781 (vreinterpretq_s32_f64): Likewise.
6782 (vreinterpret_u8_f64): Likewise.
6783 (vreinterpretq_u8_f64): Likewise.
6784 (vreinterpret_u16_f64): Likewise.
6785 (vreinterpretq_u16_f64): Likewise.
6786 (vreinterpret_u32_f64): Likewise.
6787 (vreinterpretq_u32_f64): Likewise.
6788
0bf3afc1
AV
67892014-04-22 Alex Velenko <Alex.Velenko@arm.com>
6790
6791 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
6792 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
6793 (vreinterpret_p8_s8): Likewise.
6794 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
6795 (vreinterpret_p8_s16): Likewise.
6796 (vreinterpret_p8_s32): Likewise.
6797 (vreinterpret_p8_s64): Likewise.
6798 (vreinterpret_p8_f32): Likewise.
6799 (vreinterpret_p8_u8): Likewise.
6800 (vreinterpret_p8_u16): Likewise.
6801 (vreinterpret_p8_u32): Likewise.
6802 (vreinterpret_p8_u64): Likewise.
6803 (vreinterpret_p8_p16): Likewise.
6804 (vreinterpretq_p8_s8): Likewise.
6805 (vreinterpretq_p8_s16): Likewise.
6806 (vreinterpretq_p8_s32): Likewise.
6807 (vreinterpretq_p8_s64): Likewise.
6808 (vreinterpretq_p8_f32): Likewise.
6809 (vreinterpretq_p8_u8): Likewise.
6810 (vreinterpretq_p8_u16): Likewise.
6811 (vreinterpretq_p8_u32): Likewise.
6812 (vreinterpretq_p8_u64): Likewise.
6813 (vreinterpretq_p8_p16): Likewise.
6814 (vreinterpret_p16_s8): Likewise.
6815 (vreinterpret_p16_s16): Likewise.
6816 (vreinterpret_p16_s32): Likewise.
6817 (vreinterpret_p16_s64): Likewise.
6818 (vreinterpret_p16_f32): Likewise.
6819 (vreinterpret_p16_u8): Likewise.
6820 (vreinterpret_p16_u16): Likewise.
6821 (vreinterpret_p16_u32): Likewise.
6822 (vreinterpret_p16_u64): Likewise.
6823 (vreinterpret_p16_p8): Likewise.
6824 (vreinterpretq_p16_s8): Likewise.
6825 (vreinterpretq_p16_s16): Likewise.
6826 (vreinterpretq_p16_s32): Likewise.
6827 (vreinterpretq_p16_s64): Likewise.
6828 (vreinterpretq_p16_f32): Likewise.
6829 (vreinterpretq_p16_u8): Likewise.
6830 (vreinterpretq_p16_u16): Likewise.
6831 (vreinterpretq_p16_u32): Likewise.
6832 (vreinterpretq_p16_u64): Likewise.
6833 (vreinterpretq_p16_p8): Likewise.
6834 (vreinterpret_f32_s8): Likewise.
6835 (vreinterpret_f32_s16): Likewise.
6836 (vreinterpret_f32_s32): Likewise.
6837 (vreinterpret_f32_s64): Likewise.
6838 (vreinterpret_f32_u8): Likewise.
6839 (vreinterpret_f32_u16): Likewise.
6840 (vreinterpret_f32_u32): Likewise.
6841 (vreinterpret_f32_u64): Likewise.
6842 (vreinterpret_f32_p8): Likewise.
6843 (vreinterpret_f32_p16): Likewise.
6844 (vreinterpretq_f32_s8): Likewise.
6845 (vreinterpretq_f32_s16): Likewise.
6846 (vreinterpretq_f32_s32): Likewise.
6847 (vreinterpretq_f32_s64): Likewise.
6848 (vreinterpretq_f32_u8): Likewise.
6849 (vreinterpretq_f32_u16): Likewise.
6850 (vreinterpretq_f32_u32): Likewise.
6851 (vreinterpretq_f32_u64): Likewise.
6852 (vreinterpretq_f32_p8): Likewise.
6853 (vreinterpretq_f32_p16): Likewise.
6854 (vreinterpret_s64_s8): Likewise.
6855 (vreinterpret_s64_s16): Likewise.
6856 (vreinterpret_s64_s32): Likewise.
6857 (vreinterpret_s64_f32): Likewise.
6858 (vreinterpret_s64_u8): Likewise.
6859 (vreinterpret_s64_u16): Likewise.
6860 (vreinterpret_s64_u32): Likewise.
6861 (vreinterpret_s64_u64): Likewise.
6862 (vreinterpret_s64_p8): Likewise.
6863 (vreinterpret_s64_p16): Likewise.
6864 (vreinterpretq_s64_s8): Likewise.
6865 (vreinterpretq_s64_s16): Likewise.
6866 (vreinterpretq_s64_s32): Likewise.
6867 (vreinterpretq_s64_f32): Likewise.
6868 (vreinterpretq_s64_u8): Likewise.
6869 (vreinterpretq_s64_u16): Likewise.
6870 (vreinterpretq_s64_u32): Likewise.
6871 (vreinterpretq_s64_u64): Likewise.
6872 (vreinterpretq_s64_p8): Likewise.
6873 (vreinterpretq_s64_p16): Likewise.
6874 (vreinterpret_u64_s8): Likewise.
6875 (vreinterpret_u64_s16): Likewise.
6876 (vreinterpret_u64_s32): Likewise.
6877 (vreinterpret_u64_s64): Likewise.
6878 (vreinterpret_u64_f32): Likewise.
6879 (vreinterpret_u64_u8): Likewise.
6880 (vreinterpret_u64_u16): Likewise.
6881 (vreinterpret_u64_u32): Likewise.
6882 (vreinterpret_u64_p8): Likewise.
6883 (vreinterpret_u64_p16): Likewise.
6884 (vreinterpretq_u64_s8): Likewise.
6885 (vreinterpretq_u64_s16): Likewise.
6886 (vreinterpretq_u64_s32): Likewise.
6887 (vreinterpretq_u64_s64): Likewise.
6888 (vreinterpretq_u64_f32): Likewise.
6889 (vreinterpretq_u64_u8): Likewise.
6890 (vreinterpretq_u64_u16): Likewise.
6891 (vreinterpretq_u64_u32): Likewise.
6892 (vreinterpretq_u64_p8): Likewise.
6893 (vreinterpretq_u64_p16): Likewise.
6894 (vreinterpret_s8_s16): Likewise.
6895 (vreinterpret_s8_s32): Likewise.
6896 (vreinterpret_s8_s64): Likewise.
6897 (vreinterpret_s8_f32): Likewise.
6898 (vreinterpret_s8_u8): Likewise.
6899 (vreinterpret_s8_u16): Likewise.
6900 (vreinterpret_s8_u32): Likewise.
6901 (vreinterpret_s8_u64): Likewise.
6902 (vreinterpret_s8_p8): Likewise.
6903 (vreinterpret_s8_p16): Likewise.
6904 (vreinterpretq_s8_s16): Likewise.
6905 (vreinterpretq_s8_s32): Likewise.
6906 (vreinterpretq_s8_s64): Likewise.
6907 (vreinterpretq_s8_f32): Likewise.
6908 (vreinterpretq_s8_u8): Likewise.
6909 (vreinterpretq_s8_u16): Likewise.
6910 (vreinterpretq_s8_u32): Likewise.
6911 (vreinterpretq_s8_u64): Likewise.
6912 (vreinterpretq_s8_p8): Likewise.
6913 (vreinterpretq_s8_p16): Likewise.
6914 (vreinterpret_s16_s8): Likewise.
6915 (vreinterpret_s16_s32): Likewise.
6916 (vreinterpret_s16_s64): Likewise.
6917 (vreinterpret_s16_f32): Likewise.
6918 (vreinterpret_s16_u8): Likewise.
6919 (vreinterpret_s16_u16): Likewise.
6920 (vreinterpret_s16_u32): Likewise.
6921 (vreinterpret_s16_u64): Likewise.
6922 (vreinterpret_s16_p8): Likewise.
6923 (vreinterpret_s16_p16): Likewise.
6924 (vreinterpretq_s16_s8): Likewise.
6925 (vreinterpretq_s16_s32): Likewise.
6926 (vreinterpretq_s16_s64): Likewise.
6927 (vreinterpretq_s16_f32): Likewise.
6928 (vreinterpretq_s16_u8): Likewise.
6929 (vreinterpretq_s16_u16): Likewise.
6930 (vreinterpretq_s16_u32): Likewise.
6931 (vreinterpretq_s16_u64): Likewise.
6932 (vreinterpretq_s16_p8): Likewise.
6933 (vreinterpretq_s16_p16): Likewise.
6934 (vreinterpret_s32_s8): Likewise.
6935 (vreinterpret_s32_s16): Likewise.
6936 (vreinterpret_s32_s64): Likewise.
6937 (vreinterpret_s32_f32): Likewise.
6938 (vreinterpret_s32_u8): Likewise.
6939 (vreinterpret_s32_u16): Likewise.
6940 (vreinterpret_s32_u32): Likewise.
6941 (vreinterpret_s32_u64): Likewise.
6942 (vreinterpret_s32_p8): Likewise.
6943 (vreinterpret_s32_p16): Likewise.
6944 (vreinterpretq_s32_s8): Likewise.
6945 (vreinterpretq_s32_s16): Likewise.
6946 (vreinterpretq_s32_s64): Likewise.
6947 (vreinterpretq_s32_f32): Likewise.
6948 (vreinterpretq_s32_u8): Likewise.
6949 (vreinterpretq_s32_u16): Likewise.
6950 (vreinterpretq_s32_u32): Likewise.
6951 (vreinterpretq_s32_u64): Likewise.
6952 (vreinterpretq_s32_p8): Likewise.
6953 (vreinterpretq_s32_p16): Likewise.
6954 (vreinterpret_u8_s8): Likewise.
6955 (vreinterpret_u8_s16): Likewise.
6956 (vreinterpret_u8_s32): Likewise.
6957 (vreinterpret_u8_s64): Likewise.
6958 (vreinterpret_u8_f32): Likewise.
6959 (vreinterpret_u8_u16): Likewise.
6960 (vreinterpret_u8_u32): Likewise.
6961 (vreinterpret_u8_u64): Likewise.
6962 (vreinterpret_u8_p8): Likewise.
6963 (vreinterpret_u8_p16): Likewise.
6964 (vreinterpretq_u8_s8): Likewise.
6965 (vreinterpretq_u8_s16): Likewise.
6966 (vreinterpretq_u8_s32): Likewise.
6967 (vreinterpretq_u8_s64): Likewise.
6968 (vreinterpretq_u8_f32): Likewise.
6969 (vreinterpretq_u8_u16): Likewise.
6970 (vreinterpretq_u8_u32): Likewise.
6971 (vreinterpretq_u8_u64): Likewise.
6972 (vreinterpretq_u8_p8): Likewise.
6973 (vreinterpretq_u8_p16): Likewise.
6974 (vreinterpret_u16_s8): Likewise.
6975 (vreinterpret_u16_s16): Likewise.
6976 (vreinterpret_u16_s32): Likewise.
6977 (vreinterpret_u16_s64): Likewise.
6978 (vreinterpret_u16_f32): Likewise.
6979 (vreinterpret_u16_u8): Likewise.
6980 (vreinterpret_u16_u32): Likewise.
6981 (vreinterpret_u16_u64): Likewise.
6982 (vreinterpret_u16_p8): Likewise.
6983 (vreinterpret_u16_p16): Likewise.
6984 (vreinterpretq_u16_s8): Likewise.
6985 (vreinterpretq_u16_s16): Likewise.
6986 (vreinterpretq_u16_s32): Likewise.
6987 (vreinterpretq_u16_s64): Likewise.
6988 (vreinterpretq_u16_f32): Likewise.
6989 (vreinterpretq_u16_u8): Likewise.
6990 (vreinterpretq_u16_u32): Likewise.
6991 (vreinterpretq_u16_u64): Likewise.
6992 (vreinterpretq_u16_p8): Likewise.
6993 (vreinterpretq_u16_p16): Likewise.
6994 (vreinterpret_u32_s8): Likewise.
6995 (vreinterpret_u32_s16): Likewise.
6996 (vreinterpret_u32_s32): Likewise.
6997 (vreinterpret_u32_s64): Likewise.
6998 (vreinterpret_u32_f32): Likewise.
6999 (vreinterpret_u32_u8): Likewise.
7000 (vreinterpret_u32_u16): Likewise.
7001 (vreinterpret_u32_u64): Likewise.
7002 (vreinterpret_u32_p8): Likewise.
7003 (vreinterpret_u32_p16): Likewise.
7004 (vreinterpretq_u32_s8): Likewise.
7005 (vreinterpretq_u32_s16): Likewise.
7006 (vreinterpretq_u32_s32): Likewise.
7007 (vreinterpretq_u32_s64): Likewise.
7008 (vreinterpretq_u32_f32): Likewise.
7009 (vreinterpretq_u32_u8): Likewise.
7010 (vreinterpretq_u32_u16): Likewise.
7011 (vreinterpretq_u32_u64): Likewise.
7012 (vreinterpretq_u32_p8): Likewise.
7013 (vreinterpretq_u32_p16): Likewise.
7014
9551c7ec
AV
70152014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7016
7017 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
7018 Pattern extended.
b6db8af6 7019 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
7020 (sqabs): Likewise.
7021 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
7022 (vqnegd_s64): Likewise.
7023 (vqabs_s64): Likewise.
7024 (vqabsd_s64): Likewise.
7025
f2a2c4b5
RH
70262014-04-22 Richard Henderson <rth@redhat.com>
7027
7028 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
7029 computation to the top of the loop.
7030
53e5ace2
RL
70312014-04-22 Renlin <renlin.li@arm.com>
7032 Jiong Wang <jiong.wang@arm.com>
7033
7034 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
7035 * config/aarch64/aarch64.c (aarch64_layout_frame)
7036 (aarch64_initial_elimination_offset): Likewise.
7037
78c29983
MS
70382014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
7039
7040 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
7041 Fix indentation.
7042
dbf23a79
RS
70432014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
7044
7045 * machmode.h (bitwise_mode_for_mode): Declare.
7046 * stor-layout.h (bitwise_type_for_mode): Likewise.
7047 * stor-layout.c (bitwise_mode_for_mode): New function.
7048 (bitwise_type_for_mode): Likewise.
7049 * builtins.c (fold_builtin_memory_op): Use it instead of
7050 int_mode_for_mode and build_nonstandard_integer_type.
7051
d9f069ab
RO
70522014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7053
7054 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
7055 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
7056 (*-*-solaris2*): Simplify.
7057 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
7058 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
7059 *-*-solaris2.9* handling.
7060
7061 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
7062 as bug.
7063 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
7064 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
7065 handling, simplify.
7066 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
7067 * configure: Regenerate.
7068
7069 * config/i386/sol2-9.h: Remove.
7070
7071 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
7072 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
7073 Remove Solaris 9 references.
7074
0d35c5c2
VP
70752014-04-22 Vidya Praveen <vidyapraveen@arm.com>
7076
7077 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
7078 (floatuns<GPI:mode><GPF:mode>2): Remove.
7079 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
7080 and floatuns conversions.
7081 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
7082 and floatuns conversions.
7083 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
7084 (w1,w2): New mode attributes for inequal width conversions.
7085
16a3246f
RL
70862014-04-22 Renlin Li <Renlin.Li@arm.com>
7087
7088 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
7089 the output asm format.
7090
110e1ccc
JG
70912014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
7092
7093 * config/aarch64/aarch64-simd.md
7094 (aarch64_cm<optab>di): Always split.
7095 (*aarch64_cm<optab>di): New.
7096 (aarch64_cmtstdi): Always split.
7097 (*aarch64_cmtstdi): New.
7098
2044a4c3
JJ
70992014-04-22 Jakub Jelinek <jakub@redhat.com>
7100
7101 PR tree-optimization/60823
7102 * omp-low.c (ipa_simd_modify_function_body): Go through
7103 all SSA_NAMEs and for those refering to vector arguments
7104 which are going to be replaced adjust SSA_NAME_VAR and,
7105 if it is a default definition, change it into a non-default
7106 definition assigned at the beginning of function from new_decl.
7107 (ipa_simd_modify_stmt_ops): Rewritten.
7108 * tree-dfa.c (set_ssa_default_def): When removing default def,
7109 check for NULL loc instead of NULL *loc.
7110
9d8b4d1c
RR
71112014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7112
7113 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
7114 restrictions on core registers for DImode values in Thumb2.
7115
a01be1ae
IB
71162014-04-22 Ian Bolton <ian.bolton@arm.com>
7117
7118 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
7119 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
7120
80d3417b
IB
71212014-04-22 Ian Bolton <ian.bolton@arm.com>
7122
7123 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
7124 (*iordi_notzesidi_di): Likewise.
7125 (*iordi_notsesidi_di): Likewise.
7126
46fbb3eb
IB
71272014-04-22 Ian Bolton <ian.bolton@arm.com>
7128
7129 * config/arm/arm-protos.h (tune_params): New struct members.
7130 * config/arm/arm.c: Initialise tune_params per processor.
7131 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
7132 for speed, based on new tune_params.
7133
74dc11ed
AV
71342014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7135
b6db8af6
UB
7136 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
7137 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
7138 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
7139 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
7140 * config/aarch64/arm_neon.h (vrnd_f64): Added.
7141 (vrnda_f64): Likewise.
7142 (vrndi_f64): Likewise.
7143 (vrndm_f64): Likewise.
7144 (vrndn_f64): Likewise.
7145 (vrndp_f64): Likewise.
7146 (vrndx_f64): Likewise.
7147
35923e46
ZC
71482014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
7149
7150 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
7151 GET_MODE_SIZE argument is enum machine_mode.
7152
4552e70c
JJ
71532014-04-22 Jakub Jelinek <jakub@redhat.com>
7154
7155 PR target/60910
7156 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
7157 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
7158
e5dcd695
LZ
71592014-04-22 Lin Zuojian <manjian2006@gmail.com>
7160
7161 PR middle-end/60281
7162 * asan.c (asan_emit_stack_protection): Force the base to align to
7163 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
7164 appropriate bits if STRICT_ALIGNMENT.
7165 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
7166 when asan is on.
7167 (expand_used_vars): Leave a space in the stack frame for alignment
7168 if STRICT_ALIGNMENT.
7169
7455080c
DM
71702014-04-21 David Malcolm <dmalcolm@redhat.com>
7171
7172 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
7173 than a gimple.
7174 (gimple_store_p): Likewise.
7175 (gimple_assign_load_p): Likewise.
7176 (gimple_assign_cast_p): Likewise.
7177 (gimple_clobber_p): Likewise.
7178
7179 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
7180 rather than a gimple.
7181 (gimple_assign_cast_p): Likewise.
7182
aeb9579a
MM
71832014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
7184
7185 PR target/60735
7186 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
7187 If mode is DDmode and TARGET_E500_DOUBLE allow move.
7188
7189 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
7190 more debug information for E500 if -mdebug=reg.
7191
b15d92bf
UB
71922014-04-21 Uros Bizjak <ubizjak@gmail.com>
7193
7194 PR target/60909
7195 * config/i386/i386.c (ix86_expand_builtin)
7196 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
7197 register for target RTX.
7198 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
7199
d367387c
CH
72002014-04-18 Cong Hou <congh@google.com>
7201
7202 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
7203 the widen-mult pattern by handling two operands with different sizes,
7204 and operands whose size is smaller than half of the result type.
d367387c 7205
b6d627e4
JH
72062014-04-18 Jan Hubicka <hubicka@ucw.cz>
7207
7208 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
7209 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
7210 (do_estimate_edge_time): Compute it.
7211 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 7212 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 7213
e86a910f
JH
72142014-04-18 Jan Hubicka <hubicka@ucw.cz>
7215
7216 * ipa-inline.c (spec_rem): New static variable.
7217 (dump_overall_stats): New function.
7218 (dump_inline_stats): New function.
7219
8a3a7e67
RH
72202014-04-18 Richard Henderson <rth@redhat.com>
7221
7222 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
7223 to GET_MODE_SIZE, not a reg_class_t.
7224
ed79f4d0
BS
72252014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7226
b15d92bf 7227 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
7228 (vsx_xxmrglw_<mode>): Likewise.
7229
fe799eea
MM
72302014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
7231
7232 PR target/60876
7233 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 7234 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
7235 (rs6000_init_hard_regno_mode_ok): Likewise.
7236
5e750dc6
JH
72372014-04-17 Jan Hubicka <hubicka@ucw.cz>
7238
7239 * ipa-inline.c (inline_small_functions): Account only non-cold
7240 functions.
7241 * doc/invoke.texi (inline-unit-growth): Update documentation.
7242
32337f10
PH
72432014-04-17 Pat Haugen <pthaugen@us.ibm.com>
7244
7245 * config/rs6000/rs6000.md (addti3, subti3): New.
7246
40ed344a
L
72472014-04-17 H.J. Lu <hongjiu.lu@intel.com>
7248
7249 PR target/60863
7250 * config/i386/i386.c (ix86_expand_clear): Remove outdated
7251 comment. Check optimize_insn_for_size_p instead of
7252 optimize_insn_for_speed_p.
7253
104cb50b
MJ
72542014-04-17 Martin Jambor <mjambor@suse.cz>
7255
7256 * gimple-iterator.c (gsi_start_edge): New function.
7257 * gimple-iterator.h (gsi_start_edge): Declare.
7258 * tree-sra.c (single_non_eh_succ): New function.
7259 (disqualify_ops_if_throwing_stmt): Renamed to
7260 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
7261 having one non-EH successor BB.
7262 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
7263 generate loads into replacements.
7264 (sra_modify_assign): Likewise and and also use the simple path for
7265 such statements.
7266 (sra_modify_function_body): Commit statements on edges.
7267
b94970bc
RB
72682014-04-17 Richard Biener <rguenther@suse.de>
7269
7270 PR middle-end/60849
7271 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
7272 comparison results and add clarifying comment.
7273
92f0f3ec
JJ
72742014-04-17 Jakub Jelinek <jakub@redhat.com>
7275
7276 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
7277 (blank_mode): Initialize it.
7278 (emit_mode_size_inline, emit_mode_nunits_inline,
7279 emit_mode_inner_inline): New functions.
7280 (emit_insn_modes_h): Call them and surround their output with
7281 #if GCC_VERSION >= 4001 ... #endif.
7282 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
7283 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
7284 mode_* arrays if the argument is __builtin_constant_p.
7285 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
7286 is enum machine_mode.
7287
be55bfe6
TS
72882014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7289
7290 * passes.c (opt_pass::execute): Adjust.
7291 (pass_manager::execute_pass_mode_switching): Likewise.
7292 (early_local_passes::execute): Likewise.
7293 (execute_one_pass): Pass cfun to the pass's execute method.
7294 * tree-pass.h (opt_pass::execute): Add function * argument.
7295 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
7296 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
7297 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
7298 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7299 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
7300 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
7301 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
7302 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
7303 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
7304 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
7305 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
7306 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
7307 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
7308 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
7309 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
7310 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
7311 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
7312 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
7313 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
7314 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7315 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7316 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7317 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7318 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7319 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7320 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7321 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
7322 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
7323 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
7324 Adjust.
7325
1a3d085c
TS
73262014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7327
7328 * passes.c (opt_pass::gate): Take function * argument.
7329 (gate_all_early_local_passes): Merge into
7330 (early_local_passes::gate): this.
7331 (gate_all_early_optimizations): Merge into
7332 (all_early_optimizations::gate): this.
7333 (gate_all_optimizations): Mege into
7334 (all_optimizations::gate): this.
7335 (gate_all_optimizations_g): Merge into
7336 (all_optimizations_g::gate): this.
7337 (gate_rest_of_compilation): Mege into
7338 (rest_of_compilation::gate): this.
7339 (gate_postreload): Merge into
7340 (postreload::gate): this.
7341 (dump_one_pass): Pass cfun to the pass's gate method.
7342 (execute_ipa_summary_passes): Likewise.
7343 (execute_one_pass): Likewise.
7344 (ipa_write_summaries_2): Likewise.
7345 (ipa_write_optimization_summaries_1): Likewise.
7346 (ipa_read_summaries_1): Likewise.
7347 (ipa_read_optimization_summaries_1): Likewise.
7348 (execute_ipa_stmt_fixups): Likewise.
7349 * tree-pass.h (opt_pass::gate): Add function * argument.
7350 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
7351 combine-stack-adj.c, combine.c, compare-elim.c,
7352 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7353 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
7354 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
7355 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
7356 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
7357 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
7358 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
7359 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
7360 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
7361 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
7362 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
7363 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
7364 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
7365 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
7366 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
7367 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7368 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7369 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7370 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7371 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7372 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7373 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7374 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
7375 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
7376 var-tracking.c, vtable-verify.c, web.c: Adjust.
7377
45887209
TS
73782014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7379
7380 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
7381 * configure: Regenerate.
7382
0481253d 73832014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 7384
0481253d
TS
7385 * passes.c (dump_one_pass): don't check pass->has_gate.
7386 (execute_ipa_summary_passes): Likewise.
7387 (execute_one_pass): Likewise.
7388 (ipa_write_summaries_2): Likewise.
7389 (ipa_write_optimization_summaries_1): Likewise.
7390 (ipa_read_optimization_summaries_1): Likewise.
7391 (execute_ipa_stmt_fixups): Likewise.
7392 * tree-pass.h (pass_data::has_gate): Remove.
7393 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
7394 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
7395 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
7396 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
7397 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
7398 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
7399 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
7400 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
7401 gimple-low.c, gimple-ssa-isolate-paths.c,
7402 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
7403 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
7404 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
7405 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
7406 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
7407 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
7408 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
7409 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
7410 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
7411 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
7412 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
7413 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
7414 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
7415 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
7416 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
7417 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
7418 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
7419 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
7420 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
7421 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
7422 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
7423 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
7424 Adjust.
7425
a23c217d
TS
74262014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7427
b15d92bf
UB
7428 * pass_manager.h (pass_manager::register_dump_files_1): Remove
7429 declaration.
a23c217d
TS
7430 * passes.c (pass_manager::register_dump_files_1): Merge into
7431 (pass_manager::register_dump_files): this, and remove its handling of
7432 properties since the pass always has the properties anyway.
7433 (pass_manager::pass_manager): Adjust.
7434
0cd11b40
TS
74352014-04-17 Trevor Saunders <tsaunders@mozilla.com>
7436
7437 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
7438 * passes.c (pass_manager::register_dump_files_1): Remove dead code
7439 dealing with properties.
7440 (pass_manager::register_dump_files): Adjust.
7441
79896351
MW
74422014-03-20 Mark Wielaard <mjw@redhat.com>
7443
7444 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
7445 then represent the bound as normal constant value.
7446
5a65129e
JJ
74472014-04-17 Jakub Jelinek <jakub@redhat.com>
7448
7449 PR target/60847
7450 Forward port from 4.8 branch
7451 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
7452
7453 * config/i386/bmiintrin.h (_blsi_u32): New.
7454 (_blsi_u64): Ditto.
7455 (_blsr_u32): Ditto.
7456 (_blsr_u64): Ditto.
7457 (_blsmsk_u32): Ditto.
7458 (_blsmsk_u64): Ditto.
7459 (_tzcnt_u32): Ditto.
7460 (_tzcnt_u64): Ditto.
7461
59b266b1
KC
74622014-04-17 Kito Cheng <kito@0xlab.org>
7463
7464 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
7465
83ad208e
RB
74662014-04-17 Richard Biener <rguenther@suse.de>
7467
7468 PR middle-end/60849
7469 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
7470 boolean results for comparisons.
7471
730e78b0
RB
74722014-04-17 Richard Biener <rguenther@suse.de>
7473
7474 PR tree-optimization/60836
7475 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
7476 initial PHI args to be gimple values.
7477
40c0a159 74782014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
7479
7480 PR tree-optimization/60841
7481 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
7482 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
7483 of stmts to SLP build.
7484 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
7485 (vect_analyze_slp): Likewise.
7486 (vect_analyze_slp_instance): Likewise.
7487 (vect_build_slp_tree): Limit overall SLP tree growth.
7488 * tree-vectorizer.h (vect_analyze_data_refs,
7489 vect_analyze_slp): Adjust prototypes.
7490
170c1776
ES
74912014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7492
7493 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
7494 Silvermont.
7495
a4ef7f3e
ES
74962014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7497
7498 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
7499 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
7500 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
7501 for TARGET_SLOW_PSHUFB
7502
cf055f6e
ES
75032014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
7504
7505 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
7506 * config/i386/i386.c (intel_cost): Ditto.
7507
eeee2277
JY
75082014-04-17 Joey Ye <joey.ye@arm.com>
7509
7510 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
7511
1c58fe29
JH
75122014-04-16 Jan Hubicka <hubicka@ucw.cz>
7513
7514 * opts.c (common_handle_option): Disable -fipa-reference coorectly
7515 with -fuse-profile.
7516
2d1644bf
JH
75172014-04-16 Jan Hubicka <hubicka@ucw.cz>
7518
7519 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
7520 (type_all_derivations_known_p): New predicate.
7521 (type_all_ctors_visible_p): New predicate.
7522 (type_possibly_instantiated_p): New predicate.
7523 (get_odr_type): Compute all_derivations_known.
7524 (dump_odr_type): Dump the flag.
7525 (maybe_record_type): Cleanup.
7526 (record_target_from_binfo): Add bases_to_consider array;
7527 record bases for types w/o instances and skip CXX destructor.
7528 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 7529 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
7530 (get_polymorphic_call_info): Set maybe_in_construction to true
7531 when we know nothing.
7532 (record_targets_from_bases): Skip CXX destructors; they are
7533 never called for types in construction.
7534 (possible_polymorphic_call_targets): Do not record target when
7535 type may not have instance.
7536
789c2741
JH
75372014-04-16 Jan Hubicka <hubicka@ucw.cz>
7538
7539 PR ipa/60854
7540 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
7541 external aliases alive, too.
7542
9950a4f2
AP
75432014-04-16 Andrew Pinski <apinski@cavium.com>
7544
7545 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 7546 definition.
9950a4f2 7547
82b9c015
EB
75482014-04-16 Eric Botcazou <ebotcazou@adacore.com>
7549
7550 * final.c (compute_alignments): Do not apply loop alignment to a block
7551 falling through to the exit.
7552
d2dfaca3
CM
75532014-04-16 Catherine Moore <clm@codesourcery.com>
7554
7555 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
7556 Adjust constraints for microMIPS store patterns.
7557
10353a79
PS
75582014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
7559
7560 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
7561
61c7fb30
EB
75622014-04-16 Eric Botcazou <ebotcazou@adacore.com>
7563
7564 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
7565 (append_use): Run at -O0.
7566 (append_vdef): Likewise.
7567 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
7568 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
7569
42fae17c
JJ
75702014-04-16 Jakub Jelinek <jakub@redhat.com>
7571
7572 PR tree-optimization/60844
7573 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
7574 (propagate_op_to_single_use, remove_visited_stmt_chain,
7575 linearize_expr, repropagate_negates, reassociate_bb): Use it
7576 instead of gsi_remove.
7577
ca860d03
MJ
75782014-04-16 Martin Jambor <mjambor@suse.cz>
7579
7580 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
7581 ipa_transforms_to_apply.
7582 (cgraph_function_versioning): Assert that old_node has empty
7583 ipa_transforms_to_apply.
7584 * trans-mem.c (ipa_tm_create_version): Likewise.
7585 * tree-inline.c (tree_function_versioning): Do not duplicate
7586 ipa_transforms_to_apply.
7587
fe4e71e4
RO
75882014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7589
7590 PR target/60817
7591 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
7592 x86_64-*-* cases.
7593 Pass necessary as flags on 64-bit Solaris/x86.
7594 Use lowercase relocs for x86_64-*-*.
7595 * configure: Regenerate.
7596
ccb05ef2
JH
75972014-04-15 Jan Hubicka <jh@suse.cz>
7598
7599 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
7600 (maybe_record_node, likely_target_p): Use it.
7601
dfe449d1
BS
76022014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7603
7604 PR target/60839
7605 Revert following patch
7606
7607 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
7608
7609 PR target/60735
7610 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
7611 software floating point or no floating point registers, do not
7612 allow any type in the FPRs. Eliminate a test for SPE SIMD types
7613 in GPRs that occurs after we tested for GPRs that would never be
7614 true.
7615
7616 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
7617 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
7618 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
7619 specifically allow DDmode, since that does not use the SPE SIMD
7620 instructions.
7621
25dce5c6
MW
76222014-03-21 Mark Wielaard <mjw@redhat.com>
7623
7624 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
7625 as unsigned or int depending on type and value used.
7626
8d3c076f
RB
76272014-04-15 Richard Biener <rguenther@suse.de>
7628
7629 PR rtl-optimization/56965
7630 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
7631 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
7632 ... here.
7633 * alias.c (true_dependence_1): Do not call
7634 nonoverlapping_component_refs_p.
7635 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
7636 nonoverlapping_component_refs_p.
7637 (indirect_refs_may_alias_p): Likewise.
7638
d00e4baa
TJ
76392014-04-15 Teresa Johnson <tejohnson@google.com>
7640
7641 * cfg.c (dump_bb_info): Fix flags check.
7642 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
7643
98a2fdfb
KT
76442014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7645
7646 PR rtl-optimization/60663
7647 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
7648 avoid 0 cost.
7649
b9ed2c2c
RB
76502014-04-15 Richard Biener <rguenther@suse.de>
7651
7652 * lto-streamer.h (LTO_major_version): Bump to 4.
7653
783dab6b
RB
76542014-04-15 Richard Biener <rguenther@suse.de>
7655
7656 * common.opt (lto_partition_model): New enum.
7657 (flto-partition=): Merge separate options with a single with argument,
7658 add -flto-partition=one support.
7659 * flag-types.h (enum lto_partition_model): Declare.
7660 * opts.c (finish_options): Remove duplicate -flto-partition=
7661 option check.
7662 * lto-wrapper.c (run_gcc): Adjust.
7663
d8e4ce6d
RB
76642014-04-15 Richard Biener <rguenther@suse.de>
7665
7666 * alias.c (ncr_compar): New function.
7667 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
7668
1999fd7d
RB
76692014-04-15 Richard Biener <rguenther@suse.de>
7670
7671 * alias.c (record_component_aliases): Do not walk BINFOs.
7672
628169e0
RB
76732014-04-15 Richard Biener <rguenther@suse.de>
7674
7675 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7676 Add struct function argument and adjust.
7677 (find_func_aliases_for_call): Likewise.
7678 (find_func_aliases): Likewise.
7679 (find_func_clobbers): Likewise.
7680 (intra_create_variable_infos): Likewise.
7681 (compute_points_to_sets): Likewise.
7682 (ipa_pta_execute): Adjust. Do not push/pop cfun.
7683
349e6210
RB
76842014-04-15 Richard Biener <rguenther@suse.de>
7685
7686 * tree.c (iterative_hash_expr): Use enum tree_code_class
7687 to store TREE_CODE_CLASS.
7688 (tree_block): Likewise.
7689 (tree_set_block): Likewise.
7690 * tree.h (fold_build_pointer_plus_loc): Use
7691 convert_to_ptrofftype_loc.
7692
4f0ddb6f
JJ
76932014-04-15 Jakub Jelinek <jakub@redhat.com>
7694
7695 PR plugins/59335
7696 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
7697 added in 4.9.
7698
718c4601
EB
76992014-04-15 Eric Botcazou <ebotcazou@adacore.com>
7700
7701 * cfgloop.h (struct loop): Move force_vectorize down.
7702 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
7703 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
7704 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
7705 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
7706 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
7707 * tree-core.h (enum annot_expr_kind): Add new kind values.
7708 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
7709 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
7710 kinds.
7711 * tree.def (ANNOTATE_EXPR): Tweak comment.
7712
88f592e3
JH
77132014-04-14 Jan Hubicka <hubicka@ucw.cz>
7714
7715 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
7716 cxa_pure_virtual).
7717
9dba4b55
PC
77182014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
7719
7720 * tree.h (TYPE_IDENTIFIER): Declare.
7721 * tree.c (subrange_type_for_debug_p): Use it.
7722 * godump.c (go_format_type): Likewise.
7723 * dwarf2out.c (is_cxx_auto, modified_type_die,
7724 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
7725 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
7726
40c0a159 77272014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
7728
7729 PR lto/60820
7730 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
7731
e0a81db1
UB
77322014-04-14 Uros Bizjak <ubizjak@gmail.com>
7733
7734 * config/i386/i386.c (examine_argument): Return bool. Return true if
7735 parameter should be passed in memory.
7736 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
7737 (construct_container): Update calls to examine_argument.
7738 (function_arg_advance_64): Ditto.
7739 (return_in_memory_32): Merge with ix86_return_in_memory.
7740 (return_in_memory_64): Ditto.
7741 (return_in_memory_ms_64): Ditto.
7742
cb90235d
JH
77432014-04-14 Jan Hubicka <hubicka@ucw.cz>
7744
7745 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
7746 * coverage.c (coverage_compute_profile_id): Handle externally visible
7747 symbols.
7748
7b3b340e
MJ
77492014-04-14 Martin Jambor <mjambor@suse.cz>
7750
7751 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
7752 DECL_DISREGARD_INLINE_LIMITS functions.
7753
2ed3b4ee
L
77542014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7755
7756 PR target/60827
e0a81db1 7757 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 7758
10fa463f
L
77592014-04-14 H.J. Lu <hongjiu.lu@intel.com>
7760
7761 PR target/60827
7762 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
7763 optimize_insn_for_speed_p instead of
7764 optimize_function_for_speed_p.
7765
b621e875
YZ
77662014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
7767
7768 * doc/invoke.texi (free): Document AArch64.
7769
cddaefa3
RB
77702014-04-14 Richard Biener <rguenther@suse.de>
7771
7772 PR tree-optimization/60042
7773 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
7774 (insert_into_preds_of_block): Do not prevent PHI insertion
7775 for REFERENCE exprs here ...
7776 (eliminate_dom_walker::before_dom_children): ... but prevent
7777 their use here under similar conditions when applied to the
7778 IL after PRE optimizations.
7779
a9e4c82f
RB
77802014-04-14 Richard Biener <rguenther@suse.de>
7781
7782 * passes.def: Move early points-to after early SRA.
7783
7b4cae1b
RB
77842014-04-14 Richard Biener <rguenther@suse.de>
7785
7786 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
7787 check for which sign-changes we allow when forwarding
7788 a converted value into a switch.
7789
cb27986c
EB
77902014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7791
7792 * stor-layout.c (place_field): Finalize non-constant offset for the
7793 field, if any.
7794
72798784
RB
77952014-04-14 Richard Biener <rguenther@suse.de>
7796
7797 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
7798 as argument.
7799 (expand_switch_using_bit_tests_p): Likewise.
7800 (process_switch): Compute and pass on speed_p based on the
7801 switch stmt.
7802 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
7803 optimize_bb_for_speed_p.
7804
b15b5979
EB
78052014-04-14 Eric Botcazou <ebotcazou@adacore.com>
7806
7807 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
7808 * function.h (struct function): Rename has_force_vect_loops into
7809 has_force_vectorize_loops.
7810 * lto-streamer-in.c (input_cfg): Adjust for renaming.
7811 (input_struct_function_base): Likewise.
7812 * lto-streamer-out.c (output_cfg): Likewise.
7813 (output_struct_function_base): Likewise.
7814 * omp-low.c (expand_omp_simd): Likewise.
7815 * tree-cfg.c (move_sese_region_to_fn): Likewise.
7816 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
7817 (version_loop_for_if_conversion): Likewise.
7818 (tree_if_conversion): Likewise.
7819 (main_tree_if_conversion): Likewise.
7820 (gate_tree_if_conversion): Likewise.
7821 * tree-inline.c (copy_loops): Likewise.
7822 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
7823 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
7824 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
7825 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
7826 * tree-vectorizer.c (vectorize_loops): Likewise.
7827 * tree-vectorizer.h (unlimited_cost_model): Likewise.
7828
8359c87e
RB
78292014-04-14 Richard Biener <rguenther@suse.de>
7830
7831 PR lto/60720
7832 * lto-streamer-out.c (wrap_refs): New function.
7833 (lto_output): Wrap symbol references in global initializes in
7834 type-preserving MEM_REFs.
7835
9447df74
CB
78362014-04-14 Christian Bruel <christian.bruel@st.com>
7837
b15d92bf 7838 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 7839
fa1aecc1
CB
78402014-04-14 Christian Bruel <christian.bruel@st.com>
7841
7842 * config/sh/sh.md (setmemqi): New expand pattern.
7843 * config/sh/sh.h (CLEAR_RATIO): Define.
7844 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
7845 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
7846
a3c77ce9
RB
78472014-04-14 Richard Biener <rguenther@suse.de>
7848
7849 PR middle-end/55022
7850 * fold-const.c (negate_expr_p): Don't negate directional rounding
7851 division.
7852 (fold_negate_expr): Likewise.
7853
033aa406
RB
78542014-04-14 Richard Biener <rguenther@suse.de>
7855
7856 PR tree-optimization/59817
7857 PR tree-optimization/60453
7858 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
7859 recursion to catch all CHRECs in the scalar evolution and restrict
7860 the predicate for the remains appropriately.
7861
5e7d8b4c
RS
78622014-04-12 Catherine Moore <clm@codesourcery.com>
7863
7864 * config/mips/constraints.md: Add new register constraint "kb".
7865 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
7866 (*movhi_internal): Likewise.
7867 (*movqi_internal): Likewise.
7868 * config/mips/mips.h (M16_STORE_REGS): New register class.
7869 (REG_CLASS_NAMES): Add M16_STORE_REGS.
7870 (REG_CLASS_CONTENTS): Likewise.
7871 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
7872
cbbd2b1c
TB
78732014-04-11 Tobias Burnus <burnus@net-b.de>
7874
7875 PR c/60194
7876 * doc/invoke.texi (-Wformat-signedness): Document it.
7877 (Wformat=2): Mention that this enables -Wformat-signedness.
7878
d9bb5800
JR
78792014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7880
7881 * common/config/epiphany/epiphany-common.c
7882 (epiphany_option_optimization_table): Enable section anchors by
7883 default at -O1 or higher.
7884 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
7885 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
7886 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
7887 carries no extra cost.
7888 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
7889 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
7890 * config/epiphany/predicates.md (memclob_operand): New predicate.
7891 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
7892 Use memclob_operand predicate and X constraint for operand 3.
7893
b5d0ecea
JR
78942014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7895
7896 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
7897 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
7898 its operands.
7899
473fd99a
JR
79002014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
7901
7902 PR rtl-optimization/60651
7903 * mode-switching.c (optimize_mode_switching): Make sure to emit
7904 sets of a lower numbered entity before sets of a higher numbered
7905 entity to a mode of the same or lower priority.
7906 When creating a seginfo for a basic block that starts with a code
7907 label, move the insertion point past the code label.
7908 (new_seginfo): Document and enforce requirement that
7909 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
7910 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
7911 * doc/tm.texi: Regenerate.
7912
6ace1161
JR
79132014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
7914
7915 PR target/60811
7916 * config/arc/arc.c (arc_save_restore): Fix assert typo.
7917
89eb97de
JJ
79182013-04-11 Jakub Jelinek <jakub@redhat.com>
7919
6602e7fc 7920 * BASE-VER: Set to 4.10.0.
89eb97de 7921
9d0c7214
TB
79222014-04-11 Tobias Burnus <burnus@net-b.de>
7923
7924 PR other/59055
e0a81db1 7925 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
7926 * doc/gcc.texi (Service): Update description in the @menu
7927 * doc/invoke.texi (Option Summary): Remove misplaced and
7928 duplicated @menu.
7929
3662b277
SE
79302014-04-11 Steve Ellcey <sellcey@mips.com>
7931 Jakub Jelinek <jakub@redhat.com>
7932
7933 PR middle-end/60556
7934 * expr.c (convert_move): Use emit_store_flag_force instead of
7935 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
7936 argument to it.
7937
8330537b
RB
79382014-04-11 Richard Biener <rguenther@suse.de>
7939
7940 PR middle-end/60797
7941 * varasm.c (assemble_alias): Avoid endless error reporting
7942 recursion by setting TREE_ASM_WRITTEN.
7943
3c91f126
AK
79442014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7945
7946 * config/s390/s390.md: Add a splitter for NOT rtx.
7947
d8d6ea53
JJ
79482014-04-11 Jakub Jelinek <jakub@redhat.com>
7949
7950 PR rtl-optimization/60663
e0a81db1 7951 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 7952
fa5866c0
JJ
79532014-04-10 Jan Hubicka <hubicka@ucw.cz>
7954 Jakub Jelinek <jakub@redhat.com>
073afca6 7955
fa5866c0 7956 PR lto/60567
e0a81db1
UB
7957 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
7958 flag from decl_node to node.
073afca6 7959
b322c36a
RR
79602014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7961
7962 PR debug/60655
7963 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
7964 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
7965 ameliorating the cases where it can be.
7966
8267f6bb
DE
79672014-04-09 David Edelsohn <dje.gcc@gmail.com>
7968
7969 Revert
7970 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
7971
7972 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
7973 (loadsync_<mode>): Change mode.
7974 (load_quadpti, store_quadpti): New.
7975 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
7976 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
7977 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
7978
5d1a5a53
CH
79792014-04-09 Cong Hou <congh@google.com>
7980
7981 PR testsuite/60773
7982 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
7983 documentation.
7984
da90fa4c
BS
79852014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7986
7987 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
7988 instead of vnor to exploit possible fusion opportunity in the
7989 future.
7990 (altivec_expand_vec_perm_const_le): Likewise.
7991
98e6ecab
PH
79922014-04-08 Pat Haugen <pthaugen@us.ibm.com>
7993
7994 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
7995 (loadsync_<mode>): Change mode.
7996 (load_quadpti, store_quadpti): New.
7997 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
7998 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
7999
8418cf33
RS
80002014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
8001
8002 PR target/60763
8003 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
8004 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
8005 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
8006
3fa68ccb
RB
80072014-04-08 Richard Biener <rguenther@suse.de>
8008
8009 PR middle-end/60706
8010 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
8011 a 64bit widest int print double-int similar to on HWI64 hosts.
8012
9038ae48
RB
80132014-04-08 Richard Biener <rguenther@suse.de>
8014
8015 PR tree-optimization/60785
8016 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
8017 default defs properly.
8018
38f09da3
NS
80192014-04-08 Nathan Sidwell <nathan@codesourcery.com>
8020
8021 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
8022 (Weffc++): Likewise.
8023
0439a947
JH
80242014-04-07 Jan Hubicka <hubcika@ucw.cz>
8025
8026 * ipa-devirt.c (maybe_record_node): When node is not recorded,
8027 set completep to false rather than true.
8028
3f2f838e
EB
80292014-04-07 Douglas B Rupp <rupp@adacore.com>
8030
8031 PR target/60504
8032 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
8033 ARM_TARGET2_DWARF_FORMAT.
8034
e75c1617
CB
80352014-04-07 Charles Baylis <charles.baylis@linaro.org>
8036
8037 PR target/60609
8038 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
8039 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
8040 ADDR_DIFF_VEC.
8041
d6adff07
RB
80422014-04-07 Richard Biener <rguenther@suse.de>
8043
8044 PR tree-optimization/60766
3f2f838e
EB
8045 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
8046 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 8047
da34ade5
JM
80482014-04-07 Jason Merrill <jason@redhat.com>
8049
8050 PR c++/60731
8051 * common.opt (-fno-gnu-unique): Add.
8052 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
8053
151e9aac
KT
80542014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8055
8056 * haifa-sched.c: Fix outdated function reference and minor
8057 grammar errors in introductory comment.
8058
308173e3
RB
80592014-04-07 Richard Biener <rguenther@suse.de>
8060
8061 PR middle-end/60750
8062 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
8063 for noreturn calls.
8064 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
8065
a9a302d9
JDA
80662014-04-06 John David Anglin <danglin@gcc.gnu.org>
8067
8068 PR debug/55794
8069 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
8070 size accounting for thunks.
8071 (pa_asm_output_mi_thunk): Use final_start_function() and
8072 final_end_function() to output function start and end directives.
8073
576ba35c
PS
80742014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
8075
e0a81db1
UB
8076 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
8077 device specific ISA/ feature information. Remove short_sp and
8078 errata_skip ds. Add avr_device_specific_features enum to have device
8079 specific info.
576ba35c
PS
8080 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
8081 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
8082 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
8083 updated device specific info.
8084 * config/avr/avr-mcus.def: Merge device specific details to
8085 dev_attribute field.
8086 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
8087 errata_skip.
8088 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
8089 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
8090 assembler if RMW isa supported by current device.
8091 * config/avr/genmultilib.awk: Update as device info structure changed.
8092 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
8093
ebc047a2
CH
80942014-04-04 Cong Hou <congh@google.com>
8095
8096 PR tree-optimization/60656
8097 * tree-vect-stmts.c (supportable_widening_operation):
8098 Fix a bug that elements in a vector with vect_used_by_reduction
8099 property are incorrectly reordered when the operation on it is not
8100 consistant with the one in reduction operation.
8101
b6808818
JDA
81022014-04-04 John David Anglin <danglin@gcc.gnu.org>
8103
8104 PR rtl-optimization/60155
8105 * gcse.c (record_set_data): New function.
8106 (single_set_gcse): New function.
8107 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
8108 (hoist_code): Likewise.
8109 (get_pressure_class_and_nregs): Likewise.
8110
eabcc725
EB
81112014-04-04 Eric Botcazou <ebotcazou@adacore.com>
8112
8113 * explow.c (probe_stack_range): Emit a final optimization blockage.
8114
e005b753
AG
81152014-04-04 Anthony Green <green@moxielogic.com>
8116
8117 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
8118 typos.
8119
8fe91ca8
JH
81202014-04-04 Jan Hubicka <hubicka@ucw.cz>
8121
8122 PR ipa/59626
8123 * lto-cgraph.c (input_overwrite_node): Check that partitioning
8124 flags are set only during streaming.
8125 * ipa.c (process_references, walk_polymorphic_call_targets,
8126 symtab_remove_unreachable_nodes): Drop bodies of always inline
8127 after early inlining.
8128 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 8129
88d94632
RR
81302014-04-04 Jakub Jelinek <jakub@redhat.com>
8131 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8132
8133 PR debug/60655
8134 * dwarf2out.c (const_ok_for_output_1): Reject expressions
8135 containing a NOT.
8136
094bc219
KT
81372014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8138
8139 PR bootstrap/60743
8140 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
8141 duration.
8142 (cortex_a53_fdivd): Likewise.
8143
610c8ef0
MJ
81442014-04-04 Martin Jambor <mjambor@suse.cz>
8145
8146 PR ipa/60640
b15d92bf
UB
8147 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
8148 Adjust all callers.
610c8ef0
MJ
8149 * cgraph.c (clone_of_p): Also return true if thunks match.
8150 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
8151 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
8152 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
8153 file.
8154 (build_function_decl_skip_args): Likewise.
610c8ef0 8155 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
8156 (duplicate_thunk_for_node): Likewise.
8157 (redirect_edge_duplicating_thunks): Likewise.
8158 (cgraph_clone_node): New parameter args_to_skip, pass it to
8159 redirect_edge_duplicating_thunks which is called instead of
8160 cgraph_redirect_edge_callee.
8161 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
8162 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
8163
fc02bcca
JL
81642014-04-04 Jeff Law <law@redhat.com>
8165
57ef133b 8166 PR target/60657
fc02bcca
JL
8167 * config/arm/predicates.md (const_int_I_operand): New predicate.
8168 (const_int_M_operand): Similarly.
8169 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
8170 const_int_operand.
8171 (insv_t2, extv_reg, extzv_t2): Likewise.
8172 (load_multiple_with_writeback): Similarly for const_int_I_operand.
8173 (pop_multiple_with_writeback_and_return): Likewise.
8174 (vfp_pop_multiple_with_writeback): Likewise
8175
45b62594
RB
81762014-04-04 Richard Biener <rguenther@suse.de>
8177
8178 PR ipa/60746
8179 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
8180 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
8181 non-GIMPLE_LABELs.
8182 * gimplify.h (gimple_add_tmp_var_fn): Declare.
8183 * gimplify.c (gimple_add_tmp_var_fn): New function.
8184 * gimple-expr.h (create_tmp_reg_fn): Declare.
8185 * gimple-expr.c (create_tmp_reg_fn): New function.
8186 * gimple-low.c (record_vars_into): Don't change cfun.
8187 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
8188 code generation without cfun.
8189
bb609c35
TS
81902014-04-04 Thomas Schwinge <thomas@codesourcery.com>
8191
8192 PR bootstrap/60719
8193 * Makefile.in (install-driver): Fix shell scripting.
8194
090cd8dc
CH
81952014-04-03 Cong Hou <congh@google.com>
8196
8197 PR tree-optimization/60505
8198 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
8199 threshold of number of iterations below which no vectorization
8200 will be done.
090cd8dc
CH
8201 * tree-vect-loop.c (new_loop_vec_info):
8202 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
8203 * tree-vect-loop.c (vect_analyze_loop_operations):
8204 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
8205 * tree-vect-loop.c (vect_transform_loop):
8206 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
8207 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
8208 of iterations of the loop and see if we should build the epilogue.
8209
bdc67fd6
RB
82102014-04-03 Richard Biener <rguenther@suse.de>
8211
e0a81db1 8212 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
8213 (streamer_tree_cache_create): Adjust.
8214 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
8215 to allow optional nodes array.
8216 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
8217 (streamer_tree_cache_append): Likewise.
8218 (streamer_tree_cache_create): Create nodes array optionally
8219 as specified by parameter.
8220 * lto-streamer-out.c (create_output_block): Avoid maintaining
8221 the node array in the writer cache.
8222 (DFS_write_tree): Remove assertion.
e0a81db1 8223 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
8224 * lto-streamer-in.c (lto_data_in_create): Adjust for
8225 streamer_tree_cache_create prototype change.
8226
a0daf659
RB
82272014-04-03 Richard Biener <rguenther@suse.de>
8228
8229 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
8230 set TREE_CHAIN to NULL_TREE.
8231
f16c88d2
RB
82322014-04-03 Richard Biener <rguenther@suse.de>
8233
8234 PR tree-optimization/60740
8235 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
8236 over all GIMPLE_COND operands.
8237
880a467b
NS
82382014-04-03 Nathan Sidwell <nathan@codesourcery.com>
8239
8240 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
8241 (Weffc++): Remove Scott's numbering, merge lists and reference
8242 Wnon-virtual-dtor.
8243
08866760
NC
82442014-04-03 Nick Clifton <nickc@redhat.com>
8245
8246 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
8247 properly.
8248
5bed50e8
MJ
82492014-04-03 Martin Jambor <mjambor@suse.cz>
8250
8251 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
8252 mention gcc_unreachable before failing.
8253 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
8254 removed symbols.
8255
3e86c6a8
JH
82562014-04-02 Jan Hubicka <hubicka@ucw.cz>
8257
8258 PR ipa/60659
e0a81db1
UB
8259 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
8260 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
8261 (possible_polymorphic_call_targets): For inconsistent contexts
8262 return empty complete list.
8263
2b9912aa
AG
82642014-04-02 Anthony Green <green@moxielogic.com>
8265
8266 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
8267 (extendqisi2, extendhisi2): Define.
8268 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
8269 (WCHAR_TYPE): Change to unsigned int.
8270
1e386bb8
BS
82712014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8272
8273 PR tree-optimization/60733
8274 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
8275 insertion point for PHI candidates to be the end of the feeding
8276 block for the PHI argument.
8277
f4581282
VM
82782014-04-02 Vladimir Makarov <vmakarov@redhat.com>
8279
8280 PR rtl-optimization/60650
8281 * lra-constraints.c (process_alt_operands): Decrease reject for
8282 earlyclobber matching.
8283
a9d46e32
AK
82842014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8285
8286 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
8287
7c40228a
UW
82882014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8289
8290 * config/spu/spu.c (pad_bb): Do not crash when the last
8291 insn is CODE_FOR_blockage.
8292
c6596193
UW
82932014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8294
8295 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
8296 lies outside the target mode.
8297
690c229f
MM
82982014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8299
8300 PR target/60735
8301 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
8302 software floating point or no floating point registers, do not
8303 allow any type in the FPRs. Eliminate a test for SPE SIMD types
8304 in GPRs that occurs after we tested for GPRs that would never be
8305 true.
8306
8307 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
8308 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
8309 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
8310 specifically allow DDmode, since that does not use the SPE SIMD
8311 instructions.
8312
dad16761
RB
83132014-04-02 Richard Biener <rguenther@suse.de>
8314
8315 PR middle-end/60729
8316 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
8317 MODE_INTs. Properly use negv_optab.
8318 (expand_abs): Likewise.
8319
a1ce39be
RB
83202014-04-02 Richard Biener <rguenther@suse.de>
8321
8322 PR bootstrap/60719
8323 * Makefile.in (install-driver): Guard extra installs with special
8324 names properly.
8325
6fb619e4
MM
83262014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
8327
8328 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8329 Document vec_vgbbd.
8330
2a1ffd6d
RH
83312014-04-01 Richard Henderson <rth@redhat.com>
8332
8333 PR target/60704
8334 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
8335 alternative enabled before register allocation.
8336
98e8dd4d
CLT
83372014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
8338
8339 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
8340 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
8341 typo.
8342 (nios2_large_got_address): Remove unneeded 'sym' parameter.
8343 (nios2_got_address): Update nios2_large_got_address call site.
8344 (nios2_delegitimize_address): New function.
8345 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
8346 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
8347 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
8348
8785c60a
MH
83492014-04-01 Martin Husemann <martin@duskware.de>
8350
8351 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
8352 for -mabi=32.
8353
3343cf6a
RS
83542014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
8355
8356 PR rtl-optimization/60604
8357 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
8358 check from register_operand.
8359 (register_operand): Redefine in terms of general_operand.
8360 (nonmemory_operand): Use register_operand for the non-constant cases.
8361
1503cb6b
RB
83622014-04-01 Richard Biener <rguenther@suse.de>
8363
e0a81db1 8364 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 8365
cded08ea
SH
83662014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
8367
8368 * doc/invoke.texi (mapp-regs): Clarify.
8369
7d9088c2
UD
83702014-03-31 Ulrich Drepper <drepper@gmail.com>
8371
8372 * config/i386/avx512fintrin.h (__v32hi): Define type.
8373 (__v64qi): Likewise.
8374 (_mm512_set1_epi8): Define.
8375 (_mm512_set1_epi16): Define.
8376 (_mm512_set4_epi32): Define.
8377 (_mm512_set4_epi64): Define.
8378 (_mm512_set4_pd): Define.
8379 (_mm512_set4_ps): Define.
8380 (_mm512_setr4_epi64): Define.
8381 (_mm512_setr4_epi32): Define.
8382 (_mm512_setr4_pd): Define.
8383 (_mm512_setr4_ps): Define.
8384 (_mm512_setzero_epi32): Define.
8385
c18ff8a4
MJ
83862014-03-31 Martin Jambor <mjambor@suse.cz>
8387
8388 PR middle-end/60647
8389 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
8390 callsite_arguments_match_p. Updated all callers. Also check types of
8391 corresponding formal parameters and actual arguments.
8392 (not_all_callers_have_enough_arguments_p) Renamed to
8393 some_callers_have_mismatched_arguments_p.
8394
9a96d5b7
YR
83952014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
8396
8397 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
8398
6c031d8d
KV
83992014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
8400
8401 PR target/60034
8402 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
8403 section anchor.
8404
429749e2
UB
84052014-03-30 Uros Bizjak <ubizjak@gmail.com>
8406
8407 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
8408 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
8409 Split out
8410 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
8411 Use FMAMODE_NOVF512 mode iterator.
8412 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
8413 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
8414 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
8415 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
8416 Split out
8417 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
8418 Use VF_128_256 mode iterator.
8419 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
8420 Ditto.
8421
1f91035f
JH
84222014-03-28 Jan Hubicka <hubicka@ucw.cz>
8423
8424 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
8425 static chain if needed.
8426
6e071b1e
VM
84272014-03-28 Vladimir Makarov <vmakarov@redhat.com>
8428
8429 PR target/60697
8430 * lra-constraints.c (index_part_to_reg): New.
8431 (process_address): Use it.
8432
e7f31789 84332014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 8434 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
8435
8436 PR target/60648
4bb66ef3
JJ
8437 * expr.c (do_tablejump): Use simplify_gen_binary rather than
8438 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 8439
4bb66ef3
JJ
8440 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
8441 creating non-canonical RTL.
e7f31789 8442
4cd8957f
JH
84432014-03-28 Jan Hubicka <hubicka@ucw.cz>
8444
8445 PR ipa/60243
8446 * ipa-inline.c (want_inline_small_function_p): Short circuit large
8447 functions; reorganize to make cheap checks first.
8448 (inline_small_functions): Do not estimate growth when dumping;
8449 it is expensive.
8450 * ipa-inline.h (inline_summary): Add min_size.
8451 (growth_likely_positive): New function.
8452 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
8453 (set_cond_stmt_execution_predicate): Cleanup.
8454 (estimate_edge_size_and_time): Compute min_size.
8455 (estimate_calls_size_and_time): Likewise.
8456 (estimate_node_size_and_time): Likewise.
8457 (inline_update_overall_summary): Update min_size.
8458 (do_estimate_edge_time): Likewise.
8459 (do_estimate_edge_size): Update.
8460 (do_estimate_edge_hints): Update.
8461 (growth_likely_positive): New function.
8462
ff76f4e2
JJ
84632014-03-28 Jakub Jelinek <jakub@redhat.com>
8464
8465 PR target/60693
8466 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
8467 also if addr has VOIDmode.
8468
ed6eb6dc
KT
84692014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8470
8471 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
8472 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
8473 Declare extern.
8474 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
8475 instructions as well as AdvancedSIMD loads.
8476
b10baa95
KT
84772014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8478
8479 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
8480 Use crypto_aese type.
8481 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
8482 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
8483 crypto_aese, crypto_aesmc. Move to types.md.
8484 * config/arm/types.md (crypto_aes): Split into crypto_aese,
8485 crypto_aesmc.
8486 * config/arm/iterators.md (crypto_type): Likewise.
8487
23a04216
JH
84882014-03-28 Jan Hubicka <hubicka@ucw.cz>
8489
8490 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
8491 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
8492 remove LHS.
23a04216 8493
a4971e68
VM
84942014-03-28 Vladimir Makarov <vmakarov@redhat.com>
8495
8496 PR target/60675
8497 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
8498 regs from checking multi-reg pseudos.
8499
7ac84c02
RR
85002014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8501
8502 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
8503
bd302a18
UW
85042014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8505
8506 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
8507 if it would clobber the stack pointer, even temporarily.
8508
cee9defb
EB
85092014-03-28 Eric Botcazou <ebotcazou@adacore.com>
8510
8511 * mode-switching.c: Make small adjustments to the top comment.
8512
117f16fb
MM
85132014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
8514
8515 * config/rs6000/constraints.md (wD constraint): New constraint to
8516 match the constant integer to get the top DImode/DFmode out of a
8517 vector in a VSX register.
8518
8519 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
8520 match the constant integer to get the top DImode/DFmode out of a
8521 vector in a VSX register.
8522
8523 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
8524 for ISA 2.07.
8525
8526 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8527 vbpermq builtins.
8528
8529 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
8530 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
8531
8532 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
8533 Optimize vec_extract of 64-bit values, where the value being
8534 extracted is in the top word, where we can use scalar
8535 instructions. Add direct move and store support. Combine the big
429749e2 8536 endian/little endian vector select load support into a single insn.
117f16fb
MM
8537 (vsx_extract_<mode>_internal1): Likewise.
8538 (vsx_extract_<mode>_internal2): Likewise.
8539 (vsx_extract_<mode>_load): Likewise.
8540 (vsx_extract_<mode>_store): Likewise.
8541 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
8542 combined into vsx_extract_<mode>_load.
8543 (vsx_extract_<mode>_one_le): Likewise.
8544
8545 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
8546 define the top 64-bit vector element.
8547
8548 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
8549 constraint.
8550
6788164b
MM
8551 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8552 Document vec_vbpermq builtin.
8553
117f16fb
MM
8554 PR target/60672
8555 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
8556 enable use of xxsldwi and xxpermdi builtin functions.
8557 (vec_xxpermdi): Likewise.
8558
8559 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8560 Document use of vec_xxsldwi and vec_xxpermdi builtins.
8561
9e038952
VM
85622014-03-27 Vladimir Makarov <vmakarov@redhat.com>
8563
8564 PR rtl-optimization/60650
f4581282 8565 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
8566 first_p. Use it.
8567 (find_spills_for): New.
8568 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
8569 Spill all pseudos on the second iteration.
8570
324dc401
MP
85712014-03-27 Marek Polacek <polacek@redhat.com>
8572
8573 PR c/50347
8574 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
8575 types.
8576
6e77facf
AK
85772014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8578
8579 * config/s390/s390.c (s390_can_use_return_insn): Check for
8580 call-saved FPRs on 31 bit.
8581
47519a14
JJ
85822014-03-27 Jakub Jelinek <jakub@redhat.com>
8583
8584 PR middle-end/60682
8585 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
8586 if they need regimplification, just drop them instead of
8587 calling gimple_regimplify_operands on them.
8588
0b7f8166
MS
85892014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
8590
8591 PR target/60580
8592 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
8593 (aarch64_frame_pointer_required): Adjust logic.
8594 (aarch64_can_eliminate): Adjust logic.
8595 (aarch64_override_options_after_change): Adjust logic.
8596
2f2a7d15
DC
85972014-03-27 Dehao Chen <dehao@google.com>
8598
8599 * ipa-inline.c (early_inliner): Update node's inline info.
8600
a0dbf285
DC
86012014-03-26 Dehao Chen <dehao@google.com>
8602
8603 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
8604 compiler inserted conditional jumps for NAN float check.
8605
ed0ca1e1
JJ
86062014-03-26 Jakub Jelinek <jakub@redhat.com>
8607
07d72e1d
JJ
8608 * ubsan.h (ubsan_create_data): Change second argument's type
8609 to const location_t *.
8610 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
8611 _("<unknown>").
8612 (ubsan_create_data): Change second argument to const location_t *PLOC.
8613 Create Loc field whenever PLOC is non-NULL.
8614 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
8615 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
8616 callers.
8617
ed0ca1e1
JJ
8618 PR other/59545
8619 * real.c (real_to_integer2): Change type of low to UHWI.
8620
b9487dd8
TB
86212014-03-26 Tobias Burnus <burnus@net-b.de>
8622
8623 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
8624 (CILK_SELF_SPECS): New define.
8625 (driver_self_specs): Use it.
8626
3a2700f6
RB
86272014-03-26 Richard Biener <rguenther@suse.de>
8628
8629 * tree-pretty-print.c (percent_K_format): Implement special
8630 case for LTO and its stripped down BLOCK tree.
8631
368b454d
JJ
86322014-03-26 Jakub Jelinek <jakub@redhat.com>
8633
aa6b742f
JJ
8634 PR sanitizer/60636
8635 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
8636
368b454d
JJ
8637 * tree-vrp.c (simplify_internal_call_using_ranges): If only
8638 one range is range_int_cst_p, but not both, at least optimize
8639 addition/subtraction of 0 and multiplication by 0 or 1.
8640 * gimple-fold.c (gimple_fold_call): Fold
8641 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
8642 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
8643 INTEGER_CSTs, try to fold at least x * 0 and y - y.
8644
c7e30a96
EB
86452014-03-26 Eric Botcazou <ebotcazou@adacore.com>
8646
8647 PR rtl-optimization/60452
8648 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
8649 <case REG>: Return 1 for invalid offsets from the frame pointer.
8650
d615d763
MP
86512014-03-26 Marek Polacek <polacek@redhat.com>
8652
8653 PR c/37428
8654 * doc/extend.texi (C Extensions): Mention variable-length arrays in
8655 a structure/union.
8656
1b226529
MP
86572014-03-26 Marek Polacek <polacek@redhat.com>
8658
8659 PR c/39525
8660 * doc/extend.texi (Designated Inits): Describe what happens to omitted
8661 field members.
8662
6686e0bc
MP
86632014-03-26 Marek Polacek <polacek@redhat.com>
8664
8665 PR other/59545
8666 * ira-color.c (update_conflict_hard_regno_costs): Perform the
8667 multiplication in unsigned type.
8668
d4fbc3ae
CJW
86692014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8670
8671 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
8672
dfa6c87b
CJW
86732014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
8674
8675 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
8676
9de6f6c3
JH
86772014-03-25 Jan Hubicka <hubicka@ucw.cz>
8678
8679 PR ipa/60315
8680 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
8681 * ipa-inline.c (inline_small_functions): Skip edges to
8682 __builtlin_unreachable.
9de6f6c3
JH
8683 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
8684 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
8685 predicate to __bulitin_unreachable.
429749e2
UB
8686 (set_cond_stmt_execution_predicate): Fix issue when
8687 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
8688 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
8689 propagate to inline clones.
8690 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
8691 to unreachable.
8692 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
8693 * cgraphclones.c (cgraph_clone_node): If call destination is already
8694 ureachable, do not redirect it back.
8695 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
8696 unreachable.
8697
d7636f56
JH
86982014-03-25 Jan Hubicka <hubicka@ucw.cz>
8699
8700 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
8701 Do not modify inline clones.
8702
d1873c57
JJ
87032014-03-25 Jakub Jelinek <jakub@redhat.com>
8704
8705 * config/i386/i386.md (general_sext_operand): New mode attr.
8706 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
8707 don't generate (sign_extend (const_int)).
8708 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
8709 operands[2]. Use We constraint instead of <i> and
8710 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
8711 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
8712 * config/i386/constraints.md (We): New constraint.
8713 * config/i386/predicates.md (x86_64_sext_operand,
8714 sext_operand): New predicates.
8715
b5165eb0
MJ
87162014-03-25 Martin Jambor <mjambor@suse.cz>
8717
8718 PR ipa/60600
8719 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
8720 inconsistent devirtualizations to __builtin_unreachable.
8721
3102858d
MP
87222014-03-25 Marek Polacek <polacek@redhat.com>
8723
8724 PR c/35449
8725 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
8726
4b1e108c
AL
87272014-03-25 Alan Lawrence <alan.lawrence@arm.com>
8728
8729 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
8730 order of elements for big-endian.
8731
40b0722f
RB
87322014-03-25 Richard Biener <rguenther@suse.de>
8733
8734 PR middle-end/60635
8735 * gimplify-me.c (gimple_regimplify_operands): Update the
8736 re-gimplifed stmt.
8737
4a5798de
MJ
87382014-03-25 Martin Jambor <mjambor@suse.cz>
8739
8740 PR ipa/59176
8741 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
8742 (lto_output_varpool_node): Likewise.
8743 (input_overwrite_node): Likewise.
8744 (input_varpool_node): Likewise.
8745
585d0088
RB
87462014-03-25 Richard Biener <rguenther@suse.de>
8747
429749e2 8748 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
8749 (run_gcc): Likewise.
8750
a8acccdd
JJ
87512014-03-25 Jakub Jelinek <jakub@redhat.com>
8752
51ee05d0
JJ
8753 * combine.c (simplify_compare_const): Add MODE argument.
8754 Handle mode_width 0 as very large mode_width.
8755 (try_combine, simplify_comparison): Adjust callers.
8756
a8acccdd
JJ
8757 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
8758 type to avoid signed integer overflow.
8759 * explow.c (plus_constant): Likewise.
8760
57fc74a4
DV
87612014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8762
8763 * doc/generic.texi: Correct typos.
8764
09f15d1b
TB
87652014-03-24 Tobias Burnus <burnus@net-b.de>
8766
8767 * doc/invoke.texi (-flto): Expand section about
8768 using static libraries with LTO.
8769
72a4ddf2
AK
87702014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8771
8772 PR rtl-optimization/60501
8773 * optabs.def (addptr3_optab): New optab.
8774 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
8775 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
8776 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
8777
8778 * lra.c (emit_add3_insn): Use the addptr pattern if available.
8779
8780 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
8781
0b192937
UD
87822014-03-24 Ulrich Drepper <drepper@gmail.com>
8783
2b2384e8
UD
8784 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
8785 _mm512_set1_pd.
8786
0b192937
UD
8787 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
8788 (_mm256_undefined_ps): Define.
8789 (_mm256_undefined_pd): Define.
8790 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
8791 (_mm_undefined_pd): Define.
8792 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
8793 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
8794 (_mm512_undefined_ps): Define.
8795 (_mm512_undefined_pd): Define.
8796 Use _mm*_undefined_*.
8797 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
8798
252c7556
AV
87992014-03-24 Alex Velenko <Alex.Velenko@arm.com>
8800
8801 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
8802 (lshr_simd): DI mode added.
8803 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
8804 (aarch64_ushr_simddi): Likewise.
8805 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
8806 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
8807 (vshrd_n_u64): Likewise.
8808
15e3d4f1
RO
88092014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8810
8811 * Makefile.in (s-macro_list): Depend on cc1.
8812
1858c2d3
TJ
88132014-03-23 Teresa Johnson <tejohnson@google.com>
8814
8815 * ipa-utils.c (ipa_print_order): Use specified dump file.
8816
f87604f8
EB
88172014-03-23 Eric Botcazou <ebotcazou@adacore.com>
8818
8819 PR rtl-optimization/60601
8820 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
8821
8822 * gcc.c (eval_spec_function): Initialize save_growing_value.
8823
3db31fd1
JJ
88242014-03-22 Jakub Jelinek <jakub@redhat.com>
8825
f451d3a8
JJ
8826 PR sanitizer/60613
8827 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
8828 code == MINUS_EXPR, never swap op0 with op1.
8829
3db31fd1
JJ
8830 * toplev.c (init_local_tick): Avoid signed integer multiplication
8831 overflow.
8832 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
8833 shift by first operand's bitsize.
8834
e49080ec
JJ
88352014-03-21 Jakub Jelinek <jakub@redhat.com>
8836
8837 PR target/60610
8838 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
8839 redefine to 1 or 0.
8840 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
8841 TARGET_ISA_64BIT_P(x).
8842
44eb6c40
BS
88432014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8844
8845 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
8846 pattern for vector nor instead of subtract from splat(-1).
8847 (altivec_expand_vec_perm_const_le): Likewise.
8848
ec6f831a
RH
88492014-03-21 Richard Henderson <rth@twiddle.net>
8850
8851 PR target/60598
8852 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
8853 related insns after epilogue_completed.
8854
3d8d0043
MJ
88552014-03-21 Martin Jambor <mjambor@suse.cz>
8856
8857 PR ipa/59176
8858 * cgraph.h (symtab_node): New flag body_removed.
8859 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
8860 when removing bodies.
8861 * symtab.c (dump_symtab_base): Dump body_removed flag.
8862 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
8863 had their bodies removed.
8864
d833415c
MJ
88652014-03-21 Martin Jambor <mjambor@suse.cz>
8866
8867 PR ipa/60419
8868 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
8869 in the border.
8870
400a4f6c
RB
88712014-03-21 Richard Biener <rguenther@suse.de>
8872
8873 PR tree-optimization/60577
8874 * tree-core.h (struct tree_base): Document nothrow_flag use
8875 in VAR_DECL_NONALIASED.
8876 * tree.h (VAR_DECL_NONALIASED): New.
8877 (may_be_aliased): Adjust.
8878 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
8879
c6c2314f
EB
88802014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8881
8882 * expr.c (expand_expr_real_1): Remove outdated comment.
8883
d02b6ac7
JJ
88842014-03-20 Jakub Jelinek <jakub@redhat.com>
8885
b8f045e2
JJ
8886 PR middle-end/60597
8887 * ira.c (adjust_cleared_regs): Call copy_rtx on
8888 *reg_equiv[REGNO (loc)].src_p before passing it to
8889 simplify_replace_fn_rtx.
8890
d02b6ac7
JJ
8891 PR target/60568
8892 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
8893 into CONST, put pic register as first operand of PLUS. Use
8894 gen_const_mem for both 32-bit and 64-bit PIC got loads.
8895
e2f98c01
RR
88962014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8897
8898 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
8899
7075c792
EB
89002014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8901
8902 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
8903 around for store forwarding issue in the FPU on the UT699.
8904 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
8905 loads and operations if -mfix-ut699 is specified.
8906 (divtf3_hq): Tweak attribute.
8907 (sqrttf2_hq): Likewise.
8908
9ee5337d
EB
89092014-03-20 Eric Botcazou <ebotcazou@adacore.com>
8910
8911 * calls.c (store_one_arg): Remove incorrect const qualification on the
8912 type of the temporary.
8913 * cfgexpand.c (expand_return): Likewise.
8914 * expr.c (expand_constructor): Likewise.
8915 (expand_expr_real_1): Likewise.
8916
a69e09c8
ZC
89172014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
8918
8919 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
8920 of parts.
8921
8659d57b
KK
89222014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
8923
8924 PR target/60039
8925 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
8926
985e0d33
JG
89272014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
8928
8929 * config/arm/aarch-common-protos.h
8930 (alu_cost_table): Fix spelling of "extend".
8931 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
8932
ce2f49b3
RB
89332014-03-19 Richard Biener <rguenther@suse.de>
8934
8935 PR middle-end/60553
8936 * tree-core.h (tree_type_common): Re-order pointer members
8937 to reduce recursion depth during GC walks.
8938
6daa2d91
MP
89392014-03-19 Marek Polacek <polacek@redhat.com>
8940
8941 PR sanitizer/60569
8942 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
8943 before accessing it.
8944
8c9cfbe6
RB
89452014-03-19 Richard Biener <rguenther@suse.de>
8946
8947 PR lto/59543
8948 * lto-streamer-in.c (input_function): In WPA stage do not drop
8949 debug stmts.
8950
3efe2e2c
JJ
89512014-03-19 Jakub Jelinek <jakub@redhat.com>
8952
8953 PR tree-optimization/60559
8954 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
8955 with build_zero_cst assignment.
8956
234f76cb
KT
89572014-03-18 Kai Tietz <ktietz@redhat.com>
8958
8959 PR rtl-optimization/56356
8960 * sdbout.c (sdbout_parms): Verify that parms'
8961 incoming argument is valid.
8962 (sdbout_reg_parms): Likewise.
8963
58ca6edf
RH
89642014-03-18 Richard Henderson <rth@redhat.com>
8965
8966 PR target/60562
8967 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
8968 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 8969 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
8970
89712014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
8972
4bb66ef3 8973 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 8974 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 8975 Italicize plugin event names in description. Explain that
429749e2
UB
8976 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
8977 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 8978 Explain what pragmas with expansion are.
b318e404 8979
eb14a79f
ML
89802014-03-18 Martin Liska <mliska@suse.cz>
8981
8982 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
8983 gimple call statement is update.
8984 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
8985 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
8986
415e2e6b
JJ
89872014-03-18 Jakub Jelinek <jakub@redhat.com>
8988
ead96f13
JJ
8989 PR sanitizer/60557
8990 * ubsan.c (ubsan_instrument_unreachable): Call
8991 initialize_sanitizer_builtins.
8992 (ubsan_pass): Likewise.
8993
415e2e6b
JJ
8994 PR sanitizer/60535
8995 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
8996 varpool_finalize_decl instead of rest_of_decl_compilation.
8997
4ca40f52
RB
89982014-03-18 Richard Biener <rguenther@suse.de>
8999
9000 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
9001 by using bitmap_and_compl instead of bitmap_and_compl_into.
9002 (df_rd_transfer_function): Likewise.
9003
6404e190
RB
90042014-03-18 Richard Biener <rguenther@suse.de>
9005
9006 * doc/lto.texi (fresolution): Fix typo.
9007
b9abf793
RB
90082014-03-18 Richard Biener <rguenther@suse.de>
9009
9010 * doc/invoke.texi (flto): Update for changes in 4.9.
9011
3f00cf18
RB
90122014-03-18 Richard Biener <rguenther@suse.de>
9013
9014 * doc/loop.texi: Remove section on the removed lambda framework.
9015 Update loop docs with recent changes in preserving loop structure.
9016
c2679d84
RB
90172014-03-18 Richard Biener <rguenther@suse.de>
9018
9019 * doc/lto.texi (-fresolution): Document.
9020
c07990cc
RB
90212014-03-18 Richard Biener <rguenther@suse.de>
9022
9023 * doc/contrib.texi: Adjust my name.
9024
ed9c79e1
JJ
90252014-03-18 Jakub Jelinek <jakub@redhat.com>
9026
9027 PR ipa/58721
9028 * internal-fn.c: Include diagnostic-core.h.
9029 (expand_BUILTIN_EXPECT): New function.
9030 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
9031 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
9032 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
9033 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
9034 IFN_BUILTIN_EXPECT.
9035 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
9036 Revert 3 argument __builtin_expect code.
9037 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
9038 * gimple-fold.c (gimple_fold_call): Likewise.
9039 * tree.h (fold_builtin_expect): New prototype.
9040 * builtins.c (build_builtin_expect_predicate): Add predictor
9041 argument, if non-NULL, create 3 argument __builtin_expect.
9042 (fold_builtin_expect): No longer static. Add ARG2 argument,
9043 pass it through to build_builtin_expect_predicate.
9044 (fold_builtin_2): Adjust caller.
9045 (fold_builtin_3): Handle BUILT_IN_EXPECT.
9046 * internal-fn.def (BUILTIN_EXPECT): New.
9047
90482014-03-18 Tobias Burnus <burnus@net-b.de>
9049
9050 PR ipa/58721
9051 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
9052 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
9053 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
9054
90552014-03-18 Jan Hubicka <hubicka@ucw.cz>
9056
9057 PR ipa/58721
9058 * predict.c (combine_predictions_for_bb): Fix up formatting.
9059 (expr_expected_value_1, expr_expected_value): Add predictor argument,
9060 fill what it points to if non-NULL.
9061 (tree_predict_by_opcode): Adjust caller, use the predictor.
9062 * predict.def (PRED_COMPARE_AND_SWAP): Add.
9063
e33da4a1
EB
90642014-03-18 Eric Botcazou <ebotcazou@adacore.com>
9065
9066 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
9067 proper constant for the store mode.
9068
1fed15fc
IE
90692014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
9070
9071 * symtab.c (change_decl_assembler_name): Fix transparent alias
9072 chain construction.
9073
454fdba9
RL
90742014-03-16 Renlin Li <Renlin.Li@arm.com>
9075
9076 * config/aarch64/aarch64.c: Correct the comments about the
9077 aarch64 stack layout.
9078
e2110f8f
TS
90792014-03-18 Thomas Schwinge <thomas@codesourcery.com>
9080
9081 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
9082 check for GF_OMP_FOR_KIND_FOR.
9083
7c831c4d
KY
90842013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
9085
9086 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
9087 ymm and zmm register names.
9088
e318c1e1
JJ
90892014-03-17 Jakub Jelinek <jakub@redhat.com>
9090
9091 PR target/60516
9092 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
9093 note creation for the 2010-08-31 changes.
9094
ab2ffbeb
MP
90952014-03-17 Marek Polacek <polacek@redhat.com>
9096
9097 PR middle-end/60534
9098 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
9099 as -fno-tree-loop-vectorize.
9100 (expand_omp_simd): Likewise.
9101
890fa568
EB
91022014-03-15 Eric Botcazou <ebotcazou@adacore.com>
9103
9104 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
9105 (eligible_for_call_delay): New prototype.
9106 * config/sparc/sparc.c (tls_call_delay): Rename into...
9107 (eligible_for_call_delay): ...this. Return false if the instruction
9108 cannot be put in the delay slot of a branch.
9109 (eligible_for_restore_insn): Simplify.
9110 (eligible_for_return_delay): Return false if the instruction cannot be
9111 put in the delay slot of a branch and simplify.
9112 (eligible_for_sibcall_delay): Return false if the instruction cannot be
9113 put in the delay slot of a branch.
9114 * config/sparc/sparc.md (fix_ut699): New attribute.
9115 (tls_call_delay): Delete.
9116 (in_call_delay): Reimplement.
9117 (eligible_for_sibcall_delay): Rename into...
9118 (in_sibcall_delay): ...this.
9119 (eligible_for_return_delay): Rename into...
9120 (in_return_delay): ...this.
9121 (in_branch_delay): Reimplement.
9122 (in_uncond_branch_delay): Delete.
9123 (in_annul_branch_delay): Delete.
9124
cfce90ac
RH
91252014-03-14 Richard Henderson <rth@redhat.com>
9126
9127 PR target/60525
9128 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
9129 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
9130 (*floathi<X87MODEF>2_i387_with_temp): Remove.
9131 (floathi splitters): Remove.
9132 (float<SWI48x>xf2): New pattern.
9133 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
9134 code that tried to handle DImode for 32-bit, but which was excluded
9135 by the pattern's condition. Drop allocation of stack temporary.
9136 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
9137 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
9138 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
9139 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
9140 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
9141 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
9142 (*float<SWI48><MODEF>2_sse_interunit): Remove.
9143 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
9144 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
9145 (*float<SWI48x><X87MODEF>2_i387): Remove.
9146 (all float _with_temp splitters): Remove.
9147 (*float<SWI48x><MODEF>2_i387): New pattern.
9148 (*float<SWI48><MODEF>2_sse): New pattern.
9149 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
9150 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
9151
91035653
JJ
91522014-03-14 Jakub Jelinek <jakub@redhat.com>
9153 Marek Polacek <polacek@redhat.com>
9154
9155 PR middle-end/60484
9156 * common.opt (dump_base_name_prefixed): New Variable.
9157 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
9158 if x_dump_base_name_prefixed is already set, set it at the end.
9159
95921002
VM
91602014-03-14 Vladimir Makarov <vmakarov@redhat.com>
9161
9162 PR rtl-optimization/60508
9163 * lra-constraints.c (get_reload_reg): Add new parameter
9164 in_subreg_p.
9165 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
9166 Pass the new parameter values.
9167
25e57622
RB
91682014-03-14 Richard Biener <rguenther@suse.de>
9169
9170 * common.opt: Revert unintented changes from r205065.
9171 * opts.c: Likewise.
9172
1f3388fe
RB
91732014-03-14 Richard Biener <rguenther@suse.de>
9174
9175 PR middle-end/60518
9176 * cfghooks.c (split_block): Properly adjust all loops the
9177 block was a latch of.
9178
91792014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
9180
9181 PR lto/60461
9182 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
9183 and simplify it.
9184
2832dc22
GJL
91852014-03-14 Georg-Johann Lay <avr@gjlay.de>
9186
9187 PR target/59396
9188 * config/avr/avr.c (avr_set_current_function): Pass function name
9189 through default_strip_name_encoding before sanity checking instead
9190 of skipping the first char of the assembler name.
9191
3386d77e
RH
91922014-03-13 Richard Henderson <rth@redhat.com>
9193
9194 PR debug/60438
9195 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
9196 (ix86_force_to_memory, ix86_free_from_memory): Remove.
9197 * config/i386/i386-protos.h: Likewise.
9198 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
9199 in the expander instead of a splitter.
9200 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
9201 any possibility of requiring a memory.
9202 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
9203 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
9204 (fp branch splitters): Update for ix86_split_fp_branch.
9205 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
9206 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
9207 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
9208 (*fop_<MODEF>_2_i387): Remove f/r alternative.
9209 (*fop_<MODEF>_3_i387): Likewise.
9210 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
9211 (splitters for the fop_* register patterns): Remove.
9212 (fscalexf4_i387): Rename from *fscalexf4_i387.
9213 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 9214
5b5d7f31
JJ
92152014-03-13 Jakub Jelinek <jakub@redhat.com>
9216
9217 PR tree-optimization/59779
9218 * tree-dfa.c (get_ref_base_and_extent): Use double_int
9219 type for bitsize and maxsize instead of HOST_WIDE_INT.
9220
bdc6e1ae
SB
92212014-03-13 Steven Bosscher <steven@gcc.gnu.org>
9222
9223 PR rtl-optimization/57320
9224 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
9225 the CFG after thread_prologue_and_epilogue_insns.
9226
7891065a
VM
92272014-03-13 Vladimir Makarov <vmakarov@redhat.com>
9228
9229 PR rtl-optimization/57189
9230 * lra-constraints.c (process_alt_operands): Disfavor spilling
9231 vector pseudos.
9232
eba14fca
CP
92332014-03-13 Cesar Philippidis <cesar@codesourcery.com>
9234
429749e2 9235 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 9236
f661b085
JJ
92372014-03-13 Jakub Jelinek <jakub@redhat.com>
9238
9239 PR tree-optimization/59025
9240 PR middle-end/60418
9241 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
9242 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
9243
8f3a3138
GJL
92442014-03-13 Georg-Johann Lay <avr@gjlay.de>
9245
9246 PR target/60486
9247 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
9248 calls of avr_out_plus_1.
9249
d731ee04
BC
92502014-03-13 Bin Cheng <bin.cheng@arm.com>
9251
9252 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
9253 BB's single pred and update the father loop's latch info later.
9254
a16a872d
MM
92552014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
9256
9257 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
9258 (VEC_M): Likewise.
9259 (VEC_N): Likewise.
9260 (VEC_R): Likewise.
9261 (VEC_base): Likewise.
9262 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
9263 registers, we need to swap double words in little endian mode.
9264
9265 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
9266 to be a container mode for 128-bit integer operations added in ISA
9267 2.07. Unlike TImode and PTImode, the preferred register set is
9268 the Altivec/VMX registers for the 128-bit operations.
9269
9270 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
9271 declarations.
9272 (rs6000_split_128bit_ok_p): Likewise.
9273
9274 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
9275 macros for creating ISA 2.07 normal and overloaded builtin
9276 functions with 3 arguments.
9277 (BU_P8V_OVERLOAD_3): Likewise.
9278 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
9279 for use as overloaded functions.
9280 (VPERM_1TI_UNS): Likewise.
9281 (VSEL_1TI): Likewise.
9282 (VSEL_1TI_UNS): Likewise.
9283 (ST_INTERNAL_1ti): Likewise.
9284 (LD_INTERNAL_1ti): Likewise.
9285 (XXSEL_1TI): Likewise.
9286 (XXSEL_1TI_UNS): Likewise.
9287 (VPERM_1TI): Likewise.
9288 (VPERM_1TI_UNS): Likewise.
9289 (XXPERMDI_1TI): Likewise.
9290 (SET_1TI): Likewise.
9291 (LXVD2X_V1TI): Likewise.
9292 (STXVD2X_V1TI): Likewise.
9293 (VEC_INIT_V1TI): Likewise.
9294 (VEC_SET_V1TI): Likewise.
9295 (VEC_EXT_V1TI): Likewise.
9296 (EQV_V1TI): Likewise.
9297 (NAND_V1TI): Likewise.
9298 (ORC_V1TI): Likewise.
9299 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
9300 added in ISA 2.07. Add both normal 'altivec' builtins, and the
9301 overloaded builtin.
9302 (VADDUQM): Likewise.
9303 (VSUBCUQ): Likewise.
9304 (VADDEUQM): Likewise.
9305 (VADDECUQ): Likewise.
9306 (VSUBEUQM): Likewise.
9307 (VSUBECUQ): Likewise.
9308
9309 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
9310 __int128_t and __uint128_t types.
9311 (__uint128_type): Likewise.
9312 (altivec_categorize_keyword): Add support for vector __int128_t,
9313 vector __uint128_t, vector __int128, and vector unsigned __int128
9314 as a container type for TImode operations that need to be done in
9315 VSX/Altivec registers.
9316 (rs6000_macro_to_expand): Likewise.
9317 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
9318 to support 128-bit integer instructions vaddcuq, vadduqm,
9319 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
9320 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
9321
9322 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
9323 for V1TImode, and set up preferences to use VSX/Altivec registers.
9324 Setup VSX reload handlers.
a16a872d
MM
9325 (rs6000_debug_reg_global): Likewise.
9326 (rs6000_init_hard_regno_mode_ok): Likewise.
9327 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 9328 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
9329 (easy_altivec_constant): Likewise.
9330 (output_vec_const_move): Likewise.
9331 (rs6000_expand_vector_set): Convert V1TImode set and extract to
9332 simple move.
9333 (rs6000_expand_vector_extract): Likewise.
9334 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
9335 addressing.
9336 (rs6000_const_vec): Add support for V1TImode.
9337 (rs6000_emit_le_vsx_load): Swap double words when loading or
9338 storing TImode/V1TImode.
9339 (rs6000_emit_le_vsx_store): Likewise.
9340 (rs6000_emit_le_vsx_move): Likewise.
9341 (rs6000_emit_move): Add support for V1TImode.
9342 (altivec_expand_ld_builtin): Likewise.
9343 (altivec_expand_st_builtin): Likewise.
9344 (altivec_expand_vec_init_builtin): Likewise.
9345 (altivec_expand_builtin): Likewise.
9346 (rs6000_init_builtins): Add support for V1TImode type. Add
9347 support for ISA 2.07 128-bit integer builtins. Define type names
9348 for the VSX/Altivec vector types.
9349 (altivec_init_builtins): Add support for overloaded vector
9350 functions with V1TImode type.
0bb29a05 9351 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
9352 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
9353 external function.
9354 (rs6000_split_128bit_ok_p): Likewise.
9355 (rs6000_handle_altivec_attribute): Create V1TImode from vector
9356 __int128_t and vector __uint128_t.
9357
9358 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
9359 and mode attributes.
9360 (VSX_M): Likewise.
9361 (VSX_M2): Likewise.
9362 (VSm): Likewise.
9363 (VSs): Likewise.
9364 (VSr): Likewise.
9365 (VSv): Likewise.
9366 (VS_scalar): Likewise.
9367 (VS_double): Likewise.
0bb29a05 9368 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 9369
0bb29a05
UB
9370 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
9371 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
9372 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
9373 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
9374 and TImode types for use with the builtin functions.
9375 (V1TI_type_node): Likewise.
9376 (unsigned_V1TI_type_node): Likewise.
9377 (intTI_type_internal_node): Likewise.
9378 (uintTI_type_internal_node): Likewise.
9379
0bb29a05
UB
9380 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
9381 128-bit builtin functions.
a16a872d
MM
9382 (UNSPEC_VADDEUQM): Likewise.
9383 (UNSPEC_VADDECUQ): Likewise.
9384 (UNSPEC_VSUBCUQ): Likewise.
9385 (UNSPEC_VSUBEUQM): Likewise.
9386 (UNSPEC_VSUBECUQ): Likewise.
9387 (VM): Add V1TImode to vector mode iterators.
9388 (VM2): Likewise.
9389 (VI_unit): Likewise.
9390 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
9391 (altivec_vaddcuq): Likewise.
9392 (altivec_vsubuqm): Likewise.
9393 (altivec_vsubcuq): Likewise.
9394 (altivec_vaddeuqm): Likewise.
9395 (altivec_vaddecuq): Likewise.
9396 (altivec_vsubeuqm): Likewise.
9397 (altivec_vsubecuq): Likewise.
9398
9399 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
9400 mode iterators.
9401 (BOOL_128): Likewise.
9402 (BOOL_REGS_OUTPUT): Likewise.
9403 (BOOL_REGS_OP1): Likewise.
9404 (BOOL_REGS_OP2): Likewise.
9405 (BOOL_REGS_UNARY): Likewise.
9406 (BOOL_REGS_AND_CR0): Likewise.
9407
9408 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
9409 128-bit integer builtin support.
9410 (vec_vadduqm): Likewise.
9411 (vec_vaddecuq): Likewise.
9412 (vec_vaddeuqm): Likewise.
9413 (vec_vsubecuq): Likewise.
9414 (vec_vsubeuqm): Likewise.
9415 (vec_vsubcuq): Likewise.
9416 (vec_vsubuqm): Likewise.
9417
9418 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
9419 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
9420 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
9421 128-bit integer add/subtract to ISA 2.07.
9422
eeac7d15
JR
94232014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
9424
9425 * config/arc/arc.c (arc_predicate_delay_insns):
9426 Fix third argument passed to conditionalize_nonjump.
9427
bf0f324e
YZ
94282014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
9429
9430 * config/aarch64/aarch64-builtins.c
9431 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
9432 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
9433 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
9434 instead of __builtin_lfloor.
9435 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
9436
bf4787b2
JJ
94372014-03-12 Jakub Jelinek <jakub@redhat.com>
9438
9439 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
9440 (tree_ssa_ifcombine_bb_1): New function.
9441 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
9442 is an empty forwarder block to then_bb or vice versa and then_bb
9443 and else_bb are effectively swapped.
9444
7d55b948
CB
94452014-03-12 Christian Bruel <christian.bruel@st.com>
9446
9447 PR target/60264
0bb29a05
UB
9448 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
9449 REG_CFA_DEF_CFA note.
7d55b948
CB
9450 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
9451 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
9452
882a5fbe
TP
94532014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
9454
9455 PR tree-optimization/60454
9456 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
9457
a3cd0246
KT
94582014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9459
9460 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
9461 Do not define target_cpu_default2 to generic.
9462 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
9463 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
9464 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
9465
c888139c
JJ
94662014-03-12 Jakub Jelinek <jakub@redhat.com>
9467 Marc Glisse <marc.glisse@inria.fr>
9468
9469 PR tree-optimization/60502
9470 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
9471 instead of build_low_bits_mask.
9472
b24ca895
JJ
94732014-03-12 Jakub Jelinek <jakub@redhat.com>
9474
9475 PR middle-end/60482
9476 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
9477 if there are multiple uses, but op doesn't live on E edge.
9478 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
9479 clobber stmts before __builtin_unreachable.
9480
f1257268
RS
94812014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
9482
9483 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
9484 hard_frame_pointer_rtx.
9485 * cse.c (cse_insn): Remove volatile check.
9486 * cselib.c (cselib_process_insn): Likewise.
9487 * dse.c (scan_insn): Likewise.
9488
bae56bbb
JR
94892014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
9490
0bb29a05
UB
9491 * config/arc/arc.c (conditionalize_nonjump): New function,
9492 broken out of ...
9493 (arc_ifcvt): ... this.
bae56bbb
JR
9494 (arc_predicate_delay_insns): Use it.
9495
167ba5b9
JR
94962014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
9497
9498 * config/arc/predicates.md (extend_operand): During/after reload,
9499 allow const_int_operand.
9500 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
9501 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
9502 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
9503 to "i".
9504 (umulsi3_highpart_i): Likewise.
9505
dfd7d2d6
RB
95062014-03-11 Richard Biener <rguenther@suse.de>
9507
9508 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
9509 Add asserts to guard possible wrong-code bugs.
9510
af1ab449
RB
95112014-03-11 Richard Biener <rguenther@suse.de>
9512
9513 PR tree-optimization/60429
9514 PR tree-optimization/60485
9515 * tree-ssa-structalias.c (set_union_with_increment): Properly
9516 take into account all fields that overlap the shifted vars.
9517 (do_sd_constraint): Likewise.
9518 (do_ds_constraint): Likewise.
9519 (get_constraint_for_ptr_offset): Likewise.
9520
747425d0
CLT
95212014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
9522
9523 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
9524 (nios2_compute_frame_layout):
9525 Add calculation of cfun->machine->fp_save_offset.
9526 (nios2_expand_prologue): Correct setting of frame pointer register
9527 in prologue.
9528 (nios2_expand_epilogue): Update recovery of stack pointer from
9529 frame pointer accordingly.
9530 (nios2_initial_elimination_offset): Update calculation of offset
9531 for eliminating to HARD_FRAME_POINTER_REGNUM.
9532
31dad809
JJ
95332014-03-10 Jakub Jelinek <jakub@redhat.com>
9534
9535 PR ipa/60457
9536 * ipa.c (symtab_remove_unreachable_nodes): Don't call
9537 cgraph_get_create_node on VAR_DECLs.
9538
3c1c08d6
RB
95392014-03-10 Richard Biener <rguenther@suse.de>
9540
9541 PR middle-end/60474
9542 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
9543
21d89690
DR
95442014-03-08 Douglas B Rupp <rupp@gnat.com>
9545
9546 * config/vms/vms.opt (vms_float_format): New variable.
9547
634b8e9b
TB
95482014-03-08 Tobias Burnus <burnus@net-b.de>
9549
0bb29a05 9550 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 9551
f42c637e
PM
95522014-03-08 Paulo Matos <paulo@matos-sorge.com>
9553 Richard Biener <rguenther@suse.de>
9554
9555 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
9556 consistently accross all TUs.
9557 (run_gcc): Enable -fshort-double automatically at link at link-time
9558 and disallow override.
9559
bd65fc87
RS
95602014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
9561
9562 PR target/58271
9563 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
9564 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
9565 if they can't be used.
9566
040c446d
RO
95672014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9568
0bb29a05
UB
9569 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
9570 for Solaris 11/x86 ld.
040c446d
RO
9571 * configure: Regenerate.
9572
caa16d41
RO
95732014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9574
9575 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
9576 (LIB_TLS_SPEC): Save as ld_tls_libs.
9577 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
9578 (HAVE_AS_IX86_TLSLDM): New test.
9579 * configure, config.in: Regenerate.
9580 * config/i386/i386.c (legitimize_tls_address): Fall back to
9581 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
9582 cannot support TLS_MODEL_LOCAL_DYNAMIC.
9583 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
9584 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
9585
f3d83ffe
PM
95862014-03-07 Paulo Matos <paulo@matos-sorge.com>
9587
9588 * common.opt (fira-loop-pressure): Mark as optimization.
9589
b17a8b07
TS
95902014-03-07 Thomas Schwinge <thomas@codesourcery.com>
9591
9592 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
9593 an OpenMP mappable type.
9594
4973b0f9
MK
95952014-03-06 Matthias Klose <doko@ubuntu.com>
9596
9597 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
9598 MULTILIB_OSDIRNAMES is not defined.
9599
ab19cc6c
JJ
96002014-03-06 Jakub Jelinek <jakub@redhat.com>
9601 Meador Inge <meadori@codesourcery.com>
9602
9603 PR target/58595
9604 * config/arm/arm.c (arm_tls_symbol_p): Remove.
9605 (arm_legitimize_address): Call legitimize_tls_address for any
9606 arm_tls_referenced_p expression, handle constant addend. Call it
9607 before testing for !TARGET_ARM.
9608 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
9609
a74158c7
RB
96102014-03-06 Richard Biener <rguenther@suse.de>
9611
9612 PR middle-end/60445
9613 PR lto/60424
9614 PR lto/60427
9615 Revert
9616 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
9617
0bb29a05
UB
9618 * tree-streamer.c (record_common_node): Assert we don't record
9619 nodes with type double.
9620 (preload_common_node): Skip type double, complex double and double
9621 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 9622
f3ba16d0
RB
96232014-03-06 Richard Biener <rguenther@suse.de>
9624
9625 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
9626 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
9627 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
9628 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
9629 * lto-wrapper.c (merge_and_complain): Merge compile-time
9630 optimization levels.
9631 (run_gcc): And pass it through to the link options.
9632
4bb66ef3 96332014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
9634
9635 PR debug/60381
9636 Revert:
4bb66ef3 9637 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
9638 PR debug/59992
9639 * cselib.c (remove_useless_values): Skip to avoid quadratic
9640 behavior if the condition moved from...
9641 (cselib_process_insn): ... here holds.
9642
a05cca9b
JJ
96432014-03-05 Jakub Jelinek <jakub@redhat.com>
9644
487125e7
JJ
9645 PR plugins/59335
9646 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
9647 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
9648
a05cca9b
JJ
9649 PR plugins/59335
9650 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
9651 (TM_H): Add x86-tune.def.
9652
4e2cd668
KT
96532014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9654
9655 * config/aarch64/aarch64.c (generic_tunings):
9656 Use cortexa57_extra_costs.
9657
5525ed38
JJ
96582014-03-05 Jakub Jelinek <jakub@redhat.com>
9659
9660 PR lto/60404
9661 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
9662 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
9663 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
9664 cost for in_lto_p.
9665
0c72fa78
H
96662014-03-04 Heiher <r@hev.cc>
9667
9668 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
9669 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
9670
66b03f81
UB
96712014-03-04 Uros Bizjak <ubizjak@gmail.com>
9672
9673 * config/i386/predicates.md (const2356_operand): Change to ...
9674 (const2367_operand): ... this.
9675 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
9676 const2367_operand.
9677 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9678 (*avx512pf_scatterpf<mode>sf): Ditto.
9679 (avx512pf_scatterpf<mode>df): Ditto.
9680 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9681 (*avx512pf_scatterpf<mode>df): Ditto.
9682 * config/i386/i386.c (ix86_expand_builtin): Update
9683 incorrect hint operand error message.
9684
3c24e842
RB
96852014-03-04 Richard Biener <rguenther@suse.de>
9686
9687 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 9688
3740bda6
PM
96892014-03-04 Paulo Matos <paulo@matos-sorge.com>
9690
0bb29a05
UB
9691 * tree-streamer.c (record_common_node): Assert we don't record
9692 nodes with type double.
9693 (preload_common_node): Skip type double, complex double and double
9694 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 9695
91856735
RB
96962014-03-04 Richard Biener <rguenther@suse.de>
9697
9698 PR lto/60405
66b03f81 9699 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
9700 (lto_input_toplevel_asms): Likewise.
9701 * lto-section-in.c (lto_get_section_data): Instead do it here
9702 for every section.
66b03f81 9703
b75f28e1
RB
97042014-03-04 Richard Biener <rguenther@suse.de>
9705
9706 PR tree-optimization/60382
9707 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
9708 dead PHIs a reduction.
9709
dd96e83a
UB
97102014-03-03 Uros Bizjak <ubizjak@gmail.com>
9711
9712 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
9713 hint value.
9714 (_mm_prefetch): Move out of GCC target("sse") pragma.
9715 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
9716 GCC target("prfchw") pragma.
9717 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
9718 for locality <= 2.
9719 * config/i386/i386.c (ix86_option_override_internal): Enable
9720 -mprfchw with -mprefetchwt1.
9721
220c1a51
JR
97222014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9723
9724 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
9725 Mark as varying.
9726
212bfe71
JR
97272014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
9728
9729 * opts.h (CL_PCH_IGNORE): Define.
9730 * targhooks.c (option_affects_pch_p):
9731 Return false for options that have CL_PCH_IGNORE set.
9732 * opt-functions.awk: Process PchIgnore.
9733 * doc/options.texi: Document PchIgnore.
9734
7a3d0a39
JR
9735 * config/arc/arc.opt (misize): Add PchIgnore property.
9736
b46ed885
BS
97372014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9738
9739 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
9740 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
9741 constraint on constants to permit them being loaded into
9742 GENERAL_REGS or BASE_REGS.
9743
c6f709ec
NC
97442014-03-03 Nick Clifton <nickc@redhat.com>
9745
9746 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
9747 anti-cacnonical alternatives.
9748 (negandhi3_real): New pattern.
9749 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
9750
5752f78f
SKS
97512014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
9752
9753 * config/avr/avr-mcus.def: Remove atxmega16x1.
9754 * config/avr/avr-tables.opt: Regenerate.
9755 * config/avr/t-multilib: Regenerate.
9756 * doc/avr-mmcu.texi: Regenerate.
9757
0afe7332 97582014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 9759 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
9760
9761 PR tree-optimization/58028
9762 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
9763 scalar dimensions.
9764
3416dd87
RR
97652014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9766
9767 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
9768 not handled by recognizers.
9769
79c7fda6
JJ
97702014-03-03 Jakub Jelinek <jakub@redhat.com>
9771
9772 PR middle-end/60175
9773 * function.c (expand_function_end): Don't emit
9774 clobber_return_register sequence if clobber_after is a BARRIER.
9775 * cfgexpand.c (construct_exit_block): Append instructions before
9776 return_label to prev_bb.
9777
715a5c85
BS
97782014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9779
9780 * config/rs6000/constraints.md: Document reserved use of "wc".
9781
9ffbf271
JH
97822014-03-02 Jan Hubicka <hubicka@ucw.cz>
9783
9784 PR ipa/60150
9785 * ipa.c (function_and_variable_visibility): When dissolving comdat
9786 group, also set all symbols to local.
9787
993df21e 97882014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 9789
993df21e
JH
9790 PR ipa/60306
9791
9792 Revert:
40c0a159 9793 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
9794 PR middle-end/58477
9795 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 9796
9b0af790
JB
97972014-03-02 Jon Beniston <jon@beniston.com>
9798
9799 PR bootstrap/48230
9800 PR bootstrap/50927
9801 PR bootstrap/52466
9802 PR target/46898
9803 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 9804 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 9805 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 9806 (simple_return, *simple_return): New patterns
9b0af790
JB
9807 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
9808 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
9809
c582aac9
PC
98102014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
9811
9812 * dwarf2out.c (gen_subprogram_die): Tidy.
9813
19305875
OE
98142014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
9815
9816 PR target/60071
9817 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
9818 (*mov_t_msb_neg_negc): ... this new insn.
9819
570215f9
JM
98202014-02-28 Jason Merrill <jason@redhat.com>
9821
9822 PR c++/58678
9823 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
9824 function.
9825
c5b001b5
PC
98262014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
9827
9828 PR c++/60314
9829 * dwarf2out.c (decltype_auto_die): New static.
9830 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
9831 (gen_type_die_with_usage): Handle 'decltype(auto)'.
9832 (is_cxx_auto): Likewise.
9833
5750e120
IB
98342014-02-28 Ian Bolton <ian.bolton@arm.com>
9835
9836 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
9837 we are not using general regs only.
9838
fba7c564
RB
98392014-02-28 Richard Biener <rguenther@suse.de>
9840
9841 PR target/60280
9842 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
9843 previous fix and only allow to remove trivial pre-headers
9844 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 9845 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 9846
4bb66ef3 98472014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
9848
9849 PR debug/59992
9850 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
9851 (cselib_preserved_hash_table): New.
9852 (preserve_constants_and_equivs): Move preserved vals to it.
9853 (cselib_find_slot): Look it up first.
9854 (cselib_init): Initialize it.
9855 (cselib_finish): Release it.
9856 (dump_cselib_table): Dump it.
9857
4bb66ef3 98582014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
9859
9860 PR debug/59992
9861 * cselib.c (remove_useless_values): Skip to avoid quadratic
9862 behavior if the condition moved from...
9863 (cselib_process_insn): ... here holds.
9864
4bb66ef3 98652014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
9866
9867 PR debug/57232
9868 * var-tracking.c (vt_initialize): Apply the same condition to
9869 preserve the CFA base value.
9870
9910c53c
JY
98712014-02-28 Joey Ye <joey.ye@arm.com>
9872
9873 PR target/PR60169
9874 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
9875 if reload in progress or completed.
9876
ef271341
TB
98772014-02-28 Tobias Burnus <burnus@net-b.de>
9878
9879 PR middle-end/60147
9880 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
9881 NAMELIST_DECL.
9882
c4f6267b
L
98832014-02-27 H.J. Lu <hongjiu.lu@intel.com>
9884
9885 * doc/tm.texi.in (Condition Code Status): Update documention for
9886 relative locations of cc0-setter and cc0-user.
9887
7a76df7f
JL
98882014-02-27 Jeff Law <law@redhat.com>
9889
9890 PR rtl-optimization/52714
9891 * combine.c (try_combine): When splitting an unrecognized PARALLEL
9892 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 9893 pattern we place into I3 is a (set (pc) ...).
7a76df7f 9894
728acca0
MP
98952014-02-27 Mikael Pettersson <mikpe@it.uu.se>
9896 Jeff Law <law@redhat.com>
9897
9898 PR rtl-optimization/49847
9899 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
9900 are in different blocks.
9901 * doc/tm.texi (Condition Code Status): Update documention for
9902 relative locations of cc0-setter and cc0-user.
9903
93aaa05d
VM
99042014-02-27 Vladimir Makarov <vmakarov@redhat.com>
9905
9906 PR target/59222
9907 * lra.c (lra_emit_add): Check SUBREG too.
9908
1ee6eb01
AS
99092014-02-27 Andreas Schwab <schwab@suse.de>
9910
9911 * config/m68k/m68k.c (m68k_option_override): Disable
9912 -flive-range-shrinkage for classic m68k.
9913 (m68k_override_options_after_change): Likewise.
9914
bb0d8e84
MP
99152014-02-27 Marek Polacek <polacek@redhat.com>
9916
9917 PR middle-end/59223
9918 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
9919 -Wmaybe-uninitialized.
9920
3157b879
AM
99212014-02-27 Alan Modra <amodra@gmail.com>
9922
3e17cad2 9923 PR target/57936
3157b879
AM
9924 * reload1.c (emit_input_reload_insns): When reload_override_in,
9925 set old to rl->in_reg when rl->in_reg is a subreg.
9926
bb750f4f
RB
99272014-02-26 Richard Biener <rguenther@suse.de>
9928
9929 PR bootstrap/60343
9930 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
9931
22c8aab3
IT
99322014-02-25 Ilya Tocar <ilya.tocar@intel.com>
9933
9934 * common/config/i386/predicates.md (const1256_operand): Remove.
9935 (const2356_operand): New.
9936 (const_1_to_2_operand): Remove.
9937 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
9938 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
9939 (*avx512pf_gatherpf<mode>sf): Ditto.
9940 (avx512pf_gatherpf<mode>df): Ditto.
9941 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9942 (*avx512pf_gatherpf<mode>df): Ditto.
9943 (avx512pf_scatterpf<mode>sf): Ditto.
9944 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9945 (*avx512pf_scatterpf<mode>sf): Ditto.
9946 (avx512pf_scatterpf<mode>df): Ditto.
9947 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9948 (*avx512pf_scatterpf<mode>df): Ditto.
9949 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
9950
260d3642
IT
99512014-02-26 Ilya Tocar <ilya.tocar@intel.com>
9952
9953 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
9954 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
9955 (_mm512_mask_testn_epi64_mask): Move to ...
9956 * config/i386/avx512cdintrin.h: Here.
9957 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
9958 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
9959 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
9960 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
9961 TARGET_AVX512F from TARGET_AVX512CD.
9962
477145c8
RB
99632014-02-26 Richard Biener <rguenther@suse.de>
9964
9965 PR ipa/60327
9966 * ipa.c (walk_polymorphic_call_targets): Properly guard
9967 call to inline_update_overall_summary.
9968
a3afdbb8
BC
99692014-02-26 Bin Cheng <bin.cheng@arm.com>
9970
9971 PR target/60280
84d7e312
UB
9972 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
9973 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
9974 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
9975 LOOPS_HAVE_PREHEADERS.
9976
b8a542c6
AP
99772014-02-25 Andrew Pinski <apinski@cavium.com>
9978
9979 * builtins.c (expand_builtin_thread_pointer): Create a new target
9980 when the target is NULL.
9981
88def637
VM
99822014-02-25 Vladimir Makarov <vmakarov@redhat.com>
9983
9984 PR rtl-optimization/60317
9985 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
9986 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
9987 * lra-assigns.c: Include params.h.
9988 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
9989 other reload pseudos considerations.
9990
68908a06
BS
99912014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9992
cf36d2cc
WS
9993 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
9994 to use canonical form for nor<mode>3.
68908a06 9995
db57bbc9
KT
99962014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9997
9998 PR target/55426
9999 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
10000 conversions.
10001
43b3f52f
IT
100022014-02-25 Ilya Tocar <ilya.tocar@intel.com>
10003
10004 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
10005 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
10006 (ix86_handle_option): Handle OPT_mprefetchwt1.
10007 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
10008 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
10009 PREFETCHWT1 CPUID.
10010 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
10011 OPTION_MASK_ISA_PREFETCHWT1.
10012 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
10013 (PTA_PREFETCHWT1): New.
10014 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
10015 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 10016 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
10017 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
10018 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 10019 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
10020 * config/i386/i386.opt (mprefetchwt1): New.
10021 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
10022 (_mm_prefetch): Handle intent to write.
10023 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
10024
84053e02
RB
100252014-02-25 Richard Biener <rguenther@suse.de>
10026
10027 PR middle-end/60291
10028 * emit-rtl.c (mem_attrs_htab): Remove.
10029 (mem_attrs_htab_hash): Likewise.
10030 (mem_attrs_htab_eq): Likewise.
84d7e312 10031 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
10032 (init_emit_once): Do not allocate mem_attrs_htab.
10033
4094757e
RB
100342014-02-25 Richard Biener <rguenther@suse.de>
10035
10036 PR lto/60319
10037 * lto-opts.c (lto_write_options): Output non-explicit conservative
10038 -fwrapv, -fno-trapv and -fno-strict-overflow.
10039 * lto-wrapper.c (merge_and_complain): Handle merging those options.
10040 (run_gcc): And pass them through.
10041
41b2d514 100422014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 10043
41b2d514
AB
10044 * sel-sched.c (calculate_new_fences): New parameter ptime.
10045 Calculate it as a maximum over all fence cycles.
10046 (sel_sched_region_2): Adjust the call to calculate_new_fences.
10047 Print the final schedule timing when sched_verbose.
10048
c1c99405
AB
100492014-02-25 Andrey Belevantsev <abel@ispras.ru>
10050
10051 PR rtl-optimization/60292
10052 * sel-sched.c (fill_vec_av_set): Do not reset target availability
10053 bit fot the fence instruction.
10054
1d9def42
AD
100552014-02-24 Alangi Derick <alangiderick@gmail.com>
10056
10057 * calls.h: Fix typo in comment.
10058
325fefe0
JDA
100592014-02-24 John David Anglin <danglin@gcc.gnu.org>
10060
10061 * config/pa/pa.c (pa_output_move_double): Don't valididate when
10062 adjusting offsetable addresses.
10063
ad43b47a
GW
100642014-02-24 Guozhi Wei <carrot@google.com>
10065
10066 * sparseset.h (sparseset_pop): Fix the wrong index.
10067
341c653c
WL
100682014-02-24 Walter Lee <walt@tilera.com>
10069
10070 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
10071 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
10072 triplet.
10073 * common/config/tilegx/tilegx-common.c
10074 (TARGET_DEFAULT_TARGET_FLAGS): Define.
10075 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
10076 (LINK_SPEC): Ditto.
10077 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
10078 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
10079 (tilegx_gimplify_va_arg_expr): Handle big endian.
10080 (tilegx_expand_unaligned_load): Ditto.
10081 (tilegx_expand_unaligned_store): Ditto.
10082 (TARGET_RETURN_IN_MSB): New.
10083 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
10084 (TARGET_ENDIAN_DEFAULT): New.
10085 (TARGET_BIG_ENDIAN): Handle big endian.
10086 (BYTES_BIG_ENDIAN): Ditto.
10087 (WORDS_BIG_ENDIAN): Ditto.
10088 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
10089 (ENDIAN_SPEC): New.
10090 (EXTRA_SPECS): New.
10091 * config/tilegx/tilegx.md (extv): Handle big endian.
10092 (extzv): Ditto.
10093 (insn_st<n>): Ditto.
10094 (insn_st<n>_add<bitsuffix>): Ditto.
10095 (insn_stnt<n>): Ditto.
10096 (insn_stnt<n>_add<bitsuffix>):Ditto.
10097 (vec_interleave_highv8qi): Handle big endian.
10098 (vec_interleave_highv8qi_be): New.
10099 (vec_interleave_highv8qi_le): New.
10100 (insn_v1int_h): Handle big endian.
10101 (vec_interleave_lowv8qi): Handle big endian.
10102 (vec_interleave_lowv8qi_be): New.
10103 (vec_interleave_lowv8qi_le): New.
10104 (insn_v1int_l): Handle big endian.
10105 (vec_interleave_highv4hi): Handle big endian.
10106 (vec_interleave_highv4hi_be): New.
10107 (vec_interleave_highv4hi_le): New.
10108 (insn_v2int_h): Handle big endian.
10109 (vec_interleave_lowv4hi): Handle big endian.
10110 (vec_interleave_lowv4hi_be): New.
10111 (vec_interleave_lowv4hi_le): New.
10112 (insn_v2int_l): Handle big endian.
10113 (vec_interleave_highv2si): Handle big endian.
10114 (vec_interleave_highv2si_be): New.
10115 (vec_interleave_highv2si_le): New.
10116 (insn_v4int_h): Handle big endian.
10117 (vec_interleave_lowv2si): Handle big endian.
10118 (vec_interleave_lowv2si_be): New.
10119 (vec_interleave_lowv2si_le): New.
10120 (insn_v4int_l): Handle big endian.
10121 * config/tilegx/tilegx.opt (mbig-endian): New option.
10122 (mlittle-endian): New option.
10123 * doc/install.texi: Document tilegxbe-linux.
10124 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
10125
f3fec19f
MJ
101262014-02-24 Martin Jambor <mjambor@suse.cz>
10127
10128 PR ipa/60266
10129 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
10130 there are no parameter descriptors.
10131
9039622a
AB
101322014-02-24 Andrey Belevantsev <abel@ispras.ru>
10133
10134 PR rtl-optimization/60268
10135 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
10136 initialization to ...
10137 (sched_rgn_init): ... here.
10138 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
10139
4bb66ef3 101402014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 10141
9039622a
AB
10142 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
10143 names.
e7e7bc4b 10144
4bb66ef3 101452014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
10146
10147 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
10148 definition.
10149
4bb66ef3 101502014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 10151
84d7e312
UB
10152 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
10153 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 10154
4bb66ef3 101552014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
10156
10157 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 10158 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 10159 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 10160 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
10161 to microblaze_expand_conditional_branch and consolidate logic.
10162 (microblaze_expand_conditional_branch): emit branch_compare
10163 insn instead of handling cmp op separate from branch insn.
10164
34c25d23
BS
101652014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10166
10167 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
10168 to permit subregs.
10169
a6eecdc1
BS
101702014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10171
d5a19af1
DH
10172 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
10173 define_insn with define_expand and new define_insn
10174 *altivec_lve<VI_char>x_internal.
10175 (altivec_stve<VI_char>x): Replace define_insn with define_expand
10176 and new define_insn *altivec_stve<VI_char>x_internal.
10177 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
10178 prototype.
10179 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
10180 lve*x built-ins.
10181 (altivec_expand_stvex_be): New function.
a6eecdc1 10182
8aa7d1fc
JR
101832014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
10184
10185 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 10186 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
10187 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
10188 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
10189
a810ee82
VM
101902014-02-21 Vladimir Makarov <vmakarov@redhat.com>
10191
10192 PR target/60298
10193 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
10194 instead of emit_move_insn.
10195
b90ab1ba
BS
101962014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10197
10198 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
10199 vspltw with vsldoi.
10200 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
10201 gen_altivec_vsumsws.
10202
1af73690
WS
102032014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10204
10205 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 10206 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
10207 (altivec_lvxl_<mode>): New define_expand incorporating
10208 -maltivec=be semantics where needed.
10209 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
10210 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
10211 semantics where needed.
10212 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
10213 (altivec_stvx_<mode>): New define_expand incorporating
10214 -maltivec=be semantics where needed.
10215 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
10216 VM2 iterator instead of V4SI.
10217 (altivec_stvxl_<mode>): New define_expand incorporating
10218 -maltivec=be semantics where needed.
10219 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
10220 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
10221 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
10222 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
10223 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
10224 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
10225 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
10226 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
10227 ALTIVEC_BUILTIN_STVXL.
84d7e312 10228 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
10229 (altivec_expand_stvx_be): Likewise.
10230 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
10231 (altivec_expand_lvx_be): Likewise.
10232 (altivec_expand_stvx_be): Likewise.
10233 (altivec_expand_builtin): Add cases for
10234 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
10235 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
10236 (altivec_init_builtins): Add definitions for
10237 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 10238 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 10239
0a39d07b
CM
102402014-02-21 Catherine Moore <clm@codesourcery.com>
10241
10242 * doc/invoke.texi (mvirt, mno-virt): Document.
10243 * config/mips/mips.opt (mvirt): New option.
10244 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
10245
f2556b68
RB
102462014-02-21 Richard Biener <rguenther@suse.de>
10247
10248 PR tree-optimization/60276
10249 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
10250 (STMT_VINFO_MIN_NEG_DIST): New macro.
10251 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
10252 STMT_VINFO_MIN_NEG_DIST.
10253 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
10254 made for negative dependence distances still hold.
10255
32417082
RB
102562014-02-21 Richard Biener <rguenther@suse.de>
10257
10258 PR middle-end/60291
10259 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
10260 DECL_INITIAL for globals not in the current function context.
10261
92261ce0
JJ
102622014-02-21 Jakub Jelinek <jakub@redhat.com>
10263
10264 PR tree-optimization/56490
10265 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
10266 * tree-ssa-uninit.c: Include params.h.
10267 (compute_control_dep_chain): Add num_calls argument, return false
10268 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
10269 num_calls to recursive call.
10270 (find_predicates): Change dep_chain into normal array,
10271 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
10272 variable and adjust compute_control_dep_chain caller.
10273 (find_def_preds): Likewise.
10274
aa6ef874
TS
102752014-02-21 Thomas Schwinge <thomas@codesourcery.com>
10276
10277 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
10278 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
10279
4b156fd0
NC
102802014-02-21 Nick Clifton <nickc@redhat.com>
10281
10282 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
10283 (pushhi1): Likewise.
10284 (popqi1): Add mode to pre_dec.
10285 (pophi1): Likewise.
10286
dffd569e
JJ
102872014-02-21 Jakub Jelinek <jakub@redhat.com>
10288
10289 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
10290 mode for mask of V8SFmode permutation.
10291
2fdc29e8
RH
102922014-02-20 Richard Henderson <rth@redhat.com>
10293
10294 PR c++/60272
10295 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
10296 a new pseudo for OLDVAL.
10297
aa637f66
JJ
102982014-02-20 Jakub Jelinek <jakub@redhat.com>
10299
10300 PR target/57896
10301 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
10302 gen_reg_rtx if d->testing_p.
10303 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
10304 if d->testing_p and we will certainly return true.
10305 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
10306 if d->testing_p.
10307
004a7e45
UB
103082014-02-20 Uros Bizjak <ubizjak@gmail.com>
10309
10310 * emit-rtl.c (gen_reg_rtx): Assert that
10311 crtl->emit.regno_pointer_align_length is non-zero.
10312
103132014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
10314
10315 PR c++/60272
10316 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
10317 on failure the store back into EXPECT.
10318
95ce7613
CLT
103192014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
10320 Sandra Loosemore <sandra@codesourcery.com>
10321
10322 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
10323 * config/nios2/nios2.c (nios2_function_profiler): Add
10324 -fPIC (flag_pic == 2) support.
95ce7613
CLT
10325 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
10326 (nios2_large_offset_p): New function.
10327 (nios2_unspec_reloc_p): Move up position, update to use
10328 nios2_large_offset_p.
10329 (nios2_unspec_address): Remove function.
10330 (nios2_unspec_offset): New function.
10331 (nios2_large_got_address): New function.
10332 (nios2_got_address): Add large offset support.
10333 (nios2_legitimize_tls_address): Update usage of removed and new
10334 functions.
10335 (nios2_symbol_binds_local_p): New function.
10336 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
10337 (nios2_legitimize_address): Update to use nios2_large_offset_p.
10338 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
10339 (nios2_print_operand): Merge H/L processing, add hiadj/lo
10340 processing for (const (unspec ...)).
10341 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
10342
efd2d3c8
RB
103432014-02-20 Richard Biener <rguenther@suse.de>
10344
10345 * tree-cfg.c (replace_uses_by): Mark altered BBs before
10346 doing the substitution.
004a7e45 10347 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 10348
9576e7b1
MJ
103492014-02-20 Martin Jambor <mjambor@suse.cz>
10350
10351 PR ipa/55260
10352 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
10353 info when checking whether lattices are bottom.
10354
25fe40b0
RB
103552014-02-20 Richard Biener <rguenther@suse.de>
10356
10357 PR middle-end/60221
10358 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
10359 regions at -O0.
10360
bd936951
JH
103612014-02-20 Jan Hubicka <hubicka@ucw.cz>
10362
10363 PR ipa/58555
004a7e45
UB
10364 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
10365 parameter specifying the scaling.
bd936951
JH
10366 (inline_call): Update.
10367 (want_inline_recursively): Guard division by zero.
10368 (recursive_inlining): Update.
10369 * ipa-inline.h (clone_inlined_nodes): Update.
10370
3c898e1a
IT
103712014-02-20 Ilya Tocar <ilya.tocar@intel.com>
10372
10373 PR target/60204
10374 * config/i386/i386.c (classify_argument): Pass structures of size
10375 64 bytes or less in register.
10376
df62b4af 103772014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 10378 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
10379
10380 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
10381 (_mm_rcp28_round_ss): Ditto.
10382 (_mm_rsqrt28_round_sd): Ditto.
10383 (_mm_rsqrt28_round_ss): Ditto.
10384 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
10385 (_mm_rcp14_round_ss): Ditto.
10386 (_mm_rsqrt14_round_sd): Ditto.
10387 (_mm_rsqrt14_round_ss): Ditto.
10388 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
10389 the first input operand, get rid of match_dup.
10390 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
10391 attribute to sse.
10392 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
10393 Ditto.
10394 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
10395 operand as the first input operand, set type attribute.
10396 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
10397 Set type attribute.
10398 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
10399 operand as the first input operand, set type attribute.
10400
9254148e
BS
104012014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10402
10403 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
10404 bit of zero.
10405
fff91793
L
104062014-02-19 H.J. Lu <hongjiu.lu@intel.com>
10407
10408 PR target/60207
10409 * config/i386/i386.c (construct_container): Remove TFmode check
10410 for X86_64_INTEGER_CLASS.
10411
6aa5b4b8
UB
104122014-02-19 Uros Bizjak <ubizjak@gmail.com>
10413
10414 PR target/59794
10415 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
10416 only when -Wpsabi is enabled.
10417
aadc1c43
MHD
104182014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
10419
10420 PR target/59799
10421 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
10422 passing arrays in registers are the same as for structs, so remove the
10423 special case for them.
10424
322913f8
EB
104252014-02-19 Eric Botcazou <ebotcazou@adacore.com>
10426
10427 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
10428 destination type, extract only the valid bits if the source type is not
10429 integral and has a different mode.
10430
fd9710dc
RB
104312014-02-19 Richard Biener <rguenther@suse.de>
10432
10433 PR ipa/60243
10434 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
10435 for all calls.
10436
4df65a85
RB
104372014-02-19 Richard Biener <rguenther@suse.de>
10438
10439 PR ipa/60243
10440 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
10441 (ipa_modify_call_arguments): Emit an argument load explicitely and
10442 preserve virtual SSA form there and for the replacement call.
10443 Do not update SSA form nor free dominance info.
10444
7fea98d8
JH
104452014-02-18 Jan Hubicka <hubicka@ucw.cz>
10446
10447 * ipa.c (function_and_variable_visibility): Also clear WEAK
10448 flag when disolving COMDAT_GROUP.
10449
0a2550e7
JH
104502014-02-18 Jan Hubicka <hubicka@ucw.cz>
10451
10452 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
10453 * ipa-prop.c (ipa_set_jf_known_type): Return early when
10454 not devirtualizing.
10455 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
10456 do more sanity checks.
10457 (detect_type_change): Return true when giving up early.
10458 (compute_complex_assign_jump_func): Fix type parameter of
10459 ipa_set_ancestor_jf.
10460 (compute_complex_ancestor_jump_func): Likewise.
10461 (update_jump_functions_after_inlining): Fix updating of
10462 ancestor function.
6aa5b4b8 10463 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 10464
2dbe8b70
JH
104652014-02-18 Jan Hubicka <hubicka@ucw.cz>
10466
10467 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
10468 inline clones when edge disappears.
10469
b9809dc4
MM
104702014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10471
10472 PR target/60203
10473 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
10474 Split 64-bit moves into 2 patterns. Do not allow the use of
10475 direct move for TDmode in little endian, since the decimal value
10476 has little endian bytes within a word, but the 64-bit pieces are
10477 ordered in a big endian fashion, and normal subreg's of TDmode are
10478 not allowed.
10479 (mov<mode>_64bit_dm): Likewise.
10480 (movtd_64bit_nodm): Likewise.
10481
bababbfb
EB
104822014-02-18 Eric Botcazou <ebotcazou@adacore.com>
10483
10484 PR tree-optimization/60174
10485 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
10486 statement of an SSA_NAME that occurs in an abnormal PHI node.
10487
70aacc97
JJ
104882014-02-18 Jakub Jelinek <jakub@redhat.com>
10489
10490 PR sanitizer/60142
10491 * final.c (SEEN_BB): Remove.
10492 (SEEN_NOTE, SEEN_EMITTED): Renumber.
10493 (final_scan_insn): Don't force_source_line on second
10494 NOTE_INSN_BASIC_BLOCK.
10495
223cdd15
UB
104962014-02-18 Uros Bizjak <ubizjak@gmail.com>
10497
10498 PR target/60205
10499 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
10500 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
10501 (type_natural_mode): Warn ABI change when %zmm register is not
10502 available for AVX512F vector value passing.
10503
48810be0
KT
105042014-02-18 Kai Tietz <ktietz@redhat.com>
10505
10506 PR target/60193
223cdd15
UB
10507 * config/i386/i386.c (ix86_expand_prologue): Use value in
10508 rax register as displacement when restoring %r10 or %rax.
10509 Fix wrong offset when restoring both registers.
48810be0 10510
20afe640
EB
105112014-02-18 Eric Botcazou <ebotcazou@adacore.com>
10512
10513 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
10514 assertion with conditional return.
10515
d0b50387
JJ
105162014-02-18 Jakub Jelinek <jakub@redhat.com>
10517 Uros Bizjak <ubizjak@gmail.com>
10518
10519 PR driver/60233
10520 * config/i386/driver-i386.c (host_detect_local_cpu): If
10521 YMM state is not saved by the OS, also clear has_f16c. Move
10522 CPUID 0x80000001 handling before YMM state saving checking.
10523
c4cd7435
AB
105242014-02-18 Andrey Belevantsev <abel@ispras.ru>
10525
10526 PR rtl-optimization/58960
10527 * haifa-sched.c (alloc_global_sched_pressure_data): New,
10528 factored out from ...
10529 (sched_init): ... here.
10530 (free_global_sched_pressure_data): New, factored out from ...
10531 (sched_finish): ... here.
10532 * sched-int.h (free_global_sched_pressure_data): Declare.
10533 * sched-rgn.c (nr_regions_initial): New static global.
10534 (haifa_find_rgns): Initialize it.
10535 (schedule_region): Disable sched-pressure for the newly
10536 generated regions.
10537
f0281fde
RB
105382014-02-17 Richard Biener <rguenther@suse.de>
10539
10540 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
10541 release SSA defs of pattern stmts.
10542
c742772c
RB
105432014-02-17 Richard Biener <rguenther@suse.de>
10544
10545 * tree-inline.c (expand_call_inline): Release the virtual
10546 operand defined by the call we are about to inline.
10547
0492158e
RB
105482014-02-17 Richard Biener <rguenther@suse.de>
10549
10550 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
10551
583a9919
KY
105522014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
10553 Ilya Tocar <ilya.tocar@intel.com>
10554
10555 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
10556 arguments order in builtin.
10557 (_mm512_permutexvar_epi64): Ditto.
10558 (_mm512_mask_permutexvar_epi64): Ditto
10559 (_mm512_maskz_permutexvar_epi32): Ditto
10560 (_mm512_permutexvar_epi32): Ditto
10561 (_mm512_mask_permutexvar_epi32): Ditto
10562
d737743f
BS
105632014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10564
223cdd15 10565 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
10566 (p8_vmrgow): Likewise.
10567
54c4bfd7
BS
105682014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10569
10570 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
10571 endian targets.
10572
518fea64
MM
105732014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
10574
10575 PR target/60203
10576 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
10577 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
10578 into 64-bit and 32-bit moves. On 64-bit moves, add support for
10579 using direct move instructions on ISA 2.07. Also adjust
10580 instruction length for 64-bit.
10581 (mov<mode>_64bit, TFmode/TDmode): Likewise.
10582 (mov<mode>_32bit, TFmode/TDmode): Likewise.
10583
61640916
AM
105842014-02-15 Alan Modra <amodra@gmail.com>
10585
10586 PR target/58675
10587 PR target/57935
10588 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
10589 find_replacement on parts of insn rtl that might be reloaded.
10590
a2b33cc3
RB
105912014-02-15 Richard Biener <rguenther@suse.de>
10592
10593 PR tree-optimization/60183
223cdd15 10594 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
10595 (tree_ssa_phiprop): Calculate and free post-dominators.
10596
059742a4
JL
105972014-02-14 Jeff Law <law@redhat.com>
10598
10599 PR rtl-optimization/60131
10600 * ree.c (get_extended_src_reg): New function.
223cdd15 10601 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
10602 (find_and_remove_re): Verify first operand of extension is
10603 a REG before adding the insns to the copy list.
10604
88f7c49a
RM
106052014-02-14 Roland McGrath <mcgrathr@google.com>
10606
10607 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
10608 * configure: Regenerated.
10609 * config.in: Regenerated.
10610 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
10611 instead of ASM_SHORT.
10612
2ae577fd
VM
106132014-02-14 Vladimir Makarov <vmakarov@redhat.com>
10614 Richard Earnshaw <rearnsha@arm.com>
10615
10616 PR rtl-optimization/59535
10617 * lra-constraints.c (process_alt_operands): Encourage alternative
10618 when unassigned pseudo class is superset of the alternative class.
10619 (inherit_reload_reg): Don't inherit when optimizing for code size.
10620 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
10621 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
10622 modes not less than 4 for Thumb1.
10623
5d88af08
KM
106242014-02-14 Kyle McMartin <kyle@redhat.com>
10625
10626 PR pch/60010
10627 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
10628
3069b421
RB
106292014-02-14 Richard Biener <rguenther@suse.de>
10630
10631 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
10632 (get_frame_arg): Drop the assert with langhook types_compatible_p.
10633 Do not strip INDIRECT_REFs.
10634
1966fd99
RB
106352014-02-14 Richard Biener <rguenther@suse.de>
10636
10637 PR lto/60179
10638 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
10639 DECL_FUNCTION_SPECIFIC_TARGET.
10640 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
10641 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 10642 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
10643 (write_ts_function_decl_tree_pointers): Do not stream
10644 DECL_FUNCTION_SPECIFIC_TARGET.
10645 * tree-streamer-in.c (unpack_ts_target_option): Remove.
10646 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
10647 (lto_input_ts_function_decl_tree_pointers): Do not stream
10648 DECL_FUNCTION_SPECIFIC_TARGET.
10649
b010d601
JJ
106502014-02-14 Jakub Jelinek <jakub@redhat.com>
10651
223cdd15 10652 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
10653 (get_initial_def_for_induction, vectorizable_induction): Ignore
10654 debug stmts when looking for exit_phi.
10655 (vectorizable_live_operation): Fix up condition.
10656
f2dafb91
CJW
106572014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10658
10659 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
10660 nreverse() because it changes the content of original tree list.
10661
59043e75
CJW
106622014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10663
10664 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
10665 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
10666
810f736f
CJW
106672014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
10668
10669 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
10670 GNU coding standards.
10671
1a025bbf
JJ
106722014-02-13 Jakub Jelinek <jakub@redhat.com>
10673
10674 PR debug/60152
10675 * dwarf2out.c (gen_subprogram_die): Don't call
10676 add_calling_convention_attribute if subr_die is old_die.
10677
69479ebd
SS
106782014-02-13 Sharad Singhai <singhai@google.com>
10679
10680 * doc/optinfo.texi: Fix order of nodes.
10681
1287ae50
UB
106822014-02-13 Uros Bizjak <ubizjak@gmail.com>
10683
10684 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
10685 operands[2], not operands[3].
10686
43372236
RB
106872014-02-13 Richard Biener <rguenther@suse.de>
10688
10689 PR bootstrap/59878
10690 * doc/install.texi (ISL): Update recommended version to 0.12.2,
10691 mention the possibility of an in-tree build.
10692 (CLooG): Update recommended version to 0.18.1, mention the
10693 possibility of an in-tree build and clarify that the ISL
10694 bundled with CLooG does not work.
10695
a4d70cfa
JJ
106962014-02-13 Jakub Jelinek <jakub@redhat.com>
10697
10698 PR target/43546
10699 * expr.c (compress_float_constant): If x is a hard register,
10700 extend into a pseudo and then move to x.
10701
e697d119
DV
107022014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
10703
10704 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
10705 caused by bad second argument to warning_at() with -mhotpatch and
10706 nested functions (e.g. with gfortran).
10707
9f8da907
RS
107082014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
10709
10710 * opts.c (option_name): Remove "enabled by default" rider.
10711
0fdd1196
JDA
107122014-02-12 John David Anglin <danglin@gcc.gnu.org>
10713
10714 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
10715
0544c448
L
107162014-02-12 H.J. Lu <hongjiu.lu@intel.com>
10717 Uros Bizjak <ubizjak@gmail.com>
10718
10719 PR target/60151
1287ae50 10720 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
10721 * configure: Regenerated.
10722
3a938d75
RB
107232014-02-12 Richard Biener <rguenther@suse.de>
10724
10725 * vec.c (vec_prefix::calculate_allocation): Move as
10726 inline variant to vec.h.
10727 (vec_prefix::calculate_allocation_1): New out-of-line version.
10728 * vec.h (vec_prefix::calculate_allocation_1): Declare.
10729 (vec_prefix::m_has_auto_buf): Rename to ...
10730 (vec_prefix::m_using_auto_storage): ... this.
10731 (vec_prefix::calculate_allocation): Inline the easy cases
10732 and dispatch to calculate_allocation_1 which doesn't need the
10733 prefix address.
10734 (va_heap::reserve): Use gcc_checking_assert.
10735 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
10736 m_using_auto_storage.
10737 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
10738 member and adjust.
10739 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
10740 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
10741 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
10742
ad0188be
RB
107432014-02-12 Richard Biener <rguenther@suse.de>
10744
10745 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
10746 when we found a dependence.
10747
64e5ace5
TS
107482014-02-12 Thomas Schwinge <thomas@codesourcery.com>
10749
88ac13da
TS
10750 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
10751 common code...
10752 (maybe_fold_stmt): ... into this new function.
10753 * omp-low.c (lower_omp): Update comment.
10754
bae729a2
TS
10755 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
10756 last use.
10757
64e5ace5
TS
10758 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
10759 dereference.
10760
7b40f5cf
JG
107612014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
10762
10763 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
10764 identifiers in comments.
10765 (cortexa53_extra_costs): Likewise.
1287ae50 10766 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
10767 (cortexa7_extra_costs): Likewise.
10768 (cortexa12_extra_costs): Likewise.
10769 (cortexa15_extra_costs): Likewise.
10770 (v7m_extra_costs): Likewise.
10771
c4c8514e
RB
107722014-02-12 Richard Biener <rguenther@suse.de>
10773
10774 PR middle-end/60092
10775 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
10776 of posix_memalign being successful.
10777 (lower_stmt): Restrict lowering of posix_memalign to when
10778 -ftree-bit-ccp is enabled.
10779
8eb651bd
SKS
107802014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10781
10782 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
10783 arg_loc.
10784 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
10785
62b03553
EB
107862014-02-12 Eric Botcazou <ebotcazou@adacore.com>
10787
10788 PR rtl-optimization/60116
10789 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
10790 other_insn once the combination has been validated.
10791
ec77d61f
JH
107922014-02-11 Jan Hubicka <hubicka@ucw.cz>
10793
10794 PR lto/59468
10795 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
10796 and wrapper.
10797 * ipa-devirt.c: Include demangle.h
10798 (odr_violation_reported): New static variable.
10799 (add_type_duplicate): Update odr_violations.
10800 (maybe_record_node): Add completep parameter; update it.
10801 (record_target_from_binfo): Add COMPLETEP parameter;
10802 update it as needed.
10803 (possible_polymorphic_call_targets_1): Likewise.
10804 (struct polymorphic_call_target_d): Add nonconstruction_targets;
10805 rename FINAL to COMPLETE.
10806 (record_targets_from_bases): Sanity check we found the binfo;
10807 fix COMPLETEP updating.
10808 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
10809 parameter, fix computing of COMPLETEP.
1287ae50
UB
10810 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
10811 at LTO time do demangling.
ec77d61f
JH
10812 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
10813 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
10814 parameter.
10815 (gimple_get_virt_method_for_binfo): Likewise.
10816 * gimple-fold.h (gimple_get_virt_method_for_binfo,
10817 gimple_get_virt_method_for_vtable): Update prototypes.
10818
5a4dcd9b
VM
108192014-02-11 Vladimir Makarov <vmakarov@redhat.com>
10820
10821 PR target/49008
10822 * genautomata.c (add_presence_absence): Fix typo with
10823 {final_}presence_list.
10824
69b7afed
MM
108252014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
10826
10827 PR target/60137
10828 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
10829 for VSX/Altivec vectors that land in GPR registers.
10830
8268ad5c
JJ
108312014-02-11 Richard Henderson <rth@redhat.com>
10832 Jakub Jelinek <jakub@redhat.com>
10833
10834 PR debug/59776
10835 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
10836 around drhs if type conversion to lacc->type is not useless.
10837
4fd92af6
KT
108382014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10839
10840 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
10841 tuning struct.
10842 (cortex-a57.cortex-a53): Likewise.
10843 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
10844
7cb14cb8
KT
108452014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10846
10847 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
10848 arm_restrict_it.
10849
6d3715b9
RL
108502014-02-11 Renlin Li <Renlin.Li@arm.com>
10851
10852 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
10853 add_options_for_arm_vfp3.
10854
cddddfff
JL
108552014-02-11 Jeff Law <law@redhat.com>
10856
10857 PR middle-end/54041
10858 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
10859 object with an undesirable mode.
10860
7c1aef7e
RO
108612014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10862
10863 PR libgomp/60107
10864 * config/i386/sol2-9.h: New file.
10865 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
10866 *-*-solaris2.9*): Use it.
10867
4bb66ef3 108682014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
10869
10870 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
10871 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
10872
4bb66ef3 108732014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
10874
10875 * config/microblaze/microblaze.c: Extend mcpu version format
10876
4bb66ef3 108772014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
10878
10879 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
10880
004a7e45 108812014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
10882
10883 PR target/59927
10884 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
10885 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
10886 ms-abi vs -mno-accumulate-outgoing-args.
10887 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
10888 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
10889 respect to ms-abi.
10890
e2fc3b4f
BE
108912014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
10892
10893 PR middle-end/60080
10894 * cfgexpand.c (expand_asm_operands): Attach source location to
10895 ASM_INPUT rtx objects.
10896 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
10897
3a22ad89
NC
108982014-02-10 Nick Clifton <nickc@redhat.com>
10899
10900 * config/mn10300/mn10300.c (popcount): New function.
10901 (mn10300_expand_prologue): Include saved registers in stack usage
10902 count.
10903
f27be550
JL
109042014-02-10 Jeff Law <law@redhat.com>
10905
10906 PR middle-end/52306
10907 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 10908 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 10909
e15e3815
UW
109102014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10911
10912 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
10913 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
10914 -mcall-openbsd, or -mcall-linux.
10915 (CC1_ENDIAN_BIG_SPEC): Remove.
10916 (CC1_ENDIAN_LITTLE_SPEC): Remove.
10917 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10918 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
10919 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
10920 and %cc1_endian_default.
10921 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
10922
4e1f39e4
RB
109232014-02-10 Richard Biener <rguenther@suse.de>
10924
10925 PR tree-optimization/60115
10926 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
10927 MEM_REF handling. Properly verify that the accesses are not
10928 out of the objects bound.
10929
e7af1c22
KT
109302014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10931
10932 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
10933 coretex to cortex.
10934
79c7de84
EB
109352014-02-10 Eric Botcazou <ebotcazou@adacore.com>
10936
10937 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
10938 proper constants and fix formatting.
10939 (possible_polymorphic_call_targets): Fix formatting.
10940
cf73ee60
KY
109412014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
10942 Ilya Tocar <ilya.tocar@intel.com>
10943
10944 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
10945 (_mm512_loadu_epi32): Renamed into...
10946 (_mm512_loadu_si512): This.
10947 (_mm512_storeu_epi32): Renamed into...
10948 (_mm512_storeu_si512): This.
10949 (_mm512_maskz_ceil_ps): Removed.
10950 (_mm512_maskz_ceil_pd): Ditto.
10951 (_mm512_maskz_floor_ps): Ditto.
10952 (_mm512_maskz_floor_pd): Ditto.
10953 (_mm512_floor_round_ps): Ditto.
10954 (_mm512_floor_round_pd): Ditto.
10955 (_mm512_ceil_round_ps): Ditto.
10956 (_mm512_ceil_round_pd): Ditto.
10957 (_mm512_mask_floor_round_ps): Ditto.
10958 (_mm512_mask_floor_round_pd): Ditto.
10959 (_mm512_mask_ceil_round_ps): Ditto.
10960 (_mm512_mask_ceil_round_pd): Ditto.
10961 (_mm512_maskz_floor_round_ps): Ditto.
10962 (_mm512_maskz_floor_round_pd): Ditto.
10963 (_mm512_maskz_ceil_round_ps): Ditto.
10964 (_mm512_maskz_ceil_round_pd): Ditto.
10965 (_mm512_expand_pd): Ditto.
10966 (_mm512_expand_ps): Ditto.
10967 * config/i386/i386.c (ix86_builtins): Remove
10968 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
10969 (bdesc_args): Ditto.
10970 * config/i386/predicates.md (const1256_operand): New.
10971 (const_1_to_2_operand): Ditto.
10972 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
10973 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
10974 (*avx512pf_gatherpf<mode>sf): Ditto.
10975 (avx512pf_gatherpf<mode>df): Ditto.
10976 (*avx512pf_gatherpf<mode>df_mask): Ditto.
10977 (*avx512pf_gatherpf<mode>df): Ditto.
10978 (avx512pf_scatterpf<mode>sf): Ditto.
10979 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
10980 (*avx512pf_scatterpf<mode>sf): Ditto.
10981 (avx512pf_scatterpf<mode>df): Ditto.
10982 (*avx512pf_scatterpf<mode>df_mask): Ditto.
10983 (*avx512pf_scatterpf<mode>df): Ditto.
10984 (avx512f_expand<mode>): Removed.
10985 (<shift_insn><mode>3<mask_name>): Change predicate type.
10986
8fcbce72
JJ
109872014-02-08 Jakub Jelinek <jakub@redhat.com>
10988
41475e96
JJ
10989 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
10990 not at the end of datarefs vector use ordered_remove to avoid
10991 reordering datarefs vector.
10992
c74559df
JJ
10993 PR c/59984
10994 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
10995 mark local addressable non-static vars as GOVD_PRIVATE
10996 instead of GOVD_LOCAL.
10997 * omp-low.c (lower_omp_for): Move gimple_bind_vars
10998 and BLOCK_VARS of gimple_bind_block to new_stmt rather
10999 than copying them.
11000
8fcbce72
JJ
11001 PR middle-end/60092
11002 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
11003 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
11004 assume_aligned or alloc_align attributes.
11005 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
11006 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
11007 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
11008 calls to functions with assume_aligned or alloc_align attributes.
11009 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 11010
451bdd23
TG
110112014-02-08 Terry Guo <terry.guo@arm.com>
11012
11013 * doc/invoke.texi: Document ARM -march=armv7e-m.
11014
d31d42c7
JJ
110152014-02-08 Jakub Jelinek <jakub@redhat.com>
11016
d71dfeb7
JJ
11017 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
11018 flag on __cilkrts_rethrow builtin.
11019
d31d42c7
JJ
11020 PR ipa/60026
11021 * ipa-cp.c (determine_versionability): Fail at -O0
11022 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
11023 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
11024
11025 Revert:
11026 2014-02-04 Jakub Jelinek <jakub@redhat.com>
11027
11028 PR ipa/60026
11029 * tree-inline.c (copy_forbidden): Fail for
11030 __attribute__((optimize (0))) functions.
11031
a0a98fef
JH
110322014-02-07 Jan Hubicka <hubicka@ucw.cz>
11033
11034 * varpool.c: Include pointer-set.h.
11035 (varpool_remove_unreferenced_decls): Variables in other partitions
11036 will not be output; be however careful to not lose information
11037 about partitioning.
11038
8c311b50
JH
110392014-02-07 Jan Hubicka <hubicka@ucw.cz>
11040
11041 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
11042 lookup in the vtable constructor.
11043
7ba03e5e
JL
110442014-02-07 Jeff Law <law@redhat.com>
11045
63e6247d
JL
11046 PR target/40977
11047 * config/m68k/m68k.md (ashldi_extsi): Turn into a
11048 define_insn_and_split.
11049
7ba03e5e
JL
11050 * ipa-inline.c (inline_small_functions): Fix typos.
11051
177bc204
RS
110522014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11053
11054 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
11055 (s390_can_use_return_insn): Declare.
11056 * config/s390/s390.h (EPILOGUE_USES): Define.
11057 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
11058 instructions.
11059 (s390_chunkify_start): Handle return JUMP_LABELs.
11060 (s390_early_mach): Emit a main_pool instruction on the entry edge.
11061 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
11062 (s390_can_use_return_insn): New functions.
11063 (s390_fix_long_loop_prediction): Handle conditional returns.
11064 (TARGET_SET_UP_BY_PROLOGUE): Define.
11065 * config/s390/s390.md (ANY_RETURN): New code iterator.
11066 (*creturn, *csimple_return, return, simple_return): New patterns.
11067
0621cf3c
RS
110682014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11069
11070 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
11071 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
11072 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
11073 REG_CFA_RESTORE list when deciding not to restore a register.
11074
4099494d
RS
110752014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11076
11077 * config/s390/s390.c: Include tree-pass.h and context.h.
11078 (s390_early_mach): New function, split out from...
11079 (s390_emit_prologue): ...here.
11080 (pass_data_s390_early_mach): New pass structure.
11081 (pass_s390_early_mach): New class.
11082 (s390_option_override): Create and register early_mach pass.
11083 Move to end of file.
11084
3489cc33
RS
110852014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11086
11087 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
11088 to match for the exit block.
11089
75cc21e2
AK
110902014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11091
11092 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
11093 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
11094 Reject misaligned operands.
11095
8bd7070a
AK
110962014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11097
1287ae50 11098 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 11099
831806cb
RB
111002014-02-07 Richard Biener <rguenther@suse.de>
11101
11102 PR middle-end/60092
11103 * gimple-low.c (lower_builtin_posix_memalign): New function.
11104 (lower_stmt): Call it to lower posix_memalign in a way
11105 to make alignment info accessible.
11106
7ee9c16f
JJ
111072014-02-07 Jakub Jelinek <jakub@redhat.com>
11108
11109 PR c++/60082
11110 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
11111 __builtin_setjmp_receiver.
11112
32cab212
RB
111132014-02-07 Richard Biener <rguenther@suse.de>
11114
11115 PR middle-end/60092
11116 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
11117 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
11118 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
11119 Handle BUILT_IN_POSIX_MEMALIGN.
11120 (find_func_clobbers): Likewise.
11121 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
11122 (call_may_clobber_ref_p_1): Likewise.
11123
6d6af792
JH
111242014-02-06 Jan Hubicka <hubicka@ucw.cz>
11125
11126 PR ipa/59918
1287ae50
UB
11127 * ipa-devirt.c (record_target_from_binfo): Remove overactive
11128 sanity check.
6d6af792 11129
3c0f1105
JH
111302014-02-06 Jan Hubicka <hubicka@ucw.cz>
11131
11132 PR ipa/59469
11133 * lto-cgraph.c (lto_output_node): Use
11134 symtab_get_symbol_partitioning_class.
11135 (lto_output_varpool_node): likewise.
11136 (symtab_get_symbol_partitioning_class): Move here from
11137 lto/lto-partition.c
11138 * cgraph.h (symbol_partitioning_class): Likewise.
11139 (symtab_get_symbol_partitioning_class): Declare.
11140
b3bb0eb9
JH
111412014-02-06 Jan Hubicka <hubicka@ucw.cz>
11142
11143 * ggc.h (ggc_internal_cleared_alloc): New macro.
11144 * vec.h (vec_safe_copy): Handle memory stats.
11145 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
11146 * target-globals.c (save_target_globals): Likewise.
11147
111482014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
11149
11150 PR target/60077
11151 * expr.c (emit_move_resolve_push): Export; be bit more selective
11152 on when to clear alias set.
11153 * expr.h (emit_move_resolve_push): Declare.
11154 * function.h (struct function): Add tail_call_marked.
11155 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
11156 * config/i386/i386-protos.h (ix86_expand_push): Remove.
11157 * config/i386/i386.md (TImode move expander): De not call
11158 ix86_expand_push.
11159 (FP push expanders): Preserve memory attributes.
11160 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 11161 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
11162 (ix86_expand_push): Remove.
11163 * config/i386/mmx.md (push<mode>1): Remove.
11164
47d552eb
JJ
111652014-02-06 Jakub Jelinek <jakub@redhat.com>
11166
11167 PR rtl-optimization/60030
11168 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
11169 lopart with paradoxical subreg before shifting it up by hprec.
11170
45c75ea7
KT
111712014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11172
11173 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
11174 Remove extra newline at end of file.
11175 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
11176 (arm_issue_rate): Handle cortexa57.
11177 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
11178 (cortex-a57.cortex-a53): Likewise.
11179
af116cae
JJ
111802014-02-06 Jakub Jelinek <jakub@redhat.com>
11181
652a3e3a
JJ
11182 PR target/59575
11183 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
11184 don't record in REG_FRAME_RELATED_EXPR registers not set in that
11185 bitmask.
11186 (arm_expand_prologue): Adjust all callers.
11187 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
11188 info, registers also at the lowest numbered registers side. Use
11189 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
11190 XEXP.
11191
af116cae 11192 PR debug/59992
1287ae50
UB
11193 * var-tracking.c (adjust_mems): Before adding a SET to
11194 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 11195
fdcee33b
AM
111962014-02-06 Alan Modra <amodra@gmail.com>
11197
11198 PR target/60032
11199 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
11200 change SDmode to DDmode when lra_in_progress.
11201
251901a0
JJ
112022014-02-06 Jakub Jelinek <jakub@redhat.com>
11203
d3ef8c53
JJ
11204 PR middle-end/59150
11205 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
11206 free_data_ref on the dr first, and before goto again also set dr
11207 to the next dr. For simd_lane_access, free old datarefs[i] before
11208 overwriting it. For get_vectype_for_scalar_type failure, don't
11209 free_data_ref if simd_lane_access.
11210
2754b38f
JJ
11211 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
11212
251901a0
JJ
11213 PR target/60062
11214 * tree.h (opts_for_fn): New inline function.
11215 (opt_for_fn): Define.
11216 * config/i386/i386.c (ix86_function_regparm): Use
11217 opt_for_fn (decl, optimize) instead of optimize.
11218
4a985a37
MS
112192014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
11220
11221 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
11222 for SYMBOL_REF in large memory model.
11223
c366d38c
KT
112242014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11225
11226 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
11227 and crypto support.
11228 (cortex-a57): Likewise.
11229 (cortex-a57.cortex-a53): Likewise.
11230
c801e246
YG
112312014-02-06 Yury Gribov <y.gribov@samsung.com>
11232 Kugan Vivekanandarajah <kuganv@linaro.org>
11233
11234 * config/arm/arm.c (arm_vector_alignment_reachable): Check
11235 unaligned_access.
11236 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
11237
d50f7b84
RB
112382014-02-06 Richard Biener <rguenther@suse.de>
11239
11240 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
11241 set_loop_copy and initialize_original_copy_tables.
11242
179d2941
AV
112432014-02-06 Alex Velenko <Alex.Velenko@arm.com>
11244
11245 * config/aarch64/aarch64-simd.md
11246 (aarch64_ashr_simddi): Change QI to SI.
11247
78b1469d
JH
112482014-02-05 Jan Hubicka <hubicka@ucw.cz>
11249 Jakub Jelinek <jakub@redhat.com>
11250
11251 PR middle-end/60013
11252 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
11253 of the dataflow.
11254
d85f364c
BS
112552014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11256
11257 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
11258 CODE_FOR_altivec_vpku[hw]um to
11259 CODE_FOR_altivec_vpku[hw]um_direct.
11260 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
11261 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
11262 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
11263 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
11264
7b1cd427
BS
112652014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11266
11267 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
11268 generation for -maltivec=be.
11269 (altivec_vsumsws): Simplify redundant test.
11270
52a93551
BS
112712014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11272
11273 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
11274 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
11275 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
11276 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
11277 gen_altivec_vpkuwum.
11278 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
11279 BYTES_BIG_ENDIAN.
11280 (altivec_vpks<VI_char>ss): Likewise.
11281 (altivec_vpks<VI_char>us): Likewise.
11282 (altivec_vpku<VI_char>us): Likewise.
11283 (altivec_vpku<VI_char>um): Likewise.
11284 (altivec_vpku<VI_char>um_direct): New (copy of
11285 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
11286 internal use).
11287 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
11288 target is little endian and -maltivec=be is not specified.
11289 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 11290 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
11291 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
11292 target is little endian and -maltivec=be is not specified.
11293 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 11294 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
11295 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
11296 little endian and -maltivec=be is not specified.
11297 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
11298 little endian and -maltivec=be is not specified.
11299
004a7e45 113002014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
11301
11302 PR debug/52727
11303 * combine-stack-adj.c: Revert r206943.
11304 * sched-int.h (struct deps_desc): Add last_args_size.
11305 * sched-deps.c (init_deps): Initialize it.
11306 (sched_analyze_insn): Add OUTPUT dependencies between insns that
11307 contain REG_ARGS_SIZE notes.
11308
f300e7b8
JH
113092014-02-05 Jan Hubicka <hubicka@ucw.cz>
11310
11311 * lto-cgraph.c (asm_nodes_output): Make global.
11312 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 11313 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
11314 (driver_handle_option): Handle OPT_fwpa.
11315
609524d2
JJ
113162014-02-05 Jakub Jelinek <jakub@redhat.com>
11317
add5c763
JJ
11318 PR ipa/59947
11319 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
11320 a comment typo and formatting issue. If odr_hash hasn't been
11321 created, return vNULL and set *completep to false.
11322
609524d2
JJ
11323 PR middle-end/57499
11324 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
11325 bb with no successors.
11326
05ab6e21
JG
113272014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
11328
11329 PR target/59718
11330 * doc/invoke.texi (-march): Clarify documentation for ARM.
11331 (-mtune): Likewise.
11332 (-mcpu): Likewise.
11333
d55d9ed0
RB
113342014-02-05 Richard Biener <rguenther@suse.de>
11335
11336 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
11337 when not vectorizing because of too many alias checks.
11338 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
11339 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
11340
c70da878
NC
113412014-02-05 Nick Clifton <nickc@redhat.com>
11342
11343 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 11344 accept extended registers in any mode when compiling for the MN10300.
c70da878 11345
25a07c7e
YG
113462014-02-05 Yury Gribov <y.gribov@samsung.com>
11347
11348 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
11349 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
11350 sanitization attributes.
11351 (can_inline_edge_p): Likewise.
11352 (sanitize_attrs_match_for_inline_p): New function.
11353
4bf2a588
JH
113542014-02-04 Jan Hubicka <hubicka@ucw.cz>
11355
11356 * ipa-prop.c (detect_type_change): Shor circuit testing of
11357 type changes on THIS pointer.
11358
d92f4df0
JDA
113592014-02-04 John David Anglin <danglin@gcc.gnu.org>
11360
11361 PR target/59777
11362 * config/pa/pa.c (legitimize_tls_address): Return original address
11363 if not passed a SYMBOL_REF rtx.
11364 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
11365 addresses.
11366 (pa_emit_move_sequence): Simplify TLS source operands.
11367 (pa_legitimate_constant_p): Reject all TLS constants.
11368 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
11369 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
11370
d665f8dd
JH
113712014-02-04 Jan Hubicka <hubicka@ucw.cz>
11372
11373 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
11374 groups when we know they are controlled by LTO.
11375 * varasm.c (default_binds_local_p_1): If object is in other partition,
11376 it will be resolved locally.
11377
6a071860
BE
113782014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
11379
e2fc3b4f 11380 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 11381 use SSIZE_MAX because it is not always defined.
6a071860 11382
8e9d68a9
VM
113832014-02-04 Vladimir Makarov <vmakarov@redhat.com>
11384
11385 PR bootstrap/59913
11386 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
11387 threshold for pseudo splitting.
11388 (update_ebb_live_info): Process call argument hard registers and
11389 hard registers from insn definition too.
11390 (max_small_class_regs_num): New constant.
11391 (inherit_in_ebb): Update live hard regs through EBBs. Update
11392 reloads_num only for small register classes. Don't split for
11393 outputs of jumps.
11394
8472fa80
MT
113952014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
11396
11397 PR ipa/60058
11398 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
11399 is non-null.
11400
df98e37f
JH
114012014-02-04 Jan Hubicka <hubicka@ucw.cz>
11402
1287ae50
UB
11403 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
11404 visibility is safe.
df98e37f 11405
71e55f04
MP
114062014-02-04 Marek Polacek <polacek@redhat.com>
11407
11408 * gdbinit.in (pel): Define.
11409
229e56f9
BE
114102014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
11411
11412 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
11413 behavior.
11414
c39276b8
RB
114152014-02-04 Richard Biener <rguenther@suse.de>
11416
11417 PR lto/59723
11418 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
11419 in function context local.
11420 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
11421 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
11422 similar to LTO_imported_decl_ref.
11423
66b3ed5f
JJ
114242014-02-04 Jakub Jelinek <jakub@redhat.com>
11425
029ce7a2
JJ
11426 PR tree-optimization/60002
11427 * cgraphclones.c (build_function_decl_skip_args): Clear
11428 DECL_LANG_SPECIFIC.
11429
8e91d222
JJ
11430 PR tree-optimization/60023
11431 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
11432 false to gsi_replace.
11433 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
11434 has been in some EH region and vec_stmt could throw, add
11435 vec_stmt into the same EH region.
11436 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
11437 has no lhs, ignore it.
11438 * internal-fn.c (expand_MASK_LOAD): Likewise.
11439
eb259c4a
JJ
11440 PR ipa/60026
11441 * tree-inline.c (copy_forbidden): Fail for
11442 __attribute__((optimize (0))) functions.
11443
92d05580
JJ
11444 PR other/58712
11445 * omp-low.c (simd_clone_struct_copy): If from->inbranch
11446 is set, copy one less argument.
30540e79
JJ
11447 (expand_simd_clones): Don't subtract clone_info->inbranch
11448 from simd_clone_struct_alloc argument.
92d05580 11449
be3afd67
JJ
11450 PR rtl-optimization/57915
11451 * recog.c (simplify_while_replacing): If all unary/binary/relational
11452 operation arguments are constant, attempt to simplify those.
11453
66b3ed5f
JJ
11454 PR middle-end/59261
11455 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
11456 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
11457
5961d779
RB
114582014-02-04 Richard Biener <rguenther@suse.de>
11459
11460 PR tree-optimization/60012
11461 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
11462 TBAA disambiguation to all DDRs.
11463
91da0481
RO
114642014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11465
11466 PR target/59788
11467 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
11468 (LINK_SPEC): Use it for -shared, -shared-libgcc.
11469
39960d1c
JH
114702014-02-03 Jan Hubicka <hubicka@ucw.cz>
11471
11472 PR ipa/59882
11473 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
11474
114752014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
11476
11477 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
11478 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
11479
39960d1c 114802014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
11481
11482 PR ipa/59831
11483 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
11484 to figure out targets of polymorphic calls with known decl.
11485 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
11486 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
11487 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
11488 (get_polymorphic_call_info): ... here.
11489 (get_polymorphic_call_info_from_invariant): New function.
11490
39960d1c 114912014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
11492
11493 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
11494 lookup via vtable pointer; check for type consistency
11495 and turn inconsitent facts into UNREACHABLE.
11496 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
11497 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
11498 type inconsistent querries; return UNREACHABLE instead.
9de2f554 11499
ade3ff24
RH
115002014-02-03 Richard Henderson <rth@twiddle.net>
11501
11502 PR tree-opt/59924
11503 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
11504 already processed this node.
11505 (normalize_one_pred_1): Pass along mark_set.
11506 (normalize_one_pred): Create and destroy a pointer_set_t.
11507 (normalize_one_pred_chain): Likewise.
11508
55428cc3
LA
115092014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
11510
11511 PR gcov-profile/58602
1287ae50 11512 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 11513
85942f45
JH
115142014-02-03 Jan Hubicka <hubicka@ucw.cz>
11515
11516 PR ipa/59831
1287ae50
UB
11517 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
11518 -fno-devirtualize; try to devirtualize by the knowledge of
11519 virtual table pointer given by aggregate propagation.
85942f45 11520 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 11521 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
11522 is relevant for polymorphic calls.
11523 (determine_known_aggregate_parts): Add arg_type parameter; use it
11524 instead of determining the type from pointer type.
11525 (ipa_compute_jump_functions_for_edge): Update call of
11526 determine_known_aggregate_parts.
11527 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
11528 (gimple_get_virt_method_for_binfo): ... here; simplify using
11529 vtable_pointer_value_to_vtable.
11530 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
11531 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 11532 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
11533 (vtable_pointer_value_to_vtable): Break out from ...; handle also
11534 POINTER_PLUS_EXPR.
11535 (vtable_pointer_value_to_binfo): ... here.
11536 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
11537
bddc974e
TJ
115382014-02-03 Teresa Johnson <tejohnson@google.com>
11539
11540 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
11541 redef of outer loop index variable.
11542
5d77fb19
MG
115432014-02-03 Marc Glisse <marc.glisse@inria.fr>
11544
11545 PR c++/53017
11546 PR c++/59211
11547 * doc/extend.texi (Function Attributes): Typo.
11548
cf5b2be2
CH
115492014-02-03 Cong Hou <congh@google.com>
11550
11551 PR tree-optimization/60000
11552 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
11553 if the vectorized statement is a store. A store statement can only
11554 appear at the end of pattern statements.
11555
a2a1ddb5
L
115562014-02-03 H.J. Lu <hongjiu.lu@intel.com>
11557
11558 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
11559 (ix86_option_override_internal): Default long double to 64-bit for
11560 32-bit Bionic and to 128-bit for 64-bit Bionic.
11561
11562 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
11563 TARGET_LONG_DOUBLE_128 is true.
11564 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
11565
11566 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
11567 (mlong-double-64): Negate -mlong-double-128.
11568 (mlong-double-128): New option.
11569
11570 * config/i386/i386-c.c (ix86_target_macros): Define
11571 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
11572
11573 * doc/invoke.texi: Document -mlong-double-128.
11574
f742cf90
L
115752014-02-03 H.J. Lu <hongjiu.lu@intel.com>
11576
11577 PR rtl-optimization/60024
11578 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
11579
8f36fd30
MT
115802014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
11581
1287ae50 11582 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 11583
861ec4f3
AB
115842014-02-03 Andrey Belevantsev <abel@ispras.ru>
11585
11586 PR rtl-optimization/57662
11587 * sel-sched.c (code_motion_path_driver): Do not mark already not
11588 existing blocks in the visiting bitmap.
11589
fe08255d
AB
115902014-02-03 Andrey Belevantsev <abel@ispras.ru>
11591
11592 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
11593 on the insn being emitted.
11594
96d3a240
JG
115952014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
11596 Will Deacon <will.deacon@arm.com>
11597
11598 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
11599
9dd6c9f7
KT
116002014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11601
11602 * config/arm/arm-tables.opt: Regenerate.
11603
60331d00
BS
116042014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11605
11606 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
11607 for vector types other than V16QImode.
11608 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
11609 define_expand, and call altivec_expand_vec_perm_le when producing
11610 code with little endian element order.
11611 (*altivec_vperm_<mode>_internal): New insn having previous
11612 behavior of altivec_vperm_<mode>.
11613 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
11614 altivec_expand_vec_perm_le when producing code with little endian
11615 element order.
11616 (*altivec_vperm_<mode>_uns_internal): New insn having previous
11617 behavior of altivec_vperm_<mode>_uns.
11618
b80afde9
BS
116192014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11620
11621 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
11622 (altivec_vsumsws): Add handling for -maltivec=be with a little
11623 endian target.
11624 (altivec_vsumsws_direct): New.
11625 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
11626 gen_altivec_vsumsws.
11627
39960d1c 116282014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
11629
11630 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
11631 vtable_pointer_value_to_binfo): New functions.
11632 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
11633 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
11634
02b67731
SL
116352014-02-02 Sandra Loosemore <sandra@codesourcery.com>
11636
11637 * config/nios2/nios2.md (load_got_register): Initialize GOT
11638 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
11639 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
11640
2ace77c2
JH
116412014-02-02 Jan Hubicka <hubicka@ucw.cz>
11642
11643 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
11644 preserverd by passthrough, do not propagate the type.
11645
70b2d364
RS
116462014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11647
11648 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
11649 (mips_atomic_assign_expand_fenv): New function.
11650 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
11651
a90c0245
RS
116522014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11653
11654 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
11655 (__builtin_mips_set_fcsr): Likewise.
11656 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
11657 MIPS_USI_FTYPE_VOID.
11658 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
11659 (mips16_expand_set_fcsr): Likewise.
11660 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
11661 (mips16_set_fcsr_stub): Likewise.
11662 (mips16_get_fcsr_one_only_stub): New class.
11663 (mips16_set_fcsr_one_only_stub): Likewise.
11664 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
11665 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
11666 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
11667 (hard_float): New availability predicate.
11668 (mips_builtins): Add get_fcsr and set_fcsr.
11669 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
11670 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
11671 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
11672 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
11673 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
11674 patterns.
11675
6d51cc90
RS
116762014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
11677
11678 * config/mips/mips.c (mips_one_only_stub): New class.
11679 (mips_need_mips16_rdhwr_p): Replace with...
11680 (mips16_rdhwr_stub): ...this new variable.
11681 (mips16_stub_call_address): New function.
11682 (mips16_rdhwr_one_only_stub): New class.
11683 (mips_expand_thread_pointer): Use mips16_stub_call_address.
11684 (mips_output_mips16_rdhwr): Delete.
11685 (mips_finish_stub): New function.
11686 (mips_code_end): Use it to handle rdhwr stubs.
11687
6c90f137
UB
116882014-02-02 Uros Bizjak <ubizjak@gmail.com>
11689
11690 PR target/60017
11691 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
11692 when calculating size of integer atomic types.
11693
5e64bbbb
L
116942014-02-02 H.J. Lu <hongjiu.lu@intel.com>
11695
11696 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
11697
021293cb
JJ
116982014-02-01 Jakub Jelinek <jakub@redhat.com>
11699
11700 PR tree-optimization/60003
11701 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
11702 * profile.c (branch_prob): Use gimple_call_builtin_p
11703 to check for BUILT_IN_SETJMP_RECEIVER.
11704 * tree-inline.c (copy_bb): Call notice_special_calls.
11705
6334f3e9
VM
117062014-01-31 Vladimir Makarov <vmakarov@redhat.com>
11707
11708 PR bootstrap/59985
11709 * lra-constraints.c (process_alt_operands): Update reload_sum only
11710 on the first pass.
11711
efa7882f
RH
117122014-01-31 Richard Henderson <rth@redhat.com>
11713
11714 PR middle-end/60004
11715 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
11716 until after else_eh is processed.
11717
de72ea02
IT
117182014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11719
11720 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
11721 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
11722 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
11723 in smmintrin.h, remove them.
11724 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
11725 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
11726 * config/i386/i386.md (ROUND_SAE): Fix value.
11727 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
11728 (const48_operand): New.
11729 * config/i386/subst.md (round), (round_expand): Use
11730 const_4_or_8_to_11_operand.
11731 (round_saeonly), (round_saeonly_expand): Use const48_operand.
11732
be792bce
IT
117332014-01-31 Ilya Tocar <ilya.tocar@intel.com>
11734
11735 * config/i386/constraints.md (Yk): Swap meaning with k.
11736 * config/i386/i386.md (movhi_internal): Change Yk to k.
11737 (movqi_internal): Ditto.
11738 (*k<logic><mode>): Ditto.
11739 (*andhi_1): Ditto.
11740 (*andqi_1): Ditto.
11741 (kandn<mode>): Ditto.
11742 (*<code>hi_1): Ditto.
11743 (*<code>qi_1): Ditto.
11744 (kxnor<mode>): Ditto.
11745 (kortestzhi): Ditto.
11746 (kortestchi): Ditto.
11747 (kunpckhi): Ditto.
11748 (*one_cmplhi2_1): Ditto.
11749 (*one_cmplqi2_1): Ditto.
11750 * config/i386/sse.md (): Change k to Yk.
11751 (avx512f_load<mode>_mask): Ditto.
11752 (avx512f_blendm<mode>): Ditto.
11753 (avx512f_store<mode>_mask): Ditto.
11754 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
11755 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
11756 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
11757 Ditto.
be792bce
IT
11758 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
11759 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
11760 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
11761 (avx512f_maskcmp<mode>3): Ditto.
11762 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
11763 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
11764 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
11765 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
11766 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
11767 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
11768 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
11769 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
11770 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
11771 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
11772 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
11773 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
11774 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
11775 (vec_extract_lo_<mode>_maskm): Ditto.
11776 (vec_extract_hi_<mode>_maskm): Ditto.
11777 (avx512f_vternlog<mode>_mask): Ditto.
11778 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
11779 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
11780 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
11781 (avx512f_<code>v8div16qi2_mask): Ditto.
11782 (avx512f_<code>v8div16qi2_mask_store): Ditto.
11783 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
11784 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
11785 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
11786 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
11787 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
11788 (*avx512pf_gatherpf<mode>df_mask): Ditto.
11789 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
11790 (*avx512pf_scatterpf<mode>df_mask): Ditto.
11791 (avx512cd_maskb_vec_dupv8di): Ditto.
11792 (avx512cd_maskw_vec_dupv16si): Ditto.
11793 (avx512f_vpermi2var<mode>3_maskz): Ditto.
11794 (avx512f_vpermi2var<mode>3_mask): Ditto.
11795 (avx512f_vpermi2var<mode>3_mask): Ditto.
11796 (avx512f_vpermt2var<mode>3_maskz): Ditto.
11797 (*avx512f_gathersi<mode>): Ditto.
11798 (*avx512f_gathersi<mode>_2): Ditto.
11799 (*avx512f_gatherdi<mode>): Ditto.
11800 (*avx512f_gatherdi<mode>_2): Ditto.
11801 (*avx512f_scattersi<mode>): Ditto.
11802 (*avx512f_scatterdi<mode>): Ditto.
11803 (avx512f_compress<mode>_mask): Ditto.
11804 (avx512f_compressstore<mode>_mask): Ditto.
11805 (avx512f_expand<mode>_mask): Ditto.
11806 * config/i386/subst.md (mask): Change k to Yk.
11807 (mask_scalar_merge): Ditto.
11808 (sd): Ditto.
11809
0878d68a
MG
118102014-01-31 Marc Glisse <marc.glisse@inria.fr>
11811
11812 * doc/extend.texi (Vector Extensions): Document ?: in C++.
11813
fdfd537b
RB
118142014-01-31 Richard Biener <rguenther@suse.de>
11815
11816 PR middle-end/59990
11817 * builtins.c (fold_builtin_memory_op): Make sure to not
11818 use a floating-point mode or a boolean or enumeral type for
11819 the copy operation.
11820
4f50b9ff
DD
118212014-01-30 DJ Delorie <dj@redhat.com>
11822
11823 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
11824 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
11825 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
11826 whenever main() has an epilogue.
11827
c3e96073
BS
118282014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11829
11830 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
11831 unused variable "field".
11832 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
11833 (vsx_mergeh_<mode>): Likewise.
11834 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
11835 (altivec_vmrghh): Likewise.
11836 (altivec_vmrghw): Likewise.
11837 (altivec_vmrglb): Likewise.
11838 (altivec_vmrglh): Likewise.
11839 (altivec_vmrglw): Likewise.
11840 (altivec_vspltb): Add missing uses.
11841 (altivec_vsplth): Likewise.
11842 (altivec_vspltw): Likewise.
11843 (altivec_vspltsf): Likewise.
11844
4bb9c32d
JJ
118452014-01-30 Jakub Jelinek <jakub@redhat.com>
11846
11847 PR target/59923
11848 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
11849 frame related instructions.
11850
7613fa50
VM
118512014-01-30 Vladimir Makarov <vmakarov@redhat.com>
11852
11853 PR rtl-optimization/59959
11854 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
11855 any reload of register whose subreg is invalid.
11856
6fb82517
JJ
118572014-01-30 Jakub Jelinek <jakub@redhat.com>
11858
33425d6c 11859 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
11860 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
11861 Add missing return type - void.
11862
bf53d4b8
BS
118632014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11864
11865 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
11866 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
11867 remove element index adjustment for endian (now handled in vsx.md
11868 and altivec.md).
11869 (altivec_expand_vec_perm_const): Use
11870 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
11871 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
11872 (vsx_xxspltw_<mode>): Adjust element index for little endian.
11873 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
11874 define_expand and a new define_insn *altivec_vspltb_internal;
11875 adjust for -maltivec=be on a little endian target.
11876 (altivec_vspltb_direct): New.
11877 (altivec_vsplth): Divide into a define_expand and a new
11878 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
11879 little endian target.
11880 (altivec_vsplth_direct): New.
11881 (altivec_vspltw): Divide into a define_expand and a new
11882 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
11883 little endian target.
11884 (altivec_vspltw_direct): New.
11885 (altivec_vspltsf): Divide into a define_expand and a new
11886 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
11887 a little endian target.
11888
c965e187
RB
118892014-01-30 Richard Biener <rguenther@suse.de>
11890
11891 PR tree-optimization/59993
11892 * tree-ssa-forwprop.c (associate_pointerplus): Check we
11893 can propagate form the earlier stmt and avoid the transform
11894 when the intermediate result is needed.
11895
ba117645
AD
118962014-01-30 Alangi Derick <alangiderick@gmail.com>
11897
11898 * README.Portability: Fix typo.
11899
4bb66ef3 119002014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
11901
11902 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
11903 comparison_operator with ordered_comparison_operator.
11904
c345a0b1
NC
119052014-01-30 Nick Clifton <nickc@redhat.com>
11906
11907 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
11908 Rename to mn10300_store_multiple_regs.
11909 * config/mn10300/mn10300.c: Likewise.
11910 * config/mn10300/mn10300.md (store_movm): Fix typo: call
11911 store_multiple_regs.
11912 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
11913 Call mn10300_store_multiple_regs.
11914
2d70f6d4
NC
119152014-01-30 Nick Clifton <nickc@redhat.com>
11916 DJ Delorie <dj@redhat.com>
11917
11918 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
11919 %fp 2 to keep registers after it properly word-aligned.
11920 (rl78_alloc_physical_registers_umul): Handle the case where both
11921 input operands are the same.
11922
c972624e
RB
119232014-01-30 Richard Biener <rguenther@suse.de>
11924
11925 PR tree-optimization/59903
11926 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
11927 check properly.
11928
fc044323
JM
119292014-01-30 Jason Merrill <jason@redhat.com>
11930
404c2aea
JM
11931 PR c++/59633
11932 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
11933
fc044323
JM
11934 PR c++/59645
11935 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
11936
f30a0ba5
RB
119372014-01-30 Richard Biener <rguenther@suse.de>
11938
11939 PR tree-optimization/59951
33425d6c 11940 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 11941
aad8816f
SZ
119422014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
11943
11944 PR target/59784
11945 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
11946 SFmode to DFmode case.
11947
3b16363e
DD
119482014-01-29 DJ Delorie <dj@redhat.com>
11949
11950 * config/msp430/msp430.opt (-minrt): New.
11951 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
11952 if -minrt given.
11953 (ENDFILE_SPEC): Likewise.
11954
39960d1c 119552014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
11956
11957 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
11958 (estimate_function_body_sizes): Use it.
11959
1200933c
PC
119602014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
11961
11962 PR c++/58561
11963 * dwarf2out.c (is_cxx_auto): New.
11964 (is_base_type): Use it.
11965 (gen_type_die_with_usage): Likewise.
11966
68d3bacf
BS
119672014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11968
11969 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
11970 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
11971 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
11972 -maltivec=be with LE targets.
11973 (vsx_mergeh_<mode>): Likewise.
33425d6c 11974 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
11975 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
11976 (altivec_vmrghb): Replace with define_expand and new
33425d6c 11977 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11978 (altivec_vmrghb_direct): New define_insn.
11979 (altivec_vmrghh): Replace with define_expand and new
33425d6c 11980 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11981 (altivec_vmrghh_direct): New define_insn.
11982 (altivec_vmrghw): Replace with define_expand and new
33425d6c 11983 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11984 (altivec_vmrghw_direct): New define_insn.
11985 (*altivec_vmrghsf): Adjust for endianness.
11986 (altivec_vmrglb): Replace with define_expand and new
33425d6c 11987 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11988 (altivec_vmrglb_direct): New define_insn.
11989 (altivec_vmrglh): Replace with define_expand and new
33425d6c 11990 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11991 (altivec_vmrglh_direct): New define_insn.
11992 (altivec_vmrglw): Replace with define_expand and new
33425d6c 11993 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
11994 (altivec_vmrglw_direct): New define_insn.
11995 (*altivec_vmrglsf): Adjust for endianness.
11996 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
11997 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
11998 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
11999 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
12000 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
12001 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
12002 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
12003 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
12004
aef66c94
MS
120052014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
12006
12007 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
12008 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
12009 whitespace.
12010
77574c35
RB
120112014-01-29 Richard Biener <rguenther@suse.de>
12012
12013 PR tree-optimization/58742
12014 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
12015 associate_pointerplus_align.
12016 (associate_pointerplus_diff): New function.
12017 (associate_pointerplus): Likewise. Call associate_pointerplus_align
12018 and associate_pointerplus_diff.
12019
15b25b24
RB
120202014-01-29 Richard Biener <rguenther@suse.de>
12021
12022 * lto-streamer.h (LTO_major_version): Bump to 3.
12023 (LTO_minor_version): Reset to 0.
12024
eb6006ad
RL
120252014-01-29 Renlin Li <Renlin.Li@arm.com>
12026
12027 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
12028 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
12029 (arm_file_start): Generate correct asm header for armv7ve.
12030 * config/arm/bpabi.h: Add multilib support for armv7ve.
12031 * config/arm/driver-arm.c: Change the architectures of cortex-a7
12032 and cortex-a15 to armv7ve.
12033 * config/arm/t-aprofile: Add multilib support for armv7ve.
12034 * doc/invoke.texi: Document -march=armv7ve.
12035
4bfb2fa2
RB
120362014-01-29 Richard Biener <rguenther@suse.de>
12037
12038 PR tree-optimization/58742
12039 * tree-ssa-forwprop.c (associate_plusminus): Return true
12040 if we changed sth, defer EH cleanup to ...
12041 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
12042 (simplify_mult): New function.
12043
42eb8bd1
JJ
120442014-01-29 Jakub Jelinek <jakub@redhat.com>
12045
09b22f48
JJ
12046 PR middle-end/59917
12047 PR tree-optimization/59920
12048 * tree.c (build_common_builtin_nodes): Remove
12049 __builtin_setjmp_dispatcher initialization.
12050 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
12051 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
12052 instead of gsi_after_labels + manually skipping debug stmts.
12053 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
12054 ignore bbs with IFN_ABNORMAL_DISPATCHER.
12055 * tree-inline.c (copy_edges_for_bb): Remove
12056 can_make_abnormal_goto argument, instead add abnormal_goto_dest
12057 argument. Ignore computed_goto_p stmts. Don't call
12058 make_abnormal_goto_edges. If a call might need abnormal edges
12059 for non-local gotos, see if it already has an edge to
12060 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
12061 with true argument, don't do anything then, otherwise add
12062 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
12063 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
12064 caller.
12065 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
12066 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
12067 (lower_stmt): Don't set data->calls_builtin_setjmp.
12068 (lower_builtin_setjmp): Adjust comment.
12069 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
12070 * tree-cfg.c (found_computed_goto): Remove.
12071 (factor_computed_gotos): Remove.
12072 (make_goto_expr_edges): Return bool, true for computed gotos.
12073 Don't call make_abnormal_goto_edges.
12074 (build_gimple_cfg): Don't set found_computed_goto, don't call
12075 factor_computed_gotos.
12076 (computed_goto_p): No longer static.
12077 (make_blocks): Don't set found_computed_goto.
12078 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
12079 (make_edges): If make_goto_expr_edges returns true, push bb
12080 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
12081 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
12082 vector. Record mapping between bbs and OpenMP regions if there
12083 are any, adjust make_gimple_omp_edges caller. Call
12084 handle_abnormal_edges.
12085 (make_abnormal_goto_edges): Remove.
12086 * tree-cfg.h (make_abnormal_goto_edges): Remove.
12087 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
12088 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 12089 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
12090 * internal-fn.def (ABNORMAL_DISPATCHER): New.
12091 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
12092 filling *region also set *region_idx to (*region)->entry->index.
12093
42eb8bd1
JJ
12094 PR other/58712
12095 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
12096 For REGs set ORIGINAL_REGNO.
12097
4a271b7e
BM
120982014-01-29 Bingfeng Mei <bmei@broadcom.com>
12099
33425d6c 12100 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
12101 vec_widen_(s|u)mul_even/odd pair if it is less efficient
12102 than hi/lo pair.
12103
3d54b29d
JJ
121042014-01-29 Jakub Jelinek <jakub@redhat.com>
12105
12106 PR tree-optimization/59594
12107 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
12108 a copy of the datarefs vector rather than the vector itself.
12109
2e5e7103
JM
121102014-01-28 Jason Merrill <jason@redhat.com>
12111
12112 PR c++/53756
12113 * dwarf2out.c (auto_die): New static.
12114 (gen_type_die_with_usage): Handle C++1y 'auto'.
12115 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
12116 on definition.
12117
d5d618b5
L
121182014-01-28 H.J. Lu <hongjiu.lu@intel.com>
12119
12120 PR target/59672
12121 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
12122 (SPEC_X32): Likewise.
12123 (SPEC_64): Likewise.
12124 * config/i386/i386.c (ix86_option_override_internal): Turn off
12125 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
12126 for TARGET_16BIT.
12127 (x86_file_start): Output .code16gcc for TARGET_16BIT.
12128 * config/i386/i386.h (TARGET_16BIT): New macro.
12129 (TARGET_16BIT_P): Likewise.
12130 * config/i386/i386.opt: Add m16.
12131 * doc/invoke.texi: Document -m16.
12132
367c8286
DS
121332014-01-28 Jakub Jelinek <jakub@redhat.com>
12134
12135 PR preprocessor/59935
12136 * input.c (location_get_source_line): Bail out on when line number
33425d6c 12137 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 12138
07ec81f9
RB
121392014-01-28 Richard Biener <rguenther@suse.de>
12140
12141 PR tree-optimization/58742
12142 * tree-ssa-forwprop.c (associate_plusminus): Handle
12143 pointer subtraction of the form (T)(P + A) - (T)P.
12144
5facb998
KT
121452014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12146
12147 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
12148 at const_int_cost.
12149
e04faf24
RB
121502014-01-28 Richard Biener <rguenther@suse.de>
12151
12152 Revert
12153 2014-01-28 Richard Biener <rguenther@suse.de>
12154
12155 PR rtl-optimization/45364
12156 PR rtl-optimization/59890
12157 * var-tracking.c (local_get_addr_clear_given_value): Handle
12158 already cleared slot.
12159 (val_reset): Handle not allocated local_get_addr_cache.
12160 (vt_find_locations): Use post-order on the inverted CFG.
12161
6593260b
RB
121622014-01-28 Richard Biener <rguenther@suse.de>
12163
33425d6c 12164 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 12165
9ec2d2c1
RB
121662014-01-28 Richard Biener <rguenther@suse.de>
12167
12168 PR rtl-optimization/45364
12169 PR rtl-optimization/59890
12170 * var-tracking.c (local_get_addr_clear_given_value): Handle
12171 already cleared slot.
12172 (val_reset): Handle not allocated local_get_addr_cache.
12173 (vt_find_locations): Use post-order on the inverted CFG.
12174
2ceb362d
AM
121752014-01-28 Alan Modra <amodra@gmail.com>
12176
12177 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
12178 * configure.ac <recursive call for build != host>: Define
12179 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
12180 and LD_FOR_BUILD too.
12181 * configure: Regenerate.
12182
0ebe2584
ASJ
121832014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
12184
12185 * config/i386/i386.c (get_builtin_code_for_version): Separate
12186 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
12187 Broadwell from Haswell.
12188
a33fc7fe
SE
121892014-01-27 Steve Ellcey <sellcey@mips.com>
12190
12191 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
12192 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
12193 * config/mips/mips.c (mips_option_override): Change setting
12194 of TARGET_DSP.
12195 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
12196 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
12197 Change from Mask to Var.
a33fc7fe 12198
a99be3c9
JL
121992014-01-27 Jeff Law <law@redhat.com>
12200
12201 * ipa-inline.c (inline_small_functions): Fix typo.
12202
d256b866
IT
122032014-01-27 Ilya Tocar <ilya.tocar@intel.com>
12204
12205 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
12206 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
12207 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
12208 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
12209 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
12210 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
12211 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
12212 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
12213 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
12214 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
12215 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
12216 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
12217 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
12218 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
12219 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
12220 (_mm512_storeu_epi64): Ditto.
12221 (_mm512_cmpge_epi32_mask): Ditto.
12222 (_mm512_cmpge_epu32_mask): Ditto.
12223 (_mm512_cmpge_epi64_mask): Ditto.
12224 (_mm512_cmpge_epu64_mask): Ditto.
12225 (_mm512_cmple_epi32_mask): Ditto.
12226 (_mm512_cmple_epu32_mask): Ditto.
12227 (_mm512_cmple_epi64_mask): Ditto.
12228 (_mm512_cmple_epu64_mask): Ditto.
12229 (_mm512_cmplt_epi32_mask): Ditto.
12230 (_mm512_cmplt_epu32_mask): Ditto.
12231 (_mm512_cmplt_epi64_mask): Ditto.
12232 (_mm512_cmplt_epu64_mask): Ditto.
12233 (_mm512_cmpneq_epi32_mask): Ditto.
12234 (_mm512_cmpneq_epu32_mask): Ditto.
12235 (_mm512_cmpneq_epi64_mask): Ditto.
12236 (_mm512_cmpneq_epu64_mask): Ditto.
12237 (_mm512_expand_pd): Ditto.
12238 (_mm512_expand_ps): Ditto.
12239 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
12240 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
12241 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
12242 * config/i386/i386.c (ix86_builtins): Add
12243 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
12244 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
12245 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
12246 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
12247 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
12248 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
12249 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
12250 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
12251 IX86_BUILTIN_PMOVUSQW512_MEM.
12252 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
12253 __builtin_ia32_pmovsqd512mem_mask,
12254 __builtin_ia32_pmovqd512mem_mask,
12255 __builtin_ia32_pmovusqw512mem_mask,
12256 __builtin_ia32_pmovsqw512mem_mask,
12257 __builtin_ia32_pmovqw512mem_mask,
12258 __builtin_ia32_pmovusdw512mem_mask,
12259 __builtin_ia32_pmovsdw512mem_mask,
12260 __builtin_ia32_pmovdw512mem_mask,
12261 __builtin_ia32_pmovqb512mem_mask,
12262 __builtin_ia32_pmovusqb512mem_mask,
12263 __builtin_ia32_pmovsqb512mem_mask,
12264 __builtin_ia32_pmovusdb512mem_mask,
12265 __builtin_ia32_pmovsdb512mem_mask,
12266 __builtin_ia32_pmovdb512mem_mask.
12267 (bdesc_args): Add __builtin_ia32_expanddf512,
12268 __builtin_ia32_expandsf512.
12269 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
12270 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
12271 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
12272 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
12273 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
12274 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
12275 (avx512f_<code>v8div16qi2_mask_store): This.
12276 (avx512f_expand<mode>): New.
12277
e711dffd
KY
122782014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
12279
1287ae50 12280 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 12281 New.
e711dffd
KY
12282 (_mm512_mask_prefetch_i64gather_pd): Ditto.
12283 (_mm512_prefetch_i32scatter_pd): Ditto.
12284 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
12285 (_mm512_prefetch_i64scatter_pd): Ditto.
12286 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
12287 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
12288 (_mm512_mask_prefetch_i64gather_ps): Ditto.
12289 (_mm512_prefetch_i32scatter_ps): Ditto.
12290 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
12291 (_mm512_prefetch_i64scatter_ps): Ditto.
12292 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
12293 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
12294 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
12295 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
12296 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
12297 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
12298 IX86_BUILTIN_SCATTERPFQPD.
12299 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
12300 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
12301 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
12302 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
12303 __builtin_ia32_scatterpfqps.
12304 (ix86_expand_builtin): Expand new built-ins.
12305 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
12306 fix memory access data type.
12307 (*avx512pf_gatherpf<mode>_mask): Ditto.
12308 (*avx512pf_gatherpf<mode>): Ditto.
12309 (avx512pf_scatterpf<mode>): Ditto.
12310 (*avx512pf_scatterpf<mode>_mask): Ditto.
12311 (*avx512pf_scatterpf<mode>): Ditto.
12312 (GATHER_SCATTER_SF_MEM_MODE): New.
12313 (avx512pf_gatherpf<mode>df): Ditto.
12314 (*avx512pf_gatherpf<mode>df_mask): Ditto.
12315 (*avx512pf_scatterpf<mode>df): Ditto.
12316
904e5ccd
JJ
123172014-01-27 Jakub Jelinek <jakub@redhat.com>
12318
12319 PR bootstrap/59934
12320 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
12321 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
12322 reached.
12323
84e90123
JG
123242014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
12325
12326 * common/config/arm/arm-common.c
12327 (arm_rewrite_mcpu): Handle multiple names.
12328 * config/arm/arm.h
12329 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
12330
c6f6157a
JG
123312014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
12332
12333 * gimple-builder.h (create_gimple_tmp): Delete.
12334
770516c9
CB
123352014-01-27 Christian Bruel <christian.bruel@st.com>
12336
12337 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
12338 words comparisons.
12339
cc5cec10
JDA
123402014-01-26 John David Anglin <danglin@gcc.gnu.org>
12341
5aa3c762
JDA
12342 * config/pa/pa.md (call): Generate indirect long calls to non-local
12343 functions when outputing 32-bit code.
12344 (call_value): Likewise except for special call to buggy powf function.
12345
cc5cec10
JDA
12346 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
12347 portable runtime and PIC indirect calls.
12348 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
12349 and PIC call sequences. Use ldo instead of blr to set return register
12350 in PIC call sequence.
12351
6bb0e248
WL
123522014-01-25 Walter Lee <walt@tilera.com>
12353
12354 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
12355 avoid clobbering a live register.
12356
dab03fe3
WL
123572014-01-25 Walter Lee <walt@tilera.com>
12358
770516c9 12359 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 12360 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 12361 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
12362 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
12363
905c20c1
WL
123642014-01-25 Walter Lee <walt@tilera.com>
12365
12366 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
12367 arguments on even registers.
12368 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
12369 STACK_BOUNDARY.
12370 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
12371 (BIGGEST_ALIGNMENT): Ditto.
12372 (BIGGEST_FIELD_ALIGNMENT): Ditto.
12373
8e90a625
WL
123742014-01-25 Walter Lee <walt@tilera.com>
12375
12376 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
12377 insns before bundling.
0ebe2584 12378 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 12379
450c1ffe
WL
123802014-01-25 Walter Lee <walt@tilera.com>
12381
12382 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
12383 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
12384 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 12385
450c1ffe 123862014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 12387
317a951f
RS
12388 * config/mips/constraints.md (kl): Delete.
12389 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
12390 define expands, using...
12391 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
12392 instructions for MIPS16.
12393 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
12394 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
12395
3abe9053
WL
123962014-01-25 Walter Lee <walt@tilera.com>
12397
0ebe2584 12398 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
12399 (clzdi2): Ditto.
12400 (ffsdi2): Ditto.
12401
b0e0fe41
WL
124022014-01-25 Walter Lee <walt@tilera.com>
12403
12404 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
12405 (TARGET_EXPAND_TO_RTL_HOOK): Define.
12406
2c8798a2
RS
124072014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
12408
12409 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
12410 Handle XOR.
12411
2105be5a
JJ
124122014-01-25 Jakub Jelinek <jakub@redhat.com>
12413
4def6060
JJ
12414 * print-rtl.c (in_call_function_usage): New var.
12415 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
12416 EXPR_LIST mode as mode and not as reg note name.
12417
2105be5a
JJ
12418 PR middle-end/59561
12419 * cfgloopmanip.c (copy_loop_info): If
12420 loop->warned_aggressive_loop_optimizations, make sure
12421 the flag is set in target loop too.
12422
b72271b9
BI
124232014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
12424
12425 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
12426 flag_cilkplus.
12427 * builtins.def: Likewise.
12428 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
12429 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
12430 * ira.c (ira_setup_eliminable_regset): Likewise.
12431 * omp-low.c (gate_expand_omp): Likewise.
12432 (execute_lower_omp): Likewise.
12433 (diagnose_sb_0): Likewise.
12434 (gate_diagnose_omp_blocks): Likewise.
12435 (simd_clone_clauses_extract): Likewise.
12436 (gate): Likewise.
12437
8adcc78b
BS
124382014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12439
12440 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
12441 correction for little endian...
12442 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
12443 here.
12444
3d750496
JL
124452014-01-24 Jeff Law <law@redhat.com>
12446
12447 PR tree-optimization/59919
12448 * tree-vrp.c (find_assert_locations_1): Do not register asserts
12449 for non-returning calls.
12450
1c05df59
JG
124512014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
12452
12453 * common/config/aarch64/aarch64-common.c
12454 (aarch64_rewrite_mcpu): Handle multiple names.
12455 * config/aarch64/aarch64.h
12456 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
12457
317363b4
DS
124582014-01-24 Dodji Seketeli <dodji@redhat.com>
12459
12460 * input.c (add_file_to_cache_tab): Handle the case where fopen
12461 returns NULL.
12462
16370fa7
L
124632014-01-23 H.J. Lu <hongjiu.lu@intel.com>
12464
12465 PR target/59929
12466 * config/i386/i386.md (pushsf splitter): Get stack adjustment
12467 from push operand if code of push isn't PRE_DEC.
12468
b846c948
MM
124692014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
12470
12471 PR target/59909
12472 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
12473 -mquad-memory-atomic. Update -mquad-memory documentation to say
12474 it is only used for non-atomic loads/stores.
12475
12476 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
12477 -mquad-memory or -mquad-memory-atomic switches.
12478
12479 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
12480 -mquad-memory-atomic to ISA 2.07 support.
12481
12482 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
12483 to separate support of normal quad word memory operations (ldq, stq)
12484 from the atomic quad word memory operations.
b846c948
MM
12485
12486 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
12487 support to separate non-atomic quad word operations from atomic
12488 quad word operations. Disable non-atomic quad word operations in
12489 little endian mode so that we don't have to swap words after the
12490 load and before the store.
12491 (quad_load_store_p): Add comment about atomic quad word support.
12492 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
12493 options printed with -mdebug=reg.
12494
12495 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
12496 -mquad-memory-atomic as the test for whether we have quad word
12497 atomic instructions.
0ebe2584
ASJ
12498 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
12499 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
12500
12501 * config/rs6000/sync.md (load_lockedti): Insure that the address
12502 is a proper indexed or indirect address for the lqarx instruction.
12503 On little endian systems, swap the hi/lo registers after the lqarx
12504 instruction.
12505 (load_lockedpti): Use indexed_or_indirect_operand predicate to
12506 insure the address is valid for the lqarx instruction.
12507 (store_conditionalti): Insure that the address is a proper indexed
12508 or indirect address for the stqcrx. instruction. On little endian
12509 systems, swap the hi/lo registers before doing the stqcrx.
12510 instruction.
12511 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
12512 insure the address is valid for the stqcrx. instruction.
12513
12514 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
12515 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
12516 type of quad memory support is available.
12517
6e23f296
VM
125182014-01-23 Vladimir Makarov <vmakarov@redhat.com>
12519
12520 PR regression/59915
12521 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
12522 there is a danger of looping.
12523
0a4f04e5
PH
125242014-01-23 Pat Haugen <pthaugen@us.ibm.com>
12525
12526 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
12527 force flag_ira_loop_pressure if set via command line.
12528
f9a4c9a6
AV
125292014-01-23 Alex Velenko <Alex.Velenko@arm.com>
12530
12531 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
12532 (ashr_simd): New builtin handling DI mode.
12533 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
12534 (aarch64_sshr_simddi): New match pattern.
12535 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
12536 (vshrd_n_s64): Likewise.
12537 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
12538
949ad971
NC
125392014-01-23 Nick Clifton <nickc@redhat.com>
12540
12541 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
12542 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
12543 favour of mcu specific scripts.
12544 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
12545 430x multilibs.
12546
d5ecead9
JG
125472014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
12548 Alex Velenko <Alex.Velenko@arm.com>
12549
12550 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
12551 (vaddv_s16): Likewise.
12552 (vaddv_s32): Likewise.
12553 (vaddv_u8): Likewise.
12554 (vaddv_u16): Likewise.
12555 (vaddv_u32): Likewise.
12556 (vaddvq_s8): Likewise.
12557 (vaddvq_s16): Likewise.
12558 (vaddvq_s32): Likewise.
12559 (vaddvq_s64): Likewise.
12560 (vaddvq_u8): Likewise.
12561 (vaddvq_u16): Likewise.
12562 (vaddvq_u32): Likewise.
12563 (vaddvq_u64): Likewise.
12564 (vaddv_f32): Likewise.
12565 (vaddvq_f32): Likewise.
12566 (vaddvq_f64): Likewise.
12567 (vmaxv_f32): Likewise.
12568 (vmaxv_s8): Likewise.
12569 (vmaxv_s16): Likewise.
12570 (vmaxv_s32): Likewise.
12571 (vmaxv_u8): Likewise.
12572 (vmaxv_u16): Likewise.
12573 (vmaxv_u32): Likewise.
12574 (vmaxvq_f32): Likewise.
12575 (vmaxvq_f64): Likewise.
12576 (vmaxvq_s8): Likewise.
12577 (vmaxvq_s16): Likewise.
12578 (vmaxvq_s32): Likewise.
12579 (vmaxvq_u8): Likewise.
12580 (vmaxvq_u16): Likewise.
12581 (vmaxvq_u32): Likewise.
12582 (vmaxnmv_f32): Likewise.
12583 (vmaxnmvq_f32): Likewise.
12584 (vmaxnmvq_f64): Likewise.
12585 (vminv_f32): Likewise.
12586 (vminv_s8): Likewise.
12587 (vminv_s16): Likewise.
12588 (vminv_s32): Likewise.
12589 (vminv_u8): Likewise.
12590 (vminv_u16): Likewise.
12591 (vminv_u32): Likewise.
12592 (vminvq_f32): Likewise.
12593 (vminvq_f64): Likewise.
12594 (vminvq_s8): Likewise.
12595 (vminvq_s16): Likewise.
12596 (vminvq_s32): Likewise.
12597 (vminvq_u8): Likewise.
12598 (vminvq_u16): Likewise.
12599 (vminvq_u32): Likewise.
12600 (vminnmv_f32): Likewise.
12601 (vminnmvq_f32): Likewise.
12602 (vminnmvq_f64): Likewise.
12603
1dd055a2
JG
126042014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
12605
12606 * config/aarch64/aarch64-simd.md
12607 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
12608 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
12609 (*aarch64_mul3_elt<mode>): Likewise.
12610 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
12611 (*aarch64_mul3_elt_to_64v2df): Likewise.
12612 (*aarch64_mla_elt<mode>): Likewise.
12613 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
12614 (*aarch64_mls_elt<mode>): Likewise.
12615 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
12616 (*aarch64_fma4_elt<mode>): Likewise.
12617 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
12618 (*aarch64_fma4_elt_to_64v2df): Likewise.
12619 (*aarch64_fnma4_elt<mode>): Likewise.
12620 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
12621 (*aarch64_fnma4_elt_to_64v2df): Likewise.
12622 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
12623 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
12624 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
12625 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
12626 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
12627 (aarch64_sqdmull_lane<mode>_internal): Likewise.
12628 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
12629
dafb9b64
AV
126302013-01-23 Alex Velenko <Alex.Velenko@arm.com>
12631
12632 * config/aarch64/aarch64-simd.md
12633 (aarch64_be_checked_get_lane<mode>): New define_expand.
12634 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 12635 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
12636 New builtin definition.
12637 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
12638 Use new safe be builtin.
12639
89b4515c
AV
126402014-01-23 Alex Velenko <Alex.Velenko@arm.com>
12641
12642 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
12643 New define_insn.
12644 (aarch64_be_st1<mode>): Likewise.
12645 (aarch_ld1<VALL:mode>): Define_expand modified.
12646 (aarch_st1<VALL:mode>): Likewise.
12647 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
12648 (UNSPEC_ST1): Likewise.
12649
4bb66ef3 126502014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
12651
12652 * config/microblaze/microblaze.md: Add trap insn and attribute
12653
7ecc3eb9
DS
126542014-01-23 Dodji Seketeli <dodji@redhat.com>
12655
12656 PR preprocessor/58580
12657 * input.h (location_get_source_line): Take an additional line_size
12658 parameter.
12659 (void diagnostics_file_cache_fini): Declare new function.
12660 * input.c (struct fcache): New type.
12661 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
12662 New static constants.
12663 (diagnostic_file_cache_init, total_lines_num)
12664 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
12665 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
12666 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
12667 (get_next_line, read_next_line, goto_next_line, read_line_num):
12668 New static function definitions.
12669 (diagnostic_file_cache_fini): New function.
12670 (location_get_source_line): Take an additional output line_len
12671 parameter. Re-write using lookup_or_add_file_to_cache_tab and
12672 read_line_num.
12673 * diagnostic.c (diagnostic_finish): Call
12674 diagnostic_file_cache_fini.
12675 (adjust_line): Take an additional input parameter for the length
12676 of the line, rather than calculating it with strlen.
12677 (diagnostic_show_locus): Adjust the use of
12678 location_get_source_line and adjust_line with respect to their new
12679 signature. While displaying a line now, do not stop at the first
12680 null byte. Rather, display the zero byte as a space and keep
12681 going until we reach the size of the line.
12682 * Makefile.in: Add vec.o to OBJS-libcommon
12683
2196a885 126842014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 12685 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
12686
12687 * config/i386/avx512fintrin.h (_mm512_kmov): New.
12688 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
12689 (__builtin_ia32_kmov16): Ditto.
12690 * config/i386/i386.md (UNSPEC_KMOV): New.
12691 (kmovw): Ditto.
12692
70473c63
KY
126932014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
12694
12695 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
12696 (_mm512_storeu_si512): Ditto.
12697
f9ae4df8
RS
126982014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
12699
12700 PR target/52125
12701 * rtl.h (get_referenced_operands): Declare.
12702 * recog.c (get_referenced_operands): New function.
12703 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
12704 operands have been referenced when recording LO_SUM references.
12705
4bb66ef3 127062014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
12707
12708 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
12709
39960d1c 127102014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
12711
12712 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
12713 Enable for generic and recent AMD targets.
12714
39960d1c 127152014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
12716
12717 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
12718 ARG_SIZE note when adjustment was eliminated.
12719
bb50b870
JL
127202014-01-22 Jeff Law <law@redhat.com>
12721
12722 PR tree-optimization/59597
12723 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
12724 in file. Accept new argument REGISTERING and use it to modify
12725 dump output appropriately.
12726 (register_jump_thread): Corresponding changes.
12727 (mark_threaded_blocks): Reinstate code to cancel unprofitable
12728 thread paths involving joiner blocks. Add code to dump cancelled
12729 jump threading paths.
12730
df2980be
VM
127312014-01-22 Vladimir Makarov <vmakarov@redhat.com>
12732
12733 PR rtl-optimization/59477
12734 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 12735 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 12736
1bb99900
TT
127372014-01-22 Tom Tromey <tromey@redhat.com>
12738
12739 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
12740 PARAMS.
12741 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
12742
9102dadd
VM
127432014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12744
12745 PR rtl-optimization/59896
12746 * lra-constraints.c (process_alt_operands): Check unused note for
12747 matched operands of insn with no output reloads.
12748
ca376eb8
RS
127492014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
12750
12751 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
12752 (mips_move_from_gpr_cost): Likewise.
12753
a9711f36
VM
127542014-01-21 Vladimir Makarov <vmakarov@redhat.com>
12755
12756 PR rtl-optimization/59858
12757 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
12758 ira_class_hard_regs_num.
12759 (process_alt_operands): Increase reject for dying matched operand.
12760
f8ea7cb0
JJ
127612014-01-21 Jakub Jelinek <jakub@redhat.com>
12762
12763 PR target/59003
12764 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
12765 smaller than size, perform several stores or loads and stores
12766 at dst + count - size to store or copy all of size bytes, rather
12767 than just last modesize bytes.
12768
84db09e3
DD
127692014-01-20 DJ Delorie <dj@redhat.com>
12770
12771 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
12772 that CLOBBERs are REGs before propogating their values.
12773
1cf11770
L
127742014-01-20 H.J. Lu <hongjiu.lu@intel.com>
12775
12776 PR middle-end/59789
12777 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
12778 (cgraph_inline_failed_type): New function.
12779 * cgraph.h (DEFCIFCODE): Add type.
12780 (cgraph_inline_failed_type_t): New enum.
12781 (cgraph_inline_failed_type): New prototype.
12782 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
12783 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
12784 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
12785 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
12786 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
12787 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
12788 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 12789 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
12790 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
12791 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
12792 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
12793 OPTIMIZATION_MISMATCH.
12794 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 12795 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 12796
8586e4bd
UB
127972014-01-20 Uros Bizjak <ubizjak@gmail.com>
12798
12799 PR target/59685
12800 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
12801 mode attribute in insn output.
12802
99482090
EB
128032014-01-20 Eric Botcazou <ebotcazou@adacore.com>
12804
12805 * output.h (output_constant): Delete.
12806 * varasm.c (output_constant): Make private.
12807
ede23272
AV
128082014-01-20 Alex Velenko <Alex.Velenko@arm.com>
12809
12810 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
12811
9a7eefec
JJ
128122014-01-20 Jakub Jelinek <jakub@redhat.com>
12813
12814 PR middle-end/59860
12815 * tree.h (fold_builtin_strcat): New prototype.
12816 * builtins.c (fold_builtin_strcat): No longer static. Add len
12817 argument, if non-NULL, don't call c_strlen. Optimize
12818 directly into __builtin_memcpy instead of __builtin_strcpy.
12819 (fold_builtin_2): Adjust fold_builtin_strcat caller.
12820 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
12821
3e729145
UB
128222014-01-20 Uros Bizjak <ubizjak@gmail.com>
12823
12824 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12825 for SImode_address_operand operands, having only a REG argument.
12826
eee0e487
MS
128272014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
12828
12829 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
12830 loader name using mbig-endian.
12831 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
12832
9e540e37
JG
128332014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12834
12835 * doc/invoke.texi (-march): Clarify documentation for AArch64.
12836 (-mtune): Likewise.
12837 (-mcpu): Likewise.
12838
69675d50
TB
128392014-01-20 Tejas Belagod <tejas.belagod@arm.com>
12840
12841 * config/aarch64/aarch64-protos.h
12842 (aarch64_cannot_change_mode_class_ptr): Declare.
12843 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
12844 aarch64_cannot_change_mode_class_ptr): New.
12845 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
12846 backend hook aarch64_cannot_change_mode_class.
12847
ffee7aa9
JG
128482014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
12849
12850 * common/config/aarch64/aarch64-common.c
12851 (aarch64_handle_option): Don't handle any option order logic here.
12852 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
12853 selected_cpu, warn on architecture version mismatch.
12854 (aarch64_override_options): Fix parsing order for option strings.
12855
c7169779
JBG
128562014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12857 Iain Sandoe <iain@codesourcery.com>
12858
12859 PR bootstrap/59496
12860 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
12861 warning. Amend comment to reflect current functionality.
12862
409b6ac1
RB
128632014-01-20 Richard Biener <rguenther@suse.de>
12864
12865 PR middle-end/59860
12866 * builtins.c (fold_builtin_strcat): Remove case better handled
12867 by tree-ssa-strlen.c.
12868
608df31f
AL
128692014-01-20 Alan Lawrence <alan.lawrence@arm.com>
12870
12871 * config/aarch64/aarch64.opt
12872 (mcpu, march, mtune): Make case-insensitive.
12873
0fabe5f3
JJ
128742014-01-20 Jakub Jelinek <jakub@redhat.com>
12875
12876 PR target/59880
12877 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
12878 if operands[1] is a REG or ZERO_EXTEND of a REG.
12879
39960d1c 128802014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
12881
12882 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
12883
925cb97d
JDA
128842014-01-19 John David Anglin <danglin@gcc.gnu.org>
12885
12886 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
12887 long non-pic millicode calls.
12888
f43856db
JBG
128892014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12890
12891 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
12892
d2be9965
ILT
128932014-01-19 Kito Cheng <kito@0xlab.org>
12894
12895 * builtins.c (expand_movstr): Check movstr expand done or fail.
12896
efc90043
UB
128972014-01-18 Uros Bizjak <ubizjak@gmail.com>
12898 H.J. Lu <hongjiu.lu@intel.com>
12899
12900 PR target/59379
12901 * config/i386/i386.md (*lea<mode>): Zero-extend return register
12902 to DImode for zero-extended addresses.
12903
8fce217e
JJ
129042014-01-19 Jakub Jelinek <jakub@redhat.com>
12905
12906 PR rtl-optimization/57763
12907 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
12908 on the new indirect jump_insn and increment LABEL_NUSES (label).
12909
efc90043 129102014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
12911
12912 PR bootstrap/59580
12913 PR bootstrap/59583
12914 * config.gcc (x86_archs): New variable.
12915 (x86_64_archs): Likewise.
12916 (x86_cpus): Likewise.
12917 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
12918 --with-arch/--with-cpu= options.
12919 Support --with-arch=/--with-cpu={nehalem,westmere,
12920 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
12921
7f3af6d3
UB
129222014-01-18 Uros Bizjak <ubizjak@gmail.com>
12923
12924 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
12925 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
12926
129272014-01-18 Uros Bizjak <ubizjak@gmail.com>
12928
12929 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
12930
fa5d6c75
JJ
129312014-01-18 Jakub Jelinek <jakub@redhat.com>
12932
12933 PR target/58944
12934 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
12935 clear cpp_get_options (parse_in)->warn_unused_macros for
12936 ix86_target_macros_internal with cpp_define.
12937
04da5680
RS
129382014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
12939
12940 * jump.c (delete_related_insns): Keep (use (insn))s.
12941 * reorg.c (redundant_insn): Check for barriers too.
12942
1e99bee5
L
129432014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12944
7f3af6d3 12945 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 12946
fa7d0c60
JDA
129472014-01-17 John David Anglin <danglin@gcc.gnu.org>
12948
12949 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
12950 call to $$dyncall when TARGET_LONG_CALLS is true.
12951
2043135a
JL
129522014-01-17 Jeff Law <law@redhat.com>
12953
12954 * ree.c (combine_set_extension): Temporarily disable test for
12955 changing number of hard registers.
12956
39960d1c 129572014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
12958
12959 PR middle-end/58125
12960 * ipa-inline-analysis.c (inline_free_summary):
12961 Do not free summary of aliases.
12962
664ceb1e
JJ
129632014-01-17 Jakub Jelinek <jakub@redhat.com>
12964
12965 PR middle-end/59706
12966 * gimplify.c (gimplify_expr): Use create_tmp_var
12967 instead of create_tmp_var_raw. If cond doesn't have
12968 integral type, don't add the IFN_ANNOTATE builtin at all.
12969
aef83682
MJ
129702014-01-17 Martin Jambor <mjambor@suse.cz>
12971
12972 PR ipa/59736
12973 * ipa-cp.c (prev_edge_clone): New variable.
12974 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
12975 Also resize prev_edge_clone vector.
12976 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
12977 (ipcp_edge_removal_hook): New function.
12978 (ipcp_driver): Register ipcp_edge_removal_hook.
12979
4bb66ef3 129802014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
12981 Steve Ellcey <sellcey@mips.com>
12982
12983 PR target/59462
12984 * config/mips/mips.c (mips_print_operand): Check operand mode instead
12985 of operator mode.
12986
4ee5c752
JL
129872014-01-17 Jeff Law <law@redhat.com>
12988
12989 PR middle-end/57904
12990 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
12991 so that pass_ccp runs first.
12992
40cfac7c
L
129932014-01-17 H.J. Lu <hongjiu.lu@intel.com>
12994
12995 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
12996 (ix86_adjust_cost): Use !TARGET_XXX.
12997 (do_reorder_for_imul): Likewise.
12998 (swap_top_of_ready_list): Likewise.
12999 (ix86_sched_reorder): Likewise.
13000
9a7f94d7
L
130012014-01-17 H.J. Lu <hongjiu.lu@intel.com>
13002
13003 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
13004 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
13005 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
13006 (intel_memset): New. Duplicate slm_memset.
13007 (intel_cost): New. Duplicate slm_cost.
13008 (m_INTEL): New macro.
13009 (processor_target_table): Add "intel".
13010 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
13011 with PROCESSOR_INTEL for "intel".
13012 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
13013 PROCESSOR_SILVERMONT.
9a7f94d7
L
13014 (ix86_issue_rate): Likewise.
13015 (ix86_adjust_cost): Likewise.
13016 (ia32_multipass_dfa_lookahead): Likewise.
13017 (swap_top_of_ready_list): Likewise.
13018 (ix86_sched_reorder): Likewise.
8cdcf750
L
13019 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
13020 instead of TARGET_OPT_AGU.
9a7f94d7
L
13021 * config/i386/i386.h (TARGET_INTEL): New.
13022 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
13023 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
13024 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
13025 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 13026
30078c0a
MP
130272014-01-17 Marek Polacek <polacek@redhat.com>
13028
13029 PR c/58346
13030 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
13031 size is zero.
13032
14379e66
RB
130332014-01-17 Richard Biener <rguenther@suse.de>
13034
13035 PR tree-optimization/46590
13036 * opts.c (default_options_table): Add entries for
13037 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
13038 all enabled at -O1 but not for -Og.
13039 * common.opt (fbranch-count-reg): Remove Init(1).
13040 (fmove-loop-invariants): Likewise.
13041 (ftree-pta): Likewise.
13042
f7d594d2
JJ
130432014-01-17 Jakub Jelinek <jakub@redhat.com>
13044
88e18bd5
JJ
13045 * config/i386/i386.c (ix86_data_alignment): For compatibility with
13046 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
13047 decls to at least the GCC 4.8 used alignments.
13048
f7d594d2
JJ
13049 PR fortran/59440
13050 * tree-nested.c (convert_nonlocal_reference_stmt,
13051 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
13052 of GIMPLE_BIND stmts, adjust associated decls.
13053
32500433
RB
130542014-01-17 Richard Biener <rguenther@suse.de>
13055
13056 PR tree-optimization/46590
13057 * vec.h (vec<>::bseach): New member function implementing
13058 binary search according to C89 bsearch.
13059 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
13060 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
13061 bitmap pointer again. Make accesses_in_loop a flat array.
13062 (mem_ref_obstack): New global.
13063 (outermost_indep_loop): Adjust for mem_ref->stored changes.
13064 (mark_ref_stored): Likewise.
13065 (ref_indep_loop_p_2): Likewise.
13066 (set_ref_stored_in_loop): New helper function.
13067 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
13068 (memref_free): Adjust.
13069 (record_mem_ref_loc): Simplify.
13070 (gather_mem_refs_stmt): Adjust.
13071 (sort_locs_in_loop_postorder_cmp): New function.
13072 (analyze_memory_references): Sort accesses_in_loop after
13073 loop postorder number.
13074 (find_ref_loc_in_loop_cmp): New function.
13075 (for_all_locs_in_loop): Find relevant cluster of locs in
13076 accesses_in_loop and iterate without recursion.
13077 (execute_sm): Avoid uninit warning.
13078 (struct ref_always_accessed): Simplify.
13079 (ref_always_accessed::operator ()): Likewise.
13080 (ref_always_accessed_p): Likewise.
13081 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
13082 loop postorder numbers here.
13083 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
13084 numbers.
13085
24fcf4bc
JJ
130862014-01-17 Jan Hubicka <hubicka@ucw.cz>
13087
13088 PR c++/57945
13089 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
13090 on decls for which assemble_alias has been called.
13091
d4f283a1
NC
130922014-01-17 Nick Clifton <nickc@redhat.com>
13093
13094 * config/msp430/msp430.opt: (mcpu): New option.
13095 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
13096 (msp430_option_override): Parse target_cpu. If the MCU name
13097 matches a generic string, clear target_mcu.
13098 (msp430_attr): Allow numeric interrupt values up to 63.
13099 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
13100 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
13101 option.
13102 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
13103 Add mcpu matches.
13104 * config/msp430/msp430.md (popm): Use %J rather than %I.
13105 (addsi3): Use msp430_nonimmediate_operand for operand 2.
13106 (addhi_cy_i): Use immediate_operand for operand 2.
13107 * doc/invoke.texi: Document -mcpu option.
13108
7be64667
RB
131092014-01-17 Richard Biener <rguenther@suse.de>
13110
13111 PR rtl-optimization/38518
13112 * df.h (df_analyze_loop): Declare.
13113 * df-core.c: Include cfgloop.h.
13114 (df_analyze_1): Split out main part of df_analyze.
13115 (df_analyze): Adjust.
13116 (loop_inverted_post_order_compute): New function.
13117 (loop_post_order_compute): Likewise.
13118 (df_analyze_loop): New function avoiding whole-function
13119 postorder computes.
13120 * loop-invariant.c (find_defs): Use df_analyze_loop.
13121 (find_invariants): Adjust.
13122 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
13123
82a197a2
ZC
131242014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
13125
13126 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
13127 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
13128
c68b3f52
IE
131292014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
13130
13131 * ipa-ref.c (ipa_remove_stmt_references): Fix references
13132 traversal when removing references.
13133
39960d1c 131342014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
13135
13136 PR ipa/59775
13137 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
13138
9e6f9ad6
BS
131392014-01-16 Bernd Schmidt <bernds@codesourcery.com>
13140
13141 PR middle-end/56791
13142 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
13143 pushing a reload for an autoinc when we had previously reloaded an
13144 inner part of the address.
13145
a611d7cb
JJ
131462014-01-16 Jakub Jelinek <jakub@redhat.com>
13147
d1417442
JJ
13148 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
13149 field.
13150 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
13151 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
13152 when not giving up or versioning for alias only because of
13153 loop->safelen.
13154 (vect_analyze_data_ref_dependences): Set to true.
13155 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
13156 is a GIMPLE_PHI.
13157 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
13158 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
13159 to the condition.
13160
42ed6cde
JJ
13161 PR middle-end/58344
13162 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
13163
a611d7cb 13164 PR target/59839
7f3af6d3
UB
13165 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
13166 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 13167
8f21260c
VM
131682014-01-16 Vladimir Makarov <vmakarov@redhat.com>
13169
13170 PR middle-end/59609
7f3af6d3
UB
13171 * lra-constraints.c (process_alt_operands): Add printing debug info.
13172 Check absence of input/output reloads for matched operands too.
8f21260c 13173
1a788c05
VM
131742014-01-16 Vladimir Makarov <vmakarov@redhat.com>
13175
13176 PR rtl-optimization/59835
13177 * ira.c (ira_init_register_move_cost): Increase cost for
13178 impossible modes.
13179
4cf24d27
AL
131802014-01-16 Alan Lawrence <alan.lawrence@arm.com>
13181
cc3a9f0d 13182 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 13183
030d03b8
RE
131842014-01-16 Richard Earnshaw <rearnsha@arm.com>
13185
13186 PR target/59780
13187 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
13188 non-register objects. Use gen_(high/low)part more consistently.
13189 Fix assertions.
13190
e78f06a8
MM
131912014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
13192
13193 PR target/59844
13194 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
13195 endian support, remove tests for WORDS_BIG_ENDIAN.
13196 (p8_mfvsrd_3_<mode>): Likewise.
13197 (reload_gpr_from_vsx<mode>): Likewise.
13198 (reload_gpr_from_vsxsf): Likewise.
13199 (p8_mfvsrd_4_disf): Likewise.
13200
9d1ae52c
RB
132012014-01-16 Richard Biener <rguenther@suse.de>
13202
13203 PR rtl-optimization/46590
13204 * lcm.c (compute_antinout_edge): Use postorder iteration.
13205 (compute_laterin): Use inverted postorder iteration.
13206
54c7a7f3
NC
132072014-01-16 Nick Clifton <nickc@redhat.com>
13208
13209 PR middle-end/28865
13210 * varasm.c (output_constant): Return the number of bytes actually
13211 emitted.
13212 (output_constructor_array_range): Update the field size with the
13213 number of bytes emitted by output_constant.
13214 (output_constructor_regular_field): Likewise. Also do not
13215 complain if the total number of bytes emitted is now greater
13216 than the expected fieldpos.
7f3af6d3 13217 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 13218
5147d10a
MP
132192014-01-16 Marek Polacek <polacek@redhat.com>
13220
13221 PR middle-end/59827
13222 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
13223 it is error_mark_node.
13224
4ac005ba
UB
132252014-01-15 Uros Bizjak <ubizjak@gmail.com>
13226
13227 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
13228 VALID_AVX256_REG_OR_OI_MODE.
13229
5d7574fa
PH
132302014-01-15 Pat Haugen <pthaugen@us.ibm.com>
13231
13232 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
13233 current procedure should be profiled.
13234
6ee70f81
AP
132352014-01-15 Andrew Pinski <apinski@cavium.com>
13236
13237 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
13238 of moving from/to the STACK_REG register class.
13239
004a7e45 132402014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
13241
13242 PR debug/54694
13243 * reginfo.c (global_regs_decl): Globalize.
13244 * rtl.h (global_regs_decl): Declare.
13245 * ira.c (do_reload): Diagnose frame_pointer_needed and it
13246 reserved via global_regs.
13247
4583fada
TJ
132482014-01-15 Teresa Johnson <tejohnson@google.com>
13249
13250 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
13251
d13dfec8
BS
132522014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
13253
13254 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
13255 and vmulosh rather than call gen_vec_widen_smult_*.
13256 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
13257 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
13258 (vec_widen_smult_even_v16qi): Likewise.
13259 (vec_widen_umult_even_v8hi): Likewise.
13260 (vec_widen_smult_even_v8hi): Likewise.
13261 (vec_widen_umult_odd_v16qi): Likewise.
13262 (vec_widen_smult_odd_v16qi): Likewise.
13263 (vec_widen_umult_odd_v8hi): Likewise.
13264 (vec_widen_smult_odd_v8hi): Likewise.
13265 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
13266 vmuloub rather than call gen_vec_widen_umult_*.
13267 (vec_widen_umult_lo_v16qi): Likewise.
13268 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
13269 vmulosb rather than call gen_vec_widen_smult_*.
13270 (vec_widen_smult_lo_v16qi): Likewise.
13271 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
13272 rather than call gen_vec_widen_umult_*.
13273 (vec_widen_umult_lo_v8hi): Likewise.
13274 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
13275 rather than call gen_vec_widen_smult_*.
13276 (vec_widen_smult_lo_v8hi): Likewise.
13277
a6a2d67b
JL
132782014-01-15 Jeff Law <law@redhat.com>
13279
13280 PR tree-optimization/59747
13281 * ree.c (find_and_remove_re): Properly handle case where a second
13282 eliminated extension requires widening a copy created for elimination
13283 of a prior extension.
13284 (combine_set_extension): Ensure that the number of hard regs needed
13285 for a destination register does not change when we widen it.
13286
aefe4056
SH
132872014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
13288
13289 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
13290 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
13291 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
13292 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
13293 (avr-*-rtems*): Likewise.
13294 (bfin*-rtems*): Likewise.
13295 (moxie-*-rtems*): Likewise.
13296 (h8300-*-rtems*): Likewise.
13297 (i[34567]86-*-rtems*): Likewise.
13298 (lm32-*-rtems*): Likewise.
13299 (m32r-*-rtems*): Likewise.
13300 (m68k-*-rtems*): Likewise.
13301 (microblaze*-*-rtems*): Likewise.
13302 (mips*-*-rtems*): Likewise.
13303 (powerpc-*-rtems*): Likewise.
13304 (sh-*-rtems*): Likewise.
13305 (sparc-*-rtems*): Likewise.
13306 (sparc64-*-rtems*): Likewise.
13307 (v850-*-rtems*): Likewise.
13308 (m32c-*-rtems*): Likewise.
13309
fef37404
VM
133102014-01-15 Vladimir Makarov <vmakarov@redhat.com>
13311
13312 PR rtl-optimization/59511
13313 * ira.c (ira_init_register_move_cost): Use memory costs for some
13314 cases of register move cost calculations.
13315 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
13316 instead of BB frequency.
13317 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
13318 * lra-assigns.c (find_hard_regno_for): Ditto.
13319
6b916b36
RB
133202014-01-15 Richard Biener <rguenther@suse.de>
13321
13322 PR tree-optimization/59822
13323 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
13324 (vectorizable_load): Use it to hoist defs of uses of invariant
13325 loads out of the loop.
13326
d103f29b 133272014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 13328 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
13329
13330 PR target/59695
13331 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
13332 truncation.
13333
95cb8697
RB
133342014-01-15 Richard Biener <rguenther@suse.de>
13335
13336 PR rtl-optimization/59802
13337 * lcm.c (compute_available): Use inverted postorder to seed
13338 the initial worklist.
13339
cb4b6d17
AK
133402014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13341
1c8b5303 13342 PR target/59803
cb4b6d17
AK
13343 * config/s390/s390.c (s390_preferred_reload_class): Don't return
13344 ADDR_REGS for invalid symrefs in non-PIC code.
13345
2738b4c7
JJ
133462014-01-15 Jakub Jelinek <jakub@redhat.com>
13347
13348 PR other/58712
13349 * builtins.c (determine_block_size): Initialize *probable_max_size
13350 even if len_rtx is CONST_INT.
13351
d126a4ae
AP
133522014-01-14 Andrew Pinski <apinski@cavium.com>
13353
13354 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
13355 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
13356 (cortexa53_tunings): Likewise.
13357 (aarch64_sched_issue_rate): New function.
13358 (TARGET_SCHED_ISSUE_RATE): Define.
13359
dc687582
VM
133602014-01-14 Vladimir Makarov <vmakarov@redhat.com>
13361
13362 * ira-costs.c (find_costs_and_classes): Add missed
13363 ira_init_register_move_cost_if_necessary.
13364
e940b2ec
VM
133652014-01-14 Vladimir Makarov <vmakarov@redhat.com>
13366
13367 PR target/59787
13368 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
13369
3292e376
L
133702014-01-14 H.J. Lu <hongjiu.lu@intel.com>
13371
13372 PR target/59794
13373 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
13374 to indicate if type is used for function return value. Warn ABI
13375 change if the vector mode isn't available for function return value.
3292e376
L
13376 (ix86_function_arg_advance): Pass false to type_natural_mode.
13377 (ix86_function_arg): Likewise.
13378 (ix86_gimplify_va_arg): Likewise.
13379 (function_arg_32): Don't warn ABI change.
13380 (ix86_function_value): Pass true to type_natural_mode.
13381 (ix86_return_in_memory): Likewise.
13382 (ix86_struct_value_rtx): Removed.
13383 (TARGET_STRUCT_VALUE_RTX): Likewise.
13384
db930875
RS
133852014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
13386
13387 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
13388 converting a conditional jump into a conditional return.
13389
a0e35eb0
RB
133902014-01-14 Richard Biener <rguenther@suse.de>
13391
13392 PR tree-optimization/58921
13393 PR tree-optimization/59006
13394 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
13395 hoisting invariant stmts.
13396 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
13397 invariant loads on the preheader edge if possible.
13398
a984e92e
JY
133992014-01-14 Joey Ye <joey.ye@arm.com>
13400
13401 * doc/plugin.texi (Building GCC plugins): Update to C++.
13402
c56a42b9
KY
134032014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
13404
3292e376 13405 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
13406 (_mm_rcp28_round_ss): Ditto.
13407 (_mm_rsqrt28_round_sd): Ditto.
13408 (_mm_rsqrt28_round_ss): Ditto.
13409 (_mm_rcp28_sd): Ditto.
13410 (_mm_rcp28_ss): Ditto.
13411 (_mm_rsqrt28_sd): Ditto.
13412 (_mm_rsqrt28_ss): Ditto.
13413 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
13414 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
13415 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
13416 (IX86_BUILTIN_RCP28SD): Ditto.
13417 (IX86_BUILTIN_RCP28SS): Ditto.
13418 (IX86_BUILTIN_RSQRT28SD): Ditto.
13419 (IX86_BUILTIN_RSQRT28SS): Ditto.
13420 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
13421 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
13422 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
13423 (ix86_expand_special_args_builtin): Expand new FTYPE.
13424 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
13425 (srcp14<mode>): Make insn unary.
13426 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
13427 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
13428 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
13429 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
13430 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
13431 Fix rounding: make it SAE only.
4ac005ba
UB
13432 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
13433 Ditto.
13434 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
13435 Ditto.
c56a42b9
KY
13436 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
13437 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
13438 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
13439 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
13440 (round_saeonly_mask_scalar_operand4): Ditto.
13441 (round_saeonly_mask_scalar_op3): Ditto.
13442 (round_saeonly_mask_scalar_op4): Ditto.
13443
09fccb62
BS
134442014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13445
13446 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13447 Implement -maltivec=be for vec_insert and vec_extract.
13448
fb28dac0
DD
134492014-01-10 DJ Delorie <dj@redhat.com>
13450
13451 * config/msp430/msp430.md (call_internal): Don't allow memory
13452 references with SP as the base register.
13453 (call_value_internal): Likewise.
13454 * config/msp430/constraints.md (Yc): New. For memory references
13455 that don't use SP as a base register.
13456
13457 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
13458 "an integer without a # prefix"
13459 * config/msp430/msp430.md (epilogue_helper): Use it.
13460
19e51b40
JJ
134612014-01-13 Jakub Jelinek <jakub@redhat.com>
13462
03b9e8e4
JJ
13463 PR target/59617
13464 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
13465 AVX512F gather builtins.
13466 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
13467 on gather decls with INTEGER_TYPE masktype.
13468 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
13469 directly into the builtin rather than hoisting it before loop.
13470
19e51b40
JJ
13471 PR tree-optimization/59387
13472 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
13473 (scev_const_prop): If folded_casts and type has undefined overflow,
13474 use force_gimple_operand instead of force_gimple_operand_gsi and
13475 for each added stmt if it is assign with
13476 arith_code_with_undefined_signed_overflow, call
13477 rewrite_to_defined_overflow.
13478 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
13479 gimple-fold.h instead.
13480 (arith_code_with_undefined_signed_overflow,
13481 rewrite_to_defined_overflow): Moved to ...
13482 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
13483 rewrite_to_defined_overflow): ... here. No longer static.
13484 Include gimplify-me.h.
13485 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
13486 rewrite_to_defined_overflow): New prototypes.
13487
cd794ed4
KT
134882014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13489
13490 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
13491
e75fde1a
EB
134922014-01-13 Eric Botcazou <ebotcazou@adacore.com>
13493
13494 * builtins.c (get_object_alignment_2): Minor tweak.
13495 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
13496
eae298d6
CB
134972014-01-13 Christian Bruel <christian.bruel@st.com>
13498
13499 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 13500 optimized non constant lengths.
eae298d6 13501
8175be9a
JJ
135022014-01-13 Jakub Jelinek <jakub@redhat.com>
13503
13504 PR libgomp/59194
13505 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
13506 load as __atomic_load_N if possible.
13507
9c111368
DE
135082014-01-11 David Edelsohn <dje.gcc@gmail.com>
13509
13510 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
13511 target parameter.
13512 (rs6000_expand_builtin): Adjust call.
13513
c82846bc
DE
135142014-01-11 David Edelsohn <dje.gcc@gmail.com>
13515
13516 PR target/58115
13517 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
13518 * config/rs6000/rs6000.c: Include target-globals.h.
13519 (rs6000_set_current_function): Instead of doing target_reinit
13520 unconditionally, use save_target_globals_default_opts and
13521 restore_target_globals.
13522
13523 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
13524 FPSCR.
13525 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
13526 (rs6000_expand_builtin): Handle mffs and mtfsf.
13527 (rs6000_init_builtins): Define mffs and mtfsf.
13528 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
13529 (rs6000_mffs): New pattern.
13530 (rs6000_mtfsf): New pattern.
13531
2c407426
BC
135322014-01-11 Bin Cheng <bin.cheng@arm.com>
13533
13534 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
13535 Start narrowing with START. Apply candidate-use pair
13536 and check overall cost in narrowing.
13537 (iv_ca_prune): Pass new argument.
13538
7e41c852
JL
135392014-01-10 Jeff Law <law@redhat.com>
13540
13541 PR middle-end/59743
13542 * ree.c (combine_reaching_defs): Ensure the defining statement
13543 occurs before the extension when optimizing extensions with
13544 different source and destination hard registers.
13545
39960d1c 135462014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
13547
13548 PR ipa/58585
4ac005ba
UB
13549 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
13550 vtables into the type inheritance graph.
b270b096 13551
0d6d7b9a
JJ
135522014-01-10 Jakub Jelinek <jakub@redhat.com>
13553
13554 PR rtl-optimization/59754
13555 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
13556 modes in the REGNO != REGNO case.
13557
110132c1
BS
135582014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13559
13560 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
13561
5da96960
JJ
135622014-01-10 Jakub Jelinek <jakub@redhat.com>
13563
4f87d581
JJ
13564 PR tree-optimization/59745
13565 * tree-predcom.c (tree_predictive_commoning_loop): Call
13566 free_affine_expand_cache if giving up because components is NULL.
13567
5da96960
JJ
13568 * target-globals.c (save_target_globals): Allocate < 4KB structs using
13569 GC in payload of target_globals struct instead of allocating them on
13570 the heap and the larger structs separately using GC.
13571 * target-globals.h (struct target_globals): Make regs, hard_regs,
13572 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
13573 of GTY((skip)) and change type to void *.
13574 (reset_target_globals): Cast loads from those fields to corresponding
13575 types.
13576
1aa26aac
SE
135772014-01-10 Steve Ellcey <sellcey@mips.com>
13578
13579 PR plugins/59335
13580 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
13581 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
13582 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
13583
1c992d1e
RE
135842014-01-10 Richard Earnshaw <rearnsha@arm.com>
13585
7783a246 13586 PR target/59744
1c992d1e
RE
13587 * aarch64-modes.def (CC_Zmode): New flags mode.
13588 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
13589 represents an equality.
7783a246 13590 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
13591 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
13592
86464cbd
AK
135932014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13594
13595 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
13596 extraction in good case.
13597
5e6667b2
RB
135982014-01-10 Richard Biener <rguenther@suse.de>
13599
13600 PR tree-optimization/59374
13601 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
13602 checking after SLP discovery. Mark stmts not participating
13603 in any SLP instance properly.
13604
5619162c
KT
136052014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13606
13607 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
13608 when handling a SET rtx.
13609
2d17b99f
KT
136102014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13611
13612 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
13613 (cortex-a57): Likewise.
13614 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
13615
bcca645c
KT
136162014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13617
13618 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
13619 non-iwmmxt builtins.
13620
a3788dde
JH
136212014-01-10 Jan Hubicka <hubicka@ucw.cz>
13622
13623 PR ipa/58252
13624 PR ipa/59226
13625 * ipa-devirt.c record_target_from_binfo): Take as argument
13626 stack of binfos and lookup matching one for virtual inheritance.
13627 (possible_polymorphic_call_targets_1): Update.
13628
87ed883e
HC
136292014-01-10 Huacai Chen <chenhc@lemote.com>
13630
13631 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
13632 kernel strings for Loongson-2E/2F/3A.
13633
cd4447e2
JJ
136342014-01-10 Jakub Jelinek <jakub@redhat.com>
13635
13636 PR middle-end/59670
13637 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
13638 is_gimple_call before calling gimple_call_internal_p.
13639
3fadf78a
SE
136402014-01-09 Steve Ellcey <sellcey@mips.com>
13641
13642 * Makefile.in (TREE_FLOW_H): Remove.
13643 (TREE_SSA_H): Add file names from tree-flow.h.
13644 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
13645 * tree.h: Remove tree-flow.h reference.
13646 * hash-table.h: Remove tree-flow.h reference.
13647 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
13648 reference with tree-ssa-loop.h.
13649
6edc217d
BS
136502014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13651
13652 * doc/invoke.texi: Add -maltivec={be,le} options, and document
13653 default element-order behavior for -maltivec.
13654 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
13655 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
13656 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
13657 when targeting big endian, at least for now.
13658 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
13659
a70e9985
JJ
136602014-01-09 Jakub Jelinek <jakub@redhat.com>
13661
3396aba5
JJ
13662 PR middle-end/47735
13663 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
13664 var satisfies use_register_for_decl, just take into account type
13665 alignment, rather than decl alignment.
13666
a70e9985
JJ
13667 PR tree-optimization/59622
13668 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
13669 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
13670 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
13671 Don't devirtualize for inplace at all. For targets.length () == 1,
13672 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
13673
6e9cc565
L
136742014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13675
13676 * config/i386/i386.md (cpu): Remove the unused btver1.
13677
d1c0e4ac
L
136782014-01-09 H.J. Lu <hongjiu.lu@intel.com>
13679
13680 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
13681
e83b8e2e
JJ
136822014-01-09 Jakub Jelinek <jakub@redhat.com>
13683
13684 PR target/58115
13685 * tree-core.h (struct target_globals): New forward declaration.
13686 (struct tree_target_option): Add globals field.
13687 * tree.h (TREE_TARGET_GLOBALS): Define.
13688 (prepare_target_option_nodes_for_pch): New prototype.
13689 * target-globals.h (struct target_globals): Define even if
13690 !SWITCHABLE_TARGET.
13691 * tree.c (prepare_target_option_node_for_pch,
13692 prepare_target_option_nodes_for_pch): New functions.
13693 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
13694 * config/i386/i386.c: Include target-globals.h.
13695 (ix86_set_current_function): Instead of doing target_reinit
13696 unconditionally, use save_target_globals_default_opts and
13697 restore_target_globals.
13698
2aaed0f3
RB
136992014-01-09 Richard Biener <rguenther@suse.de>
13700
13701 PR tree-optimization/59715
13702 * tree-cfg.h (split_critical_edges): Declare.
13703 * tree-cfg.c (split_critical_edges): Export.
13704 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
13705
b5ebc991
MO
137062014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
13707
4ac005ba 13708 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
13709 asan stack protection.
13710 (expand_used_vars): Likewise.
13711 (partition_stack_vars): Likewise.
4ac005ba 13712 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 13713 after return stack usage.
7f3af6d3 13714 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
13715 (instrument_builtin_call): Likewise.
13716 (instrument_strlen_call): Likewise.
7f3af6d3 13717 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
13718 * doc/invoke.texi: Added doc for new options.
13719 * params.def: Added new options.
13720 * params.h: Likewise.
13721
b59e0455
JJ
137222014-01-09 Jakub Jelinek <jakub@redhat.com>
13723
13724 PR rtl-optimization/59724
13725 * ifcvt.c (cond_exec_process_if_block): Don't call
13726 flow_find_head_matching_sequence with 0 longest_match.
13727 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
13728 non-active insns if !stop_after.
13729 (try_head_merge_bb): Revert 2014-01-07 changes.
13730
650c4c85
JL
137312014-01-08 Jeff Law <law@redhat.com>
13732
13733 * ree.c (get_sub_rtx): New function, extracted from...
13734 (merge_def_and_ext): Here.
13735 (combine_reaching_defs): Use get_sub_rtx.
13736
ff36fcbe
EB
137372014-01-08 Eric Botcazou <ebotcazou@adacore.com>
13738
13739 * cgraph.h (varpool_variable_node): Do not choke on null node.
13740
9f9d82aa
CM
137412014-01-08 Catherine Moore <clm@codesourcery.com>
13742
4ac005ba
UB
13743 * config/mips/mips.md (simple_return): Attempt to use JRC
13744 for microMIPS.
9f9d82aa
CM
13745 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
13746
df6c8808
RS
137472014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13748
13749 PR rtl-optimization/59137
13750 * reorg.c (steal_delay_list_from_target): Call update_block for
13751 elided insns.
13752 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
13753
6170ceff
BS
137542014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13755
13756 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
13757 two duplicate entries.
13758
3f140f32
RS
137592014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
13760
13761 Revert:
13762 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
13763
13764 * config/mips/mips.c (mips_truncated_op_cost): New function.
13765 (mips_rtx_costs): Adjust test for BADDU.
13766 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
13767
13768 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
13769
13770 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
13771 (*baddu_si): ...this new pattern.
13772
c6de6665
JJ
137732014-01-08 Jakub Jelinek <jakub@redhat.com>
13774
13775 PR ipa/59722
13776 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
13777
4c437f02
BE
137782014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
13779
13780 PR middle-end/57748
13781 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
13782 inner_reference_p.
13783 (expand_expr, expand_normal): Adjust.
13784 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
13785 inner_reference_p. Use inner_reference_p to expand inner references.
13786 (store_expr): Adjust.
13787 * cfgexpand.c (expand_call_stmt): Adjust.
13788
4ac005ba 137892014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
13790
13791 * gcov-io.c (gcov_var): Move from gcov-io.h.
13792 (gcov_position): Ditto.
13793 (gcov_is_error): Ditto.
13794 (gcov_rewrite): Ditto.
13795 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
13796 only part to libgcc/libgcov.h.
13797
ab04b46e
MP
137982014-01-08 Marek Polacek <polacek@redhat.com>
13799
13800 PR middle-end/59669
13801 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
13802
06636b32
MP
138032014-01-08 Marek Polacek <polacek@redhat.com>
13804
13805 PR sanitizer/59667
13806 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
13807
c15677b6
JJ
138082014-01-08 Jakub Jelinek <jakub@redhat.com>
13809
13810 PR rtl-optimization/59649
13811 * stor-layout.c (get_mode_bounds): For BImode return
13812 0 and STORE_FLAG_VALUE.
13813
5c944c6c
RB
138142014-01-08 Richard Biener <rguenther@suse.de>
13815
13816 PR middle-end/59630
13817 * gimple.h (is_gimple_builtin_call): Remove.
13818 (gimple_builtin_call_types_compatible_p): New.
13819 (gimple_call_builtin_p): New overload.
13820 * gimple.c (is_gimple_builtin_call): Remove.
13821 (validate_call): Rename to ...
13822 (gimple_builtin_call_types_compatible_p): ... this and export. Also
13823 check return types.
13824 (validate_type): New static function.
13825 (gimple_call_builtin_p): New overload and adjust.
13826 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
13827 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
13828 (gimple_fold_stmt_to_constant_1): Likewise.
13829 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
13830
0bd34ae4
RB
138312014-01-08 Richard Biener <rguenther@suse.de>
13832
13833 PR middle-end/59471
13834 * gimplify.c (gimplify_expr): Gimplify register-register type
13835 VIEW_CONVERT_EXPRs to separate stmts.
13836
04af8ab6
JL
138372014-01-07 Jeff Law <law@redhat.com>
13838
3c92da90
JL
13839 PR middle-end/53623
13840 * ree.c (combine_set_extension): Handle case where source
13841 and destination registers in an extension insn are different.
4ac005ba
UB
13842 (combine_reaching_defs): Allow source and destination registers
13843 in extension to be different under limited circumstances.
3c92da90 13844 (add_removable_extension): Remove restriction that the
4ac005ba 13845 source and destination registers in the extension are the same.
3c92da90
JL
13846 (find_and_remove_re): Emit a copy from the extension's
13847 destination to its source after the defining insn if
13848 the source and destination registers are different.
13849
04af8ab6
JL
13850 PR middle-end/59285
13851 * ifcvt.c (merge_if_block): If we are merging a block with more than
13852 one successor with a block with no successors, remove any BARRIER
13853 after the second block.
13854
4bb66ef3 138552014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
13856
13857 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
13858
55ada375
JDA
138592014-01-07 John David Anglin <danglin@gcc.gnu.org>
13860
13861 PR target/59652
13862 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
13863 for 14-bit register offsets when INT14_OK_STRICT is false.
13864
877c72e7
RS
138652014-01-07 Roland Stigge <stigge@antcom.de>
13866 Michael Meissner <meissner@linux.vnet.ibm.com>
13867
13868 PR 57386/target
13869 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 13870 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 13871
8b2721da
JG
138722014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
13873
13874 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
13875 -mcpu.
13876
5d72b79f
YZ
138772014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
13878
13879 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
13880 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
13881 rtx is const0_rtx or not.
13882
48d53439
RS
138832014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
13884
13885 PR target/58115
13886 * target-globals.c (save_target_globals): Remove this_fn_optab
13887 handling.
13888 * toplev.c: Include optabs.h.
13889 (target_reinit): Temporarily restore the global options if another
13890 set of options are in force.
13891
41626746
JJ
138922014-01-07 Jakub Jelinek <jakub@redhat.com>
13893
a0cbe71e
JJ
13894 PR rtl-optimization/58668
13895 * cfgcleanup.c (flow_find_cross_jump): Don't count
13896 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
13897 to determine what is counted.
13898 (flow_find_head_matching_sequence): Use active_insn_p to determine
13899 what is counted.
13900 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
13901 counting change.
13902 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
13903 determine what is counted.
13904
41626746
JJ
13905 PR tree-optimization/59643
13906 * tree-predcom.c (split_data_refs_to_components): If one dr is
13907 read and one write, determine_offset fails and the write isn't
13908 in the bad component, just put the read into the bad component.
13909
cc349a39
MS
139102014-01-07 Mike Stump <mikestump@comcast.net>
13911 Jakub Jelinek <jakub@redhat.com>
13912
13913 PR pch/59436
13914 * tree-core.h (struct tree_optimization_option): Change optabs
13915 type from unsigned char * to void *.
13916 * optabs.c (init_tree_optimization_optabs): Adjust
13917 TREE_OPTIMIZATION_OPTABS initialization.
13918
529a6471
JJ
139192014-01-06 Jakub Jelinek <jakub@redhat.com>
13920
13921 PR target/59644
13922 * config/i386/i386.h (struct machine_function): Add
13923 no_drap_save_restore field.
13924 * config/i386/i386.c (ix86_save_reg): Use
13925 !cfun->machine->no_drap_save_restore instead of
13926 crtl->stack_realign_needed.
13927 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
13928 this function clears frame_pointer_needed. Set
13929 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
13930 and DRAP reg is needed.
13931
96066ce1
MP
139322014-01-06 Marek Polacek <polacek@redhat.com>
13933
13934 PR c/57773
13935 * doc/implement-c.texi: Mention that other integer types are
13936 permitted as bit-field types in strictly conforming mode.
13937
955b33ed 139382014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
13939
13940 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
13941 is newly allocated.
13942
328402a9
RE
139432014-01-06 Richard Earnshaw <rearnsha@arm.com>
13944
13945 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
13946
a4e33812
MJ
139472014-01-06 Martin Jambor <mjambor@suse.cz>
13948
13949 PR ipa/59008
13950 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
13951 to int.
13952 * ipa-prop.c (ipa_print_node_params): Fix indentation.
13953
b5cd2a02
EB
139542014-01-06 Eric Botcazou <ebotcazou@adacore.com>
13955
13956 PR debug/59350
13957 PR debug/59510
13958 * var-tracking.c (add_stores): Preserve the value of the source even if
13959 we don't record the store.
13960
c7d19c0b
TG
139612014-01-06 Terry Guo <terry.guo@arm.com>
13962
13963 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
13964
e0c70bd7
IS
139652014-01-05 Iain Sandoe <iain@codesourcery.com>
13966
13967 PR bootstrap/59541
13968 * config/darwin.c (darwin_function_section): Adjust return values to
13969 correspond to optimisation changes made in r206070.
13970
c30f016c
UB
139712014-01-05 Uros Bizjak <ubizjak@gmail.com>
13972
13973 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
13974 from prefetch_block tune setting.
13975 (nocona_cost): Correct size of prefetch block to 64.
13976
f2bc252b
EB
139772014-01-04 Eric Botcazou <ebotcazou@adacore.com>
13978
13979 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
13980 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
13981 used to save the static chain register in the computation of the offset
13982 from which the FP registers need to be restored.
13983
dad5ed2e
JJ
139842014-01-04 Jakub Jelinek <jakub@redhat.com>
13985
39719c84
JJ
13986 PR tree-optimization/59519
13987 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
13988 ICE if get_current_def (current_new_name) is already non-NULL, as long
13989 as it is a phi result of some other phi in *new_exit_bb that has
13990 the same argument.
13991
dad5ed2e
JJ
13992 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
13993 or vmovdqu* for misaligned_operand.
13994 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
13995 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
13996 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
13997 aligned_mem for AVX512F masked aligned load and store builtins and for
13998 non-temporal moves.
13999
140002014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
14001
14002 PR tree-optimization/59651
c30f016c 14003 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
14004 Address range for negative step should be added by TYPE_SIZE_UNIT.
14005
e864837a
AS
140062014-01-03 Andreas Schwab <schwab@linux-m68k.org>
14007
14008 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 14009 overlapping registers also for registers other than the stack pointer.
e864837a 14010
56a34230
MP
140112014-01-03 Marek Polacek <polacek@redhat.com>
14012
14013 PR other/59661
14014 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
14015 __builtin_FILE.
14016
039eee3f
JJ
140172014-01-03 Jakub Jelinek <jakub@redhat.com>
14018
3bcdbd50
JJ
14019 PR target/59625
14020 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
14021 asm goto as jump.
14022
039eee3f
JJ
14023 * config/i386/i386.md (MODE_SIZE): New mode attribute.
14024 (push splitter): Use <P:MODE_SIZE> instead of
14025 GET_MODE_SIZE (<P:MODE>mode).
14026 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
14027 (mov -1, reg peephole2): Likewise.
14028 * config/i386/sse.md (*mov<mode>_internal,
14029 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
14030 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
14031 *<code><mode>3, *andnot<mode>3<mask_name>,
14032 <mask_codefor><code><mode>3<mask_name>): Likewise.
14033 * config/i386/subst.md (mask_mode512bit_condition,
14034 sd_mask_mode512bit_condition): Likewise.
14035
927734cf
XDL
140362014-01-02 Xinliang David Li <davidxl@google.com>
14037
14038 PR tree-optimization/59303
039eee3f 14039 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
14040 (dump_predicates): Better output format.
14041 (pred_equal_p): New function.
14042 (is_neq_relop_p): Ditto.
14043 (is_neq_zero_form_p): Ditto.
14044 (pred_expr_equal_p): Ditto.
14045 (pred_neg_p): Ditto.
14046 (simplify_pred): Ditto.
14047 (simplify_preds_2): Ditto.
14048 (simplify_preds_3): Ditto.
14049 (simplify_preds_4): Ditto.
14050 (simplify_preds): Ditto.
14051 (push_pred): Ditto.
14052 (push_to_worklist): Ditto.
14053 (get_pred_info_from_cmp): Ditto.
14054 (is_degenerated_phi): Ditto.
14055 (normalize_one_pred_1): Ditto.
14056 (normalize_one_pred): Ditto.
14057 (normalize_one_pred_chain): Ditto.
14058 (normalize_preds): Ditto.
14059 (normalize_cond_1): Remove function.
14060 (normalize_cond): Ditto.
14061 (is_gcond_subset_of): Ditto.
14062 (is_subset_of_any): Ditto.
14063 (is_or_set_subset_of): Ditto.
14064 (is_and_set_subset_of): Ditto.
14065 (is_norm_cond_subset_of): Ditto.
14066 (pred_chain_length_cmp): Ditto.
14067 (convert_control_dep_chain_into_preds): Type change.
14068 (find_predicates): Ditto.
14069 (find_def_preds): Ditto.
14070 (destroy_predicates_vecs): Ditto.
14071 (find_matching_predicates_in_rest_chains): Ditto.
14072 (use_pred_not_overlap_with_undef_path_pred): Ditto.
14073 (is_pred_expr_subset): Ditto.
14074 (is_pred_chain_subset_of): Ditto.
14075 (is_included_in): Ditto.
14076 (is_superset_of): Ditto.
14077
23a5b65a
RS
140782014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14079
c30f016c 14080 Update copyright years.
23a5b65a 14081
f9030485
RS
140822014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14083
14084 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
14085 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
14086 config/arc/arc.md, config/arc/arc.opt,
14087 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
14088 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
14089 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
14090 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
14091 config/linux-protos.h, config/linux.c, config/winnt-c.c,
14092 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
14093 vtable-verify.c, vtable-verify.h: Use the standard form for the
14094 copyright notice.
f9030485 14095
98db73df
TB
140962014-01-02 Tobias Burnus <burnus@net-b.de>
14097
14098 * gcc.c (process_command): Update copyright notice dates.
14099 * gcov-dump.c: Ditto.
14100 * gcov.c: Ditto.
14101 * doc/cpp.texi: Bump @copying's copyright year.
14102 * doc/cppinternals.texi: Ditto.
14103 * doc/gcc.texi: Ditto.
14104 * doc/gccint.texi: Ditto.
14105 * doc/gcov.texi: Ditto.
14106 * doc/install.texi: Ditto.
14107 * doc/invoke.texi: Ditto.
14108
2898d204 141092014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
14110
14111 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
14112
dfebbdc6 141132014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 14114
726c3546
JJ
14115 * config/i386/sse.md (*mov<mode>_internal): Guard
14116 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
14117
dfebbdc6
JJ
14118 PR rtl-optimization/59647
14119 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
14120 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 14121\f
970c3b33 14122Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
14123
14124Copying and distribution of this file, with or without modification,
14125are permitted in any medium without royalty provided the copyright
14126notice and this notice are preserved.
This page took 7.138596 seconds and 5 git commands to generate.