]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
df.h (DF_INSN_INFO_MWS, [...]): New macros.
[gcc.git] / gcc / ChangeLog
CommitLineData
bfac633a
RS
12014-06-15 Richard Sandiford <rdsandiford@googlemail.com>
2
3 * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
4 (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
5 (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
6 * auto-inc-dec.c (find_inc, merge_in_block): Use them.
7 * combine.c (create_log_links): Likewise.
8 * compare-elim.c (find_flags_uses_in_insn): Likewise.
9 (try_eliminate_compare): Likewise.
10 * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
11 * dce.c (deletable_insn_p, find_call_stack_args): Likewise.
12 (remove_reg_equal_equiv_notes_for_defs): Likewise.
13 (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
14 (word_dce_process_block, dce_process_block): Likewise.
15 * ddg.c (def_has_ccmode_p): Likewise.
16 * df-core.c (df_bb_regno_first_def_find): Likewise.
17 (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
18 * df-problems.c (df_rd_simulate_one_insn): Likewise.
19 (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
20 (df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
21 (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
22 (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
23 (df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
24 (df_simulate_find_defs, df_simulate_find_uses): Likewise.
25 (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
26 (df_simulate_uses, df_md_simulate_one_insn): Likewise.
27 * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
28 * fwprop.c (local_ref_killed_between_p): Likewise.
29 (all_uses_available_at, free_load_extend): Likewise.
30 * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
31 * hw-doloop.c (scan_loop): Likewise.
32 * ifcvt.c (dead_or_predicable): Likewise.
33 * init-regs.c (initialize_uninitialized_regs): Likewise.
34 * ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
35 (process_bb_node_lives): Likewise.
36 * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
37 (find_moveable_pseudos): Likewise.
38 * loop-invariant.c (check_dependencies, record_uses): Likewise.
39 * recog.c (peep2_find_free_register): Likewise.
40 * ree.c (get_defs): Likewise.
41 * regstat.c (regstat_bb_compute_ri): Likewise.
42 (regstat_bb_compute_calls_crossed): Likewise.
43 * sched-deps.c (find_inc, find_mem): Likewise.
44 * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
45 (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
46 * shrink-wrap.c (requires_stack_frame_p): Likewise.
47 (prepare_shrink_wrap): Likewise.
48 * store-motion.c (compute_store_table, build_store_vectors): Likewise.
49 * web.c (union_defs, pass_web::execute): Likewise.
50 * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
51 (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
52
9afb455c
VM
532014-06-13 Vladimir Makarov <vmakarov@redhat.com>
54
55 * lra-assign.c (assign_by_spills): Add code to assign vector regs
56 to inheritance pseudos.
57 * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
58
8241efd1
PB
592014-06-13 Peter Bergner <bergner@vnet.ibm.com>
60
61 PR target/61415
62 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
63 (BU_MISC_2): Rename to ...
64 (BU_LDBL128_2): ... this.
65 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
66 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
67 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
68 RS6000_BTM_LDBL128.
69 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
70 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
71 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
72 (unpacktf_1): Likewise.
73 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
74 (__builtin_longdouble_dw1): Likewise.
75 * doc/sourcebuild.texi (longdouble128): Document.
76
c7ece684
JL
772014-06-13 Jeff Law <law@redhat.com>
78
79 PR rtl-optimization/61094
80 PR rtl-optimization/61446
81 * ree.c (combine_reaching_defs): Get the mode for the copy from
82 the extension insn rather than the defining insn.
83
8e96d784
DC
842014-06-13 Dehao Chen <dehao@google.com>
85
86 * dwarf2out.c (add_linkage_name): Emit more linkage name.
87
45b3824d
TS
882014-06-13 Thomas Schwinge <thomas@codesourcery.com>
89
90 * doc/install.texi (--enable-linker-plugin-configure-flags)
91 (--enable-linker-plugin-flags): Document new flags.
92
beb683ab
MJ
932014-06-13 Martin Jambor <mjambor@suse.cz>
94
95 PR ipa/61186
96 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
97 cache_token if returning early.
98
f6c43824
NC
992014-06-13 Nick Clifton <nickc@redhat.com>
100
101 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
102 requested alignment is active.
103 (LABEL_ALIGN): Likewise.
104 (LOOP_ALIGN): Likewise.
105
6aa4c5b6
RB
1062014-06-13 Richard Biener <rguenther@suse.de>
107
108 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
109 Rewrite to propagate the VN result into all uses where
110 possible and to remove stmts becoming dead because of that.
111 (eliminate): Generalize stmt removal handling, remove in
112 reverse dominator order to support proper debug stmt
113 generation. Update stmts before removing stmts.
114 * tree-ssa-propagate.c (propagate_tree_value): Remove
115 bogus assert.
116
ca6cbdca
TP
1172014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
118
119 PR tree-optimization/61375
120 * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
121 symbolic number cannot be represented in an uint64_t.
122 (find_bswap_or_nop_1): Likewise.
123
24e49ea0
JH
1242014-06-12 Jan Hubicka <hubicka@ucw.cz>
125
126 * symtab.c (symtab_node::reset_section): New method.
127 * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
128 for localization.
129 * cgraph.h (reset_section): Declare.
130 * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
131 do not consider comdat locals.
132 * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
133 for new symbol.
134 * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
135 (update_visibility_by_resolution_info): Consider UNDEF; fix checking;
136 reset sections of symbols dragged out of the comdats.
137 (function_and_variable_visibility): Reset sections of localized symbols.
138
6ad386b7
JH
1392014-06-12 Jan Hubicka <hubicka@ucw.cz>
140
141 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
142 to use symtab and decl_binds_to_current_def_p
143 * tree-vectorizer.c (increase_alignment): Increase alignment
144 of alias target, too.
145
9cf32741
JJ
1462014-06-12 Jakub Jelinek <jakub@redhat.com>
147
148 PR middle-end/61486
149 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
150 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
151 if outer combined construct is distribute.
152 (gimplify_omp_for): For OMP_DISTRIBUTE set
153 gimplify_omp_ctxp->distribute.
154 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
155 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
156 mapping into decl map.
157
ca0e51a0
JM
1582014-06-12 Jason Merrill <jason@redhat.com>
159
160 * common.opt (fabi-version): Change default to 0.
161
90d84934
JM
1622014-06-12 Jason Merrill <jason@redhat.com>
163
164 * toplev.c (process_options): Reject -fabi-version=1.
165
551a6341
JL
1662014-06-12 Jeff Law <law@redhat.com>
167
168 PR tree-optimization/61009
169 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
170 value when we stop processing a block due to problematic PHIs.
171
5eba0999
AL
1722014-06-12 Alan Lawrence <alan.lawrence@arm.com>
173
174 * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
175 vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
176 vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
177 vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
178 vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
179 vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
180 vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they are
181 not in the spec.
182
ad7d90cc
AL
1832014-06-10 Alan Lawrence <alan.lawrence@arm.com>
184
185 PR target/59843
186 * config/aarch64/aarch64-modes.def: Add V1DFmode.
187 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
188 Support V1DFmode.
189
9c85aeb6
EB
1902014-06-12 Eric Botcazou <ebotcazou@adacore.com>
191
192 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
193
c407027e
GJL
1942014-06-12 Georg-Johann Lay <avr@gjlay.de>
195
196 PR target/61443
197 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
198 loading from address spaces.
199
3c9e6fca
ML
2002014-06-12 Martin Liska <mliska@suse.cz>
201
202 PR ipa/61462
203 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
204 statement is reachable.
205
f961457f
JH
2062014-06-11 Jan Hubicka <hubicka@ucw.cz>
207
208 * symtab.c (section_hash): New hash.
209 (symtab_unregister_node): Clear section before freeing.
210 (hash_section_hash_entry): New haser.
211 (eq_sections): New function.
212 (symtab_node::set_section_for_node): New method.
213 (set_section_1): Update.
214 (symtab_node::set_section): Take string instead of tree as parameter.
215 (symtab_resolve_alias): Update.
216 * cgraph.h (section_hash_entry_d): New structure.
217 (section_hash_entry): New typedef.
218 (cgraph_node): Change comdat_group_ to x_comdat_group,
219 change section_ to x_section and turn into section_hash_entry;
220 update accestors; put set_section_for_node offline.
221 * tree.c (decl_section_name): Turn into string.
222 (set_decl_section_name): Change parameter to be string.
223 * tree.h (decl_section_name, set_decl_section_name): Update prototypes.
224 * sdbout.c (sdbout_one_type): Update.
225 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
226 * varasm.c (IN_NAMED_SECTION, get_named_section, resolve_unique_section,
227 hot_function_section, get_named_text_section, USE_SELECT_SECTION_FOR_FUNCTIONS,
228 default_function_rodata_section, make_decl_rtl, default_unique_section):
229 Update.
230 * config/c6x/c6x.c (c6x_in_small_data_p): Update.
231 (c6x_elf_unique_section): Update.
232 * config/nios2/nios2.c (nios2_in_small_data_p): Update.
233 * config/pa/pa.c (pa_function_section): Update.
234 * config/pa/pa.h (IN_NAMED_SECTION_P): Update.
235 * config/ia64/ia64.c (ia64_in_small_data_p): Update.
236 * config/arc/arc.c (arc_in_small_data_p): Update.
237 * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
238 * config/mcore/mcore.c (mcore_unique_section): Update.
239 * config/mips/mips.c (mips16_build_function_stub): Update.
240 (mips16_build_call_stub): Update.
241 (mips_function_rodata_section): Update.
242 (mips_in_small_data_p): Update.
243 * config/score/score.c (score_in_small_data_p): Update.
244 * config/rx/rx.c (rx_in_small_data): Update.
245 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
246 (rs6000_xcoff_asm_named_section): Update.
247 (rs6000_xcoff_unique_section): Update.
248 * config/frv/frv.c (frv_string_begins_with): Update.
249 (frv_in_small_data_p): Update.
250 * config/v850/v850.c (v850_encode_data_area): Update.
251 * config/bfin/bfin.c (DECL_SECTION_NAME): Update.
252 (bfin_handle_l1_data_attribute): Update.
253 (bfin_handle_l2_attribute): Update.
254 * config/mep/mep.c (mep_unique_section): Update.
255 * config/microblaze/microblaze.c (microblaze_elf_in_small_data_p): Update.
256 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
257 (h8300_handle_tiny_data_attribute): Update.
258 * config/m32r/m32r.c (m32r_in_small_data_p): Update.
259 (m32r_in_small_data_p): Update.
260 * config/alpha/alpha.c (alpha_in_small_data_p): Update.
261 * config/i386/i386.c (ix86_in_large_data_p): Update.
262 * config/i386/winnt.c (i386_pe_unique_section): Update.
263 * config/darwin.c (darwin_function_section): Update.
264 * config/lm32/lm32.c (lm32_in_small_data_p): Update.
265 * tree-emutls.c (get_emutls_init_templ_addr): Update.
266 (new_emutls_decl): Update.
267 * lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
268 input_varpool_node): Update.
269 (ead_string_cst): Turn to ...
270 (read_string): ... this one.
271 * dwarf2out.c (secname_for_decl): Update.
272 * asan.c (asan_protect_global): Update.
273
1704a72b
DD
2742014-06-11 DJ Delorie <dj@redhat.com>
275
1cf1574d
DD
276 * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
277 cache lines.
278 * config/rx/rx.c (rx_option_override): Likewise.
279 (rx_align_for_label): Likewise.
280
1704a72b
DD
281 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
282
37251385
MR
2832014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
284
285 * config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
286 prototype.
287
8677664e
RS
2882014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
289
290 * common.md: New file.
291 * doc/md.texi: Update description of generic, machine-independent
292 constraints.
293 * config/s390/constraints.md (e): Delete.
294 * Makefile.in (md_file): Include common.md.
295 * config/m32c/t-m32c (md_file): Likewise.
296 * genpreds.c (general_mem): New array.
297 (generic_constraint_letters): Remove constraints now defined by
298 common.md.
299 (add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
300 Allow the first character to be '<' or '>' as well.
301 * genoutput.c (general_mem): New array.
302 (indep_constraints): Remove constraints now defined by common.md.
303 (note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
304 Remove special handling of 'm'.
305 * ira-costs.c (record_reg_classes): Remove special handling of
306 constraints now defined by common.md.
307 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
308 * ira-lives.c (single_reg_class): Likewise.
309 (ira_implicitly_set_insn_hard_regs): Likewise.
310 * lra-constraints.c (reg_class_from_constraints): Likewise.
311 (process_alt_operands, process_address, curr_insn_transform): Likewise.
312 * postreload.c (reload_cse_simplify_operands): Likewise.
313 * reload.c (push_secondary_reload, scratch_reload_class)
314 (find_reloads, alternative_allows_const_pool_ref): Likewise.
315 * reload1.c (maybe_fix_stack_asms): Likewise.
316 * targhooks.c (default_secondary_reload): Likewise.
317 * stmt.c (parse_output_constraint): Likewise.
318 * recog.c (preprocess_constraints): Likewise.
319 (constrain_operands, peep2_find_free_register): Likewise.
320 (asm_operand_ok): Likewise, but add a comment saying why 'o'
321 must be handled specially.
322
7fd308cf
RS
3232014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
324
325 * system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
326 * genpreds.c (have_const_dbl_constraints): Delete.
327 (add_constraint): Don't set it.
328 (write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
329 * ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
330 constraints using the lookup_constraint logic.
331 * ira-lives.c (single_reg_class): Likewise.
332 * ira.c (ira_setup_alts): Likewise.
333 * lra-constraints.c (process_alt_operands): Likewise.
334 * recog.c (asm_operand_ok, constrain_operands): Likewise.
335 * reload.c (find_reloads): Likewise.
336
d9c35eee
RS
3372014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
338
339 * genpreds.c (const_int_start, const_int_end): New variables.
340 (choose_enum_order): Output CONST_INT constraints before memory
341 constraints.
342 (write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
343 Add CT_CONST_INT.
344 * ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
345 * ira.c (ira_setup_alts): Likewise.
346 * lra-constraints.c (process_alt_operands): Likewise.
347 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
348 * reload.c (find_reloads): Likewise.
349
3c4c42e8
RS
3502014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
351
352 * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
353 decmem_ok and incmem_ok. Reformat other bitfields for consistency.
354 * recog.c (preprocess_constraints): Update accordingly.
355
777e635f
RS
3562014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
357
358 * system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
359 (REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
360 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
361 * genpreds.c (print_type_tree): New function.
362 (write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
363 REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
364 EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
365 Write out enum constraint_type and get_constraint_type.
366 * lra-constraints.c (satisfies_memory_constraint_p): Take a
367 constraint_num rather than a constraint string.
368 (satisfies_address_constraint_p): Likewise.
369 (reg_class_from_constraints): Avoid old constraint macros.
370 (process_alt_operands, process_address_1): Likewise.
371 (curr_insn_transform): Likewise.
372 * ira-costs.c (record_reg_classes): Likewise.
373 (record_operand_costs): Likewise.
374 * ira-lives.c (single_reg_class): Likewise.
375 (ira_implicitly_set_insn_hard_regs): Likewise.
376 * ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
377 * postreload.c (reload_cse_simplify_operands): Likewise.
378 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
379 (constrain_operands, peep2_find_free_register): Likewise.
380 * reload.c (push_secondary_reload, scratch_reload_class): Likewise.
381 (find_reloads, alternative_allows_const_pool_ref): Likewise.
382 * reload1.c (maybe_fix_stack_asms): Likewise.
383 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
384 * targhooks.c (default_secondary_reload): Likewise.
385 * config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
386 to EXTRA_CONSTRAINT_STR.
387 * config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
388
9e6b7874
RS
3892014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
390
391 * genpreds.c (write_constraint_satisfied_p_1): Replace with...
392 (write_constraint_satisfied_p_array): ...this new function.
393 (write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
394 an array.
395 (write_insn_preds_c): Update accordingly.
396
16a26e42
RS
3972014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
398
399 * genpreds.c (write_lookup_constraint): Rename to...
400 (write_lookup_constraint_1): ...this.
401 (write_lookup_constraint_array): New function.
402 (write_tm_preds_h): Define lookup_constraint as an inline function
403 that uses write_lookup_constraint_array where possible.
404 (write_insn_preds_c): Update for the changes above.
405
2aeedf58
RS
4062014-06-11 Richard Sandiford <rdsandiford@googlemail.com>
407
408 * doc/md.texi (regclass_for_constraint): Rename to...
409 (reg_class_for_constraint): ...this.
410 * genpreds.c (num_constraints, enum_order, register_start)
411 (register_end, satisfied_start, memory_start, memory_end)
412 (address_start, address_end): New variables.
413 (add_constraint): Count the number of constraints.
414 (choose_enum_order): New function.
415 (write_enum_constraint_num): Iterate over enum_order.
416 (write_regclass_for_constraint): Rename to...
417 (write_reg_class_for_constraint_1): ...this and update output
418 accordingly.
419 (write_constraint_satisfied_p): Rename to...
420 (write_constraint_satisfied_p_1): ...this and update output
421 accordingly. Do nothing if all extra constraints are register
422 constraints.
423 (write_insn_extra_memory_constraint): Delete.
424 (write_insn_extra_address_constraint): Delete.
425 (write_range_function): New function.
426 (write_tm_preds_h): Define constraint_satisfied_p and
427 reg_class_for_constraint as inline functions that do a range check
428 before calling the out-of-line function. Use write_range_function
429 to implement insn_extra_{register,memory,address}_constraint,
430 the first of which is new.
431 (write_insn_preds_c): Update after above changes to write_* functions.
432 (main): Call choose_enum_order.
433
698ff107
TP
4342014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
435
436 PR tree-optimization/61306
437 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
438 expression instead of its size.
439 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
440 false to prevent optimization when the result is unpredictable due to
441 arithmetic right shift of signed type with highest byte is set.
442 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
443 (init_symbolic_number): Likewise.
444 (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
445 when the result is unpredictable due to sign extension.
446
1d02d8b8
TG
4472014-06-11 Terry Guo <terry.guo@arm.com>
448
449 * config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
450 (*thumb1_addsi3): Ditto.
451 (*thumb_subdi3): Ditto.
452 (thumb1_subsi3_insn): Ditto.
453 (*thumb_mulsi3): Ditto.
454 (*thumb_mulsi3_v6): Ditto.
455 (*thumb1_andsi3_insn): Ditto.
456 (thumb1_bicsi3): Ditto.
457 (*thumb1_iorsi3_insn): Ditto.
458 (*thumb1_xorsi3_insn): Ditto.
459 (*thumb1_ashlsi3): Ditto.
460 (*thumb1_ashrsi3): Ditto.
461 (*thumb1_lshrsi3): Ditto.
462 (*thumb1_rotrsi3): Ditto.
463 (*thumb1_negdi2): Ditto.
464 (*thumb1_negsi2): Ditto.
465 (*thumb1_abssi2): Ditto.
466 (*thumb1_neg_abssi2): Ditto.
467 (*thumb1_one_cmplsi2): Ditto.
468 (*thumb1_zero_extendhisi2): Ditto.
469 (*thumb1_zero_extendqisi2): Ditto.
470 (*thumb1_zero_extendqisi2_v6): Ditto.
471 (thumb1_extendhisi2): Ditto.
472 (thumb1_extendqisi2): Ditto.
473 (*thumb1_movdi_insn): Ditto.
474 (*thumb1_movsi_insn): Ditto.
475 (*thumb1_movhi_insn): Ditto.
476 (thumb_movhi_clobber): Ditto.
477 (*thumb1_movqi_insn): Ditto.
478 (*thumb1_movhf): Ditto.
479 (*thumb1_movsf_insn): Ditto.
480 (*thumb_movdf_insn): Ditto.
481 (movmem12b): Ditto.
482 (movmem8b): Ditto.
483 (cbranchqi4): Ditto.
484 (cbranchsi4_insn): Ditto.
485 (cbranchsi4_scratch): Ditto.
486 (*negated_cbranchsi4): Ditto.
487 (*tbit_cbranch): Ditto.
488 (*tlobits_cbranch): Ditto.
489 (*tstsi3_cbranch): Ditto.
490 (*cbranchne_decr1): Ditto.
491 (*addsi3_cbranch): Ditto.
492 (*addsi3_cbranch_scratch): Ditto.
493 (*thumb_cmpdi_zero): Ditto.
494 (cstoresi_eq0_thumb1): Ditto.
495 (cstoresi_ne0_thumb1): Ditto.
496 (*cstoresi_eq0_thumb1_insn): Ditto.
497 (*cstoresi_ne0_thumb1_insn): Ditto.
498 (cstoresi_nltu_thumb1): Ditto.
499 (cstoresi_ltu_thumb1): Ditto.
500 (thumb1_addsi3_addgeu): Ditto.
501 (*thumb_jump): Ditto.
502 (*call_reg_thumb1_v5): Ditto.
503 (*call_reg_thumb1): Ditto.
504 (*call_value_reg_thumb1_v5): Ditto.
505 (*call_value_reg_thumb1): Ditto.
506 (*call_insn): Ditto.
507 (*call_value_insn): Ditto.
508 (thumb1_casesi_internal_pic): Ditto.
509 (thumb1_casesi_dispatch): Ditto.
510 (*thumb1_indirect_jump): Ditto.
511 (prologue_thumb1_interwork): Ditto.
512 (*epilogue_insns): Ditto.
513 (consttable_1): Ditto.
514 (consttable_2): Ditto.
515 (tablejump): Ditto.
516 (*thumb1_tablejump): Ditto.
517 (thumb_eh_return): Ditto.
518 (define_peephole2): Two of them are thumb1 only and got moved into
519 new file thumb1.md.
520 (define_split): Six of them are thumb1 only and got moved into new
521 file thumb1.md.
522 * config/arm/thumb1.md: New file comprised of above thumb1 only
523 patterns.
524
5d357f26
KT
5252014-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
526
527 * config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
528 * Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
529 dependencies.
530 * config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
531 (aarch64_crc_builtin_datum): New struct.
532 (aarch64_crc_builtin_data): New.
533 (aarch64_init_crc32_builtins): New function.
534 (aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
535 (aarch64_crc32_expand_builtin): New.
536 (aarch64_expand_builtin): Add CRC32 builtin expansion case.
537 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
538 __ARM_FEATURE_CRC32 when appropriate.
539 (TARGET_CRC32): Define.
540 * config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
541 UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
542 UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
543 (aarch64_<crc_variant>): New pattern.
544 * config/aarch64/arm_acle.h: New file.
545 * config/aarch64/iterators.md (CRC): New int iterator.
546 (crc_variant, crc_mode): New int attributes.
547 * doc/aarch64-acle-intrinsics.texi: New file.
548 * doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
549 Include aarch64-acle-intrinsics.texi.
550
e1377713
ES
5512014-06-11 Evgeny Stupachenko <evstupac@gmail.com>
552
553 * tree-vect-data-refs.c (vect_grouped_store_supported): New
554 check for stores group of length 3.
555 (vect_permute_store_chain): New permutations for stores group of
556 length 3.
557 * tree-vect-stmts.c (vect_model_store_cost): Change cost
558 of vec_perm_shuffle for the new permutations.
559
862b3da6
JH
5602014-06-11 Jan Hubicka <hubicka@ucw.cz>
561
562 * ipa-visibility.c (function_and_variable_visibility): Disable
563 virtual table rewriting temporarily on targets not supporting
564 ONE_ONLY.
565
96a3f4df
RB
5662014-06-11 Richard Biener <rguenther@suse.de>
567
568 PR middle-end/61437
569 Revert
570 2014-06-04 Richard Biener <rguenther@suse.de>
571
572 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
573 TREE_PUBLIC and DECL_EXTERNAL decls.
574
e257a17c
JH
5752014-06-10 Jan Hubicka <hubicka@ucw.cz>
576
577 * varasm.c (set_implicit_section): New function.
578 (resolve_unique_section): Use it to set implicit section
579 for aliases, too.
580 (get_named_text_section): Use symtab_get_node (decl)->implicit_section
581 (default_function_section): Likewise.
582 (decl_binds_to_current_def_p): Constify argument.
583 * varasm.h (decl_binds_to_current_def_p): Update prototype.
96a3f4df
RB
584 * asan.c (asan_protect_global): Use
585 symtab_get_node (decl)->implicit_section.
e257a17c
JH
586 * symtab.c (dump_symtab_base): Dump implicit sections.
587 (verify_symtab_base): Verify sanity of sectoins and comdats.
588 (symtab_resolve_alias): Alias share the section of its target.
589 (set_section_1): New function.
590 (symtab_node::set_section): Move here, recurse to aliases.
591 (verify_symtab): Check for duplicated symtab lists.
592 * tree-core.h (implicit_section_name_p): Remove.
593 * tree-vect-data-refs.c: Include varasm.h.
594 (vect_can_force_dr_alignment_p): Fix conditional on when
595 decl bints to current definition; use
596 symtab_get_node (decl)->implicit_section.
597 * cgraph.c (cgraph_make_node_local_1): Fix section set.
598 * cgraph.h (struct symtab_node): Add implicit_section.
599 (set_section): Rename to ...
600 (set_section_for_node): ... this one.
601 (set_section): Declare.
602 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
603 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
604 input_overwrite_node, input_varpool_node): Stream implicit_section.
605 * ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
606 removal; it will fail in LTO.
607
d7256bb8
KT
6082014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
609
610 * config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
611 Change second alternative type to f_mcr.
612 * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
613 and 12th alternatives' types to f_mcr and f_mrc.
614 (*movdi_aarch64): Same for 12th and 13th alternatives.
615 (*movsf_aarch64): Change 9th alternatives' type to mov_reg.
616 (aarch64_movtilow_tilow): Change type to fmov.
617
dadf084c
JW
6182014-06-10 Jiong Wang <jiong.wang@arm.com>
619
620 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs)
621 (aarch64_save_or_restore_callee_save_registers): Fix layout.
622
2a74759f
KT
6232014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
624
625 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
626 New expander.
627 (aarch64_sqrdmulh_lane<mode>): Likewise.
628 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
629 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
630 (aarch64_sqdmulh_laneq<mode>): New expander.
631 (aarch64_sqrdmulh_laneq<mode>): Likewise.
632 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
633 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
634 (aarch64_sqdmulh_lane<mode>): New expander.
635 (aarch64_sqrdmulh_lane<mode>): Likewise.
636 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
637 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
638 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
639 (aarch64_sqdmlal_laneq<mode>): Likewise.
640 (aarch64_sqdmlsl_lane<mode>): Likewise.
641 (aarch64_sqdmlsl_laneq<mode>): Likewise.
642 (aarch64_sqdmlal2_lane<mode>): Likewise.
643 (aarch64_sqdmlal2_laneq<mode>): Likewise.
644 (aarch64_sqdmlsl2_lane<mode>): Likewise.
645 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
646 (aarch64_sqdmull_lane<mode>): Likewise.
647 (aarch64_sqdmull_laneq<mode>): Likewise.
648 (aarch64_sqdmull2_lane<mode>): Likewise.
649 (aarch64_sqdmull2_laneq<mode>): Likewise.
650
b82ef848
RB
6512014-06-10 Richard Biener <rguenther@suse.de>
652
653 PR tree-optimization/61438
654 * tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
655 (eliminate_dom_walker::before_dom_children): Only try to inhibit
656 insertion of IVs if running PRE.
657 (eliminate): Adjust.
658 (pass_pre::execute): Likewise.
659 (pass_fre::execute): Likewise.
660
cdf0ab72
RB
6612014-06-10 Richard Biener <rguenther@suse.de>
662
663 PR middle-end/61456
664 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
665 Do not use the main variant for the type comparison.
666 (ncr_compar): Likewise.
667 (nonoverlapping_component_refs_p): Likewise.
668
e29b8d5b
MS
6692014-06-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
670
671 * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix
672 REG_CFA_RESTORE mode.
673
6ba197c1
ES
6742014-06-10 Evgeny Stupachenko <evstupac@gmail.com>
675
676 * config/i386/i386.c (expand_vec_perm_pblendv): New.
677 * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
678 expand_vec_perm_pblendv.
679
87ee52ef
KT
6802014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
681
682 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
683 available.
684 Simplify description of __crc32d and __crc32cd intrinsics.
685 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
686 availability.
687
35fa894a
TS
6882014-06-10 Thomas Schwinge <thomas@codesourcery.com>
689
690 PR lto/61334
691 * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen
692 prototype.
693 * config.in: Regenerate.
694 * configure: Likewise.
695
1685ecf3
JH
6962014-06-10 Jan Hubicka <hubicka@ucw.cz>
697
698 * ipa-reference.c (is_proper_for_analysis): Exclude addressable and public
699 vars.
700 (intersect_static_var_sets): Remove.
701 (propagate): Do not prune local statics.
702
92d28cbb
JJ
7032014-06-10 Jakub Jelinek <jakub@redhat.com>
704
705 PR fortran/60928
706 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
707 Set lastprivate_firstprivate even if omp_private_outer_ref
708 langhook returns true.
709 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
710 langhook, call unshare_expr on new_var and call
711 build_outer_var_ref to get the last argument.
712
c9f2b7e9
MP
7132014-06-10 Marek Polacek <polacek@redhat.com>
714
715 PR c/60988
716 * doc/extend.texi: Add cindex for transparent_union.
717
2cfa504a
TP
7182014-06-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
719
720 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Check return value of
721 init_symbolic_number ().
722
748e88da
JDA
7232014-05-18 John David Anglin <danglin@gcc.gnu.org>
724
725 PR middle-end/61141
726 * emit-rtl.c (reset_all_used_flags): In a sequence, check that
727 XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
728 (verify_rtl_sharing): Likewise.
729
00f30445
MG
7302014-06-09 Marc Glisse <marc.glisse@inria.fr>
731
732 PR c++/54442
733 * tree.c (build_qualified_type): Use a canonical type for
734 TYPE_CANONICAL.
735
545fb0e8
RR
7362014-06-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
737
738 * config/arm/arm-modes.def: Remove XFmode.
739
842cbb73
AL
7402014-06-09 Alan Lawrence <alan.lawrence@arm.com>
741
742 PR target/61062
743 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
744 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
745 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16, vzip_s8,
746 vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32, vzip_f32,
747 vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32, vzipq_u8,
748 vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16, vuzp_s32,
749 vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16, vuzpq_s8,
750 vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16, vuzpq_u32,
751 vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
752
8de98ad4
JH
7532014-06-09 Jan Hubicka <hubicka@ucw.cz>
754
755 * tree-core.h (tree_decl_with_vis): Remove section_name.
756
001010df
KC
7572014-06-09 Kito Cheng <kito@0xlab.org>
758
759 * ira.c (ira): Don't call init_caller_save if LRA enabled
760 since LRA use its own infrastructure to handle that.
761
24d047a3
JH
7622014-06-07 Jan Hubicka <hubicka@ucw.cz>
763
764 * symtab.c (dump_symtab_base): Update dumping.
765 (symtab_make_decl_local): Clear only DECL_COMDAT.
766 * tree-vect-data-refs.c (Check that variable is static before
767 tampering with sections.
768 * cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
769 (cgraph_create_virtual_clone): Likewise.
770 * tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
771 (decl_section_name, set_decl_section_name): New accessors.
772 (find_decls_types_r): Do not walk section name
773 * tree.h (DECL_SECTION_NAME): Implement using
774 decl_section_name.
775 (decl_comdat_group, decl_comdat_group_id): Constify.
776 (decl_section_name, set_decl_section_name): Update.
777 * varpool.c (varpool_finalize_named_section_flags): Use
778 get_section.
779 * cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
780 (cgraph_make_node_local_1): Clear section and comdat group.
781 * cgraph.h (set_comdat_group): Sanity check.
782 (get_section, set_section): New.
783 * ipa-comdats.c (ipa_comdats): Use get_section.
784 * ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
785 * lto-streamer-out.c: Do not follow section names.
786 * c-family/c-common.c (handle_section_attribute):
787 Update.
788 * lto-cgraph.c (lto_output_node): Output section.
789 (lto_output_varpool_node): Likewise.
790 (read_comdat_group): Rename to ...
791 (read_identifier): ... this one.
792 (read_string_cst): New function.
793 (input_node, input_varpool_node): Input section names.
794 * tree-emutls.c (get_emutls_init_templ_addr): Update.
795 (new_emutls_decl): Update.
796 (secname_for_decl): Check section names only of static
797 vars.
798 * config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
799 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
800 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
801 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
802 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
803 * config/mcore/mcore.c (mcore_unique_section): Likewise.
804 * config/mips/mips.c (mips16_build_function_stub): Likewise.
805 * config/v850/v850.c (v850_insert_attributes): Likewise.
806 * config/h8300/h8300.c: (h8300_handle_eightbit_data_attribute):
807 Likewise.
808 (h8300_handle_tiny_data_attribute): Likewise.
809 * config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
810 (bfin_handle_l2_attribute): Likewise.
811
80bc9b6e
JH
8122014-06-07 Jan Hubicka <hubicka@ucw.cz>
813
814 * symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
815 remove static initializer.
816
684a3aa7
JH
8172014-06-07 Jan Hubicka <hubicka@ucw.cz>
818
819 * varasm.c (use_blocks_for_decl_p): Check symbol table instead of alias
820 attribute.
821 (place_block_symbol): Recurse on aliases.
822
94c2e46c
JH
8232014-06-07 Jan Hubicka <hubicka@ucw.cz>
824
825 * ipa-visibility.c: Include varasm.h
826 (can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.
827
136a5f45
JH
8282014-06-07 Jan Hubicka <hubicka@ucw.cz>
829
830 * cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
831 outputting aliases.
832
0dbaf51e
SB
8332014-06-07 Steven Bosscher <steven@gcc.gnu.org>
834
835 * gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
836 from test_insn into GGC space escape via SET_SRC.
837
51d2abeb
EB
8382014-06-07 Eric Botcazou <ebotcazou@adacore.com>
839
840 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
841 call statement, if any.
842 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
843 statements, if any. Tidy up.
844
b528fc5c
MM
8452014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
846
847 PR target/61431
848 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
849 iterators, VSX_D that handles 64-bit types, and VSX_LE that
850 handles swapping the two 64-bit double words on little endian
851 systems. Include V1TImode and optionally TImode in VSX_LE so that
852 these types are properly swapped. Change all of the insns and
853 splits that do the 64-bit swaps to use VSX_LE.
854 (vsx_le_perm_load_<mode>): Likewise.
855 (vsx_le_perm_store_<mode>): Likewise.
856 (splitters for little endian memory operations): Likewise.
857 (vsx_xxpermdi2_le_<mode>): Likewise.
858 (vsx_lxvd2x2_le_<mode>): Likewise.
859 (vsx_stxvd2x2_le_<mode>): Likewise.
860
7b11cab7
UB
8612014-06-06 Uros Bizjak <ubizjak@gmail.com>
862
863 PR target/61423
864 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
865 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
866 and corresponding splitters. Zero extend general register
867 or memory input operand to XMM temporary. Enable for
868 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
869 (floatunssi<mode>2): Update expander predicate.
870
5a770e01
VM
8712014-06-06 Vladimir Makarov <vmakarov@redhat.com>
872
873 PR rtl-optimization/61325
874 * lra-constraints.c (process_address_1): Check scale equal to one
875 to prevent transformation: base + scale * index => base + new_reg.
876
acce8ce3
RB
8772014-06-06 Richard Biener <rguenther@suse.de>
878
879 PR tree-optimization/59299
880 * tree-ssa-sink.c (all_immediate_uses_same_place): Work on
881 a def operand.
882 (nearest_common_dominator_of_uses): Likewise.
883 (statement_sink_location): Adjust. Support sinking loads.
884
0d48ee34
MJ
8852014-06-06 Martin Jambor <mjambor@suse.cz>
886
887 * ipa-prop.c (get_place_in_agg_contents_list): New function.
888 (build_agg_jump_func_from_list): Likewise.
889 (determine_known_aggregate_parts): Renamed to
890 determine_locally_known_aggregate_parts. Moved some functionality
891 to the two functions above, removed bound checks.
892
e2c75eea
JG
8932014-06-06 James Greenhalgh <james.greenhalgh@arm.com>
894
895 * config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
896 * config/aarch64/aarch64.c (aarch64_move_pointer): New.
897 (aarch64_progress_pointer): Likewise.
898 (aarch64_copy_one_part_and_move_pointers): Likewise.
899 (aarch64_expand_movmen): Likewise.
900 * config/aarch64/aarch64.h (MOVE_RATIO): Set low.
901 * config/aarch64/aarch64.md (movmem<mode>): New.
902
58e5400a
BM
9032014-06-06 Bingfeng Mei <bmei@broadcom.com>
904
905 * targhooks.c (default_add_stmt_cost): Call target specific
906 hook instead of default one.
907
58126368
TP
9082014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
909
910 * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
911 endianness instead of host endianness.
912 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
913 comments.
914
3fd48b12
EB
9152014-06-06 Eric Botcazou <ebotcazou@adacore.com>
916
917 PR debug/53927
918 * function.c (instantiate_decls): Process the saved static chain.
919 (expand_function_start): If not optimizing, save the static chain
920 onto the stack.
921 * tree-nested.c (convert_all_function_calls): Always create the static
922 chain for nested functions if not optimizing.
923
9b7a11e1
EB
9242014-06-06 Eric Botcazou <ebotcazou@adacore.com>
925
926 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
927
726338f4
RB
9282014-06-06 Richard Biener <rguenther@suse.de>
929
930 * cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
931 (construct_init_block): Likewise.
932 (construct_exit_block): Likewise.
933 (pass_expand::execute): Likewise.
934 * graphite.c (graphite_transforms): Replace check for current_loops
935 with a check for > 1 loops.
936 (pass_graphite_transforms::execute): Adjust.
937 * ipa-split.c (split_function): Remove check for current_loops.
938 * omp-low.c (expand_parallel_call): Likewise.
939 (expand_omp_for_init_counts): Likewise.
940 (extract_omp_for_update_vars): Likewise.
941 (expand_omp_for_generic): Likewise.
942 (expand_omp_sections): Likewise.
943 (expand_omp_target): Likewise.
944 * tracer.c (tail_duplicate): Likewise.
945 (pass_tracer::execute): Likewise.
946 * trans-mem.c (expand_transaction): Likewise.
947 * tree-complex.c (expand_complex_div_wide): Likewise.
948 * tree-eh.c (lower_resx): Likewise.
949 (cleanup_empty_eh_merge_phis): Likewise.
950 * tree-predcom.c (run_tree_predictive_commoning): Replace check for
951 current_loops with a check for > 1 loops.
952 (pass_predcom::execute): Adjust.
953 * tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
954 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
955 * tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
956 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
957 * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
958 * tree-switch-conversion.c (process_switch): Likewise.
959 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
960 * tree-vrp.c (vrp_visit_phi_node): Likewise.
961 (execute_vrp): Likewise.
962 * ubsan.c (ubsan_expand_null_ifn): Likewise.
963
ffa4602f
EB
9642014-06-06 Eric Botcazou <ebotcazou@adacore.com>
965
966 * rtl.h (insn_location): Declare.
967 * cfgcleanup.c (try_forward_edges): Compare the locus of locations
968 with UNKNOWN_LOCATION.
969 * emit-rtl.c (insn_location): New function.
970 * final.c (notice_source_line): Check that the instruction has a
971 location before retrieving it and use insn_location.
972 * modulo-sched.c (loop_single_full_bb_p): Likewise.
973 * print-rtl.c (print_rtx): Likewise.
974
28a4a292
RB
9752014-06-06 Richard Biener <rguenther@suse.de>
976
977 * passes.def: Move 2nd VRP pass before phi-only-cprop.
978
d969f3c1
CB
9792014-06-06 Christian Bruel <christian.bruel@st.com>
980
981 PR tree-optimization/43934
28a4a292
RB
982 * tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant
983 cost.
d969f3c1 984
b58923e2
RS
9852014-06-06 Richard Sandiford <rdsandiford@googlemail.com>
986
987 * ira-lives.c (single_reg_class): Add missing break. Explicitly
988 return NO_REGS for extra address and memory constraints. Handle
989 operands that match (or are equivalent to something that matches)
990 extra constant constraints. Ignore other non-register operands.
991
ddbb449f
AM
9922014-06-06 Alan Modra <amodra@gmail.com>
993
994 PR target/61300
995 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
996 * doc/tm.texi: Regenerate.
997 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
998 Use throughout in place of REG_PARM_STACK_SPACE.
999 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
1000 "incoming" param. Pass to rs6000_function_parms_need_stack.
1001 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
1002 prototype_p when incoming. Use function decl when incoming
1003 to handle K&R style functions.
1004 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
1005 (INCOMING_REG_PARM_STACK_SPACE): Define.
1006
a148c4b2
SKS
10072014-06-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1008
1009 PR target/52472
1010 * cfgexpand.c (expand_debug_expr): Use address space of nested
1011 TREE_TYPE for ADDR_EXPR and MEM_REF.
1012
64e13bcd
JL
10132014-06-05 Jeff Law <law@redhat.com>
1014
1015 PR tree-optimization/61289
1016 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
1017 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
1018 looking for those which match LHS. All callers changed.
1019 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
1020 parameters and code which manipulated them. All callers changed.
1021 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
1022 and DST_MAP parameters. Simplify invalidation code by just calling
1023 invalidate_equivalences. All callers changed.
1024 (thread_across_edge): Simplify now that we don't need to maintain
1025 the map of equivalences to invalidate.
1026
5853e181
KT
10272014-06-05 Kai Tietz <ktietz@redhat.com>
1028 Richard Henderson <rth@redhat.com>
1029
1030 PR target/46219
1031 * config/i386/predicates.md (memory_nox32_operand): Add memory_operand
1032 checking for !TARGET_X32.
1033 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
1034 (sibcall_intern): New define_insn, plus required peepholes.
1035 (sibcall_pop_intern): Likewise.
1036 (sibcall_value_intern): Likewise.
1037 (sibcall_value_pop_intern): Likewise.
1038
95cc0a1a
IE
10392014-06-05 Ilya Enkovich <ilya.enkovich@intel.com>
1040
1041 * tree-inline.c (tree_function_versioning): Check DF info existence
1042 before accessing it.
1043
1c960e02
MS
10442014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
1045
1046 * config/aarch64/aarch64.h (aarch64_frame): Add hard_fp_offset and
1047 frame_size.
1048 * config/aarch64/aarch64.c (aarch64_layout_frame): Initialize
1049 aarch64_frame hard_fp_offset and frame_size.
1050 (aarch64_expand_prologue): Use aarch64_frame hard_fp_offset and
1051 frame_size; remove original_frame_size.
1052 (aarch64_expand_epilogue, aarch64_final_eh_return_addr): Likewise.
1053 (aarch64_initial_elimination_offset): Remove frame_size and
1054 offset. Use aarch64_frame frame_size.
1055
2e1cdae5
MS
10562014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
1057 Jiong Wang <jiong.wang@arm.com>
4a450ea0 1058 Renlin <renlin.li@arm.com>
2e1cdae5
MS
1059
1060 * config/aarch64/aarch64.c (aarch64_layout_frame): Correct
1061 initialization of R30 offset. Update offset. Iterate core
1062 regisers upto X30. Remove X29, X30 specific code.
1063
97826595
MS
10642014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
1065 Jiong Wang <jiong.wang@arm.com>
1066
1067 * config/aarch64/aarch64.c (SLOT_NOT_REQUIRED, SLOT_REQUIRED): Define.
1068 (aarch64_layout_frame): Use SLOT_NOT_REQUIRED and SLOT_REQUIRED.
1069 (aarch64_register_saved_on_entry): Adjust test.
1070
8799637a
MS
10712014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
1072
1073 * config/aarch64/aarch64.h (machine_function): Move
1074 saved_varargs_size from here...
4a450ea0 1075 (aarch64_frame): ... to here.
8799637a
MS
1076
1077 * config/aarch64/aarch64.c (aarch64_expand_prologue)
1078 (aarch64_expand_epilogue, aarch64_final_eh_return_addr)
1079 (aarch64_initial_elimination_offset)
1080 (aarch64_setup_incoming_varargs): Adjust location of
1081 saved_varargs_size.
1082
34834420
MS
10832014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
1084
1085 * config/aarch64/aarch64.c (aarch64_expand_prologue): Update stack
1086 layout comment.
1087
aaaa9efc
JP
10882014-06-05 Jaydeep Patil <Jaydeep.Patil@imgtec.com>
1089 Prachi Godbole <Prachi.Godbole@imgtec.com>
1090
1091 * config/mips/mips-cpus.def: Add definition for p5600. Updated
1092 mips32r5 entry to use PROCESSOR_P5600.
1093 * config/mips/mips-tables.opt: Regenerate.
1094 * config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
1095 * config/mips/mips.c (mips_fmadd_bypass): New function.
1096 (mips_rtx_cost_data): Add costs for p5600.
1097 (mips_issue_rate): Add support for p5600.
1098 (mips_multipass_dfa_lookahead): Likewise.
1099 * config/mips/mips.h (TUNE_P5600): New define.
1100 (TUNE_MACC_CHAINS): Add TUNE_P5600.
1101 (MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
1102 * config/mips/mips.md: Include p5600.md.
1103 (processor): Add p5600.
1104 * config/mips/p5600.md: New file.
1105
edbb0749
ES
11062014-06-05 Evgeny Stupachenko <evstupac@gmail.com>
1107
1108 * config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
1109 * config/i386/predicates.md (palignr_operand): New.
1110 Indicates if permutation is suitable for palignr instruction.
1111
e12355ef
YR
11122014-06-05 Yuri Rumyantsev <ysrumyan@gmail.com>
1113
1114 PR tree-optimization/61319
1115 * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
1116 stmt belongs to loop.
1117
947ca6a0
RB
11182014-06-05 Richard Biener <rguenther@suse.de>
1119
1120 * gimplify.c (create_tmp_from_val): Remove is_formal parameter
1121 and set DECL_GIMPLE_REG_P unconditionally if appropriate.
1122 (lookup_tmp_var): Adjust.
1123 (prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.
1124
63e70d3c
RR
11252014-06-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1126
1127 * config/arm/arm.md (enabled): Disable opt_enabled attribute.
1128
742938c9
MP
11292014-06-05 Marek Polacek <polacek@redhat.com>
1130
1131 PR c/49706
1132 * doc/invoke.texi: Document -Wlogical-not-parentheses.
1133
357ddc7d
TV
11342014-06-04 Tom de Vries <tom@codesourcery.com>
1135
1136 * config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
1137 CONST_INT.
1138
ca73a1f7
MG
11392014-06-04 Marc Glisse <marc.glisse@inria.fr>
1140
1141 PR tree-optimization/61385
1142 * tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
1143
ffb1f5ef
BS
11442014-06-04 Bernd Schmidt <bernds@codesourcery.com>
1145
1146 * lto-wrapper.c (fatal, fatal_perror): Remove functions. All callers
1147 changed to use fatal_error.
1148 (main): Ensure lto_wrapper_cleanup is run atexit.
1149
a953491e
RS
11502014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
1151
1152 * lra-constraints.c (valid_address_p): Move earlier in file.
1153 (address_eliminator): New structure.
1154 (satisfies_memory_constraint_p): New function.
1155 (satisfies_address_constraint_p): Likewise.
1156 (process_alt_operands, process_address, curr_insn_transform): Use them.
1157
0c331756
RS
11582014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
1159
1160 * lra-int.h (lra_static_insn_data): Make operand_alternative a
1161 const pointer.
1162 (target_lra_int, default_target_lra_int, this_target_lra_int)
1163 (op_alt_data): Delete.
1164 * lra.h (lra_init): Delete.
1165 * lra.c (default_target_lra_int, this_target_lra_int): Delete.
1166 (init_insn_code_data_once): Remove op_alt_data handling.
1167 (finish_insn_code_data_once): Likewise.
1168 (init_op_alt_data): Delete.
1169 (get_static_insn_data): Initialize operand_alternative to null.
1170 (free_insn_recog_data): Cast operand_alternative before freeing it.
1171 (setup_operand_alternative): Take the operand_alternative as
1172 parameter and assume it isn't already cached in the static
1173 insn data.
1174 (lra_set_insn_recog_data): Update accordingly.
1175 (lra_init): Delete.
1176 * ira.c (ira_init): Don't call lra_init.
1177 * target-globals.h (this_target_lra_int): Declare.
1178 (target_globals): Remove lra_int.
1179 (restore_target_globals): Update accordingly.
1180 * target-globals.c: Don't include lra-int.h.
1181 (default_target_globals, save_target_globals): Remove lra_int.
1182
1145837d
RS
11832014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
1184
1185 * recog.h (operand_alternative): Convert reg_class, reject,
1186 matched and matches into bitfields.
1187 (preprocess_constraints): New overload.
1188 (preprocess_insn_constraints): New function.
1189 (preprocess_constraints): Take the insn as parameter.
1190 (recog_op_alt): Change into a pointer.
1191 (target_recog): Add x_op_alt.
1192 * recog.c (asm_op_alt): New variable.
1193 (recog_op_alt): Change into a pointer.
1194 (preprocess_constraints): New overload, replacing the old function
1195 definition with one that doesn't use global state.
1196 (preprocess_insn_constraints): New function.
1197 (preprocess_constraints): Use them. Take the insn as parameter.
1198 Use asm_op_alt for asms.
1199 (recog_init): Free existing x_op_alt entries.
1200 * ira-lives.c (check_and_make_def_conflict): Make operand_alternative
1201 pointer const.
1202 (make_early_clobber_and_input_conflicts): Likewise.
1203 (process_bb_node_lives): Pass the insn to process_constraints.
1204 * reg-stack.c (check_asm_stack_operands): Likewise.
1205 (subst_asm_stack_regs): Likewise.
1206 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
1207 * regrename.c (build_def_use): Likewise.
1208 * sched-deps.c (sched_analyze_insn): Likewise.
1209 * sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
1210 * config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
1211 (note_invalid_constants): Likewise.
1212 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
1213 (ix86_legitimate_combined_insn): Make operand_alternative pointer
1214 const.
1215
5f2e0797
RS
12162014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
1217
1218 * recog.c (preprocess_constraints): Don't skip disabled alternatives.
1219 * ira-lives.c (check_and_make_def_conflict): Check for disabled
1220 alternatives.
1221 (make_early_clobber_and_input_conflicts): Likewise.
1222 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
1223
5efe5dec
RS
12242014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
1225
1226 * recog.h (alternative_class): New function.
1227 (which_op_alt): Return a const recog_op_alt.
1228 * reg-stack.c (check_asm_stack_operands): Update type accordingly.
1229 (subst_asm_stack_regs): Likewise.
1230 * config/arm/arm.c (note_invalid_constants): Likewise.
1231 * regcprop.c (copyprop_hardreg_forward_1): Likewise. Don't modify
1232 the operand_alternative; use alternative class instead.
1233 * sel-sched.c (get_reg_class): Likewise.
1234 * regrename.c (build_def_use): Likewise.
1235 (hide_operands, restore_operands, record_out_operands): Update type
1236 accordingly.
1237
29d70a0f
RS
12382014-06-04 Richard Sandiford <rdsandiford@googlemail.com>
1239
1240 * recog.h (recog_op_alt): Convert to a flat array.
1241 (which_op_alt): New function.
1242 * recog.c (recog_op_alt): Convert to a flat array.
1243 (preprocess_constraints): Update accordingly, grouping all
1244 operands of the same alternative together, rather than the
1245 other way around.
1246 * ira-lives.c (check_and_make_def_conflict): Likewise.
1247 (make_early_clobber_and_input_conflicts): Likewise.
1248 * config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
1249 * reg-stack.c (check_asm_stack_operands): Use which_op_alt.
1250 (subst_asm_stack_regs): Likewise.
1251 * regcprop.c (copyprop_hardreg_forward_1): Likewise.
1252 * regrename.c (hide_operands, record_out_operands): Likewise.
1253 (build_def_use): Likewise.
1254 * sel-sched.c (get_reg_class): Likewise.
1255 * config/arm/arm.c (note_invalid_constants): Likewise.
1256
fe6ebcf1
JM
12572014-06-04 Jason Merrill <jason@redhat.com>
1258
1259 PR c++/51253
1260 PR c++/61382
1261 * gimplify.c (gimplify_arg): Non-static.
1262 * gimplify.h: Declare it.
1263
38af3208
RB
12642014-06-04 Richard Biener <rguenther@suse.de>
1265
1266 * tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
1267 TREE_PUBLIC and DECL_EXTERNAL decls.
1268
9ccac701
MF
12692014-06-04 Matthew Fortune <matthew.fortune@imgtec.com>
1270
1271 * regcprop.c (copyprop_hardreg_forward_1): Account for
1272 HARD_REGNO_CALL_PART_CLOBBERED.
1273
35987ae9
RB
12742014-06-04 Richard Biener <rguenther@suse.de>
1275
1276 * configure.ac: Check whether the underlying type of int64_t
1277 is long or long long.
1278 * configure: Regenerate.
1279 * config.in: Likewise.
1280 * hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
1281 (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
1282
0ea48022
RB
12832014-06-04 Richard Biener <rguenther@suse.de>
1284
1285 PR tree-optimization/60098
1286 * tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
1287 we hit a kill.
1288 (dse_optimize_stmt): Simplify, now that we found a kill
1289 earlier.
1290
b1259d34
RB
12912014-06-04 Richard Biener <rguenther@suse.de>
1292
1293 * tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
1294 of accesses with non-invariant address.
1295
8be2dc8c
ML
12962014-06-04 Martin Liska <mliska@suse.cz>
1297
1298 * cgraph.h (cgraph_make_wrapper): New function introduced.
1299 * cgraphunit.c (cgraph_make_wrapper): The function implementation.
1300 * ipa-inline.h (inline_analyze_function): The function is global.
1301 * ipa-inline-analysis.c (inline_analyze_function): Likewise.
1302
8a57e88d
ML
13032014-06-04 Martin Liska <mliska@suse.cz>
1304
1305 * tree.h (private_lookup_attribute_starting): New function.
1306 (lookup_attribute_starting): Likewise.
1307 * tree.c (private_lookup_attribute_starting): Likewise.
1308
d211e471
ML
13092014-06-04 Martin Liska <mliska@suse.cz>
1310
1311 * cgraph.h (expand_thunk): New argument added.
1312 (address_taken_from_non_vtable_p): New global function.
1313 * ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
1314 * cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
1315 * cgraphunit.c (analyze_function): Likewise.
1316 (assemble_thunks_and_aliases): Argument added to call.
1317 (expand_thunk): New argument forces to produce GIMPLE thunk.
1318
a96bf0d3
ML
13192014-06-04 Martin Liska <mliska@suse.cz>
1320
1321 * coverage.h (coverage_compute_cfg_checksum): Argument added.
1322 * coverage.c (coverage_compute_cfg_checksum): Likewise.
1323 * profile.c (branch_prob): Likewise.
1324
7d2268ea
MJ
13252014-06-04 Martin Jambor <mjambor@suse.cz>
1326
1327 PR ipa/61340
1328 * ipa-pure-const.c (propagate_pure_const): Add unreachable default
1329 handler for switch on an ipa_ref_use enum.
1330 * ipa-reference.c (analyze_function): Likewise.
1331
0dac3001
KT
13322014-06-04 Kai Tietz <ktietz@redhat.com>
1333
1334 * recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
1335 from old call-instruction.
1336
348d4b0a
BC
13372014-06-04 Bin Cheng <bin.cheng@arm.com>
1338
1339 * config/aarch64/aarch64.c (aarch64_classify_address)
1340 (aarch64_legitimize_reload_address): Support full addressing modes
1341 for vector modes.
1342 * config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
1343 (*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.
1344
b9e3afe9
AP
13452014-06-03 Andrew Pinski <apinski@cavium.com>
1346
1347 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
1348 for OP0.
1349
13502014-06-03 Andrew Pinski <apinski@cavium.com>
2d5ffe46
AP
1351
1352 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
1353 (aarch64_rtx_costs): Use aarch64_if_then_else_costs.
1354
3ce7abdd
KT
13552014-06-03 Kai Tietz <ktietz@redhat.com>
1356
1357 * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
1358 for 64-bit ms-abi.
1359
47e78f98
DC
13602014-06-03 Dehao Chen <dehao@google.com>
1361
1362 * tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
1363 the same loop.
1364
fedfecef
MP
13652014-06-03 Marek Polacek <polacek@redhat.com>
1366
1367 PR c/60439
1368 * doc/invoke.texi: Document -Wswitch-bool.
1369 * function.c (stack_protect_epilogue): Cast controlling expression of
1370 the switch to int.
1371 * gengtype.c (walk_type): Generate switch expression with its
1372 controlling expression cast to int.
1373
13742014-06-03 Vishnu K S <Vishnu.k_s@atmel.com>
e4f36438
DC
1375
1376 * config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
1377 and attiny841.
1378 * config/avr/avr-tables.opt: Regenerate.
1379 * config/avr/t-multilib: Regenerate.
1380 * doc/avr-mmcu.texi: Regenerate.
1381
fedfecef
MP
13822014-06-03 Vishnu K S <vishnu.k_s@atmel.com>
1383 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
e4f36438
DC
1384
1385 * config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
1386 (ata6617c, ata664251): Add new avr35 devices.
1387 (ata6612c): Add new avr4 device.
1388 (ata6613c, ata6614q): Add new avr5 devices.
1389 * config/avr/avr-tables.opt: Regenerate.
1390 * config/avr/t-multilib: Regenerate.
1391 * doc/avr-mmcu.texi: Regenerate.
1392
918621d3
AL
13932014-06-03 Alan Lawrence <alan.lawrence@arm.com>
1394
1395 * gcc/config/aarch64/aarch64-builtins.c
1396 (aarch64_types_binop_ssu_qualifiers): New static data.
1397 (TYPES_BINOP_SSU): Define.
1398 * gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
1399 urshr_n, ushll_n): Use appropriate unsigned qualifiers.
1400 * gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
1401 vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
1402 vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
1403 vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
1404 vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
1405 vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
1406 vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
1407 suffix to builtin function name, remove cast.
1408 (vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
1409 vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
1410 vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
1411
de10bcce
AL
14122014-06-03 Alan Lawrence <alan.lawrence@arm.com>
1413
1414 * gcc/config/aarch64/aarch64-builtins.c
1415 (aarch64_types_binop_uus_qualifiers,
1416 aarch64_types_shift_to_unsigned_qualifiers,
1417 aarch64_types_unsigned_shiftacc_qualifiers): Define.
1418 * gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
1419 uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
1420 sqshlu_n, uqshl_n): Update qualifiers.
1421 * gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
1422 vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
1423 vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
1424 vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
1425 vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
1426 vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
1427 vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
1428 vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
1429 vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
1430 vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
1431 vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
1432 vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
1433 vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
1434 vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
1435 vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
1436 vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
1437 vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
1438 vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
1439 vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
1440 vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
1441 vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
1442 vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
1443 vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
1444 vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
1445 vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
1446 vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
1447 vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
1448
878d3618
TJ
14492014-06-03 Teresa Johnson <tejohnson@google.com>
1450
1451 * tree-sra.c (modify_function): Record caller nodes after rebuild.
1452
616abc64
JM
14532014-06-02 Jason Merrill <jason@redhat.com>
1454
1455 PR c++/61020
1456 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
1457
b31e65bb
AL
14582014-06-03 Alan Lawrence <alan.lawrence@arm.com>
1459
1460 * config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
1461 location == 0.
1462
923fcec3
AL
14632014-06-03 Alan Lawrence <alan.lawrence@arm.com>
1464
1465 * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
1466 New pattern.
1467 * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
1468 (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
1469 * config/aarch64/iterators.md (REVERSE): New iterator.
1470 (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
1471 (rev_op): New int_attribute.
1472 * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
1473 vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
1474 vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
1475 vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
1476 vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
1477 vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
1478 vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
1479 Replace temporary __asm__ with __builtin_shuffle.
1480
7b11cab7 14812014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
2b3bd040
AB
1482
1483 * config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
1484 mips64r5.
1485 * config/mips/mips-tables.opt: Regenerate.
1486 * config/mips/mips.c (mips_compute_frame_info): Changed if statement
1487 to use mips_isa_rev rather than ISA_MIPS32R2.
1488 * config/mips/mips.h (ISA_MIPS32R3): New define.
1489 (ISA_MIPS32R5): New define.
1490 (ISA_MIPS64R3): New define.
1491 (ISA_MIPS64R5): New define.
7b11cab7
UB
1492 (TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3,
1493 ISA_MIPS32R5, ISA_MIPS64R3 and ISA_MIPS64R5.
2b3bd040
AB
1494 (MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
1495 and mips64r5.
1496 (MIPS_ISA_SYNCI_SPEC): Likewise.
1497 (ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
1498 (LINK_SPEC): Added mips32r3 and mips32r5.
1499 * config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
1500 to mips32r2; and mips64r3 and mips64r5 to mips64r2.
1501 * config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
1502 * config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
1503 * config/mips/t-sde (MULTILIB_MATCHES): Likewise.
1504 * config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
1505 * doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
1506
35773f53
AB
15072014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
1508
1509 * doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
1510 options.
1511 * config/mips/mips.opt (mxpa): New option.
7b11cab7 1512 * config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
35773f53
AB
1513 assembler.
1514
d3fb5cf0
MJ
15152014-06-03 Martin Jambor <mjambor@suse.cz>
1516
1517 PR ipa/61160
1518 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
1519 thunks.
1520
3cc272c1
TP
15212014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
1522
1523 PR tree-optimization/61328
1524 * tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
1525 initialization from find_bswap_or_nop_1.
1526 (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
1527 in source_expr2 before using the size value the function sets. Also
1528 make use of init_symbolic_number () in both the old place and
1529 find_bswap_or_nop_load () to avoid reading uninitialized memory when
1530 doing recursion in the GIMPLE_BINARY_RHS case.
1531
597c6315
RB
15322014-06-03 Richard Biener <rguenther@suse.de>
1533
1534 PR tree-optimization/61383
1535 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
1536 stmts can't trap.
1537
b48e9677
RS
15382014-06-03 Richard Sandiford <rdsandiford@googlemail.com>
1539
1540 * defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
1541 (EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
1542 (CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
1543 (REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
1544 in this file.
1545 (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
1546 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
1547 * system.h: ...here and make it unconditional.
1548 * target.def (conditional_register_usage): Mention
1549 define_register_constraint instead of old-style constraint macros.
1550 * doc/tm.texi.in: Remove documentation for old-style constraint macros.
1551 * doc/tm.texi: Regenerate.
1552 * genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
1553 protected by !USE_MD_CONSTRAINTS.
1554 * config/frv/frv.md: Remove quote from old version of documentation.
1555 * config/frv/frv.c (frv_conditional_register_usage): Likewise.
1556 * config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
1557 CONST_DOUBLE_OK_FOR_LETTER.
1558 * config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
1559
b94f5533 15602014-06-02 Andrew Pinski <apinski@cavium.com>
7b11cab7 1561
3a87ac45
AP
1562 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
1563 /lib/ld-linux32-aarch64.so.1 is used for ILP32.
b94f5533
AP
1564 (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
1565 file whose name depends on -mabi= and -mbig-endian.
3a87ac45
AP
1566 * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
1567 Handle LP64 better and handle ilp32 too.
b94f5533
AP
1568 (MULTILIB_OPTIONS): Delete.
1569 (MULTILIB_DIRNAMES): Delete.
1570
9b2b7279
AM
15712014-06-02 Andrew MacLeod <amacleod@redhat.com>
1572
1573 * expr.h: Remove prototypes of functions defined in builtins.c.
1574 * tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
1575 Remove prototypes of functions defined in builtins.c.
1576 * builtins.h: Update prototype list to include all exported functions.
1577 * builtins.c: (default_libc_has_function, gnu_libc_has_function,
1578 no_c99_libc_has_function): Move to targhooks.c
1579 (build_string_literal, build_call_expr_loc_array,
1580 build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
1581 to tree.c.
1582 (expand_builtin_object_size, fold_builtin_object_size): Make static.
1583 * targhooks.c (default_libc_has_function, gnu_libc_has_function,
1584 no_c99_libc_has_function): Relocate from builtins.c.
1585 * tree.c: Include builtins.h.
1586 (build_call_expr_loc_array, build_call_expr_loc_vec,
1587 build_call_expr_loc, build_call_expr, build_string_literal): Relocate
1588 from builtins.c.
1589 * fold-const.h (fold_fma): Move prototype to builtins.h.
1590 * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
1591 * asan.c: Include builtins.h.
1592 * cfgexpand.c: Likewise.
1593 * convert.c: Likewise.
1594 * emit-rtl.c: Likewise.
1595 * except.c: Likewise.
1596 * expr.c: Likewise.
1597 * fold-const.c: Likewise.
1598 * gimple-fold.c: Likewise.
1599 * gimple-ssa-strength-reduction.c: Likewise.
1600 * gimplify.c: Likewise.
1601 * ipa-inline.c: Likewise.
1602 * ipa-prop.c: Likewise.
1603 * lto-streamer-out.c: Likewise.
1604 * stmt.c: Likewise.
1605 * tree-inline.c: Likewise.
1606 * tree-object-size.c: Likewise.
1607 * tree-sra.c: Likewise.
1608 * tree-ssa-ccp.c: Likewise.
1609 * tree-ssa-forwprop.c: Likewise.
1610 * tree-ssa-loop-ivcanon.c: Likewise.
1611 * tree-ssa-loop-ivopts.c: Likewise.
1612 * tree-ssa-math-opts.c: Likewise.
1613 * tree-ssa-reassoc.c: Likewise.
1614 * tree-ssa-threadedge.c: Likewise.
1615 * tree-streamer-in.c: Likewise.
1616 * tree-vect-data-refs.c: Likewise.
1617 * tree-vect-patterns.c: Likewise.
1618 * tree-vect-stmts.c: Likewise.
1619 * config/aarch64/aarch64.c: Likewise.
1620 * config/alpha/alpha.c: Likewise.
1621 * config/arc/arc.c: Likewise.
1622 * config/arm/arm.c: Likewise.
1623 * config/avr/avr.c: Likewise.
1624 * config/bfin/bfin.c: Likewise.
1625 * config/c6x/c6x.c: Likewise.
1626 * config/cr16/cr16.c: Likewise.
1627 * config/cris/cris.c: Likewise.
1628 * config/epiphany/epiphany.c: Likewise.
1629 * config/fr30/fr30.c: Likewise.
1630 * config/frv/frv.c: Likewise.
1631 * config/h8300/h8300.c: Likewise.
1632 * config/i386/i386.c: Likewise.
1633 * config/i386/winnt.c: Likewise.
1634 * config/ia64/ia64.c: Likewise.
1635 * config/iq2000/iq2000.c: Likewise.
1636 * config/lm32/lm32.c: Likewise.
1637 * config/m32c/m32c.c: Likewise.
1638 * config/m32r/m32r.c: Likewise.
1639 * config/m68k/m68k.c: Likewise.
1640 * config/mcore/mcore.c: Likewise.
1641 * config/mep/mep.c: Likewise.
1642 * config/microblaze/microblaze.c: Likewise.
1643 * config/mips/mips.c: Likewise.
1644 * config/mmix/mmix.c: Likewise.
1645 * config/mn10300/mn10300.c: Likewise.
1646 * config/moxie/moxie.c: Likewise.
1647 * config/msp430/msp430.c: Likewise.
1648 * config/nds32/nds32.c: Likewise.
1649 * config/pa/pa.c: Likewise.
1650 * config/pdp11/pdp11.c: Likewise.
1651 * config/picochip/picochip.c: Likewise.
1652 * config/rl78/rl78.c: Likewise.
1653 * config/rs6000/rs6000.c: Likewise.
1654 * config/rx/rx.c: Likewise.
1655 * config/s390/s390.c: Likewise.
1656 * config/score/score.c: Likewise.
1657 * config/sh/sh.c: Likewise.
1658 * config/sparc/sparc.c: Likewise.
1659 * config/spu/spu.c: Likewise.
1660 * config/stormy16/stormy16.c: Likewise.
1661 * config/tilegx/tilegx.c: Likewise.
1662 * config/tilepro/tilepro.c: Likewise.
1663 * config/v850/v850.c: Likewise.
1664 * config/vax/vax.c: Likewise.
1665 * config/xtensa/xtensa.c: Likewise.
1666
0d732cca
JL
16672014-06-02 Jeff Law <law@redhat.com>
1668
1669 PR rtl-optimization/61094
1670 * ree.c (combine_reaching_defs): Do not reextend an insn if it
1671 was marked as do_no_reextend. If a copy is needed to eliminate
1672 an extension, then mark it as do_not_reextend.
1673
a2adad8b
MS
16742014-06-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
1675
1676 * config/aarch64/aarch64.md (set_fpcr): Drop ISB after FPCR write.
1677
20a951e6
RH
16782014-06-02 Richard Henderson <rth@redhat.com>
1679
1680 PR target/61336
1681 * config/alpha/alpha.c (print_operand_address): Allow symbolic
1682 addresses inside asms. Use output_operand_lossage instead of
1683 gcc_unreachable.
1684
40c0a159
UB
16852014-06-02 Uros Bizjak <ubizjak@gmail.com>
1686
1687 PR target/61239
1688 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
1689 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
1690
94bfa2da
TV
16912014-06-02 Tom de Vries <tom@codesourcery.com>
1692
1693 * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
1694 case that x has VOIDmode.
1695
4a1f940f
BS
16962014-06-02 Bernd Schmidt <bernds@codesourcery.com>
1697
1698 * varasm.c (copy_constant): Delete function.
1699 (build_constant_desc): Don't call it.
1700
27e83a44
RR
17012014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1702
1703 PR target/61154
1704 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
1705 * config/arm/arm.md (mov64 splitter): Replace const_double_operand
1706 with immediate_operand.
1707
31815ed7
AS
17082014-06-02 Andreas Schwab <schwab@suse.de>
1709
1710 * config/ia64/ia64.c
1711 (ia64_first_cycle_multipass_dfa_lookahead_guard): Check
1712 pending_data_specs first.
1713
61dd7fbc
RB
17142014-06-02 Richard Biener <rguenther@suse.de>
1715
1716 PR tree-optimization/61378
1717 * tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
1718 valueized_anything.
1719
1828d3e6
UB
17202014-06-01 Uros Bizjak <ubizjak@gmail.com>
1721
1722 * config/i386/constraints.md (Bw): Rename from 'w'.
1723 (Bz): Rename from 'z'.
1724 * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
1725
6041d142
KT
17262014-06-01 Kai Tietz <ktietz@redhat.com>
1727
1728 PR target/61377
1828d3e6
UB
1729 * config/i386/constrains.md (define_constrain): New 'Bs' constraint.
1730 * config/i386/i386.md (sibcall_insn_operand): Use Bs
1731 instead of m constraint.
6041d142 1732
aef1bf3b
AS
17332014-05-31 Andreas Schwab <schwab@linux-m68k.org>
1734
1735 * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
1736 a separate alternative where the scratch operand 2 is marked as
1737 early clobber.
1738
f10743d3
KV
17392014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
1740
1741 * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
1742 (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
1743 (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
1744 and __builtins_arm_get_fpscr.
1745 (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
1746 __builtins_arm_get_fpscr.
1747 (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
1748 __builtins_arm_ldfpscr.
1749 (arm_atomic_assign_expand_fenv): New function.
1750 * config/arm/vfp.md (set_fpscr): New pattern.
1751 (get_fpscr) : Likewise.
1752 * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
1753 VUNSPEC_SET_FPSCR.
1754 * doc/extend.texi (AARCH64 Built-in Functions) : Document
1755 __builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
1756
40f9f6bb
JJ
17572014-05-30 Jakub Jelinek <jakub@redhat.com>
1758
b3f1051b
JJ
1759 * asan.c (report_error_func): Add SLOW_P argument, use
1760 BUILT_IN_ASAN_*_N if set.
1761 (build_check_stmt): Likewise.
1762 (instrument_derefs): If T has insufficient alignment,
1763 force same handling as for odd sizes.
1764
40f9f6bb
JJ
1765 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
1766 BUILT_IN_ASAN_REPORT_STORE_N): New.
1767 * asan.c (struct asan_mem_ref): Change access_size type to
1768 HOST_WIDE_INT.
1769 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
1770 update_mem_ref_hash_table): Likewise.
1771 (asan_mem_ref_hasher::hash): Hash in a HWI.
1772 (report_error_func): Change size_in_bytes argument to HWI.
1773 Use *_N builtins if size_in_bytes is larger than 16 or not power of
1774 two.
1775 (build_shadow_mem_access): New function.
1776 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
1777 Handle size_in_bytes not power of two or larger than 16.
1778 (instrument_derefs): Don't give up if size_in_bytes is not
1779 power of two or is larger than 16.
1780
cb105922
KT
17812014-05-30 Kai Tietz <ktietz@redhat.com>
1782
1783 PR target/60104
1784 * config/i386/i386.c (x86_output_mi_thunk): Add memory case
1785 for sibling-tail-calls.
1786 * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
1787 to its use.
1788 * config/i386/predicates.md (sibcall_memory_operand): New predicate.
1789 (sibcall_insn_operand): Add check for sibcall_memory_operand.
1790
150e0639
PS
17912014-05-30 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1792
1793 * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
1794 * config/avr/avr-tables.opt: Regenerate.
1795 * config/avr/t-multilib: Regenerate.
1796 * doc/avr-mmcu.texi: Regenerate.
1797
f9a8f6d9
ILT
17982014-05-30 Ian Lance Taylor <iant@google.com>
1799
1800 * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
1801 target("sse").
1802
5028356f
TV
18032014-05-30 Tom de Vries <tom@codesourcery.com>
1804
1805 * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
1806 Redefine as true.
1807
10e1bdb2
TV
18082014-05-30 Tom de Vries <tom@codesourcery.com>
1809
1810 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1811 * lra.c (initialize_lra_reg_info_element): Add init of
1812 actual_call_used_reg_set field.
1813 (lra): Call lra_create_live_ranges before lra_inheritance for
1814 -fuse-caller-save.
1815 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1816 -fuse-caller-save.
1817 * lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
1818 instead of call_used_reg_set for -fuse-caller-save.
1819 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1820
56912037
KT
18212014-05-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1822
1823 * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
1824 to mov_imm.
1825 * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
1826
98f2f031
RS
18272014-05-30 Richard Sandiford <rdsandiford@googlemail.com>
1828
1829 * ira.c (ira_get_dup_out_num): Check for output operands at
1830 the start of the loop. Handle cases where an included alternative
1831 follows an excluded one.
1832
79abf19f
MS
18332014-05-29 Mike Stump <mikestump@comcast.net>
1834
1835 PR debug/61352
1836 * collect2.c (maybe_run_lto_and_relink): Be sure to always run
1837 post ld passes when lto is used.
1838
cc8849a1
VM
18392014-05-29 Vladimir Makarov <vmakarov@redhat.com>
1840
1841 PR rtl-optimization/61325
40c0a159 1842 * lra-constraints.c (process_address): Rename to process_address_1.
cc8849a1
VM
1843 (process_address): New function.
1844
ae0533da
AL
18452014-05-29 Alan Lawrence <alan.lawrence@arm.com>
1846
1847 * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
1848 TYPES_BINOPV): New static data.
40c0a159
UB
1849 * config/aarch64/aarch64-simd-builtins.def (im_lane_bound):
1850 New builtin.
1851 * config/aarch64/aarch64-simd.md (aarch64_ext,
1852 aarch64_im_lane_boundsi): New patterns.
ae0533da
AL
1853 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
1854 patterns for EXT.
1855 (aarch64_evpc_ext): New function.
1856
1857 * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
1858
1859 * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
1860 vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
1861 vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
1862 vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
1863 vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
1864
ed00b1fb
TV
18652014-05-29 Tom de Vries <tom@codesourcery.com>
1866
1867 * rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
1868
004d3809 18692014-05-29 Richard Earnshaw <rearnsha@arm.com>
40c0a159 1870 Richard Sandiford <rdsandiford@googlemail.com>
004d3809 1871
40c0a159
UB
1872 * arm/iterators.md (shiftable_ops): New code iterator.
1873 (t2_binop0, arith_shift_insn): New code attributes.
004d3809 1874 * arm/predicates.md (shift_nomul_operator): New predicate.
40c0a159
UB
1875 * arm/arm.md (insn_enabled): Delete.
1876 (enabled): Remove insn_enabled test.
1877 (*arith_shiftsi): Delete. Replace with ...
1878 (*<arith_shift_insn>_multsi): ... new pattern.
004d3809
RE
1879 (*<arith_shift_insn>_shiftsi): ... new pattern.
1880 * config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
1881
c2db3f3d 18822014-05-29 Radovan Obradovic <robradovic@mips.com>
40c0a159 1883 Tom de Vries <tom@codesourcery.com>
c2db3f3d
RO
1884
1885 * config/mips/mips.h (POST_CALL_TMP_REG): Define.
1886 * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
1887 clobber.
1888 (mips_split_call): Use POST_CALL_TMP_REG.
1889 (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
1890
4b29b965
TV
18912014-05-29 Tom de Vries <tom@codesourcery.com>
1892
1893 * final.c (collect_fn_hard_reg_usage): Guard variable declaration
1894 with #ifdef STACK_REGS.
1895
726f0774
JH
18962014-05-28 Jan Hubicka <hubicka@ucw.cz>
1897
1898 * varasm.c (get_variable_section): Walk aliases.
1899 (place_block_symbol): Walk aliases.
1900
ea0b381f
TV
19012014-05-28 Tom de Vries <tom@codesourcery.com>
1902
1903 Revert:
1904 2014-05-28 Tom de Vries <tom@codesourcery.com>
1905
1906 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
1907 * lra.c (initialize_lra_reg_info_element): Add init of
1908 actual_call_used_reg_set field.
1909 (lra): Call lra_create_live_ranges before lra_inheritance for
1910 -fuse-caller-save.
1911 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
1912 -fuse-caller-save.
40c0a159
UB
1913 * lra-constraints.c (need_for_call_save_p): Use
1914 actual_call_used_reg_set instead of call_used_reg_set for
1915 -fuse-caller-save.
ea0b381f
TV
1916 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
1917
73f793e3
RS
19182014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
1919
1920 * doc/md.texi: Document that the % constraint character must
1921 be at the beginning of the string.
1922 * genoutput.c (validate_insn_alternatives): Check that '=',
1923 '+' and '%' only appear at the beginning of a constraint.
1924 * ira.c (commutative_constraint_p): Delete.
1925 (ira_get_dup_out_num): Expect the '%' commutativity marker to be
1926 at the start of the string.
1927 * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
1928 duplicate '='s.
1929 * config/arm/neon.md (bicdi3_neon): Likewise.
1930 * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
1931 (slt_si, sltu_si): Likewise.
1932 * config/vax/vax.md (sbcdi3): Likewise.
1933 * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
1934 * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
1935 (mul64): Move '%' to beginning of constraint.
1936 * config/arm/arm.md (*xordi3_insn): Likewise.
1937 * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
1938 (xorsi3): Likewise.
1939
5a7555ab
RS
19402014-05-28 Richard Sandiford <rdsandiford@googlemail.com>
1941
1942 * doc/md.texi: Document the restrictions on the "enabled" attribute.
1943
d67ff7b7
JM
19442014-05-28 Jason Merrill <jason@redhat.com>
1945
1946 PR c++/47202
1947 * cgraph.h (symtab_node::get_comdat_group_id): New.
1948 * cgraphunit.c (analyze_functions): Call it.
1949 * symtab.c (dump_symtab_node): Likewise.
1950 * tree.c (decl_comdat_group_id): New.
1951 * tree.h: Declare it.
1952 * lto-streamer-out.c (write_symbol): Use it.
1953 * trans-mem.c (ipa_tm_create_version_alias): Likewise.
1954
ecc7533a
FXC
19552014-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1956
1957 PR bootstrap/PR61146
1958 * wide-int.cc: Do not include longlong.h when compiling with clang.
1959
6e5799b9
RB
19602014-05-28 Richard Biener <rguenther@suse.de>
1961
1962 * tree-ssa-propagate.c (add_control_edge): Print less vertical space.
1963 * tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
1964 (vrp_visit_assignment_or_call): Print less vertical space.
1965 (vrp_visit_stmt): Likewise.
1966 (vrp_visit_phi_node): Likewise. For a PHI argument with
1967 VR_VARYING range consider recording it as copy.
1968
47f9fca8
RB
19692014-05-28 Richard Biener <rguenther@suse.de>
1970
1971 Revert
1972 2014-05-28 Richard Biener <rguenther@suse.de>
1973
1974 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
1975
7fbf8a3e
BE
19762014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1977
1978 * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
1979 sufficiently aligned and an offset is used at the same time.
1980 (expand_expr_real_1): Likewise.
1981
b017a174
RB
19822014-05-28 Richard Biener <rguenther@suse.de>
1983
1984 PR middle-end/61045
1985 * fold-const.c (fold_comparison): When folding
1986 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
1987 the sign of the remaining constant operand stays the same.
1988
96360888
KP
19892014-05-28 Kaushik Phatak <kaushik.phatak@kpit.com>
1990
1991 * config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
1992 __RL78_64BIT_DOUBLES__ or __RL78_32BIT_DOUBLES__.
1993 (ASM_SPEC): Pass -m64bit-doubles or -m32bit-doubles on
1994 to the assembler.
40c0a159 1995 (DOUBLE_TYPE_SIZE): Use 64 bit if TARGET_64BIT_DOUBLES is true.
96360888
KP
1996 * gcc/config/rl78/rl78.opt (m64bit-doubles): New option.
1997 (m32bit-doubles) Likewise.
1998 * gcc/config/rl78/t-rl78: Add 64-bit-double multilib.
1999 * doc/invoke.texi: Document -m32bit-doubles and -m64bit-doubles
2000 option for RL78.
2001
3c698bf0
RO
20022014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2003
2004 * configure.ac ($gcc_cv_ld_clearcap): New test.
2005 * configure: Regenerate.
2006 * config.in: Regenerate.
2007 * config/sol2.opt (mclear-hwcap): New option.
2008 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
2009 * config/sol2-clearcap.map: Moved here from
2010 testsuite/gcc.target/i386/clearcap.map.
2011 * config/sol2-clearcapv2.map: Move here from
2012 gcc.target/i386/clearcapv2.map.
2013 * config/t-sol2 (install): Depend on install-clearcap-map.
2014 (install-clearcap-map): New target.
2015 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
2016 -mclear-hwcap.
2017
4c8bd90f
RB
20182014-05-28 Richard Biener <rguenther@suse.de>
2019
2020 * hwint.h (*_HALF_WIDE_INT*): Move to ...
2021 * wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
2022 ... here and remove the rest.
2023 * hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
2024
a896172d
RB
20252014-05-28 Richard Biener <rguenther@suse.de>
2026
2027 PR tree-optimization/61335
2028 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
2029 new range fails, drop to varying.
2030
b8c6a45a
TV
20312014-05-28 Tom de Vries <tom@codesourcery.com>
2032
2033 * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
2034 * lra.c (initialize_lra_reg_info_element): Add init of
2035 actual_call_used_reg_set field.
2036 (lra): Call lra_create_live_ranges before lra_inheritance for
2037 -fuse-caller-save.
2038 * lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
2039 -fuse-caller-save.
40c0a159
UB
2040 * lra-constraints.c (need_for_call_save_p): Use
2041 actual_call_used_reg_set instead of call_used_reg_set for
2042 -fuse-caller-save.
b8c6a45a
TV
2043 * lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
2044
dbe7d9e3 20452014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 2046 Tom de Vries <tom@codesourcery.com>
dbe7d9e3 2047
40c0a159
UB
2048 * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save
2049 to gccoptlist.
dbe7d9e3
RO
2050 (@item -fuse-caller-save): New item.
2051
5c989bbf 20522014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 2053 Tom de Vries <tom@codesourcery.com>
5c989bbf
RO
2054
2055 * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
2056 OPT_fuse_caller_save.
2057
c2ba7e7a 20582014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 2059 Tom de Vries <tom@codesourcery.com>
c2ba7e7a
RO
2060
2061 * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
2062 * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
2063 get_call_reg_set_usage.
2064 * resource.c (mark_set_resources, mark_target_live_regs): Use
2065 get_call_reg_set_usage.
2066 * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
2067 field.
2068 (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
2069 * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
2070 Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
2071 * ira-build.c (ira_create_allocno): Init
2072 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
2073 (create_cap_allocno, propagate_allocno_info)
2074 (propagate_some_info_from_allocno)
2075 (copy_info_to_removed_store_destinations): Handle
2076 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
2077 * ira-costs.c (ira_tune_allocno_costs): Use
2078 ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
2079
27c07cc5 20802014-05-28 Radovan Obradovic <robradovic@mips.com>
40c0a159 2081 Tom de Vries <tom@codesourcery.com>
27c07cc5
RO
2082
2083 * cgraph.h (struct cgraph_rtl_info): Add function_used_regs
2084 and function_used_regs_valid fields.
2085 * final.c: Move include of hard-reg-set.h to before rtl.h to declare
2086 find_all_hard_reg_sets.
2087 (collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
2088 (get_call_reg_set_usage): New function.
2089 (rest_of_handle_final): Use collect_fn_hard_reg_usage.
2090 * regs.h (get_call_reg_set_usage): Declare.
2091
ca48e5ef
GJL
20922014-05-28 Georg-Johann Lay <avr@gjlay.de>
2093
2094 PR libgcc/61152
2095 * config/dbx.h (License): Add Runtime Library Exception.
2096 * config/newlib-stdint.h (License): Same.
2097 * config/rtems.h (License): Same
2098 * config/initfini-array.h (License): Same
2099 * config/v850/v850.h (License): Same.
2100 * config/v850/v850-opts.h (License): Same
2101 * config/v850/rtems.h (License): Same.
2102
92747f7d
GJL
21032014-05-28 Georg-Johann Lay <avr@gjlay.de>
2104
2105 PR target/61044
2106 * doc/extend.texi (Local Labels): Note that label differences are
2107 not supported for AVR.
2108
9c6ab05f
AP
21092014-05-27 Andrew Pinski <apinski@cavium.com>
2110
2111 * config/aarch64/aarch64.md (stack_protect_set_<mode>):
2112 Use <w> for the register in assembly template.
40c0a159 2113 (stack_protect_test): Use the mode of operands[0] for the result.
9c6ab05f
AP
2114 (stack_protect_test_<mode>): Use <w> for the register
2115 in assembly template.
2116
69c7a374
DD
21172014-05-27 DJ Delorie <dj@redhat.com>
2118
2119 * config/rx/rx.c (add_vector_labels): New.
2120 (rx_output_function_prologue): Call it.
2121 (rx_handle_func_attribute): Don't require empty arguments.
2122 (rx_handle_vector_attribute): New.
2123 (rx_attribute_table): Add "vector" attribute.
2124 * doc/extend.texi (interrupt, vector): Document new/changed
2125 RX-specific attributes.
2126
2127 * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
2128
5e67547d
EB
21292014-05-27 Eric Botcazou <ebotcazou@adacore.com>
2130
2131 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
2132 predicate to detect a negative quotient.
2133
d378c07e
EB
21342014-05-27 Eric Botcazou <ebotcazou@adacore.com>
2135
2136 * fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
2137 to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
2138 Add X - Y CMP 0 to X CMP Y transformation.
2139 (fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
2140
3ce6c715
SB
21412014-05-27 Segher Boessenkool <segher@kernel.crashing.org>
2142
2143 * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
2144 before printing.
2145
11237229
SE
21462014-05-27 Steve Ellcey <sellcey@mips.com>
2147
2148 * config/mips/mips.c: Add include of cgraph.h.
2149
7ea7f668
RB
21502014-05-27 Richard Biener <rguenther@suse.de>
2151
2152 * system.h (__STDC_FORMAT_MACROS): Define as very first thing.
2153
c7eca9fe
GJL
21542014-05-27 Georg-Johann Lay <avr@gjlay.de>
2155
2156 PR libgcc/61152
2157 * config/arm/arm.h (License): Add note to COPYING.RUNTIME.
2158 * config/arm/arm-cores.def (License): Same.
2159 * config/arm/arm-opts.h (License): Same.
2160 * config/arm/aout.h (License): Same.
2161 * config/arm/bpabi.h (License): Same.
2162 * config/arm/elf.h (License): Same.
2163 * config/arm/linux-elf.h (License): Same.
2164 * config/arm/linux-gas.h (License): Same.
2165 * config/arm/netbsd-elf.h (License): Same.
2166 * config/arm/uclinux-eabi.h (License): Same.
2167 * config/arm/uclinux-elf.h (License): Same.
2168 * config/arm/vxworks.h (License): Same.
2169
7a10ea9f
KT
21702014-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2171
2172 * config/arm/neon.md (neon_bswap<mode>): New pattern.
2173 * config/arm/arm.c (neon_itype): Add NEON_BSWAP.
2174 (arm_init_neon_builtins): Handle NEON_BSWAP.
2175 Define required type nodes.
2176 (arm_expand_neon_builtin): Handle NEON_BSWAP.
2177 (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
2178 * config/arm/arm_neon_builtins.def (bswap): Define builtins.
2179 * config/arm/iterators.md (VDQHSD): New mode iterator.
2180
597f5997
RB
21812014-05-27 Richard Biener <rguenther@suse.de>
2182
2183 * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
2184 Try using literal operands when comparing value-ranges failed.
2185
f571b63f
RS
21862014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
2187
2188 * ira.c (commutative_operand): Adjust for change to recog_data.
2189 [Missing from previous commit.]
2190
4cc8d9d2
RS
21912014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
2192
2193 * system.h (TEST_BIT): New macro.
2194 * recog.h (alternative_mask): New type.
2195 (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
2196 (recog_data_d): Replace alternative_enabled_p array with
2197 enabled_alternatives.
2198 (target_recog): New structure.
2199 (default_target_recog, this_target_recog): Declare.
2200 (get_enabled_alternatives, recog_init): Likewise.
2201 * recog.c (default_target_recog, this_target_recog): New variables.
2202 (get_enabled_alternatives): New function.
2203 (extract_insn): Use it.
2204 (recog_init): New function.
2205 (preprocess_constraints, constrain_operands): Adjust for change to
2206 recog_data.
2207 * postreload.c (reload_cse_simplify_operands): Likewise.
2208 * reload.c (find_reloads): Likewise.
2209 * ira-costs.c (record_reg_classes): Likewise.
2210 * ira-lives.c (single_reg_class): Likewise. Fix bug in which
2211 all alternatives after a disabled one would be skipped.
2212 (ira_implicitly_set_insn_hard_regs): Likewise.
2213 * ira.c (ira_setup_alts): Adjust for change to recog_data.
2214 * lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
2215 with enabled_alternatives.
2216 * lra.c (free_insn_recog_data): Update accordingly.
2217 (lra_update_insn_recog_data): Likewise.
2218 (lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
2219 * lra-constraints.c (process_alt_operands): Likewise. Handle
2220 only_alternative as part of the enabled mask.
2221 * target-globals.h (this_target_recog): Declare.
2222 (target_globals): Add a recog field.
2223 (restore_target_globals): Restore this_target_recog.
2224 * target-globals.c: Include recog.h.
2225 (default_target_globals): Initialize recog field.
2226 (save_target_globals): Likewise.
2227 * reginfo.c (reinit_regs): Call recog_init.
2228 * toplev.c (backend_init_target): Likewise.
2229
9921417d
RS
22302014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
2231
2232 * gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
2233 rather than any named insn's code.
2234
a5024e01
GJL
22352014-05-27 Georg-Johann Lay <avr@gjlay.de>
2236
2237 PR libgcc/61152
2238 * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
2239 * config/arm/arm-cores.def (License): Same.
2240
50efcce1
JH
22412014-05-26 Jan Hubicka <hubicka@ucw.cz>
2242
2243 * tree.h (decl_comdat_group): Declare.
2244 * cgraph.h (symtab_in_same_comdat_p): Move offline to ...
2245 * tree.c (decl_comdat_group): Here.
2246
3e26c8f6
RS
22472014-05-26 Richard Sandiford <r.sandiford@uk.ibm.com>
2248
2249 PR rtl-optimization/61222
2250 * combine.c (simplify_shift_const_1): When moving a PLUS outside
2251 the shift, truncate the PLUS operand to the result mode.
2252
b8140cd6
UB
22532014-05-26 Uros Bizjak <ubizjak@gmail.com>
2254
2255 PR target/61271
2256 * config/i386/i386.c (ix86_rtx_costs)
2257 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
2258 Fix condition.
2259
acea91c9
MJ
22602014-05-26 Martin Jambor <mjambor@suse.cz>
2261
2262 * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
2263 subreg uses.
2264
d93461f7
RB
22652014-05-26 Richard Biener <rguenther@suse.de>
2266
2267 * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
2268 wi::int_traits <long long>, wi::int_traits <unsigned long long>):
2269 Provide specializations.
2270 (wi::int_traits <HOST_WIDE_INT>,
2271 wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
2272
bfe51f42
AM
22732014-05-26 Alan Modra <amodra@gmail.com>
2274
2275 PR target/61098
2276 * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
2277 params and return a bool. Remove dead code. Update comment.
2278 Assert we have a const_int source. Remove bogus code from
2279 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
2280 handling of constants > 2G and reg_equal note, from..
2281 (rs6000_emit_set_long_const): ..here. Remove unneeded param and
2282 return value. Update comment. If we can, use a new pseudo
2283 for intermediate calculations.
2284 * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
2285 prototype.
2286 * config/rs6000/rs6000.md (movsi_internal1_single+1): Update
2287 call to rs6000_emit_set_const in splitter.
2288 (movdi_internal64+2, +3): Likewise.
2289
a9243bfc
RB
22902014-05-26 Richard Biener <rguenther@suse.de>
2291
2292 * system.h: Define __STDC_FORMAT_MACROS before
2293 including inttypes.h.
2294 * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
2295 HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
2296 HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
2297 HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
2298 HOST_WIDEST_INT_C): Remove.
2299 (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
2300 if C99 inttypes.h is not available.
2301 * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
2302 * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
2303 * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
2304 * cfgloop.h (struct niter_desc): Use uint64_t for niter field.
2305 * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
2306 (struct output_info): Likewise.
2307 (print_statistics): Adjust.
2308 (dump_bitmap_statistics): Likewise.
2309 * bt-load.c (migrate_btr_defs): Print with PRId64.
2310 * cfg.c (dump_edge_info, dump_bb_info): Likewise.
2311 (MAX_SAFE_MULTIPLIER): Adjust.
2312 * cfghooks.c (dump_bb_for_graph): Print with PRId64.
2313 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
2314 dump_cgraph_node): Likewise.
2315 * final.c (dump_basic_block_info): Likewise.
2316 * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
2317 * gcov.c (format_gcov): Likewise.
2318 * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
2319 for calculation.
2320 (get_clone_agg_value): Use HOST_WIDE_INT for offset.
2321 * ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
2322 (inline_small_functions, dump_overall_stats, dump_inline_stats):
2323 Use PRId64 for dumping.
2324 * ipa-profile.c (dump_histogram, ipa_profile): Likewise.
2325 * ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
2326 (add_allocno_hard_regs): Adjust.
2327 * loop-doloop.c (doloop_modify): Print using PRId64.
2328 * loop-iv.c (inverse): Compute in uint64_t.
2329 (determine_max_iter, iv_number_of_iterations): Likewise.
2330 * loop-unroll.c (decide_peel_completely, decide_peel_simple):
2331 Print using PRId64.
2332 * lto-streamer-out.c (write_symbol): Use uint64_t.
2333 * mcf.c (CAP_INFINITY): Use int64_t maximum.
2334 (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
2335 find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
2336 * modulo-sched.c (const_iteration_count): Use int64_t.
2337 (sms_schedule): Dump using PRId64.
2338 * predict.c (dump_prediction): Likewise.
2339 * pretty-print.h (pp_widest_integer): Remove.
2340 * profile.c (get_working_sets, is_edge_inconsistent,
2341 is_inconsistent, read_profile_edge_counts): Dump using PRId64.
2342 * tree-pretty-print.c (pp_double_int): Remove case handling
2343 HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
2344 * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
2345 and adjust users.
2346 (pass_optimize_bswap::execute): Remove restriction on hosts.
2347 * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
2348 * tree-streamer-out.c (streamer_write_tree_header): Likewise.
2349 * tree.c (widest_int_cst_value): Remove.
2350 * tree.h (widest_int_cst_value): Likewise.
2351 * value-prof.c (dump_histogram_value): Print using PRId64.
2352 * gengtype.c (main): Also inject int64_t.
2353 * ggc-page.c (struct max_alignment): Use int64_t.
2354 * alloc-pool.c (struct allocation_object_def): Likewise.
2355 * ira-conflicts.c (build_conflict_bit_table): Use uint64_t
2356 for computation.
2357 * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
2358 * doc/tm.texi: Regenerated.
2359 * gengtype-lex.l (IWORD): Handle [u]int64_t.
2360 * config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
2361 * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
2362 mmix_output_register_setting): Use [u]int64_t in prototypes.
2363 * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
2364 mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
2365 mmix_output_octa, mmix_output_shifted_value): Adjust.
2366 (mmix_intval): Adjust. Remove unreachable case.
b8140cd6 2367 * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t.
a9243bfc 2368
edf6ddf6
RB
23692014-05-26 Richard Biener <rguenther@suse.de>
2370
2371 * configure.ac: Drop __int64 type check. Insist that we
2372 found uint64_t and int64_t.
2373 * hwint.h (HOST_BITS_PER___INT64): Remove.
b8140cd6 2374 (HOST_BITS_PER_WIDE_INT): Define to 64 and remove __int64 case.
edf6ddf6
RB
2375 (HOST_WIDE_INT_PRINT_*): Remove 32bit case.
2376 (HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
2377 (HOST_WIDEST_FAST_INT): Remove __int64 case.
2378 * vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
2379 for dst_q_src_df_rms_cdt.
2380 * configure: Regenerate.
2381 * config.in: Likewise.
2382
d4082970
MT
23832014-05-26 Michael Tautschnig <mt@debian.org>
2384
2385 PR target/61249
49f002b6
UB
2386 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
2387 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
d4082970 2388
d29d688a
ZC
23892014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2390
2391 PR rtl-optimization/61278
2392 * shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
2393
88f32f0f
ZC
23942014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2395
2396 PR rtl-optimization/61220
2397 Part of PR rtl-optimization/61225
2398 * shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
2399 insn; skip split_edge for a block with only one successor.
2400
97ae6b64
JH
24012014-05-23 Jan Hubicka <hubicka@ucw.cz>
2402
d4082970
MT
2403 * symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag
2404 for variables.
97ae6b64 2405
07990a5e
JH
24062014-05-23 Jan Hubicka <hubicka@ucw.cz>
2407
2408 * ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
2409 (update_vtable_references): New function.
2410 (function_and_variable_visibility): Rewrite also vtable initializers.
2411 * varpool.c (cgraph_variable_initializer_availability): Remove assert.
2412
fd1e9302
JH
24132014-05-23 Jan Hubicka <hubicka@ucw.cz>
2414
2415 * ggc.h (ggc_grow): New function.
2416 * ggc-none.c (ggc_grow): New function.
2417 * ggc-page.c (ggc_grow): Likewise.
2418
7f7beb3f
JH
24192014-05-23 Jan Hubicka <hubicka@ucw.cz>
2420
d4082970
MT
2421 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
2422 address_taken_from_non_vtable_p, comdat_can_be_unshared_p_1,
2423 comdat_can_be_unshared_p, cgraph_externally_visible_p,
7f7beb3f
JH
2424 varpool_externally_visible_p, can_replace_by_local_alias,
2425 update_visibility_by_resolution_info, function_and_variable_visibility,
2426 pass_data_ipa_function_and_variable_visibility,
2427 make_pass_ipa_function_and_variable_visibility,
2428 whole_program_function_and_variable_visibility,
2429 pass_data_ipa_whole_program_visibility,
2430 make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
2431 * cgraph.h (cgraph_local_node_p): Declare.
2432 * ipa-visibility.c: New file.
2433 * Makefile.in (OBJS): Add ipa-visiblity.o
2434
6adda80b
JH
24352014-05-23 Jan Hubicka <hubicka@ucw.cz>
2436
2437 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
2438 that var decl is available.
2439
aede2c10
JH
24402014-05-23 Jan Hubicka <hubicka@ucw.cz>
2441
2442 * tree-core.h (tree_decl_with_vis): Replace comdat_group by
2443 symtab_node pointer.
d4082970 2444 * tree.c (copy_node_stat): Be sure to not copy symtab_node pointer.
aede2c10
JH
2445 (find_decls_types_r): Do not walk COMDAT_GROUP.
2446 * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
2447 * varasm.c (make_decl_one_only): Use set_comdat_group;
2448 create node if needed.
2449 * ipa-inline-transform.c (save_inline_function_body): Update
2450 way we decl->symtab mapping.
2451 * symtab.c (symtab_hash, hash_node, eq_node
2452 symtab_insert_node_to_hashtable): Remove.
2453 (symtab_register_node): Update.
2454 (symtab_unregister_node): Update.
2455 (symtab_get_node): Reimplement as inline function.
2456 (symtab_add_to_same_comdat_group): Update.
2457 (symtab_dissolve_same_comdat_group_list): Update.
2458 (dump_symtab_base): Update.
2459 (verify_symtab_base): Update.
2460 (symtab_make_decl_local): Update.
2461 (fixup_same_cpp_alias_visibility): Update.
2462 (symtab_nonoverwritable_alias): Update.
2463 * cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
2464 * ipa.c (update_visibility_by_resolution_info): UPdate.
2465 * bb-reorder.c: Include cgraph.h
2466 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
2467 with comdat groups.
2468 * ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
2469 * cgraph.c (cgraph_get_create_node): Update.
2470 * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
2471 and comdat_group_.
2472 (symtab_get_node): Make inline.
2473 (symtab_insert_node_to_hashtable): Remove.
2474 (symtab_can_be_discarded): Update.
2475 (decl_comdat_group): New function.
d4082970
MT
2476 * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers):
2477 Update.
aede2c10
JH
2478 * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
2479 comdat group name.
2480 (read_comdat_group): New function.
2481 (input_node, input_varpool_node): Use it.
2482 * trans-mem.c (ipa_tm_create_version_alias): Update code creating
2483 comdat groups.
2484 * mips.c (mips_start_unique_function): Likewise.
2485 (ix86_code_end): Likewise.
2486 (rs6000_code_end): Likweise.
d4082970 2487 * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group.
aede2c10 2488
4df199d1
JH
24892014-05-23 Jan Hubicka <hubicka@ucw.cz>
2490
2491 * gengtype-state.c (fatal_reading_state): Bring offline.
2492 * optabs.c (widening_optab_handler): Bring offline.
2493 * optabs.h (widening_optab_handler): Likewise.
2494 * final.c (get_attr_length_1): Likewise.
2495
e0e349f3
JH
24962014-05-23 Jan Hubicka <hubicka@ucw.cz>
2497
2498 * sched-int.h (sd_iterator_cond): Manually tail recurse.
2499
a35dd1fa
SB
25002014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2501
d4082970 2502 * config/rs6000/440.md (ppc440-integer): Include shift without dot.
a35dd1fa 2503 (ppc440-compare): Include shift with dot.
d4082970 2504 * config/rs6000/e300c2c3.md (ppce300c3_iu): Include shift without dot.
a35dd1fa
SB
2505 * config/rs6000/e5500.md (e5500_sfx2): Include constant shift
2506 without dot.
2507 * config/rs6000/e6500.md (e6500_sfx): Exclude constant shift
2508 without dot.
2509 (e6500_sfx2): Include it.
2510 * config/rs6000/rs6000.md ( *zero_extend<mode>di2_internal1,
2511 *zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
2512 *zero_extendsidi2_lfiwzx, andsi3_mc, andsi3_nomc,
2513 andsi3_internal0_nomc, extzvsi_internal, extzvdi_internal,
2514 *extzvdi_internal1, *extzvdi_internal2, rotlsi3, *rotlsi3_64,
2515 *rotlsi3_internal4, *rotlsi3_internal7le, *rotlsi3_internal7be,
2516 *rotlsi3_internal10le, *rotlsi3_internal10be, rlwinm,
2517 *lshiftrt_internal1le, *lshiftrt_internal1be,
2518 *lshiftrt_internal4le, *lshiftrt_internal4be, rotldi3,
2519 *rotldi3_internal4, *rotldi3_internal7le, *rotldi3_internal7be,
2520 *rotldi3_internal10le, *rotldi3_internal10be,
2521 *rotldi3_internal13le, *rotldi3_internal13be, *ashldi3_internal4,
2522 ashldi3_internal5, *ashldi3_internal6, *ashldi3_internal7,
2523 ashldi3_internal8, *ashldi3_internal9, anddi3_mc, anddi3_nomc,
2524 *anddi3_internal2_mc, *anddi3_internal3_mc, and 4 anonymous
2525 define_insns): Use type "shift" in the appropriate alternatives.
2526
73c076c8
SB
25272014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2528
2529 * config/rs6000/rs6000.md (type): Add "logical". Delete
2530 "fast_compare".
2531 (dot): Adjust comment.
2532 (andsi3_mc, *andsi3_internal2_mc, *andsi3_internal3_mc,
2533 *andsi3_internal4, *andsi3_internal5_mc, *boolsi3_internal2,
2534 *boolsi3_internal3, *boolccsi3_internal2, *boolccsi3_internal3,
2535 anddi3_mc, *anddi3_internal2_mc, *anddi3_internal3_mc,
2536 *booldi3_internal2, *booldi3_internal3, *boolcdi3_internal2,
2537 *boolcdi3_internal3, *boolccdi3_internal2, *boolccdi3_internal3,
d4082970 2538 *mov<mode>_internal2, and 10 anonymous define_insns): Use "logical".
73c076c8
SB
2539 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
2540
d4082970
MT
2541 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
2542 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
2543 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
2544 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
2545 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
2546 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
2547 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
2548 * config/rs6000/8540.md (ppc8540_su): Adjust.
2549 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
73c076c8 2550 cell-cmp-microcoded): Adjust.
d4082970
MT
2551 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
2552 * config/rs6000/e500mc.md (e500mc_su): Adjust.
2553 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
2554 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
2555 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
2556 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
2557 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
2558 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
2559 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
73c076c8 2560 Adjust.
d4082970
MT
2561 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
2562 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare):
73c076c8 2563 Adjust. Adjust comment.
d4082970
MT
2564 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
2565 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
73c076c8 2566
0cbb4f58
SB
25672014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2568
2569 * config/rs6000/rs6000.md (type): Add "add".
2570 (*add<mode>3_internal1, addsi3_high, *add<mode>3_internal2,
2571 *add<mode>3_internal3, *neg<mode>2_internal, and 5 anonymous
2572 define_insns): Use it.
2573 * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
2574
2575 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
2576 * config/rs6000/440.md (ppc440-integer, ppc440-compare): Adjust.
d4082970 2577 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
0cbb4f58
SB
2578 * config/rs6000/601.md (ppc601-integer): Adjust.
2579 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
2580 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
2581 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
2582 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
2583 * config/rs6000/8540.md (ppc8540_su): Adjust.
2584 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
2585 cell-cmp-microcoded): Adjust.
2586 * config/rs6000/e300c2c3.md (ppce300c3_cmp, ppce300c3_iu): Adjust.
2587 * config/rs6000/e500mc.md (e500mc_su): Adjust.
2588 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Adjust.
2589 * config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Adjust.
2590 * config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Adjust.
2591 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
2592 * config/rs6000/power4.md (power4-integer, power4-cmp): Adjust.
2593 * config/rs6000/power5.md (power5-integer, power5-cmp): Adjust.
2594 * config/rs6000/power6.md (power6-integer, power6-fast-compare):
2595 Adjust.
2596 * config/rs6000/power7.md (power7-integer, power7-cmp): Adjust.
d4082970 2597 * config/rs6000/power8.md (power8-1cyc, power8-fast-compare): Adjust.
0cbb4f58
SB
2598 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
2599 * config/rs6000/titan.md (titan_fxu_adder, titan_fxu_alu): Adjust.
2600
892e7fa6
SB
26012014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2602
2603 * config/rs6000/rs6000.md (type): Delete "var_shift_rotate",
2604 "delayed_compare", "var_delayed_compare".
2605 (var_shift): New attribute.
2606 (cell_micro): Adjust.
2607 (*andsi3_internal2_mc, *andsi3_internal3_mc, *andsi3_internal4,
2608 *andsi3_internal5_mc, *extzvsi_internal1, *extzvsi_internal2,
2609 rotlsi3, *rotlsi3_64, *rotlsi3_internal2, *rotlsi3_internal3,
2610 *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6,
2611 *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le,
2612 *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be,
2613 *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le,
2614 *rotlsi3_internal12be, ashlsi3, *ashlsi3_64, lshrsi3, *lshrsi3_64,
2615 *lshiftrt_internal2le, *lshiftrt_internal2be, *lshiftrt_internal3le,
2616 *lshiftrt_internal3be, *lshiftrt_internal5le, *lshiftrt_internal5be,
2617 *lshiftrt_internal5le, *lshiftrt_internal5be, ashrsi3, *ashrsi3_64,
2618 rotldi3, *rotldi3_internal2, *rotldi3_internal3, *rotldi3_internal4,
2619 *rotldi3_internal5, *rotldi3_internal6, *rotldi3_internal7le,
2620 *rotldi3_internal7be, *rotldi3_internal8le, *rotldi3_internal8be,
2621 *rotldi3_internal9le, *rotldi3_internal9be, *rotldi3_internal10le,
2622 *rotldi3_internal10be, *rotldi3_internal11le, *rotldi3_internal11be,
2623 *rotldi3_internal12le, *rotldi3_internal12be, *rotldi3_internal13le,
2624 *rotldi3_internal13be, *rotldi3_internal14le, *rotldi3_internal14be,
2625 *rotldi3_internal15le, *rotldi3_internal15be, *ashldi3_internal1,
2626 *ashldi3_internal2, *ashldi3_internal3, *lshrdi3_internal1,
2627 *lshrdi3_internal2, *lshrdi3_internal3, *ashrdi3_internal1,
2628 *ashrdi3_internal2, *ashrdi3_internal3, *anddi3_internal2_mc,
2629 *anddi3_internal3_mc, as well as 11 anonymous define_insns): Adjust.
2630 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
2631 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
2632
2633 * config/rs6000/40x.md (ppc403-integer, ppc403-compare): Adjust.
2634 * config/rs6000/440.md (ppc440-integer): Adjust.
d4082970 2635 * config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Adjust.
892e7fa6
SB
2636 * config/rs6000/601.md (ppc601-integer, ppc601-compare): Adjust.
2637 * config/rs6000/603.md (ppc603-integer, ppc603-compare): Adjust.
2638 * config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Adjust.
d4082970 2639 * config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Adjust.
892e7fa6
SB
2640 * config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Adjust.
2641 * config/rs6000/8540.md (ppc8540_su): Adjust.
2642 * config/rs6000/cell.md (cell-integer, cell-fast-cmp,
2643 cell-cmp-microcoded): Adjust.
2644 * config/rs6000/e300c2c3.md (ppce300c3_cmp): Adjust.
2645 * config/rs6000/e500mc.md (e500mc_su): Adjust.
2646 * config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2,
2647 e500mc64_delayed): Adjust.
2648 * config/rs6000/e5500.md (e5500_sfx, e5500_delayed): Adjust.
2649 * config/rs6000/e6500.md (e6500_sfx, e6500_delayed): Adjust.
2650 * config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Adjust.
d4082970
MT
2651 * config/rs6000/power4.md (power4-integer, power4-compare): Adjust.
2652 * config/rs6000/power5.md (power5-integer, power5-compare): Adjust.
892e7fa6
SB
2653 * config/rs6000/power6.md (power6-shift, power6-var-rotate,
2654 power6-delayed-compare, power6-var-delayed-compare): Adjust.
d4082970 2655 * config/rs6000/power7.md (power7-integer, power7-compare): Adjust.
892e7fa6
SB
2656 * config/rs6000/power8.md (power8-1cyc, power8-compare): Adjust.
2657 Adjust comment.
2658 * config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Adjust.
2659 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
2660
441e02a5
SB
26612014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2662
d4082970 2663 * config/rs6000/rs6000.md (type): Delete "idiv", "ldiv". Add "div".
441e02a5
SB
2664 (bits): New mode_attr.
2665 (idiv_ldiv): Delete mode_attr.
2666 (udiv<mode>3, *div<mode>3, div<div_extend>_<mode>): Adjust.
2667 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
2668 rs6000_adjust_priority, is_nonpipeline_insn,
2669 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
2670
2671 * config/rs6000/40x.md (ppc403-idiv): Adjust.
2672 * config/rs6000/440.md (ppc440-idiv): Adjust.
2673 * config/rs6000/476.md (ppc476-idiv): Adjust.
2674 * config/rs6000/601.md (ppc601-idiv): Adjust.
2675 * config/rs6000/603.md (ppc603-idiv): Adjust.
2676 * config/rs6000/6xx.md (ppc604-idiv, ppc620-idiv, ppc630-idiv,
2677 ppc620-ldiv): Adjust.
2678 * config/rs6000/7450.md (ppc7450-idiv): Adjust.
2679 * config/rs6000/7xx.md (ppc750-idiv): Adjust.
2680 * config/rs6000/8540.md (ppc8540_divide): Adjust.
2681 * config/rs6000/a2.md (ppca2-idiv, ppca2-ldiv): Adjust.
2682 * config/rs6000/cell.md (cell-idiv, cell-ldiv): Adjust.
2683 * config/rs6000/e300c2c3.md (ppce300c3_divide): Adjust.
2684 * config/rs6000/e500mc.md (e500mc_divide): Adjust.
2685 * config/rs6000/e500mc64.md (e500mc64_divide): Adjust.
2686 * config/rs6000/e5500.md (e5500_divide, e5500_divide_d): Adjust.
2687 * config/rs6000/e6500.md (e6500_divide, e6500_divide_d): Adjust.
2688 * config/rs6000/mpc.md (mpccore-idiv): Adjust.
2689 * config/rs6000/power4.md (power4-idiv, power4-ldiv): Adjust.
2690 * config/rs6000/power5.md (power5-idiv, power5-ldiv): Adjust.
2691 * config/rs6000/power6.md (power6-idiv, power6-ldiv): Adjust.
2692 * config/rs6000/power7.md (power7-idiv, power7-ldiv): Adjust.
2693 * config/rs6000/power8.md (power8-idiv, power8-ldiv): Adjust.
2694 * config/rs6000/rs64.md (rs64a-idiv, rs64a-ldiv): Adjust.
2695 * config/rs6000/titan.md (titan_fxu_div): Adjust.
2696
58ee9e66
SB
26972014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2698
2699 * config/rs6000/rs6000.md (type): Delete "insert_word",
2700 "insert_dword". Add "insert".
2701 (size): Update comment.
2702 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
2703 insn_must_be_first_in_group): Adjust.
2704 (insvsi_internal, *insvsi_internal1, *insvsi_internal2,
2705 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
2706 *insvsi_internal6, insvdi_internal): Adjust.
2707
2708 * config/rs6000/40x.md (ppc403-integer): Adjust.
2709 * config/rs6000/440.md (ppc440-integer): Adjust.
2710 * config/rs6000/476.md (ppc476-simple-integer): Adjust.
2711 * config/rs6000/601.md (ppc601-integer): Adjust.
2712 * config/rs6000/603.md (ppc603-integer): Adjust.
2713 * config/rs6000/6xx.md (ppc604-integer): Adjust.
2714 * config/rs6000/7450.md (ppc7450-integer): Adjust.
2715 * config/rs6000/7xx.md (ppc750-integer): Adjust.
2716 * config/rs6000/8540.md (ppc8540_su): Adjust.
2717 * config/rs6000/cell.md (cell-integer, cell-insert): Adjust.
2718 * config/rs6000/e300c2c3.md (ppce300c3_iu): Adjust.
2719 * config/rs6000/e500mc.md (e500mc_su): Adjust.
2720 * config/rs6000/e500mc64.md (e500mc64_su): Adjust.
2721 * config/rs6000/e5500.md (e5500_sfx): Adjust.
2722 * config/rs6000/e6500.md (e6500_sfx): Adjust.
2723 * config/rs6000/mpc.md (mpccore-integer): Adjust.
2724 * config/rs6000/power4.md (power4-integer, power4-insert): Adjust.
2725 * config/rs6000/power5.md (power5-integer, power5-insert): Adjust.
d4082970 2726 * config/rs6000/power6.md (power6-insert, power6-insert-dword): Adjust.
58ee9e66
SB
2727 * config/rs6000/power7.md (power7-integer): Adjust.
2728 * config/rs6000/power8.md (power8-1cyc): Adjust.
2729 * config/rs6000/rs64.md (rs64a-integer): Adjust.
2730 * config/rs6000/titan.md (titan_fxu_shift_and_rotate): Adjust.
2731
e0528ed9
SB
27322014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2733
2734 * config/rs6000/rs6000.md (type): Add "mul". Delete "imul",
2735 "imul2", "imul3", "lmul", "imul_compare", "lmul_compare".
2736 (size): New attribute.
2737 (dot): New attribute.
2738 (cell_micro): Adjust.
2739 (mulsi3, *mulsi3_internal1, *mulsi3_internal2, mulsidi3,
2740 umulsidi3, smulsi3_highpart, umulsi3_highpart, muldi3,
2741 *muldi3_internal1, *muldi3_internal2, smuldi3_highpart,
2742 umuldi3_highpart): Adjust.
2743 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_cracked_insn,
2744 rs6000_adjust_priority, is_nonpipeline_insn,
2745 insn_must_be_first_in_group, insn_must_be_last_in_group): Adjust.
2746
2747 * config/rs6000/40x.md (ppc403-imul, ppc405-imul, ppc405-imul2,
2748 ppc405-imul3): Adjust.
2749 * config/rs6000/440.md (ppc440-imul, ppc440-imul2): Adjust.
2750 * config/rs6000/476.md (ppc476-imul): Adjust.
2751 * config/rs6000/601.md (ppc601-imul): Adjust.
2752 * config/rs6000/603.md (ppc603-imul, ppc603-imul2): Adjust.
2753 * config/rs6000/6xx.md (ppc604-imul, ppc604e-imul, ppc620-imul,
2754 ppc620-imul2, ppc620-imul3, ppc620-lmul): Adjust.
2755 * config/rs6000/7450.md (ppc7450-imul, ppc7450-imul2): Adjust.
2756 * config/rs6000/7xx.md (ppc750-imul, ppc750-imul2, ppc750-imul3):
2757 Adjust.
2758 * config/rs6000/8540.md (ppc8540_multiply): Adjust.
2759 * config/rs6000/a2.md (ppca2-imul, ppca2-lmul): Adjust.
2760 * config/rs6000/cell.md (cell-lmul, cell-lmul-cmp, cell-imul23,
2761 cell-imul): Adjust.
2762 * config/rs6000/e300c2c3.md (ppce300c3_multiply): Adjust.
2763 * config/rs6000/e500mc.md (e500mc_multiply): Adjust.
2764 * config/rs6000/e500mc64.md (e500mc64_multiply): Adjust.
2765 * config/rs6000/e5500.md (e5500_multiply, e5500_multiply_i): Adjust.
2766 * config/rs6000/e6500.md (e6500_multiply, e6500_multiply_i): Adjust.
2767 * config/rs6000/mpc.md (mpccore-imul): Adjust.
2768 * config/rs6000/power4.md (power4-lmul-cmp, power4-imul-cmp,
2769 power4-lmul, power4-imul, power4-imul3): Adjust.
2770 * config/rs6000/power5.md (power5-lmul-cmp, power5-imul-cmp,
2771 power5-lmul, power5-imul, power5-imul3): Adjust.
2772 * config/rs6000/power6.md (power6-lmul-cmp, power6-imul-cmp,
2773 power6-lmul, power6-imul, power6-imul3): Adjust.
2774 * config/rs6000/power7.md (power7-mul, power7-mul-compare): Adjust.
2775 * config/rs6000/power8.md (power8-mul, power8-mul-compare): Adjust.
2776
2777 * config/rs6000/rs64.md (rs64a-imul, rs64a-imul2, rs64a-imul3,
2778 rs64a-lmul): Adjust.
2779 * config/rs6000/titan.md (titan_imul): Adjust.
2780
1263d642
SB
27812014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2782
2783 * config/rs6000/rs6000.md (type): Add new value "halfmul".
2784 (*macchwc, *macchw, *macchwuc, *macchwu, *machhwc, *machhw,
2785 *machhwuc, *machhwu, *maclhwc, *maclhw, *maclhwuc, *maclhwu,
2786 *nmacchwc, *nmacchw, *nmachhwc, *nmachhw, *nmaclhwc, *nmaclhw,
2787 *mulchwc, *mulchw, *mulchwuc, *mulchwu, *mulhhwc, *mulhhw,
d4082970 2788 *mulhhwuc, *mulhhwu, *mullhwc, *mullhw, *mullhwuc, *mullhwu): Use it.
1263d642
SB
2789 * config/rs6000/40x.md (ppc405-imul3): Add type halfmul.
2790 * config/rs6000/440.md (ppc440-imul2): Add type halfmul.
2791 * config/rs6000/476.md (ppc476-imul): Add type halfmul.
2792 * config/rs6000/titan.md: Delete nonsensical comment.
2793 (titan_imul): Add type imul3.
2794 (titan_mulhw): Remove type imul3; add type halfmul.
2795
1be6301a
SB
27962014-05-23 Segher Boessenkool <segher@kernel.crashing.org>
2797
2798 * config/rs6000/rs6000.md (type): Reorder, reformat.
2799
8aab5218
MJ
28002014-05-23 Martin Jambor <mjambor@suse.cz>
2801
2802 PR tree-optimization/53787
2803 * params.def (PARAM_IPA_MAX_AA_STEPS): New param.
2804 * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
2805 analysis_done, update all uses.
2806 * ipa-prop.c: Include domwalk.h
2807 (param_analysis_info): Removed.
2808 (param_aa_status): New type.
2809 (ipa_bb_info): Likewise.
2810 (func_body_info): Likewise.
2811 (ipa_get_bb_info): New function.
2812 (aa_overwalked): Likewise.
2813 (find_dominating_aa_status): Likewise.
2814 (parm_bb_aa_status_for_bb): Likewise.
2815 (parm_preserved_before_stmt_p): Changed to use new param AA info.
2816 (load_from_unmodified_param): Accept func_body_info as a parameter
2817 instead of parms_ainfo.
2818 (parm_ref_data_preserved_p): Changed to use new param AA info.
2819 (parm_ref_data_pass_through_p): Likewise.
2820 (ipa_load_from_parm_agg_1): Likewise. Update callers.
2821 (compute_complex_assign_jump_func): Changed to use new param AA info.
2822 (compute_complex_ancestor_jump_func): Likewise.
2823 (ipa_compute_jump_functions_for_edge): Likewise.
2824 (ipa_compute_jump_functions): Removed.
2825 (ipa_compute_jump_functions_for_bb): New function.
2826 (ipa_analyze_indirect_call_uses): Likewise, moved variable
2827 declarations down.
2828 (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
2829 and info, moved variable declarations down.
2830 (ipa_analyze_call_uses): Accept and pass on func_body_info instead of
2831 node and info.
2832 (ipa_analyze_stmt_uses): Likewise.
2833 (ipa_analyze_params_uses): Removed.
2834 (ipa_analyze_params_uses_in_bb): New function.
2835 (ipa_analyze_controlled_uses): Likewise.
2836 (free_ipa_bb_info): Likewise.
2837 (analysis_dom_walker): New class.
2838 (ipa_analyze_node): Handle node-specific forbidden analysis,
2839 initialize and free func_body_info, use dominator walker.
2840 (ipcp_modif_dom_walker): New class.
2841 (ipcp_transform_function): Create and free func_body_info, use
2842 ipcp_modif_dom_walker, moved a lot of functionality there.
2843
85a16bf8
MP
28442014-05-23 Marek Polacek <polacek@redhat.com>
2845 Jakub Jelinek <jakub@redhat.com>
2846
2847 * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
2848 * gcc.c (sanitize_spec_function): Likewise.
2849 * convert.c (convert_to_integer): Include "ubsan.h". Add
2850 floating-point to integer instrumentation.
2851 * doc/invoke.texi: Document -fsanitize=float-cast-overflow.
2852 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
2853 SANITIZE_NONDEFAULT.
2854 * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
2855 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
2856 BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
2857 * ubsan.c: Include "realmpfr.h" and "dfp.h".
2858 (get_ubsan_type_info_for_type): Handle REAL_TYPEs.
2859 (ubsan_type_descriptor): Set tkind to 0xffff for types other than
2860 float/double/long double.
2861 (ubsan_instrument_float_cast): New function.
2862 * ubsan.h (ubsan_instrument_float_cast): Declare.
2863
40c0a159 28642014-05-23 Jiong Wang <jiong.wang@arm.com>
fee9ba42
JW
2865
2866 * config/aarch64/predicates.md (aarch64_call_insn_operand): New
2867 predicate.
2868 * config/aarch64/constraints.md ("Ucs", "Usf"): New constraints.
2869 * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
2870 Adjust for tailcalling through registers.
2871 * config/aarch64/aarch64.h (enum reg_class): New caller save
2872 register class.
2873 (REG_CLASS_NAMES): Likewise.
2874 (REG_CLASS_CONTENTS): Likewise.
2875 * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall):
2876 Allow tailcalling without decls.
2877
ed20ae98
TS
28782014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2879
09af4b4c
TS
2880 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
2881 Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
2882
ed20ae98
TS
2883 * omp-low.c (expand_omp_for_static_chunk): Rename variable si to
2884 gsi, and variables v_* to v*.
2885
4adf63f9
EB
28862014-05-23 Eric Botcazou <ebotcazou@adacore.com>
2887
2888 * varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
2889
a5a5434f
TS
28902014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2891
0aadce73
TS
2892 * gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
2893 * omp-low.c: Update accordingly.
2894
eb63c927
TS
2895 * gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
2896 for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
2897 GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
2898 GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
2899 GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
2900 GF_OMP_TARGET_KIND_UPDATE.
2901
a5a5434f
TS
2902 * gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
2903 Explicitly enumerate the expected region types.
2904
ee526ea7
PE
29052014-05-23 Paul Eggert <eggert@cs.ucla.edu>
2906
2907 PR other/56955
2908 * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
2909 documentation; the old documentation didn't clearly state the
2910 constraints on the contents of the pointed-to storage.
2911
676cad4d
MK
29122014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
2913
2914 Fix bootstrap error on ia64
2915 * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
2916 Return default value.
2917
73984f84
TP
29182014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2919
2920 PR tree-optimization/54733
2921 * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
2922 (CMPNOP): Define.
2923 (find_bswap_or_nop_load): New.
2924 (find_bswap_1): Renamed to ...
2925 (find_bswap_or_nop_1): This. Also add support for memory source.
2926 (find_bswap): Renamed to ...
2927 (find_bswap_or_nop): This. Also add support for memory source and
58126368
TP
2928 detection of bitwise operations equivalent to load in target
2929 endianness.
73984f84
TP
2930 (execute_optimize_bswap): Likewise. Also move its leading comment back
2931 in place and split statement transformation into ...
2932 (bswap_replace): This.
2933
b17ec42d
VM
29342014-05-22 Vladimir Makarov <vmakarov@redhat.com>
2935
2936 PR rtl-optimization/61215
2937 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
2938 simplify_gen_subreg until final substitution.
2939
ea9364db
AM
29402014-05-23 Alan Modra <amodra@gmail.com>
2941
2942 PR target/61231
2943 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
2944 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
2945 Use "Y" constraint rather than "m".
2946
aa87aced
KV
29472014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
2948
2949 * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
2950 define.
2951 * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
2952 New function declaration.
2953 * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
2954 AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
2955 AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
2956 (aarch64_init_builtins) : Initialize builtins
2957 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
2958 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
2959 (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
2960 __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
2961 and __builtins_aarch64_set_fpsr.
2962 (aarch64_atomic_assign_expand_fenv): New function.
2963 * config/aarch64/aarch64.md (set_fpcr): New pattern.
2964 (get_fpcr) : Likewise.
2965 (set_fpsr) : Likewise.
2966 (get_fpsr) : Likewise.
2967 (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
2968 and UNSPECV_SET_FPSR.
2969 * doc/extend.texi (AARCH64 Built-in Functions) : Document
2970 __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
2971 __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
2972
0a1eb350
VM
29732014-05-22 Vladimir Makarov <vmakarov@redhat.com>
2974
2975 PR rtl-optimization/60969
2976 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
2977 constraints. Set up mem cost for NO_REGS case.
2978
f6a7cffc
TS
29792014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2980
2981 * builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
2982
4000360e
BS
29832012-05-22 Bernd Schmidt <bernds@codesourcery.com>
2984
2985 * config/darwin.c: Include "lto-section-names.h".
2986 (LTO_SEGMENT_NAME): Don't define.
2987 * config/i386/winnt.c: Include "lto-section-names.h".
2988 * lto-streamer.c: Include "lto-section-names.h".
2989 * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
2990 * lto-wrapper.c: Include "lto-section-names.h".
2991 (LTO_SECTION_NAME_PREFIX): Don't define.
2992 * lto-section-names.h: New file.
2993 * cgraphunit.c: Include "lto-section-names.h".
2994
c9aee450
PB
29952014-05-22 Peter Bergner <bergner@vnet.ibm.com>
2996
2997 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
2998
37f2edf5
RE
29992014-05-22 Richard Earnshaw <rearnsha@arm.com>
3000
3001 PR target/61208
3002 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
3003
1ad47ee5
NC
30042014-05-22 Nick Clifton <nickc@redhat.com>
3005
d4082970 3006 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
1ad47ee5 3007
1f9c420b
EB
30082014-05-22 Eric Botcazou <ebotcazou@adacore.com>
3009
3010 * tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
3011 -> (T)A transformation to integer types.
3012
e3f0315f
TJ
30132014-05-22 Teresa Johnson <tejohnson@google.com>
3014
3015 * gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
3016 (gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
3017 (gcov_rewrite): Use gcov_nonruntime_assert.
3018 (gcov_open): Ditto.
3019 (gcov_write_words): Ditto.
3020 (gcov_write_length): Ditto.
3021 (gcov_read_words): Use gcov_nonruntime_assert, and remove
3022 gcc_assert from IN_LIBGCOV code.
3023 (gcov_read_summary): Use gcov_error to flag profile corruption.
3024 (gcov_sync): Use gcov_nonruntime_assert.
3025 (gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
3026 (gcov_histo_index): Use gcov_nonruntime_assert.
3027 (static void gcov_histogram_merge): Ditto.
3028 (compute_working_sets): Ditto.
3029 * gcov-io.h (gcov_nonruntime_assert): Define.
3030 (gcov_error): Define for !IN_LIBGCOV
3031
c8f49949
RB
30322014-05-22 Richard Biener <rguenther@suse.de>
3033
3034 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
3035 BUILT_IN_REALLOC like BUILT_IN_STRDUP.
3036 (call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
3037 and deallocation site.
3038 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
3039 Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
3040 passing through the incoming points-to set.
3041 (handle_lhs_call): Use flags argument instead of recomputing it.
3042 (find_func_aliases_for_call): Call handle_lhs_call with proper
3043 call return flags.
3044
a822564d
JJ
30452014-05-22 Jakub Jelinek <jakub@redhat.com>
3046
3047 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
3048 all padding bits in REAL_VALUE_TYPE are cleared.
3049
4960a0cb
MK
30502014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3051
3052 Cleanup and improve multipass_dfa_lookahead_guard
d4082970
MT
3053 * config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
3054 (core2i7_first_cycle_multipass_begin,)
3055 (core2i7_first_cycle_multipass_issue,)
3056 (core2i7_first_cycle_multipass_backtrack): Update signature.
3057 * config/ia64/ia64.c
3058 (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
3059 (ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
3060 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
3061 hook definition.
3062 (ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
3063 ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
3064 values.
3065 * config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
3066 return values.
3067 * doc/tm.texi: Regenerate.
3068 * doc/tm.texi.in
3069 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
3070 * haifa-sched.c (ready_try): Make signed to allow negative values.
3071 (rebug_ready_list_1): Update.
3072 (choose_ready): Simplify.
3073 (sched_extend_ready_list): Update.
4960a0cb 3074
16d83dd6
MK
30752014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3076
3077 Remove IA64 speculation tweaking flags
d4082970
MT
3078 * config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
3079 speculation tuning flags.
3080 (msched-prefer-non-data-spec-insns,)
3081 (msched-prefer-non-control-spec-insns): Obsolete options.
3082 * haifa-sched.c (choose_ready): Remove handling of
3083 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
3084 * sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
3085 and PREFER_NON_DATA_SPEC.
3086 * sel-sched.c (process_spec_exprs): Remove handling of
3087 PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
16d83dd6 3088
69da098b
MK
30892014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3090
3091 Improve scheduling debug output
3092 * haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
3093 (advance_one_cycle): Update.
3094 (schedule_insn, queue_to_ready): Add debug printouts.
3095 (debug_ready_list_1): New static function.
3096 (debug_ready_list): Update.
3097 (max_issue): Add debug printouts.
3098 (dump_insn_stream): New static function.
3099 (schedule_block): Use it. Also better indent printouts.
3100
31012014-05-22 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
3102
3103 Fix sched_insn debug counter
3104 * haifa-sched.c (schedule_insn): Update.
3105 (struct haifa_saved_data): Add nonscheduled_insns_begin.
3106 (save_backtrack_point, restore_backtrack_point): Update.
3107 (first_nonscheduled_insn): New static function.
3108 (queue_to_ready, choose_ready): Use it.
3109 (schedule_block): Init nonscheduled_insns_begin.
3110 (sched_emit_insn): Update.
3111
3112
a4a182c6
KV
31132014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
3114
3115 * config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
3116 to GENERAL_REGS.
3117 (aarch64_secondary_reload) : LikeWise.
3118 (aarch64_class_max_nregs) : Remove CORE_REGS.
3119 * config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
3120 (REG_CLASS_NAMES) : Likewise.
3121 (REG_CLASS_CONTENTS) : LikeWise.
3122 (INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
3123
9652331a
GW
31242014-05-21 Guozhi Wei <carrot@google.com>
3125
3126 PR target/61202
3127 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
3128 constraint.
3129 (vqdmulhq_n_s16): Likewise.
3130
0bfba043
SB
31312014-05-21 Segher Boessenkool <segher@kernel.crashing.org>
3132
3133 * config/rs6000/predicates.md (update_indexed_address_mem): Delete.
3134
1edb7356
MP
31352014-05-21 Marek Polacek <polacek@redhat.com>
3136
3137 PR sanitizer/61272
3138 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
3139
2acb1027
MJ
31402014-05-21 Martin Jambor <mjambor@suse.cz>
3141
3142 * doc/invoke.texi (Optimize Options): Document parameters
3143 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
3144 ipa-cp-array-index-hint-bonus.
3145
7315daa6
MW
31462014-05-21 Mark Wielaard <mjw@redhat.com>
3147
3148 PR debug/16063
3149 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
3150 version >= 3 or not strict DWARF.
3151 * langhooks.h (struct lang_hooks_for_types): Add
3152 enum_underlying_base_type.
3153 * langhooks.c (lhd_enum_underlying_base_type): New function.
3154 * gcc/langhooks.h (struct lang_hooks_for_types): Add
3155 enum_underlying_base_type.
3156 * langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
3157 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
3158 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
3159
95989e5c
RB
31602014-05-21 Richard Biener <rguenther@suse.de>
3161
d4082970 3162 * doc/invoke.texi (-flto-partition=): Document one and none algorithms.
95989e5c 3163
dbed5a9b
JM
31642014-05-21 John Marino <gnugcc@marino.st>
3165
3166 * config.gcc (*-*-dragonfly*): New target.
3167 * configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
3168 * configure: Regenerate.
3169 * config/dragonfly-stdint.h: New.
3170 * config/dragonfly.h: New.
3171 * config/dragonfly.opt: New.
3172 * config/i386/dragonfly.h: New.
3173 * ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
3174
632f2871
RS
31752014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3176
3177 * tree.def (VOID_CST): New.
3178 * tree-core.h (TI_VOID): New.
3179 * tree.h (void_node): New.
3180 * tree.c (tree_node_structure_for_code, tree_code_size)
3181 (iterative_hash_expr): Handle VOID_CST.
3182 (build_common_tree_nodes): Initialize void_node.
3183
8a9e6b45
BS
31842014-05-21 Bernd Schmidt <bernds@codesourcery.com>
3185
bffe67e7
BS
3186 * reload1.c (remove_init_insns, will_delete_init_insn_p): New static
3187 functions.
3188 (reload, calculate_needs_all_insns, reload_as_needed): Use them.
3189
0836b77f
BS
3190 * config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
3191 more places.
3192
8a9e6b45
BS
3193 * cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
3194 flag_reorder_blocks_and_partition.
3195 * hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
3196
c4e5de1b
OE
31972014-05-21 Oleg Endo <olegendo@gcc.gnu.org>
3198
3199 PR target/54236
3200 * config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
3201 constraints.
3202 (*addc_r_t): Add new insn_and_split.
3203
decaaec8
JJ
32042014-05-21 Jakub Jelinek <jakub@redhat.com>
3205
3206 PR middle-end/61252
3207 * omp-low.c (handle_simd_reference): New function.
3208 (lower_rec_input_clauses): Use it. Defer adding reference
3209 initialization even for reduction without placeholder if in simd,
3210 handle it properly later on.
3211
3aaf0529
JH
32122014-05-20 Jan Hubicka <hubicka@ucw.cz>
3213
3214 PR tree-optimization/60899
3215 * gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
3216 assume all static symbols will have definition wile parsing and
3217 check the do have definition later in compilation; check that
3218 variable referring symbol will be output before concluding that
3219 reference is safe; be conservative for referring local statics;
3220 be more precise about when comdat is output in other partition.
3221
1bbb87c4
JH
32222014-05-20 Jan Hubicka <hubicka@ucw.cz>
3223
3224 PR bootstrap/60984
d4082970
MT
3225 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
3226 parameter.
1bbb87c4 3227 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
d4082970
MT
3228 (ipa_inline): Loop inline_to_all_callers until no more aliases
3229 are removed.
1bbb87c4 3230
d5ce4663
JH
32312014-05-20 Jan Hubicka <hubicka@ucw.cz>
3232
3233 * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
3234 set writeonly flag only for vars actually written to.
3235
98339851
DC
32362014-05-20 Dehao Chen <dehao@google.com>
3237
3238 * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
3239 and callee count to get clone count.
3240 * tree-inline.c (expand_call_inline): Use callee count instead of bb
3241 count in copy_body.
3242
ec27069c
RS
32432014-05-20 Richard Sandiford <rdsandiford@googlemail.com>
3244
3245 PR rtl-optimization/61243
3246 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
3247
2b5f0895
XDL
32482014-05-20 Xinliang David Li <davidxl@google.com>
3249
3250 * cgraphunit.c (walk_polymorphic_call_targets): Add
3251 dbgcnt and fopt-info support.
3252 * ipa-prop.c (ipa_make_edge_direct_to_target): Ditto.
3253 * ipa-devirt.c (ipa_devirt): Ditto.
d4082970 3254 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Ditto.
2b5f0895
XDL
3255 * ipa.c (walk_polymorphic_call_targets): Ditto.
3256 * gimple-fold.c (fold_gimple_assign): Ditto.
3257 (gimple_fold_call): Ditto.
3258 * dbgcnt.def: New counter.
3259
9c5f6203
DD
32602014-05-20 DJ Delorie <dj@redhat.com>
3261
3262 * config/msp430/msp430.md (split): Don't allow subregs when
3263 splitting SImode adds.
3264 (andneghi): Fix subtraction logic.
3265 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
3266
cf288ed3
JH
32672014-05-20 Jan Hubicka <hubicka@ucw.cz>
3268
3269 * tree.h (DECL_ONE_ONLY): Return true only for externally visible
3270 symbols.
3271 * except.c (switch_to_exception_section, resolve_unique_section,
d4082970 3272 get_named_text_section, default_function_rodata_section,
cf288ed3
JH
3273 align_variable, get_block_for_decl, default_section_type_flags):
3274 Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
3275 * symtab.c (symtab_add_to_same_comdat_group,
3276 symtab_make_decl_local, fixup_same_cpp_alias_visibility,
3277 symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
3278 Likewise.
3279 * cgraphclones.c (cgraph_create_virtual_clone): Likewise.
3280 * bb-reorder.c (pass_partition_blocks::gate): Likewise.
3281 * config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
3282 (c6x_function_in_section_p): Likewise.
3283 * config/darwin.c (machopic_select_section): Likewise.
3284 * config/arm/arm.c (arm_function_in_section_p): Likewise.
3285 * config/mips/mips.c (mips_function_rodata_section): Likewise.
3286 * config/mep/mep.c (mep_select_section): LIkewise.
3287 * config/i386/i386.c (x86_64_elf_unique_section): Likewise.
3288
7eab31ed
EB
32892014-05-20 Eric Botcazou <ebotcazou@adacore.com>
3290
3291 * tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
3292 EH region of calls to pure functions that can throw an exception.
3293 * tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
3294 (copy_reference_ops_from_call): Also copy the EH region of the call if
3295 it can throw an exception.
3296
ec217bd8
BS
32972014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3298
3299 * simplify-rtx.c (simplify_binary_operation_1): Optimize case of
3300 nested VEC_SELECTs that are inverses of each other.
3301
b2b222b3
RB
33022014-05-20 Richard Biener <rguenther@suse.de>
3303
d4082970 3304 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
b2b222b3
RB
3305 (extract_and_process_scc_for_name): not here.
3306 (cond_dom_walker::before_dom_children): Only process
3307 stmts that end the BB in interesting ways.
3308 (run_scc_vn): Mark param uses as visited.
3309
e9ea5185
KT
33102014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3311
3312 * config/arm/arm.md (arith_shiftsi): Do not predicate for
3313 arm_restrict_it.
3314
8f0e7f6f
NC
33152014-05-20 Nick Clifton <nickc@redhat.com>
3316
467fc67c
NC
3317 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
3318 (msp430_gimplify_va_arg_expr): New function.
3319 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
3320
8f0e7f6f
NC
3321 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
3322 operand 0 in order to prevent confusion about the number of
3323 registers involved.
3324
d1c0308e
RB
33252014-05-20 Richard Biener <rguenther@suse.de>
3326
3327 PR tree-optimization/61221
3328 * tree-ssa-pre.c (el_to_update): Remove.
3329 (eliminate_dom_walker::before_dom_children): Handle released
3330 VDEFs by value-numbering them to the associated VUSE. Update
3331 stmt immediately for substituted call address.
3332 (eliminate): Remove delayed stmt updating code.
3333 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
3334 possibly late re-numbered vuses.
3335 (vn_reference_lookup_2): Adjust.
3336 (vn_reference_lookup_pieces): Likewise.
3337 (vn_reference_lookup): Likewise.
3338
54da09ee
RB
33392014-05-20 Richard Biener <rguenther@suse.de>
3340
3341 * config.gcc: Remove need_64bit_hwint.
3342 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
3343 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
3344 it to be true.
3345 * config.in: Regenerate.
3346 * configure: Likewise.
3347
883755a1
DW
33482014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
3349
3350 * doc/extend.texi: Create Label Attributes section,
3351 move all label attributes into it and reference it.
3352
514b3156
RE
33532014-05-19 Richard Earnshaw <rearnsha@arm.com>
3354
3355 * arm.c (thumb1_reorg): When scanning backwards skip anything
3356 that's not a proper insn.
3357
1d44def2
RB
33582014-05-19 Richard Biener <rguenther@suse.de>
3359
3360 PR tree-optimization/61221
3361 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
3362 Do nothing for unreachable blocks.
3363 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
3364 Improve unreachability detection.
3365
05135136
RB
33662014-05-19 Richard Biener <rguenther@suse.de>
3367
3368 PR tree-optimization/61209
3369 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
3370
40ba8dfb
NC
33712014-05-19 Nick Clifton <nickc@redhat.com>
3372
3373 * except.c (init_eh): Fix computation of builtin setjmp buffer
3374 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
3375
cb460086
RB
33762014-05-19 Richard Biener <rguenther@suse.de>
3377
3378 PR tree-optimization/61184
3379 * tree-vrp.c (is_negative_overflow_infinity): Use
3380 TREE_OVERFLOW_P and do that check first.
3381 (is_positive_overflow_infinity): Likewise.
3382 (is_overflow_infinity): Likewise.
3383 (vrp_operand_equal_p): Properly treat operands with
3384 differing overflow as not equal.
3385
bddd3671
BS
33862014-05-19 Bernd Schmidt <bernds@codesourcery.com>
3387
3388 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
3389 shift simplification where it was intended.
3390
72d82e7a
CB
33912014-05-19 Christian Bruel <christian.bruel@st.com>
3392
3393 PR target/61195
3394 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
3395
34dbb287
RS
33962014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
3397
3398 PR target/61084
3399 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
3400 than wide_int.
3401
339ba33b
RS
34022014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
3403
3404 * reg-notes.def (CROSSING_JUMP): Likewise.
3405 * rtl.h (rtx_def): Update comment for jump flag.
3406 (CROSSING_JUMP_P): Define.
3407 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
3408 of a REG_CROSSING_JUMP note.
3409 * cfghooks.c (tidy_fallthru_edges): Likewise.
3410 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
3411 * emit-rtl.c (try_split): Likewise.
3412 * haifa-sched.c (sched_create_recovery_edges): Likewise.
3413 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
3414 * jump.c (redirect_jump_2): Likewise.
3415 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
3416 (relax_delay_slots): Likewise.
3417 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
3418 (bbit_di): Likewise.
3419 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
3420 * config/sh/sh.md (jump_compact): Likewise.
3421 * bb-reorder.c (rotate_loop): Likewise.
3422 (pass_duplicate_computed_gotos::execute): Likewise.
3423 (add_reg_crossing_jump_notes): Rename to...
3424 (update_crossing_jump_flags): ...this.
3425 (pass_partition_blocks::execute): Update accordingly.
3426
a65d5b87
RS
34272014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
3428
3429 * tree.h: Remove extraneous template <>.
3430
7b3376a0
JH
34312014-05-17 Jan Hubicka <hubicka@ucw.cz>
3432
3433 * ipa.c (symtab_remove_unreachable_nodes): Remove
3434 symbol from comdat group if its body was eliminated.
d4082970
MT
3435 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
3436 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
7b3376a0
JH
3437 (symtab_unregister_node): ... this one.
3438 (verify_symtab_base): More strict checking of comdats.
3439 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
3440
a04d9035
JH
34412014-05-17 Jan Hubicka <hubicka@ucw.cz>
3442
3443 * tree-pass.h (make_pass_ipa_comdats): New pass.
3444 * timevar.def (TV_IPA_COMDATS): New timevar.
3445 * passes.def (pass_ipa_comdats): Add.
3446 * Makefile.in (OBJS): Add ipa-comdats.o
3447 * ipa-comdats.c: New file.
3448
24a71ba8
JH
34492014-05-17 Jan Hubicka <hubicka@ucw.cz>
3450
3451 * ipa.c (update_visibility_by_resolution_info): New function.
3452 (function_and_variable_visibility): Use it.
3453
d6d229c6
JH
34542014-05-17 Jan Hubicka <hubicka@ucw.cz>
3455
3456 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
3457 New functions.
3458 (FOR_EACH_DEFINED_SYMBOL): New macro.
3459 (varpool_first_static_initializer, varpool_next_static_initializer,
d4082970
MT
3460 varpool_first_defined_variable, varpool_next_defined_variable):
3461 Fix comments.
d6d229c6
JH
3462 (symtab_in_same_comdat_p): Correctly deal with inline functions.
3463
c3af645c
TS
34642014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3465
3466 * ggc-page.c (ggc_handle_finalizers): Add comment.
3467
de49ce19
TS
34682014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3469
3470 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
3471 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
3472 (ggc_internal_cleared_alloc): Likewise.
3473 * ggc-page.c (finalizer): New class.
16f8dfdb 3474 (vec_finalizer): Likewise.
de49ce19 3475 (globals::finalizers): New member.
16f8dfdb 3476 (globals::vec_finalizers): Likewise.
de49ce19
TS
3477 (ggc_internal_alloc): Record the finalizer if any for the block being
3478 allocated.
3479 (ggc_handle_finalizers): New function.
3480 (ggc_collect): Call ggc_handle_finalizers.
3481 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
3482 finalizer.
3483 (ggc_internal_cleared_alloc): Likewise.
3484 (finalize): New function.
3485 (need_finalization_p): Likewise.
3486 (ggc_alloc): Install the type's destructor as the finalizer if it
3487 might do something.
3488 (ggc_cleared_alloc): Likewise.
3489 (ggc_vec_alloc): Likewise.
3490 (ggc_cleared_vec_alloc): Likewise.
3491
04eec987
TS
34922014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3493
3494 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
3495
766090c2
TS
34962014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3497
3498 * alias.c (record_alias_subset): Adjust.
3499 * bitmap.c (bitmap_element_allocate): Likewise.
3500 (bitmap_gc_alloc_stat): Likewise.
3501 * cfg.c (init_flow): Likewise.
3502 (alloc_block): Likewise.
3503 (unchecked_make_edge): Likewise.
3504 * cfgloop.c (alloc_loop): Likewise.
3505 (flow_loops_find): Likewise.
3506 (rescan_loop_exit): Likewise.
3507 * cfgrtl.c (init_rtl_bb_info): Likewise.
3508 * cgraph.c (insert_new_cgraph_node_version): Likewise.
3509 (cgraph_allocate_node): Likewise.
3510 (cgraph_create_edge_1): Likewise.
3511 (cgraph_allocate_init_indirect_info): Likewise.
3512 * cgraphclones.c (cgraph_clone_edge): Likewise.
3513 * cgraphunit.c (add_asm_node): Likewise.
3514 (init_lowered_empty_function): Likewise.
16f8dfdb 3515 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
3516 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
3517 (alpha_use_linkage): Likewise.
3518 * config/arc/arc.c (arc_init_machine_status): Likewise.
3519 * config/arm/arm.c (arm_init_machine_status): Likewise.
3520 * config/avr/avr.c (avr_init_machine_status): Likewise.
3521 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
3522 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
3523 * config/cris/cris.c (cris_init_machine_status): Likewise.
3524 * config/darwin.c (machopic_indirection_name): Likewise.
3525 (darwin_build_constant_cfstring): Likewise.
3526 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 3527 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
3528 * config/frv/frv.c (frv_init_machine_status): Likewise.
3529 * config/i386/i386.c (get_dllimport_decl): Likewise.
3530 (ix86_init_machine_status): Likewise.
3531 (assign_386_stack_local): Likewise.
16f8dfdb 3532 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
3533 (i386_pe_maybe_record_exported_symbol): Likewise.
3534 (i386_pe_record_stub): Likewise.
3535 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
3536 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
3537 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
3538 (m32c_note_pragma_address): Likewise.
3539 * config/mep/mep.c (mep_init_machine_status): Likewise.
3540 (mep_note_pragma_flag): Likewise.
3541 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
3542 (mips16_local_alias): Likewise.
3543 (mips_init_machine_status): Likewise.
3544 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
3545 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
3546 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
3547 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
3548 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
3549 * config/pa/pa.c (pa_init_machine_status): Likewise.
3550 (pa_get_deferred_plabel): Likewise.
3551 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
3552 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
3553 (rs6000_init_machine_status): Likewise.
3554 (output_toc): Likewise.
3555 * config/s390/s390.c (s390_init_machine_status): Likewise.
3556 * config/score/score.c (score_output_external): Likewise.
3557 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
3558 * config/spu/spu.c (spu_init_machine_status): Likewise.
3559 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 3560 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
3561 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
3562 * coverage.c (coverage_end_function): Likewise.
3563 * dbxout.c (dbxout_init): Likewise.
3564 * doc/gty.texi: Don't mention variable_size attribute.
3565 * dwarf2cfi.c (new_cfi): Adjust.
3566 (new_cfi_row): Likewise.
3567 (copy_cfi_row): Likewise.
3568 (create_cie_data): Likewise.
3569 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
3570 (new_loc_descr): Likewise.
3571 (find_AT_string_in_table): Likewise.
3572 (add_addr_table_entry): Likewise.
3573 (new_die): Likewise.
3574 (add_var_loc_to_decl): Likewise.
3575 (clone_die): Likewise.
3576 (clone_as_declaration): Likewise.
3577 (break_out_comdat_types): Likewise.
3578 (new_loc_list): Likewise.
3579 (add_loc_descr_to_each): Likewise.
3580 (add_location_or_const_value_attribute): Likewise.
3581 (add_linkage_name): Likewise.
3582 (lookup_filename): Likewise.
3583 (dwarf2out_var_location): Likewise.
3584 (new_line_info_table): Likewise.
3585 (dwarf2out_init): Likewise.
3586 (mem_loc_descriptor): Likewise.
3587 (loc_descriptor): Likewise.
3588 (add_const_value_attribute): Likewise.
3589 (tree_add_const_value_attribute): Likewise.
3590 (comp_dir_string): Likewise.
3591 (dwarf2out_vms_debug_main_pointer): Likewise.
3592 (string_cst_pool_decl): Likewise.
3593 * emit-rtl.c (set_mem_attrs): Likewise.
3594 (get_reg_attrs): Likewise.
3595 (start_sequence): Likewise.
3596 (init_emit): Likewise.
3597 (init_emit_regs): Likewise.
3598 * except.c (init_eh_for_function): Likewise.
3599 (gen_eh_region): Likewise.
3600 (gen_eh_region_catch): Likewise.
3601 (gen_eh_landing_pad): Likewise.
3602 (add_call_site): Likewise.
3603 * function.c (add_frame_space): Likewise.
3604 (insert_temp_slot_address): Likewise.
3605 (assign_stack_temp_for_type): Likewise.
3606 (get_hard_reg_initial_val): Likewise.
3607 (allocate_struct_function): Likewise.
3608 (prepare_function_start): Likewise.
3609 (types_used_by_var_decl_insert): Likewise.
3610 * gengtype.c (variable_size_p): Remove function.
3611 (enum alloc_quantity): Remove enum.
3612 (write_typed_alloc_def): Remove function.
3613 (write_typed_struct_alloc_def): Likewise.
3614 (write_typed_typedef_alloc_def): Likewise.
3615 (write_typed_alloc_defns): Likewise.
3616 (main): Adjust.
3617 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
3618 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
3619 * ggc.h (ggc_alloc): new function.
3620 (ggc_cleared_alloc): Likewise.
3621 (ggc_vec_alloc): Template on type of vector element, and remove
3622 element size argument.
3623 (ggc_cleared_vec_alloc): Likewise.
3624 * gimple.c (gimple_build_omp_for): Adjust.
3625 (gimple_copy): Likewise.
3626 * ipa-cp.c (get_replacement_map): Likewise.
3627 (find_aggregate_values_for_callers_subset): Likewise.
3628 (known_aggs_to_agg_replacement_list): Likewise.
3629 * ipa-devirt.c (get_odr_type): Likewise.
3630 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
3631 (read_agg_replacement_chain): Likewise.
3632 * loop-iv.c (get_simple_loop_desc): Likewise.
3633 * lto-cgraph.c (input_node_opt_summary): Likewise.
3634 * lto-section-in.c (lto_new_in_decl_state): Likewise.
3635 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
3636 (input_eh_region): Likewise.
3637 (input_eh_lp): Likewise.
3638 (input_cfg): Likewise.
3639 * optabs.c (set_optab_libfunc): Likewise.
3640 (init_tree_optimization_optabs): Likewise.
3641 (set_conv_libfunc): Likewise.
3642 * passes.c (do_per_function_toporder): Likewise.
3643 * rtl.h: Don't use variable_size gty attribute.
3644 * sese.c (if_region_set_false_region): Adjust.
3645 * stringpool.c (gt_pch_save_stringpool): Likewise.
3646 * target-globals.c (save_target_globals): Likewise.
3647 * toplev.c (general_init): Likewise.
3648 * trans-mem.c (record_tm_replacement): Likewise.
3649 (split_bb_make_tm_edge): Likewise.
3650 * tree-cfg.c (move_sese_region_to_fn): Likewise.
3651 * tree-data-ref.h (lambda_vector_new): Likewise.
3652 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
3653 * tree-iterator.c (tsi_link_before): Likewise.
3654 (tsi_link_after): Likewise.
3655 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
3656 * tree-ssa-loop-niter.c (record_estimate): Likewise.
3657 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
3658 * tree-ssa-operands.h: Don't use variable_size gty attribute.
3659 * tree-ssa.c (init_tree_ssa): Adjust.
3660 * tree-ssanames.c (set_range_info): Likewise.
3661 (get_ptr_info): Likewise.
3662 (duplicate_ssa_name_ptr_info): Likewise.
3663 (duplicate_ssa_name_range_info): Likewise.
3664 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
3665 (unpack_ts_fixed_cst_value_fields): Likewise.
3666 * tree.c (build_fixed): Likewise.
3667 (build_real): Likewise.
3668 (build_string): Likewise.
3669 (decl_priority_info): Likewise.
3670 (decl_debug_expr_insert): Likewise.
3671 (decl_value_expr_insert): Likewise.
3672 (decl_debug_args_insert): Likewise.
3673 (type_hash_add): Likewise.
3674 (build_omp_clause): Likewise.
3675 * ubsan.c (decl_for_type_insert): Likewise.
3676 * varasm.c (get_unnamed_section): Likewise.
3677 (get_noswitch_section): Likewise.
3678 (get_section): Likewise.
3679 (get_block_for_section): Likewise.
3680 (create_block_symbol): Likewise.
3681 (build_constant_desc): Likewise.
3682 (create_constant_pool): Likewise.
3683 (force_const_mem): Likewise.
3684 (record_tm_clone_pair): Likewise.
3685 * varpool.c (varpool_create_empty_node): Likewise.
3686
231120e5
TS
36872014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3688
3689 * dwarf2out.c (tree_add_const_value_attribute): Call
3690 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
3691 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
3692 instead of ggc_internal_<x>alloc_stat.
3693 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
3694 (ggc_realloc): Likewise.
3695 * ggc-none.c (ggc_internal_alloc): Likewise.
3696 (ggc_internal_cleared_alloc): Likewise.
3697 * ggc-page.c: Likewise.
3698 * ggc.h (ggc_internal_alloc_stat): Likewise.
3699 (ggc_internal_alloc): Remove macro.
3700 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
3701 (ggc_internal_cleared_alloc): Remove macro.
3702 (GGC_RESIZEVEC): Adjust.
3703 (ggc_resizevar): Remove macro.
3704 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
3705 (ggc_internal_cleared_vec_alloc_stat): Likewise.
3706 (ggc_internal_vec_cleared_alloc): Remove macro.
3707 (ggc_alloc_atomic_stat): Drop _stat suffix.
3708 (ggc_alloc_atomic): Remove macro.
3709 (ggc_alloc_cleared_atomic): Remove macro.
3710 (ggc_alloc_string_stat): Drop _stat suffix.
3711 (ggc_alloc_string): Remove macro.
3712 (ggc_alloc_rtx_def_stat): Adjust.
3713 (ggc_alloc_tree_node_stat): Likewise.
3714 (ggc_alloc_cleared_tree_node_stat): Likewise.
3715 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
3716 (ggc_alloc_cleared_simd_clone_stat): Likewise.
3717 * gimple.c (gimple_build_omp_for): Likewise.
3718 (gimple_copy): Likewise.
3719 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
3720 * toplev.c (realloc_for_line_map): Adjust.
3721 * tree-data-ref.h (lambda_vector_new): Likewise.
3722 * tree-phinodes.c (allocate_phi_node): Likewise.
3723 * tree.c (grow_tree_vec_stat): Likewise.
3724 * vec.h (va_gc::reserve): Adjust.
3725
16f8dfdb 37262014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 3727
16f8dfdb
UB
3728 * config/microblaze/microblaze.c (break_handler): New Declaration.
3729 (microblaze_break_function_p,microblaze_is_break_handler): New.
3730 (compute_frame_size): Use microblaze_break_function_p.
3731 Add the test of break_handler.
3732 (microblaze_function_prologue) : Add the test of variable
3733 break_handler. Check the fnname by BREAK_HANDLER_NAME.
3734 (microblaze_function_epilogue) : Add the test of break_handler.
3735 (microblaze_globalize_label) : Add the test of break_handler.
3736 Check the name by BREAK_HANDLER_NAME.
86498dba 3737
16f8dfdb 3738 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 3739
16f8dfdb
UB
3740 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
3741 microblaze_is_break_handler test.
3742 (call_internal1,call_value_intern): Use microblaze_break_function_p.
3743 Use SYMBOL_REF_DECL.
86498dba
AA
3744
3745 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
3746 (microblaze_break_function_p,microblaze_is_break_handler):
3747 New Declaration.
86498dba 3748
16f8dfdb
UB
3749 * doc/extend.texi (MicroBlaze break_handler Functions): Document
3750 new MicroBlaze break_handler functions.
86498dba 3751
71ca3028
UB
37522014-05-17 Uros Bizjak <ubizjak@gmail.com>
3753
3754 * doc/extend.texi (Size of an asm): Move node text according
3755 to its @menu entry position.
3756
87a34442
MG
37572014-05-17 Marc Glisse <marc.glisse@inria.fr>
3758
3759 PR tree-optimization/61140
3760 PR tree-optimization/61150
3761 PR tree-optimization/61197
3762 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
3763
6ca74b5c
UB
37642014-05-17 Uros Bizjak <ubizjak@gmail.com>
3765
3766 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
3767
60f82c42
RS
37682014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
3769
3770 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
3771 __SIZEOF_INT128__ is defined.
3772
a1242f17
RS
37732014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
3774
3775 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
3776 (rs6000_delegitimize_address): Use it.
3777
23b33725
RS
37782014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
3779
3780 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
3781 inplace argument. Store the new address in the original MEM when true.
3782 * emit-rtl.c (change_address_1): Likewise.
3783 (adjust_address_1, adjust_automodify_address_1, offset_address):
3784 Update accordingly.
3785 * rtl.h (plus_constant): Add an inplace argument.
3786 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
3787 when true. Avoid generating (plus X (const_int 0)).
3788 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
3789 in-place. Pass true to plus_constant.
3790 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
3791
2f6eed01
DC
37922014-05-16 Dehao Chen <dehao@google.com>
3793
3794 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
3795
b200de02
OE
37962014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3797
3798 PR target/54089
3799 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
3800 patterns.
3801 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
3802
cf40f973
DC
38032014-05-16 Dehao Chen <dehao@google.com>
3804
6b8ebd00
UB
3805 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
3806 optimize_function_for_size_p.
cf40f973
DC
3807 * regs.h (REG_FREQ_FROM_BB): Likewise.
3808
48d8568e
OE
38092014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3810
3811 PR target/51244
3812 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
3813 negt_reg_operand cases.
3814 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
3815 predicate.
3816 * config/sh/predicates.md (cbranch_treg_value): Simplify.
3817
d580af0f
OE
38182014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
3819
3820 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
3821 target variants.
3822
6c7571a2
DM
38232014-05-16 David Malcolm <dmalcolm@redhat.com>
3824
3825 Revert:
3826 2014-04-29 David Malcolm <dmalcolm@redhat.com>
3827
3828 * tree-cfg.c (dump_function_to_file): Dump the return type of
3829 functions, in a line to itself before the function body, mimicking
3830 the layout of a C function.
3831
b0e66512
DC
38322014-05-16 Dehao Chen <dehao@google.com>
3833
3834 * cfghooks.c (make_forwarder_block): Use direct computation to
3835 get fall-through edge's count and frequency.
3836
6b8ebd00 38372014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
3838
3839 * config/arc/arc.c (arc_init): Fix typo in error message.
3840 * config/i386/i386.c (ix86_expand_builtin): Likewise.
3841 (split_stack_prologue_scratch_regno): Likewise.
3842 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
3843 word from error message.
3844
420ab54b
ZZ
38452014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
3846
3847 * ira-costs.c: Fix typo in comment.
3848
8e90f610
DW
38492014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
3850
6b8ebd00 3851 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 3852
6de88c6a
JH
38532014-05-16 Jan Hubicka <hubicka@ucw.cz>
3854
3855 * varpool.c (dump_varpool_node): Dump write-only flag.
3856 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
3857 write-only flag.
6b8ebd00
UB
3858 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
3859 write-only variables.
3860 * ipa.c (process_references): New function.
3861 (set_readonly_bit): New function.
3862 (set_writeonly_bit): New function.
3863 (clear_addressable_bit): New function.
3864 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
3865 fix handling of aliases.
3866 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 3867
f4e075e7
VM
38682014-05-16 Vladimir Makarov <vmakarov@redhat.com>
3869
3870 PR rtl-optimization/60969
3871 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
3872 Calculate costs for this case.
3873
8b628e86
EB
38742014-05-16 Eric Botcazou <ebotcazou@adacore.com>
3875
3876 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
3877 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
3878
52264dbf
RB
38792014-05-16 Richard Biener <rguenther@suse.de>
3880
3881 PR tree-optimization/61194
3882 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
3883 bool patterns ending in a COND_EXPR.
3884
3d840f7d
JG
38852014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3886
3887 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
3888
88d4fbcf
JG
38892014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3890
3891 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
3892 where we were unable to cost an RTX.
3893
909734be
JG
38942014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3895
3896 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
3897 HIGH, LO_SUM.
3898
fb620c4a
JG
38992014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3900 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3901
3902 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
3903
b292109f
JG
39042014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3905 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3906
3907 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
3908 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
3909
a8eecd00
JG
39102014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3911 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3912
3913 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
3914 operators.
3915
4105fe38
JG
39162014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3917 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3918
3919 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
3920 DIV/MOD.
3921
39222014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
3923 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3924
3925 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
3926 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
3927
ba0cfa17
JG
39282014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3929 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3930
3931 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
3932 rotates and shifts.
3933
b1685e62
JG
39342014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3935 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3936
3937 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
3938 ZERO_EXTEND and SIGN_EXTEND better.
3939
268c3b47
JG
39402014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3941 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3942
3943 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
3944 logical operations.
3945
2961177e
JG
39462014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3947 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3948
3949 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
3950 costs when costing loads and stores to memory.
3951
ba123b0d
JG
39522014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3953 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
3954
3955 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
3956 for SET RTX.
3957
7fc5ef02
JG
39582014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3959
3960 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
3961
4745e701
JG
39622014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3963 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3964
3965 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
3966 to...
3967 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
3968 well formed.
3969 (aarch64_rtx_mult_cost): New.
3970 (aarch64_rtx_costs): Use it, refactor as appropriate.
3971
9dfc162c
JG
39722014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3973 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
3974
3975 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
3976 emit instructions, return number of instructions which would
3977 be emitted.
3978 (aarch64_add_constant): Update call to aarch64_build_constant.
3979 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 3980 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
3981 a CONST_DOUBLE.
3982
0ee859b5
JG
39832014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3984
3985 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
3986 (TARGET_RTX_COSTS): Call it.
3987
60bff090
JG
39882014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3989
3990 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
3991 (cortexa57_vector_cost): Likewise.
3992 (cortexa57_tunings): Use them.
3993
67747367
JG
39942014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
3995
3996 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
3997 (cpu_addrcost_table): Use it.
3998 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
3999 (aarch64_address_cost): Rewrite using aarch64_classify_address,
4000 move it.
4001
a764d660
RB
40022014-05-16 Richard Biener <rguenther@suse.de>
4003
4004 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
4005 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
4006 (visit_phi): Ignore edges marked as not executable.
4007 (class cond_dom_walker): New.
4008 (cond_dom_walker::before_dom_children): Value-number
4009 control statements and mark successor edges as not
4010 executable if possible.
4011 (run_scc_vn): First walk all control statements in
4012 dominator order, marking edges as not executable.
4013 * tree-inline.c (copy_edges_for_bb): Be not confused
4014 about random edge flags.
4015
a27c3860
RB
40162014-05-16 Richard Biener <rguenther@suse.de>
4017
4018 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
4019
d8c55b91
PB
40202014-05-15 Peter Bergner <bergner@vnet.ibm.com>
4021
4022 PR target/61193
4023 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
4024 (__TM_simple_begin): Use it.
4025 (__TM_begin): Likewise.
4026
8a2256dd
MJ
40272014-05-15 Martin Jambor <mjambor@suse.cz>
4028
4029 PR ipa/61085
4030 * ipa-prop.c (update_indirect_edges_after_inlining): Check
4031 type_preserved flag when the indirect edge is polymorphic.
4032
9d2681a3
MJ
40332014-05-15 Martin Jambor <mjambor@suse.cz>
4034
4035 PR tree-optimization/61090
4036 * tree-sra.c (sra_modify_expr): Pass the current gsi to
4037 build_ref_for_model.
4038
927450d0
KT
40392014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4040
4041 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
4042 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
4043
ceed6e67
JJ
40442014-05-15 Jakub Jelinek <jakub@redhat.com>
4045
4046 PR tree-optimization/61158
4047 * fold-const.c (fold_binary_loc): If X is zero-extended and
4048 shiftc >= prec, make sure zerobits is all ones instead of
4049 invoking undefined behavior.
4050
a2e6c10c
ZC
40512014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4052
4053 * regcprop.h: New file.
4054 * regcprop.c (skip_debug_insn_p): New decl.
4055 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
4056 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
4057 * shrink-wrap.c: Include regcprop.h.
4058 (prepare_shrink_wrap): Call
4059 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 4060
e974b93b
ZC
40612014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4062
4063 * shrink-wrap.h: Update comment.
4064 * shrink-wrap.c: Update comment.
4065 (next_block_for_reg): Rename to live_edge_for_reg.
4066 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
4067 (move_insn_for_shrink_wrap): Split live_edge.
4068 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
4069
88fe5e91
EB
40702014-05-14 Eric Botcazou <ebotcazou@adacore.com>
4071
4072 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
4073 Delete.
4074 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
4075 * config/sparc/sparc.md (fptype_ut699): New attribute.
4076 (in_branch_delay): Return false if -mfix-ut699 is specified and
4077 fptype_ut699 is set to single.
4078 (truncdfsf2): Add fptype_ut699 attribute.
4079 (fix_truncdfsi2): Likewise.
4080 (floatsisf2): Change fptype attribute.
4081 (fix_truncsfsi2): Likewise.
4082 (negtf2_notv9): Delete.
4083 (negtf2_v9): Likewise.
4084 (negtf2_hq): New instruction.
4085 (negtf2): New instruction and splitter.
4086 (negdf2_notv9): Rewrite.
4087 (abstf2_notv9): Delete.
4088 (abstf2_hq_v9): Likewise.
4089 (abstf2_v9): Likewise.
4090 (abstf2_hq): New instruction.
4091 (abstf2): New instruction and splitter.
4092 (absdf2_notv9): Rewrite.
4093
bc91b0e0
CC
40942014-05-14 Cary Coutant <ccoutant@google.com>
4095
6b8ebd00 4096 PR debug/61013
bc91b0e0
CC
4097 * opts.c (common_handle_option): Don't special-case "-g".
4098 (set_debug_level): Default to at least level 2 with "-g".
4099
5f35dde5
DD
41002014-05-14 DJ Delorie <dj@redhat.com>
4101
4102 * config/msp430/msp430.c (msp430_builtin): Add
4103 MSP430_BUILTIN_DELAY_CYCLES.
4104 (msp430_init_builtins): Register void __delay_cycles(long long).
4105 (msp430_builtin_decl): Add it.
4106 (cg_magic_constant): New.
4107 (msp430_expand_delay_cycles): New.
4108 (msp430_expand_builtin): Call it.
4109 (msp430_print_operand_raw): Change integer printing from "int" to
4110 HOST_WIDE_INT.
4111 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
4112 (delay_cycles_start): New.
4113 (delay_cycles_end): New.
4114 (delay_cycles_32): New.
4115 (delay_cycles_32x): New.
4116 (delay_cycles_16): New.
4117 (delay_cycles_16x): New.
4118 (delay_cycles_2): New.
4119 (delay_cycles_1): New.
4120 * doc/extend.texi: Document __delay_cycles().
4121
5d40b20f
SL
41222014-05-14 Sandra Loosemore <sandra@codesourcery.com>
4123
4124 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
4125 length attribute computation.
4126
25109109
RS
41272014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
4128
4129 PR debug/61188
4130 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
4131
7e7e4032
RS
41322014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
4133
4134 PR target/61084
4135 * config/sparc/sparc.md: Fix types of low and high in DI constant
4136 splitter. Use gen_int_mode in some other splitters.
4137
70d6d5c1
MJ
41382014-05-14 Martin Jambor <mjambor@suse.cz>
4139
4140 PR ipa/60897
4141 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
4142
23b02de3
JN
41432014-05-14 James Norris <jnorris@codesourcery.com>
4144
4145 * omp-low.c (expand_parallel_call): Remove shadow variable.
4146 (expand_omp_taskreg): Likewise.
4147
9cdea277
IT
41482014-05-14 Ilya Tocar <ilya.tocar@intel.com>
4149
4150 * common/config/i386/i386-common.c
4151 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
4152 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
4153 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
4154 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
4155 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
4156 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 4157 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
4158 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
4159 xsavecintrin.h, xsavesintrin.h.
4160 (x86_64-*-*): Ditto.
4161 * config/i386/clflushoptintrin.h: New.
4162 * config/i386/xsavecintrin.h: Ditto.
4163 * config/i386/xsavesintrin.h: Ditto.
4164 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
4165 (bit_XSAVES): Ditto.
4166 (bit_XSAVES): Ditto.
4167 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
4168 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
4169 -mno-clflushopt.
4170 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
4171 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
4172 OPTION_MASK_ISA_XSAVES.
4173 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
4174 -mxsavec, -mxsaves.
4175 (PTA_CLFLUSHOPT) Define.
4176 (PTA_XSAVEC): Ditto.
4177 (PTA_XSAVES): Ditto.
4178 (ix86_option_override_internal): Handle new options.
4179 (ix86_valid_target_attribute_inner_p): Ditto.
4180 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
4181 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
4182 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
4183 (bdesc_special_args): Add __builtin_ia32_xsaves,
4184 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
4185 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
4186 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
4187 (ix86_expand_builtin): Handle new builtins.
4188 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
4189 (TARGET_CLFLUSHOPT_P): Ditto.
4190 (TARGET_XSAVEC): Ditto.
4191 (TARGET_XSAVEC_P): Ditto.
4192 (TARGET_XSAVES): Ditto.
4193 (TARGET_XSAVES_P): Ditto.
4194 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
4195 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
4196 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
4197 (ANY_XRSTOR): New.
4198 (ANY_XRSTOR64): Ditto.
4199 (xrstor): Ditto.
4200 (xrstor): Change into <xrstor>.
4201 (xrstor_rex64): Change into <xrstor>_rex64.
4202 (xrstor64): Change into <xrstor>64
4203 (clflushopt): New.
4204 * config/i386/i386.opt (mclflushopt): New.
4205 (mxsavec): Ditto.
4206 (mxsaves): Ditto.
4207 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
4208 xsavecintrin.h.
4209 * doc/invoke.texi: Document new options.
4210
92e265ac
AB
42112014-05-14 Andrey Belevantsev <abel@ispras.ru>
4212
4213 PR rtl-optimization/60866
4214 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
4215 Default it to -1. Pass it down to init_simplejump_data.
4216 (init_simplejump_data): New parameter old_seqno. Pass it down
4217 to get_seqno_for_a_jump.
4218 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
4219 initializing new jump seqno as a last resort. Add comment.
4220 (sel_redirect_edge_and_branch): Save old seqno of the conditional
4221 jump and pass it down to sel_init_new_insn.
4222 (sel_redirect_edge_and_branch_force): Likewise.
4223
fa96aa45
GJL
42242014-05-14 Georg-Johann Lay <avr@gjlay.de>
4225
4226 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
4227 shifted values to avoid build warning.
4228
8a829274
EB
42292014-05-14 Eric Botcazou <ebotcazou@adacore.com>
4230
4231 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
4232 * cfgrtl.c (rtl_merge_blocks): Fix comment.
4233 (cfg_layout_merge_blocks): Likewise.
4234 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
4235
11290308
AB
42362014-05-14 Andrey Belevantsev <abel@ispras.ru>
4237
4238 PR rtl-optimization/60901
4239 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
4240 bb predecessor belongs to the same scheduling region. Adjust comment.
4241
f4853e92
PB
42422014-05-13 Peter Bergner <bergner@vnet.ibm.com>
4243
4244 * doc/sourcebuild.texi: (dfp_hw): Document.
4245 (p8vector_hw): Likewise.
4246 (powerpc_eabi_ok): Likewise.
4247 (powerpc_elfv2): Likewise.
4248 (powerpc_htm_ok): Likewise.
4249 (ppc_recip_hw): Likewise.
4250 (vsx_hw): Likewise.
4251
bd5c3baa
CC
42522014-05-13 Cary Coutant <ccoutant@google.com>
4253
4254 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
4255
9aa54cc9
DM
42562014-05-13 David Malcolm <dmalcolm@redhat.com>
4257
4258 * gengtype-parse.c (require3): Eliminate in favor of...
4259 (require4): New.
4260 (require_template_declaration): Update to support optional single *
4261 on a type.
4262
4263 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
4264 (create_user_defined_type): Handle a single level of explicit
4265 pointerness within template arguments.
4266 (struct write_types_data): Add field "kind".
4267 (filter_type_name): Handle "*" character.
4268 (write_user_func_for_structure_ptr): Require a write_types_data
4269 rather than just a prefix string, so that we can look up the kind
4270 of the wtd and use it as an index into wrote_user_func_for_ptr,
4271 ensuring that such functions are written at most once. Support
6b8ebd00 4272 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
4273 (write_user_func_for_structure_body): Require a write_types_data
4274 rather than just a prefix string, so that we can pass this to
4275 write_user_func_for_structure_ptr.
4276 (write_func_for_structure): Likewise.
4277 (ggc_wtd): Add initializer of new "kind" field.
4278 (pch_wtd): Likewise.
4279
4280 * gengtype.h (enum write_types_kinds): New.
4281 (struct type): Add field wrote_user_func_for_ptr to the "s"
4282 union member.
4283
5c0f009c
RS
42842014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
4285
4286 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
4287 instead of const_binop.
4288 (fold_binary_loc): Likewise.
4289
460d1e22
RS
42902014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
4291
4292 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
4293 calculation to match get_ref_base_and_extent.
4294
1e1f96b5
CM
42952014-05-13 Catherine Moore <clm@codesourcery.com>
4296 Sandra Loosemore <sandra@codesourcery.com>
4297
4298 * configure.ac: Fix assembly for explicit JALR relocation check.
4299 * configure: Regenerate.
4300
411f86ad
KT
43012014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4302
4303 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
4304 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
4305 Remove associated type declarations and initialisations.
4306 (arm_expand_neon_builtin): Likewise.
4307 (neon_emit_pair_result_insn): Delete.
4308 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
4309 * config/arm/neon.md (neon_vtrn<mode>): Delete.
4310 (neon_vzip<mode>): Likewise.
4311 (neon_vuzp<mode>): Likewise.
4312
6b77934e
RB
43132014-05-13 Richard Biener <rguenther@suse.de>
4314
4315 PR ipa/60973
4316 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
4317 it needs revisiting whether the call still may be tail-called.
4318
da3cd113
RS
43192014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
4320
4321 * rtl.def (SYMBOL_REF): Remove middle "0" field.
4322 * rtl.h (block_symbol): Reduce number of fields to 2.
4323 (rtx_def): Add u2.symbol_ref_flags.
4324 (SYMBOL_REF_FLAGS): Use it.
4325 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
4326 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
4327 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
4328 Lower index of SYMBOL_REF_DATA.
4329 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
4330 Print SYMBOL_REF_FLAGS at the same time.
4331 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
4332
fcc74520
RS
43332014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
4334
4335 * rtl.def (VAR_LOCATION): Remove "i" field.
4336 * rtl.h (rtx_def): Add u2.var_location_status.
4337 (PAT_VAR_LOCATION_STATUS): Use it.
4338 (gen_rtx_VAR_LOCATION): Declare.
4339 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
4340 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
4341 * var-tracking.c (emit_note_insn_var_location): Remove casts.
4342
feb09dd9
RS
43432014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
4344
4345 * rtl.def (scratch): Fix outdated comment and remove "0" field.
4346 * gengtype.c (adjust_field_rtx_def): Update accordingly.
4347
ed8921dc
RS
43482014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
4349
4350 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
4351 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
4352 * rtl.h (rtx_def): Add insn_uid to u2 field.
4353 (RTX_FLAG_CHECK8): Delete in favor of...
4354 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
4355 (INSN_DELETED_P): Update accordingly.
4356 (INSN_UID): Use u2.insn_uid.
4357 (INSN_CHAIN_CODE_P): Define.
4358 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
4359 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
4360 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
4361 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
4362 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
4363 indices accordingly.
4364 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
4365 Update indices for insn-chain rtxes.
4366 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
4367 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
4368 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
4369 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
4370 * combine.c (try_combine): Likewise.
4371 * ira.c (setup_prohibited_mode_move_regs): Likewise.
4372
fccc5515
RS
43732014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
4374
4375 * rtl.def (REG): Remove middle field.
4376 * rtl.h (rtx_def): Add orignal_regno to u2.
4377 (ORIGINAL_REGNO): Use it instead of field 1.
4378 (REG_ATTRS): Lower field index accordingly.
4379 * gengtype.c (adjust_field_rtx_def): Remove handling of
4380 ORIGINAL_REGNO. Move REG_ATTRS index down.
4381 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
4382 code that prints the REGNO.
4383
925c1bae
RS
43842014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
4385
4386 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
4387 GENERATOR_FILE.
4388
13b0c5ac
RS
43892014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
4390
4391 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
4392
be9a0da5
BC
43932014-05-13 Bin Cheng <bin.cheng@arm.com>
4394
4395 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
4396 (alloc_iv): Lower base expressions containing ADDR_EXPR.
4397
73d9ac6a
IB
43982014-05-13 Ian Bolton <ian.bolton@arm.com>
4399
4400 * config/aarch64/aarch64-protos.h
4401 (aarch64_hard_regno_caller_save_mode): New prototype.
4402 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
4403 New function.
4404 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
4405
06b90602
CB
44062014-05-13 Christian Bruel <christian.bruel@st.com>
4407
4408 * target.def (mode_switching): New hook vector.
4409 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
4410 (mode_exit, modepriority_to_mode): Likewise.
4411 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
4412 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
4413 * target.h: Include tm.h and hard-reg-set.h.
4414 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
4415 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
4416 * doc/tm.texi Regenerate.
4417 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
4418 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
4419 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
4420 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
4421 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
4422 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
4423 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
4424 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
4425 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
4426 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
4427 (ix86_emit_mode_set): Hookify.
06b90602 4428 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 4429 Delete.
06b90602 4430 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
4431 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
4432 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
4433 (epiphany_mode_priority_to_mode): Remove declaration.
4434 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
4435 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
4436 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
4437 Likewise.
6b8ebd00 4438 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
4439 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
4440 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
4441
455464ab
JJ
44422014-05-13 Jakub Jelinek <jakub@redhat.com>
4443
4444 PR target/61060
4445 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
4446 is const0_rtx, return immediately. Don't test count == 0 when
4447 it is always true.
4448
f30e25a3
ZC
44492014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4450
4451 * Makefile.in: add shrink-wrap.o.
4452 * config/i386/i386.c: include "shrink-wrap.h"
4453 * function.c: Likewise.
4454 (requires_stack_frame_p, next_block_for_reg,
4455 move_insn_for_shrink_wrap, prepare_shrink_wrap,
4456 dup_block_and_redirect): Move to shrink-wrap.c
4457 (thread_prologue_and_epilogue_insns): Extract three code segments
4458 as functions in shrink-wrap.c
4459 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
4460 shrink-wrap.h
4461 * shrink-wrap.c: New file.
4462 * shrink-wrap.h: New file.
4463
f95c6a78
DW
44642014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
4465
4466 * doc/extend.texi: Reflect current numbers of pragmas. Remove
4467 reference to Solaris.
4468
77a1da2c
MS
44692014-05-12 Mike Stump <mikestump@comcast.net>
4470
4471 PR other/31778
4472 * genattrtab.c (filename): Add.
4473 (convert_set_attr_alternative): Improve error message.
4474 (check_defs): Restore read_md_filename for error messages.
4475 (gen_insn): Save filename.
4476
dff8943f
DP
44772014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
4478
4479 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
4480 -fno-local-ivars and -fivar-visibility.
4481 * c-family/c.opt: Make -Wshadow also implicitly enable
4482 -Wshadow-ivar.
4483
6b8ebd00 44842014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
4485
4486 * doc/tm.texi: Remove reference to deleted macro.
4487 * doc/tm.texi.in: Likewise.
4488
079f1420
SKS
44892014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4490
4491 PR target/60991
4492 * config/avr/avr.c (avr_out_store_psi): Use correct constant
4493 to restore Y.
4494
999db125
GJL
44952014-05-12 Georg-Johann Lay <avr@gjlay.de>
4496
a5024e01 4497 PR libgcc/61152
999db125
GJL
4498 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
4499 * config/arm/aout.h (License): Same.
4500 * config/arm/bpabi.h (License): Same.
4501 * config/arm/elf.h (License): Same.
4502 * config/arm/linux-elf.h (License): Same.
4503 * config/arm/linux-gas.h (License): Same.
4504 * config/arm/netbsd-elf.h (License): Same.
4505 * config/arm/uclinux-eabi.h (License): Same.
4506 * config/arm/uclinux-elf.h (License): Same.
4507 * config/arm/vxworks.h (License): Same.
4508
dd2fc525
JJ
45092014-05-11 Jakub Jelinek <jakub@redhat.com>
4510
4511 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
4512 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
4513 number of operands to 3.
4514 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
4515 * tree-nested.c (convert_nonlocal_omp_clauses,
4516 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
4517 * gimplify.c (gimplify_scan_omp_clauses): Handle
4518 OMP_CLAUSE_LINEAR_STMT.
4519 * omp-low.c (lower_rec_input_clauses): Fix typo.
4520 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
4521 cast between Fortran boolean_type_node and C _Bool if
4522 needed.
4523
7588d8aa
RS
45242014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
4525
4526 PR tree-optimization/61136
4527 * wide-int.h (multiple_of_p): Define a version that doesn't return
4528 the quotient.
4529 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
4530 integer_zerop/const_binop pair.
4531 (multiple_of_p): Likewise, converting both operands to widest_int
4532 precision.
4533
e7eee636
TJ
45342014-05-09 Teresa Johnson <tejohnson@google.com>
4535
4536 * cgraphunit.c (analyze_functions): Use correct dump file.
4537
6545746e
FW
45382014-05-09 Florian Weimer <fweimer@redhat.com>
4539
4540 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
4541 expand_used_vars.
4542 (stack_protect_return_slot_p): New function.
4543 (expand_used_vars): Call stack_protect_decl_p and
4544 stack_protect_return_slot_p for -fstack-protector-strong.
4545
2556511e
DW
45462014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
4547 Andrew Haley <aph@redhat.com>
4548 Richard Sandiford <rdsandiford@googlemail.com>
4549
4550 * doc/extend.texi: Rewrite inline asm page / re-org asm-related
4551 pages.
4552
971ed35d 45532014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
4554
4555 PR middle-end/61111
4556 * fold-const.c (fold_binary_loc): Changed width of mask.
4557
c204f1b5
GJL
45582014-05-09 Georg-Johann Lay <avr@gjlay.de>
4559
4560 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
4561 unsigned int initializers for regno_in, regno_out.
4562
b8469805
GJL
45632014-05-09 Georg-Johann Lay <avr@gjlay.de>
4564
4565 PR target/61055
4566 * config/avr/avr.md (cc): Add new attribute set_vzn.
4567 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
4568 Set cc insn attribute to set_vzn instead of set_zn for alternatives
4569 with INC, DEC or NEG.
4570 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
4571 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
4572 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
4573
9db25c6a
RR
45742014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4575
4576 Revert:
4577 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4578
4579 * wide-int.cc (UTItype): Define.
4580 (UDWtype): Define for appropriate W_TYPE_SIZE.
4581
ee3958cf
RB
45822014-05-09 Richard Biener <rguenther@suse.de>
4583
4584 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
4585 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
4586 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
4587 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
4588 ssa_propagate): Adjust.
4589
0600049c
JL
45902014-05-08 Jeff Law <law@redhat.com>
4591
4592 PR tree-optimization/61009
4593 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
4594 tri-state rather than a boolean. When a block is too big to
4595 thread through, inform caller via negative return value.
4596 (thread_across_edge): If a block was too big for normal threading,
4597 then it's too big for a joiner too, so remove temporary equivalences
4598 and return immediately.
4599
a82122df
MK
46002014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4601 Matthias Klose <doko@ubuntu.com>
4602
4603 PR driver/61106
4604 * optc-gen.awk: Fix option handling for -Wunused-parameter.
4605
30e494f1
UB
46062014-05-08 Uros Bizjak <ubizjak@gmail.com>
4607
4608 PR target/59952
4609 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
4610
b6db8af6
UB
46112014-05-08 Uros Bizjak <ubizjak@gmail.com>
4612
4613 PR target/61092
4614 * config/alpha/alpha.c: Include gimple-iterator.h.
4615 (alpha_gimple_fold_builtin): New function. Move
4616 ALPHA_BUILTIN_UMULH folding from ...
4617 (alpha_fold_builtin): ... here.
4618 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
4619
272325bd
WM
46202014-05-08 Wei Mi <wmi@google.com>
4621
4622 PR target/58066
b6db8af6
UB
4623 * config/i386/i386.c (ix86_compute_frame_layout): Update
4624 preferred_stack_boundary for call, expanded from tls descriptor.
4625 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
4626 to depend on SP register.
272325bd
WM
4627 (*tls_local_dynamic_base_32_gnu): Ditto.
4628 (*tls_local_dynamic_32_once): Ditto.
4629 (tls_global_dynamic_64_<mode>): Set
4630 ix86_tls_descriptor_calls_expanded_in_cfun.
4631 (tls_local_dynamic_base_64_<mode>): Ditto.
4632 (tls_global_dynamic_32): Set
4633 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
4634 to depend on SP register.
4635 (tls_local_dynamic_base_32): Ditto.
4636
e79cb1a3
RR
46372014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4638
4639 * config/arm/arm_neon.h: Update comment.
4640 * config/arm/neon-docgen.ml: Delete.
4641 * config/arm/neon-gen.ml: Delete.
4642 * doc/arm-neon-intrinsics.texi: Update comment.
4643
0d0b79a6
RR
46442014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4645
4646 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
4647 and v4sf versions.
4648 (vand, vorr, veor, vorn, vbic): Remove.
4649 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
4650 iterator.
4651 (neon_vsub_unspec): Likewise.
4652 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
4653
add0c111
RR
46542014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4655
4656 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
4657 (vadd_s16): Likewise.
4658 (vadd_s32): Likewise.
4659 (vadd_f32): Likewise.
4660 (vadd_u8): Likewise.
4661 (vadd_u16): Likewise.
4662 (vadd_u32): Likewise.
4663 (vadd_s64): Likewise.
4664 (vadd_u64): Likewise.
4665 (vaddq_s8): Likewise.
4666 (vaddq_s16): Likewise.
4667 (vaddq_s32): Likewise.
4668 (vaddq_s64): Likewise.
4669 (vaddq_f32): Likewise.
4670 (vaddq_u8): Likewise.
4671 (vaddq_u16): Likewise.
4672 (vaddq_u32): Likewise.
4673 (vaddq_u64): Likewise.
4674 (vmul_s8): Likewise.
4675 (vmul_s16): Likewise.
4676 (vmul_s32): Likewise.
4677 (vmul_f32): Likewise.
4678 (vmul_u8): Likewise.
4679 (vmul_u16): Likewise.
4680 (vmul_u32): Likewise.
4681 (vmul_p8): Likewise.
4682 (vmulq_s8): Likewise.
4683 (vmulq_s16): Likewise.
4684 (vmulq_s32): Likewise.
4685 (vmulq_f32): Likewise.
4686 (vmulq_u8): Likewise.
4687 (vmulq_u16): Likewise.
4688 (vmulq_u32): Likewise.
4689 (vsub_s8): Likewise.
4690 (vsub_s16): Likewise.
4691 (vsub_s32): Likewise.
4692 (vsub_f32): Likewise.
4693 (vsub_u8): Likewise.
4694 (vsub_u16): Likewise.
4695 (vsub_u32): Likewise.
4696 (vsub_s64): Likewise.
4697 (vsub_u64): Likewise.
4698 (vsubq_s8): Likewise.
4699 (vsubq_s16): Likewise.
4700 (vsubq_s32): Likewise.
4701 (vsubq_s64): Likewise.
4702 (vsubq_f32): Likewise.
4703 (vsubq_u8): Likewise.
4704 (vsubq_u16): Likewise.
4705 (vsubq_u32): Likewise.
4706 (vsubq_u64): Likewise.
4707 (vand_s8): Likewise.
4708 (vand_s16): Likewise.
4709 (vand_s32): Likewise.
4710 (vand_u8): Likewise.
4711 (vand_u16): Likewise.
4712 (vand_u32): Likewise.
4713 (vand_s64): Likewise.
4714 (vand_u64): Likewise.
4715 (vandq_s8): Likewise.
4716 (vandq_s16): Likewise.
4717 (vandq_s32): Likewise.
4718 (vandq_s64): Likewise.
4719 (vandq_u8): Likewise.
4720 (vandq_u16): Likewise.
4721 (vandq_u32): Likewise.
4722 (vandq_u64): Likewise.
4723 (vorr_s8): Likewise.
4724 (vorr_s16): Likewise.
4725 (vorr_s32): Likewise.
4726 (vorr_u8): Likewise.
4727 (vorr_u16): Likewise.
4728 (vorr_u32): Likewise.
4729 (vorr_s64): Likewise.
4730 (vorr_u64): Likewise.
4731 (vorrq_s8): Likewise.
4732 (vorrq_s16): Likewise.
4733 (vorrq_s32): Likewise.
4734 (vorrq_s64): Likewise.
4735 (vorrq_u8): Likewise.
4736 (vorrq_u16): Likewise.
4737 (vorrq_u32): Likewise.
4738 (vorrq_u64): Likewise.
4739 (veor_s8): Likewise.
4740 (veor_s16): Likewise.
4741 (veor_s32): Likewise.
4742 (veor_u8): Likewise.
4743 (veor_u16): Likewise.
4744 (veor_u32): Likewise.
4745 (veor_s64): Likewise.
4746 (veor_u64): Likewise.
4747 (veorq_s8): Likewise.
4748 (veorq_s16): Likewise.
4749 (veorq_s32): Likewise.
4750 (veorq_s64): Likewise.
4751 (veorq_u8): Likewise.
4752 (veorq_u16): Likewise.
4753 (veorq_u32): Likewise.
4754 (veorq_u64): Likewise.
4755 (vbic_s8): Likewise.
4756 (vbic_s16): Likewise.
4757 (vbic_s32): Likewise.
4758 (vbic_u8): Likewise.
4759 (vbic_u16): Likewise.
4760 (vbic_u32): Likewise.
4761 (vbic_s64): Likewise.
4762 (vbic_u64): Likewise.
4763 (vbicq_s8): Likewise.
4764 (vbicq_s16): Likewise.
4765 (vbicq_s32): Likewise.
4766 (vbicq_s64): Likewise.
4767 (vbicq_u8): Likewise.
4768 (vbicq_u16): Likewise.
4769 (vbicq_u32): Likewise.
4770 (vbicq_u64): Likewise.
4771 (vorn_s8): Likewise.
4772 (vorn_s16): Likewise.
4773 (vorn_s32): Likewise.
4774 (vorn_u8): Likewise.
4775 (vorn_u16): Likewise.
4776 (vorn_u32): Likewise.
4777 (vorn_s64): Likewise.
4778 (vorn_u64): Likewise.
4779 (vornq_s8): Likewise.
4780 (vornq_s16): Likewise.
4781 (vornq_s32): Likewise.
4782 (vornq_s64): Likewise.
4783 (vornq_u8): Likewise.
4784 (vornq_u16): Likewise.
4785 (vornq_u32): Likewise.
4786 (vornq_u64): Likewise.
4787
ca40fb28
RR
47882014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4789
4790 * wide-int.cc (UTItype): Define.
b6db8af6 4791 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 4792
421bf780
MG
47932014-05-08 Marc Glisse <marc.glisse@inria.fr>
4794
4795 PR tree-optimization/59100
4796 * tree-ssa-phiopt.c: Include tree-inline.h.
4797 (neutral_element_p, absorbing_element_p): New functions.
4798 (value_replacement): Handle conditional binary operations with a
4799 neutral or absorbing element.
4800
a5eaec42
RB
48012014-05-08 Richard Biener <rguenther@suse.de>
4802
4803 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
4804 folding the expression.
4805 (valueize_expr): Remove.
4806 (visit_reference_op_load): Do not valueize the result of
4807 vn_get_expr_for.
4808 (simplify_binary_expression): Likewise.
4809 (simplify_unary_expression): Likewise.
4810
a96c6a62
RB
48112014-05-08 Richard Biener <rguenther@suse.de>
4812
4813 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
4814 looking at TYPE_ARG_TYPES.
4815
fb42e303
RB
48162014-05-08 Richard Biener <rguenther@suse.de>
4817
4818 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
4819 pointer propagation special-case.
4820
d1f1a283
BC
48212014-05-08 Bin Cheng <bin.cheng@arm.com>
4822
4823 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
4824 core part of address expressions.
4825
42aea2d8
AM
48262014-05-08 Alan Modra <amodra@gmail.com>
4827
4828 PR target/60737
4829 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
4830 loads and stores when -mno-strict-align at any alignment.
4831 (expand_block_clear): Similarly. Also correct calculation of
4832 instruction count.
4833
10e08855
TP
48342014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
4835
4836 PR middle-end/39246
4837 * tree-complex.c (expand_complex_move): Keep line info when expanding
4838 complex move.
4839 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
4840 of complex expression. Use new argument to display correct location
4841 for values coming from phi statement.
4842 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
4843 (warn_uninitialized_phi): Pass location of phi argument to
4844 warn_uninit.
4845 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
4846 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
4847
d839f53b
SB
48482014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
4849
4850 * config/rs6000/predicates.md (indexed_address_mem): New.
4851 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
4852 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
4853 fpstore_ux, fpstore_u.
4854 (sign_extend, indexed, update): New.
4855 (cell_micro): Adjust.
4856 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
4857 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
4858 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
4859 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
4860 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
4861 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
4862 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
4863 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
4864 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
4865 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
4866 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
4867 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
4868 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
4869 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
4870 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
4871
4872 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
4873 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
4874 *vsx_extract_<mode>_store): Adjust.
4875 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
4876 is_cracked_insn, insn_must_be_first_in_group,
4877 insn_must_be_last_in_group): Adjust.
4878
4879 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
4880 Adjust.
4881 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
4882 ppc440-fpstore): Adjust.
4883 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
4884 ppc476-fpstore): Adjust.
4885 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
4886 ppc601-fpstore): Adjust.
4887 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
4888 Adjust.
4889 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
4890 Adjust.
4891 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
4892 ppc7450-fpstore): Adjust.
4893 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
4894 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
4895 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
4896 Adjust.
4897 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
4898 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
4899 cell-fpstore, cell-fpstore-update): Adjust.
4900 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
4901 ppce300c3_store, ppce300c3_fpstore): Adjust.
4902 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
4903 e500mc_fpstore): Adjust.
4904 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
4905 e500mc64_store, e500mc64_fpstore): Adjust.
4906 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
4907 e5500_fpstore): Adjust.
4908 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
4909 e6500_fpstore): Adjust.
4910 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
4911 Adjust.
4912 * config/rs6000/power4.md (power4-load, power4-load-ext,
4913 power4-load-ext-update, power4-load-ext-update-indexed,
4914 power4-load-update-indexed, power4-load-update, power4-fpload,
4915 power4-fpload-update, power4-store, power4-store-update,
4916 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
4917 Adjust.
4918 * config/rs6000/power5.md (power5-load, power5-load-ext,
4919 power5-load-ext-update, power5-load-ext-update-indexed,
4920 power5-load-update-indexed, power5-load-update, power5-fpload,
4921 power5-fpload-update, power5-store, power5-store-update,
4922 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
4923 Adjust.
4924 * config/rs6000/power6.md (power6-load, power6-load-ext,
4925 power6-load-update, power6-load-update-indexed,
4926 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
4927 power6-fpload-update, power6-store, power6-store-update,
4928 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
4929 Adjust.
4930 * config/rs6000/power7.md (power7-load, power7-load-ext,
4931 power7-load-update, power7-load-update-indexed,
4932 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
4933 power7-fpload-update, power7-store, power7-store-update,
4934 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
4935 Adjust.
4936 * config/rs6000/power8.md (power8-load, power8-load-update,
4937 power8-load-ext, power8-load-ext-update, power8-fpload,
4938 power8-fpload-update, power8-store, power8-store-update-indexed,
4939 power8-fpstore, power8-fpstore-update): Adjust.
4940 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
4941 Adjust.
4942 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
4943 titan_lsu_store, titan_lsu_fpstore): Adjust.
4944 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
4945
36dc9ae8
OE
49462014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
4947
4948 PR target/60884
4949 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
4950 unrolled byte insns. Emit address increments after move insns.
4951
9bbf45f6
DM
49522014-05-07 David Malcolm <dmalcolm@redhat.com>
4953
4954 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
4955 const_gimple, rather than a gimple.
4956 (gimple_call_builtin_p): Likewise, for the three variants.
4957
4958 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
4959 (gimple_call_builtin_p): Likewise, for the three variants.
4960
1a51f10c
RS
49612014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4962
4963 PR tree-optimization/61095
4964 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
4965
50f0aa20
RB
49662014-05-07 Richard Biener <rguenther@suse.de>
4967
4968 PR tree-optimization/61034
4969 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
4970 (maybe_skip_until): Use translate to take into account
4971 lattices when trying to do disambiguations.
4972 (get_continuation_for_phi_1): Likewise.
b6db8af6 4973 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 4974 (walk_non_aliased_vuses): Likewise.
b6db8af6 4975 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
4976 (walk_non_aliased_vuses): Likewise.
4977 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
4978 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
4979 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
4980 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
4981
e7b7077e
JR
49822014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
4983
4984 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
4985 Emit an error when the function has arguments.
4986
c4597c1d
TS
49872014-05-07 Thomas Schwinge <thomas@codesourcery.com>
4988
4989 * cfgloop.h (unswitch_loops): Remove.
4990 * doc/passes.texi: Remove references to loop-unswitch.c
4991 * timevar.def (TV_LOOP_UNSWITCH): Remove.
4992
2c23db6d
ES
49932014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
4994
4995 * tree-vect-data-refs.c (vect_grouped_load_supported): New
4996 check for loads group of length 3.
4997 (vect_permute_load_chain): New permutations for loads group of
4998 length 3.
4999 * tree-vect-stmts.c (vect_model_load_cost): Change cost
5000 of vec_perm_shuffle for the new permutations.
5001
1d175503
AL
50022014-05-07 Alan Lawrence <alan.lawrence@arm.com>
5003
5004 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
5005 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
5006 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
5007 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
5008 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
5009 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
5010 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
5011 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
5012
e2d87487
TS
50132014-05-07 Thomas Schwinge <thomas@codesourcery.com>
5014
5015 * loop-unswitch.c: Delete.
5016
f543058d
RB
50172014-05-07 Richard Biener <rguenther@suse.de>
5018
5019 * config.gcc: Always set need_64bit_hwint to yes.
5020
96092404
CJW
50212014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
5022
5023 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
5024 of using optimize_size.
5025
ca66f89b
MS
50262014-05-06 Mike Stump <mikestump@comcast.net>
5027
5028 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
5029
659c0e68
JM
50302014-05-06 Joseph Myers <joseph@codesourcery.com>
5031
5032 * config/i386/sse.md (*mov<mode>_internal)
5033 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
5034 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
5035 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
5036 (*<code><mode>3, *andnot<mode>3<mask_name>)
5037 (<mask_codefor><code><mode>3<mask_name>): Only consider
5038 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
5039
3379b71f
RS
50402014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
5041
5042 Revert:
5043 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
5044
5045 * lra-constraints.c (valid_address_p): Move earlier in file.
5046 Add a constraint argument to the address_info version.
5047 (satisfies_memory_constraint_p): New function.
5048 (satisfies_address_constraint_p): Likewise.
5049 (process_alt_operands, curr_insn_transform): Use them.
5050 (process_address): Pass the constraint to valid_address_p when
5051 checking address operands.
5052
224dbc07
RS
50532014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
5054
5055 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
5056 to their respective blocks. Fix inadvertent use of "node".
5057
aa3a12d6
RS
50582014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
5059
5060 * emit-rtl.c (init_derived_machine_modes): New functionm, split
5061 out from...
5062 (init_emit_once): ...here.
5063 * rtl.h (init_derived_machine_modes): Declare.
5064 * toplev.c (do_compile): Call it even if no_backend.
5065
1d60af08
KZ
50662014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
5067 Mike Stump <mikestump@comcast.net>
5068 Richard Sandiford <rdsandiford@googlemail.com>
5069 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5070
5071 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
5072 (rtx_equal_for_memref_p): Update comment.
5073 (adjust_offset_for_component_ref): Use wide-int interfaces.
5074 * builtins.c (get_object_alignment_2): Likewise.
5075 (c_readstr): Likewise.
5076 (target_char_cast): Add comment.
5077 (determine_block_size): Use wide-int interfaces.
5078 (expand_builtin_signbit): Likewise.
5079 (fold_builtin_int_roundingfn): Likewise.
5080 (fold_builtin_bitop): Likewise.
5081 (fold_builtin_bswap): Likewise.
5082 (fold_builtin_logarithm): Use signop.
5083 (fold_builtin_pow): Likewise.
5084 (fold_builtin_memory_op): Use wide-int interfaces.
5085 (fold_builtin_object_size): Likewise.
5086 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
5087 nb_iterations_estimate.
5088 (record_niter_bound): Use wide-int interfaces.
5089 (get_estimated_loop_iterations_int): Likewise.
5090 (get_estimated_loop_iterations): Likewise.
5091 (get_max_loop_iterations): Likewise.
5092 * cfgloop.h: Include wide-int.h.
5093 (struct nb_iter_bound): Change bound to widest_int.
5094 (struct loop): Change nb_iterations_upper_bound and
5095 nb_iterations_estimate to widest_int.
5096 (record_niter_bound): Switch to use widest_int.
5097 (get_estimated_loop_iterations): Likewise.
5098 (get_max_loop_iterations): Likewise.
5099 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
5100 update for wide-int.
5101 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
5102 * combine.c (try_combine): Likewise.
5103 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
5104 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
5105 interfaces.
5106 (aarch64_float_const_representable_p): Likewise.
5107 * config/arc/arc.c: Include wide-int.h.
5108 (arc_can_use_doloop_p): Use wide-int interfaces.
5109 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
5110 (vfp3_const_double_index): Likewise.
5111 * config/avr/avr.c (avr_out_round): Likewise.
5112 (avr_fold_builtin): Likewise.
5113 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
5114 (bfin_can_use_doloop_p): Likewise.
5115 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
5116 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
5117 * config/i386/i386.c: Include wide-int.h.
5118 (ix86_data_alignment): Use wide-int interfaces.
5119 (ix86_local_alignment): Likewise.
5120 (ix86_emit_swsqrtsf): Update real_from_integer.
5121 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
5122 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
5123 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
5124 (zero_constant): Likewise.
5125 (input_operand): Likewise.
5126 (splat_input_operand): Likewise.
5127 (non_logical_cint_operand): Change const_double to const_wide_int.
5128 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
5129 (easy_altivec_constant): Remove comment.
5130 (paired_expand_vector_init): Use CONSTANT_P.
5131 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
5132 (rs6000_emit_move): Update checks.
5133 (rs6000_aggregate_candidate): Use wide-int interfaces.
5134 (rs6000_expand_ternop_builtin): Likewise.
5135 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
5136 (rs6000_assemble_integer): Likewise.
5137 (rs6000_hash_constant): Likewise.
5138 (output_toc): Likewise.
5139 (rs6000_rtx_costs): Likewise.
5140 (rs6000_emit_swrsqrt); Update call to real_from_integer.
5141 * config/rs6000/rs6000-c.c: Include wide-int.h.
5142 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
5143 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
5144 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
5145 Handle CONST_WIDE_INT.
5146 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
5147 Use tree_fits_uhwi_p.
5148 * config/sparc/sparc.c: Include wide-int.h.
5149 (sparc_fold_builtin): Use wide-int interfaces.
5150 * config/vax/vax.c: Include wide-int.h.
5151 (vax_float_literal): Use real_from_integer.
5152 * coretypes.h (struct hwivec_def): New.
5153 (hwivec): New.
5154 (const_hwivec): New.
5155 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
5156 (equiv_constant): Handle CONST_WIDE_INT.
5157 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
5158 (cselib_hash_rtx): Handle CONST_WIDE_INT.
5159 * dbxout.c (stabstr_U): Use wide-int interfaces.
5160 (dbxout_type): Update to use cst_fits_shwi_p.
5161 * defaults.h (LOG2_BITS_PER_UNIT): Define.
5162 (TARGET_SUPPORTS_WIDE_INT): Add default.
5163 * dfp.c: Include wide-int.h.
5164 (decimal_real_to_integer2): Use wide-int interfaces and rename to
5165 decimal_real_to_integer.
5166 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
5167 decimal_real_to_integer.
5168 * doc/generic.texi (Constant expressions): Update for wide_int.
5169 * doc/rtl.texi (const_double): Likewise.
5170 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
5171 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
5172 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
5173 (REAL_VALUE_FROM_INT): Remove.
5174 (TARGET_SUPPORTS_WIDE_INT): New.
5175 * doc/tm.texi: Regenerate.
5176 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
5177 * double-int.h: Include wide-int.h.
5178 (struct wi::int_traits): New.
5179 * dwarf2out.c (get_full_len): New.
5180 (dw_val_equal_p): Add case dw_val_class_wide_int.
5181 (size_of_loc_descr): Likewise.
5182 (output_loc_operands): Likewise.
5183 (insert_double): Remove.
5184 (insert_wide_int): New.
5185 (add_AT_wide): New.
5186 (print_die): Add case dw_val_class_wide_int.
5187 (attr_checksum): Likewise.
5188 (attr_checksum_ordered): Likewise.
5189 (same_dw_val_p): Likewise.
5190 (size_of_die): Likewise.
5191 (value_format): Likewise.
5192 (output_die): Likewise.
5193 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
5194 Use wide-int.
5195 (clz_loc_descriptor): Use wide-int interfaces.
5196 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
5197 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
5198 (round_up_to_align): Use wide-int interfaces.
5199 (field_byte_offset): Likewise.
5200 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
5201 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
5202 CONST_DOUBLE handling. Use wide-int interfaces.
5203 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
5204 (gen_enumeration_type_die): Use add_AT_wide.
5205 (hash_loc_operands): Add case dw_val_class_wide_int.
5206 (compare_loc_operands): Likewise.
5207 * dwarf2out.h: Include wide-int.h.
5208 (wide_int_ptr): New.
5209 (enum dw_val_class): Add dw_val_class_wide_int.
5210 (struct dw_val_struct): Add val_wide.
5211 * emit-rtl.c (const_wide_int_htab): New.
5212 (const_wide_int_htab_hash): New.
5213 (const_wide_int_htab_eq): New.
5214 (lookup_const_wide_int): New.
5215 (const_double_htab_hash): Use wide-int interfaces.
5216 (const_double_htab_eq): Likewise.
5217 (rtx_to_double_int): Conditionally compile for wide-int.
5218 (immed_double_int_const): Rename to immed_wide_int_const and
5219 update for wide-int.
5220 (immed_double_const): Conditionally compile for wide-int.
5221 (init_emit_once): Use wide-int interfaces.
5222 * explow.c (plus_constant): Likewise.
5223 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
5224 (lshift_value): Use wide-int interfaces.
5225 (expand_mult): Likewise.
5226 (choose_multiplier): Likewise.
5227 (expand_smod_pow2): Likewise.
5228 (make_tree): Likewise.
5229 * expr.c (convert_modes): Consolidate handling of constants.
5230 Use wide-int interfaces.
5231 (emit_group_load_1): Add note.
5232 (store_expr): Update comment.
5233 (get_inner_reference): Use wide-int interfaces.
5234 (expand_constructor): Update comment.
5235 (expand_expr_real_2): Use wide-int interfaces.
5236 (expand_expr_real_1): Likewise.
5237 (reduce_to_bit_field_precision): Likewise.
5238 (const_vector_from_tree): Likewise.
5239 * final.c: Include wide-int-print.h.
5240 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
5241 * fixed-value.c: Include wide-int.h.
5242 (fixed_from_string): Use wide-int interfaces.
5243 (fixed_to_decimal): Likewise.
5244 (fixed_convert_from_real): Likewise.
5245 (real_convert_from_fixed): Likewise.
5246 * fold-const.h (mem_ref_offset): Return an offset_int.
5247 (div_if_zero_remainder): Remove code parameter.
5248 * fold-const.c (div_if_zero_remainder): Remove code parameter.
5249 Use wide-int interfaces.
5250 (may_negate_without_overflow_p): Use wide-int interfaces.
5251 (negate_expr_p): Likewise.
5252 (fold_negate_expr): Likewise.
5253 (int_const_binop_1): Likewise.
5254 (const_binop): Likewise.
5255 (fold_convert_const_int_from_int): Likewise.
5256 (fold_convert_const_int_from_real): Likewise.
5257 (fold_convert_const_int_from_fixed): Likewise.
5258 (fold_convert_const_fixed_from_int): Likewise.
5259 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
5260 (sign_bit_p): Use wide-int interfaces.
5261 (make_range_step): Likewise.
5262 (build_range_check): Likewise. Pass an integer of the correct type
5263 instead of using integer_one_node.
5264 (range_predecessor): Pass an integer of the correct type instead
5265 of using integer_one_node.
5266 (range_successor): Likewise.
5267 (merge_ranges): Likewise.
5268 (unextend): Use wide-int interfaces.
5269 (extract_muldiv_1): Likewise.
5270 (fold_div_compare): Likewise.
5271 (fold_single_bit_test): Likewise.
5272 (fold_sign_changed_comparison): Likewise.
5273 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
5274 (fold_plusminus_mult_expr): Use wide-int interfaces.
5275 (native_encode_int): Likewise.
5276 (native_interpret_int): Likewise.
5277 (fold_unary_loc): Likewise.
5278 (pointer_may_wrap_p): Likewise.
5279 (size_low_cst): Likewise.
5280 (mask_with_tz): Likewise.
5281 (fold_binary_loc): Likewise.
5282 (fold_ternary_loc): Likewise.
5283 (multiple_of_p): Likewise.
5284 (tree_call_nonnegative_warnv_p): Update calls to
5285 tree_int_cst_min_precision and real_from_integer.
5286 (fold_negate_const): Use wide-int interfaces.
5287 (fold_abs_const): Likewise.
5288 (fold_relational_const): Use tree_int_cst_lt.
5289 (round_up_loc): Use wide-int interfaces.
5290 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
5291 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
5292 * gengtype.c: Remove include of double-int.h.
5293 (do_typedef): Use wide-int interfaces.
5294 (open_base_files): Add wide-int.h.
5295 (main): Add offset_int and widest_int typedefs.
5296 * gengtype-lex.l: Handle "^".
5297 (CXX_KEYWORD): Add "static".
5298 * gengtype-parse.c (require3): New.
5299 (require_template_declaration): Handle constant template arguments
5300 and nested templates.
5301 * gengtype-state.c: Don't include "double-int.h".
5302 * genpreds.c (write_one_predicate_function): Update comment.
5303 (write_tm_constrs_h): Add check for hval and lval use in
5304 CONST_WIDE_INT.
5305 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
5306 (add_to_sequence): Likewise.
5307 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
5308 and const_double_operand.
5309 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
5310 interfaces.
5311 * gimple-fold.c (get_base_constructor): Likewise.
5312 (fold_array_ctor_reference): Likewise.
5313 (fold_nonarray_ctor_reference): Likewise.
5314 (fold_const_aggregate_ref_1): Likewise.
5315 (gimple_val_nonnegative_real_p): Likewise.
5316 (gimple_fold_indirect_ref): Likewise.
5317 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
5318 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
5319 (struct slsr_cand_d): Change index to be widest_int.
5320 (struct incr_info_d): Change incr to be widest_int.
5321 (alloc_cand_and_find_basis): Use wide-int interfaces.
5322 (slsr_process_phi): Likewise.
5323 (backtrace_base_for_ref): Likewise. Return a widest_int.
5324 (restructure_reference): Take a widest_int instead of a double_int.
5325 (slsr_process_ref): Use wide-int interfaces.
5326 (create_mul_ssa_cand): Likewise.
5327 (create_mul_imm_cand): Likewise.
5328 (create_add_ssa_cand): Likewise.
5329 (create_add_imm_cand): Take a widest_int instead of a double_int.
5330 (slsr_process_add): Use wide-int interfaces.
5331 (slsr_process_cast): Likewise.
5332 (slsr_process_copy): Likewise.
5333 (dump_candidate): Likewise.
5334 (dump_incr_vec): Likewise.
5335 (replace_ref): Likewise.
5336 (cand_increment): Likewise. Return a widest_int.
5337 (cand_abs_increment): Likewise.
5338 (replace_mult_candidate): Take a widest_int instead of a double_int.
5339 (replace_unconditional_candidate): Use wide-int interfaces.
5340 (incr_vec_index): Take a widest_int instead of a double_int.
5341 (create_add_on_incoming_edge): Likewise.
5342 (create_phi_basis): Use wide-int interfaces.
5343 (replace_conditional_candidate): Likewise.
5344 (record_increment): Take a widest_int instead of a double_int.
5345 (record_phi_increments): Use wide-int interfaces.
5346 (phi_incr_cost): Take a widest_int instead of a double_int.
5347 (lowest_cost_path): Likewise.
5348 (total_savings): Likewise.
5349 (analyze_increments): Use wide-int interfaces.
5350 (ncd_with_phi): Take a widest_int instead of a double_int.
5351 (ncd_of_cand_and_phis): Likewise.
5352 (nearest_common_dominator_for_cands): Likewise.
5353 (insert_initializers): Use wide-int interfaces.
5354 (all_phi_incrs_profitable): Likewise.
5355 (replace_one_candidate): Likewise.
5356 (replace_profitable_candidates): Likewise.
5357 * godump.c: Include wide-int-print.h.
5358 (go_output_typedef): Use wide-int interfaces.
5359 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
5360 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
5361 (build_loop_iteration_domains): Likewise.
5362 * hooks.h: Include wide-int.h rather than double-int.h.
5363 (hook_bool_dint_dint_uint_bool_true): Delete.
5364 (hook_bool_wint_wint_uint_bool_true): Declare.
5365 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
5366 (hook_bool_wint_wint_uint_bool_true): New.
5367 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
5368 interfaces.
5369 (ubsan_expand_si_overflow_mul_check): Likewise.
5370 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
5371 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
5372 (get_ancestor_addr_info): Likewise.
5373 (ipa_modify_call_arguments): Likewise.
5374 * loop-doloop.c (doloop_modify): Likewise.
5375 (doloop_optimize): Likewise.
5376 * loop-iv.c (iv_number_of_iterations): Likewise.
5377 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
5378 (unroll_loop_constant_iterations): Likewise.
5379 (decide_unroll_runtime_iterations): Likewise.
5380 (unroll_loop_runtime_iterations): Likewise.
5381 (decide_peel_simple): Likewise.
5382 (decide_unroll_stupid): Likewise.
5383 * lto-streamer-in.c (streamer_read_wi): Add.
5384 (input_cfg): Use wide-int interfaces.
5385 (lto_input_tree_1): Likewise.
5386 * lto-streamer-out.c (streamer_write_wi): Add.
5387 (hash_tree): Use wide-int interfaces.
5388 (output_cfg): Likewise.
5389 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
5390 (GTFILES): Add wide-int.h and signop.h.
5391 (TAGS): Look for .cc files too.
5392 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
5393 * optabs.c (expand_subword_shift): Likewise.
5394 (expand_doubleword_shift): Likewise.
5395 (expand_absneg_bit): Likewise.
5396 (expand_copysign_absneg): Likewise.
5397 (expand_copysign_bit): Likewise.
5398 * postreload.c (reload_cse_simplify_set): Likewise.
5399 * predict.c (predict_iv_comparison): Likewise.
5400 * pretty-print.h: Include wide-int-print.h.
5401 (pp_wide_int) New.
5402 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
5403 * print-tree.c: Include wide-int-print.h.
5404 (print_node_brief): Use wide-int interfaces.
5405 (print_node): Likewise.
5406 * read-rtl.c (validate_const_wide_int): New.
5407 (read_rtx_code): Add CONST_WIDE_INT case.
5408 * real.c: Include wide-int.h.
5409 (real_to_integer2): Delete.
5410 (real_to_integer): New function, returning a wide_int.
5411 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
5412 (ten_to_ptwo): Update call to real_from_integer.
5413 (real_digit): Likewise.
5414 * real.h: Include signop.h, wide-int.h and insn-modes.h.
5415 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
5416 (REAL_VALUE_TO_INT): Delete.
5417 (real_to_integer): Declare a wide-int form.
5418 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
5419 * recog.c (const_int_operand): Improve comment.
5420 (const_scalar_int_operand): New.
5421 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
5422 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
5423 (split_double): Likewise.
5424 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
5425 (rtx_size): Likewise.
5426 (rtx_alloc_stat_v): New.
5427 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
5428 (cwi_output_hex): New.
5429 (iterative_hash_rtx): Handle CONST_WIDE_INT.
5430 (cwi_check_failed_bounds): New.
5431 * rtl.def (CONST_WIDE_INT): New.
5432 * rtl.h: Include <utility> and wide-int.h.
5433 (struct hwivec_def): New.
5434 (CWI_GET_NUM_ELEM): New.
5435 (CWI_PUT_NUM_ELEM): New.
5436 (struct rtx_def): Add num_elem and hwiv.
5437 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
5438 (CASE_CONST_UNIQUE): Likewise.
5439 (CASE_CONST_ANY): Likewise.
5440 (CONST_SCALAR_INT_P): Likewise.
5441 (CONST_WIDE_INT_P): New.
5442 (CWI_ELT): New.
5443 (HWIVEC_CHECK): New.
5444 (cwi_check_failed_bounds): New.
5445 (CWI_ELT): New.
5446 (HWIVEC_CHECK): New.
5447 (CONST_WIDE_INT_VEC) New.
5448 (CONST_WIDE_INT_NUNITS) New.
5449 (CONST_WIDE_INT_ELT) New.
5450 (rtx_mode_t): New type.
5451 (wi::int_traits <rtx_mode_t>): New.
5452 (wi::shwi): New.
5453 (wi::min_value): New.
5454 (wi::max_value): New.
5455 (rtx_alloc_v) New.
5456 (const_wide_int_alloc): New.
5457 (immed_wide_int_const): New.
5458 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
5459 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
5460 * signop.h: New file.
5461 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
5462 (simplify_const_unary_operation): Use wide-int interfaces.
5463 (simplify_binary_operation_1): Likewise.
5464 (simplify_const_binary_operation): Likewise.
5465 (simplify_const_relational_operation): Likewise.
5466 (simplify_immed_subreg): Likewise.
5467 * stmt.c (expand_case): Likewise.
5468 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
5469 signop rather than a bool.
5470 * stor-layout.c (layout_type): Use wide-int interfaces.
5471 (initialize_sizetypes): Update calls to
5472 set_min_and_max_values_for_integral_type.
5473 (set_min_and_max_values_for_integral_type): Take a signop rather
5474 than a bool. Use wide-int interfaces.
5475 (fixup_signed_type): Update accordingly. Remove
5476 HOST_BITS_PER_DOUBLE_INT limit.
5477 (fixup_unsigned_type): Likewise.
5478 * system.h (STATIC_CONSTANT_P): New.
5479 (STATIC_ASSERT): New.
5480 * target.def (can_use_doloop_p): Take widest_ints rather than
5481 double_ints.
5482 * target.h: Include wide-int.h rather than double-int.h.
5483 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
5484 than double_ints.
5485 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
5486 rather than INT_CST_LT_UNSIGNED.
5487 (can_use_doloop_if_innermost): Take widest_ints rather than
5488 double_ints.
5489 * tree-affine.c: Include wide-int-print.h.
5490 (double_int_ext_for_comb): Delete.
5491 (wide_int_ext_for_comb): New.
5492 (aff_combination_zero): Use wide-int interfaces.
5493 (aff_combination_const): Take a widest_int instead of a double_int.
5494 (aff_combination_elt): Use wide-int interfaces.
5495 (aff_combination_scale): Take a widest_int instead of a double_int.
5496 (aff_combination_add_elt): Likewise.
5497 (aff_combination_add_cst): Likewise.
5498 (aff_combination_add): Use wide-int interfaces.
5499 (aff_combination_convert): Likewise.
5500 (tree_to_aff_combination): Likewise.
5501 (add_elt_to_tree): Take a widest_int instead of a double_int.
5502 (aff_combination_to_tree): Use wide-int interfaces.
5503 (aff_combination_remove_elt): Likewise.
5504 (aff_combination_add_product): Take a widest_int instead of
5505 a double_int.
5506 (aff_combination_mult): Use wide-int interfaces.
5507 (aff_combination_expand): Likewise.
5508 (double_int_constant_multiple_p): Delete.
5509 (wide_int_constant_multiple_p): New.
5510 (aff_combination_constant_multiple_p): Take a widest_int pointer
5511 instead of a double_int pointer.
5512 (print_aff): Use wide-int interfaces.
5513 (get_inner_reference_aff): Take a widest_int pointer
5514 instead of a double_int pointer.
5515 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
5516 * tree-affine.h: Include wide-int.h.
5517 (struct aff_comb_elt): Change type of coef to widest_int.
5518 (struct affine_tree_combination): Change type of offset to widest_int.
5519 (double_int_ext_for_comb): Delete.
5520 (wide_int_ext_for_comb): New.
5521 (aff_combination_const): Use widest_int instead of double_int.
5522 (aff_combination_scale): Likewise.
5523 (aff_combination_add_elt): Likewise.
5524 (aff_combination_constant_multiple_p): Likewise.
5525 (get_inner_reference_aff): Likewise.
5526 (aff_comb_cannot_overlap_p): Likewise.
5527 (aff_combination_zero_p): Use wide-int interfaces.
5528 * tree.c: Include tree.h.
5529 (init_ttree): Use make_int_cst.
5530 (tree_code_size): Removed code for INTEGER_CST case.
5531 (tree_size): Add INTEGER_CST case.
5532 (make_node_stat): Update comment.
5533 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
5534 (build_int_cst_type): Use wide-int interfaces.
5535 (double_int_to_tree): Likewise.
5536 (double_int_fits_to_tree_p): Delete.
5537 (force_fit_type_double): Delete.
5538 (force_fit_type): New.
5539 (int_cst_hash_hash): Use wide-int interfaces.
5540 (int_cst_hash_eq): Likewise.
5541 (build_int_cst_wide): Delete.
5542 (wide_int_to_tree): New.
5543 (cache_integer_cst): Use wide-int interfaces.
5544 (build_low_bits_mask): Likewise.
5545 (cst_and_fits_in_hwi): Likewise.
5546 (real_value_from_int_cst): Likewise.
5547 (make_int_cst_stat): New.
5548 (integer_zerop): Use wide_int interfaces.
5549 (integer_onep): Likewise.
5550 (integer_all_onesp): Likewise.
5551 (integer_pow2p): Likewise.
5552 (integer_nonzerop): Likewise.
5553 (tree_log2): Likewise.
5554 (tree_floor_log2): Likewise.
5555 (tree_ctz): Likewise.
5556 (int_size_in_bytes): Likewise.
5557 (mem_ref_offset): Return an offset_int rather than a double_int.
5558 (build_type_attribute_qual_variant): Use wide_int interfaces.
5559 (type_hash_eq): Likewise
5560 (tree_int_cst_equal): Likewise.
5561 (tree_int_cst_lt): Delete.
5562 (tree_int_cst_compare): Likewise.
5563 (tree_fits_shwi_p): Use wide_int interfaces.
5564 (tree_fits_uhwi_p): Likewise.
5565 (tree_int_cst_sign_bit): Likewise.
5566 (tree_int_cst_sgn): Likewise.
5567 (tree_int_cst_min_precision): Take a signop rather than a bool.
5568 (simple_cst_equal): Use wide_int interfaces.
5569 (compare_tree_int): Likewise.
5570 (iterative_hash_expr): Likewise.
5571 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
5572 INT_CST_LT.
5573 (get_type_static_bounds): Use wide_int interfaces.
5574 (tree_int_cst_elt_check_failed): New.
5575 (build_common_tree_nodes): Reordered to set prec before filling in
5576 value.
5577 (int_cst_value): Check cst_and_fits_in_hwi.
5578 (widest_int_cst_value): Use wide_int interfaces.
5579 (upper_bound_in_type): Likewise.
5580 (lower_bound_in_type): Likewise.
5581 (num_ending_zeros): Likewise.
5582 (drop_tree_overflow): Likewise.
5583 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
5584 (gen_conditions_for_pow_cst_base): Likewise.
5585 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
5586 (group_case_labels_stmt): Use wide-int interfaces.
5587 (verify_gimple_assign_binary): Likewise.
5588 (print_loop): Likewise.
5589 * tree-chrec.c (tree_fold_binomial): Likewise.
5590 * tree-core.h (struct tree_base): Add int_length.
5591 (struct tree_int_cst): Change rep of value.
5592 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
5593 (dr_may_alias_p): Likewise.
5594 (max_stmt_executions_tree): Likewise.
5595 * tree.def (INTEGER_CST): Update comment.
5596 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
5597 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
5598 * tree-dump.c: Include wide-int.h and wide-int-print.h.
5599 (dequeue_and_dump): Use wide-int interfaces.
5600 * tree.h: Include wide-int.h.
5601 (NULL_TREE): Moved to earlier loc in file.
5602 (TREE_INT_CST_ELT_CHECK): New.
5603 (tree_int_cst_elt_check_failed): New.
5604 (TYPE_SIGN): New.
5605 (TREE_INT_CST): Delete.
5606 (TREE_INT_CST_LOW): Use wide-int interfaces.
5607 (TREE_INT_CST_HIGH): Delete.
5608 (TREE_INT_CST_NUNITS): New.
5609 (TREE_INT_CST_EXT_NUNITS): Likewise.
5610 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
5611 (TREE_INT_CST_ELT): Likewise.
5612 (INT_CST_LT): Delete.
5613 (tree_int_cst_elt_check): New (two forms).
5614 (type_code_size): Update comment.
5615 (make_int_cst_stat, make_int_cst): New.
5616 (tree_to_double_int): Delete.
5617 (double_int_fits_to_tree_p): Delete.
5618 (force_fit_type_double): Delete.
5619 (build_int_cstu): Replace with out-of-line function.
5620 (build_int_cst_wide): Delete.
5621 (tree_int_cst_lt): Define inline.
5622 (tree_int_cst_le): New.
5623 (tree_int_cst_compare): Define inline.
5624 (tree_int_cst_min_precision): Take a signop rather than a bool.
5625 (wi::int_traits <const_tree>): New.
5626 (wi::int_traits <tree>): New.
5627 (wi::extended_tree): New.
5628 (wi::int_traits <wi::extended_tree>): New.
5629 (wi::to_widest): New.
5630 (wi::to_offset): New.
5631 (wi::fits_to_tree_p): New.
5632 (wi::min_value): New.
5633 (wi::max_value): New.
5634 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
5635 (copy_tree_body_r): Likewise.
5636 * tree-object-size.c (compute_object_offset): Likewise.
5637 (addr_object_size): Likewise.
5638 * tree-predcom.c: Include wide-int-print.h.
5639 (struct dref_d): Change type of offset to widest_int.
5640 (dump_dref): Call wide-int printer.
5641 (aff_combination_dr_offset): Use wide-int interfaces.
5642 (determine_offset): Take a widest_int pointer rather than a
5643 double_int pointer.
5644 (split_data_refs_to_components): Use wide-int interfaces.
5645 (suitable_component_p): Likewise.
5646 (order_drefs): Likewise.
5647 (add_ref_to_chain): Likewise.
5648 (valid_initializer_p): Likewise.
5649 (determine_roots_comp): Likewise.
5650 * tree-pretty-print.c: Include wide-int-print.h.
5651 (dump_generic_node): Use wide-int interfaces.
5652 * tree-sra.c (sra_ipa_modify_expr): Likewise.
5653 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
5654 (move_fixed_address_to_symbol): Likewise.
5655 (move_hint_to_base): Likewise.
5656 (move_pointer_to_base): Likewise.
5657 (move_variant_to_index): Likewise.
5658 (most_expensive_mult_to_index): Likewise.
5659 (addr_to_parts): Likewise.
5660 (copy_ref_info): Likewise.
5661 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
5662 (indirect_refs_may_alias_p): Likewise.
5663 (stmt_kills_ref_p_1): Likewise.
5664 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
5665 * tree-ssa-ccp.c: Update comment at top of file. Include
5666 wide-int-print.h.
5667 (struct prop_value_d): Change type of mask to widest_int.
5668 (extend_mask): New function.
5669 (dump_lattice_value): Use wide-int interfaces.
5670 (get_default_value): Likewise.
5671 (set_constant_value): Likewise.
5672 (set_value_varying): Likewise.
5673 (valid_lattice_transition): Likewise.
5674 (set_lattice_value): Likewise.
5675 (value_to_double_int): Delete.
5676 (value_to_wide_int): New.
5677 (get_value_from_alignment): Use wide-int interfaces.
5678 (get_value_for_expr): Likewise.
5679 (do_dbg_cnt): Likewise.
5680 (ccp_finalize): Likewise.
5681 (ccp_lattice_meet): Likewise.
5682 (bit_value_unop_1): Use widest_ints rather than double_ints.
5683 (bit_value_binop_1): Likewise.
5684 (bit_value_unop): Use wide-int interfaces.
5685 (bit_value_binop): Likewise.
5686 (bit_value_assume_aligned): Likewise.
5687 (evaluate_stmt): Likewise.
5688 (ccp_fold_stmt): Likewise.
5689 (visit_cond_stmt): Likewise.
5690 (ccp_visit_stmt): Likewise.
5691 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
5692 (constant_pointer_difference): Likewise.
5693 (associate_pointerplus): Likewise.
5694 (combine_conversions): Likewise.
5695 * tree-ssa-loop.h: Include wide-int.h.
5696 (struct tree_niter_desc): Change type of max to widest_int.
5697 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
5698 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
5699 (remove_redundant_iv_tests): Likewise.
5700 (canonicalize_loop_induction_variables): Likewise.
5701 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
5702 (constant_multiple_of): Take a widest_int pointer instead of
5703 a double_int pointer.
5704 (get_computation_aff): Use wide-int interfaces.
5705 (ptr_difference_cost): Likewise.
5706 (difference_cost): Likewise.
5707 (get_loop_invariant_expr_id): Likewise.
5708 (get_computation_cost_at): Likewise.
5709 (iv_elimination_compare_lt): Likewise.
5710 (may_eliminate_iv): Likewise.
5711 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
5712 instead of double_int.
5713 (max_loop_iterations): Likewise.
5714 (max_stmt_executions): Likewise.
5715 (estimated_stmt_executions): Likewise.
5716 * tree-ssa-loop-niter.c: Include wide-int-print.h.
5717 (split_to_var_and_offset): Use wide-int interfaces.
5718 (determine_value_range): Likewise.
5719 (bound_difference_of_offsetted_base): Likewise.
5720 (bounds_add): Take a widest_int instead of a double_int.
5721 (number_of_iterations_ne_max): Use wide-int interfaces.
5722 (number_of_iterations_ne): Likewise.
5723 (number_of_iterations_lt_to_ne): Likewise.
5724 (assert_loop_rolls_lt): Likewise.
5725 (number_of_iterations_lt): Likewise.
5726 (number_of_iterations_le): Likewise.
5727 (number_of_iterations_cond): Likewise.
5728 (number_of_iterations_exit): Likewise.
5729 (finite_loop_p): Likewise.
5730 (derive_constant_upper_bound_assign): Likewise.
5731 (derive_constant_upper_bound): Return a widest_int.
5732 (derive_constant_upper_bound_ops): Likewise.
5733 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
5734 (record_estimate): Take a widest_int rather than a double_int.
5735 (record_nonwrapping_iv): Use wide-int interfaces.
5736 (double_int_cmp): Delete.
5737 (wide_int_cmp): New.
5738 (bound_index): Take a widest_int rather than a double_int.
5739 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
5740 (maybe_lower_iteration_bound): Likewise.
5741 (estimate_numbers_of_iterations_loop): Likewise.
5742 (estimated_loop_iterations): Take a widest_int pointer than than
5743 a double_int pointer.
5744 (estimated_loop_iterations_int): Use wide-int interfaces.
5745 (max_loop_iterations): Take a widest_int pointer than than
5746 a double_int pointer.
5747 (max_loop_iterations_int): Use wide-int interfaces.
5748 (max_stmt_executions): Take a widest_int pointer than than
5749 a double_int pointer.
5750 (estimated_stmt_executions): Likewise.
5751 (n_of_executions_at_most): Use wide-int interfaces.
5752 (scev_probably_wraps_p): Likewise.
5753 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
5754 to real_to_integer.
5755 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
5756 interfaces.
5757 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
5758 double_ints. Adjust for trailing_wide_ints <3> representation.
5759 (set_nonzero_bits): Likewise.
5760 (get_range_info): Return wide_ints rather than double_ints.
5761 Adjust for trailing_wide_ints <3> representation.
5762 (get_nonzero_bits): Likewise.
5763 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
5764 representation.
5765 * tree-ssanames.h (struct range_info_def): Replace min, max and
5766 nonzero_bits with a trailing_wide_ints <3>.
5767 (set_range_info): Use wide_int_refs rather than double_ints.
5768 (set_nonzero_bits): Likewise.
5769 (get_range_info): Return wide_ints rather than double_ints.
5770 (get_nonzero_bits): Likewise.
5771 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
5772 * tree-ssa-pre.c (phi_translate_1): Likewise.
5773 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
5774 (acceptable_pow_call): Likewise.
5775 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
5776 interfaces.
5777 (vn_reference_fold_indirect): Likewise.
5778 (vn_reference_maybe_forwprop_address): Likewise.
5779 (valueize_refs_1): Likewise.
5780 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
5781 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
5782 tree_int_cst_lt and tree_int_cst_le.
5783 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
5784 interfaces.
5785 (streamer_alloc_tree): Likewise.
5786 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
5787 (streamer_write_tree_header): Likewise.
5788 (streamer_write_integer_cst): Likewise.
5789 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
5790 (build_constructors): Likewise.
5791 (array_value_type): Likewise.
5792 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
5793 (vect_check_gather): Likewise.
5794 * tree-vect-generic.c (build_replicated_const): Likewise.
5795 (expand_vector_divmod): Likewise.
5796 * tree-vect-loop.c (vect_transform_loop): Likewise.
5797 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
5798 (vect_do_peeling_for_alignment): Likewise.
5799 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
5800 * tree-vrp.c: Include wide-int.h.
5801 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
5802 (extract_range_from_assert): Use wide-int interfaces.
5803 (vrp_int_const_binop): Likewise.
5804 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
5805 double_int pointers.
5806 (ranges_from_anti_range): Use wide-int interfaces.
5807 (quad_int_cmp): Delete.
5808 (quad_int_pair_sort): Likewise.
5809 (extract_range_from_binary_expr_1): Use wide-int interfaces.
5810 (extract_range_from_unary_expr_1): Likewise.
5811 (adjust_range_with_scev): Likewise.
5812 (masked_increment): Take and return wide_ints rather than double_ints.
5813 (register_edge_assert_for_2): Use wide-int interfaces.
5814 (check_array_ref): Likewise.
5815 (search_for_addr_array): Likewise.
5816 (maybe_set_nonzero_bits): Likewise.
5817 (union_ranges): Pass an integer of the correct type instead of
5818 using integer_one_node.
5819 (intersect_ranges): Likewise.
5820 (simplify_truth_ops_using_ranges): Likewise.
5821 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
5822 (range_fits_type_p): Likewise.
5823 (simplify_cond_using_ranges): Likewise. Take a signop rather than
5824 a bool.
5825 (simplify_conversion_using_ranges): Use wide-int interfaces.
5826 (simplify_float_conversion_using_ranges): Likewise.
5827 (vrp_finalize): Likewise.
5828 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
5829 (gimple_stringops_transform): Likewise.
5830 * varasm.c (decode_addr_const): Likewise.
5831 (const_hash_1): Likewise.
5832 (const_rtx_hash_1): Likewise
5833 (output_constant): Likewise.
5834 (array_size_for_constructor): Likewise.
5835 (output_constructor_regular_field): Likewise.
5836 (output_constructor_bitfield): Likewise.
5837 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
5838 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
5839 GENERATOR_FILEs.
5840 * gencheck.c: Define BITS_PER_UNIT.
5841 * wide-int.cc: New.
5842 * wide-int.h: New.
5843 * wide-int-print.cc: New.
5844 * wide-int-print.h: New.
5845
3134fb19
JBG
58462014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5847
5848 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
5849
3bea341f
RB
58502014-05-06 Richard Biener <rguenther@suse.de>
5851
5852 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
5853 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
5854 (TODO_verify_all): Adjust.
5855 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
5856 TODO_verify_stmts and TODO_verify_rtl_sharing.
5857 * bb-reorder.c: Likewise.
5858 * cfgexpand.c: Likewise.
5859 * cprop.c: Likewise.
5860 * cse.c: Likewise.
5861 * function.c: Likewise.
5862 * fwprop.c: Likewise.
5863 * gcse.c: Likewise.
5864 * gimple-ssa-isolate-paths.c: Likewise.
5865 * gimple-ssa-strength-reduction.c: Likewise.
5866 * ipa-split.c: Likewise.
5867 * loop-init.c: Likewise.
5868 * loop-unroll.c: Likewise.
5869 * lower-subreg.c: Likewise.
5870 * modulo-sched.c: Likewise.
5871 * postreload-gcse.c: Likewise.
5872 * predict.c: Likewise.
5873 * recog.c: Likewise.
5874 * sched-rgn.c: Likewise.
5875 * store-motion.c: Likewise.
5876 * tracer.c: Likewise.
5877 * trans-mem.c: Likewise.
5878 * tree-call-cdce.c: Likewise.
5879 * tree-cfg.c: Likewise.
5880 * tree-cfgcleanup.c: Likewise.
5881 * tree-complex.c: Likewise.
5882 * tree-eh.c: Likewise.
5883 * tree-emutls.c: Likewise.
5884 * tree-if-conv.c: Likewise.
5885 * tree-into-ssa.c: Likewise.
5886 * tree-loop-distribution.c: Likewise.
5887 * tree-object-size.c: Likewise.
5888 * tree-parloops.c: Likewise.
5889 * tree-pass.h: Likewise.
5890 * tree-sra.c: Likewise.
5891 * tree-ssa-ccp.c: Likewise.
5892 * tree-ssa-copy.c: Likewise.
5893 * tree-ssa-copyrename.c: Likewise.
5894 * tree-ssa-dce.c: Likewise.
5895 * tree-ssa-dom.c: Likewise.
5896 * tree-ssa-dse.c: Likewise.
5897 * tree-ssa-forwprop.c: Likewise.
5898 * tree-ssa-ifcombine.c: Likewise.
5899 * tree-ssa-loop-ch.c: Likewise.
5900 * tree-ssa-loop-ivcanon.c: Likewise.
5901 * tree-ssa-loop.c: Likewise.
5902 * tree-ssa-math-opts.c: Likewise.
5903 * tree-ssa-phiopt.c: Likewise.
5904 * tree-ssa-phiprop.c: Likewise.
5905 * tree-ssa-pre.c: Likewise.
5906 * tree-ssa-reassoc.c: Likewise.
5907 * tree-ssa-sink.c: Likewise.
5908 * tree-ssa-strlen.c: Likewise.
5909 * tree-ssa-tail-merge.c: Likewise.
5910 * tree-ssa-uncprop.c: Likewise.
5911 * tree-switch-conversion.c: Likewise.
5912 * tree-tailcall.c: Likewise.
5913 * tree-vect-generic.c: Likewise.
5914 * tree-vectorizer.c: Likewise.
5915 * tree-vrp.c: Likewise.
5916 * tsan.c: Likewise.
5917 * var-tracking.c: Likewise.
5918 * bt-load.c: Likewise.
5919 * cfgcleanup.c: Likewise.
5920 * combine-stack-adj.c: Likewise.
5921 * combine.c: Likewise.
5922 * compare-elim.c: Likewise.
5923 * config/epiphany/resolve-sw-modes.c: Likewise.
5924 * config/i386/i386.c: Likewise.
5925 * config/mips/mips.c: Likewise.
5926 * config/s390/s390.c: Likewise.
5927 * config/sh/sh_treg_combine.cc: Likewise.
5928 * config/sparc/sparc.c: Likewise.
5929 * dce.c: Likewise.
5930 * dse.c: Likewise.
5931 * final.c: Likewise.
5932 * ifcvt.c: Likewise.
5933 * mode-switching.c: Likewise.
5934 * passes.c: Likewise.
5935 * postreload.c: Likewise.
5936 * ree.c: Likewise.
5937 * reg-stack.c: Likewise.
5938 * regcprop.c: Likewise.
5939 * regrename.c: Likewise.
5940 * web.c: Likewise.
5941
3d224d46
RB
59422014-05-06 Richard Biener <rguenther@suse.de>
5943
5944 PR middle-end/61070
5945 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
5946 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
5947
e400f081
JH
59482014-05-05 Jan Hubicka <hubicka@ucw.cz>
5949
5950 PR ipa/60965
5951 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
5952
aaeaa9a9 59532014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 5954 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 5955
b6db8af6
UB
5956 * target.def (call_fusage_contains_non_callee_clobbers): New
5957 DEFHOOKPOD.
aaeaa9a9
RO
5958 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
5959 Hooks to @menu.
5960 (@node Miscellaneous Register Hooks): New node.
5961 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
5962 * doc/tm.texi: Regenerate.
5963
c2ac23fe
MP
59642014-05-05 Marek Polacek <polacek@redhat.com>
5965
5966 PR driver/61065
5967 * opts.c (common_handle_option): Call error_at instead of warning_at.
5968
0db74577
RB
59692014-05-05 Richard Biener <rguenther@suse.de>
5970
5971 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
5972 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
5973 under the TODO_verify_il umbrella.
5974
7e7f8713
RB
59752014-05-05 Richard Biener <rguenther@suse.de>
5976
5977 * passes.c (execute_function_todo): Move TODO_verify_flow under
5978 the TODO_verify_ul umbrella.
5979
7e2c9f14
RB
59802014-05-05 Richard Biener <rguenther@suse.de>
5981
5982 PR middle-end/61010
b6db8af6
UB
5983 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
5984 X & CST away from a CST that is the mask of a mode.
7e2c9f14 5985
33ecf108
JBG
59862014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5987
5988 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
5989 int argument to enum machine_mode.
5990 (picochip_class_max_nregs): Ditto.
5991 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
5992 (picochip_class_max_nregs): Ditto.
5993
d56a43a0
AK
59942014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5995
5996 * target.def: Add new target hook.
5997 * doc/tm.texi: Regenerate.
5998 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
5999 * targhooks.c (default_keep_leaf_when_profiled): New function.
6000
6001 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
6002 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
6003
cb8f1a57
BC
60042014-05-05 Bin Cheng <bin.cheng@arm.com>
6005
6006 PR tree-optimization/60363
6007 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
6008 (copy_phi_args): New parameters. Call get_value_locus_in_path.
6009 (update_destination_phis): New parameter.
6010 (create_edge_and_update_destination_phis): Ditto.
6011 (ssa_fix_duplicate_block_edges): Pass new arguments.
6012 (thread_single_edge): Ditto.
6013
f93bc5b3
PB
60142014-05-04 Peter Bergner <bergner@vnet.ibm.com>
6015
6016 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
6017 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
6018 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
6019 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
6020 Use RS6000_BTM_HARD_FLOAT.
6021 (BU_MISC_2): Likewise.
6022 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
6023 RS6000_BTM_HARD_FLOAT.
6024 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
6025 is explicitly used.
6026 (rs6000_invalid_builtin): Add hard floating builtin support.
6027 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
6028 hard float builtins.
6029 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
6030
579f4e64
OE
60312014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
6032
6033 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
6034 Add missing function* argument.
6035
0be7287d
RS
60362014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
6037
6038 * lra-constraints.c (valid_address_p): Move earlier in file.
6039 Add a constraint argument to the address_info version.
6040 (satisfies_memory_constraint_p): New function.
6041 (satisfies_address_constraint_p): Likewise.
6042 (process_alt_operands, curr_insn_transform): Use them.
6043 (process_address): Pass the constraint to valid_address_p when
6044 checking address operands.
6045
ad782bc9
RS
60462014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
6047
6048 * config/mips/mips.c (mips_isa_rev): New variable.
6049 (mips_set_architecture): Set it.
6050 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
6051 from mips_isa_rev.
6052 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
6053 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
6054 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
6055 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
6056 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
6057 conditions in terms of mips_isa_rev.
6058 (mips_isa_rev): Declare.
6059
45731f37
OE
60602014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
6061
6062 * config/sh/sh-mem.cc: Use tabs instead of spaces.
6063 (prob_unlikely, prob_likely): Make variables const.
6064
c61dfa63
DC
60652014-05-03 Denis Chertykov <chertykov@gmail.com>
6066
6067 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
6068
1b8da635
OE
60692014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
6070
6071 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
6072
f6982a08
OE
60732014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
6074
6075 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
6076 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
6077 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
6078 functions.
6079 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
6080 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
6081 sh_pass_in_reg_p.
6082 Replace usage of ROUND_REG with sh_round_reg.
6083 Use CEIL instead of ROUND_ADVANCE.
6084
0bcf70f8
OE
60852014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
6086
6087 PR target/61026
6088 * config/sh/sh.c: Include stdlib headers before everything else.
6089
95782571
JJ
60902014-05-02 Jakub Jelinek <jakub@redhat.com>
6091
6092 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
6093 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
6094 (gimplify_adjust_omp_clauses): Simd region is never
6095 directly nested in combined parallel. Instead, for linear
6096 with copyin/copyout, if in combined for simd loop, make decl
6097 firstprivate/lastprivate on OMP_FOR.
6098 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
6099 expand_omp_for_static_chunk): When setting endvar, also set
6100 fd->loop.v to the same value.
6101
e13b3dfd
RS
61022014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6103
6104 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
6105
0696116a
AL
61062014-05-02 Alan Lawrence <alan.lawrence@arm.com>
6107
6108 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
6109 expression.
6110
fb90f9f3
MP
61112014-05-02 Marek Polacek <polacek@redhat.com>
6112
6113 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
6114
153df826 61152014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
6116
6117 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
6118 to a C expression marco.
6119 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
6120 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
6121 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
6122 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
6123 HONOR_REG_ALLOC_ORDER.
6124 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
6125
53c8d5a7
JBG
61262014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6127
6128 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
6129
486c559b
JBG
61302014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6131
6132 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
6133
944052b9
YR
61342014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
6135
6136 * tree-if-conv.c (is_cond_scalar_reduction): New function.
6137 (convert_scalar_cond_reduction): Likewise.
6138 (predicate_scalar_phi): Add recognition and transformation
6139 of simple conditioanl reduction to be vectorizable.
6140
d00887e8
MP
61412014-05-01 Marek Polacek <polacek@redhat.com>
6142
6143 PR c/43245
6144 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
6145
7211512a
AL
61462014-04-30 Alan Lawrence <alan.lawrence@arm.com>
6147
6148 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
6149 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
6150 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
6151 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
6152 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
6153 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
6154 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
6155 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
6156
e5bd20a4
JR
61572014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
6158
6159 * config/arc/arc.opt (mlra): Move comment above option name
6160 to avoid mis-parsing as language options.
6161
2cf03b11
RO
61622014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6163
6164 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
6165 * config/sol2.h: ... here.
6166 * config/sol2-10.h: Remove.
6167
6168 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
6169 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
6170 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
6171 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
6172 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
6173 * config/sol2.h: ... here.
6174 (SECTION_NAME_FORMAT): Don't redefine.
6175 (STARTFILE_ARCH32_SPEC): Rename to ...
6176 (STARTFILE_ARCH_SPEC): ... this.
6177 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
6178 * config/sparc/sol2.h: ... here.
6179 (SECTION_NAME_FORMAT): Don't undef.
6180 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
6181 (SUBTARGET_EXTRA_SPECS): Remove.
6182 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
6183
6184 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
6185 (MD_STARTFILE_PREFIX): Remove.
6186 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
6187 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
6188 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
6189 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
6190 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
6191 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
6192 * config/i386/sol2.h: ... here.
6193 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
6194 * config/i386/sol2-bi.h: Remove.
6195 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
6196 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
6197
6198 * config/i386/t-sol2-64: Rename to ...
6199 * config/i386/t-sol2: ... this.
6200 * config/sparc/t-sol2-64: Rename to ...
6201 * config/sparc/t-sol2: ... this.
6202
6203 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
6204 sol2_tm_file_head, sol2_tm_file_tail.
6205 Include ${cpu_type}/sol2.h before sol2.h.
6206 Remove sol2-10.h.
6207 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
6208 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
6209 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
6210 Reflect i386/t-sol2-64 renaming.
6211 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
6212 Reflect sparc/t-sol2-64 renaming.
6213
e9ff9caf
RB
62142014-04-30 Richard Biener <rguenther@suse.de>
6215
6216 * passes.c (execute_function_todo): Move TODO_verify_stmts
6217 and TODO_verify_ssa under the TODO_verify_il umbrella.
6218 * tree-ssa.h (verify_ssa): Adjust prototype.
6219 * tree-ssa.c (verify_ssa): Add parameter to tell whether
6220 we should verify SSA operands.
6221 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
6222 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
6223 whether we should verify whether not throwing stmts have EH info.
6224 * graphite-scop-detection.c (create_sese_edges): Adjust.
6225 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
6226 * tree-eh.c (lower_try_finally_switch): Do not add the
6227 default case label twice.
6228
f8ed5150
MP
62292014-04-30 Marek Polacek <polacek@redhat.com>
6230
6231 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
6232 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
6233 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
6234 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
6235
7cb0403f
AL
62362014-04-29 Alan Lawrence <alan.lawrence@arm.com>
6237
6238 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
6239 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
6240 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
6241 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
6242 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
6243 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
6244 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
6245 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
6246
3979649a
DM
62472014-04-29 David Malcolm <dmalcolm@redhat.com>
6248
6249 * tree-cfg.c (dump_function_to_file): Dump the return type of
6250 functions, in a line to itself before the function body, mimicking
6251 the layout of a C function.
6252
62fb101e
JJ
62532014-04-29 Jakub Jelinek <jakub@redhat.com>
6254
6255 PR tree-optimization/60971
6256 * tree-tailcall.c (process_assignment): Reject conversions which
6257 reduce precision.
6258
3d9684ae
JG
62592014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
6260
6261 * calls.c (initialize_argument_information): Always treat
6262 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
6263 (expand_call): Likewise.
6264 (emit_library_call_calue_1): Likewise.
6265 * expr.c (PUSH_ARGS_REVERSED): Do not define.
6266 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
6267 code accordingly.
6268
d77f7b19
NC
62692014-04-29 Nick Clifton <nickc@redhat.com>
6270
6271 * config/msp430/msp430.md (umulsidi): Fix typo.
6272 (mulhisi3): Enable even inside interrupt handlers.
6273 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
6274 bigger return address pushed in large mode.
6275
f8d91e80
NC
62762014-04-29 Nick Clifton <nickc@redhat.com>
6277
6278 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
6279 (arc_init_reg_tables): Use a machine_mode enum to iterate over
6280 available modes.
6281 * config/m32r/m32r.c (init_reg_tables): Likewise.
6282 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
6283 enum to hold the modes.
6284
e3f613cb
RB
62852014-04-29 Richard Biener <rguenther@suse.de>
6286
6287 * dominance.c (free_dominance_info): Add overload with
6288 function parameter.
6289 (dom_info_state): Likewise.
6290 (dom_info_available_p): Likewise.
6291 * basic-block.h (free_dominance_info, dom_info_state,
6292 dom_info_available_p): Declare overloads.
6293 * passes.c (execute_function_todo): Verify that verifiers
6294 don't change dominator info state. Drop dominator info
6295 for IPA pass invocations.
6296 * cgraph.c (release_function_body): Restore asserts that
6297 dominator information is released.
6298
36f291f7
PP
62992014-04-29 Patrick Palka <patrick@parcs.ath.cx>
6300
6301 * doc/invoke.texi: Fix typo.
6302 * tree-vrp.c: Fix typos.
b6db8af6 6303 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 6304
d3a3182b
ZC
63052014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6306
6307 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
6308
ba081b77
JG
63092014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
6310
6311 * config/aarch64/aarch64-builtins.c
6312 (aarch64_types_storestruct_lane_qualifiers): New.
6313 (TYPES_STORESTRUCT_LANE): Likewise.
6314 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
6315 (st3_lane): Likewise.
6316 (st4_lane): Likewise.
6317 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
6318 (vec_store_lanesci_lane<mode>): Likewise.
6319 (vec_store_lanesxi_lane<mode>): Likewise.
6320 (aarch64_st2_lane<VQ:mode>): Likewise.
6321 (aarch64_st3_lane<VQ:mode>): Likewise.
6322 (aarch64_st4_lane<VQ:mode>): Likewise.
6323 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
6324 * config/aarch64/arm_neon.h
6325 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
6326 use new macro arguments.
6327 (__ST3_LANE_FUNC): Likewise.
6328 (__ST4_LANE_FUNC): Likewise.
6329 * config/aarch64/iterators.md (V_TWO_ELEM): New.
6330 (V_THREE_ELEM): Likewise.
6331 (V_FOUR_ELEM): Likewise.
6332
1bc6d43c
DM
63332014-04-28 David Malcolm <dmalcolm@redhat.com>
6334
6335 * doc/gimple.texi: Replace the description of the now-defunct
6336 union gimple_statement_d with a diagram showing the
6337 gimple_statement_base class hierarchy and its relationships to
6338 the GSS_ and GIMPLE_ enums.
6339
97e1ad78
JG
63402014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
6341
6342 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
6343 * config/aarch64/aarch64.c
6344 (aarch64_cannot_change_mode_class): Weaken conditions.
6345 (aarch64_modes_tieable_p): New.
6346 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
6347
bf245bf4
PH
63482014-04-28 Pat Haugen <pthaugen@us.ibm.com>
6349
6350 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
6351 (loadsync_<mode>): Change mode.
6352 (load_quadpti, store_quadpti): New.
6353 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
6354 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
6355
28151221
MJ
63562014-04-28 Martin Jambor <mjambor@suse.cz>
6357
6358 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
6359 same alias type as the original statement.
6360 (subreplacement_assignment_data): New type.
6361 (handle_unscalarized_data_in_subtree): New type of parameter,
6362 generate new memory accesses with same alias type as the original
6363 statement.
6364 (load_assign_lhs_subreplacements): Likewise.
6365 (sra_modify_constructor_assign): Generate new memory accesses with
6366 same alias type as the original statement.
6367
9ba5fb43
RB
63682014-04-28 Richard Biener <rguenther@suse.de>
6369
6370 * tree-pass.h (TODO_verify_il): Define.
6371 (TODO_verify_all): Complete properly.
6372 * passes.c (execute_function_todo): Move existing loop-closed
6373 SSA verification under TODO_verify_il.
6374 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
6375 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
6376 Fix tree sharing issue.
6377
22869a37
RB
63782014-04-28 Richard Biener <rguenther@suse.de>
6379
6380 PR middle-end/60092
6381 * builtins.def (DEF_C11_BUILTIN): Add.
6382 (BUILT_IN_ALIGNED_ALLOC): Likewise.
6383 * coretypes.h (enum function_class): Add function_c11_misc.
6384 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
6385 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
6386 (call_may_clobber_ref_p_1): Likewise.
6387 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
6388 (mark_all_reaching_defs_necessary_1): Likewise.
6389 (propagate_necessity): Likewise.
6390 (eliminate_unnecessary_stmts): Likewise.
6391 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
6392
771c9501
RB
63932014-04-28 Richard Biener <rguenther@suse.de>
6394
6395 * tree-vrp.c (vrp_var_may_overflow): Remove.
6396 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
6397 with overflow immediately bump to one before that value and
6398 let iteration figure out overflow status.
6399
279a935f
RB
64002014-04-28 Richard Biener <rguenther@suse.de>
6401
6402 * configure.ac: Do valgrind header checks unconditionally.
6403 Add --enable-valgrind-annotations.
6404 * system.h: Guard valgrind header inclusion with
6405 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
6406 * alloc-pool.c (pool_alloc, pool_free): Use
6407 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
6408 to guard possibly dead code.
6409 * config.in: Regenerated.
6410 * configure: Likewise.
6411
07357f2f
JL
64122014-04-28 Jeff Law <law@redhat.com>
6413
6414 PR tree-optimization/60902
6415 * tree-ssa-threadedge.c
6416 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
6417 over real defs when invalidating outputs from statements that do not
6418 produce useful outputs for threading.
6419
6c6aa8e6
RB
64202014-04-28 Richard Biener <rguenther@suse.de>
6421
6422 PR tree-optimization/60979
6423 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
6424 SCOPs that end in a block with a successor with abnormal
6425 predecessors.
6426
2cbf2d95
RB
64272014-04-28 Richard Biener <rguenther@suse.de>
6428
6429 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 6430 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
6431 (do_per_function): Change callback signature, push all actual
6432 work to the callbals.
6433 (do_per_function_toporder): Likewise.
6434 (execute_function_dump): Adjust.
6435 (execute_function_todo): Likewise.
6436 (clear_last_verified): Likewise.
6437 (verify_curr_properties): Likewise.
6438 (update_properties_after_pass): Likewise.
6439 (execute_pass_list_1): Split out from ...
6440 (execute_pass_list): ... here. Adjust.
6441 (execute_ipa_pass_list): Likewise.
6442 * cgraphunit.c (cgraph_add_new_function): Adjust.
6443 (analyze_function): Likewise.
6444 (expand_function): Likewise.
6445 * cgraph.c (release_function_body): Free dominance info
6446 here instead of asserting it was magically freed elsewhere.
6447
ba21a04a
EB
64482014-04-28 Eric Botcazou <ebotcazou@adacore.com>
6449
6450 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
6451 * configure: Regenerate.
6452 * config/sparc/sparc.opt (muser-mode): New option.
6453 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
6454 for LEON3.
6455 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
6456 * doc/invoke.texi (SPARC options): Document -muser-mode.
6457
f956adb9
RS
64582014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
6459
6460 * cselib.c (find_slot_memmode): Delete.
6461 (cselib_hasher): Change compare_type to a struct.
6462 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
6463 constants.
6464 (preserve_constants_and_equivs): Adjust for new compare_type.
6465 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
6466 (wrap_constant): Delete.
6467 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
6468
167c3e96
MT
64692014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
6470
6471 * doc/install.texi (Building with profile feedback): Remove
6472 outdated sentence.
6473
4148ef5f
TV
64742014-04-26 Tom de Vries <tom@codesourcery.com>
6475
6476 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
6477 array accesses.
6478
8d8ffd86
CC
64792014-04-25 Cary Coutant <ccoutant@google.com>
6480
b6db8af6 6481 PR debug/60929
8d8ffd86 6482 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
6483 can contain a subprogram definition, but don't move it to a
6484 comdat unit.
8d8ffd86 6485 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
6486 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
6487 from original DIE.
8d8ffd86
CC
6488 (clone_tree_hash): Rename to...
6489 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 6490 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 6491 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 6492 type unit.
8d8ffd86 6493
255671b0
L
64942014-04-25 H.J. Lu <hongjiu.lu@intel.com>
6495
6496 PR target/60969
6497 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
6498 alternative 12.
6499
10432733
JW
65002014-04-25 Jiong Wang <jiong.wang@arm.com>
6501
6502 * config/arm/predicates.md (call_insn_operand): Add long_call check.
6503 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
6504 reg for long_call.
6505 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
6506 restriction.
6507
0e4c913f
KT
65082014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6509
b6db8af6 6510 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 6511
61ba7329
BS
65122014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6513
6514 PR tree-optimization/60930
6515 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
6516 creating a multiply candidate by folding two constant
6517 multiplicands when the result overflows.
6518
2b332829
JJ
65192014-04-25 Jakub Jelinek <jakub@redhat.com>
6520
6521 PR tree-optimization/60960
6522 * tree-vect-generic.c (expand_vector_operation): Only call
6523 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
6524
97891c11
TV
65252014-04-25 Tom de Vries <tom@codesourcery.com>
6526
6527 * expr.c (clobber_reg_mode): New function.
6528 * expr.h (clobber_reg): New function.
6529
3ee634fd
TV
65302014-04-25 Tom de Vries <tom@codesourcery.com>
6531
6532 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
6533 clobbers.
6534
356bf593 65352014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 6536 Tom de Vries <tom@codesourcery.com>
356bf593
RO
6537
6538 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
6539 handle.
6540 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
6541 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
6542 new argument to find_all_hard_reg_sets call.
6543
fe65a7ed
KT
65442014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6545
6546 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
6547 Use HOST_WIDE_INT_C for mask literal.
6548 (aarch_rev16_shleft_mask_imm_p): Likewise.
6549
b357d40d
EB
65502014-04-25 Eric Botcazou <ebotcazou@adacore.com>
6551
6552 PR target/60941
6553 * config/sparc/sparc.md (ashlsi3_extend): Delete.
6554
30c0a59a
MG
65552014-04-25 Marc Glisse <marc.glisse@inria.fr>
6556
6557 PR preprocessor/56540
6558 * config/i386/i386-c.c (ix86_target_macros): Define
6559 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
6560
c02f59e2
RO
65612014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6562
6563 * configure.ac (tga_func): Remove.
6564 (LIB_TLS_SPEC): Remove.
6565 * configure: Regenerate.
6566 * config.in: Regenerate.
6567 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
6568
92b3326b
RB
65692014-04-25 Richard Biener <rguenther@suse.de>
6570
6571 PR ipa/60912
6572 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
6573 call stmt use/clobber sets during stmt walk instead of
6574 walking the possibly incomplete set of caller edges.
6575
78422fb1
RB
65762014-04-25 Richard Biener <rguenther@suse.de>
6577
6578 PR ipa/60911
6579 * passes.c (apply_ipa_transforms): Inline into only caller ...
6580 (execute_one_pass): ... here. Properly bring in function
6581 bodies for nodes we want to apply IPA transforms to.
6582
56f8faae
CH
65832014-04-24 Cong Hou <congh@google.com>
6584
6585 PR tree-optimization/60896
6586 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
6587 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
6588 (vect_mark_pattern_stmts): Set the def type of all statements in
6589 PATTERN_DEF_SEQ as vect_internal_def.
6590
06b39289
MM
65912014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
6592
6593 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 6594 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
6595 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
6596
6597 * config/rs6000/predicates.md (const_0_to_3_operand): New
6598 predicate to match 0..3 integer constants.
6599
6600 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
6601 to support adding miscellaneous builtin functions.
6602 (BU_DFP_MISC_2): Likewise.
6603 (BU_P7_MISC_1): Likewise.
6604 (BU_P7_MISC_2): Likewise.
6605 (BU_P8V_MISC_3): Likewise.
6606 (BU_MISC_1): Likewise.
6607 (BU_MISC_2): Likewise.
6608 (DIVWE): Add extended divide builtin functions.
6609 (DIVWEO): Likewise.
6610 (DIVWEU): Likewise.
6611 (DIVWEUO): Likewise.
6612 (DIVDE): Likewise.
6613 (DIVDEO): Likewise.
6614 (DIVDEU): Likewise.
6615 (DIVDEUO): Likewise.
6616 (DXEX): Add decimal floating-point builtin functions.
6617 (DXEXQ): Likewise.
6618 (DDEDPD): Likewise.
6619 (DDEDPDQ): Likewise.
6620 (DENBCD): Likewise.
6621 (DENBCDQ): Likewise.
6622 (DIEX): Likewise.
6623 (DIEXQ): Likewise.
6624 (DSCLI): Likewise.
6625 (DSCLIQ): Likewise.
6626 (DSCRI): Likewise.
6627 (DSCRIQ): Likewise.
6628 (CDTBCD): Add new BCD builtin functions.
6629 (CBCDTD): Likewise.
6630 (ADDG6S): Likewise.
6631 (BCDADD): Likewise.
6632 (BCDADD_LT): Likewise.
6633 (BCDADD_EQ): Likewise.
6634 (BCDADD_GT): Likewise.
6635 (BCDADD_OV): Likewise.
6636 (BCDSUB): Likewise.
6637 (BCDSUB_LT): Likewise.
6638 (BCDSUB_EQ): Likewise.
6639 (BCDSUB_GT): Likewise.
6640 (BCDSUB_OV): Likewise.
6641 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
6642 (UNPACK_TD): Likewise.
6643 (PACK_TF): Likewise.
6644 (UNPACK_TF): Likewise.
6645 (UNPACK_TF_0): Likewise.
6646 (UNPACK_TF_1): Likewise.
6647 (PACK_V1TI): Likewise.
6648 (UNPACK_V1TI): Likewise.
6649
6650 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
6651 support for decimal floating point builtin functions.
6652 (rs6000_expand_ternop_builtin): Add checks for the new builtin
6653 functions that take constant arguments.
b6db8af6 6654 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
6655 (rs6000_init_builtins): Setup long double, _Decimal64, and
6656 _Decimal128 types for new builtin functions.
6657 (builtin_function_type): Set the unsigned flags appropriately for
6658 the new builtin functions.
6659 (rs6000_opt_masks): Add support for decimal floating point builtin
6660 functions.
6661
6662 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
6663 floating point builtin functions.
6664 (RS6000_BTM_COMMON): Likewise.
6665 (RS6000_BTI_long_double): Likewise.
6666 (RS6000_BTI_dfloat64): Likewise.
6667 (RS6000_BTI_dfloat128): Likewise.
6668 (long_double_type_internal_node): Likewise.
6669 (dfloat64_type_internal_node): Likewise.
6670 (dfloat128_type_internal_node): Likewise.
6671
6672 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
6673 2.07 bcd arithmetic instructions.
6674 (UNSPEC_BCDSUB): Likewise.
6675 (UNSPEC_BCD_OVERFLOW): Likewise.
6676 (UNSPEC_BCD_ADD_SUB): Likewise.
6677 (bcd_add_sub): Likewise.
6678 (BCD_TEST): Likewise.
6679 (bcd<bcd_add_sub>): Likewise.
6680 (bcd<bcd_add_sub>_test): Likewise.
6681 (bcd<bcd_add_sub>_test2): Likewise.
6682 (bcd<bcd_add_sub>_<code>): Likewise.
6683 (peephole2 for combined bcd ops): Likewise.
6684
6685 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
6686 decimal floating point builtin functions.
6687 (UNSPEC_DENBCD): Likewise.
6688 (UNSPEC_DXEX): Likewise.
6689 (UNSPEC_DIEX): Likewise.
6690 (UNSPEC_DSCLI): Likewise.
6691 (UNSPEC_DSCRI): Likewise.
6692 (D64_D128): Likewise.
6693 (dfp_suffix): Likewise.
6694 (dfp_ddedpd_<mode>): Likewise.
6695 (dfp_denbcd_<mode>): Likewise.
6696 (dfp_dxex_<mode>): Likewise.
6697 (dfp_diex_<mode>): Likewise.
6698 (dfp_dscli_<mode>): Likewise.
6699 (dfp_dscri_<mode>): Likewise.
6700
6701 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
6702 builtin functions.
6703 (UNSPEC_CDTBCD): Likewise.
6704 (UNSPEC_CBCDTD): Likewise.
b6db8af6 6705 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
6706 (UNSPEC_DIVEO): Likewise.
6707 (UNSPEC_DIVEU): Likewise.
6708 (UNSPEC_DIVEUO): Likewise.
6709 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
6710 pack/unpack 128-bit types.
6711 (UNSPEC_PACK_128BIT): Likewise.
6712 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
6713 (udiv<mode>3): Use idiv_ldiv mode attribute.
6714 (div<mode>3): Likewise.
6715 (addg6s): Add new BCD builtin functions.
6716 (cdtbcd): Likewise.
6717 (cbcdtd): Likewise.
b6db8af6 6718 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
6719 (div_extend): Likewise.
6720 (div<div_extend>_<mode>"): Likewise.
6721 (FP128_64): Add support for new builtin functions to pack/unpack
6722 128-bit types.
6723 (unpack<mode>): Likewise.
6724 (unpacktf_0): Likewise.
6725 (unpacktf_1): Likewise.
6726 (unpack<mode>_dm): Likewise.
6727 (unpack<mode>_nodm): Likewise.
6728 (pack<mode>): Likewise.
6729 (unpackv1ti): Likewise.
6730 (packv1ti): Likewise.
6731
6e4f81db
V
67322014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
6733
6734 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
6735 is disabled.
6736
f7468577
JJ
67372014-04-24 Jakub Jelinek <jakub@redhat.com>
6738
6739 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
6740 * gimplify.c (omp_is_private): Change last argument's type to int.
6741 Only diagnose lastprivate if the simd argument is 1, only diagnose
6742 linear if the simd argument is 2.
6743 (gimplify_omp_for): Adjust omp_is_private callers. When adding
6744 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
6745 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
6746 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
6747 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
6748 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
6749 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
6750 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
6751 * tree-nested.c (convert_nonlocal_omp_clauses,
6752 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
6753
2f7ac5ce
JL
67542014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
6755
6756 PR target/60822
6757 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
6758 operand 1.
6759
dcaaa5a0
DP
67602014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6761
6762 * flag-types.h (enum ivar_visibility): Add.
6763
78c7d18e
TS
67642014-04-24 Trevor Saunders <tsaunders@mozilla.com>
6765
6766 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
6767 function * argument.
6768
fbbde65e
AL
67692014-04-24 Alan Lawrence <alan.lawrence@arm.com>
6770
6771 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
6772
4f660b15 67732014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 6774 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
6775
6776 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
6777 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
6778 reg-note.
6779 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
6780 * emit-rtl.c (try_split): Same.
6781
d996e61a 67822014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 6783 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
6784
6785 * common.opt (fuse-caller-save): New option.
6786
bbcc9c00
TB
67872014-04-24 Tejas Belagod <tejas.belagod@arm.com>
6788
b6db8af6
UB
6789 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
6790 elements for big-endian.
bbcc9c00 6791
d2d11532
RB
67922014-04-24 Richard Biener <rguenther@suse.de>
6793
6794 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
6795 during TER and instead use the sepops interface for expanding
6796 non-GIMPLE_SINGLE_RHS.
6797
8117ef98
RO
67982014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6799
6800 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
6801 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
6802
ab0afae3
RO
68032014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6804
6805 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
6806 assembler 64-bit option.
6807 * configure: Regenerate.
6808
683e3333
KT
68092014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6810
6811 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
6812 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
6813 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
6814 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
6815 (TARGET_CRYPTO): Take TARGET_SIMD into account.
6816
c7f28cd5
KT
68172014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6818
6819 * config/aarch64/aarch64-builtins.c
6820 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
6821 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
6822 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
6823 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
6824 builtins.
6825 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
6826 (Vrevsuff): New mode attribute.
6827
b0419491
TG
68282014-04-24 Terry Guo <terry.guo@arm.com>
6829
6830 * config/arm/arm.h (machine_function): Define variable
6831 after_arm_reorg here.
6832 * config/arm/arm.c (after_arm_reorg): Remove the definition.
6833 (arm_split_constant): Update the way to access variable
6834 after_arm_reorg.
6835 (arm_reorg): Ditto.
6836 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
6837
74e4d71a
TV
68382014-04-23 Tom de Vries <tom@codesourcery.com>
6839
6840 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
6841
7de90a6c
DM
68422014-04-23 David Malcolm <dmalcolm@redhat.com>
6843
6844 * is-a.h: Update comments to reflect the following changes to the
6845 "pointerness" of the API, making the template parameter match the
6846 return type, allowing use of is-a.h with typedefs of pointers.
6847 (is_a_helper::cast): Return a T rather then a pointer to a T, so
6848 that the return type matches the parameter to the is_a_helper.
6849 (as_a): Likewise.
6850 (dyn_cast): Likewise.
6851
6852 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
6853 pointer from the is-a.h API.
6854
6855 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
6856 (is_a_helper <cgraph_node *>::test): ...this, matching change to
6857 is-a.h API.
6858 (is_a_helper <varpool_node>::test): Likewise, convert to...
6859 (is_a_helper <varpool_node *>::test): ...this.
6860
6861 (varpool_first_variable): Update for removal of implicit pointer
6862 from the is-a.h API.
6863 (varpool_next_variable): Likewise.
6864 (varpool_first_static_initializer): Likewise.
6865 (varpool_next_static_initializer): Likewise.
6866 (varpool_first_defined_variable): Likewise.
6867 (varpool_next_defined_variable): Likewise.
6868 (cgraph_first_defined_function): Likewise.
6869 (cgraph_next_defined_function): Likewise.
6870 (cgraph_first_function): Likewise.
6871 (cgraph_next_function): Likewise.
6872 (cgraph_first_function_with_gimple_body): Likewise.
6873 (cgraph_next_function_with_gimple_body): Likewise.
6874 (cgraph_alias_target): Likewise.
6875 (varpool_alias_target): Likewise.
6876 (cgraph_function_or_thunk_node): Likewise.
6877 (varpool_variable_node): Likewise.
6878 (symtab_real_symbol_p): Likewise.
6879 * cgraphunit.c (referred_to_p): Likewise.
6880 (analyze_functions): Likewise.
6881 (handle_alias_pairs): Likewise.
6882 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
6883 * gimple-ssa.h (gimple_vuse_op): Likewise.
6884 (gimple_vdef_op): Likewise.
6885 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
6886 * gimple.c (gimple_build_asm_1): Likewise.
6887 (gimple_build_try): Likewise.
6888 (gimple_build_resx): Likewise.
6889 (gimple_build_eh_dispatch): Likewise.
6890 (gimple_build_omp_for): Likewise.
6891 (gimple_omp_for_set_clauses): Likewise.
6892
6893 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
6894 (is_a_helper <gimple_statement_asm *>::test): ...this.
6895 (is_a_helper <gimple_statement_bind>::test): Convert to...
6896 (is_a_helper <gimple_statement_bind *>::test): ...this.
6897 (is_a_helper <gimple_statement_call>::test): Convert to...
6898 (is_a_helper <gimple_statement_call *>::test): ...this.
6899 (is_a_helper <gimple_statement_catch>::test): Convert to...
6900 (is_a_helper <gimple_statement_catch *>::test): ...this.
6901 (is_a_helper <gimple_statement_resx>::test): Convert to...
6902 (is_a_helper <gimple_statement_resx *>::test): ...this.
6903 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
6904 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
6905 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
6906 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
6907 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
6908 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
6909 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
6910 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
6911 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
6912 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
6913 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
6914 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
6915 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
6916 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
6917 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
6918 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
6919 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
6920 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
6921 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
6922 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
6923 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
6924 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
6925 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
6926 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
6927 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
6928 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
6929 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
6930 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
6931 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
6932 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
6933 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
6934 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
6935 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
6936 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
6937 (is_a_helper <gimple_statement_phi>::test): Convert to...
6938 (is_a_helper <gimple_statement_phi *>::test): ...this.
6939 (is_a_helper <gimple_statement_transaction>::test): Convert to...
6940 (is_a_helper <gimple_statement_transaction *>::test): ...this.
6941 (is_a_helper <gimple_statement_try>::test): Convert to...
6942 (is_a_helper <gimple_statement_try *>::test): ...this.
6943 (is_a_helper <gimple_statement_wce>::test): Convert to...
6944 (is_a_helper <gimple_statement_wce *>::test): ...this.
6945 (is_a_helper <const gimple_statement_asm>::test): Convert to...
6946 (is_a_helper <const gimple_statement_asm *>::test): ...this.
6947 (is_a_helper <const gimple_statement_bind>::test): Convert to...
6948 (is_a_helper <const gimple_statement_bind *>::test): ...this.
6949 (is_a_helper <const gimple_statement_call>::test): Convert to...
6950 (is_a_helper <const gimple_statement_call *>::test): ...this.
6951 (is_a_helper <const gimple_statement_catch>::test): Convert to...
6952 (is_a_helper <const gimple_statement_catch *>::test): ...this.
6953 (is_a_helper <const gimple_statement_resx>::test): Convert to...
6954 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
6955 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
6956 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
6957 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
6958 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
6959 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
6960 Convert to...
6961 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
6962 ...this.
6963 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
6964 Convert to...
6965 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
6966 ...this.
b6db8af6 6967 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
6968 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
6969 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
6970 to...
6971 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
6972 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
6973 to...
6974 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
6975 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
6976 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 6977 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
6978 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
6979 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
6980 to...
6981 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 6982 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
6983 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
6984 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
6985 to...
6986 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 6987 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 6988 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 6989 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 6990 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 6991 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
6992 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
6993 (is_a_helper <const gimple_statement_phi>::test): Convert to...
6994 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 6995 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 6996 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 6997 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
6998 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
6999 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
7000 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
7001 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
7002 to...
7de90a6c
DM
7003 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
7004 ...this.
b6db8af6 7005 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
7006 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
7007
7008 (gimple_use_ops): Update for removal of implicit pointer from the
7009 is-a.h API.
7010 (gimple_set_use_ops): Likewise.
7011 (gimple_vuse): Likewise.
7012 (gimple_vdef): Likewise.
7013 (gimple_vuse_ptr): Likewise.
7014 (gimple_vdef_ptr): Likewise.
7015 (gimple_set_vuse): Likewise.
7016 (gimple_set_vdef): Likewise.
7017 (gimple_omp_return_set_lhs): Likewise.
7018 (gimple_omp_return_lhs): Likewise.
7019 (gimple_omp_return_lhs_ptr): Likewise.
7020 (gimple_call_fntype): Likewise.
7021 (gimple_call_set_fntype): Likewise.
7022 (gimple_call_set_internal_fn): Likewise.
7023 (gimple_call_use_set): Likewise.
7024 (gimple_call_clobber_set): Likewise.
7025 (gimple_bind_vars): Likewise.
7026 (gimple_bind_set_vars): Likewise.
7027 (gimple_bind_body_ptr): Likewise.
7028 (gimple_bind_set_body): Likewise.
7029 (gimple_bind_add_stmt): Likewise.
7030 (gimple_bind_block): Likewise.
7031 (gimple_bind_set_block): Likewise.
7032 (gimple_asm_ninputs): Likewise.
7033 (gimple_asm_noutputs): Likewise.
7034 (gimple_asm_nclobbers): Likewise.
7035 (gimple_asm_nlabels): Likewise.
7036 (gimple_asm_input_op): Likewise.
7037 (gimple_asm_input_op_ptr): Likewise.
7038 (gimple_asm_output_op): Likewise.
7039 (gimple_asm_output_op_ptr): Likewise.
7040 (gimple_asm_set_output_op): Likewise.
7041 (gimple_asm_clobber_op): Likewise.
7042 (gimple_asm_set_clobber_op): Likewise.
7043 (gimple_asm_label_op): Likewise.
7044 (gimple_asm_set_label_op): Likewise.
7045 (gimple_asm_string): Likewise.
7046 (gimple_catch_types): Likewise.
7047 (gimple_catch_types_ptr): Likewise.
7048 (gimple_catch_handler_ptr): Likewise.
7049 (gimple_catch_set_types): Likewise.
7050 (gimple_catch_set_handler): Likewise.
7051 (gimple_eh_filter_types): Likewise.
7052 (gimple_eh_filter_types_ptr): Likewise.
7053 (gimple_eh_filter_failure_ptr): Likewise.
7054 (gimple_eh_filter_set_types): Likewise.
7055 (gimple_eh_filter_set_failure): Likewise.
7056 (gimple_eh_must_not_throw_fndecl): Likewise.
7057 (gimple_eh_must_not_throw_set_fndecl): Likewise.
7058 (gimple_eh_else_n_body_ptr): Likewise.
7059 (gimple_eh_else_e_body_ptr): Likewise.
7060 (gimple_eh_else_set_n_body): Likewise.
7061 (gimple_eh_else_set_e_body): Likewise.
7062 (gimple_try_eval_ptr): Likewise.
7063 (gimple_try_cleanup_ptr): Likewise.
7064 (gimple_try_set_eval): Likewise.
7065 (gimple_try_set_cleanup): Likewise.
7066 (gimple_wce_cleanup_ptr): Likewise.
7067 (gimple_wce_set_cleanup): Likewise.
7068 (gimple_phi_capacity): Likewise.
7069 (gimple_phi_num_args): Likewise.
7070 (gimple_phi_result): Likewise.
7071 (gimple_phi_result_ptr): Likewise.
7072 (gimple_phi_set_result): Likewise.
7073 (gimple_phi_arg): Likewise.
7074 (gimple_phi_set_arg): Likewise.
7075 (gimple_resx_region): Likewise.
7076 (gimple_resx_set_region): Likewise.
7077 (gimple_eh_dispatch_region): Likewise.
7078 (gimple_eh_dispatch_set_region): Likewise.
7079 (gimple_omp_critical_name): Likewise.
7080 (gimple_omp_critical_name_ptr): Likewise.
7081 (gimple_omp_critical_set_name): Likewise.
7082 (gimple_omp_for_clauses): Likewise.
7083 (gimple_omp_for_clauses_ptr): Likewise.
7084 (gimple_omp_for_set_clauses): Likewise.
7085 (gimple_omp_for_collapse): Likewise.
7086 (gimple_omp_for_index): Likewise.
7087 (gimple_omp_for_index_ptr): Likewise.
7088 (gimple_omp_for_set_index): Likewise.
7089 (gimple_omp_for_initial): Likewise.
7090 (gimple_omp_for_initial_ptr): Likewise.
7091 (gimple_omp_for_set_initial): Likewise.
7092 (gimple_omp_for_final): Likewise.
7093 (gimple_omp_for_final_ptr): Likewise.
7094 (gimple_omp_for_set_final): Likewise.
7095 (gimple_omp_for_incr): Likewise.
7096 (gimple_omp_for_incr_ptr): Likewise.
7097 (gimple_omp_for_set_incr): Likewise.
7098 (gimple_omp_for_pre_body_ptr): Likewise.
7099 (gimple_omp_for_set_pre_body): Likewise.
7100 (gimple_omp_parallel_clauses): Likewise.
7101 (gimple_omp_parallel_clauses_ptr): Likewise.
7102 (gimple_omp_parallel_set_clauses): Likewise.
7103 (gimple_omp_parallel_child_fn): Likewise.
7104 (gimple_omp_parallel_child_fn_ptr): Likewise.
7105 (gimple_omp_parallel_set_child_fn): Likewise.
7106 (gimple_omp_parallel_data_arg): Likewise.
7107 (gimple_omp_parallel_data_arg_ptr): Likewise.
7108 (gimple_omp_parallel_set_data_arg): Likewise.
7109 (gimple_omp_task_clauses): Likewise.
7110 (gimple_omp_task_clauses_ptr): Likewise.
7111 (gimple_omp_task_set_clauses): Likewise.
7112 (gimple_omp_task_child_fn): Likewise.
7113 (gimple_omp_task_child_fn_ptr): Likewise.
7114 (gimple_omp_task_set_child_fn): Likewise.
7115 (gimple_omp_task_data_arg): Likewise.
7116 (gimple_omp_task_data_arg_ptr): Likewise.
7117 (gimple_omp_task_set_data_arg): Likewise.
7118 (gimple_omp_taskreg_clauses): Likewise.
7119 (gimple_omp_taskreg_clauses_ptr): Likewise.
7120 (gimple_omp_taskreg_set_clauses): Likewise.
7121 (gimple_omp_taskreg_child_fn): Likewise.
7122 (gimple_omp_taskreg_child_fn_ptr): Likewise.
7123 (gimple_omp_taskreg_set_child_fn): Likewise.
7124 (gimple_omp_taskreg_data_arg): Likewise.
7125 (gimple_omp_taskreg_data_arg_ptr): Likewise.
7126 (gimple_omp_taskreg_set_data_arg): Likewise.
7127 (gimple_omp_task_copy_fn): Likewise.
7128 (gimple_omp_task_copy_fn_ptr): Likewise.
7129 (gimple_omp_task_set_copy_fn): Likewise.
7130 (gimple_omp_task_arg_size): Likewise.
7131 (gimple_omp_task_arg_size_ptr): Likewise.
7132 (gimple_omp_task_set_arg_size): Likewise.
7133 (gimple_omp_task_arg_align): Likewise.
7134 (gimple_omp_task_arg_align_ptr): Likewise.
7135 (gimple_omp_task_set_arg_align): Likewise.
7136 (gimple_omp_single_clauses): Likewise.
7137 (gimple_omp_single_clauses_ptr): Likewise.
7138 (gimple_omp_single_set_clauses): Likewise.
7139 (gimple_omp_target_clauses): Likewise.
7140 (gimple_omp_target_clauses_ptr): Likewise.
7141 (gimple_omp_target_set_clauses): Likewise.
7142 (gimple_omp_target_child_fn): Likewise.
7143 (gimple_omp_target_child_fn_ptr): Likewise.
7144 (gimple_omp_target_set_child_fn): Likewise.
7145 (gimple_omp_target_data_arg): Likewise.
7146 (gimple_omp_target_data_arg_ptr): Likewise.
7147 (gimple_omp_target_set_data_arg): Likewise.
7148 (gimple_omp_teams_clauses): Likewise.
7149 (gimple_omp_teams_clauses_ptr): Likewise.
7150 (gimple_omp_teams_set_clauses): Likewise.
7151 (gimple_omp_sections_clauses): Likewise.
7152 (gimple_omp_sections_clauses_ptr): Likewise.
7153 (gimple_omp_sections_set_clauses): Likewise.
7154 (gimple_omp_sections_control): Likewise.
7155 (gimple_omp_sections_control_ptr): Likewise.
7156 (gimple_omp_sections_set_control): Likewise.
7157 (gimple_omp_for_set_cond): Likewise.
7158 (gimple_omp_for_cond): Likewise.
7159 (gimple_omp_atomic_store_set_val): Likewise.
7160 (gimple_omp_atomic_store_val): Likewise.
7161 (gimple_omp_atomic_store_val_ptr): Likewise.
7162 (gimple_omp_atomic_load_set_lhs): Likewise.
7163 (gimple_omp_atomic_load_lhs): Likewise.
7164 (gimple_omp_atomic_load_lhs_ptr): Likewise.
7165 (gimple_omp_atomic_load_set_rhs): Likewise.
7166 (gimple_omp_atomic_load_rhs): Likewise.
7167 (gimple_omp_atomic_load_rhs_ptr): Likewise.
7168 (gimple_omp_continue_control_def): Likewise.
7169 (gimple_omp_continue_control_def_ptr): Likewise.
7170 (gimple_omp_continue_set_control_def): Likewise.
7171 (gimple_omp_continue_control_use): Likewise.
7172 (gimple_omp_continue_control_use_ptr): Likewise.
7173 (gimple_omp_continue_set_control_use): Likewise.
7174 (gimple_transaction_body_ptr): Likewise.
7175 (gimple_transaction_label): Likewise.
7176 (gimple_transaction_label_ptr): Likewise.
7177 (gimple_transaction_set_body): Likewise.
7178 (gimple_transaction_set_label): Likewise.
7179
7180 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
7181 * ipa-inline-analysis.c (inline_write_summary): Likewise.
7182 * ipa-ref.c (ipa_record_reference): Likewise.
7183 * ipa-reference.c (analyze_function): Likewise.
7184 (ipa_reference_write_optimization_summary): Likewise.
7185 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
7186 (address_taken_from_non_vtable_p): Likewise.
7187 (comdat_can_be_unshared_p_1): Likewise.
7188 * lto-cgraph.c (lto_output_ref): Likewise.
7189 (add_references): Likewise.
7190 (compute_ltrans_boundary): Likewise.
7191 (output_symtab): Likewise.
7192 (input_ref): Likewise.
7193 (input_cgraph_1): Likewise.
7194 (output_cgraph_opt_summary): Likewise.
7195 * lto-streamer-out.c (lto_output): Likewise.
7196 (output_symbol_p): Likewise.
7197 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
7198 (lsei_start_function_in_partition): Likewise.
7199 (lsei_next_variable_in_partition): Likewise.
7200 (lsei_start_variable_in_partition): Likewise.
7201 * symtab.c (insert_to_assembler_name_hash): Likewise.
7202 (unlink_from_assembler_name_hash): Likewise.
7203 (symtab_unregister_node): Likewise.
7204 (symtab_remove_node): Likewise.
7205 (dump_symtab_node): Likewise.
7206 (verify_symtab_base): Likewise.
7207 (verify_symtab_node): Likewise.
7208 (symtab_make_decl_local): Likewise.
7209 (symtab_alias_ultimate_target): Likewise.
7210 (symtab_resolve_alias): Likewise.
7211 (symtab_get_symbol_partitioning_class): Likewise.
7212 * tree-phinodes.c (allocate_phi_node): Likewise.
7213 (reserve_phi_args_for_new_edge): Likewise.
7214 (remove_phi_args): Likewise.
7215 * varpool.c (varpool_node_for_asm): Likewise.
7216 (varpool_remove_unreferenced_decls): Likewise.
7217
9219922e
JL
72182014-04-23 Jeff Law <law@redhat.com>
7219
7220 PR tree-optimization/60902
7221 * tree-ssa-threadedge.c
7222 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
7223 invalidate outputs from statements that do not produce useful
7224 outputs for threading.
7225
b6db8af6 72262014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
7227
7228 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
7229 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
7230 machine descriptions for Stack Smashing Protector.
7231
57b77d46
RE
72322014-04-23 Richard Earnshaw <rearnsha@arm.com>
7233
7234 * aarch64.md (<optab>_rol<mode>3): New pattern.
7235 (<optab>_rolsi3_uxtw): Likewise.
7236 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
7237
984c2f30
JG
72382014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
7239
7240 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
7241 (arm_cortex_a12_tune): Likewise.
7242
18b42b2a
KT
72432014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7244
7245 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
7246
ea1e9168
KT
72472014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7248
7249 * config/arm/arm.md (arm_rev16si2): New pattern.
7250 (arm_rev16si2_alt): Likewise.
7251 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
7252
f7d5cf8d
KT
72532014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7254
b6db8af6
UB
7255 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
7256 (rev16<mode>2_alt): Likewise.
7257 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
7258 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
7259 (aarch_rev16_shleft_mask_imm_p): Likewise.
7260 (aarch_rev16_p_1): Likewise.
7261 (aarch_rev16_p): Likewise.
7262 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
7263 (aarch_rev16_shright_mask_imm_p): Likewise.
7264 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 7265
9ac05ae5
KT
72662014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7267
b6db8af6
UB
7268 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
7269 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
7270 rev cost.
7271 (cortex_a53_extra_costs): Likewise.
7272 (cortex_a57_extra_costs): Likewise.
7273 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
7274 (cortexa7_extra_costs): Likewise.
7275 (cortexa8_extra_costs): Likewise.
7276 (cortexa12_extra_costs): Likewise.
7277 (cortexa15_extra_costs): Likewise.
7278 (v7m_extra_costs): Likewise.
7279 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 7280
e0d8c86c
KT
72812013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7282
b6db8af6
UB
7283 * config/arm/arm.c (cortexa8_extra_costs): New table.
7284 (arm_cortex_a8_tune): New tuning struct.
7285 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 7286
ba9b1a63
KT
72872014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7288
b6db8af6 7289 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 7290
da4cfeac
RB
72912014-04-23 Richard Biener <rguenther@suse.de>
7292
7293 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
7294 * tree-pass.h (make_pass_rtl_unswitch): Remove.
7295 * passes.def (pass_rtl_unswitch): Likewise.
7296 * loop-init.c (gate_rtl_unswitch): Likewise.
7297 (rtl_unswitch): Likewise.
7298 (pass_data_rtl_unswitch): Likewise.
7299 (pass_rtl_unswitch): Likewise.
7300 (make_pass_rtl_unswitch): Likewise.
7301 * rtl.h (reversed_condition): Likewise.
7302 (compare_and_jump_seq): Likewise.
7303 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
7304 and make static.
7305 * loop-unroll.c (compare_and_jump_seq): Likewise.
7306
22718afe
RB
73072014-04-23 Richard Biener <rguenther@suse.de>
7308
7309 PR tree-optimization/60903
7310 * tree-ssa-loop-im.c (analyze_memory_references): Remove
7311 commented code block.
7312 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
7313 loop flags to newly created BBs and edges.
7314
f7961364
NC
73152014-04-23 Nick Clifton <nickc@redhat.com>
7316
7317 * config/msp430/msp430.c (msp430_handle_option): Move function
7318 to msp430-common.c
7319 (msp430_option_override): Simplify mcu and mcpu option handling.
7320 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
7321 support for -mhwmult command line option.
7322 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
7323 -mhwmult command line option.
7324 (msp430_hwmult_enabled): Delete.
b6db8af6 7325 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
7326 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
7327 (umulsidi3): Likewise.
7328 * config/msp430/msp430.opt (mmcu): Add Report attribute.
7329 (mcpu, mlarge, msmall): Likewise.
7330 (mhwmult): New option.
7331 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
7332 prototype.
7333 (msp430_is_f5_mcu): Remove prototype.
7334 (msp430_use_f5_series_hwmult): Add prototype.
7335 * config/msp430/msp430-opts.h: New file.
7336 * common/config/msp430: New directory.
7337 * common/config/msp430/msp430-common.c: New file.
7338 * config.gcc (msp430): Remove target_has_targetm_common.
7339 * doc/invoke.texi: Document -mhwmult command line option.
7340
f70df035
NC
73412014-04-23 Nick Clifton <nickc@redhat.com>
7342
7343 * config/i386/cygwin.h (ENDFILE_SPEC): Include
7344 default-manifest.o if it can be found in the search path.
7345 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
7346
6a9accca
TG
73472014-04-23 Terry Guo <terry.guo@arm.com>
7348
7349 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
7350
62ba699e
RB
73512014-04-23 Richard Biener <rguenther@suse.de>
7352
7353 PR middle-end/60895
7354 * tree-inline.c (declare_return_variable): Use mark_addressable.
7355
92562f88
RB
73562014-04-23 Richard Biener <rguenther@suse.de>
7357
7358 PR middle-end/60891
7359 * loop-init.c (loop_optimizer_init): Make sure to apply
7360 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
7361
1c33c9b7
JJ
73622014-04-22 Jakub Jelinek <jakub@redhat.com>
7363
7364 PR sanitizer/60275
7365 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
7366 New options.
7367 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
7368 if flag_sanitize_undefined_trap_on_error.
7369 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
7370 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
7371 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
7372 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
7373 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
7374 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
7375 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
7376 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
7377 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
7378 * ubsan.c (ubsan_instrument_unreachable): Return
7379 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
7380 (ubsan_expand_null_ifn): Emit __builtin_trap ()
7381 if flag_sanitize_undefined_trap_on_error and
7382 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
7383 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
7384 instrument_bool_enum_load): Emit __builtin_trap () if
7385 flag_sanitize_undefined_trap_on_error and
7386 __builtin_handle_*_abort () if !flag_sanitize_recover.
7387 * doc/invoke.texi (-fsanitize-recover,
7388 -fsanitize-undefined-trap-on-error): Document.
7389
5e66b2e5
CB
73902014-04-22 Christian Bruel <christian.bruel@st.com>
7391
7392 * config/sh/sh.md (mov<mode>): Replace movQIHI.
7393 Force immediates to SImode.
7394
aa221564
SL
73952014-04-22 Sandra Loosemore <sandra@codesourcery.com>
7396
7397 * config/nios2/nios2.md (UNSPEC_ROUND): New.
7398 (lroundsfsi2): New.
7399 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
7400 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
7401 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
7402 (nios2_fpu_insn): Add entry for round.
7403 (N2FPU_NO_ERRNO_P): Define.
7404 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
7405 flag_errno_math.
7406 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
7407
2195867f
RH
74082014-04-22 Richard Henderson <rth@redhat.com>
7409
7410 * config/aarch64/aarch64 (addti3, subti3): New expanders.
7411 (add<GPI>3_compare0): Remove leading * from name.
7412 (add<GPI>3_carryin): Likewise.
7413 (sub<GPI>3_compare0): Likewise.
7414 (sub<GPI>3_carryin): Likewise.
7415 (<su_optab>mulditi3): New expander.
7416 (multi3): New expander.
7417 (madd<GPI>): Remove leading * from name.
7418
c6d43074
MJ
74192014-04-22 Martin Jambor <mjambor@suse.cz>
7420
7421 * cgraphclones.c (cgraph_function_versioning): Copy
7422 ipa_transforms_to_apply instead of asserting it is empty.
7423
e54c2dd3
L
74242014-04-22 H.J. Lu <hongjiu.lu@intel.com>
7425
7426 PR target/60868
f70df035 7427 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
7428 on count_exp to get mode.
7429
621ad2de
AP
74302014-04-22 Andrew Pinski <apinski@cavium.com>
7431
7432 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
7433 Handle TLS for ILP32.
7434 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
7435 (tlsie_small_<mode>): this and handle PTR.
7436 (tlsie_small_sidi): New pattern.
7437 (tlsle_small): Change to an expand to handle ILP32.
7438 (tlsle_small_<mode>): New pattern.
7439 (tlsdesc_small): Rename to ...
7440 (tlsdesc_small_<mode>): this and handle PTR.
7441
5cb74e90
RR
74422014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7443
7444 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
7445
bcd48995
AV
74462014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7447
7448 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
7449 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
7450 (aarch64_types_signed_poly_qualifiers): Likewise.
7451 (aarch64_types_unsigned_signed_qualifiers): Likewise.
7452 (aarch64_types_poly_signed_qualifiers): Likewise.
7453 (TYPES_REINTERP_SS): Type macro added.
7454 (TYPES_REINTERP_SU): Likewise.
7455 (TYPES_REINTERP_SP): Likewise.
7456 (TYPES_REINTERP_US): Likewise.
7457 (TYPES_REINTERP_PS): Likewise.
7458 (aarch64_fold_builtin): New expression folding added.
7459 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
7460 Declarations removed.
7461 (REINTERP_SS): Declarations added.
7462 (REINTERP_US): Likewise.
7463 (REINTERP_PS): Likewise.
7464 (REINTERP_SU): Likewise.
7465 (REINTERP_SP): Likewise.
7466 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
7467 (vreinterpretq_p8_f64): Likewise.
7468 (vreinterpret_p16_f64): Likewise.
7469 (vreinterpretq_p16_f64): Likewise.
7470 (vreinterpret_f32_f64): Likewise.
7471 (vreinterpretq_f32_f64): Likewise.
7472 (vreinterpret_f64_f32): Likewise.
7473 (vreinterpret_f64_p8): Likewise.
7474 (vreinterpret_f64_p16): Likewise.
7475 (vreinterpret_f64_s8): Likewise.
7476 (vreinterpret_f64_s16): Likewise.
7477 (vreinterpret_f64_s32): Likewise.
7478 (vreinterpret_f64_s64): Likewise.
7479 (vreinterpret_f64_u8): Likewise.
7480 (vreinterpret_f64_u16): Likewise.
7481 (vreinterpret_f64_u32): Likewise.
7482 (vreinterpret_f64_u64): Likewise.
7483 (vreinterpretq_f64_f32): Likewise.
7484 (vreinterpretq_f64_p8): Likewise.
7485 (vreinterpretq_f64_p16): Likewise.
7486 (vreinterpretq_f64_s8): Likewise.
7487 (vreinterpretq_f64_s16): Likewise.
7488 (vreinterpretq_f64_s32): Likewise.
7489 (vreinterpretq_f64_s64): Likewise.
7490 (vreinterpretq_f64_u8): Likewise.
7491 (vreinterpretq_f64_u16): Likewise.
7492 (vreinterpretq_f64_u32): Likewise.
7493 (vreinterpretq_f64_u64): Likewise.
7494 (vreinterpret_s64_f64): Likewise.
7495 (vreinterpretq_s64_f64): Likewise.
7496 (vreinterpret_u64_f64): Likewise.
7497 (vreinterpretq_u64_f64): Likewise.
7498 (vreinterpret_s8_f64): Likewise.
7499 (vreinterpretq_s8_f64): Likewise.
7500 (vreinterpret_s16_f64): Likewise.
7501 (vreinterpretq_s16_f64): Likewise.
7502 (vreinterpret_s32_f64): Likewise.
7503 (vreinterpretq_s32_f64): Likewise.
7504 (vreinterpret_u8_f64): Likewise.
7505 (vreinterpretq_u8_f64): Likewise.
7506 (vreinterpret_u16_f64): Likewise.
7507 (vreinterpretq_u16_f64): Likewise.
7508 (vreinterpret_u32_f64): Likewise.
7509 (vreinterpretq_u32_f64): Likewise.
7510
0bf3afc1
AV
75112014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7512
7513 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
7514 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
7515 (vreinterpret_p8_s8): Likewise.
7516 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
7517 (vreinterpret_p8_s16): Likewise.
7518 (vreinterpret_p8_s32): Likewise.
7519 (vreinterpret_p8_s64): Likewise.
7520 (vreinterpret_p8_f32): Likewise.
7521 (vreinterpret_p8_u8): Likewise.
7522 (vreinterpret_p8_u16): Likewise.
7523 (vreinterpret_p8_u32): Likewise.
7524 (vreinterpret_p8_u64): Likewise.
7525 (vreinterpret_p8_p16): Likewise.
7526 (vreinterpretq_p8_s8): Likewise.
7527 (vreinterpretq_p8_s16): Likewise.
7528 (vreinterpretq_p8_s32): Likewise.
7529 (vreinterpretq_p8_s64): Likewise.
7530 (vreinterpretq_p8_f32): Likewise.
7531 (vreinterpretq_p8_u8): Likewise.
7532 (vreinterpretq_p8_u16): Likewise.
7533 (vreinterpretq_p8_u32): Likewise.
7534 (vreinterpretq_p8_u64): Likewise.
7535 (vreinterpretq_p8_p16): Likewise.
7536 (vreinterpret_p16_s8): Likewise.
7537 (vreinterpret_p16_s16): Likewise.
7538 (vreinterpret_p16_s32): Likewise.
7539 (vreinterpret_p16_s64): Likewise.
7540 (vreinterpret_p16_f32): Likewise.
7541 (vreinterpret_p16_u8): Likewise.
7542 (vreinterpret_p16_u16): Likewise.
7543 (vreinterpret_p16_u32): Likewise.
7544 (vreinterpret_p16_u64): Likewise.
7545 (vreinterpret_p16_p8): Likewise.
7546 (vreinterpretq_p16_s8): Likewise.
7547 (vreinterpretq_p16_s16): Likewise.
7548 (vreinterpretq_p16_s32): Likewise.
7549 (vreinterpretq_p16_s64): Likewise.
7550 (vreinterpretq_p16_f32): Likewise.
7551 (vreinterpretq_p16_u8): Likewise.
7552 (vreinterpretq_p16_u16): Likewise.
7553 (vreinterpretq_p16_u32): Likewise.
7554 (vreinterpretq_p16_u64): Likewise.
7555 (vreinterpretq_p16_p8): Likewise.
7556 (vreinterpret_f32_s8): Likewise.
7557 (vreinterpret_f32_s16): Likewise.
7558 (vreinterpret_f32_s32): Likewise.
7559 (vreinterpret_f32_s64): Likewise.
7560 (vreinterpret_f32_u8): Likewise.
7561 (vreinterpret_f32_u16): Likewise.
7562 (vreinterpret_f32_u32): Likewise.
7563 (vreinterpret_f32_u64): Likewise.
7564 (vreinterpret_f32_p8): Likewise.
7565 (vreinterpret_f32_p16): Likewise.
7566 (vreinterpretq_f32_s8): Likewise.
7567 (vreinterpretq_f32_s16): Likewise.
7568 (vreinterpretq_f32_s32): Likewise.
7569 (vreinterpretq_f32_s64): Likewise.
7570 (vreinterpretq_f32_u8): Likewise.
7571 (vreinterpretq_f32_u16): Likewise.
7572 (vreinterpretq_f32_u32): Likewise.
7573 (vreinterpretq_f32_u64): Likewise.
7574 (vreinterpretq_f32_p8): Likewise.
7575 (vreinterpretq_f32_p16): Likewise.
7576 (vreinterpret_s64_s8): Likewise.
7577 (vreinterpret_s64_s16): Likewise.
7578 (vreinterpret_s64_s32): Likewise.
7579 (vreinterpret_s64_f32): Likewise.
7580 (vreinterpret_s64_u8): Likewise.
7581 (vreinterpret_s64_u16): Likewise.
7582 (vreinterpret_s64_u32): Likewise.
7583 (vreinterpret_s64_u64): Likewise.
7584 (vreinterpret_s64_p8): Likewise.
7585 (vreinterpret_s64_p16): Likewise.
7586 (vreinterpretq_s64_s8): Likewise.
7587 (vreinterpretq_s64_s16): Likewise.
7588 (vreinterpretq_s64_s32): Likewise.
7589 (vreinterpretq_s64_f32): Likewise.
7590 (vreinterpretq_s64_u8): Likewise.
7591 (vreinterpretq_s64_u16): Likewise.
7592 (vreinterpretq_s64_u32): Likewise.
7593 (vreinterpretq_s64_u64): Likewise.
7594 (vreinterpretq_s64_p8): Likewise.
7595 (vreinterpretq_s64_p16): Likewise.
7596 (vreinterpret_u64_s8): Likewise.
7597 (vreinterpret_u64_s16): Likewise.
7598 (vreinterpret_u64_s32): Likewise.
7599 (vreinterpret_u64_s64): Likewise.
7600 (vreinterpret_u64_f32): Likewise.
7601 (vreinterpret_u64_u8): Likewise.
7602 (vreinterpret_u64_u16): Likewise.
7603 (vreinterpret_u64_u32): Likewise.
7604 (vreinterpret_u64_p8): Likewise.
7605 (vreinterpret_u64_p16): Likewise.
7606 (vreinterpretq_u64_s8): Likewise.
7607 (vreinterpretq_u64_s16): Likewise.
7608 (vreinterpretq_u64_s32): Likewise.
7609 (vreinterpretq_u64_s64): Likewise.
7610 (vreinterpretq_u64_f32): Likewise.
7611 (vreinterpretq_u64_u8): Likewise.
7612 (vreinterpretq_u64_u16): Likewise.
7613 (vreinterpretq_u64_u32): Likewise.
7614 (vreinterpretq_u64_p8): Likewise.
7615 (vreinterpretq_u64_p16): Likewise.
7616 (vreinterpret_s8_s16): Likewise.
7617 (vreinterpret_s8_s32): Likewise.
7618 (vreinterpret_s8_s64): Likewise.
7619 (vreinterpret_s8_f32): Likewise.
7620 (vreinterpret_s8_u8): Likewise.
7621 (vreinterpret_s8_u16): Likewise.
7622 (vreinterpret_s8_u32): Likewise.
7623 (vreinterpret_s8_u64): Likewise.
7624 (vreinterpret_s8_p8): Likewise.
7625 (vreinterpret_s8_p16): Likewise.
7626 (vreinterpretq_s8_s16): Likewise.
7627 (vreinterpretq_s8_s32): Likewise.
7628 (vreinterpretq_s8_s64): Likewise.
7629 (vreinterpretq_s8_f32): Likewise.
7630 (vreinterpretq_s8_u8): Likewise.
7631 (vreinterpretq_s8_u16): Likewise.
7632 (vreinterpretq_s8_u32): Likewise.
7633 (vreinterpretq_s8_u64): Likewise.
7634 (vreinterpretq_s8_p8): Likewise.
7635 (vreinterpretq_s8_p16): Likewise.
7636 (vreinterpret_s16_s8): Likewise.
7637 (vreinterpret_s16_s32): Likewise.
7638 (vreinterpret_s16_s64): Likewise.
7639 (vreinterpret_s16_f32): Likewise.
7640 (vreinterpret_s16_u8): Likewise.
7641 (vreinterpret_s16_u16): Likewise.
7642 (vreinterpret_s16_u32): Likewise.
7643 (vreinterpret_s16_u64): Likewise.
7644 (vreinterpret_s16_p8): Likewise.
7645 (vreinterpret_s16_p16): Likewise.
7646 (vreinterpretq_s16_s8): Likewise.
7647 (vreinterpretq_s16_s32): Likewise.
7648 (vreinterpretq_s16_s64): Likewise.
7649 (vreinterpretq_s16_f32): Likewise.
7650 (vreinterpretq_s16_u8): Likewise.
7651 (vreinterpretq_s16_u16): Likewise.
7652 (vreinterpretq_s16_u32): Likewise.
7653 (vreinterpretq_s16_u64): Likewise.
7654 (vreinterpretq_s16_p8): Likewise.
7655 (vreinterpretq_s16_p16): Likewise.
7656 (vreinterpret_s32_s8): Likewise.
7657 (vreinterpret_s32_s16): Likewise.
7658 (vreinterpret_s32_s64): Likewise.
7659 (vreinterpret_s32_f32): Likewise.
7660 (vreinterpret_s32_u8): Likewise.
7661 (vreinterpret_s32_u16): Likewise.
7662 (vreinterpret_s32_u32): Likewise.
7663 (vreinterpret_s32_u64): Likewise.
7664 (vreinterpret_s32_p8): Likewise.
7665 (vreinterpret_s32_p16): Likewise.
7666 (vreinterpretq_s32_s8): Likewise.
7667 (vreinterpretq_s32_s16): Likewise.
7668 (vreinterpretq_s32_s64): Likewise.
7669 (vreinterpretq_s32_f32): Likewise.
7670 (vreinterpretq_s32_u8): Likewise.
7671 (vreinterpretq_s32_u16): Likewise.
7672 (vreinterpretq_s32_u32): Likewise.
7673 (vreinterpretq_s32_u64): Likewise.
7674 (vreinterpretq_s32_p8): Likewise.
7675 (vreinterpretq_s32_p16): Likewise.
7676 (vreinterpret_u8_s8): Likewise.
7677 (vreinterpret_u8_s16): Likewise.
7678 (vreinterpret_u8_s32): Likewise.
7679 (vreinterpret_u8_s64): Likewise.
7680 (vreinterpret_u8_f32): Likewise.
7681 (vreinterpret_u8_u16): Likewise.
7682 (vreinterpret_u8_u32): Likewise.
7683 (vreinterpret_u8_u64): Likewise.
7684 (vreinterpret_u8_p8): Likewise.
7685 (vreinterpret_u8_p16): Likewise.
7686 (vreinterpretq_u8_s8): Likewise.
7687 (vreinterpretq_u8_s16): Likewise.
7688 (vreinterpretq_u8_s32): Likewise.
7689 (vreinterpretq_u8_s64): Likewise.
7690 (vreinterpretq_u8_f32): Likewise.
7691 (vreinterpretq_u8_u16): Likewise.
7692 (vreinterpretq_u8_u32): Likewise.
7693 (vreinterpretq_u8_u64): Likewise.
7694 (vreinterpretq_u8_p8): Likewise.
7695 (vreinterpretq_u8_p16): Likewise.
7696 (vreinterpret_u16_s8): Likewise.
7697 (vreinterpret_u16_s16): Likewise.
7698 (vreinterpret_u16_s32): Likewise.
7699 (vreinterpret_u16_s64): Likewise.
7700 (vreinterpret_u16_f32): Likewise.
7701 (vreinterpret_u16_u8): Likewise.
7702 (vreinterpret_u16_u32): Likewise.
7703 (vreinterpret_u16_u64): Likewise.
7704 (vreinterpret_u16_p8): Likewise.
7705 (vreinterpret_u16_p16): Likewise.
7706 (vreinterpretq_u16_s8): Likewise.
7707 (vreinterpretq_u16_s16): Likewise.
7708 (vreinterpretq_u16_s32): Likewise.
7709 (vreinterpretq_u16_s64): Likewise.
7710 (vreinterpretq_u16_f32): Likewise.
7711 (vreinterpretq_u16_u8): Likewise.
7712 (vreinterpretq_u16_u32): Likewise.
7713 (vreinterpretq_u16_u64): Likewise.
7714 (vreinterpretq_u16_p8): Likewise.
7715 (vreinterpretq_u16_p16): Likewise.
7716 (vreinterpret_u32_s8): Likewise.
7717 (vreinterpret_u32_s16): Likewise.
7718 (vreinterpret_u32_s32): Likewise.
7719 (vreinterpret_u32_s64): Likewise.
7720 (vreinterpret_u32_f32): Likewise.
7721 (vreinterpret_u32_u8): Likewise.
7722 (vreinterpret_u32_u16): Likewise.
7723 (vreinterpret_u32_u64): Likewise.
7724 (vreinterpret_u32_p8): Likewise.
7725 (vreinterpret_u32_p16): Likewise.
7726 (vreinterpretq_u32_s8): Likewise.
7727 (vreinterpretq_u32_s16): Likewise.
7728 (vreinterpretq_u32_s32): Likewise.
7729 (vreinterpretq_u32_s64): Likewise.
7730 (vreinterpretq_u32_f32): Likewise.
7731 (vreinterpretq_u32_u8): Likewise.
7732 (vreinterpretq_u32_u16): Likewise.
7733 (vreinterpretq_u32_u64): Likewise.
7734 (vreinterpretq_u32_p8): Likewise.
7735 (vreinterpretq_u32_p16): Likewise.
7736
9551c7ec
AV
77372014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7738
7739 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
7740 Pattern extended.
b6db8af6 7741 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
7742 (sqabs): Likewise.
7743 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
7744 (vqnegd_s64): Likewise.
7745 (vqabs_s64): Likewise.
7746 (vqabsd_s64): Likewise.
7747
f2a2c4b5
RH
77482014-04-22 Richard Henderson <rth@redhat.com>
7749
7750 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
7751 computation to the top of the loop.
7752
53e5ace2
RL
77532014-04-22 Renlin <renlin.li@arm.com>
7754 Jiong Wang <jiong.wang@arm.com>
7755
7756 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
7757 * config/aarch64/aarch64.c (aarch64_layout_frame)
7758 (aarch64_initial_elimination_offset): Likewise.
7759
78c29983
MS
77602014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
7761
7762 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
7763 Fix indentation.
7764
dbf23a79
RS
77652014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
7766
7767 * machmode.h (bitwise_mode_for_mode): Declare.
7768 * stor-layout.h (bitwise_type_for_mode): Likewise.
7769 * stor-layout.c (bitwise_mode_for_mode): New function.
7770 (bitwise_type_for_mode): Likewise.
7771 * builtins.c (fold_builtin_memory_op): Use it instead of
7772 int_mode_for_mode and build_nonstandard_integer_type.
7773
d9f069ab
RO
77742014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7775
7776 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
7777 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
7778 (*-*-solaris2*): Simplify.
7779 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
7780 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
7781 *-*-solaris2.9* handling.
7782
7783 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
7784 as bug.
7785 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
7786 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
7787 handling, simplify.
7788 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
7789 * configure: Regenerate.
7790
7791 * config/i386/sol2-9.h: Remove.
7792
7793 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
7794 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
7795 Remove Solaris 9 references.
7796
0d35c5c2
VP
77972014-04-22 Vidya Praveen <vidyapraveen@arm.com>
7798
7799 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
7800 (floatuns<GPI:mode><GPF:mode>2): Remove.
7801 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
7802 and floatuns conversions.
7803 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
7804 and floatuns conversions.
7805 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
7806 (w1,w2): New mode attributes for inequal width conversions.
7807
16a3246f
RL
78082014-04-22 Renlin Li <Renlin.Li@arm.com>
7809
7810 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
7811 the output asm format.
7812
110e1ccc
JG
78132014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
7814
7815 * config/aarch64/aarch64-simd.md
7816 (aarch64_cm<optab>di): Always split.
7817 (*aarch64_cm<optab>di): New.
7818 (aarch64_cmtstdi): Always split.
7819 (*aarch64_cmtstdi): New.
7820
2044a4c3
JJ
78212014-04-22 Jakub Jelinek <jakub@redhat.com>
7822
7823 PR tree-optimization/60823
7824 * omp-low.c (ipa_simd_modify_function_body): Go through
7825 all SSA_NAMEs and for those refering to vector arguments
7826 which are going to be replaced adjust SSA_NAME_VAR and,
7827 if it is a default definition, change it into a non-default
7828 definition assigned at the beginning of function from new_decl.
7829 (ipa_simd_modify_stmt_ops): Rewritten.
7830 * tree-dfa.c (set_ssa_default_def): When removing default def,
7831 check for NULL loc instead of NULL *loc.
7832
9d8b4d1c
RR
78332014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7834
7835 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
7836 restrictions on core registers for DImode values in Thumb2.
7837
a01be1ae
IB
78382014-04-22 Ian Bolton <ian.bolton@arm.com>
7839
7840 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
7841 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
7842
80d3417b
IB
78432014-04-22 Ian Bolton <ian.bolton@arm.com>
7844
7845 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
7846 (*iordi_notzesidi_di): Likewise.
7847 (*iordi_notsesidi_di): Likewise.
7848
46fbb3eb
IB
78492014-04-22 Ian Bolton <ian.bolton@arm.com>
7850
7851 * config/arm/arm-protos.h (tune_params): New struct members.
7852 * config/arm/arm.c: Initialise tune_params per processor.
7853 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
7854 for speed, based on new tune_params.
7855
74dc11ed
AV
78562014-04-22 Alex Velenko <Alex.Velenko@arm.com>
7857
b6db8af6
UB
7858 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
7859 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
7860 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
7861 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
7862 * config/aarch64/arm_neon.h (vrnd_f64): Added.
7863 (vrnda_f64): Likewise.
7864 (vrndi_f64): Likewise.
7865 (vrndm_f64): Likewise.
7866 (vrndn_f64): Likewise.
7867 (vrndp_f64): Likewise.
7868 (vrndx_f64): Likewise.
7869
35923e46
ZC
78702014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
7871
7872 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
7873 GET_MODE_SIZE argument is enum machine_mode.
7874
4552e70c
JJ
78752014-04-22 Jakub Jelinek <jakub@redhat.com>
7876
7877 PR target/60910
7878 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
7879 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
7880
e5dcd695
LZ
78812014-04-22 Lin Zuojian <manjian2006@gmail.com>
7882
7883 PR middle-end/60281
7884 * asan.c (asan_emit_stack_protection): Force the base to align to
7885 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
7886 appropriate bits if STRICT_ALIGNMENT.
7887 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
7888 when asan is on.
7889 (expand_used_vars): Leave a space in the stack frame for alignment
7890 if STRICT_ALIGNMENT.
7891
7455080c
DM
78922014-04-21 David Malcolm <dmalcolm@redhat.com>
7893
7894 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
7895 than a gimple.
7896 (gimple_store_p): Likewise.
7897 (gimple_assign_load_p): Likewise.
7898 (gimple_assign_cast_p): Likewise.
7899 (gimple_clobber_p): Likewise.
7900
7901 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
7902 rather than a gimple.
7903 (gimple_assign_cast_p): Likewise.
7904
aeb9579a
MM
79052014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
7906
7907 PR target/60735
7908 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
7909 If mode is DDmode and TARGET_E500_DOUBLE allow move.
7910
7911 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
7912 more debug information for E500 if -mdebug=reg.
7913
b15d92bf
UB
79142014-04-21 Uros Bizjak <ubizjak@gmail.com>
7915
7916 PR target/60909
7917 * config/i386/i386.c (ix86_expand_builtin)
7918 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
7919 register for target RTX.
7920 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
7921
d367387c
CH
79222014-04-18 Cong Hou <congh@google.com>
7923
7924 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
7925 the widen-mult pattern by handling two operands with different sizes,
7926 and operands whose size is smaller than half of the result type.
d367387c 7927
b6d627e4
JH
79282014-04-18 Jan Hubicka <hubicka@ucw.cz>
7929
7930 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
7931 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
7932 (do_estimate_edge_time): Compute it.
7933 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 7934 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 7935
e86a910f
JH
79362014-04-18 Jan Hubicka <hubicka@ucw.cz>
7937
7938 * ipa-inline.c (spec_rem): New static variable.
7939 (dump_overall_stats): New function.
7940 (dump_inline_stats): New function.
7941
8a3a7e67
RH
79422014-04-18 Richard Henderson <rth@redhat.com>
7943
7944 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
7945 to GET_MODE_SIZE, not a reg_class_t.
7946
ed79f4d0
BS
79472014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7948
b15d92bf 7949 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
7950 (vsx_xxmrglw_<mode>): Likewise.
7951
fe799eea
MM
79522014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
7953
7954 PR target/60876
7955 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 7956 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
7957 (rs6000_init_hard_regno_mode_ok): Likewise.
7958
5e750dc6
JH
79592014-04-17 Jan Hubicka <hubicka@ucw.cz>
7960
7961 * ipa-inline.c (inline_small_functions): Account only non-cold
7962 functions.
7963 * doc/invoke.texi (inline-unit-growth): Update documentation.
7964
32337f10
PH
79652014-04-17 Pat Haugen <pthaugen@us.ibm.com>
7966
7967 * config/rs6000/rs6000.md (addti3, subti3): New.
7968
40ed344a
L
79692014-04-17 H.J. Lu <hongjiu.lu@intel.com>
7970
7971 PR target/60863
7972 * config/i386/i386.c (ix86_expand_clear): Remove outdated
7973 comment. Check optimize_insn_for_size_p instead of
7974 optimize_insn_for_speed_p.
7975
104cb50b
MJ
79762014-04-17 Martin Jambor <mjambor@suse.cz>
7977
7978 * gimple-iterator.c (gsi_start_edge): New function.
7979 * gimple-iterator.h (gsi_start_edge): Declare.
7980 * tree-sra.c (single_non_eh_succ): New function.
7981 (disqualify_ops_if_throwing_stmt): Renamed to
7982 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
7983 having one non-EH successor BB.
7984 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
7985 generate loads into replacements.
7986 (sra_modify_assign): Likewise and and also use the simple path for
7987 such statements.
7988 (sra_modify_function_body): Commit statements on edges.
7989
b94970bc
RB
79902014-04-17 Richard Biener <rguenther@suse.de>
7991
7992 PR middle-end/60849
7993 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
7994 comparison results and add clarifying comment.
7995
92f0f3ec
JJ
79962014-04-17 Jakub Jelinek <jakub@redhat.com>
7997
7998 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
7999 (blank_mode): Initialize it.
8000 (emit_mode_size_inline, emit_mode_nunits_inline,
8001 emit_mode_inner_inline): New functions.
8002 (emit_insn_modes_h): Call them and surround their output with
8003 #if GCC_VERSION >= 4001 ... #endif.
8004 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
8005 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
8006 mode_* arrays if the argument is __builtin_constant_p.
8007 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
8008 is enum machine_mode.
8009
be55bfe6
TS
80102014-04-17 Trevor Saunders <tsaunders@mozilla.com>
8011
8012 * passes.c (opt_pass::execute): Adjust.
8013 (pass_manager::execute_pass_mode_switching): Likewise.
8014 (early_local_passes::execute): Likewise.
8015 (execute_one_pass): Pass cfun to the pass's execute method.
8016 * tree-pass.h (opt_pass::execute): Add function * argument.
8017 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
8018 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
8019 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
8020 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
8021 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
8022 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
8023 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
8024 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
8025 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
8026 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
8027 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
8028 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
8029 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
8030 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
8031 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
8032 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
8033 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
8034 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
8035 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
8036 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
8037 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
8038 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
8039 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
8040 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
8041 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
8042 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
8043 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
8044 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
8045 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
8046 Adjust.
8047
1a3d085c
TS
80482014-04-17 Trevor Saunders <tsaunders@mozilla.com>
8049
8050 * passes.c (opt_pass::gate): Take function * argument.
8051 (gate_all_early_local_passes): Merge into
8052 (early_local_passes::gate): this.
8053 (gate_all_early_optimizations): Merge into
8054 (all_early_optimizations::gate): this.
8055 (gate_all_optimizations): Mege into
8056 (all_optimizations::gate): this.
8057 (gate_all_optimizations_g): Merge into
8058 (all_optimizations_g::gate): this.
8059 (gate_rest_of_compilation): Mege into
8060 (rest_of_compilation::gate): this.
8061 (gate_postreload): Merge into
8062 (postreload::gate): this.
8063 (dump_one_pass): Pass cfun to the pass's gate method.
8064 (execute_ipa_summary_passes): Likewise.
8065 (execute_one_pass): Likewise.
8066 (ipa_write_summaries_2): Likewise.
8067 (ipa_write_optimization_summaries_1): Likewise.
8068 (ipa_read_summaries_1): Likewise.
8069 (ipa_read_optimization_summaries_1): Likewise.
8070 (execute_ipa_stmt_fixups): Likewise.
8071 * tree-pass.h (opt_pass::gate): Add function * argument.
8072 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
8073 combine-stack-adj.c, combine.c, compare-elim.c,
8074 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
8075 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
8076 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
8077 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
8078 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
8079 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
8080 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
8081 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
8082 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
8083 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
8084 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
8085 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
8086 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
8087 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
8088 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
8089 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
8090 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
8091 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
8092 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
8093 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
8094 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
8095 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
8096 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
8097 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
8098 var-tracking.c, vtable-verify.c, web.c: Adjust.
8099
45887209
TS
81002014-04-17 Trevor Saunders <tsaunders@mozilla.com>
8101
8102 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
8103 * configure: Regenerate.
8104
0481253d 81052014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 8106
0481253d
TS
8107 * passes.c (dump_one_pass): don't check pass->has_gate.
8108 (execute_ipa_summary_passes): Likewise.
8109 (execute_one_pass): Likewise.
8110 (ipa_write_summaries_2): Likewise.
8111 (ipa_write_optimization_summaries_1): Likewise.
8112 (ipa_read_optimization_summaries_1): Likewise.
8113 (execute_ipa_stmt_fixups): Likewise.
8114 * tree-pass.h (pass_data::has_gate): Remove.
8115 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
8116 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
8117 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
8118 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
8119 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
8120 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
8121 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
8122 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
8123 gimple-low.c, gimple-ssa-isolate-paths.c,
8124 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
8125 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
8126 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
8127 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
8128 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
8129 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
8130 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
8131 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
8132 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
8133 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
8134 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
8135 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
8136 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
8137 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
8138 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
8139 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
8140 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
8141 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
8142 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
8143 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
8144 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
8145 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
8146 Adjust.
8147
a23c217d
TS
81482014-04-17 Trevor Saunders <tsaunders@mozilla.com>
8149
b15d92bf
UB
8150 * pass_manager.h (pass_manager::register_dump_files_1): Remove
8151 declaration.
a23c217d
TS
8152 * passes.c (pass_manager::register_dump_files_1): Merge into
8153 (pass_manager::register_dump_files): this, and remove its handling of
8154 properties since the pass always has the properties anyway.
8155 (pass_manager::pass_manager): Adjust.
8156
0cd11b40
TS
81572014-04-17 Trevor Saunders <tsaunders@mozilla.com>
8158
8159 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
8160 * passes.c (pass_manager::register_dump_files_1): Remove dead code
8161 dealing with properties.
8162 (pass_manager::register_dump_files): Adjust.
8163
79896351
MW
81642014-03-20 Mark Wielaard <mjw@redhat.com>
8165
8166 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
8167 then represent the bound as normal constant value.
8168
5a65129e
JJ
81692014-04-17 Jakub Jelinek <jakub@redhat.com>
8170
8171 PR target/60847
8172 Forward port from 4.8 branch
8173 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
8174
8175 * config/i386/bmiintrin.h (_blsi_u32): New.
8176 (_blsi_u64): Ditto.
8177 (_blsr_u32): Ditto.
8178 (_blsr_u64): Ditto.
8179 (_blsmsk_u32): Ditto.
8180 (_blsmsk_u64): Ditto.
8181 (_tzcnt_u32): Ditto.
8182 (_tzcnt_u64): Ditto.
8183
59b266b1
KC
81842014-04-17 Kito Cheng <kito@0xlab.org>
8185
8186 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
8187
83ad208e
RB
81882014-04-17 Richard Biener <rguenther@suse.de>
8189
8190 PR middle-end/60849
8191 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
8192 boolean results for comparisons.
8193
730e78b0
RB
81942014-04-17 Richard Biener <rguenther@suse.de>
8195
8196 PR tree-optimization/60836
8197 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
8198 initial PHI args to be gimple values.
8199
40c0a159 82002014-04-17 Richard Biener <rguenther@suse.de>
1428105c
RB
8201
8202 PR tree-optimization/60841
8203 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
8204 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
8205 of stmts to SLP build.
8206 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
8207 (vect_analyze_slp): Likewise.
8208 (vect_analyze_slp_instance): Likewise.
8209 (vect_build_slp_tree): Limit overall SLP tree growth.
8210 * tree-vectorizer.h (vect_analyze_data_refs,
8211 vect_analyze_slp): Adjust prototypes.
8212
170c1776
ES
82132014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
8214
8215 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
8216 Silvermont.
8217
a4ef7f3e
ES
82182014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
8219
8220 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
8221 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
8222 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
8223 for TARGET_SLOW_PSHUFB
8224
cf055f6e
ES
82252014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
8226
8227 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
8228 * config/i386/i386.c (intel_cost): Ditto.
8229
eeee2277
JY
82302014-04-17 Joey Ye <joey.ye@arm.com>
8231
8232 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
8233
1c58fe29
JH
82342014-04-16 Jan Hubicka <hubicka@ucw.cz>
8235
8236 * opts.c (common_handle_option): Disable -fipa-reference coorectly
8237 with -fuse-profile.
8238
2d1644bf
JH
82392014-04-16 Jan Hubicka <hubicka@ucw.cz>
8240
8241 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
8242 (type_all_derivations_known_p): New predicate.
8243 (type_all_ctors_visible_p): New predicate.
8244 (type_possibly_instantiated_p): New predicate.
8245 (get_odr_type): Compute all_derivations_known.
8246 (dump_odr_type): Dump the flag.
8247 (maybe_record_type): Cleanup.
8248 (record_target_from_binfo): Add bases_to_consider array;
8249 record bases for types w/o instances and skip CXX destructor.
8250 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 8251 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
8252 (get_polymorphic_call_info): Set maybe_in_construction to true
8253 when we know nothing.
8254 (record_targets_from_bases): Skip CXX destructors; they are
8255 never called for types in construction.
8256 (possible_polymorphic_call_targets): Do not record target when
8257 type may not have instance.
8258
789c2741
JH
82592014-04-16 Jan Hubicka <hubicka@ucw.cz>
8260
8261 PR ipa/60854
8262 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
8263 external aliases alive, too.
8264
9950a4f2
AP
82652014-04-16 Andrew Pinski <apinski@cavium.com>
8266
8267 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 8268 definition.
9950a4f2 8269
82b9c015
EB
82702014-04-16 Eric Botcazou <ebotcazou@adacore.com>
8271
8272 * final.c (compute_alignments): Do not apply loop alignment to a block
8273 falling through to the exit.
8274
d2dfaca3
CM
82752014-04-16 Catherine Moore <clm@codesourcery.com>
8276
8277 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
8278 Adjust constraints for microMIPS store patterns.
8279
10353a79
PS
82802014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
8281
8282 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
8283
61c7fb30
EB
82842014-04-16 Eric Botcazou <ebotcazou@adacore.com>
8285
8286 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
8287 (append_use): Run at -O0.
8288 (append_vdef): Likewise.
8289 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
8290 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
8291
42fae17c
JJ
82922014-04-16 Jakub Jelinek <jakub@redhat.com>
8293
8294 PR tree-optimization/60844
8295 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
8296 (propagate_op_to_single_use, remove_visited_stmt_chain,
8297 linearize_expr, repropagate_negates, reassociate_bb): Use it
8298 instead of gsi_remove.
8299
ca860d03
MJ
83002014-04-16 Martin Jambor <mjambor@suse.cz>
8301
8302 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
8303 ipa_transforms_to_apply.
8304 (cgraph_function_versioning): Assert that old_node has empty
8305 ipa_transforms_to_apply.
8306 * trans-mem.c (ipa_tm_create_version): Likewise.
8307 * tree-inline.c (tree_function_versioning): Do not duplicate
8308 ipa_transforms_to_apply.
8309
fe4e71e4
RO
83102014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8311
8312 PR target/60817
8313 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
8314 x86_64-*-* cases.
8315 Pass necessary as flags on 64-bit Solaris/x86.
8316 Use lowercase relocs for x86_64-*-*.
8317 * configure: Regenerate.
8318
ccb05ef2
JH
83192014-04-15 Jan Hubicka <jh@suse.cz>
8320
8321 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
8322 (maybe_record_node, likely_target_p): Use it.
8323
dfe449d1
BS
83242014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8325
8326 PR target/60839
8327 Revert following patch
8328
8329 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8330
8331 PR target/60735
8332 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
8333 software floating point or no floating point registers, do not
8334 allow any type in the FPRs. Eliminate a test for SPE SIMD types
8335 in GPRs that occurs after we tested for GPRs that would never be
8336 true.
8337
8338 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
8339 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
8340 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
8341 specifically allow DDmode, since that does not use the SPE SIMD
8342 instructions.
8343
25dce5c6
MW
83442014-03-21 Mark Wielaard <mjw@redhat.com>
8345
8346 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
8347 as unsigned or int depending on type and value used.
8348
8d3c076f
RB
83492014-04-15 Richard Biener <rguenther@suse.de>
8350
8351 PR rtl-optimization/56965
8352 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
8353 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
8354 ... here.
8355 * alias.c (true_dependence_1): Do not call
8356 nonoverlapping_component_refs_p.
8357 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
8358 nonoverlapping_component_refs_p.
8359 (indirect_refs_may_alias_p): Likewise.
8360
d00e4baa
TJ
83612014-04-15 Teresa Johnson <tejohnson@google.com>
8362
8363 * cfg.c (dump_bb_info): Fix flags check.
8364 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
8365
98a2fdfb
KT
83662014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8367
8368 PR rtl-optimization/60663
8369 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
8370 avoid 0 cost.
8371
b9ed2c2c
RB
83722014-04-15 Richard Biener <rguenther@suse.de>
8373
8374 * lto-streamer.h (LTO_major_version): Bump to 4.
8375
783dab6b
RB
83762014-04-15 Richard Biener <rguenther@suse.de>
8377
8378 * common.opt (lto_partition_model): New enum.
8379 (flto-partition=): Merge separate options with a single with argument,
8380 add -flto-partition=one support.
8381 * flag-types.h (enum lto_partition_model): Declare.
8382 * opts.c (finish_options): Remove duplicate -flto-partition=
8383 option check.
8384 * lto-wrapper.c (run_gcc): Adjust.
8385
d8e4ce6d
RB
83862014-04-15 Richard Biener <rguenther@suse.de>
8387
8388 * alias.c (ncr_compar): New function.
8389 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
8390
1999fd7d
RB
83912014-04-15 Richard Biener <rguenther@suse.de>
8392
8393 * alias.c (record_component_aliases): Do not walk BINFOs.
8394
628169e0
RB
83952014-04-15 Richard Biener <rguenther@suse.de>
8396
8397 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
8398 Add struct function argument and adjust.
8399 (find_func_aliases_for_call): Likewise.
8400 (find_func_aliases): Likewise.
8401 (find_func_clobbers): Likewise.
8402 (intra_create_variable_infos): Likewise.
8403 (compute_points_to_sets): Likewise.
8404 (ipa_pta_execute): Adjust. Do not push/pop cfun.
8405
349e6210
RB
84062014-04-15 Richard Biener <rguenther@suse.de>
8407
8408 * tree.c (iterative_hash_expr): Use enum tree_code_class
8409 to store TREE_CODE_CLASS.
8410 (tree_block): Likewise.
8411 (tree_set_block): Likewise.
8412 * tree.h (fold_build_pointer_plus_loc): Use
8413 convert_to_ptrofftype_loc.
8414
4f0ddb6f
JJ
84152014-04-15 Jakub Jelinek <jakub@redhat.com>
8416
8417 PR plugins/59335
8418 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
8419 added in 4.9.
8420
718c4601
EB
84212014-04-15 Eric Botcazou <ebotcazou@adacore.com>
8422
8423 * cfgloop.h (struct loop): Move force_vectorize down.
8424 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
8425 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
8426 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
8427 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
8428 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
8429 * tree-core.h (enum annot_expr_kind): Add new kind values.
8430 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
8431 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
8432 kinds.
8433 * tree.def (ANNOTATE_EXPR): Tweak comment.
8434
88f592e3
JH
84352014-04-14 Jan Hubicka <hubicka@ucw.cz>
8436
8437 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
8438 cxa_pure_virtual).
8439
9dba4b55
PC
84402014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
8441
8442 * tree.h (TYPE_IDENTIFIER): Declare.
8443 * tree.c (subrange_type_for_debug_p): Use it.
8444 * godump.c (go_format_type): Likewise.
8445 * dwarf2out.c (is_cxx_auto, modified_type_die,
8446 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
8447 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
8448
40c0a159 84492014-04-14 Jan Hubicka <hubicka@ucw.cz>
006202e8
JH
8450
8451 PR lto/60820
8452 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
8453
e0a81db1
UB
84542014-04-14 Uros Bizjak <ubizjak@gmail.com>
8455
8456 * config/i386/i386.c (examine_argument): Return bool. Return true if
8457 parameter should be passed in memory.
8458 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
8459 (construct_container): Update calls to examine_argument.
8460 (function_arg_advance_64): Ditto.
8461 (return_in_memory_32): Merge with ix86_return_in_memory.
8462 (return_in_memory_64): Ditto.
8463 (return_in_memory_ms_64): Ditto.
8464
cb90235d
JH
84652014-04-14 Jan Hubicka <hubicka@ucw.cz>
8466
8467 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
8468 * coverage.c (coverage_compute_profile_id): Handle externally visible
8469 symbols.
8470
7b3b340e
MJ
84712014-04-14 Martin Jambor <mjambor@suse.cz>
8472
8473 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
8474 DECL_DISREGARD_INLINE_LIMITS functions.
8475
2ed3b4ee
L
84762014-04-14 H.J. Lu <hongjiu.lu@intel.com>
8477
8478 PR target/60827
e0a81db1 8479 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 8480
10fa463f
L
84812014-04-14 H.J. Lu <hongjiu.lu@intel.com>
8482
8483 PR target/60827
8484 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
8485 optimize_insn_for_speed_p instead of
8486 optimize_function_for_speed_p.
8487
b621e875
YZ
84882014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
8489
8490 * doc/invoke.texi (free): Document AArch64.
8491
cddaefa3
RB
84922014-04-14 Richard Biener <rguenther@suse.de>
8493
8494 PR tree-optimization/60042
8495 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
8496 (insert_into_preds_of_block): Do not prevent PHI insertion
8497 for REFERENCE exprs here ...
8498 (eliminate_dom_walker::before_dom_children): ... but prevent
8499 their use here under similar conditions when applied to the
8500 IL after PRE optimizations.
8501
a9e4c82f
RB
85022014-04-14 Richard Biener <rguenther@suse.de>
8503
8504 * passes.def: Move early points-to after early SRA.
8505
7b4cae1b
RB
85062014-04-14 Richard Biener <rguenther@suse.de>
8507
8508 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
8509 check for which sign-changes we allow when forwarding
8510 a converted value into a switch.
8511
cb27986c
EB
85122014-04-14 Eric Botcazou <ebotcazou@adacore.com>
8513
8514 * stor-layout.c (place_field): Finalize non-constant offset for the
8515 field, if any.
8516
72798784
RB
85172014-04-14 Richard Biener <rguenther@suse.de>
8518
8519 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
8520 as argument.
8521 (expand_switch_using_bit_tests_p): Likewise.
8522 (process_switch): Compute and pass on speed_p based on the
8523 switch stmt.
8524 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
8525 optimize_bb_for_speed_p.
8526
b15b5979
EB
85272014-04-14 Eric Botcazou <ebotcazou@adacore.com>
8528
8529 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
8530 * function.h (struct function): Rename has_force_vect_loops into
8531 has_force_vectorize_loops.
8532 * lto-streamer-in.c (input_cfg): Adjust for renaming.
8533 (input_struct_function_base): Likewise.
8534 * lto-streamer-out.c (output_cfg): Likewise.
8535 (output_struct_function_base): Likewise.
8536 * omp-low.c (expand_omp_simd): Likewise.
8537 * tree-cfg.c (move_sese_region_to_fn): Likewise.
8538 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
8539 (version_loop_for_if_conversion): Likewise.
8540 (tree_if_conversion): Likewise.
8541 (main_tree_if_conversion): Likewise.
8542 (gate_tree_if_conversion): Likewise.
8543 * tree-inline.c (copy_loops): Likewise.
8544 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
8545 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
8546 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
8547 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
8548 * tree-vectorizer.c (vectorize_loops): Likewise.
8549 * tree-vectorizer.h (unlimited_cost_model): Likewise.
8550
8359c87e
RB
85512014-04-14 Richard Biener <rguenther@suse.de>
8552
8553 PR lto/60720
8554 * lto-streamer-out.c (wrap_refs): New function.
8555 (lto_output): Wrap symbol references in global initializes in
8556 type-preserving MEM_REFs.
8557
9447df74
CB
85582014-04-14 Christian Bruel <christian.bruel@st.com>
8559
b15d92bf 8560 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 8561
fa1aecc1
CB
85622014-04-14 Christian Bruel <christian.bruel@st.com>
8563
8564 * config/sh/sh.md (setmemqi): New expand pattern.
8565 * config/sh/sh.h (CLEAR_RATIO): Define.
8566 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
8567 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
8568
a3c77ce9
RB
85692014-04-14 Richard Biener <rguenther@suse.de>
8570
8571 PR middle-end/55022
8572 * fold-const.c (negate_expr_p): Don't negate directional rounding
8573 division.
8574 (fold_negate_expr): Likewise.
8575
033aa406
RB
85762014-04-14 Richard Biener <rguenther@suse.de>
8577
8578 PR tree-optimization/59817
8579 PR tree-optimization/60453
8580 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
8581 recursion to catch all CHRECs in the scalar evolution and restrict
8582 the predicate for the remains appropriately.
8583
5e7d8b4c
RS
85842014-04-12 Catherine Moore <clm@codesourcery.com>
8585
8586 * config/mips/constraints.md: Add new register constraint "kb".
8587 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
8588 (*movhi_internal): Likewise.
8589 (*movqi_internal): Likewise.
8590 * config/mips/mips.h (M16_STORE_REGS): New register class.
8591 (REG_CLASS_NAMES): Add M16_STORE_REGS.
8592 (REG_CLASS_CONTENTS): Likewise.
8593 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
8594
cbbd2b1c
TB
85952014-04-11 Tobias Burnus <burnus@net-b.de>
8596
8597 PR c/60194
8598 * doc/invoke.texi (-Wformat-signedness): Document it.
8599 (Wformat=2): Mention that this enables -Wformat-signedness.
8600
d9bb5800
JR
86012014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
8602
8603 * common/config/epiphany/epiphany-common.c
8604 (epiphany_option_optimization_table): Enable section anchors by
8605 default at -O1 or higher.
8606 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
8607 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
8608 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
8609 carries no extra cost.
8610 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
8611 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
8612 * config/epiphany/predicates.md (memclob_operand): New predicate.
8613 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
8614 Use memclob_operand predicate and X constraint for operand 3.
8615
b5d0ecea
JR
86162014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
8617
8618 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
8619 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
8620 its operands.
8621
473fd99a
JR
86222014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
8623
8624 PR rtl-optimization/60651
8625 * mode-switching.c (optimize_mode_switching): Make sure to emit
8626 sets of a lower numbered entity before sets of a higher numbered
8627 entity to a mode of the same or lower priority.
8628 When creating a seginfo for a basic block that starts with a code
8629 label, move the insertion point past the code label.
8630 (new_seginfo): Document and enforce requirement that
8631 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
8632 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
8633 * doc/tm.texi: Regenerate.
8634
6ace1161
JR
86352014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
8636
8637 PR target/60811
8638 * config/arc/arc.c (arc_save_restore): Fix assert typo.
8639
89eb97de
JJ
86402013-04-11 Jakub Jelinek <jakub@redhat.com>
8641
6602e7fc 8642 * BASE-VER: Set to 4.10.0.
89eb97de 8643
9d0c7214
TB
86442014-04-11 Tobias Burnus <burnus@net-b.de>
8645
8646 PR other/59055
e0a81db1 8647 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
8648 * doc/gcc.texi (Service): Update description in the @menu
8649 * doc/invoke.texi (Option Summary): Remove misplaced and
8650 duplicated @menu.
8651
3662b277
SE
86522014-04-11 Steve Ellcey <sellcey@mips.com>
8653 Jakub Jelinek <jakub@redhat.com>
8654
8655 PR middle-end/60556
8656 * expr.c (convert_move): Use emit_store_flag_force instead of
8657 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
8658 argument to it.
8659
8330537b
RB
86602014-04-11 Richard Biener <rguenther@suse.de>
8661
8662 PR middle-end/60797
8663 * varasm.c (assemble_alias): Avoid endless error reporting
8664 recursion by setting TREE_ASM_WRITTEN.
8665
3c91f126
AK
86662014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8667
8668 * config/s390/s390.md: Add a splitter for NOT rtx.
8669
d8d6ea53
JJ
86702014-04-11 Jakub Jelinek <jakub@redhat.com>
8671
8672 PR rtl-optimization/60663
e0a81db1 8673 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 8674
fa5866c0
JJ
86752014-04-10 Jan Hubicka <hubicka@ucw.cz>
8676 Jakub Jelinek <jakub@redhat.com>
073afca6 8677
fa5866c0 8678 PR lto/60567
e0a81db1
UB
8679 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
8680 flag from decl_node to node.
073afca6 8681
b322c36a
RR
86822014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8683
8684 PR debug/60655
8685 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
8686 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
8687 ameliorating the cases where it can be.
8688
8267f6bb
DE
86892014-04-09 David Edelsohn <dje.gcc@gmail.com>
8690
8691 Revert
8692 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
8693
8694 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
8695 (loadsync_<mode>): Change mode.
8696 (load_quadpti, store_quadpti): New.
8697 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
8698 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
8699 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
8700
5d1a5a53
CH
87012014-04-09 Cong Hou <congh@google.com>
8702
8703 PR testsuite/60773
8704 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
8705 documentation.
8706
da90fa4c
BS
87072014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8708
8709 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
8710 instead of vnor to exploit possible fusion opportunity in the
8711 future.
8712 (altivec_expand_vec_perm_const_le): Likewise.
8713
98e6ecab
PH
87142014-04-08 Pat Haugen <pthaugen@us.ibm.com>
8715
8716 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
8717 (loadsync_<mode>): Change mode.
8718 (load_quadpti, store_quadpti): New.
8719 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
8720 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
8721
8418cf33
RS
87222014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
8723
8724 PR target/60763
8725 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
8726 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
8727 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
8728
3fa68ccb
RB
87292014-04-08 Richard Biener <rguenther@suse.de>
8730
8731 PR middle-end/60706
8732 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
8733 a 64bit widest int print double-int similar to on HWI64 hosts.
8734
9038ae48
RB
87352014-04-08 Richard Biener <rguenther@suse.de>
8736
8737 PR tree-optimization/60785
8738 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
8739 default defs properly.
8740
38f09da3
NS
87412014-04-08 Nathan Sidwell <nathan@codesourcery.com>
8742
8743 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
8744 (Weffc++): Likewise.
8745
0439a947
JH
87462014-04-07 Jan Hubicka <hubcika@ucw.cz>
8747
8748 * ipa-devirt.c (maybe_record_node): When node is not recorded,
8749 set completep to false rather than true.
8750
3f2f838e
EB
87512014-04-07 Douglas B Rupp <rupp@adacore.com>
8752
8753 PR target/60504
8754 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
8755 ARM_TARGET2_DWARF_FORMAT.
8756
e75c1617
CB
87572014-04-07 Charles Baylis <charles.baylis@linaro.org>
8758
8759 PR target/60609
8760 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
8761 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
8762 ADDR_DIFF_VEC.
8763
d6adff07
RB
87642014-04-07 Richard Biener <rguenther@suse.de>
8765
8766 PR tree-optimization/60766
3f2f838e
EB
8767 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
8768 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 8769
da34ade5
JM
87702014-04-07 Jason Merrill <jason@redhat.com>
8771
8772 PR c++/60731
8773 * common.opt (-fno-gnu-unique): Add.
8774 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
8775
151e9aac
KT
87762014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8777
8778 * haifa-sched.c: Fix outdated function reference and minor
8779 grammar errors in introductory comment.
8780
308173e3
RB
87812014-04-07 Richard Biener <rguenther@suse.de>
8782
8783 PR middle-end/60750
8784 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
8785 for noreturn calls.
8786 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
8787
a9a302d9
JDA
87882014-04-06 John David Anglin <danglin@gcc.gnu.org>
8789
8790 PR debug/55794
8791 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
8792 size accounting for thunks.
8793 (pa_asm_output_mi_thunk): Use final_start_function() and
8794 final_end_function() to output function start and end directives.
8795
576ba35c
PS
87962014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
8797
e0a81db1
UB
8798 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
8799 device specific ISA/ feature information. Remove short_sp and
8800 errata_skip ds. Add avr_device_specific_features enum to have device
8801 specific info.
576ba35c
PS
8802 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
8803 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
8804 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
8805 updated device specific info.
8806 * config/avr/avr-mcus.def: Merge device specific details to
8807 dev_attribute field.
8808 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
8809 errata_skip.
8810 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
8811 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
8812 assembler if RMW isa supported by current device.
8813 * config/avr/genmultilib.awk: Update as device info structure changed.
8814 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
8815
ebc047a2
CH
88162014-04-04 Cong Hou <congh@google.com>
8817
8818 PR tree-optimization/60656
8819 * tree-vect-stmts.c (supportable_widening_operation):
8820 Fix a bug that elements in a vector with vect_used_by_reduction
8821 property are incorrectly reordered when the operation on it is not
8822 consistant with the one in reduction operation.
8823
b6808818
JDA
88242014-04-04 John David Anglin <danglin@gcc.gnu.org>
8825
8826 PR rtl-optimization/60155
8827 * gcse.c (record_set_data): New function.
8828 (single_set_gcse): New function.
8829 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
8830 (hoist_code): Likewise.
8831 (get_pressure_class_and_nregs): Likewise.
8832
eabcc725
EB
88332014-04-04 Eric Botcazou <ebotcazou@adacore.com>
8834
8835 * explow.c (probe_stack_range): Emit a final optimization blockage.
8836
e005b753
AG
88372014-04-04 Anthony Green <green@moxielogic.com>
8838
8839 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
8840 typos.
8841
8fe91ca8
JH
88422014-04-04 Jan Hubicka <hubicka@ucw.cz>
8843
8844 PR ipa/59626
8845 * lto-cgraph.c (input_overwrite_node): Check that partitioning
8846 flags are set only during streaming.
8847 * ipa.c (process_references, walk_polymorphic_call_targets,
8848 symtab_remove_unreachable_nodes): Drop bodies of always inline
8849 after early inlining.
8850 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 8851
88d94632
RR
88522014-04-04 Jakub Jelinek <jakub@redhat.com>
8853 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8854
8855 PR debug/60655
8856 * dwarf2out.c (const_ok_for_output_1): Reject expressions
8857 containing a NOT.
8858
094bc219
KT
88592014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8860
8861 PR bootstrap/60743
8862 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
8863 duration.
8864 (cortex_a53_fdivd): Likewise.
8865
610c8ef0
MJ
88662014-04-04 Martin Jambor <mjambor@suse.cz>
8867
8868 PR ipa/60640
b15d92bf
UB
8869 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
8870 Adjust all callers.
610c8ef0
MJ
8871 * cgraph.c (clone_of_p): Also return true if thunks match.
8872 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
8873 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
8874 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
8875 file.
8876 (build_function_decl_skip_args): Likewise.
610c8ef0 8877 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
8878 (duplicate_thunk_for_node): Likewise.
8879 (redirect_edge_duplicating_thunks): Likewise.
8880 (cgraph_clone_node): New parameter args_to_skip, pass it to
8881 redirect_edge_duplicating_thunks which is called instead of
8882 cgraph_redirect_edge_callee.
8883 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
8884 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
8885
fc02bcca
JL
88862014-04-04 Jeff Law <law@redhat.com>
8887
57ef133b 8888 PR target/60657
fc02bcca
JL
8889 * config/arm/predicates.md (const_int_I_operand): New predicate.
8890 (const_int_M_operand): Similarly.
8891 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
8892 const_int_operand.
8893 (insv_t2, extv_reg, extzv_t2): Likewise.
8894 (load_multiple_with_writeback): Similarly for const_int_I_operand.
8895 (pop_multiple_with_writeback_and_return): Likewise.
8896 (vfp_pop_multiple_with_writeback): Likewise
8897
45b62594
RB
88982014-04-04 Richard Biener <rguenther@suse.de>
8899
8900 PR ipa/60746
8901 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
8902 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
8903 non-GIMPLE_LABELs.
8904 * gimplify.h (gimple_add_tmp_var_fn): Declare.
8905 * gimplify.c (gimple_add_tmp_var_fn): New function.
8906 * gimple-expr.h (create_tmp_reg_fn): Declare.
8907 * gimple-expr.c (create_tmp_reg_fn): New function.
8908 * gimple-low.c (record_vars_into): Don't change cfun.
8909 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
8910 code generation without cfun.
8911
bb609c35
TS
89122014-04-04 Thomas Schwinge <thomas@codesourcery.com>
8913
8914 PR bootstrap/60719
8915 * Makefile.in (install-driver): Fix shell scripting.
8916
090cd8dc
CH
89172014-04-03 Cong Hou <congh@google.com>
8918
8919 PR tree-optimization/60505
8920 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
8921 threshold of number of iterations below which no vectorization
8922 will be done.
090cd8dc
CH
8923 * tree-vect-loop.c (new_loop_vec_info):
8924 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
8925 * tree-vect-loop.c (vect_analyze_loop_operations):
8926 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
8927 * tree-vect-loop.c (vect_transform_loop):
8928 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
8929 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
8930 of iterations of the loop and see if we should build the epilogue.
8931
bdc67fd6
RB
89322014-04-03 Richard Biener <rguenther@suse.de>
8933
e0a81db1 8934 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
8935 (streamer_tree_cache_create): Adjust.
8936 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
8937 to allow optional nodes array.
8938 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
8939 (streamer_tree_cache_append): Likewise.
8940 (streamer_tree_cache_create): Create nodes array optionally
8941 as specified by parameter.
8942 * lto-streamer-out.c (create_output_block): Avoid maintaining
8943 the node array in the writer cache.
8944 (DFS_write_tree): Remove assertion.
e0a81db1 8945 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
8946 * lto-streamer-in.c (lto_data_in_create): Adjust for
8947 streamer_tree_cache_create prototype change.
8948
a0daf659
RB
89492014-04-03 Richard Biener <rguenther@suse.de>
8950
8951 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
8952 set TREE_CHAIN to NULL_TREE.
8953
f16c88d2
RB
89542014-04-03 Richard Biener <rguenther@suse.de>
8955
8956 PR tree-optimization/60740
8957 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
8958 over all GIMPLE_COND operands.
8959
880a467b
NS
89602014-04-03 Nathan Sidwell <nathan@codesourcery.com>
8961
8962 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
8963 (Weffc++): Remove Scott's numbering, merge lists and reference
8964 Wnon-virtual-dtor.
8965
08866760
NC
89662014-04-03 Nick Clifton <nickc@redhat.com>
8967
8968 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
8969 properly.
8970
5bed50e8
MJ
89712014-04-03 Martin Jambor <mjambor@suse.cz>
8972
8973 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
8974 mention gcc_unreachable before failing.
8975 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
8976 removed symbols.
8977
3e86c6a8
JH
89782014-04-02 Jan Hubicka <hubicka@ucw.cz>
8979
8980 PR ipa/60659
e0a81db1
UB
8981 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
8982 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
8983 (possible_polymorphic_call_targets): For inconsistent contexts
8984 return empty complete list.
8985
2b9912aa
AG
89862014-04-02 Anthony Green <green@moxielogic.com>
8987
8988 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
8989 (extendqisi2, extendhisi2): Define.
8990 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
8991 (WCHAR_TYPE): Change to unsigned int.
8992
1e386bb8
BS
89932014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8994
8995 PR tree-optimization/60733
8996 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
8997 insertion point for PHI candidates to be the end of the feeding
8998 block for the PHI argument.
8999
f4581282
VM
90002014-04-02 Vladimir Makarov <vmakarov@redhat.com>
9001
9002 PR rtl-optimization/60650
9003 * lra-constraints.c (process_alt_operands): Decrease reject for
9004 earlyclobber matching.
9005
a9d46e32
AK
90062014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9007
9008 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
9009
7c40228a
UW
90102014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9011
9012 * config/spu/spu.c (pad_bb): Do not crash when the last
9013 insn is CODE_FOR_blockage.
9014
c6596193
UW
90152014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9016
9017 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
9018 lies outside the target mode.
9019
690c229f
MM
90202014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
9021
9022 PR target/60735
9023 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
9024 software floating point or no floating point registers, do not
9025 allow any type in the FPRs. Eliminate a test for SPE SIMD types
9026 in GPRs that occurs after we tested for GPRs that would never be
9027 true.
9028
9029 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
9030 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
9031 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
9032 specifically allow DDmode, since that does not use the SPE SIMD
9033 instructions.
9034
dad16761
RB
90352014-04-02 Richard Biener <rguenther@suse.de>
9036
9037 PR middle-end/60729
9038 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
9039 MODE_INTs. Properly use negv_optab.
9040 (expand_abs): Likewise.
9041
a1ce39be
RB
90422014-04-02 Richard Biener <rguenther@suse.de>
9043
9044 PR bootstrap/60719
9045 * Makefile.in (install-driver): Guard extra installs with special
9046 names properly.
9047
6fb619e4
MM
90482014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
9049
9050 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
9051 Document vec_vgbbd.
9052
2a1ffd6d
RH
90532014-04-01 Richard Henderson <rth@redhat.com>
9054
9055 PR target/60704
9056 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
9057 alternative enabled before register allocation.
9058
98e8dd4d
CLT
90592014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
9060
9061 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
9062 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
9063 typo.
9064 (nios2_large_got_address): Remove unneeded 'sym' parameter.
9065 (nios2_got_address): Update nios2_large_got_address call site.
9066 (nios2_delegitimize_address): New function.
9067 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
9068 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
9069 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
9070
8785c60a
MH
90712014-04-01 Martin Husemann <martin@duskware.de>
9072
9073 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
9074 for -mabi=32.
9075
3343cf6a
RS
90762014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
9077
9078 PR rtl-optimization/60604
9079 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
9080 check from register_operand.
9081 (register_operand): Redefine in terms of general_operand.
9082 (nonmemory_operand): Use register_operand for the non-constant cases.
9083
1503cb6b
RB
90842014-04-01 Richard Biener <rguenther@suse.de>
9085
e0a81db1 9086 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 9087
cded08ea
SH
90882014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
9089
9090 * doc/invoke.texi (mapp-regs): Clarify.
9091
7d9088c2
UD
90922014-03-31 Ulrich Drepper <drepper@gmail.com>
9093
9094 * config/i386/avx512fintrin.h (__v32hi): Define type.
9095 (__v64qi): Likewise.
9096 (_mm512_set1_epi8): Define.
9097 (_mm512_set1_epi16): Define.
9098 (_mm512_set4_epi32): Define.
9099 (_mm512_set4_epi64): Define.
9100 (_mm512_set4_pd): Define.
9101 (_mm512_set4_ps): Define.
9102 (_mm512_setr4_epi64): Define.
9103 (_mm512_setr4_epi32): Define.
9104 (_mm512_setr4_pd): Define.
9105 (_mm512_setr4_ps): Define.
9106 (_mm512_setzero_epi32): Define.
9107
c18ff8a4
MJ
91082014-03-31 Martin Jambor <mjambor@suse.cz>
9109
9110 PR middle-end/60647
9111 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
9112 callsite_arguments_match_p. Updated all callers. Also check types of
9113 corresponding formal parameters and actual arguments.
9114 (not_all_callers_have_enough_arguments_p) Renamed to
9115 some_callers_have_mismatched_arguments_p.
9116
9a96d5b7
YR
91172014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
9118
9119 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
9120
6c031d8d
KV
91212014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
9122
9123 PR target/60034
9124 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
9125 section anchor.
9126
429749e2
UB
91272014-03-30 Uros Bizjak <ubizjak@gmail.com>
9128
9129 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
9130 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
9131 Split out
9132 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
9133 Use FMAMODE_NOVF512 mode iterator.
9134 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
9135 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
9136 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
9137 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
9138 Split out
9139 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
9140 Use VF_128_256 mode iterator.
9141 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
9142 Ditto.
9143
1f91035f
JH
91442014-03-28 Jan Hubicka <hubicka@ucw.cz>
9145
9146 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
9147 static chain if needed.
9148
6e071b1e
VM
91492014-03-28 Vladimir Makarov <vmakarov@redhat.com>
9150
9151 PR target/60697
9152 * lra-constraints.c (index_part_to_reg): New.
9153 (process_address): Use it.
9154
e7f31789 91552014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 9156 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
9157
9158 PR target/60648
4bb66ef3
JJ
9159 * expr.c (do_tablejump): Use simplify_gen_binary rather than
9160 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 9161
4bb66ef3
JJ
9162 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
9163 creating non-canonical RTL.
e7f31789 9164
4cd8957f
JH
91652014-03-28 Jan Hubicka <hubicka@ucw.cz>
9166
9167 PR ipa/60243
9168 * ipa-inline.c (want_inline_small_function_p): Short circuit large
9169 functions; reorganize to make cheap checks first.
9170 (inline_small_functions): Do not estimate growth when dumping;
9171 it is expensive.
9172 * ipa-inline.h (inline_summary): Add min_size.
9173 (growth_likely_positive): New function.
9174 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
9175 (set_cond_stmt_execution_predicate): Cleanup.
9176 (estimate_edge_size_and_time): Compute min_size.
9177 (estimate_calls_size_and_time): Likewise.
9178 (estimate_node_size_and_time): Likewise.
9179 (inline_update_overall_summary): Update min_size.
9180 (do_estimate_edge_time): Likewise.
9181 (do_estimate_edge_size): Update.
9182 (do_estimate_edge_hints): Update.
9183 (growth_likely_positive): New function.
9184
ff76f4e2
JJ
91852014-03-28 Jakub Jelinek <jakub@redhat.com>
9186
9187 PR target/60693
9188 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
9189 also if addr has VOIDmode.
9190
ed6eb6dc
KT
91912014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9192
9193 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
9194 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
9195 Declare extern.
9196 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
9197 instructions as well as AdvancedSIMD loads.
9198
b10baa95
KT
91992014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9200
9201 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
9202 Use crypto_aese type.
9203 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
9204 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
9205 crypto_aese, crypto_aesmc. Move to types.md.
9206 * config/arm/types.md (crypto_aes): Split into crypto_aese,
9207 crypto_aesmc.
9208 * config/arm/iterators.md (crypto_type): Likewise.
9209
23a04216
JH
92102014-03-28 Jan Hubicka <hubicka@ucw.cz>
9211
9212 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
9213 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
9214 remove LHS.
23a04216 9215
a4971e68
VM
92162014-03-28 Vladimir Makarov <vmakarov@redhat.com>
9217
9218 PR target/60675
9219 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
9220 regs from checking multi-reg pseudos.
9221
7ac84c02
RR
92222014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9223
9224 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
9225
bd302a18
UW
92262014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9227
9228 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
9229 if it would clobber the stack pointer, even temporarily.
9230
cee9defb
EB
92312014-03-28 Eric Botcazou <ebotcazou@adacore.com>
9232
9233 * mode-switching.c: Make small adjustments to the top comment.
9234
117f16fb
MM
92352014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
9236
9237 * config/rs6000/constraints.md (wD constraint): New constraint to
9238 match the constant integer to get the top DImode/DFmode out of a
9239 vector in a VSX register.
9240
9241 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
9242 match the constant integer to get the top DImode/DFmode out of a
9243 vector in a VSX register.
9244
9245 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
9246 for ISA 2.07.
9247
9248 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
9249 vbpermq builtins.
9250
9251 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
9252 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
9253
9254 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
9255 Optimize vec_extract of 64-bit values, where the value being
9256 extracted is in the top word, where we can use scalar
9257 instructions. Add direct move and store support. Combine the big
429749e2 9258 endian/little endian vector select load support into a single insn.
117f16fb
MM
9259 (vsx_extract_<mode>_internal1): Likewise.
9260 (vsx_extract_<mode>_internal2): Likewise.
9261 (vsx_extract_<mode>_load): Likewise.
9262 (vsx_extract_<mode>_store): Likewise.
9263 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
9264 combined into vsx_extract_<mode>_load.
9265 (vsx_extract_<mode>_one_le): Likewise.
9266
9267 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
9268 define the top 64-bit vector element.
9269
9270 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
9271 constraint.
9272
6788164b
MM
9273 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
9274 Document vec_vbpermq builtin.
9275
117f16fb
MM
9276 PR target/60672
9277 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
9278 enable use of xxsldwi and xxpermdi builtin functions.
9279 (vec_xxpermdi): Likewise.
9280
9281 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
9282 Document use of vec_xxsldwi and vec_xxpermdi builtins.
9283
9e038952
VM
92842014-03-27 Vladimir Makarov <vmakarov@redhat.com>
9285
9286 PR rtl-optimization/60650
f4581282 9287 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
9288 first_p. Use it.
9289 (find_spills_for): New.
9290 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
9291 Spill all pseudos on the second iteration.
9292
324dc401
MP
92932014-03-27 Marek Polacek <polacek@redhat.com>
9294
9295 PR c/50347
9296 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
9297 types.
9298
6e77facf
AK
92992014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9300
9301 * config/s390/s390.c (s390_can_use_return_insn): Check for
9302 call-saved FPRs on 31 bit.
9303
47519a14
JJ
93042014-03-27 Jakub Jelinek <jakub@redhat.com>
9305
9306 PR middle-end/60682
9307 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
9308 if they need regimplification, just drop them instead of
9309 calling gimple_regimplify_operands on them.
9310
0b7f8166
MS
93112014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
9312
9313 PR target/60580
9314 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
9315 (aarch64_frame_pointer_required): Adjust logic.
9316 (aarch64_can_eliminate): Adjust logic.
9317 (aarch64_override_options_after_change): Adjust logic.
9318
2f2a7d15
DC
93192014-03-27 Dehao Chen <dehao@google.com>
9320
9321 * ipa-inline.c (early_inliner): Update node's inline info.
9322
a0dbf285
DC
93232014-03-26 Dehao Chen <dehao@google.com>
9324
9325 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
9326 compiler inserted conditional jumps for NAN float check.
9327
ed0ca1e1
JJ
93282014-03-26 Jakub Jelinek <jakub@redhat.com>
9329
07d72e1d
JJ
9330 * ubsan.h (ubsan_create_data): Change second argument's type
9331 to const location_t *.
9332 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
9333 _("<unknown>").
9334 (ubsan_create_data): Change second argument to const location_t *PLOC.
9335 Create Loc field whenever PLOC is non-NULL.
9336 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
9337 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
9338 callers.
9339
ed0ca1e1
JJ
9340 PR other/59545
9341 * real.c (real_to_integer2): Change type of low to UHWI.
9342
b9487dd8
TB
93432014-03-26 Tobias Burnus <burnus@net-b.de>
9344
9345 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
9346 (CILK_SELF_SPECS): New define.
9347 (driver_self_specs): Use it.
9348
3a2700f6
RB
93492014-03-26 Richard Biener <rguenther@suse.de>
9350
9351 * tree-pretty-print.c (percent_K_format): Implement special
9352 case for LTO and its stripped down BLOCK tree.
9353
368b454d
JJ
93542014-03-26 Jakub Jelinek <jakub@redhat.com>
9355
aa6b742f
JJ
9356 PR sanitizer/60636
9357 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
9358
368b454d
JJ
9359 * tree-vrp.c (simplify_internal_call_using_ranges): If only
9360 one range is range_int_cst_p, but not both, at least optimize
9361 addition/subtraction of 0 and multiplication by 0 or 1.
9362 * gimple-fold.c (gimple_fold_call): Fold
9363 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
9364 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
9365 INTEGER_CSTs, try to fold at least x * 0 and y - y.
9366
c7e30a96
EB
93672014-03-26 Eric Botcazou <ebotcazou@adacore.com>
9368
9369 PR rtl-optimization/60452
9370 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
9371 <case REG>: Return 1 for invalid offsets from the frame pointer.
9372
d615d763
MP
93732014-03-26 Marek Polacek <polacek@redhat.com>
9374
9375 PR c/37428
9376 * doc/extend.texi (C Extensions): Mention variable-length arrays in
9377 a structure/union.
9378
1b226529
MP
93792014-03-26 Marek Polacek <polacek@redhat.com>
9380
9381 PR c/39525
9382 * doc/extend.texi (Designated Inits): Describe what happens to omitted
9383 field members.
9384
6686e0bc
MP
93852014-03-26 Marek Polacek <polacek@redhat.com>
9386
9387 PR other/59545
9388 * ira-color.c (update_conflict_hard_regno_costs): Perform the
9389 multiplication in unsigned type.
9390
d4fbc3ae
CJW
93912014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
9392
9393 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
9394
dfa6c87b
CJW
93952014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
9396
9397 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
9398
9de6f6c3
JH
93992014-03-25 Jan Hubicka <hubicka@ucw.cz>
9400
9401 PR ipa/60315
9402 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
9403 * ipa-inline.c (inline_small_functions): Skip edges to
9404 __builtlin_unreachable.
9de6f6c3
JH
9405 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
9406 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
9407 predicate to __bulitin_unreachable.
429749e2
UB
9408 (set_cond_stmt_execution_predicate): Fix issue when
9409 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
9410 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
9411 propagate to inline clones.
9412 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
9413 to unreachable.
9414 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
9415 * cgraphclones.c (cgraph_clone_node): If call destination is already
9416 ureachable, do not redirect it back.
9417 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
9418 unreachable.
9419
d7636f56
JH
94202014-03-25 Jan Hubicka <hubicka@ucw.cz>
9421
9422 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
9423 Do not modify inline clones.
9424
d1873c57
JJ
94252014-03-25 Jakub Jelinek <jakub@redhat.com>
9426
9427 * config/i386/i386.md (general_sext_operand): New mode attr.
9428 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
9429 don't generate (sign_extend (const_int)).
9430 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
9431 operands[2]. Use We constraint instead of <i> and
9432 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
9433 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
9434 * config/i386/constraints.md (We): New constraint.
9435 * config/i386/predicates.md (x86_64_sext_operand,
9436 sext_operand): New predicates.
9437
b5165eb0
MJ
94382014-03-25 Martin Jambor <mjambor@suse.cz>
9439
9440 PR ipa/60600
9441 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
9442 inconsistent devirtualizations to __builtin_unreachable.
9443
3102858d
MP
94442014-03-25 Marek Polacek <polacek@redhat.com>
9445
9446 PR c/35449
9447 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
9448
4b1e108c
AL
94492014-03-25 Alan Lawrence <alan.lawrence@arm.com>
9450
9451 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
9452 order of elements for big-endian.
9453
40b0722f
RB
94542014-03-25 Richard Biener <rguenther@suse.de>
9455
9456 PR middle-end/60635
9457 * gimplify-me.c (gimple_regimplify_operands): Update the
9458 re-gimplifed stmt.
9459
4a5798de
MJ
94602014-03-25 Martin Jambor <mjambor@suse.cz>
9461
9462 PR ipa/59176
9463 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
9464 (lto_output_varpool_node): Likewise.
9465 (input_overwrite_node): Likewise.
9466 (input_varpool_node): Likewise.
9467
585d0088
RB
94682014-03-25 Richard Biener <rguenther@suse.de>
9469
429749e2 9470 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
9471 (run_gcc): Likewise.
9472
a8acccdd
JJ
94732014-03-25 Jakub Jelinek <jakub@redhat.com>
9474
51ee05d0
JJ
9475 * combine.c (simplify_compare_const): Add MODE argument.
9476 Handle mode_width 0 as very large mode_width.
9477 (try_combine, simplify_comparison): Adjust callers.
9478
a8acccdd
JJ
9479 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
9480 type to avoid signed integer overflow.
9481 * explow.c (plus_constant): Likewise.
9482
57fc74a4
DV
94832014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
9484
9485 * doc/generic.texi: Correct typos.
9486
09f15d1b
TB
94872014-03-24 Tobias Burnus <burnus@net-b.de>
9488
9489 * doc/invoke.texi (-flto): Expand section about
9490 using static libraries with LTO.
9491
72a4ddf2
AK
94922014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9493
9494 PR rtl-optimization/60501
9495 * optabs.def (addptr3_optab): New optab.
9496 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
9497 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
9498 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
9499
9500 * lra.c (emit_add3_insn): Use the addptr pattern if available.
9501
9502 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
9503
0b192937
UD
95042014-03-24 Ulrich Drepper <drepper@gmail.com>
9505
2b2384e8
UD
9506 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
9507 _mm512_set1_pd.
9508
0b192937
UD
9509 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
9510 (_mm256_undefined_ps): Define.
9511 (_mm256_undefined_pd): Define.
9512 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
9513 (_mm_undefined_pd): Define.
9514 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
9515 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
9516 (_mm512_undefined_ps): Define.
9517 (_mm512_undefined_pd): Define.
9518 Use _mm*_undefined_*.
9519 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
9520
252c7556
AV
95212014-03-24 Alex Velenko <Alex.Velenko@arm.com>
9522
9523 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
9524 (lshr_simd): DI mode added.
9525 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
9526 (aarch64_ushr_simddi): Likewise.
9527 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
9528 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
9529 (vshrd_n_u64): Likewise.
9530
15e3d4f1
RO
95312014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9532
9533 * Makefile.in (s-macro_list): Depend on cc1.
9534
1858c2d3
TJ
95352014-03-23 Teresa Johnson <tejohnson@google.com>
9536
9537 * ipa-utils.c (ipa_print_order): Use specified dump file.
9538
f87604f8
EB
95392014-03-23 Eric Botcazou <ebotcazou@adacore.com>
9540
9541 PR rtl-optimization/60601
9542 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
9543
9544 * gcc.c (eval_spec_function): Initialize save_growing_value.
9545
3db31fd1
JJ
95462014-03-22 Jakub Jelinek <jakub@redhat.com>
9547
f451d3a8
JJ
9548 PR sanitizer/60613
9549 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
9550 code == MINUS_EXPR, never swap op0 with op1.
9551
3db31fd1
JJ
9552 * toplev.c (init_local_tick): Avoid signed integer multiplication
9553 overflow.
9554 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
9555 shift by first operand's bitsize.
9556
e49080ec
JJ
95572014-03-21 Jakub Jelinek <jakub@redhat.com>
9558
9559 PR target/60610
9560 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
9561 redefine to 1 or 0.
9562 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
9563 TARGET_ISA_64BIT_P(x).
9564
44eb6c40
BS
95652014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9566
9567 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
9568 pattern for vector nor instead of subtract from splat(-1).
9569 (altivec_expand_vec_perm_const_le): Likewise.
9570
ec6f831a
RH
95712014-03-21 Richard Henderson <rth@twiddle.net>
9572
9573 PR target/60598
9574 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
9575 related insns after epilogue_completed.
9576
3d8d0043
MJ
95772014-03-21 Martin Jambor <mjambor@suse.cz>
9578
9579 PR ipa/59176
9580 * cgraph.h (symtab_node): New flag body_removed.
9581 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
9582 when removing bodies.
9583 * symtab.c (dump_symtab_base): Dump body_removed flag.
9584 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
9585 had their bodies removed.
9586
d833415c
MJ
95872014-03-21 Martin Jambor <mjambor@suse.cz>
9588
9589 PR ipa/60419
9590 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
9591 in the border.
9592
400a4f6c
RB
95932014-03-21 Richard Biener <rguenther@suse.de>
9594
9595 PR tree-optimization/60577
9596 * tree-core.h (struct tree_base): Document nothrow_flag use
9c85aeb6
EB
9597 in DECL_NONALIASED.
9598 * tree.h (DECL_NONALIASED): New.
400a4f6c 9599 (may_be_aliased): Adjust.
9c85aeb6 9600 * coverage.c (build_var): Set DECL_NONALIASED.
400a4f6c 9601
c6c2314f
EB
96022014-03-20 Eric Botcazou <ebotcazou@adacore.com>
9603
9604 * expr.c (expand_expr_real_1): Remove outdated comment.
9605
d02b6ac7
JJ
96062014-03-20 Jakub Jelinek <jakub@redhat.com>
9607
b8f045e2
JJ
9608 PR middle-end/60597
9609 * ira.c (adjust_cleared_regs): Call copy_rtx on
9610 *reg_equiv[REGNO (loc)].src_p before passing it to
9611 simplify_replace_fn_rtx.
9612
d02b6ac7
JJ
9613 PR target/60568
9614 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
9615 into CONST, put pic register as first operand of PLUS. Use
9616 gen_const_mem for both 32-bit and 64-bit PIC got loads.
9617
e2f98c01
RR
96182014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9619
9620 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
9621
7075c792
EB
96222014-03-20 Eric Botcazou <ebotcazou@adacore.com>
9623
9624 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
9625 around for store forwarding issue in the FPU on the UT699.
9626 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
9627 loads and operations if -mfix-ut699 is specified.
9628 (divtf3_hq): Tweak attribute.
9629 (sqrttf2_hq): Likewise.
9630
9ee5337d
EB
96312014-03-20 Eric Botcazou <ebotcazou@adacore.com>
9632
9633 * calls.c (store_one_arg): Remove incorrect const qualification on the
9634 type of the temporary.
9635 * cfgexpand.c (expand_return): Likewise.
9636 * expr.c (expand_constructor): Likewise.
9637 (expand_expr_real_1): Likewise.
9638
a69e09c8
ZC
96392014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
9640
9641 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
9642 of parts.
9643
8659d57b
KK
96442014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
9645
9646 PR target/60039
9647 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
9648
985e0d33
JG
96492014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
9650
9651 * config/arm/aarch-common-protos.h
9652 (alu_cost_table): Fix spelling of "extend".
9653 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
9654
ce2f49b3
RB
96552014-03-19 Richard Biener <rguenther@suse.de>
9656
9657 PR middle-end/60553
9658 * tree-core.h (tree_type_common): Re-order pointer members
9659 to reduce recursion depth during GC walks.
9660
6daa2d91
MP
96612014-03-19 Marek Polacek <polacek@redhat.com>
9662
9663 PR sanitizer/60569
9664 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
9665 before accessing it.
9666
8c9cfbe6
RB
96672014-03-19 Richard Biener <rguenther@suse.de>
9668
9669 PR lto/59543
9670 * lto-streamer-in.c (input_function): In WPA stage do not drop
9671 debug stmts.
9672
3efe2e2c
JJ
96732014-03-19 Jakub Jelinek <jakub@redhat.com>
9674
9675 PR tree-optimization/60559
9676 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
9677 with build_zero_cst assignment.
9678
234f76cb
KT
96792014-03-18 Kai Tietz <ktietz@redhat.com>
9680
9681 PR rtl-optimization/56356
9682 * sdbout.c (sdbout_parms): Verify that parms'
9683 incoming argument is valid.
9684 (sdbout_reg_parms): Likewise.
9685
58ca6edf
RH
96862014-03-18 Richard Henderson <rth@redhat.com>
9687
9688 PR target/60562
9689 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
9690 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 9691 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
9692
96932014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
9694
4bb66ef3 9695 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 9696 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 9697 Italicize plugin event names in description. Explain that
429749e2
UB
9698 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
9699 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 9700 Explain what pragmas with expansion are.
b318e404 9701
eb14a79f
ML
97022014-03-18 Martin Liska <mliska@suse.cz>
9703
9704 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
9705 gimple call statement is update.
9706 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
9707 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
9708
415e2e6b
JJ
97092014-03-18 Jakub Jelinek <jakub@redhat.com>
9710
ead96f13
JJ
9711 PR sanitizer/60557
9712 * ubsan.c (ubsan_instrument_unreachable): Call
9713 initialize_sanitizer_builtins.
9714 (ubsan_pass): Likewise.
9715
415e2e6b
JJ
9716 PR sanitizer/60535
9717 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
9718 varpool_finalize_decl instead of rest_of_decl_compilation.
9719
4ca40f52
RB
97202014-03-18 Richard Biener <rguenther@suse.de>
9721
9722 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
9723 by using bitmap_and_compl instead of bitmap_and_compl_into.
9724 (df_rd_transfer_function): Likewise.
9725
6404e190
RB
97262014-03-18 Richard Biener <rguenther@suse.de>
9727
9728 * doc/lto.texi (fresolution): Fix typo.
9729
b9abf793
RB
97302014-03-18 Richard Biener <rguenther@suse.de>
9731
9732 * doc/invoke.texi (flto): Update for changes in 4.9.
9733
3f00cf18
RB
97342014-03-18 Richard Biener <rguenther@suse.de>
9735
9736 * doc/loop.texi: Remove section on the removed lambda framework.
9737 Update loop docs with recent changes in preserving loop structure.
9738
c2679d84
RB
97392014-03-18 Richard Biener <rguenther@suse.de>
9740
9741 * doc/lto.texi (-fresolution): Document.
9742
c07990cc
RB
97432014-03-18 Richard Biener <rguenther@suse.de>
9744
9745 * doc/contrib.texi: Adjust my name.
9746
ed9c79e1
JJ
97472014-03-18 Jakub Jelinek <jakub@redhat.com>
9748
9749 PR ipa/58721
9750 * internal-fn.c: Include diagnostic-core.h.
9751 (expand_BUILTIN_EXPECT): New function.
9752 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
9753 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
9754 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
9755 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
9756 IFN_BUILTIN_EXPECT.
9757 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
9758 Revert 3 argument __builtin_expect code.
9759 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
9760 * gimple-fold.c (gimple_fold_call): Likewise.
9761 * tree.h (fold_builtin_expect): New prototype.
9762 * builtins.c (build_builtin_expect_predicate): Add predictor
9763 argument, if non-NULL, create 3 argument __builtin_expect.
9764 (fold_builtin_expect): No longer static. Add ARG2 argument,
9765 pass it through to build_builtin_expect_predicate.
9766 (fold_builtin_2): Adjust caller.
9767 (fold_builtin_3): Handle BUILT_IN_EXPECT.
9768 * internal-fn.def (BUILTIN_EXPECT): New.
9769
97702014-03-18 Tobias Burnus <burnus@net-b.de>
9771
9772 PR ipa/58721
9773 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
9774 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
9775 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
9776
97772014-03-18 Jan Hubicka <hubicka@ucw.cz>
9778
9779 PR ipa/58721
9780 * predict.c (combine_predictions_for_bb): Fix up formatting.
9781 (expr_expected_value_1, expr_expected_value): Add predictor argument,
9782 fill what it points to if non-NULL.
9783 (tree_predict_by_opcode): Adjust caller, use the predictor.
9784 * predict.def (PRED_COMPARE_AND_SWAP): Add.
9785
e33da4a1
EB
97862014-03-18 Eric Botcazou <ebotcazou@adacore.com>
9787
9788 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
9789 proper constant for the store mode.
9790
1fed15fc
IE
97912014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
9792
9793 * symtab.c (change_decl_assembler_name): Fix transparent alias
9794 chain construction.
9795
454fdba9
RL
97962014-03-16 Renlin Li <Renlin.Li@arm.com>
9797
9798 * config/aarch64/aarch64.c: Correct the comments about the
9799 aarch64 stack layout.
9800
e2110f8f
TS
98012014-03-18 Thomas Schwinge <thomas@codesourcery.com>
9802
9803 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
9804 check for GF_OMP_FOR_KIND_FOR.
9805
7c831c4d
KY
98062013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
9807
9808 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
9809 ymm and zmm register names.
9810
e318c1e1
JJ
98112014-03-17 Jakub Jelinek <jakub@redhat.com>
9812
9813 PR target/60516
9814 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
9815 note creation for the 2010-08-31 changes.
9816
ab2ffbeb
MP
98172014-03-17 Marek Polacek <polacek@redhat.com>
9818
9819 PR middle-end/60534
9820 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
9821 as -fno-tree-loop-vectorize.
9822 (expand_omp_simd): Likewise.
9823
890fa568
EB
98242014-03-15 Eric Botcazou <ebotcazou@adacore.com>
9825
9826 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
9827 (eligible_for_call_delay): New prototype.
9828 * config/sparc/sparc.c (tls_call_delay): Rename into...
9829 (eligible_for_call_delay): ...this. Return false if the instruction
9830 cannot be put in the delay slot of a branch.
9831 (eligible_for_restore_insn): Simplify.
9832 (eligible_for_return_delay): Return false if the instruction cannot be
9833 put in the delay slot of a branch and simplify.
9834 (eligible_for_sibcall_delay): Return false if the instruction cannot be
9835 put in the delay slot of a branch.
9836 * config/sparc/sparc.md (fix_ut699): New attribute.
9837 (tls_call_delay): Delete.
9838 (in_call_delay): Reimplement.
9839 (eligible_for_sibcall_delay): Rename into...
9840 (in_sibcall_delay): ...this.
9841 (eligible_for_return_delay): Rename into...
9842 (in_return_delay): ...this.
9843 (in_branch_delay): Reimplement.
9844 (in_uncond_branch_delay): Delete.
9845 (in_annul_branch_delay): Delete.
9846
cfce90ac
RH
98472014-03-14 Richard Henderson <rth@redhat.com>
9848
9849 PR target/60525
9850 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
9851 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
9852 (*floathi<X87MODEF>2_i387_with_temp): Remove.
9853 (floathi splitters): Remove.
9854 (float<SWI48x>xf2): New pattern.
9855 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
9856 code that tried to handle DImode for 32-bit, but which was excluded
9857 by the pattern's condition. Drop allocation of stack temporary.
9858 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
9859 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
9860 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
9861 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
9862 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
9863 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
9864 (*float<SWI48><MODEF>2_sse_interunit): Remove.
9865 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
9866 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
9867 (*float<SWI48x><X87MODEF>2_i387): Remove.
9868 (all float _with_temp splitters): Remove.
9869 (*float<SWI48x><MODEF>2_i387): New pattern.
9870 (*float<SWI48><MODEF>2_sse): New pattern.
9871 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
9872 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
9873
91035653
JJ
98742014-03-14 Jakub Jelinek <jakub@redhat.com>
9875 Marek Polacek <polacek@redhat.com>
9876
9877 PR middle-end/60484
9878 * common.opt (dump_base_name_prefixed): New Variable.
9879 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
9880 if x_dump_base_name_prefixed is already set, set it at the end.
9881
95921002
VM
98822014-03-14 Vladimir Makarov <vmakarov@redhat.com>
9883
9884 PR rtl-optimization/60508
9885 * lra-constraints.c (get_reload_reg): Add new parameter
9886 in_subreg_p.
9887 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
9888 Pass the new parameter values.
9889
25e57622
RB
98902014-03-14 Richard Biener <rguenther@suse.de>
9891
9892 * common.opt: Revert unintented changes from r205065.
9893 * opts.c: Likewise.
9894
1f3388fe
RB
98952014-03-14 Richard Biener <rguenther@suse.de>
9896
9897 PR middle-end/60518
9898 * cfghooks.c (split_block): Properly adjust all loops the
9899 block was a latch of.
9900
99012014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
9902
9903 PR lto/60461
9904 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
9905 and simplify it.
9906
2832dc22
GJL
99072014-03-14 Georg-Johann Lay <avr@gjlay.de>
9908
9909 PR target/59396
9910 * config/avr/avr.c (avr_set_current_function): Pass function name
9911 through default_strip_name_encoding before sanity checking instead
9912 of skipping the first char of the assembler name.
9913
3386d77e
RH
99142014-03-13 Richard Henderson <rth@redhat.com>
9915
9916 PR debug/60438
9917 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
9918 (ix86_force_to_memory, ix86_free_from_memory): Remove.
9919 * config/i386/i386-protos.h: Likewise.
9920 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
9921 in the expander instead of a splitter.
9922 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
9923 any possibility of requiring a memory.
9924 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
9925 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
9926 (fp branch splitters): Update for ix86_split_fp_branch.
9927 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
9928 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
9929 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
9930 (*fop_<MODEF>_2_i387): Remove f/r alternative.
9931 (*fop_<MODEF>_3_i387): Likewise.
9932 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
9933 (splitters for the fop_* register patterns): Remove.
9934 (fscalexf4_i387): Rename from *fscalexf4_i387.
9935 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 9936
5b5d7f31
JJ
99372014-03-13 Jakub Jelinek <jakub@redhat.com>
9938
9939 PR tree-optimization/59779
9940 * tree-dfa.c (get_ref_base_and_extent): Use double_int
9941 type for bitsize and maxsize instead of HOST_WIDE_INT.
9942
bdc6e1ae
SB
99432014-03-13 Steven Bosscher <steven@gcc.gnu.org>
9944
9945 PR rtl-optimization/57320
9946 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
9947 the CFG after thread_prologue_and_epilogue_insns.
9948
7891065a
VM
99492014-03-13 Vladimir Makarov <vmakarov@redhat.com>
9950
9951 PR rtl-optimization/57189
9952 * lra-constraints.c (process_alt_operands): Disfavor spilling
9953 vector pseudos.
9954
eba14fca
CP
99552014-03-13 Cesar Philippidis <cesar@codesourcery.com>
9956
429749e2 9957 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 9958
f661b085
JJ
99592014-03-13 Jakub Jelinek <jakub@redhat.com>
9960
9961 PR tree-optimization/59025
9962 PR middle-end/60418
9963 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
9964 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
9965
8f3a3138
GJL
99662014-03-13 Georg-Johann Lay <avr@gjlay.de>
9967
9968 PR target/60486
9969 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
9970 calls of avr_out_plus_1.
9971
d731ee04
BC
99722014-03-13 Bin Cheng <bin.cheng@arm.com>
9973
9974 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
9975 BB's single pred and update the father loop's latch info later.
9976
a16a872d
MM
99772014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
9978
9979 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
9980 (VEC_M): Likewise.
9981 (VEC_N): Likewise.
9982 (VEC_R): Likewise.
9983 (VEC_base): Likewise.
9984 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
9985 registers, we need to swap double words in little endian mode.
9986
9987 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
9988 to be a container mode for 128-bit integer operations added in ISA
9989 2.07. Unlike TImode and PTImode, the preferred register set is
9990 the Altivec/VMX registers for the 128-bit operations.
9991
9992 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
9993 declarations.
9994 (rs6000_split_128bit_ok_p): Likewise.
9995
9996 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
9997 macros for creating ISA 2.07 normal and overloaded builtin
9998 functions with 3 arguments.
9999 (BU_P8V_OVERLOAD_3): Likewise.
10000 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
10001 for use as overloaded functions.
10002 (VPERM_1TI_UNS): Likewise.
10003 (VSEL_1TI): Likewise.
10004 (VSEL_1TI_UNS): Likewise.
10005 (ST_INTERNAL_1ti): Likewise.
10006 (LD_INTERNAL_1ti): Likewise.
10007 (XXSEL_1TI): Likewise.
10008 (XXSEL_1TI_UNS): Likewise.
10009 (VPERM_1TI): Likewise.
10010 (VPERM_1TI_UNS): Likewise.
10011 (XXPERMDI_1TI): Likewise.
10012 (SET_1TI): Likewise.
10013 (LXVD2X_V1TI): Likewise.
10014 (STXVD2X_V1TI): Likewise.
10015 (VEC_INIT_V1TI): Likewise.
10016 (VEC_SET_V1TI): Likewise.
10017 (VEC_EXT_V1TI): Likewise.
10018 (EQV_V1TI): Likewise.
10019 (NAND_V1TI): Likewise.
10020 (ORC_V1TI): Likewise.
10021 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
10022 added in ISA 2.07. Add both normal 'altivec' builtins, and the
10023 overloaded builtin.
10024 (VADDUQM): Likewise.
10025 (VSUBCUQ): Likewise.
10026 (VADDEUQM): Likewise.
10027 (VADDECUQ): Likewise.
10028 (VSUBEUQM): Likewise.
10029 (VSUBECUQ): Likewise.
10030
10031 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
10032 __int128_t and __uint128_t types.
10033 (__uint128_type): Likewise.
10034 (altivec_categorize_keyword): Add support for vector __int128_t,
10035 vector __uint128_t, vector __int128, and vector unsigned __int128
10036 as a container type for TImode operations that need to be done in
10037 VSX/Altivec registers.
10038 (rs6000_macro_to_expand): Likewise.
10039 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
10040 to support 128-bit integer instructions vaddcuq, vadduqm,
10041 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
10042 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
10043
10044 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
10045 for V1TImode, and set up preferences to use VSX/Altivec registers.
10046 Setup VSX reload handlers.
a16a872d
MM
10047 (rs6000_debug_reg_global): Likewise.
10048 (rs6000_init_hard_regno_mode_ok): Likewise.
10049 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 10050 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
10051 (easy_altivec_constant): Likewise.
10052 (output_vec_const_move): Likewise.
10053 (rs6000_expand_vector_set): Convert V1TImode set and extract to
10054 simple move.
10055 (rs6000_expand_vector_extract): Likewise.
10056 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
10057 addressing.
10058 (rs6000_const_vec): Add support for V1TImode.
10059 (rs6000_emit_le_vsx_load): Swap double words when loading or
10060 storing TImode/V1TImode.
10061 (rs6000_emit_le_vsx_store): Likewise.
10062 (rs6000_emit_le_vsx_move): Likewise.
10063 (rs6000_emit_move): Add support for V1TImode.
10064 (altivec_expand_ld_builtin): Likewise.
10065 (altivec_expand_st_builtin): Likewise.
10066 (altivec_expand_vec_init_builtin): Likewise.
10067 (altivec_expand_builtin): Likewise.
10068 (rs6000_init_builtins): Add support for V1TImode type. Add
10069 support for ISA 2.07 128-bit integer builtins. Define type names
10070 for the VSX/Altivec vector types.
10071 (altivec_init_builtins): Add support for overloaded vector
10072 functions with V1TImode type.
0bb29a05 10073 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
10074 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
10075 external function.
10076 (rs6000_split_128bit_ok_p): Likewise.
10077 (rs6000_handle_altivec_attribute): Create V1TImode from vector
10078 __int128_t and vector __uint128_t.
10079
10080 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
10081 and mode attributes.
10082 (VSX_M): Likewise.
10083 (VSX_M2): Likewise.
10084 (VSm): Likewise.
10085 (VSs): Likewise.
10086 (VSr): Likewise.
10087 (VSv): Likewise.
10088 (VS_scalar): Likewise.
10089 (VS_double): Likewise.
0bb29a05 10090 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 10091
0bb29a05
UB
10092 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
10093 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
10094 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
10095 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
10096 and TImode types for use with the builtin functions.
10097 (V1TI_type_node): Likewise.
10098 (unsigned_V1TI_type_node): Likewise.
10099 (intTI_type_internal_node): Likewise.
10100 (uintTI_type_internal_node): Likewise.
10101
0bb29a05
UB
10102 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
10103 128-bit builtin functions.
a16a872d
MM
10104 (UNSPEC_VADDEUQM): Likewise.
10105 (UNSPEC_VADDECUQ): Likewise.
10106 (UNSPEC_VSUBCUQ): Likewise.
10107 (UNSPEC_VSUBEUQM): Likewise.
10108 (UNSPEC_VSUBECUQ): Likewise.
10109 (VM): Add V1TImode to vector mode iterators.
10110 (VM2): Likewise.
10111 (VI_unit): Likewise.
10112 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
10113 (altivec_vaddcuq): Likewise.
10114 (altivec_vsubuqm): Likewise.
10115 (altivec_vsubcuq): Likewise.
10116 (altivec_vaddeuqm): Likewise.
10117 (altivec_vaddecuq): Likewise.
10118 (altivec_vsubeuqm): Likewise.
10119 (altivec_vsubecuq): Likewise.
10120
10121 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
10122 mode iterators.
10123 (BOOL_128): Likewise.
10124 (BOOL_REGS_OUTPUT): Likewise.
10125 (BOOL_REGS_OP1): Likewise.
10126 (BOOL_REGS_OP2): Likewise.
10127 (BOOL_REGS_UNARY): Likewise.
10128 (BOOL_REGS_AND_CR0): Likewise.
10129
10130 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
10131 128-bit integer builtin support.
10132 (vec_vadduqm): Likewise.
10133 (vec_vaddecuq): Likewise.
10134 (vec_vaddeuqm): Likewise.
10135 (vec_vsubecuq): Likewise.
10136 (vec_vsubeuqm): Likewise.
10137 (vec_vsubcuq): Likewise.
10138 (vec_vsubuqm): Likewise.
10139
10140 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
10141 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
10142 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
10143 128-bit integer add/subtract to ISA 2.07.
10144
eeac7d15
JR
101452014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
10146
10147 * config/arc/arc.c (arc_predicate_delay_insns):
10148 Fix third argument passed to conditionalize_nonjump.
10149
bf0f324e
YZ
101502014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
10151
10152 * config/aarch64/aarch64-builtins.c
10153 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
10154 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
10155 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
10156 instead of __builtin_lfloor.
10157 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
10158
bf4787b2
JJ
101592014-03-12 Jakub Jelinek <jakub@redhat.com>
10160
10161 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
10162 (tree_ssa_ifcombine_bb_1): New function.
10163 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
10164 is an empty forwarder block to then_bb or vice versa and then_bb
10165 and else_bb are effectively swapped.
10166
7d55b948
CB
101672014-03-12 Christian Bruel <christian.bruel@st.com>
10168
10169 PR target/60264
0bb29a05
UB
10170 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
10171 REG_CFA_DEF_CFA note.
7d55b948
CB
10172 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
10173 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
10174
882a5fbe
TP
101752014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
10176
10177 PR tree-optimization/60454
10178 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
10179
a3cd0246
KT
101802014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10181
10182 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
10183 Do not define target_cpu_default2 to generic.
10184 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
10185 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
10186 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
10187
c888139c
JJ
101882014-03-12 Jakub Jelinek <jakub@redhat.com>
10189 Marc Glisse <marc.glisse@inria.fr>
10190
10191 PR tree-optimization/60502
10192 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
10193 instead of build_low_bits_mask.
10194
b24ca895
JJ
101952014-03-12 Jakub Jelinek <jakub@redhat.com>
10196
10197 PR middle-end/60482
10198 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
10199 if there are multiple uses, but op doesn't live on E edge.
10200 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
10201 clobber stmts before __builtin_unreachable.
10202
f1257268
RS
102032014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
10204
10205 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
10206 hard_frame_pointer_rtx.
10207 * cse.c (cse_insn): Remove volatile check.
10208 * cselib.c (cselib_process_insn): Likewise.
10209 * dse.c (scan_insn): Likewise.
10210
bae56bbb
JR
102112014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
10212
0bb29a05
UB
10213 * config/arc/arc.c (conditionalize_nonjump): New function,
10214 broken out of ...
10215 (arc_ifcvt): ... this.
bae56bbb
JR
10216 (arc_predicate_delay_insns): Use it.
10217
167ba5b9
JR
102182014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
10219
10220 * config/arc/predicates.md (extend_operand): During/after reload,
10221 allow const_int_operand.
10222 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
10223 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
10224 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
10225 to "i".
10226 (umulsi3_highpart_i): Likewise.
10227
dfd7d2d6
RB
102282014-03-11 Richard Biener <rguenther@suse.de>
10229
10230 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
10231 Add asserts to guard possible wrong-code bugs.
10232
af1ab449
RB
102332014-03-11 Richard Biener <rguenther@suse.de>
10234
10235 PR tree-optimization/60429
10236 PR tree-optimization/60485
10237 * tree-ssa-structalias.c (set_union_with_increment): Properly
10238 take into account all fields that overlap the shifted vars.
10239 (do_sd_constraint): Likewise.
10240 (do_ds_constraint): Likewise.
10241 (get_constraint_for_ptr_offset): Likewise.
10242
747425d0
CLT
102432014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
10244
10245 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
10246 (nios2_compute_frame_layout):
10247 Add calculation of cfun->machine->fp_save_offset.
10248 (nios2_expand_prologue): Correct setting of frame pointer register
10249 in prologue.
10250 (nios2_expand_epilogue): Update recovery of stack pointer from
10251 frame pointer accordingly.
10252 (nios2_initial_elimination_offset): Update calculation of offset
10253 for eliminating to HARD_FRAME_POINTER_REGNUM.
10254
31dad809
JJ
102552014-03-10 Jakub Jelinek <jakub@redhat.com>
10256
10257 PR ipa/60457
10258 * ipa.c (symtab_remove_unreachable_nodes): Don't call
10259 cgraph_get_create_node on VAR_DECLs.
10260
3c1c08d6
RB
102612014-03-10 Richard Biener <rguenther@suse.de>
10262
10263 PR middle-end/60474
10264 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
10265
21d89690
DR
102662014-03-08 Douglas B Rupp <rupp@gnat.com>
10267
10268 * config/vms/vms.opt (vms_float_format): New variable.
10269
634b8e9b
TB
102702014-03-08 Tobias Burnus <burnus@net-b.de>
10271
0bb29a05 10272 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 10273
f42c637e
PM
102742014-03-08 Paulo Matos <paulo@matos-sorge.com>
10275 Richard Biener <rguenther@suse.de>
10276
10277 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
10278 consistently accross all TUs.
10279 (run_gcc): Enable -fshort-double automatically at link at link-time
10280 and disallow override.
10281
bd65fc87
RS
102822014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
10283
10284 PR target/58271
10285 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
10286 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
10287 if they can't be used.
10288
040c446d
RO
102892014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10290
0bb29a05
UB
10291 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
10292 for Solaris 11/x86 ld.
040c446d
RO
10293 * configure: Regenerate.
10294
caa16d41
RO
102952014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10296
10297 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
10298 (LIB_TLS_SPEC): Save as ld_tls_libs.
10299 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
10300 (HAVE_AS_IX86_TLSLDM): New test.
10301 * configure, config.in: Regenerate.
10302 * config/i386/i386.c (legitimize_tls_address): Fall back to
10303 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
10304 cannot support TLS_MODEL_LOCAL_DYNAMIC.
10305 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
10306 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
10307
f3d83ffe
PM
103082014-03-07 Paulo Matos <paulo@matos-sorge.com>
10309
10310 * common.opt (fira-loop-pressure): Mark as optimization.
10311
b17a8b07
TS
103122014-03-07 Thomas Schwinge <thomas@codesourcery.com>
10313
10314 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
10315 an OpenMP mappable type.
10316
4973b0f9
MK
103172014-03-06 Matthias Klose <doko@ubuntu.com>
10318
10319 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
10320 MULTILIB_OSDIRNAMES is not defined.
10321
ab19cc6c
JJ
103222014-03-06 Jakub Jelinek <jakub@redhat.com>
10323 Meador Inge <meadori@codesourcery.com>
10324
10325 PR target/58595
10326 * config/arm/arm.c (arm_tls_symbol_p): Remove.
10327 (arm_legitimize_address): Call legitimize_tls_address for any
10328 arm_tls_referenced_p expression, handle constant addend. Call it
10329 before testing for !TARGET_ARM.
10330 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
10331
a74158c7
RB
103322014-03-06 Richard Biener <rguenther@suse.de>
10333
10334 PR middle-end/60445
10335 PR lto/60424
10336 PR lto/60427
10337 Revert
10338 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
10339
0bb29a05
UB
10340 * tree-streamer.c (record_common_node): Assert we don't record
10341 nodes with type double.
10342 (preload_common_node): Skip type double, complex double and double
10343 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 10344
f3ba16d0
RB
103452014-03-06 Richard Biener <rguenther@suse.de>
10346
10347 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
10348 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
10349 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
10350 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
10351 * lto-wrapper.c (merge_and_complain): Merge compile-time
10352 optimization levels.
10353 (run_gcc): And pass it through to the link options.
10354
4bb66ef3 103552014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
10356
10357 PR debug/60381
10358 Revert:
4bb66ef3 10359 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
10360 PR debug/59992
10361 * cselib.c (remove_useless_values): Skip to avoid quadratic
10362 behavior if the condition moved from...
10363 (cselib_process_insn): ... here holds.
10364
a05cca9b
JJ
103652014-03-05 Jakub Jelinek <jakub@redhat.com>
10366
487125e7
JJ
10367 PR plugins/59335
10368 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
10369 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
10370
a05cca9b
JJ
10371 PR plugins/59335
10372 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
10373 (TM_H): Add x86-tune.def.
10374
4e2cd668
KT
103752014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10376
10377 * config/aarch64/aarch64.c (generic_tunings):
10378 Use cortexa57_extra_costs.
10379
5525ed38
JJ
103802014-03-05 Jakub Jelinek <jakub@redhat.com>
10381
10382 PR lto/60404
10383 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
10384 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
10385 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
10386 cost for in_lto_p.
10387
0c72fa78
H
103882014-03-04 Heiher <r@hev.cc>
10389
10390 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
10391 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
10392
66b03f81
UB
103932014-03-04 Uros Bizjak <ubizjak@gmail.com>
10394
10395 * config/i386/predicates.md (const2356_operand): Change to ...
10396 (const2367_operand): ... this.
10397 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
10398 const2367_operand.
10399 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
10400 (*avx512pf_scatterpf<mode>sf): Ditto.
10401 (avx512pf_scatterpf<mode>df): Ditto.
10402 (*avx512pf_scatterpf<mode>df_mask): Ditto.
10403 (*avx512pf_scatterpf<mode>df): Ditto.
10404 * config/i386/i386.c (ix86_expand_builtin): Update
10405 incorrect hint operand error message.
10406
3c24e842
RB
104072014-03-04 Richard Biener <rguenther@suse.de>
10408
10409 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 10410
3740bda6
PM
104112014-03-04 Paulo Matos <paulo@matos-sorge.com>
10412
0bb29a05
UB
10413 * tree-streamer.c (record_common_node): Assert we don't record
10414 nodes with type double.
10415 (preload_common_node): Skip type double, complex double and double
10416 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 10417
91856735
RB
104182014-03-04 Richard Biener <rguenther@suse.de>
10419
10420 PR lto/60405
66b03f81 10421 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
10422 (lto_input_toplevel_asms): Likewise.
10423 * lto-section-in.c (lto_get_section_data): Instead do it here
10424 for every section.
66b03f81 10425
b75f28e1
RB
104262014-03-04 Richard Biener <rguenther@suse.de>
10427
10428 PR tree-optimization/60382
10429 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
10430 dead PHIs a reduction.
10431
dd96e83a
UB
104322014-03-03 Uros Bizjak <ubizjak@gmail.com>
10433
10434 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
10435 hint value.
10436 (_mm_prefetch): Move out of GCC target("sse") pragma.
10437 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
10438 GCC target("prfchw") pragma.
10439 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
10440 for locality <= 2.
10441 * config/i386/i386.c (ix86_option_override_internal): Enable
10442 -mprfchw with -mprefetchwt1.
10443
220c1a51
JR
104442014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
10445
10446 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
10447 Mark as varying.
10448
212bfe71
JR
104492014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
10450
10451 * opts.h (CL_PCH_IGNORE): Define.
10452 * targhooks.c (option_affects_pch_p):
10453 Return false for options that have CL_PCH_IGNORE set.
10454 * opt-functions.awk: Process PchIgnore.
10455 * doc/options.texi: Document PchIgnore.
10456
7a3d0a39
JR
10457 * config/arc/arc.opt (misize): Add PchIgnore property.
10458
b46ed885
BS
104592014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10460
10461 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
10462 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
10463 constraint on constants to permit them being loaded into
10464 GENERAL_REGS or BASE_REGS.
10465
c6f709ec
NC
104662014-03-03 Nick Clifton <nickc@redhat.com>
10467
10468 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
10469 anti-cacnonical alternatives.
10470 (negandhi3_real): New pattern.
10471 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
10472
5752f78f
SKS
104732014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10474
10475 * config/avr/avr-mcus.def: Remove atxmega16x1.
10476 * config/avr/avr-tables.opt: Regenerate.
10477 * config/avr/t-multilib: Regenerate.
10478 * doc/avr-mmcu.texi: Regenerate.
10479
0afe7332 104802014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 10481 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
10482
10483 PR tree-optimization/58028
10484 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
10485 scalar dimensions.
10486
3416dd87
RR
104872014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10488
10489 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
10490 not handled by recognizers.
10491
79c7fda6
JJ
104922014-03-03 Jakub Jelinek <jakub@redhat.com>
10493
10494 PR middle-end/60175
10495 * function.c (expand_function_end): Don't emit
10496 clobber_return_register sequence if clobber_after is a BARRIER.
10497 * cfgexpand.c (construct_exit_block): Append instructions before
10498 return_label to prev_bb.
10499
715a5c85
BS
105002014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10501
10502 * config/rs6000/constraints.md: Document reserved use of "wc".
10503
9ffbf271
JH
105042014-03-02 Jan Hubicka <hubicka@ucw.cz>
10505
10506 PR ipa/60150
10507 * ipa.c (function_and_variable_visibility): When dissolving comdat
10508 group, also set all symbols to local.
10509
993df21e 105102014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 10511
993df21e
JH
10512 PR ipa/60306
10513
10514 Revert:
40c0a159 10515 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
10516 PR middle-end/58477
10517 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 10518
9b0af790
JB
105192014-03-02 Jon Beniston <jon@beniston.com>
10520
10521 PR bootstrap/48230
10522 PR bootstrap/50927
10523 PR bootstrap/52466
10524 PR target/46898
10525 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 10526 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 10527 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 10528 (simple_return, *simple_return): New patterns
9b0af790
JB
10529 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
10530 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
10531
c582aac9
PC
105322014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
10533
10534 * dwarf2out.c (gen_subprogram_die): Tidy.
10535
19305875
OE
105362014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
10537
10538 PR target/60071
10539 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
10540 (*mov_t_msb_neg_negc): ... this new insn.
10541
570215f9
JM
105422014-02-28 Jason Merrill <jason@redhat.com>
10543
10544 PR c++/58678
10545 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
10546 function.
10547
c5b001b5
PC
105482014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
10549
10550 PR c++/60314
10551 * dwarf2out.c (decltype_auto_die): New static.
10552 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
10553 (gen_type_die_with_usage): Handle 'decltype(auto)'.
10554 (is_cxx_auto): Likewise.
10555
5750e120
IB
105562014-02-28 Ian Bolton <ian.bolton@arm.com>
10557
10558 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
10559 we are not using general regs only.
10560
fba7c564
RB
105612014-02-28 Richard Biener <rguenther@suse.de>
10562
10563 PR target/60280
10564 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
10565 previous fix and only allow to remove trivial pre-headers
10566 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 10567 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 10568
4bb66ef3 105692014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
10570
10571 PR debug/59992
10572 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
10573 (cselib_preserved_hash_table): New.
10574 (preserve_constants_and_equivs): Move preserved vals to it.
10575 (cselib_find_slot): Look it up first.
10576 (cselib_init): Initialize it.
10577 (cselib_finish): Release it.
10578 (dump_cselib_table): Dump it.
10579
4bb66ef3 105802014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
10581
10582 PR debug/59992
10583 * cselib.c (remove_useless_values): Skip to avoid quadratic
10584 behavior if the condition moved from...
10585 (cselib_process_insn): ... here holds.
10586
4bb66ef3 105872014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
10588
10589 PR debug/57232
10590 * var-tracking.c (vt_initialize): Apply the same condition to
10591 preserve the CFA base value.
10592
9910c53c
JY
105932014-02-28 Joey Ye <joey.ye@arm.com>
10594
10595 PR target/PR60169
10596 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
10597 if reload in progress or completed.
10598
ef271341
TB
105992014-02-28 Tobias Burnus <burnus@net-b.de>
10600
10601 PR middle-end/60147
10602 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
10603 NAMELIST_DECL.
10604
c4f6267b
L
106052014-02-27 H.J. Lu <hongjiu.lu@intel.com>
10606
10607 * doc/tm.texi.in (Condition Code Status): Update documention for
10608 relative locations of cc0-setter and cc0-user.
10609
7a76df7f
JL
106102014-02-27 Jeff Law <law@redhat.com>
10611
10612 PR rtl-optimization/52714
10613 * combine.c (try_combine): When splitting an unrecognized PARALLEL
10614 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 10615 pattern we place into I3 is a (set (pc) ...).
7a76df7f 10616
728acca0
MP
106172014-02-27 Mikael Pettersson <mikpe@it.uu.se>
10618 Jeff Law <law@redhat.com>
10619
10620 PR rtl-optimization/49847
10621 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
10622 are in different blocks.
10623 * doc/tm.texi (Condition Code Status): Update documention for
10624 relative locations of cc0-setter and cc0-user.
10625
93aaa05d
VM
106262014-02-27 Vladimir Makarov <vmakarov@redhat.com>
10627
10628 PR target/59222
10629 * lra.c (lra_emit_add): Check SUBREG too.
10630
1ee6eb01
AS
106312014-02-27 Andreas Schwab <schwab@suse.de>
10632
10633 * config/m68k/m68k.c (m68k_option_override): Disable
10634 -flive-range-shrinkage for classic m68k.
10635 (m68k_override_options_after_change): Likewise.
10636
bb0d8e84
MP
106372014-02-27 Marek Polacek <polacek@redhat.com>
10638
10639 PR middle-end/59223
10640 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
10641 -Wmaybe-uninitialized.
10642
3157b879
AM
106432014-02-27 Alan Modra <amodra@gmail.com>
10644
3e17cad2 10645 PR target/57936
3157b879
AM
10646 * reload1.c (emit_input_reload_insns): When reload_override_in,
10647 set old to rl->in_reg when rl->in_reg is a subreg.
10648
bb750f4f
RB
106492014-02-26 Richard Biener <rguenther@suse.de>
10650
10651 PR bootstrap/60343
10652 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
10653
22c8aab3
IT
106542014-02-25 Ilya Tocar <ilya.tocar@intel.com>
10655
10656 * common/config/i386/predicates.md (const1256_operand): Remove.
10657 (const2356_operand): New.
10658 (const_1_to_2_operand): Remove.
10659 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
10660 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
10661 (*avx512pf_gatherpf<mode>sf): Ditto.
10662 (avx512pf_gatherpf<mode>df): Ditto.
10663 (*avx512pf_gatherpf<mode>df_mask): Ditto.
10664 (*avx512pf_gatherpf<mode>df): Ditto.
10665 (avx512pf_scatterpf<mode>sf): Ditto.
10666 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
10667 (*avx512pf_scatterpf<mode>sf): Ditto.
10668 (avx512pf_scatterpf<mode>df): Ditto.
10669 (*avx512pf_scatterpf<mode>df_mask): Ditto.
10670 (*avx512pf_scatterpf<mode>df): Ditto.
10671 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
10672
260d3642
IT
106732014-02-26 Ilya Tocar <ilya.tocar@intel.com>
10674
10675 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
10676 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
10677 (_mm512_mask_testn_epi64_mask): Move to ...
10678 * config/i386/avx512cdintrin.h: Here.
10679 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
10680 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
10681 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
10682 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
10683 TARGET_AVX512F from TARGET_AVX512CD.
10684
477145c8
RB
106852014-02-26 Richard Biener <rguenther@suse.de>
10686
10687 PR ipa/60327
10688 * ipa.c (walk_polymorphic_call_targets): Properly guard
10689 call to inline_update_overall_summary.
10690
a3afdbb8
BC
106912014-02-26 Bin Cheng <bin.cheng@arm.com>
10692
10693 PR target/60280
84d7e312
UB
10694 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
10695 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
10696 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
10697 LOOPS_HAVE_PREHEADERS.
10698
b8a542c6
AP
106992014-02-25 Andrew Pinski <apinski@cavium.com>
10700
10701 * builtins.c (expand_builtin_thread_pointer): Create a new target
10702 when the target is NULL.
10703
88def637
VM
107042014-02-25 Vladimir Makarov <vmakarov@redhat.com>
10705
10706 PR rtl-optimization/60317
10707 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
10708 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
10709 * lra-assigns.c: Include params.h.
10710 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
10711 other reload pseudos considerations.
10712
68908a06
BS
107132014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10714
cf36d2cc
WS
10715 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
10716 to use canonical form for nor<mode>3.
68908a06 10717
db57bbc9
KT
107182014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10719
10720 PR target/55426
10721 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
10722 conversions.
10723
43b3f52f
IT
107242014-02-25 Ilya Tocar <ilya.tocar@intel.com>
10725
10726 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
10727 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
10728 (ix86_handle_option): Handle OPT_mprefetchwt1.
10729 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
10730 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
10731 PREFETCHWT1 CPUID.
10732 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
10733 OPTION_MASK_ISA_PREFETCHWT1.
10734 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
10735 (PTA_PREFETCHWT1): New.
10736 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
10737 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 10738 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
10739 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
10740 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 10741 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
10742 * config/i386/i386.opt (mprefetchwt1): New.
10743 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
10744 (_mm_prefetch): Handle intent to write.
10745 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
10746
84053e02
RB
107472014-02-25 Richard Biener <rguenther@suse.de>
10748
10749 PR middle-end/60291
10750 * emit-rtl.c (mem_attrs_htab): Remove.
10751 (mem_attrs_htab_hash): Likewise.
10752 (mem_attrs_htab_eq): Likewise.
84d7e312 10753 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
10754 (init_emit_once): Do not allocate mem_attrs_htab.
10755
4094757e
RB
107562014-02-25 Richard Biener <rguenther@suse.de>
10757
10758 PR lto/60319
10759 * lto-opts.c (lto_write_options): Output non-explicit conservative
10760 -fwrapv, -fno-trapv and -fno-strict-overflow.
10761 * lto-wrapper.c (merge_and_complain): Handle merging those options.
10762 (run_gcc): And pass them through.
10763
41b2d514 107642014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 10765
41b2d514
AB
10766 * sel-sched.c (calculate_new_fences): New parameter ptime.
10767 Calculate it as a maximum over all fence cycles.
10768 (sel_sched_region_2): Adjust the call to calculate_new_fences.
10769 Print the final schedule timing when sched_verbose.
10770
c1c99405
AB
107712014-02-25 Andrey Belevantsev <abel@ispras.ru>
10772
10773 PR rtl-optimization/60292
10774 * sel-sched.c (fill_vec_av_set): Do not reset target availability
10775 bit fot the fence instruction.
10776
1d9def42
AD
107772014-02-24 Alangi Derick <alangiderick@gmail.com>
10778
10779 * calls.h: Fix typo in comment.
10780
325fefe0
JDA
107812014-02-24 John David Anglin <danglin@gcc.gnu.org>
10782
10783 * config/pa/pa.c (pa_output_move_double): Don't valididate when
10784 adjusting offsetable addresses.
10785
ad43b47a
GW
107862014-02-24 Guozhi Wei <carrot@google.com>
10787
10788 * sparseset.h (sparseset_pop): Fix the wrong index.
10789
341c653c
WL
107902014-02-24 Walter Lee <walt@tilera.com>
10791
10792 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
10793 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
10794 triplet.
10795 * common/config/tilegx/tilegx-common.c
10796 (TARGET_DEFAULT_TARGET_FLAGS): Define.
10797 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
10798 (LINK_SPEC): Ditto.
10799 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
10800 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
10801 (tilegx_gimplify_va_arg_expr): Handle big endian.
10802 (tilegx_expand_unaligned_load): Ditto.
10803 (tilegx_expand_unaligned_store): Ditto.
10804 (TARGET_RETURN_IN_MSB): New.
10805 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
10806 (TARGET_ENDIAN_DEFAULT): New.
10807 (TARGET_BIG_ENDIAN): Handle big endian.
10808 (BYTES_BIG_ENDIAN): Ditto.
10809 (WORDS_BIG_ENDIAN): Ditto.
10810 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
10811 (ENDIAN_SPEC): New.
10812 (EXTRA_SPECS): New.
10813 * config/tilegx/tilegx.md (extv): Handle big endian.
10814 (extzv): Ditto.
10815 (insn_st<n>): Ditto.
10816 (insn_st<n>_add<bitsuffix>): Ditto.
10817 (insn_stnt<n>): Ditto.
10818 (insn_stnt<n>_add<bitsuffix>):Ditto.
10819 (vec_interleave_highv8qi): Handle big endian.
10820 (vec_interleave_highv8qi_be): New.
10821 (vec_interleave_highv8qi_le): New.
10822 (insn_v1int_h): Handle big endian.
10823 (vec_interleave_lowv8qi): Handle big endian.
10824 (vec_interleave_lowv8qi_be): New.
10825 (vec_interleave_lowv8qi_le): New.
10826 (insn_v1int_l): Handle big endian.
10827 (vec_interleave_highv4hi): Handle big endian.
10828 (vec_interleave_highv4hi_be): New.
10829 (vec_interleave_highv4hi_le): New.
10830 (insn_v2int_h): Handle big endian.
10831 (vec_interleave_lowv4hi): Handle big endian.
10832 (vec_interleave_lowv4hi_be): New.
10833 (vec_interleave_lowv4hi_le): New.
10834 (insn_v2int_l): Handle big endian.
10835 (vec_interleave_highv2si): Handle big endian.
10836 (vec_interleave_highv2si_be): New.
10837 (vec_interleave_highv2si_le): New.
10838 (insn_v4int_h): Handle big endian.
10839 (vec_interleave_lowv2si): Handle big endian.
10840 (vec_interleave_lowv2si_be): New.
10841 (vec_interleave_lowv2si_le): New.
10842 (insn_v4int_l): Handle big endian.
10843 * config/tilegx/tilegx.opt (mbig-endian): New option.
10844 (mlittle-endian): New option.
10845 * doc/install.texi: Document tilegxbe-linux.
10846 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
10847
f3fec19f
MJ
108482014-02-24 Martin Jambor <mjambor@suse.cz>
10849
10850 PR ipa/60266
10851 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
10852 there are no parameter descriptors.
10853
9039622a
AB
108542014-02-24 Andrey Belevantsev <abel@ispras.ru>
10855
10856 PR rtl-optimization/60268
10857 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
10858 initialization to ...
10859 (sched_rgn_init): ... here.
10860 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
10861
4bb66ef3 108622014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 10863
9039622a
AB
10864 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
10865 names.
e7e7bc4b 10866
4bb66ef3 108672014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
10868
10869 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
10870 definition.
10871
4bb66ef3 108722014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 10873
84d7e312
UB
10874 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
10875 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 10876
4bb66ef3 108772014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
10878
10879 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 10880 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 10881 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 10882 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
10883 to microblaze_expand_conditional_branch and consolidate logic.
10884 (microblaze_expand_conditional_branch): emit branch_compare
10885 insn instead of handling cmp op separate from branch insn.
10886
34c25d23
BS
108872014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10888
10889 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
10890 to permit subregs.
10891
a6eecdc1
BS
108922014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10893
d5a19af1
DH
10894 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
10895 define_insn with define_expand and new define_insn
10896 *altivec_lve<VI_char>x_internal.
10897 (altivec_stve<VI_char>x): Replace define_insn with define_expand
10898 and new define_insn *altivec_stve<VI_char>x_internal.
10899 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
10900 prototype.
10901 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
10902 lve*x built-ins.
10903 (altivec_expand_stvex_be): New function.
a6eecdc1 10904
8aa7d1fc
JR
109052014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
10906
10907 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 10908 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
10909 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
10910 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
10911
a810ee82
VM
109122014-02-21 Vladimir Makarov <vmakarov@redhat.com>
10913
10914 PR target/60298
10915 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
10916 instead of emit_move_insn.
10917
b90ab1ba
BS
109182014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10919
10920 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
10921 vspltw with vsldoi.
10922 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
10923 gen_altivec_vsumsws.
10924
1af73690
WS
109252014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10926
10927 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 10928 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
10929 (altivec_lvxl_<mode>): New define_expand incorporating
10930 -maltivec=be semantics where needed.
10931 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
10932 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
10933 semantics where needed.
10934 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
10935 (altivec_stvx_<mode>): New define_expand incorporating
10936 -maltivec=be semantics where needed.
10937 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
10938 VM2 iterator instead of V4SI.
10939 (altivec_stvxl_<mode>): New define_expand incorporating
10940 -maltivec=be semantics where needed.
10941 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
10942 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
10943 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
10944 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
10945 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
10946 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
10947 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
10948 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
10949 ALTIVEC_BUILTIN_STVXL.
84d7e312 10950 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
10951 (altivec_expand_stvx_be): Likewise.
10952 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
10953 (altivec_expand_lvx_be): Likewise.
10954 (altivec_expand_stvx_be): Likewise.
10955 (altivec_expand_builtin): Add cases for
10956 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
10957 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
10958 (altivec_init_builtins): Add definitions for
10959 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 10960 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 10961
0a39d07b
CM
109622014-02-21 Catherine Moore <clm@codesourcery.com>
10963
10964 * doc/invoke.texi (mvirt, mno-virt): Document.
10965 * config/mips/mips.opt (mvirt): New option.
10966 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
10967
f2556b68
RB
109682014-02-21 Richard Biener <rguenther@suse.de>
10969
10970 PR tree-optimization/60276
10971 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
10972 (STMT_VINFO_MIN_NEG_DIST): New macro.
10973 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
10974 STMT_VINFO_MIN_NEG_DIST.
10975 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
10976 made for negative dependence distances still hold.
10977
32417082
RB
109782014-02-21 Richard Biener <rguenther@suse.de>
10979
10980 PR middle-end/60291
10981 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
10982 DECL_INITIAL for globals not in the current function context.
10983
92261ce0
JJ
109842014-02-21 Jakub Jelinek <jakub@redhat.com>
10985
10986 PR tree-optimization/56490
10987 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
10988 * tree-ssa-uninit.c: Include params.h.
10989 (compute_control_dep_chain): Add num_calls argument, return false
10990 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
10991 num_calls to recursive call.
10992 (find_predicates): Change dep_chain into normal array,
10993 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
10994 variable and adjust compute_control_dep_chain caller.
10995 (find_def_preds): Likewise.
10996
aa6ef874
TS
109972014-02-21 Thomas Schwinge <thomas@codesourcery.com>
10998
10999 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
11000 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
11001
4b156fd0
NC
110022014-02-21 Nick Clifton <nickc@redhat.com>
11003
11004 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
11005 (pushhi1): Likewise.
11006 (popqi1): Add mode to pre_dec.
11007 (pophi1): Likewise.
11008
dffd569e
JJ
110092014-02-21 Jakub Jelinek <jakub@redhat.com>
11010
11011 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
11012 mode for mask of V8SFmode permutation.
11013
2fdc29e8
RH
110142014-02-20 Richard Henderson <rth@redhat.com>
11015
11016 PR c++/60272
11017 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
11018 a new pseudo for OLDVAL.
11019
aa637f66
JJ
110202014-02-20 Jakub Jelinek <jakub@redhat.com>
11021
11022 PR target/57896
11023 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
11024 gen_reg_rtx if d->testing_p.
11025 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
11026 if d->testing_p and we will certainly return true.
11027 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
11028 if d->testing_p.
11029
004a7e45
UB
110302014-02-20 Uros Bizjak <ubizjak@gmail.com>
11031
11032 * emit-rtl.c (gen_reg_rtx): Assert that
11033 crtl->emit.regno_pointer_align_length is non-zero.
11034
110352014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
11036
11037 PR c++/60272
11038 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
11039 on failure the store back into EXPECT.
11040
95ce7613
CLT
110412014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
11042 Sandra Loosemore <sandra@codesourcery.com>
11043
11044 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
11045 * config/nios2/nios2.c (nios2_function_profiler): Add
11046 -fPIC (flag_pic == 2) support.
95ce7613
CLT
11047 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
11048 (nios2_large_offset_p): New function.
11049 (nios2_unspec_reloc_p): Move up position, update to use
11050 nios2_large_offset_p.
11051 (nios2_unspec_address): Remove function.
11052 (nios2_unspec_offset): New function.
11053 (nios2_large_got_address): New function.
11054 (nios2_got_address): Add large offset support.
11055 (nios2_legitimize_tls_address): Update usage of removed and new
11056 functions.
11057 (nios2_symbol_binds_local_p): New function.
11058 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
11059 (nios2_legitimize_address): Update to use nios2_large_offset_p.
11060 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
11061 (nios2_print_operand): Merge H/L processing, add hiadj/lo
11062 processing for (const (unspec ...)).
11063 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
11064
efd2d3c8
RB
110652014-02-20 Richard Biener <rguenther@suse.de>
11066
11067 * tree-cfg.c (replace_uses_by): Mark altered BBs before
11068 doing the substitution.
004a7e45 11069 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 11070
9576e7b1
MJ
110712014-02-20 Martin Jambor <mjambor@suse.cz>
11072
11073 PR ipa/55260
11074 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
11075 info when checking whether lattices are bottom.
11076
25fe40b0
RB
110772014-02-20 Richard Biener <rguenther@suse.de>
11078
11079 PR middle-end/60221
11080 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
11081 regions at -O0.
11082
bd936951
JH
110832014-02-20 Jan Hubicka <hubicka@ucw.cz>
11084
11085 PR ipa/58555
004a7e45
UB
11086 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
11087 parameter specifying the scaling.
bd936951
JH
11088 (inline_call): Update.
11089 (want_inline_recursively): Guard division by zero.
11090 (recursive_inlining): Update.
11091 * ipa-inline.h (clone_inlined_nodes): Update.
11092
3c898e1a
IT
110932014-02-20 Ilya Tocar <ilya.tocar@intel.com>
11094
11095 PR target/60204
11096 * config/i386/i386.c (classify_argument): Pass structures of size
11097 64 bytes or less in register.
11098
df62b4af 110992014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 11100 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
11101
11102 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
11103 (_mm_rcp28_round_ss): Ditto.
11104 (_mm_rsqrt28_round_sd): Ditto.
11105 (_mm_rsqrt28_round_ss): Ditto.
11106 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
11107 (_mm_rcp14_round_ss): Ditto.
11108 (_mm_rsqrt14_round_sd): Ditto.
11109 (_mm_rsqrt14_round_ss): Ditto.
11110 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
11111 the first input operand, get rid of match_dup.
11112 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
11113 attribute to sse.
11114 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
11115 Ditto.
11116 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
11117 operand as the first input operand, set type attribute.
11118 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
11119 Set type attribute.
11120 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
11121 operand as the first input operand, set type attribute.
11122
9254148e
BS
111232014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11124
11125 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
11126 bit of zero.
11127
fff91793
L
111282014-02-19 H.J. Lu <hongjiu.lu@intel.com>
11129
11130 PR target/60207
11131 * config/i386/i386.c (construct_container): Remove TFmode check
11132 for X86_64_INTEGER_CLASS.
11133
6aa5b4b8
UB
111342014-02-19 Uros Bizjak <ubizjak@gmail.com>
11135
11136 PR target/59794
11137 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
11138 only when -Wpsabi is enabled.
11139
aadc1c43
MHD
111402014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
11141
11142 PR target/59799
11143 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
11144 passing arrays in registers are the same as for structs, so remove the
11145 special case for them.
11146
322913f8
EB
111472014-02-19 Eric Botcazou <ebotcazou@adacore.com>
11148
11149 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
11150 destination type, extract only the valid bits if the source type is not
11151 integral and has a different mode.
11152
fd9710dc
RB
111532014-02-19 Richard Biener <rguenther@suse.de>
11154
11155 PR ipa/60243
11156 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
11157 for all calls.
11158
4df65a85
RB
111592014-02-19 Richard Biener <rguenther@suse.de>
11160
11161 PR ipa/60243
11162 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
11163 (ipa_modify_call_arguments): Emit an argument load explicitely and
11164 preserve virtual SSA form there and for the replacement call.
11165 Do not update SSA form nor free dominance info.
11166
7fea98d8
JH
111672014-02-18 Jan Hubicka <hubicka@ucw.cz>
11168
11169 * ipa.c (function_and_variable_visibility): Also clear WEAK
11170 flag when disolving COMDAT_GROUP.
11171
0a2550e7
JH
111722014-02-18 Jan Hubicka <hubicka@ucw.cz>
11173
11174 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
11175 * ipa-prop.c (ipa_set_jf_known_type): Return early when
11176 not devirtualizing.
11177 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
11178 do more sanity checks.
11179 (detect_type_change): Return true when giving up early.
11180 (compute_complex_assign_jump_func): Fix type parameter of
11181 ipa_set_ancestor_jf.
11182 (compute_complex_ancestor_jump_func): Likewise.
11183 (update_jump_functions_after_inlining): Fix updating of
11184 ancestor function.
6aa5b4b8 11185 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 11186
2dbe8b70
JH
111872014-02-18 Jan Hubicka <hubicka@ucw.cz>
11188
11189 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
11190 inline clones when edge disappears.
11191
b9809dc4
MM
111922014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
11193
11194 PR target/60203
11195 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
11196 Split 64-bit moves into 2 patterns. Do not allow the use of
11197 direct move for TDmode in little endian, since the decimal value
11198 has little endian bytes within a word, but the 64-bit pieces are
11199 ordered in a big endian fashion, and normal subreg's of TDmode are
11200 not allowed.
11201 (mov<mode>_64bit_dm): Likewise.
11202 (movtd_64bit_nodm): Likewise.
11203
bababbfb
EB
112042014-02-18 Eric Botcazou <ebotcazou@adacore.com>
11205
11206 PR tree-optimization/60174
11207 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
11208 statement of an SSA_NAME that occurs in an abnormal PHI node.
11209
70aacc97
JJ
112102014-02-18 Jakub Jelinek <jakub@redhat.com>
11211
11212 PR sanitizer/60142
11213 * final.c (SEEN_BB): Remove.
11214 (SEEN_NOTE, SEEN_EMITTED): Renumber.
11215 (final_scan_insn): Don't force_source_line on second
11216 NOTE_INSN_BASIC_BLOCK.
11217
223cdd15
UB
112182014-02-18 Uros Bizjak <ubizjak@gmail.com>
11219
11220 PR target/60205
11221 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
11222 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
11223 (type_natural_mode): Warn ABI change when %zmm register is not
11224 available for AVX512F vector value passing.
11225
48810be0
KT
112262014-02-18 Kai Tietz <ktietz@redhat.com>
11227
11228 PR target/60193
223cdd15
UB
11229 * config/i386/i386.c (ix86_expand_prologue): Use value in
11230 rax register as displacement when restoring %r10 or %rax.
11231 Fix wrong offset when restoring both registers.
48810be0 11232
20afe640
EB
112332014-02-18 Eric Botcazou <ebotcazou@adacore.com>
11234
11235 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
11236 assertion with conditional return.
11237
d0b50387
JJ
112382014-02-18 Jakub Jelinek <jakub@redhat.com>
11239 Uros Bizjak <ubizjak@gmail.com>
11240
11241 PR driver/60233
11242 * config/i386/driver-i386.c (host_detect_local_cpu): If
11243 YMM state is not saved by the OS, also clear has_f16c. Move
11244 CPUID 0x80000001 handling before YMM state saving checking.
11245
c4cd7435
AB
112462014-02-18 Andrey Belevantsev <abel@ispras.ru>
11247
11248 PR rtl-optimization/58960
11249 * haifa-sched.c (alloc_global_sched_pressure_data): New,
11250 factored out from ...
11251 (sched_init): ... here.
11252 (free_global_sched_pressure_data): New, factored out from ...
11253 (sched_finish): ... here.
11254 * sched-int.h (free_global_sched_pressure_data): Declare.
11255 * sched-rgn.c (nr_regions_initial): New static global.
11256 (haifa_find_rgns): Initialize it.
11257 (schedule_region): Disable sched-pressure for the newly
11258 generated regions.
11259
f0281fde
RB
112602014-02-17 Richard Biener <rguenther@suse.de>
11261
11262 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
11263 release SSA defs of pattern stmts.
11264
c742772c
RB
112652014-02-17 Richard Biener <rguenther@suse.de>
11266
11267 * tree-inline.c (expand_call_inline): Release the virtual
11268 operand defined by the call we are about to inline.
11269
0492158e
RB
112702014-02-17 Richard Biener <rguenther@suse.de>
11271
11272 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
11273
583a9919
KY
112742014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
11275 Ilya Tocar <ilya.tocar@intel.com>
11276
11277 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
11278 arguments order in builtin.
11279 (_mm512_permutexvar_epi64): Ditto.
11280 (_mm512_mask_permutexvar_epi64): Ditto
11281 (_mm512_maskz_permutexvar_epi32): Ditto
11282 (_mm512_permutexvar_epi32): Ditto
11283 (_mm512_mask_permutexvar_epi32): Ditto
11284
d737743f
BS
112852014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11286
223cdd15 11287 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
11288 (p8_vmrgow): Likewise.
11289
54c4bfd7
BS
112902014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11291
11292 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
11293 endian targets.
11294
518fea64
MM
112952014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
11296
11297 PR target/60203
11298 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
11299 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
11300 into 64-bit and 32-bit moves. On 64-bit moves, add support for
11301 using direct move instructions on ISA 2.07. Also adjust
11302 instruction length for 64-bit.
11303 (mov<mode>_64bit, TFmode/TDmode): Likewise.
11304 (mov<mode>_32bit, TFmode/TDmode): Likewise.
11305
61640916
AM
113062014-02-15 Alan Modra <amodra@gmail.com>
11307
11308 PR target/58675
11309 PR target/57935
11310 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
11311 find_replacement on parts of insn rtl that might be reloaded.
11312
a2b33cc3
RB
113132014-02-15 Richard Biener <rguenther@suse.de>
11314
11315 PR tree-optimization/60183
223cdd15 11316 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
11317 (tree_ssa_phiprop): Calculate and free post-dominators.
11318
059742a4
JL
113192014-02-14 Jeff Law <law@redhat.com>
11320
11321 PR rtl-optimization/60131
11322 * ree.c (get_extended_src_reg): New function.
223cdd15 11323 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
11324 (find_and_remove_re): Verify first operand of extension is
11325 a REG before adding the insns to the copy list.
11326
88f7c49a
RM
113272014-02-14 Roland McGrath <mcgrathr@google.com>
11328
11329 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
11330 * configure: Regenerated.
11331 * config.in: Regenerated.
11332 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
11333 instead of ASM_SHORT.
11334
2ae577fd
VM
113352014-02-14 Vladimir Makarov <vmakarov@redhat.com>
11336 Richard Earnshaw <rearnsha@arm.com>
11337
11338 PR rtl-optimization/59535
11339 * lra-constraints.c (process_alt_operands): Encourage alternative
11340 when unassigned pseudo class is superset of the alternative class.
11341 (inherit_reload_reg): Don't inherit when optimizing for code size.
11342 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
11343 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
11344 modes not less than 4 for Thumb1.
11345
5d88af08
KM
113462014-02-14 Kyle McMartin <kyle@redhat.com>
11347
11348 PR pch/60010
11349 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
11350
3069b421
RB
113512014-02-14 Richard Biener <rguenther@suse.de>
11352
11353 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
11354 (get_frame_arg): Drop the assert with langhook types_compatible_p.
11355 Do not strip INDIRECT_REFs.
11356
1966fd99
RB
113572014-02-14 Richard Biener <rguenther@suse.de>
11358
11359 PR lto/60179
11360 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
11361 DECL_FUNCTION_SPECIFIC_TARGET.
11362 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
11363 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 11364 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
11365 (write_ts_function_decl_tree_pointers): Do not stream
11366 DECL_FUNCTION_SPECIFIC_TARGET.
11367 * tree-streamer-in.c (unpack_ts_target_option): Remove.
11368 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
11369 (lto_input_ts_function_decl_tree_pointers): Do not stream
11370 DECL_FUNCTION_SPECIFIC_TARGET.
11371
b010d601
JJ
113722014-02-14 Jakub Jelinek <jakub@redhat.com>
11373
223cdd15 11374 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
11375 (get_initial_def_for_induction, vectorizable_induction): Ignore
11376 debug stmts when looking for exit_phi.
11377 (vectorizable_live_operation): Fix up condition.
11378
f2dafb91
CJW
113792014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
11380
11381 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
11382 nreverse() because it changes the content of original tree list.
11383
59043e75
CJW
113842014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
11385
11386 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
11387 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
11388
810f736f
CJW
113892014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
11390
11391 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
11392 GNU coding standards.
11393
1a025bbf
JJ
113942014-02-13 Jakub Jelinek <jakub@redhat.com>
11395
11396 PR debug/60152
11397 * dwarf2out.c (gen_subprogram_die): Don't call
11398 add_calling_convention_attribute if subr_die is old_die.
11399
69479ebd
SS
114002014-02-13 Sharad Singhai <singhai@google.com>
11401
11402 * doc/optinfo.texi: Fix order of nodes.
11403
1287ae50
UB
114042014-02-13 Uros Bizjak <ubizjak@gmail.com>
11405
11406 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
11407 operands[2], not operands[3].
11408
43372236
RB
114092014-02-13 Richard Biener <rguenther@suse.de>
11410
11411 PR bootstrap/59878
11412 * doc/install.texi (ISL): Update recommended version to 0.12.2,
11413 mention the possibility of an in-tree build.
11414 (CLooG): Update recommended version to 0.18.1, mention the
11415 possibility of an in-tree build and clarify that the ISL
11416 bundled with CLooG does not work.
11417
a4d70cfa
JJ
114182014-02-13 Jakub Jelinek <jakub@redhat.com>
11419
11420 PR target/43546
11421 * expr.c (compress_float_constant): If x is a hard register,
11422 extend into a pseudo and then move to x.
11423
e697d119
DV
114242014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
11425
11426 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
11427 caused by bad second argument to warning_at() with -mhotpatch and
11428 nested functions (e.g. with gfortran).
11429
9f8da907
RS
114302014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
11431
11432 * opts.c (option_name): Remove "enabled by default" rider.
11433
0fdd1196
JDA
114342014-02-12 John David Anglin <danglin@gcc.gnu.org>
11435
11436 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
11437
0544c448
L
114382014-02-12 H.J. Lu <hongjiu.lu@intel.com>
11439 Uros Bizjak <ubizjak@gmail.com>
11440
11441 PR target/60151
1287ae50 11442 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
11443 * configure: Regenerated.
11444
3a938d75
RB
114452014-02-12 Richard Biener <rguenther@suse.de>
11446
11447 * vec.c (vec_prefix::calculate_allocation): Move as
11448 inline variant to vec.h.
11449 (vec_prefix::calculate_allocation_1): New out-of-line version.
11450 * vec.h (vec_prefix::calculate_allocation_1): Declare.
11451 (vec_prefix::m_has_auto_buf): Rename to ...
11452 (vec_prefix::m_using_auto_storage): ... this.
11453 (vec_prefix::calculate_allocation): Inline the easy cases
11454 and dispatch to calculate_allocation_1 which doesn't need the
11455 prefix address.
11456 (va_heap::reserve): Use gcc_checking_assert.
11457 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
11458 m_using_auto_storage.
11459 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
11460 member and adjust.
11461 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
11462 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
11463 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
11464
ad0188be
RB
114652014-02-12 Richard Biener <rguenther@suse.de>
11466
11467 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
11468 when we found a dependence.
11469
64e5ace5
TS
114702014-02-12 Thomas Schwinge <thomas@codesourcery.com>
11471
88ac13da
TS
11472 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
11473 common code...
11474 (maybe_fold_stmt): ... into this new function.
11475 * omp-low.c (lower_omp): Update comment.
11476
bae729a2
TS
11477 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
11478 last use.
11479
64e5ace5
TS
11480 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
11481 dereference.
11482
7b40f5cf
JG
114832014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
11484
11485 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
11486 identifiers in comments.
11487 (cortexa53_extra_costs): Likewise.
1287ae50 11488 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
11489 (cortexa7_extra_costs): Likewise.
11490 (cortexa12_extra_costs): Likewise.
11491 (cortexa15_extra_costs): Likewise.
11492 (v7m_extra_costs): Likewise.
11493
c4c8514e
RB
114942014-02-12 Richard Biener <rguenther@suse.de>
11495
11496 PR middle-end/60092
11497 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
11498 of posix_memalign being successful.
11499 (lower_stmt): Restrict lowering of posix_memalign to when
11500 -ftree-bit-ccp is enabled.
11501
8eb651bd
SKS
115022014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
11503
11504 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
11505 arg_loc.
11506 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
11507
62b03553
EB
115082014-02-12 Eric Botcazou <ebotcazou@adacore.com>
11509
11510 PR rtl-optimization/60116
11511 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
11512 other_insn once the combination has been validated.
11513
ec77d61f
JH
115142014-02-11 Jan Hubicka <hubicka@ucw.cz>
11515
11516 PR lto/59468
11517 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
11518 and wrapper.
11519 * ipa-devirt.c: Include demangle.h
11520 (odr_violation_reported): New static variable.
11521 (add_type_duplicate): Update odr_violations.
11522 (maybe_record_node): Add completep parameter; update it.
11523 (record_target_from_binfo): Add COMPLETEP parameter;
11524 update it as needed.
11525 (possible_polymorphic_call_targets_1): Likewise.
11526 (struct polymorphic_call_target_d): Add nonconstruction_targets;
11527 rename FINAL to COMPLETE.
11528 (record_targets_from_bases): Sanity check we found the binfo;
11529 fix COMPLETEP updating.
11530 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
11531 parameter, fix computing of COMPLETEP.
1287ae50
UB
11532 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
11533 at LTO time do demangling.
ec77d61f
JH
11534 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
11535 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
11536 parameter.
11537 (gimple_get_virt_method_for_binfo): Likewise.
11538 * gimple-fold.h (gimple_get_virt_method_for_binfo,
11539 gimple_get_virt_method_for_vtable): Update prototypes.
11540
5a4dcd9b
VM
115412014-02-11 Vladimir Makarov <vmakarov@redhat.com>
11542
11543 PR target/49008
11544 * genautomata.c (add_presence_absence): Fix typo with
11545 {final_}presence_list.
11546
69b7afed
MM
115472014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
11548
11549 PR target/60137
11550 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
11551 for VSX/Altivec vectors that land in GPR registers.
11552
8268ad5c
JJ
115532014-02-11 Richard Henderson <rth@redhat.com>
11554 Jakub Jelinek <jakub@redhat.com>
11555
11556 PR debug/59776
11557 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
11558 around drhs if type conversion to lacc->type is not useless.
11559
4fd92af6
KT
115602014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11561
11562 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
11563 tuning struct.
11564 (cortex-a57.cortex-a53): Likewise.
11565 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
11566
7cb14cb8
KT
115672014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11568
11569 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
11570 arm_restrict_it.
11571
6d3715b9
RL
115722014-02-11 Renlin Li <Renlin.Li@arm.com>
11573
11574 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
11575 add_options_for_arm_vfp3.
11576
cddddfff
JL
115772014-02-11 Jeff Law <law@redhat.com>
11578
11579 PR middle-end/54041
11580 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
11581 object with an undesirable mode.
11582
7c1aef7e
RO
115832014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11584
11585 PR libgomp/60107
11586 * config/i386/sol2-9.h: New file.
11587 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
11588 *-*-solaris2.9*): Use it.
11589
4bb66ef3 115902014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
11591
11592 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
11593 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
11594
4bb66ef3 115952014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
11596
11597 * config/microblaze/microblaze.c: Extend mcpu version format
11598
4bb66ef3 115992014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
11600
11601 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
11602
004a7e45 116032014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
11604
11605 PR target/59927
11606 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
11607 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
11608 ms-abi vs -mno-accumulate-outgoing-args.
11609 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
11610 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
11611 respect to ms-abi.
11612
e2fc3b4f
BE
116132014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
11614
11615 PR middle-end/60080
11616 * cfgexpand.c (expand_asm_operands): Attach source location to
11617 ASM_INPUT rtx objects.
11618 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
11619
3a22ad89
NC
116202014-02-10 Nick Clifton <nickc@redhat.com>
11621
11622 * config/mn10300/mn10300.c (popcount): New function.
11623 (mn10300_expand_prologue): Include saved registers in stack usage
11624 count.
11625
f27be550
JL
116262014-02-10 Jeff Law <law@redhat.com>
11627
11628 PR middle-end/52306
11629 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 11630 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 11631
e15e3815
UW
116322014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11633
11634 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
11635 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
11636 -mcall-openbsd, or -mcall-linux.
11637 (CC1_ENDIAN_BIG_SPEC): Remove.
11638 (CC1_ENDIAN_LITTLE_SPEC): Remove.
11639 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
11640 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
11641 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
11642 and %cc1_endian_default.
11643 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
11644
4e1f39e4
RB
116452014-02-10 Richard Biener <rguenther@suse.de>
11646
11647 PR tree-optimization/60115
11648 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
11649 MEM_REF handling. Properly verify that the accesses are not
11650 out of the objects bound.
11651
e7af1c22
KT
116522014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11653
11654 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
11655 coretex to cortex.
11656
79c7de84
EB
116572014-02-10 Eric Botcazou <ebotcazou@adacore.com>
11658
11659 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
11660 proper constants and fix formatting.
11661 (possible_polymorphic_call_targets): Fix formatting.
11662
cf73ee60
KY
116632014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
11664 Ilya Tocar <ilya.tocar@intel.com>
11665
11666 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
11667 (_mm512_loadu_epi32): Renamed into...
11668 (_mm512_loadu_si512): This.
11669 (_mm512_storeu_epi32): Renamed into...
11670 (_mm512_storeu_si512): This.
11671 (_mm512_maskz_ceil_ps): Removed.
11672 (_mm512_maskz_ceil_pd): Ditto.
11673 (_mm512_maskz_floor_ps): Ditto.
11674 (_mm512_maskz_floor_pd): Ditto.
11675 (_mm512_floor_round_ps): Ditto.
11676 (_mm512_floor_round_pd): Ditto.
11677 (_mm512_ceil_round_ps): Ditto.
11678 (_mm512_ceil_round_pd): Ditto.
11679 (_mm512_mask_floor_round_ps): Ditto.
11680 (_mm512_mask_floor_round_pd): Ditto.
11681 (_mm512_mask_ceil_round_ps): Ditto.
11682 (_mm512_mask_ceil_round_pd): Ditto.
11683 (_mm512_maskz_floor_round_ps): Ditto.
11684 (_mm512_maskz_floor_round_pd): Ditto.
11685 (_mm512_maskz_ceil_round_ps): Ditto.
11686 (_mm512_maskz_ceil_round_pd): Ditto.
11687 (_mm512_expand_pd): Ditto.
11688 (_mm512_expand_ps): Ditto.
11689 * config/i386/i386.c (ix86_builtins): Remove
11690 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
11691 (bdesc_args): Ditto.
11692 * config/i386/predicates.md (const1256_operand): New.
11693 (const_1_to_2_operand): Ditto.
11694 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
11695 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
11696 (*avx512pf_gatherpf<mode>sf): Ditto.
11697 (avx512pf_gatherpf<mode>df): Ditto.
11698 (*avx512pf_gatherpf<mode>df_mask): Ditto.
11699 (*avx512pf_gatherpf<mode>df): Ditto.
11700 (avx512pf_scatterpf<mode>sf): Ditto.
11701 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
11702 (*avx512pf_scatterpf<mode>sf): Ditto.
11703 (avx512pf_scatterpf<mode>df): Ditto.
11704 (*avx512pf_scatterpf<mode>df_mask): Ditto.
11705 (*avx512pf_scatterpf<mode>df): Ditto.
11706 (avx512f_expand<mode>): Removed.
11707 (<shift_insn><mode>3<mask_name>): Change predicate type.
11708
8fcbce72
JJ
117092014-02-08 Jakub Jelinek <jakub@redhat.com>
11710
41475e96
JJ
11711 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
11712 not at the end of datarefs vector use ordered_remove to avoid
11713 reordering datarefs vector.
11714
c74559df
JJ
11715 PR c/59984
11716 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
11717 mark local addressable non-static vars as GOVD_PRIVATE
11718 instead of GOVD_LOCAL.
11719 * omp-low.c (lower_omp_for): Move gimple_bind_vars
11720 and BLOCK_VARS of gimple_bind_block to new_stmt rather
11721 than copying them.
11722
8fcbce72
JJ
11723 PR middle-end/60092
11724 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
11725 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
11726 assume_aligned or alloc_align attributes.
11727 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
11728 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
11729 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
11730 calls to functions with assume_aligned or alloc_align attributes.
11731 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 11732
451bdd23
TG
117332014-02-08 Terry Guo <terry.guo@arm.com>
11734
11735 * doc/invoke.texi: Document ARM -march=armv7e-m.
11736
d31d42c7
JJ
117372014-02-08 Jakub Jelinek <jakub@redhat.com>
11738
d71dfeb7
JJ
11739 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
11740 flag on __cilkrts_rethrow builtin.
11741
d31d42c7
JJ
11742 PR ipa/60026
11743 * ipa-cp.c (determine_versionability): Fail at -O0
11744 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
11745 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
11746
11747 Revert:
11748 2014-02-04 Jakub Jelinek <jakub@redhat.com>
11749
11750 PR ipa/60026
11751 * tree-inline.c (copy_forbidden): Fail for
11752 __attribute__((optimize (0))) functions.
11753
a0a98fef
JH
117542014-02-07 Jan Hubicka <hubicka@ucw.cz>
11755
11756 * varpool.c: Include pointer-set.h.
11757 (varpool_remove_unreferenced_decls): Variables in other partitions
11758 will not be output; be however careful to not lose information
11759 about partitioning.
11760
8c311b50
JH
117612014-02-07 Jan Hubicka <hubicka@ucw.cz>
11762
11763 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
11764 lookup in the vtable constructor.
11765
7ba03e5e
JL
117662014-02-07 Jeff Law <law@redhat.com>
11767
63e6247d
JL
11768 PR target/40977
11769 * config/m68k/m68k.md (ashldi_extsi): Turn into a
11770 define_insn_and_split.
11771
7ba03e5e
JL
11772 * ipa-inline.c (inline_small_functions): Fix typos.
11773
177bc204
RS
117742014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11775
11776 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
11777 (s390_can_use_return_insn): Declare.
11778 * config/s390/s390.h (EPILOGUE_USES): Define.
11779 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
11780 instructions.
11781 (s390_chunkify_start): Handle return JUMP_LABELs.
11782 (s390_early_mach): Emit a main_pool instruction on the entry edge.
11783 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
11784 (s390_can_use_return_insn): New functions.
11785 (s390_fix_long_loop_prediction): Handle conditional returns.
11786 (TARGET_SET_UP_BY_PROLOGUE): Define.
11787 * config/s390/s390.md (ANY_RETURN): New code iterator.
11788 (*creturn, *csimple_return, return, simple_return): New patterns.
11789
0621cf3c
RS
117902014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11791
11792 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
11793 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
11794 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
11795 REG_CFA_RESTORE list when deciding not to restore a register.
11796
4099494d
RS
117972014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11798
11799 * config/s390/s390.c: Include tree-pass.h and context.h.
11800 (s390_early_mach): New function, split out from...
11801 (s390_emit_prologue): ...here.
11802 (pass_data_s390_early_mach): New pass structure.
11803 (pass_s390_early_mach): New class.
11804 (s390_option_override): Create and register early_mach pass.
11805 Move to end of file.
11806
3489cc33
RS
118072014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11808
11809 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
11810 to match for the exit block.
11811
75cc21e2
AK
118122014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11813
11814 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
11815 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
11816 Reject misaligned operands.
11817
8bd7070a
AK
118182014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11819
1287ae50 11820 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 11821
831806cb
RB
118222014-02-07 Richard Biener <rguenther@suse.de>
11823
11824 PR middle-end/60092
11825 * gimple-low.c (lower_builtin_posix_memalign): New function.
11826 (lower_stmt): Call it to lower posix_memalign in a way
11827 to make alignment info accessible.
11828
7ee9c16f
JJ
118292014-02-07 Jakub Jelinek <jakub@redhat.com>
11830
11831 PR c++/60082
11832 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
11833 __builtin_setjmp_receiver.
11834
32cab212
RB
118352014-02-07 Richard Biener <rguenther@suse.de>
11836
11837 PR middle-end/60092
11838 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
11839 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
11840 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
11841 Handle BUILT_IN_POSIX_MEMALIGN.
11842 (find_func_clobbers): Likewise.
11843 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
11844 (call_may_clobber_ref_p_1): Likewise.
11845
6d6af792
JH
118462014-02-06 Jan Hubicka <hubicka@ucw.cz>
11847
11848 PR ipa/59918
1287ae50
UB
11849 * ipa-devirt.c (record_target_from_binfo): Remove overactive
11850 sanity check.
6d6af792 11851
3c0f1105
JH
118522014-02-06 Jan Hubicka <hubicka@ucw.cz>
11853
11854 PR ipa/59469
11855 * lto-cgraph.c (lto_output_node): Use
11856 symtab_get_symbol_partitioning_class.
11857 (lto_output_varpool_node): likewise.
11858 (symtab_get_symbol_partitioning_class): Move here from
11859 lto/lto-partition.c
11860 * cgraph.h (symbol_partitioning_class): Likewise.
11861 (symtab_get_symbol_partitioning_class): Declare.
11862
b3bb0eb9
JH
118632014-02-06 Jan Hubicka <hubicka@ucw.cz>
11864
11865 * ggc.h (ggc_internal_cleared_alloc): New macro.
11866 * vec.h (vec_safe_copy): Handle memory stats.
11867 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
11868 * target-globals.c (save_target_globals): Likewise.
11869
118702014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
11871
11872 PR target/60077
11873 * expr.c (emit_move_resolve_push): Export; be bit more selective
11874 on when to clear alias set.
11875 * expr.h (emit_move_resolve_push): Declare.
11876 * function.h (struct function): Add tail_call_marked.
11877 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
11878 * config/i386/i386-protos.h (ix86_expand_push): Remove.
11879 * config/i386/i386.md (TImode move expander): De not call
11880 ix86_expand_push.
11881 (FP push expanders): Preserve memory attributes.
11882 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 11883 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
11884 (ix86_expand_push): Remove.
11885 * config/i386/mmx.md (push<mode>1): Remove.
11886
47d552eb
JJ
118872014-02-06 Jakub Jelinek <jakub@redhat.com>
11888
11889 PR rtl-optimization/60030
11890 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
11891 lopart with paradoxical subreg before shifting it up by hprec.
11892
45c75ea7
KT
118932014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11894
11895 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
11896 Remove extra newline at end of file.
11897 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
11898 (arm_issue_rate): Handle cortexa57.
11899 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
11900 (cortex-a57.cortex-a53): Likewise.
11901
af116cae
JJ
119022014-02-06 Jakub Jelinek <jakub@redhat.com>
11903
652a3e3a
JJ
11904 PR target/59575
11905 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
11906 don't record in REG_FRAME_RELATED_EXPR registers not set in that
11907 bitmask.
11908 (arm_expand_prologue): Adjust all callers.
11909 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
11910 info, registers also at the lowest numbered registers side. Use
11911 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
11912 XEXP.
11913
af116cae 11914 PR debug/59992
1287ae50
UB
11915 * var-tracking.c (adjust_mems): Before adding a SET to
11916 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 11917
fdcee33b
AM
119182014-02-06 Alan Modra <amodra@gmail.com>
11919
11920 PR target/60032
11921 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
11922 change SDmode to DDmode when lra_in_progress.
11923
251901a0
JJ
119242014-02-06 Jakub Jelinek <jakub@redhat.com>
11925
d3ef8c53
JJ
11926 PR middle-end/59150
11927 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
11928 free_data_ref on the dr first, and before goto again also set dr
11929 to the next dr. For simd_lane_access, free old datarefs[i] before
11930 overwriting it. For get_vectype_for_scalar_type failure, don't
11931 free_data_ref if simd_lane_access.
11932
2754b38f
JJ
11933 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
11934
251901a0
JJ
11935 PR target/60062
11936 * tree.h (opts_for_fn): New inline function.
11937 (opt_for_fn): Define.
11938 * config/i386/i386.c (ix86_function_regparm): Use
11939 opt_for_fn (decl, optimize) instead of optimize.
11940
4a985a37
MS
119412014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
11942
11943 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
11944 for SYMBOL_REF in large memory model.
11945
c366d38c
KT
119462014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11947
11948 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
11949 and crypto support.
11950 (cortex-a57): Likewise.
11951 (cortex-a57.cortex-a53): Likewise.
11952
c801e246
YG
119532014-02-06 Yury Gribov <y.gribov@samsung.com>
11954 Kugan Vivekanandarajah <kuganv@linaro.org>
11955
11956 * config/arm/arm.c (arm_vector_alignment_reachable): Check
11957 unaligned_access.
11958 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
11959
d50f7b84
RB
119602014-02-06 Richard Biener <rguenther@suse.de>
11961
11962 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
11963 set_loop_copy and initialize_original_copy_tables.
11964
179d2941
AV
119652014-02-06 Alex Velenko <Alex.Velenko@arm.com>
11966
11967 * config/aarch64/aarch64-simd.md
11968 (aarch64_ashr_simddi): Change QI to SI.
11969
78b1469d
JH
119702014-02-05 Jan Hubicka <hubicka@ucw.cz>
11971 Jakub Jelinek <jakub@redhat.com>
11972
11973 PR middle-end/60013
11974 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
11975 of the dataflow.
11976
d85f364c
BS
119772014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11978
11979 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
11980 CODE_FOR_altivec_vpku[hw]um to
11981 CODE_FOR_altivec_vpku[hw]um_direct.
11982 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
11983 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
11984 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
11985 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
11986
7b1cd427
BS
119872014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11988
11989 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
11990 generation for -maltivec=be.
11991 (altivec_vsumsws): Simplify redundant test.
11992
52a93551
BS
119932014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11994
11995 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
11996 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
11997 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
11998 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
11999 gen_altivec_vpkuwum.
12000 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
12001 BYTES_BIG_ENDIAN.
12002 (altivec_vpks<VI_char>ss): Likewise.
12003 (altivec_vpks<VI_char>us): Likewise.
12004 (altivec_vpku<VI_char>us): Likewise.
12005 (altivec_vpku<VI_char>um): Likewise.
12006 (altivec_vpku<VI_char>um_direct): New (copy of
12007 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
12008 internal use).
12009 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
12010 target is little endian and -maltivec=be is not specified.
12011 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 12012 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
12013 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
12014 target is little endian and -maltivec=be is not specified.
12015 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 12016 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
12017 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
12018 little endian and -maltivec=be is not specified.
12019 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
12020 little endian and -maltivec=be is not specified.
12021
004a7e45 120222014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
12023
12024 PR debug/52727
12025 * combine-stack-adj.c: Revert r206943.
12026 * sched-int.h (struct deps_desc): Add last_args_size.
12027 * sched-deps.c (init_deps): Initialize it.
12028 (sched_analyze_insn): Add OUTPUT dependencies between insns that
12029 contain REG_ARGS_SIZE notes.
12030
f300e7b8
JH
120312014-02-05 Jan Hubicka <hubicka@ucw.cz>
12032
12033 * lto-cgraph.c (asm_nodes_output): Make global.
12034 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 12035 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
12036 (driver_handle_option): Handle OPT_fwpa.
12037
609524d2
JJ
120382014-02-05 Jakub Jelinek <jakub@redhat.com>
12039
add5c763
JJ
12040 PR ipa/59947
12041 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
12042 a comment typo and formatting issue. If odr_hash hasn't been
12043 created, return vNULL and set *completep to false.
12044
609524d2
JJ
12045 PR middle-end/57499
12046 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
12047 bb with no successors.
12048
05ab6e21
JG
120492014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
12050
12051 PR target/59718
12052 * doc/invoke.texi (-march): Clarify documentation for ARM.
12053 (-mtune): Likewise.
12054 (-mcpu): Likewise.
12055
d55d9ed0
RB
120562014-02-05 Richard Biener <rguenther@suse.de>
12057
12058 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
12059 when not vectorizing because of too many alias checks.
12060 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
12061 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
12062
c70da878
NC
120632014-02-05 Nick Clifton <nickc@redhat.com>
12064
12065 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 12066 accept extended registers in any mode when compiling for the MN10300.
c70da878 12067
25a07c7e
YG
120682014-02-05 Yury Gribov <y.gribov@samsung.com>
12069
12070 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
12071 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
12072 sanitization attributes.
12073 (can_inline_edge_p): Likewise.
12074 (sanitize_attrs_match_for_inline_p): New function.
12075
4bf2a588
JH
120762014-02-04 Jan Hubicka <hubicka@ucw.cz>
12077
12078 * ipa-prop.c (detect_type_change): Shor circuit testing of
12079 type changes on THIS pointer.
12080
d92f4df0
JDA
120812014-02-04 John David Anglin <danglin@gcc.gnu.org>
12082
12083 PR target/59777
12084 * config/pa/pa.c (legitimize_tls_address): Return original address
12085 if not passed a SYMBOL_REF rtx.
12086 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
12087 addresses.
12088 (pa_emit_move_sequence): Simplify TLS source operands.
12089 (pa_legitimate_constant_p): Reject all TLS constants.
12090 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
12091 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
12092
d665f8dd
JH
120932014-02-04 Jan Hubicka <hubicka@ucw.cz>
12094
12095 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
12096 groups when we know they are controlled by LTO.
12097 * varasm.c (default_binds_local_p_1): If object is in other partition,
12098 it will be resolved locally.
12099
6a071860
BE
121002014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
12101
e2fc3b4f 12102 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 12103 use SSIZE_MAX because it is not always defined.
6a071860 12104
8e9d68a9
VM
121052014-02-04 Vladimir Makarov <vmakarov@redhat.com>
12106
12107 PR bootstrap/59913
12108 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
12109 threshold for pseudo splitting.
12110 (update_ebb_live_info): Process call argument hard registers and
12111 hard registers from insn definition too.
12112 (max_small_class_regs_num): New constant.
12113 (inherit_in_ebb): Update live hard regs through EBBs. Update
12114 reloads_num only for small register classes. Don't split for
12115 outputs of jumps.
12116
8472fa80
MT
121172014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
12118
12119 PR ipa/60058
12120 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
12121 is non-null.
12122
df98e37f
JH
121232014-02-04 Jan Hubicka <hubicka@ucw.cz>
12124
1287ae50
UB
12125 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
12126 visibility is safe.
df98e37f 12127
71e55f04
MP
121282014-02-04 Marek Polacek <polacek@redhat.com>
12129
12130 * gdbinit.in (pel): Define.
12131
229e56f9
BE
121322014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
12133
12134 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
12135 behavior.
12136
c39276b8
RB
121372014-02-04 Richard Biener <rguenther@suse.de>
12138
12139 PR lto/59723
12140 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
12141 in function context local.
12142 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
12143 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
12144 similar to LTO_imported_decl_ref.
12145
66b3ed5f
JJ
121462014-02-04 Jakub Jelinek <jakub@redhat.com>
12147
029ce7a2
JJ
12148 PR tree-optimization/60002
12149 * cgraphclones.c (build_function_decl_skip_args): Clear
12150 DECL_LANG_SPECIFIC.
12151
8e91d222
JJ
12152 PR tree-optimization/60023
12153 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
12154 false to gsi_replace.
12155 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
12156 has been in some EH region and vec_stmt could throw, add
12157 vec_stmt into the same EH region.
12158 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
12159 has no lhs, ignore it.
12160 * internal-fn.c (expand_MASK_LOAD): Likewise.
12161
eb259c4a
JJ
12162 PR ipa/60026
12163 * tree-inline.c (copy_forbidden): Fail for
12164 __attribute__((optimize (0))) functions.
12165
92d05580
JJ
12166 PR other/58712
12167 * omp-low.c (simd_clone_struct_copy): If from->inbranch
12168 is set, copy one less argument.
30540e79
JJ
12169 (expand_simd_clones): Don't subtract clone_info->inbranch
12170 from simd_clone_struct_alloc argument.
92d05580 12171
be3afd67
JJ
12172 PR rtl-optimization/57915
12173 * recog.c (simplify_while_replacing): If all unary/binary/relational
12174 operation arguments are constant, attempt to simplify those.
12175
66b3ed5f
JJ
12176 PR middle-end/59261
12177 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
12178 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
12179
5961d779
RB
121802014-02-04 Richard Biener <rguenther@suse.de>
12181
12182 PR tree-optimization/60012
12183 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
12184 TBAA disambiguation to all DDRs.
12185
91da0481
RO
121862014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12187
12188 PR target/59788
12189 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
12190 (LINK_SPEC): Use it for -shared, -shared-libgcc.
12191
39960d1c
JH
121922014-02-03 Jan Hubicka <hubicka@ucw.cz>
12193
12194 PR ipa/59882
12195 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
12196
121972014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
12198
12199 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
12200 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
12201
39960d1c 122022014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
12203
12204 PR ipa/59831
12205 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
12206 to figure out targets of polymorphic calls with known decl.
12207 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
12208 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
12209 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
12210 (get_polymorphic_call_info): ... here.
12211 (get_polymorphic_call_info_from_invariant): New function.
12212
39960d1c 122132014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
12214
12215 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
12216 lookup via vtable pointer; check for type consistency
12217 and turn inconsitent facts into UNREACHABLE.
12218 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
12219 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
12220 type inconsistent querries; return UNREACHABLE instead.
9de2f554 12221
ade3ff24
RH
122222014-02-03 Richard Henderson <rth@twiddle.net>
12223
12224 PR tree-opt/59924
12225 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
12226 already processed this node.
12227 (normalize_one_pred_1): Pass along mark_set.
12228 (normalize_one_pred): Create and destroy a pointer_set_t.
12229 (normalize_one_pred_chain): Likewise.
12230
55428cc3
LA
122312014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
12232
12233 PR gcov-profile/58602
1287ae50 12234 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 12235
85942f45
JH
122362014-02-03 Jan Hubicka <hubicka@ucw.cz>
12237
12238 PR ipa/59831
1287ae50
UB
12239 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
12240 -fno-devirtualize; try to devirtualize by the knowledge of
12241 virtual table pointer given by aggregate propagation.
85942f45 12242 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 12243 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
12244 is relevant for polymorphic calls.
12245 (determine_known_aggregate_parts): Add arg_type parameter; use it
12246 instead of determining the type from pointer type.
12247 (ipa_compute_jump_functions_for_edge): Update call of
12248 determine_known_aggregate_parts.
12249 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
12250 (gimple_get_virt_method_for_binfo): ... here; simplify using
12251 vtable_pointer_value_to_vtable.
12252 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
12253 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 12254 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
12255 (vtable_pointer_value_to_vtable): Break out from ...; handle also
12256 POINTER_PLUS_EXPR.
12257 (vtable_pointer_value_to_binfo): ... here.
12258 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
12259
bddc974e
TJ
122602014-02-03 Teresa Johnson <tejohnson@google.com>
12261
12262 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
12263 redef of outer loop index variable.
12264
5d77fb19
MG
122652014-02-03 Marc Glisse <marc.glisse@inria.fr>
12266
12267 PR c++/53017
12268 PR c++/59211
12269 * doc/extend.texi (Function Attributes): Typo.
12270
cf5b2be2
CH
122712014-02-03 Cong Hou <congh@google.com>
12272
12273 PR tree-optimization/60000
12274 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
12275 if the vectorized statement is a store. A store statement can only
12276 appear at the end of pattern statements.
12277
a2a1ddb5
L
122782014-02-03 H.J. Lu <hongjiu.lu@intel.com>
12279
12280 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
12281 (ix86_option_override_internal): Default long double to 64-bit for
12282 32-bit Bionic and to 128-bit for 64-bit Bionic.
12283
12284 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
12285 TARGET_LONG_DOUBLE_128 is true.
12286 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
12287
12288 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
12289 (mlong-double-64): Negate -mlong-double-128.
12290 (mlong-double-128): New option.
12291
12292 * config/i386/i386-c.c (ix86_target_macros): Define
12293 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
12294
12295 * doc/invoke.texi: Document -mlong-double-128.
12296
f742cf90
L
122972014-02-03 H.J. Lu <hongjiu.lu@intel.com>
12298
12299 PR rtl-optimization/60024
12300 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
12301
8f36fd30
MT
123022014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
12303
1287ae50 12304 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 12305
861ec4f3
AB
123062014-02-03 Andrey Belevantsev <abel@ispras.ru>
12307
12308 PR rtl-optimization/57662
12309 * sel-sched.c (code_motion_path_driver): Do not mark already not
12310 existing blocks in the visiting bitmap.
12311
fe08255d
AB
123122014-02-03 Andrey Belevantsev <abel@ispras.ru>
12313
12314 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
12315 on the insn being emitted.
12316
96d3a240
JG
123172014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
12318 Will Deacon <will.deacon@arm.com>
12319
12320 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
12321
9dd6c9f7
KT
123222014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12323
12324 * config/arm/arm-tables.opt: Regenerate.
12325
60331d00
BS
123262014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12327
12328 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
12329 for vector types other than V16QImode.
12330 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
12331 define_expand, and call altivec_expand_vec_perm_le when producing
12332 code with little endian element order.
12333 (*altivec_vperm_<mode>_internal): New insn having previous
12334 behavior of altivec_vperm_<mode>.
12335 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
12336 altivec_expand_vec_perm_le when producing code with little endian
12337 element order.
12338 (*altivec_vperm_<mode>_uns_internal): New insn having previous
12339 behavior of altivec_vperm_<mode>_uns.
12340
b80afde9
BS
123412014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12342
12343 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
12344 (altivec_vsumsws): Add handling for -maltivec=be with a little
12345 endian target.
12346 (altivec_vsumsws_direct): New.
12347 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
12348 gen_altivec_vsumsws.
12349
39960d1c 123502014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
12351
12352 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
12353 vtable_pointer_value_to_binfo): New functions.
12354 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
12355 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
12356
02b67731
SL
123572014-02-02 Sandra Loosemore <sandra@codesourcery.com>
12358
12359 * config/nios2/nios2.md (load_got_register): Initialize GOT
12360 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
12361 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
12362
2ace77c2
JH
123632014-02-02 Jan Hubicka <hubicka@ucw.cz>
12364
12365 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
12366 preserverd by passthrough, do not propagate the type.
12367
70b2d364
RS
123682014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
12369
12370 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
12371 (mips_atomic_assign_expand_fenv): New function.
12372 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
12373
a90c0245
RS
123742014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
12375
12376 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
12377 (__builtin_mips_set_fcsr): Likewise.
12378 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
12379 MIPS_USI_FTYPE_VOID.
12380 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
12381 (mips16_expand_set_fcsr): Likewise.
12382 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
12383 (mips16_set_fcsr_stub): Likewise.
12384 (mips16_get_fcsr_one_only_stub): New class.
12385 (mips16_set_fcsr_one_only_stub): Likewise.
12386 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
12387 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
12388 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
12389 (hard_float): New availability predicate.
12390 (mips_builtins): Add get_fcsr and set_fcsr.
12391 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
12392 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
12393 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
12394 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
12395 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
12396 patterns.
12397
6d51cc90
RS
123982014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
12399
12400 * config/mips/mips.c (mips_one_only_stub): New class.
12401 (mips_need_mips16_rdhwr_p): Replace with...
12402 (mips16_rdhwr_stub): ...this new variable.
12403 (mips16_stub_call_address): New function.
12404 (mips16_rdhwr_one_only_stub): New class.
12405 (mips_expand_thread_pointer): Use mips16_stub_call_address.
12406 (mips_output_mips16_rdhwr): Delete.
12407 (mips_finish_stub): New function.
12408 (mips_code_end): Use it to handle rdhwr stubs.
12409
6c90f137
UB
124102014-02-02 Uros Bizjak <ubizjak@gmail.com>
12411
12412 PR target/60017
12413 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
12414 when calculating size of integer atomic types.
12415
5e64bbbb
L
124162014-02-02 H.J. Lu <hongjiu.lu@intel.com>
12417
12418 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
12419
021293cb
JJ
124202014-02-01 Jakub Jelinek <jakub@redhat.com>
12421
12422 PR tree-optimization/60003
12423 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
12424 * profile.c (branch_prob): Use gimple_call_builtin_p
12425 to check for BUILT_IN_SETJMP_RECEIVER.
12426 * tree-inline.c (copy_bb): Call notice_special_calls.
12427
6334f3e9
VM
124282014-01-31 Vladimir Makarov <vmakarov@redhat.com>
12429
12430 PR bootstrap/59985
12431 * lra-constraints.c (process_alt_operands): Update reload_sum only
12432 on the first pass.
12433
efa7882f
RH
124342014-01-31 Richard Henderson <rth@redhat.com>
12435
12436 PR middle-end/60004
12437 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
12438 until after else_eh is processed.
12439
de72ea02
IT
124402014-01-31 Ilya Tocar <ilya.tocar@intel.com>
12441
12442 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
12443 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
12444 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
12445 in smmintrin.h, remove them.
12446 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
12447 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
12448 * config/i386/i386.md (ROUND_SAE): Fix value.
12449 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
12450 (const48_operand): New.
12451 * config/i386/subst.md (round), (round_expand): Use
12452 const_4_or_8_to_11_operand.
12453 (round_saeonly), (round_saeonly_expand): Use const48_operand.
12454
be792bce
IT
124552014-01-31 Ilya Tocar <ilya.tocar@intel.com>
12456
12457 * config/i386/constraints.md (Yk): Swap meaning with k.
12458 * config/i386/i386.md (movhi_internal): Change Yk to k.
12459 (movqi_internal): Ditto.
12460 (*k<logic><mode>): Ditto.
12461 (*andhi_1): Ditto.
12462 (*andqi_1): Ditto.
12463 (kandn<mode>): Ditto.
12464 (*<code>hi_1): Ditto.
12465 (*<code>qi_1): Ditto.
12466 (kxnor<mode>): Ditto.
12467 (kortestzhi): Ditto.
12468 (kortestchi): Ditto.
12469 (kunpckhi): Ditto.
12470 (*one_cmplhi2_1): Ditto.
12471 (*one_cmplqi2_1): Ditto.
12472 * config/i386/sse.md (): Change k to Yk.
12473 (avx512f_load<mode>_mask): Ditto.
12474 (avx512f_blendm<mode>): Ditto.
12475 (avx512f_store<mode>_mask): Ditto.
12476 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
12477 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
12478 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
12479 Ditto.
be792bce
IT
12480 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
12481 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
12482 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
12483 (avx512f_maskcmp<mode>3): Ditto.
12484 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
12485 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
12486 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
12487 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
12488 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
12489 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
12490 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
12491 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
12492 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
12493 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
12494 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
12495 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
12496 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
12497 (vec_extract_lo_<mode>_maskm): Ditto.
12498 (vec_extract_hi_<mode>_maskm): Ditto.
12499 (avx512f_vternlog<mode>_mask): Ditto.
12500 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
12501 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
12502 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
12503 (avx512f_<code>v8div16qi2_mask): Ditto.
12504 (avx512f_<code>v8div16qi2_mask_store): Ditto.
12505 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
12506 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
12507 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
12508 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
12509 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
12510 (*avx512pf_gatherpf<mode>df_mask): Ditto.
12511 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
12512 (*avx512pf_scatterpf<mode>df_mask): Ditto.
12513 (avx512cd_maskb_vec_dupv8di): Ditto.
12514 (avx512cd_maskw_vec_dupv16si): Ditto.
12515 (avx512f_vpermi2var<mode>3_maskz): Ditto.
12516 (avx512f_vpermi2var<mode>3_mask): Ditto.
12517 (avx512f_vpermi2var<mode>3_mask): Ditto.
12518 (avx512f_vpermt2var<mode>3_maskz): Ditto.
12519 (*avx512f_gathersi<mode>): Ditto.
12520 (*avx512f_gathersi<mode>_2): Ditto.
12521 (*avx512f_gatherdi<mode>): Ditto.
12522 (*avx512f_gatherdi<mode>_2): Ditto.
12523 (*avx512f_scattersi<mode>): Ditto.
12524 (*avx512f_scatterdi<mode>): Ditto.
12525 (avx512f_compress<mode>_mask): Ditto.
12526 (avx512f_compressstore<mode>_mask): Ditto.
12527 (avx512f_expand<mode>_mask): Ditto.
12528 * config/i386/subst.md (mask): Change k to Yk.
12529 (mask_scalar_merge): Ditto.
12530 (sd): Ditto.
12531
0878d68a
MG
125322014-01-31 Marc Glisse <marc.glisse@inria.fr>
12533
12534 * doc/extend.texi (Vector Extensions): Document ?: in C++.
12535
fdfd537b
RB
125362014-01-31 Richard Biener <rguenther@suse.de>
12537
12538 PR middle-end/59990
12539 * builtins.c (fold_builtin_memory_op): Make sure to not
12540 use a floating-point mode or a boolean or enumeral type for
12541 the copy operation.
12542
4f50b9ff
DD
125432014-01-30 DJ Delorie <dj@redhat.com>
12544
12545 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
12546 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
12547 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
12548 whenever main() has an epilogue.
12549
c3e96073
BS
125502014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12551
12552 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
12553 unused variable "field".
12554 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
12555 (vsx_mergeh_<mode>): Likewise.
12556 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
12557 (altivec_vmrghh): Likewise.
12558 (altivec_vmrghw): Likewise.
12559 (altivec_vmrglb): Likewise.
12560 (altivec_vmrglh): Likewise.
12561 (altivec_vmrglw): Likewise.
12562 (altivec_vspltb): Add missing uses.
12563 (altivec_vsplth): Likewise.
12564 (altivec_vspltw): Likewise.
12565 (altivec_vspltsf): Likewise.
12566
4bb9c32d
JJ
125672014-01-30 Jakub Jelinek <jakub@redhat.com>
12568
12569 PR target/59923
12570 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
12571 frame related instructions.
12572
7613fa50
VM
125732014-01-30 Vladimir Makarov <vmakarov@redhat.com>
12574
12575 PR rtl-optimization/59959
12576 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
12577 any reload of register whose subreg is invalid.
12578
6fb82517
JJ
125792014-01-30 Jakub Jelinek <jakub@redhat.com>
12580
33425d6c 12581 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
12582 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
12583 Add missing return type - void.
12584
bf53d4b8
BS
125852014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12586
12587 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
12588 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
12589 remove element index adjustment for endian (now handled in vsx.md
12590 and altivec.md).
12591 (altivec_expand_vec_perm_const): Use
12592 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
12593 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
12594 (vsx_xxspltw_<mode>): Adjust element index for little endian.
12595 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
12596 define_expand and a new define_insn *altivec_vspltb_internal;
12597 adjust for -maltivec=be on a little endian target.
12598 (altivec_vspltb_direct): New.
12599 (altivec_vsplth): Divide into a define_expand and a new
12600 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
12601 little endian target.
12602 (altivec_vsplth_direct): New.
12603 (altivec_vspltw): Divide into a define_expand and a new
12604 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
12605 little endian target.
12606 (altivec_vspltw_direct): New.
12607 (altivec_vspltsf): Divide into a define_expand and a new
12608 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
12609 a little endian target.
12610
c965e187
RB
126112014-01-30 Richard Biener <rguenther@suse.de>
12612
12613 PR tree-optimization/59993
12614 * tree-ssa-forwprop.c (associate_pointerplus): Check we
12615 can propagate form the earlier stmt and avoid the transform
12616 when the intermediate result is needed.
12617
ba117645
AD
126182014-01-30 Alangi Derick <alangiderick@gmail.com>
12619
12620 * README.Portability: Fix typo.
12621
4bb66ef3 126222014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
12623
12624 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
12625 comparison_operator with ordered_comparison_operator.
12626
c345a0b1
NC
126272014-01-30 Nick Clifton <nickc@redhat.com>
12628
12629 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
12630 Rename to mn10300_store_multiple_regs.
12631 * config/mn10300/mn10300.c: Likewise.
12632 * config/mn10300/mn10300.md (store_movm): Fix typo: call
12633 store_multiple_regs.
12634 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
12635 Call mn10300_store_multiple_regs.
12636
2d70f6d4
NC
126372014-01-30 Nick Clifton <nickc@redhat.com>
12638 DJ Delorie <dj@redhat.com>
12639
12640 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
12641 %fp 2 to keep registers after it properly word-aligned.
12642 (rl78_alloc_physical_registers_umul): Handle the case where both
12643 input operands are the same.
12644
c972624e
RB
126452014-01-30 Richard Biener <rguenther@suse.de>
12646
12647 PR tree-optimization/59903
12648 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
12649 check properly.
12650
fc044323
JM
126512014-01-30 Jason Merrill <jason@redhat.com>
12652
404c2aea
JM
12653 PR c++/59633
12654 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
12655
fc044323
JM
12656 PR c++/59645
12657 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
12658
f30a0ba5
RB
126592014-01-30 Richard Biener <rguenther@suse.de>
12660
12661 PR tree-optimization/59951
33425d6c 12662 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 12663
aad8816f
SZ
126642014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
12665
12666 PR target/59784
12667 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
12668 SFmode to DFmode case.
12669
3b16363e
DD
126702014-01-29 DJ Delorie <dj@redhat.com>
12671
12672 * config/msp430/msp430.opt (-minrt): New.
12673 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
12674 if -minrt given.
12675 (ENDFILE_SPEC): Likewise.
12676
39960d1c 126772014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
12678
12679 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
12680 (estimate_function_body_sizes): Use it.
12681
1200933c
PC
126822014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
12683
12684 PR c++/58561
12685 * dwarf2out.c (is_cxx_auto): New.
12686 (is_base_type): Use it.
12687 (gen_type_die_with_usage): Likewise.
12688
68d3bacf
BS
126892014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12690
12691 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
12692 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
12693 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
12694 -maltivec=be with LE targets.
12695 (vsx_mergeh_<mode>): Likewise.
33425d6c 12696 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
12697 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
12698 (altivec_vmrghb): Replace with define_expand and new
33425d6c 12699 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12700 (altivec_vmrghb_direct): New define_insn.
12701 (altivec_vmrghh): Replace with define_expand and new
33425d6c 12702 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12703 (altivec_vmrghh_direct): New define_insn.
12704 (altivec_vmrghw): Replace with define_expand and new
33425d6c 12705 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12706 (altivec_vmrghw_direct): New define_insn.
12707 (*altivec_vmrghsf): Adjust for endianness.
12708 (altivec_vmrglb): Replace with define_expand and new
33425d6c 12709 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12710 (altivec_vmrglb_direct): New define_insn.
12711 (altivec_vmrglh): Replace with define_expand and new
33425d6c 12712 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12713 (altivec_vmrglh_direct): New define_insn.
12714 (altivec_vmrglw): Replace with define_expand and new
33425d6c 12715 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
12716 (altivec_vmrglw_direct): New define_insn.
12717 (*altivec_vmrglsf): Adjust for endianness.
12718 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
12719 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
12720 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
12721 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
12722 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
12723 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
12724 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
12725 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
12726
aef66c94
MS
127272014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
12728
12729 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
12730 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
12731 whitespace.
12732
77574c35
RB
127332014-01-29 Richard Biener <rguenther@suse.de>
12734
12735 PR tree-optimization/58742
12736 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
12737 associate_pointerplus_align.
12738 (associate_pointerplus_diff): New function.
12739 (associate_pointerplus): Likewise. Call associate_pointerplus_align
12740 and associate_pointerplus_diff.
12741
15b25b24
RB
127422014-01-29 Richard Biener <rguenther@suse.de>
12743
12744 * lto-streamer.h (LTO_major_version): Bump to 3.
12745 (LTO_minor_version): Reset to 0.
12746
eb6006ad
RL
127472014-01-29 Renlin Li <Renlin.Li@arm.com>
12748
12749 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
12750 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
12751 (arm_file_start): Generate correct asm header for armv7ve.
12752 * config/arm/bpabi.h: Add multilib support for armv7ve.
12753 * config/arm/driver-arm.c: Change the architectures of cortex-a7
12754 and cortex-a15 to armv7ve.
12755 * config/arm/t-aprofile: Add multilib support for armv7ve.
12756 * doc/invoke.texi: Document -march=armv7ve.
12757
4bfb2fa2
RB
127582014-01-29 Richard Biener <rguenther@suse.de>
12759
12760 PR tree-optimization/58742
12761 * tree-ssa-forwprop.c (associate_plusminus): Return true
12762 if we changed sth, defer EH cleanup to ...
12763 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
12764 (simplify_mult): New function.
12765
42eb8bd1
JJ
127662014-01-29 Jakub Jelinek <jakub@redhat.com>
12767
09b22f48
JJ
12768 PR middle-end/59917
12769 PR tree-optimization/59920
12770 * tree.c (build_common_builtin_nodes): Remove
12771 __builtin_setjmp_dispatcher initialization.
12772 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
12773 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
12774 instead of gsi_after_labels + manually skipping debug stmts.
12775 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
12776 ignore bbs with IFN_ABNORMAL_DISPATCHER.
12777 * tree-inline.c (copy_edges_for_bb): Remove
12778 can_make_abnormal_goto argument, instead add abnormal_goto_dest
12779 argument. Ignore computed_goto_p stmts. Don't call
12780 make_abnormal_goto_edges. If a call might need abnormal edges
12781 for non-local gotos, see if it already has an edge to
12782 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
12783 with true argument, don't do anything then, otherwise add
12784 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
12785 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
12786 caller.
12787 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
12788 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
12789 (lower_stmt): Don't set data->calls_builtin_setjmp.
12790 (lower_builtin_setjmp): Adjust comment.
12791 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
12792 * tree-cfg.c (found_computed_goto): Remove.
12793 (factor_computed_gotos): Remove.
12794 (make_goto_expr_edges): Return bool, true for computed gotos.
12795 Don't call make_abnormal_goto_edges.
12796 (build_gimple_cfg): Don't set found_computed_goto, don't call
12797 factor_computed_gotos.
12798 (computed_goto_p): No longer static.
12799 (make_blocks): Don't set found_computed_goto.
12800 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
12801 (make_edges): If make_goto_expr_edges returns true, push bb
12802 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
12803 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
12804 vector. Record mapping between bbs and OpenMP regions if there
12805 are any, adjust make_gimple_omp_edges caller. Call
12806 handle_abnormal_edges.
12807 (make_abnormal_goto_edges): Remove.
12808 * tree-cfg.h (make_abnormal_goto_edges): Remove.
12809 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
12810 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 12811 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
12812 * internal-fn.def (ABNORMAL_DISPATCHER): New.
12813 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
12814 filling *region also set *region_idx to (*region)->entry->index.
12815
42eb8bd1
JJ
12816 PR other/58712
12817 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
12818 For REGs set ORIGINAL_REGNO.
12819
4a271b7e
BM
128202014-01-29 Bingfeng Mei <bmei@broadcom.com>
12821
33425d6c 12822 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
12823 vec_widen_(s|u)mul_even/odd pair if it is less efficient
12824 than hi/lo pair.
12825
3d54b29d
JJ
128262014-01-29 Jakub Jelinek <jakub@redhat.com>
12827
12828 PR tree-optimization/59594
12829 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
12830 a copy of the datarefs vector rather than the vector itself.
12831
2e5e7103
JM
128322014-01-28 Jason Merrill <jason@redhat.com>
12833
12834 PR c++/53756
12835 * dwarf2out.c (auto_die): New static.
12836 (gen_type_die_with_usage): Handle C++1y 'auto'.
12837 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
12838 on definition.
12839
d5d618b5
L
128402014-01-28 H.J. Lu <hongjiu.lu@intel.com>
12841
12842 PR target/59672
12843 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
12844 (SPEC_X32): Likewise.
12845 (SPEC_64): Likewise.
12846 * config/i386/i386.c (ix86_option_override_internal): Turn off
12847 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
12848 for TARGET_16BIT.
12849 (x86_file_start): Output .code16gcc for TARGET_16BIT.
12850 * config/i386/i386.h (TARGET_16BIT): New macro.
12851 (TARGET_16BIT_P): Likewise.
12852 * config/i386/i386.opt: Add m16.
12853 * doc/invoke.texi: Document -m16.
12854
367c8286
DS
128552014-01-28 Jakub Jelinek <jakub@redhat.com>
12856
12857 PR preprocessor/59935
12858 * input.c (location_get_source_line): Bail out on when line number
33425d6c 12859 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 12860
07ec81f9
RB
128612014-01-28 Richard Biener <rguenther@suse.de>
12862
12863 PR tree-optimization/58742
12864 * tree-ssa-forwprop.c (associate_plusminus): Handle
12865 pointer subtraction of the form (T)(P + A) - (T)P.
12866
5facb998
KT
128672014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12868
12869 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
12870 at const_int_cost.
12871
e04faf24
RB
128722014-01-28 Richard Biener <rguenther@suse.de>
12873
12874 Revert
12875 2014-01-28 Richard Biener <rguenther@suse.de>
12876
12877 PR rtl-optimization/45364
12878 PR rtl-optimization/59890
12879 * var-tracking.c (local_get_addr_clear_given_value): Handle
12880 already cleared slot.
12881 (val_reset): Handle not allocated local_get_addr_cache.
12882 (vt_find_locations): Use post-order on the inverted CFG.
12883
6593260b
RB
128842014-01-28 Richard Biener <rguenther@suse.de>
12885
33425d6c 12886 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 12887
9ec2d2c1
RB
128882014-01-28 Richard Biener <rguenther@suse.de>
12889
12890 PR rtl-optimization/45364
12891 PR rtl-optimization/59890
12892 * var-tracking.c (local_get_addr_clear_given_value): Handle
12893 already cleared slot.
12894 (val_reset): Handle not allocated local_get_addr_cache.
12895 (vt_find_locations): Use post-order on the inverted CFG.
12896
2ceb362d
AM
128972014-01-28 Alan Modra <amodra@gmail.com>
12898
12899 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
12900 * configure.ac <recursive call for build != host>: Define
12901 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
12902 and LD_FOR_BUILD too.
12903 * configure: Regenerate.
12904
0ebe2584
ASJ
129052014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
12906
12907 * config/i386/i386.c (get_builtin_code_for_version): Separate
12908 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
12909 Broadwell from Haswell.
12910
a33fc7fe
SE
129112014-01-27 Steve Ellcey <sellcey@mips.com>
12912
12913 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
12914 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
12915 * config/mips/mips.c (mips_option_override): Change setting
12916 of TARGET_DSP.
12917 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
12918 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
12919 Change from Mask to Var.
a33fc7fe 12920
a99be3c9
JL
129212014-01-27 Jeff Law <law@redhat.com>
12922
12923 * ipa-inline.c (inline_small_functions): Fix typo.
12924
d256b866
IT
129252014-01-27 Ilya Tocar <ilya.tocar@intel.com>
12926
12927 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
12928 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
12929 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
12930 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
12931 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
12932 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
12933 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
12934 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
12935 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
12936 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
12937 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
12938 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
12939 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
12940 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
12941 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
12942 (_mm512_storeu_epi64): Ditto.
12943 (_mm512_cmpge_epi32_mask): Ditto.
12944 (_mm512_cmpge_epu32_mask): Ditto.
12945 (_mm512_cmpge_epi64_mask): Ditto.
12946 (_mm512_cmpge_epu64_mask): Ditto.
12947 (_mm512_cmple_epi32_mask): Ditto.
12948 (_mm512_cmple_epu32_mask): Ditto.
12949 (_mm512_cmple_epi64_mask): Ditto.
12950 (_mm512_cmple_epu64_mask): Ditto.
12951 (_mm512_cmplt_epi32_mask): Ditto.
12952 (_mm512_cmplt_epu32_mask): Ditto.
12953 (_mm512_cmplt_epi64_mask): Ditto.
12954 (_mm512_cmplt_epu64_mask): Ditto.
12955 (_mm512_cmpneq_epi32_mask): Ditto.
12956 (_mm512_cmpneq_epu32_mask): Ditto.
12957 (_mm512_cmpneq_epi64_mask): Ditto.
12958 (_mm512_cmpneq_epu64_mask): Ditto.
12959 (_mm512_expand_pd): Ditto.
12960 (_mm512_expand_ps): Ditto.
12961 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
12962 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
12963 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
12964 * config/i386/i386.c (ix86_builtins): Add
12965 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
12966 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
12967 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
12968 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
12969 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
12970 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
12971 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
12972 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
12973 IX86_BUILTIN_PMOVUSQW512_MEM.
12974 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
12975 __builtin_ia32_pmovsqd512mem_mask,
12976 __builtin_ia32_pmovqd512mem_mask,
12977 __builtin_ia32_pmovusqw512mem_mask,
12978 __builtin_ia32_pmovsqw512mem_mask,
12979 __builtin_ia32_pmovqw512mem_mask,
12980 __builtin_ia32_pmovusdw512mem_mask,
12981 __builtin_ia32_pmovsdw512mem_mask,
12982 __builtin_ia32_pmovdw512mem_mask,
12983 __builtin_ia32_pmovqb512mem_mask,
12984 __builtin_ia32_pmovusqb512mem_mask,
12985 __builtin_ia32_pmovsqb512mem_mask,
12986 __builtin_ia32_pmovusdb512mem_mask,
12987 __builtin_ia32_pmovsdb512mem_mask,
12988 __builtin_ia32_pmovdb512mem_mask.
12989 (bdesc_args): Add __builtin_ia32_expanddf512,
12990 __builtin_ia32_expandsf512.
12991 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
12992 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
12993 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
12994 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
12995 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
12996 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
12997 (avx512f_<code>v8div16qi2_mask_store): This.
12998 (avx512f_expand<mode>): New.
12999
e711dffd
KY
130002014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
13001
1287ae50 13002 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 13003 New.
e711dffd
KY
13004 (_mm512_mask_prefetch_i64gather_pd): Ditto.
13005 (_mm512_prefetch_i32scatter_pd): Ditto.
13006 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
13007 (_mm512_prefetch_i64scatter_pd): Ditto.
13008 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
13009 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
13010 (_mm512_mask_prefetch_i64gather_ps): Ditto.
13011 (_mm512_prefetch_i32scatter_ps): Ditto.
13012 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
13013 (_mm512_prefetch_i64scatter_ps): Ditto.
13014 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
13015 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
13016 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
13017 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
13018 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
13019 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
13020 IX86_BUILTIN_SCATTERPFQPD.
13021 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
13022 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
13023 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
13024 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
13025 __builtin_ia32_scatterpfqps.
13026 (ix86_expand_builtin): Expand new built-ins.
13027 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
13028 fix memory access data type.
13029 (*avx512pf_gatherpf<mode>_mask): Ditto.
13030 (*avx512pf_gatherpf<mode>): Ditto.
13031 (avx512pf_scatterpf<mode>): Ditto.
13032 (*avx512pf_scatterpf<mode>_mask): Ditto.
13033 (*avx512pf_scatterpf<mode>): Ditto.
13034 (GATHER_SCATTER_SF_MEM_MODE): New.
13035 (avx512pf_gatherpf<mode>df): Ditto.
13036 (*avx512pf_gatherpf<mode>df_mask): Ditto.
13037 (*avx512pf_scatterpf<mode>df): Ditto.
13038
904e5ccd
JJ
130392014-01-27 Jakub Jelinek <jakub@redhat.com>
13040
13041 PR bootstrap/59934
13042 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
13043 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
13044 reached.
13045
84e90123
JG
130462014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
13047
13048 * common/config/arm/arm-common.c
13049 (arm_rewrite_mcpu): Handle multiple names.
13050 * config/arm/arm.h
13051 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
13052
c6f6157a
JG
130532014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
13054
13055 * gimple-builder.h (create_gimple_tmp): Delete.
13056
770516c9
CB
130572014-01-27 Christian Bruel <christian.bruel@st.com>
13058
13059 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
13060 words comparisons.
13061
cc5cec10
JDA
130622014-01-26 John David Anglin <danglin@gcc.gnu.org>
13063
5aa3c762
JDA
13064 * config/pa/pa.md (call): Generate indirect long calls to non-local
13065 functions when outputing 32-bit code.
13066 (call_value): Likewise except for special call to buggy powf function.
13067
cc5cec10
JDA
13068 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
13069 portable runtime and PIC indirect calls.
13070 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
13071 and PIC call sequences. Use ldo instead of blr to set return register
13072 in PIC call sequence.
13073
6bb0e248
WL
130742014-01-25 Walter Lee <walt@tilera.com>
13075
13076 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
13077 avoid clobbering a live register.
13078
dab03fe3
WL
130792014-01-25 Walter Lee <walt@tilera.com>
13080
770516c9 13081 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 13082 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 13083 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
13084 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
13085
905c20c1
WL
130862014-01-25 Walter Lee <walt@tilera.com>
13087
13088 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
13089 arguments on even registers.
13090 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
13091 STACK_BOUNDARY.
13092 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
13093 (BIGGEST_ALIGNMENT): Ditto.
13094 (BIGGEST_FIELD_ALIGNMENT): Ditto.
13095
8e90a625
WL
130962014-01-25 Walter Lee <walt@tilera.com>
13097
13098 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
13099 insns before bundling.
0ebe2584 13100 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 13101
450c1ffe
WL
131022014-01-25 Walter Lee <walt@tilera.com>
13103
13104 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
13105 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
13106 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 13107
450c1ffe 131082014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 13109
317a951f
RS
13110 * config/mips/constraints.md (kl): Delete.
13111 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
13112 define expands, using...
13113 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
13114 instructions for MIPS16.
13115 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
13116 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
13117
3abe9053
WL
131182014-01-25 Walter Lee <walt@tilera.com>
13119
0ebe2584 13120 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
13121 (clzdi2): Ditto.
13122 (ffsdi2): Ditto.
13123
b0e0fe41
WL
131242014-01-25 Walter Lee <walt@tilera.com>
13125
13126 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
13127 (TARGET_EXPAND_TO_RTL_HOOK): Define.
13128
2c8798a2
RS
131292014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
13130
13131 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
13132 Handle XOR.
13133
2105be5a
JJ
131342014-01-25 Jakub Jelinek <jakub@redhat.com>
13135
4def6060
JJ
13136 * print-rtl.c (in_call_function_usage): New var.
13137 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
13138 EXPR_LIST mode as mode and not as reg note name.
13139
2105be5a
JJ
13140 PR middle-end/59561
13141 * cfgloopmanip.c (copy_loop_info): If
13142 loop->warned_aggressive_loop_optimizations, make sure
13143 the flag is set in target loop too.
13144
b72271b9
BI
131452014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
13146
13147 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
13148 flag_cilkplus.
13149 * builtins.def: Likewise.
13150 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
13151 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
13152 * ira.c (ira_setup_eliminable_regset): Likewise.
13153 * omp-low.c (gate_expand_omp): Likewise.
13154 (execute_lower_omp): Likewise.
13155 (diagnose_sb_0): Likewise.
13156 (gate_diagnose_omp_blocks): Likewise.
13157 (simd_clone_clauses_extract): Likewise.
13158 (gate): Likewise.
13159
8adcc78b
BS
131602014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13161
13162 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
13163 correction for little endian...
13164 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
13165 here.
13166
3d750496
JL
131672014-01-24 Jeff Law <law@redhat.com>
13168
13169 PR tree-optimization/59919
13170 * tree-vrp.c (find_assert_locations_1): Do not register asserts
13171 for non-returning calls.
13172
1c05df59
JG
131732014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
13174
13175 * common/config/aarch64/aarch64-common.c
13176 (aarch64_rewrite_mcpu): Handle multiple names.
13177 * config/aarch64/aarch64.h
13178 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
13179
317363b4
DS
131802014-01-24 Dodji Seketeli <dodji@redhat.com>
13181
13182 * input.c (add_file_to_cache_tab): Handle the case where fopen
13183 returns NULL.
13184
16370fa7
L
131852014-01-23 H.J. Lu <hongjiu.lu@intel.com>
13186
13187 PR target/59929
13188 * config/i386/i386.md (pushsf splitter): Get stack adjustment
13189 from push operand if code of push isn't PRE_DEC.
13190
b846c948
MM
131912014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
13192
13193 PR target/59909
13194 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
13195 -mquad-memory-atomic. Update -mquad-memory documentation to say
13196 it is only used for non-atomic loads/stores.
13197
13198 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
13199 -mquad-memory or -mquad-memory-atomic switches.
13200
13201 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
13202 -mquad-memory-atomic to ISA 2.07 support.
13203
13204 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
13205 to separate support of normal quad word memory operations (ldq, stq)
13206 from the atomic quad word memory operations.
b846c948
MM
13207
13208 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
13209 support to separate non-atomic quad word operations from atomic
13210 quad word operations. Disable non-atomic quad word operations in
13211 little endian mode so that we don't have to swap words after the
13212 load and before the store.
13213 (quad_load_store_p): Add comment about atomic quad word support.
13214 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
13215 options printed with -mdebug=reg.
13216
13217 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
13218 -mquad-memory-atomic as the test for whether we have quad word
13219 atomic instructions.
0ebe2584
ASJ
13220 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
13221 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
13222
13223 * config/rs6000/sync.md (load_lockedti): Insure that the address
13224 is a proper indexed or indirect address for the lqarx instruction.
13225 On little endian systems, swap the hi/lo registers after the lqarx
13226 instruction.
13227 (load_lockedpti): Use indexed_or_indirect_operand predicate to
13228 insure the address is valid for the lqarx instruction.
13229 (store_conditionalti): Insure that the address is a proper indexed
13230 or indirect address for the stqcrx. instruction. On little endian
13231 systems, swap the hi/lo registers before doing the stqcrx.
13232 instruction.
13233 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
13234 insure the address is valid for the stqcrx. instruction.
13235
13236 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
13237 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
13238 type of quad memory support is available.
13239
6e23f296
VM
132402014-01-23 Vladimir Makarov <vmakarov@redhat.com>
13241
13242 PR regression/59915
13243 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
13244 there is a danger of looping.
13245
0a4f04e5
PH
132462014-01-23 Pat Haugen <pthaugen@us.ibm.com>
13247
13248 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
13249 force flag_ira_loop_pressure if set via command line.
13250
f9a4c9a6
AV
132512014-01-23 Alex Velenko <Alex.Velenko@arm.com>
13252
13253 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
13254 (ashr_simd): New builtin handling DI mode.
13255 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
13256 (aarch64_sshr_simddi): New match pattern.
13257 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
13258 (vshrd_n_s64): Likewise.
13259 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
13260
949ad971
NC
132612014-01-23 Nick Clifton <nickc@redhat.com>
13262
13263 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
13264 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
13265 favour of mcu specific scripts.
13266 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
13267 430x multilibs.
13268
d5ecead9
JG
132692014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
13270 Alex Velenko <Alex.Velenko@arm.com>
13271
13272 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
13273 (vaddv_s16): Likewise.
13274 (vaddv_s32): Likewise.
13275 (vaddv_u8): Likewise.
13276 (vaddv_u16): Likewise.
13277 (vaddv_u32): Likewise.
13278 (vaddvq_s8): Likewise.
13279 (vaddvq_s16): Likewise.
13280 (vaddvq_s32): Likewise.
13281 (vaddvq_s64): Likewise.
13282 (vaddvq_u8): Likewise.
13283 (vaddvq_u16): Likewise.
13284 (vaddvq_u32): Likewise.
13285 (vaddvq_u64): Likewise.
13286 (vaddv_f32): Likewise.
13287 (vaddvq_f32): Likewise.
13288 (vaddvq_f64): Likewise.
13289 (vmaxv_f32): Likewise.
13290 (vmaxv_s8): Likewise.
13291 (vmaxv_s16): Likewise.
13292 (vmaxv_s32): Likewise.
13293 (vmaxv_u8): Likewise.
13294 (vmaxv_u16): Likewise.
13295 (vmaxv_u32): Likewise.
13296 (vmaxvq_f32): Likewise.
13297 (vmaxvq_f64): Likewise.
13298 (vmaxvq_s8): Likewise.
13299 (vmaxvq_s16): Likewise.
13300 (vmaxvq_s32): Likewise.
13301 (vmaxvq_u8): Likewise.
13302 (vmaxvq_u16): Likewise.
13303 (vmaxvq_u32): Likewise.
13304 (vmaxnmv_f32): Likewise.
13305 (vmaxnmvq_f32): Likewise.
13306 (vmaxnmvq_f64): Likewise.
13307 (vminv_f32): Likewise.
13308 (vminv_s8): Likewise.
13309 (vminv_s16): Likewise.
13310 (vminv_s32): Likewise.
13311 (vminv_u8): Likewise.
13312 (vminv_u16): Likewise.
13313 (vminv_u32): Likewise.
13314 (vminvq_f32): Likewise.
13315 (vminvq_f64): Likewise.
13316 (vminvq_s8): Likewise.
13317 (vminvq_s16): Likewise.
13318 (vminvq_s32): Likewise.
13319 (vminvq_u8): Likewise.
13320 (vminvq_u16): Likewise.
13321 (vminvq_u32): Likewise.
13322 (vminnmv_f32): Likewise.
13323 (vminnmvq_f32): Likewise.
13324 (vminnmvq_f64): Likewise.
13325
1dd055a2
JG
133262014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
13327
13328 * config/aarch64/aarch64-simd.md
13329 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
13330 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
13331 (*aarch64_mul3_elt<mode>): Likewise.
13332 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
13333 (*aarch64_mul3_elt_to_64v2df): Likewise.
13334 (*aarch64_mla_elt<mode>): Likewise.
13335 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
13336 (*aarch64_mls_elt<mode>): Likewise.
13337 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
13338 (*aarch64_fma4_elt<mode>): Likewise.
13339 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
13340 (*aarch64_fma4_elt_to_64v2df): Likewise.
13341 (*aarch64_fnma4_elt<mode>): Likewise.
13342 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
13343 (*aarch64_fnma4_elt_to_64v2df): Likewise.
13344 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
13345 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
13346 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
13347 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
13348 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
13349 (aarch64_sqdmull_lane<mode>_internal): Likewise.
13350 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
13351
dafb9b64
AV
133522013-01-23 Alex Velenko <Alex.Velenko@arm.com>
13353
13354 * config/aarch64/aarch64-simd.md
13355 (aarch64_be_checked_get_lane<mode>): New define_expand.
13356 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 13357 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
13358 New builtin definition.
13359 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
13360 Use new safe be builtin.
13361
89b4515c
AV
133622014-01-23 Alex Velenko <Alex.Velenko@arm.com>
13363
13364 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
13365 New define_insn.
13366 (aarch64_be_st1<mode>): Likewise.
13367 (aarch_ld1<VALL:mode>): Define_expand modified.
13368 (aarch_st1<VALL:mode>): Likewise.
13369 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
13370 (UNSPEC_ST1): Likewise.
13371
4bb66ef3 133722014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
13373
13374 * config/microblaze/microblaze.md: Add trap insn and attribute
13375
7ecc3eb9
DS
133762014-01-23 Dodji Seketeli <dodji@redhat.com>
13377
13378 PR preprocessor/58580
13379 * input.h (location_get_source_line): Take an additional line_size
13380 parameter.
13381 (void diagnostics_file_cache_fini): Declare new function.
13382 * input.c (struct fcache): New type.
13383 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
13384 New static constants.
13385 (diagnostic_file_cache_init, total_lines_num)
13386 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
13387 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
13388 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
13389 (get_next_line, read_next_line, goto_next_line, read_line_num):
13390 New static function definitions.
13391 (diagnostic_file_cache_fini): New function.
13392 (location_get_source_line): Take an additional output line_len
13393 parameter. Re-write using lookup_or_add_file_to_cache_tab and
13394 read_line_num.
13395 * diagnostic.c (diagnostic_finish): Call
13396 diagnostic_file_cache_fini.
13397 (adjust_line): Take an additional input parameter for the length
13398 of the line, rather than calculating it with strlen.
13399 (diagnostic_show_locus): Adjust the use of
13400 location_get_source_line and adjust_line with respect to their new
13401 signature. While displaying a line now, do not stop at the first
13402 null byte. Rather, display the zero byte as a space and keep
13403 going until we reach the size of the line.
13404 * Makefile.in: Add vec.o to OBJS-libcommon
13405
2196a885 134062014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
40c0a159 13407 Ilya Tocar <ilya.tocar@intel.com>
2196a885
KY
13408
13409 * config/i386/avx512fintrin.h (_mm512_kmov): New.
13410 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
13411 (__builtin_ia32_kmov16): Ditto.
13412 * config/i386/i386.md (UNSPEC_KMOV): New.
13413 (kmovw): Ditto.
13414
70473c63
KY
134152014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
13416
13417 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
13418 (_mm512_storeu_si512): Ditto.
13419
f9ae4df8
RS
134202014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
13421
13422 PR target/52125
13423 * rtl.h (get_referenced_operands): Declare.
13424 * recog.c (get_referenced_operands): New function.
13425 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
13426 operands have been referenced when recording LO_SUM references.
13427
4bb66ef3 134282014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
13429
13430 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
13431
39960d1c 134322014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
13433
13434 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
13435 Enable for generic and recent AMD targets.
13436
39960d1c 134372014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
13438
13439 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
13440 ARG_SIZE note when adjustment was eliminated.
13441
bb50b870
JL
134422014-01-22 Jeff Law <law@redhat.com>
13443
13444 PR tree-optimization/59597
13445 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
13446 in file. Accept new argument REGISTERING and use it to modify
13447 dump output appropriately.
13448 (register_jump_thread): Corresponding changes.
13449 (mark_threaded_blocks): Reinstate code to cancel unprofitable
13450 thread paths involving joiner blocks. Add code to dump cancelled
13451 jump threading paths.
13452
df2980be
VM
134532014-01-22 Vladimir Makarov <vmakarov@redhat.com>
13454
13455 PR rtl-optimization/59477
13456 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 13457 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 13458
1bb99900
TT
134592014-01-22 Tom Tromey <tromey@redhat.com>
13460
13461 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
13462 PARAMS.
13463 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
13464
9102dadd
VM
134652014-01-21 Vladimir Makarov <vmakarov@redhat.com>
13466
13467 PR rtl-optimization/59896
13468 * lra-constraints.c (process_alt_operands): Check unused note for
13469 matched operands of insn with no output reloads.
13470
ca376eb8
RS
134712014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
13472
13473 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
13474 (mips_move_from_gpr_cost): Likewise.
13475
a9711f36
VM
134762014-01-21 Vladimir Makarov <vmakarov@redhat.com>
13477
13478 PR rtl-optimization/59858
13479 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
13480 ira_class_hard_regs_num.
13481 (process_alt_operands): Increase reject for dying matched operand.
13482
f8ea7cb0
JJ
134832014-01-21 Jakub Jelinek <jakub@redhat.com>
13484
13485 PR target/59003
13486 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
13487 smaller than size, perform several stores or loads and stores
13488 at dst + count - size to store or copy all of size bytes, rather
13489 than just last modesize bytes.
13490
84db09e3
DD
134912014-01-20 DJ Delorie <dj@redhat.com>
13492
13493 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
13494 that CLOBBERs are REGs before propogating their values.
13495
1cf11770
L
134962014-01-20 H.J. Lu <hongjiu.lu@intel.com>
13497
13498 PR middle-end/59789
13499 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
13500 (cgraph_inline_failed_type): New function.
13501 * cgraph.h (DEFCIFCODE): Add type.
13502 (cgraph_inline_failed_type_t): New enum.
13503 (cgraph_inline_failed_type): New prototype.
13504 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
13505 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
13506 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
13507 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
13508 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
13509 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
13510 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 13511 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
13512 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
13513 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
13514 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
13515 OPTIMIZATION_MISMATCH.
13516 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 13517 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 13518
8586e4bd
UB
135192014-01-20 Uros Bizjak <ubizjak@gmail.com>
13520
13521 PR target/59685
13522 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
13523 mode attribute in insn output.
13524
99482090
EB
135252014-01-20 Eric Botcazou <ebotcazou@adacore.com>
13526
13527 * output.h (output_constant): Delete.
13528 * varasm.c (output_constant): Make private.
13529
ede23272
AV
135302014-01-20 Alex Velenko <Alex.Velenko@arm.com>
13531
13532 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
13533
9a7eefec
JJ
135342014-01-20 Jakub Jelinek <jakub@redhat.com>
13535
13536 PR middle-end/59860
13537 * tree.h (fold_builtin_strcat): New prototype.
13538 * builtins.c (fold_builtin_strcat): No longer static. Add len
13539 argument, if non-NULL, don't call c_strlen. Optimize
13540 directly into __builtin_memcpy instead of __builtin_strcpy.
13541 (fold_builtin_2): Adjust fold_builtin_strcat caller.
13542 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
13543
3e729145
UB
135442014-01-20 Uros Bizjak <ubizjak@gmail.com>
13545
13546 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
13547 for SImode_address_operand operands, having only a REG argument.
13548
eee0e487
MS
135492014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
13550
13551 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
13552 loader name using mbig-endian.
13553 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
13554
9e540e37
JG
135552014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
13556
13557 * doc/invoke.texi (-march): Clarify documentation for AArch64.
13558 (-mtune): Likewise.
13559 (-mcpu): Likewise.
13560
69675d50
TB
135612014-01-20 Tejas Belagod <tejas.belagod@arm.com>
13562
13563 * config/aarch64/aarch64-protos.h
13564 (aarch64_cannot_change_mode_class_ptr): Declare.
13565 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
13566 aarch64_cannot_change_mode_class_ptr): New.
13567 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
13568 backend hook aarch64_cannot_change_mode_class.
13569
ffee7aa9
JG
135702014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
13571
13572 * common/config/aarch64/aarch64-common.c
13573 (aarch64_handle_option): Don't handle any option order logic here.
13574 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
13575 selected_cpu, warn on architecture version mismatch.
13576 (aarch64_override_options): Fix parsing order for option strings.
13577
c7169779
JBG
135782014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
13579 Iain Sandoe <iain@codesourcery.com>
13580
13581 PR bootstrap/59496
13582 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
13583 warning. Amend comment to reflect current functionality.
13584
409b6ac1
RB
135852014-01-20 Richard Biener <rguenther@suse.de>
13586
13587 PR middle-end/59860
13588 * builtins.c (fold_builtin_strcat): Remove case better handled
13589 by tree-ssa-strlen.c.
13590
608df31f
AL
135912014-01-20 Alan Lawrence <alan.lawrence@arm.com>
13592
13593 * config/aarch64/aarch64.opt
13594 (mcpu, march, mtune): Make case-insensitive.
13595
0fabe5f3
JJ
135962014-01-20 Jakub Jelinek <jakub@redhat.com>
13597
13598 PR target/59880
13599 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
13600 if operands[1] is a REG or ZERO_EXTEND of a REG.
13601
39960d1c 136022014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
13603
13604 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
13605
925cb97d
JDA
136062014-01-19 John David Anglin <danglin@gcc.gnu.org>
13607
13608 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
13609 long non-pic millicode calls.
13610
f43856db
JBG
136112014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
13612
13613 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
13614
d2be9965
ILT
136152014-01-19 Kito Cheng <kito@0xlab.org>
13616
13617 * builtins.c (expand_movstr): Check movstr expand done or fail.
13618
efc90043
UB
136192014-01-18 Uros Bizjak <ubizjak@gmail.com>
13620 H.J. Lu <hongjiu.lu@intel.com>
13621
13622 PR target/59379
13623 * config/i386/i386.md (*lea<mode>): Zero-extend return register
13624 to DImode for zero-extended addresses.
13625
8fce217e
JJ
136262014-01-19 Jakub Jelinek <jakub@redhat.com>
13627
13628 PR rtl-optimization/57763
13629 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
13630 on the new indirect jump_insn and increment LABEL_NUSES (label).
13631
efc90043 136322014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
13633
13634 PR bootstrap/59580
13635 PR bootstrap/59583
13636 * config.gcc (x86_archs): New variable.
13637 (x86_64_archs): Likewise.
13638 (x86_cpus): Likewise.
13639 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
13640 --with-arch/--with-cpu= options.
13641 Support --with-arch=/--with-cpu={nehalem,westmere,
13642 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
13643
7f3af6d3
UB
136442014-01-18 Uros Bizjak <ubizjak@gmail.com>
13645
13646 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
13647 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
13648
136492014-01-18 Uros Bizjak <ubizjak@gmail.com>
13650
13651 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
13652
fa5d6c75
JJ
136532014-01-18 Jakub Jelinek <jakub@redhat.com>
13654
13655 PR target/58944
13656 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
13657 clear cpp_get_options (parse_in)->warn_unused_macros for
13658 ix86_target_macros_internal with cpp_define.
13659
04da5680
RS
136602014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
13661
13662 * jump.c (delete_related_insns): Keep (use (insn))s.
13663 * reorg.c (redundant_insn): Check for barriers too.
13664
1e99bee5
L
136652014-01-17 H.J. Lu <hongjiu.lu@intel.com>
13666
7f3af6d3 13667 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 13668
fa7d0c60
JDA
136692014-01-17 John David Anglin <danglin@gcc.gnu.org>
13670
13671 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
13672 call to $$dyncall when TARGET_LONG_CALLS is true.
13673
2043135a
JL
136742014-01-17 Jeff Law <law@redhat.com>
13675
13676 * ree.c (combine_set_extension): Temporarily disable test for
13677 changing number of hard registers.
13678
39960d1c 136792014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
13680
13681 PR middle-end/58125
13682 * ipa-inline-analysis.c (inline_free_summary):
13683 Do not free summary of aliases.
13684
664ceb1e
JJ
136852014-01-17 Jakub Jelinek <jakub@redhat.com>
13686
13687 PR middle-end/59706
13688 * gimplify.c (gimplify_expr): Use create_tmp_var
13689 instead of create_tmp_var_raw. If cond doesn't have
13690 integral type, don't add the IFN_ANNOTATE builtin at all.
13691
aef83682
MJ
136922014-01-17 Martin Jambor <mjambor@suse.cz>
13693
13694 PR ipa/59736
13695 * ipa-cp.c (prev_edge_clone): New variable.
13696 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
13697 Also resize prev_edge_clone vector.
13698 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
13699 (ipcp_edge_removal_hook): New function.
13700 (ipcp_driver): Register ipcp_edge_removal_hook.
13701
4bb66ef3 137022014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
13703 Steve Ellcey <sellcey@mips.com>
13704
13705 PR target/59462
13706 * config/mips/mips.c (mips_print_operand): Check operand mode instead
13707 of operator mode.
13708
4ee5c752
JL
137092014-01-17 Jeff Law <law@redhat.com>
13710
13711 PR middle-end/57904
13712 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
13713 so that pass_ccp runs first.
13714
40cfac7c
L
137152014-01-17 H.J. Lu <hongjiu.lu@intel.com>
13716
13717 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
13718 (ix86_adjust_cost): Use !TARGET_XXX.
13719 (do_reorder_for_imul): Likewise.
13720 (swap_top_of_ready_list): Likewise.
13721 (ix86_sched_reorder): Likewise.
13722
9a7f94d7
L
137232014-01-17 H.J. Lu <hongjiu.lu@intel.com>
13724
13725 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
13726 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
13727 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
13728 (intel_memset): New. Duplicate slm_memset.
13729 (intel_cost): New. Duplicate slm_cost.
13730 (m_INTEL): New macro.
13731 (processor_target_table): Add "intel".
13732 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
13733 with PROCESSOR_INTEL for "intel".
13734 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
13735 PROCESSOR_SILVERMONT.
9a7f94d7
L
13736 (ix86_issue_rate): Likewise.
13737 (ix86_adjust_cost): Likewise.
13738 (ia32_multipass_dfa_lookahead): Likewise.
13739 (swap_top_of_ready_list): Likewise.
13740 (ix86_sched_reorder): Likewise.
8cdcf750
L
13741 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
13742 instead of TARGET_OPT_AGU.
9a7f94d7
L
13743 * config/i386/i386.h (TARGET_INTEL): New.
13744 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
13745 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
13746 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
13747 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 13748
30078c0a
MP
137492014-01-17 Marek Polacek <polacek@redhat.com>
13750
13751 PR c/58346
13752 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
13753 size is zero.
13754
14379e66
RB
137552014-01-17 Richard Biener <rguenther@suse.de>
13756
13757 PR tree-optimization/46590
13758 * opts.c (default_options_table): Add entries for
13759 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
13760 all enabled at -O1 but not for -Og.
13761 * common.opt (fbranch-count-reg): Remove Init(1).
13762 (fmove-loop-invariants): Likewise.
13763 (ftree-pta): Likewise.
13764
f7d594d2
JJ
137652014-01-17 Jakub Jelinek <jakub@redhat.com>
13766
88e18bd5
JJ
13767 * config/i386/i386.c (ix86_data_alignment): For compatibility with
13768 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
13769 decls to at least the GCC 4.8 used alignments.
13770
f7d594d2
JJ
13771 PR fortran/59440
13772 * tree-nested.c (convert_nonlocal_reference_stmt,
13773 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
13774 of GIMPLE_BIND stmts, adjust associated decls.
13775
32500433
RB
137762014-01-17 Richard Biener <rguenther@suse.de>
13777
13778 PR tree-optimization/46590
13779 * vec.h (vec<>::bseach): New member function implementing
13780 binary search according to C89 bsearch.
13781 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
13782 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
13783 bitmap pointer again. Make accesses_in_loop a flat array.
13784 (mem_ref_obstack): New global.
13785 (outermost_indep_loop): Adjust for mem_ref->stored changes.
13786 (mark_ref_stored): Likewise.
13787 (ref_indep_loop_p_2): Likewise.
13788 (set_ref_stored_in_loop): New helper function.
13789 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
13790 (memref_free): Adjust.
13791 (record_mem_ref_loc): Simplify.
13792 (gather_mem_refs_stmt): Adjust.
13793 (sort_locs_in_loop_postorder_cmp): New function.
13794 (analyze_memory_references): Sort accesses_in_loop after
13795 loop postorder number.
13796 (find_ref_loc_in_loop_cmp): New function.
13797 (for_all_locs_in_loop): Find relevant cluster of locs in
13798 accesses_in_loop and iterate without recursion.
13799 (execute_sm): Avoid uninit warning.
13800 (struct ref_always_accessed): Simplify.
13801 (ref_always_accessed::operator ()): Likewise.
13802 (ref_always_accessed_p): Likewise.
13803 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
13804 loop postorder numbers here.
13805 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
13806 numbers.
13807
24fcf4bc
JJ
138082014-01-17 Jan Hubicka <hubicka@ucw.cz>
13809
13810 PR c++/57945
13811 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
13812 on decls for which assemble_alias has been called.
13813
d4f283a1
NC
138142014-01-17 Nick Clifton <nickc@redhat.com>
13815
13816 * config/msp430/msp430.opt: (mcpu): New option.
13817 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
13818 (msp430_option_override): Parse target_cpu. If the MCU name
13819 matches a generic string, clear target_mcu.
13820 (msp430_attr): Allow numeric interrupt values up to 63.
13821 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
13822 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
13823 option.
13824 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
13825 Add mcpu matches.
13826 * config/msp430/msp430.md (popm): Use %J rather than %I.
13827 (addsi3): Use msp430_nonimmediate_operand for operand 2.
13828 (addhi_cy_i): Use immediate_operand for operand 2.
13829 * doc/invoke.texi: Document -mcpu option.
13830
7be64667
RB
138312014-01-17 Richard Biener <rguenther@suse.de>
13832
13833 PR rtl-optimization/38518
13834 * df.h (df_analyze_loop): Declare.
13835 * df-core.c: Include cfgloop.h.
13836 (df_analyze_1): Split out main part of df_analyze.
13837 (df_analyze): Adjust.
13838 (loop_inverted_post_order_compute): New function.
13839 (loop_post_order_compute): Likewise.
13840 (df_analyze_loop): New function avoiding whole-function
13841 postorder computes.
13842 * loop-invariant.c (find_defs): Use df_analyze_loop.
13843 (find_invariants): Adjust.
13844 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
13845
82a197a2
ZC
138462014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
13847
13848 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
13849 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
13850
c68b3f52
IE
138512014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
13852
13853 * ipa-ref.c (ipa_remove_stmt_references): Fix references
13854 traversal when removing references.
13855
39960d1c 138562014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
13857
13858 PR ipa/59775
13859 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
13860
9e6f9ad6
BS
138612014-01-16 Bernd Schmidt <bernds@codesourcery.com>
13862
13863 PR middle-end/56791
13864 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
13865 pushing a reload for an autoinc when we had previously reloaded an
13866 inner part of the address.
13867
a611d7cb
JJ
138682014-01-16 Jakub Jelinek <jakub@redhat.com>
13869
d1417442
JJ
13870 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
13871 field.
13872 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
13873 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
13874 when not giving up or versioning for alias only because of
13875 loop->safelen.
13876 (vect_analyze_data_ref_dependences): Set to true.
13877 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
13878 is a GIMPLE_PHI.
13879 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
13880 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
13881 to the condition.
13882
42ed6cde
JJ
13883 PR middle-end/58344
13884 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
13885
a611d7cb 13886 PR target/59839
7f3af6d3
UB
13887 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
13888 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 13889
8f21260c
VM
138902014-01-16 Vladimir Makarov <vmakarov@redhat.com>
13891
13892 PR middle-end/59609
7f3af6d3
UB
13893 * lra-constraints.c (process_alt_operands): Add printing debug info.
13894 Check absence of input/output reloads for matched operands too.
8f21260c 13895
1a788c05
VM
138962014-01-16 Vladimir Makarov <vmakarov@redhat.com>
13897
13898 PR rtl-optimization/59835
13899 * ira.c (ira_init_register_move_cost): Increase cost for
13900 impossible modes.
13901
4cf24d27
AL
139022014-01-16 Alan Lawrence <alan.lawrence@arm.com>
13903
cc3a9f0d 13904 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 13905
030d03b8
RE
139062014-01-16 Richard Earnshaw <rearnsha@arm.com>
13907
13908 PR target/59780
13909 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
13910 non-register objects. Use gen_(high/low)part more consistently.
13911 Fix assertions.
13912
e78f06a8
MM
139132014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
13914
13915 PR target/59844
13916 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
13917 endian support, remove tests for WORDS_BIG_ENDIAN.
13918 (p8_mfvsrd_3_<mode>): Likewise.
13919 (reload_gpr_from_vsx<mode>): Likewise.
13920 (reload_gpr_from_vsxsf): Likewise.
13921 (p8_mfvsrd_4_disf): Likewise.
13922
9d1ae52c
RB
139232014-01-16 Richard Biener <rguenther@suse.de>
13924
13925 PR rtl-optimization/46590
13926 * lcm.c (compute_antinout_edge): Use postorder iteration.
13927 (compute_laterin): Use inverted postorder iteration.
13928
54c7a7f3
NC
139292014-01-16 Nick Clifton <nickc@redhat.com>
13930
13931 PR middle-end/28865
13932 * varasm.c (output_constant): Return the number of bytes actually
13933 emitted.
13934 (output_constructor_array_range): Update the field size with the
13935 number of bytes emitted by output_constant.
13936 (output_constructor_regular_field): Likewise. Also do not
13937 complain if the total number of bytes emitted is now greater
13938 than the expected fieldpos.
7f3af6d3 13939 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 13940
5147d10a
MP
139412014-01-16 Marek Polacek <polacek@redhat.com>
13942
13943 PR middle-end/59827
13944 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
13945 it is error_mark_node.
13946
4ac005ba
UB
139472014-01-15 Uros Bizjak <ubizjak@gmail.com>
13948
13949 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
13950 VALID_AVX256_REG_OR_OI_MODE.
13951
5d7574fa
PH
139522014-01-15 Pat Haugen <pthaugen@us.ibm.com>
13953
13954 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
13955 current procedure should be profiled.
13956
6ee70f81
AP
139572014-01-15 Andrew Pinski <apinski@cavium.com>
13958
13959 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
13960 of moving from/to the STACK_REG register class.
13961
004a7e45 139622014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
13963
13964 PR debug/54694
13965 * reginfo.c (global_regs_decl): Globalize.
13966 * rtl.h (global_regs_decl): Declare.
13967 * ira.c (do_reload): Diagnose frame_pointer_needed and it
13968 reserved via global_regs.
13969
4583fada
TJ
139702014-01-15 Teresa Johnson <tejohnson@google.com>
13971
13972 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
13973
d13dfec8
BS
139742014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
13975
13976 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
13977 and vmulosh rather than call gen_vec_widen_smult_*.
13978 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
13979 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
13980 (vec_widen_smult_even_v16qi): Likewise.
13981 (vec_widen_umult_even_v8hi): Likewise.
13982 (vec_widen_smult_even_v8hi): Likewise.
13983 (vec_widen_umult_odd_v16qi): Likewise.
13984 (vec_widen_smult_odd_v16qi): Likewise.
13985 (vec_widen_umult_odd_v8hi): Likewise.
13986 (vec_widen_smult_odd_v8hi): Likewise.
13987 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
13988 vmuloub rather than call gen_vec_widen_umult_*.
13989 (vec_widen_umult_lo_v16qi): Likewise.
13990 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
13991 vmulosb rather than call gen_vec_widen_smult_*.
13992 (vec_widen_smult_lo_v16qi): Likewise.
13993 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
13994 rather than call gen_vec_widen_umult_*.
13995 (vec_widen_umult_lo_v8hi): Likewise.
13996 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
13997 rather than call gen_vec_widen_smult_*.
13998 (vec_widen_smult_lo_v8hi): Likewise.
13999
a6a2d67b
JL
140002014-01-15 Jeff Law <law@redhat.com>
14001
14002 PR tree-optimization/59747
14003 * ree.c (find_and_remove_re): Properly handle case where a second
14004 eliminated extension requires widening a copy created for elimination
14005 of a prior extension.
14006 (combine_set_extension): Ensure that the number of hard regs needed
14007 for a destination register does not change when we widen it.
14008
aefe4056
SH
140092014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
14010
14011 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
14012 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
14013 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
14014 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
14015 (avr-*-rtems*): Likewise.
14016 (bfin*-rtems*): Likewise.
14017 (moxie-*-rtems*): Likewise.
14018 (h8300-*-rtems*): Likewise.
14019 (i[34567]86-*-rtems*): Likewise.
14020 (lm32-*-rtems*): Likewise.
14021 (m32r-*-rtems*): Likewise.
14022 (m68k-*-rtems*): Likewise.
14023 (microblaze*-*-rtems*): Likewise.
14024 (mips*-*-rtems*): Likewise.
14025 (powerpc-*-rtems*): Likewise.
14026 (sh-*-rtems*): Likewise.
14027 (sparc-*-rtems*): Likewise.
14028 (sparc64-*-rtems*): Likewise.
14029 (v850-*-rtems*): Likewise.
14030 (m32c-*-rtems*): Likewise.
14031
fef37404
VM
140322014-01-15 Vladimir Makarov <vmakarov@redhat.com>
14033
14034 PR rtl-optimization/59511
14035 * ira.c (ira_init_register_move_cost): Use memory costs for some
14036 cases of register move cost calculations.
14037 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
14038 instead of BB frequency.
14039 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
14040 * lra-assigns.c (find_hard_regno_for): Ditto.
14041
6b916b36
RB
140422014-01-15 Richard Biener <rguenther@suse.de>
14043
14044 PR tree-optimization/59822
14045 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
14046 (vectorizable_load): Use it to hoist defs of uses of invariant
14047 loads out of the loop.
14048
d103f29b 140492014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 14050 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
14051
14052 PR target/59695
14053 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
14054 truncation.
14055
95cb8697
RB
140562014-01-15 Richard Biener <rguenther@suse.de>
14057
14058 PR rtl-optimization/59802
14059 * lcm.c (compute_available): Use inverted postorder to seed
14060 the initial worklist.
14061
cb4b6d17
AK
140622014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14063
1c8b5303 14064 PR target/59803
cb4b6d17
AK
14065 * config/s390/s390.c (s390_preferred_reload_class): Don't return
14066 ADDR_REGS for invalid symrefs in non-PIC code.
14067
2738b4c7
JJ
140682014-01-15 Jakub Jelinek <jakub@redhat.com>
14069
14070 PR other/58712
14071 * builtins.c (determine_block_size): Initialize *probable_max_size
14072 even if len_rtx is CONST_INT.
14073
d126a4ae
AP
140742014-01-14 Andrew Pinski <apinski@cavium.com>
14075
14076 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
14077 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
14078 (cortexa53_tunings): Likewise.
14079 (aarch64_sched_issue_rate): New function.
14080 (TARGET_SCHED_ISSUE_RATE): Define.
14081
dc687582
VM
140822014-01-14 Vladimir Makarov <vmakarov@redhat.com>
14083
14084 * ira-costs.c (find_costs_and_classes): Add missed
14085 ira_init_register_move_cost_if_necessary.
14086
e940b2ec
VM
140872014-01-14 Vladimir Makarov <vmakarov@redhat.com>
14088
14089 PR target/59787
14090 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
14091
3292e376
L
140922014-01-14 H.J. Lu <hongjiu.lu@intel.com>
14093
14094 PR target/59794
14095 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
14096 to indicate if type is used for function return value. Warn ABI
14097 change if the vector mode isn't available for function return value.
3292e376
L
14098 (ix86_function_arg_advance): Pass false to type_natural_mode.
14099 (ix86_function_arg): Likewise.
14100 (ix86_gimplify_va_arg): Likewise.
14101 (function_arg_32): Don't warn ABI change.
14102 (ix86_function_value): Pass true to type_natural_mode.
14103 (ix86_return_in_memory): Likewise.
14104 (ix86_struct_value_rtx): Removed.
14105 (TARGET_STRUCT_VALUE_RTX): Likewise.
14106
db930875
RS
141072014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
14108
14109 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
14110 converting a conditional jump into a conditional return.
14111
a0e35eb0
RB
141122014-01-14 Richard Biener <rguenther@suse.de>
14113
14114 PR tree-optimization/58921
14115 PR tree-optimization/59006
14116 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
14117 hoisting invariant stmts.
14118 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
14119 invariant loads on the preheader edge if possible.
14120
a984e92e
JY
141212014-01-14 Joey Ye <joey.ye@arm.com>
14122
14123 * doc/plugin.texi (Building GCC plugins): Update to C++.
14124
c56a42b9
KY
141252014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
14126
3292e376 14127 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
14128 (_mm_rcp28_round_ss): Ditto.
14129 (_mm_rsqrt28_round_sd): Ditto.
14130 (_mm_rsqrt28_round_ss): Ditto.
14131 (_mm_rcp28_sd): Ditto.
14132 (_mm_rcp28_ss): Ditto.
14133 (_mm_rsqrt28_sd): Ditto.
14134 (_mm_rsqrt28_ss): Ditto.
14135 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
14136 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
14137 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
14138 (IX86_BUILTIN_RCP28SD): Ditto.
14139 (IX86_BUILTIN_RCP28SS): Ditto.
14140 (IX86_BUILTIN_RSQRT28SD): Ditto.
14141 (IX86_BUILTIN_RSQRT28SS): Ditto.
14142 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
14143 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
14144 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
14145 (ix86_expand_special_args_builtin): Expand new FTYPE.
14146 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
14147 (srcp14<mode>): Make insn unary.
14148 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
14149 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
14150 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
14151 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
14152 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
14153 Fix rounding: make it SAE only.
4ac005ba
UB
14154 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
14155 Ditto.
14156 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
14157 Ditto.
c56a42b9
KY
14158 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
14159 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
14160 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
14161 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
14162 (round_saeonly_mask_scalar_operand4): Ditto.
14163 (round_saeonly_mask_scalar_op3): Ditto.
14164 (round_saeonly_mask_scalar_op4): Ditto.
14165
09fccb62
BS
141662014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14167
14168 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
14169 Implement -maltivec=be for vec_insert and vec_extract.
14170
fb28dac0
DD
141712014-01-10 DJ Delorie <dj@redhat.com>
14172
14173 * config/msp430/msp430.md (call_internal): Don't allow memory
14174 references with SP as the base register.
14175 (call_value_internal): Likewise.
14176 * config/msp430/constraints.md (Yc): New. For memory references
14177 that don't use SP as a base register.
14178
14179 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
14180 "an integer without a # prefix"
14181 * config/msp430/msp430.md (epilogue_helper): Use it.
14182
19e51b40
JJ
141832014-01-13 Jakub Jelinek <jakub@redhat.com>
14184
03b9e8e4
JJ
14185 PR target/59617
14186 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
14187 AVX512F gather builtins.
14188 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
14189 on gather decls with INTEGER_TYPE masktype.
14190 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
14191 directly into the builtin rather than hoisting it before loop.
14192
19e51b40
JJ
14193 PR tree-optimization/59387
14194 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
14195 (scev_const_prop): If folded_casts and type has undefined overflow,
14196 use force_gimple_operand instead of force_gimple_operand_gsi and
14197 for each added stmt if it is assign with
14198 arith_code_with_undefined_signed_overflow, call
14199 rewrite_to_defined_overflow.
14200 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
14201 gimple-fold.h instead.
14202 (arith_code_with_undefined_signed_overflow,
14203 rewrite_to_defined_overflow): Moved to ...
14204 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
14205 rewrite_to_defined_overflow): ... here. No longer static.
14206 Include gimplify-me.h.
14207 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
14208 rewrite_to_defined_overflow): New prototypes.
14209
cd794ed4
KT
142102014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14211
14212 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
14213
e75fde1a
EB
142142014-01-13 Eric Botcazou <ebotcazou@adacore.com>
14215
14216 * builtins.c (get_object_alignment_2): Minor tweak.
14217 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
14218
eae298d6
CB
142192014-01-13 Christian Bruel <christian.bruel@st.com>
14220
14221 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 14222 optimized non constant lengths.
eae298d6 14223
8175be9a
JJ
142242014-01-13 Jakub Jelinek <jakub@redhat.com>
14225
14226 PR libgomp/59194
14227 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
14228 load as __atomic_load_N if possible.
14229
9c111368
DE
142302014-01-11 David Edelsohn <dje.gcc@gmail.com>
14231
14232 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
14233 target parameter.
14234 (rs6000_expand_builtin): Adjust call.
14235
c82846bc
DE
142362014-01-11 David Edelsohn <dje.gcc@gmail.com>
14237
14238 PR target/58115
14239 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
14240 * config/rs6000/rs6000.c: Include target-globals.h.
14241 (rs6000_set_current_function): Instead of doing target_reinit
14242 unconditionally, use save_target_globals_default_opts and
14243 restore_target_globals.
14244
14245 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
14246 FPSCR.
14247 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
14248 (rs6000_expand_builtin): Handle mffs and mtfsf.
14249 (rs6000_init_builtins): Define mffs and mtfsf.
14250 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
14251 (rs6000_mffs): New pattern.
14252 (rs6000_mtfsf): New pattern.
14253
2c407426
BC
142542014-01-11 Bin Cheng <bin.cheng@arm.com>
14255
14256 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
14257 Start narrowing with START. Apply candidate-use pair
14258 and check overall cost in narrowing.
14259 (iv_ca_prune): Pass new argument.
14260
7e41c852
JL
142612014-01-10 Jeff Law <law@redhat.com>
14262
14263 PR middle-end/59743
14264 * ree.c (combine_reaching_defs): Ensure the defining statement
14265 occurs before the extension when optimizing extensions with
14266 different source and destination hard registers.
14267
39960d1c 142682014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
14269
14270 PR ipa/58585
4ac005ba
UB
14271 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
14272 vtables into the type inheritance graph.
b270b096 14273
0d6d7b9a
JJ
142742014-01-10 Jakub Jelinek <jakub@redhat.com>
14275
14276 PR rtl-optimization/59754
14277 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
14278 modes in the REGNO != REGNO case.
14279
110132c1
BS
142802014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14281
14282 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
14283
5da96960
JJ
142842014-01-10 Jakub Jelinek <jakub@redhat.com>
14285
4f87d581
JJ
14286 PR tree-optimization/59745
14287 * tree-predcom.c (tree_predictive_commoning_loop): Call
14288 free_affine_expand_cache if giving up because components is NULL.
14289
5da96960
JJ
14290 * target-globals.c (save_target_globals): Allocate < 4KB structs using
14291 GC in payload of target_globals struct instead of allocating them on
14292 the heap and the larger structs separately using GC.
14293 * target-globals.h (struct target_globals): Make regs, hard_regs,
14294 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
14295 of GTY((skip)) and change type to void *.
14296 (reset_target_globals): Cast loads from those fields to corresponding
14297 types.
14298
1aa26aac
SE
142992014-01-10 Steve Ellcey <sellcey@mips.com>
14300
14301 PR plugins/59335
14302 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
14303 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
14304 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
14305
1c992d1e
RE
143062014-01-10 Richard Earnshaw <rearnsha@arm.com>
14307
7783a246 14308 PR target/59744
1c992d1e
RE
14309 * aarch64-modes.def (CC_Zmode): New flags mode.
14310 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
14311 represents an equality.
7783a246 14312 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
14313 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
14314
86464cbd
AK
143152014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14316
14317 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
14318 extraction in good case.
14319
5e6667b2
RB
143202014-01-10 Richard Biener <rguenther@suse.de>
14321
14322 PR tree-optimization/59374
14323 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
14324 checking after SLP discovery. Mark stmts not participating
14325 in any SLP instance properly.
14326
5619162c
KT
143272014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14328
14329 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
14330 when handling a SET rtx.
14331
2d17b99f
KT
143322014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14333
14334 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
14335 (cortex-a57): Likewise.
14336 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
14337
bcca645c
KT
143382014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14339
14340 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
14341 non-iwmmxt builtins.
14342
a3788dde
JH
143432014-01-10 Jan Hubicka <hubicka@ucw.cz>
14344
14345 PR ipa/58252
14346 PR ipa/59226
14347 * ipa-devirt.c record_target_from_binfo): Take as argument
14348 stack of binfos and lookup matching one for virtual inheritance.
14349 (possible_polymorphic_call_targets_1): Update.
14350
87ed883e
HC
143512014-01-10 Huacai Chen <chenhc@lemote.com>
14352
14353 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
14354 kernel strings for Loongson-2E/2F/3A.
14355
cd4447e2
JJ
143562014-01-10 Jakub Jelinek <jakub@redhat.com>
14357
14358 PR middle-end/59670
14359 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
14360 is_gimple_call before calling gimple_call_internal_p.
14361
3fadf78a
SE
143622014-01-09 Steve Ellcey <sellcey@mips.com>
14363
14364 * Makefile.in (TREE_FLOW_H): Remove.
14365 (TREE_SSA_H): Add file names from tree-flow.h.
14366 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
14367 * tree.h: Remove tree-flow.h reference.
14368 * hash-table.h: Remove tree-flow.h reference.
14369 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
14370 reference with tree-ssa-loop.h.
14371
6edc217d
BS
143722014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14373
14374 * doc/invoke.texi: Add -maltivec={be,le} options, and document
14375 default element-order behavior for -maltivec.
14376 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
14377 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
14378 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
14379 when targeting big endian, at least for now.
14380 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
14381
a70e9985
JJ
143822014-01-09 Jakub Jelinek <jakub@redhat.com>
14383
3396aba5
JJ
14384 PR middle-end/47735
14385 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
14386 var satisfies use_register_for_decl, just take into account type
14387 alignment, rather than decl alignment.
14388
a70e9985
JJ
14389 PR tree-optimization/59622
14390 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
14391 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
14392 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
14393 Don't devirtualize for inplace at all. For targets.length () == 1,
14394 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
14395
6e9cc565
L
143962014-01-09 H.J. Lu <hongjiu.lu@intel.com>
14397
14398 * config/i386/i386.md (cpu): Remove the unused btver1.
14399
d1c0e4ac
L
144002014-01-09 H.J. Lu <hongjiu.lu@intel.com>
14401
14402 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
14403
e83b8e2e
JJ
144042014-01-09 Jakub Jelinek <jakub@redhat.com>
14405
14406 PR target/58115
14407 * tree-core.h (struct target_globals): New forward declaration.
14408 (struct tree_target_option): Add globals field.
14409 * tree.h (TREE_TARGET_GLOBALS): Define.
14410 (prepare_target_option_nodes_for_pch): New prototype.
14411 * target-globals.h (struct target_globals): Define even if
14412 !SWITCHABLE_TARGET.
14413 * tree.c (prepare_target_option_node_for_pch,
14414 prepare_target_option_nodes_for_pch): New functions.
14415 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
14416 * config/i386/i386.c: Include target-globals.h.
14417 (ix86_set_current_function): Instead of doing target_reinit
14418 unconditionally, use save_target_globals_default_opts and
14419 restore_target_globals.
14420
2aaed0f3
RB
144212014-01-09 Richard Biener <rguenther@suse.de>
14422
14423 PR tree-optimization/59715
14424 * tree-cfg.h (split_critical_edges): Declare.
14425 * tree-cfg.c (split_critical_edges): Export.
14426 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
14427
b5ebc991
MO
144282014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
14429
4ac005ba 14430 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
14431 asan stack protection.
14432 (expand_used_vars): Likewise.
14433 (partition_stack_vars): Likewise.
4ac005ba 14434 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 14435 after return stack usage.
7f3af6d3 14436 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
14437 (instrument_builtin_call): Likewise.
14438 (instrument_strlen_call): Likewise.
7f3af6d3 14439 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
14440 * doc/invoke.texi: Added doc for new options.
14441 * params.def: Added new options.
14442 * params.h: Likewise.
14443
b59e0455
JJ
144442014-01-09 Jakub Jelinek <jakub@redhat.com>
14445
14446 PR rtl-optimization/59724
14447 * ifcvt.c (cond_exec_process_if_block): Don't call
14448 flow_find_head_matching_sequence with 0 longest_match.
14449 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
14450 non-active insns if !stop_after.
14451 (try_head_merge_bb): Revert 2014-01-07 changes.
14452
650c4c85
JL
144532014-01-08 Jeff Law <law@redhat.com>
14454
14455 * ree.c (get_sub_rtx): New function, extracted from...
14456 (merge_def_and_ext): Here.
14457 (combine_reaching_defs): Use get_sub_rtx.
14458
ff36fcbe
EB
144592014-01-08 Eric Botcazou <ebotcazou@adacore.com>
14460
14461 * cgraph.h (varpool_variable_node): Do not choke on null node.
14462
9f9d82aa
CM
144632014-01-08 Catherine Moore <clm@codesourcery.com>
14464
4ac005ba
UB
14465 * config/mips/mips.md (simple_return): Attempt to use JRC
14466 for microMIPS.
9f9d82aa
CM
14467 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
14468
df6c8808
RS
144692014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
14470
14471 PR rtl-optimization/59137
14472 * reorg.c (steal_delay_list_from_target): Call update_block for
14473 elided insns.
14474 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
14475
6170ceff
BS
144762014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14477
14478 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
14479 two duplicate entries.
14480
3f140f32
RS
144812014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
14482
14483 Revert:
14484 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
14485
14486 * config/mips/mips.c (mips_truncated_op_cost): New function.
14487 (mips_rtx_costs): Adjust test for BADDU.
14488 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
14489
14490 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
14491
14492 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
14493 (*baddu_si): ...this new pattern.
14494
c6de6665
JJ
144952014-01-08 Jakub Jelinek <jakub@redhat.com>
14496
14497 PR ipa/59722
14498 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
14499
4c437f02
BE
145002014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
14501
14502 PR middle-end/57748
14503 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
14504 inner_reference_p.
14505 (expand_expr, expand_normal): Adjust.
14506 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
14507 inner_reference_p. Use inner_reference_p to expand inner references.
14508 (store_expr): Adjust.
14509 * cfgexpand.c (expand_call_stmt): Adjust.
14510
4ac005ba 145112014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
14512
14513 * gcov-io.c (gcov_var): Move from gcov-io.h.
14514 (gcov_position): Ditto.
14515 (gcov_is_error): Ditto.
14516 (gcov_rewrite): Ditto.
14517 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
14518 only part to libgcc/libgcov.h.
14519
ab04b46e
MP
145202014-01-08 Marek Polacek <polacek@redhat.com>
14521
14522 PR middle-end/59669
14523 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
14524
06636b32
MP
145252014-01-08 Marek Polacek <polacek@redhat.com>
14526
14527 PR sanitizer/59667
14528 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
14529
c15677b6
JJ
145302014-01-08 Jakub Jelinek <jakub@redhat.com>
14531
14532 PR rtl-optimization/59649
14533 * stor-layout.c (get_mode_bounds): For BImode return
14534 0 and STORE_FLAG_VALUE.
14535
5c944c6c
RB
145362014-01-08 Richard Biener <rguenther@suse.de>
14537
14538 PR middle-end/59630
14539 * gimple.h (is_gimple_builtin_call): Remove.
14540 (gimple_builtin_call_types_compatible_p): New.
14541 (gimple_call_builtin_p): New overload.
14542 * gimple.c (is_gimple_builtin_call): Remove.
14543 (validate_call): Rename to ...
14544 (gimple_builtin_call_types_compatible_p): ... this and export. Also
14545 check return types.
14546 (validate_type): New static function.
14547 (gimple_call_builtin_p): New overload and adjust.
14548 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
14549 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
14550 (gimple_fold_stmt_to_constant_1): Likewise.
14551 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
14552
0bd34ae4
RB
145532014-01-08 Richard Biener <rguenther@suse.de>
14554
14555 PR middle-end/59471
14556 * gimplify.c (gimplify_expr): Gimplify register-register type
14557 VIEW_CONVERT_EXPRs to separate stmts.
14558
04af8ab6
JL
145592014-01-07 Jeff Law <law@redhat.com>
14560
3c92da90
JL
14561 PR middle-end/53623
14562 * ree.c (combine_set_extension): Handle case where source
14563 and destination registers in an extension insn are different.
4ac005ba
UB
14564 (combine_reaching_defs): Allow source and destination registers
14565 in extension to be different under limited circumstances.
3c92da90 14566 (add_removable_extension): Remove restriction that the
4ac005ba 14567 source and destination registers in the extension are the same.
3c92da90
JL
14568 (find_and_remove_re): Emit a copy from the extension's
14569 destination to its source after the defining insn if
14570 the source and destination registers are different.
14571
04af8ab6
JL
14572 PR middle-end/59285
14573 * ifcvt.c (merge_if_block): If we are merging a block with more than
14574 one successor with a block with no successors, remove any BARRIER
14575 after the second block.
14576
4bb66ef3 145772014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
14578
14579 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
14580
55ada375
JDA
145812014-01-07 John David Anglin <danglin@gcc.gnu.org>
14582
14583 PR target/59652
14584 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
14585 for 14-bit register offsets when INT14_OK_STRICT is false.
14586
877c72e7
RS
145872014-01-07 Roland Stigge <stigge@antcom.de>
14588 Michael Meissner <meissner@linux.vnet.ibm.com>
14589
14590 PR 57386/target
14591 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 14592 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 14593
8b2721da
JG
145942014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
14595
14596 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
14597 -mcpu.
14598
5d72b79f
YZ
145992014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
14600
14601 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
14602 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
14603 rtx is const0_rtx or not.
14604
48d53439
RS
146052014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
14606
14607 PR target/58115
14608 * target-globals.c (save_target_globals): Remove this_fn_optab
14609 handling.
14610 * toplev.c: Include optabs.h.
14611 (target_reinit): Temporarily restore the global options if another
14612 set of options are in force.
14613
41626746
JJ
146142014-01-07 Jakub Jelinek <jakub@redhat.com>
14615
a0cbe71e
JJ
14616 PR rtl-optimization/58668
14617 * cfgcleanup.c (flow_find_cross_jump): Don't count
14618 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
14619 to determine what is counted.
14620 (flow_find_head_matching_sequence): Use active_insn_p to determine
14621 what is counted.
14622 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
14623 counting change.
14624 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
14625 determine what is counted.
14626
41626746
JJ
14627 PR tree-optimization/59643
14628 * tree-predcom.c (split_data_refs_to_components): If one dr is
14629 read and one write, determine_offset fails and the write isn't
14630 in the bad component, just put the read into the bad component.
14631
cc349a39
MS
146322014-01-07 Mike Stump <mikestump@comcast.net>
14633 Jakub Jelinek <jakub@redhat.com>
14634
14635 PR pch/59436
14636 * tree-core.h (struct tree_optimization_option): Change optabs
14637 type from unsigned char * to void *.
14638 * optabs.c (init_tree_optimization_optabs): Adjust
14639 TREE_OPTIMIZATION_OPTABS initialization.
14640
529a6471
JJ
146412014-01-06 Jakub Jelinek <jakub@redhat.com>
14642
14643 PR target/59644
14644 * config/i386/i386.h (struct machine_function): Add
14645 no_drap_save_restore field.
14646 * config/i386/i386.c (ix86_save_reg): Use
14647 !cfun->machine->no_drap_save_restore instead of
14648 crtl->stack_realign_needed.
14649 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
14650 this function clears frame_pointer_needed. Set
14651 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
14652 and DRAP reg is needed.
14653
96066ce1
MP
146542014-01-06 Marek Polacek <polacek@redhat.com>
14655
14656 PR c/57773
14657 * doc/implement-c.texi: Mention that other integer types are
14658 permitted as bit-field types in strictly conforming mode.
14659
955b33ed 146602014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
14661
14662 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
14663 is newly allocated.
14664
328402a9
RE
146652014-01-06 Richard Earnshaw <rearnsha@arm.com>
14666
14667 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
14668
a4e33812
MJ
146692014-01-06 Martin Jambor <mjambor@suse.cz>
14670
14671 PR ipa/59008
14672 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
14673 to int.
14674 * ipa-prop.c (ipa_print_node_params): Fix indentation.
14675
b5cd2a02
EB
146762014-01-06 Eric Botcazou <ebotcazou@adacore.com>
14677
14678 PR debug/59350
14679 PR debug/59510
14680 * var-tracking.c (add_stores): Preserve the value of the source even if
14681 we don't record the store.
14682
c7d19c0b
TG
146832014-01-06 Terry Guo <terry.guo@arm.com>
14684
14685 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
14686
e0c70bd7
IS
146872014-01-05 Iain Sandoe <iain@codesourcery.com>
14688
14689 PR bootstrap/59541
14690 * config/darwin.c (darwin_function_section): Adjust return values to
14691 correspond to optimisation changes made in r206070.
14692
c30f016c
UB
146932014-01-05 Uros Bizjak <ubizjak@gmail.com>
14694
14695 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
14696 from prefetch_block tune setting.
14697 (nocona_cost): Correct size of prefetch block to 64.
14698
f2bc252b
EB
146992014-01-04 Eric Botcazou <ebotcazou@adacore.com>
14700
14701 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
14702 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
14703 used to save the static chain register in the computation of the offset
14704 from which the FP registers need to be restored.
14705
dad5ed2e
JJ
147062014-01-04 Jakub Jelinek <jakub@redhat.com>
14707
39719c84
JJ
14708 PR tree-optimization/59519
14709 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
14710 ICE if get_current_def (current_new_name) is already non-NULL, as long
14711 as it is a phi result of some other phi in *new_exit_bb that has
14712 the same argument.
14713
dad5ed2e
JJ
14714 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
14715 or vmovdqu* for misaligned_operand.
14716 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
14717 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
14718 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
14719 aligned_mem for AVX512F masked aligned load and store builtins and for
14720 non-temporal moves.
14721
147222014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
14723
14724 PR tree-optimization/59651
c30f016c 14725 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
14726 Address range for negative step should be added by TYPE_SIZE_UNIT.
14727
e864837a
AS
147282014-01-03 Andreas Schwab <schwab@linux-m68k.org>
14729
14730 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 14731 overlapping registers also for registers other than the stack pointer.
e864837a 14732
56a34230
MP
147332014-01-03 Marek Polacek <polacek@redhat.com>
14734
14735 PR other/59661
14736 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
14737 __builtin_FILE.
14738
039eee3f
JJ
147392014-01-03 Jakub Jelinek <jakub@redhat.com>
14740
3bcdbd50
JJ
14741 PR target/59625
14742 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
14743 asm goto as jump.
14744
039eee3f
JJ
14745 * config/i386/i386.md (MODE_SIZE): New mode attribute.
14746 (push splitter): Use <P:MODE_SIZE> instead of
14747 GET_MODE_SIZE (<P:MODE>mode).
14748 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
14749 (mov -1, reg peephole2): Likewise.
14750 * config/i386/sse.md (*mov<mode>_internal,
14751 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
14752 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
14753 *<code><mode>3, *andnot<mode>3<mask_name>,
14754 <mask_codefor><code><mode>3<mask_name>): Likewise.
14755 * config/i386/subst.md (mask_mode512bit_condition,
14756 sd_mask_mode512bit_condition): Likewise.
14757
927734cf
XDL
147582014-01-02 Xinliang David Li <davidxl@google.com>
14759
14760 PR tree-optimization/59303
039eee3f 14761 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
14762 (dump_predicates): Better output format.
14763 (pred_equal_p): New function.
14764 (is_neq_relop_p): Ditto.
14765 (is_neq_zero_form_p): Ditto.
14766 (pred_expr_equal_p): Ditto.
14767 (pred_neg_p): Ditto.
14768 (simplify_pred): Ditto.
14769 (simplify_preds_2): Ditto.
14770 (simplify_preds_3): Ditto.
14771 (simplify_preds_4): Ditto.
14772 (simplify_preds): Ditto.
14773 (push_pred): Ditto.
14774 (push_to_worklist): Ditto.
14775 (get_pred_info_from_cmp): Ditto.
14776 (is_degenerated_phi): Ditto.
14777 (normalize_one_pred_1): Ditto.
14778 (normalize_one_pred): Ditto.
14779 (normalize_one_pred_chain): Ditto.
14780 (normalize_preds): Ditto.
14781 (normalize_cond_1): Remove function.
14782 (normalize_cond): Ditto.
14783 (is_gcond_subset_of): Ditto.
14784 (is_subset_of_any): Ditto.
14785 (is_or_set_subset_of): Ditto.
14786 (is_and_set_subset_of): Ditto.
14787 (is_norm_cond_subset_of): Ditto.
14788 (pred_chain_length_cmp): Ditto.
14789 (convert_control_dep_chain_into_preds): Type change.
14790 (find_predicates): Ditto.
14791 (find_def_preds): Ditto.
14792 (destroy_predicates_vecs): Ditto.
14793 (find_matching_predicates_in_rest_chains): Ditto.
14794 (use_pred_not_overlap_with_undef_path_pred): Ditto.
14795 (is_pred_expr_subset): Ditto.
14796 (is_pred_chain_subset_of): Ditto.
14797 (is_included_in): Ditto.
14798 (is_superset_of): Ditto.
14799
23a5b65a
RS
148002014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14801
c30f016c 14802 Update copyright years.
23a5b65a 14803
f9030485
RS
148042014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14805
14806 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
14807 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
14808 config/arc/arc.md, config/arc/arc.opt,
14809 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
14810 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
14811 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
14812 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
14813 config/linux-protos.h, config/linux.c, config/winnt-c.c,
14814 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
14815 vtable-verify.c, vtable-verify.h: Use the standard form for the
14816 copyright notice.
f9030485 14817
98db73df
TB
148182014-01-02 Tobias Burnus <burnus@net-b.de>
14819
14820 * gcc.c (process_command): Update copyright notice dates.
14821 * gcov-dump.c: Ditto.
14822 * gcov.c: Ditto.
14823 * doc/cpp.texi: Bump @copying's copyright year.
14824 * doc/cppinternals.texi: Ditto.
14825 * doc/gcc.texi: Ditto.
14826 * doc/gccint.texi: Ditto.
14827 * doc/gcov.texi: Ditto.
14828 * doc/install.texi: Ditto.
14829 * doc/invoke.texi: Ditto.
14830
2898d204 148312014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
14832
14833 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
14834
dfebbdc6 148352014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 14836
726c3546
JJ
14837 * config/i386/sse.md (*mov<mode>_internal): Guard
14838 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
14839
dfebbdc6
JJ
14840 PR rtl-optimization/59647
14841 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
14842 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 14843\f
970c3b33 14844Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
14845
14846Copying and distribution of this file, with or without modification,
14847are permitted in any medium without royalty provided the copyright
14848notice and this notice are preserved.
This page took 8.538375 seconds and 5 git commands to generate.